kantocv/selective search for object recoginition

37
Selective Search for Object Recognition J. Uijlings et al., IJCV 2013 2015.5.30 #cvsaisentan @sakanazensen

Upload: belltailjp

Post on 28-Jul-2015

1.403 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: KantoCV/Selective Search for Object Recoginition

Selective Search for Object Recognition

J. Uijlings et al., IJCV 2013

2015.5.30 #cvsaisentan@sakanazensen

Page 2: KantoCV/Selective Search for Object Recoginition

Self introduction

• @sakanazensen (魚の人)• 某英語な IT 企業の 2 年目戦士• 名古屋大 M 卒

– Semi-supervised な歩行者検出– 元 nagoyacv の中の人

• 生息範囲: CV や Agile など

Page 3: KantoCV/Selective Search for Object Recoginition

今日紹介する論文

• Selective Search for Object Recognition• Jasper R. R. Uijlings ら(アムステルダム大学)• International Journal of Computer Vision (2013)

• Segmentation As Selective Search for Object Recognition• ICCV2011• オリジナル

Page 4: KantoCV/Selective Search for Object Recoginition

• Exhaustive Search が一般的

画像からの物体検出

Classifier

25,132win/img はつらい

(640x480/OpenCV デフォルト )

detection window

Page 5: KantoCV/Selective Search for Object Recoginition

やりたいこと

• 何かありげな領域を推定• 後続の処理はそこだけに集中できる!• より高度な識別 ( 分類 ) 手法が適用できる!

✓class-independent✓high-recall✓ 任意の位置・大きさ✓ 高効率

“Object Hypotheses”

Page 6: KantoCV/Selective Search for Object Recoginition

従来の似た研究

• どちらかと言うと Segmentation の研究• Carreira ら [1] 、 Endres ら [2]• 前景背景のセグメンテーション

• “Objectness”[3]• 学習ベース + ランダム探索

[1] J. Carreira et at;, “Constrained parametric min-cuts for automatic object segmentation,” CVPR, 2010[2] I. Endres et al., ”Category independent object proposals,” ECCV, 2010[3] B. Alexe et al., “What is an object?,” CVPR, 2010

Page 7: KantoCV/Selective Search for Object Recoginition

この研究のアプローチ

• ボトムアップ型の階層的セグメンテーション• あらゆる位置・スケール(+構造)に対応• セグメンテーション結果から Object Hypotheses

生成

Page 8: KantoCV/Selective Search for Object Recoginition

主要な Referrer

• DCNN ベース物体検出などの前段に利用 [4]

• また、 Objectness[3] と共によく引用されてる印象

[4] R. Girshick et al., “Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation,” CVPR2014

Page 9: KantoCV/Selective Search for Object Recoginition

Selective Search

Page 10: KantoCV/Selective Search for Object Recoginition

Selective Search 全体の流れ

一つになるまで結合繰り返し

initialsegmentation

類似度の高い隣接領域を結合

Page 11: KantoCV/Selective Search for Object Recoginition

Selective Search 全体の流れ

各層各小領域の外接矩形をObject hypotheses とする

Page 12: KantoCV/Selective Search for Object Recoginition

Selective Search 全体の流れ

(1) 初期セグメンテーション(2a) 各小領域の特徴(2b) 隣接小領域の類似度(3) while

• からとに絡むものを全て消す

(4) から Object hypotheses を生成

Page 13: KantoCV/Selective Search for Object Recoginition

1. 初期セグメンテーション

• Efficient Graph-Based Image Segmentation[5]• 高速!• (他手法でも OK )

𝑘=50𝑘=200

𝑘=500

[5] P. Felzenszwalb et al, “Efficient Graph-Based Image Segmentation”, IJCV2004

Page 14: KantoCV/Selective Search for Object Recoginition

• 色特徴• テクスチャ特徴• 小領域の面積• 小領域の外接矩形

2a. 各小領域の特徴抽出

𝑓 𝑖

𝑓 𝑗

𝑓 𝑘…

𝐹= {𝑓 1,…, 𝑓 𝑛 }

Page 15: KantoCV/Selective Search for Object Recoginition

2a. 特徴量の設計

• ミソ:線形性(加法性)

• 最初に求めるだけで OK !

¿𝑟1∨ 𝑓 1⨁∨𝑟 2∨ 𝑓 2|𝑟1|+|𝑟2|

= 𝑓 1,2

𝑟1𝑟2 𝑟1,2

陽に求めなくていい!

特徴

特徴

Page 16: KantoCV/Selective Search for Object Recoginition

2b. 特徴量と類似度

• 色特徴(正規化色ヒストグラム)• 25 次元 3 チャネル =75 次元• 類似度 : intersection• マージ : 線形和

• テクスチャ特徴• SIFT descriptor のような正規化勾配ヒストグラム• 80 次元 3 チャネル =240 次元※

• 類似度 : intersection• マージ : 線形和

※8 方向☓ 10bin とのこと。原著には詳細の言及なし

Page 17: KantoCV/Selective Search for Object Recoginition

2b. 特徴量と類似度

• 面積• スカラ• 類似度

• 外接矩形• 4 次元• 類似度

highlow

highlow

包含関係にある領域を積極的に統合する

小さい領域を先に統合させる

Page 18: KantoCV/Selective Search for Object Recoginition

3. 小領域の Greedy な統合

やるだけ!• 類似度順に取ってきては結合・類似度再計算

https://goo.gl/tZGnkb

Page 19: KantoCV/Selective Search for Object Recoginition

4. Object hypotheses の生成

内の全要素の外接矩形

各階層・各小領域の

外接矩形を算出=

• Object hypotheses = 小領域の外接矩形

Page 20: KantoCV/Selective Search for Object Recoginition

4. Object hypotheses の生成

• 数が多い & ゴミも多い  重み付き乱択で捨てる

の重み の深さ

deeper layer

shallower layer

Page 21: KantoCV/Selective Search for Object Recoginition

4. Object hypotheses の生成

• 数が多い & ゴミも多い  重み付き乱択で捨てる

重みでソートして上から一定数採用

(´ºωº ` ) えっ、それでいいんだ…

Hypothesis の質と量の trade-off に落とし込める!

Page 22: KantoCV/Selective Search for Object Recoginition

Diversification

いろんなパラメータでやりまくる(!)

色空間 類似度 #

Fast HSV, Lab , 50, 100 8 通り

QualityHSV, Lab,rgI, H, I

,,,

50, 100,150, 300

80 通り

• 結果が偏らないよう、多様な Object hypotheses が必要…

Page 23: KantoCV/Selective Search for Object Recoginition

Output

• 各パラメータ組合せでの出力を統合

• ゴミも含んでいます• けど物体らしきものはなるべくカバーします

Page 24: KantoCV/Selective Search for Object Recoginition

Detection/Recognition への応用例

Page 25: KantoCV/Selective Search for Object Recoginition

例:一般的な学習Ground Truth

SVMClassifier

Pos

Neg

FPs=Hard Negs

Negative は(通常)

ランダムに切り出し

Try detection

Retrain

Page 26: KantoCV/Selective Search for Object Recoginition

例: Selective Search を活用して学習Ground Truth

SVMClassifier

Pos

Try detection(based on object hypotheses)

FPs=Hard NegsSelective Search

Pos 領域に少し重なる

hypotheses を切り出す

Neg

Retrain

Page 27: KantoCV/Selective Search for Object Recoginition

Experiments

Page 28: KantoCV/Selective Search for Object Recoginition

Object hypothesis の例

• Best Overwrap (真値との AND 面積比)

.874 .884 .863

.882 .873

Page 29: KantoCV/Selective Search for Object Recoginition

Object hypothesis の評価

• 評価指標

Recall 01 出てきてほしい物体総数のうち実際出せた割合

MABOMean Average Best Overwrap

01 クラスごとの Best Overwrap の平均( Recall の連続版的な雰囲気)

Page 30: KantoCV/Selective Search for Object Recoginition

Hypotheses が多いと良くなる

Objectness

Selective Search

Segmentation

自体を頑張る

Page 31: KantoCV/Selective Search for Object Recoginition

Diversification すると良くなる

いろんなパラメータでやりまくる! 実際の効果は

# combination # hypotheses MABO TimeSingle 1 パターン 362 .693 0.71sFast 8 パターン 2,147 .799 3.79sQuality 80 パターン 10,108 .878 17.15s

Page 32: KantoCV/Selective Search for Object Recoginition

多クラス Object Recognition精度評価• ILSVRC2011 (Localization) [6]

※Xerox Research Centre Europe の誤植?

Method Error ratio(Flat)

Error ratio(Hierarchical)

Proposed .425 .285ISI Lab(University of Tokyo)※ .565 .410

[6] Olga Russakovsky et al., “ImageNet Large Scale Visual Recognition Challenge,” arXiv:1409.0575, 2014

Page 33: KantoCV/Selective Search for Object Recoginition

原著でのその他の実験

• 各特徴量 / 色空間の寄与• 階層的処理の効果• 物体クラスごとの Object hypothesis の評価• …

Page 34: KantoCV/Selective Search for Object Recoginition

実装してみた!

Page 35: KantoCV/Selective Search for Object Recoginition

• オリジナル実装( ICCV版 +IJCV版)• http://koen.me/research/selectivesearch/• MATLAB• pcodeばっかりで読めない……

• 魚実装• ほぼ Pure python• fork it!

belltailjp/selective_search_py.git

Page 36: KantoCV/Selective Search for Object Recoginition

✓ 任意のパラメータ組合せ✓Object hypotheses 数の変更✓ 並列処理

Page 37: KantoCV/Selective Search for Object Recoginition

個人的なイメージ

• 意外と力技• 多様な結果を出したい→よろしいならば 80通りのパラ

メータだ• Object Hypothesis の切り捨ての辺りは工夫の余地ありそ

う?

• 手法はシンプル・明快で実装も容易

• 速度的には検出ガチ勢にはまだ辛い• sec/img のオーダー