A Morphable Model For The Synthesis Of 3D Faces
TL;DR
focus on identity
Morphable Model — averages of shape and texture + eigenvectors and
Formula —
Building
- Input — 3D Scans
- Method — Optic Flow + PCA ( see Sec. 5 )
Matching / Register — minimize difference between images / 3D scans
Abstract
- new face images / new 3D face models <-- dense one-to-one correspondence to internal face model
- derive morphable face model by transforming shape & texture into vector space representation
- 3D face reconstructions from single images
1. Introduction
Human knowledge is critical for computer aided face modeling & separation of natural faces from non faces.
3. Morphable 3D Face Model
geometry of a face:
new shapes & new textures :
morphable model: set of faces , parameterized by coefficients &
example set of faces --> probability distribution for coefficients & --> regulates likelihood of appearance of generated faces
data compression: PCA --> orthogonal coordinate system formed by eigenvectors & of covariance matrices
- — averages of shape & texture
- — covariance matrices computed over shape & texture differences ,
- — eigenvalues of shape covariance matrix
Segmented morphable model
subdivide vector space of faces into independent subspaces
3.1. Facial attributes
manually assign labels describing markedness of the attribute --> weighted sums:
Multiples of can now be added to or subtracted from any individual face. For binary attributes, such as gender, we assign constant values for all faces in class , and for all faces in . Affecting only the scaling of and , the choice of is arbitary.
4. Matching a morphable model to images
Model Parameters
- — facial shape
- — texture
- — rendering = camera position + object scale + …
colored images:
Euclidean distance:
restrict by a tradeoff between matching quality and prior probabilities
For Gaussian noise with a standard deviation , the likelihood to observe is
cost function:
Phong illumination:
- — triangle
- — direction of illumination
- — normalized difference of camera position and position of triangle’s center
- — direction of reflected ray
- — surface shininess
- — angular distribution of specular reflection
- — image area covered by triangle
- — random subset of 40 triangles
Coarse-to-Fine
- First set of iterations is performed with low resolution.
- In subsequent iterations, more and more principal components are added.
- Starting with a relatively large , we later reduce to obtain maximum matching quality.
- In the last iterations, the face model is broken down into segments. With parameters fixed, coefficients and are optimized independently for each segment. This increased number of degrees of freedom significantly improves facial details.
Multiple Images
- a separate set of for each input image
- is replaced by a sum of image distances for each pair of input and model images
Illumination-Corrected Texture Extraction
Subsequent to matching, we compare the prediction for each vertex with , and compute the change in texture that accounts for the difference.
4.1. Matching a morphable model to 3D scans
a scan can be represented as
In a face , defined by shape and texture coefficients and , vertex with texture values and cylindrical coordinates is mapped to . The matching algorithm from the previous section now determines and minimizing
5. Building a morphable model
5.1. 3D correspondence using Optic Flow
- The algorithm computes a flow field that minimizes differences of .
- Given a definition of shape and texture vectors and for the reference face, and for each face in the database can be obtained by means of the point-to-point correspondence provided by .
5.2. Bootstrapping the model
The basic recursive step: Suppose that an existing morphable model is not powerful enough to match a new face and thereby find correspondence with it. The idea is first to find rough correspondences to the novel face using the (inadequate) morphable model and then improve these correspondences by using an optic flow algorithm.