Identification des visages

 

 

Saviez-vous que:

 

·        Les bébés identifient le visage de la mère après seulement une demi-heure de naissance

·        Nous pouvons identifier immédiatement (150 ms) plus de 1000 visages?

·        Plus que la moitié du cortex est impliqué pendant le traitement de visuel (plus qu'en faire des maths ?

 

En général, les images contiennent de l'information sous une forme très dense et complexe. La machine utilise  des modèles (numériques) complexes de l'image afin de comprendre son contenu. L'identification d'un visage c’est décrire qui est la personne. Le cheminement d'un visage c’est identifier un visage dans une image ou dans une vidéo. On se rappelle habituellement des personnes en se basant sur la couleur faciale, leurs dispositifs plus significatifs etc. Cette activité d'identification devient très évidente quand on identifie des jumeaux. Dans cette application, nous expliquons une manière d'employer notre compréhension des images pour l’identification des visages.

 

Quand il s’agit d'identifier des ``patterns`` à deux-dimensions, vous devez savoir ce que vous recherchez:

 

Du côté gauche de la figure suivante, un objet se compose d'une pyramide au-dessus d'un hexagone planaire. Du côté droit, un cube. D'un premier coup, ils semblent identiques.

 

En identifiant des faces à deux-dimensions, beaucoup de facteurs entrent en  jeu, comme les conditions d'éclairage, les expressions et d'autres:

 

 

 

 

Comme exemple, les 70 images suivantes sont prises avec de diverses valeurs pour les angles θ et Φ . Chacune est centrée par l'intermédiaire des yeux, puis masquée:

 

 

 

 

Figure (*)

Chacune des ces 70 images peut être  représentée par un vecteur

 

 

de l’espace RN  des nombres

 

 

 

de ``pixels`` .

 

Par exemple, l’image suivante of Bogart:

 

 

 

 

 

peut être  représentée par le vecteur:

 

v=(...,0.858824, 0.615686, 0.407843, 0.396078, 0.65098, 1, 0.905882, 0.878431, 0.917647, 0.901961, 0.917647, 0.870588, 0.882353, ...)

 

de l’espace R18300 (Ici N=122x150=18300).

 

Soit

 

les vecteurs correspondants aux images de la  Figure (*) ci-dessus. Soit

 

 

leurs ``vecteur moyen`` et soit

 

 

les ‘’points’’  dans l'espace R18300 (nous prenons N=122x150=18300) donneraient un hyper-ellipsoïde de dimension 18300. En utilisant les mêmes techniques que dans l'application aux Formes quadratiques dans le plan, on peut trouver les ‘bons’’ axes pour apporter l'ellipsoïde à sa forme standard

 

 

Chacun de ces  vecteurs-axe est un  “visage propre’’! Les 20 premiers visages propres, ordonnés par les valeurs propres correspondantes sont :

 

 

En d’autres mots, chacun des 70 visages ci-dessus est une combinaison linéaire de tous les visages propres et une bonne approximation de chacun peut être obtenue en utilisant seulement les premiers 20 visages propres.

 

Étant donnée une image (normalisée), est-ce une image du visage que nous essayons d'identifier? Pour pouvoir répondre à cette question, nous devons rappeler quelques faits:

 

 

La composante d'un vecteur u dans la direction d'un vecteur unitaire v est donnée par

 

 

et comme l’inégalité

 

 

est satisfaite pour tout nombre a, la meilleure approximation parmi tous les vecteurs de la forme av est donnée par le vecteur

 

 

Soient sont les k premiers visages propres, et posons

 

 

alors le vecteur de Ek le plus proche d’un vecteur u est donné par:

 

 

(ce vecteur s’appelle la “reconstruction” de u dans  Ek).

 

Dans le diagramme suivant, l’image  n est

 

 

 

 

 

 

 

Une réduction importante de dimension a été accomplie : de 18300 à moins de 40!.

 

La prochaine question est comment pouvons nous tracer ces points dans dimension 18300 et trouver les bons axes ? Naturellement, nous avons besoin d'une autre approche à ce problème. Les étapes suivantes donnent une manière algébrique de trouver ces bons axes en employant la théorie de diagonalisation des matrices.

 

1.      Soit A la matrice  70x18300 suivante:

 

 

 

2.      Former les deux matrices ATA (18300x18300) et AAT (70x70). Clairement, les deux matrices sont symétriques. En particulier, elles sont diagonalisables.

3.      Diagonaliser la matrice ATA:

 

 

           U est une matrice inversible de format 18300x18300 dont les colonnes sont des vecteurs propres de ATA et  est diagonale.

 

4.       Diagonaliser la matrice AAT:

 

 

           V est une matrice inversible de format 70x70 dont les colonnes sont des vecteurs propres de AAT et  est diagonale.

 

5.      avec

6.      Les visages propres sont les colonnes de la matrice :

 

 

 

Référence

 

``Two and Three Dimensional Patterns of the Face", par Peter L. Hallinan, Gaile G. Gordon, A.L.Yuille, Peter Giblin, David Mumford

Éditeurs: A.K.Peters, Natick Mass.