44
1 Face Alignment at 3000 FPS via Regressing Local Binary Features 解解解 解解解解 解解解 解解解 解解 tackson 解 解解 CV 解解解 2014 解 8 解 2 解 CVPR 2014 解解解解

関東CV勉強会20140802(Face Alignment at 3000fps)

Embed Size (px)

Citation preview

Page 1: 関東CV勉強会20140802(Face Alignment at 3000fps)

1

Face Alignment at 3000 FPS via Regressing Local Binary

Features解説者

東京大学 佐藤洋一研究室博士1年 tackson 某

関東 CV 勉強会 2014 年 8 月 2日

CVPR 2014 論文紹介

Page 2: 関東CV勉強会20140802(Face Alignment at 3000fps)

2発表者プロフィール• 略歴

– 東京高専から東大工学部に2年次編入– 学部:セグメンテーション @ 東大 苗村研– 修士:ステレオ @ 東大 苗村研( MSRA インターン)– 博士:3次元復元 @ 東大 佐藤洋一研

• 興味のある分野– 3次元形状復元・ステレオ– MRF 最適化・グラフカット– セグメンテーション

• Twitter アカウント

Page 3: 関東CV勉強会20140802(Face Alignment at 3000fps)

3

Face Alignment at 3000 FPS via Regressing Local Binary

Features

Shaoqing Ren   Xudong Cao    Yichen Wei    Jian Sun

中国科学技術大学(インターン生)

MSRA の Visual Computing 研究者グループ(Associate/Lead/Principal Researcher)

指導教員が入っていないのが気になる現地では筆頭不在で Wei 氏がオーラル発表

Page 4: 関東CV勉強会20140802(Face Alignment at 3000fps)

4Face Alignment とは

事前に定義された顔の landmarks

の位置の推定

提案手法:最高精度&最高速度( 3000 fps )

Page 5: 関東CV勉強会20140802(Face Alignment at 3000fps)

5本研究の位置づけ

Active Shape Model [BMVC ’92]

Optimization ベース・エネルギー関数を最小化・” wild“ 環境で低性能

Regression ベースベストな形状更新を

直接予測

Active Appearance Model [ECCV ’98, PAMI ’01]

Cascaded Regression [CVPR ‘10]Explicit Shape Regression [CVPR ‘12]

3000 FPS via Local Binary Features [CVPR ‘14]

(See [Cao+ CVPR ‘12] & [Burgos-Artizzu+ ICCV ‘13] for more discussions)

Under Occlusion [ICCV ‘13]

Page 6: 関東CV勉強会20140802(Face Alignment at 3000fps)

6提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression ( Random Forest )

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 7: 関東CV勉強会20140802(Face Alignment at 3000fps)

7提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression ( Random Forest )

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 8: 関東CV勉強会20140802(Face Alignment at 3000fps)

8Face Alignment via Regression ( 学習 )

min𝑅∑𝑖

‖𝑆 𝑖∗− (𝑆𝑖

0+𝑅 ( 𝐼𝑖 ,𝑆 𝑖0 ))‖

最適な変位量関数を様々な で学習パターン

今の形状正解形状 変位量関数

学習

用デ

ータ

… …

𝑖=1 𝑖=𝑁training image

Page 9: 関東CV勉強会20140802(Face Alignment at 3000fps)

9Face Alignment via Regression ( テスト )

画像 形状ペアから直接 変位量を予測・

更新後の形状

𝑆1=𝑆0+𝑅 ( 𝐼 ,𝑆0 )

テス

トデ

ータ

training image

入力:画像と初期形状

Page 10: 関東CV勉強会20140802(Face Alignment at 3000fps)

10

1回の更新だけじゃ

あんまりうまくいかないのかな

Page 11: 関東CV勉強会20140802(Face Alignment at 3000fps)

11提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression ( Random Forest )

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 12: 関東CV勉強会20140802(Face Alignment at 3000fps)

12Cascaded Regression [Dollar+ CVPR ‘10]

training images

training images

ステージごとに段階的に変位量を学習

を学習

で形状更新

を学習

Page 13: 関東CV勉強会20140802(Face Alignment at 3000fps)

13Cascaded Regression [Dollar+ CVPR ‘10]

𝑺𝐟𝐢𝐧𝐚𝐥=𝑺𝟎+𝑹𝟏+𝑹𝟐+⋯+𝑹𝑻

𝑺𝟎 𝑺𝟏 𝑺𝑻

coarse fine

coarse-to-fine な変形列を自然に生成 [Cao+ CVPR ‘12]

Page 14: 関東CV勉強会20140802(Face Alignment at 3000fps)

14

全体像はわかったけ

具体的な学習方法の

イメージがわかない

の学習 ??

Page 15: 関東CV勉強会20140802(Face Alignment at 3000fps)

15提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression ( Random Forest )

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 16: 関東CV勉強会20140802(Face Alignment at 3000fps)

16Shape-Indexed Feature [Fleuret+ JMLR ‘08]

𝑅 ( 𝐼 ,𝑆 )=Δ𝑆

形状正解形状 変位量関数

𝑅=argmin𝑅

∑𝑖

‖(𝑆𝑖∗−𝑆𝑖)−𝑅 ( 𝐼𝑖 ,𝑆 𝑖 )‖

画像と今の形状 正解への変位

マッピングの学習

𝑟 ( 𝑓 ( 𝐼 ,𝑆 ) )=Δ𝑆

要するに

Shape-Indexed Feature:今の形状に相対的な画像特徴量

正確には特徴量と変位のマッピング

Page 17: 関東CV勉強会20140802(Face Alignment at 3000fps)

17Shape-Indexed Feature [Fleuret+ JMLR ‘08]つまり 形状に相対的な座標上での画像特徴抽出

絶対座標

形状中心からの相対座標

Pose-variation になるべく invariant に特徴抽出

一番近い landmarkからの相対座標[Cao+ CVPR ‘12]

2 つの landmarksの線形結合座標[B-A+ ICCV ‘13]

Page 18: 関東CV勉強会20140802(Face Alignment at 3000fps)

18Shape-Indexed Feature [Fleuret+ JMLR ‘08]実際の特徴量は pixel-difference features

2 画素 (p, q) の輝度値の差

画素ペア集合

サンプル点 (p, q) はうまいこといい感じに選ぶ [Cao+ CVPR ‘12]

Page 19: 関東CV勉強会20140802(Face Alignment at 3000fps)

19

あとは特徴量 と

変位量の対応関係

を学習すればいいんだ

ね !まさに回帰問題だね!

Page 20: 関東CV勉強会20140802(Face Alignment at 3000fps)

20提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression (Random Forest)

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 21: 関東CV勉強会20140802(Face Alignment at 3000fps)

21Ensemble Regression (Random Forest)

Δ𝑆1Δ𝑆4

Δ𝑆2 Δ𝑆3Δ𝑆6Δ𝑆𝑁

Δ𝑆2Δ𝑆9

Δ𝑆7 Δ𝑆3Δ𝑆1Δ𝑆4

𝑓 1

𝑓 1

Δ𝑆1Δ𝑆4

Δ𝑆7 Δ𝑆8Δ𝑆2Δ𝑆𝑁

, , , , …, 学習データ

subsetで学習

subsetで学習

subsetで学習

Page 22: 関東CV勉強会20140802(Face Alignment at 3000fps)

22Ensemble Regression (Random Forest)

Δ𝑆1Δ𝑆4

Δ𝑆2 Δ𝑆3Δ𝑆6Δ𝑆𝑁

Δ𝑆2Δ𝑆9

Δ𝑆7 Δ𝑆3Δ𝑆1Δ𝑆4

𝑓 1

𝑓 1

Δ𝑆1Δ𝑆4

Δ𝑆7 Δ𝑆8Δ𝑆2Δ𝑆𝑁

, , , , …, 学習データ

subsetで学習

subsetで学習

subsetで学習

テストデータ の回帰予測

𝒕𝒕

𝒕𝒕

𝒕𝒕

※ これを直接使うと [Cao+ CVPR ‘12] とほぼ同じアプローチ

Page 23: 関東CV勉強会20140802(Face Alignment at 3000fps)

23

これでベースラインは

カンペキだね☆

Page 24: 関東CV勉強会20140802(Face Alignment at 3000fps)

24提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression (Random Forest)

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 25: 関東CV勉強会20140802(Face Alignment at 3000fps)

25Global Regression vs Local Regression

landmark 同士の相互作用や context を考慮できる その利点を生かしきれない現実面での事情 (学習データ不足・学習時間・学習手法の性能)

全 landmark 同時の回帰学習 [Cao+ CVPR ‘12]

Landmark ごとの個別の回帰学習

Page 26: 関東CV勉強会20140802(Face Alignment at 3000fps)

26Local Binary Feature

Δ𝑆1Δ𝑆4

Δ𝑆2 Δ𝑆3Δ𝑆6Δ𝑆𝑁Δ𝑆2Δ𝑆9

Δ𝑆7 Δ𝑆3Δ𝑆1Δ𝑆4

Δ𝑆1Δ𝑆4

Δ𝑆7 Δ𝑆8Δ𝑆2Δ𝑆𝑁

𝒕𝒕

𝒕𝒕

𝒕𝒕

Landmark周辺のShape-Indexed Feature で回帰学習

ローカルな回帰予測は精度が低いので捨てる ( ! )

Binary Features1 0 0 0 0 0 0 1 0 1 0 0

Page 27: 関東CV勉強会20140802(Face Alignment at 3000fps)

27提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression (Random Forest)

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 28: 関東CV勉強会20140802(Face Alignment at 3000fps)

28Local Binary Features の Global Regression

0 0 1 0 0 … 0

0 1 0 0 0 … 1Local Binary Features

0 …00 …1 0 …0 0 …0

全 Landmark のBinary Feature を結合

min𝑊

∑𝑖

‖𝑺𝒊∗− (𝑺𝒊+𝑊 𝝓𝒊 )‖2

2+‖𝑊‖2

2今の形状正解形状

1 0 0 0 0 … 0

全 landmark の特徴量を使った Global 回帰学習( Local 回帰→ Global 回帰の2段階回帰) ある Landmark が遮蔽されてても他が助けてく

れる

over-fitting 回避

Page 29: 関東CV勉強会20140802(Face Alignment at 3000fps)

29

これでようやく

回帰の学習部分の

話はおしまい☆

次は実行時の話

Page 30: 関東CV勉強会20140802(Face Alignment at 3000fps)

30提案手法の特徴■ 従来手法と同じ• Regression ベース• Cascaded Regression Framework• Shape-Indexed Feature• Ensemble Regression (Random Forest)

■ 提案ポイント• Local Binary Feature• Local Feature を Global に Regression• 3000 FPS の秘訣

Page 31: 関東CV勉強会20140802(Face Alignment at 3000fps)

31実行時の動作: 3000FPS の秘訣とってもスパース

𝚫 𝑺=𝑊 𝝓

形状更新の予測

0 0 1 0 0 … 0

0 1 0 0 0 … 1…

1 0 0 0 0 … 0

Tree だからとっても速い

テストデータ

とっても高速な積計算  が 1 になるところだけ の列ベクトルを参照して 加算するだけで良い

Page 32: 関東CV勉強会20140802(Face Alignment at 3000fps)

32

実験

Page 33: 関東CV勉強会20140802(Face Alignment at 3000fps)

333つのデータセットで評価

ESR [Cao+ CVPR’ 12] 同著者らの手法 グローバル回帰

SDM [Xiong+ CVPR ’13]  Supervised な勾配法

LBF 手法は精度も速度も state-of-the-art

※ LFPW データセット  人力で 3.28

Page 34: 関東CV勉強会20140802(Face Alignment at 3000fps)

34難しいデータセット( 300-W )の結果

Page 35: 関東CV勉強会20140802(Face Alignment at 3000fps)

35提案手法が SDM と ESR に勝ってるケース

Page 36: 関東CV勉強会20140802(Face Alignment at 3000fps)

36失敗例

Page 37: 関東CV勉強会20140802(Face Alignment at 3000fps)

37Global 学習   vs   Local 学習

Local 学習のほうがより良い特徴抽出できる

Page 38: 関東CV勉強会20140802(Face Alignment at 3000fps)

38Global 回帰するときの特徴量

Binary 特徴は学習結果の完全な情報を保持

Δ𝑆1Δ𝑆4Δ𝑆2 Δ𝑆3Δ𝑆6Δ𝑆𝑁

Δ𝑆2Δ𝑆9Δ𝑆7 Δ𝑆3Δ𝑆1Δ𝑆4

Δ𝑆1Δ𝑆4Δ𝑆7 Δ𝑆8Δ𝑆2Δ𝑆𝑁

𝑚𝑒𝑎𝑛 ( Δ𝑆2 , Δ𝑆2 , Δ𝑆𝑁 , Δ𝑆2 , Δ𝑆9 )vs

0 0 0 11 0 0 0 0 1 0 0

Page 39: 関東CV勉強会20140802(Face Alignment at 3000fps)

39デモ動画

Page 40: 関東CV勉強会20140802(Face Alignment at 3000fps)

40実際のデモ

昨晩実装したものをお見せします

Page 41: 関東CV勉強会20140802(Face Alignment at 3000fps)

41

Page 42: 関東CV勉強会20140802(Face Alignment at 3000fps)

42参考文献• 今回の論文

Shaoqing Ren, Xudong Cao, Yichen Wei, Jian Sun, Face Alignment at 3000 FPS via Regressing Local Binary Features (CVPR 2014).

• Cascaded Regression の論文(今回のアプローチの大元??)Piotr Dollár, Peter Welinder, Pietro Perona, Cascaded Pose Regression (CVPR 2010).

• 今回の論文と同じ著者グループ(実質のベースライン。ただしRandom Forest ではなく別の方法で Ensemble Regressionしてる)Xudong Cao, Yichen Wei, Fang Wen, Jian Sun, Face Alignment by Explicit Shape Regression (CVPR 2012).

• 上論文に対して occlusion を考慮(そこまで大きな改善ではない)Xavier P. Burgos-Artizzu, Pietro Perona, Piotr Dollar, Robust face landmark estimation under occlusion (ICCV 2013).

Page 43: 関東CV勉強会20140802(Face Alignment at 3000fps)

43おことわり

スライドに使われた画像はネット上の画像群から無作為に抽出されたもので発表者個人の趣向を代表するものではありません

Page 44: 関東CV勉強会20140802(Face Alignment at 3000fps)

44

THANK YOU

本日の発表内容は• Face Alignment• Regression アプローチ

– Cascaded Regression– Shape-Indexed Feature– Ensemble Regression

• 提案手法– Local Binary Feature– Local Feature の Global Regression

でした