FR 2962822 A1 20120120 FR 1003749 A 20100921 PROCEDE ET SYSTEME DE CLASSIFICATION DE SIGNAUX NEURONAUX, ET PROCEDE DE SELECTION D'ELECTRODES POUR COMMANDE NEURONALE DIRECTE L'invention se rapporte au domaine technique de la commande neuronale directe, ou interface cerveau-machine, connu également sous l'acronyme « BCI », de l'anglais « brain-computer interface » (littéralement, « interface cerveau-ordinateur »). Les interfaces cerveau-machine permettent d'établir une communication entre un utilisateur et une machine à travers des signaux neuronaux issus de l'activité cérébrale d'un sujet sans recourir à la voie musculaire, ce qui constitue un réel espoir pour les personnes souffrant de graves paralysies. Les interfaces cerveau machine non-intrusives utilisent, le plus souvent, l'électroencéphalographie (EEG) comme méthode d'acquisition de l'activité cérébrale. On place ainsi un certain nombre d'électrodes à la surface du crâne dans le but d'y mesurer une activité électrique reflétant l'activité cérébrale du sujet. D'autres techniques plus intrusives exploitent des signaux électrocorticographiques (ECoG), prélevés à la surface du cortex, voire des signaux prélevés d'électrodes profondes. Dans une interface cerveau machine, on associe une ou plusieurs tâches mentales (action imaginées par le sujet) à une ou plusieurs actions réalisées par un effecteur. Par exemple, l'imagination du mouvement de la main droite peut être associée au déplacement vers la droite d'un curseur. Le problème fondamental qui se pose et donc celui de détecter la réalisation de ces tâches mentales parmi l'ensemble des activités cérébrales que l'on mesure ; cette détection déclenche ensuite l'actionnement de l'effecteur, qui réalise l'action voulue. La détection des tâches mentales (ou actions imaginées) comprend généralement plusieurs étapes. Premièrement, l'on applique aux signaux neuronaux « bruts » un filtrage destiné à rehausser les caractéristiques fréquentielles, temporelles et spatiales propres à chaque tâche mentale. Puis, des « caractéristiques » sont extraites des signaux ainsi filtrés. Enfin un algorithme de classification est appliqué à ces caractéristiques. Autrement dit, chaque ensemble de caractéristiques, correspondant aux signaux neuronaux acquis sur une période déterminée (on parle de « epoch », ou « époque ») est associé à une « classe » qui correspond à une tâche mentale déterminée - ou à sa négation. Ainsi, pour commander le déplacement d'un curseur le long d'une ligne il faut : - une première tâche mentale (par exemple : un mouvement imaginaire de la main droite) associée à une première direction de déplacement du curseur (par exemple vers la droite) ; - une deuxième tâche mentale (par exemple : un mouvement imaginaire de la main gauche) associée à une deuxième direction de déplacement du curseur par exemple vers la gauche) ; et - trois classes, correspondant à la première et à la deuxième tâche mentale, ainsi qu'à toute autre forme d'activité cérébrale non 15 reconductible à l'une de ces deux tâches. L'étape de classification s'appuie sur les caractéristiques extraites d'un jeu de données d'entrainement appartenant à une classe déterminée et connue. Soit Y, - ; ~ } un jeu de données d'entrainement avec x; l'ensemble des caractéristiques du signal à l'instant i et 20 y; la classe (et donc la tâche mentale) qui lui est associée. Entrainer un « classificateur », c'est trouver la fonction h: X .... qui mappe les caractéristiques à leurs classes. Classifier un point x revient alors à calculer sa classe y = h(x). La qualité de la fonction h(.) dépend fortement de la qualité des caractéristiques qui servent à la calculer. Ainsi si les caractéristiques sont 25 fortement bruitées, le taux d'erreur sera élevé. C'est pour cette raison que les caractéristiques ne sont généralement pas calculées sur les signaux bruts, mais sont extraites à partir de signaux préalablement filtrés. L'article de F. Lotte, M. Congedo, A. Lécuyer, F. Lamarche, et B. Arnaldi, « A review of classification algorithms for EEG-based brain- 30 computer interfaces » Journal of Neural Engineering, vol. 4, 2007, fournit une revue des nombreuses méthodes de classification utilisées en BCI. La méthode la plus couramment utilisée comporte : - Une étape de prétraitement constituée de filtrage fréquentiel et de filtrage spatial par une méthode connue sous le nom anglais « Common Spatial Pattern (CSP) », que l'on peut traduire par « caractéristiques spatiales communes ». - Une étape d'extraction de caractéristiques consistant à calculer le logarithme de la variance des signaux filtrés. - Une étape de classification par analyse discriminante linéaire de Fisher (Fisher LDA) sur les caractéristiques précédemment 10 calculées. Cette méthode a généralement des bonnes performances, est simple d'utilisation et peu couteuse en calcul. Par contre elle est peu robuste (un point aberrant dans les données d'entrainement peut facilement corrompre les résultats), elle nécessite un nombre relativement important de 15 données d'entrainement et elle exploite des caractéristiques de haut niveau, nécessitant le passage par plusieurs prétraitements, notamment la CSP qui est une technique supervisée, ce qui peut être gênant pour certaines applications, telles que les « chaînes non supervisées ». Globalement, elle s'avère peu efficace dès lors qu'il y a plus de deux classes. 20 L'information spatiale est importante pour faciliter la classification des signaux neuronaux. En effet, l'effectuation de tâches mentales différentes active différentes régions du cerveau, ou les mêmes régions mais d'une manière différente. Pour préserver au maximum cette information spatiale on utilise, dans la plupart des cas, un grand nombre 25 d'électrodes (jusqu'à une centaine). Cette approche présente plusieurs inconvénients : une gêne pour l'utilisateur, un temps de préparation long, un coût calculatoire élevé. En outre, certains types de traitements montrent des limitations quand le nombre d'électrodes augmente (par exemple, certains classificateurs sont sujet au sur-apprentissage). 30 Ainsi, des techniques ont été développées pour sélectionner de manière optimale un nombre restreint d'électrodes. On distingue typiquement entre « sélection montante », dans laquelle on construit progressivement un (petit) ensemble optimal d'électrodes, « sélection descendante » dans laquelle on sélectionne un sous-ensemble optimal à partir d'un ensemble de plus grandes dimensions, et « sélection descendante-montante » qui combine les deux approches précédentes. On distingue également entre sélection « patient-spécifique », dans laquelle on sélectionne un ensemble optimale d'électrodes pour un utilisateur déterminé, et sélection « application-spécifique » dans laquelle on cherche à déterminer un ensemble d'électrodes commun à tous les utilisateurs et dépendant de l'application spécifique, c'est-à-dire des tâches mentales à détecter. Par exemple, l'article de A. Barachant, T. Aksenova, et S. Bonnet, « Filtrage spatial robuste à partir d'un sous-ensemble optimal d'électrodes en BCI EEG » GRETSI 2009, 8 - 11 septembre 2009, décrit une méthode de sélection d'électrodes ascendante et patient-spécifique basée sur un critère de corrélation multiple de la log-variance des signaux après filtrage fréquentiel. Les principaux inconvénients de cette méthode résident dans la sous-exploitation de l'information spatiale et la relative complexité de mise en oeuvre de l'algorithme. L'invention vise à surmonter les inconvénients précités de l'art antérieur. En particulier l'invention vise : d'une part à procurer une méthode de classification de signaux neuronaux - et particulièrement de classification multiclasse (plus de deux classes) - qui soit à la fois robuste, simple à mettre en oeuvre, nécessitant de peu de données d'entrainement et de paramètres à régler ; - d'autre part à procurer une méthode de sélection des électrodes d'une interface neuronale directe qui soit à la fois robuste, simple et flexible. La méthode de classification et la méthode de sélection d'électrodes de l'invention peuvent être mises en oeuvre indépendamment l'une de l'autre : l'un des avantages de la méthode de sélection est justement sa flexibilité, c'est-à-dire sa possibilité d'être combinée avec différents algorithmes de classification. Les meilleurs résultats proviendront de leur utilisation combinée. Mais la sélection d'électrodes basée sur un critère de distance riemannienne améliore aussi très fortement les performances des méthodes de classification traditionnelles, mettant en oeuvre un filtrage CSP, car elle confère de la robustesse à ce filtrage. Ces méthodes sont particulièrement adaptées à la BCI utilisant des signaux EEG, mais il ne s'agit pas là d'une limitation fondamentale. La méthode de classification et la méthode de sélection d'électrodes de l'invention partagent une même approche, qui se base sur l'utilisation, en tant que « caractéristiques » descriptives des signaux neuronaux, de leurs matrices de covariance. II s'agit là de caractéristiques relativement « proches » des signaux bruts, ce qui assure la robustesse de la méthode et permet une utilisation quasi-optimale de l'information disponible. Or, les matrices de covariance sont des matrices qui peuvent avoir des dimensions relativement importantes ; il pourrait donc sembler difficile de les utiliser telles quelles dans un classificateur ou dans un procédé de sélection d'électrodes. L'invention surmonte cette difficulté grâce au fait que les matrices de covariance sont symétriques et définies positives ; elles peuvent donc être considérées comme des points d'une variété riemannienne. Le classificateur et l'algorithme de sélection des électrodes se basent alors sur la géométrie riemannienne d'une telle variété. Le recours à la géométrie riemannienne s'avère d'ailleurs particulièrement avantageux pour une bonne classification des matrices de covariance. Le document US2008/0063285 décrit une méthode de reconnaissance de figures humaines dans des images en mouvement basée sur la géométrie riemannienne des matrices de covariance. II s'agit là d'un domaine technique tout à fait différent de la BCI. Un premier objet de l'invention est un procédé de 30 classification de signaux neuronaux comportant les étapes suivantes : a. Acquérir, au moyen d'une pluralité d'électrodes et sur une période déterminée, une pluralité d'échantillons de signaux neuronaux; b. Estimer une matrice de covariance desdits signaux neuronaux ; c. Classifier lesdits signaux neuronaux, la classification étant réalisée : o soit dans la variété riemannienne des matrices symétriques définies positives de dimensions égales à celles de ladite matrice de covariance, o soit dans un espace tangent de ladite variété riemannienne. Selon un mode de réalisation préféré, la classification peut être réalisée en utilisant un critère basé : o Soit sur une distance riemannienne définie sur la variété riemannienne des matrices symétriques définies positives de dimensions égales à celles de ladite matrice de covariance ; o Soit sur une distance euclidienne définie sur un espace tangent de ladite variété riemannienne. Selon des modes de réalisation particuliers de ce procédé : - Ledit critère de classification peut être un critère de moindre distance riemannienne entre ladite matrice de covariance des signaux à classifier et des matrices symétriques définies positives représentant des centres des classes. En particulier, chacune desdites matrices symétriques définies positives représentant le centre d'une classe peut correspondre à la moyenne géométrique ou à la médiane, dans ladite variété riemannienne, de matrices de covariance de données d'entrainement associés à ladite classe. - En variante, ledit critère de classification peut être un critère de k plus proches voisins, dans ladite variété riemannienne, entre ladite matrice de covariance des signaux à classifier et des matrices de covariance de données d'entrainement associées à des classes. - Le procédé peut comporter, avant ladite étape c. de classification : la détermination d'un espace tangent de ladite variété riemannienne par rapport à une matrice symétrique positive correspondant à une moyenne géométrique, ou à une médiane, dans ladite variété riemannienne, d'un ensemble de matrices de covariance de données d'entrainement associées à des classes ; la projection de ladite matrice de covariance à classifier, ainsi que desdites matrices de covariance de données s d'entrainement, dans ledit espace tangent ; l'application d'un filtrage dimensionnel dans ledit espace tangent ; et la rétroprojection des données filtrées dans ladite variété riemannienne pour y effectuer ladite étape c. de classification. En variante, ladite étape c. de classification peut être lo mise en oeuvre dans un espace tangent de ladite variété riemannienne, déterminé par rapport à une matrice symétrique positive correspondant à une moyenne géométrique, ou à une médiane, dans ladite variété riemannienne, d'un ensemble de matrices de covariance de données d'entrainement associés à des classes. En particulier, ladite étape c. de classification peut 15 être mise en oeuvre par analyse discriminante linéaire de Fisher dans ledit espace tangent. - Plus particulièrement, un tel procédé peut comporter : avant ladite étape c. de classification, la détermination d'un espace tangent de ladite variété riemannienne par rapport à une matrice symétrique positive 20 correspondant à une moyenne géométrique, ou à une médiane, dans ladite variété riemannienne, d'un ensemble de matrices de covariance de données d'entrainement associés à des classes ; la projection de ladite matrice de covariance à classifier, ainsi que desdites matrices de covariance des données d'entrainement, dans ledit espace tangent ; l'application d'un filtrage 25 dimensionnel dans ledit espace tangent ; et ensuite la mise en oeuvre de ladite étape c. de classification sur les données filtrées dans ledit espace tangent. - Le procédé peut comporter une étape de prétraitement desdits signaux neuronaux par filtrage fréquentiel et centrage. 30 - Lesdits signaux neuronaux peuvent être des signaux électroencéphalographiques. Un deuxième objet de l'invention est un procédé de commande neuronale directe comportant : une étape de classification de signaux neuronaux tel que décrit ci-dessus ; et une étape de génération d'un signal de commande d'un appareil en fonction du résultat de ladite étape de classification. Un troisième objet de l'invention est un système comportant : un ensemble d'électrodes d'acquisition de signaux neuronaux ; et un dispositif de traitement de données adaptés pour recevoir lesdits signaux et les utiliser pour mettre en oeuvre un procédé de classification et/ou de commande neuronale directe tel que décrit ci-dessus. Le dispositif de traitement des donnés peut être un ordinateur - ou un processeur de traitement des signaux - programmé de manière opportune, c'est-à-dire équipé d'une mémoire stockant un programme (une liste d'instructions exécutables) pour la mise en oeuvre du procédé. Un quatrième objet de l'invention est un procédé de sélection d'électrodes d'acquisition de signaux neuronaux pour commande neuronale directe, consistant à choisir un sous-ensemble d'électrodes ou d'emplacements pour électrodes parmi un ensemble plus vaste, de manière à maximiser la somme des distances riemanniennes entre des matrices de covariance représentatives de classes différents de signaux issus desdites électrodes. Un tel procédé peut comporter en particulier les étapes consistant à : a. Appliquer à un sujet un ensemble initial d'électrodes 25 d'acquisition de signaux neuronaux ; b. Acquérir, au moyen desdites électrodes et sur une pluralité de périodes déterminées, une pluralité d'échantillons de signaux neuronaux, les signaux correspondant à chaque période étant associés à une parmi une pluralité de classes ; 30 c. Estimer une matrice de covariance des signaux neuronaux issus de chaque période, chacune desdites matrices de covariance étant considérée comme un point d'une variété riemannienne ; d. Pour chacune desdites classes, calculer une matrice symétrique définie positive représentant un centre de classe ; et e. Sélectionner un sous-ensemble desdites électrodes de manière à maximiser la somme des distances riemanniennes entre lesdits s centres des classes. II s'agit là d'une sélection descendante. Selon différents modes de réalisation particuliers de ce procédé : - Ladite étape d. peut consister à calculer la moyenne 1 o géométrique, ou la médiane, dans ladite variété riemannienne, des matrices de covariance des signaux associés à chaque classe. - Ladite étape e. peut être mise en oeuvre de manière itérative et comporter, à chaque itération, l'élimination d'une électrode choisie de manière à minimiser la diminution de distance riemannienne entre les 15 matrices de covariance moyennes ou médianes desdites classes qui en résulte. En variante (sélection ascendante) le procédé de sélection peut comporter les étapes consistant à : a. Déterminer un ensemble d'emplacements pour 20 l'application d'électrodes d'acquisition de signaux neuronaux sur un sujet ; b. Introduire progressivement des électrodes de manière à incrémenter de manière maximale ladite somme des distances riemanniennes entre des matrices de covariance représentatives de classes différentes de signaux issus desdites électrodes. Autrement dit, à chaque incrément, on 25 ajoute l'électrode qui maximise l'augmentation de la distance riemannienne entre lesdites matrices de covariance Que la sélection soit ascendante ou descendante : - Le procédé peut conduire à la détermination d'un sous-ensemble d'électrodes comportant un nombre prédéterminé d'éléments. 30 - Chaque classe de signaux neuronaux peut correspondre à une action imaginée par le sujet. 2962822 io - Chacune desdites électrodes peut être adaptée pour acquérir des signaux neuronaux générés par une région déterminée du cerveau du sujet. Un cinquième objet de l'invention est un procédé de sélection d'électrodes d'acquisition de signaux neuronaux pour commande neuronale directe, comportant : la mise en oeuvre d'un procédé de sélection (ascendante ou descendante) tel que décrit ci-dessus pour une pluralité de sujets, avec un même ensemble initial d'électrodes ou d'emplacement pour électrodes pour tous les sujets, de manière à déterminer un sous-ensemble d'électrodes pour chaque sujet ; et la sélection des électrodes dudit ensemble initial qui appartiennent au plus grand nombre desdits sous-ensembles. Un sixième objet de l'invention est un procédé de commande neuronale directe tel que décrit plus haut, comportant une opération préalable de sélection des électrodes d'acquisition de signaux neuronaux selon un 15 procédé tel que décrit ci-dessus. D'autres caractéristiques, détails et avantages de l'invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d'exemple et qui montrent, respectivement : - La figure 1, une illustration des notions de variété 20 riemannienne, géodésique, distance riemannienne et espace tangent ; - La figure 2, le découpage des signaux neuronaux mis en oeuvre par les procédés de classification et de sélection d'électrodes de l'invention ; - La figure 3, un ordinogramme illustrant différentes 25 variantes du procédé de classification de l'invention ; - La figure 4, un graphique illustrant un procédé de classification selon un premier mode de réalisation de l'invention, basé sur la mesure de la distance riemannienne par rapport à la moyenne ; - La figure 5, un graphique illustrant un procédé de 30 classification selon un deuxième mode de réalisation de l'invention, basé sur le critère des k plus proches voisins (au sens riemannien) ; - La figure 6, une illustration de différents procédés de classification selon des modes de réalisation respectifs de l'invention, comportant une projection des données de classification dans un espace tangent à la variété riemannienne des matrices de covariance ; La figure 7, la géométrie d'implantation de 16 électrodes d'EEG pour BCI ; - Les figures 8 et 9, l'application d'un procédé de sélection d'électrodes « patient-spécifique » à la géométrie d'implantation de la figure 7; - La figure 10, les résultats de ce même procédé appliqué à huit utilisateurs différents ; et - La figure 11, l'application d'un procédé de sélection d'électrodes « application-spécifique » aux utilisateurs de la figure 1. II est opportun, tout d'abord, de définir quelques notions fondamentales de géométrie riemannienne à l'aide de la figure 1. Une variété riemannienne est un espace topologique localement homéomorphe à un espace euclidien (9t"), différentiable et sur lequel est défini un produit scalaire suffisamment régulier. Le produit scalaire permet à son tour de définir une géométrie (« géométrie riemannienne ») sur la variété riemannienne. Cette géométrie ne coïncide pas avec la géométrie euclidienne « usuelle » ; pour cette raison, sur la figure 1, la variété riemannienne M a été représentée (de manière symbolique) par une surface courbe. Une matrice symétrique définie positive (SDP) est une matrice carrée symétrique par rapport à sa diagonale (a;1=ai;) et ayant des valeurs propres strictement positive. Une matrice SDP de dimensions nxn a n(n+1)/2 éléments indépendants ; elle peut donc être représentée dans un espace à n(n+1)/2 dimensions. Il est possible de démontrer que cet espace peut être muni de la structure d'une variété riemannienne. Dans la suite on considérera uniquement la variété M des matrices SDP de dimensions nxn, n étant tout naturel supérieur à 1. La distance riemannienne entre deux points PI, P2 de la variété riemannienne M peut être définie par : P R P, Log P 1P 2) Où II.IIF est la norme de Frobenius et X; sont les valeurs propres de P1-1P2 (réelles est strictement positives). Le logarithme d'une matrice SDP « P » est donné par :- ~~~;~ où V est la matrice des vecteurs propres de P, D la matrice diagonale de ses valeurs propres et log(D) représente la matrice diagonales des logarithmes des valeurs propres de P. Cette définition de la distance riemannienne n'est pas univoque. D'autres métriques équivalentes à bR peuvent être définies sur la variété M. Par exemple, une distance alternative pouvant être utilisée dans la mise en oeuvre de l'invention est définie par : IILog(Pl)-Log(P2)IIF. Une géodésique est le plus court chemin, sur la variété M, entre deux points PI et P2. Elle est définie sous forme paramétrique, avec paramètre tE[0,1] par : pl/2 En correspondance de chaque point P de la variété riemannienne M il est possible de définir - de manière univoque - l'espace tangent Tp, qui est un espace euclidien (représenté symboliquement par un plan sur la figure 1). Plus précisément, donné un point P de la variété M, il est possible de définir pour chaque autre point P; de ladite variété le vecteur tangent, où y est la géodésique entre P et P; et le point 25 représente l'opération de dérivation. La variété M est localement (autour du point P) homéomorphe à l'espace tangent Tp constitué par l'ensemble des vecteurs tangent Si. A chaque point P; de la variété riemannienne M il est donc possible d'associer un point Si de l'espace tangent Tp (c'est-à-dire un vecteur tangent) par une opération de projection généralement connue sous le nom anglais de « log map », définie par : cet(FP120g --}'2p. Inversement, le passage de l'espace tangent à la variété M se fait par une opération de « exp map » : Expp /"2p. P" Exp La puissance t d'une matrice SDP « P » est définie par P, = --D v- où v est la matrice des vecteurs propres de P, D la matrice diagonale de ses valeurs propres et Dt la matrice diagonale des valeurs propres de P élevés à la puissance t. Les éléments de l'espace tangent, au point P, de la variété riemannienne des matrices SDP de dimensions nxn sont des matrices 15 symétriques, mais en générales non définies positives, des mêmes dimensions. Une autre notion utile pour la suite est celle de moyenne géométrique au sens riemannien, de m matrices SDP appartenant à la variété M: _argm )? P P. :P(n . SPI... 20 où P(n) représente l'ensemble des matrices SDP nxn. II n'existe pas de formule analytique permettant de calculer cette moyenne ; il est donc nécessaire d'avoir recours à des algorithmes itératifs. 25 Le plus simple de ces algorithmes consiste à : 1. Déterminer une première estimation P°g de la moyenne géométrique afin d'initialiser l'algorithme ; par exemple, on peut prendre la moyenne arithmétique des matrices. 2. Projeter les matrices Pi...Pm dans l'espace tangent au 5 point P°n (on remarquera qu'on utilise les termes « point » et « matrice » de manière interchangeable, selon qu'on veuille mettre en évidence les aspects géométriques ou algébriques). 3. Calculer la moyenne arithmétique S des projections des matrices, puis revenir à la variété riemannienne par application d'une « exp 10 map ». On trouve une nouvelle estimation P1 de la moyenne (plus généralement, à l'itération i, on indiquera cette estimation par P'Q). 4. On itère les étapes 2 et 3, prenant à chaque fois l'espace tangent au point P'-lç déterminé à l'itération précédente. Le processus s'arrête lorsque la norme de Frobenius de la matrice S (moyenne 15 géométrique dans l'espace tangent) calculée à l'étape 3 est inférieure à une valeur de seuil. Il existe aussi des algorithmes permettant de calculer des estimateurs robustes de la moyenne. Pour plus de précisions concernant la géométrie riemannienne des matrices SDP il est possible de se rapporter à 20 l'article de M. Moakher «A differential geometric approach to the geometric mean of symmetric Positive-Definite matrices » SIAM J. Matrix Anal. Appl., 26, 2005. Comme cela a été expliqué plus haut, l'invention part de l'hypothèse que les matrices de covariance des signaux neuronaux - et en 25 particulier des signaux EEG - constituent des bons indicateurs de l'activité cérébrale d'un sujet et peuvent être utilisées pour la réalisation d'interfaces neuronales directes, à la condition de considérer ces matrices comme des points d'une variété riemannienne, ce qui permet d'en préserver la structure et les relations. 30 La figure 2 explicite la notion de « matrice de covariance des signaux neuronaux ». Un sujet, ou patient, ou utilisateur (ces termes seront utilisés ici de manière interchangeable) est équipé de N électrodes pour EEG ou ECoG. Chaque électrode « i » fournit un signal xi(t) en fonction du temps. Ce signal est échantillonné, pour passer à un temps discret : x;i=x;(ti), puis numérisé. On obtient ainsi une représentation matricielle de l'ensemble des signaux neuronaux. Le temps global d'acquisition est découpé en périodes, connues dans la technique sous le nom anglais de « epochs ». A chaque période est donc associée une matrice XI, X2 .... Xi représentative des signaux acquis au cours de ladite période. En pratique, ces matrices correspondent généralement à des signaux filtrés en fréquence, pour améliorer le rapport signal sur bruit et isoler une région spectrale d'intérêt, et centrés par soustraction de la moyenne, calculée ligne par ligne (en réalité, le « centrage » est une conséquence automatique du filtrage, dès lors que la composante continue du signal est éliminée). La matrice de covariance P; de la i_ème période peut être estimée par : P. = 1 X.XT M-1 ` Où M est le nombre d'échantillons de la période pour chaque électrode (à ne pas confondre avec M, qui indique la variété riemannienne). D'autres estimateurs plus robustes, connus par eux-mêmes, peuvent également être utilisés. La figure 3 montre un ordinogramme général d'un procédé selon l'invention. L'étape A consiste à acquérir les signaux neuronaux à l'aide d'un ensemble d'électrodes (on verra plus loin comment déterminer de manière optimale cet ensemble). L'étape B comprend des opérations conventionnelles de prétraitement : échantillonnage, conversion au format numérique, filtrage, centrage, normalisation... L'étape C consiste en l'estimation des matrices de covariance associées aux différentes périodes, considérées comme des points d'une 30 variété riemannienne M. L'étape D consiste à classifier les matrices de covariance dans ladite variété riemannienne. Le classificateur est généré à partir de données d'entrainement, c'est-à-dire des matrices de covariance de périodes appartenant à des classes connues (des périodes pendant lesquelles le sujet a effectué une tâche mentale prédéfinie). Enfin, l'étape Z consiste à générer des signaux de commande d'un effecteur à partir des résultats de la classification. La classification des signaux neuronaux peut servir aussi à d'autres fins que la BCI (recherche, diagnostic...), auquel cas on pourra omettre ladite étape Z. Les étapes El et E2 peuvent être mises en oeuvre en alternative à l'étape D. Elles consistent à : - El : projeter les matrices de covariance dans un espace tangent (généralement, le point correspondant à la moyenne géométrique au sens riemannien des données d'entrainement) ; - E2 : effectuer la classification dans ledit espace tangent. Cette approche alternative est intéressante en ce qu'elle permet d'appliquer des classificateurs « sophistiqués » qui ne peuvent pas être utilisés directement dans une variété riemannienne, tels que l'analyse discriminante linéaire de Fisher (LDA). Une alternative à l'étape E2 est constituée par FI, F2, F3 : - F1 consiste à appliquer une opération de « filtrage dimensionnel » dans l'espace tangent. Le « filtrage dimensionnel » se différencie de la réduction dimensionnelle en ce que la dimension des données est maintenue constante par remplissage avec des zéros. - F2 consiste à projeter les données filtrées dimensionnellement dans la variété riemannienne d'origine (« exp map »). - Enfin, F3 consiste à classifier les données filtrées dimensionnellement dans la variété riemannienne. La figure 4 illustre une première méthode de classification de signaux neuronaux dans une variété riemannienne : la méthode dite de la « distance à la moyenne » (ou « à la médiane »). Le principe consiste à définir, sur la variété riemannienne, des points (matrices) dits « centres des classes ». II y a un - et un seul - de ces points pour chaque classe. Sur la figure 4 il y a deux de ces points, PI et P2 correspondant à deux tâches mentales distinctes : un mouvement imaginé d'une main et un mouvement imaginé d'un pied. L'on calcule la distance riemannienne 81(P;) - respectivement 82(P;) - entre chaque matrice covariance d'une période d'activité cérébrale à classifier et le point PI - respectivement P2. Si 81(P;) Dans la méthode de la distance à la moyenne (médiane), les données d'entrainement servent uniquement à calculer les « centre de classes », après quoi elles peuvent être oubliées. Dans une méthode alternative, dite « des k plus proches voisins », ces données jouent au contraire un rôle central. Conformément à cette méthode, pour chaque « point » de la variété riemannienne correspondant à une matrice de covariance à classer, on détermine les k « points » correspondant aux matrices d'entrainement qui sont les plus proches au sens riemannien. En général, ces « k plus proches voisins » appartiendront à des classes différentes. Le point à classifier sera attribué à la classe à laquelle appartient la majorité de ses k plus proches voisins. Dans l'exemple de la figure 5 on utilise 100 points d'entrainement associés à 3 classes (« main » : CL1, « pied » : CL2, « repos » : CL3). On étudie la classification d'une période d'activité cérébrale que l'on sait associée à un mouvement imaginé de la main. L'axe des abscisses représente le nombre k de plus proches voisins considérés ; l'axe des ordonnées représente le nombre de plus proches voisins par classe. On peut voir que déjà pour k=10 la période est attribuée de manière non ambigüe à la catégorie correcte. Les exemples des figures 4 et 5 correspondent à la branche « D » de l'ordinogramme de la figure 3 (classification directement dans la variété riemannienne). On considère maintenant la branche « E1/E2 », c'est-à-dire la classification dans l'espace tangent. On sait que la variété riemannienne M possède un espace tangent pour chacun de ses points. Se pose donc la question de déterminer l'espace tangent dans lequel projeter les données afin de les classifier. Pour minimiser la distorsion des données provoquée par la projection, il est préférable de choisir l'espace tangent relatif à la moyenne géométrique des données d'entrainement. Selon une variante, on peut choisir l'espace tangent relatif à la médiane des données d'entrainement. A chaque « point » (matrice SDP) Pi de la variété riemannienne M correspond un « point » Si dans l'espace tangent considéré. Or, Si est une matrice seulement symétrique. Il y a donc redondance de l'information dans ses coefficients. On introduit l'opération : S, = vect(S,) consistant à ne garder que les coefficients de la partie supérieure de la matrice et de les ranger sous forme de vecteurs, comme 10 l'illustre l'exemple suivant avec une matrice 3x3 1 2 3 S;= 2 4 5 3 5 6 6 S, étant une matrice de dimension nxn, alors SF est un vecteur de n*(n+1)/2 éléments. On créer donc un nouveau jeu de donnée sur lequel on 15 entrainera un classificateur : {(S1,Y)...(S;,Y)..(S~so,Yao Ou Y; est la classe « réelle » du vecteur d'entrainement j', . Ce classificateur peut être, par exemple, une analyse discriminante linéaire de Fisher. 20 Il y a cependant une difficulté. En effet, les vecteurs S; sont de taille n*(n+1)/2 et lorsque le nombre d'électrodes devient important (de l'ordre de 20 ou plus), la taille de ces vecteurs se rapproche du nombre total de points dans la base de données (en général, 200 à 500 en BCI), voire dépasse ce nombre. Les algorithmes classiques type LDA ou régression le 25 supportent mal et tendent au sur-apprentissage. Pour la LDA en particulier, la résolution est impossible si la taille des vecteurs dépasse le nombre de points vect >S; = du jeu de données. On utilise alors soit une réduction de dimension, soit des méthodes de régularisations. Ces méthodes font partie intégrante de l'état de l'art pour les techniques de classification. Une méthode simple de régularisation consiste augmenter artificiellement le nombre de données dans la base d'apprentissage, soit par ré-échantillonage desdites données, soit par introduction de bruit (chaque point est dupliqué et déplacé légèrement selon un bruit blanc gaussien). La réduction dimensionnelle peut se faire, par exemple, par Analyse Discriminante Linéaire de Fisher, ou « Fischer LDA » (R. O. Duda, P. E. Hart, D.G. Stork. « Pattern Classification », chapitre 3.8.2, pages 117-124. J. Wiley & Sons Inc, 2e edition, 2000). Cette méthode projette les données sur des vecteurs hiérarchisés par importance, dont seul un nombre K (généralement petit par rapport à la dimension totale des données) est conservé ; la projection sur un seul vecteur peut être considérée comme une classification binaire (le signe de la projection donne directement la classe d'appartenance). A ce point, on peut effectuer la classification dans l'espace tangent, ou revenir dans la variété riemannienne. Pour ce faire, il faut revenir à une représentation des données ayant les dimensions d'origine ; mais la valeur des dimensions autres que les K retenues après Analyse Discriminante Linéaire de Fisher est posée égale à zéro. Comme il n'y a pas de réduction dimensionnelle proprement dite, on parle de « filtrage dimensionnel ». La figure 6 montre : A : Des données de deux classes différentes (points gris clair et gris foncé) dans une variété riemannienne à 3 dimensions, correspondant à des matrices SDP de dimensions 2x2 (bien entendu, il s'agit seulement d'un exemple à des fins de visualisation ; les matrices de covariance utilisées en BCI ont des dimensions beaucoup plus importantes, qui ne permettent pas une visualisation aisée). La classification peut se faire directement dans la variété riemannienne. B : La projection de ces données dans un espace tangent. On perd la « courbure » de la variété riemannienne, car l'espace tangent est euclidien. La classification peut être effectuée dans cet espace tangent. C : On applique une LDA de Fisher à deux composantes. Les données sont aplaties sur un plan (espace euclidien à deux dimensions), choisi de manière à optimiser la séparation des classes. On peut effectuer la classification sur cet espace euclidien de dimensions réduites. D : A condition de considérer le plan obtenu au point C comme immergé dans l'espace tangent à trois dimensions, il est possible de revenir dans la variété riemannienne. Les données à classifier sont agencées sur une surface (en général : hypersurface) de la variété riemannienne. E : A partir du point B on peut appliquer une LDA de Fisher à une composante. Les données sont concentrées sur une droite, correspondant à la direction de plus grande séparation des classes. La classification est particulièrement aisée, mais on a perdu de l'information. Cette perte d'information peut être acceptable lorsqu'on veut faire de la classification à deux classes ; en revanche, l'utilisation d'une seule composante est généralement insuffisante pour faire une classification multiclasses. F : A partir du point E on revient dans la variété riemannienne. Les données apparaissent concentrées sur une ligne, plus précisément une géodésique (la géodésique de plus grande séparation entre les classes). On considère maintenant un exemple spécifique d'interface cerveau-machine utilisant 16 électrodes d'EEG et trois tâches mentales : mouvement d'une main, d'un pied et repos. Les données d'entrainement du classificateur sont obtenues en demandant à l'utilisateur d'effectuer 20 fois chacune des tâches mentales pendant 3 secondes/tâche. Les signaux neuronaux sont échantillonnés à 512 Hz, filtrés par un filtre passe-bande entre 8 et 30 Hz, puis découpés en portions d'une seconde (il y en a donc 180), pour chacune desquelles on détermine une matrice de covariance X. Chacune de ces matrices de covariance - de dimensions 16x512 - est associée à un scalaire Y; qui indique la tâche mentale correspondante : 1 pour le mouvement de la main, 2 pour le mouvement du pied et 3 pour le repos. Ces données sont utilisées avec plusieurs types de classificateurs : - Une chaine de traitement « conventionnelle » : CSP suivie par LDA multiclasse ; - Une classification par distance à la moyenne dans la variété riemannienne des matrices X; ; - Une classification par k plus proches voisins (k=20) dans la variété riemannienne des matrices X; ; - Une classification par LDA dans l'espace tangent ; et cela pour 9 utilisateurs U1 - U9. Les résultats, exprimés en pourcentage de bonne classification, sont donnés par la matrice suivante. L'avant-dernière ligne donne les résultats moyens et la dernière ligne le gain par rapport à la méthode de référence. Il faut considérer qu'une classification au hasard 15 donnerait un résultat égal à 33,33%. Utilisateur Référenc Distance k plus LDA dans e (CSP + à la proches l'espace LDA) moyenne voisins tangent U 1 34,9 55,0 51,0 49,7 U2 48,3 61,6 57,6 51,7 U3 44,7 44,1 36,2 40,8 U4 73,4 76,0 73,4 67,1 U5 50,0 58,4 57,1 50,7 U6 38,5 67,1 62,1 62,8 U7 31,5 37,0 39,5 30,9 U8 55,5 58,7 55,5 44,6 U9 65,4 57,7 64,7 64,2 Moyenne 49,1 57,3 55,2 51,4 Gain (%) +8,2 +6,1 +2,3 Les méthodes de classification basées sur la géométrie riemannienne fournissent une augmentation des performances significative, sauf pour la LDA dans l'espace tangent qui, dans les conditions considérées 20 ici est proche d'un sur-apprentissage (en effet, avec 16 électrodes, les vecteurs s, sont de dimension 136, proche du nombre de points d'entrainement, 180). 10 Les méthodes de classification considérées jusqu'ici sont de type « supervisé », c'est à dire utilisant des signaux d'apprentissage dont la classe est connue. L'invention s'applique également aux méthodes de classification non supervisées, bien que leur utilisation en BCI soit généralement plus délicate. A titre d'exemple on peut mentionner la généralisation riemannienne de la méthode des « k moyennes » (« k-means » en anglais), connue par elle-même. Un procédé de classification non supervisée de signaux neuronaux selon l'invention comporte les étapes suivantes : a. On acquiert des signaux neuronaux sur I périodes temporelles et, après un prétraitement éventuel, on en détermine les matrices de covariance ; b. On attribue, de manière aléatoire, chaque matrice de covariance - considérée comme un point d'une variété riemannienne - à une 15 parmi k classes ; c. On calcule le centre au sens riemannien (moyenne géométrique ou médiane) de chaque classe ; d. On calcule la distance riemannienne entre chaque matrice et les k centres des classes ; puis on réattribue chaque matrice à la 20 classe dont le centre est plus proche ; Puis on répète de manière itérative les étapes c. et d. jusqu'à la convergence. Lorsqu'un nouveau « point » (une nouvelle période d'acquisition) se présente, on peut recommencer l'algorithme sur l'ensemble 25 de données augmenté. En variante, on peut fixer définitivement les centres des classes après une phase d'apprentissage (non supervisé), et utiliser simplement une classification par distance à la moyenne (médiane) pour les données acquises ultérieurement. L'utilisation de la géométrie riemannienne dans les 30 techniques de classification non supervisée est de permettre une bonne exploitation de l'information spatiale, alors même qu'un filtrage par CSP n'est pas disponible (car supervisé). Jusqu'ici on a considéré l'ensemble d'électrodes (leur nombre, leur agencement sur le crâne de l'utilisateur) comme une donnée. En réalité, il s'agit là de paramètres à régler afin d'optimiser les performances de la BCI. La géométrie riemannienne des matrices de covariance des signaux neuronaux s'avère utile, outre que pour la classification proprement dite, pour permettre la détermination de la disposition des électrodes d'acquisition des signaux. L'idée générale est de sélectionner un certain nombre d'électrodes, parmi un ensemble plus vaste, de manière à maximiser la distance riemannienne entre les centres des classes des données d'entrainement (ou plus généralement entre des matrices « représentant » les différentes classes). S'il y a plus de deux classes, on cherchera à maximiser une fonction de distances entre les centres des classes pris deux à deux K-1 K (typiquement, on prendra leur somme : Critère = E E SR (Pk, PJ), où bR est la k=1 j>k distance riemannienne, Pk, Pi sont les centres des classes et la somme est étendue à toutes les paires de classes. En effet, l'ajout d'une électrode augmente la dimension des matrices X, et donc de la variété riemannienne ; en général, cela se traduit par une augmentation de la distance entre les centres des classes. Si cette augmentation ne se produit pas, cela signifie que l'électrode ajoutée ne porte aucune information utile à la classification. Réciproquement, le fait d'enlever une électrode diminue, en général, la distance entre les centres de classe. Si cette diminution est importante, cela signifie que l'électrode enlevée portait beaucoup d'information utile (et donc qu'il aurait probablement dû être conservée). Si cette diminution est faible ou nulle, cela signifie que cette électrode ne portait que peu d'information utile (et donc que son élimination permet de simplifier le système sans dégradation notable de ses performances). Cette approche convient particulièrement bien à la sélection 30 descendante. On procède de la manière suivante : On part d'un ensemble « complet », comprenant un nombre important N d'électrodes et on acquiert les signaux d'entrainement. Puis on calcule les matrices de covariance, on détermine le centre des classes et on calcule le « critère » (somme des distances entre lesdits centres des classes). Puis on considère tous les sous-ensembles de N-1 électrodes (obtenues en éliminant une électrode de l'ensemble complet). On calcule les nouvelles matrices de covariance et la nouvelle valeur du « critère » pour chacun de ces sous-ensembles. Le sous-ensemble présentant la valeur du « critère » la plus élevée sera retenue : il s'agit du sous-ensemble obtenu en éliminant de l'ensemble complet l'électrode qui apporte le moins d'information utile à la classification. Et ainsi de suite : à chaque étape on teste tous les sous-ensembles obtenus en éliminant une électrode et on sélectionne le meilleur de ces sous-ensembles (celui qui optimise le critère défini par la distance entre les centres des classes). De cette manière on est certains d'éliminer, à chaque étape, l'électrode la moins « utile » parmi celles qui restaient. Le processus de sélection s'arrête quand on reste avec un nombre prédéfini d'électrodes ; ou lorsque la valeur du « critère » descend au-dessous d'un seuil (par exemple : 80% de la valeur initiale). A titre d'exemple, la figure 7 montre un montage initial de 16 électrodes EL1 - EL16 que l'on souhaite réduire de manière optimale. Comme dans l'exemple étudié plus haut pour illustrer les différentes méthodes de classification des signaux neuronaux, l'on considère trois tâches mentales (mouvement d'une main, d'un pied et repos) et des données d'entrainement obtenues en demandant à l'utilisateur d'effectuer 20 fois chacune des tâches mentales pendant 3 secondes/tâche. Les signaux neuronaux sont échantillonnés à 512 Hz, filtrés par un filtre passe-bande entre 8 et 30 Hz, puis découpés en portions d'une seconde. La figure 7 montre également, de manière schématique, un processeur PR programmé pour mettre en ouvre un procédé de classification et de BCI tel que décrit plus haut. La figure 8 montre comme procède la sélection : l'axe des ordonnées indique les électrodes, l'axe des abscisses la taille du sous-ensemble ; le gris clair indique une électrode conservée, le gris foncé une électrode supprimée. On voit que l'électrode EL11 est la première à être éliminée, suivie par l'EL16 et ainsi de suite. Le sous-ensemble optimal à 3 électrodes, pour l'utilisateur considéré, comprend les électrodes EL3, EL8 et EL15. Si une seule électrode devait être retenue, il s'agirait de l'EL8. La figure 9 montre comment la valeur maximale du critère de distance varie en fonction de la taille du sous-ensemble d'électrodes. On voit que le passage de 16 à 10 provoque une diminution modérée (de l'ordre de 10%) de cette valeur. En revanche, il serait très pénalisant d'utiliser moins de 3 électrodes. Ce procédé est simple et robuste. Sa simplicité vient notamment du fait qu'il est immédiat de calculer les matrices de covariance 15 correspondant aux différents sous-ensembles d'électrodes une fois qu'on les a calculées pour l'ensemble complet. En effet, dans les matrices de covariance, l'information portée par l'électrode i est représentée par la i-ème ligne et la i-ème colonne. Par conséquent, pour déterminer les matrices de covariance correspondant au 20 sous-ensemble de (N-1) électrodes obtenu en enlevant l'électrode i, il suffit de prendre les matrices de covariance de l'ensemble complet de N électrodes et leur enlever la i-ème ligne et la i-ème colonne. Plus généralement, on peut définir l'opération « red cov » : red cov P --> P s 25 où P est une matrice de covariance, S un vecteur contenant les indices des électrodes à conserver et P la matrice de covariance réduite. Par exemple si S = [3,7], on aura : Pm N,1 P1,N . ' « PN,N redcov p33 s=13,7] P = P3,7 P7,3 P7,7 P= Cela signifie que le calcul des matrices de covariance correspondant aux sous-ensembles réduits d'électrodes s'obtient par simple élimination de lignes et de colonnes des matrices de covariance correspondant à l'ensemble complet. Le procédé que l'on vient de décrire permet une sélection « patient-spécifique » : si on l'applique à plusieurs sujets différents, l'on obtiendra des sous-ensembles « optimaux » d'électrodes différents. C'est ce que montre la figure 10, qui représente les sous-ensembles « optimaux » pour huit utilisateurs U1 - U9. On peut combiner cette sélection « patient-spécifique » avec une sélection « application-spécifique » : simplement, on sélectionne les électrodes qui apparaissent le plus souvent dans les sous-ensembles optimaux des différents utilisateurs. Ainsi, on peut constater sur la figure 9 que l'électrode EL8 a été sélectionnée pour 5 utilisateurs ; les électrodes EL3 et EL13 ont été sélectionnées pour 3 utilisateurs ; les autres électrodes ont été sélectionnées pour 2, 1 ou 0 utilisateurs. Le sous-ensemble à 3 électrodes optimal, que l'on peut supposer satisfaisant pour la plupart de l'utilisateur, est donc constitué par les électrodes EL3, EL8 et EL13. Ce sous-ensemble est illustré sur la figure 11. On peut aussi effectuer une sélection ascendante en procédant de la manière suivante. On part d'un ensemble prédéfini d'emplacements possibles pour les électrodes (voir la figure 7). On commence à mettre en place une seule électrode, en essayant tous les emplacements disponibles et en mesurant, pour chaque emplacement, la distance (ou somme des distances) entre les centres de classes. On identifie l'emplacement qui correspond à la distance maximale, et on y laisse l'électrode. A ce point on teste tous les emplacements restants avec une deuxième électrode, et ainsi de suite (on remarquera que, lors de la première itération, la « matrice de covariance » est en réalité un scalaire, ou une « matrice » 1x1). On arrive ainsi à sélectionner un sous-ensemble optimal d'emplacements pour électrodes pour chaque utilisateur. La sélection « application-spécifique » se fait exactement comme pour la sélection descendante (voir les figures 10 et 11). II est également possible de combiner, d'une manière connue par elle-même, sélection ascendante et sélection descendante. i0 REVENDICATIONS1. Procédé de sélection d'électrodes d'acquisition de signaux neuronaux pour commande neuronale directe, consistant à choisir un sous-ensemble d'électrodes ou d'emplacements pour électrodes parmi un ensemble plus vaste, ce choix étant basé sur un critère consistant de manière à maximiser la somme des distances riemanniennes entre des matrices de covariance représentatives de classes différents de signaux issus desdites électrodes. 2. Procédé de sélection d'électrodes selon la revendication 1 10 comportant les étapes consistant à : a. Appliquer à un sujet (U1 - U8) un ensemble initial d'électrodes (EL1 - EL16) d'acquisition de signaux neuronaux ; b. Acquérir, au moyen desdites électrodes et sur une pluralité de périodes déterminées, une pluralité d'échantillons de signaux 15 neuronaux ()c1(t) - x16(t)), les signaux correspondant à chaque période étant associés à une parmi une pluralité de classes ; c. Estimer une matrice de covariance (X1, X2, X;) des signaux neuronaux issus de chaque période, chacune desdites matrices de covariance étant considérée comme un point d'une variété riemannienne ; 20 d. Pour chacune desdites classes, calculer une matrice symétrique définie positive représentant un centre de classe ; et e. Sélectionner un sous-ensemble desdites électrodes de manière à maximiser la somme des distances riemanniennes entre lesdits centres des classes. 25 3. Procédé selon la revendication 2 dans lequel ladite étape d. consiste à calculer la moyenne géométrique ou la médiane, dans ladite variété riemannienne, des matrices de covariance des signaux associés à chaque classe. 4. Procédé selon l'une des revendications 2 ou 3, dans 30 lequel ladite étape e. est mise en oeuvre de manière itérative et comporte, à chaque itération, l'élimination d'une électrode choisie de manière à minimiser la diminution de distance riemannienne entre les matrices de covariance moyennes ou médianes desdites classes qui en résulte. 5. Procédé de sélection d'électrodes selon la revendication 1 comportant les étapes consistant à : c. Déterminer un ensemble d'emplacements pour l'application d'électrodes d'acquisition de signaux neuronaux sur un sujet ; d. Introduire progressivement des électrodes de manière à incrémenter de manière maximale ladite somme des distances riemanniennes entre des matrices de covariance représentatives de classes différentes de signaux issus desdites électrodes. 6. Procédé selon l'une des revendications précédentes dans 10 lequel chaque classe de signaux neuronaux correspond à une action imaginée par le sujet. 7. Procédé selon l'une des revendications précédentes, conduisant à la détermination d'un sous-ensemble d'électrodes comportant un nombre prédéterminé d'éléments. 15 8. Procédé selon l'une des revendications précédentes dans lequel chacune desdites électrodes est adaptée pour acquérir des signaux neuronaux générés par une région déterminée du cerveau du sujet. 9. Procédé de sélection d'électrodes d'acquisition de signaux neuronaux pour commande neuronale directe comportant : 20 - la mise en oeuvre d'un procédé selon l'une des revendications précédentes pour une pluralité de sujets (U1 - U8), avec un même ensemble initial d'électrodes ou d'emplacement pour électrodes pour tous les sujets, de manière à déterminer un sous-ensemble d'électrodes pour chaque sujet ; 25 la sélection des électrodes (EL3, EL8, EL13) dudit ensemble initial qui appartiennent au plus grand nombre desdits sous-ensembles.