Article initialement publié le : 24 février 2006
Ce sujet était l’origine un projet tutoré construit en JAVA, auquel j’ai collaboré.
Eigenfaces : seuls les pros de la biométrie ont pu croiser ce mot-là dans leur vie.
Ce terme d’origine allemande signifie, en premier abord “son propre visage”. Comme vous pouvez le deviner, il s’agit là d’un procédé (plus précisément d’un algorithme) de reconnaissance faciale. Ils sont composés de ce qu’on appelle des “eigenvecteurs”, dérivés d’une matrice de covariance provenant de différentes probabilités. Pour être plus simple, il s’agit d’une combinaison d’algèbre linéaire et d’analyses statistiques, pour produire un ensemble de visages de bases.
L’algorithme agit en deux étapes :
– l’étape de normalisation du contraste,
– une étape d’extraction de caractéristiques basée sur une expansion de Karhunen-Loeve (eigenspace), dont la sortie est utilisée pour l’identification et le codage.
Il suffit de prendre plusieurs photos de départ d’un même visage , le set combinant plusieurs émotions, le tout est de savoir reconnaitre, pour le logiciel, qu’il s’agit de la même personne, mais avec des expressions différentes. Là, l’algorithme va calculer l’alignement des yeux et de la bouche (Sachez que votre propre visage peut être identifié par une centaine de caractéristiques différentes). C’est là que les eigenvecteurs vont entrer en scène, en calculant les différentes matrices de covariance.
Ceci mène à une représentation compacte (une allure fantomatique) du visage qui peut être utilisé pour des l’identification aussi bien que pour la compression d’images.