Brevet FR2953616A1 — publié le 20110610

Procédé de correction de la position des yeux dans une image L'invention se situe dans le domaine du traitement d'images, en particulier de la biométrie. Elle concerne un procédé de détermination de la position des yeux d'un visage dans une image numérique et un procédé de correction progressive de la position des yeux par itérations d'étapes du premier procédé. Parmi les traitements d'images consistant à identifier ou authentifier une personne, on distingue ceux basés sur la reconnaissance de tout ou partie de leur visage, comme les traitements de reconnaissance faciale ou de reconnaissance par l'iris. Par identification et authentification, on entend respectivement la détermination et la vérification de l'identité de la personne. Ces traitements comportent habituellement une étape d'acquisition d'une image de la personne, une étape de localisation de son visage et de ses yeux dans l'image acquise, une étape d'extraction d'un modèle représentatif de ses données biométriques à partir des positions de ses yeux, et une étape de comparaison du modèle avec un ou plusieurs autres modèles représentatifs de personnes données. Pour la plupart de ces traitements d'images, les résultats de l'étape d'extraction du modèle représentatif des données biométriques de la personne, notamment en termes de taux d'erreur, dépendent largement de la précision de la détermination des positions des yeux dans l'image. Or les algorithmes de détermination de la position d'un oeil dans une image fournissent généralement des positions approximatives, notamment lorsque l'image est acquise "à la volée", c'est-à-dire sans que la personne détectée coopère. Un but de l'invention est notamment de pallier tout ou partie des inconvénients précités en fournissant les positions des yeux d'un visage dans une image avec une plus grande précision. A cet effet, l'invention repose sur la comparaison d'une partie d'un visage de référence avec différentes parties du visage pour lequel on recherche la position des yeux, ces différentes parties étant définies relativement à différentes positions possibles des yeux. Plus précisément, l'invention a pour objet un procédé de détermination de la position des yeux d'un visage dans une image numérique comprenant les étapes successives suivantes : - une étape de détermination d'un couple de positions approximatives des yeux dans l'image numérique, - une étape de détermination, à partir du couple de positions approximatives, de couples de test de positions des yeux, chaque position d'un oeil dans un couple de test étant dans le voisinage de la position approximative de l'oeil correspondant, - une étape de transformation géométrique, pour chaque couple de test, de l'image numérique en une image normalisée de manière à faire coïncider les positions des yeux de chaque couple de test avec un couple de positions de référence prédéterminées, - une étape de comparaison d'au moins une partie de chaque image normalisée couvrant au moins une partie du visage avec une partie correspondante d'une image prédéterminée, chaque comparaison fournissant un score représentatif du taux de ressemblance entre la partie de l'image normalisée et celle de l'image prédéterminée, - une étape de déclaration des positions des yeux du couple de test associé au meilleur score comme positions effectives des yeux du visage. L'invention a également pour objet un procédé de correction progressive de la position des yeux d'un visage dans une image numérique à partir d'un couple de positions approximatives et d'un voisinage autour de chaque position approximative. Ce procédé comprend une itération de toutes les étapes précédentes hormis celle de détermination d'un couple de positions approximatives des yeux dans l'image numérique, les positions approximatives prises en compte à chaque itération étant données par la dernière étape de l'itération précédente. Dans ce procédé, la dimension du voisinage est réduite à chaque itération. Selon une forme particulière de réalisation, le voisinage de la 30 position approximative d'un oeil est déterminé par un cercle de rayon r centré sur ladite position. Le rayon r peut être une moyenne de distances euclidiennes entre la position réelle d'un oeil dans une image d'une base d'apprentissage et la position approximative de cet oeil déterminée par l'algorithme de traitement d'images utilisé pour l'étape de détermination d'un couple de positions approximatives. Des couples de test peuvent être déterminés de manière à ce que la position d'au moins un oeil dans chacun de ces couples de test soit située sur le cercle de rayon r centré sur la position approximative de l'oeil correspondant. Des couples de test peuvent également être déterminés à partir d'une combinaison de positions où chaque position correspond soit à la position approximative de l' eil considéré, soit à l'une des quatre positions cardinales situées sur le cercle de rayon r centré sur la ladite position approximative, soit à l'une des quatre positions intercardinales situées sur le cercle de rayon r centré sur la ladite position approximative L'invention a notamment pour avantage qu'elle peut être implémentée dans une chaîne existante de traitement d'images pour la reconnaissance sans nécessiter de modifications substantielles, les algorithmes de traitement utilisés pour le procédé selon l'invention étant déjà couramment utilisés dans une telle chaîne de traitement d'images. L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée d'un mode de réalisation donné à titre d'exemple, description faite en regard de dessins annexés qui représentent : la figure 1, un exemple de procédé de détermination de la 25 position des yeux dans une image selon l'invention ; - la figure 2, un exemple de procédé de correction progressive de la position des yeux dans une image par répétition d'étapes du procédé de la figure 1. 30 La figure 1 représente schématiquement le procédé de détermination de la position des yeux d'un visage dans une image numérique selon l'invention. Pour la suite de la description, on considère une image numérique 11 sur laquelle est représenté un visage humain ou animal. Un système de coordonnées est associé à l'image numérique afin de repérer 35 des points particuliers de cette image 11, notamment la position des yeux du visage. Le système de coordonnées est par exemple un système de coordonnées cartésiennes dans lequel le couple de coordonnées (x, y) désigne un point d'abscisse x et d'ordonnée y. Le système de coordonnées peut également être basé sur l'indiçage des lignes et des colonnes de pixels dans l'image numérique 11. Dans une première étape 101, la position approximative des yeux dans l'image numérique 11 est déterminée. La position approximative d'un premier oeil est repérée par le couple (xi, y,) et la position approximative d'un second oeil est repérée par le couple (x2, y2). Tout algorithme de traitement d'images fournissant la position des yeux dans une image numérique peut être utilisé. Ces algorithmes étant généralement imprécis, le procédé de détermination de la position des yeux selon l'invention comporte des étapes supplémentaires. Dans une deuxième étape 102, plusieurs positions possibles pour chaque oeil sont déterminées dans le voisinage de la position approximative de l'oeil considéré. Les différentes positions possibles sont appelées positions de test et repérées de façon générique par le couple de coordonnées (xt, yt). Pour un même visage, il est donc possible de combiner l'une des positions de test du premier oeil (xti, yti) avec l'une des positions de test du second oeil (xt2, yt2) de manière à construire différents couples de positions de test. Ces couples sont appelés couples de test. Selon une forme particulière de réalisation, le voisinage d'une position approximative (x, y) peut être déterminé par un cercle de rayon r centré sur cette position. La valeur de ce rayon r sera détaillée plus loin. Une position de test (xt, yt) peut alors être située n'importe où dans ce cercle. Pour la suite de la description, on considère à titre d'exemple neuf positions de test pour chaque oeil, à savoir la position d'origine (x, y), les quatre positions cardinales situées sur le cercle, soit N (x, y+r), S (x, y-r), E (x+r, y), O (x-r, y), et les quatre positions intercardinales situées sur le cercle, soit NE (x+r/N2, y+r/N2), NO (x- r/,j2, y+r/N/2), SE (x+r/N/2, y4/N/2), SO (x-r/\/L, y-r/N/2). Dans cet exemple, on dénombre ainsi 81 couples de test. Plus généralement, on considère N couples de test. Dans une troisième étape 103, l'image numérique originale 11 est normalisée relativement à chaque couple de test, de manière à former autant d'images, dites images normalisées 12, que de couples de test. Les images normalisées 12 sont référencées individuellement 12n, avec n variant de 1 à N. La normalisation de l'image originale 11 relativement à un couple de test consiste essentiellement à effectuer une transformation géométrique de cette image en une image dans laquelle les positions de test du couple de test considéré, notées (x't1, y't1) et (x't2, y't2) dans les images normalisées 12, viennent coïncider avec des points de référence prédéterminés, notés (Xréfl, Yréf1) et (Xréf2, Yréf2). Ces points de référence correspondent en fait aux positions auxquelles on souhaite "amener" les yeux du visage pour la suite d'un traitement de reconnaissance. Après normalisation, toutes les positions de test d'un même oeil (x't1, y't1) ou (x't2, y'u) ont donc les mêmes coordonnées (xréfl, Yréf1) OU (Xréf2, yréf2), respectivement. La normalisation de l'image originale 11 peut également comporter une sous-étape de recadrage dans laquelle seule la partie de l'image normalisée couvrant le visage est conservée. Les limites du cadre sont par exemple déterminées à partir des points de référence (Xréfl, Yréf1) et (Xréf2, Yréf2). Sur la figure 1, les images normalisées 12 sont illustrées après transformation géométrique et recadrage. Dans une quatrième étape 104, au moins une partie de chaque image normalisée 12 est comparée avec une partie correspondante d'une image prédéterminée 13 comprenant un visage de référence. Le visage de référence est un visage à partir duquel sont déterminés les points de référence (Xréf1, Yréfl) et (Xréf2, Yréf2), ces points correspondant à la position précise des yeux dans l'image prédéterminée. Avantageusement, le visage de référence est un visage dit moyen, c'est-à-dire obtenu en effectuant une moyenne sur un ensemble de visages. Ces visages sont de préférence du même type que le visage pour lequel on cherche à déterminer la position des yeux. Les parties d'images servant à la comparaison sont choisies de manière à couvrir au moins une partie du visage. Elles sont toutes déterminées à partir des points de référence (xréfi, yréf1) et (Xréf2, Yréf2). Du fait de la transformation géométrique dans l'étape de normalisation 103, ce ne sont pas exactement les mêmes parties de visage de l'image originale 11 qui sont comparées au visage de référence, mais des parties sensiblement différentes prises relativement à différentes positions de test des yeux. Par ailleurs, les parties d'images servant à la comparaison peuvent éventuellement différer d'une image normalisée à une autre, une partie d'image normalisée étant toujours comparée avec la partie correspondante de l'image prédéterminée 13. Cependant, il est plus avantageux de comparer les mêmes parties d'images pour toutes les images normalisées. Dans le cas où l'étape de normalisation 103 comporte une sous-étape de recadrage, toute la partie de l'image normalisée 12 ainsi conservée peut être comparée à la partie correspondante de l'image prédéterminée 13. La comparaison des parties d'images peut être effectuée par tout algorithme de reconnaissance du visage. Il s'agit par exemple de l'algorithme dit des "eigenfaces". Chaque comparaison d'une partie d'une image normalisée 12n fournit un résultat sous forme d'une valeur numérique, appelé score Sr,, avec n variant de 1 à N. Les scores Sr1 sont représentatifs du taux de ressemblance entre la partie de l'image normalisée 12n considérée et la partie correspondante de l'image prédéterminée 13. Ils sont donc représentatifs du taux de ressemblance entre une partie du visage de la personne et une partie du visage de référence. En pratique, ils permettent de déterminer dans quelle mesure ces parties de visage coïncident, et donc dans quelle mesure les positions de test (xti, yt,) et (xt2, Yt2) d'un couple de test correspondent aux positions effectives des yeux du visage dans l'image originale 11. Dans une cinquième étape 105, les différents scores Sä sont comparés entre eux et les positions de test (xti, yti) et (xt2, Yt2) du couple de test associé au meilleur score S,, sont considérées comme les positions effectives des yeux du visage dans l'image originale 11. Par meilleur score, on entend évidemment le score correspondant au taux de ressemblance le plus élevé entre une partie d'image normalisée 12n et la partie correspondante de l'image prédéterminée 13. Dans une étape préalable, les différents algorithmes de traitement d'images utilisés dans le procédé selon l'invention peuvent être configurés. En particulier, la valeur du rayon r d'un cercle définissant le voisinage d'une position approximative d'un oeil peut être déterminée à partir de tests réalisés sur une base d'images d'apprentissage, des yeux étant visibles dans ces images. L'algorithme de traitement d'images utilisé pour la première étape 101 du procédé selon l'invention est également utilisé avec les images de la base d'apprentissage pour fournir des positions approximatives des yeux, notées (x;, y;), où l'indice i permet de référencer les différents yeux. Par ailleurs, les positions réelles de ces yeux sont repérées et notées (x;r, yin), avec le même indice i. Les positions réelles sont par exemple repérées manuellement par un utilisateur. L'incertitude sur la position d'un oeil référencé i peut être représentée par la distance euclidienne e; entre la position de l'ceil (x;, y;) fournie par l'algorithme et la position réelle de cet oeil (xir, y;r). Cette distance est donnée par la relation suivante : e, = V(xi - xir )2 + (Yi - Yrr )2 (1) Le rayon r peut alors être déterminé comme étant une moyenne des distances euclidiennes e;. La figure 2 illustre un exemple de procédé de correction de la position des yeux dans une image réalisé à partir du procédé décrit ci- dessus. Selon ce procédé de correction, les étapes 102 à 105 sont répétées en boucle en considérant, à chaque nouvelle itération de la boucle, des voisinages de plus en plus petits autour des positions effectives déterminées lors de l'itération précédente de la boucle. Les positions effectives sont ainsi corrigées progressivement à chaque itération de la boucle. Dans une première étape 201, les différents algorithmes de traitement d'images utilisés dans le procédé selon l'invention sont configurés. En particulier, le rayon r du cercle permettant de définir le voisinage de positions peut être déterminé. Les étapes 101 à 105 telles que décrites en référence à la figure 1 peuvent ensuite être exécutées, l'exécution des étapes 102 à 105 formant une première itération de la boucle. A l'issue de l'étape 105, un couple de positions effectives est déterminé. Ce couple de positions est alors réinjecté comme couple de positions approximatives pour l'étape 102 de détermination de couples de test. Les couples de test sont déterminés dans un voisinage plus restreint que lors de l'itération précédente de la boucle. Le rayon r est par exemple divisé par deux dans une étape 202, comme représenté sur la figure 2. Les étapes 103 à 105 sont ensuite exécutées successivement, l'exécution des étapes 102 à 105 formant une deuxième itération de la boucle. Les étapes 102 à 105 peuvent ainsi être répétées suivant des itérations successives de la boucle jusqu'à obtenir une précision de positions effectives des yeux jugée satisfaisante. Cette précision est par exemple atteinte lorsque le rayon r du cercle devient inférieur à un seuil E prédéterminé. Une étape 203 est insérée à cet effet à l'issue de l'étape 105 de manière à déclencher ou non une nouvelle itération de la boucle. Lorsque la précision des positions effectives est jugée satisfaisante, il est mis fin au procédé dans une étape 204. REVENDICATIONS1. Procédé de détermination de la position des yeux d'un visage dans une image numérique, caractérisé en ce qu'il comprend les étapes successives suivantes : - une étape (101) de détermination d'un couple de positions approximatives des yeux ((x1, Y1), (x2, y2)) dans l'image numérique (Il), - une étape (102) de détermination, à partir du couple de positions approximatives ((x1, y1), (x2, y2)), de couples de test de positions des yeux ((xt1, yti), (xt2, yt2)), chaque position d'un oeil dans un couple de test étant dans le voisinage de la position approximative de l'oeil correspondant, ~o - une étape (103) de transformation géométrique, pour chaque couple de test, de l'image numérique (11) en une image normalisée (12n) de manière à faire coïncider les positions des yeux de chaque couple de test ((x't1, Y't1), (x't2, y't2)) avec un couple de positions de référence prédéterminées ((xréfl, yréf1), (xréf2, Yréf2)), 15 - une étape (104) de comparaison d'au moins une partie de chaque image normalisée (12n) couvrant au moins une partie du visage avec une partie correspondante d'une image prédéterminée (13), chaque comparaison fournissant un score (Sn) représentatif du taux de ressemblance entre la partie de l'image normalisée (12n) et celle de l'image prédéterminée (13), 20 - une étape (105) de déclaration des positions des yeux ((xt1, yt1), (xc, yt2)) du couple de test associé au meilleur score (Sn) comme positions effectives des yeux du visage. 2. Procédé selon la revendication 1, dans lequel le voisinage de 25 la position approximative d'un oeil ((x1, Y1), (x2, y2)) est déterminé par un cercle de rayon r centré sur ladite position. 3. Procédé selon la revendication 2, dans lequel le rayon r est une moyenne de distances euclidiennes (e;) entre la position réelle ((x;r, yir)) 30 d'un oeil dans une image d'une base d'apprentissage et la position approximative ((xi, y;)) de cet oeil déterminée par l'algorithme de traitement d'images utilisé pour la première étape (101) du procédé. 4. Procédé selon l'une des revendications 2 et 3, dans lequel des couples de test sont déterminés de manière à ce que la position d'au moins un oeil ((xt1, yti), (xt2, yt2)) dans chacun de ces couples de test soit située sur le cercle de rayon r centré sur la position approximative ((x1, Y1), (x2, y2)) de l'ceil correspondant. 5. Procédé selon l'une des revendications 2 à 4, dans lequel des couples de test sont déterminés à partir d'une combinaison de positions où chaque position correspond soit à la position approximative ((x1, y1), (x2, y2)) de l'ceil considéré, soit à l'une des quatre positions cardinales ((x, y+r), (x, y-r), (x+r, y), (x-r, y)) situées sur le cercle de rayon r centré sur la ladite position approximative ((x1, Y1), (x2, y2)), soit à l'une des quatre positions intercardinales (x+r/./2, y+r/N/2), (x-r/N/2, y+r/N/2), (x+r/N/2, y-r/N/2), (x-rl./2, y-[1N/2) situées sur le cercle de rayon r centré sur la ladite position approximative ((x1, y1), (x2, y2)). 6. Procédé de correction progressive de la position des yeux d'un visage dans une image numérique à partir d'un couple de positions approximatives et d'un voisinage autour de chaque position approximative, caractérisé en ce qu'il comprend une itération des étapes successives suivantes, la dimension du voisinage étant réduite à chaque itération : - une étape (102) de détermination, à partir du couple de positions approximatives ((x1, y1), (x2, y2)), de couples de test de positions des yeux ((xt1, yti), (xt2, yt2)), chaque position d'un oeil dans un couple de test étant dans le voisinage de la position approximative de l'ceil correspondant, - une étape (103) de transformation géométrique, pour chaque couple de test, de l'image numérique (11) en une image normalisée (12n) de manière à faire coïncider les positions des yeux de chaque couple de test ((x't1, Y't1), (x't2, Y't2)) avec un couple de positions de référence prédéterminées ((xréf1, yréf1), (xréf2, Yréf2)), - une étape (104) de comparaison d'au moins une partie de chaque image normalisée (12n) couvrant au moins une partie du visage avec une partie correspondante d'une image prédéterminée (13), chaque comparaison fournissant un score (Sn) représentatif du taux de ressemblance entre la partie de l'image normalisée (12n) et celle de l'image prédéterminée (13),- une étape (105) de déclaration des positions des yeux ((xti, yti), (xt2, yt2)) du couple de test associé au meilleur score (Sn) comme nouvelles positions approximatives des yeux du visage. 7. Procédé selon la revendication 6, dans lequel le voisinage de la position approximative d'un oeil ((xi, (x2, y2)) est déterminé par un cercle de rayon r centré sur ladite position. 8. Procédé selon la revendication 7, dans lequel des couples de test sont déterminés de manière à ce que la position d'au moins un oeil ((xti, yti), (xt2, yu)) dans chacun de ces couples de test soit située sur le cercle de rayon r centré sur la position approximative ((xi, y,), (x2, y2)) de l' eil correspondant. 9. Procédé selon l'une des revendications 7 et 8, dans lequel des couples de test sont déterminés à partir d'une combinaison de positions où chaque position correspond soit à la position approximative ((xi, (x2, y2)) de l'oeil considéré, soit à l'une des quatre positions cardinales ((x, y+r), (x, y-r), (x+r, y), (x-r, y)) situées sur le cercle de rayon r centré sur la ladite position approximative ((x~, y,), (x2, y2)), soit à l'une des quatre positions intercardinales (x+r/N%2, y+r/N/2), (x-r/N/2, y+r/N(1), (x+r/N/2, y-r/N/2), (x-r/%/2, yr/N/2) situées sur le cercle de rayon r centré sur la ladite position approximative (x2, y2)).