Réseaux de neurones artificiels: la reconnaissance de visages
Publié par Publication le 19/12/2004 à 20:13

Méthode des k-ppv

La méthode la plus simple de reconnaissance des formes est appelée k-ppv pour "k plus proches voisins". Elle consiste simplement à mesurer la distance euclidienne entre l'image à tester et toutes les images présentes dans la base d'apprentissage (L’apprentissage est l'acquisition de savoir-faire, c'est-à-dire le processus d’acquisition de pratiques, de connaissances, compétences, d'attitudes ou de valeurs culturelles, par l'observation, l'imitation, l'essai, la...) afin d'en déterminer les k plus faibles. Il suffit alors de déterminer à quelle classe appartient l'objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette verbale. Il est défini par les...) en question. L'avantage principal réside dans une programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire...) extrêmement rapide et un temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) d'accès aux informations utiles immédiat (pas de nécessité d'apprentissage). Par contre, il faut disposer d'un bon échantillon (De manière générale, un échantillon est une petite quantité d'une matière, d'information, ou d'une solution. Le mot est utilisé dans différents...) d'images de l'objet à caractériser. Cette méthode limitée est donc essentiellement utilisée dans des environnements industriels contrôlés où un faible nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) d'images suffit à la discrimination. Dans le cas d'un environnement (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et artificiels au sein duquel se déroule la vie humaine. Avec les enjeux écologiques actuels, le terme environnement tend...) non contrôlé, il faudrait au contraire détenir à l'avance les images de l'objet sous différents angles, illuminations, zoom, etc. Le temps de calcul nécessaire au parcours de toutes les images de la base pour effectuer le calcul de distance devient alors beaucoup trop important, bien que des algorithmes de rapprochement et de parcours particuliers de la base permettent une accélération (L'accélération désigne couramment une augmentation de la vitesse ; en physique, plus précisément en cinématique, l'accélération est une grandeur...).

Un autre critère important est l'incrémentalité des données. En effet, un système de reconnaissance doit être dynamique (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il peut être employé comme :) et pouvoir évoluer dans le temps en fonction de l'expérience. Pour un visage, ceci est particulièrement vrai, le temps transformant petit à petit l'aspect physique (La physique (du grec φυσις, la nature) est étymologiquement la « science de la nature ». Dans un sens général et ancien, la physique...), mais il faut aussi prendre en compte l'ajout éventuel de nouvelles personnes dans la base de référence. Dans le cas de la méthode des k-ppv, l'indexation d'une nouvelle image d'un visage, ou d'une nouvelle personne se fait donc très facilement puisque il suffit de l'ajouter à la base, cela ne nécessitant en outre aucun temps d'apprentissage ou de traitement particulier, ce qui explique son utilisation dans les cas simples.

Rappel sur le neurone artificiel

Les deux prochaines méthodes sont basées sur l'utilisation de réseaux de neurones. Un petit rappel sur le neurone artificiel s'impose donc:


Chaque neurone est relié à différentes entrées ( X ). Celles-ci sont soit les variables d'entrées du réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets »,...), soit les sorties des couches précédentes. Chacune de ces entrées est pondérée par un poids (Le poids est la force de pesanteur, d'origine gravitationnelle et inertielle, exercée par la Terre sur un corps massique en raison uniquement du voisinage de la Terre. Elle est égale à...) ( W ). Un poids total ( Total est la qualité de ce qui est complet, sans exception. D'un point de vue comptable, un total est le résultat d'une addition, c'est-à-dire une somme. Exemple : "Le total des dettes". En physique le total n'est pas...) ( p ) est ainsi calculé après rajout du biais ( B ) propre à chaque neurone. Ce poids normalisé entre -1 et 1 indique le degré (Le mot degré a plusieurs significations, il est notamment employé dans les domaines suivants :) d'activation (Activation peut faire référence à :) du neurone. Une fonction sigmoïde ( f ) est alors utilisée pour la propagation de l'information et donne une sortie ( Y ) toujours normalisée entre -1 et 1. Toutes les informations sont alors stockées dans la valeur des poids et un algorithme d'apprentissage par rétropropagation (La technique de rétropropagation du gradient (Backpropagation en anglais) est une méthode qui permet de calculer le gradient de l'erreur pour chaque neurone du réseau, de la dernière...), que nous ne développerons pas ici, sur de nombreux exemples est nécessaire à l'optimisation d'une solution.

Réseau de neurones discriminant

Une méthode classique de classification neuronale repose sur l'utilisation d'un réseau discriminant qui permet de prendre en compte toutes les informations de chaque classe afin de mieux pouvoir les séparer. Ce réseau est un perceptron multi-couches à architecture (L’architecture peut se définir comme l’art de bâtir des édifices.) figée, tous les neurones d'une couche étant reliés à chacun de la couche précédente et possédant une couche intermédiaire entre l'entrée et la sortie dite de "cachée". La méthode du réseau discriminant repose donc sur l'utilisation d'un unique réseau de neurones donnant en sortie la classe d'appartenance (dans notre cas le nom de la personne) d'une image inconnue en entrée. Il est composé d'une couche d'entrée, d'une couche cachée et de N sorties pour autant de personnes à discriminer:


Il y a donc autant de cellules d'entrées que de pixels composant les images. Ceci impose que toutes les images soient de tailles identiques. Afin de réduire la complexité (La complexité est une notion utilisée en philosophie, épistémologie (par exemple par Anthony Wilden ou Edgar Morin), en physique, en biologie (par...) du réseau, une taille de 15x15 peut par exemple être choisie, ce qui porte à 225 le nombre d'entrées. La couche cachée est composée d'un nombre plus ou moins important de neurones (entre 10 et 200) dont dépendra le temps nécessaire à l'apprentissage et le résultat.

Le principal avantage par rapport au calcul des distances euclidiennes réside dans le temps de calcul nécessaire à l'identification. En effet, celui-ci n'est lié qu'à la complexité du réseau de neurones. Mais même avec de nombreuses cellules sur la couche cachée, la propagation de l'entrée vers la sortie se fait de manière quasi-instantanée ( en ms ). La taille des données stockées est également fortement réduite, puisque le réseau ( quelques ko ) remplace tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes...) d'images de références.

Par contre, cette méthode nécessite un très long apprentissage qui dépend du nombre de neurones sur la couche cachée et surtout du nombre de classes en sortie. Avec 33 personnes à discriminer et 120 neurones sur la couche cachée, il faut compter un minimum de 48 heures (L'heure est une unité de mesure  :) de calculs avec un P4 (calculs réalisés sous le système Matlab, ce qui permet d'espérer un gain conséquent en langage C) !! On imagine alors la difficulté pour ajouter une nouvelle personne à la base ou tout simplement une nouvelle image d'un visage existant (exemple de l'apparition soudaine et inexpliquée d'une barbe de trois jours (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le...) par exemple !). Dans ce cas, un réapprentissage total du réseau est nécessaire. Un autre type de réseau a donc été utilisé.

Réseaux de neurones de modélisation

La troisième méthode est ainsi basée sur une série de réseaux de neurones de type diabolo. Plutôt que de chercher à discriminer chaque classe, une modélisation de chaque individu (Le Wiktionnaire est un projet de dictionnaire libre et gratuit similaire à Wikipédia (tous deux sont soutenus par la fondation Wikimedia).) est ici réalisée. La particularité de ce réseau réside dans un nombre de sorties identique au nombre d'entrées, le but étant alors d'obtenir une sortie la plus proche possible de l'entrée dans le cas d'une image appartenant à la bonne classe. Chaque personne est donc stockée dans un réseau propre (entre 50 et 200 Ko). Concrètement, en phase (Le mot phase peut avoir plusieurs significations, il employé dans plusieurs domaines et principalement en physique :) d'apprentissage, toutes les images décrivant un individu vont ainsi permettre l'apprentissage d'un unique réseau décrivant la personne, l'image de sortie devant être identique à l'entrée et ce pour chaque image. Lors du test, chaque nouvelle image est propagée dans les différents réseaux diabolos puis une mesure de distance entre le vecteur (En mathématiques, un vecteur est un élément d'un espace vectoriel, ce qui permet d'effectuer des opérations d'addition et de...) d'entrée et de sortie est réalisée. Puisqu'il s'agit d'un réseau modélisateur, plus cette distance sera faible, meilleur sera la probabilité (La probabilité (du latin probabilitas) est une évaluation du caractère probable d'un évènement. En mathématiques, l'étude des probabilités est un sujet de grande importance donnant lieu à de...) d'appartenance à la classe testée. La mesure la plus faible est alors retenue pour le choix de la personne.


Pour imager la technique, on peut prendre l'exemple abstrait de deux classes, celle d'un chien (Le chien (Canis lupus familiaris) est un mammifère domestique de la famille des canidés, proche du loup et du renard. Autrefois regroupé dans une espèce à part entière, connue...) et une autre d'un chat (Le chat domestique (Felis silvestris catus) est un mammifère carnivore de la famille des félidés. Il est l’un des principaux animaux de compagnie et compte aujourd’hui une cinquantaine de races différentes...). Deux réseaux différents sont alors appris, l'un modélisant un chien à partir d'images de chien et l'autre avec un chat. Si on présente maintenant une image de chien au premier réseau, une image de sortie de chien sera présente alors qu'une image mélange (Un mélange est une association de deux ou plusieurs substances solides, liquides ou gazeuses qui n'interagissent pas chimiquement. Le résultat de...) entre chien et chat sera donnée (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) par le second réseau. Le premier avantage de la méthode devient alors évident. Si l'on présente aux réseaux connus une image d'un objet inconnu, aucune réponse satisfaisante ne sera donnée (Dans les technologies de l'information, une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction, d'un...), et une nouvelle classe pourra éventuellement être apprise indépendamment de l'architecture déjà existante. Dans le cas du réseau discriminant unique, une telle souplesse était impossible.

Par contre, le temps de calcul nécessaire à l'identification est légèrement plus élevé qu'avec la méthode précédente (propagation dans plusieurs réseaux avec calculs de distance entre sorties et entrées) mais reste tout à fait faible en comparaison de la méthode de calcul des distances euclidiennes à chaque image. Le grand avantage apporté par l'utilisation de réseaux modélisateurs réside dans la simplicité et la rapidité d'incrémentalité. Seul l'apprentissage du réseau de la nouvelle personne est ainsi nécessaire pour agrandir la base ou en modifier la modélisation d'une personne. De plus, les réseaux étant indépendants les uns des autres, un apprentissage en parallèle devient possible, augmentant la rapidité des tests de configuration, surtout si l'on ajoute à cela une complexité nécessaire réduite de l'architecture. Enfin, les résultats d'identification sont meilleurs avec cette méthode qu'avec la précédente et c'est cette méthode qui a été choisie pour la suite de l'application.
Page générée en 0.615 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique