関西cvpr勉強会 2012.10.28

26
BMVC2012 Review “Detection and tracking of occluded people” (received Best Paper Award) Akisato Kimura (@_akisato)

Upload: akisato-kimura

Post on 15-Jan-2015

1.754 views

Category:

Technology


2 download

DESCRIPTION

BMVC2012 Best Paper Award を受賞した論文 "Detection and tracking of occluded people" を紹介します.

TRANSCRIPT

Page 1: 関西CVPR勉強会 2012.10.28

BMVC2012 Review

“Detection and tracking of occluded people”

(received Best Paper Award)

Akisato Kimura (@_akisato)

Page 2: 関西CVPR勉強会 2012.10.28

何でこれを紹介しようと思ったんですか?

Best Paper Awardを取ったから (嘘

Deja vu を感じた…

関西CVPR勉強会 (October 28, 2012) 2

(参考: http://www.slideshare.net/akisatokimura/cvprml-2011827 )

Page 3: 関西CVPR勉強会 2012.10.28

一言で言うと,何これ?

関西CVPR勉強会 (October 28, 2012) 3

隠れている人も見つけて追跡!

従来法

提案法

検出漏れ

誤検出

Page 4: 関西CVPR勉強会 2012.10.28

もう少しキチンと説明します

関西CVPR勉強会 (October 28, 2012) 4

重なっている2人を陽にモデル化して検出!

従来法

提案法

Page 5: 関西CVPR勉強会 2012.10.28

大雑把な枠組

関西CVPR勉強会 (October 28, 2012) 5

Single-person DPM

Double-person DPM

Joint-person DPM

競合・結合

Page 6: 関西CVPR勉強会 2012.10.28

なんやこれstraight-forwardやんか…

関西CVPR勉強会 (October 28, 2012) 6

でもですね…

Page 7: 関西CVPR勉強会 2012.10.28

Single person detector (SPD)

関西CVPR勉強会 (October 28, 2012) 7

Single-person DPM

Double-person DPM

Joint-person DPM

競合・結合

Page 8: 関西CVPR勉強会 2012.10.28

Deformable part model (DPM)

関西CVPR勉強会 (October 28, 2012) 8

@yonetaniryo さんが紹介してくれたはずなので,省略.

ソフトウェアはVer.5 になっています.ただしMATLABのみ…http://people.cs.uchicago.edu/~rbg/latent/

Page 9: 関西CVPR勉強会 2012.10.28

Grammar models for person detection

関西CVPR勉強会 (October 28, 2012) 9

他の物体による 隠れ を明示的にモデル化

(cf. Girshick+ “Object detection with grammar models,” Proc. NIPS2011.)

人同士が重なっている場合は無理…

Page 10: 関西CVPR勉強会 2012.10.28

Double person detector (DPD)

関西CVPR勉強会 (October 28, 2012) 10

Double-person DPM

Single-person DPM

Joint-person DPM

競合・結合

Page 11: 関西CVPR勉強会 2012.10.28

概念的には非常にシンプル

関西CVPR勉強会 (October 28, 2012) 11

重なっている2人を,1つの物体と見なして学習.

Single person detector

(=DPM)

Double person detector

(≒DPM)

Page 12: 関西CVPR勉強会 2012.10.28

詳細は意外と面倒(1)

関西CVPR勉強会 (October 28, 2012) 12

SPD,実際にはモデル1つでは足りないことが多い.

パーツの平均アスペクト比で学習データを初期分類して学習.

潜在変数 z = モデルインデックス c とパーツ (p1…pn)

DPD も同様に複数のモデルで表現.

隠れ度合いの大きさで学習データを初期分類して学習.

隠れ度合い:小 隠れ度合い:中 隠れ度合い:大

Page 13: 関西CVPR勉強会 2012.10.28

詳細は意外と面倒(2)

関西CVPR勉強会 (October 28, 2012) 13

2人は2人として検出しないといけない

故に,検出結果(= bounding box)を2つ出さないといけない.

Double person detectorの結果から,線形回帰で求める.

𝑩𝑖 = 𝑔𝑖 𝒛𝑇𝜶𝑐 + 𝝐𝑖

各人の推定検出位置

(boxの左上・幅・高さ×2,

合計8次元)

DPD検出結果

(各フィルタの左上 &

root filterの幅,

合計2n+3次元)

モデルcに依存する

(2n+3)×8係数行列

Page 14: 関西CVPR勉強会 2012.10.28

詳細は意外と面倒(3)

関西CVPR勉強会 (October 28, 2012) 14

DPDの学習データを集めるのは大変!

隠れ度合いの大きさを調整するとか無理…

なので,自力で作ることにした.

元画像 素材画像 人領域切り出し 合成画像

Page 15: 関西CVPR勉強会 2012.10.28

DPD単独の定量評価

関西CVPR勉強会 (October 28, 2012) 15

1.0 - Precision 1.0 - Precision

Reca

ll

Reca

ll

Recall ≒ 0.5

→ 1人しか検出できてない!

Precisionが高いところで弱い

→ やや保守的な検出器

Page 16: 関西CVPR勉強会 2012.10.28

DPD単独での定性評価

関西CVPR勉強会 (October 28, 2012) 16

Page 17: 関西CVPR勉強会 2012.10.28

Joint person detector (JPD)

関西CVPR勉強会 (October 28, 2012) 17

Single-person DPM

Double-person DPM

Joint-person DPM

競合・結合

Page 18: 関西CVPR勉強会 2012.10.28

先ほどのDPD評価は少しずるい

関西CVPR勉強会 (October 28, 2012) 18

必ず2人が並んで映っている画像だけで評価している.

実際には,1人か2人か(n>2人か),事前に区別できない!

Page 19: 関西CVPR勉強会 2012.10.28

JPDのこころ

関西CVPR勉強会 (October 28, 2012) 19

場に応じて,SPDとDPDを切り替えて使いたい!

学習は別々に,検出は一体で.肝は検出時のNMS.

Non-maximum suppression (NMS) (できるだけ検出候補を減らす(DPMにもある)操作)

第1ステップ: SPDとDPDとの勝負

SPDとDPDとを平等に比較

して,ある程度候補を絞る.

一般にSPDの方が強く,

絞り過ぎるとrecallが落ちる.

第2ステップ: Bounding box推定+

個別PDでのNMS

Bounding boxを推定した

後は,通常のDPMと同様.

Page 20: 関西CVPR勉強会 2012.10.28

実験に用いたデータ

関西CVPR勉強会 (October 28, 2012) 20

(まずは https://www.d2.mpi-inf.mpg.de/node/382 を見た方が良いです.)

TUD Pedestrians

250 frames in total,

301 annotated people,

no occlusions.

TUD Crossing

201 frames in total,

1168 annotated people,

frequently occluded.

Page 21: 関西CVPR勉強会 2012.10.28

定量評価の結果 (TUD Pedestrians)

関西CVPR勉強会 (October 28, 2012) 21

隠れがないのに無理矢理DPDをするので,

precision<0.5を回避できない.

隠れがないのに何故JPDがSPDに勝てるのか,

著者らも不明だと言っているが,まぁ良いか…

(重要なのは,JPD導入の副作用が出ないこと.)

Page 22: 関西CVPR勉強会 2012.10.28

定量評価の結果 (TUD Crossing)

関西CVPR勉強会 (October 28, 2012) 22

DPD単独では保守的すぎるし,

1人を無理に2人と検出する分だけ,

precisionの上がり方が鈍い.

JPDは若干保守的ではあるが,

P=R 直線上での精度は最も良い.

SPDは隠れがない人の検出は滅法強いが,

隠れがあると途端にダメになる.

Page 23: 関西CVPR勉強会 2012.10.28

Trackingもやってみました

関西CVPR勉強会 (October 28, 2012) 23

たぶん主目的はこっち [Andriluka+ CVPR08]

検出と追跡との相互補完をするのが狙い

前提条件が検出と少し違う

NMSしません.可能性はできるだけ多く残します.

できるだけ長く追跡できているものを優先して残します.

10フレーム以上追跡できないときは捨てます.

𝑝 𝐻 = 𝑝𝑑𝑒𝑡 ℎ𝑗11 𝑝𝑡𝑟𝑎𝑛𝑠(ℎ𝑗𝑘−1

𝑘−1 , ℎ𝑗𝑘𝑘 )𝑝𝑑𝑒𝑡 ℎ𝑗𝑘

𝑘

𝑇

𝑘=2

1時点前と現時点とで同じ人を追っている確率

(位置と大きさの差分をGaussianでモデル化)

現時点で追っている人が当該人物である確率

(検出器出力のexponential)

Page 24: 関西CVPR勉強会 2012.10.28

Trackingの結果: 定性評価のみ

関西CVPR勉強会 (October 28, 2012) 24

上: SPD-based, 下: JPD-based

Page 25: 関西CVPR勉強会 2012.10.28

提案手法の限界

関西CVPR勉強会 (October 28, 2012) 25

交差する人たちをモデル化していない.

TUD Crossingで検出できていない画像での主要因.

基本的に水平横向きの場合しか考えていない.

俯瞰や斜め向きをも考慮すると,隠れ方のパターンが増え, 扱いが面倒になる.

計算量と精度とのtrade-offに関する問題がより深刻に.

NMSに要する処理がかなり重そうな雰囲気がする.

Tracking目的であればJPDは不要,SPD+DPD並列で十分?

巨人 (DPM) の方の上に乗る現状の打開

Page 26: 関西CVPR勉強会 2012.10.28

おしまい

関西CVPR勉強会 (October 28, 2012) 26