Brevet FR2814572A1 — publié le 20020329

SYSTEME DE RECONNAISSANCE D'IMAGES La présente invention concerne le domaine de la reconnaissance d'images. Il concerne plus particulièrement un système pour la reconnaissance d'images caractérisé en ce qu'il comporte au moins un module de traitement formé par un réseau d'éléments de traitement interconnectés, délivrant chacun à leur sortie des signaux impulsionnels fonctions de l'image présentée à l'entrée du système, les entrées et sorties desdits éléments de traitements étant reliées par des éléments de liaison pour la transmission de signaux impulsionnels, le système comportant en outre un module de sortie délivrant un signal après un délai de présentation de l'image d'entrée, en cas de reconnaissance d'une image de référence. On connaît dans l'état de la technique le brevet européen EP422654 décrivant un procédé de reconnaissance d'objets pour reconnaître un emplacement d'un objet dans une image au moyen d'un traitement de l'image, comprenant les étapes consistant à : Extraire un premier groupe de points caractéristiques correspondant à un groupe de n points, représentant ledit objet dans ladite image, dans un espace à K dimensions, - mémoriser préalablement, dans des moyens de mémoire, un second groupe de points caractéristiques pj, correspondant a un groupe de n points, représentant un modèle correspondant à l'objet, dans le même espace que l'espace à K dimensions, et des données attributs pour ledit second groupe de points caractéristiques ; traiter lesdits points dans un réseau neuronal possédant une pluralité de neurones, un neurone étant prévu pour chacune de combinaisons de couples de points entre le premier groupe de points caractéristiques et le second groupe de points caractéristiques, les neurones étant connectes entre eux de telle sorte que chaque neurone introduit des données qui varient en fonction de la valeur de sommation des valeurs de sortie pondérées des autres neurones ; lire une valeur de sortie de chaque neurone et déterminer que, lorsque la valeur de sortie du neurone est sensiblement" 1", la combinaison de couples de points associée au neurone est concordante, tandis que, lorsque la valeur de sortie du neurone est sensiblement"0", la combinaison de couples de points associée au neurone n'est pas concordante. Le brevet européen EP532053 décrit un autre procédé de reconnaissance d'images d'objets d'apprentissage pour un réseau neuronal. Un autre brevet EP560779 décrit un procédé d'évaluation des paramètres de position d'un objet dans l'espace à partir d'une image bidimensionnelle au moyen d'un réseau de Kohonen avec une grille spatiale de neurones dans lequel au moyen de nombres entiers i, qui identifient de manière univoque chaque neurone i du réseau de Kohonen avec une grille spatiale de neurones, on prédétermine des vecteurs de pondération indiciables m (i) = (m (i, 1),..., m (i,)) de la dimension M et des paramètres de position x (i) = (x (i, 1),..., x (i, N) de la dimension N correspondant au vecteur de pondération m (i), un point (i (1), i (2), i (3) ) sur une grille de l'espace tridimensionnel correspondant de façon réciproque et univoque à chaque indice i. Le brevet W09829833 concerne un autre procédé de détection et de reconnaissance. Les valeurs caractéristiques d'une image et les résultats de classification d'un objet produits par un premier moyen de reconnaissance de formes en fonction de l'estimation selon laquelle les résultats de la reconnaissance sont fiables et l'objet reconnaissable, sont stockés dans une mémoire. Les valeurs caractéristiques d'image d'un objet dont la fiabilité des résultats de reconnaissance est estimée faible et la reconnaissance suspendue, sont stockées dans un dispositif de stockage de données de suspension de reconnaissance. L'invention concerne un système constituant un filtre permettant la sélection d'images contenant des objets d'une catégorie donnée, dans une grande base d'images par exemple accessibles par un réseau tel qu'Internet, dans le cadre d'un moteur de recherche. Il permet également de localiser un objet identifié dans une image. Le système selon l'invention permet la reconnaissance d'un objet dans des conditions variées : - orientation quelconque - variation des conditions de prise de vue - échelle variable - vue partielle,... Le système permet d'extraire d'une base d'images celles qui contiennent une catégorie particulière d'objets, et peut être configuré par un procédé d'apprentissage automatique pour reconnaître une nouvelle catégorie d'objets. A cet effet, selon une variante de réalisation de l'invention, la fonction de réponse de chaque élément de traitement est déterminée par un module d'apprentissage. Selon un mode de mise en oeuvre particulier, la fonction de réponse de chaque élément de traitement est déterminée par un module d'apprentissage à partir d'une base d'images représentatives. Selon une variante avantageuse, chaque élément de traitement d'un module reçoit une projection constituée par un ensemble d'éléments de liaison identiques en provenance d'éléments de traitement d'un module d'un niveau inférieur ou identique. La présente invention sera mieux comprise à la lecture de la description d'un exemple non limitatif de réalisation. L'invention concerne un système formant un filtre pour la sélection d'images contenant des objets d'une catégorie donnée, dans une grande base d'images. Cette base peut par exemple être constituée par le réseau Internet, pour une application de moteur de recherche. Ce filtre se caractérise par les propriétés suivantes : il permet d'extraire d'une base d'images celles qui contiennent une catégorie particulière d'objets il peut être configuré par un procédé d'apprentissage automatique pour reconnaître une nouvelle catégorie d'objets. Le système selon l'invention a pour fonction la détection d'objets d'une catégorie particulière dans une image, et la localisation de ces objets dans l'image. Il permet la reconnaissance d'un objet, quelque soit l'orientation, les conditions de prise de vue, l'échelle, etc. Le système est organisé en modules de traitements (1) contenant chacun un ensemble d'éléments de traitement (2) répartis selon un réseau bidimensionnel. Les différents éléments de traitement (2) communiquent en se transmettant des signaux instantanés d'amplitude fixe au travers d'éléments de liaison (3), lesquels forment des projections entre les différents modules de traitement. Ces projections peuvent être invariantes par translation. Dans ce cas, des informations sur la position des éléments émetteurs peuvent être codées par la position des éléments récepteurs. Un tel système peut être implanté sous forme électronique, optique, chimique, etc. Selon un exemple particulier de mise en oeuvre, le système est simulé sous la forme d'un réseau de neurones à impulsion réalisant les traitements et les éléments de liaison sont des connexions synaptiques. Dans la réalisation sous forme de réseau de neurones, les neurones sont disposés en couches d'éléments qui peuvent être identiques. Ces couches correspondent aux modules de traitement et sont aussi appelées cartes neurales dans le contexte d'une telle simulation. Deux cartes interconnectées sont mises en correspondance à travers des ensembles de connexions ou champs synaptiques. Une implémentation particulière consiste à configurer le réseau de manière à ce que tous les neurones d'une même couche supérieure projettent vers une couche inférieure donnée un champ synaptique identique. Une image présentée en entrée génère un ensemble de signaux impulsionnels dans certains modules de traitement particuliers désignés comme modules de sorties, observé un certain temps après la présentation de l'image. L'arrivée des signaux impulsionnels dans ces modules indique qu'un ou plusieurs objets ont été détectés et l'organisation spatiale des éléments de traitement des modules peut permettre de déterminer la position du ou des objets détectés dans l'image d'entrée, à partir de la position des éléments ayant reçu les impulsions dans les modules de sortie. La configuration d'un système se fait au moyen d'un module d'apprentissage qui utilise une base d'images représentative des images auxquelles devra être appliqué le filtre. Les images de la base servant à l'apprentissage sont préalablement triées au moyen d'une technique quelconque, par exemple par un opérateur humain. A l'aide d'un module de décodage qui permet de traduire un vecteur de paramètres en une configuration de filtre selon l'invention, l'apprentissage détermine alors automatiquement des valeurs de paramètres permettant de reproduire le résultat du tri. Les éléments de traitement ou neurones communiquent par des signaux impulsionnels. A la réception d'un signal, un neurone augmente son potentiel interne d'une valeur qui dépend de la connexion qui a transmis l'impulsion et du temps d'arrivée de cette impulsion. Lorsque le potentiel d'un neurone dépasse un seuil prédéterminé, ce neurone émet à son tour une impulsion avant de réinitialiser son potentiel. En l'absence de signal entrant, le potentiel peut évoluer. Par exemple, il peut décroître selon un modèle de capacité, selon une loi de type TdV/dt=G (Vo-V). Une implémentation possible du système en temps discret permet alors de décrire la décroissance du potentiel entre deux intervalles de temps consécutifs sous la forme : v=v, +a (V,-Vt) où a désigne un coefficient d'atténuation propre à la carte neurale dans laquelle est situé le neurone. Ce paramètre peut être géré par la carte ellemême lorsque les connexions synaptiques sont construites selon un même modèle de champ récepteur pour tous les neurones d'une même carte. Le filtre accepte en entrée une collection d'images en niveaux de gris. Chaque image est par exemple le résultat d'un prétraitement à une image de départ à classer. Chaque image d'entrée est associée à une carte neurale de même taille. Les pixels des images d'entrée sont classés par ordre d'intensité décroissante et le neurone N de la carte neurale, associée au pixel P, émet une impulsion après un certain délai. L'intensité V et le délai ot de l'impulsion sont fonction du rang r du pixel dans l'image. Un choix possible est : V=, f. V. et 8t=r Une impulsion émise par un neurone est transmise par les connexions synaptiques aux couches supérieures. Chaque synapse applique une transformation w (. ) à l'intensité de l'impulsion. Dans la version discrète, le délai de transmission peut être fixé à un pas de temps. La fonction de transfert w (. ) est une fonction d'amplification linéaire de l'intensité de l'impulsion. Un élément de traitement ou neurone maintient des variables correspondant au temps et au rang d'arrivée de la dernière impulsion reçue ainsi qu'un état interne (par exemple une variable de potentiel interne). La variable de rang est remise à zéro à chaque émission d'impulsion et lors d'une réinitialisation du réseau. Lorsque l'état du neurone entre dans un domaine donné (par exemple lorsque le potentiel du neurone dépasse un seuil donné, le neurone décharge. Il émet une impulsion d'intensité Vimpulsion et initialise son état. Le potentiel interne est remis à une valeur Vinitiahsaton' Les modules de traitement ou cartes neurales sont constitués d'une matrice d'éléments de traitement ou neurones identiques partageant les mêmes valeurs de paramètres, mais pas les mêmes valeurs d'état, ou différents. Lorsque les neurones d'une carte sont identiques, et afin d'optimiser le temps de traitement, la gestion des impulsions peut être centralisée au niveau du module. Celui-ci se charge alors de récolter les impulsions émises par les modules desquels il reçoit les connexions, de les transmettre aux éléments de traitement correspondants en mettant à jour leurs variables d'état et de transmettre les impulsions émises par ces éléments de traitement aux modules qui lui sont connectés. Un choix possible pour l'intensité de l'impulsion parvenant au rang r à un neurone N au travers d'une connexion C est : v=Y'. w. Vimpulsion Le système peut être configuré pour détecter un nouveau type d'objets au moyen d'un module d'apprentissage capable d'estimer la qualité du filtre par l'intermédiaire d'un module d'évaluation et de modifier les paramètres du même filtre grâce à un module de décodage. Le module d'apprentissage fait appel en entrée à une base d'images déjà triée. Un module d'évaluation collecte des informations en provenance d'un ou plusieurs modules du filtre en cours de fonctionnement. Le module d'évaluation peut compter le nombre d'impulsions reçues par le module de sortie du filtre au cours d'un traitement et mesurer leur dispersion spatiale. Le module de décodage prend en entrée une description d'architecture et une liste de paramètres et configure le système à partir de ces données. La description de l'architecture stipule le nombre de modules de traitements, d'éléments de traitement, d'éléments de liaison, ainsi que leur disposition. La liste de paramètres est utilisée pour déterminer les paramètres des modules et des éléments de liaison. Un paramètre de la liste peut correspondre directement à un paramètre du filtre, éventuellement après le passage par une fonction de transfert. Le processus de décodage peut également être indirect. Par exemple, les MxM poids d'un champ synaptique peuvent être déterminés à partir de quelques paramètres qui détermine la forme d'une surface de poids. La fonction ainsi obtenue est échantillonnée pour déterminer la liste des poids synaptiques. Le module d'apprentissage teste tour à tour différents jeux de paramètres en les soumettant au module de décodage, puis en soumettant au filtre ainsi configuré différentes images de la base. Ce module mesure ainsi la qualité des jeux de paramètres, à l'aide des informations transmises par le module d'évaluation au terme de chaque traitement, et retient les jeux de paramètres les plus performants selon cette mesure. Les jeux de paramètres soumis au test peuvent être générés aléatoirement ou être dérivés de jeux de paramètres testés précédemment. Une instanciation possible du module d'apprentissage correspond à un algorithme évolutionniste. Dans ce cas, l'algorithme est appliqué aux vecteurs de paramètres qui sont destinés au module de décodage. Un échantillon aléatoire de tels vecteurs est évalué et les meilleurs vecteurs se voient attribuer une plus grande probabilité d'être retenus dans l'échantillon suivant. les vecteurs de paramètres retenus sont ensuite modifiés par des opérateurs de variation qui peuvent éventuellement être choisis de manière spécifique en fonction du rôle de chaque paramètre dans le décodage. REVENDICATIONS 1-Système pour la reconnaissance d'images caractérisé en ce qu'il comporte au moins un module de traitement formé par un réseau d'éléments de traitement interconnectés, délivrant chacun à leur sortie des signaux impulsionnels fonctions de l'image présentée à l'entrée du système, les entrées et sorties desdits éléments de traitement étant reliées par des éléments de liaison formant des projections entre les modules de traitement, pour la transmission de signaux impulsionnels, le système comportant en outre un module de sortie délivrant un signal après un délai de présentation de l'image d'entrée, en cas de reconnaissance d'une image de référence. 2-Système pour la reconnaissance d'images selon la revendication 1 caractérisé en ce que la fonction de réponse de chaque élément de traitement est déterminée par un module d'apprentissage. 3-Système pour la reconnaissance d'images selon la revendication 1 ou 2 caractérisé en ce que la fonction de réponse de chaque élément de traitement est déterminée par un module d'apprentissage à partir d'une base d'images représentative. 4-Système pour la reconnaissance d'images selon l'une au moins des revendications précédentes caractérisé en ce que chaque élément de traitement d'un module reçoit une projection constituée par un ensemble d'éléments de liaison identiques en provenance d'éléments de traitement d'un module d'un niveau inférieur ou identique. 5-Système pour la reconnaissance d'images selon l'une au moins des revendications précédentes caractérisé en ce qu'il est constitué d'un réseau de neurones à impulsions. 6-Système pour la reconnaissance d'images selon la revendication 5 caractérisé en ce que les neurones sont disposés en couches d'éléments qui peuvent être identiques, Ces couches correspondant aux modules de traitement. 7-Système pour la reconnaissance d'images selon la revendication 6 caractérisé en ce que deux cartes interconnectées sont mises en correspondance à travers des ensembles de connexions ou champs synaptiques. Une implémentation particulière consiste à configurer le réseau de manière à ce que tous les neurones d'une même couche supérieure projettent vers une couche inférieure donnée un champ synaptique identique. 8-Système pour la reconnaissance d'images selon la revendication 5 caractérisé en ce que, à la réception d'un signal, un neurone augmente son potentiel interne d'une valeur qui dépends de la connexion qui a transmis l'impulsion et du temps d'arrivée de cette impulsion et lorsque le potentiel d'un neurone dépasse un seuil prédéterminé, ce neurone émet à son tour une impulsion avant de réinitialiser son potentiel.