Brevet FR2935822A1 — publié le 20100312

PROCEDE DE RECONNAISSANCE DE FORMES ET SYSTEME METTANT EN OEUVRE LE PROCEDE L'invention concerne un procédé de reconnaissance de formes et un système mettant en oeuvre le procédé. Elle s'applique notamment aux domaines de la reconnaissance de signaux sismiques, biomédicaux et de la reconnaissance de mouvements ou de gestes, par exemple la reconnaissance d'écriture manuscrite. Un système de reconnaissance de formes comporte traditionnellement deux modules de traitement principaux. La nature des entrées du système peut être très diverse : données représentées sous forme de vecteurs, signaux temporels, images, vidéos. Il peut s'agir de données issues directement de capteurs ou ayant déjà subi des traitements, comme un filtrage ou une fusion de données par exemple. Le premier module réalise un prétraitement et code les entrées du système. Le but recherché est de présenter l'information contenue dans les entrées de la manière la plus explicite possible. Le second module de traitement réalise la reconnaissance proprement dite en utilisant le code généré par le premier module. Cette opération, appelée également discrimination, est facilitée lorsque le prétraitement est efficace, c'est-à-dire que le codage réalisé est le plus informatif possible. Le choix de la méthode de prétraitement est donc capital pour optimiser un système de reconnaissance. Les méthodes de prétraitement habituellement utilisées dans un tel système dépendent du type d'entrée à traiter. Dans le cas de systèmes de reconnaissance traitant des données, l'entrée du module de prétraitement consiste en un vecteur. Ce vecteur peut être décomposé linéairement en une série de composantes. Pour un vecteur s donné, en disposant d'une base de N composantes cp, de même dimension que s, la décomposition linéaire mène à l'équation de décomposition exprimée ci-dessous : N s=la;cp; (1) =1 Les variables a sont associées aux composantes (p; et sont le résultat de la décomposition. Les composantes (pi sont habituellement orthonormées, ce qui simplifie considérablement le calcul des c en le restreignant à un produit scalaire. Il est par ailleurs usuel que la base ne génère pas l'ensemble de l'espace. C'est le cas si N est inférieur à la dimension des données. Dans ce cas, une erreur de reconstruction e est ajoutée à l'équation (1) : N s=Ea;cp +e (2) =1 Les méthodes classiques de décomposition de données comme par exemples l'analyse en composante principales (ACP), l'analyse en composantes indépendantes (ACI) ou l'analyse discriminative linéaire (LDA), déterminent les composantes (pi à utiliser par apprentissage en utilisant des bases de données de vecteurs d'entrée. Un inconvénient de ces méthodes limitant leur efficacité est qu'elles n'ont aucun sens physique propre au phénomène traité. Dans le cas de systèmes de reconnaissance traitant des signaux, le signal source s(t) à traiter peut être exprimé comme une combinaison linéaire d'atomes. Si le signal échantillonné à traiter s(t) est monodimensionnel et de longueur T, celui-ci est décomposé en utilisant une base composée de N atomes (t) de longueur T. Le signal peut alors s'écrire : s(t)=ae (t) (3) Le résultat de la décomposition est la valeur de l'ensemble des variables a associées aux atomes qp;(t). En prenant l'exemple d'une décomposition par transformée de Fourier, les atomes sont des fonctions exponentielles complexes ou bien des fonctions sinus et cosinus. Un atome correspond alors à un signal monofréquentiel pur et ces fonctions sont indicées par fréquence. La base de décomposition peut être également générée à partir de signaux plus courts, nommés noyaux, auxquels on fait subir diverses transformations pour générer tous les atomes. Ce principe est utilisé, par exemple, par la transformée en ondelette : les atomes sont construits à partir d'un seul noyau appelé ondelette mère. Ce noyau subit d'une part un changement d'échelle et d'autre part un décalage temporel. Ces opérations menées sur le même noyau mènent à une base de plusieurs atomes utilisés pour la décomposition du signal. Chaque atome est alors associé à une échelle et à une valeur de retard. Les algorithmes usuels réalisant la décomposition de signaux ont souvent un sens principalement mathématique ou un sens physique très générique comme la présence d'une fréquence dans le cas de l'utilisation de la transformée de Fourier. Dans la grande majorité des cas, l'information pertinente après prétraitement reste présentée de manière distribuée. Une conséquence est que le codage réalisé est alors peu parcimonieux. L'algorithme utilisé pour la phase de reconnaissance aura un travail important à réaliser de part la faible efficacité du prétraitement. L'expérience dans des domaines très étudiés, comme le traitement de la parole, montre à quel point la spécialisation du prétraitement au problème considéré améliore les performances. Les travaux de E.C. Smith et M.S. Lewicki présentés dans les articles Efficient coding of time-relative structure using spikes, Neural Computation, vol. 17, p. 19-45, 2005 et Efficient auditory coding, Nature, vol. 439, n° 23, p. 978-982, 2006, traitent le cas du traitement de la parole. Plutôt que d'utiliser une base de noyaux définie à priori, la solution propose de déterminer les noyaux pertinents pour le codage par un mécanisme d'apprentissage. L'apprentissage des noyaux s'appuie sur une base d'apprentissage contenant des signaux propres à la source, tels que des sons d'ambiance, des vocalisations animales ou humaines ou un mélange des deux. Suite à cette phase d'apprentissage, les sons peuvent être décomposés en éléments acoustiques discrets caractéristiques de la structure des signaux et optimaux pour son codage. Les noyaux obtenus sont différents suivant le type de signaux composant la base d'apprentissage. Pour le cas de signaux d'apprentissage composés de sons d'ambiance et des vocalisations, les noyaux trouvés correspondent aux réponses impulsionnelles des filtres de la cochlée chez les mammifères. Le codage produit est plus performant que les codages classiques comme ceux réalisés par transformées de Fourier ou en ondelettes au sens où il produit un code parcimonieux, dit aussi "code creux". Certaines méthodes existantes de prétraitement permettent de sélectionner un sous ensemble de noyaux dans une base de noyaux de manière à ce que le codage s'adapte, par exemple, à la nature instantanée du signal. Mais dans ce cas, la base de noyaux est définie à priori et les noyaux ne sont pas adaptés à la réalité physique du signal. L'algorithme de codage proposé par E.C. Smith et M.S. Lewicki permet d'adapter les noyaux à la source mais n'est pas appliqué au domaine de la reconnaissance de formes et n'est pas optimisé pour le traitement de signaux ou de données représentés sur plusieurs dimensions. Des applications de reconnaissance de forme comme par exemple l'analyse de signaux sismiques et la reconnaissance d'écriture ou plus généralement la reconnaissance de mouvement nécessitent un traitement multidimensionnel. C'est également le cas, par exemple, pour des applications médicales comme l'électrocardiogramme ECG, l'électroencéphalogramme EEG ou le magnétoencéphalogramme MEG. Un but de l'invention est notamment de palier les inconvénients précités. A cet effet l'invention a pour objet un procédé de reconnaissance de formes comportant au moins un mécanisme de prétraitement décomposant un signal source en composantes élémentaires appelées atomes et un mécanisme de reconnaissance se basant sur le résultat de la décomposition réalisée par le mécanisme de prétraitement, ledit procédé étant caractérisé en ce que le mécanisme de prétraitement comporte au moins : une phase d'apprentissage aboutissant à un ensemble de signaux appelés noyaux, lesdits noyaux étant adaptés de manière à minimiser 35 une fonction de coût représentant la capacité des noyaux à bien reconstruire les signaux de la base de données tout en garantissant une décomposition parcimonieuse du signal source et ce en utilisant une base de données de signaux représentatifs de la source à traiter ; une phase de codage permettant de décomposer le signal source en atomes, lesdits atomes étant générés par décalages des noyaux suivant leurs index, chacun desdits atomes étant associé à un coefficient de décomposition. Le signal source est, par exemple, multidimensionnel. Les dimensions du signal source peuvent être traitées indépendamment par le mécanisme de prétraitement ou bien plusieurs des dimensions du signal source peuvent être traitées conjointement par le mécanisme de prétraitement. Pendant la phase d'apprentissage, les noyaux sont adaptés, par exemple, en minimisant la fonction de coût sur la base de données de signaux représentatifs de la source à traiter grâce à une méthode de descente de gradient stochastique. Pendant la phase d'apprentissage, les noyaux peuvent être adaptés en minimisant la fonction de coût sur la base de données de signaux représentatifs de la source à traiter grâce à l'algorithme de Levenberg-Marquart, ledit algorithme étant appliqué suite au calcul d'un Hessien moyen pour chacun desdits noyaux. Pendant la phase d'apprentissage, les noyaux peuvent être adaptés en minimisant la fonction de coût sur la base de données de signaux représentatifs de la source à traiter grâce à la méthode de descente de gradient par propagation résistante. Les formes à reconnaître permettent, par exemple, d'identifier des anomalies cardiaques. Les formes à reconnaître sont, par exemple, représentatives de mouvements ou de gestes. Les formes à reconnaître représentatives de mouvements ou de 30 gestes sont, par exemple, des caractères ou des suites de caractères d'écriture manuscrite. Les formes à reconnaître permettent, par exemple, d'identifier un type d'activité cérébrale consciente. Les formes à reconnaître permettent, par exemple, d'identifier la présence de molécules ou de groupes de molécules dans un échantillon étudié par spectrométrie de masse. Durant la phase de codage, l'étape de recherche de meilleurs atomes utilisés pour la décomposition de la portion de signal en cours de traitement applique, par exemple, une rotation sur les noyaux, chaque atome retenu pour la décomposition étant ainsi composé d'un noyau, d'un index de décalage et d'un facteur de rotation, lesdits atomes retenus étant associés à un coefficient de décomposition. Durant la phase de codage, le facteur de rotation des noyaux est, par exemple, un matrice carrée représentant la rotation appliquée à chaque noyau sélectionné, les éléments de ladite matrice étant déterminés durant la phase de codage du procédé en prenant plusieurs hypothèses de rotation pour chaque noyau et chaque instant dans le but de sélectionner la meilleure hypothèse de rotation. Le procédé traite, par exemple, un signal source à deux dimensions et ledit signal ainsi que les noyaux de la transformée sont représentés par des nombres complexes, la partie réelle de ces nombres complexes correspondant à la première dimension et la partie imaginaire correspondant à la seconde dimension. Les coefficients de décompositions sont alors complexes de manière à ce que leur phase représente le facteur de rotation et permettent d'appliquer un angle de rotation aux noyaux. Le procédé traite, par exemple, des signaux à trois dimensions et lesdits signaux ainsi que les noyaux de la transformée sont représentés par des quaternions. Les coefficients de décompositions sont alors des quaternions et permettent d'appliquer une rotation 3D aux noyaux. La phase de codage met en oeuvre, par exemple, une méthode de poursuite de base. La phase de codage met en oeuvre, par exemple, une méthode de 3o poursuite adaptative. La méthode de poursuite adaptative pouvant être utilisée durant la phase de codage est, par exemple, de type orthogonale, les coefficients de décomposition étant mis à jour après chaque sélection d'un nouvel atome en projetant le signal à traiter sur la base composée des atomes déjà retenus. La phase de codage pour un signal en cours de traitement se termine, par exemple, lorsque le nombre d'atome sélectionné atteint une valeur maximum. La phase de codage pour un signal en cours de traitement se termine, par exemple, lorsqu'une valeur relative minimum choisie du dernier coefficient de décomposition par rapport à la plus grande valeur des autres coefficients précédemment calculés n'est plus assurée. La phase de codage pour une portion de signal en cours de traitement se termine, par exemple, lorsque l'énergie du résidu de la décomposition ~o passe en dessous d'une valeur seuil choisie à partir de laquelle le codage est considéré efficace. L'invention a aussi pour objet un système de reconnaissance de formes mettant en oeuvre le procédé comportant au moins : 15 - un capteur ou un réseau de capteurs produisant en sortie des signaux monodimensionnels ou multidimensionnels ; - un module de prétraitement mettant en oeuvre le procédé selon l'invention et permettant d'exécuter les phases d'apprentissage et/ou de codage dudit procédé ; 20 un module de reconnaissance permettant de réaliser des fonctions d'analyse et/ou de détection et/ou de reconnaissance de formes ; un module d'exploitation des résultats. Le système de reconnaissance de formes comporte, par exemple, un 25 ou plusieurs modules de communications permettant d'implanter les autres modules du système sur au moins deux équipements physiques distants et leurs permettant d'échanger leurs résultats. Le système de reconnaissance de formes comporte, par exemple, au moins un module de stockage connecté au module de prétraitement, les 30 résultats dudit prétraitement pouvant être mémorisés dans le module de stockage et le module de stockage pouvant être déconnecté du module de traitement pour être connecté au module de reconnaissance situé sur un équipement distant pour que les résultats du prétraitement y soient exploités. L'invention a notamment comme avantage de pouvoir adapter les noyaux utilisés pour la décomposition au type de sources à traiter et ainsi d'être applicable dans le cadre d'applications différentes comme par exemple l'électrocardiogramme ou la reconnaissance de mouvement. L'invention a également comme avantage de pouvoir traiter des signaux multidimensionnels et d'être appliquée avec un nombre réduit de noyaux de par la gestion des rotations. L'invention propose en outre une méthode d'apprentissage des noyaux permettant de converger plus rapidement vers la solution optimale que la méthode existante. D'autres caractéristiques et avantages de l'invention apparaitront à l'aide de la description qui suit donnée à titre illustratif et non limitatif, faite en regard des dessins annexés parmi lesquels : la figure 1 illustre la phase de codage par transformée à noyaux adaptés du procédé selon l'invention ; la figure 2 illustre la phase d'apprentissage des noyaux du procédé selon l'invention ; la figure 3 présente un exemple de dispositif de reconnaissance mettant en oeuvre le procédé selon l'invention. Dans la suite de la description, une entrée à traiter, qui sera appelée également signal source dans la suite du document, fait notamment 25 référence à un vecteur de dimension N ou bien à une collection indexée de vecteurs de dimension N. Dans le cas ou le signal source fait référence à une collection d'échantillons de dimension N, celui-ci peut être composé, par exemples : d'une suite d'échantillons monodimensionnels indexés 30 temporellement provenant par exemple d'une source sonore échantillonnée ; d'une suite d'échantillons monodimensionnels indexés spatialement par leur position x et y provenant par exemple d'une image en niveau de gris ; 20 - d'une suite d'échantillons multidimensionnels indexés temporellement, provenant par exemple d'un capteur multidimensionnel de mouvement (accéléromètre 3 directions) ou d'un réseau de capteurs sismiques ; - d'une suite d'échantillons multidimensionnels indexés spatialement provenant par exemple d'une image couleur ou hyperspectrale : les dimensions du vecteur, c'est-à-dire des pixels, étant les couleurs (Rouge, Vert et Bleu) ou les bandes de fréquences de l'image hyperspectrale, l'indexation se faisant selon la position x et y du pixel ; d'une suite d'échantillons mono ou multidimensionnels indexés spatiotemporellement provenant par exemple d'une vidéo avec des index x, y et t, ou encore d'une simulation virtuelle 4D (x, y, z et t) ; d'une suite d'échantillons mono ou multidimensionnels indexés par une ou plusieurs variables n'ayant pas nécessairement une signification spatiale ou temporelle, par exemple provenant de transformées de Fourier appliquées sur les différentes stations d'un réseau sismique et produisant ainsi une collection d'échantillons multidimensionnels (une dimension par station) indexée par la fréquence. Dans la suite de la description, pour des raisons de simplifications des écritures et sauf précisions, le signal source sera noté s(t), comme un signal temporel multidimensionnel. Cette écriture n'est toutefois aucunement limitative, t pouvant dans la pratique être un ensemble d'indice, par exemples x et y dans une image ou (x, y, t) dans une vidéo et s pouvant être monodimensionnel. Toutes les données associées telles que les noyaux et résidus suivent la même règle d'écriture. Afin d'illustrer le cas ou le signal source fait référence à un vecteur, l'exemple de la spectrométrie de masse est utile. Un vecteur de résultat représentant le spectre de masse est alors composé de plusieurs milliers de composantes, chacune correspondant à un rapport masse sur charge des molécules sur lesquelles sont conduites les mesures, et également appelé canal.35 Le procédé de prétraitement selon l'invention comporte une phase de codage et une phase d'apprentissage. La phase d'apprentissage permet d'adapter les noyaux utilisés pour le codage de la source à coder. Les noyaux ainsi trouvés seront ensuite utilisés pendant la phase de codage. Les figures 1 et 2 illustrent deux exemples de mise en oeuvre des deux phases du procédé selon l'invention. Le procédé selon l'invention peut être utilisé dans le cadre de diverses applications de reconnaissances de formes. Par exemple, le procédé pourra être mis en oeuvre dans le cadre de l'analyse d'électrocardiogrammes. Dans ce cas la phase d'apprentissage du procédé identifiera quelques noyaux utilisés pour décomposer l'impulsion cardiaque. D'autres applications possibles au sein desquelles la mise en oeuvre du procédé est utile sont notamment la reconnaissance des signaux sismiques, la reconnaissance de mouvements et l'analyse d"électroencéphalogrammes et/ou magnétoencéphalogrammes dont le but est d'identifier la réaction de certaines zones du cerveau. Le figure 1 présente un exemple de diagramme illustrant la phase de codage du procédé selon l'invention. Cette phase de codage a pour but de décomposer un signal vectoriel en composantes vectorielles élémentaires, ces composantes élémentaires étant appelées atomes. Le procédé selon l'invention permet de traiter des informations multidimensionnelles représentées sous forme vectorielle, les dimensions des vecteurs pouvant être traitées conjointement. Cela est utile lorsque l'application pour laquelle le procédé est utilisé s'appuie sur un ou plusieurs capteurs fournissant des informations multidimensionnelles. A titre d'exemple, des capteurs liés aux gestes fourniront des informations pouvant être tridimensionnelles. Dans le cas de capteurs biomédicaux, leurs données de sortie sont représentées avec un grand nombre de dimensions, par exemple douze dimensions pour l'électrocardiogramme, plusieurs dizaines pour l'électroencéphalogramme et plusieurs centaines pour le magnétoencéphalogramme. Toutefois le traitement conjoint de toutes les dimensions de l'entrée du système n'est pas une obligation et un module de prétraitement peut travailler sur un signal constitué d'un sous-groupe de variables, c'est-à-dire un sous groupe de dimensions. Un cas limite est la situation où le prétraitement est fait pour chaque dimension (chaque groupe est de cardinal 1, autant de groupes que de dimensions). On a alors autant de modules de prétraitement que de dimensions et chaque module traite un signal monodimensionnel. Cette manière d'utiliser plusieurs modules implémentant le procédé selon l'invention sur des signaux sources différents permet également de décliner l'application dans le cas où il y a plusieurs entrées hétérogènes. C'est le cas, par exemple, d'un module de reconnaissance de la parole qui utilise à la fois un flux sonore (signal monodimensionnel indexé par le temps, avec une fréquence d'échantillonnage de 16kHz) et un flux vidéo (signal tridimensionnel rouge-vert-bleu indexé par la position dans l'image (x,y) et par le temps, avec une fréquence d'échantillonnage de 25Hz). Le système de reconnaissance utilise alors, par exemple, un module de prétraitement selon l'invention pour le prétraitement du flux audio, et un module de prétraitement selon l'invention pour le prétraitement du flux vidéo, les sorties des deux modules étant alors utilisées pour la discrimination. Cette décomposition est réalisée grâce à l'utilisation d'une technique de décomposition creuse telle les méthodes de poursuite comme par exemples les méthodes connues sous les terminologies anglo-saxonnes de � Matching pursuit � et de � Basis pursuit �. Le signal après décomposition prend la forme suivante : =E E a 4 m(t-ilm)+e(t) (4) m=1 i=l Les atomes eem(t - t m) permettant de décomposer le signal ont la même dimension que le signal source. Ces derniers sont générés par décalages des noyaux suivant leur index. Dans cet exemple, les index sont des index temporels correspondant à des valeurs de retard. Les atomes sont donc générés par tous les décalages temporels possibles 'r d'un nombre limité de noyaux (>m(t). Pour chacun des M noyaux utilisés, lm décalages temporels du noyau permettent de générer lm atomes. Les noyaux sont déterminés lors de la phase d'apprentissage du procédé selon l'invention. Cette phase d'apprentissage sera expliquée plus loin dans la description à l'aide de la figure 2. Le terme d'erreur e(t) appelé résidu représente la partie du signal n'ayant pu être décomposée par les atomes sélectionnés par l'algorithme de décomposition. Une méthode pour exécuter la phase de codage est d'optimiser de façon itérative le nombre d'atomes utilisés pour décomposer le signal. Pour cela, une approche de type poursuite adaptative orthogonale ("Orthogonal Matching Pursuit"), amélioration de la méthode classique � matching pursuit �, est appliquée. Cette méthode itérative retient successivement les atomes les plus corrélés au résidu. Cet algorithme possède de bonnes propriétés de décroissance de l'erreur et de souplesse de mise en oeuvre. Dans le cas d'une base construite à partir de quelques noyaux dupliqués en chaque instant comme cela est le cas pour la transformée à noyaux adaptatifs, les calculs peuvent être accélérés grâce à la convolution non cyclique du signal avec les noyaux et l'utilisation de la transformée de Fourier rapide. Cette méthode est utilisable aussi pour des indices multiples (image vidéo) via la transformée de Fourier multidimensionnelle. Lorsque la phase 1 de codage est lancée pour une portion donnée du signal à traiter, une première étape 2 d'initialisation est appliquée. Cette étape 2 initialise l'erreur résiduelle à la valeur de la portion de signal à traiter, soit : e(t)=s(t) (5) Durant l'exécution de cette même étape, le compteur Im est initialisé à zéro pour toute valeur de m, avec m e [1...M]. Les coefficients or' de la décomposition sont également initialisés à zéro. 30 Une étape 3 de recherche des atomes à retenir pour la décomposition du signal est appliquée à la suite de l'étape d'initialisation 2. Pour cela, des convolutions du résidu e(t) avec tous les noyaux 4)m(t) sont exécutées. Dans le cas multidimensionnel, on utilise le produit scalaire classique entre vecteurs à chaque instant. Les calculs sont alors équivalents à sommer les 35 résultats de la convolution de chaque dimension de e(t) avec la dimension25 associée de 4),n(t). Un atome est choisi en retenant le noyau 4,n(t) associé à une valeur de retard ti,m donnant la valeur absolue la plus grande du produit de convolution. Dans le cas où cm(t) est normé, cette valeur est alors justement le coefficient îm. Cette approche fait la distinction entre des signaux similaires sur des directions différentes. Ainsi, pour une application de reconnaissance d'écriture manuscrite, un mouvement horizontal et un mouvement vertical seront associés, par exemple, à deux noyaux � mouvement � distincts. Cette approche est qualifiée d'approche orientée. Une variante de cette approche pouvant être qualifiée de non orientée permet d'associer à un même noyau des signaux similaires sur des directions différentes. En reprenant l'exemple de la reconnaissance d'écriture manuscrite, un trait vertical et un trait horizontal seront associés à un même noyau � trait �, le noyau considéré ayant subi une rotation pour l'association avec un trait vertical ou horizontal. Par rapport à l'approche orientée, chaque noyau subit une rotation particulière lorsqu'il est employé. Le signal après décomposition s'exprime alors : s( t)= aimRinl'm(tùrim )+e(t) (6) m=l i=1 Rim étant la matrice représentant la rotation que subit le noyau (1)m lors de sa ième utilisation. Cette matrice est un élément supplémentaire devant être recherché lors de l'étape 3 de recherche des atomes. Dans la cas où l'approche non orientée est utilisée, un atome pourra être défini, par exemple, par un triplet d'éléments composé d'un noyau 4m(t), d'un retard 'cira et d'une matrice de rotation Rim pouvant être qualifiée de facteur de rotation. Différentes méthodes peuvent être mises en place afin de déterminer la matrice Rim Une première méthode est de tester pour chaque noyau et chaque instant, différentes rotations. Le nombre d'atomes construits à partir d'un noyau unique augmente et le temps nécessaire à la recherche devient important. Une seconde méthode adaptée aux signaux à deux dimensions permet de réduire cette complexité. Les signaux à deux dimensions sont représentés par des nombres complexes et la phase de codage peut exploiter ce format. Au lieu d'avoir des signaux et des noyaux vectoriels réels à 2 dimensions, on considère plutôt des signaux et des noyaux monodimensionnels complexes. La partie réelle de ces nombres complexes correspond à la dimension 1 et la partie imaginaire à la dimension 2. Les coefficients de décomposition deviennent eux-mêmes complexes. Les normes de ces coefficients correspondent aux cem et les phases aux angles de rotation des matrices Rem. L'avantage de cette méthode est double. D'une part, il n'y a pas besoin d'échantillonner les angles de rotation à tester : l'algorithme donne une phase continue. D'autre part, la puissance de calcul 1 o requise est seulement doublée par rapport à l'approche orientée. Ce doublement correspond au calcul des corrélations entre parties réelles et imaginaires des signaux, les corrélations entre parties réelles ou entre parties imaginaires étant équivalentes aux corrélations dimension par dimension dans le cas orienté. Le gain est donc significatif par rapport à 15 l'exploration des différentes rotations possibles. Une troisième méthode possible est adaptée aux signaux à trois dimensions et utilise le principe de la méthode précédente en employant des quaternions à la place des nombres complexes. 20 La recherche des meilleurs noyaux peut être par ailleurs raffinée en introduisant un mécanisme de gestion de la dilatation temporelle des noyaux. Dans le cas de la reconnaissance de gestes, cette dilatation correspond simplement au fait que les gestes peuvent être exécutés plus ou moins rapidement selon les personnes, voire par une même personne selon le 25 contexte. D'une façon similaire à l'approche non orientée, ce mécanisme de compensation augmente le nombre d'atomes que l'on fabrique à partir d'un noyau, via l'introduction d'un facteur d'échelle. Le signal décomposé s'écrit dans ce cas : $(t)ù~, ce /tùZm\+e(t) m m m-1 i=1 ai ai a`m étant le facteur de dilatation du noyau $m pour sa ieme utilisation et prenant une valeur réelle positive. Cette décomposition implique de tester plusieurs facteurs de dilatation à chaque fois comme pour la rotation. La dilation peut 30 (7) être utilisée dans le cas d'un signal vectoriel, et avec l'approche orientée ou non orientée. Une étape 4 de mise à jour des coefficients m est appliquée suite à 5 l'étape de recherche des atomes 3. Les coefficients om associés à chacun des atomes déjà sélectionnés sont mis à jour. Une projection orthogonale du signal sur la base composée des atomes déjà sélectionnés est effectuée. Pour cela, le calcul des coefficients peut être fait de deux façons distinctes. 10 Une première méthode se base sur l'explicitation du projecteur orthogonal sur l'espace engendré par les atomes sélectionnés. Cette méthode est complexe à mettre en oeuvre et mène à des temps de traitements importants. La détermination du projecteur nécessite le calcul de la matrice pseudo-inverse d'une matrice de grande taille. Le calcul de la 15 matrice du projecteur est réalisé dans ce cas après chaque sélection d'un nouvel atome et de façon itérative par l'algorithme de Greville. Une seconde méthode proposée par Y. Pati et R. Rezaiifar et P. Krishnaprasad dans l'article Orthogonal Matching Pursuit: Recursive Function Approximation with Applications to Wavelet Decomposition, 20 Proceedings of the 27 th Annual Asilomar Conference on Signais, Systems, and Computers, Novembre 1993, utilise la projection orthogonale de l'atome sélectionné à l'itération courante sur le sous espace composé des atomes sélectionnés jusqu'à l'itération précédente. Ainsi, le calcul de la projection sur l'espace composé des L atomes se résume à une mise à jour des L-1 25 coefficients cm des atomes précédemment calculés et au calcul du nouveau coefficient. Cette seconde méthode permet une réduction du temps de calcul de l'ordre de 5 à 20 par rapport au temps nécessaire pour la mise en oeuvre de l'algorithme de Greville en fonction de la taille des signaux et des atomes. II est également possible d'utiliser la méthode classique de poursuite 30 adaptative sans projection orthogonale. Le temps de calcul d'une méthode de poursuite adaptative orthogonale est supérieure à l'approche classique mais les résultats obtenus sont largement plus intéressants : pour un groupe d'atomes donné, la version orthogonale garantie la meilleure reconstruction possible, ce que ne fait pas la version classique. En effet, quand les atomes 35 retenus ne sont pas orthogonaux, il y a interactions entre eux. La corrélation entre le résidu e(t) et l'atome n'est alors pas exactement la valeur cm idéale et la reconstruction n'est pas optimale. L'orthogonalisation permet, lors de l'ajout d'un nouvel atome, de corriger les anciens coefficients trouvés pour intégrer les interactions entre les atomes précédemment sélectionnés et le nouveau. L'étape 5 suivant la mise à jour des coefficients 4 incrémente le compteur Im. Le résidu est ensuite recalculé 6. Dans le cas classique, c'est en soustrayant à la valeur courante de celui-ci la contribution du signal correspondant au dernier atome sélectionné et à la valeurs du coefficient associé ctm. Dans le cas de la poursuite adaptative orthogonale, le signal reconstruit courant est recalculé à partir des cm courants et est soustrait au signal initial. Après que les coefficients ont été mis-à-jour, un critère d'arrêt 7 permet de décider si l'exécution de la phase de codage pour la portion du signal en cours de traitement doit s'arrêter ou continuer. Si l'arrêt est décidé, le codage se termine 8. Sinon, la recherche d'atomes et de coefficients associés continue 9 et les étapes précédentes sont appliquées à partir de l'étape de recherche d'atomes 3. Le critère d'arrêt peut être, par exemple, un nombre maximum d'atomes à sélectionner au delà duquel la phase de codage s'arrête. Un autre exemple de critère possible est de définir une valeur relative minimale du dernier coefficient cm par rapport à la plus grande valeur des autres coefficients calculés précédemment permettant de décider de l'arrêt de la phase de codage pour la portion de signal en cours de traitement. Un autre exemple de critère pouvant être mis en place est de définir une valeur seuil du résidu en dessous de laquelle la phase de codage s'arrête pour la portion de signal en cours de traitement. La figure 2 présente un exemple de diagramme illustrant la phase d'apprentissage du procédé selon l'invention. Comme introduit précédemment, le procédé de traitement selon l'invention comporte une phase de codage et une phase d'apprentissage. La phase d'apprentissage a pour but de trouver les noyaux pour que la décomposition utilise le moins d'atomes possible tout en minimisant l'erreur résiduelle. Cette phase peut être utilisée à différent moments de l'exécution du procédé en fonction de l'application concernée. Par exemple la phase d'apprentissage peut être exécutée une unique fois avant que la phase de codage soit déclenchée. Un apprentissage régulier peut également être réalisé, une évolution de la prise de décision au cours du temps étant ainsi prise en compte. Enfin, il est possible de réaliser un apprentissage en ligne. Ce dernier cas d'utilisation est particulièrement utile dans le contexte de systèmes évoluant dans le temps et nécessitant par conséquent un apprentissage constant. Une mise en oeuvre de l'apprentissage en ligne dans le cadre, par exemple, d'une application de reconnaissance d'écriture est que lorsque l'utilisateur perçoit que le système de reconnaissance s'est trompé dans sa décision et corrige celle-ci, un réapprentissage des noyaux est déclenché à cet instant. Après que l'exécution de la phase d'apprentissage a été déclenché 21, une première étape 22 initialise les noyaux $:I),n, par exemple par des tirages aléatoires selon un bruit blanc, puis une normalisation. Une base de donnée 24 contenant un ensemble de signaux d'apprentissage est utilisée pour adapter la valeur des noyaux. Pour cela, le codage 23 d'un de ces signaux d'apprentissage est réalisé en utilisant, par exemple, la méthode décrite précédemment à l'aide de la figure 1. Le codage est d'abord réalisé avec les noyaux jm initialisés à l'étape précédente 22. Le processus étant itératif, le codage s'effectuera ensuite avec les derniers noyaux disponibles. L'intérêt de l'étape de codage est de pouvoir tester l'efficacité du codage sur les signaux de la base d'apprentissage lorsque les noyaux courants sont utilisés. Cette efficacité est testée, par exemple, en vérifiant la valeur du résidu e(t) 26 après codage. En fonction de l'estimation du résidu 25, les noyaux sont adaptés 26. 35 Une méthode classique permettant d'adapter les noyaux de la transformée utilise la méthode de la descente du gradient. Cette méthode a pour but de déterminer les noyaux 4m minimisant une fonction de coût obtenue par exemple grâce au principe du maximum de vraisemblance. La fonction de coût est, par exemple, l'opposé du logarithme de la fonction de vraisemblance du signal conditionnellement à la base de noyaux, soit - log[P(se)] avec cD représentant l'ensemble des noyaux. Dans le cas d'une hypothèse gaussienne sur le bruit et d'un code très creux, Smith et Lewicki on montré que cette log-vraisemblance pouvait être approchée dans le cas monodimensionnelle par : / M /,n lo II((t - t gP(sIi) s 1 ( 1 `t )E a. ,m$m\ rm û 26e m=1 r=1 J Cette fonction est minimisée en adaptant les noyaux d'une valeur proportionnelle au gradient de la fonction. La convergence de cet algorithme de recherche peut être améliorée en utilisant l'algorithme de Levenberg-Marquart connu de l'homme du métier 15 à la place d'une descente de gradient stochastique classique. Pour cela, on approxime le Hessien. Le Hessien est une matrice carrée des dérivées secondes de la fonction de coût par rapport à chaque échantillon de chaque noyau. De manière à réduire la complexité des calculs, le Hessien sera simplifié de manière à obtenir une matrice diagonale. 20 Cela signifie que les dérivées croisées de la matrice seront négligées. De plus, une valeur moyenne pour chaque noyau est considérée, c'est à dire que la dérivée seconde sera identique pour tous les échantillons d'un même noyau et sera notée comme la dérivée seconde par rapport au noyau. Si les atomes utilisés issus d'un même noyau sont totalement 25 différenciés, c'est-à-dire que les écarts entre deux retards i;' successifs sont supérieurs à la durée du noyau Tm, les dérivées secondes de la fonction de vraisemblance s'écrivent simplement : a2 z P(sl(D)û la'm2 a(l). 6e L1=11 La différenciation totale des atomes issus d'un même noyau n'étant pas toujours vérifiée, le Hessien est alors sous-estimé, générant un pas local trop important et donc des instabilités durant l'apprentissage. 26e e(t)Z (8) 30 De manière à identifier toutes les situations de recouvrement, les décalages Ti' sont triés tels que il"1 II est possible d'améliorer la robustesse de la phase d'apprentissage en utilisant la technique RProp dite méthode de propagation résistante, plus connue sous la terminologie anglo-saxonne de � resilient propagation �. Celle-ci est proche de la descente de gradient mais le gradient n'est plus utilisé en tant que tel : seul son signe est pris en compte associé à une valeur fixe de pas. Les phénomènes d'instabilités dus à des gradients largement surestimés à cause du bruit sont alors évités. Suite à l'étape d'évaluation des noyaux 26, il est vérifié que tous les signaux de la base d'apprentissage ont été traités 27. Si ce n'est pas le cas 30, les étapes de codage 23, de test du résidu 25 et d'évaluation des noyaux 26 sont appliquées sur un autre signal d'apprentissage de la base. Si tous les signaux ont été traités 31, un critère d'arrêt permet de décider de terminer la phase d'apprentissage 29 ou bien de réitérer les calculs 32 sur l'ensemble des signaux de la base d'apprentissage. Ce critère d'arrêt est, par exemple, une valeur seuil de la moyenne de la norme du résidu en dessous de laquelle il est considéré que les noyaux trouvés permettent un codage suffisamment efficace. La figure 3 présente un exemple de système de reconnaissance mettant en oeuvre le procédé. Le système comporte notamment un capteur ou un réseau de capteurs 40 produisant en sortie des données ou signaux monodimensionnels ou multidimensionnels. Il comporte également un module de prétraitement 41 mettant en oeuvre le procédé selon l'invention et permettant d'exécuter les phases d'apprentissage et de codage du procédé. Les noyaux utilisés par le module de prétraitement sont appris à partir d'une base de données ou de signaux propres à l'application visée. Les données ou les signaux décomposés par le module de prétraitement sont ensuite exploités par un module de reconnaissance 44. Ce module permet de réaliser des fonctions d'analyse et/ou de détection et/ou de reconnaissance de formes. Les éventuels paramètres du module de reconnaissance sont appris, par exemple, à partir d'une base d'exemples associant des classes au codage résultant du procédé sur des données ou des signaux. Le résultat de la reconnaissance 44 est ensuite transmis à un module d'exploitation des résultats 45 permettant, par exemple, d'afficher ces résultats ou de déclencher une alarme en fonction du ou des évènements détectés par le module de reconnaissance 44. Le système peut comporter en outre un ou plusieurs modules de communications 42, 43 permettant de réaliser les diverses fonctions du système sur des équipements physiques distants. Par exemple, un module de communication 42 pourra transmettre les résultats du prétraitement, notamment les coefficients associés aux atomes retenus pour la décomposition des signaux ou données à traiter, à un équipement distant comprenant un module de communication 43 permettant de recevoir ces coefficients et de les traiter 44, 45. Dans cet exemple, le codage 41 est fait proche du capteur 40, mais la reconnaissance est faite ailleurs pour pouvoir par exemple disposer de plus de puissance de calcul ou de mémoire. Les modules de communication 42, 43 peuvent être placés à d'autre endroits de la chaîne de traitement, comme par exemple, entre le module de reconnaissance 44 et le module d'exploitation des résultats 44, 45. Une variante du système peut, par exemple, utiliser un module de stockage des résultats du prétraitement 41. Dans cet exemple, un premier équipement comportant les capteurs 40 et le module de prétraitement 41 pourra écrire les résultats du prétraitement dans un module de stockage connecté à l'équipement. Le module de stockage pourra ensuite être connecté à un équipement réalisant la reconnaissance 44 et l'exploitation des résultats 45, ce dernier équipement étant distant du premier. REVENDICATIONS1- Procédé de reconnaissance de formes comportant au moins un mécanisme de prétraitement décomposant un signal source en composantes élémentaires appelées atomes et un mécanisme de reconnaissance se basant sur le résultat de la décomposition réalisée par le mécanisme de prétraitement, ledit procédé étant caractérisé en ce que le mécanisme de prétraitement comporte au moins : - une phase d'apprentissage aboutissant à un ensemble de signaux appelés noyaux et composés d'échantillons indexés, lesdits noyaux étant adaptés (26) de manière à minimiser une fonction de coût représentant la capacité des noyaux à bien reconstruire des signaux d'apprentissage représentatifs de la source à traiter et contenus dans une base de données (24) tout en garantissant une décomposition parcimonieuse du signal source ; - une phase de codage permettant de décomposer le signal source en atomes, lesdits atomes étant générés par décalages des noyaux suivant l'index des échantillons les composant, chacun desdits atomes étant associé à un coefficient de décomposition. 2- Procédé selon la revendication 1 caractérisé en ce que le signal source est multidimensionnel. 3- Procédé selon la revendication 2 caractérisé en ce que les dimensions du signal source sont traitées indépendamment par le mécanisme de prétraitement. 30 4- Procédé selon la revendication 2 caractérisé en ce que plusieurs des dimensions du signal source sont traitées conjointement par le mécanisme de prétraitement. 5- Procédé selon l'une quelconque des revendications précédentes 35 caractérisé en ce que pendant la phase d'apprentissage, les noyaux25sont adaptés (26) en minimisant la fonction de coût sur la base de données de signaux représentatifs de la source à traiter (24) grâce à une méthode de descente de gradient stochastique. 6- Procédé selon l'une quelconque des revendications 1 à 4 caractérisé en ce que pendant la phase d'apprentissage, les noyaux sont adaptés (26) en minimisant la fonction de coût sur la base de données de signaux représentatifs de la source à traiter (24) grâce à l'algorithme de Levenberg-Marquart, ledit algorithme étant appliqué suite au calcul d'un Hessien moyen pour chacun desdits noyaux. 7- Procédé selon l'une quelconque des revendications 1 à 4 caractérisé en ce que pendant la phase d'apprentissage, les noyaux sont adaptés (26) en minimisant la fonction de coût sur la base de données de signaux représentatifs de la source à traiter (24) grâce à la méthode de descente de gradient par propagation résistante. 8- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que les formes à reconnaître permettent d'identifier 20 des anomalies cardiaques. 9- Procédé selon l'une quelconque des revendications 1 à 7 caractérisé en ce que les formes à reconnaître sont représentatives de mouvements ou de gestes. 10- Procédé selon la revendication 9 caractérisé en ce que les formes à reconnaître représentatives de mouvements ou de gestes sont des caractères ou des suites de caractères d'écriture manuscrite. 30 11- Procédé selon l'une quelconque des revendications 1 à 7 caractérisé en ce que les formes à reconnaître permettent d'identifier un type d' activité cérébrale consciente. 25 35 12- Procédé selon l'une quelconque des revendications 1 à 7 caractérisé en ce que les formes à reconnaître permettent d'identifier la présence de molécules ou de groupes de molécules dans un échantillon étudié par spectrométrie de masse. 13- Procédé selon l'une quelconque des revendications 4 à 10 caractérisé en ce que durant la phase de codage, une étape de recherche de meilleurs atomes (3) utilisés pour la décomposition de la portion de signal en cours de traitement applique une rotation sur les noyaux, chaque atome retenu pour la décomposition étant ainsi composé d'un noyau, d'un index de décalage et d'un facteur de rotation, lesdits atomes retenus étant associés à un coefficient de décomposition. 14- Procédé selon la revendication 13 caractérisé en ce que durant la phase de codage, le facteur de rotation des noyaux est un matrice carrée représentant la rotation appliquée à chaque noyau sélectionné, les éléments de ladite matrice étant déterminés durant la phase de codage du procédé en prenant plusieurs hypothèses de rotation pour chaque noyau et chaque instant dans le but de sélectionner la meilleure hypothèse de rotation. 15- Procédé selon la revendication 13 caractérisé en ce que le procédé traite un signal source à deux dimensions et que ledit signal ainsi que les noyaux de la transformée sont représentés par des nombres complexes, la partie réelle de ces nombres complexes correspondant à la première dimension et la partie imaginaire correspondant à la seconde dimension, ledit procédé étant caractérisé en outre par le fait que les coefficients de décompositions sont également complexes de manière à ce que leur phase représente le facteur de rotation et permettent d'appliquer un angle de rotation aux noyaux. 16- Procédé selon la revendication 13 caractérisé en ce que le procédé traite des signaux à trois dimensions et que lesdits signaux ainsi queles noyaux de la transformée sont représentés par des quaternions, ledit procédé étant caractérisé en outre par le fait que les coefficients de décompositions sont également des quaternions et permettent d'appliquer une rotation 3D aux noyaux. 17- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que la phase de codage met en oeuvre une méthode de poursuite de base. 10 18- Procédé selon l'une quelconque des revendications 1 à 16 caractérisé en ce que la phase de codage met en oeuvre une méthode de poursuite adaptative. 19- Procédé selon la revendication 18 caractérisé en ce que la méthode 15 de poursuite adaptative utilisée durant la phase de codage est de type orthogonale, les coefficients de décomposition étant mis à jour (4) après chaque sélection d'un nouvel atome en projetant le signal à traiter sur la base composée des atomes déjà retenus. 20 20- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que la phase de codage pour un signal en cours de traitement se termine (7) lorsque le nombre d'atome sélectionné atteint une valeur maximum. 25 21- Procédé selon l'une quelconque des revendications 1 à 19 caractérisé en ce que la phase de codage pour un signal en cours de traitement se termine (7) lorsqu'une valeur relative minimum choisie du dernier coefficient de décomposition par rapport à la plus grande valeur des autres coefficients précédemment calculés n'est plus 30 assurée. 22- Procédé selon l'une quelconque des revendications 1 à 19 caractérisé en ce que la phase de codage pour une portion de signal en cours de traitement se termine (7) lorsque l'énergie du résidu de la5décomposition passe en dessous d'une valeur seuil choisie à partir de laquelle le codage est considéré efficace. 23- Système de reconnaissance de formes mettant en oeuvre le procédé 5 selon l'une quelconque des revendications précédentes et caractérisé en ce qu'il comporte au moins : un capteur ou un réseau de capteurs (40) produisant en sortie des signaux monodimensionnels ou multidimensionnels ; - un module de prétraitement (41) mettant en oeuvre le procédé selon l'invention et permettant d'exécuter les phases d'apprentissage et/ou de codage dudit procédé ; un module de reconnaissance (44) permettant de réaliser des fonctions d'analyse et/ou de détection et/ou de reconnaissance de formes ; un module d'exploitation des résultats (45). 24- Système de reconnaissance de formes selon la revendication 23 caractérisé en ce qu'il comporte un ou plusieurs modules de communications (42, 43) permettant d'implanter les autres modules du 20 système (40, 41, 44, 45) sur au moins deux équipements physiques distants et leurs permettant d'échanger leurs résultats. 25- Système de reconnaissance de formes selon la revendication 23 caractérisé en ce qu'il comporte au moins un module de stockage 25 connecté au module de prétraitement (41), les résultats dudit prétraitement pouvant être mémorisés dans le module de stockage et le module de stockage pouvant être déconnecté du module de traitement pour être connecté au module de reconnaissance (44) situé sur un équipement distant pour que les résultats du prétraitement y 30 soient exploités. 10 15