Face Alignment by Explicit Shape Regression Xudong Cao Fang Wen Yichen Wei Jian Sun Visual Computing Group Microsoft Research Asia.

Download Report

Transcript Face Alignment by Explicit Shape Regression Xudong Cao Fang Wen Yichen Wei Jian Sun Visual Computing Group Microsoft Research Asia.

Face Alignment by
Explicit Shape Regression
Xudong Cao
Fang Wen
Yichen Wei
Jian Sun
Visual Computing Group
Microsoft Research Asia
Problem: face shape estimation
β€’ Find semantic
facial points
– 𝑆 = π‘₯𝑖 , 𝑦𝑖
β€’ Crucial for:
– Recognition
– Modeling
– Tracking
– Animation
– Editing
Desirable properties
1. Robust
– complex appearance
– rough initialization
pose
expression
lighting
occlusion
2. Accurate
– error: ||𝑆 βˆ’ 𝑆||
𝑆: ground truth shape
3. Efficient
training: minutes / testing: milliseconds
Previous approaches
β€’ Active Shape Model (ASM)
[Cootes et. al. 1992]
– detect points from local features [Milborrow et. al. 2008]
…
– sensitive to noise
β€’ Active Appearance Model (AAM) [Cootes et. al. 1998]
– sensitive to initialization
– fragile to appearance change
[Matthews et. al. 2004]
...
All use a parametric (PCA) shape model
Previous approaches: cont.
β€’ Boosted regression for face alignment
– predict model parameters; fast
– [Saragih et. al. 2007] (AAM)
– [Sauer et. al. 2011] (AAM)
– [Cristinacce et. al. 2007] (ASM)
β€’ Cascaded pose regression
– [Dollar et. al. 2010]
– pose indexed feature
– also use parametric pose model
Parametric shape model is dominant
β€’ But, it has drawbacks
1. Parameter error β‰  alignment error
– minimizing parameter error is suboptimal
2. Hard to specify model capacity
– usually heuristic and fixed, e.g., PCA dim
– not flexible for an iterative alignment
β€’
strict initially? flexible finally?
Can we discard a parametric model?
1. Directly estimate shape 𝑆 by regression? Yes
2. Overcome the challenges?
Yes
– high-dimensional output
– highly non-linear
– large variations in facial appearance
– large training data and feature space
3. Still preserve the shape constraint?
Yes
Our approach: Explicit Shape Regression
1. Directly estimate shape 𝑆 by regression? Yes
– boosted (cascade) regression framework
– minimize ||𝑆 βˆ’ 𝑆|| from coarse to fine
2. Overcome the challenges?
Yes
– two level cascade for better convergence
– efficient and effective features
– fast correlation based feature selection
3. Still preserve shape constraint?
– automatic and adaptive shape constraint
Yes
Approach overview
t=0
t=1
initialized
from face
detector
t=2
…
t = 10
…
affine
transform
𝐼: image
π‘‘βˆ’1 + 𝑅 𝑑 𝐼, 𝑆 π‘‘βˆ’1
transform
back
𝑆
= 𝑆𝑑
Regressor 𝑅𝑑 updates previous shape 𝑆 π‘‘βˆ’1 incrementally
𝑅𝑑 = argmin βˆ†π‘† βˆ’ 𝑅 𝐼, 𝑆 π‘‘βˆ’1 , over all training examples
𝑅
βˆ†π‘† = 𝑆 βˆ’ 𝑆 π‘‘βˆ’1 : ground truth shape residual
Regressor learning
𝑆0
𝑅1
𝑆1 …... 𝑆 π‘‘βˆ’1 𝑑
𝑅
𝑆𝑑
π‘‡βˆ’1
𝑆
…...
𝑅𝑇
1. What’s the structure of 𝑅𝑑
2. What are the features?
3. How to select features?
𝑆𝑇
Regressor learning
𝑆0
𝑅1
𝑆1 …... 𝑆 π‘‘βˆ’1 𝑑
𝑅
𝑆𝑑
π‘‡βˆ’1
𝑆
…...
𝑅𝑇
1. What’s the structure of 𝑅𝑑
2. What are the features?
3. How to select features?
𝑆𝑇
Two level cascade
×
too weak 𝑅𝑑 β†’ slow convergence and poor generalization
a simple regressor, e.g., a decision tree
𝑆0
𝑅1
𝑆1 …... 𝑆 π‘‘βˆ’1 𝑑
𝑅
𝑆 π‘‘βˆ’1
π‘Ÿ1
…… π‘Ÿ π‘˜
𝑆𝑑
π‘‡βˆ’1
𝑆
…...
𝑅𝑇
𝑆𝑇
𝑑
𝑆
..…. π‘Ÿ 𝐾
two level cascade: stronger 𝑅𝑑 β†’ rapid convergence
Trade-off between two levels
#stages in top level 5000
#stages in bottom level 1
5.2
error (× 10βˆ’2 )
100
50
4.5
10
500
3.3
5
1000
6.2
with the fixed number (5,000) of regressor π‘Ÿ π‘˜
Regressor learning
𝑆0
𝑅1
𝑆1 …... 𝑆 π‘‘βˆ’1 𝑑
𝑅
𝑆𝑑
π‘‡βˆ’1
𝑆
…...
𝑅𝑇
1. What’s the structure of 𝑅𝑑
2. What are the features?
3. How to select features?
𝑆𝑇
Pixel difference feature
Powerful on large training data
[Ozuysal et. al. 2010], key point recognition
[Dollar et. al. 2010], object pose estimation
[Shotton et. al. 2011], body part recognition
…
Extremely fast to compute
– no need to warp image
– just transform pixel coord.
𝐼𝑙𝑒𝑓𝑑 𝑒𝑦𝑒 β‰ˆ πΌπ‘Ÿπ‘–π‘”β„Žπ‘‘ 𝑒𝑦𝑒
πΌπ‘šπ‘œπ‘’π‘‘β„Ž ≫ πΌπ‘›π‘œπ‘ π‘’ 𝑑𝑖𝑝
How to index pixels?
×
β€’ Global coordinate (π‘₯, 𝑦) in (normalized) image
β€’ Sensitive to personal variations in face shape
Shape indexed pixels
β€’ Relative to current shape (βˆ†π‘₯, βˆ†π‘¦, π‘›π‘’π‘Žπ‘Ÿπ‘’π‘ π‘‘ π‘π‘œπ‘–π‘›π‘‘)
β€’ More robust to personal geometry variations
√
Tree based regressor
π‘˜
π‘Ÿ
β€’ Node split function: π‘“π‘’π‘Žπ‘‘π‘’π‘Ÿπ‘’ > π‘‘β„Žπ‘Ÿπ‘’π‘ β„Žπ‘œπ‘™π‘‘
– select (π‘“π‘’π‘Žπ‘‘π‘’π‘Ÿπ‘’, π‘‘β„Žπ‘Ÿπ‘’π‘ β„Žπ‘œπ‘™π‘‘) to maximize the
variance reduction after split
𝐼π‘₯1 βˆ’ 𝐼𝑦1 > 𝑑1 ?
𝐼π‘₯1
𝐼π‘₯2 βˆ’ 𝐼𝑦2 > 𝑑2 ?
𝐼π‘₯2
𝐼𝑦2
𝐼𝑦1
βˆ†π‘†π‘™π‘’π‘Žπ‘“ = argmin
βˆ†π‘†
|𝑆𝑖 βˆ’ (𝑆𝑖 + βˆ†π‘†)| =
π‘–βˆˆπ‘™π‘’π‘Žπ‘“
π‘–βˆˆπ‘™π‘’π‘Žπ‘“(𝑆𝑖
βˆ’ 𝑆𝑖 )
π‘™π‘’π‘Žπ‘“ 𝑠𝑖𝑧𝑒
𝑆𝑖 : ground truth
𝑆𝑖 : from last step
Non-parametric shape constraint
βˆ†π‘†π‘™π‘’π‘Žπ‘“ = argmin
βˆ†π‘†
|𝑆𝑖 βˆ’ (𝑆𝑖 + βˆ†π‘†)| =
π‘–βˆˆπ‘™π‘’π‘Žπ‘“
𝑆 𝑑+1 = 𝑆 𝑑 + βˆ†π‘†
𝑆𝑑 = 𝑆0 +
π‘–βˆˆπ‘™π‘’π‘Žπ‘“(𝑆𝑖
βˆ’ 𝑆𝑖 )
π‘™π‘’π‘Žπ‘“ 𝑠𝑖𝑧𝑒
𝑀𝑖 𝑆𝑖
β€’ All shapes 𝑆 𝑑 are in the linear space of all
training shapes 𝑆𝑖 if initial shape 𝑆 0 is
β€’ Unlike PCA, it is learned from data
– automatically
– coarse-to-fine
Learned coarse-to-fine constraint
#PCs
Apply PCA (keep 95%
variance) to all βˆ†π‘†π‘™π‘’π‘Žπ‘“
in each first level stage
30
20
10
2
Stage 1
#1 PC
#2 PC
#3 PC
4
6
stage
8
Stage 10
10
Regressor learning
𝑆0
𝑅1
𝑆1 …... 𝑆 π‘‘βˆ’1 𝑑
𝑅
𝑆𝑑
π‘‡βˆ’1
𝑆
…...
𝑅𝑇
1. What’s the structure of 𝑅𝑑
2. What are the features?
3. How to select features?
𝑆𝑇
Challenges in feature selection
β€’ Large feature pool: 𝑁 pixels β†’ 𝑁 2 features
– N = 400 β†’ 160,000 features
β€’ Random selection: pool accuracy
β€’ Exhaustive selection: too slow
Correlation based feature selection
β€’ Discriminative feature is also highly
correlated to the regression target
– correlation computation is fast: 𝑂(𝑁) time
β€’ For each tree node (with samples in it)
1. Project regression target βˆ†π‘† to a random direction
2. Select the feature with highest correlation to the
projection
3. Select best threshold to minimize variation after split
More Details
β€’ Fast correlation computation
– 𝑂(𝑁) instead of 𝑂(𝑁 2 ), 𝑁: number of pixels
β€’ Training data augmentation
– introduce sufficient variation in initial shapes
β€’ Multiple initialization
– merge multiple results: more robust
Performance
#points
Training (2000 images)
Testing (per image)
5
5 mins
0.32 ms
β€’ Testing is extremely fast
– pixel access and comparison
– vector addition (SIMD)
29
10 mins
0.91 ms
87
21 mins
2.9 ms
β‰ˆ300+ FPS
Results on challenging web images
β€’ Comparison to [Belhumeur et. al. 2011]
– P. Belhumeur, D. Jacobs, D. Kriegman, and N. Kumar. Localizing parts
of faces using a concensus of exemplars. In CVPR, 2011.
– 29 points, LFPW dataset
– 2000 training images from web
– the same 300 testing images
β€’ Comparison to [Liang et. al. 2008]
– L. Liang, R. Xiao, F. Wen, and J. Sun. Face alignment via componentbased discriminative search. In ECCV, 2008.
– 87 points, LFW dataset
– the same training (4002) and test (1716) images
Compare with [Belhumeur et. al. 2011]
β€’ Our method is 2,000+ times faster
relative error reduction by
our approach
point radius: mean error
1
20%
9
5
6
13
17 11
14
10%
19
0%
0
5
10
15
20
25
better by > 10%
better by < 10%
worse
30
4
3
7
8
2
15
12
18 10
16
21
22
25
23 26 27
28
29
20
24
Results of 29 points
Compare with [Liang et. al. 2008]
β€’ 87 points, many are texture-less
β€’ Shape constraint is more important
Mean error
< 5 pixels
< 7.5 pixels
< 10 pixels
Method in [2]
74.7%
93.5%
97.8%
Our Method
86.1%
95.2%
98.2%
percentage of test images with π‘’π‘Ÿπ‘Ÿπ‘œπ‘Ÿ < π‘‘β„Žπ‘Ÿπ‘’π‘ β„Žπ‘œπ‘™π‘‘
Results of 87 points
Summary
Challenges:
Our techniques:
β€’ Heuristic and fixed shape β€’ Non-parametric shape
constraint
model (e.g., PCA)
β€’ Large variation in face
appearance/geometry
β€’ Cascaded regression and
shape indexed features
β€’ Large training data and
feature space
β€’ Correlation based
feature selection