• Aucun résultat trouvé

Reconnaissance et suivi de visages et implémentation en robotique temps-réel

N/A
N/A
Protected

Academic year: 2022

Partager "Reconnaissance et suivi de visages et implémentation en robotique temps-réel"

Copied!
93
0
0

Texte intégral

(1)

Universit´ e Catholique de Louvain

Ecole Polytechnique de Louvain M´ emoire de fin d’´ etudes

Reconnaissance et suivi de visages et impl´ ementation en robotique

temps-r´ eel

R´ealis´e par

Mathieu Van Wambeke en vue de l’obtention du diplˆome de

Master Ing´enieur Civil en G´enie Biom´edical

Promoteur:

Prof. Benoˆıt Macq Assistant:

Christian Van Brussel

Ann´ ee acad´ emique 2009-2010

(2)

Remerciements

Je remercie particuli`erement ma famille pour le soutien qu’elle m’a apport´e et la motivation qu’elle a su me donner lorsque j’en avais le plus besoin.

Je tiens `a remercier mon promoteur, le professeur Benoˆıt Macq, sans qui je n’aurais pas pu r´ealiser ce m´emoire ni avoir acc`es `a Nao, le petit robot humano¨ıde.

Je remercie sinc`erement mon assistant-chercheur, Christian Van Brussel, pour ses pr´ecieux conseils lors de la r´edaction et sa disponibilit´e sans failles.

Je remercie ´egalement mes compagnons m´emorants du local a143.10, Arnab Bhat- tacharya, Mireia Monta˜nola et les autres, grˆace auxquels l’ambiance de travail fut ex- cellente.

Je remercie aussi S´ebastien Brousmiche et Abdellatif Zaidi pour leurs conseils avis´es.

(3)

R´ esum´ e

Dans ce m´emoire, il est question d’impl´ementer sur un robot humano¨ıde les m´ecanismes de base d’une relation entre individus. L’objectif est de reconnaˆıtre les personnes et de s’orienter vers une d’entre elles pour commencer une interaction.

Le robot humano¨ıde Nao de Aldebaran Robotics sert de support au logiciel et la reconnaissance se fait exclusivement sur base de donn´ees biom´etriques visuelles captur´ees dans un environnement r´eel, donc soumis `a des variations d’illumination. Nao effectuera une localisation et une poursuite des visages et sera capable de se souvenir des gens qu’il croise apr`es ne les avoir vu qu’une seule fois. Ce probl`eme de reconnaissance `a partir d’un seul clich´e est trait´e dans la litt´erature sous le nom de ’one sample problem’ ou reconnaissance avec un seul ´echantillon d’apprentissage par personne.

L’application de reconnaissance de visages convertit les images en mod`eles binaires locaux (’local binary patterns’), les divise en plusieurs sous-r´egions et d´etermine l’identit´e d’un visage en comparant leurs histogrammes de sous-r´egions. Le nombre de mani`eres de diviser l’image en sous-r´egions pouvant se chevaucher est colossal et empˆeche de s´electionner la meilleure en les essayant toutes. Ce m´emoire propose une m´ehode pour garantir le choix d’une des meilleures combinaisons de sous-r´egions.

De plus, il est propos´e une technique de g´en´eration de cartes des zones les plus utiles

`

a la discrimination qui permet de mettre en ´evidence l’importance des zones fronti`eres des ´el´ements cl´es du visage tels que le nez, la bouche ou les yeux dans le cas de la reconnaissance de visages par comparaison d’histogrammes de mod`eles binaires locaux.

(4)

Table des mati` eres

Remerciements I

R´esum´e II

Table des mati`eres III

Introduction 1

Structure du m´emoire . . . 3

I Etat de l’art 4

1 D´etection de visages 5 1.1 Algorithme de Viola & Jones. . . 6

1.1.1 L’image int´egrale . . . 6

1.1.2 Algorithme d’apprentissage bas´e sur Adaboost . . . 8

1.1.3 Cascade . . . 9

1.2 Param´etrisation & Entraˆınement . . . 10

1.3 Travaux existants suite `a l’Algorithme de Viola & Jones . . . 12

1.3.1 Nouvelles caract´eristiques . . . 12

1.3.2 Am´eliorations du Training set . . . 12

1.3.3 Derni`eres avanc´ees : Wu et al. . . 12

1.3.4 Derni`eres avanc´ees : Xiaohua et al. . . 13

2 Reconnaissance de visages 15 2.1 Probl`eme `a ´echantillons multiples . . . 16

2.2 Probl`eme avec un seul ´echantillon d’entraˆınement par personne. . . 16

2.2.1 M´ethodes holistiques . . . 17

2.2.2 M´ethodes locales . . . 17

2.2.3 M´ethodes hybrides . . . 19

2.3 Les ’Local Binary Patterns’ appliqu´es `a la reconnaissance faciale . . . 19

(5)

2.3.1 Derni`eres avanc´ees : Travail de Tan et Triggs . . . 22

2.4 Le traitement de l’illumination. . . 25

II Application 26

3 Conception de l’application 27 3.1 Mise en situation . . . 27

3.1.1 D´efinition de l’objectif et ´enum´eration de ses cons´equences . . . . 27

3.1.2 Importance du temps r´eel et des performances . . . 28

3.1.3 Mat´eriel disponible et limitations . . . 29

3.1.4 Le challenge . . . 30

3.2 G´erer le probl`eme du temps r´eel . . . 30

3.2.1 Diff´erence entre temps de r´eaction et le temps de rafraichissement 30 3.2.2 Points importants pour choisir la distribution id´eale des tˆaches . . 32

3.2.3 Choix des lieux d’ex´ecution : l’architecture prototype . . . 33

3.3 Architecture prototype et cycle de fonctionnement standard . . . 33

3.3.1 D´etection des visages . . . 34

3.3.2 La poursuite . . . 35

3.3.3 Reconnaissance des visages . . . 36

3.4 Pistes pour am´eliorer les performances . . . 41

3.4.1 Nouvelles informations spatiales . . . 41

3.4.2 Collaboration des syst`eme de reconnaissance et de poursuite . . . 42

3.5 Conclusion . . . 43

4 Entraˆınement sous MatLab du stage de reconnaissance 44 4.1 Ensembles d’entraˆınement, de validation et bases de visages . . . 45

4.2 Taille de fenˆetre utilis´ee . . . 46

4.3 S´election de la combinaison de sous-r´egions pour la reconnaissance faciale 47 4.3.1 Difficult´e et objectif. . . 47

4.3.2 Strat´egie et r´esultats . . . 48

4.4 Conclusion et suite . . . 51

5 Obtenir une carte des zones utiles `a la discrimination 54 5.1 Contexte et motivations . . . 54

5.2 Division en parties contigues . . . 55

5.3 Introduction aux ensembles d’apprentissage et de validation artificielle- ment g´en´er´es . . . 56

(6)

5.4 Exploitation de parties non-contigues . . . 57

5.4.1 M´ethode (a) . . . 57

5.4.2 M´ethode (b) . . . 58

5.4.3 M´ethode (c) . . . 59

5.4.4 M´ethode (d) . . . 59

5.5 Strat´egie propos´ee et r´esultats . . . 63

5.6 Conclusion . . . 65

6 Impl´ementation C++ et test des performances 67 6.1 Impl´ementation . . . 67

6.2 Test de la d´etection des visages . . . 68

6.2.1 Orientations d´etect´ees . . . 68

6.2.2 Cadrage des visages. . . 68

6.3 Test de la reconnaissance des visages . . . 70

Conclusion 72 Bibliographie 78 Appendices 84 A Impl´ementation C++ : la librairie ImProc 85 A.1 Les librairies utilis´ees . . . 85

A.2 La librairie ImProc . . . 86

(7)

Introduction

La reconnaissance faciale est une aptitude qui relie l’apparence d’une personne `a son identit´e. Lors d’une rencontre, cette comp´etence permet de se rappeler des ´echanges pr´ec´edents et ainsi de construire une relation `a long terme o`u les individus finissent par se connaˆıtre et savoir anticiper leurs comportements et besoins respectifs. Dans une situation o`u un d´elit est effectu´e `a visage d´ecouvert, reconnaˆıtre le coupable permet de lui faire assumer la responsabilit´e de ses actes.

L’int´erˆet de la communaut´e scientifique `a la reproduction de cette aptitude pour des applications judiciaires, de contrˆole et d’assistance est donc manifeste; la v´erification d’identit´e pour le d´everrouillage d’ordinateur ou la traque de suspects `a travers les enregistrements vid´eos de stations de m´etro repr´esentent un ´echantillon des nombreuses applications envisageables `a partir de ce type de technologie.

L’objectif de ce m´emoire est de concevoir et d’impl´ementer sur un petit robot hu- mano¨ıde commercialis´e par Aldebaran Robotics une application de reconnaissance fa- ciale capable de reconnaˆıtre les individus apr`es une seule prise de vue. Nao, le petit robot humano¨ıde, montrera son intention d’entrer en interaction avec une des personnes reconnues en la poursuivant du regard.

Le logiciel d´evelopp´e aura deux tˆaches principales `a effectuer. Tout d’abord la locali- sation des visages dans le champ visuel de Nao et leur poursuite `a chaque rafraˆıchissement de l’image. Ensuite la reconnaissance des visages d´etect´es.

Dans un contexte plus large, ce logiciel incarne l’assise d’applications plus sophis- tiqu´ees d’interactions homme-machine : une fois les personnes reconnues et le regard orient´e vers un individu, la voie est prˆete pour un ´echange. Celui-ci pourra, par exemple, commencer par l’analyse des ´emotions du visage de la personne ou par le rassemblement des donn´ees en m´emoire concernant l’individu.

De par cette position `a la source d’une grande quantit´e d’applications potentielles, l’ex´ecution du logiciel devra ob´eir `a des exigences de fluidit´e et de rapidit´e et fournir un r´esulat robuste.

(8)

Figure 1: Robot humano¨ıde Nao utilis´e comme support de l’application de ce m´emoire. Il mesure 58 centim`etres, est capable de se mouvoir et poss`ede une cam´era sur le front qui sera utilis´ee par le logiciel pour capturer l’image de l’environnement qui lui fait face. Ses ressources au niveau du processeur et de la m´emoire sont faibles et am`eneront le logiciel final `a ˆetre ex´ecut´e `a cˆot´e, sur un ordinateur distant plus puissant.

La seconde tˆache charg´ee de la reconnaissance des visages convertit d’abord l’image en ’mod`eles binaires locaux’ et divise l’image en sous-r´egions pouvant se chevaucher. Un comptage des mod`eles binaires locaux est ensuite r´ealis´e pour chaque sous-r´egion et les histogrammes ainsi obtenus servent de base `a la comparaison d’individus.

La mani`ere de d´ecomposer l’image a une influence capitale sur les performances finales du classifieur: comme la transformation en histogrammes efface toutes les informations quant `a l’emplacement des mod`eles binaires locaux, la division est l’unique garante que des donn´ees concernant l’organisation spatiale sont disponibles durant le processus de comparaison.

Trouver la meilleure combinaison de sous-r´egions n’est pas facile vu leur nombre.

Ainsi, trouver la meilleure association de trois sous-r´egions contenues dans un visage de 60×60 pixels, signifie s´electionner 1 combinaison parmi 6.2597×1018 candidats. Ce m´emoire accorde une importance sp´eciale `a ce probl`eme et propose une solution pour g´erer ce grand nombre de candidats.

De plus, il a ´et´e d´ecid´e de d´evelopper une m´ethode de g´en´eration d’une carte qui, par sa consultation, permettrait de rep´erer tout de suite les zones du visage `a consid´erer

(9)

prioritairement pour la reconnaissance. Cette carte offrirait par la mˆeme occasion une vue d’ensemble du visage en termes de ces zones les plus `a mˆeme de diff´erencier les individus.

Le d´eveloppement d’une telle m´ethode s’est r´ev´el´e plus ardu que pr´evu et les prin- cipaux probl`emes `a r´esoudre ont ´et´e les cons´equences n´egatives des effets de bord et la tendance au gommage des contours de la carte lors de l’utilisation de m´ethodes simples.

Structure du m´ emoire

Dans les deux premiers chapitres j’introduirai les probl`emes de localisation et de reconnaissance faciale et pr´esenterai les principales m´ethodes qui sont utilis´ees de nos jours pour leurs r´esolutions.

Dans le troisi`eme chapitre, je parlerai de la conception du logiciel de reconnais- sance faciale utilisant Nao comme support en pr´ecisant les contraintes mat´erielles que l’utilisation d’un tel robot provoque sur l’architecture d’une application de ce type.

Dans le quatri`eme chapitre, je param´etrerai le logiciel pens´e au chapitre 3 en utilisant le logiciel MatLab.

Dans le cinqui`eme chapitre, j’expliquerai comment j’ai d´evelopp´e un syst`eme qui per- met de g´en´erer une carte des r´egions les plus utiles `a la discriminination dans le cas de la reconnaissance faciale `a partir d’un seul clich´e.

Dans le sixi`eme chapitre, je donnerai le r´esultat des tests de performance.

(10)

Partie I

Etat de l’art

(11)

Chapitre 1

D´ etection de visages

La d´etection des visage pose le probl`eme de la localisation des visages pr´esents dans une image d’entr´ee. Id´ealement, la d´etection fourni aussi leurs dimensions pour un ´eventuel traitement ult´erieur.

L’int´erˆet de la localisation faciale va au-del`a de l’application de ce pr´esent m´emoire.

Son utilit´e se manifeste dans des domaines vari´es allant de la vid´eosurveillance au jeu interactif. Les premi`eres difficult´es rencontr´ees par les m´ethodes s’attelant `a d´etecter les visages sont les variations de pose (vue de profil, de face), d’expression, de rotation du visage1, d’ˆage et d’illumination. Ce dernier type de difficult´e pouvant ˆetre surmont´e par un pr´etraitement de normalisation et de compensation de l’illumination pr´esent´e au chapitre 2.4. Pour le reste la difficult´e est d’autant plus grande que la plupart des applications ayant recours `a cette technologie requi`erent une ex´ecution en temps r´eel, limitant les marges de manoeuvre de l’algorithme.

Une classification des m´ethodes de localisation faciale est propos´ee par Yang et al.

[49]:

• ”Knowledge-based methods”. Ces m´ethodes se basent sur la connaissance des diff´erents ´el´ements qui constituent un visage et des relations qui existent entre eux. Ainsi, les positions relatives de diff´erents ´el´ements cl´es tels que la bouche, le nez et les yeux sont mesur´es pour servir ensuite `a la classification ’visage’ ’non- visage’ chez Chiang et al. [13]. Le probl`eme dans ce type de m´ethode est qu’il est difficile de bien d´efinir de mani`ere unique un visage. Si la d´efinition est trop d´etaill´ee, certains visages seront rat´es tandis que si la description est trop g´en´erale le taux de faux positifs montera en fl`eche.

• ”Feature invariant approaches”. Ces approches utilisent les ´el´ements invariants

1selon un axe perpandiculaire `a l’objectif

(12)

aux variations d’illumination, d’orientation ou d’expression tels que la texture ou la signature de couleur de la peau pour la d´etection.

• ”Template matching methods”. Des mod`eles caract´eristiques d’un visage entier ou de sous-partie de visage (bouche, oeil, nez) sont cr´e´es. La localisation se fait ensuite sur base de la corr´elation de ces mod`eles avec les candidats.

• ”Appearance-based methods”. Ces m´ethodes utilisent le mˆeme principe que pr´esent´e au point pr´ec´edent mais se basent sur des mod`eles appris `a partir de set d’entraˆınement.

Ces m´ethodes pr´esentent l’avantage de s’executer tr`es rapidement mais demandent un long temps d’entraˆınement. Les m´ethodes appartenant `a cette cat´egorie ont montr´e de bons r´esultats par rapport aux 3 autres types de m´ethodes [54], on peut citer parmi celles-ci la m´ethode bas´ee sur les r´eseaux de neurones de Rowley et al.

[29], la m´ethode de Schneiderman et Kanade [30] bas´ee sur un classifieur de Bayes na¨ıf ainsi que le fameux algorithme de Viola et Jones [38] fonctionnant en temps r´eel qui sera d´etaill´e plus loin.

Notons que la d´elimitation entre les trois premi`eres cat´egories est parfois floue et que dans les articles plus r´ecents, ces cat´egories sont fusionn´ees entre elles [54, 35, 20].

1.1 Algorithme de Viola & Jones

Une avanc´ee majeure dans le domaine a ´et´e r´ealis´ee par Viola et Jones en 2001 [38]. Ces derniers ont propos´e une m´ethode bas´ee sur l’apparence (”Appearance-based methods”) robuste et tournant `a 15 fps pour des images de 384 x 288 pixels sur un pc Intel Pentium III 700Mhz. Ce fut la premi`ere m´ethode en temps r´eel pr´esent´ee. La renomm´ee de cette approche 2 est faite sur trois concepts :

1.1.1 L’image int´ egrale

L’algorithme se base sur les caract´eristiques de Haar (Haar features) pour localiser les visages pr´esents sur une image d’entr´ee. Dans le but d’extraire rapidement ces car- act´eristiques, l’image est repr´esent´ee sous forme int´egrale. En effet, sous cette forme, l’extraction d’une caract´erisque `a n’importe quel endroit et `a n’importe quelle ´echelle est effectu´ee en un temps constant tandis que le temps de conversion vers la repr´esentation int´egrale ne remet pas en cause ce gain de temps offert par l’utilisation de la repr´esentation en image int´egrale. La d´efinition des caract´eristiques de Haar et la mani`ere dont la

2L’article Robust Real-Time Face Detection [39] est cit´e plus de 1600 fois selon Google Scholar

(13)

repr´esentation int´egrale acc´el`ere consid´erablement leur extraction sont pr´esent´es ci-apr`es pour une image en niveaux de gris.

Dans toute image, une zone rectangulaire peut ˆetre d´elimit´ee et la somme des valeurs de ses pixels calcul´ee. Une caract´eristique de Haar est une simple combinaison lin´eaire de sommes ainsi obtenues.

Plusieurs caract´eristiques de Haar peuvent ˆetre d´efinies selon le nombre, les ´echelles, les positions et les dimensions des zones rectangulaires consid´er´ees. 4 exemples sont pr´esent´es `a la figure 1.1.

Figure 1.1: Exemple de 4 caract´eristiques de Haar. La somme des valeurs des pixels ap- partenant aux zones encadr´ees claires est soustraite `a la somme des valeurs des pixels appartenant aux zones encadr´ees sombres pour obtenir la caract´eristique de Haar. Chacune des quatre caract´eristiques de Haar est repr´esent´ee avec son cadre de d´etection respectif.

Pr´esent´e comme tel, le calcul d’une caract´eristique de Haar demande `a chaque fois l’acc`es aux valeurs de tous les pixels contenus dans les zones rectangulaires consid´er´ees.

Cela devient vite contraignant temporellement d`es que les caract´eristiques de Haar sont d´efinies par des zones rectangulaires de grandes dimensions. L’image int´egrale permet de surmonter ce probl`eme en rendant constant le temps de calcul d’une caract´eristique de Haar `a n’importe quelle ´echelle.

L’image int´egrale est r´epr´esent´ee math´ematiquement par : ii(x, y) = X

x0≤x,y0≤y

i(x0, y0) (1.1)

∀ 0< x≤width,0< y ≤height (1.2) o`u i(x, y) est l’image d’origine et i(x0, y0) l’image sous sa nouvelle repr´esentation. Ainsi chaque pixel a pour valeur la somme des valeurs des pixels compris dans le rectangle d´efini par le coin sup´erieur gauche de l’image et lui-mˆeme.

(14)

Le calcul de la somme des valeurs des pixels appartenant `a une zone rectangulaire s’effectue donc en acc´edant seulement `a quatre pixel de l’image int´egrale : Soit un rectangle ABCD dont les sommets sont nomm´es dans le sens des aiguilles d’une montre en commen¸cant par le sommet sup´erieur gauche et soit x la valeur sous la repr´esentation int´egrale d’un sommet X du rectangle (X ∈ {A, B, C, D}). La somme des valeurs des pixels appartement `a ABCD est, quelle que soit sa taille, donn´ee par c−b−d+a.

Une caract´eristique de Haar ´etant une combinaison lin´eaire de tels rectangles ABCD, son calcul se fait alors en un temps ind´ependant sa taille.

1.1.2 Algorithme d’apprentissage bas´ e sur Adaboost

Pour localiser les visages sur l’image d’entr´ee, cette derni`ere est scann´ee par une fenˆetre de dimension d´etermin´ee. La fenˆetre parcourt l’image et son contenu est analys´e pour savoir s’il s’agit d’un visage ou non. Comme dit plus haut, les caract´eristiques de Haar sont extraites pour effectuer la classification et de ce fait la repr´esentation int´egrale de l’image acc´el`ere l’analyse. Mais, pour une fenˆetre de 24x24 pixels il y a 45 396 caract´eristiques de Haar, les traiter toutes prendrait beaucoup trop de temps pour une application en temps r´eel. Pour surmonter ce probl`eme, une variante de la m´ethode de boosting Adaboost est utilis´ee.

Ci-dessous Adaboost est bri`evement pr´esent´e suivi de sa variante qui constitue le deuxi`eme apport du travail de Viola & Jones.

Adaboost est une m´ethode d’apprentissage permettant de ”booster” les performances d’un classifieur quelconque nomm´e ”classifieur faible”. L’id´ee est de faire passer les candidats `a classifier `a travers plusieurs classifieurs faibles, chacun ´etant entraˆın´e en portant plus d’attention sur les candidats mal classifi´es par le classifieur pr´ec´edent.

Pour arriver `a ce r´esultat des poids sont associ´es aux ´echantillons du set d’entraˆınement3 ((xi, yi) i= 1, ..., m), tout d’abord de mani`ere ´equilibr´ee :

w0i = 1

m (1.3)

pour i= 1, ..., m. Le 0 en exposant indique qu’il s’agit des poids initiaux.

Ensuite le premier classifieur faible est entraˆın´e comme suit :

h0 = argminhj∈Hj (1.4)

avec l’erreur j = Pm

i=1wi0δ(yi−hj(xi)) et H l’ensemble des classifieurs faibles. Puis une nouvelle g´en´eration de poids wi1 sont cr´e´es tels qu’ils accordent plus d’importance

3Pour un ´echantillon (x, y) appartenant au set,xest la valeur de l’´echantillon etyla classe `a laquelle il appartient

(15)

aux ´echantillons mal classifi´es par h0. Ensuite un nouveau classifieur h1 est entraˆın´e, puis de nouveaux poids w2i sont g´en´er´es et ainsi de suite. Enfin, apr`es T it´erations, le classifieur fort H(x) est obtenu :

H(x) = sign

T

X

t=1

αtht(x)−θ

!

(1.5) avec α= 12ln

1−t

t et θ un seuil `a d´eterminer. La valeur `a attribuer `a ce dernier sera dis- cut´ee plus loin. Chaque classifieur fort est donc constitu´e d’un nombreT de classifieurs faibles.

Adaboost sert donc `a booster une classifieur d´ej`a existant et `a priori chaque clas- sifeur faible poss`ede le mˆeme espace d’entr´ee. Dans la variante d’Adaboost de Viola

& Jones, les classifieurs faibles hj ∈ H ont pour entr´ee une caract´eristique de Haar diff´erente. Adaboost s’apparente alors `a une s´election de caract´eristiques (feature selec- tion). Cette variante d’Adaboost est utilis´ee lors de l’apprentissage pour s´electionner les caract´eristiques de Haar les plus `a mˆeme de d´etecter un visage et permet ainsi de surmonter le probl`eme du nombre ´elev´e de caract´eristiques de Haar existant pour une fenˆetre de recherche.

1.1.3 Cascade

L’id´ee de base derri`ere le concept de Cascade est que parmi l’ensemble des candidats, c’est `a dire l’ensemble des ´etats de la fenˆetre de recherche, une partie peut ˆetre ´elimin´ee sur base de l’´evaluation de seulement quelques caract´eristiques de Haar. Une fois cette

´

elimination effectu´ee, les candidats restants sont analys´es par des classifieurs forts plus complexes (utilisant plus de caract´eristiques de Haar) demandant un plus grand temps de traitement. En utilisant plusieurs ’´etages’ de ce type, le processeur ´evite d’effectuer des analyses lourdes en temps de calcul sur des ´echantillons pour lesquels il est rapidement possible de se rendre compte qu’ils sont n´egatifs. Le processus de classification apparaˆıt alors comme une cascade de classifieurs forts de plus en plus complexes o`u `a chaque

´

etage les ´echantillons classifi´es n´egatifs sont sortis tandis que les ´echantillons classifi´es positifs sont envoy´es aux classifieurs suivants. Ceci est repr´esent´e `a la figure 1.2.

Si le premier ´etage rejette un faux n´egatif, c’est un gros probl`eme car il ne sera jamais r´ecup´er´e par la cascade. Autrement dit c’est un visage qui ne sera pas d´etect´e.

Par contre, si le premier ´etage transmet un faux positif, il pourra toujours ˆetre ´elimin´e aux ´etages suivants de la cascade. Ce petit raisonnement permet de mettre en ´evidence que les premiers noeuds constitutifs de la cascade peuvent se permettre d’avoir un taux de faux positifs ´elev´es (de l’ordre de 40-50%) mais doivent absolument assurer un taux

(16)

Figure 1.2: Cascade de classifieurs forts. A chaque ´etage, uniquement les candidats classifi´es positifs sont transmis `a l’´etage suivant.

de d´etection maximum. La param´etrisation de l’algorithme en ce sens sera d´etaill´ee dans la prochaine section.

Ce concept permet donc `a l’algorithme de consacrer son temps `a de longues analyses complexes uniquement lorsque cela en vaut la peine. Il s’agit `a nouveau d’un m´ecanisme qui acc´el`ere la vitesse d’ex´ecution de la m´ethode propos´ee par Viola & Jones.

1.2 Param´ etrisation & Entraˆınement

Le nombre d’´etages dans la cascade, leurs seuils de d´etection θ et le nombre de car- act´eristiques T consid´er´e `a chaque ´etage sont `a ajuster pour que la localisation soit rapide et atteigne un taux de d´etection ´elev´e. Cet ajustement se fait pendant la phase de construction de la cascade qui sera d´ecrite apr`es l’introduction des quelques ´el´ements cl´es ci-dessous.

Premi`erement, pour une image d’entr´ee en situation r´eelle, le nombre de candidats qui s’av´ereront positifs est relativement faible par rapport au nombre total de candidats.

Le probl`eme est dit asym´etrique. Il faut d`es lors pour assurer une d´etection fiable que le taux de d´etection des n´egatifs soit bien plus ´elev´e que le taux de d´etection des positifs.

On parle typiquement d’un taux de d´etection autour de 95%-99% et d’un taux de faux positif extrˆement faible4 de l’ordre de 10−7. L’asym´etrie constitue donc une difficult´e `a la r´esolution du challenge de localisation faciale. Notons que le probl`eme de localisation faciale est asym´etrique pour 3 raisons cat´egoris´ees par Wu et al. dans [44].

Ensuite et enfin, les ´el´ements cl´es taux globaux de d´etection D et taux de faux

4Un taux de d´etection des n´egatifs ´elev´e (= F P+T NT N ) ´equivaut `a un faible taux de faux positifs (= F PF P+T N)

(17)

positifs F sont d´efinis comme suit :

D =

K

Y

i=1

di (1.6)

F =

K

Y

i=1

fi (1.7)

o`u K est le nombre d’´etages de la cascade, di l’objectif local de d´etection (voir plus loin) et fi l’objectif local de faux positifs (idem).

La m´ethode de construction de la cascade utilis´ee par Viola & Jones re¸coit ses objectifs en terme de taux de d´etection et taux de faux positifs globaux. Ceux-ci permettent de d´eterminer les objectifs locaux (entendre par noeud) par les formules pr´esent´ees-ci dessus. Puis, la cascade est construite un ´etage apr`es l’autre, le processus prenant fin d`es lors que les objectifs globaux sont atteints. La construction d’un ´etage est faite en utilisant Adaboost, ce dernier ajoute des caract´eristiques au classifieur fort jusqu’`a ce que les taux locaux de d´etections de positifs et n´egatifs soient atteints.

Imaginons une cascade de 15 ´etages pour laquelle nous souhaitons obtenir un taux de d´etection de 99% et un taux de faux positif de 10−7. Par les formules ci-dessus l’objectif local en taux de d´etection doit donc ˆetre de 99.93%. Ce dernier semble au premier abord difficile mais l’op´eration est facilit´ee par le fait que le taux de faux positifs local n´ecessaire est de 34.14% (>> 10−7). Ainsi la difficult´e attribu´ee au haut taux de faux positif global est surmont´ee par l’utilisation de la cascade qui ”divise” l’embˆuche parmi les ´etages. Notons que le taux de d´etection local est quant `a lui sup´erieur `a son ´equivalent global.

On observe qu’une cascade entraˆın´ee comme telle r´epond aux attentes de rapidit´e formul´ee par l’exigence du temps r´eel. Les premiers niveaux traitent quelques car- act´eristiques en rejettant plus de 50% des n´egatifs tandis que les derniers niveaux plus complexes analysent jusqu’`a plusieurs milliers de caract´eristiques de Haar pour arriver au mˆeme r´esultat. La complexit´e et le temps de calcul sont donc bien distribu´es de mani`ere

`

a ce qu’uniquement les candidats les plus prometteurs soient soumis aux analyses les plus gourmantes en instructions.

Une technique de boostrapping est utilis´ee lors de l’entraˆınement du d´etecteur en cascade. Apr`es la construction de chaque ´etage, un nouveau set de non-visages est construit pour l’entraˆınement du suivant. Celui-ci est constitu´e des ´echantillons n´egatifs qui n’auront pas ´et´e d´etect´es par la cascade en cours de construction. Le set d’´echantillon positif reste quant `a lui toujours le mˆeme.

(18)

1.3 Travaux existants suite ` a l’Algorithme de Viola

& Jones

1.3.1 Nouvelles caract´ eristiques

Lienhart et al. ont propos´e en plus de la repr´esenation int´egrale une repr´esentation int´egrale inclin´ee o`u chaque pixel a pour valeur la somme des valeurs des pixels com- pris dans la zone rectangulaire inclin´ee de 45 dont le point extrˆeme droit est le pixel consid´er´e. Aux mod`eles initiaux de Viola & Jones sont donc ajout´es leurs ´equivalents inclin´es de 45. Le set obtenu ainsi et utilis´e par Lienhart et al. est pr´esent´e `a la figure 1.3. Lienhart et al. ont obtenu ainsi des am´eliorations de l’ordre d’un demi-pourcent d’erreur.

Figure 1.3: Set de caract´eristiques de Haar obtenu par Lienhart et al. en utilisant les concepts d’image int´egrale et d’image int´egrale inclin´ee.

1.3.2 Am´ eliorations du Training set

Les performances du classifieur final peuvent ˆetre am´elior´ees en pr´eparant le set d’entraˆınement.

Les travaux r´ecents effectu´es par Chen et al. [9] proposent une m´ethode bas´ee sur un algorithme g´en´etique pour ´etendre le set de visages. L’utilisation de leur approche est selon leurs dires la plus prometteuse dans le domaine de l’optimisation du Training set.

En reconnaissance faciale, le ”one sample problem” o`u un seul ´echantillon est disponible par personne `a reconnaˆıtre, des travaux s’int´eressent `a la g´en´eration de nouveaux ´echantillons positifs `a partir d’un seul visage. Cette optimisation du training set sera trait´ee dans le chapitre 2 consacr´e `a la reconnaissance faciale.

1.3.3 Derni` eres avanc´ ees : Wu et al.

La version d´evelopp´ee par Wu et al. en 2008 [44] est prise dans un article r´ecent comme r´ef´erence en terme de vitesse et de performance [46]. Leurs travaux se consacrent `a la fois `a la vitesse de traitement, la vitesse d’apprentissage et aux performances en

(19)

termes de taux de d´etection. L’algorithme de Viola & Jones effectue la s´election de car- act´eristiques et l’apprentissage en une seule ´etape lors de l’intervention d’Ababoost dans l’algorithme. Wu et al. proposent de traiter ses deux phases s´epar´ement et avancent que cela permet de mieux g´erer les difficult´es li´ees `a l’asym´etrie du probl`eme de localisation faciale. Ils ´enum`erent leurs contributions au nombre de trois. Premi`erement une analyse appronfondie du probl`eme qui r´ev`ele trois causes d’asym´etrie du probl`eme et les diffi- cult´es qu’elles engendrent. Deuxi`emement une m´ethode de s´election de caract´eristiques est propos´ee, la FFS pour ”forward feature selection”, cette derni`ere acc´el´erant 50 `a 100 fois l’apprentissage d’Ababoost. Et troisi`emement un algorithme d’apprentissage nomm´e ”Linear Asymetric Classifier” (LAC) est pr´esent´e. Il est montr´e que ce dernier am´eliore les performances du classifieur.

1.3.4 Derni` eres avanc´ ees : Xiaohua et al.

Comme vu plus haut, lors de l’entraˆınement de la cascade, un nouveau set de non-visages est g´en´er´e par bootstrapping `a la fin de la construction de chaque ´etage. Xiaohua et al. [46] ont remarqu´e qu’au fur et `a mesure que la cascade grandissait, les non-visages collect´es sont de plus en plus similaires aux visages et que le taux d’erreur des noeuds les plus profonds sur un set de validation compos´e uniquement d’´echantillons n´egatifs tendait vers 0.5. Cela signifie qu’il devient ardu de trouver des caract´eristiques encore capables de distinguer les non-visages des visages. Ils observent aussi que le nombre de caract´eristiques n´ecessaires pour atteindre les objectifs locaux en terme de taux de d´etection et de faux positifs augmente selon une pente de plus en plus raide pour les noeuds profonds. Ceci confirme la difficult´e de trouver des bonnes caract´eristiques.

Notons que les ´echantillons positifs utilis´es sont des carr´es couvrant la zone yeux-nez- bouche.

Xiaohua et al proposent qu’au del`a d’une certaine profondeur soient consid´er´ees les parties entourant la zone yeux-nez-bouche en se basant sur le fonctionnement du syst`eme visuel humain [34]. Ils avancent que les informations de ces zones peuvent ˆetre b´en´efiquement utilis´ees lorsque la zone centrale est ´epuis´ee. Ainsi une hi´erarchie est mise en place o`u 3 dimensions standards d’´echantillons positifs sont utilis´ees successivement pour entraˆıner la cascade. Ceci est pr´esent´e `a la figure 1.4.

De plus, ils proposent une extension du set de caract´eristiques de Haar compos´e de wavelets de Gabor simplifi´ees. Ces wavelets sont des fonctions inspir´ees du profil des champs r´eceptifs de l’oeil des mammif`eres [14]. Elles sont simplifi´ees car elles sont calcul´ees `a partir des repr´esentions int´egrales et int´egrales inclin´ees de mani`ere `a ne pas compromettre l’aspect temps r´eel de l’algorithme de Viola et Jones. Ceci est illustr´e `a

(20)

Figure 1.4: 3 types d’´echantillons positifs utilis´es par Xiaohua et al. pour am´eliorer les performances du classifieur en cascade. Le format de gauche est d’abord utilis´e puis lorsque son potentiel en caract´eristiques devient trop faible le format suivant est utilis´e et ainsi de suite.

la figure 1.5.

Figure 1.5: En haut : quelques wavelets de Gabor. Une fr´equence `a plusieurs orientations est pr´esent´ee. En bas : ´echantillon des Wavelets de Gabor simplifi´ees utilis´ees comme caract´eristiques pour le classifieur en cascade.

Les exp´eriences men´ees par l’´equipe montre des am´eliorations en terme de vitesse et de taux de d´etection par rapport `a la version de Wu et al.

(21)

Chapitre 2

Reconnaissance de visages

Le domaine de la reconnaissance faciale se veut de proposer des m´ethodes pour parvenir

`

a identifier des personnes `a partir d’informations visuelles. Pour cela la reconnaissance faciale fait partie des m´ethodes de biom´etrie qui visent `a l’identification des personnes

`

a partir d’informations biologiques. D’autres m´ethodes appartenant `a cette cat´egories sont par exemple la capture de l’image de l’iris ou des empreintes digitale.

La reconnaissance faciale est un domaine de recherche aux publications foisonnantes en raison de ses nombreuses applications. Parmi celles-ci les syst`emes de contrˆole d’acc`es, de surveillance, d’interaction homme machine dans des applications multim´edia de di- vertissement ou `a finalit´es ´educatives, de v´erification de carte de cr´edit et bien d’autres.

Une premi`ere distinction au sein des approches existantes peut se faire entre les m´ethodes `a ´echantillons multiples et les m´ethodes `a ´echantillon unique. Dans la premi`ere cat´egorie, le training set est compos´e de plusieurs prises de vue par sujet et ces derni`eres peuvent inclure des variations diverses telles que l’illumination, l’ˆage, l’orientation du visage ou l’expression. La seconde cat´egorie, quant `a elle, s’attarde sur des probl`emes de reconnaissance o`u il n’y a qu’un seul ´echantillon disponible par personne pour construire le reconnaisseur de visage.

Un br`eve description de l’´etat de la technique pour le probl`eme `a ´echantillons mul- tiples est faite ci-dessous suivi d’un ´etat de l’art de la r´esolution du probl`eme de la reconnaissance faciale `a partir d’une seule image. Cette d´emarche qui accorde plus d’int´erˆet sur le probl`eme `a ´echantillon unique est utilis´ee car l’attention de ce m´emoire est premi`erement port´ee sur ce probl`eme aussi d´enomm´e le ”one sample problem”. Apr`es cet

´

etat de l’art, je m’attarderai `a d´ecrire et faire l’inventaire d´etaill´e des derni`eres avanc´ees relatives `a la m´ethode des ’Local Binary Patterns’ qui sera utilis´ee pour l’application de ce m´emoire.

(22)

2.1 Probl` eme ` a ´ echantillons multiples

Les m´ethodes s’attelant `a la r´esolution de ce probl`eme peuvent ˆetre class´ees en plusieurs cat´egories [53]:

1. Les m´ethodes de projection qui prennent en entr´ee un vecteur constitu´e de la concat´enation des lignes de l’image. On compte entre autres parmi ces m´ethodes l’analyse en composante principale (PCA) [36] et l’analyse en discriminant lin´eaire de Fisher(FLDA) [7]. Les limitations de ces m´ethodes viennent de leur sensibilit´e aux variations d’expression et d’illumination car elles consid`erent chaque visage comme une combinaison de vecteurs de base appel´es ”Eigen Face” ou ”Fisher Face”, ce qui est ´evidemment faux [5].

2. Les r´eseaux de neurones parmi lesquels ont peut noter la pr´esence de la m´ethode Elastic Bunch Graph Matching (EBGM) [43] o`u un graphe est superpos´e au visage de mani`ere `a faire correspondre les noeuds `a des points cl´es du visage tels que les yeux et le bout du nez. Chacun de ses noeuds est rattach´e `a un ou plusieurs ”jets”

de Gabor constitu´es de r´eponses du voisinage du noeud en question face `a des filtres associ´es `a plusieurs wavelets de Gabor. Ces jets de Gabor attribuent `a la m´ethode EBGM une robustesse face aux variations d’illumination, aux distortions et aux changements d’´echelle [26]. Notons que le champ de recherche issu des EBM (Elastic Graph Mathing) est large et compte dans ses rangs d’autres m´ethodes que le EBGM tels que le morphological elastic graph matching (MEGM) [22] ou le discriminant elastic graph matching (DEGM) [52].

3. Les autres m´ethodes sont bas´ees sur l’obtention d’informations compl´ementaires telles que la profondeur ou le profil infrarouge. Ces techniques ouvrent la voie `a de nouvelles m´ethodes pour contrer les variations d’illumination qui seront trait´ees dans le chapitre2.4.

2.2 Probl` eme avec un seul ´ echantillon d’entraˆınement par personne

Les avantages d’un syst`eme capable de r´esoudre ce probl`eme sont (1) la facilit´e de rassembler un training set car une simple photo suffit par personne; (2) une ´economie de m´emoire pour le stockage de la base de donn´ees; (3) une ´economie de temps d’apprentissage peut avoir lieu puisqu’il n’y a qu’une seule image par personne `a consid´erer [32]. L’int´erˆet

(23)

d’un tel syst`eme est donc tout `a fait tangible que ce soit pour un syst`eme de poursuite de suspect `a travers un r´eseau de cam´eras ou pour la v´erification d’identit´e.

Dans ce type de probl`eme, on ne peut compter sur la taille du training set pour distinguer les variabilit´es intra-class (au sein d’un mˆeme groupe, ici l’ensemble des vari- ations pouvant affecter un mˆeme visage, `a savoir l’illumination, la pose, l’expression, l’ˆage) et inter-class (entre les individus)[42].

L’ensemble de ces m´ethodes peut faire l’objet d’une classification, celle de Tan et al.

[32] compte 3 cat´egories qui seront d´etaill´ees dans les sections suivantes : les m´ethodes holistiques, les m´ethodes locales et les m´ethodes hybrides.

2.2.1 M´ ethodes holistiques

Ces derni`eres utilisent comme entr´ee l’image compl`ete sous forme d’un vecteur de niveau de gris pour d´ecider d’une identit´e. Ici tombent des extensions au ”one sample problm”

issues des m´ethodes de projection pr´esent´ee plus haut. Malheureusement, ces m´ethodes de projection con¸cues pour le probl`eme `a ´echantillons multiples ne sont pas directement utilisables ici. En effet, les m´ethodes de projection telle que la LDA [51] ayant fait leurs preuves dans le domaine du probl`eme `a ´echantillons multiples souffrent du probl`eme du petit nombre d’´echantillons (small sample size (SSS) problem) [19] [55] qui d´egrade leurs performances. N´eanmoins, on trouve dans les d´eveloppement r´ecents des travaux qui passent au dessus de ce probl`eme et pr´esentent des r´esultats corrects. Parmi ces travaux la (PC)2A [45] suivi de sa g´en´eralisation la E(PC)2A [11]; et la 2DPCA [48].

Toujours dans le domaine des m´ethodes holistiques, des strat´egies consistent `a ´elargir artificiellement le training set par la g´en´eration de nouveaux ´echantillons `a partir du pre- mier, ouvrant ainsi la porte `a l’utilisation de m´ethodes `a ´echantillons multiples. Citons parmis celles-ci l’id´ee simple de Yang et al. [50] qui utilisent les images symm´etriques gauche et droite pour g´en´erer de nouvelles vues. A noter aussi, le travail de Beymer et al. [8] qui ont pr´esent´e la m´ethode de d´eformation parall`ele pour g´en´erer de nouvelles poses `a partir d’une premi`ere photo (voir figure2.1 pour un exemple).

2.2.2 M´ ethodes locales

Cette cat´egorie se divise en deux sous-cat´egories bas´ees respectivement sur des car- act´eristiques et des apparences locales.

M´ethodes bas´ees sur des caract´eristiques locales

Ici des propri´et´es g´eom´etriques sont extraites `a partir de la localisation de points cl´es sur le visage. Deux faiblesses en d´ecoulent directement : d’une part la localisation de

(24)

Figure 2.1: M´ehode de d´eformation parall`ele d´evelopp´ee par [8] pour la g´en´eration de nou- veaux ´echantillons via g´en´eration de nouvelle pose. L’image d’entr´ee est la photo centrale, les 8 autres ont ´et´e g´en´er´ees automatiquement.

tels points n’est pas toujours une mince affaire lorsque des occlusions ou des variations de position ou d’expression surviennent et d’autre part toute l’information n´ecessaire `a une reconnaissance robuste n’est pas forcement contenue dans ces quelques points cl´es, en effet beaucoup d’informations passent `a la trappe lorsque l’image est compress´ee aux informations contenues `a quelques endroits. Un exemple parlant est la m´ethode DCP de Gao et al. [18] qui, appliqu´ee au probl`eme de la reconnaissance faciale de personnes qui crient, pr´esente une chute de performance de pr`es de 60% [32].

On peut noter parmi ces m´ehodes bas´ees sur les caract´eristiques locales les d´eveloppements de Gao et al. [18] d´ej`a mentionn´es plus haut et les EBGM [43]. Du `a l’´etape n´ecessaire de recherche des points cl´es, cette derni`ere technique a pour d´efaut de pouvoir demander plus de temps de calcul pour son ex´ecution que la PCA.

M´ethode bas´ees sur des apparences locales

Ici ce sont plusieurs vecteurs correspondant `a des caract´eristiques du visage qui sont utilis´es en entr´ee. Ces m´ethodes sont `a priori mieux taill´ees pour le probl`eme `a ´echantillon unique [32]. Tout d’abord car un set de plusieurs vecteur de faible dimension au lieu d’un seul de grande dimension permet d`es le d´ebut de s’attaquer `a la mal´ediction de la dimen-

(25)

sionnalit´e (curse of dimensionality). Ensuite le fait d’avoir plusieurs sous-vecteurs de car- act´eristiques permet l’utilisation d’un syst`eme de poids donnant priorit´e dans la d´ecision finale aux sous-vecteurs identifi´es comme ´etant les plus discriminatifs, ce qui am´eliore les performances [37]. Enfin, un nombre ´elev´e de sous-vecteurs de caract´eristiques peut augmenter la diversit´e des types de classifieurs utilis´es par le biais d’´equipe de classi- fieurs et ainsi am´eliorer les performances du classifieur global [23]. Notons que ces trois observations peuvent s’appliquer aussi `a certaines m´ethodes de la premi`ere cat´egorie des m´ethodes locales tel que l’Elastic Bunch Graph Matching (EBGM) o`u `a chaque point cl´e correspond un vecteur d’information.

Ci-apr`es sont cit´ees quelques autres techniques appartenant `a cette cat´egorie qui sont reprises dans le tableau r´ecapitulatif de performance compil´e par Tan et al. [32] pr´esent´e

`

a la figure 2.2. Les travaux de Tan utilisant les ’self-organizing-map’ (SOM) [31], une technique pour rendre la LDA utilisable pour le one sample problem [10], une appoche analytic-to-holistic de Lam et al. [24], la m´ethode bas´ee sur les Hidden Markov Model [25] et les Local Binary Patterns [4]. Ces derniers feront l’objet d’explications et d’un

´

etat de l’art d´etaill´e `a la section 2.3.

2.2.3 M´ ethodes hybrides

Comme leur nom le fait penser, ces approches combinent des m´ethodes holistiques et locales. L’id´ee est de les combiner de mani`ere `a utiliser les avantages de l’une pour con- trebalancer les d´efauts de l’autre. La combinaison efficace entre caract´eristiques locales et globales reste pour le moment un probl`eme et peu de travaux sur son application au probl`eme de la reconnaissance faciale existent [32].

A la figure 2.2 sont reprises les performances des m´ethodes phares dans le domaine de la reconnaissance faciale `a partir d’une seule image par personne.

2.3 Les ’Local Binary Patterns’ appliqu´ es ` a la re- connaissance faciale

Ci-dessous sera d´ecrite la m´ethode de Ahonen et al., la majeure partie des informations

´

etant reprise de leur article [4].

L’op´erateur LBP basique prend comme entr´ee un carr´e de 9 pixels et a pour sortie un nombre binaire 8 bits. Ce dernier est pr´esent´e `a la figure 2.3. La motivation qui a pouss´e `a utiliser cet op´erateur est qu’un visage peut ˆetre vu comme un assemblage

(26)

Figure 2.2: Tableau r´ecapitulant les scores de certaines m´ethodes s’attaquant au probl`eme de la reconnaissance faciale avec des training sets compos´es d’un seul ´echantillon par personne. La base de donn´ees utilis´ee pour les tests est `a chaque fois in- diqu´ee ainsi que des informations compl´ementaires sur les conditions de test (nombre d’images, de personnes `a tester, etc.). Le dataset accessoire d´esigne un set ext´erieur utilis´e lors de l’entraˆınement, il peut s’agir par exemple d’identifier les d´eformations que le visage subit lorsque la position du sujet change d’une photo `a l’autre dans le but de les reproduire pour ´elargir le training set artifi- ciellement comme dans la m´ethode de d´eformation parall`ele [8].

de micro-patterns dont la description par LBP est `a la fois bonne, robuste face aux variations de gris et rapide `a g´en´erer.

Figure 2.3: Op´erateur LBP basique. L’entr´ee est un carr´e de 9 pixels. Un seuil est appliqu´e tel que tous les pixels p´eriph´eriques dont la valeur est sup´erieure `a la valeur du pixel central se voient attribuer la valeur 1 tandis que les autres re¸coivent la valeur 0. La valeur LBP finalement obtenue est le nombre binaire se lisant dans le sens des aiguilles d’une montre autour du pixel central. La convertion de toute une image se fait en d´epla¸cant une fenˆetre de conversion de 3x3 pixels sur l’enti`eret´e de l’image. Pour obtenir une image convertie de mˆeme dimension que l’image d’entr´ee on peut par exemple r´ep´eter les pixels du bord de l’image.

Figure tir´ee de [4].

(27)

Cet op´erateur simple a ´et´e ´etendu pour rester fiable `a diff´erentes ´echelles. Ainsi, P points d´ecrivent le nombre binaire et ceux-ci sont distribu´es le long d’un cercle de rayon R. Cet entourage sera not´e (P, R). Comme ces P points ne tombent pas n´ecessairement au centre d’un pixel de l’image, leurs valeurs sont obtenues par interpolation bilin´eaire.

Ceci est illustr´e `a la figure 2.4.

Figure 2.4: Extension de l’op´erateur lbp basique. Les entourages (8,1), (16,2), (8,2) sont repr´esent´es. Figure tir´ee de [4].

Ensuite ne sont gard´es que les patterns ’uniformes’ ne pr´esentant au plus que deux transitions 1-0 ou 0-1 lorsqu’ils sont regard´es comme des cercles. Ainsi 00110000 et 10000001 sont uniformes tandis que 10010001 et 11011101 ne le sont pas. En pratique, la conversion d’un pattern non uniforme donne le r´esultat 0. On se rend compte ainsi que 90% des patterns (8,1) appartiennent `a la cat´egorie des uniformes. Cette extension permet l’interpr´eter les LBPs en termes de coins et arrˆetes inclin´ees et sera revue `a la section 3.3.3.

Ensuite pour inclure une information quant `a la disposition spatiale des textures et

´

eviter de se limiter `a une description holistique des textures qui souffrirait des limitations connues des m´ethodes de ce type, l’image convertie est divis´ee en plusieurs sous-r´egions pour lesquelles autant d’histogrammes LBP seront faits. Ainsi pour 4 sous-r´egions, 4 histogrammes seront g´en´er´es. Ces derniers seront concat´en´es pour former une matrice `a 2 dimensions appel´ee ’histogramme spatialement am´elior´e’. Notons que les sous-r´egions peuvent se recouvrir et ne doivent pas n´ecessairement ˆetre rectangulaires.

La comparaison de deux histogrammes spatialement am´elior´es suppose d’une part d’´etablir une m´ethode de mesure de distance entre deux histogrammes simples et d’autre part l’utilisation de poids pour rassembler les distances obtenues pour chaque sous- r´egion. La m´ethode 2 en 1 propos´ee par Ahonen et al. est la distance carr´e de Chi balanc´ee :

χ2w(x, ξ) = X

j,i

wj(xi,j −ξi,j)2 xi,ji,j

o`u x et ξ sont des histogrammes spatialement am´elior´es normalis´es `a comparer, i cor- respond `aii`eme valeur du ji`eme sous-histogramme et wj est le poids accord´e `a la sous- r´egion j.

(28)

Notons maintenant l’ensemble des ´el´ements param´etrisables : tout d’abord le choix de l’entourage (P, R) `a utiliser pour la conversion LBP, ensuite la mani`ere dont les sous- r´egions sont d´elimit´ees, puis le poids accord´e `a chacune d’elles et enfin la m´ethode de calcul de distance qui sera utilis´ee pour comparer deux histogrammes. Ces param´etrages bien effectu´es am´elioreront les performances du classifieur final.

2.3.1 Derni` eres avanc´ ees : Travail de Tan et Triggs

Leur travail [33] fait suite `a celui de Ahonen et al. et propose 3 nouveaux concepts qui permettent d’am´eliorer significativement les performances (plus de 40% sur la database FRGC-104 selon leur publication). Ces trois concepts sont les Local Ternary Patterns (LTP), une m´ethode de pr´etraitement de l’image et enfin une m´ethode de mesure de distance pour la comparaison d’´echantillons au format LBP ou LTP. Ces concepts sont d´etaill´es ci-dessous.

Les ’local ternary patterns’

Il s’agit de la g´en´eralisation des ’local binary patterns’ au syst`eme ternaire. Elle a ´et´e propos´ee par Tan et Triggs [33] comme solution au probl`eme de sensibilit´e qu’´eprouve le LBP face au bruit al´eatoire et celui de quantification. Le principe est le suivant : alors que les LBP appliquaient un seuil ´egal `a la valeur du pixel central, la conversion en Local Ternay Patterns (LTP) attribue `a la valeur 0 aux pixels dont la valeur se trouve dans un voisinage de la valeur du pixel central, 1 `a ceux dont la valeur est au-del`a de ce voisinage et -1 `a ceux dont la valeur est en dessous. La formulation math´ematique est la suivante pour u un pixel p´eriph´erique d’un entourage `a convertir, ic la valeur du pixel central et t le voisinage :

s(u, ic, t) =





1 si u≥ic+t 0 si |u−ic|< t

−1 si u≤ic−t

Comme fait pour l’op´erateur lbp basique, une illustration de l’op´erateur ltp basique est faite `a la figure 2.5.

Figure 2.5: Op´erateur LTP basique. [33].

(29)

Ensuite, ce code ternaire peut ˆetre transform´e soit en un nombre r´eel soit en code binaire pour passer `a la phase suivante. Dans le premier cas on pourrait utiliser un code de valeurs 3n similaire au code binaire 2n. Tan et Triggs ont quant `a eux divis´e le code ternaire en deux codes binaires trait´es s´epar´ement et rassembl´es ensuite lors de la phase de comparaison. Cette m´ethode `a l’avantage de garder le syst`eme simple d’´elimination des patterns non-uniformes.

La m´ethode de pr´eparation de l’image

Celle-ci s’effectue en trois ´etapes :

1. Correction Gamma. L’id´ee de base est que comme l’image r´efl´echie par un visage est le produit de la lumi`ere qui l’atteint par la r´eflectance de la surface, une varia- tion de la r´eflectance repr´esentant un trait discriminatif aura une influence relative

`

a l’illumination qu’elle subit, introduisant par l`a mˆeme un biais. La solution pro- pos´ee est d’appliquer l’op´erateur logarithmique par lequel ce produit deviendra une somme. Ainsi, pour une illumination locale uniforme, un saut de r´eflectancex provoquera la mˆeme incr´ementation sur l’image r´efl´echie quelle que soit la valeur de l’illumination de d´epart. N´eanmoins, selon Tan et al., un logarithme a tendance

`

a trop amplifier le bruit dans les zones sombres. Pour cette raison, un exposant γ compris dans l’intervalle [0,0.5] est utilis´e `a la place du logarithme. Ainsi la premi`ere ´etape se d´ecrit par la relation math´ematique :

I0(i, j) = I(i, j)γ

o`u I(i, j) est l’intensit´e du pixel de coordonn´ees (i, j) de l’image d’entr´ee et I0 l’image issue de cette premi`ere ´etape de pr´etraitement.

2. Filtrage par diff´erence de Gaussiennes. Il s’agit de l’impl´ementation d’un passe bande pour supprimer les basses fr´equences contenant les effets non d´esirables des ombres et les hautes fr´equences contenant l’aliasing et le bruit.

3. Egalisation des contrastes. Celle-ci s’effectue en trois ´etapes sur la r´egion d´elimitant le visage.

I(x, y) ← I(x, y)

(mean(|I(x0, y0)|a))1/a

I(x, y) ← I(x, y)

(mean(min(τ,|I(x0, y0)|)a))1/a I(x, y) ← τ tanh(I(x, y)

τ )

(30)

o`u τ est utilis´e dans l’´etape deux pour tronquer les grandes valeurs, a est un exposant inf´erieur `a 1 r´eduisant l’effet des grandes valeurs. L’´etape trois limite l’espace de l’image `a l’intervalle [−τ, τ].

Effectuer cette m´ethode sur une zone pr´esentant plusieurs visages ne donnera pas le mˆeme r´esultat que l’application sur chacun des visages s´epar´ement. Par cons´equent, si une ´etape de masquage doit ˆetre effectu´ee, il faut qu’elle le soit avant cette ´etape d’´egalisation des contrastes.

L’application de cette m´ethode `a un mˆeme visage soumis `a diff´erentes conditions d’illumination est illustr´e `a la figure 2.6.

Figure 2.6: Illustration de l’application de la m´ethode de correction d’illumination propos´ee par Tan et Triggs. Figure tir´ee de [33].

La m´etrique utilis´ee pour comparer deux histogrammes

La mesure de distance propos´ee par Tan et Triggs prend intrins`equement compte de l’organisation spatiale des LTP distribu´es sur l’enti´eret´e de l’image. Ici plus question d’histogramme non plus. Soit deux images `a comparerX etY. Pour chaque LTP (aussi nombreux que le nombre de pixels) de Y, la m´ethode va regarder parmi les LTPs de mˆeme valeur deX celui qui est le plus proche et utiliser la distance qui les s´epare pour incrementer proportionnellement la distance globale.

Concr`etement, pour chaque valeurkpossible de LTP, une matrice binairebkX repr´esentant la distribution des patterns k dans X est cr´e´ee. Ensuite, les matrices de distances dkX sont compil´ees tel que l’´el´ement (i, j) dedkX repr´esente la distance entre (i, j) et la posi- tion du plus proche pixel de X dont la valeur est k. L’exemple d’une matrice bkX et de sa matrice dkX associ´ee est pr´esent´e `a la figure 2.7.

Finalement le calcul de la distance entre deux images X et Y se fait comme suit:

D(X, Y) = X

pixels(i,j)of Y

w(dkXY(i,j)(i, j))

o`uw(d) est une fonction (`a choisir) qui associe `a une distance de pixel la p´enalit´e corre- spondante. Tan et Triggs proposent la gaussienne1 w(d) = exp−(d/σ)2/2 et la troncation

1A noter que dans ce cas-ci un grandD(X, Y) correspondra `a deux imagesX et Y proches

(31)

Figure 2.7: A gauche : Exemple de matrice binaire de distribution des patterns. A droite : Matrice de distances correspondante. Figure tir´ee de [33].

lin´eaire w(d) =min(d, τ) et disent que leurs performances sont similaires.

2.4 Le traitement de l’illumination

Les probl`emes li´es aux variations d’illumination sont tr`es pr´esents dans le domaine de la reconnaissance et de la d´etection faciale. L’importance li´ee `a ce domaine pour am´eliorer les performances des reconnaisseurs de visage se manifeste par le nombre d’articles sur le sujet rien que pour les 5 premiers mois de 2010 [12, 6, 21, 40]. Un inventaire des techniques existantes en deux cat´egories actives et passives est fait par Zou dans [56].

Les techniques passives s’occupent de l’illumination `a partir des donn´ees en niveaux de gris ou en couleur re¸cues par l’appareil de capture. De l’autre cˆot´e, les techniques actives obtiennent des donn´ees suppl´ementaires telles que la profondeur ou le profil infrarouge pour arriver `a leurs fins.

Plus r´ecemment est parue une ´etude comparative des diff´erentes techniques de pr´eprocessing dans le domaine de la reconnaissance bas´ee sur les espaces de vecteurs propres [15], c’est

`

a dire les m´ethodes holistiques ou de projections. Un point important de cette ´etude est qu’elle rend compte de la simplicit´e de la m´ethode, de sa rapidit´e et sa robustesse.

Il est par contre dommage que les comparaisons en termes de performances ne soient faites que sur base de la reconnaissance par des m´ethodes de projections. N´eanmoins Ruiz-del-Solar donne ainsi un bon aper¸cu objectif des techniques existantes et de leurs performances ainsi qu’un relev´e de leurs temps d’execution sur une mˆeme machine pour le mˆeme boulot, ce qui peut s’av´erer tr`es utile pour le design d’application en temps r´eel.

La m´ethode qui ressort comme ´etant l’´etat de l’art pour la reconnaissance par m´ethode de projection est la combinaison de SQI [41] et du LBP modifi´e [17]. N´eanmoins cette m´ethode est surpass´ee en terme de performance par une m´ethode contemporaine

`

a l’´etude comparative : le pr´etraitement de Tan et Triggs [33] pr´esent´ee plus haut.

(32)

Partie II

Application

(33)

Chapitre 3

Conception de l’application

Ce troisi`eme chapitre est consacr´e `a la conception de l’application qui permettra `a Nao d’´etablir des relations avec les personnes qui l’entourent. Tout d’abord, dans la premi`ere section ’Mise en situation’, je pr´eciserai l’´enonc´e du probl`eme et identifierai les limitations mat´erielles qui guideront le d´eveloppement de l’application. Je consacrerai ensuite la section 3.2 au probl`eme du temps r´eel en g´en´eral et appliqu´e `a l’application de ce m´emoire. Puis, j’expliquerai le fonctionnement complet de l’application finale `a la section3.3 ’Architecture prototype et cycle de fonctionnement standard’. Je terminerai par apporter quelques pistes qui permettraient d’am´eliorer les performances g´en´erales `a la section 3.4 et par conclure `a la section 3.5.

3.1 Mise en situation

3.1.1 D´ efinition de l’objectif et ´ enum´ eration de ses cons´ equences

L’objectif de l’application est de permettre `a Nao de reconnaˆıtre les personnes qui l’entourent, de m´emoriser sur demande l’identit´e d’un nouveau personnage et d’´etablir une relation avec quelqu’un en le suivant du regard. Un sc´enario type de l’utilisation de ces capacit´es se d´eroule en deux phases. Premi`erement Nao fait la connaissance d’un personnage (Paul), sauvegarde ses informations visuelles et les associe `a un label.

La deuxi`eme phase se produit lorsque Paul revient voir Nao, ce dernier le reconnaˆıt et tourne le visage vers lui en le saluant. Cette deuxi`eme phase est illustr´ee `a la figure3.1 p.28.

Un tel comportement implique en cons´equence que Nao soit capable d’effectuer en temps r´eel

1. la localisation de tous les visages dans son champ visuel,

(34)

Figure 3.1: Situation typique que Nao doit ˆetre capable d’effectuer. Paul est un personnage que Nao a rencontr´e auparavant. Lors d’une seconde rencontre, Paul rentre dans le champ visuel de Nao et ce dernier le reconnaˆıt, se tourne vers lui et le salue par son pr´enom.

2. la poursuite des visages d’une capture du champ visuel `a l’autre, 3. la reconnaissance faciale,

4. une sauvegarde de nouveaux visages dans une base de donn´ees et

5. la construction de l’ordre de mouvement de la tˆete pour fixer une personne en particulier.

3.1.2 Importance du temps r´ eel et des performances

Cette application est une routine `a la base de toute une s´erie d’applications d’interaction homme-machine d’ordre sup´erieur telles qu’une conversation ou la poursuite `a travers la foule d’une personne en particulier. Elle doit par cons´equent (1) utiliser un minimum de ressources et (2) ˆetre la plus robuste possible, un dysfonctionnement `a cet ´etage se propagerait de mani`ere d´esastreuse en aval. Si le robot pr´esente ces deux caract´eristique de temps r´eel et de performance, on pourra dire qu’il s’int`egre dans son milieu de mani`ere limpide, ce qui s’av`ere ˆetre pr´ecieux pour toutes les applications potentielles. Prenons l’exemple d’un syst`eme charg´e de transmettre des informations confidentielles `a un trader internationnal press´e. Il sera malvenu que (1) le syst`eme transmette les informations `a la mauvaise personne ou (2) le syst`eme prenne 15 secondes pour reconnaˆıtre le trader.

(35)

La conception devra donc s’orienter d`es le d´ebut vers des choix qui permettront au syst`eme d’ˆetre rapide et robuste. La tˆache sera d’autant plus ardue qu’il s’agit l`a de deux ´el´ements antagonistes o`u l’am´elioration de l’un se fait souvent au d´etriment de l’autre.

3.1.3 Mat´ eriel disponible et limitations

Figure 3.2: Mat´eriel disponible pour l’application d´evelopp´ee dans le cadre de ce m´emoire.

Une unit´e de traitement embarqu´ee sur Nao et une unit´e de traitement `a distance puissante communiquant entre-elles par wifi.

Le mat´eriel disponible (voir fig. 3.2 p.29) est constitu´e de

• L’ordinateur Zosma AMD Athlon 64 X2 Dual 3800+ (2.01 GHz) 2 Go de RAM (ressources distantes).

• Le robot Nao fourni par Ald´ebaran Robotics [1]. Ce dernier est ´equip´e d’un pro- cesseur AMD X86 GEODE 500MHz et de 256 Mo de SDRAM (ressources em- barqu´ees). Une cam´era est plac´ee sur le haut de sa tˆete et fonctionne en trois modes : 640x480, 320x240 et 180x120 pixels. Une transmission sans fil est disponible en- tre Nao et l’ordinateur distant. Une seconde connection par fil est aussi disponible mais s’oppose `a l’id´ee d’autonomie du robot.

(36)

Avec fil Sans fil R´esolution N&B Couleur N&B Couleur

160×120 47 47 58 95

320×240 94 141 150 270

640×480 333 510 555 1000

Table 3.1: Relev´e en ms des temps de transmission avec et sans fil entre le robot Nao et l’ordinateur distant pour diff´erentes r´esolutions. La transmission d’images de couleur implique le transfert de 3 chaˆınes de couleur.

Ce mat´eriel a pour principaux d´efauts des ressources embarqu´ees faibles et un temps de transmission ´elev´e comme le montre le relev´e des temps de transmission dans diff´erentes conditions `a la table 3.1 p.30.

3.1.4 Le challenge

Le challenge `a relever est donc de choisir l’architecture et les m´ethodes pour obtenir le meilleur compromis entre temps r´eel et performance en s’arrangeant avec des ressources embarqu´ees faibles et un temps de transmission ´elev´e.

3.2 G´ erer le probl` eme du temps r´ eel

Des solutions au probl`eme du temps r´eel peuvent d´ej`a ˆetre trouv´ees d`es la conception de l’architecture o`u il est possible de jouer sur la distribution des tˆaches entre les deux processeurs disponibles. Il sera donc question ici de choisir les lieux d’ex´ecution des diff´erentes ´etapes du traitement ´enum´er´ees `a la section3.1.1p.27: la d´etection, la pour- suite, la sauvegarde, la reconnaissance et la construction de l’ordre de mouvement. Mais tout d’abord, deux concepts temporels importants, `a savoir le temps de r´eaction et le temps de rafraichissement, sont introduits `a la section 3.2.1 et une liste des ´el´ements `a prendre en compte pour le choix des lieux d’ex´ecution des diff´erentes ´etapes du traite- ment est ´etablie `a la section 3.2.2.

3.2.1 Diff´ erence entre temps de r´ eaction et le temps de rafraichisse- ment

Le temps de r´eaction est le temps entre l’occurence d’un stimulus au syst`eme et le d´ebut de l’ex´ecution de la r´eponse souhait´ee. Le temps de rafraichissement s’apparente au nombre d’images captur´ees par seconde ou le nombre d’images affich´ees par seconde

(37)

dans le cas o`u il y a un ´ecran t´emoin. Bien que l’optimisation de l’un semble d´ecouler de l’optimisation de l’autre, ce n’est pas n´ecessairement le cas.

Ainsi, en prenant l’application `a d´evelopper pour ce m´emoire, les architectures po- tentielles1 (A) et (B) pr´esent´ees ci-dessous illustrent une situation o`u l’augmentation du nombre d’images par seconde (fps = frames per second) est synonyme de diminution de temps de r´eaction, voir figure 3.3 p.31.

Figure 3.3: Illustration de deux situations pour lequelles la diminution du temps de rafraˆıchissement n’est pas synonyme de diminution du temps de r´eaction du syst`eme. Dans la situation A, l’enti`eret´e du traitement s’effectue sur Nao, don- nant un temps de rafraˆıchissement ´egal au temps de r´eaction. Dans la situation B, une partie du traitement se fait sur l’ordinateur distant, plus rapide. Bien que cela ait permis de diminuer le temps de rafraˆıchissement, on voit que le temps de r´eaction a quant `a lui augment´e par rapport `a la situation A (L’hypoth`ese est faite que les deux plateformes sont multitˆaches, sachant `a la fois traiter et trans- mettre/recevoir. La relaxation de cette hypoth`ese forcerait Nao `a commencer la capture de l’image 1 seulement `a la fin de la transmission `a l’ordinateur mais ne remettrait pas en cause cette conclusion).

A Tout le traitement s’effectuent sur Nao, la d´etection des visages et la reconnais-

1Pour illustrer le concept, seules deux ´etapes de traitement sont consid´er´ees : la d´etection et la reconnaissance des visages. Ceci est aussi valable pour la figure3.3.

Références

Documents relatifs

Calculez les matrices A*A

high school libraries is being conducted under the supervision.of Or.. FizzaI'd, Division of

Se référer au prospectus complet (pour les fonds), et notamment aux informations relatives aux risques de l’investissement, avant toute souscription... Document réservé

Dans le but d’impl´ementer un syst`eme de reconnaissance de phon`emes et temps r´eel, l’id´ee de ce stage est de pouvoir, pour chaque fenˆetre d’analyse du signal, prendre

Si le p´ erim` etre souhait´ e de l’enclos est un nombre P &gt; 0 fix´ e, trouver les dimensions de l’enclos qui maximisent son aire totale.... (Utiliser la contrainte.) Les

Veuillez num´ eroter et indiquer votre num´ ero d’´ etudiant sur toutes les feuilles rendues. Justifier toutes vos

Si je compose ` a l’´ etranger et je m’apercois d’une erreur dans le sujet, je continue ` a le faire en expliquant bien dans la copie toutes les d´ emarches que cela m’em`

[r]