KantoCV/Selective Search for Object Recoginition

Preview:

Citation preview

Selective Search for Object Recognition

J. Uijlings et al., IJCV 2013

2015.5.30 #cvsaisentan@sakanazensen

Self introduction

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

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

• 生息範囲: CV や Agile など

今日紹介する論文

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

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

• Exhaustive Search が一般的

画像からの物体検出

Classifier

25,132win/img はつらい

(640x480/OpenCV デフォルト )

detection window

やりたいこと

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

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

“Object Hypotheses”

従来の似た研究

• どちらかと言うと 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

この研究のアプローチ

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

生成

主要な Referrer

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

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

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

Selective Search

Selective Search 全体の流れ

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

initialsegmentation

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

Selective Search 全体の流れ

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

Selective Search 全体の流れ

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

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

(4) から Object hypotheses を生成

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

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

𝑘=50𝑘=200

𝑘=500

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

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

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

𝑓 𝑖

𝑓 𝑗

𝑓 𝑘…

𝐹= {𝑓 1,…, 𝑓 𝑛 }

2a. 特徴量の設計

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

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

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

= 𝑓 1,2

𝑟1𝑟2 𝑟1,2

陽に求めなくていい!

特徴

特徴

2b. 特徴量と類似度

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

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

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

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

2b. 特徴量と類似度

• 面積• スカラ• 類似度

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

highlow

highlow

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

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

3. 小領域の Greedy な統合

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

https://goo.gl/tZGnkb

4. Object hypotheses の生成

内の全要素の外接矩形

各階層・各小領域の

外接矩形を算出=

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

4. Object hypotheses の生成

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

の重み の深さ

deeper layer

shallower layer

4. Object hypotheses の生成

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

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

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

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

Diversification

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

色空間 類似度 #

Fast HSV, Lab , 50, 100 8 通り

QualityHSV, Lab,rgI, H, I

,,,

50, 100,150, 300

80 通り

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

Output

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

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

Detection/Recognition への応用例

例:一般的な学習Ground Truth

SVMClassifier

Pos

Neg

FPs=Hard Negs

Negative は(通常)

ランダムに切り出し

Try detection

Retrain

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

SVMClassifier

Pos

Try detection(based on object hypotheses)

FPs=Hard NegsSelective Search

Pos 領域に少し重なる

hypotheses を切り出す

Neg

Retrain

Experiments

Object hypothesis の例

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

.874 .884 .863

.882 .873

Object hypothesis の評価

• 評価指標

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

MABOMean Average Best Overwrap

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

Hypotheses が多いと良くなる

Objectness

Selective Search

Segmentation

自体を頑張る

Diversification すると良くなる

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

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

多クラス 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

原著でのその他の実験

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

実装してみた!

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

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

belltailjp/selective_search_py.git

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

個人的なイメージ

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

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

う?

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

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

Recommended