46
2012/12/16 CV勉強会@関東 ECCV2012読み会 発表資料 takmin

Sparselet eccv2012

Embed Size (px)

DESCRIPTION

2012/12/16 CV勉強会@関東 「ECCV2012読み会」発表資料 Sparselet Models for Efficient Multiclass Object Detection

Citation preview

Page 1: Sparselet eccv2012

2012/12/16 CV勉強会@関東

ECCV2012読み会 発表資料

takmin

Page 2: Sparselet eccv2012

紹介する論文

Sparselet Models for Efficient Multiclass Object Detection H.O.Song, S.Zickler, T.Althoff, R.Girshick, M.Frits,

C.Geyer, P.Felzenswalb, and T.Darell

ECCV2012

この論文の貢献:

Deformable Part Modelのパーツに対して、Sparse Codingを用いて中間的なモデルを生成することで、多クラスの検出を効率化した。

Page 3: Sparselet eccv2012

Sparselet Models for Efficient Multiclass

Object Detection

デモ動画

Page 4: Sparselet eccv2012

Deformable Part Model (DPM)

物体のモデルをパーツの集合として表現する物体検出手法

パーツの相対位置は対象によって変化

P. Felzenswalb et al, “Object Detection with Discriminatively Trained Part Based Models”, PAMI, 32(9), 2010

Page 5: Sparselet eccv2012

Sparselet

パーツ

オブジェクト

パーツの中間表現(Sparselet)

・・・・・

・・・・・

基底1 基底2 基底3 ・・・・・

Page 6: Sparselet eccv2012

DPMの評価関数

bdIPscoren

i

ii

n

i

ii 10

)(),(,

Bounding Box

の妥当性

各BoxのHOG特徴

歪みのペナルティ

パーツの歪み

各パーツ形状の妥当性

パーツ位置の歪み

フィルタ

定数項

Box

位置

I

i

Page 7: Sparselet eccv2012

DPMの物体検出

nscore

score

,,max

)(

1

各Sliding Windowの位置ωで以下の

スコアを求め、高いところを物体の位置とする。

ω

各ルート位置でもっとも最適化されたパーツ位置でのスコア

bdIPscoren

i

ii

n

i

ii 10

)(),(,

Page 8: Sparselet eccv2012

物体の検出

n

i

iiii dIPIPscore1

0 )(),(max),(

各パーツは独立なので、それぞれについてスコアを最大化する。

n

i

ii

n

i

ii dIPscore10

)(),(max

bdIPscoren

i

ii

n

i

ii 10

)(),(,

Page 9: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 10: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 11: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 12: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 13: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 14: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 15: Sparselet eccv2012

n

i

iiii dIPIPscore1

0 )(),(max),(

Page 16: Sparselet eccv2012

Sparseletを用いた物体検出

n

i

iiii dIPIPscore1

0 )(),(max),(

iP*

iP 畳み込み

Page 17: Sparselet eccv2012

Sparseletを用いた物体検出

K

j

jiji DaP1

n

i

iiii dIPIPscore1

0 )(),(max),(

iP*

iP

Sparselet スパースな係数

Page 18: Sparselet eccv2012

Sparseletを用いた物体検出

K

j

jiji DaP1

n

i

iiii dIPIPscore1

0 )(),(max),(

iP*

iP

K

j

jijDa1

*

K

j

jij Da1

*

Page 19: Sparselet eccv2012

Sparseletを用いた物体検出

K

j

jiji DaP1

**

事前にSparseletとHOG特徴の畳み込みを計算してマルチクラスを高速に検出

Page 20: Sparselet eccv2012

Sparseletを用いた物体検出

K

j

jiji DaP1

**

事前にSparseletとHOG特徴の畳み込みを計算してマルチクラスを高速に検出

事前に辞書Dを作成しておく

KDDDD ,,, 21

Page 21: Sparselet eccv2012

Sparseletを用いた物体検出

K

j

jiji DaP1

**

事前にSparseletとHOG特徴の畳み込みを計算してマルチクラスを高速に検出

入力画像にSparseletを畳み込み中間表現を得る

Page 22: Sparselet eccv2012

Sparseletを用いた物体検出

K

j

jiji DaP1

**

事前にSparseletとHOG特徴の畳み込みを計算してマルチクラスを高速に検出

中間表現の線形和から各パーツの応答を再構成する。

Page 23: Sparselet eccv2012

Sparselet辞書の求め方

できるだけ少ないSparseletの組み合わせでパーツを再構成したい。

N

i

K

j

jijiD

DPvecjij 1

2

21,

)(min

0iα

12jD

Ni ,,1

Kj ,,1

(1)

subject to

Orthogonal Matching Pursuit algorithm(OMP)で解く

係数をSparseにする制約

再構成誤差が最小とする制約

Page 24: Sparselet eccv2012

パーツの応答の復元

原画像 車輪部分の応答

Sparslet(20基底)で復元した応答 SVDで復元した応答

Page 25: Sparselet eccv2012

パーツフィルタの再構成

ランダムに選んだパーツPi (左)をSparselet(中)とSVD

(右)で再構成した結果

Motorbike part 10 Sofa part 25

Aeroplane part 27 Cat part 34

Page 26: Sparselet eccv2012

中間表現の計算と再構成

AM

α

α

α

--

--

--

--

--

--

--

--

--

K

NN

D

D

D

P

P

P

2

1

2

1

2

1

K

j

jiji DaP1

**

中間表現 Sparse

Activation

Matrix

Page 27: Sparselet eccv2012

N

i

iirecon dsmscore1

0 max

K

aj

jiji

ij

Ds

01

* ψ

n

i

iiii dIPIPscore1

0 )(),(max),(

Deformable Part Model

(3)

Sparselet Model

K

aj

jij

ij

M

01

中間表現の計算と再構成

Page 28: Sparselet eccv2012

Sparseletによるマルチクラス検出

K

aj

jiji

ij

Ds

01

* ψ

K

aj

jij

ij

M

01

Page 29: Sparselet eccv2012

K

aj

jiji

ij

Ds

01

* ψ

K

aj

jij

ij

M

01

Sparseletによるマルチクラス検出

Page 30: Sparselet eccv2012

K

aj

jiji

ij

Ds

01

* ψ

K

aj

jij

ij

M

01

Sparseletによるマルチクラス検出

Page 31: Sparselet eccv2012

N

i

iirecon dsmscore1

0 max

Sparseletによるマルチクラス検出

Page 32: Sparselet eccv2012

Sparseletによるマルチクラス検出

N

i

iirecon dsmscore1

0 max

Page 33: Sparselet eccv2012

フィルタ処理の計算量

0

2

E i

lh

α

Deformable Part Model

Sparselet Model

h

l

h フィルターサイズ

特徴次元

2NlhO

N パーツの数

K 基底の数

0

2 E iNKlhO α

非ゼロの数の期待値

カテゴリが増えると計算量↑

カテゴリが増えても計算量の上昇は緩やか

DPMと比較した時のスピードアップ率

Page 34: Sparselet eccv2012

実装

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

Page 35: Sparselet eccv2012

フィルターサイズ

Partsフィルタサイズに対してSparseletフィルタのサイズを小さく設定した場合

RsFsF Bwwhh )/)(/(

Pss BlKwh

Fw

Fh

sh

sw

DPM Parts

フィルタ

Sparselet

フィルタ

フィルタ再構成のコスト:

フィルタの処理コスト:

l 特徴次元 K 基底の数

コスト上限 L0ノルムの上限

DPMフィルタ内のSparselet

フィルタ数

コスト上限

Page 36: Sparselet eccv2012

フィルターサイズ

Sparseletフィルタのサイズを小さく設定した場合の再構成誤差

Page 37: Sparselet eccv2012

実験

Unseenカテゴリに対する実験

データセット

PASCAL VOC 2007

ImageNet

TRECVID

1カテゴリを除いた残りのカテゴリから辞書を作成して、その1カテゴリを認識

Page 38: Sparselet eccv2012

実験

20 PASCAL VOCカテゴリー A

vera

ge P

reci

sion

基底の数

Page 39: Sparselet eccv2012

実験

9 PASCAL VOCカテゴリー A

vera

ge P

reci

sion

基底の数

Page 40: Sparselet eccv2012

実験

PASCAL VOCのカテゴリから学習した辞書を用いて、他のデータセットを認識する。

2011 TRECVID MED Challenge

ImageNetのデータから学習

Page 41: Sparselet eccv2012

実験

9 ImageNetカテゴリー A

vera

ge P

reci

sion

基底の数

Page 42: Sparselet eccv2012

実験

TRECVIDの

キーフレームの例

PASCAL VOCの

辞書を用いて実験を行った結果

Page 43: Sparselet eccv2012

実験

速度と性能について比較実験

実装

カスケード型DPM on CPU

オリジナルDPM(Vanilla DPM) on GPU

Sparselets DPM on GPU

環境

3.1 GHz Intel Core i5 CPU

Nvidia GTX 580 GPU with 512 cores, 772MHz

データセット

PASCAL VOC 2007 20カテゴリ

Page 44: Sparselet eccv2012

実験

クラス数と処理速度比較(VGAサイズ)

Page 45: Sparselet eccv2012

実験

各パラメータ における速度と精度

),( K

Page 46: Sparselet eccv2012

結論

スパースな中間表現を導入することで

リアルタイムにマルチクラスの物体検出を行うことができた。

効率的に新しいカテゴリを導入できる。

Sparseletによりモデルフィルター間の冗長性を削減し、他のドメインから新しいカテゴリを生成可能となった。

Sparseletを用いたDeformable Part ModelのGPU実装を行った。

従来のDeformable Part Modelベースの実装よりも1-2段階早い実装で、性能もstate-of-the-artに匹敵する結果を得た。