PROCEDE DE GENERATION D'UN MODELE DE VISAGE EN TROIS
DIMENSIONS DOMAINE DE L'INVENTION
Le domaine de l'invention est celui du traitement d'images de visages d'individus, pour générer une vue de face d'un individu à partir d'une image non frontale de celui-ci.
L'invention est applicable notamment à l'identification d'individus par reconnaissance de visage.
ETAT DE LA TECHNIQUE
L'identification d'individus par reconnaissance de visage est mise en œuvre en comparant deux images de visages, et en déduisant de cette comparaison un score évaluant la ressemblance entre les visages figurant sur les images.
Lorsque les visages comparés n'apparaissent pas sur l'image avec la même pose, le score de ressemblance peut être fortement dégradé, même si les visages figurant sur les images proviennent de la même personne. Il en résulte une perte d'efficacité importante des procédés d'identification mis en œuvre, dès lors que la pose du visage sur les images n'est pas la même.
L'efficacité optimale de reconnaissance est donc atteinte non seulement lorsque deux visages présentent la même pose sur les images comparées, mais encore lorsque les visages sont vus de face, car cette vue fournit le plus d'informations sur la forme du visage.
II est cependant impossible d'obtenir systématiquement une image de face d'un visage pour l'identification. En effet, dans la plupart des situations, on compare une image de face préalablement enregistrée d'un individu, comme par exemple dans un document d'identité, à une image de l'individu acquise « à la volée » par un système d'acquisition telle qu'une caméra de surveillance. L'image ainsi acquise n'est pratiquement jamais une image de face car l'individu ne regarde par le système d'acquisition.
Dans ce cas, des procédés de traitement d'images ont été développés pour générer, à partir d'une image d'un visage, une image du même visage, vu de face.
Pour ce faire, on traite l'image acquise pour déterminer la forme en trois dimensions du visage de l'individu sur l'image, sa pose, c'est-à-dire sa position par rapport à une vue de face, ainsi qu'une représentation de la texture du visage, c'est- à-dire l'apparence physique de la surface du visage superposée à la structure en trois dimensions de la forme du visage.
La détermination de la forme en trois dimensions du visage de l'individu est quant à elle réalisée par déformation d'un modèle en trois dimensions déformable de visage humain, pour minimiser l'écart entre des points caractéristiques du modèle (position des yeux, des narines, bout du nez, commissures des lèvres, etc.) et les points correspondant du visage sur l'image.
Différents types de modèles de visage en trois dimensions ont déjà été proposés. On connaît par exemple d'après la publication A Morphable Model For the Synthesis of 3D Faces, V. Blanz, T. Vetter, Mac-Planck-Institut fur biologische Kybernetik, un modèle de visage en trois dimensions généré à partir d'exemples de visages d'individu, dont on a mis en correspondance les points caractéristiques, et sur lesquels on a mis en œuvre une analyse statistique dite « analyse en composantes principales ». Cette analyse repose sur une hypothèse particulièrement contraignante, selon laquelle les formes des visages humains présentent une densité de probabilité gaussienne.
Or, cette hypothèse n'est pas prouvée, si bien que le modèle de visage ainsi généré ne peut vraisemblablement pas être utilisé pour générer n'importe quel visage humain.
PRESENTATION DE L'INVENTION
L'invention a pour but de proposer un procédé de traitement d'une image de visage d'un individu ne présentant pas l'inconvénient ci-dessus mentionné, et permettant notamment de déterminer la forme de n'importe quel visage humain figurant sur une image. A cet égard, l'invention a pour objet un procédé de génération d'un modèle de visage en trois dimensions déformable à partir d'une pluralité d'images de visages d'individus, le procédé étant caractérisé en ce qu'il comprend les étapes consistant à :
générer un gabarit de visage,
acquérir des formes d'exemples de visages d'individus, pour chaque exemple de visage d'individu, déformer de manière itérative le gabarit pour que la forme du gabarit déformé corresponde à la forme de l'exemple de visage, et déterminer la déformation entre le gabarit initial et le gabarit déformé, ladite déformation itérative du gabarit comprenant la minimisation de la dérivée de l'écart entre le gabarit initial et le gabarit déformé, pour contraindre le gabarit déformé à conserver une forme de visage humain.
- et
- la génération du modèle de visage comme une combinaison linéaire de la forme du gabarit et des déformations entre le gabarit initial et le gabarit déformé pour chaque exemple de visage d'individu.
Avantageusement, mais facultativement, le procédé selon l'invention présente en outre au moins l'une des caractéristiques suivantes :
l'acquisition de formes d'exemples de visages d'individus comprend la détection de points caractéristiques de chaque exemple de visages d'individus, et la mise en correspondance des points caractéristiques correspondants entre les exemples de visages.
la déformation itérative du gabarit comprend, pour chaque exemple de visage d'un individu, la modification des positions des points caractéristiques du gabarit pour minimiser une différence de position entre lesdits points caractéristiques et les points correspondants de l'exemple de visage d'individu.
la déformation itérative du gabarit comprend en outre la minimisation d'une différence de position entre les points du gabarit et la surface de l'exemple de visage.
l'étape de déformation itérative du gabarit comprend la minimisation itérative d'une combinaison linéaire de :
o la différence de position entre les points caractéristiques de l'exemple de visage et les points correspondants du gabarit,
o la dérivée de l'écart entre le gabarit initial et le gabarit déformé, et
o une différence de position entre les points du gabarit et la surface de l'exemple de visage, et les coefficients de la combinaison linéaire varient d'une itération à l'autre.
L'invention propose également un procédé de traitement d'au moins une image de visage d'un individu, comprenant les étapes consistant à générer, à partir de l'image, une représentation en trois dimensions du visage de l'individu, ladite représentation comprenant les étapes consistant à :
déterminer une ébauche de la pose du visage de l'individu sur l'image par comparaison entre des positions de points caractéristiques du visage de l'individu et des positions de points correspondants d'une forme de visage humain de référence,
déterminer la forme et la pose du visage de l'individu sur l'image en déformant de manière itérative un modèle en trois dimensions obtenu par la mise en œuvre du procédé de génération d'un modèle de visage selon l'invention, pour que la forme du modèle déformé corresponde à la forme du visage de l'individu sur l'image,
la déformation du modèle en trois dimensions étant réalisée par modification des coefficients de la combinaison linéaire du modèle,
le procédé étant caractérisé en ce que les modifications des coefficients de la combinaison linéaire sont contraintes pour garantir que le modèle déformé corresponde à un visage humain.
Avantageusement, mais facultativement, le procédé de traitement d'une image de visage comprend en outre au moins l'une des caractéristiques suivantes : les modifications des coefficients de la combinaison linéaire sont contraintes par minimisation de la norme de la dérivée de l'écart entre le modèle initial et le modèle déformé.
la pose et la forme du visage de l'individu sur l'image sont estimées simultanément, par modification itérative de la pose et de la forme du modèle en trois dimensions pour minimiser l'écart entre les points caractéristiques du visage de l'individu sur l'image et les points correspondants du modèle.
la modification de la pose du modèle comprend au moins une transformation parmi le groupe précédent : translation, rotation, changement d'échelle, la modification de la forme du modèle en trois dimensions comprend la détermination des coefficients de la combinaison linéaire entre le gabarit de visage et les déformations appliquées au gabarit pour obtenir chaque exemple de visage.
le procédé comprend en outre les étapes consistant à :
o à partir de l'estimation de la pose et de la forme du visage de l'individu sur l'image, générer une représentation de la texture du visage de l'individu, et
o générer une vue de face du visage de l'individu.
Le procédé est mis en œuvre sur une pluralité d'images de visage d'individus, et:
o l'étape de détermination d'une ébauche de la pose du visage de l'individu est mise en œuvre sur chaque image de visage de l'individu, et
o l'étape de détermination de la forme et la pose du visage de l'individu est mise en œuvre sur l'ensemble des images de visage en déformant de manière itérative le modèle en trois dimensions pour que la forme du modèle déformé corresponde à la forme du visage de l'individu sur les images.
L'invention propose enfin un système d'identification d'individus comportant au moins un serveur de contrôle d'un individu à identifier, et au moins un serveur de gestion d'une base de N images de références d'individus répertoriés, le serveur de contrôle comprenant des moyens d'acquisition adaptés pour procéder à l'acquisition d'une image du visage de l'individu,
le système d'identification d'individus étant caractérisé en ce que l'un du serveur de contrôle et du serveur de gestion comporte des moyens de traitement adaptés pour mettre en œuvre le procédé de traitement selon l'invention, et, à partir d'une vue de face du visage d'un individu obtenue, mettre en œuvre un traitement de reconnaissance de visage par comparaison avec les images de références de la base, afin d'identifier l'individu.
DESCRIPTION DES FIGURES
D'autres caractéristiques, buts et avantages de la présente invention apparaîtront à la lecture de la description détaillée qui va suivre, au regard des figures annexées, données à titre d'exemples non limitatifs et sur lesquelles :
La figure 1 représente un exemple de système d'identification adapté pour mettre en œuvre un procédé de traitement d'images.
La figure 2a représente les principales étapes du procédé de génération d'un modèle en trois dimensions de visages,
- La figure 2b représente les principales étapes du procédé de traitement d'images selon l'invention.
La figure 3 illustre les points caractéristiques d'un visage.
La figure 4 illustre des notations utilisées pour le calcul d'une matrice de différentiation.
- La figure 5a est une image d'un visage à traiter afin d'identifier l'individu sur l'image,
Les figures 5b et 5c sont respectivement la restitution de la forme du visage de l'individu et une représentation de la texture dudit visage,
La figure 5d est une image de face du visage de l'individu reconstruite à partir de l'image de la figure 5a.
Les figures 6a et 6b sont respectivement des images d'entrées d'un même visage et une image de face du visage obtenue à partir de ces images d'entrées. DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE MISE EN ŒUVRE DE L'INVENTION
Système de traitement d'images
En référence à la figure 1 , on a représenté un système d'identification 1 adapté pour mettre en œuvre un procédé de traitement d'images. Lors de l'identification d'un individu I, un serveur de contrôle SC, muni de moyens 1 1 d'acquisition d'images appropriés, procède à l'acquisition d'une image du visage de l'individu.
Cette image peut être non frontale. Afin d'identifier l'individu I, le serveur de contrôle SC peut également acquérir une image de visage de l'individu, frontale cette fois, qui est mémorisée dans un document d'identité.
Le serveur de contrôle comprend alors avantageusement des moyens de traitement adaptés pour mettre en œuvre, sur la première image du visage de l'individu, un traitement visant à « frontaliser » cette image : c'est-à-dire de générer, à partir de cette image, une image frontale. Suite à ce traitement de frontalisation, le serveur de contrôle peut avantageusement comparer les deux images frontales dont il dispose, afin de déterminer si les visages figurant sur les images correspondent à la même personne.
Alternativement, la seconde image de visage peut être stockée, parmi d'autres images, dans une base de données d'un serveur de gestion SG. Alors, le serveur de contrôle transmet la première image qu'il a acquise au serveur de gestion, et celui-ci met en œuvre le procédé de traitement de la première image et de comparaison pour identifier l'individu I. Dans ce cas, la comparaison peut avoir lieu entre l'image « frontalisée » de l'individu et chacune des images de visage enregistrées dans la base de données.
Procédé de traitement d'images de visages
En référence à la figure 2, on va maintenant décrire un procédé de traitement d'images de visages, permettant d'obtenir une image frontale de visage d'un individu.
En informatique, chaque objet en trois dimensions tel qu'un visage humain peut être décrit à l'aide des trois éléments suivants :
- La forme de l'objet, qui est composée d'un ensemble de vertex 3D, chaque vertex étant un point de l'objet défini par des coordonnées le long de trois directions orthogonales. On note N le nombre de vertex vi d'un objet, chaque objet étant décrit par une matrice de dimension 3xN S=(v1,...,vN) dans laquelle les vertex sont arrangés en colonnes.
- La surface de l'objet : elle est matérialisée en reliant entre eux des vertex pour former des triangles. Une liste de triangles est donc définie pour chaque objet, chaque triangle étant indiqué par les trois index des colonnes correspondantes de la matrice S.
Une représentation de la texture de l'objet : il s'agit d'une image utilisée pour colorier l'objet en trois dimensions obtenu à partir de sa forme et de sa surface. La surface de l'objet définie par la liste de triangles est utilisée pour faire correspondre les vertex de l'objet à une texture particulière.
Génération d'un modèle 3D déformable
Le procédé comprend une première étape 100 consistant à générer un modèle en trois dimensions d'une forme de visage humain, que l'on peut déformer pour obtenir tout type de forme de visage humain.
Ce modèle est formulé mathématiquement comme une combinaison linéaire d'exemples de visages d'individus, noté
Où S0 est un gabarit de forme de visage humain, constituant la base du modèle, et S°+Sj représente la forme du visage d'un exemple particulier d'individu réel. Par conséquent, Sj représente l'écart entre l'un des exemples de visages et le gabarit.
Les coefficients α; sont quant à eux déterminés ultérieurement pour déformer le modèle S afin de le faire correspondre au visage d'un individu que l'on veut identifier.
On va maintenant décrire les étapes permettant d'obtenir ce modèle.
Au cours d'une étape 1 10, on génère le gabarit S0 de visage humain : il peut s'agir d'une forme de visage d'un individu particulier, ou d'une moyenne de formes de visages d'une pluralité d'individus. Dans tous les cas, la ou les formes de visages sont définies par une série de vertex correspondant à des points du visage. Ces points comprennent, entre autres, un nombre Ns de points caractéristiques d'un visage, représentés en figure 3, typiquement au nombre de 22, et qui sont les coins des yeux, les extrémités de la bouche, des narines, le bout du nez, des oreilles, etc.
Ces points caractéristiques peuvent être repérés manuellement par un opérateur à partir d'une image frontale de visage, ou ils peuvent être repérés automatiquement par un serveur.
Le gabarit de visage humain comprend en outre de l'ordre de quelques milliers d'autres vertex acquis par un scanner 3D.
Au cours d'une étape 120, on procède à l'acquisition de formes d'exemples de visages d'individus réels. Cette acquisition est mise en œuvre de la même manière que précédemment, en repérant les points caractéristiques des visages des individus pour générer une liste de vertex.
Les formes de visages ainsi acquises correspondent chacune à un S°+Sj.
Pour construire le modèle en trois dimensions, on détermine à partir des listes de vertex de chaque forme de visage la déviation Sj entre le visage et le gabarit.
Or, il faut que toutes les formes générées par le modèle en trois dimensions S soient des formes de visages possibles, et non des aberrations mathématiques. Pour s'assurer de ce résultat, on met tous les exemples de formes de visage en correspondance, c'est-à-dire en associant chaque vertex d'un visage à un nombre défini. Par exemple, on attribue un nombre donné au bout du nez et un autre nombre à la commissure gauche des lèvres. Ces nombres correspondent aux indices des vertex.
La particularité du gabarit est qu'il s'agit d'une forme de visage pour laquelle l'indexation des vertex est déjà réalisée. Par conséquent, l'indexation des vertex de chaque exemple de forme de visage est réalisée en mettant en correspondance au cours d'une étape 130 les vertex de chaque exemple de forme avec les vertex du gabarit.
Pour ce faire, on déforme au cours d'une étape 131 le gabarit de manière itérative pour minimiser l'écart entre la forme du gabarit et celle de l'exemple de visage, le gabarit déformé devant toujours correspondre à une forme de visage humain.
La fonction mathématique à minimiser comprend trois termes.
Le premier terme sert à minimiser la distance entre les points caractéristiques d'un exemple de visage et les points correspondant du gabarit. Elle s'écrit :
Où i est l'indice d'un point caractéristique, est un vertex d'un point d'un visage d'exemple d'individu correspondant au point caractéristique i, vki est un vertex d'un point du gabarit après déformation correspondant au même point
caractéristique i, et Ns est le nombre de points caractéristiques dans un visage, par exemple 22.
On cherche donc à modifier les positions des points caractéristiques du gabarit itérativement pour correspondre aux positions des mêmes points caractéristiques sur l'exemple de visage.
Le second terme sert à mettre en correspondance la surface de la forme du visage du gabarit avec la surface de la forme de l'exemple de visage. La fonction à minimiser représente l'écart entre les points du gabarit et la surface de l'exemple de visage qui est la plus proche des points caractéristiques. Elle est notée :
Où Pvi est un point de la surface de l'exemple de visage, c'est-à-dire un point correspondant à la projection sur la surface du visage du vertex ν,. Il est possible que la surface de l'exemple de visage soit incomplète, si par exemple elle est obtenue à partir d'une image non frontale, et que des points du gabarit ne correspondent à aucun point de l'exemple de visage. Dans ce cas, ces points du gabarit ne sont pas pris en compte.
Le troisième terme contraint le gabarit déformé à rester un visage humain réel, même si l'exemple de visage utilisé pour la déformation du gabarit est incomplet ou contient du bruit. Ce terme rend le gabarit déformé le plus « lisse » possible, c'est-à-dire le plus continu possible, en minimisant la norme de la dérivée de la transformation du gabarit, à chaque itération. On exprime cette norme de la manière suivante :
\\A - vec(S°)) \\2
Où v est la concaténation des vertex 3D du gabarit déformé, et vec(S°) le même terme pour le gabarit avant transformation, v et vec(S°) sont des vecteurs de taille 3N X 1.
La dérivation d'une fonction étant une opération linéaire, son calcul peut être réalisé par la multiplication de la fonction par une matrice. En l'espèce, A est une matrice de différentiation du vecteur v-vec(S°), de dimension 3T x 3N, où T est le nombre de triangles de la surface du gabarit.
La dérivée est calculée pour chaque triangle t de la surface du gabarit, la dérivée de la déformation d'un triangle t étant calculée par rapports aux triangles q
voisins du triangle t, par approximation de la différence finie du triangle t avec les triangles voisins q comme suit :
Où Nt est l'ensemble des triangles q voisins du triangle t, wq t est un facteur de pondération qui dépend des surfaces des triangles t et q, dt est la déformation du triangle t au niveau de son barycentre, et bt est la position du barycentre du triangle t. La distance entre les barycentres ainsi que le facteur de pondération sont calculés sur le gabarit non déformé S0.
En référence à la figure 4, le facteur de pondération wq t est la somme des surfaces de deux triangles dont la base est l'arête connectant les triangles t et q, et le sommet opposé à cette base est respectivement le barycentres bt du triangle t et celui bq du triangle q.
Pour obtenir la déformation dt du triangle t au niveau de son barycentre (c'est-à-dire le déplacement du barycentre entre le gabarit non déformé et le gabarit déformé), on multiplie la déformation de la forme (v-vec(S0)) par une matrice Bt de dimension 3 3N qui est nulle partout sauf aux éléments associés aux vertex du triangle t. Ces éléments sont alors égaux 1/3.
Le barycentre bt du triangle t étant la moyenne de ses trois vertex, la multiplication de cette matrice B à la déformation (v-vec(S0)) permet d'obtenir le déplacement du barycentre du triangle.
La matrice A, de dimension 3T x 3N, est obtenue en concaténant verticalement l'ensemble des matrices Bt associées à chaque triangle t, dont les coefficients correspondant aux vertex d'un triangle t sont multipliés par les facteurs de pondérations wq t et divisés par les distances entre les barycentres \\bq - bt \\
On constate que la matrice de différentiation A dépend uniquement de la surface du gabarit non déformé (liste de triangles de S0), et non pas de la forme du gabarit déformé v. Elle est donc constante.
Les trois termes décrits en détails ci-avant sont minimisés simultanément, on détermine donc :
Où κ, et γ sont des coefficients de pondération de chaque terme. Cette minimisation peut être résolue linéairement par décomposition en valeurs singulières.
Comme cette minimisation est itérative, au début de l'étape de mise en correspondance, le gabarit peut être arbitrairement éloigné de l'exemple de visage de l'individu, et donc les points pv, de la surface du visage les plus proches des points V, du gabarit ne sont pas bien définis. On fixe alors une valeur faible pour κ comparativement aux autres coefficients de pondération. Par ailleurs, on fixe une valeur importante pour γ pour s'assurer que la transformation est quasi rigide, c'est- à-dire que la forme du visage du gabarit est la moins déformée possible.
A chaque itération de la minimisation, on augmente la valeur de κ. A chaque itération, les points pv, sont recherchés sur la surface de l'exemple de visage d'individu, comme étant les plus proches des points v, du gabarit déformé à cette itération. A mesure que la minimisation est itérée, ces points ρν, sont de plus en plus fiables et on diminue la valeur du coefficient γ pour rendre plus flexible la comparaison.
Cette étape de mise en correspondance itérative est réalisée pour chaque exemple de visage d'individu. Elle aboutit à un gabarit déformé, qui correspond à un exemple de visage, et dont on peut déduire la valeur de Sj, la déviation entre le gabarit et l'exemple de visage.
On obtient donc, à l'issue de cette étape, un modèle déformable de visage en trois dimensions, comprenant le gabarit S0 et les déviations Sj, dont on peut réaliser des combinaisons linéaires pour obtenir n'importe quel visage d'individu. Une fois ce modèle obtenu, on peut l'utiliser pour générer, à partir d'une image de visage d'un individu, une forme en trois dimensions de son visage.
De retour à la figure 2, on acquiert au cours d'une étape 200 une image du visage d'un individu que l'on souhaite identifier, par exemple au moyen d'un serveur de contrôle de la figure 1. Un exemple d'une telle image est annexé en figure 5a.
Puis, on met en œuvre une étape 300 d'estimation dite « rigide » de la pose, ou position, du visage sur l'image. L'estimation est dite rigide car elle ne comprend pas de déformation du visage.
La pose est définie de manière relative, par rapport à une référence, en utilisant six paramètres : trois angles de rotation, deux paramètres de translation et un facteur d'échelle et est définie ainsi :
p = s. R. v + t
Où p est un vecteur à deux dimensions, comprenant les coordonnées en X et Y de la projection de chaque vertex v en trois dimensions, s est le paramètre d'échelle, R est une matrice de type 2 x 3 dont les deux lignes sont les deux premières lignes d'une matrice de rotation, et t est un vecteur de translation en X et en Y.
La matrice de rotation s'écrit en fonction des angles d'Euler ax, ay, et az comme suit :
Pour estimer la pose, on acquiert de la même manière que précédemment les positions des points caractéristiques du visage de l'individu sur l'image, par exemple par le pointage d'un opérateur ou par une détection automatique. On pourra à cet égard se référer aux publications suivantes :
Yow et al. Feature-based human face détection. Image and Vision
Computing, 15(9) : 713-735, 1997.
Nikolaidis et Pitas, Facial feature extraction and détermination of pose, Proc. Of the NOBLESSE Workshop on Nonlinear Model Based Image Analysis, page 257-262, 1998.
Lee et al. Realtime facial feature détection for person identification system,
IAPR Workshop on Machine Vision Applications, 2000.
Puis, on compare les positions de ces points avec les projections des vertex des points correspondant d'un exemple type de visage, qui peut être en l'occurrence le gabarit S0 utilisé pour générer le modèle en trois dimensions. Cette comparaison est réalisée en modifiant de façon itérative la pose du gabarit de visage, en faisant varier les paramètres mentionnés ci-avant, pour minimiser l'écart entre les projections des vertex du visage de l'individu et du gabarit de la façon suivante :
Où Pi est la position d'un point caractéristique i sur l'image et v, est un vertex du point correspondant i du gabarit. En fonction de l'image de l'individu dont on dispose, qui est non frontale, certains points caractéristiques peuvent être invisibles sur l'image ou leur position peut être incertaine.
On attribue donc à chaque point caractéristique i un coefficient c, de pondération, représentatif de la « confiance » sur la position du point. Si un point est invisible sur l'image, alors son coefficient de confiance est nul.
La détermination de la pose de l'individu sur l'image s'écrit alors ainsi :
22
La pose obtenue pour le gabarit à la fin de la minimisation constitue la pose du visage de l'individu sur l'image.
Ce problème d'optimisation est résolu avec une procédure en deux étapes, la première étape 310 étant la recherche linéaire d'une solution, et la seconde étape étant la minimisation non-linéaire 320 pour raffiner l'estimation de la pose obtenue avec la première étape.
On va maintenant décrire l'étape 310 d'estimation linéaire.
Cette estimation part de l'hypothèse que la distance entre les positions des points caractéristiques et la modélisation de leur projection, appelée l'erreur de « rétroprojection », est gaussienne avec une moyenne nulle et un écart-type égal à -L, et que si l'erreur est indépendante pour tous les points, alors on peut montrer que la solution de l'équation précédente est aussi la solution du système linéaire suivant :
Ax = b
Avec
χ
τ— (sr
1:L sr
12 sr
13 t
x sr
2 sr
22 sr
23 £
y)
bT = (clPx,l clPy,l— c2lPx,22 c2lPy,22
La résolution de ce système linéaire surdéterminé est de l'algèbre linéaire standard et est réalisées en utilisant le pseudo-inverse donnée par la décomposition en valeur singulière décrite dans la publication Golub et al. Matrix computations volume 3, Johns Hopkins Univ Pr, 1996.
Cette première étape de résolution linéaire 310 fournit une bonne estimation de départ de la pose, mais l'hypothèse adoptée précédemment pour la résolution linéaire n'étant cependant pas fondée en pratique, l'estimation nécessite d'être raffinée par l'étape d'estimation non-linéaire 320.
Le résultat de l'étape linéaire est raffiné en mettant en œuvre une étape itérative non linéaire 320, pour lequel une méthode préférée est la minimisation de
Levenberg-Marquadt. On pourra se référer à la publication Gill et al. Practical
Optimization. Académie Press, London et New York, 1981 .
Cette étape permet finalement d'obtenir une première estimation de la pose du visage de l'individu sur l'image, cette pose étant ensuite raffinée lors de l'étape 400 d'estimation « flexible » de la pose et de la forme dudit visage. On considère donc qu'à ce stade on a déterminé une « ébauche » de la pose du visage.
On va maintenant décrire l'étape 400 d'estimation flexible de la pose et de la forme. Cette estimation est mise en œuvre grâce au modèle de visage en trois- dimensions obtenu à l'étape 100. Comme on l'a indiqué précédemment, ce modèle s'écrit sous la forme d'une combinaison linéaire du gabarit S0 et des déviations de ce gabarit par rapport à des exemples d'individus :
On peut obtenir la forme de n'importe quel visage en choisissant les coefficients a, de la combinaison linéaire. L'estimation flexible de la forme et de la pose du visage de l'individu sur l'image est donc réalisée en minimisant l'écart entre les projections des points caractéristiques p, du visage de l'individu sur l'image, et les mêmes projections du modèle. Pour ce faire, on modifie de manière itérative la forme du visage obtenu par le modèle (grâce aux coefficients α;) et les paramètres de pose du visage.
Mathématiquement, on cherche donc à obtenir le minimum suivant :
22 M
min Cj Pi - (s. R. (S° + ajSÏ) + t) 2
a,s,ax,CLyaz,t ' 1
7 = 1
Cependant la résolution de cette équation pourrait aboutir à une forme du modèle de visage déformé qui ne corresponde plus à un visage humain. En effet, les points caractéristique p, du visage de l'individu peuvent être bruités ou inaccessibles, et le système ne serait pas alors assez déterminé.
On contraint alors les coefficients aj pour garantir l'obtention d'un visage humain réaliste. Pour cela, on minimise la norme de la dérivée de la déformation du modèle en trois dimensions, les vertex déformés du modèle étant ici définis comme une fonction du vecteur a comprenant les aj pour j compris entre 1 et M. La dérivée de la déformation du modèle en trois dimensions est obtenue par multiplication du modèle déformé par une matrice A' construite de la même manière que la matrice A de différentiation précédente.
Cette étape de minimisation correspond à une hypothèse de continuité du visage, qui est vérifiée quel que soit l'individu et permet donc au procédé d'être le plus général possible, c'est-à-dire applicable pour n'importe quel individu.
On obtient donc l'équation suivante :
22 M
min Cj Pi - (s. R. (S? + ajS() + t) + Y\\A'Sa\ a,s,ax,avaz,t ' 1
i = l 7 = 1
Cette équation est résolue, de manière analogue à l'étape de minimisation non-linéaire, en utilisant l'algorithme de minimisation de Levenberg-Marquardt. L'initialisation de la pose est fournie par la pose obtenue au terme de l'étape d'estimation rigide. La forme initiale utilisée pour la minimisation est celle du gabarit S0 d'origine, i.e. que les valeurs des coefficients α; initiaux sont nulles.
Une fois cette estimation mise en œuvre, la modèle en trois dimensions déformé correspond donc à la forme en trois-dimensions du visage de l'individu sur l'image, représentée en figure 5b. On peut manipuler cette forme en trois- dimensions simplement pour en obtenir une représentation de face.
En outre, à partir de la forme en trois-dimensions et de l'image d'origine, on génère au cours d'une étape 500 une représentation de la texture du visage de
l'individu, représentée en figure 5c. Pour ce faire, on échantillonne l'image d'origine aux positions des points de la forme en trois-dimensions.
On génère enfin au cours d'une étape 600, à partir de la forme du visage, positionnée de face, et de la représentation de la texture du visage, une image en deux dimensions de face de l'individu. Cette image est illustrée en figure 5d. Elle peut servir de base un procédé d'identification classique par reconnaissance de visage.
On note enfin que l'on peut mettre en œuvre ce procédé pour une pluralité d'images d'entrées du même individu, pour obtenir une unique forme en trois dimensions du visage de l'individu et une unique représentation de la texture du visage de l'individu. Cependant, un ensemble de paramètres de pose doit être estimé pour chaque image d'entrée.
Les étapes 310 et 320 d'estimation linéaire et non linéaire de la pose sont mises en œuvre pour chaque image d'entrée. Puis l'étape 400 d'estimation flexible de la pose et de la forme est réalisée sur l'ensemble des K images en recherchant le minimum suivant :
Puis une représentation de la texture du visage est extraite de chaque image, et elles sont fondues ensemble, en fonction de la visibilité de chaque élément du visage sur chaque image d'entrée, pour obtenir une unique représentation de la texture du visage.
La réalisation d'une nouvelle image de synthèse est réalisée de la même manière que précédemment pour une seule image.
On a représenté en figure 6a deux images d'entrée d'un même individu, et en figure 6b une image de face de l'individu générée avec ce procédé.