face detection without bells and whistles 論文紹介

34
Presenter: @jellied_unagi

Upload: jellied-unagi

Post on 12-Jul-2015

735 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Face detection without bells and whistles 論文紹介

Presenter: @jellied_unagi

Page 2: Face detection without bells and whistles 論文紹介
Page 3: Face detection without bells and whistles 論文紹介

論文のポイント

• 顔検出は枯れた技術? -> No

• 学習をしっかりやるとさらに性能向上

• 普通のDPMで最高のパフォーマンス

• Rigid templateでも同等のパフォーマンス

• 性能評価における課題

• Ground truthの与え方,評価の仕方がばらばら

• →性能に大きく影響

Page 4: Face detection without bells and whistles 論文紹介

今日の発表

• 顔検出手法のおさらい

• Rigid template

• Deformable parts model

• 性能評価における課題と解決策

• 顔検出におけるチューニング

Page 5: Face detection without bells and whistles 論文紹介

顔検出手法のおさらい: Rigid template

Page 6: Face detection without bells and whistles 論文紹介

Rigid template

Viola & Jones architecture

• 依然としてよく使われる

• Face alignment の初期位置推定 [Xiong+, CVPR2013]

• 手法のポイントは二つ

• Haar-like filter, attentional cascade

IJCVの論文.実は初めて読んだけど割と難解に書かれていた(気がした)

実験結果例

Page 7: Face detection without bells and whistles 論文紹介

Rigid template

Haar-like filter

• 白領域の画素値合計 -黒領域の画素値合計

• 24x24の領域に対して考えられるfilter responseの数は

160,000と大きい(=160,000次元の特徴)

• “Integral image”と呼ばれる表現により高速計算可能

利用されるHaar-like filter 顔の特定部位に反応する

Page 8: Face detection without bells and whistles 論文紹介

Rigid template

Haar-like filter

• Integral imageを導入するメリット

• 大幅に少ない数の画素参照のみで特徴計算

ii(x, y) = 左上端点から(x,y)

までの領域の画素値合計領域Dにおける画素値合計= ii(4) + ii(1) – ii(2) – ii(3)

1 2 3

4 5 6

計算例ii(5) + ii(1) – ii(2) – ii(4)

– ii(6) - ii(2) + ii(3) + ii(5)

= 2 * ii(5) – 2 * ii(2) + ii(1)

+ ii(4) – ii(6) – ii(3)

Page 9: Face detection without bells and whistles 論文紹介

Rigid template

Attentional cascade

• 検出において画像中のほとんどの領域は非顔

• Attentional cascade = 識別器のカスケードにより

これらを効率的にはじく

• 各識別器はAdaBoostで学習

• 弱識別器を組み合わせて強識別器を作る

• 間違いやすいサンプルに適応(adapt)しながら

弱識別器を繰り返し学習(boosting)

• Greedyな特徴選択機構とも見ることができる

• 弱識別器=一つ一つの特徴

Page 10: Face detection without bells and whistles 論文紹介

Rigid template

Attentional cascade

• 識別器のカスケーディング法

• 後段の識別器ほど多くの特徴で構成

• 明らかな非顔は前段の少特徴・高速な識別器で振るい落とす

• 良さそうな候補のみ後段の多特徴・低速な識別器で処理

1 21 T…21

Attentional cascadeの概念図

Page 11: Face detection without bells and whistles 論文紹介

Viola & Jones architecture

補足: AdaBoost

1

1番目の識別器を学習

1

識別器の誤り率・信頼度を計算

0.5 1

サンプルの重みを更新(誤ったサンプルは高い重み)

0.5

2

次の識別器を学習(重みつきのサンプルを利用)

1 2

識別器の誤り率・信頼度を計算

1 0.75

21 T…

最終的な識別は,全弱識別器の出力を信頼度で重み付けし,多数決

2

サンプルの重みを更新(信頼度が最も高い識別器を利用)

1 0.75

※各識別器に一つの特徴を割り当てることで,greedyな特徴選択機構を実現

Page 12: Face detection without bells and whistles 論文紹介

Rigid template

Integral channel features detector

• Viola&Jonesの拡張

• 色や勾配などの特徴マップから特徴抽出

• Rectangular pooling

• ある矩形内での特徴量の合計値

• 詳細: http://research.preferred.jp/2013/07/integral-channel-

features%E3%81%AB%E3%82%88%E3%82%8B%E6%AD%A9%

E8%A1%8C%E8%80%85%E8%AA%8D%E8%AD%98/

今回利用された特徴マップ

Page 13: Face detection without bells and whistles 論文紹介

Rigid template

Integral channel features detector

• これまでICFが顔検出に使われた例がなかった

• (らしい)

学習結果(赤いところに有効な特徴がある)

Page 14: Face detection without bells and whistles 論文紹介

顔検出手法のおさらい: Deformable parts models

Page 15: Face detection without bells and whistles 論文紹介

Deformable parts models

[Felzenszwalb+, PAMI2010]

Page 16: Face detection without bells and whistles 論文紹介

Deformable parts models

[Felzenszwalb+, PAMI2010]

• DPMはパーツの集合で対象を記述

• あるスケールのある位置にパーツの最適な表現が存在

• この構造をうまく学習したい

Root filter対象全体の見えを記述

Part filter対象パーツの見えを記述

スケール

HoG pyramidを計算し,特徴量として用いる

Page 17: Face detection without bells and whistles 論文紹介

Deformable parts models

スコア関数の設計

• パーツフィルタに対する応答

• 学習された見えに近いほどスコアが増加

• Root位置からのスケール・位置ずれ

• 学習された位置からずれるほどスコアが減少

見えに関する特徴ベクトル(HoG)

位置ずれに関する特徴ベクトル(学習位置に極値をとる二次関数)

Page 18: Face detection without bells and whistles 論文紹介

Deformable parts models

潜在変数モデル

• パーツの相対位置・スケール=潜在変数

• Root位置𝑥に関して抽出される特徴ベクトルΦ 𝑥, 𝑧 は

潜在変数𝑧によって変化

• 交互最適化によりパラメタを学習

• パーツ配置(潜在変数)を固定してフィルタ係数を学習

• フィルタによく反応するパーツの配置を学習

見えに関する特徴ベクトルと位置ずれに関する特徴ベクトルを全パーツにわたってつなげたもの

Page 19: Face detection without bells and whistles 論文紹介

Deformable parts models

Tree-structured DPM

• Face detection, pose estimation and landmark

localization in the wild [Zhu+, CVPR2012]

• 顔検出だけでなく,顔向き推定,顔特徴点検出もできる

Page 20: Face detection without bells and whistles 論文紹介

Deformable parts models

Tree-structured DPM

• 顔向き分だけパーツモデルがある

• 異なる顔向き間でパーツフィルタを共有

画像𝐼に配置𝐿,向き𝑚の顔があるかどうかのスコア

𝐴𝑝𝑝𝑚: 向きmに関する見え(パーツフィルタへの応答)

𝑆ℎ𝑎𝑝𝑒𝑚: 向きmに関する配置(パーツの位置関係制約)

顔検出スコア

Page 21: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

Page 22: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

性能評価の方法

• “Intersection over union above 50%”

•𝑅 𝐵𝑝∩𝐵𝑔𝑡

𝑅 𝐵𝑝∪𝐵𝑔𝑡> .5のときtrue positive

𝐵𝑔𝑡 𝐵𝑝

ピクセルごとに評価するわけではない

Page 23: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

正解マスクの与え方

• あるデータセットで学習された検出器は,

別のデータセットでfalse negativeを出しやすい

• 「顔」と判断する基準が異なる場合,false

positive/negative を出しやすい

頭部全体を検出する検出器は顔特徴点を囲む正解マスクより大きな領域を検出してしまうのでよくない

Page 24: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

Annotation policy

• 少なくとも片方の目が見えている顔が対象

• 観測されている全landmarkを囲む最小のbounding

boxの短辺が15pixel以上の顔が対象

見落とされていた顔も結構あったとのこと(大変)

Page 25: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

Bounding box policy

• Global rigid transformation

• Bounding boxの与え方の違いを吸収するための後処理

• 1) テスト対象のデータセットの一部分を取り出す

• 2) ground truth masksとdetection resultsの重なりが

最も大きくなるscaling, translationを学習する

学習時のbounding box 評価時のbounding box Global rigid transformation

Page 26: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

Different scale ranges

• 扱う顔のサイズは手法・データセットで異なる

• 評価対象となる顔の最小サイズ 𝛼

• 検出される顔の最小サイズ 𝛽

• 𝛽 = 0.5 ⋅ 𝛼2となるように𝛽を設定

• 評価対象となる顔の半分以上の面積の顔を対象とする

• 𝛼以下のサイズの顔が正しく検出された場合,’ignore’ラ

ベルを与え,false positiveと判定しないようにする

Page 27: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

実験結果

• 全体的に性能が向上

• AP 77.14 - > AP 85.57 に!

補正前 補正後

Page 28: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

顔検出におけるチューニング

• 顔向きの解像度

• 学習データのサイズ

• 特徴マップの種類

• 弱識別器の数

• Non-maximum supressionのパラメタ

Page 29: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

顔検出におけるチューニング

顔向きの解像度を高くしていくと割とすぐにサチる

学習サンプル数もスコアに大きく影響ただし,DPM , all sample だと学習時間が1週間とかになる

Page 30: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

顔検出におけるチューニング

色(LUV)や肌っぽさ(Skin)が結局重要

弱識別器の数はそんなに増やしてもしようがなさそう

Page 31: Face detection without bells and whistles 論文紹介

性能評価における課題と解決策

顔検出におけるチューニング

• Non-maximum suppression

• 重なる検出結果のうち一番検出値が強いものを残す

• 重なりを厳しく判定(たとえば1割でも重なっていたら

suppress)すると,性能が大幅に向上

緑と白の検出結果は重なっているか?

Page 32: Face detection without bells and whistles 論文紹介

まとめ

• 顔検出手法のおさらい

• Rigid template

• Deformable parts model

• 性能評価における課題と解決策

• 顔検出におけるチューニング

Page 33: Face detection without bells and whistles 論文紹介

おまけ

Python+OpenCVで顔検出

Page 34: Face detection without bells and whistles 論文紹介

おまけ

ソフトウエア

• DPM本家

• http://www.cs.berkeley.edu/~rbg/latent/

• Matlab

• Parts-based のfacial landmark detection [Uricar+, 12]

• http://cmp.felk.cvut.cz/~uricamic/flandmark/

• C++, Python

• Tree-structured DPM

• http://www.ics.uci.edu/~xzhu/face/

• Matlab