[cvpr読み会]bing:binarized normed gradients for objectness estimation at 300fps

31
2014/07/26 CV勉強会@関東 CVPR2014読み会(前編) 発表資料 takmin

Upload: minagawa-takuya

Post on 05-Dec-2014

2.686 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

2014/07/26 CV勉強会@関東CVPR2014読み会(前編) 発表資料

takmin

Page 2: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

自己紹介

2

テクニカル・ソリューション・アーキテクト

皆川 卓也(みながわ たくや)フリーエンジニア(ビジョン&ITラボ)「コンピュータビジョン勉強会@関東」主催博士(工学)

テクニカル・ソリューション・アーキテクト

皆川 卓也(みながわ たくや)フリーエンジニア(ビジョン&ITラボ)「コンピュータビジョン勉強会@関東」主催博士(工学)

略歴:1999-2003年日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリセールス、プロジェクトマネジメント、サポート等の業務に従事

2004-2009年コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事

2007-2010年慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻単位取得退学後、博士号取得(2014年)

2009年-現在フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事

Page 3: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

紹介する研究

“BING: Binarized Normed Gradients for Objectness Estimation at 300fps”

Ming-Ming Cheng

Ziming Zhang

Wen-Yan Lin

Philip Torr

Page 4: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

Objectness検出

4

画像から「物体っぽい」ものを検出する。(それがどんな物体かまでは判別しない。)

一般物体検出の前処理として使われる。

Page 5: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

Objectness検出

要件:

高い検出率 一度検出できなかったものは、後処理で取り返せない。

Objectnessの候補数は少ないほうが望ましい 計算時間に影響

計算が早い 応用範囲を広げるため

汎用的に使える 学習していないカテゴリにも対応

Page 6: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

Objectness検出

従来法: 顕著性とかセグメンテーションとか識別器とかカスケード使って処理速度を改善しつつ検出率を高めようとしてきた

本手法:

従来法よりもアルゴリズムがシンプルで高速で検出率が高い

Page 7: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

Objectの特徴

輪郭が閉じた形状を持っている。

それぞれの画像勾配を計算し、8x8にリサイズ

Normed Gradient (NG) Feature

Page 8: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴を用いたObjectness検出

勾配画像を様々なサイズにリサイズし、フィルターを畳み込むだけ!

フィルター

Page 9: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴を用いたObjectness検出

勾配画像を様々なサイズにリサイズし、フィルターを畳み込むだけ!

NG特徴

フィルター

𝑠𝑙 = 𝒘,𝒈𝑙 (1)

SVMで学習

Page 10: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴を用いたObjectness検出

サイズごとにスコアを補正

𝑜𝑙 = 𝑣𝑖 ∙ 𝑠𝑙 + 𝑡𝑖 (3)

𝑠𝑙 = 𝒘,𝒈𝑙 (1)

最終スコア サイズごとの補正値

𝑖

SVMで学習

Page 11: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

BING: Binarized normed gradients

NG特徴をバイナリ化することで検出を高速化

𝑠𝑙 = 𝒘,𝒈𝑙 (1)

バイナリ化

𝒘 ≈ 𝑗=1

𝑁𝑤𝛽𝒋𝒂𝑗 𝒈𝑙 ≈

𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒂𝑗 ∈ −1,+18×8 𝒃𝑘,𝑙 ∈ 0,1

8×8

Page 12: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

フィルターのバイナリ化

NG特徴をバイナリ化することで検出を高速化

𝑠𝑙 = 𝒘,𝒈𝑙 (1)

バイナリ化

𝒘 ≈ 𝑗=1

𝑁𝑤𝛽𝒋𝒂𝑗 𝒈𝑙 ≈

𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒂𝑗 ∈ −1,+18×8 𝒃𝑘,𝑙 ∈ 0,1

8×8

Page 13: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

フィルターのバイナリ化

𝒘 ≈ 𝑗=1

𝑁𝑤𝛽𝒋𝒂𝑗 𝒂𝑗 ∈ −1,+1

8×8

Page 14: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

フィルターのバイナリ化

𝒘,𝒈𝑙 ≈ 𝑗=1

𝑁𝑤𝛽𝑗 2 𝒂𝑗

+, 𝒈𝑙 − 𝒈𝑙

𝒘 ≈ 𝑗=1

𝑁𝑤𝛽𝒋𝒂𝑗 𝒂𝑗 ∈ −1,+1

8×8

𝒂𝑗+ = 0,+1 8×8

𝒂𝑗 = 2𝒂𝑗+ − 𝟏

(4)

Page 15: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴のバイナリ化

NG特徴をバイナリ化することで検出を高速化

𝑠𝑙 = 𝒘,𝒈𝑙 (1)

バイナリ化

𝒘 ≈ 𝑗=1

𝑁𝑤𝛽𝒋𝒂𝑗 𝒈𝑙 ≈

𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒂𝑗 ∈ −1,+18×8 𝒃𝑘,𝑙 ∈ 0,1

8×8

Page 16: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴のバイナリ化

𝒈𝑙 ≈ 𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒃𝑘,𝑙 ∈ 0,18×8𝒈𝑙 ∈ 0,⋯ , 255

8×8

グレースケール バイナリ

210

𝑁𝑔 = 4 の時

11010010 1101

画素値

bit列 頭4bit

Page 17: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴のバイナリ化

𝒈𝑙 ≈ 𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒃𝑘,𝑙 ∈ 0,18×8𝒈𝑙 ∈ 0,⋯ , 255

8×8

グレースケール バイナリ

210 ≈ 𝑘=1𝑁𝑔28−𝑘𝒃𝑘,𝑙 = 1 ∗ 2

8−1 + 1 ∗ 28−2+0 ∗ 28−3+1 ∗ 28−4

210

𝑁𝑔 = 4 の時

11010010 1101bit列 頭4bit

Page 18: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

NG特徴のバイナリ化

𝒃𝑘,𝑙 ∈ 0,18×8𝒈𝑙 ∈ 0,⋯ , 255

8×8

グレースケール バイナリ

210

𝑁𝑔 = 4 の時

11010010 1101bit列 頭4bit

0 0 1 0 1 0 0 0

0 0 1 0 0 1 1 0

1 1 0 0 0 0 1 0

1 0 0 0 0 0 1 0

1 0 0 0 0 0 1 1

1 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0

0 0 0 1 1 0 0 0

0 1 1 1 0 1 0 0

0 0 1 0 0 1 1 0

1 1 0 0 0 0 1 0

1 0 0 0 0 0 1 0

1 0 0 0 0 0 1 1

1 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0

0 0 0 1 1 0 0 0

0 0 1 0 1 0 0 0

0 0 1 0 0 1 1 0

1 1 0 0 0 0 1 0

1 0 0 0 0 0 1 0

1 0 0 0 0 0 1 0

1 0 0 0 0 0 0 1

0 0 0 0 0 0 1 1

0 0 0 1 1 0 0 1

0 0 1 0 1 1 0 0

0 0 1 0 0 1 1 0

1 1 0 0 0 0 1 0

1 0 0 0 0 0 1 0

1 0 0 0 0 0 1 0

1 0 0 0 0 0 0 1

0 0 0 0 0 0 1 1

0 0 0 1 1 0 0 1

𝑁𝑔

Page 19: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

バイナリフィルタとBING特徴の統合

𝒘,𝒈𝑙 ≈ 𝑗=1

𝑁𝑤𝛽𝑗 2 𝒂𝑗

+, 𝒈𝑙 − 𝒈𝑙

𝒈𝑙 ≈ 𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒘,𝒈𝑙

≈ 𝑗=1

𝑁𝑤𝛽𝑗

𝑘=1

𝑁𝑔28−𝑘 2 𝒂𝑗

+, 𝒃𝑘,𝑙 − 𝒃𝑘,𝑙

(4)

(6)

バイナリフィルタの畳み込み

BING特徴

Page 20: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

バイナリフィルタとBING特徴の統合

𝒘,𝒈𝑙 ≈ 𝑗=1

𝑁𝑤𝛽𝑗 2 𝒂𝑗

+, 𝒈𝑙 − 𝒈𝑙

𝒈𝑙 ≈ 𝑘=1

𝑁𝑔28−𝑘𝒃𝑘,𝑙 (5)

𝒘,𝒈𝑙

≈ 𝑗=1

𝑁𝑤𝛽𝑗

𝑘=1

𝑁𝑔28−𝑘 2 𝒂𝑗

+, 𝒃𝑘,𝑙 − 𝒃𝑘,𝑙

(4)

(6)

バイナリフィルタの畳み込み

BING特徴

POPCNTANDBIT SHIFTADD

Page 21: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

𝒘,𝒈𝑙

≈ 𝑗=1

𝑁𝑤𝛽𝑗

𝑘=1

𝑁𝑔28−𝑘 2 𝒂𝑗

+, 𝒃𝑘,𝑙 − 𝒃𝑘,𝑙 (6)

000010000111……00000…

000010000111……00000…000010000111……

00000…000010000111……00000……

リサイズされた勾配画像 バイナリ化された画像

BING特徴(8x8)

各場所で取得

Page 22: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

0 0 1 0 1 1 0 0 1 0 0

0 0 1 0 0 1 1 0 0 0 0

1 1 0 0 0 0 1 0 0 0 1

0 1 1 0 0 0 0 1 1 1 0

1 0 0 0 0 0 1 1 0 0 0

1 0 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 1 1 0 0 1 0 0

0 0 0 0 0 0 1 0 1 1 1

0 0 0 1 1 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 1

ラスタスキャンでBING特徴を取得

𝒃𝑥,𝑦 : 64 bit

を高速に求める

Page 23: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

0 0 1 0 1 1 0 0 1 0 0

0 0 1 0 0 1 1 0 0 0 0

1 1 0 0 0 0 1 0 0 0 1

0 1 1 0 0 0 0 1 1 1 0

1 0 0 0 0 0 1 1 0 0 0

1 0 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 1 1 0 0 1 0 0

0 0 0 0 0 0 1 0 1 1 1

0 0 0 1 1 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 1

ラスタスキャンでBING特徴を取得

𝒃𝑥,𝑦 : 64 bit

を高速に求める

𝒓𝑥,𝑦 : 8 bit

𝑏𝑥,𝑦 : 1 bit

Page 24: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

0 0 1 0 1 1 0 0 1 0 0

0 0 1 0 0 1 1 0 0 0 0

1 1 0 0 0 0 1 0 0 0 1

0 1 1 0 0 0 0 1 1 1 0

1 0 0 0 0 0 1 1 0 0 0

1 0 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 1 1 0 0 1 0 0

0 0 0 0 0 0 1 0 1 1 1

0 0 0 1 1 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 1

ラスタスキャンでBING特徴を取得

𝒃𝑥,𝑦 : 64 bit

を高速に求める

𝒓𝑥,𝑦 : 8 bit

𝑏𝑥,𝑦 : 1 bit

𝒓𝑥−1,𝑦

Page 25: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

0 0 1 0 1 1 0 0 1 0 0

0 0 1 0 0 1 1 0 0 0 0

1 1 0 0 0 0 1 0 0 0 1

0 1 1 0 0 0 0 1 1 1 0

1 0 0 0 0 0 1 1 0 0 0

1 0 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 1 1 0 0 1 0 0

0 0 0 0 0 0 1 0 1 1 1

0 0 0 1 1 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 1

ラスタスキャンでBING特徴を取得

𝒃𝑥,𝑦 : 64 bit

を高速に求める

𝒓𝑥,𝑦 =

(𝒓𝑥−1,𝑦 ≪ 1)|𝑏𝑥,𝑦

Page 26: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

0 0 1 0 1 1 0 0 1 0 0

0 0 1 0 0 1 1 0 0 0 0

1 1 0 0 0 0 1 0 0 0 1

0 1 1 0 0 0 0 1 1 1 0

1 0 0 0 0 0 1 1 0 0 0

1 0 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 1 1 0 0 1 0 0

0 0 0 0 0 0 1 0 1 1 1

0 0 0 1 1 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 1

ラスタスキャンでBING特徴を取得

𝒃𝑥,𝑦 : 64 bit

𝒓𝑥,𝑦 =

(𝒓𝑥−1,𝑦 ≪ 1)|𝑏𝑥,𝑦

𝒃𝑥,𝑦−1

Page 27: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

高速なBING特徴の取得

0 0 1 0 1 1 0 0 1 0 0

0 0 1 0 0 1 1 0 0 0 0

1 1 0 0 0 0 1 0 0 0 1

0 1 1 0 0 0 0 1 1 1 0

1 0 0 0 0 0 1 1 0 0 0

1 0 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 1 1 0 0 1 0 0

0 0 0 0 0 0 1 0 1 1 1

0 0 0 1 1 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 1

ラスタスキャンでBING特徴を取得

𝒃𝑥,𝑦 =

(𝒃𝑥,𝑦−1 ≪ 8)|𝒓𝑥,𝑦

𝒓𝑥,𝑦 =

(𝒓𝑥−1,𝑦 ≪ 1)|𝑏𝑥,𝑦

Page 28: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

実験

PASCAL VOC 2007での成功例

Page 29: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

他の手法との比較(PASCAL VOC2007)

Page 30: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

計算時間

処理時間:300fps

トレーニング:2501枚の訓練データで20秒

ラップトップ Intel i7-3940XM CPU

オペレーションの平均回数

Page 31: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps

まとめ

閉じた輪郭を持つものを物体と仮定して、勾配画像よりNG特徴を学習

NG特徴を用いたObjectness検出を高速に行うために、バイナリ化(=BING特徴)

従来法と比べて性能が良いだけでなく、処理速度も3桁近く早い

プロジェクトページ

http://mmcheng.net/bing/

ソースコードあり