fast, accurate detection of 100,000 object classes on a single machine

36
CVPR論文紹介@Japan CV Day2 Fast, Accurate Detection of 100,000 Object Classes on a Single Machine takmin

Upload: takuya-minagawa

Post on 21-Jun-2015

4.908 views

Category:

Technology


4 download

DESCRIPTION

2013/07/28 JapanCV Day2での発表資料です。

TRANSCRIPT

Page 1: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

CVPR論文紹介@Japan CV Day2

Fast, Accurate Detection of 100,000

Object Classes on a Single Machine

takmin

Page 2: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

紹介する論文

Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Thomas Dean, Mark A. Ruzon, Mar Segal, Jonathon Shlens, Sudheendra Vijayanarashmhan, Jay Yagnik (Google)

CVPR2013 Best Paper

この論文の目的:

カテゴリ数が膨大な場合でも高速に物体検出を行う。

Page 3: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

物体検出の流れ

特徴量ベクトル

モデルフィルター

モデルとの類似度

内積

サンプルから学習

Sliding Window

Page 4: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

クラス数が膨大な場合の物体検出

特徴量ベクトル

内積 モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルフィルター

フィルターの内積計算に膨大な時間がかかる。

使用するフィルターを絞り込みたい。

Locality-Sensitive Hashing (LSH)で絞り込み!

モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルとの類似度

Page 5: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

LSHによるフィルターの絞り込み

特徴量ベクトル

内積

WTA Hash

バイナリベクトル

Hash Table

フィルター候補 フィルター候補

モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルとの類似度 モデルとの類似度

Page 6: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

LSHによるフィルターの絞り込み

特徴量ベクトル

内積

WTA Hash

バイナリベクトル

Hash Table

フィルター候補 フィルター候補

モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルとの類似度 モデルとの類似度

形状の情報を維持したままバイナリ化

Page 7: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

)3,4,1,2(2

順列(N=2)

入力 X N=2, K=3

Page 8: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

)3,4,1,2(2

順列(N=2)

入力 X N=2, K=3

i=1

0.3

Page 9: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

)3,4,1,2(2

順列(N=2)

入力 X N=2, K=3

i=1

0.5 0.3,

Page 10: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

)3,4,1,2(2

順列(N=2)

入力 X N=2, K=3

i=1

0.2 0.3, 0.5,

Page 11: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

)3,4,1,2(2

順列(N=2)

入力 X N=2, K=3

i=1

0.7 0.3, 0.5, 0.2,

Page 12: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

0.3, 0.5, 0.2, 0.7

)3,4,1,2(2

0.3, 0.5, 0.2

K=3

順列(N=2)

入力 X N=2, K=3

i=1

Page 13: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

0.3, 0.5, 0.2, 0.7

)3,4,1,2(2

0.3, 0.5, 0.2

010

K=3

順列(N=2)

入力 X N=2, K=3

i=1

最大値

Page 14: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

0.3, 0.5, 0.2, 0.7 0.7, 0.3, 0.5, 0.2

)3,4,1,2(2

K=3

0.3, 0.5, 0.2 0.7, 0.3, 0.5

010

K=3

順列(N=2)

入力 X N=2, K=3

i=1 i=2

Page 15: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

0.3, 0.5, 0.2, 0.7 0.7, 0.3, 0.5, 0.2

)3,4,1,2(2

K=3

0.3, 0.5, 0.2 0.7, 0.3, 0.5

100 010

K=3

順列(N=2)

入力 X N=2, K=3

i=1 i=2

最大値

Page 16: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Winner-take-all(WTA) Hash

)2,3,4,1(1

0.3, 0.7, 0.2, 0.5

0.3, 0.5, 0.2, 0.7 0.7, 0.3, 0.5, 0.2

)3,4,1,2(2

K=3

0.3, 0.5, 0.2 0.7, 0.3, 0.5

100010

100 010

K=3

順列(N=2)

入力 X

出力

N=2, K=3

i=1 i=2

N*K次元ベクトル

Page 17: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

WTA hashは係数の順序を保存

WTAで、赤点の順序が符号化された場合、以下の3つのフィルターの形状は等しいとみなす。

歪みやゆらぎに強い。

Page 18: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

WTA hashは係数の順序を保存

起伏の近い形状同士の内積は大きくなる。

Page 19: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

LSHによるフィルターの絞り込み

特徴量ベクトル

内積

WTA Hash

バイナリベクトル

Hash Table

フィルター候補 フィルター候補

モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルとの類似度 モデルとの類似度

Page 20: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Multi-band LSH-style hash table (作成)

K

N*K

001 010 001 100 010 100 ・・・ WTA Vectors C B A

Filter IDs

モデルフィルター モデルフィルター モデルフィルター モデルフィルター モデルフィルター

WTA Hash

C B A

Filter IDs

Page 21: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Multi-band LSH-style hash table (作成)

001 010 001 100 010 100

K

N*K

・・・ WTA Vectors C

Create

W*K

001 010 001 100 010 100 ・・・ Sub Vectors

B A

Filter IDs

001 010 Hash Tables 001 100 010 100 ・・・

(A, D,...,M)

(C, D,…,K) (A, C,…,M)

Page 22: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Multi-band LSH-style hash table (検索)

K

N*K

001 010 001 100 010 100 ・・・ WTA Vector

特徴量ベクトル

WTA Hash

Page 23: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Multi-band LSH-style hash table (検索)

001 010 001 100 010 100

K

N*K

・・・

001 010 Hash Tables 001 100 010 100 ・・・

WTA Vector

001 010 001 100 010 100

W*K

・・・ Sub Vectors

A B C D E F G H I J K L M

Threshold

Histogram

A, C, D, M

Filter IDs A D M ・・・ C D K ・・・ A C M ・・・ ・・・

Page 24: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Deformable Part Modelsへの適用

Deformable Part Models P. Felzenswalb et al, “Object Detection with Discriminatively Trained

Part Based Models”, PAMI, 32(9), 2010

物体を「パーツの類似度+パーツ位置の歪み」で認識

各パーツはHOG特徴量で記述しLatent SVMで学習

学習後の各パーツのHOGフィルターにWTAを適用

Page 25: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

実験(PASCAL VOC2007)

PASCAL VOC2007

20カテゴリ

訓練画像5000枚+試験画像最大5000枚

パラメータ

パーツサイズ:6x6 cells

rootフィルタなし

K=4, W=4, 3000 hash tables

Average Precision

Base = Deformable Part Model

Page 26: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Accuracy Versus Speed and Memory

Hash Table数と精度の関係

Hash keysが16または18bitになるようWを調整

Page 27: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Accuracy Versus Speed and Memory

メモリ使用率と精度の関係

メモリ量はハッシュテーブル数の関数

Page 28: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Accuracy Versus Speed and Memory

速度と精度の関係

20クラス検出の速度

Page 29: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

100,000カテゴリでの実験

ImageSearch-100kというデータセットを新たに作成

“Freebase”*からカテゴリをリスト化して、Google Image Searchで画像を取得

Bounding Boxはない

1クエリーあたり最大500枚。平均300枚。

80%を学習に、20%を評価に使用。

*K. Bollacker et al. , “Freebase: a collaboratively created graph database for structuring

human knowledge”, In ACM SIGMOD International Conference on Management of Data,

pp.1247-1250. 2008

Page 30: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

100,000カテゴリでの実験

学習

1回目の学習では画像全体をBounding Boxとみます。

2回目以降、もしBounding Boxのスコアが前回より高くなったら、それを新たなBounding Boxとして使用する。

5000台のマシンで10回学習を行った。(24時間)

検出

K=16, W=4, N=2400

RAM 20GBのマシン1台で実験

Page 31: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

100,000カテゴリでの実験

処理時間とmean Average Precisionの関係

Page 32: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

100,000カテゴリでの実験

カテゴリ数とmean Average Precisionの関係

Page 33: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Top 6 detection results

t = 8 sec

Page 34: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Hand-labeled Ground Truth

ラベル付けされた545個のオブジェクトに対するmean average precisionのヒストグラム

Page 35: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

Revisiting VOC 2007 with 10,000 Detectors

学習カテゴリ数を変化させて、VOCの20クラスを認識

処理速度が一定となるようにパラメータを調整。

Page 36: Fast, Accurate Detection of 100,000 Object Classes on a Single Machine

結論

線形の畳み込み演算をLSHによって序数の演

算に置き換えることで、スケーラブルな物体検出手法を提案

Deformable Part Models (DPM)に適用したところ

オリジナルのDPMと同等の性能

性能はクラス数の増加によって低下

100,000個のカテゴリを1枚あたり、1台のPCLで20秒以内に検出

DPM以外のモデルにも適用可能