FR3018937A1 - METHOD FOR IMPROVED FACE MODELING FROM AN IMAGE - Google Patents
METHOD FOR IMPROVED FACE MODELING FROM AN IMAGE Download PDFInfo
- Publication number
- FR3018937A1 FR3018937A1 FR1452289A FR1452289A FR3018937A1 FR 3018937 A1 FR3018937 A1 FR 3018937A1 FR 1452289 A FR1452289 A FR 1452289A FR 1452289 A FR1452289 A FR 1452289A FR 3018937 A1 FR3018937 A1 FR 3018937A1
- Authority
- FR
- France
- Prior art keywords
- face
- shape
- image
- individual
- vertex
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 239000011159 matrix material Substances 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 18
- 230000001815 facial effect Effects 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 1
- 210000000887 face Anatomy 0.000 description 16
- 230000004069 differentiation Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005484 gravity Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 210000004081 cilia Anatomy 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 235000001291 Aechmea magdalenae Nutrition 0.000 description 1
- 244000179819 Aechmea magdalenae Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
L'invention concerne un procédé de modélisation en trois dimensions d'un visage représenté sur une image en deux dimensions, comprenant : - une acquisition (1000) de coordonnées d'au moins un point de la surface du visage sur l'image, - une première estimation (2200) de la forme du visage, la forme comprenant un réseau de vertex correspondant chacun à un point de la surface d'un visage, et l'estimation de la pose du visage sur l'image, le procédé étant caractérisé en ce qu'il comprend en outre une étape consistant à déformer (3200) la forme du visage pour obtenir une estimation affinée de la forme du visage sur l'image, la déformation étant continue par rapport à la première estimation de forme du visage et les coordonnées de la projection sur l'image d'au moins un vertex étant contraintes pour correspondre à la position d'un point correspondant du visage sur l'image. L'invention est applicable notamment à l'authentification ou l'identification d'individus.The invention relates to a method for three-dimensional modeling of a face represented on a two-dimensional image, comprising: an acquisition (1000) of coordinates of at least one point of the surface of the face on the image; a first estimate (2200) of the shape of the face, the shape comprising a vertex array each corresponding to a point on the surface of a face, and the estimation of the pose of the face on the image, the method being characterized in that it further comprises a step of deforming (3200) the shape of the face to obtain a refined estimate of the shape of the face on the image, the deformation being continuous with respect to the first estimate of shape of the face and the coordinates of the projection on the image of at least one vertex being constrained to correspond to the position of a corresponding point of the face on the image. The invention is particularly applicable to the authentication or identification of individuals.
Description
DOMAINE DE L'INVENTION L'invention concerne le domaine de la modélisation en trois dimensions de visages d'individus représentés sur des images. L'invention s'applique notamment à la reconnaissance faciale d'individus, en générant une vue frontale d'un individu à partir d'un modèle de visage établi à partir d'une vue non frontale. ETAT DE LA TECHNIQUE L'identification d'individus par reconnaissance de visage est mise en oeuvre 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 oeuvre, 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. Il 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.FIELD OF THE INVENTION The invention relates to the field of three-dimensional modeling of faces of individuals represented on images. The invention applies in particular to the facial recognition of individuals, by generating a front view of an individual from a face model established from a non-frontal view. STATE OF THE ART The identification of individuals by face recognition is implemented by comparing two images of faces, and deducing from this comparison a score evaluating the resemblance between the faces on the images. When the compared faces do not appear on the image with the same pose, the resemblance score can be strongly degraded, even if the faces on the images come from the same person. This results in a significant loss of efficiency of identification processes implemented, since the pose of the face on the images is not the same. The optimal recognition efficiency is therefore achieved not only when two faces have the same pose on the compared images, but also when the faces are seen from the front, because this view provides the most information on the shape of the face. However, it is impossible to systematically obtain a face image of a face for identification. Indeed, in most situations, a previously recorded front image of an individual, such as for example in an identity document, is compared to an image of the individual acquired "on the fly" by a computer system. acquisition such as a surveillance camera. The image thus acquired is hardly ever a frontal image because the individual does not look through the acquisition system. In this case, image processing methods have been developed for generating, from an image of a face, an image of the same face, seen from the front.
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.To do this, the acquired image is processed to determine the three-dimensional shape of the face of the individual on the image, its pose, that is to say its position relative to a front view, as well as a representation of the texture of the face, that is, the physical appearance of the surface of the face superimposed on the three-dimensional structure of the shape of the face.
Pour déterminer la forme en trois dimensions du visage de l'individu, il a été proposé d'élaborer un modèle en trois dimensions deformable de visage humain, puis de déformer ce modèle pour minimiser l'écart entre des points caractéristiques du visage sur l'image et les points correspondants du modèle.To determine the three-dimensional shape of the individual's face, it has been proposed to develop a deformable three-dimensional human face model, and then deform this model to minimize the gap between facial features on the face. image and corresponding points of the model.
En particulier, il a été proposé dans la demande FR 1261025 un modèle en trois dimensions de visage humain, le modèle étant une combinaison linéaire d'un gabarit de visage humain (par exemple une forme moyenne de visage réalisée à partir de plusieurs visages), et des déformations entre ce gabarit et une pluralité d'exemples de visages.In particular, it has been proposed in application FR 1261025 a three-dimensional model of human face, the model being a linear combination of a human face template (for example an average face shape made from several faces), and deformations between this template and a plurality of example faces.
La déformation du modèle est en outre contrainte pour conserver à la forme du modèle celle d'un visage humain, afin d'éviter tout risque d'aberration même lorsque l'image à partir de laquelle on génère le modèle de visage est incomplète ou comporte du bruit. Ce modèle a déjà permis d'améliorer la précision des vues frontalisées des individus et a permis d'améliorer les résultats des comparaisons entre les vues d'individus obtenues grâce aux modèles et les vues authentiques d'individus. Cependant, le fait que la forme d'un visage ne puisse être obtenue que par la combinaison linéaire d'exemples de visage limite la précision de ce modèle car les points caractéristiques de la forme de visage ainsi obtenue ne peuvent qu'approcher ceux du visage authentique. Il est en outre nécessaire de procéder à l'acquisition de davantage d'exemples de visages humains (à partir desquels la combinaison linéaire est réalisée) pour compléter le modèle et le rendre plus précis. Or ce type d'acquisition est long et coûteux à réaliser.The deformation of the model is also constrained to keep the shape of the model that of a human face, to avoid any risk of aberration even when the image from which the face model is generated is incomplete or contains noise. This model has already made it possible to improve the precision of the frontalized views of individuals and has improved the results of comparisons between the views of individuals obtained through models and the authentic views of individuals. However, the fact that the shape of a face can be obtained only by the linear combination of facial examples limits the accuracy of this model because the characteristic points of the face shape thus obtained can only approach those of the face authentic. In addition, it is necessary to acquire more examples of human faces (from which the linear combination is made) to complete the model and make it more precise. But this type of acquisition is long and expensive to achieve.
PRESENTATION DE L'INVENTION L'invention a pour but de proposer un procédé de modélisation en trois dimensions d'un visage ne présentant pas les inconvénients précités, et qui permette d'obtenir une forme plus précise. En particulier, un but de l'invention est de proposer un procédé de modélisation d'un visage permettant d'obtenir une forme de visage dont les points caractéristiques correspondent exactement à ceux du visage représenté sur l'image à partir de laquelle est élaborée la modélisation.PRESENTATION OF THE INVENTION The purpose of the invention is to propose a method of three-dimensional modeling of a face that does not have the aforementioned drawbacks and that makes it possible to obtain a more precise shape. In particular, an object of the invention is to propose a method of modeling a face that makes it possible to obtain a face shape whose characteristic points correspond exactly to those of the face represented on the image from which the image is made. modelization.
A cet égard, l'invention concerne un procédé de modélisation en trois dimensions d'un visage représenté sur une image en deux dimensions, comprenant : - une acquisition de coordonnées d'au moins un point de la surface du visage sur l'image, - une première estimation de la forme du visage, la forme comprenant un réseau de vertex correspondant chacun à un point de la surface d'un visage, et l'estimation de la pose du visage sur l'image, le procédé étant caractérisé en ce qu'il comprend en outre une étape consistant à déformer la forme du visage pour obtenir une estimation affinée de la forme du visage sur l'image, la déformation étant continue par rapport à la première estimation de forme du visage et les coordonnées de la projection sur l'image d'au moins un vertex étant contraintes pour correspondre à la position d'un point correspondant du visage sur l'image.In this regard, the invention relates to a method of three-dimensional modeling of a face represented on a two-dimensional image, comprising: a acquisition of coordinates of at least one point of the surface of the face on the image, a first estimate of the shape of the face, the shape comprising a vertex array each corresponding to a point on the surface of a face, and the estimation of the pose of the face on the image, the method being characterized in that it further comprises a step of deforming the shape of the face to obtain a refined estimate of the shape of the face on the image, the deformation being continuous with respect to the first estimate of shape of the face and the coordinates of the projection on the image of at least one vertex being constrained to correspond to the position of a corresponding point of the face on the image.
Avantageusement, mais facultativement, le procédé de modélisation selon l'invention comprend en outre au moins l'une des caractéristiques suivantes : - le procédé comprend une deuxième étape d'acquisition d'un ensemble de points du visage, les coordonnées de vertex correspondant auxdits points du visage étant contraintes lors de l'étape de déformation pour correspondre aux coordonnées desdits points détectés lors de ladite étape. - la deuxième étape d'acquisition comprend l'affichage d'une projection en deux dimensions de la forme de visage, superposée au visage sur l'image, et le repérage des coordonnées d'un ou plusieurs points du visage sur l'image par un opérateur en alignant un ou plusieurs vertex avec les points correspondants. - au cours de la déformation de la forme de visage, les coordonnées d'un vertex correspondant à un point du visage sont contraintes pour appartenir à une droite passant par le point caractéristique correspondant du visage sur l'image et orthogonale au plan de l'image. - la déformation continue de la forme du visage comprend la minimisation d'une dérivée de l'écart entre la forme de visage obtenue à l'issue de la première estimation et la forme obtenue à l'issue de la déformation. - la contrainte de continuité de la déformation de la forme du visage comprend la minimisation de la norme de la dérivée seconde de la transformation de chaque triangle dont les sommets sont formés par trois vertex, ladite norme étant du type Es = ciikillvec(iliik)- 2 où N est l'ensemble des triangles adjacents de la forme de visage, i,j,k, et I les indices de vertex, Aiik la matrice de déformation d'un triangle dont les sommets sont les vertex i, j, et k, vec l'opérateur de concaténation d'une matrice en un vecteur colonne, et cula une constante pondérant la contribution des triangles ijk et ijl, dépendant uniquement de la forme du visage avant déformation. - Le procédé comprend en outre l'approximation de normales aux triangles dont les sommets sont formés par trois vertex par des variables additionnelles, et la déformation de la forme du visage comprend en outre la minimisation de l'écart entre les variables additionnelles et les normales aux triangles de la forme du visage obtenue après déformation. - Le procédé comprend en outre la répétition des étapes d'acquisition d'un ensemble de points du visage, et de déformation contrainte de la forme du visage, ladite étape de déformation étant mise en oeuvre en alignant de nouveaux vertex correspondant à des points du visage aux points correspondants du visage sur l'image. - Le procédé comprend en outre les étapes consistant à: 0 à 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 0 générer une vue de face du visage de l'individu.Advantageously, but optionally, the modeling method according to the invention further comprises at least one of the following features: the method comprises a second step of acquiring a set of points of the face, the vertex coordinates corresponding to said points of the face being constrained during the deformation step to correspond to the coordinates of said points detected during said step. the second acquisition step comprises displaying a two-dimensional projection of the face shape, superimposed on the face on the image, and locating the coordinates of one or more points of the face on the image by an operator by aligning one or more vertexes with corresponding points. during the deformation of the face shape, the coordinates of a vertex corresponding to a point of the face are constrained to belong to a straight line passing through the corresponding characteristic point of the face on the image and orthogonal to the plane of the face; picture. the continuous deformation of the shape of the face comprises the minimization of a derivative of the difference between the face shape obtained at the end of the first estimate and the shape obtained at the end of the deformation. the constraint of continuity of the deformation of the shape of the face comprises the minimization of the norm of the second derivative of the transformation of each triangle whose vertices are formed by three vertexes, said norm being of the type Es = ciikillvec (iliik) - 2 where N is the set of adjacent triangles of the face shape, i, j, k, and I the vertex indices, Aiik the deformation matrix of a triangle whose vertices are the vertices i, j, and k , with the concatenation operator of a matrix in a column vector, and found a constant weighting the contribution of the triangles ijk and ijl, depending solely on the shape of the face before deformation. The method further comprises approximating normals to triangles whose vertices are formed by three vertexes by additional variables, and deforming the shape of the face further comprises minimizing the difference between the additional variables and the normal ones. to the triangles of the shape of the face obtained after deformation. The method further comprises the repetition of the steps of acquisition of a set of points of the face, and of the constrained deformation of the shape of the face, said deformation step being implemented by aligning new vertices corresponding to points of the face; face to the corresponding points of the face on the image. The method further comprises the steps of: 0 from the estimation of the pose and the shape of the face of the individual on the image, generating a representation of the texture of the face of the individual, and 0 generate a front view of the individual's face.
L'invention concerne en outre une unité de traitement, comprenant des moyens de traitement configurés pour la mise en oeuvre du procédé de modélisation selon la description qui précède.The invention further relates to a processing unit, comprising processing means configured for implementing the modeling method according to the foregoing description.
L'invention a également pour objet un produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre du procédé de modélisation selon la description qui précède lorsque celui-ci est mis en oeuvre par des moyens de traitement d'une unité de traitement. L'invention a aussi pour objet un procédé d'identification ou d'authentification d'un individu, caractérisé en ce qu'il comprend : - à partir d'une image de visage de l'individu, la génération d'une vue de face du visage de l'individu par la mise en oeuvre du procédé de modélisation décrit ci-avant, et - la mise en oeuvre d'un traitement de reconnaissance de visage par comparaison de la vue de face du visage de l'individu avec une ou plusieurs images de visages de références. Enfin l'invention a pour objet un système d'authentification ou d'identification d'un individu, comprenant un serveur de contrôle d'un individu à identifier, et au moins un serveur de gestion d'une base d'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 oeuvre le procédé de modélisation selon la description qui précède, et, à partir d'une vue de face du visage d'un individu obtenue, mettre en oeuvre un traitement de reconnaissance de visage par comparaison avec les images de références de la base, afin d'identifier l'individu.The subject of the invention is also a computer program product, comprising code instructions for implementing the modeling method according to the preceding description when the latter is implemented by means of processing a unit. treatment. The invention also relates to a method for identifying or authenticating an individual, characterized in that it comprises: - from a face image of the individual, the generation of a view of face of the face of the individual by the implementation of the modeling method described above, and - the implementation of a face recognition treatment by comparing the front view of the face of the individual with a or several images of reference faces. Finally, the subject of the invention is an authentication or identification system for an individual, comprising a control server of an individual to be identified, and at least one management server of a reference image database. individuals listed, the control server comprising acquisition means adapted to proceed to the acquisition of an image of the face of the individual, the identification system of individuals being characterized in that one of the server control and the management server includes processing means adapted to implement the modeling method according to the foregoing description, and, from a front view of the face of a person obtained, implement a treatment face recognition by comparison with reference images of the base, in order to identify the individual.
Le procédé proposé permet de faire correspondre exactement les positions des points caractéristiques de l'image de visage à ceux de la forme de visage modélisée. La déformation ultérieure de la forme de visage maintient la position de ces points caractéristiques tout en adaptant la forme générale du visage pour qu'elle corresponde le mieux possible à l'estimation initiale, qui était établie pour correspondre à un visage humain. On obtient ainsi une modélisation plus précise du visage représenté sur l'image et les résultats des comparaisons réalisées à partir d'images générées grâce à cette modélisation sont meilleurs.The proposed method makes it possible to exactly match the positions of the characteristic points of the face image to those of the modeled face shape. The subsequent deformation of the face shape maintains the position of these characteristic points while adapting the general shape of the face so that it corresponds as closely as possible to the initial estimate, which was established to correspond to a human face. A more accurate modeling of the face represented on the image is thus obtained and the results of the comparisons made from images generated by this modeling are better.
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 schématiquement les principales étapes du procédé de modélisation selon un mode de réalisation de l'invention. - La figure 2 représente schématiquement les principales étapes d'un procédé de génération d'un modèle de visage pouvant être mis en oeuvre dans le procédé de modélisation. - La figure 3 représente les points caractéristiques d'un visage humain. - La figure 4 représente des notations utilisées pour le calcul d'une matrice de différentiation. - La figure 5 représente les principales étapes d'un mode de mise en oeuvre de l'estimation de la pose et de la première estimation de la forme du visage dans le procédé de modélisation. - Les figures 6a et 6b représentent respectivement la forme du visage et sa superposition à l'image après la première estimation. - Les figures 7a et 7b représentent la forme du visage et sa superposition à l'image après l'estimation affinée. - La figure 7c représente le recalage d'autres vertex correspondant à des points caractéristiques pour la réitération de l'étape d'estimation affinée de la forme du visage. - Les figures 8a et 8b représentent la forme du visage et sa superposition à l'image après la réitération de l'estimation affinée. - La figure 8c représente une image frontale réalisée à partir de la modélisation du visage. - La figure 9 représente un exemple de réalisation d'un système d'identification ou d'authentification d'un individu à partir de la modélisation du visage.DESCRIPTION OF THE FIGURES Other characteristics, objects and advantages of the present invention will appear on reading the detailed description which follows, with reference to the appended figures, given by way of non-limiting examples and in which: FIG. schematically the main steps of the modeling method according to one embodiment of the invention. - Figure 2 schematically shows the main steps of a method of generating a face model that can be implemented in the modeling process. - Figure 3 represents the characteristic points of a human face. FIG. 4 represents notations used for calculating a differentiation matrix. FIG. 5 represents the main steps of an embodiment of the estimation of the pose and the first estimate of the shape of the face in the modeling process. - Figures 6a and 6b respectively show the shape of the face and its superposition to the image after the first estimate. - Figures 7a and 7b show the shape of the face and its superposition to the image after the refined estimate. FIG. 7c represents the registration of other vertexes corresponding to characteristic points for the reiteration of the refined estimation step of the shape of the face. - Figures 8a and 8b show the shape of the face and its superposition to the image after the reiteration of the refined estimate. - Figure 8c shows a frontal image made from the modeling of the face. FIG. 9 represents an exemplary embodiment of a system for identifying or authenticating an individual from the modeling of the face.
DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION DE L'INVENTION Procédé de modélisation d'un visage En référence à la figure 1, on va décrire un procédé de modélisation en trois dimensions d'un objet, de préférence un visage d'un individu, représenté sur une image en deux dimensions. Ce procédé peut comprendre une étape d'acquisition (non représentée sur la figure) de l'image sur la base de laquelle est généré le modèle en trois dimensions de l'objet sur l'image. Ce procédé est mis en oeuvre par une unité de traitement 10, pourvu de moyens de traitement comme un processeur, et d'instructions de code dont l'exécution par le processeur permet la mise en oeuvre du procédé.DETAILED DESCRIPTION OF AT LEAST ONE EMBODIMENT OF THE INVENTION Method for Modeling a Face With reference to FIG. 1, a method of three-dimensional modeling of an object, preferably a face of an object, will be described. individual, represented on a two-dimensional image. This method may include an acquisition step (not shown in the figure) of the image on the basis of which is generated the three-dimensional model of the object on the image. This method is implemented by a processing unit 10, provided with processing means such as a processor, and code instructions whose execution by the processor allows the implementation of the method.
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, et correspondant à un point de la surface de l'objet.In computer science, every three-dimensional object such as a human face can be described using the following three elements: - The shape of the object, which is composed of a set of 3D vertexes, each vertex being a point of the object defined by coordinates along three orthogonal directions, and corresponding to a point on the surface of the object.
On note V le nombre de vertex v, d'un objet, chaque objet étant décrit par une matrice de dimension 3x V S=(vi,...,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. Première estimation de la forme et estimation de la pose Le procédé comprend une première étape 1000 de détection, sur l'image de visage à partir de laquelle est estimée la modélisation en trois dimensions, des coordonnées d'un ensemble de points du visage. Ces points sont avantageusement des points caractéristiques du 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.We denote by V the number of vertices v, of an object, each object being described by a matrix of dimension 3x V S = (vi, ..., vN) in which the vertices are arranged in columns. - The surface of the object: it is materialized by connecting vertex between them to form triangles. A list of triangles is thus defined for each object, each triangle being indicated by the three indexes of the corresponding columns of the matrix S. - A representation of the texture of the object: it is an image used to color the image. object in three dimensions obtained from its shape and its surface. The surface of the object defined by the triangle list is used to match the vertices of the object to a particular texture. First estimation of the shape and estimation of the pose The method comprises a first detection step 1000, on the face image from which the three-dimensional modeling is estimated coordinates of a set of points of the face. These points are advantageously characteristic points of the face shown in Figure 3, typically 22 in number, and which are the corners of the eyes, the ends of the mouth, nostrils, the tip of the nose, ears, etc.
Cette détection peut être faite de manière automatique par un logiciel de traitement d'images exécuté par l'unité de traitement 10, ou manuellement par un opérateur qui pointe via une interface homme-machine les points correspondants sur l'image du visage.This detection can be done automatically by an image processing software executed by the processing unit 10, or manually by an operator who points via a human-machine interface the corresponding points on the image of the face.
On pourra à cet égard se référer aux publications suivantes : - Yow et al. Feature-based human face detection. Image and Vision Computing, 15(9) : 713-735, 1997. - Nikolaidis et Pitas, Facial feature extraction and determination of pose, Proc. Of the NOBLESSE VVorkshop on Nonlinear Model Based Image Analysis, page 257-262, 1998. - Lee et al. Realtime facial feature detection for person identification system, IAPR Workshop on Machine Vision Applications, 2000. Le procédé comprend ensuite une étape 2000 d'estimation de la forme et la pose du visage sur l'image en générant un réseau de vertex 3D dont les positions correspondent à la forme du visage sur l'image. Cette étape est mise en oeuvre par l'unité de traitement 10 en déformant un premier réseau de vertex 3D, qui avantageusement, mais non limitativement, correspond initialement à une forme de visage humain, de manière à approcher la forme du visage sur l'image. Le premier réseau de vertex 3D peut être une forme de visage d'un individu en particulier, ou être une forme moyenne sur un échantillon d'individus. Le réseau de vertex initial peut être chargé à partir d'une base de données ou obtenu par modélisation informatique ou encore, s'il est réalisé à partir d'un individu particulier, par acquisition de la forme du visage de cet individu par un scanner 3D. Selon un mode de réalisation préféré, le premier réseau de vertex 3D est un modèle en trois dimensions d'un visage obtenu selon le procédé décrit dans la demande FR 1261025 et rappelé ci-après en référence à la figure 2.In this regard, reference may be made to the following publications: Yow et al. Feature-based human face detection. Image and Vision Computing, 15 (9): 713-735, 1997. Nikolaidis and Pitas, Facial feature extraction and determination of pose, Proc. Of the NOBLESSE VVorkshop on Nonlinear Model Based Image Analysis, page 257-262, 1998. - Lee et al. The method then comprises a step 2000 of estimation of the shape and the pose of the face on the image by generating a 3D vertex network whose positions match the shape of the face on the image. This step is implemented by the processing unit 10 by deforming a first 3D vertex array, which advantageously, but not exclusively, initially corresponds to a human face shape, so as to approach the shape of the face in the image . The first 3D vertex network can be a face shape of a particular individual, or be a middle shape on a sample of individuals. The initial vertex network can be loaded from a database or obtained by computer modeling or, if it is made from a particular individual, by acquiring the shape of the face of this individual by a scanner 3D. According to a preferred embodiment, the first 3D vertex array is a three-dimensional model of a face obtained according to the method described in application FR 1261025 and recalled hereinafter with reference to FIG.
Ce modèle est formulé mathématiquement comme une combinaison linéaire d'exemples de visages d'individus, noté S = S° + alS1 Où S° 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.This model is formulated mathematically as a linear combination of examples of individuals' faces, noted S = S ° + alS1 where S ° is a human face shape template, constituting the basis of the model, and S ° + SJ represents the facial shape of a particular example of a real individual. Therefore, SJ represents the gap between one of the face examples and the template.
Les coefficients al 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 2110, l'unité de traitement 10 génère le gabarit S° 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, des points caractéristiques d'un visage décrits ci-avant en référence à la figure 3, au nombre de N. Comme précédemment, 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 logiciel exécuté par un processeur tel que l'unité de traitement 10.The coefficients al are in turn determined later to distort the model S to make it correspond to the face of an individual that we want to identify. We will now describe the steps to obtain this model. During a step 2110, the processing unit 10 generates the template S ° of human face: it may be a face shape of a particular individual, or an average of facial shapes. 'a plurality of individuals. In all cases, the face shape or shapes are defined by a series of vertex corresponding to points of the face. These points comprise, among others, the characteristic points of a face described above with reference to FIG. 3, the number of N. As previously, these characteristic points can be manually marked by an operator from a frontal image. face, or they can be automatically detected by software executed by a processor such as the processing unit 10.
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 2120, on procède à l'acquisition de formes d'exemples de visages d'individus réels. Cette acquisition est mise en oeuvre 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 ou en acquérant la totalité de la forme du visage par scanner 3D. 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.The human face template also includes the order of a few thousand other vertex acquired by a 3D scanner. During a step 2120, we proceed to the acquisition of examples of faces of real individuals. This acquisition is implemented in the same way as above, by identifying the characteristic points of the faces of the individuals to generate a list of vertex or by acquiring the totality of the shape of the face by 3D scanner. The shapes of faces thus acquired each correspond to a S ° + SJ. To construct the three-dimensional model, the SJ deviation between the face and the template is determined from the vertex lists of each face shape.
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.However, all the forms generated by the three-dimensional model S must be possible face shapes, and not mathematical aberrations.
Pour s'assurer de ce résultat, l'unité de traitement 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 2130 les vertex de chaque exemple de forme avec les vertex du gabarit. Pour ce faire, l'unité de traitement déforme au cours d'une étape 2131 le gabarit de manière itérative (c'est-à-dire modifie les coordonnées des vertex de la forme 3D) 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 : Ns Ilski - vkill2 i=1 Où i est l'indice d'un point caractéristique, ski 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.To ensure this result, the processing unit puts all the examples of face shapes in correspondence, that is to say by associating each vertex of a face with a defined number. For example, a given number is attributed to the tip of the nose and another number to the left commissure of the lips. These numbers correspond to the vertex indices. The peculiarity of the template is that it is a form of face for which vertex indexing is already done. Therefore, vertex indexing of each example of a face shape is performed by mapping in step 2130 the vertices of each shape example with the vertices of the template. To do this, the processing unit deforms the template in a step 2131 iteratively (that is to say, changes the vertex coordinates of the 3D shape) to minimize the gap between the shape of the template and that of the face example, the deformed template always having to be a human face shape. The mathematical function to be minimized includes three terms. The first term serves to minimize the distance between the characteristic points of an example of a face and the corresponding points of the template. It is written: Ns Ilski - vkill2 i = 1 Where i is the index of a characteristic point, ski is a vertex of a point of an individual example face corresponding to the characteristic point i, vki is a vertex of a point of the template after deformation corresponding to the same characteristic point i, and Ns is the number of characteristic points in a face, for example 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. Elle est notée : Où pvki est un point de la surface de l'exemple de visage, c'est-à-dire un point correspondant à la projection, orthogonale à la surface du gabarit, du vertex vki sur la surface du visage d'exemple. 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 seconde de la transformation du gabarit, à chaque itération. On exprime cette norme de la manière suivante : IIA(v - vec(S°))112 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 3V 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 3V, où T est le nombre de triangles de la surface du gabarit.It is therefore sought to modify the positions of the characteristic points of the template iteratively to correspond to the positions of the same characteristic points on the face example. The second term is used to match the surface of the face shape of the template with the surface of the shape of the face example. The function to be minimized represents the distance between the points of the template and the surface of the face example. It is noted: Where pvki is a point on the surface of the face example, ie a point corresponding to the projection, orthogonal to the surface of the template, of the vertex vki on the surface of the face of example. It is possible that the surface of the face example is incomplete, if for example it is obtained from a non-frontal image, and that points of the template do not correspond to any point of the face example. In this case, these points of the template are not taken into account. The third term constrains the deformed template to remain a real human face, even if the face example used for deformation of the template is incomplete or contains noise. This term makes the deformed template as "smooth" as possible, that is to say as continuous as possible, by minimizing the standard of the second derivative of the transformation of the template, at each iteration. This norm is expressed in the following way: IIA (v - vec (S °)) 112 Where v is the concatenation of the 3D vertices of the deformed template, and vec (S °) the same term for the template before transformation. v and vec (S °) are vectors of size 3V x 1. The derivation of a function being a linear operation, its computation can be realized by the multiplication of the function by a matrix. In this case, A is a vector differentiation matrix v-vec (S °), of dimension 3T x 3V, where T is the number of triangles of the surface of the template.
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 : dg - dt cieNt wq't Où Nt est l'ensemble des triangles q voisins du triangle t, wo 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é S°.The derivative is calculated for each triangle t of the surface of the template, the derivative of the deformation of a triangle t being calculated with respect to triangles q neighbors of the triangle t, by approximation of the finite difference of the triangle t with the neighboring triangles q as follows: dg - dt cieNt wq't Where Nt is the set of triangles q neighbors to the triangle t, wo is a weighting factor that depends on the surfaces of triangles t and q, dt is the deformation of triangle t at the level of its barycenter, and bt is the position of the centroid of the triangle t. The distance between the centers of gravity and the weighting factor are calculated on the undeformed template S °.
En référence à la figure 4, le facteur de pondération wo 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.With reference to FIG. 4, the weighting factor wo is the sum of the surfaces of two triangles whose base is the edge connecting the triangles t and q, and the opposite vertex to this base is respectively the barycentres bt of the triangle t and that bq of the 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(S°)) par une matrice Bt de dimension 3 x 3V qui est nulle partout sauf aux éléments associés aux vertex du triangle t. Ces éléments sont alors égaux 1/3.To obtain the deformation dt of the triangle t at its center of gravity (that is to say the displacement of the center of gravity between the undeformed template and the deformed template), the deformation of the form is multiplied (v-vec (S °). )) by a matrix Bt of dimension 3 x 3V which is null everywhere except to the elements associated with the vertex of the triangle t. These elements are then equal 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(S°)) 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 wo et divisés par les distances entre les barycentres Ilbq - On constate que la matrice de différentiation A dépend uniquement de la surface du gabarit non déformé (liste de triangles de S°), et non pas de la forme du gabarit déformé v. Elle est donc constante.The barycenter bt of the triangle t being the average of its three vertexes, the multiplication of this matrix B to the deformation (v-vec (S °)) makes it possible to obtain the displacement of the barycentre of the triangle. The matrix A, of dimension 3T x 3N, is obtained by vertically concatenating the set of matrices Bt associated with each triangle t, whose coefficients corresponding to the vertex of a triangle t are multiplied by the weighting factors wo and divided by the Distances between the centers of gravity Ilbq - It is noted that the differentiation matrix A depends solely on the surface of the undistorted template (list of triangles of S °), and not on the shape of the deformed template v. It is therefore constant.
Les trois termes décrits en détails ci-avant sont minimisés simultanément, on détermine donc : Ns min lisi - v112 + yllA(v - vec(S°))112 i=t i=t Où K, et y 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 K comparativement aux autres coefficients de pondération. Par ailleurs, on fixe une valeur importante pour y 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 K. 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 pv, sont de plus en plus fiables et on diminue la valeur du coefficient y 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 deformable de visage en trois dimensions, comprenant le gabarit S° 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 initial obtenu, l'unité de traitement 10 l'utilise pour obtenir une estimation de la pose et la forme du visage de l'individu sur l'image. La forme du visage sur l'image est estimée en déformant itérativement 2200 le modèle obtenu à l'issue de l'étape 2100 pour qu'il corresponde à celle du visage sur l'image, comme indiqué précédemment. Pour ce faire, elle peut mettre en oeuvre par exemple le procédé décrit dans la demande FR 1261025 et rappelé ci-après, en référence à la figure 5. Alternativement, on peut mettre en oeuvre le procédé décrit dans les publications suivantes : - Koterba et al, "Multi-View AAM Fitting and Camera Calibration", ICCV 2005, - Brand, M.E., "Morphable 3D Models from Video", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), December 2001. - Ira Kemelmacher-Shlizerman and Steven M. Seitz. "Face Reconstruction in the VVild." International Conference on Computer Vision (ICCV), Nov 2011. L'unité de traitement met en oeuvre une étape 2210 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.The three terms described in detail above are minimized simultaneously, so we determine: Ns min lisi - v112 + yllA (v - vec (S °)) 112 i = ti = t Where K, and y are weighting coefficients of each term. This minimization can be solved linearly by decomposition into singular values. Since this minimization is iterative, at the beginning of the matching step, the template may be arbitrarily removed from the individual's face example, and thus the pv points, of the facial surface closest to the points. v, of the template are not well defined. We then set a low value for K compared to the other weights. In addition, a significant value is set for y to ensure that the transformation is almost rigid, that is to say that the shape of the face of the template is the least distorted possible. With each iteration of the minimization, one increases the value of K. At each iteration, the points pv, are searched on the surface of the example of face of individual, as being the closest to the points v, of the template deformed with this iteration. As the minimization is iterated, these points pv, are more and more reliable and the value of the coefficient y is decreased to make the comparison more flexible. This iterative mapping step is performed for each individual face example. It results in a deformed template, which corresponds to an example of a face, from which we can deduce the value of SJ, the deviation between the template and the example of the face. Thus, at the end of this step, we obtain a deformable three-dimensional face model, including the S ° template and the SJ deviations, which can be made linear combinations to obtain any individual face. Once this initial model obtained, the processing unit 10 uses it to obtain an estimate of the pose and the shape of the face of the individual on the image. The shape of the face on the image is estimated by iteratively deforming 2200 the model obtained at the end of step 2100 so that it corresponds to that of the face on the image, as indicated above. To do this, it can implement for example the method described in the application FR 1261025 and recalled below, with reference to Figure 5. Alternatively, one can implement the method described in the following publications: - Koterba and al, "Multi-View AAM Fitting and Camera Calibration", ICCV 2005, - Brand, ME, "Morphable 3D Models from Video," IEEE Conference on Computer Vision and Pattern Recognition (CVPR), December 2001. - Ira Kemelmacher-Shlizerman Steven M. Seitz. "Face Reconstruction in the VVild." The processing unit implements a step 2210 of so-called "rigid" estimation of the pose, or position, of the face on the image. The estimate is called rigid because it does not include deformation of the face.
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 a, comme suit : I 1 0 0 \/cos(a) 0 - sin(ay) cos(%) -sin(a) 0\\ V \ 1 0 0) (o 0 cos(a) sin(a) 0 1 0 cos(a) sin(a) 0)i 1 0 -sin(a) cos(ax) sin(ay) 0 cos(aY 0 0 1 Pour estimer la pose, on exploite les positions des points repérés lors de l'étape 1000 Optionnellement, l'étape 1000 ne peut alors être mise en oeuvre qu'a ce moment. 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 SO 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 : 22 minII - (s.R.vi+ t)112 S,ax,ay,az,t i=1 Où p, 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.The pose is defined relative to a reference by using six parameters: three rotation angles, two translation parameters and a scale factor and is defined as follows: p = s. R. v + t Where p is a two-dimensional vector, comprising the X and Y coordinates of the projection of each vertex v in three dimensions, s is the scale parameter, R is a 2 x 3 matrix of which the two lines are the first two lines of a rotation matrix, and t is a translation vector in X and Y. The rotation matrix is written according to the angles of Euler ax, ay, and a, as follows: I 1 0 0 \ / cos (a) 0 - sin (ay) cos (%) -sin (a) 0 \\ V \ 1 0 0) (o 0 cos (a) sin (a) 0 1 0 cos (a) sin (a) 0) i 1 0 -sin (a) cos (ax) sin (ay) 0 cos (aY 0 0 1 To estimate the pose, we exploit the positions of the points identified during the step 1000 Optionally, step 1000 can then be implemented only at this time, then the positions of these points are compared with the vertex projections of the corresponding points of a typical example of a face, which may be in the form the SO template used to generate the three-dimensional model. performed by iteratively modifying the pose of the face template, by varying the parameters mentioned above, to minimize the difference between the projections of the vertex of the face of the individual and the template as follows: 22 minII - (sRvi + t) 112 S, ax, ay, az, ti = 1 Where p, is the position of a characteristic point i on the image and v, is a vertex of the corresponding point i of the template. Depending on the image of the individual available, which is non-frontal, certain characteristic points may be invisible on the image or their position may be uncertain. Each characteristic point i is therefore assigned a weighting coefficient c, representative of the "confidence" in the position of the point. If a point is invisible on the image, then its confidence coefficient is zero.
La détermination de la pose de l'individu sur l'image s'écrit alors ainsi : 22 min ci lipi - (s. R. vi + 011 s,ax,ay,az,t i=i La pose obtenue pour le gabarit à la fin de la minimisation constitue la pose du visage de l'individu sur l'image.The determination of the pose of the individual on the image is then written as follows: 22 min ci lipi - (s R. vi + 011 s, ax, ay, az, ti = i The pose obtained for the template to the end of the minimization is the pose of the face of the individual on the image.
Ce problème d'optimisation est résolu avec une procédure en deux étapes, la première étape 2211 étant la recherche linéaire d'une solution, et la seconde étape étant la minimisation non-linéaire 2212 pour raffiner l'estimation de la pose obtenue avec la première étape. On va maintenant décrire l'étape 2211 d'estimation linéaire.This optimization problem is solved with a two-step procedure, the first step 2211 being the linear search of a solution, and the second step being the nonlinear minimization 2212 to refine the estimate of the pose obtained with the first one. step. Linear estimation step 2211 will now be described.
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 à -, 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 : Avec Ax = b CiVi oT 0 \ OT 0 civf c1 ' A= c2vf C2 oT 0 - - - C2 C22 Vf2 C22 OT 0 OT C221212 C22/ XT = (srii sr12 sr13 tx sr21sr22 sr23 ty) = (ctPx,1 C1Py,1 --- C22Px,22 C22 Py,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 2211 fournit une bonne estimation de départ de la pose, mais l'hypothèse adoptée précédemment pour la 2 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 2212. Le résultat de l'étape linéaire est raffiné en mettant en oeuvre une étape itérative non linéaire 2212, 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. Academic 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'a ce stade on a déterminé une « ébauche » de la pose du visage. On va maintenant décrire l'étape 2220 d'estimation flexible de la pose et de la forme. Cette estimation est mise en oeuvre grâce au modèle de visage en trois-dimensions obtenu à l'étape 2100. Comme on l'a indiqué précédemment, ce modèle s'écrit sous la forme d'une combinaison linéaire du gabarit SO et des déviations de ce gabarit par rapport à des exemples d'individus : S = S° + aiSi On peut obtenir la forme de n'importe quel visage en choisissant les coefficients ot1 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 par l'unité de traitement 10 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 al) et les paramètres de pose du visage.This estimate assumes that the distance between the positions of the characteristic points and the modeling of their projection, called the "rear projection" error, is Gaussian with a zero mean and a standard deviation of -, and that if the error is independent for all points, so we can show that the solution of the previous equation is also the solution of the following linear system: With Ax = b CiVi oT 0 \ OT 0 civf c1 'A = c2vf C2 oT 0 - - - C2 C22 Vf2 C22 OT 0 OT C221212 C22 / XT = (sri1 sr12 sr13 tx sr21sr22 sr23 ty) = (ctPx, 1 C1Py, 1 --- C22Px, 22 C22 Py, 22 The resolution of this overdetermined linear system is standard linear algebra and is performed using the pseudo-inverse given by the singular value decomposition described in Golub et al., Matrix computations volume 3, Johns Hopkins Univ Pr, 1996. This first linear resolution step 2211 provides a good estimate of depar However, since the assumption previously adopted for the linear resolution is not based in practice, the estimation needs to be refined by the non-linear estimation step 2212. The linear step is refined by implementing a non-linear iterative step 2212, for which a preferred method is the Levenberg-Marquadt minimization. Reference may be made to Gill et al. Practical Optimization. Academic Press, London and New York, 1981. This step finally makes it possible to obtain a first estimate of the pose of the face of the individual on the image, this pose being then refined during the step 400 of estimation "flexible Of the pose and the shape of the face. It is therefore considered that at this stage a "draft" of the pose of the face has been determined. We will now describe the step 2220 of flexible estimation of the pose and the shape. This estimation is carried out using the three-dimensional face model obtained in step 2100. As indicated above, this model is written in the form of a linear combination of the template SO and the deviations of this template with respect to examples of individuals: S = S ° + aiSi The shape of any face can be obtained by choosing the coefficients ot1 of the linear combination. The flexible estimation of the shape and pose of the face of the individual on the image is therefore performed by the processing unit 10 by minimizing the difference between the projections of the characteristic points p, of the face of the individual. on the image, and the same projections of the model. To do this, it is iteratively modified the shape of the face obtained by the model (thanks to the coefficients al) and the parameters of pose of the face.
Mathématiquement, on cherche donc à obtenir le minimum suivant : 22 min /a,s,ax,ayaz,t pi- (s.R. (SP + t) i=1 i=1 2 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é.Mathematically, we therefore try to obtain the following minimum: 22 min / a, s, ax, ayaz, t pi- (sR (SP + t) i = 1 i = 1 2 However the resolution of this equation could lead to a form the deformed face model that no longer corresponds to a human face, because the characteristic points p of the face of the individual may be noisy or inaccessible, and the system would not be determined enough.
On contraint alors les coefficients al pour garantir l'obtention d'un visage humain réaliste. Pour cela, on minimise la norme de la dérivée seconde 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 al 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 min / Ci a,s,ax,ayaz,t i=1 pi - (s.R. (SP + t) i=1 2 + Cette équation est resolue, 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 S° d'origine, i.e. que les valeurs des coefficients al initiaux sont nulles. Une fois cette estimation mise en oeuvre, on obtient une forme 3D correspondant à la forme du visage sur l'image, selon une première estimation 2000, et représentée en figure 6a.The al coefficients are then constrained to guarantee a realistic human face. For this, the standard of the second derivative of the deformation of the three-dimensional model is minimized, the deformed vertexes of the model being here defined as a function of the vector a comprising the al for j between 1 and M. The derivative of the deformation The three-dimensional model is obtained by multiplying the deformed model by a matrix A 'constructed in the same manner as the matrix A of previous differentiation. This minimization step corresponds to a hypothesis of continuity of the face, which is verified regardless of the individual and therefore allows the process to be as general as possible, that is to say applicable for any individual. We thus obtain the following equation: 22 min / Ci a, s, ax, ayaz, ti = 1 pi - (sR (SP + t) i = 1 2 + This equation is solved, in a similar way to the step of non-linear minimization, using the Levenberg-Marquardt minimization algorithm The initialisation of the pose is provided by the pose obtained at the end of the rigid estimation step The initial form used for the minimization is that of the template S ° of origin, ie the values of the initial al coefficients are null Once this estimate is implemented, we obtain a 3D shape corresponding to the shape of the face on the image, according to a first estimate 2000, and represented in Figure 6a.
De retour à la figure 1, le procédé comprend ensuite le raffinement de l'estimation de la forme du visage sur l'image, tout en laissant la pose inchangée. Estimation affinée de la forme du visage Comme visible sur la figure 6b, la forme de visage obtenue à l'issue de l'étape 2000 n'est pas exacte, car en particulier au niveau de points caractéristiques du visage aisément reconnaissables tels que les commissures des lèvres, les extrémités des sourcils, etc., les vertex de la forme 3D correspondant à ces points ne sont pas projetés sur l'image exactement aux positions des points caractéristiques correspondant.Returning to FIG. 1, the method then comprises the refinement of the estimate of the shape of the face on the image, while leaving the pose unchanged. Refined estimate of the shape of the face As can be seen in FIG. 6b, the face shape obtained at the end of step 2000 is not exact because, in particular, at easily recognizable facial characteristic points such as the commissures lips, the ends of the eyebrows, etc., the vertex of the 3D shape corresponding to these points are not projected on the image exactly at the positions of the corresponding characteristic points.
Par conséquent, le procédé comprend une étape 3000 d'estimation affinée de la forme du visage, en contraignant certaines coordonnées de vertex de la forme du visage pour que ces coordonnées soient exactes. En particulier, au cours de l'étape 3000, on raffine la première estimation de forme en contraignant les positions de certains vertex, correspondant à des points du visage, de sorte que les projections de ces vertex dans le plan de l'image correspondent exactement aux positions des points correspondants. En d'autres termes, à l'issue de l'étape 3000, les coordonnées de certains vertex projetés en deux dimensions sur l'image correspondent exactement à celles des points correspondants du visage. De manière avantageuse, les vertex 3D dont les projections en deux dimensions sont ainsi alignées à des points correspondants du visage sont ceux correspondants à des points caractéristiques du visage aisément reconnaissables, comme les 22 points caractéristiques d'un visage humain (bout du nez, commissures des lèvres, extrémités des sourcils...), comme indiqué ci-avant. Cependant, l'invention n'est pas limitée à ce nombre et il peut y avoir plus ou moins de vertex concernés. Dans la suite, on appelle « vertex contraint » un vertex dont les coordonnées de la projection sur le plan de l'image sont forcées à des valeurs particulières correspondant aux coordonnées du point correspondant du visage sur l'image. Cette étape d'estimation affinée comprend une première étape 3100 d'acquisition des positions de points de l'image correspondant aux vertex contraints. Selon un premier mode de réalisation 3110, les positions de chaque point du visage correspondant aux vertex à recaler peuvent être repérées automatiquement par ordinateur. En particulier, il peut s'agir des positions déjà détectées automatiquement lors de l'étape 1000, auquel cas cette étape comprend simplement un chargement des coordonnées préalablement enregistrées des points localisés à l'étape 1000. Dans ce cas ce sont avantageusement tous les points détectés lors de l'étape 1000 qui contraignent les projections des vertex correspondants, car cela permet une plus grande précision de la forme finale. Selon un second mode de réalisation 3120, qui est plus avantageux car il est plus précis, les positions exactes des points du visage sont déterminées par un opérateur.Therefore, the method comprises a step 3000 refined estimation of the shape of the face, by constraining certain vertex coordinates of the shape of the face so that these coordinates are accurate. In particular, during step 3000, the first estimate of shape is refined by constraining the positions of certain vertexes, corresponding to points of the face, so that the projections of these vertexes in the plane of the image correspond exactly to at the positions of the corresponding points. In other words, at the end of step 3000, the coordinates of certain vertex projected in two dimensions on the image correspond exactly to those of the corresponding points of the face. Advantageously, the 3D vertices whose two-dimensional projections are thus aligned at corresponding points of the face are those corresponding to easily recognizable characteristic facial features, such as the 22 characteristic points of a human face (tip of the nose, commissures lips, ends of the eyebrows ...), as indicated above. However, the invention is not limited to this number and there may be more or less vertex involved. In the following, we call "vertex constraint" a vertex whose coordinates of the projection on the image plane are forced to particular values corresponding to the coordinates of the corresponding point of the face on the image. This refined estimation step comprises a first step 3100 for acquiring the positions of points of the image corresponding to the constrained vertexes. According to a first embodiment 3110, the positions of each point of the face corresponding to the vertex to be reset can be automatically identified by computer. In particular, these may be the positions already detected automatically during step 1000, in which case this step simply comprises a loading of the previously recorded coordinates of the points located in step 1000. In this case, these are advantageously all the points detected in step 1000 which constrain the projections of the corresponding vertices, because this allows a greater accuracy of the final form. According to a second embodiment 3120, which is more advantageous because it is more accurate, the exact positions of the points of the face are determined by an operator.
Dans ce cas, la mise en oeuvre de l'étape 3120 comprend une première étape 3121 consistant à afficher une projection en deux dimensions de la forme de visage sur une interface homme-machine, en conférant la même pose à la forme que celle du visage sur l'image (estimée lors de l'étape 2200), et à superposer la projection à l'image. Ensuite, un opérateur peut déplacer les projections d'un ensemble de vertex 3D pour les superposer exactement aux points correspondants du visage sur l'image. La mise en oeuvre de cette étape par un opérateur permet de garantir que les positions des vertex recalés correspondent exactement à celles des points correspondants du visage. Optionnellement, à l'issue de cette étape, l'unité de traitement peut à nouveau mettre en oeuvre une étape 2200' d'adaptation du modèle, comprenant une estimation de la pose et de la forme du visage à partir des nouvelles coordonnées. Le procédé comprend ensuite une étape 3200, mise en oeuvre par l'unité de traitement, consistant à affiner l'estimation de la forme du visage à partir des coordonnées des vertex 3D contraints. Cette estimation affinée est mise en oeuvre en déformant à nouveau la forme de visage obtenue à l'issue de l'étape 2200 ou 2200', en forçant les coordonnées des projections des vertex contraints à être celles déterminées à l'étape 3100. Dans le cas où le recalage des vertex de l'étape 2000 est mis en oeuvre automatiquement par ordinateur, cette étape 3200 - ou le cas échéant la succession de l'étape 2200' puis de l'étape 3000 - est avantageusement faite simultanément, c'est-à-dire que l'ordinateur détecte sur l'image les coordonnées des points de visage à mettre en correspondance avec les vertex et réalise simultanément, à partir de ces coordonnées, le recalage des vertex contraints et la déformation du reste du visage. Dans le cas où le recalage des vertex est mis en oeuvre par un opérateur, l'étape 3200 - ou le cas échéant l'étape 2200' puis l'étape 3200 - peut être mise en oeuvre après que l'opérateur a déplacé toutes les projections des vertex à recaler.In this case, the implementation of step 3120 comprises a first step 3121 consisting in displaying a two-dimensional projection of the face shape on a man-machine interface, conferring the same pose on the shape as that of the face on the image (estimated at step 2200), and superimpose the projection to the image. Then, an operator can move the projections of a set of 3D vertex to superimpose exactly on the corresponding points of the face on the image. The implementation of this step by an operator makes it possible to guarantee that the positions of the incorrected vertices correspond exactly to those of the corresponding points of the face. Optionally, at the end of this step, the processing unit can again implement a step 2200 'of adaptation of the model, including an estimate of the pose and the shape of the face from the new coordinates. The method then comprises a step 3200, implemented by the processing unit, of refining the estimation of the shape of the face from the coordinates of the 3D forced vertexes. This refined estimate is implemented by again deforming the face shape obtained at the end of step 2200 or 2200 ', by forcing the coordinates of the projections of the vertexes forced to be those determined at step 3100. In the case where the registration of the vertices of step 2000 is implemented automatically by computer, this step 3200 - or, if appropriate, the succession of step 2200 'and then step 3000 - is advantageously done simultaneously, that is that is, the computer detects on the image the coordinates of the face points to be mapped to the vertexes and simultaneously realizes, from these coordinates, the registration of the constrained vertexes and the deformation of the remainder of the face. In the case where the vertex registration is implemented by an operator, step 3200 - or if appropriate step 2200 'and then step 3200 - can be implemented after the operator has moved all vertex projections to be repositioned.
Alternativement, l'unité de traitement peut recalculer la position de l'ensemble des vertex 3D selon l'étape 3200 - ou le cas échéant mettre en oeuvre l'étape 2200' puis l'étape 3200 - dès qu'un opérateur a fixé les coordonnées d'un vertex en le mettant en correspondance un vertex avec un point du visage lors de l'étape 3100, et non pas seulement une fois que l'opérateur a recalé tous les vertex 3D. Ainsi l'estimation de la forme du visage est affinée à chaque nouveau vertex recalé par rapport à un point correspondant du visage. Les positions des vertex déplacés lors de la déformation 3200 sont contraintes pour que la déformation entre la forme de visage obtenue à l'issue de l'étape 1200, et la forme finale de l'estimation affinée soit la plus continue possible. Or, les positions des vertex des points caractéristiques étant fixées sur l'image, les coordonnées de ces vertex en 3D peuvent toujours varier puisque la coordonnée de profondeur du vertex par rapport au plan de l'image peut varier le long d'une droite passant par la position du point caractéristique sur l'image et orthogonale au plan de l'image. L'équation qui projette un vertex 3D dont les coordonnées sont (X, Y, Z) sur un point en deux dimensions (x,y) sont les suivants : X )c, _ sR2,3 [-y1 + [t tx r ] yi Où s est le facteur d'échelle, tx et ty est la translation en 2D et R la matrice de rotation, tous ces paramètres résultant de la pose estimée au cours de l'étape 1000 et étant constants pour la suite du procédé. R2,3 constitue les deux premières lignes de la matrice de rotation en 3D R. R2,3 est de rang 2 et sa décomposition en valeurs singulières est : R2,3 [01 011 [01. 01 oi _I. V3,3 Où V3,3 est une matrice orthonormale (donc sa transposée est son inverse). Le noyau de R2,3 est donc la troisième colonne de V3,3, ce qui signifie que la projection du point 3D (X,Y,Z) sur le plan de l'image est inchangée si ce point est déplacé le long d'une droite dont la direction est fournie par la troisième colonne de V3,3. On obtient donc, par l'estimation de la pose du visage, la direction selon laquelle la profondeur d'un vertex d'un point caractéristique peut varier.Alternatively, the processing unit can recalculate the position of the set of 3D vertices according to step 3200 - or, if necessary, implement step 2200 'and then step 3200 - as soon as an operator has set the vertex coordinates by mapping a vertex to a point in the face at step 3100, not just after the operator has re-aligned all 3D vertices. Thus, the estimation of the shape of the face is refined with each new vertex fixed with respect to a corresponding point of the face. The positions of the vertices displaced during the deformation 3200 are constrained so that the deformation between the face shape obtained at the end of step 1200, and the final shape of the refined estimate is as continuous as possible. Since the vertex positions of the characteristic points are fixed on the image, the coordinates of these vertexes in 3D can always vary since the depth coordinate of the vertex with respect to the plane of the image can vary along a straight line. by the position of the characteristic point on the image and orthogonal to the plane of the image. The equation which projects a 3D vertex whose coordinates are (X, Y, Z) on a point in two dimensions (x, y) are the following: X) c, _ sR2,3 [-y1 + [t tx r ] where s is the scale factor, tx and ty is the translation in 2D and R is the rotation matrix, all these parameters resulting from the pose estimated during the step 1000 and being constant for the continuation of the process. R2,3 constitutes the first two rows of the 3D rotation matrix R. R2,3 is of rank 2 and its decomposition in singular values is: R2,3 [01 011 [01. 01 oi _I. V3,3 Where V3,3 is an orthonormal matrix (so its transpose is its inverse). The core of R2,3 is therefore the third column of V3,3, which means that the projection of the 3D point (X, Y, Z) on the plane of the image is unchanged if this point is moved along a straight line whose direction is provided by the third column of V3,3. We thus obtain, by the estimation of the pose of the face, the direction in which the depth of a vertex of a characteristic point can vary.
On obtient donc, pour un tel point, qu'on nomme X: R2,3.X = R2,3 (X + /117:,3) Ot.i V ,3 est la troisième colonne de V3,3 et À représente la variation de la position du point le long de la droite s'étendant selon la direction donnée par V ,3, pour chaque vertex.We thus obtain, for such a point, that we call X: R2,3.X = R2,3 (X + / 117:, 3) Ot.i V, 3 is the third column of V3,3 and A represents the variation of the position of the point along the line extending in the direction given by V, 3, for each vertex.
Comme V est orthonormale, cette équation peut être reformulée ainsi : 1 0 1 - t x = V3,3 [0 11 [X x] - 3= Àa + b ., S [Y t 0 0 y Si un vertex 3D x satisfait à cette équation, il est projeté sur le point en deux dimensions de coordonnées (x,y). Les vecteurs 3D a et b sont des constantes, donc À est une inconnue unique pour chaque vertex contraint.Since V is orthonormal, this equation can be reformulated as follows: 1 0 1 - tx = V3,3 [0 11 [X x] - 3 = A + b., S [Y t 0 0 y If a 3D vertex x satisfies this equation, it is projected on the two-dimensional point of coordinates (x, y). The 3D vectors a and b are constants, so À is a unique unknown for each constrained vertex.
L'étape d'estimation affinée 3200 de la forme du visage comprend donc la détermination, pour chaque vertex contraint (c'est-à-dire recalé pour être superposé à un point caractéristique du visage), de la valeur de À, et la détermination des coordonnées des autres vertex après déformation pour lesquelles la déformation à partir de la première estimation de forme est la plus continue possible.The refined estimate step 3200 of the facial shape therefore comprises the determination, for each vertex constrained (ie, recalibrated to be superimposed on a characteristic point of the face), of the value of λ, and the determining the coordinates of the other deformed vertices for which the deformation from the first shape estimate is as continuous as possible.
Ces coordonnées sont déterminées en minimisant la norme de la dérivée seconde de la déformation de chaque facette triangulaire de la forme dont les sommets sont formés par des vertex. Ceci correspond à minimiser le terme : Es = - vec(Aiii)112 Où N est l'ensemble des triangles adjacents de la forme de visage, i,j,k, et I les indices de vertex de deux triangles adjacents, Aijk la matrice de déformation d'un triangle dont les sommets sont les vertex i, j, et k, qui correspond à une sous- matrice de la matrice A de différentiation calculée précédemment en référence à la figure 4, vec l'opérateur de concaténation d'une matrice en un vecteur colonne, et cilia la constante wedbq - bM (les triangles q et t étant formé par les vertex i,j,k et I,j,k), dépendant uniquement de la forme du visage avant déformation.These coordinates are determined by minimizing the norm of the second derivative of the deformation of each triangular facet of the form whose vertices are formed by vertexes. This corresponds to minimizing the term: Es = - vec (Aiii) 112 Where N is the set of adjacent triangles of the face shape, i, j, k, and I the vertex indices of two adjacent triangles, Aijk the matrix of deformation of a triangle whose vertices are the vertex i, j, and k, which corresponds to a sub-matrix of the differentiation matrix A calculated previously with reference to FIG. 4, with the concatenation operator of a matrix in a column vector, and cilia the constant wedbq - bM (the triangles q and t being formed by the vertex i, j, k and I, j, k), depending solely on the shape of the face before deformation.
La constante de différentiation cilia est déterminée en calculant pour chaque triangle t, la dérivée de la déformation du triangle par rapport aux triangles voisins. Il s'agit d'un terme constant dépendant uniquement de la forme initiale du visage initiale. Ce terme est également détaillé dans la thèse de B. Amberg, Editing Faces in Videos, PhD Thesis, University of Basel, 2011. La matrice Aijk de déformation d'un triangle est donnée par l'équation suivante : Aiik. lek = X. Kiik Le terme eik est une matrice 3*3 dont les deux premières colonnes sont les bords connectant le vertex i à j et le vertex i à k, la troisième colonne étant la normale au triangle ijk de la forme initiale. La matrice X est formée par la position, après déformation, des vertex et des normales aux triangles formées par ces vertex arrangés en colonnes. Elle comporte donc 3 lignes et V+T colonnes, où V est le nombre de vertex et T le nombre de triangles. La matrice X constitue l'inconnue du problème de minimisation. La matrice Kijk est la matrice de topologie du triangle ijk, il s'agit d'une matrice creuse, qui, lorsqu'elle est multipliée par la matrice X, donne les bords d'un triangle et la normale au triangle comme la matrice eik mais pour le triangle final, après déformation. Cette matrice a donc V+T lignes et trois colonnes. Elle est nulle partout sauf : - A la ligne i, où la valeur des deux premières colonnes est -1, - A la ligne j, où la valeur de la première colonne est 1, - A la ligne k, où la valeur de la deuxième colonne est 1, et - A la ligne V+1,,k où la valeur de la troisième colonne est 1. le est l'index du triangle ijk dans la liste des triangles. L'objectif étant de minimiser le terme Es indiqué ci-avant tout en respectant la condition sur les vertex contraints, on peut reformuler la dernière équation comme suit : vec(ilijk) = ((Kijk.rek 1)T 0/3) vec(X)= Dijkvec(X) L'opérateur 0 est le produit de Kronecker et Duk est une matrice qui comporte 9 lignes et 3(V+T) colonnes. La minimisation du terme Es est donc équivalente à minimiser la norme au carrée du vecteur es : es= Js.vec(X) La matrice Js est la concaténation verticale des matrices Duk-Dul, il s'agit d'une matrice colonne de dimension 9E*3(V+T), où E correspond au nombre de côtés de la surface 3D du visage qui sont connectés à deux triangles, et correspond au nombre de termes de la somme de l'équation de Es.The differentiation constant cilia is determined by calculating for each triangle t the derivative of the deformation of the triangle with respect to the neighboring triangles. It is a constant term that depends solely on the initial shape of the initial face. This term is also detailed in B. Amberg's thesis, Editing Faces in Videos, PhD Thesis, University of Basel, 2011. The matrix Aijk of deformation of a triangle is given by the following equation: Aiik. lek = X. Kiik The term eik is a 3 * 3 matrix whose first two columns are the edges connecting the vertex i to j and the vertex i to k, the third column being the normal to the triangle ijk of the initial form. The matrix X is formed by the position, after deformation, of the vertexes and normals to the triangles formed by these vertex arranged in columns. It therefore has 3 rows and V + T columns, where V is the number of vertexes and T is the number of triangles. The X matrix is the unknown of the problem of minimization. The Kijk matrix is the topology matrix of the triangle ijk, it is a hollow matrix, which, when multiplied by the matrix X, gives the edges of a triangle and the normal to the triangle as the matrix eik but for the final triangle, after deformation. This matrix therefore has V + T rows and three columns. It is zero everywhere except: - At line i, where the value of the first two columns is -1, - At line j, where the value of the first column is 1, - At line k, where the value of the second column is 1, and - At the line V + 1,, k where the value of the third column is 1. the is the index of the triangle ijk in the list of triangles. The objective being to minimize the term Es indicated above while respecting the condition on the constrained vertex, we can reformulate the last equation as follows: vec (ilijk) = ((Kijk.rek 1) T 0/3) vec (X) = Dijkvec (X) The operator 0 is the product of Kronecker and Duk is a matrix that has 9 rows and 3 (V + T) columns. The minimization of the term Es is therefore equivalent to minimizing the norm to the square of the vector es: es = Js.vec (X) The matrix Js is the vertical concatenation of the matrices Duk-Dul, it is a matrix column of dimension 9E * 3 (V + T), where E is the number of sides of the 3D surface of the face that are connected to two triangles, and is the number of terms in the sum of the equation of Es.
Comme certains vertex sont libres et d'autres contraints, on note par l'exposant A les vertex libres et par l'exposant B les vertex contraints. L'exposant Bi indique ainsi le iè" vertex contraint. Donc en séparant les contributions des vertex libres et des vertex contraints l'équation précédente correspond à: = J. vec(XA) Ici vec(XA) est un vecteur colonne de 3(VA+T) lignes, xBi est un vecteur colonne de 3 lignes, g est une matrice de (9E,3(VA+T)) etei est une matrice (9E,3). Or, pour un vertex 3D i contraint, comme vu précédemment ce vertex est lié par la relation suivante : xBi = Àiai + bi Et donc le terme es peut être formulé comme suit : es = J. .vec(XA) +1(JsBi . aiÀi + JsBibi) Ce qui correspond, en notant F le nombre de vertex contraints, et en adoptant les notations suivantes : - Ls = /flat ...JsBFaFl - XT = [vec(XA)T À1.--ÀFI - bs = EiJsBl bi, Au terme reformulé ainsi : es = Ls2T + bs Or, comme indiqué ci-avant, la matrice XA comprend la position des vertex libres et la direction des normales des triangles 3D obtenus après déformation. Les normales dépendent de façon non-linéaire des vertex. Donc, la matrice Ls dépend également des positions des vertex, de sorte que la dernière équation obtenue pour le terme es à minimiser n'est pas linéaire avec la position des vertex.As some vertexes are free and others constrained, the exponent A denotes the free vertex and the exponent B the constrained vertex. The exponent Bi thus indicates the constrained vertex, so by separating the contributions of the free vertex and the constrained vertex the previous equation corresponds to: = vec (XA) Here vec (XA) is a column vector of 3 ( VA + T) lines, xBi is a column vector of 3 lines, g is a matrix of (9E, 3 (VA + T)) and is a matrix (9E, 3), but for a 3D vertex i constrained, as previously seen this vertex is bound by the following relation: xBi = Àiai + bi And so the term es can be formulated as follows: es = J. .vec (XA) +1 (JsBi. aiAi + JsBibi) Which corresponds, in noting F the number of vertexes constrained, and adopting the following notations: - Ls = / flat ... JsBFaFl - XT = [vec (XA) T À1 .-- AFI - bs = EiJsBl bi, To the term reformulated thus: es = Ls2T + bs Or, as indicated above, the matrix XA includes the position of the free vertexes and the direction of the normals of the 3D triangles obtained after deformation.The normals depend in a non-linear way of the vertexes. the matrix Ls also depends on the vertex positions, so that the last equation obtained for the term to be minimized is not linear with the vertex position.
Pour pouvoir mettre en oeuvre cette minimisation, on introduit de nouvelles variables, dites « normales factices » (en anglais « slack normals ») h, qui remplacent les véritables normales dans le vecteur x. Ces normales permettent de lever la non-linéarité par rapport aux positions des vertex.To be able to implement this minimization, we introduce new variables, called "normal dummies" (in English "slack normals") h, which replace the true normals in the vector x. These normals make it possible to lift the non-linearity with respect to the vertex positions.
De plus, pour faire en sorte que les normales factices soient aussi proches que possibles des normales des triangles obtenus après déformation, on ajoute une nouvelle fonction de coût En définie par : En =111fit ntii2 tE1' La lettre 7- désigne l'ensemble des triangles de la forme en trois dimensions du visage. Cette fonction de coût En est minimisée de manière itérative, simultanément à la fonction Es, pour que lors de la détermination du vecteur x les normales factices s'approchent au maximum des normales. A chaque itération i, on utilise comme normales nt, les normales obtenues à l'itération précédente. Donc la minimisation de la fonction de coût En est équivalente à minimiser la norme quadratique du vecteur en : en = in.x - ni-1- Où ni-1 est un vecteur-colonne de 3T éléments correspondant à l'empilement des normales aux triangles obtenus après déformation à l'itération i-1. La matrice Jn est une matrice avec 3 lignes et 3(VA+T) + F colonnes. Les colonnes qui correspondent aux vertex à déterminer (soit les 3 VA premières colonnes et les F dernières colonnes) sont nulles, et les colonnes qui correspondent aux triangles (les 3T colonnes du milieu) sont remplies par la matrice Identité : fn = [0 1T 0] La minimisation de la somme pondérée des deux fonctions de coût Es et En, Es + VTcEn, où k est un facteur de pondération, qui est un entier positif, est équivalente à la minimisation de la norme quadratique du vecteur suivant : e =[ s 2 [ = J2 b [kin] On introduit ici pour simplifier les notations de la matrice jacobienne J et du vecteur b. Ce système d'équations linéaire est surdéterminé. Ses solutions des moindres carrés sont fournies par l'équation suivante : x = (JTJ)-1-rb Par conséquent, la déformation contrainte de la forme de visage de l'étape 4000 est mise en oeuvre par l'unité de traitement en résolvant cette dernière équation de manière itérative jusqu'à convergence. Le coefficient de pondération k est avantageusement choisi d'une valeur limitée pour ne pas mettre en oeuvre un nombre trop important d'itérations, qui allongerait le temps de calcul. Ainsi, à titre d'exemple non limitatif, le coefficient de pondération k peut être compris entre 1 et 10, et par exemple être égal à 1. Une fois obtenue la matrice 2 on obtient donc les coefficients des vertex 3D libres, et les positions en profondeur (le long de la droite orthogonale au plan de l'image) des vertex contraints, ce qui fournit la totalité des informations sur la forme du visage. On obtient ainsi la forme de visage représentée en figure 7a, dont la superposition à l'image de visage correspond exactement pour les points caractéristiques, comme visible sur la figure 7b.Moreover, in order to make the dummy normals as close as possible to the normals of the triangles obtained after deformation, we add a new cost function En defined by: En = 111fit ntii2 tE1 'The letter 7- denotes the set of triangles of the three-dimensional form of the face. This cost function Is is minimized iteratively, simultaneously with the function Es, so that during the determination of the vector x the dummy normals approach the maximum of normals. At each iteration i, we use as normal nt, the normals obtained at the previous iteration. Therefore, the minimization of the cost function En is equivalent to minimizing the quadratic norm of the vector in: en = in.x - ni-1 where ni-1 is a column-vector of 3T elements corresponding to the stacking of the norms at triangles obtained after deformation at the iteration i-1. The matrix Jn is a matrix with 3 rows and 3 (VA + T) + F columns. The columns that correspond to the vertexes to be determined (the first 3 VA first columns and the last F columns) are null, and the columns that correspond to the triangles (the middle 3T columns) are filled by the Identity matrix: fn = [0 1T 0] The minimization of the weighted sum of the two cost functions Es and En, Es + VTcEn, where k is a weighting factor, which is a positive integer, is equivalent to the minimization of the quadratic norm of the following vector: e = [s 2 [= J2 b [kin] We introduce here to simplify the notations of the Jacobian matrix J and the vector b. This system of linear equations is overdetermined. Its least squares solutions are provided by the following equation: x = (JTJ) -1-rb Therefore, the constrained deformation of the face shape of step 4000 is implemented by the processing unit by solving this last equation iteratively until convergence. The weighting coefficient k is advantageously chosen of a limited value so as not to implement a too large number of iterations, which would lengthen the calculation time. Thus, by way of nonlimiting example, the weighting coefficient k can be between 1 and 10, and for example be equal to 1. Once matrix 2 is obtained, the coefficients of free 3D vertexes are thus obtained, and the positions in depth (along the line orthogonal to the image plane) constrained vertex, which provides all the information on the shape of the face. We thus obtain the face shape shown in Figure 7a, the superposition to the face image corresponds exactly to the characteristic points, as shown in Figure 7b.
Pour parfaire encore la forme de visage obtenue, les étapes 3100 d'alignement de vertex sur des points caractéristiques et 3200 de déformation contrainte de la forme du visage peuvent être réitérées à une ou plusieurs reprises (flèche F figure 1), l'étape d'alignement des vertex étant alors mise en oeuvre pour des vertex correspondants à des points caractéristiques non encore alignés par rapport aux points caractéristiques correspondants du visage. En référence à la figure 7c, on recale les points identifiés par la référence P, et à l'issue du procédé, on obtient, comme sur les figures 8a et 8b, une forme de visage encore affinée par rapport au visage de l'image.To further perfect the obtained face shape, the steps 3100 of vertex alignment on characteristic points and 3200 of constrained deformation of the shape of the face can be repeated one or more times (arrow F figure 1), step d vertex alignment is then implemented for vertex corresponding to characteristic points not yet aligned with the corresponding characteristic points of the face. With reference to FIG. 7c, the points identified by reference P are recalibrated, and at the end of the process, as in FIGS. 8a and 8b, a face shape is further refined with respect to the face of the image. .
Suite à la modélisation en trois dimensions du visage, le procédé peut ensuite comprendre des étapes de post-traitement 4000 visant à exploiter la modélisation en trois dimensions pour réaliser une identification ou authentification du visage de l'image. Ces étapes comprennent une étape d'estimation 4100, à partir de la forme et de la pose du visage, de la texture du visage sur l'image. Pour ce faire, l'unité de traitement 10 échantillonne l'image d'origine aux positions des points de la forme en trois-dimensions et extrapole la texture pour les points de la forme du visage non visibles sur l'image.Following the three-dimensional modeling of the face, the method may then include post-processing steps 4000 to exploit the three-dimensional modeling to perform identification or authentication of the face of the image. These steps include an estimation step 4100, from the shape and pose of the face, the texture of the face on the image. To do this, the processing unit 10 samples the original image at the positions of the points of the three-dimensional shape and extrapolates the texture for the points of the shape of the face not visible in the image.
L'unité de traitement 10 génère enfin au cours d'une étape 4200, à 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 8c. Elle peut servir de base un procédé d'identification ou d'authentification classique par reconnaissance de visage 4300. Un tel procédé est mis en oeuvre classiquement dans un système 1 représenté en figure 9, comprenant serveur de gestion 20 associé le cas échéant à une base de données; et un serveur de contrôle d'un individu à identifier. Le serveur de contrôle 10 et le serveur de gestion 20 peuvent être 10 confondus. Le serveur de contrôle 10 est avantageusement l'unité de traitement adaptée pour la mise en oeuvre du procédé de modélisation en trois dimensions selon la description qui précède. Le serveur de contrôle est avantageusement associé à ou muni de moyens 11 d'acquisition d'images. Ainsi, le serveur de contrôle 10 peut 15 acquérir d'un individu à contrôler une image, qui est celle à partir de laquelle est réalisée la modélisation en trois dimensions du visage, puis la génération de l'image frontale de l'individu. Une fois cette image obtenue, le serveur de contrôle peut la communiquer au serveur de gestion 20 qui la confronte à une ou plusieurs images de références, 20 soit enregistrées dans la base de données, soit acquise(s) par ailleurs, pour déterminer si l'individu de l'image obtenue par le serveur de contrôle 10 correspond à l'image ou l'une des images à laquelle elle est comparée. Le procédé de modélisation de la forme du visage permet d'augmenter le taux de réussite d'une identification et d'une authentification. 25The processing unit 10 finally generates during a step 4200, from the shape of the face, positioned from the front, and the representation of the texture of the face, a two-dimensional image of the front of the individual. This image is illustrated in Figure 8c. It can serve as a basis for a conventional identification or authentication method by face recognition 4300. Such a method is conventionally implemented in a system 1 shown in FIG. 9, comprising a management server 20 associated, if necessary, with a base. of data; and a control server of an individual to identify. The control server 10 and the management server 20 may be merged. The control server 10 is advantageously the processing unit adapted for implementing the three-dimensional modeling method according to the preceding description. The control server is advantageously associated with or equipped with image acquisition means 11. Thus, the control server 10 can acquire from an individual to control an image, which is the one from which the three-dimensional modeling of the face is performed, and then the generation of the front image of the individual. Once this image has been obtained, the control server can communicate it to the management server 20 which confronts it with one or more reference images, either stored in the database or acquired elsewhere, to determine whether the The individual of the image obtained by the control server 10 corresponds to the image or one of the images to which it is compared. The facial pattern modeling method increases the success rate of identification and authentication. 25
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1452289A FR3018937B1 (en) | 2014-03-19 | 2014-03-19 | METHOD FOR IMPROVED FACE MODELING FROM AN IMAGE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1452289A FR3018937B1 (en) | 2014-03-19 | 2014-03-19 | METHOD FOR IMPROVED FACE MODELING FROM AN IMAGE |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3018937A1 true FR3018937A1 (en) | 2015-09-25 |
FR3018937B1 FR3018937B1 (en) | 2017-07-07 |
Family
ID=51483512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1452289A Active FR3018937B1 (en) | 2014-03-19 | 2014-03-19 | METHOD FOR IMPROVED FACE MODELING FROM AN IMAGE |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3018937B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107481318A (en) * | 2017-08-09 | 2017-12-15 | 广东欧珀移动通信有限公司 | Replacement method, device and the terminal device of user's head portrait |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2998402A1 (en) * | 2012-11-20 | 2014-05-23 | Morpho | METHOD FOR GENERATING A FACE MODEL IN THREE DIMENSIONS |
-
2014
- 2014-03-19 FR FR1452289A patent/FR3018937B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2998402A1 (en) * | 2012-11-20 | 2014-05-23 | Morpho | METHOD FOR GENERATING A FACE MODEL IN THREE DIMENSIONS |
WO2014079897A1 (en) * | 2012-11-20 | 2014-05-30 | Morpho | Method for generating a three-dimensional facial model |
Non-Patent Citations (3)
Title |
---|
BLANZ V ET AL: "A MORPHABLE MODEL FOR THE SYNTHESIS OF 3D FACES", COMPUTER GRAPHICS PROCEEDINGS. SIGGRAPH 99; [COMPUTER GRAPHICS PROCEEDINGS. SIGGRAPH], ACM ? - NEW YORK, NY, USA, 8 August 1999 (1999-08-08), pages 187 - 194, XP001032901, ISBN: 978-0-201-48560-8, DOI: 10.1145/311535.311556 * |
BRIAN AMBERG ET AL: "Optimal Step Nonrigid ICP Algorithms for Surface Registration", 2007 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 1 June 2007 (2007-06-01), pages 1 - 8, XP055157227, ISBN: 978-1-42-441180-1, DOI: 10.1109/CVPR.2007.383165 * |
BRIAN AMBERG: "Editing Faces in Videos", PHD THESIS, 14 December 2010 (2010-12-14), XP055157163, Retrieved from the Internet <URL:http://cs-wwwarchiv.cs.unibas.ch/personen/amberg_brian/thesis_prepress.pdf> [retrieved on 20141205] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107481318A (en) * | 2017-08-09 | 2017-12-15 | 广东欧珀移动通信有限公司 | Replacement method, device and the terminal device of user's head portrait |
Also Published As
Publication number | Publication date |
---|---|
FR3018937B1 (en) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2923302A1 (en) | Method for generating a three-dimensional facial model | |
Gotardo et al. | Computing smooth time trajectories for camera and deformable shape in structure from motion with occlusion | |
Kakadiaris et al. | Three-dimensional face recognition in the presence of facial expressions: An annotated deformable model approach | |
CA2423212C (en) | Apparatus and method for generating a three-dimensional representation from a two-dimensional image | |
Ratyal et al. | Deeply learned pose invariant image analysis with applications in 3D face recognition | |
EP3582141B1 (en) | Method for learning parameters of a convolutional neural network | |
CN105590020B (en) | Improved data comparison method | |
EP3146504B1 (en) | Method for constructing a model of the face of a person, method and device for posture analysis using such a model | |
EP3465629A1 (en) | Method for establishing a deformable 3d model of an element, and associated system | |
Alqahtani et al. | 3D face tracking using stereo cameras: A review | |
EP3145405B1 (en) | Method of determining at least one behavioural parameter | |
Thiruselvam et al. | Feature‐assisted stereo correlation | |
JP2008242833A (en) | Device and program for reconfiguring surface data of three-dimensional human face | |
Khan et al. | Towards monocular neural facial depth estimation: Past, present, and future | |
FR3018937A1 (en) | METHOD FOR IMPROVED FACE MODELING FROM AN IMAGE | |
US9786030B1 (en) | Providing focal length adjustments | |
JP2015162012A (en) | Face matching device, face matching method and program | |
JP2010072910A (en) | Device, method, and program for generating three-dimensional model of face | |
Xu et al. | Pose and illumination invariant face recognition in video | |
JP2008261756A (en) | Device and program for presuming three-dimensional head posture in real time from stereo image pair | |
Xu et al. | A physics-based analysis of image appearance models | |
Dai et al. | Coarse-to-fine multiview 3d face reconstruction using multiple geometrical features | |
KR101436730B1 (en) | 3d face fitting method of unseen face using active appearance model | |
Hara et al. | Fast-accurate 3d face model generation using a single video camera | |
Srinivasan et al. | A new framework for 3D face reconstruction for self-occluded images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
CA | Change of address |
Effective date: 20230220 |
|
CD | Change of name or company name |
Owner name: IDEMIA IDENTITY & SECURITY FRANCE, FR Effective date: 20230220 |
|
PLFP | Fee payment |
Year of fee payment: 11 |