FR 2646543 A1 19901102 FR 8905533 A 19890426 DESCRIPTION PROCEDE POUR L'ANALYSE DE TEXTURES ET ANALYSEUR'. L'invention concerne un procédé pour l'analyse de textures associées à un flux de données organisé en classes de données. Elle concerne également un analyseur à réseau de neurones mettant en oeuvre un tel procédé. L'invention a ses applications dans la reconnaissance de forme, de scènes, d'i- mages, de lieux, de sons, etc... par exemple dans les domaines de l'analyse d'images pour la télévision, la cartographie, la protection périmétrique, la prospection pétrolière ou dans l'analyse de phénomènes acoustiques ou dans l'analyse de 'si- gnatures" de signaux de données. Un procédé de ce genre est connu par exemple du document: *Cooccurence matrices and subspace methods in texture analysis". J. PARKKINEN and E. OJA Proceedings 7th International Conference on Pattern Recognition 30th July - 2nd August 1984 Montreal (Canada). Selon cet art antérieur les classes de textures sont représentées par des sous-espaces linéaires qui sont non bornés et non quantifiés. Ainsi par exemple dans un espace à trois dimensions telles que la luminance moyenne, la luminance maximale et le contraste, l'art antérieur découpe cet espace selon des plans pour chaque classe de textures dans-lesquels les points caractéristiques des exemples se répartissent dans chaque plan de manière uniforme. Dans un traitement réel la qualité d'analyse de textures qui en résulte n'est pas satis- faisante car elle ne correspond pas à la distribution réelle desdites caractéristiques. Celles-ci en effet peuvent être mieux décrites par une distribution bornée et quantifiée tou- jours incluse dans lesdits plans. Ceci n'apparaît pas comme étant possible par le document de l'art antérieur. Ainsi le problème posé est d'opérer la reconnais- sance de textures modélisées par des distributions bornées et/ou quantifiées afin de permettre d'exploiter cette informa- tion de texture. Cette exploitation peut être faite soit di- rectement en visualisant par exemple les textures soit indi- rectement en permettant le choix d'un traitement ultérieur. La solution consiste en un procédé pour l'analyse de textures associées à un flux de données organisé en classes de données mis en oeuvre à l'aide d'un analyseur qui opère une transformée à l'aide de réseaux de neurones d'analyse ayant un nombre de neurones d'entrée supérieur ou égal au nombre de neurones de sortie, le procédé mettant en compétition les ré- seaux de neurones selon les étapes suivantes: - initialisation des coefficients synaptiques de chaque ré- seau de neurones, - introduction dans les réseaux de neurones de classes d'exemples présentés sous la forme de caractéristiques locales propres à chaque donnée, - apprentissage par les réseaux de neurones par adaptation de leurs coefficients synaptiques à des exemples de blocs de données d'entrée, - résolution par les réseaux de neurones d'un flux de don- nées d'entrée afin d'opérer des classifications de données pour délivrer des informations de classes de textures relati- ves au flux de données, - détermination du réseau de neurones qui délivre le meil- leur résultat pour chaque classe d'exemples présentés sur la base d'un critère d'erreur entre la sortie obtenue et une ré- férence choisie et attribution de chaque réseau de neurones à la classe qu'il représente le mieux et émission d'un index de sélection. Sans perdre de sa généralité l'exposé va être dé- veloppé dans le cas d'une analyse d'images. Mais l'invention peut être transposée sans difficulté à d'autres types de flux de données. Le procédé consiste à associer à un réseau donné une texture ou une classe de textures, et à attribuer à chaque partie de l'image (pixels, bloc de pixels,...) le réseau qui est le mieux adapté c'est-à-dire qu'il s'agit de trouver le sous-espace le plus proche. Le procédé décrit comprend une phase d'apprentissage supervisé ou non supervisé et/ou une phase de classification. Pour cela on utilise M réseaux de neurones Ri avec l( Chaque réseau reçoit en entrée N données qui ca- ractérisent par exemple un point d'image. Ces caractéristiques locales d'une donnée peuvent se présenter de diverses maniè- res. Pour un élément d'image donné, il peut s'agir d'une va- leur propre à l'élément ou d'une moyenne des données de ses plus proches voisins, données relatives à la luminance, au contraste,... Il peut s'agir d'autres caractéristiques locales de la donnée par exemple le minimum, le maximum ou toute autre caractéristique. Avant d'effectuer des opérations de classifica- tion propremement dites, chaque réseau de neurones doit ap- prendre la tâche qu'il aura à accomplir. Cette étape s'effec- tue à partir de classes d'exemples. Il peut être intéressant de procéder à un appren- tissage complémentaire qui est effectué par chaque réseau de neurones pour sa classe d'exemples par modification de ses coefficients synaptiques pour parfaire son adaptation à sa propre classe sur la base d'un algorithme d'apprentissage. Deux modes sont possibles: - en mode supervisé, l'étape d'apprentissage est effectuée, avec des classes d'exemples prises dans un catalogue de textu- res, - en mode non supervisé, un au moins des apprentissages est effectué par des phases adaptatives sur le flux de données dé- coupé en blocs. Ainsi le réseau de neurones apprend par lui-même. Pour déterminer parmi les M réseaux de neurones lequel est le mieux adapté à un exemple donné, il est nécessaire de comparer la sortie obtenue avec le résultat qu'il aurait du délivrer. Ceci est effectué sur la base d'un critère d'erreur. Celui-ci est par exemple l'erreur quadrati- que moyenne entre la sortie et la référence choisie. Selon le procédé il est possible d'opérer en au- toassociation. Dans ce cas le critère d'erreur d'attribution d'un réseau de neurones à une classe porte sur une comparaison entre l'exemple placé en entrée et le résultat en sortie d'un même réseau de neurones. Mais il est également possible d'opérer en hété- roassociation. Dans ce cas le critère d'erreur d'attribution d'un réseau de neurones à une classe opère la mesure d'une norme sur les sorties d'un même réseau de neurones. Cette norme peut être une norme quadratique. A l'issue de cette étape, chaque réseau de neuro- nes va être affecté à une classe d'exemples pour laquelle il délivre les résultats les meilleurs. Il est alors possible d'exploiter les réseaux de neurones pour opérer les étapes de classification ultérieures. Néanmoins préférentiellement on parfait l'adaptation de chaque réseau de neurones à la classe à laquelle il est affecté. Cet apprentissage complémentaire ou l'apprentissage principal peuvent être effectués par l'algori- thme de rétropropagation du gradient connu par exemple de l'article: 'PARALLEL DISTRIBUTED PROCESSING" D.E. RUMELHART, G.E. HINTON, R.J. WILLIAMS, Learning Internal Representations by error pro- pagation chap. 8 p.318 MIT Press. Editeur: J.A. YELDMAN, P.J. HAYES, D.E. RUMELHART. Ce critère peut être l'algorithme d'analyse en composantes principales de la matrice de covariance qui est connu par exemple du document: AutoAssociation by Multilayer Perceptrons and Singular Value Decomposition' H. BOURLARD & Y. KAMP Biological Cybernetics, vol.59, 1988 pp. 291-294. En effet, chaque classe de textures possède des composantes principales qui lui sont propres et qui la diffé- rencient d'une autre classe de textures. 2646S43 Le mécanisme d'apprentissage va donc consister à minimiser les écarts observés pour les résultats de sortie par rapport aux composantes principales de la classe de textures concernée. Le flux de données à traiter par le procédé selon l'invention peut être issu d'éléments d'images codés consti- tuant une image à analyser. Il peut également concerner des informations acoustiques ou tout autre flux de données-. La ca- ractéristique locale d'une donnée peut être formée d'une moyenne des données de ses plus proches voisins. L'invention concerne également un analyseur. Dans le cas de l'autoassociation l'analyseur comprend plusieurs couples de réseaux de neurones, un couple étant constitué d'un réseau de neurones de codage et d'un réseau de neurones de dé- codage apparié, un circuit de sélection comparant lors de l'é- tape de codage et pour chaque couple, les données d'entrée du réseau de neurones de codage avec les données de sortie de son réseau de neurones de décodage, le critère de sélection du meilleur codage consistantà sélectionner le couple de réseaux de neurones pour lequel cet écart est minimal. Dans le cas de l'hétéroassociation l'analyseur comprend un circuit de sélection qui détermine la somme de toutes les énergies des neurones de sortie de chaque réseau de neurones de codage et sélectionne celui pour lequel cette énergie est maximale. Il est possible de limiter le nombre d'analyseurs utilisés. En effet après l'apprentissage, des réseaux de neu- rones peuvent donner en exploitation des résultats similai- res. Ces résultats peuvent se regrouper en familles pour les- quelles les écarts sont très proches. Il suffit alors de choisir dans chaque famille un des réseaux de neurones repre- sentant cette famille. On obtient ainsi un système pour lequel les données décodées sont formées par un nombre plus restreint de réseaux de neurones, c'est-à-dire un par famille. Dans ce cas le nombre de réseaux de neurones sé- lectionnés est égal au nombre de familles qui regroupent des réseaux de neurones au comportement similaire déterminé par un critère de similitude. Pour améliorer la qualité de l'analyse de texture il est possible de limiter le nombre P de neurones de la cou- che cachée ainsi que le nombre de bits Qk alloués à chaque état de neurones Yk (1 Il est également possible que chaque réseau de neurones reçoit ses coefficients synaptiques sous la commande d'un signal de commande à partir d'une mémoire qui stocke les coefficients synaptiques aptes à coder plusieurs classes d'exemples de données. La mémoire est chargée à la fin des phases d'apprentissage. L'invention sera mieux comprise à l'aide des fi- gures suivantes données à titre d'exemples non limitatifs qui représentent: 15. figures 1A, lB: une représentation schématique d'un ré- seau de neurones de codage et de décodage, figure 2: un schéma d'une unité de traitement d'un ré- seau de neurones figures 3, 4: deux schémas d'un analyseur selon l'inven- tion, figure 5: un schéma semblable à celui de la figure 3 mais avec une mémoire de l'ensemble des coefficients synapti- ques. La figure 1A représente un schéma du principe du traitement effectué par un réseau de neurones de codage. Les données d'entrée xl... xl....xN sont présentées au réseau et arrivent sur les neurones d'entrée 101 à 10N d'une couche d'entrée. Ces neurones sont connectés aux neurones de sortie 111...Ilk...11p d'une couche de sortie. A chaque liaison est associé un coefficient synaptique Ckl (l:entrée, k:sortie). Le nombre de neurones d'entrée N est supérieur ou égal au nombre de neurones de sortie P afin d'effectuer une compression des données. Ce sont ces données codées qui peu- vent être utilisées pour la sélection d'un index. Celui-ci peut être transmis par une liaison par fils ou par un milieu de transmission. Les sorties Yk sont calculées suivant l'équation: Yk R F(E Ckl Xl) k o F peut être la fonction d'identité (F(x)=x) ou bien une fonction nonlinéaire. Les sorties Yk peuvent éventuellement être quantifiées sur Q bits lors de la phase d'apprentissage et/ou de résolution. Une quantification judicieuse permet d'obtenir lors de la résolution une bonne qualité d'analyse de textures. La figure lB représente le schéma de principe du traitement effectué par le réseau de neurones de décodage en couches reliées entre elles comme pour le réseau de neurones de codage. Il reçoit les données codées Y... Yp et délivre en sortie des données décodées V1...VN. Les sorties V1 sont calculées suivant l'équation: Vs = 6(E Ws,k,Yk) o ô peut être la fonction identité ou bien une fonction non linéaire. Les Wsk représentent les coefficients synaptiques liant le neurone d'entrée k au neurone de sortie s. Selon un premier mode de réalisation l'analyseur peut comprendre uniquement des réseaux de neurones de codage du type de la figure 1A. Selon un second mode de réalisation l'analyseur comprend à la fois des réseaux de neurones de codage et de décodage selon les types des figures 1A et lB. La figure 2 représente un processeur de traitement d'un réseau de neurones. Un registre d'entrée 20 délivre les données d'entrée X1 à une unité de calcul 21 qui effectue le calcul: Ckl, Xl. Les coefficients synaptiques Ckl sont lus dans une mémoire 22. La sortie de l'unité de calcul est reliée à un quantifieur 23 qui applique une fonction non linéaire F. Les données codées Yk apparaissent sur un registre de sortie 24. Avant d'effectuer des phases d'analyse (codage seul ou bien codage et décodage) on doit effectuer des phases d'apprentissage des coefficients synaptiques des réseaux de neurones c'est-à-dire qu'ils doivent apprendre la tâche à la- quelle il est affecté. Pour cela on présente sur l'entrée des exemples prédéterminés pour lesquels le résultat désiré est connu à l'avance. Il suffit de comparer les résultats obtenus avec les résultats désirés et selon un mécanisme adaptatif les coefficients synaptiques Ckl sont adaptés à la tâche pré- vue. Cette adaptation ne sera pas développée ici. Elle est ef- fectuée de manière connue pour un réseau de neurones. Diffé- rents algorithmes sont possibles, les plus utilisés étant l'algorithme de rétropropagation du gradient et l'algorithme de l'analyse en valeurs principales. Des références ont déjà été citées pour la mise en oeuvre de ces algorithmes. Les figures 3, 4, 5 représentent des schémas d'un analyseur selon l'invention. Selon un premier mode de réalisation de l'analy- seur, représenté sur la figure 3, celui-ci comprend M réseaux de neurones de codage 301, 302...30M qui reçoivent tous les données d'entrée x1. Chaque réseau de neurones opère pour une classe d'exemples prédéterminés sur lequel il s'est adapté au cours de la phase d'apprentissage. Dans ce cas le circuit de sélection 33 reçoit les sorties Yk 341.. 34M de tous les réseaux de neurones et détermine une caractéristique, par exemple l'énergie des don- nées, et sélectionne le réseau de neurones qui maximise cette énergie. Le circuit de sélection 33 émet l'index J corres- pondant au réseau de neurones sélectionné. Ainsi l'invention concerne un analyseur pour l'a- nalyse de textures de données comprenant M réseaux de neurones de codage avec M>1 qui apprennent puis effectuent un même type de transformée et qui sont mis en compétition, chaque réseau ayant un nombre de neurones d'entrée supérieur ou égal au nom- bre de neurones de sortie, un circuit de sélection sélection- nant, sur la base d'un critère de sélection, le réseau de neu- rones de codage qui effectue le meilleur codage et transmettant l'index de ce réseau de neurones sélectionné. Selon un second mode de réalisation l'analyseur est représenté sur la figure 4. Dans ce cas chaque réseau de neurones de codage 301...30M est suivi d'un réseau de neurones de décodage 351...35M. Le circuit de sélection 33 reçoit alors les sor- ties 361...36M de ces réseaux de neurones de décodage et compare chacune de ces sorties avec les données d'entrée x1. Le circuit de sélection détermine alors le réseau de neurones qui effectue le meilleur codage et délivre son index J. Ainsi l'invention concerne un analyseur pour l'analyse de textures de données comprenant M réseaux de neu- rones de codage et M réseaux de neurones de décodage avec M>1 qui apprennent puis effectuent un même type de transformée et qui sont mis en compétition, chaque réseau de codage ayant un nombre de.neurones d'entrée supérieur ou égal au nombre de neurones de sortie, un circuit de sélection sélectionnant sur la base d'un critère de sélection le réseau de neurones de co- dage qui effectue le meilleur codage et transmettant l'index de ce réseau de neurones sélectionné. Pour diminuer la quantité de matériel nécessaire pour mettre M réseaux de neurones en compétition, il peut être intéressant d'utiliser un nombre de réseaux de neurones infé- rieur à M. Ceci est représenté sur la figure 5 en prenant le cas du codeur de la figure 3 mais ceci n'est pas limitatif. En effet il est suffisant d'utiliser m réseaux de neurones 511...51m avec m rones leurs coefficients synaptiques à partir d'une mémoire 52 qui renferme la totalité des coefficients synaptiques à ex- ploiter. La lecture de cette mémoire se fait par un signal de commande COM qui peut être activé soit cycliquement selon un nombre donné d'images soit selon un autre critère. On n'ex- ploite ainsi à un instant donné que les réseaux de neurones susceptibles d'être exploités à cet instant. Dans ce cas le circuit de codage est caractérisé en ce que les réseaux de neurones de codage reçoivent leurs coefficients synaptiques sous la commande d'un signal de com- mande, à partir d'une mémoire qui stocke les coefficients sy- naptiques aptes à coder plusieurs classes d'exemples de don- nées. REVENDICATIONS 1. Procédé pour l'analyse de textures associées à un flux de données organisé en classes de données mis en oeuvre à l'aide d'un analyseur qui opère une transformée à l'aide de réseaux de neurones d'analyse ayant un nombre de neurones d'entrée supérieur ou égal au nombre de neurones de sortie, le procédé mettant en compétition les réseaux de neurones-selon les étapes suivantes: - initialisation des coefficients synaptiques de chaque ré- seau de neurones, - introduction dans les réseaux de neurones de classes d'exemples présentés sous la forme de caractéristiques locales propres à chaque donnée, - apprentissage par les réseaux de neurones par adaptation de leurs coefficients synaptiques à des exemples de blocs de données d'entrée, - résolution par les réseaux de neurones d'un flux de don- nées d'entrée afin d'opérer des classifications de données pour délivrer des informations de classes de textures relati- ves au flux de données, - détermination du réseau de neurones qui délivre le meil- leur résultat pour chaque classe d'exemples présentés sur la base d'un critère d'erreur entre la sortie obtenue et une ré- férence choisie et attribution de chaque réseau de neurones à la classe qu'il représente le mieux et émission d'un index de sélection. 2. Procédé selon la revendication 1 caractérisé en ce que, un apprentissage complémentaire est effectué par cha- que réseau de neurones pour sa classe d'exemples par modifica- tion de ses coefficients synaptiques pour parfaire son adapta- tion à sa propre classe sur la base d'un algorithme d'appren- tissage. 3. Procédé selon une des revendications 1 ou 2 ca- ractérisé en ce que, l'étape d'apprentissage est effectuée, en mode supervisé, avec des classes d'exemples prises dans un ca- talogue de textures. 4. Procédé selon une des revendications 1 ou 2 ca- ractérisé en ce que, un au moins des apprentissages est effec- tué par des phases adaptatives en mode non-supervisé sur le flux de données découpé en blocs. 5. Procédé selon une des revendications 1 à 4 carac- térisé en ce que, chaque réseau de neurones opère en auto-as- sociation, le critère d'erreur d'attribution d'un réseau de neurones à une classe porte sur une comparaison entre l'exem- ple placé en entrée et le résultat en sortie d'un même réseau de neurones. 6. Procédé selon une des revendications 1 à 4 carac- térisé en ce que, chaque réseau de neurones opère en hétéroas- sociation, le critère d'erreur d'attribution d'un réseau de neurones à une classe opérant la mesure d'une norme sur les sorties d'un même réseau de neurones. 7. Procédé selon une des revendications 1 à 6 carac- térisé en ce que, un au moins des apprentissages est effectué selon l'algorithme de rétropropagation du gradient d'erreur. 8. Procédé selon une des revendications 1 à 6 carac- térisé en ce que, un au moins des apprentissages est effectué selon l'algorithme d'analyse en composantes principales de la classe de texture. 9. Procédé selon une des revendications 1 à 8 carac- térisé en ce que, le flux de données est issu de pixels cons- tituant une image à analyser. 10. Procédé selon la revendication 9 caractérisé en ce que la caractéristique locale d'une donnée est formée d'une moyenne des données de ses plus proches voisins. 11. Procédé selon une des revendications 1 à 8 caractérisé en ce que, le flux des données représente des in- formations acoustiques. 12. Analyseur pour la mise en oeuvre du procédé selon une des revendications 5 ou 7 à 11 caractérisé en ce qu'il comprend plusieurs couples de réseaux de neurones, un couple étant constitué d'un réseau de neurones de codage et d'un ré- seau de neurones de décodage apparié, un circuit de sélection comparant lors de l'étape de codage et pour chaque couple, les données d'entrée du réseau de neurones de codage avec les don- nées de sortie de son réseau de neurones de décodage, le cri- tère de sélection du meilleur codage consistant à sélectionner le couple de réseaux de neurones pour lequel cet écart est mi- nimal. 13. Analyseur pour la mise en oeuvre du procédé selon une des revendications 6 à 11 caractérisé en ce qu'un circuit de sélection détermine la somme de toutes les énergies des neurones de sortie de chaque réseau de neurones de codage et O10 sélectionne celui pour lequel cette énergie est maximale. 14. Analyseur selon une des revendications 12 ou 13 caractérisé en ce que le nombre de réseaux de neurones sélec- tionnés est égal au nombre de familles qui regroupent des ré- seaux de neurones au comportement similaire déterminé par un critère de similitude. 15. Analyseur selon une des revendications 12 à 14 caractérisé en ce que chaque réseau de neurones reçoit ses coefficients synaptiques sous la commande d'un signal de com- mande à partir d'une mémoire qui stocke les coefficients sy- naptiques aptes à coder plusieurs classes d'exemples de don- nées.