3D Alignment of Face in a Single Image
Transcript of 3D Alignment of Face in a Single Image
3D Alignment of Face in a 3D Alignment of Face in a Single ImageSingle Image
Leon GuLeon Gu
Carnegie Mellon UniversityCarnegie Mellon University
Presented at CVPR 2006, NYC
3D Face Alignment
3D Shape
3D PoseRotation
Translation
Scale
Perspective ProjectionPerspective Projection
Locate detailed facial feature points: 3D Geometry + 3D Pose
Feature Detector
• Descriptor
• Compute image gradient• Normalize the L1 norm of the gradient vector to one.• Fit a Gaussian
• Detector
• Initialized by face detector• Search in a small local region
3D Alignment - Formulation
• Deform and transform a 3D parametric shape model to fit a set of noisy 2D feature points.
2D Observation 3D Shape
3D Alignment - Problems
• “Fill-in” the missing information• Self-occluded parts
• Depth
• De-noising
• Handle outliers
−100 −80 −60 −40 −20 0 20 40 60 80 100
−100
−50
0
50
100
−100
−50
0
50
100
2D Observation 3D Shape
Generate Faces for Training
Database (A)Database (A)
720 images(83 Points)
Database (B)Database (B)
100 laser-scans;Semi-automaticregistration.(8895 vertices)
Z
X, Y
View-based Feature Detectors
a) left eye corner b) left eyebrow c) right eyeball centerd) the lowest point on mouth contour e) the center of left lower cheek f) the point on the contour of right cheek
Shape Augmentation
Another View of 3D Observation3D “Observation”
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
−100 −80 −60 −40 −20 0 20 40 60 80 100
−100
−50
0
50
100
−100
−50
0
50
100
−100 −80 −60 −40 −20 0 20 40 60 80 100
−100
−50
0
50
100
−100
−50
0
50
2D Observation Current 3D Shp Estimate
De-Noising
• Projection and Shrinkage
• Decompose 3D observation into PCA space • Shrink deformation coefficients towards mean shape.• Reconstruct the 3D shape
Shrink
=
3D ObservationShrunk Shape
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
Shrinking Factor
• Depends on model variance and noise variance.
• Preserve major deformations• Penalize minor deformations
2
2
1
eigval,
eigval+ noise_var
1
i
i
n
i
jj rn
λλ σ
σ λ
α
= +
= =+
= ∑
Shape DeformationsShape Deformations
Shrinkage
3D Observation
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
Shrunk Shape
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
Iterative Re-weighting
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
Penalize outliers
( )1X p p
× + ×−=−100 −80 −60 −40 −20 0 20 40 60 80 100
−100
−80
−60
−40
−20
0
20
40
60
80
100
3D Obs 3D Shp Estimate
Identify outliers
Pose Estimation
• Weak perspective projection θ = {s, R, t} .
• Only visible points are involved.
2D Obs
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
3D Shp Estimate
( )2arg min ( )i
i
Tw θθ = −∑
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
( )2arg min ( )i
i
Tw θθ = −∑
The Algorithm
1. Face detection; view based feature point detection2. Fitting 3D model to 2D points (EM iteration)
1. Shape augmentation: fill in missing information; penalize outliers by weighted average.
2. Shape estimation: projection and shrinkage.
3. Pose estimation: minimize weighted distance error.
3. Re-weighting; update visibility mask.4. Repeat until convergence
Shrink
=
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
−100 −80 −60 −40 −20 0 20 40 60 80 100−100
−80
−60
−40
−20
0
20
40
60
80
100
( )1X p p
× + ×−=−100 −80 −60 −40 −20 0 20 40 60 80 100
−100
−80
−60
−40
−20
0
20
40
60
80
100
Summary
• Trained from synthetic 3D faces• Correspondence established automatically
• 3D face alignment• Fully automatic (initialized by multi-view face detector)• Handle large range of view changes• Well generalized to new, unseen faces
• 3D shape/pose estimation from a single 2D observation
• Self-occlusion, depth (shape augmentation)• Observation noise (shrinkage)• Outliers (iterative re-weighting)