狠狠撸

狠狠撸Share a Scribd company logo
PFI INTERNSHIP 2014 
WHERE DO YOU LOOK? 
HOKUTO KAGAYA / 加賀谷 北斗
自己紹介 
加賀谷 北斗 / Hokuto Kagaya 
@hokkun_cv 
秋田県出身 / 22歳 
東京大学大学院 学際情報学府 修士1年 
相澤?山崎研究室 
研究室の専門:食事画像?漫画画像処理?旅行推薦等 
自分は食事班 (宣伝 : http://foo-log.co.jp ) 
! 
メンター 
阿部さん 
丸山さん
PFI成果発表会2014発表資料 Where Do You Look?
目次 
1. 问题设定 
2. デモ 
3. Deformable Part Modelとその仲間たち+デモ 
4. CNNによるHead Orientation Estimation 
5. (デモ) 
6. Future Work + まとめ
http://www.marthejocelyn.com/images/Where_Do_You_Look-330-exp.jpg
问题设定
问题设定 
人検出
问题设定 
人検出 
頭部検出
问题设定 
人検出 
頭部検出 
方向推定
问题设定 
人検出 
頭部検出 
方向推定
问题设定 
人検出 
頭部検出 
方向推定
问题设定 
監視カメラ映像等、荒い映像からの頭部検出と方 
向推定 
応用は広告?デジタルサイネージ?異常者検出等 
http://ivl.calit2.net/wiki/images/6/61/Final_Detection.jpg 
PETS2009, 我々の手法による結果より
问题设定 
監視カメラ映像等、荒い映像からの頭部検出と方 
向推定 
応用は広告?デジタルサイネージ?異常者検出等 
? ? 
http://ivl.calit2.net/wiki/images/6/61/Final_Detection.jpg 
PETS2009, 我々の手法による結果より
DEMO 1
頭部検出の難しさ 
顔だけ探すのはうまくいかない?? 
画像が荒い (20*20ピクセルとか) 
後ろ向きの判別は大変難しい (髪の色?肌の色) 
http://hatanabe.blog.so-net.ne.jp/_images/blog/_009/hatanabe/20090210-3.jpg 
BMVC Benfold’s Datasetより 
about: 検出について
頭部検出の難しさ 
顔だけ探すのはうまくいかない?? 
画像が荒い (20*20ピクセルとか) 
後ろ向きの判別は大変難しい (髪の色?肌の色) 
http://hatanabe.blog.so-net.ne.jp/_images/blog/_009/hatanabe/20090210-3.jpg 
280° BMVC Benfold’s Datasetより 
about: 検出について
頭部検出の難しさ 
顔だけ探すのはうまくいかない?? 
画像が荒い (20*20ピクセルとか) 
後ろ向きの判別は大変難しい (髪の色?肌の色) 
280° BMVC Benfold’s Datasetより149° 
about: 検出について 
http://hatanabe.blog.so-net.ne.jp/_images/blog/_009/hatanabe/20090210-3.jpg
顔検出 
顔そのものだけではダメなら.. 
about: 検出について 
その他の部分も顔検出に使えばいいのではない 
か? 
おや、どこかで見たことがある図だ???
顔検出 
顔そのものだけではダメなら.. 
about: 検出について 
その他の部分も顔検出に使えばいいのではない 
か? 
おや、どこかで見たことがある図だ???
Deformable Part Model 
Deformable Part Model [1] 
検出対象全体のフィルタ(ルートフィルタ)と各パーツのフィルタ 
(パーツフィルタ)のスコア+パーツの位置関係を利用して物体検出 
[1] P. Felzenszwalb et al, A Discriminatively Trained, Multiscale, Deformable Part Model, CVPR 2008. 
about: 検出について
Deformable Part Model 
以下のスコアを最大化する 
about: 検出について 
あらゆるパーツの位置で、スコアが高くなる位置を探す 
人らしさ部品らしさ全体と部品の位置関係 
http://www.slideshare.net/MPRG_Chubu_University/ss-32258845
2
Deformable Part Model 
アルゴリズムの詳細 
about: 検出について 
特徴量にはHoG (Histogram of Oriented Gradients) 
学習にはLatent SVM 
各パーツの学習はSVMで行うのだが、「パーツの位置」が隠れ変 
数として存在するので、EMアルゴリズムで交互に推定する 
現在のフィルタで最もそれらしいパーツの位置を(学習画像毎に)決定 
! 
! 
! 
その位置で画像からフィルタの重みを学習する 
これがLatentSVM
Deformable Part Model 
about: 検出について
Deformable Part Model 
学習の流れ 
about: 検出について
Deformable Part Model 
画像と検出対象物体のバウ 
ンディングボックスを入力 
学習の流れabout: 検出について
Deformable Part Model 
画像と検出対象物体のバウ 
ンディングボックスを入力 
学習の流れabout: 検出について
Deformable Part Model 
画像と検出対象物体のバウ 
ンディングボックスを入力 
学習の流れルートフィルタの 
初期化 
about: 検出について
Deformable Part Model 
画像と検出対象物体のバウ 
ンディングボックスを入力 
学習の流れルートフィルタの 
初期化 
about: 検出について
Deformable Part Model 
学習の流れ画像と検出対象物体のバウ 
ルートフィルタの 
初期化 
パーツフィルタの 
初期化 
ンディングボックスを入力 
about: 検出について
Deformable Part Model 
ルートフィルタの 
初期化 
学習の流れ 
パーツフィルタの 
初期化 
「人体の検出によさそう」 
なパーツを自動的にチョイス 
画像と検出対象物体のバウ 
ンディングボックスを入力 
about: 検出について
Deformable Part Model 
ルートフィルタの 
初期化 
学習の流れ 
パーツフィルタの 
初期化 
「人体の検出によさそう」 
なパーツを自動的にチョイス 
画像と検出対象物体のバウ 
ンディングボックスを入力 
about: 検出について
Deformable Part Model 
ルートフィルタの 
初期化 
パーツフィルタの 
初期化 
ルート?パーツ位 
置の推定 
フィルタの学習 
学習の流れ 
「人体の検出によさそう」 
なパーツを自動的にチョイス 
画像と検出対象物体のバウ 
ンディングボックスを入力 
about: 検出について
Deformable Part Model 
ルートフィルタの 
初期化 
パーツフィルタの 
初期化 
about: 検出について 
ルート?パーツ位 
置の推定 
フィルタの学習 
学習の流れ 
「人体の検出によさそう」 
なパーツを自動的にチョイス 
画像と検出対象物体のバウ 
ンディングボックスを入力 
与えたバウンディングボックスから 
離れすぎず、スコアが高い位置を探す
Deformable Part Model 
ルートフィルタの 
初期化 
パーツフィルタの 
初期化 
about: 検出について 
ルート?パーツ位 
置の推定 
フィルタの学習 
学習の流れ 
「人体の検出によさそう」 
なパーツを自動的にチョイス 
画像と検出対象物体のバウ 
ンディングボックスを入力 
与えたバウンディングボックスから 
離れすぎず、スコアが高い位置を探す 
あくまで、「検出対象全体」の検出精度を上げるための過程だが…
about: 検出について 
Deformable Part Model 
各パーツの位置も学習によって最適化されていく 
これを使えば、先ほどの「頭以外も使って頭を見つける」 
のアイデアが実現できそうな気がする! 
! 
! 
! 
! 
! 
! 
!ただし、そのパーツの位置は自動的に決められた 
位置
about: 検出について 
Deformable Part Model 
ルート(検出対象全体)以外にもアノテーションが 
ほしい! 
パーツにもアノテーションを与えることで、自分 
が欲しいパーツの位置の検出器が、ある意味副次 
的に得られるのではないか
about: 検出について 
Deformable Part Model 
ルート(検出対象全体)以外にもアノテーションが 
ほしい! 
パーツにもアノテーションを与えることで、自分 
が欲しいパーツの位置の検出器が、ある意味副次 
的に得られるのではないか 
バウンディングボックスを 
パーツにも用意する
Deformable Part Model 
DPM : パーツの初期化は自動的に行われる 
入力として与えるのは人のバウンディングボックスだけ 
SSDPM : パーツにもアノテーション 
→Strongly-Supervised DPMs [2] 
[2] H. Azizpour et al, Object Detection Using Strongly-Supervised Deformable Part Models, ECCV 2012. 
about: 検出について
Deformable Part Model 
about: 検出について 
DPM SSDPM 
ルートフィルタ(全体) 
の初期化HoG+SVM HoG+SVM 
パーツフィルタの初期化「人体の検出によさそう」なパーツを 
自動的にチョイスHoG+SVM 
位置の更新* 
スコア+ルートフィルタの正解 
とのオーバラップ 
スコア+ルートのオーパラップ 
+パーツのオーバラップ 
学習SGD SGD 
オーバラップ:DPMが提示するフィルタの 
領域と与えているバウンディングボックス 
がどれだけ重なっているかということ。
Deformable Part Model 
about: 検出について
Deformable Part Model 
about: 検出について
Deformable Part Model 
about: 検出について 
全部つけるのはつらい
about: 検出について 
SSS-DPM: 
Semi-strongly-supervised DPM 
正確に知りたい部位だけをアノテーションしよう 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
→他のパーツはオリジナルのDPMと同様
実験 
about: 検出について 
学習データ:INRIA Person dataset (training) 
パーツ数:supervised:1, unsupervised:5 
Latent SVMのイテレーション:10回 (位置決め→ 
フィルタ学習を10回) 
Negative Data-mining : 10回 
DPMではfalse positiveとなってしまったnegative 
sampleをhard-negativeとして積極的に用いる
DEMO 2
顔の向き推定 
8方向への分類問題として解く 
about: 方向推定について 
Image from B.Benfold’s Ph.D thesis.
about: 方向推定について 
Convolutional Neural Net 
あのDeep Learningの先駆け的存在 
画像認識界では現状state-of-the-artといってよい 
1989年Yann LeCunにより発表 
2012年の”Krizhevskyの変”により莫大なインパクト
about: 方向推定について 
Convolutional Neural Net 
http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf 
より詳しくは拙著「Convolutional Neural Network」などを参照ください 
http://www.slideshare.net/hokutokagaya/convolutional-neural-network-cv-35089848 
? Convolution 
? Pooling 
! 
☆二種の層を多段に組み合わせる 
☆普通のニューラルネットワーク 
と異なり、層同士の接続がスパー 
スになるのが特徴 
☆これにより微小位置移動などに 
対してロバストに
about: 方向推定について 
ひとくふう 
Q. 角度ほしいんだったら回帰じゃね? 
A. 実数単位でのアノテーションはほぼ不可能。泣く 
泣く分類→でもコストセンシティブだよね! 
! 
Q. コストセンシティブ? 
A. →CNNの誤差関数を工夫してみました 
! 
Q. 8分類だったらアノテーションできんの(笑) 
A. →Amazon Mechanical Turkぞい!
about: 方向推定について 
ニューラルネットの学習 
確率的勾配降下法+バックプロパゲーション 
最終層の出力と理想の出力との誤差を計算(誤差関数) 
それを元にNN全体に誤差を伝播させて学習 
数データごとにまとめて学習 
典型的には分類問題では出力にソフトマックス関数を入れ 
て確率化し、クロスエントロピー誤差関数を用いて評価す 
る 
データ次元 
正解出力{0, 0, 0, 1, 0} 
(1-of-K表現) 
{0.15, 0.15, 0.1, 0.5, 0.1} 
→tlny = -ln(0.5)
正解はこれ 
とある学習中… 
about: 方向推定について
正解はこれ 
間違い① 
とある学習中… 
予測結果① 
about: 方向推定について
正解はこれ 
間違い① 
予測結果① 
間違い② 
予測結果② 
とある学習中… 
about: 方向推定について
about: 方向推定について 
正解はこれ 
間違い① 
とある学習中… 
予測結果① 
間違い② 
予測結果② 
この間違いは等価じゃない!
正解はこれ 
間違い① 
予測結果① 
間違い② 
予測結果② 
この間違いは等価じゃない! 
コストセンシティブ 
とある学習中… 
about: 方向推定について
データ次元 
正解出力t = {0, 0, 0, 1, 0} 
about: 方向推定について 
y = {0.15, 0.15, 0.1, 0.5, 0.1} 
→tlny = -ln(0.5) 
角度なので「間違い」の価値に差があるので、「正解」をなだらかにする 
→右向きの画像は右後ろ向き、右前向きに対しても20%分正解にしてよいのでは? 
☆学習データのアノテーションエラーに対して頑健 
☆求めているのはaccuracyよりも平均角度誤差なので、これにより90°以上のミスが減る 
データ次元 
正解出力t = {0, 0, 0.2, 0.6, 0.2} 
y = {0.15, 0.15, 0.1, 0.5, 0.1} 
→tlny = -0.6*ln(0.5)-0.2*ln(0.1)-0.2*ln(0.1)
トレーニングデータ 
QMUL Head Pose Dataset [3] 
もともと4方向のアノテーションあり 
約16000枚 
50x50 
Amazon Mechanical Turk 
“Artificial artificial intelligence” 
タスクをHTML, JS, (+CSV) 等でRequestすると世界中の 
誰かが解いてくれるクラウドソーシングサービス 
[3] J. Orozco et al., Head pose classification in Crowded Scenes, BMVC 2009. 
about: 方向推定について
PFI成果発表会2014発表資料 Where Do You Look?
about: 方向推定について 
余談:AMT結構つらい
about: 方向推定について 
余談:AMT結構つらい 
_人人人人人_ 
> 逆です < 
 ̄Y^Y^Y^Y ̄
実験 
テストデータ 
TownCentre データセット[4]より顔が40x40サイズ以上 
で写っている401枚の顔画像 
同一人物に偏り過ぎないようサンプリング 
[4] B.Benfold et al., Guiding Visual Surveillance by Tracking Human Attention, BMVC 2009. 
about: 方向推定について
実験 
about: 方向推定について 
正解角度とそれに隣接する 
角度の「正解具合」の比平均角度誤差角度正解率 
10 : 0 (デフォルト) 35.24° 55.61% 
0.9 : 0.05 33.33° 51.87% 
0.8 : 0.1 37.14° 50.37% 
0.7 : 0.15 40.73° 49.63% 
0.6 : 0.02 40.40° 46.63%
DEMO 3
FUTURE WORK
再掲DPM 
改善できそうな点 
グラフ構造をスターモデル以外にする? 
DPMは一種のグラフモデル 
! 
VS 
! 
! 
! 
一つのオブジェクトに対していくつかのモデルを用意? 
オリジナルの著者たちはバウンディングボックスのアスペクト比でク 
ラスタリング [Felzenszwalb 2010] 
学習の高速化 
ルート以外にもアノテーションがあったほうがいいのでは?
再掲DPM 
改善できそうな点 
グラフ構造をスターモデル以外にする? 
DPMは一種のグラフモデル 
! 
VS 
! 
! 
! 
一つのオブジェクトに対していくつかのモデルを用意? 
オリジナルの著者たちはバウンディングボックスのアスペクト比でク 
ラスタリング [Felzenszwalb 2010] 
学習の高速化 
ルート以外にもアノテーションがあったほうがいいのでは? 
人体構造をモデル化して姿勢認識をする研究は過去に多数ある 
→参考にできないか?
Another philosophy: 
Tracking 
今回の実装は完全に1フレームの情報によるもの 
(実はパーティクルフィルタなんかも試したのは内緒) 
! 本来、時間的な情報を使うこともできる 
追跡?データアソシエーション 
DetectionとTrackingは相補的 
D→T:そもそも対象がどこにいるかいないと追跡を始 
められない 
T→D:単一物体の検出に、時間的情報を用いることが 
できる (cf. オプティカルフロー) 完全オクルージョンに 
も対応できる
Another philosophy: 
Tracking 
検出だけでなく、頭部方向も時間的情報を用いる 
ことができる 
「さっきはあっち向いてて、人の首はそんな急には動か 
ないから??」 
!画像情報+時間情報+全身の向きを用いた頭部方向 
推定の研究もある [5] 
この著者のグループは頭部検出も取り組んでいる 
[5] B. Benfold et al., Unsupervised Learning of a Scene-Specific Coarse Gaze Estimator, ICCV 2011.
その他 
DPMは非常に遅いアルゴリズム 
最近は高速化された研究もある [6] 
スライディングウィンドウ的手法の一段階前に候補を出 
す [7] 
DPM以降の物体検出アルゴリズム 
OverFeat [8], R-CNN [9] に代表されるCNN系検出器の台 
頭 
[6] M. Pedersori et al., A Coarse-to-fine approach for fast deformable object detection, CVPR 2011. 
[7] J. Uijlings et al., Selective Search for Object Recognition, IJCV 2013. 
[8] P. Sermanet et al., OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks, ICLR 2014 
[9] R. Girshick et al., Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation, CVPR 2014
まとめ
まとめ 
SSS-DPMによって荒い画像からの頭部検出を実現 
frame by frameながら高精度の検出に成功 
! 
CNNを用いて頭部方向推定を実装 
こちらもframe by frameだが、一定の成果を得た 
! 時間情報を使ってもっと正確にできそう 
! 
Amazon Mechanical Turkは用法用量を守って適切に利 
用する
インターンの感想 
実験記述ツールmafが便利 
今すぐhttps://github.com/pfi/mafへ 
! 
! 
! 
!アルゴリズムを書く訓練になった。今後も続けたい 
開発の流れ、みたいなものをつかみかけた 
!レッドブルはうまい 
ロンアールは辛い
THANK YOU! 
ご指導いただいたメンター 
のお二人はじめ、大変お 
世話になりました! 
2014/8 星の王子さまミュージアムにて

More Related Content

PFI成果発表会2014発表資料 Where Do You Look?

  • 1. PFI INTERNSHIP 2014 WHERE DO YOU LOOK? HOKUTO KAGAYA / 加賀谷 北斗
  • 2. 自己紹介 加賀谷 北斗 / Hokuto Kagaya @hokkun_cv 秋田県出身 / 22歳 東京大学大学院 学際情報学府 修士1年 相澤?山崎研究室 研究室の専門:食事画像?漫画画像処理?旅行推薦等 自分は食事班 (宣伝 : http://foo-log.co.jp ) ! メンター 阿部さん 丸山さん
  • 4. 目次 1. 问题设定 2. デモ 3. Deformable Part Modelとその仲間たち+デモ 4. CNNによるHead Orientation Estimation 5. (デモ) 6. Future Work + まとめ
  • 12. 问题设定 監視カメラ映像等、荒い映像からの頭部検出と方 向推定 応用は広告?デジタルサイネージ?異常者検出等 http://ivl.calit2.net/wiki/images/6/61/Final_Detection.jpg PETS2009, 我々の手法による結果より
  • 13. 问题设定 監視カメラ映像等、荒い映像からの頭部検出と方 向推定 応用は広告?デジタルサイネージ?異常者検出等 ? ? http://ivl.calit2.net/wiki/images/6/61/Final_Detection.jpg PETS2009, 我々の手法による結果より
  • 15. 頭部検出の難しさ 顔だけ探すのはうまくいかない?? 画像が荒い (20*20ピクセルとか) 後ろ向きの判別は大変難しい (髪の色?肌の色) http://hatanabe.blog.so-net.ne.jp/_images/blog/_009/hatanabe/20090210-3.jpg BMVC Benfold’s Datasetより about: 検出について
  • 16. 頭部検出の難しさ 顔だけ探すのはうまくいかない?? 画像が荒い (20*20ピクセルとか) 後ろ向きの判別は大変難しい (髪の色?肌の色) http://hatanabe.blog.so-net.ne.jp/_images/blog/_009/hatanabe/20090210-3.jpg 280° BMVC Benfold’s Datasetより about: 検出について
  • 17. 頭部検出の難しさ 顔だけ探すのはうまくいかない?? 画像が荒い (20*20ピクセルとか) 後ろ向きの判別は大変難しい (髪の色?肌の色) 280° BMVC Benfold’s Datasetより149° about: 検出について http://hatanabe.blog.so-net.ne.jp/_images/blog/_009/hatanabe/20090210-3.jpg
  • 18. 顔検出 顔そのものだけではダメなら.. about: 検出について その他の部分も顔検出に使えばいいのではない か? おや、どこかで見たことがある図だ???
  • 19. 顔検出 顔そのものだけではダメなら.. about: 検出について その他の部分も顔検出に使えばいいのではない か? おや、どこかで見たことがある図だ???
  • 20. Deformable Part Model Deformable Part Model [1] 検出対象全体のフィルタ(ルートフィルタ)と各パーツのフィルタ (パーツフィルタ)のスコア+パーツの位置関係を利用して物体検出 [1] P. Felzenszwalb et al, A Discriminatively Trained, Multiscale, Deformable Part Model, CVPR 2008. about: 検出について
  • 21. Deformable Part Model 以下のスコアを最大化する about: 検出について あらゆるパーツの位置で、スコアが高くなる位置を探す 人らしさ部品らしさ全体と部品の位置関係 http://www.slideshare.net/MPRG_Chubu_University/ss-32258845
  • 22. 2
  • 23. Deformable Part Model アルゴリズムの詳細 about: 検出について 特徴量にはHoG (Histogram of Oriented Gradients) 学習にはLatent SVM 各パーツの学習はSVMで行うのだが、「パーツの位置」が隠れ変 数として存在するので、EMアルゴリズムで交互に推定する 現在のフィルタで最もそれらしいパーツの位置を(学習画像毎に)決定 ! ! ! その位置で画像からフィルタの重みを学習する これがLatentSVM
  • 24. Deformable Part Model about: 検出について
  • 25. Deformable Part Model 学習の流れ about: 検出について
  • 26. Deformable Part Model 画像と検出対象物体のバウ ンディングボックスを入力 学習の流れabout: 検出について
  • 27. Deformable Part Model 画像と検出対象物体のバウ ンディングボックスを入力 学習の流れabout: 検出について
  • 28. Deformable Part Model 画像と検出対象物体のバウ ンディングボックスを入力 学習の流れルートフィルタの 初期化 about: 検出について
  • 29. Deformable Part Model 画像と検出対象物体のバウ ンディングボックスを入力 学習の流れルートフィルタの 初期化 about: 検出について
  • 30. Deformable Part Model 学習の流れ画像と検出対象物体のバウ ルートフィルタの 初期化 パーツフィルタの 初期化 ンディングボックスを入力 about: 検出について
  • 31. Deformable Part Model ルートフィルタの 初期化 学習の流れ パーツフィルタの 初期化 「人体の検出によさそう」 なパーツを自動的にチョイス 画像と検出対象物体のバウ ンディングボックスを入力 about: 検出について
  • 32. Deformable Part Model ルートフィルタの 初期化 学習の流れ パーツフィルタの 初期化 「人体の検出によさそう」 なパーツを自動的にチョイス 画像と検出対象物体のバウ ンディングボックスを入力 about: 検出について
  • 33. Deformable Part Model ルートフィルタの 初期化 パーツフィルタの 初期化 ルート?パーツ位 置の推定 フィルタの学習 学習の流れ 「人体の検出によさそう」 なパーツを自動的にチョイス 画像と検出対象物体のバウ ンディングボックスを入力 about: 検出について
  • 34. Deformable Part Model ルートフィルタの 初期化 パーツフィルタの 初期化 about: 検出について ルート?パーツ位 置の推定 フィルタの学習 学習の流れ 「人体の検出によさそう」 なパーツを自動的にチョイス 画像と検出対象物体のバウ ンディングボックスを入力 与えたバウンディングボックスから 離れすぎず、スコアが高い位置を探す
  • 35. Deformable Part Model ルートフィルタの 初期化 パーツフィルタの 初期化 about: 検出について ルート?パーツ位 置の推定 フィルタの学習 学習の流れ 「人体の検出によさそう」 なパーツを自動的にチョイス 画像と検出対象物体のバウ ンディングボックスを入力 与えたバウンディングボックスから 離れすぎず、スコアが高い位置を探す あくまで、「検出対象全体」の検出精度を上げるための過程だが…
  • 36. about: 検出について Deformable Part Model 各パーツの位置も学習によって最適化されていく これを使えば、先ほどの「頭以外も使って頭を見つける」 のアイデアが実現できそうな気がする! ! ! ! ! ! ! !ただし、そのパーツの位置は自動的に決められた 位置
  • 37. about: 検出について Deformable Part Model ルート(検出対象全体)以外にもアノテーションが ほしい! パーツにもアノテーションを与えることで、自分 が欲しいパーツの位置の検出器が、ある意味副次 的に得られるのではないか
  • 38. about: 検出について Deformable Part Model ルート(検出対象全体)以外にもアノテーションが ほしい! パーツにもアノテーションを与えることで、自分 が欲しいパーツの位置の検出器が、ある意味副次 的に得られるのではないか バウンディングボックスを パーツにも用意する
  • 39. Deformable Part Model DPM : パーツの初期化は自動的に行われる 入力として与えるのは人のバウンディングボックスだけ SSDPM : パーツにもアノテーション →Strongly-Supervised DPMs [2] [2] H. Azizpour et al, Object Detection Using Strongly-Supervised Deformable Part Models, ECCV 2012. about: 検出について
  • 40. Deformable Part Model about: 検出について DPM SSDPM ルートフィルタ(全体) の初期化HoG+SVM HoG+SVM パーツフィルタの初期化「人体の検出によさそう」なパーツを 自動的にチョイスHoG+SVM 位置の更新* スコア+ルートフィルタの正解 とのオーバラップ スコア+ルートのオーパラップ +パーツのオーバラップ 学習SGD SGD オーバラップ:DPMが提示するフィルタの 領域と与えているバウンディングボックス がどれだけ重なっているかということ。
  • 41. Deformable Part Model about: 検出について
  • 42. Deformable Part Model about: 検出について
  • 43. Deformable Part Model about: 検出について 全部つけるのはつらい
  • 44. about: 検出について SSS-DPM: Semi-strongly-supervised DPM 正確に知りたい部位だけをアノテーションしよう ! ! ! ! ! ! ! ! ! ! →他のパーツはオリジナルのDPMと同様
  • 45. 実験 about: 検出について 学習データ:INRIA Person dataset (training) パーツ数:supervised:1, unsupervised:5 Latent SVMのイテレーション:10回 (位置決め→ フィルタ学習を10回) Negative Data-mining : 10回 DPMではfalse positiveとなってしまったnegative sampleをhard-negativeとして積極的に用いる
  • 47. 顔の向き推定 8方向への分類問題として解く about: 方向推定について Image from B.Benfold’s Ph.D thesis.
  • 48. about: 方向推定について Convolutional Neural Net あのDeep Learningの先駆け的存在 画像認識界では現状state-of-the-artといってよい 1989年Yann LeCunにより発表 2012年の”Krizhevskyの変”により莫大なインパクト
  • 49. about: 方向推定について Convolutional Neural Net http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf より詳しくは拙著「Convolutional Neural Network」などを参照ください http://www.slideshare.net/hokutokagaya/convolutional-neural-network-cv-35089848 ? Convolution ? Pooling ! ☆二種の層を多段に組み合わせる ☆普通のニューラルネットワーク と異なり、層同士の接続がスパー スになるのが特徴 ☆これにより微小位置移動などに 対してロバストに
  • 50. about: 方向推定について ひとくふう Q. 角度ほしいんだったら回帰じゃね? A. 実数単位でのアノテーションはほぼ不可能。泣く 泣く分類→でもコストセンシティブだよね! ! Q. コストセンシティブ? A. →CNNの誤差関数を工夫してみました ! Q. 8分類だったらアノテーションできんの(笑) A. →Amazon Mechanical Turkぞい!
  • 51. about: 方向推定について ニューラルネットの学習 確率的勾配降下法+バックプロパゲーション 最終層の出力と理想の出力との誤差を計算(誤差関数) それを元にNN全体に誤差を伝播させて学習 数データごとにまとめて学習 典型的には分類問題では出力にソフトマックス関数を入れ て確率化し、クロスエントロピー誤差関数を用いて評価す る データ次元 正解出力{0, 0, 0, 1, 0} (1-of-K表現) {0.15, 0.15, 0.1, 0.5, 0.1} →tlny = -ln(0.5)
  • 53. 正解はこれ 間違い① とある学習中… 予測結果① about: 方向推定について
  • 54. 正解はこれ 間違い① 予測結果① 間違い② 予測結果② とある学習中… about: 方向推定について
  • 55. about: 方向推定について 正解はこれ 間違い① とある学習中… 予測結果① 間違い② 予測結果② この間違いは等価じゃない!
  • 56. 正解はこれ 間違い① 予測結果① 間違い② 予測結果② この間違いは等価じゃない! コストセンシティブ とある学習中… about: 方向推定について
  • 57. データ次元 正解出力t = {0, 0, 0, 1, 0} about: 方向推定について y = {0.15, 0.15, 0.1, 0.5, 0.1} →tlny = -ln(0.5) 角度なので「間違い」の価値に差があるので、「正解」をなだらかにする →右向きの画像は右後ろ向き、右前向きに対しても20%分正解にしてよいのでは? ☆学習データのアノテーションエラーに対して頑健 ☆求めているのはaccuracyよりも平均角度誤差なので、これにより90°以上のミスが減る データ次元 正解出力t = {0, 0, 0.2, 0.6, 0.2} y = {0.15, 0.15, 0.1, 0.5, 0.1} →tlny = -0.6*ln(0.5)-0.2*ln(0.1)-0.2*ln(0.1)
  • 58. トレーニングデータ QMUL Head Pose Dataset [3] もともと4方向のアノテーションあり 約16000枚 50x50 Amazon Mechanical Turk “Artificial artificial intelligence” タスクをHTML, JS, (+CSV) 等でRequestすると世界中の 誰かが解いてくれるクラウドソーシングサービス [3] J. Orozco et al., Head pose classification in Crowded Scenes, BMVC 2009. about: 方向推定について
  • 61. about: 方向推定について 余談:AMT結構つらい _人人人人人_ > 逆です <  ̄Y^Y^Y^Y ̄
  • 62. 実験 テストデータ TownCentre データセット[4]より顔が40x40サイズ以上 で写っている401枚の顔画像 同一人物に偏り過ぎないようサンプリング [4] B.Benfold et al., Guiding Visual Surveillance by Tracking Human Attention, BMVC 2009. about: 方向推定について
  • 63. 実験 about: 方向推定について 正解角度とそれに隣接する 角度の「正解具合」の比平均角度誤差角度正解率 10 : 0 (デフォルト) 35.24° 55.61% 0.9 : 0.05 33.33° 51.87% 0.8 : 0.1 37.14° 50.37% 0.7 : 0.15 40.73° 49.63% 0.6 : 0.02 40.40° 46.63%
  • 66. 再掲DPM 改善できそうな点 グラフ構造をスターモデル以外にする? DPMは一種のグラフモデル ! VS ! ! ! 一つのオブジェクトに対していくつかのモデルを用意? オリジナルの著者たちはバウンディングボックスのアスペクト比でク ラスタリング [Felzenszwalb 2010] 学習の高速化 ルート以外にもアノテーションがあったほうがいいのでは?
  • 67. 再掲DPM 改善できそうな点 グラフ構造をスターモデル以外にする? DPMは一種のグラフモデル ! VS ! ! ! 一つのオブジェクトに対していくつかのモデルを用意? オリジナルの著者たちはバウンディングボックスのアスペクト比でク ラスタリング [Felzenszwalb 2010] 学習の高速化 ルート以外にもアノテーションがあったほうがいいのでは? 人体構造をモデル化して姿勢認識をする研究は過去に多数ある →参考にできないか?
  • 68. Another philosophy: Tracking 今回の実装は完全に1フレームの情報によるもの (実はパーティクルフィルタなんかも試したのは内緒) ! 本来、時間的な情報を使うこともできる 追跡?データアソシエーション DetectionとTrackingは相補的 D→T:そもそも対象がどこにいるかいないと追跡を始 められない T→D:単一物体の検出に、時間的情報を用いることが できる (cf. オプティカルフロー) 完全オクルージョンに も対応できる
  • 69. Another philosophy: Tracking 検出だけでなく、頭部方向も時間的情報を用いる ことができる 「さっきはあっち向いてて、人の首はそんな急には動か ないから??」 !画像情報+時間情報+全身の向きを用いた頭部方向 推定の研究もある [5] この著者のグループは頭部検出も取り組んでいる [5] B. Benfold et al., Unsupervised Learning of a Scene-Specific Coarse Gaze Estimator, ICCV 2011.
  • 70. その他 DPMは非常に遅いアルゴリズム 最近は高速化された研究もある [6] スライディングウィンドウ的手法の一段階前に候補を出 す [7] DPM以降の物体検出アルゴリズム OverFeat [8], R-CNN [9] に代表されるCNN系検出器の台 頭 [6] M. Pedersori et al., A Coarse-to-fine approach for fast deformable object detection, CVPR 2011. [7] J. Uijlings et al., Selective Search for Object Recognition, IJCV 2013. [8] P. Sermanet et al., OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks, ICLR 2014 [9] R. Girshick et al., Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation, CVPR 2014
  • 72. まとめ SSS-DPMによって荒い画像からの頭部検出を実現 frame by frameながら高精度の検出に成功 ! CNNを用いて頭部方向推定を実装 こちらもframe by frameだが、一定の成果を得た ! 時間情報を使ってもっと正確にできそう ! Amazon Mechanical Turkは用法用量を守って適切に利 用する
  • 73. インターンの感想 実験記述ツールmafが便利 今すぐhttps://github.com/pfi/mafへ ! ! ! !アルゴリズムを書く訓練になった。今後も続けたい 開発の流れ、みたいなものをつかみかけた !レッドブルはうまい ロンアールは辛い
  • 74. THANK YOU! ご指導いただいたメンター のお二人はじめ、大変お 世話になりました! 2014/8 星の王子さまミュージアムにて