[CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps
-
Upload
minagawa-takuya -
Category
Technology
-
view
2.686 -
download
1
description
Transcript of [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps
![Page 1: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/1.jpg)
2014/07/26 CV勉強会@関東CVPR2014読み会(前編) 発表資料
takmin
![Page 2: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/2.jpg)
自己紹介
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/3.jpg)
紹介する研究
“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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/4.jpg)
Objectness検出
4
画像から「物体っぽい」ものを検出する。(それがどんな物体かまでは判別しない。)
一般物体検出の前処理として使われる。
![Page 5: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/5.jpg)
Objectness検出
要件:
高い検出率 一度検出できなかったものは、後処理で取り返せない。
Objectnessの候補数は少ないほうが望ましい 計算時間に影響
計算が早い 応用範囲を広げるため
汎用的に使える 学習していないカテゴリにも対応
![Page 6: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/6.jpg)
Objectness検出
従来法: 顕著性とかセグメンテーションとか識別器とかカスケード使って処理速度を改善しつつ検出率を高めようとしてきた
本手法:
従来法よりもアルゴリズムがシンプルで高速で検出率が高い
![Page 7: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/7.jpg)
Objectの特徴
輪郭が閉じた形状を持っている。
それぞれの画像勾配を計算し、8x8にリサイズ
Normed Gradient (NG) Feature
![Page 8: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/8.jpg)
NG特徴を用いたObjectness検出
勾配画像を様々なサイズにリサイズし、フィルターを畳み込むだけ!
フィルター
![Page 9: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/9.jpg)
NG特徴を用いたObjectness検出
勾配画像を様々なサイズにリサイズし、フィルターを畳み込むだけ!
NG特徴
フィルター
𝑠𝑙 = 𝒘,𝒈𝑙 (1)
SVMで学習
![Page 10: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/10.jpg)
NG特徴を用いたObjectness検出
サイズごとにスコアを補正
𝑜𝑙 = 𝑣𝑖 ∙ 𝑠𝑙 + 𝑡𝑖 (3)
𝑠𝑙 = 𝒘,𝒈𝑙 (1)
最終スコア サイズごとの補正値
𝑖
SVMで学習
![Page 11: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/12.jpg)
フィルターのバイナリ化
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/13.jpg)
フィルターのバイナリ化
𝒘 ≈ 𝑗=1
𝑁𝑤𝛽𝒋𝒂𝑗 𝒂𝑗 ∈ −1,+1
8×8
![Page 14: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/14.jpg)
フィルターのバイナリ化
𝒘,𝒈𝑙 ≈ 𝑗=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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/19.jpg)
バイナリフィルタと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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/20.jpg)
バイナリフィルタと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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/21.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/22.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/23.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/24.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/25.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/26.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/27.jpg)
高速な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](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/28.jpg)
実験
PASCAL VOC 2007での成功例
![Page 29: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/29.jpg)
他の手法との比較(PASCAL VOC2007)
![Page 30: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/30.jpg)
計算時間
処理時間:300fps
トレーニング:2501枚の訓練データで20秒
ラップトップ Intel i7-3940XM CPU
オペレーションの平均回数
![Page 31: [CVPR読み会]BING:Binarized normed gradients for objectness estimation at 300fps](https://reader033.fdocuments.net/reader033/viewer/2022051313/54899ab7b47959dd0c8b5a05/html5/thumbnails/31.jpg)
まとめ
閉じた輪郭を持つものを物体と仮定して、勾配画像よりNG特徴を学習
NG特徴を用いたObjectness検出を高速に行うために、バイナリ化(=BING特徴)
従来法と比べて性能が良いだけでなく、処理速度も3桁近く早い
プロジェクトページ
http://mmcheng.net/bing/
ソースコードあり