face alignment by explicit shape regression
DESCRIPTION
「第20回コンピュータビジョン勉強会@関東 CVPR2012論文読み会」発表資料TRANSCRIPT
2012/06/23 CV勉強会@関東
CVPR読み会 発表資料
takmin
紹介する論文
Face Alignment by Explicit Shape Regression
Xudong Cao, Yichen Wei, Fang Wen, Jian Sun
Microsoft Research Asia
回帰ベース/ノンパラメトリックな顔ランドマーク抽出手法
認識率高い+効率良い
この論文を選んだ理由
回帰による形状当てはめというのをそもそも知らなかった。
え?本当にこんな単純なモデルでうまくいくの?という感想。
でも、理解するのには手間取った。。。
そしてイマイチ腹に落ちた感じがしない。。。
実験結果(LFPWデータセット)
実験結果(LFW87データセット)
実験結果(BioIDデータセット)
顔の形状当てはめ
2
ˆmin SS
正解データ 推定した形状
fp
fp
N
N
y
x
y
x
S 1
1
(1)
従来法
Optimization-based
AAMなど、(1)と相関する誤差関数を使用
Regression-based
パラメトリックなモデルで、間接的に(1)を最小化
個々のランドマークの見えからリグレッサーを学習
2
ˆmin SS
正解データ 推定した形状
(1)
目的: ランドマーク間の相関も考慮し、直接(1)を最小化す るリグレッサーを求める!
回帰による形状当てはめ
T
t
t IRSS1
0 )(
Boosting Regressor
形状を弱いリグレッサーの和とする。
弱リグレッサー
(形状の変化分)
推定形状
平均形状
画像
TtSIRSS tttt ,,1 ),,( 11 (2)
弱リグレッサー
(形状の変化分)
更新形状
現在の形状
回帰による形状当てはめ
TtSIRSS tttt ,,1 ),,( 11 (2)
弱リグレッサー
(形状の変化分)
更新形状
現在の形状
2
ˆmin SS (1)
N
i
t
ii
t
iiR
t SIRSSR1
11 )),((ˆminarg (3)
Boosting Regressor
各学習サンプルの形状誤差の和が最小となるリグレッサーを算出
訓練サンプルの誤差
回帰による形状当てはめ
N
i
t
ii
t
iiR
t SIRSSR1
11 )),((ˆminarg (3)
Boosting Regressor
各学習サンプルの形状誤差の和が最小となるリグレッサーを算出
訓練サンプルの誤差
… 1R 2R TR
学習の順番
0S
iS
1
iS 2
iS 1T
iST
iS
正解形状
Two-level cascaded regression
リグレッサーを2段階のBoostingで構成する
収束性向上&性能向上のため
N
i
t
ii
t
iiR
t SIRSSR1
11 )),((ˆminarg (3)
K
k
k
ii
kt
i
t
ii
t SIrSSIR1
111 ),(),(
2段目の弱リグレッサー
(Primitive Regresser)
Two-level cascaded regression
リグレッサーを2段階のBoostingで構成する
収束性向上&性能向上のため
N
i
t
ii
t
iiR
t SIRSSR1
11 )),((ˆminarg (3)
K
k
k
ii
kt
i
t
ii
t SIrSSIR1
111 ),(),(
KkSIrSS kkkk ,,1 ),,( 11
10 tSS
Two-level cascaded regression
リグレッサーを2段階のBoostingで構成する
収束性向上&性能向上のため
N
i
t
ii
t
iiR
t SIRSSR1
11 )),((ˆminarg (3)
KkSIrSS kkkk ,,1 ),,( 11
10 tSS
N
i
k
ii
k
iir
k SIrSSr1
11 )),((ˆminarg
Two-level cascaded regression
リグレッサーを2段階のBoostingで構成する
収束性向上&性能向上のため
学習の順番
… …
… 1R 2R TR
1r 2r Kr …
0S 1
iS2
iS 1T
iST
iS
0S1
iS 1
iS 2
iS1T
iS T
iS
fern
Primitive Regressor
2段目の弱リグレッサー = fern
F個の特徴を持ち、各特徴は閾値で2つに分類
全部で2のF乗のグループに分ける
krfern
Tfffff 54321 ,,,,
T1,0,1,1,0
F次元特徴ベクトル
出力
F2 個の各binに
を割り当てる
bS
Primitive Regressor
b
i ii
bb
SSS
)ˆ(
bi
iiS
b SSSS )(ˆminarg
b :このbinの訓練
サンプル集合 (4)
(5)
bと判別された訓練サンプルの形状と正解形状の誤差の平均
Primitive Regressor
bi
iiS
b SSSS )(ˆminarg
b :このbinの訓練
サンプル集合 (4)
データ数が少なかった時のOverfittingを避けるため
b
i ii
b
bb
SSS
)ˆ(
/1
1
(6)
Shape-indexed (image) features
krfern
Tfffff 54321 ,,,,F次元特徴ベクトル
出力 T1,0,1,1,0
どんな画像特徴?
どうやって作る?
Shape-indexed (image) features
どんな画像特徴?
x
x x
x
x
x
x
x
x
x
x
5
4
3
2
1
f
f
f
f
f
2つの画素の値の差
Shape-indexed (image) features
顔の向き/大きさに不変な特徴にしたい
現在の顔形状 を標準顔 にフィッティングする
画素の位置をそれに合わせて変換
座標系の原点を最近傍のランドマークに取ることで、表情の変化にもロバストにする。
tS 0S
○ ×
Correlation-based feature selection
krfern
Tfffff 54321 ,,,,F次元特徴ベクトル
出力 T1,0,1,1,0
どうやって作る?
どの場所の画素のペアを使う?
閾値はどう決める?
Correlation-based feature selection
シンプルな方法(n-Best)
1. n個のfernをランダムに生成する
2. 訓練画像からランダムにP個の画素を選択し、 個の特徴を作る
3. (4)式を評価し、最も誤差の少ないものを選択する
2P
bi
iiS
b SSSS )(ˆminarg
b :このbinの学習
サンプル集合 (4)
非効率!
Correlation-based feature selection
CBFS(Correlation-based feature selection)
個の特徴の中から、目標(正解形状と現在の形状の差分)と相関の高いものを取ってくる
N
i
t
ii
t
iiR
t SIRSSR1
11 )),((ˆminarg (3)
11 ˆ),( t
ii
t
ii SSSIR
ターゲット
2P
Correlation-based feature selection
1. 回帰目標ベクトルをランダムな方向へ投影し、スカラー値を取得
1ˆ t
ii SS
ランダムなベクトル
i
Correlation-based feature selection
2. 個の特徴の中から取得したスカラー値と最も相関の高いものを1つ選ぶ
TNi ,,,,1
2P
x x
x
x
x x
TNi fff ,,,,1
N=学習サンプル数
訓練サンプル
相関
Correlation-based feature selection
3. 1と2をF回繰り返し、F個の特徴を取得
4. F個の特徴にランダムに閾値を設けることで、fernを作成
1ˆ t
ii SS
ランダムなベクトル i
TNi ,,,,1
TNi fff ,,,,1
相関
Non-parametric shape constraint
本手法での形状は、以下の式で表せる
N
i
iiSwSS1
0 ˆ(6)
訓練形状 初期形状
訓練形状の線型部分空間内のため、顔の形状に制約が自動的につく
人の顔として不自然な形に歪むことがない!
Non-parametric shape constraint
本手法での形状は、以下の式で表せる
N
i
iiSwSS1
0 ˆ(6)
訓練形状 初期形状
AAMやCLMの場合
n
i
ii IDRQ1
);()()( xpp
パラメータ誤差関数
顔の変形の大きさに対するペナルティ
(正則化項)
アピアランスの類似度
顔の変形へのペナルティがいらない!
Non-parametric shape constraint
徐々に顔形状がFittingされていく様子
Non-parametric shape constraint
Fernリグレッサーの各bin ( )個に格納されている形状 を主成分分析し、95%までのエネルギーを持つ主成分の数をプロットしたもの。
bSKF 2
tR
(ステージが上がるほど形状の微調整が必要になり、主成分が増える)
Non-parametric shape constraint
最初のステージ と最後のステージ における上位3
つの主成分
1R TR
最初のステージ 最後のステージ
学習方法の擬似コード
学習データから平均顔形状 を算出
While (T):
画像からP個の画素をランダムに取得し の画素ペアを作成
While (K):
と の特徴ベクトルでfernを学習(CBFS)
fernで学習画像を のグループに分離
分離した各グループから各binの を(6)で決定
0S0SS
2P
b
i ii
b
bb
SSS
)ˆ(
/1
1
SS
2PF2
S
(6)
bS
),( ikii SIrSS
SS
実装の詳細
訓練データの拡張
初期形状として平均だけでなく、訓練形状からランダムに選んで、それも初期形状としてトレーニングに使用
複数の初期形状による検出
平均形状だけでなく、複数の初期形状を用いて検出を行い、得られた形状の中間値を取ることで、精度向上
実装の詳細
処理時間
Intel Core i7 2.93GHz / C++ implementation
訓練画像: 2000枚
パラメータ
5F 1000 10T 500K 400P
実験
従来法との比較のため、以下のデータセットで実験
BioID
LFPW
LFW87
LFPWデータセットの結果
丸の半径が本手法のエラーの平均。Greenが従来法と比べ10%以上精度が上がった箇所
[1]P.Belhumeur et al, ”Localizing parts
of faces using a concensus of
exemplars”, CVPR2011
LFW87データセットの結果
[12]L. Liang et al., “Face Alignment via component-based discriminative search”,
ECCV2008
BioIDデータセットの結果
アルゴリズムの検証
アルゴリズムの検証にはLPFWデータセットを用いた
Two-level cascaded regression
1段目の弱リグレッサーと2段目の弱リグレッサーの数を変更して、精度を確認
アルゴリズムの検証
Shape indexed feature
2つの特徴用座標系で比較
平均誤差: 0.033 平均誤差: 0.059
アルゴリズムの検証
Feature selection
特徴抽出手法(fernの構築方法)について、n-BestとCorreleation-based feature selection method(CBFS)との比較
アルゴリズムの検証
各訓練ステージ毎に、選択された特徴間の距離の平均をプロット
学習が進むほど小さくなる。(微調整になる)
結論
顔画像に形状を陽に、回帰的に割り当てる手法を提案。
全体への形状の割り当てと、局所的な誤差の最小化を同時に回帰的に扱うことで、形状が自動的に制約される。
高速、高精度。
リアルタイム追跡も可能
この形状当てはめのフレームワークは関節を持つ物体の認識など、他の分野への応用も期待できる。