Brevet FR2950713A1 — publié le 20110401

SYSTEME ET PROCEDE DE RECONNAISSANCE DE GESTES La présente invention appartient au domaine des systèmes de reconnaissance de gestes. Plus précisément, elle s'applique à la caractérisation de gestes, notamment humains, par rapport à une base d'apprentissage comprenant des classes de gestes de manière à pouvoir reconnaître lesdits gestes de manière fiable et, éventuellement, utiliser les résultats de ladite reconnaissance pour commander un ou plusieurs dispositifs, notamment électroniques. Un système de ce type comprend normalement un certain nombre de capteurs de position et/ou d'orientation qui permettent d'acquérir plusieurs signaux représentatifs des gestes effectués par le porteur desdits capteurs. Ces capteurs peuvent être par exemple des accéléromètres, des gyromètres ou bien des magnétomètres. Un dispositif de traitement de signal est normalement prévu pour conditionner lesdits signaux. Un dispositif met ensuite en oeuvre une méthode de classification des signaux pour reconnaître le geste dans la base d'apprentissage en se donnant un seuil d'acceptation de la reconnaissance. Plusieurs méthodes de classification sont utilisables, notamment celles utilisées dans la reconnaissance de la parole, telles que les modèles de Markov cachés ou Hidden Markov Models (HMM), la déformation temporelle linéaire ou Linear Time Warping (LTW), et la déformation temporelle dynamique ou Dynamic Time Warping (DTW). Une méthode de reconnaissance de geste de type DTW appliquée dans un système de télécommande d'appareils électroniques (la XWandTM de Microsoft®) est divulguée par la demande EP 1 335 338 ainsi que par la publication « Gesture Recognition Using The XWand » (D. Wilson, Carnelie Mellon University, et A. Wilson, Microsoft Research, 2004). Le taux de reconnaissance cité par cette dernière publication, inférieur à 72%, n'est pas acceptable pour des applications industrielles, ce qui rend cette méthode inutilisable. La présente invention résout ce problème en prévoyant à la fois des modalités de prétraitement et de post traitement qui améliorent le taux de 35 reconnaissance dans des proportions très importantes. A cet effet, la présente invention divulgue un système de reconnaissance de gestes d'une entité comprenant un module de capture de signaux générés par lesdits mouvements de ladite entité, un module de stockage de données représentatives de signaux préalablement capturés organisés en classes de s gestes, un module de comparaison d'au moins une partie des signaux capturés sur une plage temporelle avec lesdites classes de signaux stockés, ledit système étant caractérisé en ce qu'il comprend en outre un module de prétraitement d'au moins une partie desdits signaux capturés sur une plage temporelle, ledit prétraitement comprenant au moins une des fonctions 10 choisies dans le groupe comprenant une élimination au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité, un sous échantillonnage des signaux capturés et une normalisation desdits signaux. Avantageusement, ledit module de capture de signaux générés par lesdits mouvements de ladite entité comprend au moins un capteur de mesures 15 inertielles selon trois axes. Avantageusement, ledit module de comparaison des signaux capturés sur une plage temporelle effectue ladite comparaison en exécutant un algorithme de déformation temporelle dynamique. Avantageusement, ledit module de stockage comprend, pour chaque classe 20 de signaux, un vecteur de données représentatif d'au moins une mesure de distance des signaux appartenant à chaque classe. Avantageusement, le vecteur de données représentatif d'au moins une mesure de distance des signaux appartenant à chaque classe comprend, pour chaque classe de signaux stockés, au moins une mesure de distance 25 intra classe et des mesures de distances entre ladite classe et chacune des autres classes stockées. Avantageusement, la mesure de distance intra classe est égale à la moyenne des distances deux à deux entre signaux de la classe, chaque distance entre signaux représentatifs de gestes appartenant à la classe étant 30 calculée comme le minimum de l'écart quadratique entre suites d'échantillons des signaux sur des chemins de déformation de type DTW. Avantageusement, la mesure de distance interclasses est égale à la moyenne des distances deux à deux entre signaux des deux classes, chaque distance entre signaux représentatifs de gestes appartenant à une classe étant calculée comme le minimum de l'écart quadratique entre suites d'échantillons des signaux sur des chemins de déformation de type DTW. Avantageusement, ledit algorithme de déformation temporelle dynamique utilise un critère de reconnaissance du geste représenté par lesdits signaux capturés sur une plage temporelle basé sur une mesure de distance desdits signaux capturés sur une plage temporelle avec le vecteur représentatif des classes de signaux de référence stockés dans ledit module de stockage. Avantageusement, ladite mesure de distance est normalisée par une mesure de distance intra classe. Avantageusement, ladite mesure de distance est effectuée par calcul par un algorithme de type DTW d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice des distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes du au moins un capteur sur le signal à classer et le vecteur de mêmes composantes sur le signal de référence.. Avantageusement, ladite mesure de distance est effectuée par calcul par un algorithme de type DTW d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice dont les éléments sont les dérivées du produit scalaire du vecteur de mesure et du vecteur de référence. Avantageusement, ledit module de capture desdits signaux comprend au moins deux capteurs. Avantageusement, le système de l'invention comprend en outre un module 25 de fusion des données issues du module de comparaison pour les au moins deux capteurs. Avantageusement, le module de fusion entre les données issues du module de comparaison pour les au moins deux capteurs est apte à exécuter une fonction de vote entre lesdites données issues du module de comparaison 30 pour les au moins deux capteurs. Avantageusement, ladite mesure de distance est effectuée par une des opérations appartenant au groupe comprenant : i) un calcul par un algorithme de type DTW d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum 35 parcourant une matrice des distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes des au moins deux capteurs sur le signal à classer et le vecteur de mêmes composantes sur le signal de référence, ledit indice de similarité constituant la mesure de distance ; ii) un calcul par un algorithme de type DTW, pour chaque capteur, d'un indice de s similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice des distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes d'un des au moins deux capteurs sur le signal à classer et le vecteur de même composantes sur le signal de référence, puis un calcul de la mesure io de distance par multiplication des indices de similarité fournis en sortie des calculs sur tous les capteurs. Avantageusement, ladite mesure de distance est effectuée par un calcul, pour chaque capteur, d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum ls parcourant une matrice dont les éléments sont les dérivées du produit scalaire du vecteur de mesure et du vecteur de référence, puis un calcul de la mesure de distance par une multiplicaton des indices de similarité fournis en sortie des calculs sur tous les capteurs. Avantageusement, ladite mesure de distance est effectuée par un calcul par 20 un algorithme DTW, pour chaque capteur, d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice constituée soit par les distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes d'un des au moins deux capteurs sur le signal à classer et le vecteur de 25 même composantes sur le signal de référence, soit par les dérivées du produit scalaire du vecteur de mesure et du vecteur de référence, puis un calcul de la mesure de distance par multiplication des indices de similarité fournis en sortie des calculs sur tous les capteurs. Avantageusement, le module de prétraitement exécute une fonction 30 d'élimination au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité en filtrant les variations des signaux inférieures à un seuil choisi sur une fenêtre temporelle également choisie. Avantageusement, le module de prétraitement exécute une fonction de sous échantillonnage des signaux capturés en réalisant une décimation à un 35 rapport de réduction choisi des signaux capturés puis une moyenne des signaux réduits sur une fenêtre temporelle ou spatiale glissante adaptée au rapport de réduction. Avantageusement, des données représentatives de la décimation sont stockées par le module de stockage et transmises en entrée du module de 5 comparaison. Avantageusement, le module de prétraitement exécute une fonction de normalisation des signaux capturés par centrage sur leur valeur moyenne. Avantageusement, la fonction de normalisation réalise en outre une réduction des signaux capturés centrés par division par l'écart type desdits 10 signaux capturés. Avantageusement, le module de prétraitement exécute successivement une fonction d'élimination au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité, une fonction de sous échantillonnage des signaux capturés et une fonction de normalisation des 15 signaux capturés. Avantageusement, une partie au moins des signaux capturés et des sorties du module de comparaison (220) est apte à être fournie en entrées du module de stockage (230) pour y être traitée, les résultats desdits traitements étant pris en compte par les traitements en cours du module de 20 comparaison. La présente invention divulgue également un procédé de reconnaissance de gestes d'une entité comprenant une étape de capture de signaux générés par lesdits mouvements de ladite entité selon au moins trois degrés de 25 liberté, une étape de comparaison d'au moins une partie des signaux capturés sur une plage temporelle avec des classes de signaux stockés au préalable représentatifs de gestes d'entités, ledit procédé étant caractérisé en ce qu'il comprend en outre une étape de prétraitement, préalable à l'étape de comparaison, d'au moins une partie desdits signaux capturés sur une 30 plage temporelle, ledit prétraitement comprenant au moins une des fonctions choisies dans le groupe comprenant une élimination au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité, un sous échantillonnage des signaux capturés et une normalisation desdits signaux. 35 L'invention peut être mise en oeuvre sans avoir recours à des aides extérieures telles que la reconnaissance d'images ou de la parole (comme c'est le cas de la XWandTM) et ne nécessite donc pas l'utilisation de dispositifs et d'algorithmes complexes de fusion de données. s L'invention présente en outre l'avantage de pouvoir utiliser des capteurs de faibles dimensions, poids, consommation et coût tels que des MEMS (Micro Electro Mechanical Systems). L'utilisation de mesures inertielles et ou magnétiques permet également de s'affranchir des limites de volume de capture qui caractérisent les dispositifs 10 à traitement d'image où la capture est limitée au champ des caméras, l'utilisation, toujours possible, de caméras pointables entraînant une complexité beaucoup plus grande du système. Enfin, la capacité donnée par l'invention d'adapter les traitements à différentes classes de capteurs et de scénarios d'emploi en optimisant les 15 modalités de fusion des différentes données permet une grande versatilité et donc une gamme très large d'applications. L'invention sera mieux comprise et ses différentes caractéristiques et avantages ressortiront de la description qui suit de plusieurs exemples de 20 réalisation et de ses figures annexées dont : La figure 1 représente un exemple de scénario d'utilisation de l'invention dans un de ses modes de réalisation; La figure 2 est un schéma d'architecture générale du système de l'invention dans un de ses modes de réalisation; 25 La figure 3 est un organigramme général des traitements pour mettre en oeuvre l'invention dans un de ses modes de réalisation ; La figure 4 illustre une des étapes d'une modalité de prétraitement dans un des modes de réalisation de l'invention; La figure 5 illustre un exemple de critère de mise en oeuvre d'un 30 traitement de comparaison de signaux représentatifs de gestes par application d'un algorithme DTW ; - La figure 6 illustre le taux de reconnaissance d'un système de reconnaissance de gestes de l'invention selon une première variante de critère de décision ; Les figures 7A et 7B illustrent respectivement le taux de reconnaissance et le taux de faux positifs d'un système de reconnaissance de gestes de l'invention selon une deuxième variante de critère de décision ; - Les figures 8A et 8B illustrent respectivement le taux de reconnaissance et le taux de faux positifs d'un système de reconnaissance de gestes de l'invention selon une troisième et une quatrième variante de critère de décision. io La figure 1 représente un exemple de scénario d'utilisation de l'invention dans un de ses modes de réalisation. Le système de l'invention porte sur le domaine de la captation et de la reconnaissance de gestes. Ce domaine concerne notamment le grand public pour des applications d'interaction homme machine ou basées sur la is reconnaissance de gestes (par exemple, système multimédia, consoles de jeu interactives, télécommande universelle des appareils électriques et/ou électroniques de toute sorte dans une maison, utilisation d'un téléphone mobile comme télécommande, commande d'instruments de musique...). II peut également concerner des applications professionnelles ou semi 20 professionnelles, telles que la reconnaissance d'écriture ou la simulation d'entraînement pour le sport, le pilotage ou d'autres activités. Le système de l'invention utilise préférentiellement des capteurs sensibles au mouvement embarqués soit directement sur une personne (à un de ses poignets ou aux deux, à une de ses chevilles ou aux deux, à son torse, 25 etc...) soit dans un dispositif mû par le geste de la personne (souris 3D, télécommande, téléphone, jouet, montre, accessoires, vêtements, ...). La description de l'invention mentionne principalement des capteurs de type MEMS (gyromètres et/ou accéléromètres) et des magnétomètres, mais les principes de l'invention peuvent se généraliser pour d'autres mesures 30 sensibles aux mouvements tells que les captures d'images éventuellement dans l'infrarouge, les mesure de force ou de pression, les mesures effectuées par des cellules photoélectriques, les mesures télémétriques, les mesures par radar ou LIDAR...Une des conditions d'application de l'invention est cependant que les capteurs utilisés permettent de fournir des signaux 35 suffisamment représentatifs des gestes à capturer, en particulier du nombre de degrés de libertés qu'il est nécessaire de prendre en compte pour les reconnaître. On verra plus loin dans la description qu'une redondance de capteurs permet avantageusement d'augmenter de manière significative la performance de reconnaissance par une combinaison pertinente des s mesures des différentes sources. A titre d'exemple, on voit sur la figure 1, un geste 110 représentatif d'un « 8 » réalisé par une entité 120, en l'occurrence une main. Cette entité est instrumentée avec un dispositif sensible aux mouvements 130. Le « 8 » peut par exemple être le numéro d'une chaîne de télévision ou le numéro d'un jeu 10 sur une console. Des objets peuvent ainsi être commandés en étant appelés par un ou plusieurs lettres ou chiffres qui représentent lesdits objets dans un code propre à l'application puis une des fonctions que lesdits objets peuvent exécuter peut être également appelée par un autre caractère alphanumérique d'un deuxième niveau dudit code. 15 Dans le domaine applicatif du multimédia sur ordinateur individuel ou sur console de salon, l'invention s'applique dans un produit associé à une souris 3D (tenue « en l'air ») ou à tout autre périphérique sensible permettant l'interaction, sous le contrôle d'un logiciel de pilotage. Il peut s'agir par exemple d'une AirMouseTM qui comprend deux capteurs de type gyromètre, 20 chacun à un axe de rotation. Les gyromètres utilisés sont de la marque Epson de référence XV3500. Leurs axes sont orthogonaux et délivrent les angles de tangage (yaw ou rotation autour de l'axe parallèle à l'axe horizontal d'un plan situé face à l'utilisateur de la AirMouse) et de lacet (pitch ou rotation autour d'un axe parallèle à l'axe vertical d'un plan situé face à 25 l'utilisateur de la AirMouse). Les vitesses instantanées de pitch et de yaw mesurées par les deux axes gyromètres sont transmises à un microcontrôleur embarqué dans le boîtier de la souris et converties par ledit microcontrôleur en en déplacement. Ces données, représentatives du mouvement d'un curseur dans un écran situé face à l'utilisateur, sont 30 transmises par radiofréquence à un ordinateur ou à l'appareil qui gère l'affichage du curseur en mouvement à l'écran. Les gestes effectués par la main qui tient la AirMouse prennent une signification d'actuation dès lors qu'ils sont reconnus par le système. Par exemple, on effectuera une croix (ou un signe « alpha ») pour supprimer un item sur lequel le système focalise 35 (l'item « actif » en langage informatique). Dans un autre domaine applicatif tel que le sport, on pourra reconnaître et compter certains gestes techniques comme le coup droit ou le revers du tennis, à des fins d'analyses statistiques de match par exemple. On pourra également étudier le profil d'un geste réalisé par rapport à un geste s technique idéal ou modèle et analyser les écarts, (notamment la phase du geste où le geste réalisé s'éloigne du modèle), de manière à cibler où se trouve le défaut dans le geste (une saccade au moment de la frappe de balle par exemple). Dans ces cas d'applications, le sportif portera à des emplacements judicieusement choisis des capteurs du type du MotionPodTM 10 Un MotionPod comporte un accéléromètre tri axe, un magnétomètre tri axe, une capacité de prétraitement permettant de préformer des signaux à partir des capteurs, un module de transmission radiofréquence des dits signaux au module de traitement lui-même et une batterie. Ce capteur de mouvement est dit « 3A3M » (trois axes d'accéléromètre et trois axes de magnétomètre). 15 Les accéléromètres et magnétomètres sont des micro capteurs du commerce de faible encombrement, de faible consommation et à bas coût, par exemple un accéléromètre trois voies de la société KionixTM (KXPA4 3628) et des magnétomètres d'HoneyWellTM de type HMC1041Z (1 voie verticale) et HMC1042L pour les 2 voies horizontales. D'autres fournisseurs 20 existent : MemsicTM ou Asahi KaseiTM pour les magnétomètres et STMTM FreescaleTM, Analog DeviceTM pour les accéléromètres, pour ne citer que ceux là. Dans le MotionPod, pour les 6 voies signal, il n'y a qu'un filtrage analogique et ensuite, après conversion analogique numérique (12 bits), les signaux bruts sont transmis par un protocole radiofréquence dans la bande 25 BluetoothTM (2,4GHz) optimisé pour la consommation dans ce type d'applications. Les données arrivent donc brutes à un contrôleur qui peut recevoir les données d'un ensemble de capteurs. Elles sont lues par le contrôleur et mises à disposition des logiciels. La cadence d'échantillonnage est réglable. Par défaut, elle est fixée à 200 Hz. Des valeurs plus élevées 30 (jusqu'à 3000 Hz, voire plus) peuvent néanmoins être envisagées, permettant une plus grande précision dans la détection de chocs par exemple. Un accéléromètre du type ci-dessus est sensible aux déplacements longitudinaux selon ses trois axes aux déplacements angulaires (sauf autour 35 de la direction du champ de gravitation terrestre) et aux orientations par rapport à un référentiel cartésien en trois dimensions. Un ensemble de magnétomètres du type ci-dessus permet de mesurer l'orientation du capteur auquel il est fixé par rapport au champ magnétique terrestre et donc des orientations par rapport aux trois axes du référentiel (sauf autour de la direction du champ magnétique terrestre). La combinaison 3A3M fournit des informations de mouvement complémentaires et lissées. Le même type de configuration est utilisable dans un autre domaine applicatif, celui du jeu vidéo. Dans ce cas, les gestes permettent une immersion plus importante et bien souvent demandent à être reconnus au io plus tôt. Par exemple, on reconnaîtra un crochet du droit en boxe avant même la fin du geste ; le jeu déclenchera rapidement l'action à entreprendre dans le monde virtuel. Une version du MotionPodTM embarque également deux composants à micro gyromètre (2 axes de rotation dans le plan du circuit et 1 axe de rotation ls orthogonal au plan du circuit). L'adjonction de ce type de capteur est riche. Elle permet des prétraitements typiques des centrales inertielles (IMU en anglais pour Inertial Measurement Unit), traitements qui permettent de fournir une mesure d'angle dynamique. La combinaison 3A3M3G (G pour Gyromètre) fournit des informations de mouvement complémentaires et 20 lissées, même pour des mouvements rapides ou en présence de métaux ferreux perturbateurs du champ magnétique. Pour ce type d'implémentation, un prétraitement avantageux consiste à résoudre l'orientation du capteur pour estimer l'accélération de mouvement et remonter à la position par double intégration. Cette position représente la trajectoire du geste, donnée 25 plus facile à classifier. Dans l'univers du téléphone mobile, les gestes sont relativement plus simples pour faciliter l'usage ; il s'agit de tapoter sur la mécanique du téléphone et de reconnaître ces signatures, ou bien d'effectuer des 30 translations dans toutes les directions ou encore de reconnaître le geste du décroché ou du raccroché. Néanmoins, si le téléphone mobile embarque ce type de capteurs capables de gérer le pointage, la description des modes d'utilisation rejoint celle du domaine applicatif du multimédia (voir plus haut) où le téléphone mobile est utilisé en lieu et place des télécommandes ou des 35 souris. On voit donc que la gamme d'applications possibles pour le système de l'invention est très large. Différents capteurs peuvent être utilisés. L'invention permet d'adapter les traitements aux capteurs utilisés et aux scénarios d'emploi, en tenant compte de la précision de la reconnaissance souhaitée. s La figure 2 est un schéma d'architecture générale du système de l'invention dans un de ses modes de réalisation. Un système de reconnaissance de gestes selon l'invention comprend : - un module 210 de capture de signaux générés par des mouvements 10 d'une entité portant des capteurs ; un module 220 de stockage de signaux préalablement capturés organisés en classes de gestes ; - un module 230 de comparaison d'au moins une partie des signaux capturés sur une plage temporelle avec lesdites classes de signaux 15 stockés ; un module 240 de prétraitement d'au moins une partie desdits signaux capturés sur une plage temporelle. Nous avons donné ci-dessus en commentaire à la figure 1 des exemples de modes de réalisation relatifs au module 210, qui comprend généralement au 20 moins un dispositif sensible 130. Avantageusement, les dispositifs sensibles 130 sont de type 3A3G (accéléromètre 3 axes et gyromètre 3 axes) ou de type 3A3M (accéléromètre 3 axes et magnétomètre 3 axes) ou 3A3G3M (accéléromètre 3 axes, gyromètre 3 axes et magnétomètre 3 axes). Les signaux seront en général transmis à un contrôleur par radio (liaison Wi-Fi ou 25 Bluetooth avec utilisation éventuelle d'une couche spécifique de protocole applicatif optimisée pour la transmission de signaux capturés par des capteurs de mouvement). Les modules 220 et 230 sont caractéristiques de la classe d'applications de reconnaissance par classification à laquelle l'invention se rattache. En effet, 30 comme la reconnaissance de parole ou d'écriture, la reconnaissance de gestes tire avantage d'un apprentissage qui permet de créer des classes de formes de signaux représentatifs d'un geste donné. Plus le domaine d'application est large et plus le nombre d'utilisateurs dont les gestes sont à reconnaître est élevé, plus la classification apporte d'avantages en termes de 35 qualité de la reconnaissance. On va pouvoir détecter l'occurrence d'un geste 120 exécuté par l'entité 110 parmi une base de gestes préalablement déterminés. On appelle dictionnaire de gestes, ou module de stockage 220, cette base de gestes de référence préalablement déterminée. L'action d'introduire un nouveau geste dans le dictionnaire 220 est appelée « enrichissement ». L'action de reconnaître si un geste exécuté figure dans le dictionnaire 220 ou pas est appelée « reconnaissance » Si le geste est présent ou « rejet » Si le geste est absent. Les capteurs embarqués mesurent une signature représentative du geste effectué. Le problème technique général qui est posé est un problème de reconnaissance (ou de classification): il s'agit d'associer cette information de mesure reçue par le système à la classe à laquelle appartient le geste effectué. Une classe peut comporter une ou plusieurs réalisations du geste à apprendre. Les réalisations dans une même classe peuvent varier selon le contexte ou l'utilisateur. Lorsqu'on veut réaliser un système chargé de classifier, plusieurs problèmes techniques spécifiques peuvent se poser : - La pertinence des données en entrée qui, pour être améliorée, peut éventuellement nécessiter des prétraitements ; - La vitesse d'exécution du geste qui varie à chaque réalisation. - La robustesse de la reconnaissance qui permet de s'assurer qu'un geste appartenant au dictionnaire de gestes est bien reconnu et affecté à la bonne classe (probabilité de non détection faible ou taux de reconnaissance élevé) et d'écarter les gestes qui ne font pas partie de la base apprise (probabilité de fausse alarme) et de minimiser le nombre de gestes affectés à une mauvaise classe (taux de faux positifs faible); - Le temps de réponse du système et le coût de calcul ; - Le nombre de gestes à reconnaître et le nombre de réalisations de ces gestes à prévoir pour l'enrichissement ; - La robustesse pour traiter plusieurs utilisateurs ; - La faculté de gérer les variantes d'un même geste (ex : un geste de faible amplitude et le même geste ayant une grande amplitude, ou un geste effectué dans un sens particulier et le même geste effectué dans un sens différent) ; La faculté de gérer la reconnaissance du geste au fil de l'eau sans avoir besoin d'indiquer les instants de démarrage et/ou de fin du geste. La problématique de reconnaissance d'une forme qui se réalise selon une s durée inconnue a priori est étudiée depuis les débuts de la reconnaissance de la parole où l'on souhaitait reconnaître des phonèmes et des mots prononcés [voir « Automatic speaker verification: A review » (A E Rosenberg, 1976) et « Fundamentals of Speech Recognition » (B-H Juang, 1993)]. La reconnaissance de geste hérite du problème identique : un même geste peut 10 être réalisé à des vitesses et des amplitudes différentes. Les solutions de traitement se sont appuyées sur des méthodes permettant d'étirer et de dilater les signaux dans le temps afin de les faire coïncider au maximum avec la forme apprise. L'algorithme DTW fait partie de cette classe de traitements et a été d'abord appliqué pour la reconnaissance de la parole 15 [voir « Performance tradeoffs in dynamic time warping algorithme for isolated word recognition » (C. Myers, L. Rabiner, A. Rosenberg, 1980)]. La possibilité de reconnaître des gestes détectés par des capteurs de type accéléromètres a également été étudiée dans les années 90 [voir « Dynamic Gesture Recognition Using Neural Networks; A Fundament for Advanced 20 Interaction Construction », (K. Boehm, W. Broll, M. Sokolewicz, 1994)]. La combinaison de gyromètres a également été étudiée un peu plus tardivement [voir notamment le brevet EP 0 666 544 B1, Gesture input method and apparatus, (publié en août 1995 et délivré en juillet 2002 à Canon) ; la demande internationale WO2003001340 A2, Gesture recognition system 25 and method. (publiée en janvier 2003 et abandonnée sans entrée en phase nationale) ; le rapport intitulé « Project EMMU : Emotional, Motional Measurement Unit » (CSIDC Seoul national Univ., Jun Keun Chang, 2003) ; la publication « Workshop on Sensing and Perception for Ubiquitous Computing », (part of UbiComp, 2001, September 2001) ainsi que le brevet 30 et la publication de Microsoft cités dans l'introduction à la présente description]. Le brevet Canon décrit un dispositif porté principalement par la main et comparant des signaux mesurés (différence entre capteurs) avec des signaux de référence (dictionnaire). Ce brevet ne divulgue ni moyens de comparaison particuliers ni moyens de prétraitement. Les publications et 35 brevets relatifs à la Xwand de Microsoft ont étudié l'adéquation de la méthode DTW pour établir la fonction de reconnaissance de gestes. Ils décrivent l'utilisation originelle de la XWand pour des environnements de perception en domotique (pointage d'objets en 3D). La XWand est une « baguette magique » électronique comportant des accéléromètres, des s magnétomètres, des gyromètres et des boutons de commande, un organe de transmission sans fil, une diode IR, un microcontrôleur. La publication Wilson explique que des méthodes comme DTW peuvent apporter des solutions à la reconnaissance des gestes. Les auteurs comparent les performances de trois algorithmes particuliers (LTW, DTW et HMM). Les 10 résultats indiquent que la méthode la plus efficace est la méthode HMM avec 90 % de reconnaissance, contre 72% pour DTW. L'objectif que se sont fixés les inventeurs est d'atteindre, pour des applications jeu/multimédia, 95% de probabilité de détection d'un geste et moins de 3% de taux de faux positifs. 15 On verra plus loin dans la description que ces objectifs ont été atteints, y compris avec plusieurs utilisateurs. En outre, un des avantages des méthodes utilisant un algorithme de type DTW, qui peut pour certaines applications les faire préférer aux méthodes de type HMM, est qu'elles sont « auto apprenantes », c'est-à-dire qu'il suffit, en 20 règle générale , d'enrichir le dictionnaire de gestes sans qu'il soit nécessaire de régler des pondérations. Selon les applications cependant, la mise en oeuvre des algorithmes de type DTW sera plus gourmande en puissance de calcul que la mise en oeuvre des algorithmes de type HMM. 25 Le fonctionnement précis selon l'invention des modules 220 et 230 sera détaillé plus loin dans la description. Le module 240 comprend des fonctions de prétraitement qui permettent de préparer les signaux capturés pour optimiser la reconnaissance, lesdites fonctions étant également décrites de manière détaillée dans la suite de la 30 description. La figure 3 est un organigramme général des traitements pour mettre en oeuvre l'invention dans un de ses modes de réalisation. Le système de reconnaissance de geste de l'invention peut alternativement 35 ou à la demande enrichir la base ou reconnaître/rejeter un geste. L'utilisateur doit préciser s'il travaille en mode enrichissement ou en mode reconnaissance. On peut également, pour certains gestes se situant à des frontières de classes voisines, envisager de fonctionner simultanément en mode reconnaissance et en mode enrichissement. Dans ce cas, on prévoira s avantageusement une interface accessible à un utilisateur qui ne soit pas un administrateur du système pour pouvoir donner facilement confirmation ou infirmation d'une affectation à une classe pendant le déroulement de l'exploitation opérationnelle du système. Dans le mode reconnaissance, RECO, la solution complète est une chaîne 10 de traitements composée de plusieurs blocs fonction : - Un module de prétraitement PRE, 240 agissant sur les signaux d'entrée. Ce module peut être configuré de manière identique pour toutes les classes ou être configuré de manière spécifique pour une ou plusieurs classes ; 15 - Un module de comparaison COMP, 230 des signaux d'entrée pré traités avec des signaux de référence ayant subi les mêmes prétraitements. Ce module fournit un indicateur représentant la similitude entre le signal représentatif du geste à reconnaître et les signaux représentatifs des gestes de référence ; 20 Ce module de comparaison comporte un bloc de FUSION qui permet de sélectionner la meilleure solution et/ou rejeter un geste qui ne fait pas partie du vocabulaire de gestes appris. La sélection peut s'opérer par exemple par calcul d'une fonction de sélection par optimisation d'un critère de choix ou par vote entre solutions calculées en sorties des différentes modalités de 25 capteurs disponibles. Dans le mode enrichissement ENRICH, le système de l'invention met en oeuvre une chaîne de traitements qui utilise différentes fonctions: - du module de prétraitement PRE, 240 sur le signal d'entrée à stocker ; 30 - du module de stockage MEM, 220 où sont stockés les signaux prétraités SIG(i) ainsi que un vecteur critère CRIT(i) associé à la classe, i étant le numéro de la classe ; il peut y avoir enrichissement de la référence stockée par une classe nouvelle ou enrichissement d'une classe existante par le nouveau signal. Pour initialiser la base d'exemples, il est nécessaire d'introduire un premier exemple d'un premier geste en mode manuel. On pourra passer en mode automatique ou semi-automatique à partir du moment où on disposera dans la base d'au moins un exemple de geste. Les critères initiaux de rejet ou s d'acceptation peuvent être fixés à une valeur judicieusement choisie, le mode enrichissement permettant un ajustement progressif de cette valeur. Le module de prétraitement 240 peut exécuter trois fonctions de préparation des signaux dans les deux modes de fonctionnement ENRICH et RECO. Chacune de ces fonctions de préparation peut être mise en oeuvre ou pas lo selon le contexte d'emploi du système. On peut envisager que l'une d'entre elles soit activée ou désactivée de manière automatique dans certaines plages de fonctionnement: une fonction d'élimination des parties des signaux non utiles ou de découpage du signal utile (les performances sont avantageusement 15 accrues en ôtant les périodes d'inactivité avant et après le geste proprement dit) ; les périodes d'inactivité peuvent être identifiées en utilisant les variations du signal observé ; si ces variations sont suffisamment faibles pendant un temps suffisamment long on considère qu'il s'agit d'une période d'inactivité ; il s'agit en quelque 20 sorte d'un seuillage ; ce découpage peut être fait en ligne pour détecter le début et la fin d'un geste (s'il y a des pauses entre les gestes) ; ce seuillage se réalise sur une fenêtre glissante F : o Si : var(signal)F s moyenneur sur des segments, par exemple de 40 points, pour obtenir un signal final échantillonné dans ce cas à 5 Hz, qui est une fréquence particulièrement bien adaptée pour la dynamique des gestes humains ; le signal moyenné (centré sur 1 k=N la fenêtre) est exprimé par : S,,,(i)= ES,n(i+k) ; 2N+1 k=-N 10 o décimation régulière d'un signal spatial déduit du signal temporel, qui sera donc décimé de manière irrégulière, c'est-à-dire à une fréquence variable comme illustrée sur la figure 4 ; cette fonction réalise une simplification (SIMP) pour adapter les signaux au comportement d'un algorithme de stretching type 15 DTW ; cette simplification consiste à faire progresser une fenêtre le long de la « trajectoire » des signaux en entrée (par exemple une trajectoire dans un espace de dimension 3 si on a un accéléromètre à trois axes comme signal de mesure) ; tous les points contenus dans cette fenêtre réglable sont remplacés 20 par un seul, au barycentre (en temps et en valeur) des échantillons ; puis la fenêtre est déplacée le long de la trajectoire pour continuer de « dégraisser » la densité de points ; o ladite décimation étant suivie soit de l'envoi de la séquence de 25 points décimés à la fonction de classification du module de comparaison 230, soit de l'envoi d'une séquence représentative de la densité des signaux accompagné éventuellement de la séquence de points décimés (les points proches trouvés dans cette fenêtre glissante sur la trajectoire 30 génèrent un échantillon de la séquence de points décimés et le nombre de ces points est une mesure de la densité des signaux (voir figure 4) qui peut être discriminante pour le geste à reconnaître); - une fonction de normalisation du signal qui peut éventuellement être exécutée en sortie de la fonction de sous échantillonnage ; lorsqu'elle est mise en oeuvre, cette fonction consiste à centrer puis, optionnellement, réduire les signaux issus des capteurs d'accélération, c'est-à-dire que pour chaque signal, selon un mode de réalisation de l'invention, nous leur ôtons leur moyenne (calculée sur la longueur du signal complet représentatif du geste) et nous pouvons, éventuellement, diviser les signaux en sortie de cette première normalisation par leur écart type, pour réaliser une deuxième normalisation ; ces normalisations permettent alors d'homogénéiser des gestes identiques faits avec des dynamiques différentes, selon les formules suivantes : Outréduit (i) 18 k=N l=N 1 E Out(k)ù 1 EOut(l) Z N k_p N+1 l=p Le module de stockage MEM, 220 gère la base de références soit lors de l'ajout de gestes dans la base, soit lorsque l'on veut optimiser la base existante. En mode ENRICH ou enrichissement, lors de l'ajout d'un geste dans une classe existante i ou lors de la création d'une nouvelle classe par l'ajout d'un ou de plusieurs gestes représentatifs de cette nouvelle classe, nous mettons à jour le vecteur CRIT(i) qui contient notamment, pour chaque classe i: - une distance intra classe égale à la moyenne de toutes les distances 2 à 2 des gestes de ladite classe i ; - un ensemble de valeurs de distances interclasse, chaque valeur de distance entre la classe i et la classe j étant égale à la moyenne de toutes les distances entre un élément de la classe i et un élément de la classe j. Les distances intra classe et interclasse sont calculées comme indiqué plus loin dans la description pour le mode reconnaissance RECO. k=N Outcentré (i) = Out(l) ù Out(k) N + 1 k_~ outcentré (i) L'évolution de ces critères donne une information sur la qualité du nouveau geste ou de la nouvelle classe par rapport à la base de référence existante : si la distance intra classe croit trop en parallèle d'une diminution trop importante des distances interclasse, selon un mode de réalisation de l'invention, il est possible d'informer l'utilisateur de la dégradation de la base de références. Selon un mode de réalisation de l'invention, si l'on veut optimiser la base existante, dans les cas où il y a de nombreux signaux par classe, il est possible de réduire le nombre de ces signaux en choisissant des représentants optimaux : - soit nous calculons un ou des représentants « moyens » qui correspondent aux centres des classes ; la distance d'un nouvel exemple par rapport à l'exemple moyen de la classe i éventuellement divisé par la distance intra classe associée et contenue dans CRIT(i) donnera un indicateur pertinent de son appartenance à la classe i ; dans le cas où l'on calcule plusieurs représentants moyens, ceux-ci peuvent être avantageusement choisis pour représenter des différentes manières de réaliser un même geste, notamment dans le cas où le système est destiné à être utilisé par plusieurs utilisateurs. - soit nous calculons des représentants « frontières » qui définissent au mieux les frontières entre les classes. Un nouvel élément sera alors associé à la classe de la zone dans laquelle il se trouve. Cette méthode est adaptée lorsque la base d'exemples est très importante et que les frontières entre les classes sont complexes. Dans le mode de reconnaissance RECO, le module de comparaison 220 exécute les fonctions qui sont décrites ci-dessous. Une fonction de comparaison, COMP fournit un vecteur de coût entre le geste à classifier et les signaux de la base de référence. Les coûts sont issus d'une minimisation de distances entre 2 signaux déterminée par l'algorithme DTW, et fournissent l'erreur quadratique ou la distance, ou le coût entre les 2 signaux comparés, selon l'une de plusieurs formules classiques qui sont indiquées ci-dessous en commentaire à la figure 5. Ce coût peut être de plusieurs natures en fonction des capteurs dont nous disposons, des traitements du bloc FUSION qui sont effectivement utilisés en fonction du mode de réalisation de l'invention choisi, en fonction de l'application et des performances à privilégier (taux de reconnaissance / taux de faux positifs) : - si nous avons une seule modalité (accéléromètres à trois axes ou gyromètres à trois axes), nous pouvons calculer le coût entre le s signal tri axe à classifier et un des signaux de la base de référence : ce coût fait intervenir des distances euclidiennes de dimension 3, et permet ainsi de ne travailler que sur une matrice de distances, ce qui réduit avantageusement le temps de traitement (par comparaison au calcul d'un coût par voie de capteur, qui multiplie le nombre 10 d'opérations) ; si nous avons accès aux deux modalités, nous pouvons alors : o calculer le coût DTW du signal à 6 dimensions (vecteur contenant les informations des trois axes de l'accéléromètre concaténées aux informations des trois axes du gyromètre) ; 15 o calculer un coût fusionné : notre coût final est alors le produit des 2 coûts (un coût par modalité) : cette option permet de profiter avantageusement des caractéristiques complémentaires de chaque modalité de capture et de les combiner ; 20 o fournir au bloc FUSION le couple de coûts (coût de l'accéléromètre et coût du gyromètre) ; o calculer un coût favorisant une des modalités ; par exemple le chemin du DTW est calculé sur une des modalités (la plus pertinente), le coût de l'autre modalité étant calculé sur ce 25 chemin (pour renforcer ou non le coût de la première modalité) ; on peut alors comme précédemment, fournir le produit des coûts ou le couple des coûts. La combinaison d'une troisième (ou d'une quatrième...) modalité peut se 30 faire de la même manière : les techniques décrites ci-dessus se généralisent à plus de 2 modalités. Si on a N signaux fournis par M modalités (dans le cas de 3a3m3g cela fait 9 signaux pour 3 modalités) on peut : o calculer le coût DTW du signal à N dimensions ; o calculer un coût fusionné : notre coût final est alors le produit 35 des M coûts (un coût par modalité) : cette option permet de profiter avantageusement des caractéristiques complémentaires de chaque modalité de capture et de les combiner ; o fournir au bloc FUSION l'ensemble des M coûts ; o calculer un coût favorisant une des modalités ; par exemple le chemin du DTW est calculé sur une des modalités (la plus pertinente), le coût de l'autre modalité étant calculé sur ce chemin (pour renforcer ou non le coût de la première modalité) ; on peut alors comme précédemment, fournir le produit des coûts ou le couple des coûts. Un post-traitement facultatif consiste à normaliser les coûts obtenus en fonction des critères des classes. Il est défini de la façon suivante : pour le calcul du coût entre le geste à classifier et une classe i, nous définissons le coût relatif comme le rapport entre le coût absolu précédemment calculé et la distance intra classe de la classe i (disponible dans le vecteur CRIT(i)). Ainsi, ce coût tient compte des caractéristiques géométriques des classes (leur étalement, la répartition de leurs éléments). Pour s'affranchir de l'orientation du capteur par rapport au champ de référence (par rapport au nord pour les magnétomètres, par rapport à la verticale pour les accéléromètres si les accélérations propres sont faibles ou si elles ont la même orientation dans le repère global), on peut choisir une distance particulière qui correspond à la dérivée du produit scalaire des deux signaux à comparer. Une fonction FUSION ou classification fournit la décision de classification pour le geste testé. Notre algorithme de décision se base uniquement sur la classe du plus proche voisin détecté (le plus proche voisin étant celui qui fournit le coût le plus faible). Une variante est de choisir la classe des k plus proches voisins, si l'on dispose et stocke dans le module de stockage MEM plusieurs exemples de chaque classe, ce qui a un impact défavorable sur les temps de calcul du DTW. Plusieurs modes de réalisation sont possibles en fonction des variantes de configuration expliquées plus haut pour le bloc COMP: - Si nous avons des coûts scalaires (coût de l'accéléromètre seul, coût du gyromètre seul, ou coût fusionné), nous avons alors un plus proche voisin : o Soit nous décidons d'attribuer le geste testé à la classe du plus proche voisin quelle que soit la valeur du coût optimal, il n'y a alors pas de classe de rejet : ceci nous permet d'avoir un taux de reconnaissance maximal, mais un taux de fausse alarme complémentaire ; o Soit nous mettons en place un seuil de décision : au-delà de ce seuil, nous attribuons le geste à une classe de rejet, en deçà de ce seuil, le geste est attribué à la classe du plus proche voisin ; pour le réglage du seuil, il est alors judicieux d'utiliser les coûts relatifs expliqués précédemment, et nous pouvons optimiser cette valeur de seuil selon le compromis taux de 15 reconnaissance/taux de fausse alarme voulu. si nous avons des couples de coûts, nous avons une plus proche classe par coût et nous comparons alors les classes obtenues : si ce sont les mêmes classes, nous attribuons le geste à cette classe ; sinon nous plaçons le geste dans une classe de rejet ; 20 cette méthode permet d'obtenir une classe de rejet sans gestion de paramètres de seuil. La figure 4 illustre une des étapes d'une modalité de prétraitement dans un des modes de réalisation de l'invention. 25 Cet aspect du prétraitement, relatif au sous échantillonnage mettant en oeuvre une fonction de simplification SIMP, mis en oeuvre dans un mode de réalisation de l'invention, a déjà été commenté et expliqué dans un passage antérieur de la description. 30 La figure 5 illustre la mise en oeuvre d'un traitement de comparaison de signaux représentatifs de gestes par application d'un algorithme DTW. Les coûts ou distances entre échantillons de signaux sont calculés de la manière qui est expliquée ci-dessous. Soient deux suites temporelles S et T d'échantillons de signaux, S étant par 35 exemple un signal de mesure et T un signal de référence: 10 S = s1,s2,...,s ,...s T En fixant des conditions aux limites pour chaque échantillon (coïncidence des dates de début et des dates de fin), les séquences S et T peuvent être arrangées pour former une grille n par m dans laquelle chaque point de la grille (i, j) correspond à un couple (si, tt.). La grille est représentée sur la figure 5. On définit une fonction w sur le domaine de la grille pour transformer les échantillons du signal de mesure dans l'échelle de temps du signal de référence. Plusieurs fonctions w peuvent être définies. On trouvera des exemples notamment dans « Minimum Prediction Residual Principle Applied to Speech Recognition » - (Fumitada lkatura, IEEE Transactions on Acoustics, Speech and Signal Processing, Février 1975) et « Considerations in Dynamic Time Warping Algorithms for Discrete Word Recognition » - (L.R. Rabiner, A.E. Rosenberg, S. Levinson, IEEE Transactions on Acoustics, Speech and Signal Processing, Décembre 1978). On définit ainsi une troisième suite W : W = w(sl ), w(s2 ),..., W (sk),...W(s p ) Il s'agit de trouver le chemin constitué par les couples (w(s;), ti) qui maximise un indicateur de similarité ou minimise la distance entre les deux 20 échantillons. Pour formuler le problème de minimisation, on peut utiliser plusieurs formules de calcul de distance, soit une valeur absolue de l'écart entre les points des suites S et T, soit le carré de l'écart entre lesdits points. c(i, j) = s; ût . 25 Ou 8(i, j) _ (s; ù tj)2 Comme on le verra dans la suite de la description, on peut aussi définir d'autres mesures de distance. La formule à minimiser est dans tous les cas : P DTW (S, T) = min w 8(w(sk ), tk ) k=l Dans le contexte de l'invention, on appelle l'ensemble des valeurs 8(s;,t1) la 30 matrice des distances de l'algorithme DTW et l'ensemble des valeurs (w(sk),tk)correspondant au minimum DTW (S,T), le chemin de coût minimum parcourant la matrice des distances. La figure 6 illustre le taux de reconnaissance d'un système de reconnaissance de gestes de l'invention selon une première variante de critère de décision. Dans cet exemple de réalisation, la base de référence comprend des gestes s représentatifs de chiffres. On a 6 utilisateurs différents. On utilise comme indicateur de distance entre signaux le coût absolu défini plus haut dans la description. Les courbes représentent en ordonnée le taux de reconnaissance et en abscisse le nombre de mesures dans chaque classe. Les trois courbes représentent respectivement : 10 - courbe du bas : cas où seules les mesures du gyromètre sont utilisées ; - courbe du milieu : cas où seules les mesures de l'accéléromètre sont utilisées ; courbe du haut : cas où les mesures des deux capteurs sont 15 utilisées. La fusion des capteurs permet d'améliorer le taux de reconnaissance dans des proportions modestes. Les figures 7A et 7B illustrent respectivement le taux de reconnaissance et le 20 taux de faux positifs d'un système de reconnaissance de gestes de l'invention selon une deuxième variante de critère de décision. Dans cet exemple de réalisation, la base de référence comprend également des gestes représentatifs de chiffres et on a également 6 utilisateurs différents. On utilise cette fois-ci comme indicateur de distance entre signaux 25 le coût relatif défini plus haut dans la description. Les courbes des figures 7A et 7B représentent respectivement en ordonnée le taux de reconnaissance et le taux de faux positifs, et en abscisse le nombre de mesures dans chaque classe. Les différentes courbes sur chaque figure représentent des mesures avec des seuils de rejet (du bas vers le haut sur la figure 7A et du haut vers 30 le bas sur la courbe 7B) variant de 1,1 à 1,5 par pas de 0,1 (ie : si le coût relatif de l'instance par rapport à la classe est supérieur à K, l'instance n'appartient pas à la classe. Les écarts-types sont faibles et les performances sont similaires, ce qui montre que le système de reconnaissance a une bonne robustesse pour des utilisateurs différents. Les écarts entre les courbes pour différents seuils montrent que si l'on veut diminuer le nombre d'erreurs (figure 7B) il faut prendre un seuil faible. On aura par contre un taux de décision qui sera faible aussi (figure 7A). Ce réglage peut être intéressant dans un mode d'enrichissement : lorsqu'aucune décision ne peut être prise, on demande à l'utilisateur de rentrer le numéro de la classe manuellement pour enrichir la base. Il peut être aussi intéressant, lorsque l'on préfère ne pas réaliser l'action que de réaliser une action fausse (par exemple, si un geste sert à identifier la signature d'une personne, il vaut mieux le faire signer une nouvelle fois, que d'ouvrir l'application sans être sûr que c'est bien la bonne personne). Les figures 8A et 8B illustrent respectivement le taux de reconnaissance et le taux de faux positifs d'un système de reconnaissance de gestes de l'invention selon une troisième et une quatrième variante de critère de décision. Dans cet exemple de réalisation, la base de référence comprend également des gestes représentatifs de chiffres et on a également 6 utilisateurs différents. On utilise cette fois-ci d'une part une fusion des données de deux capteurs (courbe du haut sur la figure 8A et courbe du bas sur la figure 8B) et d'autre part un vote entre capteurs (courbe du bas sur la figure 8A et courbe du haut sur la figure 8B). On observe que le vote améliore le taux de faux positifs et dégrade le taux de reconnaissance, ce qui montre que le vote est plus « sévère » que la fusion, dans les conditions dans lesquelles ces deux modalités sont mises en oeuvre. Ces exemples illustrent l'intérêt de disposer de plusieurs modes de réalisation en fonction des scénarios d'emploi de l'invention et du type de performance privilégié. Ces différents modes de réalisation peuvent cohabiter dans un même système et être activés par paramétrage logiciel en fonction des besoins d'utilisation à un moment donné. L'invention peut être mise en oeuvre sans difficultés sur un ordinateur du commerce auquel sera connecté un module de capture de signaux de mouvements qui disposera normalement des moyens de conditionnement et de transmission desdits signaux à l'ordinateur. Le microprocesseur de l'unité centrale d'un PC de bureau suffit à mettre en oeuvre l'invention. Les logiciels mettant en oeuvre les algorithmes décrits plus haut peuvent être intégrés dans un logiciel applicatif comprenant par ailleurs : - les bibliothèques de contrôle des fonctions de bas niveau qui réalisent la capture, le conditionnement et la transmission des 10 signaux des capteurs de mouvement ; des modules de commande de fonctions (reconnaissance automatique de caractères, commande d'équipements électroniques, jeu d'instrument de musique, simulation d'entraînement sportif, jeu, etc... 15 Bien entendu le dimensionnement de l'unité centrale conditionnera dans une large mesure les performances du système. Il devra être choisi en fonction des performances attendues au niveau applicatif. En cas de contrainte de performance très élevée en temps de traitement, il peut être envisagé de 20 paralléliser les traitements selon des modalités connues de l'homme du métier. Les choix du processeur et du langage cibles dépendront en grande partie de cette exigence de performances ainsi que des contraintes de coût. On peut également envisager, pour un nombre de gestes limités à degré 25 d'ambiguïté faible que les algorithmes de reconnaissance soient embarqués dans l'entité portant les capteurs, tous les traitements étant réalisés en local. Les exemples décrits ci-dessus sont donnés à titre d'illustration de modes de réalisation de l'invention. Ils ne limitent en aucune manière le champ de 30 l'invention qui est défini par les revendications qui suivent. REVENDICATIONS1. Système de reconnaissance de gestes d'une entité comprenant un module (210) de capture de signaux générés par lesdits mouvements de ladite entité, un module (220) de stockage de données représentatives de signaux préalablement capturés organisés en classes de gestes, un module (230) de comparaison d'au moins une io partie des signaux capturés sur une plage temporelle avec lesdites classes de signaux stockés, ledit système étant caractérisé en ce qu'il comprend en outre un module (240) de prétraitement d'au moins une partie desdits signaux capturés sur une plage temporelle, ledit prétraitement comprenant au moins une des fonctions choisies dans le 15 groupe comprenant une élimination (2410) au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité, un sous échantillonnage (2420) des signaux capturés et une normalisation (2430) desdits signaux. 2. Système de reconnaissance de gestes selon la revendication 1, 20 caractérisé en ce que ledit module de capture de signaux générés par lesdits mouvements de ladite entité comprend au moins un capteur de mesures inertielles selon trois axes. 3. Système de reconnaissance de gestes selon l'une des revendications 1 ou 2, caractérisé en ce que ledit module (230) de comparaison des 25 signaux capturés sur une plage temporelle effectue ladite comparaison en exécutant un algorithme de déformation temporelle dynamique. 4. Système de reconnaissance de gestes selon la revendication 3, caractérisé en ce que ledit module de stockage comprend, pour chaque classe de signaux, un vecteur de données représentatif d'au 30 moins une mesure de distance des signaux appartenant à chaque classe. 5. Système de reconnaissance de gestes selon la revendication 4, caractérisé en ce que le vecteur de données représentatif d'au moins une mesure de distance des signaux appartenant à chaque classe 35 comprend, pour chaque classe de signaux stockés, au moins unemesure de distance intra classe et des mesures de distances entre ladite classe et chacune des autres classes stockées. 6. Système de reconnaissance de gestes selon la revendication 5, caractérisé en ce que la mesure de distance intra classe est égale à la s moyenne des distances deux à deux entre signaux de la classe, chaque distance entre signaux représentatifs de gestes appartenant à la classe étant calculée comme le minimum de l'écart quadratique entre suites d'échantillons des signaux sur des chemins de déformation de type DTW. io 7. Système de reconnaissance de gestes selon la revendication 5, caractérisé en ce que la mesure de distance interclasses est égale à la moyenne des distances deux à deux entre signaux des deux classes, chaque distance entre signaux représentatifs de gestes appartenant à une classe étant calculée comme le minimum de l'écart quadratique 15 entre suites d'échantillons des signaux sur des chemins de déformation de type DTW. 8. Système de reconnaissance de gestes selon la revendication 3, caractérisé en ce que ledit algorithme de déformation temporelle dynamique utilise un critère de reconnaissance du geste représenté 20 par lesdits signaux capturés sur une plage temporelle basé sur une mesure de distance desdits signaux capturés sur une plage temporelle avec le vecteur représentatif des classes de signaux de référence stockés dans ledit module de stockage. 9. Système de reconnaissance de gestes selon la revendication 8, 25 caractérisé en ce que ladite mesure de distance est normalisée par une mesure de distance intra classe. 10. Système de reconnaissance de gestes selon l'une des revendications 8 ou 9, caractérisé en ce que ladite mesure de distance est effectuée par calcul par un algorithme de type DTW d'un indice de similarité 30 entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice des distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes du au moins un capteur sur le signal à classer et le vecteur de mêmes composantes sur le signal de référence.. 11. Système de reconnaissance de gestes selon l'une des revendications 8 ou 9, caractérisé en ce que ladite mesure de distance est effectuée par calcul par un algorithme de type DTW d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice dont les éléments sont les dérivées du produit scalaire du vecteur de mesure et du vecteur de référence. 12. Système de reconnaissance de gestes selon l'une des revendications 8 ou 9, caractérisé en ce que ledit module de capture desdits signaux io comprend au moins deux capteurs. 13. Système de reconnaissance de gestes selon la revendication 12, caractérisé en ce qu'il comprend en outre un module de fusion des données issues du module de comparaison pour les au moins deux capteurs. 15 14. Système de reconnaissance de gestes selon la revendication 13, caractérisé en ce que le module de fusion entre les données issues du module de comparaison pour les au moins deux capteurs est apte à exécuter une fonction de vote entre lesdites données issues du module de comparaison pour les au moins deux capteurs. 20 15. Système de reconnaissance de gestes selon la revendication 13, caractérisé en ce que ladite mesure de distance est effectuée par une des opérations appartenant au groupe comprenant : i) un calcul par un algorithme de type DTW d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût 25 minimum parcourant une matrice des distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes des au moins deux capteurs sur le signal à classer et le vecteur de mêmes composantes sur le signal de référence, ledit indice de similarité constituant la mesure de distance ; ii) un calcul par un algorithme de 30 type DTW, pour chaque capteur, d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice des distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes d'un des au moins deux capteurs sur le signal à classer et le vecteur de 35 même composantes sur le signal de référence, puis un calcul de lamesure de distance par multiplication des indices de similarité fournis en sortie des calculs sur tous les capteurs. 16. Système de reconnaissance de gestes selon la revendication 13, caractérisé en ce que ladite mesure de distance est effectuée par un s calcul, pour chaque capteur, d'un indice de similarité entre le au moins un signal de mesure et les signaux de référence sur le chemin de coût minimum parcourant une matrice dont les éléments sont les dérivées du produit scalaire du vecteur de mesure et du vecteur de référence, puis un calcul de la mesure de distance par une multiplicaton des io indices de similarité fournis en sortie des calculs sur tous les capteurs. 17. Système de reconnaissance de gestes selon la revendication 13, caractérisé en ce que ladite mesure de distance est effectuée par un calcul par un algorithme DTW, pour chaque capteur, d'un indice de similarité entre le au moins un signal de mesure et les signaux de 15 référence sur le chemin de coût minimum parcourant une matrice constituée soit par les distances euclidiennes entre le vecteur dont les composantes sont les mesures des axes d'un des au moins deux capteurs sur le signal à classer et le vecteur de même composantes sur le signal de référence, soit par les dérivées du produit scalaire du 20 vecteur de mesure et du vecteur de référence, puis un calcul de la mesure de distance par multiplication des indices de similarité fournis en sortie des calculs sur tous les capteurs. 18. Système de reconnaissance de gestes selon l'une des revendications 1 à 17, caractérisé en ce que le module de prétraitement exécute une 25 fonction d'élimination au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité en filtrant les variations des signaux inférieures à un seuil choisi sur une fenêtre temporelle également choisie. 19. Système de reconnaissance de gestes selon l'une des revendications 30 1 à 17, caractérisé en ce que le module de prétraitement exécute une fonction de sous échantillonnage des signaux capturés en réalisant une décimation à un rapport de réduction choisi des signaux capturés puis une moyenne des signaux réduits sur une fenêtre temporelle ou spatiale glissante adaptée au rapport de réduction. 20. Système de reconnaissance de gestes selon la revendication 19, caractérisé en ce que des données représentatives de la décimation sont stockées par le module de stockage et transmises en entrée du module de comparaison. 21. Système de reconnaissance de gestes selon l'une des revendications 1 à 17, caractérisé en ce que le module de prétraitement exécute une fonction de normalisation des signaux capturés par centrage sur leur valeur moyenne. 22. Système de reconnaissance de gestes selon la revendication 21, io caractérisé en ce que la fonction de normalisation réalise en outre une réduction des signaux capturés centrés par division par l'écart type desdits signaux capturés. 23. Système de reconnaissance de gestes selon l'une des revendications 1 à 17, caractérisé en ce que le module de prétraitement exécute 15 successivement une fonction d'élimination au sein desdits signaux capturés de ceux correspondant à des périodes d'inactivité, une fonction de sous échantillonnage des signaux capturés et une fonction de normalisation des signaux capturés. 24. Système de reconnaissance de gestes selon l'une des revendications 20 1 à 23, caractérisé en ce que une partie au moins des signaux capturés et des sorties du module de comparaison (220) est apte à être fournie en entrées du module de stockage (230) pour y être traitée, les résultats desdits traitements étant pris en compte par les traitements en cours du module de comparaison. 25 25. Procédé de reconnaissance de gestes d'une entité comprenant une étape de capture de signaux générés par lesdits mouvements de ladite entité selon au moins trois degrés de liberté, une étape de comparaison d'au moins une partie des signaux capturés sur une plage temporelle avec des classes de signaux stockés au préalable 30 représentatifs de gestes d'entités, ledit procédé étant caractérisé en ce qu'il comprend en outre une étape de prétraitement, préalable à l'étape de comparaison, d'au moins une partie desdits signaux capturés sur une plage temporelle, ledit prétraitement comprenant au moins une des fonctions choisies dans le groupe comprenant une élimination au 35 sein desdits signaux capturés de ceux correspondant à des périodesd'inactivité, un sous échantillonnage des signaux capturés et une normalisation desdits signaux.