Vous êtes sur la page 1sur 22

Dtection de Visages lAide de Rseaux de Neurones

Erwan Le Martelot 17 janvier 2005

Table des matires


Introduction 1 Collecte des donnes : Balayage et 1.1 Balayage de limage . . . . . . . . 1.2 Masquage de donnes . . . . . . . 1.3 Passage en niveaux de gris . . . . 1.4 Normalisation . . . . . . . . . . . Filtrages . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 5 5 5 7 7 9

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

2 Fonctionnement du Rseau 2.1 Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Mise en place . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Apprentissage 10 3.1 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Contre-exemples . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Slection pertinente de solutions 12 4.1 Agrgation de multiples dtections . . . . . . . . . . . . . . . 13 4.2 Slection selon plusieurs avis de rseaux . . . . . . . . . . . . 14 5 Extension des visages non verticaux 5.1 Principe . . . . . . . . . . . . . . . . . 5.2 Fonctionnement . . . . . . . . . . . . . 5.3 Apprentissage et Topologie en sortie . . 5.4 Rsolution de langle de rotation . . . . 5.5 Topologie gnrale . . . . . . . . . . . Conclusion 16 16 16 17 17 18 19

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Rsum Lobjectif de cet article est de prsenter le principe de la dtection de visages dans des images laide de rseaux de neurones. Il est bas sur les travaux de Henry A. Rowley, Shumeet Baluja, et Takeo Kanade prsents dans [1]. Plusieurs problmatiques sont exposes et amnent dnir une chane de traitement. Tout dabord, les donnes dentre des rseaux doivent tre normalises, do la ncessit de dnir un ltrage prcdent la dtection. Ensuite, bien que la technique des rseaux de neurones soit, par construction trs polyvalente, lapplication tudie ici va amener dnir une topologie spcique pour ces rseaux employs pour la dtection. Par la suite se pose le problme de la supervision de lapprentissage. Si en eet un visage se dnit selon des critres bien prcis, un non visage na pas de dnition. Aussi seront abords des techniques pour dnir les jeux dexemples et de contre-exemples de lapprentissage. De plus, comme beaucoup de techniques imparfaites, il y a des dtections obsoltes voire fausses. Cest pourquoi des mthodes et heuristiques doptimisation seront proposes. Enn, un visage pouvant se prsenter sous dirents angles, une mthode sera expose an denrichir les possibilits du systme.

Introduction
Lanalyse du contenu des images et la reconnaissance de formes sont des domaines dapplications trs utiliss de nos jours et rendus de plus en plus ecaces par la puissance croissante des machines. La dtection de visages, traite ici, illustre bien les dicults rencontres dans ce type dapplications. En eet, toute reconnaissance passe par des critres de reconnaissance. Il faut donc pouvoir dnir ce qui est recherch dans limage. Un visage est quant lui relativement simple dnir. Cest sa dnition qui nous amnera dnir une topologie relativement intuitive pour les rseaux de neurones utiliss. An de rechercher des critres, il faut permettre nos donnes dtre comparables nos critres, il faut donc au pralable normaliser ces donnes. Cest ce qui nous amnera tout dabord dnir un ltrage pr dtection. Ensuite, nous pourrons dnir la topologie des rseaux. Puis, an de permettre un apprentissage, il faudra dnir ce qui doit tre supervis par lutilisateur et ce qui peut tre automatiquement supervis par lapplication. Seront cette n prsentes des mthodes et heuristiques allgeant la fois lapprentissage et optimisant les rsultats. La chane de traitement de la gure 1 montre lenchanement des tapes de la phase de dtection du systme de base propos. 3

Fig. 1 chane de traitement de la dtection Enn, je porterai ltude en n darticle sur le cas des visages frontaux prsents sous dirents angles. Cet article est bas sur les travaux de Henry A. Rowley, Shumeet Baluja, et Takeo Kanade prsents dans [1], lesquels dcrivent une mthode prcise de dtection de visages dans des images. Ce qui sera prsent ici sera moins spcique une mthode particulire. Ltude aura pour but, dune part, de prsenter les tapes et mthodes requises pour obtenir un bon systme de base de dtection, dautre part de discuter lutilisation des rseaux de neurones dans le contexte.

1
1.1

Collecte des donnes : Balayage et Filtrages


Balayage de limage

Lobjectif recherch tant la dtection de visages dans une image, il faut dabord dnir une fentre qui va parcourir limage la recherche dun visage. Cette fentre doit tre de taille xe pour servir de donne entrante aux rseaux. Cest ce qui nous amnera balayer limage plusieurs chelles. Dans larticle [1], les auteurs proposent une fentre de taille 20x20 pixels. Aussi, la dtection de visage ne pourra soprer que sur des images dune taille minimale de 20x20 pixels. Le balayage dmarrera donc sur une image sa taille initiale, puis limage sera successivement rduite chaque changement dchelle an de pouvoir reprer des visages plus ou moins prs sur cette image (Figure 2). Les auteurs proposent pour cette phase de dplacer le fentre sur chaque pixel de limage et de prendre 1.2 pour facteur dchelle. La vitesse de dplacement ainsi que lchelle peuvent tre modies mais si par exemple un dplacement de 2 au lieu de 1 divisera par deux le temps danalyse total, la dtection sera moins prcise. Il en va de mme pour lchelle. Aussi, un gain en vitesse se traduit immanquablement par une perte en performances de dtection.

Fig. 2 Procd de balayage dune image : 1) balayage une chelle donne, 2) rduction dchelle, puis 1), etc

1.2

Masquage de donnes

An de cibler lanalyse sur limage, un visage ayant une forme plutt ovale verticale, les quatre coins de la fentre seront ignors, ainsi quune bande de chaque ct, dans la mesure o ces donnes reprsenteront principalement un dcor, des habits, ou des cheveux, donnes trs variables et inutile pour de la dtection de visages. Cette technique amne donc dnir un masque de taille 20x20 pixels pour cacher des donnes (Figure 3).

Fig. 3 Fentre et Masque de donnes

1.3

Passage en niveaux de gris

Dans la recherche de traits de visages, la couleur napporte rien et ne peut que gner la dtection, cest pourquoi lanalyse est eectue en niveaux de gris. An dobtenir des variations de contraste, limage, si elle est en couleur, doit donc tre passe en niveaux de gris.

1.4

Normalisation

Maintenant que les donnes en entre sont dnies, il faut les rendre comparables quelles que soient les images originales. Chaque image peut en 5

Fentre originale

Fonction dintensit

Soustraction de la fonction dintensit Fig. 4 Calcul et application du ltre dgalisation dintensit eet provenir dun milieu plus ou moins lumineux ou avec un clairage et des ombres direntes. Il est donc important, pour quun rseau puisse apprendre, que les donnes soient normalises et que les variations de contraste soient reprsentatives de caractristiques de visages et non de milieux ou dexpositions. La normalisation des images va seectuer en deux temps : 1. Egalisation de la lumire dans limage, 2. Egalisation par histogramme. Egalisation de lintensit lumineuse de fond La premire tape de ce ltre de normalisation est lgalisation des intensits rencontres dans la fentre de limage. Nous nous intresserons aux pixels non cachs par le masque, larrire plan tant hors sujet. Le principe va tre de dnir une fonction qui approxime par rgion de la fentre lintensit globale de cette rgion et ensuite de la soustraire la fentre. Ceci aura pour eet de conserver les variations locales dintensit mais de ramener la moyenne globale dintensit par rgion une constante. Ainsi, linuence de lexposition initiale de limage est trs attnue. Cela permet, sur ce premier critre, une normalisation des images issues de milieux htrognes et tend donc rendre possible une comparaison. Limage 4 montre leet du ltre dgalisation dintensit. Cette image est tire de larticle de rfrence [1]. Egalisation de lhistogramme Bien que rendues plus homognes, les images traiter sont maintenant relativement fades. Jentend par l que les traits du visages ne ressortent que peu. Or, pour entraner le rseau reconnatre des traits, il faut tre mme 6

de les mettre en valeur. Cest donc l lobjectif de lgalisation des contrastes par histogramme. Ce procd a pour principe de rendre constante la frquence des valeurs. Le mot valeur est ici prendre au sens artistique, par opposition couleur, qui dnit en ce terme les nuances de gris. Pour ce faire, il faut calculer lhistogramme des valeurs de limage donnant pour chaque valeur sa frquence, savoir le nombre de pixels cette valeur. Cet histogramme doit avoir en mmoire, pour chaque pixel, sa position dans limage. Il faut alors calculer la moyenne dnie par : m= N ombre total de pixels N ombre de valeurs

o le nombre de valeurs est 256 lorsque lon travail en 8 bits par pixels, chaque valeur appartenant lintervalle [0, 255]. Cette moyenne calcule, elle nous donne le nombre de pixels par valeur quil faut avoir pour obtenir un histogramme plat. Ainsi, lalgorithme va itrativement, de 0 255, taler sur les proches voisins le surplus potentiel de pixels, amenant ainsi diminuer les frquences suprieures la moyenne et augmenter celles qui lui sont infrieures. A terme lhistogramme obtenu doit tre approximativement plat, donc les carts la moyenne pour chaque frquence proches de 0. La gure 5 montre la transformation de lhistogramme. Une fois lhistogramme galis, limage est reconstruite avec la nouvelle rpartition des valeurs. La gure 6 tire de [1] montre limage ainsi obtenue.

2
2.1

Fonctionnement du Rseau
Topologie

Dans toute utilisation de rseaux de neurones, il faut dnir une topologie de rseau. Il ny a aucune rgle pour dnir cette topologie et cest souvent par tests successifs quune bonne topologie est dnie. Cependant, dans le cas prsent, nous sommes mme de dnir une topologie de base. Un visage se distingue en eet surtout par des yeux, un nez et une bouche. Aussi, il semble intuitif de dnir une topologie segmentant limage an de pouvoir reprer de telles caractristiques. A cette n, larticle [1] propose une telle topologie : 4 units de 10x10 pixels, 16 units de 5x5 pixels, 7

Histogramme original avec sa moyenne

Histogramme galis

Fig. 5 Principe de lgalisation des valeurs dans lhistogramme

Fentres aprs soustraction de la fonction dintensit Puis galisation par histogramme Fig. 6 Application de lgalisation des valeurs par histogramme

6 units de 20x5 pixels. Une unit sera une donc une couche dentre de donnes. Les units carres peuvent notamment reprer un oeil, un nez, ou un coin de bouche tandis que les units en bande de 20x5 repre la ligne des yeux ou la bouche. Ainsi, les units seront entranes chacune une tache prcise et seront donc spcialises. Cest en runissant les rponses de ces units que lunit nale pourra dire si la fentre contient un visage ou non (Figure 7 tire de [1]).

Fig. 7 Rseau de dtection La topologie de base sera donc dune unit nale fournissant une rponse binaire (dans larticle [1]) ou probabiliste. On mettra derrire cette unit les couches caches du rseau, dnies plus haut. Jappelle notamment cela une topologie de base car le nombre dunits, leur taille et leur position restent non empiriques et ne peuvent en consquence pas tre fermement xs. Larticle [1], adoptant la topologie cite plus haut, prcise de mme que le nombre de couches de chaque unit peut tre augment et les auteurs utilisent pour leurs expriences des doubles et triples couches.

2.2

Mise en place

Les rseaux de neurones les plus rpandus et les plus simples la fois restent les perceptrons multi-couches (PMC) qui consistent en une succession 9

de couches, interconnectes totalement ou partiellement. Il est vident quun tel rseau brut ne peut convenir la topologie cite plus haut. Cependant, une proprit intressante dun rseau de neurones est que tout sous rseau est un rseau. Ainsi, tout rseau est un mta rseau. De l, on peut trs simplement dnir un rseau respectant la topologie cite plus haut partir de plusieurs PMC. Lalgorithme dapprentissage total reviendra transmettre tous les PMC, traitant chacun une unit, le rsultat attendu. Si lexemple apprendre est un visage, la premire tape transmet aux PMC des yeux, de la bouche et du nez, que lon attend une rponse positive. De l, chaque PMC applique son algorithme dapprentissage. La gure 8 illustre de manire simplie cette mise en place.

Fig. 8 Mise en place dun rseau de PMC

Apprentissage

Lapprentissage dun rseau de neurones tant supervis, il faut pouvoir dnir des exemples dapprentissage, ainsi que des contre-exemples.

10

3.1

Exemples

En premier lieu, il faut possder une certaine base dimages de visages. A partir de ces images, il va tre possible d e gnrer dautres exemples, proches des originaux mais qui apporteront de la robustesse aux rseaux. En eet, si nous nous intressons la dtection de visages verticaux, la verticalit et le centrage ne sont jamais parfaits. On peut donc crer partir dun visage exemple des images de ces visages tournes de quelques degrs de chaque ct, translates de quelques pixels, ou zooms quelque peu (Figure 9 tire de [1]). On peut galement faire une symtrie planaire, savoir limage du visage dans un miroir. Ainsi, on extrait de chaque exemple plusieurs exemples ayant de nouvelles caractristiques malgr leur proximit au visage original.

Fig. 9 Visages des auteurs [1] retourns, pivots, zooms lgrement Cependant, il faut rester prudent sur ce type dopration. En eet, autoriser une trop grande rotation ou translation aura pour eet de rendre la dtection moins prcise. Par exemple, en ne translatant que dun pixel, le ltre tend tre insensible un dcalage de la fentre de un pixel dans limage originale. Cette insensibilit est raisonnable mais on se retrouve une fois encore face la dualit rapidit/qualit. Cette technique apportant plus dexemples amne aussi plus limprcision si on la surexploite.

3.2

Contre-exemples

Sil est relativement simple de runir des exemples de visages, il nen va pas de mme pour les non visages. En eet, un visage est quelque chose de dnit. Or ce qui nest pas un visage ne se dnit pas. Tout ce qui nen est 11

pas un, savoir une innit de choses, est un contre exemple potentiel. Dans lidal, un rseau doit pouvoir apprendre ce qui est et ce qui nest pas lobjet dtecter. Pour approcher la diversit des contre-exemples de visages, il est cependant possible de proposer des solutions ecaces apportant des images susamment htrognes. Tout dabord, toute image, naturelle ou gnre, ne contenant pas de visage, contient des contre-exemples. An que le rseau apprenne, on peut lui faire analyser ce type dimage et toute dtection de visage sera une erreur, donc un contre-exemple sur lequel il devra apprendre. Ainsi, on peut dnir de manire relativement automatise une procdure dextraction de contreexemples correcteurs. Cette mthode est dautant plus intressante quil peut exister dans des images des congurations possdant des points communs avec des traits de visages. Des taches sombres environs aux emplacements des yeux, du nez et de la bouche peuvent induire un rseau en erreur. Ainsi, avec ce type de contre-exemple, il apprendra tre plus exigeant sur la prcision dans ces zones. La gure 10, tire de [1], illustre ce procd.

Fig. 10 Dtection dans une image ne contenant pas de visages et visualisation des fentres trouves. Ces fentres ont pour certaines en eet des caractristiques assez agrantes de visage au niveau des variations de valeurs.

Slection pertinente de solutions

Limprcision et linsensibilit quelques pixels prs amne trs souvent de multiples dtections dun mme visage dans un voisinage proche. Il faudrait pouvoir, parmi ces multiples propositions, en slectionner ou en agrger une. De mme, considrant cette proprit, une dtection isole peut tre considre comme une erreur. 12

Fig. 11 Dtections multiples de visages et erreurs isoles Cette observation amne les auteurs de [1] proposer deux mthodes de slection : lagrgation de multiples dtections, la slection selon les avis de plusieurs rseaux de neurones.

4.1

Agrgation de multiples dtections

La gure 11 extraite de [1] montre la dtection multiples de visages ainsi que des dtections errones isoles. Les auteurs proposent donc une heuristique liminant une bonne partie des dtections errones. Il sagit de compter, dans un voisinage restreint, le nombre de dtections dchelles proches. Si ce nombre est suprieur un certain seuil dnit au pralable, la zone est considre comme un visage. Si par contre ce nombre est infrieur ce seuil, alors la dtection est considre comme errone. An de dnir la dtection conserve, le centre de chaque fentre est calcul. Tous ces centres vont prendre, dans une image appele pyramide, la valeur du nombre de centre de dtections quils approchent dans un voisinage dnit par un seuil. Cela va amener au calcul de centrodes, centres unissant les points du voisinage approchant un minimum, dnit par un seuil, de dtections. Ces centres, jusquici, peuvent dnir des premires dtections. Maintenant, une deuxime heuristique est ensuite propose, plus arbitraire mon sens, dans laquelle il sagit dliminer les dtections qui dbordent sur une autre dtection valide, savoir considre comme correcte. Applique au calcul des centrodes, cette heuristique va donc traiter s13

Fig. 12 Elimination tort (dtection marque en rouge) par lheuristique liminant les dtections dbordant sur des visages dtects quentiellement les centrodes en commenant par celui ayant le plus de dtections son actif. Ensuite, tout centrode, reprsentant donc moins de dtections, qui amne une dtection dbordant sur une prcdente, est supprim. Ainsi, la n, il ne reste que des centrodes ayant un certain poids de dtection et ne concurrenant aucun autre centrode. Cette heuristique limine dans la plupart des cas des dtections fausses. Cependant, dans une recherche de visage par exemple dans un lieu o beaucoup de gens se croisent, les personnes situes aux premiers plans seront repres l o ceux plus en retraits seront lagus. Ce type dheuristique doit donc tre utilise avec prudence selon limage analyse et lobjectif recherch pour cette dtection. Si en eet, il sagit de rechercher un visage dans une foule en combinant dtection et reconnaissance de visages, cette heuristique prsente des risques certains (Figure 12 cre depuis [1]).

4.2

Slection selon plusieurs avis de rseaux

Une autre approche pour rduire le nombre derreurs consiste entraner plusieurs rseaux et ensuite choisir en fonction de leurs rponses, celles qui doivent tre conserves ou limines. An de rendre ecace ce type de mthode, on considre que les poids initiaux des rseaux sont distribus alatoirement. De mme, la slection et lordre des exemples pour lapprentissage sont propres chaque rseau. Ainsi on limine la possibilit de duplication parallle, mme partielle, des rseaux. Si lon utilise un algorithme dapprentissage de type rtro propagation 14

Fig. 13 Dtections de deux dirents rseaux

Fig. 14 Slection eectue par loprateur ET du gradient, il ny a pas de facteur alatoire, il faut donc imprativement un maximum de dirences initiales et dapprentissage. Dans le cas dun algorithme gntique, une base commune aura moins de consquences car les croisements et mutations seront bass sur des facteurs alatoires. Quelle que soit la mthode employe, on peut donc arriver des rseaux faisant des erreurs direntes, et si lapprentissage est susant, leur convergence davis donnera en gnral les dtections justes (Figure 13 et 14 cres depuis [1]). Les dtection slectionnes seront celles qui concident prcisment en terme de position et dchelle, lquivalent dun ET logique. Ainsi, il est peu probable que deux rseaux saccordent sur une erreur, compte tenu de leurs dirences initiales et dapprentissage. Cependant, si un rseau ne dtecte pas bien un visage, mme si lautre la bien fait, cette dtection ne sera pas slectionne. Toutefois, ces cas sont trs rares. Cette technique peut tre applique avec n rseaux et la slection des visages peut aussi se faire par ou OU logique. Bien sur, davantage de rseaux peut entraner plus de dsaccords. De mme un OU nlimine pas les fautes mais les runi. Cependant, coupl avec la technique dagrgation, les multiples dtections tant de fait plus nombreuses encore (somme de plusieurs rseaux), cela permet dtre plus exigeant sur le seuil minimal des dtections multiples

15

et donc dliminer avec moins derreurs les mauvaises dtections. Il y a donc plusieurs approches utiliser et combiner, chacune possdant des proprits intressantes.

Extension des visages non verticaux

Jusquici, les visages dtects sont supposs tre droits. La technique employe ne permet pas de dtecter un visage cart de plus de quelques degrs de laxe vertical. Mme si cette conguration verticale est la plus courante, il nest pas envisageable dans le cas rel den faire une hypothse aussi forte. Une premire ide pourrait tre de conserver le systme en place, et, de mme que le processus est rpt sur limage rduite, il pourrait tre rpt sur limage pivote. Cependant, en admettant par exemple que notre dtection soit insensible 10 degrs prs, ce type de technique demanderait au moins 18 rptitions du processus (donc une rotation de 20 chaque fois), dj lourd en soi. Cette technique, trop lourde en calcul, nest donc pas envisageable. Larticle [2] apporte ce problme une solution bien plus rapide. Dans la mme ide que la chane de traitement vu prcdemment, il va sagir dintroduire une tape pr dtection supplmentaire.

5.1

Principe

Lide propose va tre dutiliser un nouveau rseau de neurones, dterminant langle dun visage par rapport laxe vertical. Ce rseau suppose que limage prsente est un visage, il ny a pas ce niveau dattente sur la dtection. En eet, il sera entran reconnatre langle dun visage par rapport laxe vertical. Si la fentre nen contient pas, il renverra une valeur angulaire sans importance puisque la dtection ne retiendra pas limage. La puissance de cette mthode va tre que pour toute fentre, ltape de rotation nest applique quune seule fois.

5.2

Fonctionnement

Les tapes de mise en oeuvre de la rotation dimage ont une structure assez similaire ce qui a t vu auparavant. Chaque fentre passe travers lgalisation par histogramme. Ensuite limage rsultante est prsente un rseau de neurones qui renvoie le degr dcart laxe vertical. Ensuite, la fentre initiale est pivote, puis la chane prcdente sapplique, savoir galisations pr dtection puis dtection. 16

Fig. 15 chane de traitement avec rotation de limage La gure 15 extraite de [2] illuste la chane de traitement ainsi obtenue.

5.3

Apprentissage et Topologie en sortie

Lapprentissage du rseau de rotation va tre dirent de lapprentissage utilis pour la dtection. En eet, le rseau ne doit pas renvoyer une valeur boolenne mais permettre dobtenir un angle de rotation. Il ny aura donc dans cet apprentissage aucun contre-exemple. La sortie du rseau ne va pas tre une valeur mais un vecteur de 36 valeurs. Lors de lapprentissage, ces valeurs, supervises, seront : cos( i 10) avec langle connu du visage sur lexemple dapprentissage, i une valeur comprise entre 0 et 35. De mme que pour la phase de dtection, les images dapprentissage sont lgrement tourns, translats et rduites et produisent dune part une batterie dexemple et dautre part par voie de consquence une insensibilit de lgres rotations, translations ou rductions.

5.4

Rsolution de langle de rotation

Maintenant que le rseau est entran, il faut pouvoir dduire des 36 valeurs de sortie un angle de rotation appliquer la fentre. Simplement, on pourrait vouloir chercher le cosinus le plus proche de 1, savoir celui pour lequel i 10 est le plus proche de 0. On aurait alors la valeur de i fournissant 5 prs la meilleure approximation de langle.

17

Cependant, la fonction cosinus ne marcherait que pour des angles compris entre 0 et 180. Aussi, une autre approche est propose, dans laquelle la valeur de sortie pour tout i va tre vue comme un poids attribu i. Lide est de sommer, sur tous les i le produit de leur poids multipli par le cosinus ou le sinus de langle i 10 selon laxe de coordonnes. On obtient le vecteur dnit par les valeurs :
35 35

outputi cos(i 10),


i=0 i=0

outputi sin(i 10)

o outputi est la ie sortie du rseau. Les coordonnes horizontale et verticale de ce vecteur vont ainsi dnir langle du visage. On peut sentir intuitivement pourquoi ce vecteur approche langle voulu. La bonne valeur de i donne thoriquement un poids proche de 1. Donc le produit de ce poids par cos(i 10) et sin(i 10) donne une premire bonne approximation. Cependant, les autres valeurs contiennent elles aussi de linformation. En eet, plus i 10 est loin de , plus cos( i 10) diminue. Donc en sommant galement ces valeurs, on utilise linformation comme quoi ces valeurs possdent une information, mais tant moins prcise, leur poids est moindre. On peut voir ce calcul comme une synthse spectrale avec pondration. Cela vite de mettre toute la conance en une seule valeur.

5.5

Topologie gnrale

Dans cette partie, il nest plus possible de dnir une topologie aussi prcise que lors de la dtection. Le rseau na priori aucune information sur la disposition des formes rechercher comme les yeux, le nez ou la bouche pour la dtection. Ainsi, dans ce genre de cas, le perceptron multi-couches connection totale entre les couches est souvent employ. Les auteurs de [2] proposent une premire couche en entre de 400 units, soient autant de pixels que la fentre donne en entre, puis une couche cache de 15 units, et enn la couche de sortie de 36 units (Figure 16). Ce type de topologie relve plus de lexprience de tests raliss que dune tude formelle. Plus le rseau est gros, plus il est coteux en calculs, mais souvent plus il est prcis. Il faut donc trouver, et souvent par le test, un juste milieu. Il en va de mme pour les fonctions dactivations. Ici, ils ont choisi une tangente hyperbolique. Lalgorithme dapprentissage est quant lui trs souvent le clbre algorithme de rtro propagation du gradient comme cest le cas dans leur mthode. Cependant, les algorithmes de type gntique, dune approche totalement dirente, non formelle, donnent souvent des rsultats comparables voire meilleurs selon les cas. 18

Fig. 16 Rseau de rotation

Conclusion
Cette application des rseaux de neurones montre la simplicit avec laquelle, exemples en main, cet outil est utilisable pour obtenir rapidement un premier rsultat. Cependant, ce sont la prcision de la dtection et le taux derreurs qui sont sujets la plupart des travaux. Lecacit et la robustesse dun systme se jugeront surtout sur les heuristiques et les mthodes employes pour loptimiser. Ces mthodes doivent dune part minimiser le taux de mauvaises dtections, et dautre part maximiser le score de bonnes dtections. Ces deux scores ne sont pas totalement complmentaires, nous avons en eet discut des dangers de lheuristique liminant toute dtection en chevauchant une autre plus probable. Ainsi, lerreur se dnit la fois en fonction du nombre de mauvaises dtections, mais aussi du nombre de dtections omises. Cest ce balancement entre ces deux facteurs qui rend dicile loptimisation. Les mthodes sont en gnral ecaces pour lun mais prsentent des eets de bords pour lautre. Cest ainsi que traiter lensemble des cas peut complexier exponentiellement le traitement pour une amlioration parfois logarithmique. De plus, si lon considre tous les angles, en trois dimensions, sous lesquels 19

peuvent tre prsent un visage, la reconnaissance devient beaucoup moins triviale. Pour traiter la reconnaissance de visages tourns en dehors du plan de limage, comme des prols, plusieurs mthodes peuvent tre envisages. Lutilisation de la symtrie et de la forme du visage peut amener dduire depuis un visage vu de ct sa forme frontale. Une autre mthode, analogue celles vues ici, serait dentraner sparment des rseaux reconnatre langle de prsentation, comme prol gauche, semi prol gauche, face, semi prol droit, prol droit. Cependant, ces angles, bien que les plus courants, ne sont pas les seuls.

20

Rfrences
[1] Henry A. Rowley, Shumeet Baluja, and Takeo Kanade, Neural Network-Based Face Detection, Janvier 1998 School of Computer Science, Carnegi Mellon University, Pittsburg Justsystem Pittsburg Research Center, Pittsburg Henry A. Rowley, Shumeet Baluja, and Takeo Kanade, Rotation Invariant Neural Network-Based Face Detection, School of Computer Science, Carnegi Mellon University, Pittsburg Justsystem Pittsburg Research Center, Pittsburg

[2]

21

Fig. 17 Interface graphique de la cration dun rseau de neurones

Implmentation
Une librairie personnelle de rseaux de neurones implmentant le Perceptron multi-couches avec : Apprentissage par rtro propagation du gradient, Apprentissage gntique, et avec les fonctions dactivations Seuil (Heaviside), Sigmode exponentielle, Gaussienne, Tangente hyperbolique, est disponible sous licence GPL ladresse : http ://rone56.free.fr/Prog/NeuralNetworks.html Elle peut tre employe pour la mise en place dun rseau de dtection de visage selon la mthode expose plus haut.

22

Vous aimerez peut-être aussi