4. Deformable Part Model (DPM)
物体のモデルをパーツの集合として表現する物体検出
手法
パーツの相対位置は対象によって変化
P. Felzenswalb et al, “Object Detection with Discriminatively
Trained Part Based Models”, PAMI, 32(9), 2010
6. DPMの評価関数
Bounding Box 各パーツ形状 パーツ位置の 定数項
の妥当性 n の妥当性 n 歪み
score , Pi ( I , i ) di ( i ) b
i 0 i 1
Box 各Boxの 歪みのペナ
位置 HOG特徴 ルティ
パーツ フィルタ
の歪み
I
i
7. DPMの物体検出
n n
score , Pi ( I , i ) di ( i ) b
i 0 i 1
ω 各Sliding Windowの位置ωで以下の
スコアを求め、高いところを物体の
位置とする。
score( )
max score1 ,, n
各ルート位置でもっとも最適化された
パーツ位置でのスコア
8. 物体の検出
n n
score , Pi ( I , i ) di ( i ) b
i 0 i 1
n n
score max Pi ( I , i ) d i ( i )
i 0 i 1
各パーツは独立なので、それぞれについてスコアを最大化する。
n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
9. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
10. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
11. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
12. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
13. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
14. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
15. n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
16. Sparseletを用いた物体検出
n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
Pi 畳み込み
* Pi
17. Sparseletを用いた物体検出
n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
K
Pi Pi aij D j
j 1
Sparselet
スパースな
係数
* Pi
18. Sparseletを用いた物体検出
n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
K
Pi Pi aij D j
j 1
K K
* Pi * aij D j aij * D j
j 1 j 1
23. Sparselet辞書の求め方
できるだけ少ないSparseletの組み合わせでパーツを再
構成したい。
再構成誤差が最小とする制約 2
N K
min vec( Pi ) ij D j (1)
ij , D j
i 1 j 1 2
係数をSparseにする制約
subject to αi 0
i 1,, N
Dj 1 j 1,, K
2
Orthogonal Matching Pursuit algorithm(OMP)で解く
25. パーツフィルタの再構成
ランダムに選んだパーツPi (左)をSparselet(中)とSVD
(右)で再構成した結果
Motorbike part 10 Sofa part 25
Aeroplane part 27 Cat part 34
26. 中間表現の計算と再構成
* Pi aij * D j
K
j 1
- P - - α1 -
- P - - α - - D1 -
1
2 2 - D -
2 AM
- D -
- PN - - α N -
K
Sparse 中間表現
Activation
Matrix
27. 中間表現の計算と再構成
Deformable Part Model
n
score P0 ( I , ) max Pi ( I , i ) di ( i )
i 1
Sparselet Model
N
scorerecon m0 max si di
i 1
(3)
ψ * D
K K
si ij j ij M j
j 1 j 1
aij 0 aij 0
28. Sparseletによるマルチクラス検出
ψ * D
K K
si ij j ij M j
j 1 j 1
aij 0 aij 0
29. Sparseletによるマルチクラス検出
ψ * D
K K
si ij j ij M j
j 1 j 1
aij 0 aij 0
30. Sparseletによるマルチクラス検出
ψ * D
K K
si ij j ij M j
j 1 j 1
aij 0 aij 0
31. Sparseletによるマルチクラス検出
N
scorerecon m0 max si di
i 1
32. Sparseletによるマルチクラス検出
N
scorerecon m0 max si di
i 1
33. フィルタ処理の計算量
Deformable Part Model
h
O Nlh 2
カテゴリが増えると計算量↑
Sparselet Model
O Klh N E α i
2
0
h フィルターサイズ
l 特徴次元
非ゼロの数の期待値
カテゴリが増えても計算量の上昇は緩やか N パーツの数
lh 2 K 基底の数
DPMと比較した時の
スピードアップ率 E αi 0
34. 実装
1. CPU Cascaded Sparselet
カスケード型のDPM[1]にSparseletを適用して実装
2. Vanilla DPM and Sparselets on GPU
オリジナルのDPMをGPUへ実装
オリジナルのDPMにSparseletを適用してGPUへ実装
[1] P.F.Felzenszwalb et al., “Cascade object detection with deformable part models”,
CVPR2010