Procédé d'identification de visages à partir d'images de visage, dispositif et programme d'ordinateur correspondants.
1. Domaine de l'invention
Le domaine de l'invention est celui du traitement des images et des séquences d'images, telles que les séquences vidéo. Plus précisément, l'invention concerne une technique de reconnaissance de visages à partir d'un ensemble d'images de visage d'une ou plusieurs personnes.
L'invention trouve notamment, mais non exclusivement, des applications dans les domaines de la biométrie, de la vidéosurveillance, ou encore de l'indexation vidéo, dans lesquels il est important de pouvoir reconnaître un visage à partir d'une image fixe ou d'une séquence vidéo (par exemple pour autoriser une personne reconnue à accéder à un lieu protégé).
2. Solutions de l'art antérieur
On connaît à ce jour plusieurs techniques de reconnaissance de visages à partir de séquences d'images fixes ou animées. Ces techniques reposent classiquement sur une première phase d'apprentissage, au cours de laquelle on construit une base d'apprentissage, à partir des images de visage de différentes personnes (éventuellement extraites de séquences vidéo d'apprentissage), et sur une deuxième phase de reconnaissance, au cours de laquelle les images de la base d'apprentissage sont utilisées pour reconnaître une personne.
Ces techniques mettent généralement en œuvre des méthodes statistiques pour calculer, à partir de la base d'apprentissage, un espace de description dans lequel la similarité entre deux visages est évaluée. L'objectif est alors de traduire le plus fidèlement possible la notion de ressemblance entre deux visages en une simple notion de proximité spatiale entre les projections des visages dans l'espace de description.
Les différences principales entre les différentes techniques existantes résident dans le traitement effectué lors de la phase de reconnaissance.
Ainsi, A. W. Senior dans "Recognizing Faces in Broadcast Video "
("Reconnaissance de visages dans des vidéos diffusées"), Proc. of Int. Workshop on Récognition, Analysis and Tracking of Faces and Gestures in Real Time Systems,
Corfu, Greece, Septembre 1999, pp. 105 - 110, propose, lors de la phase de
reconnaissance, d'utiliser, soit toutes les images de visage extraites d'une séquence vidéo, soit une unique image de visage clef, à savoir celle à laquelle le détecteur de visage a attribué le score de confiance le plus élevé.
Selon une autre approche, A. Hadid, et M. Pietikainen dans "From Still Image to Video-Based Face Récognition: An Expérimental Analysis" ("De la reconnaissance de visage à partir d'images fixes à la reconnaissance de visages à partir de vidéos: une analyse expérimentale"), Proc. of 6* Int. Conf. on Automatic Face and Gesture Récognition, Séoul, Korea, Mai 2004, pp. 813 - 818, proposent quant à eux de sélectionner des images clefs à partir de la séquence vidéo, sans analyser les visages qu'elles contiennent, puis d'effectuer la reconnaissance en considérant uniquement les visages extraits à partir des images clefs. Chaque visage retournant un résultat différent, une procédure classique de fusion des résultats a posteriori est ensuite utilisée.
Enfin, dans "An Automatic Face Détection and Récognition System for Video Indexing Applications" ("Système de reconnaissance et de détection automatique de visages pour des applications d'indexation vidéo"), Proc. of the Int. Conf. on Acoustic Speech and Signal Processing (vol. 4), Orlando, Florida, Mai 2002, pp. IV-3644 - IV- 3647, E. Acosta et al. utilisent quant à eux l'ensemble des visages extraits à partir de la séquence vidéo requête lors de la reconnaissance. Pour évaluer la proximité entre la requête et le modèle d'une des personnes stockées dans la base d'apprentissage, une mesure de similarité entre chaque image de visage extraite à partir de la séquence requête et le modèle est calculée. La valeur finale de la similarité est la valeur médiane de toutes les mesures calculées, ce qui revient à considérer une unique image de visage parmi toutes celles qui ont été extraites.
3. Inconvénients de l'art antérieur Ces différentes techniques de l'art antérieur reposent toutes sur des méthodes statistiques permettant de construire un espace de description dans lequel on projette les images de visage. Or, ces projections doivent être capables d'absorber les variations qui peuvent affecter les images de visages, c'est-à-dire qu'elles doivent pouvoir mettre en évidence les ressemblances entre images de visage en dépit des variations qui peuvent affecter les images.
Ces variations peuvent être de deux types. Il y a d'abord les variations inhérentes
aux changements d'expressions de visages (e. g. le sourire) et aux occultations (e. g. le port de lunettes, la barbe...). Ensuite, il y a les variations dues aux conditions d'acquisition de l'image (e. g. conditions d'illumination) et à la segmentation du visage (i.e. l'extraction et le centrage de la portion d'image contenant le visage). Si les méthodes antérieures pour la reconnaissance de visages sont efficaces dans le cas où les images de visages sont bien cadrées et sont prises dans de bonnes conditions d'illumination, leurs performances se dégradent fortement lorsque les images de visages utilisées pour l'apprentissage ou lors de la reconnaissance ne sont pas très bien alignées (i.e. les différents attributs du visages (les yeux, la bouche, le nez...) ne se trouvent pas aux mêmes endroits dans toutes les images de visages), et/ou ne sont pas de bonne qualité.
Or, dans le contexte de la reconnaissance de visages à partir de séquences vidéo, ces conditions d'alignement et de bonne qualité des images de visages ne sont généralement pas vérifiées. D'une part, l'acquisition des séquences n'est pas très contrainte et la personne à reconnaître ne reste en général pas en position frontale en face de la caméra durant toute la durée de l'acquisition. D'autre part, les images de visages sont extraites automatiquement à partir des séquences vidéo à l'aide de techniques de détection de visages, qui peuvent générer de fausses détections et sont imprécises en terme de cadrage. Les images de visages utilisées dans ce contexte peuvent donc être de mauvaise qualité, être mal cadrées et peuvent contenir de mauvaises détections.
Les inventeurs de la présente demande de brevet ont donc identifié que l'un des inconvénients majeurs des méthodes existantes pour la reconnaissance de visages à partir de séquences vidéo réside dans l'absence de prise en compte de la qualité des images de visage utilisées.
Ainsi par exemple, toutes les images de visages disponibles (par exemple toutes les images de visage extraites à partir des séquences vidéo) sont systématiquement prises en compte lors de l'apprentissage. Ceci réduit considérablement les performances de ces techniques, du fait que les méthodes statistiques (de type ACP pour Analyse en Composantes Principales) utilisées pour la reconnaissance de visages sont extrêmement sensibles aux bruits car elles reposent sur le calcul d'une matrice de covariance (c'est-à-
dire de moments d'ordre 1 et 2).
De même, selon ces méthodes antérieures, le choix des images de visage utilisées lors de la phase de reconnaissance n'est pas optimal. Or, le choix de ces images influence fortement les performances de ces techniques de reconnaissance de visages : elles doivent être bien cadrées et de bonne qualité. Cependant, aucune des méthodes de l'art antérieur citées ci-dessus ne propose une sélection des images qui tienne compte de leur "qualité".
4. Objectifs de l'invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de fournir une technique de reconnaissance de visages à partir d'images de visage fixes ou de séquences vidéo qui présente des performances accrues par rapport aux techniques de l'art antérieur. Notamment, un objectif de l'invention est de proposer une telle technique qui donne des résultats satisfaisants, même lorsque les images de visage à traiter sont bruitées, mal cadrées, et/ou présentent de mauvaises conditions d'illumination.
Un autre objectif de l'invention est de proposer une telle technique qui permette d'optimiser les capacités de reconnaissance des méthodes statistiques sur lesquelles elle repose. L'invention a encore pour objectif de fournir une telle technique qui tienne compte de la qualité des images de visage utilisées.
Encore un objectif de l'invention est de proposer une telle technique qui soit bien adaptée à la reconnaissance de plusieurs personnes distinctes, dans le cadre d'applications de biométrie, de vidéosurveillance et d'indexation vidéo par exemple. L'invention a également pour objectif de fournir une telle technique qui soit simple et peu coûteuse à mettre en œuvre.
5. Caractéristiques essentielles de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé d'identification d'au moins un visage à partir d'un groupe d'au moins deux images de visage associées à au moins une personne, ledit procédé comprenant une phase d'apprentissage et une phase de reconnaissance dudit au moins un visage.
Selon l'invention, la phase d'apprentissage comprend au moins une première étape de filtrage desdites images, mise en œuvre à partir d'un groupe d'au moins deux images de visage d'apprentissage associées à ladite au moins une personne, permettant de sélectionner au moins une image d'apprentissage représentative dudit visage à identifier, la phase de reconnaissance utilisant uniquement lesdites images d'apprentissage sélectionnées lors de la phase d'apprentissage. Le filtrage est réalisé à partir d'au moins un des seuils appartenant au groupe comprenant : une distance maximale (DRC1nJ1x) tenant au moins compte de l'appartenance de vecteurs associés à au moins certaines desdites images à un nuage constitué par lesdits vecteurs; une distance maximale (DO11181) entre lesdits vecteurs et des vecteurs reconstruits après projection desdits vecteurs sur un espace associé audit nuage de vecteurs.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de la reconnaissance de visages, à partir d'images fixes ou d'images extraites de séquences vidéo. En effet, l'invention propose de ne pas tenir compte de l'ensemble des images de visage disponibles pour identifier le visage d'une personne, mais de réaliser un filtrage des images, afin de sélectionner uniquement les images de bonne qualité, c'est-à-dire celles qui sont représentatives du visage à identifier (parce que le visage est en pose frontale, qu'il est bien cadré, etc.). Ce filtrage est réalisé au moyen d'un ou deux seuils de filtrage qui sont la distance robuste au centre, ou DRC, et/ou la distance orthogonale, ou DO. Un tel filtrage est réalisé sur les vecteurs associés aux images, et permet, après analyse de la distribution et des propriétés statistiques de ces vecteurs, de détecter et d'isoler le ou les vecteur(s) aberrant(s). Il repose sur l'hypothèse selon laquelle la majorité des images disponibles sont de bonne qualité, ce qui permet d'identifier tous les vecteurs qui ne suivent pas les propriétés de distribution de l'ensemble des vecteurs disponibles comme des vecteurs aberrants, et donc associés à des images de qualité moindre, ou en tout cas peu représentatives du visage à identifier.
La distance robuste au centre, ou DRC, tient compte de la distance d'un vecteur au centre du nuage de vecteurs et de l'appartenance du vecteur considéré à ce nuage. La distance orthogonale, ou DO, est la distance entre un vecteur et le vecteur obtenu après projection du vecteur d'origine dans un espace associé au nuage de vecteurs, puis
projection inverse.
Ainsi, contrairement aux méthodes de l'art antérieur, selon lesquelles toutes les images disponibles étaient systématiquement prises en compte lors de l'apprentissage, l'invention propose donc de sélectionner seulement une partie des images d'apprentissage, en fonction de leur qualité, de façon à ne retenir que celles qui sont les plus représentatives d'images de visage.
Selon une première caractéristique avantageuse de l'invention, au moins un desdits seuils est déterminé à partir de vecteurs associés auxdites images d'apprentissage. Avantageusement, ladite phase d'apprentissage comprend également une étape de construction d'un espace vectoriel de description de ladite au moins une personne à partir de ladite ou lesdites image(s) d'apprentissage représentative(s). Cette étape de construction met en œuvre une technique appartenant au groupe comprenant : une technique d'Analyse en Composantes Principales ; - une technique d'Analyse Discriminante Linéaire ; une technique d'Analyse en Composantes Principales à deux Dimensions ; une technique d'Analyse Discriminante Linéaire à deux Dimensions. Selon une deuxième caractéristique avantageuse de l'invention, ladite phase de reconnaissance met en œuvre une deuxième étape de filtrage, à partir d'un groupe d'au moins deux images de visage associées à ladite au moins une personne, appelées images requêtes, et permet de sélectionner au moins une image requête représentative dudit visage à identifier, et au moins un desdits seuils étant déterminé lors de ladite phase d'apprentissage, à partir de vecteurs associés à des images de visage d'apprentissage.
Ainsi, on filtre les images requêtes, en fonction de leur qualité, de façon à n'effectuer la reconnaissance qu'à partir des images les moins bruitées, et les plus représentatives de visages. On accroît ainsi considérablement les performances d'identification des visages par rapport aux techniques antérieures. Ce deuxième filtrage effectué lors de la phase de reconnaissance est ainsi complémentaire du premier filtrage effectué lors de l'apprentissage. En outre, il est particulièrement avantageux d'utiliser les seuils calculés lors de l'apprentissage, car les images d'apprentissage sont généralement de meilleure qualité que les images requêtes, du fait de leurs conditions d'acquisition.
Dans une variante de l'invention, au moins un desdits seuils est déterminé lors de ladite phase de reconnaissance, à partir de vecteurs associés à un ensemble d'images comprenant au moins deux images de visage associées à ladite au moins une personne, appelées images requêtes, et au moins deux images d'apprentissage représentatives dudit visage à identifier, sélectionnées lors de ladite phase d'apprentissage, et ladite phase de reconnaissance met en œuvre une deuxième étape de filtrage, à partir desdites images requêtes et permet de sélectionner au moins une image requête représentative dudit visage à identifier.
On sélectionne ainsi, et les images d'apprentissage les moins bruitées, et les images requêtes les moins bruitées, ce qui améliore fortement les performances de reconnaissance des visages par rapport aux techniques antérieures.
Dans cette variante, on filtre également les images requêtes lors de la phase de reconnaissance en utilisant les résultats de la phase d'apprentissage, mais cette fois sous la forme d'images d'apprentissage représentatives du ou des visages à identifier, et non plus sous la forme de seuils.
Préférentiellement, ladite phase de reconnaissance comprend également une étape de comparaison de projections, dans un espace vectoriel de description de ladite au moins une personne construit lors de ladite phase d'apprentissage, de vecteurs associés à ladite au moins une image requête représentative et à au moins une image d'apprentissage représentative sélectionnée lors de ladite phase d'apprentissage, de façon à identifier ledit visage. La notion de ressemblance entre deux visages est alors traduite en une simple notion de proximité spatiale entre les projections des visages dans l'espace de description.
Lors de cette étape de comparaison : - on compare la projection de chacun desdits vecteurs associés à chacune desdites images requêtes représentatives à la projection de chacun desdits vecteurs associés à chacune desdites images d'apprentissage représentatives ; on détermine, pour chacun desdits vecteurs associés à chacune desdites images requêtes représentatives, quel est le plus proche vecteur associé à une desdites images d'apprentissage représentatives, et à quelle personne, appelée personne désignée, il est associé ;
on identifie ledit visage comme celui de la personne désignée le plus grand nombre de fois.
De façon préférentielle, ladite première étape de filtrage desdites images d'apprentissage et/ou ladite deuxième étape de filtrage desdites images requêtes met(tent) en œuvre lesdits deux seuils, à savoir DOnJ3x et DRC013x (calculés pour l'ensemble des images ou séquence par séquence).
Pour une application préférentielle de l'invention, certaines au moins desdites images sont extraites à partir d'au moins une séquence vidéo par mise en œuvre d'un algorithme de détection de visages, bien connu de l'Homme du Métier. Le procédé d'identification de l'invention comprend également une étape de redimensionnement desdites images, de façon à ce que lesdites images soient toutes de même taille. Plus précisément, en présence d'une image ou d'une séquence vidéo, un détecteur de visage permet d'extraire une image de visage, de taille fixe (toutes les images issues de ce détecteur sont ainsi de même taille). Ensuite, lors du traitement de cette image de visage de taille fixe, on procède à un premier redimensionnement de l'image lors du filtrage de la phase d'apprentissage, de façon à réduire sa taille, et ainsi éviter de prendre en compte les détails et enlever le bruit (par exemple, on conserve seulement un pixel sur trois de l'image d'origine). Un deuxième redimensionnement de l'image est également effectué lors de la construction de l'espace de description. Avantageusement, lesdits vecteurs associés auxdites images sont obtenus par concaténation de lignes et/ou de colonnes desdites images.
Selon une première variante avantageuse de l'invention, ladite phase d'apprentissage étant mise en œuvre pour des images d'apprentissage associées à au moins deux personnes, on détermine lesdits seuils associés aux images d'apprentissage de chacune desdites au moins deux personnes, et, lors de ladite phase de reconnaissance, lesdites images requêtes sont filtrées à partir desdits seuils associés à chacune desdites au moins deux personnes. On calcule alors autant de seuils DO0^ et DRC0^ qu'il y a de personnes y dans la base d'apprentissage.
Selon une deuxième variante avantageuse de l'invention, ladite phase d'apprentissage étant mise en œuvre pour des images d'apprentissage associées à au moins deux personnes, on détermine lesdits seuils associés aux images d'apprentissage
de l'ensemble desdites au moins deux personnes, et, lors de ladite phase de reconnaissance, lesdites images requêtes sont filtrées à partir desdits seuils associés à l'ensemble desdites au moins deux personnes. On calcule alors deux seuls seuils DCv3x et DRCnJ3x pour l'ensemble des personnes de la base d'apprentissage. Selon une caractéristique avantageuse de l'invention, lesdits seuils DCv3x e*
DRC013x sont déterminés à l'issue d'une Analyse en Composantes Principales Robuste (RobPCA) appliquée auxdits vecteurs associés auxdites images d'apprentissage, permettant de déterminer également une moyenne robuste μ associée auxdits vecteurs, et une matrice de projection P construite à partir des vecteurs propres d'une matrice de covariance robuste associée auxdits vecteurs, et lesdits seuils sont associés aux distances suivantes :
où X
1 est un desdits vecteurs associés auxdites images d'apprentissage, P
dk est une matrice comprenant les k premières colonnes de ladite matrice de projection P, y
y est le y^
1"
6 élément d'une projection y
t dudit vecteur X
1 à partir de ladite matrice de projection et de ladite moyenne robuste.
Les valeurs de DCv3x et DRC013x sont déterminées par analyse de la distribution des DO1 et DRC1 pour l'ensemble des vecteurs xt.
On notera que, dans l'ensemble de ce document, on utilise les notations suivantes : les lettres en majuscules (e. g. A, B) font référence à des matrices dont le nombre de lignes et le nombre de colonnes sont mentionnés au besoin en indice (e. g.
An m est ainsi une matrice n lignes, m colonnes) ; - les lettres en minuscules (e. g. a, b) font référence à des vecteurs ; pour une matrice An m, α, fait référence à la ie ligne de A et atj fait référence à l'élément situé à l'intersection de la ie ligne et de la / colonne de A ; det(A) est le déterminant de la matrice A ;
In est le vecteur unitaire de dimension n ; - diag(alt...,an) est la matrice diagonale à n lignes, n colonnes, dont les éléments
de la diagonale sont alt...,an ;
A1 est la matrice transposée de la matrice A ; a' est la transposée du vecteur a ; Ivll est la norme euclidienne du vecteur v. L'invention concerne aussi un système d'identification d'au moins un visage à partir d'un groupe d'au moins deux images de visage associées à au moins une personne, ledit système comprenant un dispositif d'apprentissage et un dispositif de reconnaissance dudit au moins un visage.
Dans un tel système, le dispositif d'apprentissage comprend des moyens de détermination d'au moins un des seuils appartenant au groupe comprenant : une distance maximale (DRC1113x) tenant au moins compte de l'appartenance de vecteurs associés à au moins certaines desdites images à un nuage constitué par lesdits vecteurs; une distance maximale (DO11181) entre lesdits vecteurs et des vecteurs reconstruits après projection desdits vecteurs sur un espace associé audit nuage de vecteurs ; et des premiers moyens de filtrage desdites images, mis en œuvre à partir d'un groupe d'au moins deux images de visage d'apprentissage associées à ladite au moins une personne, permettant de sélectionner au moins une image d'apprentissage représentative dudit visage à identifier, à partir de l'un au moins desdits seuils, le dispositif de reconnaissance utilisant uniquement lesdites images d'apprentissage sélectionnées par ledit dispositif d'apprentissage.
L'invention concerne également un dispositif d'apprentissage d'un système d'identification d'au moins un visage, à partir d'un groupe d'au moins deux images de visage d'apprentissage associées à au moins une personne. Un tel dispositif comprend : des moyens d'analyse desdites images d'apprentissage permettant de déterminer, à partir de vecteurs associés auxdites images d'apprentissage, au moins un des seuils appartenant au groupe comprenant : une distance maximale (DRC11135) tenant au moins compte de l'appartenance desdits vecteurs à un nuage constitué par lesdits vecteurs; une distance maximale (DO1113x) entre lesdits vecteurs et des vecteurs
reconstruits après projection desdits vecteurs sur un espace associé audit nuage de vecteurs ; des premiers moyens de filtrage desdites images d'apprentissage à partir de l'un au moins desdits seuils, de façon à sélectionner au moins une image d'apprentissage représentative dudit visage à identifier ; des moyens de construction d'un espace vectoriel de description de ladite au moins une personne à partir de ladite ou lesdites image(s) d'apprentissage représentative(s) ; de façon qu'uniquement lesdites images d'apprentissage sélectionnées par ledit dispositif d'apprentissage soient utilisées par un dispositif de reconnaissance.
L'invention concerne aussi un dispositif de reconnaissance d'au moins un visage à partir d'un groupe d'au moins deux images de visage associées à au moins une personne, appelées images requêtes, ledit dispositif de reconnaissance appartenant à un système d'identification dudit au moins un visage comprenant également un dispositif d'apprentissage.
Un tel dispositif de reconnaissance comprend : des seconds moyens de filtrage desdites images requêtes à partir d'au moins un seuil déterminé par ledit dispositif d'apprentissage, de façon à sélectionner au moins une image requête représentative dudit visage à reconnaître; - des moyens de comparaison de projections, dans un espace vectoriel de description de ladite au moins une personne construit par ledit dispositif d'apprentissage, de vecteurs associés à ladite au moins une image requête représentative et à au moins une image d'apprentissage représentative sélectionnée par ledit dispositif d'apprentissage, de façon à identifier ledit visage. ledit dispositif d'apprentissage comprenant des premiers moyens de filtrage mis en œuvre à partir d'un groupe d'au moins deux images de visage d'apprentissage associées à ladite au moins une personne, permettant de sélectionner au moins une image d'apprentissage représentative dudit visage à identifier, ledit dispositif de reconnaissance utilisant uniquement lesdites images d'apprentissage sélectionnées par ledit dispositif d'apprentissage.
L'invention concerne encore un programme d'ordinateur comprenant des
instructions de code de programme pour l'exécution de la phase d'apprentissage du procédé d'identification d'au moins un visage décrit précédemment lorsque ledit programme est exécuté par un processeur.
L'invention concerne enfin un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes de la phase de reconnaissance du procédé d'identification d'au moins un visage décrit précédemment lorsque ledit programme est exécuté par un processeur.
6. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente un exemple d'images de visage en pose frontale et bien cadrées ; la figure 2 présente un exemple d'images de visage qui, au contraire de ceux de la figure 1 , sont bruités car mal cadrés et/ou en pose non frontale ; la figure 3 présente un synoptique du procédé d'identification de visage de l'invention ; la figure 4 illustre plus précisément les traitements effectués lors de la phase d'apprentissage du procédé de la figure 3, dans un mode de réalisation particulier de l'invention ; la figure 5 présente de manière plus schématique la phase d'apprentissage de la figure 4 ; la figure 6 illustre plus en détail les traitements effectués lors de la phase de reconnaissance du procédé illustré en figure 3 ; - les figures 7 et 8 présentent respectivement des schémas simplifiés des dispositifs d'apprentissage et de reconnaissance de visages de l'invention. 7. Description d'un mode de réalisation de l'invention
Le principe général de l'invention repose sur la sélection d'un sous-ensemble d'images à utiliser, lors de la phase d'apprentissage et/ou de la phase de reconnaissance, par utilisation d'une Analyse en Composantes Principales Robuste, ou RobPCA.
L'invention permet notamment d'isoler les images de visages bruitées lors de
l'apprentissage, et de déduire des paramètres permettant de filtrer également les images de visages lors de la reconnaissance, ce qui permet de construire un espace de description sans prendre en compte le bruit, et d'effectuer la reconnaissance en se basant sur plusieurs exemples d'images de visages également non bruitées. L'approche proposée permet ainsi d'accroître considérablement les taux de reconnaissance par rapport à une approche qui prendrait en compte toutes les images de la séquence.
On présente, en relation avec les figures 1 et 2, des exemples d'images de visage, d'une part en pose frontale et bien cadrées (figure 1), et d'autre part en pose non frontale, ou mal cadrées, et donc bruitées (figure 2). L'invention permet donc, en présence d'un ensemble d'images de visage, de sélectionner uniquement des images de visage du type de celles de la figure 1, pour réaliser l'apprentissage ou la reconnaissance de visages, et d'écarter toutes les images de visage du type de celles de la figure 2, que l'on considère comme des images bruitées.
On s'attache, dans toute la suite du document, à décrire un exemple de réalisation de l'invention dans le cadre de la reconnaissance de visages à partir de séquences vidéo, tant lors de la phase d'apprentissage que de la phase de reconnaissance. L'invention s'applique bien sûr également à la reconnaissance d'images de visage à partir d'un ensemble d'images fixes, obtenues par exemple à l'aide d'un appareil photo en mode rafale. En outre, on s'attache à décrire un mode de réalisation particulier dans lequel on filtre les images bruitées, tant lors de la phase d'apprentissage que de la phase de reconnaissance, au cours de laquelle on utilise les résultats de la phase d'apprentissage. Ces deux phases peuvent bien sûr également être mises en œuvre indépendamment l'une de l'autre. La figure 3 présente un synoptique du procédé d'identification de visage de l'invention, qui comprend trois étapes principales : analyse 31 du corpus des images de visages ((l! (1),...IM1 (1)),... (L1^,... I^), ... (l! (N),...IM3 (N))) extraites (30) à partir des séquences vidéo d'apprentissage (S(1), ...Sω, ...S(N), où l'indice j désigne la personne à qui est associée la séquence Sω) pour déterminer, d'une part, deux seuils de décision (DO013x, DRC013X) pour filtrer les images de visages non représentatives, et d'autre part, un modèle 34 (un
espace de description) basé sur les images de visages représentatives ; filtrage 32 des images de visages à reconnaître (lq (k)) (images extraites à partir de la séquence requête) suivant les seuils (DCv3x, DRC013x) obtenus lors de la phase d'apprentissage pour obtenir des images de visages représentatives suivant ces critères (PfA . Comme détaillé davantage dans la suite de ce document, ce
V * Iq =1 filtrage tient également compte d'une matrice de projection P et d'une moyenne robuste μ ; utilisation uniquement des images de visages représentatives \ Vl *[k)) Iq =1 pour la reconnaissance 33 de visages 35 suivant le modèle 34 obtenu lors de la phase d'apprentissage.
Il est bien sûr possible, bien que peu fréquent, qu'aucune image ne soit de suffisamment bonne qualité pour être retenue comme une image représentative lors du filtrage. Il convient alors de sélectionner au moins une image, selon un critère à définir : par exemple, on choisit de sélectionner la première image de la séquence. On présente ci-après plus en détail ces différentes étapes principales.
7.1 Analyse des séquences vidéo d'apprentissage et sélection des images représentatives
À chaque personne 40 (également identifiée par l'indice j), est associée une séquence vidéo S
ω. Une séquence S
ω peut être acquise en filmant la personne 40 à l'aide d'une caméra 41 pendant une durée déterminée. En appliquant un détecteur de visages 42 sur chacune des images de la séquence S
ω (selon une technique bien connue de l'Homme du Métier qui ne fait pas l'objet de la présente invention et ne sera donc pas décrite ici plus en détail), un ensemble d'images de visages (I
1*, ...I
N ω) est extrait à partir de la séquence S
ω. L'invention permet alors de sélectionner uniquement les images de visages qui sont en pose frontale et bien cadrées et ceci, en analysant les images de visages elles-mêmes. Pour cela, on utilise une analyse en composantes principales robuste (RobPCA), telle que décrite par M. Hubert, PJ. Rousseeuw, et K. Vanden Branden dans "ROBPCA: A New Approach to Robust Principal Component Analysis", Technometrics, 47(1): 64-79 Février 2005. L'idée est de considérer chacune des images de visages L
ω comme un vecteur v,
ω et d'assimiler le problème à un problème de détection de vecteurs aberrants, en
supposant que la majorité des visages extraits de la séquence S
ω sont de bonne qualité (i.e. bien cadrés et en pose frontale). Cette hypothèse est raisonnable car l'on peut considérer que l'acquisition de la vidéo de la personne 40 dont on réalise l'apprentissage peut s'effectuer dans des conditions bien maîtrisées. Pour chaque ensemble d'images de visages (I
1^, ...I
N ω) extraites à partir d'une séquence vidéo S
ω, on procède de la façon suivante : chaque image I,
ω est redimensionnée 43 pour que toutes les images aient la même taille : on obtient alors un ensemble d'images (T
1 ω, ...I'
N ω) ; un vecteur v ',
ω est associé 44 à chacune des images de visages I',
® redimensionnées extraites à partir de la séquence S
ω. Ce vecteur v ',
ω est construit par concaténation des lignes (ou bien des colonnes) de l'image T
1 0I Chaque composante correspond à la valeur du niveau de gris d'un pixel de l'image I',
ω ; les vecteurs v',
ω sont disposés 45 sous la forme d'une matrice X
(J> où chaque ligne correspond à un vecteur v',
ω associé à une image I',
® ; une analyse en composantes principales robuste (RobPCA) 46 est appliquée sur la matrice X
0K Un nouvel espace de dimension plus réduite est alors défini par une matrice de projection robuste P
ω et une moyenne robuste μ
<ϋ> ; pour un vecteur v',
ω (vecteur associé à une image de visage de la personne d'indice j, ligne de la matrice X
0*), deux distances sont calculées 47 : la distance orthogonale (DO
t ω) et la , de la façon suivante : Dû'"' = |v
î 0) - où P
ω dÀ est
composée des k premières colonnes de P
ω, et où y, est la f ligne de la matrice Y
®, projection de la matrice X
ϋ) définie par Y
nxk =(X
nxd - I
n μ') P
dxk. L'analyse de la distribution des distances orthogonales et des distances robustes au centre permet de déterminer deux seuils de décision DO
n^x et DRC
n^x, délivrées en sortie du bloc 46 de RobPCA. Si pour un vecteur v',
ω, DO,
ω > D0,J
J> ou DRC,
ω > DRC,J
J> (48) alors le vecteur v',
ω, est considéré (49) comme un vecteur aberrant et l'image de visage associée n'est pas sélectionnée (i.e. n'est pas prise en compte lors de l'apprentissage). Dans le cas contraire 50, l'image I,
ω est considérée comme une image de visage représentative, et est mémorisée dans la
base d'apprentissage BA 51 ; la matrice de projection P
ω, la moyenne robuste μ
ù) ainsi que les deux seuils de décision DO
ω max Qt DR C^
^ pour chaque séquence S
(J) sont également sauvegardés dans la base d'apprentissage BA 51. Dans une variante de réalisation de cette étape de sélection des images d'apprentissage représentatives du visage à identifier, on considère simultanément l'ensemble des images de visages extraites à partir de toutes les séquences vidéo d'apprentissage S
ω. Dans ce cas, une seule projection P, une seule moyenne robuste μ, un seul seuil de décision DO
mΑX et un seul seuil de décision DRC
mΑX sont calculés lors de la phase d'apprentissage. Les images de visage d'apprentissage sont donc filtrées en utilisant P, μ, DO
max etDRC
max . Une image /', est filtrée si :
DO1 > D<9max ou DRC1 > DRC^ où DO1 et DRC1 sont respectivement la distance orthogonale et la distance robuste au centre de v', (le vecteur associé à I\) en utilisant P et μ. 7.2 Construction de l'espace de description
Seules les images de visages sélectionnées 50 lors de l'étape précédente sont incluses dans la base d'apprentissage 51 utilisée pour la construction de l'espace de description. Celui-ci est calculé en utilisant une des techniques statistiques connues telles que l'ACP ("Analyse en Composantes Principales"), l'ADL ("Analyse Discriminante Linéaire"), 1ΑCP2D ou l'ADL2D (i.e. "en deux dimensions"). L'objectif de ces techniques est de trouver un espace de dimension réduite dans lequel les vecteurs v,ω associés aux images de visages sont projetés et comparés.
Une fois la projection calculée, tous les vecteurs v,ω associés aux images de visages Lω de la base d'apprentissage 51 sont projetés dans l'espace de description. Leurs projections sont ensuite sauvegardées et utilisées lors de la phase de reconnaissance.
La figure 5 présente de manière plus schématique ces deux phases constitutives de la phase d'apprentissage, à savoir l'analyse des séquences vidéo d'apprentissage et la sélection des images représentatives (§7.1) et la construction de l'espace de description (§7.2). On dispose en entrée d'une pluralité de séquences vidéo d'apprentissage S1 à Sn, généralement associées chacune à une personne distincte que l'on veut pouvoir
identifier. Un détecteur de visages 42 est appliqué à chacune de ces séquences, afin d'en
( 1 \^ / 1 \^n
I1 J à ( /" I . Sur chacun de ces ensembles d'images de visage, on procède à la sélection 51 d'images de visage représentatives, qui permet d'obtenir : - d'une part, des données 52 comprenant les deux seuils de filtrage DO11181 et
DRCnJ3x associés à la séquence vidéo considérée, et une méthode de projection associée à la séquence (par exemple sous la forme d'une matrice de projection P et d'une moyenne robuste μ associées aux images de la séquence) ;
( , \ M\ / \Mn
I1 ) à (/," ) 53.
Ces images d'apprentissage 53 représentatives des visages à identifier sont utilisées pour construire 54 un espace de description 55, ou modèle, associé aux personnes à identifier, et pour réaliser la projection 56 des vecteurs associés aux images d'apprentissage représentatives 53. On présente ci-après les traitements réalisés lors de la phase de reconnaissance du procédé d'identification de l'invention. 7.3 Sélection des images représentatives à partir de la séquence requête
Comme illustré par la figure 6, en présence d'une séquence requête S représentant une personne à reconnaître (acquise par exemple par une caméra de I \ sont tout d'abord extraites à partir de la séquence S à l'aide d'un détecteur automatique de visages 42. Chacune de ces images Iq peut être considérée comme une image requête et peut donc servir à identifier la personne recherchée. Or, de même que lors de l'apprentissage, pour accroître les chances de bien identifier la personne, on choisit de sélectionner Iq J pour l'identification. Dans un mode de réalisation préférentiel de l'invention, on choisit de ne pas réutiliser la même procédure que dans la phase d'apprentissage (§7.1), car l'acquisition de la vidéo requête s'effectue dans des conditions que l'on maîtrise généralement moins (e. g. à l'aide d'une caméra de surveillance), et l'hypothèse selon laquelle la majorité des images extraites de la séquence sont en pose frontale et bien cadrées n'est pas toujours vérifiée.
Dans une variante sous-optimale de l'invention, on pourrait cependant choisir de
réaliser, sur les images requêtes, un traitement identique à celui réalisé sur les images d'apprentissage lors de la phase d'apprentissage, par analyse de type RobPCA.
Dans le mode de réalisation préférentiel de l'invention, deux variantes peuvent être envisagées, selon que la sélection des images requêtes représentatives du visage à identifier est effectuée à partir des seuils de filtrage DCvx et DRC013x calculés lors de l'apprentissage, ou directement à partir des images d'apprentissage représentatives.
Dans une première variante, on choisit d'utiliser les paramètres de décision 52 calculés lors de l'apprentissage (§7.1, seuils DCv3x et DRC013x). A chaque image de visage Iq extraite à partir de la séquence requête S, on associe un vecteur vq (par concaténation des lignes ou bien des colonnes de l'image) et on applique l'algorithme 80 suivant pour décider de garder ou non l'image de visage Iq et de l'utiliser ou non lors de l'identification :
Pour chacune des séquences vidéo S® utilisées lors de l'apprentissage : charger la matrice de projection P®, la moyenne robuste μ® ainsi que les deux seuils de décision DO^x et DRC^x qui ont été sauvegardés lors de la phase d'apprentissage, calculer la distance orthogonale DOf ei la distance robuste au centre DRCf de v'q
(où v'q est le vecteur associé à l'image l'q résultant du redimensionnement de lq similaire à celui effectué sur les images d'apprentissage et décrit précédemment dans ce document) en utilisant P® et μ®, de la façon suivante :
DO
q {J) =
- μ
ω - P$ χ|| et
où pV est composée des k
premières colonnes de P®, et où y, est la I
e ligne de la matrice Y°\ projection de la matrice X
0 définie par Y
nxk =(X
nxα- U μ') Pd
xκ- L'image /, n'est pas sélectionnée si DOf > DO^
x ou DRC f > DRC^, V/ . En d'autres termes, une image de visage n'est pas prise en compte lors de la reconnaissance si le vecteur associé est considéré comme aberrant par toutes les projections et les seuils calculés pour toutes les séquences vidéo d'apprentissage.
Dans la variante de réalisation dans laquelle on ne considère, lors de l'apprentissage, qu'un unique ensemble dans lequel sont regroupées toutes les images d'apprentissage, et où on ne calcule qu'une seule projection P, une seule moyenne robuste μ, un seul seuil de décision DOmax et un seul seuil de décision DRCmax , les
images de visage requêtes sont également filtrées en utilisant P, μ, DOmax et DRCmax lors de la phase de reconnaissance. Comme pour l'apprentissage, une image requête / est filtrée (c'est-à-dire considérée comme aberrante) si :
DO9 > DOmax ou DRC q > DRCmax où DO q et DRC q sont respectivement la distance orthogonale et la distance robuste au centre de v' (où v' est le vecteur associé à /', l'image résultante du redimensionnement de I) en utilisant P et μ.
Dans une deuxième variante, on utilise les images d'apprentissage représentatives 53 issues de la phase d'apprentissage. A chaque image de visage Iq extraite (42) à partir de la séquence requête S, on associe un vecteur vq (par concaténation des lignes ou bien des colonnes de l'image) et on insère ce vecteur dans chacun des ensembles de vecteurs associés aux images d'apprentissage représentatives 53 issues des séquences vidéo Sω utilisées lors de l'apprentissage. On dispose ainsi d'autant d'ensembles que de séquences d'apprentissage 5ω. On applique ensuite sur chacun de ces ensembles une procédure de filtrage similaire à celle utilisée lors de l'apprentissage en calculant les seuils DO013x et DRC013x associés à chacun de ces ensembles. L'image de visage Iq est sélectionnée 80 si elle est retenue comme image représentative par au moins une des procédures de filtrage appliquées (i.e. si pour l'un au moins des ensembles on a DO q ≤ DOmΑK et DRC q ≤ DRC max). Cette procédure de sélection 80 des images requêtes représentatives peut être également appliquée en insérant une ou plusieurs images Iq dans l'ensemble d'images de visages composé de toutes les images d'apprentissage représentatives issues de la phase d'apprentissage (toutes séquences d'apprentissage confondues). Il est cependant alors souhaitable que le nombre d'images Iq insérées reste inférieur au nombre d'images d'apprentissage représentatives. La procédure de filtrage est ainsi exécutée une seule fois et l'image de visages Iq est sélectionnée si elle est retenue comme image représentative. Dans ce cas, on calcule seulement deux seuils DO013x et DRC013x pour l'ensemble constitué de toutes les images d'apprentissage représentatives et de la ou les image(s) Iq. On note l'ensemble des images de visages sélectionnées à partir de la séquence τeqaète Q = {qlt q2,..., qJ.
7.4 Reconnaissance
L'identification d'une image requête qt s'effectue en deux étapes. D'abord, l'image requête représentative qt est projetée 81 dans l'espace de description 55 (calculé lors de l'apprentissage) de la même manière que les images de la base d'apprentissage (étape 54). Ensuite, une recherche 82 du plus proche voisin dans l'espace de description 55 est réalisée. Il s'agit de trouver le vecteur projeté parmi les vecteurs projetés 56 correspondant aux images de la base d'apprentissage qui est le plus proche du vecteur projeté requête. L'image requête qt est affectée à la même personne que la personne associée au plus proche voisin retrouvé. Chaque image qt vote ainsi pour une personne donnée, i.e. désigne une personne parmi celle stockées dans la base d'apprentissage. On fusionne (83) ensuite les résultats obtenus pour chacune des images requêtes représentatives de l'ensemble Q, et le visage de la séquence requête est finalement reconnu 84 comme la personne qui aura obtenu le plus grand nombre de votes.
D'autres procédures d'identification à partir des images de l'ensemble Q peuvent être appliquées.
7.5 Description détaillée des traitements effectués dans le cadre de Vinvention
On présente ci-après plus en détail l'implémentation pratique de l'invention, ainsi que les traitements mathématiques effectués dans l'ensemble des étapes décrites précédemment dans les § 7.1 à 7.4. On suppose que l'on dispose d'un ensemble de séquences vidéo S(1),..., Sf r), chacune associée à l'une des personnes dont on réalise l'apprentissage. Chaque séquence est acquise par exemple en filmant la personne associée à l'aide d'une caméra pendant une durée déterminée.
Comme présenté dans le §7.1, à partir de chaque séquence d'apprentissage Sω, un ensemble d'images de visages est extrait I1, I2,..., In à l'aide d'un détecteur automatique de visages appliqué sur chacune des images de la séquence vidéo. On utilise par exemple le détecteur CFF décrit par C. Garcia et M. Delakis dans " Convolutionαl Face Finder: A Neural Architecture for Fast and Robust Face Détection", IEEE Trans. on Pattern Analysis and Machine Intelligence, 26(11): 1408- 1423, Novembre 2004. Ces images sont ensuite redimensionnées pour qu'elles aient toutes la même taille (28x31). Cette résolution permet d'éviter de prendre en compte les
détails dans les images, car seuls importent la pose du visage (frontale ou non) et son positionnement dans l'image.
Une procédure de sélection des images d'apprentissage représentatives est ensuite appliquée, qui débute par une analyse en composantes principales robustes (RobPCA) sur la matrice Xnxd des données, composée des vecteurs associés aux images de visages extraites (d = 28x31). La ligne y de la matrice correspond au vecteur associé à l'image T7. Ce vecteur est construit par concaténation des lignes de l'image T7- après re- dimensionnement.
La RobPCA permet de calculer une moyenne robuste μ (vecteur de dimension d) et une matrice de covariance robuste Cdxd en ne considérant qu'un sous-ensemble des vecteurs (à savoir des vecteurs de dimension d associés aux images de visages. Chaque vecteur correspond à une ligne de la matrice X). Elle permet également de réduire la dimension des images en les projetant dans un espace de dimension plus réduite k (k<d) défini par les vecteurs propres de la matrice de covariance robuste C. Selon le principe de la RobPCA, et comme détaillé en annexe 1 qui fait partie intégrante de la présente description, si :
C
dxd = P L P' (1) où P est la matrice des vecteurs propres et L est une matrice diagonale des valeurs propres (L - diag (I
1, I
2,..., l
d)), alors la projection de la matrice X est donnée par :
où P
dxk est composée des k premières colonnes de P.
Dans la matrice Y, la ligne i représente la projection de la ligne i de la matrice X. Il s'agit donc de la projection de l'image I1. Les détails de calcul de la matrice C et de la moyenne robuste μ par la RobPCA sont donnés en annexe 1, qui fait partie intégrante de la présente description.
Pour sélectionner les images d'apprentissage représentatives (et donc filtrer les images bruitées), deux distances sont calculées pour chaque images /, : il s'agit de la distance orthogonale (DO
1) et de la distance robuste au centre (DRC
1). Ces deux distances se calculent comme suit : DO
1
, (2)
où X
1 est le vecteur associé à /, (ligne i de la matrice X) et y
t est la i
e ligne de la matrice Y.
Pour isoler les vecteurs aberrants, les distributions de ces deux distances sont étudiées. Le seuil associé à la distance robuste au centre est défini par ^χk 2 βS15 si k>l et de ± -yjχlo 975 si k=l (car la distance au carré de Mahalanobis sur des distributions normales suit approximativement une loi de χl ) (voir article de M. Hubert et al. précité). Notons ce seuil DRC^x ,j étant le numéro de la séquence d'apprentissage. Le seuil de la distance orthogonale est par contre plus difficile à fixer car la distribution des DO1 n'est pas connue. On utilise de nouveau la méthode proposée dans l'article de M.
Hubert et al. pour le calcul de ce seuil, c'est-à-dire qu'on approxime la distribution par une loi g^^2 et on utilise la méthode de Wilson-Hilferty pour l'estimation de gj et g2.
Ainsi, la distance orthogonale à la puissance 2/3 suit une distribution normale de
2 2g213 moyenne m = {gιg2)l 3(} ) et de variance σ2 = . En estimant la moyenne
m et la variance σ2 à partir des valeur DO1 à l'aide de l'estimateur MCD (voir article de
M. Hubert et al.), le seuil associé à la distance orthogonale pour la séquence numéro j est donné par : DRCm } ax = (m + σzO 975)3/2 où Z0975 = Φ"1 (0,975) est le quantile à 97,5% d'une distribution gaussienne.
Des images de visages représentatives telles que celles de la figure 1 sont sélectionnées à l'aide de la procédure présentée ici, parmi un ensemble de visages comprenant des images du type de celles des figures 1 et 2. La méthode proposée permet donc de sélectionner uniquement les images en pose frontale (figure 1) et d'isoler les visages de profil ou bien mal cadrés (figure 2).
Après sélection des images d'apprentissage représentatives, l'espace de description peut être construit par analyse en composantes principales (ACP). En reprenant les images d'apprentissage représentatives sélectionnées, on construit tout d'abord une base d'apprentissage sous la forme d'une matrice. Chaque image de visage est redimensionnée pour que toutes les images aient la même taille. La taille choisie est par exemple 63x57. Cette taille peut être celle obtenue directement en sortie du détecteur de visage. À chaque image est ensuite associé un vecteur de dimension 63x57
construit par concaténation des lignes de l'image. Chaque vecteur est alors disposé dans une ligne de la matrice de données, notée Xmd, où m est le nombre d'images de visages sélectionnées et d la dimension des vecteurs (dans ce cas d - 63x57).
On notera que, dans toute la suite de ce document, les notations utilisées pour les différentes variables sont indépendantes des notations utilisées précédemment dans le §7.5 de ce document.
Pour calculer l'espace de description, X est d'abord centré et une décomposition spectrale est effectuée : xm,d - Kμ' = umÂDdÀvid (12) où μ est la moyenne des vecteurs associés aux images de visages sélectionnées (des lignes de la matrice X) et D est une matrice diagonale D - diag(llt I1,...,ld).
L'espace de description est défini par les vecteurs de la matrice V qui sont aussi les vecteurs propres de la matrice de covariance de X. Le nombre de vecteurs retenus définit la dimension r de l'espace de description. Ce nombre peut être fixé en analysant les valeurs propres (D) par le critère de la proportion de l'inertie exprimée, c'est-à-dire tel que : I
1 = a, (13) où a est un paramètre fixé a priori.
Ainsi, les vecteurs projetés dans l'espace de description sont définis par :
Y, μ Qt V sont sauvegardés pour la phase de reconnaissance. Lors de la phase de reconnaissance, les images requêtes représentatives du visage à identifier sont sélectionnées à partir de la séquence requête en suivant la procédure décrite au §7.3. Notons ces images qlt...,qs. Ces images sont d'abord redimensionnées pour qu'elles aient la même taille que les images utilisées dans la phase d'apprentissage (63x57 dans le cas ci-dessus). Un vecteur est ensuite associé à chacune de ces images. Notons ces vecteurs vh...,vs. Chaque vecteur est alors projeté dans l'espace de description comme suit : bt = (vt - μ)' Vd r (15)
Pour chaque vecteur projeté bt, le vecteur yt (la f ligne de la matrice Y) qui lui est le plus proche est retrouvé en calculant la distance entre bt et tous les vecteurs yt. L'image de visage associée à bt est donc reconnue comme étant la personne associée à l'image représentée par le plus proche voisin retrouvé. On dit que bt a voté pour la personne identifiée. Une fois cela effectué pour tous les bt, le visage de la séquence requête est
finalement reconnu comme celui de la personne qui aura obtenu le plus grand nombre de votes.
7.6 Dispositifs d{ apprentissage et de reconnaissance
La figure 7 présente enfin la structure d'un dispositif d'apprentissage de l'invention, qui comprend une mémoire M 61, et une unité de traitement 60 équipée d'un processeur μP, qui est piloté par le programme d'ordinateur Pg 62. L'unité de traitement 60 reçoit en entrée un ensemble d'images de visage d'apprentissage f^ 63, associées à une ou plusieurs personnes identifiées par l'indice j, à partir duquel le microprocesseur μP réalise, selon les instructions du programme Pg 62, une Analyse en Composantes Principales Robuste, ou RobPCA. A partir des résultats de cette analyse, le processeur μP de l'unité de traitement 60 détermine deux seuils 68 de filtrage des images 63, appelés DCv3x et DRC013x, soit pour chaque sous-ensemble d'images associées à chaque personne d'indice j, soit pour l'ensemble 63 des images d'apprentissage. Les données 68 comprennent également une moyenne robuste μ et une matrice de projection P. Le processeur μP sélectionne alors, à partir de ces seuils, de la moyenne μ et de la matrice de projection P, et parmi l'ensemble 63 d'images d'apprentissage, une ou plusieurs images 64 d'apprentissage représentatives du ou des visages à identifier, (/J-0)* délivrées en sortie de l'unité de traitement 60. Une analyse de type ACP permet également au processeur μP de déterminer un espace de description, ou modèle, 65 associé à chacune des personnes d'indice j, ainsi qu'une méthode de projection 66 dans cet espace de description 65 de vecteurs associés aux images d'apprentissage, sous la forme d'une moyenne et d'une matrice de projection. L'unité de traitement 60 délivre également en sortie la projection 67 de l'ensemble des vecteurs associés aux images d'apprentissage représentatives 64. La figure 8 illustre un schéma simplifié d'un dispositif de reconnaissance d'images de visage de l'invention, qui comprend une mémoire M 71, et une unité de traitement 70 équipée d'un processeur μP, qui est piloté par le programme d'ordinateur Pg 72. L'unité de traitement 70 reçoit en entrée : un ensemble d'images de visage requêtes 73, à partir desquelles le dispositif de reconnaissance doit identifier le visage d'une personne ; les seuils de filtrage DO-, et DRC013x, ainsi que la moyenne robuste μ et la
matrice de projection P 68 délivrés en sortie du dispositif d'apprentissage ; l'espace de description 65 construit par le dispositif d'apprentissage ; la méthode de projection 66 utilisée par le dispositif d'apprentissage ; les vecteurs 67 associés aux images d'apprentissage représentatives et projetés dans l'espace de description par le dispositif d'apprentissage.
Le processeur μP de l'unité de traitement 70 sélectionne, selon les instructions du programme Pg 72, une ou plusieurs images requêtes représentatives du visage à identifier, parmi l'ensemble d'images requêtes 73, et à partir des seuils DCv3x et DRC013x, de la moyenne robuste μ et de la matrice de projection P 68. Il projette ensuite les vecteurs associés à ces images requêtes représentatives dans l'espace de description 65, en suivant la méthode de projection 66. Il compare alors les vecteurs d'apprentissage projetés 67 et les vecteurs requêtes projetés, afin de déterminer quel est le visage 74 identifié comme étant celui figurant sur les images requêtes 73.
Dans la variante déjà mentionnée précédemment, les seuils 68 en entrée du dispositif de reconnaissance sont remplacés par les images d'apprentissage représentatives 64, et le processeur μP de l'unité de traitement 70 réalise un filtrage identique à celui réalisé par le dispositif d'apprentissage, à partir de l'ensemble constitué par une image requête 73 et les images d'apprentissage représentatives 64.
On notera que l'on s'est attaché ici à décrire une technique mettant en œuvre une analyse de type RobPCA : on pourrait bien sûr également utiliser toute autre technique de filtrage à base de deux seuils similaires aux seuils DO118x et DRCmax .
ANNEXE 1 : Calcul de la moyenne robuste μ et de la matrice de covariance robuste C par la RobPCA
La RobPCA permet de réaliser une analyse en composantes principales, mais en considérant uniquement un sous-ensemble de vecteurs. L'idée est de ne pas inclure dans l'analyse les données bruitées qui risquent d'affecter le calcul de la moyenne et de la matrice de covariance (moments d'ordre 1 et 2 connus pour être très sensibles au bruit). Pour cela, la RobPCA se base sur la propriété suivante : un sous-ensemble A est moins bruité qu'un autre sous-ensemble B si les vecteurs de A sont moins dispersés que ceux de B. En termes statistiques, l'ensemble le moins bruité est celui dont le déterminant de la matrice de covariance et le plus petit.
Soit un ensemble de n vecteurs de dimension d disposés sous la forme d'une matrice Xn^. La RobPCA procède en quatre étapes :
1. Les données de la base d'apprentissage (BA) sont prétraitées à l'aide d'une ACP
(Analyse en Composantes Principales) traditionnelle. Le but n'est pas de réduire leur dimension car toutes les composantes principales sont retenues. Il s'agit simplement d'éliminer les dimensions superflues. Pour cela, une décomposition en valeurs singulière est réalisée :
où m0 est la moyenne classique et r0 le rang de la matrice Xn d - ln»*o • La matrice de données X est ensuite transformée comme suit :
Z» r = UD-
C'est la matrice Z qui est utilisée dans les étapes suivantes. Dans la suite, on considère la matrice Z comme un ensemble de vecteurs, où chaque vecteur correspond à une ligne de la matrice et est associé à une des images de visages extraites à partir d'une séquence. 2. Le but de la deuxième étape est de retrouver les h vecteurs les moins bruités.
On rappelle qu'un vecteur fait référence ici à une ligne de la matrice Z, correspond à une image de visage et est noté z,.
La valeur de h pourrait être choisie par l'utilisateur mais n - h doit être supérieur au nombre total de vecteurs aberrants. Comme le nombre de vecteurs aberrants est généralement inconnu, h est choisi comme suit : h = max { [an] [(n + Ic^x + 1) /2] } , (4)
où kτmκ est le nombre maximum de composantes principales qui seront retenues et a un paramètre compris en 0,5 et 1. Il représente la proportion des vecteurs non bruités. Dans le cas présent, ce paramètre correspond à la proportion des images de visages d'apprentissage extraites à partir d'une séquence qui sont de bonne qualité et qui pourraient être incluses dans la base d'apprentissage. La valeur de ce paramètre pourrait donc être fixée en fonction des conditions d'acquisition des séquences d'apprentissage et de la qualité des images de visages extraites à partir des séquences. La valeur par défaut est 0,75.
La méthode utilisée pour trouver les h vecteurs les moins bruités est la suivante. Tout d'abord, on calcule pour chaque vecteur zt, son degré de bruitage défini par :
où B est l'ensemble de toutes les directions passant par deux vecteurs différents. Si le nombre de directions est supérieur à 250, un sous-ensemble de 250 directions est choisi aléatoirement. t
MCD(z
]'v) et s
MCD(z
]'v) sont respectivement la moyenne robuste et l'écart- type robuste de la projection de tous les vecteurs selon la direction définie par v. Il s'agit de la moyenne et de l'écart-type des h valeurs projetées ayant la plus petite variance. Ces deux valeurs sont calculées par l'estimateur MCD unidimensionnel décrit par
Hubert et al. dans l'article précité.
Si toutes les sMCD sont supérieures à zéro, on calcule le degré de bruitage outl pour tous les vecteurs et on considère les h vecteurs ayant les plus petites valeurs du degré de bruitage. Les indices de ces vecteurs sont stockés dans l'ensemble H0.
Si selon une des directions, sMCD(z^v) est nulle, cela veut dire qu'il existe un hyperplan
Hv orthogonal à v qui contient h vecteurs. Dans ce cas, tous les vecteurs sont projetés sur Hv, ce qui a pour effet de réduire de un la dimension des vecteurs, et le calcul des degrés de bruitage est repris. Il est à noter ici que cela peut éventuellement se produire plusieurs fois.
À l'issue de cette étape, on a un ensemble H0 des indices des vecteurs les moins bruités et éventuellement un nouvel ensemble de données Zn r avec T1 ≤ r0.
Ensuite, on considère la moyenne Hi1 et la matrice de covariance S0 des h vecteurs sélectionnés précédemment pour effectuer une analyse en composantes principales et réduire la dimension des vecteurs. La matrice S0 est décomposée comme suit :
S0 = P0L0PQ avec L 0 la matrice diagonale des valeurs propres : L0 = diag(l0 K lr) etr < rλ . On considère ici que tous les l} sont non nuls et qu'ils sont ordonnés en ordre décroissant. Cette décomposition permet de décider du nombre de composantes principales k0 à garder pour la suite de l'analyse. Ceci peut être réalisé de différentes manières. Par exemple, k0 pourrait être choisi tel que :
1/T1 ≥ IO-3. (7)
Enfin, les vecteurs sont projetés dans l'espace défini par les k0 premiers vecteurs propres de S0. La nouvelle matrice de vecteurs est donnée par :
K,ko = (z n,n ~ K™\ )P0(rι ,ko ), où ^o(riΛ)est composé des k0 premières colonnes de
Po-
3. Dans la troisième étape, la matrice de covariance des vecteurs de Z
* t est estimée à l'aide d'un estimateur MCD. L'idée est de retrouver les h vecteurs dont la matrice de covariance a le déterminant le plus petit. Comme il est pratiquement impossible de calculer les matrices de covariance de tous les sous-ensembles contenant h vecteurs, un algorithme approximatif est utilisé. Cet algorithme procède en 4 étapes. 3.1 Soient m
0 et C
0 respectivement la moyenne et la matrice de covariance des h vecteurs sélectionnés dans l'étape 2 (ensemble H
0) : (a) Si det(C
0) > 0 alors calculer pour chaque vecteur z
*, la distance de Mahalanobis par rapport à m
0 :
La sélection des h vecteurs avec les plus petites distances dm c (i) permet de construire un nouvel ensemble H1 dont le déterminant de la matrice de covariance est plus petit que le déterminant de C0. En d'autres termes, si Hi1 et C1 sont respectivement la moyenne et la matrice de covariance des h vecteurs de H1 alors det(Cl) ≤det(CO).
Cette procédure, appelée C-Step, est donc exécutée itérativement jusqu'à ce que le déterminant de la matrice de covariance des h vecteurs sélectionnés ne décroisse plus.
(b) Si à une itération donnée j, la matrice de covariance C7 est singulière alors, les
données sont projetées dans l'espace de dimension plus petite défini par les vecteurs propres de C7 dont les valeurs propres sont non nulles et la procédure continue. À la convergence, on obtient une matrice de données qu'on notera Z* h avec U1 ≤ k0 et un ensemble H1 contenant les indices des h vecteurs qui ont été sélectionnés lors de la dernière itération. Notons m2 et S2 respectivement la moyenne et la matrice de covariance de ces h vecteurs.
3.2 L'algorithme FAST-MCD proposé par Rousseeuw et Van Driessen en 1999 et légèrement modifié est appliqué sur la matrice Z* Λ . La version utilisée de cet algorithme tire aléatoirement 250 sous-ensembles de taille (kj+1). Pour chacun, il calcule la moyenne, la matrice de covariance et les distances de Mahalanobis (équation 8) et complète le sous-ensemble par les vecteurs ayant les plus petites distances pour avoir un sous-ensemble contenant h vecteurs. Il applique ensuite la procédure C-Step pour affiner les sous-ensembles. Notons ici que, dans un premier temps, seulement deux itérations C-Step sont appliquées à chacun des 250 sous- ensembles. Les 10 meilleurs sous-ensembles (les ensembles ayant les plus petits déterminants de leurs matrices de covariance) sont ensuite sélectionnés et la procédure itérative (a) et (b) de 3.1 leur est appliquée jusqu'à la convergence.
Notons Zn * k avec k ≤ U1 l'ensemble de données obtenu à l'issue de l'application de l'algorithme FAST-MCD et m3 et S3 la moyenne et la matrice de covariance des h vecteurs sélectionnés. Si det(Λ 2) < det(Λ3) alors on continue les calculs en considérant les h vecteurs issues de l'étape 3.1, i.e. m4 - m2 et S4 - S2, sinon on considère les résultats obtenus par FAST-MCD, i.e. m4 - m3 et S4 - S3.
3.3 Afin d'accroître l'efficacité statistique, une moyenne pondérée et une matrice de covariance pondérée sont calculées à partir de m4 et S4. D'abord, S4 est multipliée par un
en utilisant les vecteurs de Z
«
*.*. suivant l'équation (8). Ensuite les distances de Mahalanobis de tous les vecteurs de Z
n * k sont calculées en utilisant m
4 et C
1S
4. Notons ces distances : d
lf d
2, ..., d
n. La moyenne et la
matrice de covariance sont enfin estimées comme suit :
4. Le but de cette dernière étape est de déduire la moyenne et la matrice de covariance finales. D'abord, une décomposition spectrale de la matrice de covariance S5 est effectuée :
où P2 est une matrice kxk qui contient les vecteurs propres de S5 et L2 une matrice diagonale avec les valeurs propres correspondantes.
La matrice P2 est ensuite projetée dans ffî en appliquant les transformées inverses de celles appliquées tout au long des étapes précédentes, ce qui permet d'avoir la matrice finale des vecteurs propres Pdk. De même pour la moyenne : m5 est projetés dans ffl, ce qui permet d'avoir μ. Par ailleurs, la matrice de covariance finale C pourra être calculée à l'aide de l'équation (1).