SlideShare ist ein Scribd-Unternehmen logo
1 von 100
Downloaden Sie, um offline zu lesen
!
!
バイナリコード表現を用いた物体認識の新展開
!
!
!
ViEW2013:ビジョン技術の実利用ワークショップ
2013年12月6日

!
藤吉 弘亘
中部大学工学部情報工学科(ロボット理工学科)

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
SIFT特徴量を用いた交通道路標識の認識

[高木2009]

SSII2007で発表
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!2
SIFTのキーポイント検出

[Lowe2004], ICCV1999で発表

• DoG画像によるスケールスペースから極値を検出

-

k⁴σ₀

k 3σ 0

-

k 2σ 0

-

€

kσ 0

€

σ0

€ スケール

平滑化画

DoG画像

€

複数のDoG画像の算出は計算コストが高い
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!3
SIFTの特徴記述子

[Lowe2004]

• 勾配方向ヒストグラムによる特徴記述
‒ 128次元の実数型特徴ベクトル
8方向
4分割

!
!
!
!
!
!

ガウス窓

4分割

• 問題点
‒ 特徴量記述と距離計算(ユークリッド距離計算)に時間を要する
‒ キーポイント数が増えるとメモリ消費量が増大
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!4
バイナリコード表現を用いた物体認識の進展開
1. SIFT以降のアプローチ

-

バイナリコード型特徴量と機械学習の導入

!
2. バイナリ-実数ベクトル間の距離計算と高速化

-

サーバ&クライアントシステムにおける特定物体認識

!
3. 物体検出におけるバイナリコード表現と高速化演算

-

B-HOG特徴量と分解法による高速識別

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!5
1. SIFT以降のアプローチ
-バイナリコード型特徴量と機械学習の導入-

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!6
Harrisのコーナー検出
• Harris行列を用いたコーナー検出

H = g( )

2
Ix (x)

Ix Iy (x)
2
Ix Iy (x) Iy (x)

Ix (·):x軸方向の1次微分

⇥

Iy (·):y軸方向の1次微分

第一固有値 : α
第二固有値 : β

g(·):ガウス関数

(1次微分の値をガウス関数で平滑化することにより2次微分の計算の代用となる)

判別式

β

R = det(H)

ktr(H)2

(k = 0.04 ∼ 0.06)

Edge

R

Corner

0 (α, βともに小さい) :フラット

R << 0 (α>>β または β>>α) :エッジ
R >> 0 (α, βともに大きい) :コーナー
Flat

Edge

α

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!7
FAST:

Features from Accelerated Segment Test [Rosten2010]

• 注目画素 p の周辺の円周上の16画素を観測し決定木に
よりコーナーを判定
注目画素 p の輝度値

円周上の輝度値

しきい値

円周上の輝度値が連続してn 個以上が明るい,もしくは暗い点→コーナーと判定
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
決定木の学習
• コーナー画像と非コーナー画像を決定木を構築
‒ 特徴ベクトルによる3分木の学習
コーナー画像

学習画像
非コーナー画像

分岐ノード
特徴ベクトルによる分岐
2

末端ノード:最も到達したクラスを保存
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!9
決定木によるコーナー検出
• 決定木に各画素を入力してコーナーを判定
‒ 末端ノードに保存されたクラスに分類
入力

円上の参照画素

コーナー判定→
C NC
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
コーナー検出器の比較
• Harris, FAST, FAST(Pyramid)の検出時間の比較

FAST

Harris

FAST(Pyramid)

コーナー数:80

コーナー数:164

コーナー数:285

処理時間:20.6 [ms]

処理時間:0.6 [ms]

処理時間:1.5 [ms]

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!11
キーポイント記述子の変遷

図 1: 記述子の遷移.

2.1 実数型特徴量の欠点
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

2.2

バイナリコードの利点

!12
SIFT以降のキーポイント記述子
• バイナリコードによる特徴記述
‒ 直接的バイナリコード化(学習なし)
‒ 直接的バイナリコード化(教師無し学習)
‒ 変換行列を用いた間接的バイナリコード化(教師あり学習)

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!13
バイナリコードの利点
• バイナリコードで特徴記述
‒ SIFT:128次元 8bit (unsigned char)
‒ 数十∼数百個程度の0と1から成るバイナリコードで表現

• メリット
‒ 大幅な省メモリ化が可能
‒ ハミング距離による高速な距離計算

XOR

010010000
010010101
000000101

ハミング距離: 2

→SSE命令で高速に演算可能
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!14
距離計算の速度比較

ハミング距離 [SSE4.2(_mm_popcnt_u64)]
ハミング距離 [8bitLUT]
ユークリッド距離の2乗

64ビット

バイナリコード
によるハミング距離

128ビット

256ビット

512ビット
実数ベクトルによる
ユークリッド距離

128次元
0

50

100

150
200
処理時間 [ns]

250

300

350

(CPU : Intel Xeon X7452 2.67GHz)

SSE4.2(popcnt)を用いると約10倍高速に距離計算が可能

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!15
バイナリコード表現を用いた局所特徴量
• 直接的バイナリコード化
‒ BRIEF, BRISK, ORB, FREAK
• 輝度値の大小関係等の簡単な処理によりバイナリコード化
   

計算コストが非常に小さい

!
• 間接的バイナリコード化
‒ CARD, D-BRIEF, BinBoost
• 変換行列を用いてバイナリコード化
    効率の良いバイナリコードで特徴を表現可能

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!16
BRIEF

[Calonder2010]

• バイナリコードの生成アルゴリズム
‒ パッチをガウシアンフィルタにより平滑化
‒ 事前にランダム選択したペア(2点)の画素値の大小関係からバイナ
リコードを生成

キーポイント

パッチ
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

ガウシアン分布に基づきペアを決定
!17
サンプリングパターン(参照ペア)の学習
• 良いバイナリコードを生成するためには?
‒ バイナリコードの独立性(エントロピー)が高い
‒ 外乱(回転,幾何学的な変形,照明変化)に対して頑健
   参照する領域ペアの選び方が重要

!
• 参照する領域ペアの組合わせ方を機械学習により獲得
‒ 教師なし学習 : バイナリコードのエントロピーが高い組合わせ
• ORB,FREAK

‒ 教師付き学習 : バイナリコードの頑健性の高い組合わせ
• D-BRIEF,BinBoost

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!18
ORBにおけるペアの選択方法

[Rublee2011]

教師なし学習

• Greedy Algorithmにより効率の良い参照ペアを決定
‒ 学習画像から300,000点のキーポイントを抽出
‒ 各キーポイントのパッチ内の全てのペア(205,590通り)を観測
‒ ビットの分散が最大かつビット間の相関が最小となる

256個のペアを選択
大

相関

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

ビットの分散が大きく
ビット間の相関が小さい
ペアを選択

小

ビットの分散が大きな
ペアを選択

!19
バイナリコード表現を用いた局所特徴量
• 直接的バイナリコード化
‒ BRIEF, BRISK, ORB, FREAK
• 輝度値の大小関係等の簡単な処理によりバイナリコード化
   

計算コストが非常に小さい

!
• 間接的バイナリコード化
‒ CARD, D-BRIEF, BinBoost
• 変換行列を用いてバイナリコード化
    効率の良いバイナリコードで特徴を表現可能

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!20
変換行列を用いた間接的バイナリコード化
• 実数ベクトル(もしくはパッチ画像)を変換行列  を用い
WT
てバイナリコード化
バイナリコード(B bit)

(

変換行列

実数ベクトル(D次元)

= sgn WT
b

x

B 1

)

D 1

B D

変換行列を用いた計算時のボトルネック

回数

D=136次元, B=128bitsの場合

乗算

B D

17,408

加算

(D-1) B

17,280

変換行列  を最適化することで効率の良いバイナリコードに変換
WT
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!21
うに,M-M のテーブルで表現できること
CARD

[Ambai2011]

たがって,図 9,10 に示した 2 種類のテーブ

とで,高速に勾配特徴量を算出できるように

• 136次元の特徴量dを128次元のバイナリコードbに変換

(b)バイナリコード化

‒ バイナリコード変換前後の距離が保存されるように を最適化
WT

特徴ベクトルをバイナリコードに変換する

‒ 元の情報を保持したバイナリコードを生成可能

ーチは,機械学習や web,大規模検索の分
• 高速なバイナリコード変換を実現するための拘束条件

究されている.これまでの研究により,多く
‒ Wの要素は{-1,0,+1}のいずれかの値のみ

ード化手法は次の形で書けることが分かって
‒ Wの0要素が90%
b/sgn PfPW Td+cQQ

d は D 次元の特徴ベクトル,b は長さ B ビ
拘束条件の有無による計算量の比較

拘束条件なし
拘束条件あり
リコード,c はオフセットベクトル,W は D
乗算回数

17,408

0

換行列,fP}Q は任意の関数である(d の平均
17,280
約1,740

加算回数

ルになるようにあらかじめ変換されている場

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!22
D(Discriminative)-BRIEF [Trzcinski2012]

教師あり学習

• ポジティブサンプルとネガティブサンプルを用いて教師付
き学習により変換行列を求める
• 学習用のパッチ画像生成
‒ ポジティブサンプル(同一キーポイントのパッチ画像のペア)
• 輝度変化,回転,キーポイント中心の位置ずれ

‒ ネガティブサンプル(異なるパッチ画像のペア)
• 異なるキーポイントのパッチ画像
ポジティブサンプル

ネガティブサンプル

・
・
・

・
・
・

・
・
・

・
・
・

・
・
・

・
・
・

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!23
D-BRIEF

[Trzcinski2012]

教師あり学習

• ポジティブサンプルのパッチ画像間の距離が小さく,
ネガティブサンプルのパッチ画像間の距離が大きくなる
ように変換行列w0を設計

ポジティブサンプルのパッチ画像

ネガティブサンプルのパッチ画像
i:ビット番号
x:パッチ画像
P:ポジティブサンプルに属するパッチ画像のペア
N:ネガティブサンプルに属するパッチ画像のペア

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!24
D-BRIEF

[Trzcinski2012]

教師あり学習

• 変換行列w0を各ビット毎に単純なフィルタで近似
• 各フィルタを線形結合することで変換行列wを求める

!
!
!

D : 辞書フィルタ,s : スパースベクトル,λ : L1正則化パラメータ

=Ds

!
!

・

Dの計算には積分画像を利用

• sgn関数によりバイナリ化

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!25
BinBoost

[Trzcinski2013]

教師あり学習

• Boostingを用いたバイナリコードの生成
‒ 学習サンプル(勾配画像ペア)の利用
• ポジテェイブサンプルP : 類似画像ペア
• ネガティブサンプル N: 非類似画像ペア

‒ Pは同一,Nは非同一の符号を出力する            
弱識別器hd,kを選択
‒ 弱識別器hd,kの重みbd,kの計算
‒ 学習サンプルの重みを更新
バイナリコードのdビット目の出力:

弱識別器の重み
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

弱識別器の出力
!26
2画像間の対応付けの速度比較
キーポイント検出
0.286

特徴量記述

0.301

距離計算

1.448

SIFT

2.035

(ユークリッド距離)

0.181 0.154 0.483

SURF

0.818

(ユークリッド距離)

0.002 0.025 0.423

FAST+ORB

0.450

(ハミング距離)

0.018 0.022 0.137
Cascaded FAST+ORB
(ハミング距離)

0.0

0.177

0.5

1.0

1.5

2.0

2.5

処理時間 [s]
(CPU : Intel Xeon X7452 2.67GHz)
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!27
まとめ:SIFT以降のアプローチ
• ローレベルビジョン(画像処理の前段)に機械学習が利用
‒ FAST:決定木による高速化
‒ バイナリ型局所特徴量:より性能の高い参照ペアや変換行列を学習
により獲得

!
• バイナリコードによる表現
‒ 距離計算(ハミング距離)までを考慮した高速化と省メモリ化
‒ SSE命令を利用することでさらに高速化

MIRU2013チュートリアル「画像局所特徴量SIFTとそれ以降のアプローチ」
http://www.slideshare.net/hironobufujiyoshi/miru2013sift

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!28
2. バイナリ-実数ベクトル間の距離計算と高速化
-サーバ&クライアントシステムにおける特定物体認識-

Joint work with:
山内悠嗣
中部大

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

安倍満
吉田悠一
佐藤育郎
デンソーアイティラボラトリ

!29
Amazon Flow (A9)

実世界をアマゾンにするAR買い物アプリ
商品情報をオーバーレイ表示
http://itunes.apple.com/us/app/flow-powered-by-amazon/id474664425?mt=8

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!30
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!31
サーバ&クライアントシステムにおける画像認識
• 認識性能を維持しながらデータ転送量を削減したい
‒ 非対称な特徴表現の導入
• クライアント : バイナリコード(実数ベクトルのBinary Hashingにより生成)
• サーバ : 実数ベクトル

01011100
11011110

データ転送

00011001

バイナリコード
01011100

距離

01000100
・
・
01011101

特徴点検出

実数ベクトル バイナリコード

クライアント

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

メタ情報

画像検索
データベース

サーバ

!32
特徴量を実数ベクトル y とし
特徴量を実数ベクトル y として表現することで量子化
特徴量を実数ベクトル y として表現することで量子化
で述べたように,機械学習を用いてより短い
り短い
より短い
防ぐ.これにより,クライア
誤差による情報の欠落を防ぐ.これにより,クライア
誤差による情報の欠落を防ぐ.これにより,クライア
非対称な特徴表現における問題点 誤差による情報の欠落を防ぐ
算出す
でより性能の高いバイナリ型特徴量を算出す
を算出す
タの転送量を少なくしたまま,
ントからサーバへのデータの転送量を少なくしたまま,
ントからサーバへのデータの
ントからサーバへのデータの転送量を少なくしたまま,
リ型特
ーチが利用されつつある.またバイナリ型特
ナリ型特
較して特徴点を対応付ける方
バイナリコード同士を比較して特徴点を対応付ける方
バイナリコード同士を比較し
バイナリコード同士を比較して特徴点を対応付ける方
• バイナリコードと実数ベクトル間のユークリッド距離計算
を高速
抽出から距離計算までの処理過程全体を高速
体を高速
できる. 法よりも高い性能が期待できる.
法よりも高い性能が期待でき
法よりも高い性能が期待できる.
利用さ
に利用さ における問題
とができるため,画像検索等の応用に利用さ

いる.

!
!
!

バイナリコード b

実数ベクトル y

!

図 7: 実数ベクトルとバイナリコード間の距離計算.
図 7: 実数ベクトルとバイナリコード間の距離計算.
図 7: 実数ベクトルとバイナ
イナリコード間の距離計算.
‒ 異なる特徴空間の比較
行列の
換行列の
ックスフィルタの線形結合による変換行列の
• ベクトルのユークリッドノルムの大きさが異なる
しかし,図 7 に示すようなベクトル間の距離計算の に示すような
しかし,図 7 に示すようなベクトル間の距離計算の
しかし,図 7
うなベクトル間の距離計算の
‒ 計算コスト
際に,非対称な特徴表現は 2 つの問題を発生させる.1
際に,非対称な特徴表現は 2 つの問題を発生させる.1
際に,非対称な特徴表現は 2 つ
2 つの問題を発生させる.1
• ハミング距離の計算よりも時間を要する
つ目は,2 つの特徴空間が異なるために,実数ベクトル
つ目は,2 つの特徴空間が異なるために,実数ベクトル
つ目は,2 つの特徴空間が異な
異なるために,実数ベクトル
対称な特徴表現による画像検索
とバイナリコードを直接比較することができない点で
とバイナリコードを直接比較することができない点で
とバイナリコードを直接比較
比較することができない点で
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!33
バイナリコードと実数ベクトルのユークリッド距離
• 異なる特徴空間から計算されたユークリッド距離は性能
低下を招く可能性がある
(-1,1)

(1,1) 01

11

y2

y1

b2

(-1,1)

(1,1)

b2

y1
b1

(-1,-1)

(1,-1) 00
ユークリッド空間

10

(-1,-1)

(1,-1)

ハミング空間

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!34
図 6: クライアントサーバシステ

異なる特徴空間への対応:スケール係数の最適化

Binary hashing 法に依存する.本研究で用いる Bin
• ユークリッド距離の比較
hashing 法である Iterative Quantization(ITQ)[12]
‒ D(Y,B) : バイナリコードと実数ベクトル間のユークリッド距離
合,実数ベクトルを計算すると平均ユークリッドノル

は 0.65 となる.バイナリコード化した際のユーク
‒ D(Y,Y) : 実数ベクトル間のユークリッド距離
8

リッドノルムと比較して非常に小さな値となる.この
8

6

が大きすぎると,実数ベクトルを無視するような距
6
D(Y, Y)
D(Y, Y)

ドノルムは 5.65 となるため,バイナリコードのユー
10

D(Y, Y)
D(Y, Y)

10

が計算されるため,大幅な性能の低下を招く.そこ
4

4

特徴空間をもう一方の特徴空間に合わせるために,
2

2
0
0

ルムの大きさを調節するスケール係数 α を導入し,
0
0

D(B, αY)
(4) で示すコスト関数を最小化するように α を最適
D(αY, B)
Non-optimization
Optimization
する.
J(α) = ||αY − B||2 ,
スケール係数αの最適化
F
2

4

6

D(B, Y)
D(Y, B)

8

10

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

L×N

2

4

6

8

10

!35
非対称な特徴表現とスケール係数の効果の検証
• 特徴点の対応付け性能の比較
‒ 比較手法
• バイナリコード - バイナリコード間の比較
• バイナリコード - 実数ベクトル間の比較
• バイナリコード - 実数ベクトル+スケール最適化あり間の比較

‒ 実験条件
• バイナリハッシング:Iterative Quantization (ITQ) [Gong2011]
• 画像局所特徴量:SIFT
評価画像データ:
7冊を6視点から撮影
3冊を学習用, 4冊を評価用として使用
評価時にはホモグラフィ行列を使用

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!36
非対称な特徴表現とスケール係数の効果の検証
1

SIFT

Matching rate

0.9

Binary vs. Binary (32 bits)
Binary vs. Binary (64 bits)

0.8

Binary vs. Binary (128 bits)

0.7
Binary vs. Real (32 bits)

0.6

Binary vs. Real (64 bits)

0.5

Binary vs. Real (128 bits)

0.4

Binary vs. Real with opt.α(32 bits)

0

500

1000

1500

No. of matches

2000

2500

3000

(d) Iterative Quantization

Binary vs. Real with opt.α(64 bits)
Binary vs. Real with opt.α(128 bits)

性能比較(32bit):SIFT > Binary-Binary > Binary-Real

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!37
非対称な特徴表現とスケール係数の効果の検証
1

SIFT

Matching rate

0.9

Binary vs. Binary (32 bits)
Binary vs. Binary (64 bits)

0.8

Binary vs. Binary (128 bits)

0.7
Binary vs. Real (32 bits)

0.6

Binary vs. Real (64 bits)

0.5

Binary vs. Real (128 bits)

0.4

Binary vs. Real with opt.α(32 bits)

0

500

1000

1500

No. of matches

2000

(d) Iterative Quantization

2500

3000

Binary vs. Real with opt.α(64 bits)
Binary vs. Real with opt.α(128 bits)

性能比較(32bit):SIFT > Binary-Real+α > Binary-Binary > Binary-Real
スケール係数の最適化の効果あり
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!38
非対称な特徴表現とスケール係数の効果の検証
1

SIFT

Matching rate

0.9

Binary vs. Binary (32 bits)
Binary vs. Binary (64 bits)

0.8

Binary vs. Binary (128 bits)

0.7
Binary vs. Real (32 bits)

0.6

Binary vs. Real (64 bits)

0.5

Binary vs. Real (128 bits)

0.4

Binary vs. Real with opt.α(32 bits)

0

500

1000

1500

No. of matches

2000

(d) Iterative Quantization

2500

3000

Binary vs. Real with opt.α(64 bits)
Binary vs. Real with opt.α(128 bits)

性能比較:SIFT >> 128bit >> 64bit >> 32bit
ビット長を長くすると性能が向上, 128bitのとき伝送量は1/8に削減
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!39
サーバにおける課題:高速な距離計算と省メモリ化
• サーバにおける課題
‒ バイナリコードと実数ベクトル間の距離計算の高速化
‒ データベースの省メモリ化
バイナリコード表現により伝送量1/8

課題1:高速化

01011100
11011110

データ転送

00011001

バイナリコード
01011100

距離

01000100
・
・
01011101

特徴点検出

実数ベクトル バイナリコード

クライアント

メタ情報

画像検索
データベース

サーバ

課題2:省メモリ化
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!40
バイナリ-実数ベクトル間の高速なユークリッ
(64, 128) をマルチス
ド距離計算
サーバでの距離計算の高速化と省メモリ化
であり,膨大な数の検出ウィンドウを処理すると時間
ド距離計算

.1

出力する.例えば,検

し幅 lm = 4 としてラ

を要するという問題がある.そこで,本研究では Hare

ィンドウは約 2 万個と

[12]
バイナリコード らによって提案された近似計算法 yαを利用して,実
b と実数ベクトル y のユークリッド
ドウから特徴抽出を行
• バイナリコードと実数ベクトル間のユークリッド距離
バイナリコード 数ベクトル間の内積をバイナリコード間の内積に置
b と実数ベクトル α のユークリッド
める必要があり,物体
き換えることで,線形 SVM の高速な識別処理を実現
離の 2 乗 d(yα , b) は式 (5) により計算できる.
ためには,特徴抽出過
離の 2 乗 d(y , b) は式 (5) により計算できる.

する必要がある.特徴

こ
こ
{
{

α 実数ベクトル
する.

分画像を用いた HOG

バイナリコード
線形 SVM の近似計算法では,重みベクトル w を

2
d(yα , b) 実数ベクトル βα − b||2
= ||y と基底バイナリコード b ∈ {−1, 1}
いる.識別過程では,
d(yα , b) に分解する.Algorithm 1 に重みベクトル w の分解
= ||yα − b||2
2
する際に,線形 SVM
T
T
アルゴリズム [12] を示す.線形 SVM による識別器
T
= yα yα − 2yα b + bT b.
る計算コストが高いと
= y y − 2yT b + bT b.

U を用いた線形 SVM

よる高速化手法が提案

は
は
す
す

D

F (x) は,重みベクトル w を分解して求めた実数ベ
α α
α

(5)
(5)

クトル β と基底バイナリコード b を用いることで,

F (x) ≈ f (x) =
β b x と近似計算することが
5) の第 1 項はクライアント側のバイナリコードの内
速化手法は GPU 等の
5) の第 1 項はクライアント側のバイナリコードの内
できる.
ここで,
基底バイナリコード b を b ∈ {0, 1}
を別途必要とする.
¯
¯
定数(ビット長)
と b に分解 (b =
であり,サーバ側で事前計算可能 b − b ) することで,式 (4) に示
b ∈ {−1, 1} であるため,内積の結果は必ず
であり,b ∈ {−1, 1} であるため,内積の結果は必ず
Nb
i=1

T
i i

+

+

+

D

+

すように線形 SVM の近似計算を内積 < b+ , x > とノ
i

ット長の値となるため,事前に求められる.第 3 項は
ルム |x| により計算することができる.
ット長の値となるため,事前に求められる.第 3 項は
化として線形 SVM に
事前計算不可能
る.また,線形 SVM
ーバ側の実数ベクトルの内積であり,事前に計算し
f (x) = 多くの実数計算を必要とする
βb x
ーバ側の実数ベクトルの内積であり,事前に計算し

図
図
き
き

Nb

T
i i

要となる入力特徴ベク

内積結果をサーバ側で保持することができる.問題

下を解決するために,

i=1

Nb
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!41
クリッド距

算の効率化を図る.まず,実数ベクトル yα を
サーバ側に
バイナリコードと実数ベクトル間の高速な内積演算

提案した分解アルゴリズム (Algorithm1)[13]

• 実数ベクトルの分解 [Hare2012]
次式のように k 個の重み係数 c と基底ベクト

す.サーバ

トルを保持

‒ 実数ベクトルyαをk 個の基底cとバイナリ基底ベクトルMに分解
解する.
のメモリ使

(6)

yα ≈ c M,
T

以上より

×
:実数

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

:バイナリ{1,-1}

!42
実数ベクトルの分解アルゴリズム

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

[Hare2012]

!43
実数ベクトルの分解アルゴリズム

[Hare2012]
残差ベクトル r

実数ベクトル

50
25

初期化:

-10

30

-30

-40

20

0
-25
-50

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!44
ド距離の計算

Algorithm 1 分解アルゴリズム
実数ベクトルの分解アルゴリズム [Hare2012] .

り特徴点の対応付け性能を向
.3 高速なユークリッド距離の計算

Require: Algorithm 1 分解アルゴリズム.
実数ベクトル y, 基底数 Nb
1. 初期化 : 実数ベクトル y を残差ベクトル r に代入.
スケールの最適化により特徴点の対応付け性能を向
Require: 実数ベクトル y, 基底数 Nb
しかし,実数ベクトルとバイ
残差ベクトル r
50
実数ベクトル
r = w1. 初期化 : 実数ベクトル y を残差ベクトル r に代入.
上させることができた.しかし,実数ベクトルとバイ
ッド距離を計算するため,ハ
r=w
25
2. w を重み係数 c とバイナリ基底ベクトル m に分解
ナリコード間のユークリッド距離を計算するため,ハ
初期化:
2. w を重み係数 c とバイナリ基底ベクトル m に分解
-10 30 -30 -40 20
for i = 1 to N= do Nb do 0
な計算コストを要する.そこ
for i b 1 to
ミング距離と比べて多大な計算コストを要する.そこ
-25
2.1 残差ベクトル r を {-1,1} に変換
2.1 残差ベクトル r を {-1,1} に変換
で,実数ベクトルを少数の重み係数と基底ベクトルに
の重み係数と基底ベクトルに
-50
mi = sign(r)
m
分解することで,実数ベクトルとバイナリコード間の i = sign(r)
クトルとバイナリコード間の
2.2 残差ベクトル r とバイナリ基底ベクトル mi から重
2.2 残差ベクトルを算出 50
r とバイナリ基底ベクトル mi から重
バイナリ基底ベクトル
ユークリッド距離を高速に求める.以下に分解法を用
み係数 c
に求める.以下に分解法を用
み係数 c を算出 <r,mi2> 25
ci = ||b ||
いたユークリッド距離の算出方法について述べる.
i
<r,mi >
i=1
0
-1 1 -1 -1 1
ci = ||b262
2.3 残差ベクトル r と近似値の差分を計算
算出方法について述べる.
i ||
-25
r←r
2.3 残差ベクトル− ciと近似値の差分を計算
r mi
end for
-50
.3.1 バイナリ-実数ベクトル間の高速なユークリッ ← r − ci mi
r
Nb
return {ci }i=1 , {mi }Nb
i=1
ド距離計算
end for

クトル間の高速なユークリッ

return
バイナリコード b と実数ベクトル yα のユークリッド

距離の 2 乗 d(yα , b) は式 (5) により計算できる.

数ベクトル yα= ||yα − b||2
d(yα , b) のユークリッド
2

{ci }Nb , {mi }Nb
i=1
i=1

ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M =

{m1 , m2 , · · · , mk } ∈ {−1, 1}L×k は基底ベクトル,k

は基底数を表す.次に,式 (5) の第二項に式 (6) を代入

ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M =

T
すると式 (7) が得られる.
式 (5) により計算できる. α b + bT b.
= yα yα − 2yT
(5)
{m1 , m2 , · · · , mk } ∈ {−1, 1}L×k は基底ベクトル,k
k

式 (5) の第 1 2
項はクライアント側のバイナリコードの内
yT b ≈ T Mb =
c m b.
(7)
は基底数を表す.次に,式c(5) の第二項に式 (6) を代入

yα − b||2

積であり,b ∈ {−1, 1} であるため,内積の結果は必ず

すると式 (7) が得られる.

(5)
ビット長の値となるため,事前に求められる.第 3 項は
α yα − 2yα b + b b.
T

T

T

サーバ側の実数ベクトルの内積であり,事前に計算し
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

i

α

i

i=1

図 10 に示すように,式 (7) は一見すると計算コストが大
k
きいように見受けられる.例えば,基底数 k = 3,ビッ

!45
ド距離の計算

Algorithm 1 分解アルゴリズム
実数ベクトルの分解アルゴリズム [Hare2012] .

り特徴点の対応付け性能を向

Require: 実数ベクトル y, 基底数 Nb
1. 初期化 : 実数ベクトル y を残差ベクトル r に代入.
しかし,実数ベクトルとバイ
残差ベクトル r
50
実数ベクトル
r=w
ッド距離を計算するため,ハ
25
2. w を重み係数 c とバイナリ基底ベクトル m に分解
初期化:
20
ド距離の計算 -10 30 -30 -40 Algorithm 1N do
0
for i = 1 to 分解アルゴリズム.
な計算コストを要する.そこ
b
-25
3 高速なユークリッド距離の計算
り特徴点の対応付け性能を向
Require: Algorithm 1r分解アルゴリズム.
実数ベクトル y, 基底数 Nb
2.1 残差ベクトル を {-1,1} に変換
の重み係数と基底ベクトルに
-50
スケールの最適化により特徴点の対応付け性能を向m Require: 実数ベクトル y, 基底数 Nb
1. 初期化 :sign(r)
実数ベクトル y を残差ベクトル r に代入.
i =
しかし,実数ベクトルとバイ
1. 初期化 :
.
クトルとバイナリコード間の
上させることができた.しかし,実数ベクトルとバイr 残差ベクトル 実数ベクトル y を残差ベクトル r に代入から重
2.2 = w r = w r とバイナリ基底ベクトル mi
50
ッド距離を計算するため,ハ
ナリコード間のユークリッド距離を計算するため,ハ を重み係数 c とバイナリ基底ベクトル m に分解
2. み係数 c2. w を重み係数 c とバイナリ基底ベクトル m に分解
w
に求める.以下に分解法を用
25
を算出
i=1
forNi >
i
-1 1 -1
ミング距離と比べて多大な計算コストを要する.そこc== <r,m= 1 to Nb do 0
for
な計算コストを要する.そこ -1 1 i i 1 to 26b2 do
||bi ||
算出方法について述べる.
-25
2.1 残差ベクトル r を {-1,1} に変換
で,実数ベクトルを少数の重み係数と基底ベクトルに 残差ベクトル r と近似値の差分を計算
2.1
を {-1,1} に変換
2.3
の重み係数と基底ベクトルに
mi = sign(r) -50
分解することで,実数ベクトルとバイナリコード間のmi = sign(r)i
r ← r − ci残差ベクトル r とバイナリ基底ベクトル mi から重
2.2 m
クトルとバイナリコード間の
ユークリッド距離を高速に求める.以下に分解法を用for
み係数 c を算出 50
2.2
バイナリ基底ベクトル end 残差ベクトル r とバイナリ基底ベクトル mi から重
クトル間の高速なユークリッ
c = <r,mi >
に求める.以下に分解法を用
いたユークリッド距離の算出方法について述べる.み係数 c を算出 ||bi ||2Nb 25
Nbi
return {ci }2.3 i残差ベクトル r と近似値の差分を計算
i=2
1
1 -1 -1 -1
i=1> {mi }i=1
8.8 ,
ci = <r,m 2 r − c m 0
||bi r ←
||
算出方法について述べる.
i
i
-25
end for
2.3 残差ベクトル r と近似値の差分を計算
-50
3.1 バイナリ-実数ベクトル間の高速なユークリッ
Nb
数ベクトル yα のユークリッド
b
r ← rreturn {ci }i=1 , {mi }NT
−c m
i=1
ド距離計算
ここで, c = (ci , ci2 , · · · , ck ) ∈ Rk は重み係数,M =
1
end for
式 (5) により計算できる.

クトル間の高速なユークリッ

{m1 , m
m
バイナリコード b と実数ベクトル yα のユークリッド 2 , · · · ,Nb k } ∈ {−1, 1} T は基底ベクトル,k
return {ci }i=1 ,c{mi },Nb , · · · , ck ) ∈ Rk は重み係数,M =
ここで, = (c1 i=1
c2
2
距離の 2 乗 d(yα , b) は式 (5) により計算できる.
は基底数を表す.次に,式 (5) の第二項に式 (6) を代入
yα − b||2
{m1 , m2 , · · · , mk } ∈ {−1, 1}L×k は基底ベクトル,k
L×k

2
T
すると式 (7) が得られる.
は基底数を表す.次に,式 (5) の第二項に式 (6) を代入
d(yα , T
b) のユークリッド
数ベクトル yα+ b||yb. b||2 (5)
yα − 2yα b = T α −
α
ここで, c = (c1 ,(7) , · · · , ck )T ∈ Rk は重み係数,M =
T
T
すると式 c2 が得られる.
= yα yα − 2yα b + bT b.
(5)
式 (5) により計算できる.
!46
k
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
ド距離の計算

Algorithm 1 分解アルゴリズム
実数ベクトルの分解アルゴリズム [Hare2012] .

り特徴点の対応付け性能を向

Require: 実数ベクトル y, 基底数 Nb
1. 初期化 : 実数ベクトル y を残差ベクトル r に代入.
しかし,実数ベクトルとバイ
残差ベクトル r
50
実数ベクトル
r=w
ッド距離を計算するため,ハ
25
2. w を重み係数 c とバイナリ基底ベクトル m に分解
初期化:
20
ド距離の計算 -10 30 -30 -40 Algorithm 1N do
0
for i = 1 to 分解アルゴリズム.
な計算コストを要する.そこ
b
-25
り特徴点の対応付け性能を向
Require: 実数ベクトルを {-1,1} に変換
2.1 残差ベクトル r y, 基底数 Nb
の重み係数と基底ベクトルに
-50
1. 初期化 :sign(r)
実数ベクトル y を残差ベクトル r に代入.
mi =
しかし,実数ベクトルとバイ
クトルとバイナリコード間の
r=w
2.2 残差ベクトル r とバイナリ基底ベクトル mi から重
50
ッド距離を計算するため,ハ
2. み係数 c
w を重み係数 c とバイナリ基底ベクトル m に分解
に求める.以下に分解法を用
25
ド距離の計算
Algorithm を算出
126 >do
分解アルゴリズム.
i=1
0
-1 1 -1
for i 1 to Nb
な計算コストを要する.そこ -1 1 ic== <r,mi2
||bi ||
算出方法について述べる.
3 高速なユークリッド距離の計算
Algorithm 1 分解アルゴリズム.
り特徴点の対応付け性能を向
Require: 実数ベクトル y, 基底数 Nb
-25
2.1
を {-1,1} に変換
2.3 残差ベクトル r と近似値の差分を計算
の重み係数と基底ベクトルに
スケールの最適化により特徴点の対応付け性能を向
Require: 実数ベクトル を残差ベクトル r に代入.
-50
1. 初期化 : 実数ベクトル y y, 基底数 Nb
しかし,実数ベクトルとバイ
mi =1. 初期化i: 実数ベクトル y を残差ベクトル r に代入.
r ← r sign(r)
− ci m
上させることができた.しかし,実数ベクトルとバイr = w
クトルとバイナリコード間の
50
r=w
2.2 残差ベクトル r とバイナリ基底ベクトル mi から重
end for
ッド距離を計算するため,ハ
ナリコード間のユークリッド距離を計算するため,ハ を重み係数 c とバイナリ基底ベクトル m に分解
クトル間の高速なユークリッ
2. w
に分解
w
25
に求める.以下に分解法を用
み係数 c2. Nbを重み係数 cbとバイナリ基底ベクトル m
を算出
N
return {cfor8.8 to
ib
i } Ni
ミング距離と比べて多大な計算コストを要する.そこ = 1 <r,m=, 1{mN}i=1 0
for
i=2
な計算コストを要する.そこ -1 -1 ic = to i=1>do i b do
1
1 -1
i
||bi ||残差ベクトル r を {-1,1} に変換
算出方法について述べる.
2.1 2
-25
で,実数ベクトルを少数の重み係数と基底ベクトルに 残差ベクトル r を {-1,1} に変換
2.1 残差ベクトル r と近似値の差分を計算
の重み係数と基底ベクトルに
2.3
mi = sign(r) -50
分解することで,実数ベクトルとバイナリコード間のmi = sign(r)
数ベクトル yα のユークリッド
2.2 m
r ← r − ci残差ベクトル r とバイナリ基底ベクトル mi から重
クトルとバイナリコード間の
ここで, c = み係数ci2を算出 , ck )T ∈ Rk は重み係数,M =
(c1 , c · とバイナリ基底ベクトル mi から重
ユークリッド距離を高速に求める.以下に分解法を用 残差ベクトル, r · ·
50
2.2
バイナリ基底ベクトル
end for
<r,mi >
式に求める.以下に分解法を用
(5) により計算できる.
c =
クトル間の高速なユークリッ
いたユークリッド距離の算出方法について述べる., m , · · · を算出 ||bi ||2
{m1 み係数 c ,Nbi残差ベクトル r251}L×k は基底ベクトル,k
m>} ∈ {−1,と近似値の差分を計算
2
i=3
1 -1 1 -1 1
return= <r,mi2k {mi }Nb 0
}2.3 ,
4.9
i=1
i=1
ci {ci||b r ← r − c m
2
算出方法について述べる.
i ||
i
i
は基底数を表す.次に,式-25 の第二項に式 (6) を代入
(5)
yα − b||2
end for
2.3 残差ベクトル r と近似値の差分を計算
-50
3.1 バイナリ-実数ベクトル間の高速なユークリッ
T
Ty のユークリッド
T
すると式 (7)− ci mi i }Nb , {mi }Nb
が得られる. i=1
r ← rreturn {c i=1
数ベクトル bα+ b b.
− 2yα
(5)
α yα ド距離計算
基底数を増やすと残差が減少
ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M =
end for

式クトル間の高速なユークリッ
(5) により計算できる.
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

k

!47
実数ベクトルの分解アルゴリズム

[Hare2012]

図 10: 行列計算の可視化.

• 3個の基底cとバイナリ基底ベクトル
3.3.2

に分解

実数ベクトルの分解

-1
1
-1
1
実数ベクトルを少数の重み係数と基底ベクトルに分

1

解し,実数ベクトルとバイナリコードの内積計算をバ

1 イナリコード同士のハミング距離の計算に置き換える
1
-1
-1 -1
バイナリ基底ベクトル

ことで計算の効率化を図る.まず,実数ベクトル yα を

-1 Hare らが提案した分解アルゴリズム (Algorithm1)[13]
1
-1
-1
1
に従って次式のように k 個の重み係数 c と基底ベクト
ル M に分解する.

8.8

4.9

-12.2

29.8

-29.8

-39.8

22.1
yα

-10

26

30

-30

-40

20

≈ cT M,

(6)

基底
(スケール係数)

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

実数ベクトル

!48
ド距離計算
ド距離計算
ド距離計算
ユークリッド距離を高速に求める.以下に分解法を用
み係数
2.1 残差ベクトル r を {-1,1} のユークリッド
ベクトルに バイナリコード b と実数ベクトル yαに変換
=
バイナリコードbと実数ベクトルyの距離計算 ここで,のユークリ
mi =, sign(r) (5) バイナリコード b と実数ベクトル yα c = (c1i, c
いたユークリッド距離の算出方法について述べる.と実数ベクトル yc の
距離の 2 乗 d(yα b) は式
により計算できる. バイナリコード b と実数
バイナリコード b {m , m , · · · , m }
コード間の
α
2.2 残差ベクトル r とバイナリ基底ベクトル mi 2 乗 1 2 , b) 2.3 k (
から重
残
距離の
d(yα
は式
距離の 2 乗 d(yα2 b) は式 ,(5) により計算できる.
距離の , 乗 d(yα b) は式 (5) により計算で
分解法を用
み係数 c を算出 α − b||2
は基底数を表す.次
d(yα , b) = >||y
r←
2
<r,mi
ci = ||b ||2 T
d(yα b) end ||y
述べる.
T
d(yαbb) d(yα , b) α = b||2 α ,− b||2=が得ら
i
2
||y
= yα yα − 2yα b + , T b. = ||y − すると式 (7) for
(5)
2
3.3.1 バイナリ残差ベクトル r と近似値の差分を計算 T
2.3 -実数ベクトル間の高速なユークリッ T
T
T
T
= yα yα − 2yα b − returnb
+ 2yT b yα
b=b. +
= yα yα
r←
α T
ド距離計算 r − ci mi
式 (5) の第 1 項はクライアント側のバイナリコードの内
yα b ≈
end for
ユークリッ 積であり,b ∈ {−1, 1} であるため,内積の結果は必ず の第 1 項はクライアン
式 (5)
式 (5) の第 1(5) の第 1 項はクライアント側のバイナ
式 項はクライアント側のバイナリコード
Nb
Nb
return {ci }i=1 , {mi }i=1
バイナリコード b と実数ベクトル 積であり,b3∈であるため,内積の結果は
yα のユークリッド
ビット長の値となるため,事前に求められる.第1}積であり,b ∈ {−1, 1} であ
積であり,b ∈ {−1, 項は 1} であるため,内積
{−1, 図 10 に示すように,
ここで,
ビット長の値となるため,事
ビット長の値となるため,事前に求められる.第 3
距離の サーバ側の実数ベクトルの内積であり,事前に計算し きいように見受けら
2 乗 d(yα , b) は式 (5) により計算できる.
ビット長の値となるため,事前に求められ
ークリッド た内積結果をサーバ側で保持することができる.問題
{m1 , m2 ,
T
k
サーバ側の実数ベクトルの
サーバ側の実数ベクトルの内積であり,事前に計
サーバ側の実数ベクトルの内積であり,
ここで, c = (c1 , c2 , · · · , ck ) ∈ R は重み係数,M = = 64 とした
ト長 L
きる.
2
は第 2 α , b) = ||yα た内積結果をサーバ側で保持することができる.
た内積結果をサーバ側で保
d(y 項であり事前に計算できない上,バイナリコー 10(a)) の場合では,
− b||2 た内積結果をサーバ側で保持することが
{m1 , m2 , · · · , mk } ∈図{−1, 1}L×k は基底ベクトル,k は基底数を
6: クライアントサーバシステムによる画像検索アプリケーショ
図 6: クライアントサーバシステムによる画像検索アプリケーションの例.
ドと実数ベクトルの内積の計算は計算コストが大きい. 項であり事前に計算
は第 2 算が 63 回発生する
は第 2 項であり事前に計算できない上,
T は第 2 (5) の第二項に式 (6) を代入 すると式
T
T
は基底数を表す.次に,式 項であり事前に計算できない上,バイナリ
= yα
b + b b.
(5)
図 hashingyα − 2y αドと実数ベクトルの内積の計算は計算コス
Binary 6: クライアントサーバシステムによる画像検索アプリケ
法に依存する.本研究で用いる Binary
手法は以下の 3 手法である
ドと実数ベクトルの内積の
ドと実数ベクトルの内積の計算は計算コストが大
Binary hashing 法に依存する.本研究で用いる Binary
手法は以下の 3 手法である.
10(b)) には,バイナ
すると式 (7) が得られる.

b.

hashing
の場
(5) 法である Iterative Quantization(ITQ)[12] の場
hashing
サーバ側で事前計算可能 法である Iterative Quantization(ITQ)[12] 定数(ビット長)
• バイナリコード vs. バ

回,浮動小数点同士
• バイナリコード
合,実数ベクトルを計算すると平均ユークリッドノルム vs. バイナリコード
式 (5) の第 1 項はクライアント側のバイナリコードの内 バイナリコード 手法
合,実数ベクトルを計算すると平均ユークリッドノルム
Binary hashing 法に依存する.本研究で用いる Binary
•
k • バイナリコード 手法は以下の 3 vs. 実
実数ベクトル
は 0.65 となる.バイナリコード化した際のユークリッ vs. る.しかしながら,
は 0.65 となる.バイナリコード化した際のユークリッ
コードの内
T
T
• iバイナリコード
積であり,b ∈ {−1, 1} α bQuantization(ITQ)[12]iの場 内積計算を分解(スケール
y であるため,内積の結果は必ず バイナリコード
c m b.
(7)
hashing 法である ドノルムは 5.65 となるため,バイナリコードのユーク vs. •実数ベクトル vs. 実
Iterative ≈ c Mb =

1/10 と非常に高速
• 化あり)
バイナリコード
ビット長の値となるため,事前に求められる.第 3 項は バイナリコード
算回数が多くても高
•
図 10
が大きすぎると,実数ベクトルを無視するような距離 SIFT[1] を用いる. SIFT[1
が大きすぎると,実数ベクトルを無視するような距離
局所特徴量としては 局所特徴量としては に示
ベースとな
.第 3 項は
は 0.65 となる.バイナリコード化した際のユークリッ
図 10 に示すように,式 (7) は一見すると計算コストが大 法には,!49
が計算されるため,大幅な性能の低下を招く.そこで, nary hashing
Itera
サーバ側の実数ベクトルの内積であり,事前に計算し また,分解法を適
が計算されるため,大幅な性能の低下を招く.そこで, nary hashing 法には,Iterative Quantization(ITQ
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
• バイナリコード
ドノルムは 5.65 となるため,バイナリコードのユーク

化あり)
結果は必ず
リッドノルムと比較して非常に小さな値となる.この差
リッドノルムと比較して非常に小さな値となる.この差 i=1
合,実数ベクトルを計算すると平均ユークリッドノルム
-Programmable 式 (5) の第 項はクライアント側のバイナリコードの内
Gate b
は基底数を表す.次に,式 yT yα − 2yT b + bT b.
T
積であり,Array(FPGA)
1} であるため,内積の結果は必ず
サーバ側の実数ベクトルの内積であり,事前に計算し (5) すると式 ≈ T
み係数と基底ベクトルに ∈1{−1, 2.1 残差ベクトルαr をの第二項に式 (6) を代入 b (7)cが
= (5) {-1,1} に変換
ビット長の値となるため,事前に求められる.第 3 項は
yα
α
きいように見受け
図1
クの組み込み系ハードウェアで動作i であるため,内積の結果は必ず
積であり,b ∈ {−1,m = sign(r)
1}
ビット長の値となるため,事前に求められる.第 3 項は
た内積結果をサーバ側で保持することができる.問題
ルとバイナリコード間の が得られる. r とバイナリ基底ベクトル m から重
すると式 (7)(5) の第 サーバ側の実数ベクトルの内積であり,事前に計算し 64 きい
分解法による高速な内積演算
2.2 残差ベクトル
i
ト長 L =
とし
式
1 項はクライアント側のバイナリコードの内図 10 に示すよう
(5)
.そのため,低計算量かつ低メモリ使
ビット長の値となるため,事前に求められる.第 3 項は
y
た内積結果をサーバ側で保持することができる.問題
める.以下に分解法を用
み係数 c を算出
サーバ側の実数ベクトルの内積であり,事前に計算し
は第 2 項であり事前に計算できない上,バイナリコー 図 10 に示すように,式 (
ト長
積であり,b
1}
10(a)) の場合では
サーバ側の実数ベクトルの内積であり,事前に計算し 特徴量の計算.
リズムが望まれており,我々は HOG∈ {−1,||i2 であるため,内積の結果は必ずきいように見受け
図
ci = <r,m >
は第 2||bi
項であり事前に計算できない上,バイナリコー
k 11: B-HOG きいように見受けられる
方法について述べる. B-HOG 特徴量の計算.
た内積結果をサーバ側で保持することができる.問題
10(a
ドと実数ベクトルの内積の計算は計算コストが大きい.項は
図 11: ビット長の値となるため,事前に求められる.第 3
た内積結果をサーバ側で保持することができる.問題
2.3 残差ベクトル r と近似値の差分を計算
ト長 64 とした時,
算が図L 回発生す
63 = 64 と
内
ることで計算コストとメモリ使用量 T
T
10 に示すよう
yα b ドと実数ベクトルの内積の計算は計算コストが大きい. 算が
≈ c −Mb = B-HOG 特徴量 bト長 L = (7)
ci mi b. と統計的学習手法であ
は第 2 項であり事前に計算できない上,バイナリコー
r ← r c得られた
サーバ側の実数ベクトルの内積であり,事前に計算し
i mi
は第 2 項であり事前に計算できない上,バイナリコー
きいように見受
10(a)) の場合では
5] を提案した.しかしながら,識別
10(b)) には,バイ
10(a)) の場合では,浮動
b と統計的学習手法である
10(b
ず 得られた B-HOG 特徴量 end for Support Vector Machine(SVM) により線形識別器 F
i=1
ル間の高速なユークリッた内積結果をサーバ側で保持することができる.問題
ドと実数ベクトルの内積の計算は計算コストが大きい.
ドと実数ベクトルの内積の計算は計算コストが大きい.
ト長 回発生す
ては未だに解決されていない.そこ {ci }Nb , {mi }Nb F (·)
算が算が 63 L = 64 と
63 回発生する.一
回,浮動小数点同
回,
return
Support Vector Machine(SVM) により線形識別器
i=1
i=1
は第 2 項であり事前に計算できない上,バイナリコー
は
10(a)) の場合で
を学習する.線形 SVM による識別関数は式 (9) のよ
10(b)) には,バイナリ同
器の計算量を削減するために,識別
る.
10(b)) には,バイ
る.しかしながら
図 10 に示すように,式 (7) は一見すると計算コストが大 回発生
を学習する.線形 SVM による識別関数は式 (9) のよう
ドと実数ベクトルの内積の計算は計算コストが大きい.
:実数
算が 63
に表わされる.
回,浮動小数点同士の積
らに早期に識別を判定するアルゴリ
クトル yα のユークリッド
1/10
し
:バイナリ{1,-1}
回,浮動小数点
に表わされる.
ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M と非常に高速
=
きいように見受けられる.例えば,基底数 k る.しかしながら,実際
=1/1010(b)) には,バ
3,ビッ 算回
により計算できる.
検出法 [16] について述べる.
る.しかしなが
F は基底ベクトル,k
題
{m1 , m2 , · · · , mk } ∈ {−1, 1}L×k(b) = wT b 算回数が多くても
回,浮動小数点
T
1/10 と非常に高速に演
ま
F 64 w b
(9)
ト長 L = (b) =とした時,実数ベクトルと内積計算 と非常に高
(図
徴量と SVM による人検出
2
る.しかしなが
また,分解法を
は基底数を表す.次に,式 (5) の第二項に式 (6) 1/10
を代入
b||
算回数が多くても高速に
ベク
ー2 Gradients(HOG) 特徴量 [14] ここで,w は特徴量に対する重みを表す.画像中か
riented 10(a)) の場合では,浮動小数点同士の積算が 64 回,加
1/10 と非常に高
T
すると式 (7) が得られる.
算回数が多くて
ベクトル yα の代
また,分解法を適用す
ここで, T は特徴量に対する重みを表す.画像中から
− 2yα b + bwb.
(5)
トル
物体を検出する際には,検出ウィンドウをラスタス
ウからセルと呼ばれる局所領域毎に
い.
基底数k=3
ベクトル算回数が多くて
α の代わりに
また,分解法
トル M を持つだ
物体を検出する際には,検出ウィンドウをラスタスキャ k
リ使
算が 63 回発生する.一方,分解法を適用した場合y(図 特徴量
ンし,検出ウィンドウから抽出した を持つだけでよ
B-HOG
ヒストグラムを特徴量とする.HOG
また,分解法
側のバイナリコードの内
T
T
M (7)
yα b ≈ 特徴量に
ci mi b. トルベクトル y の代
ンし,検出ウィンドウから抽出した B-HOG c Mb =
リ使用量を大幅に
α
ベクトル
10(b)) には,バイナリ同士の積算がi=1 F (b) を計算し,この値を閾値
192
対する識別器のスコア 回,加算が 189 yα の
ため,内積の結果は必ず
セルで構成されるブロック領域で正
リ使用量を大幅に削減す
対する識別器のスコア F (b) を計算し,この値を閾値処
図 10: 行列計算の可視化. トル M を持つだ
トル M 3.3.
前に求められる.第 3 項は
理することで人もしくは背景に判定する. を持つ
局所的な照明変化の影響を受けにく
回,浮動小数点同士の積算が (7)回,加算が 3 回発生す
3 は一見すると計算コストが大
図 10 に示すように,式
理することで人もしくは背景に判定する.
リ使用量を大幅
リ使用量を大幅
積であり,事前に計算し 図 10: 10: 行列計算の可視化.
このような識別器による人検出では VGA サイズ
HOG 特徴量 [15] は,図 11 図 行列計算の可視化.
に示す
分
きいように見受けられる.例えば,基底数 k = 3.3.3 分解法導
3 分解法導入によ
3.3.3,ビッ
このような識別器による人検出では VGA サイズの
る.しかしながら,実際にはバイナリ同士の演算は約 いて
バイナリコードと実数ベクトルの
することができる.問題
量を 2 値化したバイナリコードで表 64画像に対して検出ウィンドウを網羅的にラスタスキ
バイナリ間の内積を高速に計算可能
ト長 L =
3.3.2 とした時,実数ベクトルと内積計算 (図
実数ベクトルの分解
画像に対して検出ウィンドウを網羅的にラスタスキャ
内積計算は時間を要する
(基底数kが小さいとき) 分解法を導入し
きない上,バイナリコー 図 10: 行列計算の可視化.
!50
ンする場合,数万個の検出ウィンドウを処理するこ
る.セルと呼ばれる局所領域毎に作 図 10: 行列計算の可視化.
1/10 と非常に高速に演算できることから,式分解法を導入した際の
(7) 3.3.3 分解法
は演 PC
10(a)) の場合では,浮動小数点同士の積算が 64 3.3.3 分解法導
回,加
ンする場合,数万個の検出ウィンドウを処理すること
いて評価する.実験には
算は計算コストが大きい.特徴量を 2実数ベクトルを少数の重み係数と基底ベクトルに分
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
でき
いて評価する.実
になる.これら全てのウィンドウから特徴量を抽出
ストグラムである HOG
i=1

10(a)) の場合では,浮動小数点同士の積算が 64 回,加
r ← r − ci mi = sign(r)
m
end for

3.3.1 バイナリ-実数ベクトル間の高速なユークリッ
2.2 残差ベクトル r とバイナリ
ドと実数ベクトルの内積の計算は計算コストが大きい.分解することで,実数ベクトルとバイナリコード間の
ため,事前に求められる.第 3 項は
end for
return 回発生する.一方,分解法を適用した場合 (図
算が 63 {ci }Nb , {m i=1
図 10 に示すように,式 (7) は一見すると計算コストが大 i }Nb
ユークリッド距離を高速に求める.以下に分解法を用
み係数 c を算出
3.3.1 バイナリ-実数ベクトル間の高速なユークリッ
i=1
ド距離計算
<r,mNb
Nb
i>

トルの内積であり,事前に計算し

i

return {c } ,
きいように見受けられる.例えば,基底数 k には,バイナリ同士の積算が 192 {m }
ド距離計算
回,加算が 189
分解法による高速な内積演算 10(b))= 3,ビッ
バイナリコード b と実数ベクトル y のユークリッド
側で保持することができる.問題
いたユークリッド距離の算出方法について述べる.

c = ||b ||2
i i=1 i
i i i=1
2.3 残差ベクトル r と近似値の
α
r
ト長 L = 64 とした時,実数ベクトルと内積計算 (図2 , · · · , ck )T ∈ Rk は重み係数,M← r − ci mi
ここで, c = (c1 , c
=
end for
距離の 2 乗 d(yα , b) は式 (5) により計算できる.
3.3.1 バイナリ-実数ベクトル間の高速なユークリッ
に計算できない上,バイナリコー
L×k
{m1 ,α , · · , mk }
m
は基底ベクトル,k i }Nb , {mi }Nb
10(a)) の場合では,浮動小数点同士の積算が264· 回,加 ∈ {−1, 1}
T
return {c i=1
ド距離計算
1 2
k i=1
内積の計算は計算コストが大きい. , b) = ||y − b||2 α
は基底数を表す.次に,式 (5) の第二項に式 (6) を代入
d(yα 算が 63 回発生する.一方,分解法を適用した場合 (図
α
2
L×k

回,浮動小数点同士の積算が 3 回,加算が 3 回発生す

バイナリコード b と実数ベクトル y のユークリッド

ここで, c = (c , c , · · · , c ) ∈ R
る.しかしながら,実際にはバイナリ同士の演算は約
距離の 2 乗 d(y , b) は式 (5) により計算できる.
{m1 , m2 ,
バイナリコード b と実数ベクトル yα のユークリッド · · · , mk } ∈ {−1, 1} T
T
T
すると式
1/10 と非常に高速に演算できることから,式 2(7), は演
ここで, c = (c1 , c , · · · ck ) ∈
= には,バイナリ同士の積算が 1922回,加算が 189 により計算できる.
(5)距離の 乗 d(y (7) が得られる.
10(b)) yα yα − 2yα b + bT b.
α , b) は式 (5)
は基底数を表す.次に,式 {−1, 1}L×
d(yα , b) = ||yα − b||2
基底数k=3,ビット長L=64における内積計算回数と計算時間 {m1, m2, · · · , mk } ∈(5) の第
2
k
算回数が多くても高速に計算することができる.
回,浮動小数点同士の積算が 3 回,加算が 3 回発生す
は基底数を表す.次に,式 (5) の
式 (5) の第 1 項はクライアント側のバイナリコードの内
T
b||2
T
Td(yα , b) T =yα||yα −cT Mb = すると式 (7) が得られる.
2
ci mi b.
(7)
= yα yα − 2yαまた,分解法を適用することで,サーバ側では実数
b + b b. b ≈ (5)
る.しかしながら,実際にはバイナリ同士の演算は約 − 2yT b + bi=1
T
T
すると式 (7) が得られる.
積であり,b ∈ {−1, 1} であるため,内積の結果は必ず
= yα yα
b.
(5)
α
浮動小数点の
浮動小数点の
k
1/10 と非常に高速に演算できることから,式 (7) は演
バイナリの積算α の代わりに k 個の重み係数 c と基底ベク
バイナリの加算 計算時間 [ns]
ビット長の値となるため,事前に求められる.第 3 項は
ベクトル y
図 10 に示すように,式 (7)
式 (5) の第 1 項はクライアント側のバイナリコードの内
T
式 (5)
T
積算 の第 1 項はクライアント側のバイナリコードの内 は一見すると計算コストが大 cT b ≈ cT= =
加算
yα Mb Mb
y b≈

α
算回数が多くても高速に計算することができる.
サーバ側の実数ベクトルの内積であり,事前に計算し積であり,b ∈ {−1, 1} であるため,内積の結果は必ず
i=
きいように見受けられる.例えば,基底数 k = 3,ビッ
トル M を持つだけでよい.そのため,サーバ側のメモ
積であり,b ∈ {−1, 1} であるため,内積の結果は必ず
i=1
た内積結果をサーバ側で保持することができる.問題ビット長の値となるため,事前に求められる.第 3 項は
また,分解法を適用することで,サーバ側では実数
ト長 L = 64 とした時,実数ベクトルと内積計算 (図
図 10 に示すように,式 (7) は一見
64
63
852
ビット長の値となるため,事前に求められる.第 3 項は リ使用量を大幅に削減することができる.
は第 2 項であり事前に計算できない上,バイナリコーサーバ側の実数ベクトルの内積であり,事前に計算し きいように見受けられる.例えば
ベクトル yα の代わりに k 個の重み係数 c と基底ベク
図 10 に示すように,式 (7) は一見す
10(a)) の場合では,浮動小数点同士の積算が 64 回,加
た内積結果をサーバ側で保持することができる.問題
ドと実数ベクトルの内積の計算は計算コストが大きい.
サーバ側の実数ベクトルの内積であり,事前に計算し
ト長 L = 64
トル M を持つだけでよい.そのため,サーバ側のメモ
算が 63 回発生する.一方,分解法を適用した場合 (図 とした時,実数ベ
きいように見受けられる.例えば,
は第 2 項であり事前に計算できない上,バイナリコー

10(a)) の場合では,浮動小数点同
た内積結果をサーバ側で保持することができる.問題
10(b)) には,バイナリ同士の積算が 192 回,加算が 189

ドと実数ベクトルの内積の計算は計算コストが大きい.
3
3
192
189ト長 L = 64105
リ使用量を大幅に削減することができる.
とした時,実数ベク
算が 63 回発生する.一方,分解
図 10: 行列計算の可視化.
3.3.3 分解法導入による高速化と省メモリ化の効果

行列計算の可視化.

回,浮動小数点同士の積算が 3 回,加算が 3 10(b)) には,バイナリ同士の積算
回発生す
は第 2 項であり事前に計算できない上,バイナリコー
10(a)) の場合では,浮動小数点同士
る.しかしながら,実際にはバイナリ同士の演算は約
回,浮動小数点同士の積算が 3
ドと実数ベクトルの内積の計算は計算コストが大きい.
算が 63 回発生する.一方,分解法
分解法を導入した際の計算時間とメモリ使用量につ
る.しかしながら,実際にはバ
3.3.3 分解法導入による高速化と省メモリ化の効果
1/10 と非常に高速に演算できることから,式 (7) は演
1/10
10(b)) には,バイナリ同士の積算が
算回数が多くても高速に計算することができる.と非常に高速に演算できる
いて評価する.実験には Intel Xeon CPU 2.27-GHz の

算回数が多くても高速に計算する
実数ベクトルの分解 分解法を導入した際の計算時間とメモリ使用量につ
また,分解法を適用することで,サーバ側では実数
回,浮動小数点同士の積算が 3 回,
また,分解法を適用すること
PC 2.27-GHz の
いて評価する.実験には Intel Xeon CPUを用いる.なお,分解法導入前と同等の性能を確認
ベクトル yα の代わりに k 個の重み係数 c と基底ベク の代わりに k 個の重
ルの分解
ベクトル yα
る.しかしながら,実際にはバイナ
実数ベクトルを少数の重み係数と基底ベクトルに分
できた基底数の数を 3 に設定する.表 を持つだけでよい.その
1
PC を用いる.なお,分解法導入前と同等の性能を確認
トル M を持つだけでよい.そのため,サーバ側のメモに距離計算に
トル M
計算回数は増加

3.3.2

実数-バイナリ間は
1/10 と非常に高速に演算できるこ
数の重み係数と基底ベクトルに分
できた基底数の数を 3 に設定する.表 1 に距離計算に
リ使用量を大幅に削減することができる. リ使用量を大幅に削減することが
解し,実数ベクトルとバイナリコードの内積計算をバ
必要な計算時間を示す.分解法を導入することでユー
ビット演算は約1/10
浮動小数点演算
算回数が多くても高速に計算するこ
とバイナリコードの内積計算をバ
必要な計算時間を示す.分解法を導入することでユー
イナリコード同士のハミング距離の計算に置き換える
クリッド距離の計算時間を約 87% 削減できた.表 2 に
図 10: 行列計算の可視化. また,分解法を適用することで,
3.3.3 分解法導入による高速化
ハミング距離の計算に置き換える 図クリッド距離の計算時間を約 87% 削減できた.表 2 に
10: 行列計算の可視化.
3.3.3 分解法導入による高速化と省メモリ化の効果

ことで計算の効率化を図る.まず,実数ベクトル yα を

を図る.まず,実数ベクトル yα を

サーバ側に保存する実数ベクトルのメモリ使用量を示
ベクトル y の代わりに k 個の重み

サーバ側に保存する実数ベクトルのメモリ使用量を示

α 分解法を導入した際の計算時

分解法を導入した際の計算時間とメモリ使用量につ
Hare らが提案した分解アルゴリズム (Algorithm1)[13]
いて評価する.実験には Intel X
す.サーバ側で
解アルゴリズム (Algorithm1)[13]
トル ビット長に値する実数ベク
す.サーバ側で 100 個の 32 ビット長に値する実数ベク 100 個の 32 M を持つだけでよい.そのた
3.3.2 実数ベクトルの分解
いて評価する.実験には Intel Xeon CPU 2.27-GHz の
PC を用いる.なお,分解法導入
に従って次式のように k トルを保持する場合,分解法を導入することで約 78%
3.3.2 実数ベクトルの分解
トルを保持する場合,分解法を導入することで約 78%
に k 個の重み係数 c と基底ベクト 個の重み係数 c と基底ベクト 実数ベクトルを少数の重み係数と基底ベクトルに分 できた基底数の数を 3 に設定す
リ使用量を大幅に削減することがで
PC を用いる.なお,分解法導入前と同等の性能を確認
分解することで計算回数は多いが,ビット演算に置き換えることで高速化
のメモリ使用量を削減できた.
ル M に分解する.
のメモリ使用量を削減できた.に距離計算に
実数ベクトルを少数の重み係数と基底ベクトルに分解し,実数ベクトルとバイナリコードの内積計算をバ 必要な計算時間を示す.分解法
できた基底数の数を 3 に設定する.表 1
イナリコード同士のハミング距離の計算に置き換える

クリッド距離の計算時間を約 87

以上より,分解法を適用することで,非対称の特徴
解し,実数ベクトルとバイナリコードの内積計算をバ
必要な計算時間を示す.分解法を導入することでユー
以上より,分解法を適用することで,非対称の特徴
ことで計算の効率化を図る.まず,実数ベクトル yα を
図 10: 行列計算の可視化.
サーバ側に保存する実数ベクト
(6)
T
3.3.3 分解法導入による高速化と
!51
(6)
画像認識への期待と可能性 yα ≈ c M,
/ 中部大学工学部情報工学科 藤吉弘亘
イナリコード同士のハミング距離の計算に置き換えるHare クリッド距離の計算時間を約 87% 削減できた.表 2 に
らが提案した分解アルゴリズム (Algorithm1)[13]

yα ≈ cT M,
サーバにおける特徴点のメモリ量
• 1特徴点のデータサイズ
‒ 分解前:32次元の実数型ベクトル
‒ 分解後:基底実数型ベクトルk=3,バイナリ型ベクトル:k 32bit
:実数

:バイナリ{1,-1}

×
分解前:256[byte]

分解後:15[byte]

(32次元 8byte)

(3 1byte+3 4byte)

分解することで,特徴量のメモリ量を削減可能
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!52
メモリ使用量と距離計算時間
距離計算時間 [ns]
ビット長

バイナリ-バイナリ

バイナリ-実数
(非分解)

バイナリ-実数
(分解)

32

14.2

433.5

54.5

64

27.6

852.3

105.7

128

61.9

1683.2

177.5

→距離計算時間を約12%に削減
メモリ使用量 [MB]
特徴点数

32ビット
分解

64ビット

非分解

分解

128ビット

非分解

分解

非分解

1M

26.7

122.1

38.1

244.1

61.0

488.3

10M

267

1220.7

381.5

2441.4

610.4

4882.8

2670.3

12207.0

3814.7

24414.1

6103.5

48828.1

100M

→メモリ使用量を約21%に削減
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!53
まとめ:バイナリ-実数ベクトル間の距離計算と高速化
• 非対称な特徴表現
‒ スケール係数の最適化により非対称表現の距離計算が可能
‒ マッチング性能はやや低下するが,伝送量は1/8に削減

!
• 分解法の適用
‒ 距離計算(内積)を高速化 (12%まで削減)
‒ サーバ側の省メモリ化を実現 (21%まで削減)

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!54
3. 物体検出におけるバイナリコード表現と高速化演算
-B-HOG特徴量と分解法による高速識別-

Joint work with:
後藤雄飛
OB

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

土屋成光
中部大

山内悠嗣

黒川貴都

!55
物体検出(人検出)の流れ
• 機械学習による識別器の構築
識別器

機械学習

学習サンプル
ポジティブサンプル

ネガティブサンプル

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

線形 SVM
物体検出(人検出)の流れ
• 機械学習による識別器の構築
識別器

!
!
!

機械学習

学習サンプル
ポジティブサンプル

ネガティブサンプル

線形 SVM

• 識別器を用いたラスタスキャンによる物体検出
‒ 大量の検出ウィンドウ:約2万個(VGA画像)

2万回の識別処理

人
非人

線形 SVM
検出ウィンドウ
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

HOG特徴量

識別器
!57
線形SVMによる識別器
• 線形SVMによる識別演算
‒ 実数ベクトルと実数ベクトルの内積 → 計算コスト大

!
!
!

識別関数 :
重みベクトル
(実数のN次元ベクトル)

特徴ベクトル
(HOG特徴量:実数N次元 )

• 計算コストを削減するためには
‒ ビット演算に置き換えることで高速な識別計算したい!
実数ベクトル
内積演算

バイナリコード

実数ベクトル
バイナリコード

→実数の演算と比較して高速な処理が可能

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!58
バイナリ型特徴量と近似計算による識別の高速化
• 識別器(線形SVM)の高速化
‒ 線形SVMの近似計算
‒ 識別結果を早期判定して高速な処理を行う

• バイナリ特徴の高精度化
‒ B-HOG特徴量の共起表現による高精度化
検出対象

バイナリコード

入力画像

特徴抽出

B-HOG 特徴量
={0,1,0,1,...}

高精度化
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

線形 SVM
識別器

非検出対象

高速化
!59
演算を近似し,さらに早期に識別を判定するアルゴリ
ズムを導入した人検出法 [16] について述べる.

F

バイナリ型HOG特徴量:B-HOG [松島2011]
4.1 B-HOG 特徴量と SVM による人検出

Histograms of Oriented Gradients(HOG) 特徴量 [14]
は,検出ウィンドウからセルと呼ばれる局所領域毎に

ここで,w は特徴量

特徴量は,複数のセルで構成されるブロック領域で正

対する識別器のスコ

い特長がある.B-HOG 特徴量 [15] は,図 で表現
‒ ドミナントな方向を 1 ,そうでない方向を 011 に示す

このような識別器

• HOG特徴量を 0 と 1 のバイナリコードで表現
作成した勾配方向ヒストグラムを特徴量とする.HOG
‒ 勾配方向ヒストグラムを2値化
規化されるため,局所的な照明変化の影響を受けにく

物体を検出する際に

ンし,検出ウィンド

理することで人もし

ように HOG 特徴量を 2 値化したバイナリコードで表

画像に対して検出ウ

成した勾配方向ヒストグラムである HOG 特徴量を 2

になる.これら全て

‒ 3,360 bit のバイナリコード (=HOG特徴量の次元数)
わした特徴量である.セルと呼ばれる局所領域毎に作
勾配方向ヒストグラム
値化して D ビットのバイナリコードを得る.式 (8) に
( HOG特徴量 )

よりセル c における正規化後の勾配方向ヒストグラム

v c = {vc (1), vc (2), ..., vc (N )} をバイナリコード bc =
勾配強度

{bc (1), bc (2), ..., bc (N )} に変換する.ここで,N は勾配
方向ヒストグラムの量子化数である. th
bc (n)
セル!(8 8ピクセル) =
入力画像

1
0

if vc (n) > thc (n)

1

otherwise

8

ンする場合,数万個

識別器 F (b) のスコ

物体検出実現するた
がある.

4.2

分解法に基づく

識別器の高速

計算量の問題を解

(8)

01111100

として分解法を利用

判定を導入する.ま

ここで,thc (n) は閾値を表わし,事前に計算した学習
う性能低下を解決す
B-HOG 特徴量の可視化
バイナリコード
HOG 特徴量の可視化
( B-HOG特徴量 )
サンプルの HOG 特徴量の各次元毎の平均値を使用す

る.B-HOG 特徴量 b = {b1 , b2 , · · · , bc } は 64 × 128
ピクセルの検出ウィンドウに対して,セルの大きさを 8

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

を表現することで識

!60
人検出の問題では,膨大な数の検出ウィンドウを処理

識別器 特徴量 b と統計的学習手法である
得られた することになるため,多大な計算量を要する.そこで,
B-HOG F (b) は,SVM の重みベクトル w を分解し
B-HOGを用いた線形SVMの近似計算
得られる重み係数 c により線形識別器 F [13]
Hare Machine(SVM)とバイナリ基底ベクトル
Support Vector らによって提案された実数ベクトルの分解法(·)m を用
Nb
を利用してバイナリ型特徴量 b と重み w (9) iのよう
ることで,F (b) ≈ f (b) = i=1 ci m b と近似でき
を学習する.線形 SVM による識別関数は式 の内積計算を
• 重みベクトルwを分解して近似
近似する.
ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D
に表わされる.
‒ wを基底係数cとバイナリ基底ベクトルmに分解
まず,SVM の重みベクトル w を重み c とバイナリ
D
¯
¯
m+ ∈ {0, 1}4.2.1 分解法を用いた線形識別器の近似計算
に分解 (m = m+ − m+ ) することで,
D
基底ベクトル m ∈ {−1, 1} に分解する.線形 SVM F (b) は,
式 (9) の線形 SVM により学習した識別器 の
線形SVM : に示すように線形
(10) F (b) = wT b
(9)
4.2.1 分解法を用いた線形識別器の近似計算 SVM の内積の近似値を計算

識別器 F (b) は,SVM の重みベクトル の内積計算で成り立つ.
バイナリ型特徴量 b と重み w w を分解して

B-HOG
きる. 重みベクトル とバイナリ基底ベクトル m を用い
人検出の問題では,膨大な数の検出ウィンドウを処理
式 (9) の線形 SVM により学習した識別器 F (b) は,
得られる重み係数 c
することになるため,多大な計算量を要する.そこで,
バイナリ型特徴量 b と重み w の内積計算で成り立つ.
Nb
ここで, は特徴量に対する重みを表す.画像中から

w ることで,F (b) ≈ f (b) =
Nb
i=1 ci mi b と近似できる.
Hare らによって提案された実数ベクトルの分解法 [13]
人検出の問題では,膨大な数の検出ウィンドウを処理
物体を検出する際には,検出ウィンドウをラスタスキャ
近似計算 :
f (b) =
ci mi b
ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D と
を利用してバイナリ型特徴量 b と重み w の内積計算を
することになるため,多大な計算量を要する.そこで,
i=1
近似する.
¯
m+ ∈ {0, 1}D に分解 (m = m+ − ¯ +
Hare らによって提案された実数ベクトルの分解法 B-HOG 特徴量に
ンし,検出ウィンドウから抽出した [13] m ) することで,式 数

まず, の内積計算を
す
を利用してバイナリ型特徴量 b と重み NbSVM の内積の近似値を計算で
w
(10) に示すように線形SVM の重みベクトル w を重み c とバイナリ
+ D
対する識別器のスコア = を計算し,この値を閾値処 >) サ
基底ベクトル (< {−1, , b > − < m+ , SVM の
近似する.
バイナリ基底ベクトル: im ∈ m 1} に分解する.線形 b
¯
c

F (b)
i
i
きる.
識別器 F
まず,SVM の重みベクトル w を重み (b) は,SVM の重みベクトル w を分解して
基底係数ベクトル: c とバイナリ
i=1
理することで人もしくは背景に判定する.
の
D
得られる重み係数 c の
基底ベクトル m ∈ {−1,基底数 :Nb N
1} に分解する.線形 SVMとバイナリ基底ベクトル m を用い
b
線
このような識別器による人検出では VGA サイズの
f (b) = ることで,を分解して = N
ci w b
識別器 F (b) は,SVM の重みベクトルmiF (b) ≈ f (b) + i=1 ci mi b と近似できる.
b

=
ci (2 < mi , b > −|b|)
ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D と

i=1
得られる重み係数 c とバイナリ基底ベクトル m を用い

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!61

と
することになるため,多大な計算量を要する.そこで,

クセル,ブロックの大きさを b と統計的学習手法である
得られた B-HOG 特徴量 2 セルとした場合,1 つ ここで,バイナリ基底ベクトル m を m+ ∈ {0,
ペックの組み込み系ハードウェアで動作らによって提案された実数ベクトルの分解法 [13]
Hare
検出ウィンドウから 3, 360 ビットのバイナリコード m+ ∈ {0, 1}D に分解 (m = m+ − m+ ) すること
¯
¯
4.2.1 分解法を用いた線形識別器の近似計算

port Vector Machine(SVM) により線形識別器 F (·)
分解法を用いた線形SVMの近似計算
ある.そのため,低計算量かつ低メモリ使
を利用してバイナリ型特徴量 b と重み
得られる.符号なし 8 ビット整数型でバイナリコー (10) に示すように線形 SVM w の内積計算を
の内積の近似値を
学習する.線形 SVM による識別関数は式 (9) のよう
式 (9) の線形 SVM により学習した識別器 F (b) は,
ルゴリズムが望まれており,我々は 近似する.
HOG
図 11: B-HOG 特徴量の計算.
を表現した場合,HOG 特徴量と比較してメモリ使用
きる.
バイナリ型特徴量 b
表わされる.
化することで計算コストとメモリ使用量 SVM と重み w の内積計算で成り立つ.
まず, 近似計算 :
の重みベクトル w を重み c とバイナリ
を 1/8 に削減できる.
線形SVM B-HOG 特徴量の計算.
:
人検出の問題では,膨大な数の検出ウィンドウを処理
図 11:
Nb
得られた B-HOG 特徴量 b と統計的学習手
法 [15] を提案した.しかしながら,識別
基底ベクトル m ∈ {−1, 1}D に分解する.線形 SVM の
f (b) =
ci mi b
F (b) = wT b することになるため,多大な計算量を要する.そこで,
(9) Vector Machine(SVM)
SupportSVM の重みベクトル w により線形識別
ついては未だに解決されていない.そこ F (b) は,
識別器
Hare らによって提案された実数ベクトルの分解法 [13] を分解して
i=1
得られた B-HOG 特徴量 b と統計的学習手法である
を学習する.線形 bSVM による識別関数は式 (9
4.2.1 分解法を用いた線形識別器の近似計算b
N
識別器の計算量を削減するために,識別
得られる重み係数
を利用してバイナリ型特徴量
こで,w は特徴量に対する重みを表す.画像中から F (·) と重み w の内積計算を m を用い
Support Vector Machine(SVM) により線形識別器 c とバイナリ基底ベクトル
¯i
= = Nib(< m+ , b > − < m+ , b >
c
に表わされる.
近似する.
,さらに早期に識別を判定するアルゴリ
ることで,F (b) ≈ f F (b) は, ci mi b と近似できる.
(b)
図 11: B-HOG 特徴量の計算.
i
i=1
式 (9) SVM による識別関数は式 (9) のよう
を学習する.線形 の線形 SVM により学習した識別器
体を検出する際には,検出ウィンドウをラスタスキャ
:実数
i=1
まず,SVM の重みベクトル w を重み c とバイナリ
た人検出法 [16] について述べる. ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D と
:バイナリ{1,-1}
Nb
バイナリ型特徴量 b と重み w の内積計算で成り立つ.
に表わされる.
し,検出ウィンドウから抽出した B-HOG 特徴量に B-HOG特徴量の次元数SVM b
F+ = wT
(b)
基底ベクトル m ∈ D
{−1, 1}D に分解する.線形 + + の
+
られた B-HOG 特徴量 b と統計的学習手法である に分解 (m = mc (2 m m することで,式
¯
¯
m
=
G 特徴量と SVM による人検出 識別器 F∈ {0, 1}SVM の重みベクトル w− < ) i , b > −|b|)
人検出の問題では,膨大な数の検出ウィンドウを処理 i を分解して
(b) は,
する識別器のスコア F (b) を計算し,この値を閾値処
i=1
rt Vector Machine(SVM) により線形識別器 F (·)
B-HOG特徴量の次元数 wT b (10) に示すように線形 SVM の内積の近似値を計算で
F (b) =
(9)
ここで,w は特徴量に対する重みを表す.画
of Orientedすることになるため,多大な計算量を要する.そこで,
Gradients(HOG) 特徴量 [14]
得られる重み係数 c とバイナリ基底ベクトル m を用い
することで人もしくは背景に判定する. のよう
Nb
習する.線形 SVM による識別関数は式 (9)F (b) ≈ (10) に含まれるバイナリコードの内積 < 図
図 11: B-HOG 特徴量の計算. きる.
ることで,
式 f (b) = i=1 c mi b
m
物体を検出する際には,検出ウィンドウをラス
ンドウからセルと呼ばれる局所領域毎に
Hare らによって提案された実数ベクトルの分解法 i[13] と近似できる.
このような識別器による人検出では VGA サイズの
ここで,
ここで,バイナリ基底ベクトル
わされる. w は特徴量に対する重みを表す.画像中から m を m+ ∈ {0, 1}D と
は論理積とビットカウントで計算できる.3 章
を利用してバイナリ型特徴量 b D ンし,検出ウィンドウから抽出した B-HOG
方向ヒストグラムを特徴量とする.HOG と重み w の内積計算を
得られた B-HOG 特徴量 b と統計的学習手法である 基底数 Nb
+
像に対して検出ウィンドウを網羅的にラスタスキャ = m+ − m+ ) することで,式 数マージン内
¯
m ∈ {0, 1} に分解 (m c m ¯
物体を検出する際には,検出ウィンドウをラスタスキャ i b
=
i
近似する.T により線形識別器f (b)対する識別器のスコア F (b) を計算し,この値
数のセルで構成されるブロック領域で正F (·) たように論理演算やビットカウントは実数ベク
pport Vector Machine(SVM)
する.関数マ
(10) に示すように線形 i=1 の内積の近似値を計算で
F (b) = w b
(9) SVM
する場合,数万個の検出ウィンドウを処理すること
ンし,検出ウィンドウから抽出した B-HOG 特徴量に
積算より遥かに高速に計算できる.また,SSE4
まず,SVM の重みベクトル
学習する.線形 SVM による識別関数は式 (9) のようを重み c とバイナリ
サンプルは,
め,局所的な照明変化の影響を受けにく w 理することで人もしくは背景に判定する.
きる.
Nb
なる.これら全てのウィンドウから特徴量を抽出し,
対する識別器のスコア F (b) を計算し,この値を閾値処
CPU
表わされる. 特徴量 [15] は,図{−1, 1}D に分解する.線形 SVM の
このような識別器による人検出では VGA サ
で,w は特徴量に対する重みを表す.画像中から に実装されている POPCNT,関数を利用す
.B-HOG 基底ベクトル m ∈ 3000)の
11 に示す
¯i
N=
ci (< m+ , b > − < m+ bの誤差の少な
>)
b
i
特徴量bが高次元数(D=
別器理することで人もしくは背景に判定する.内積   は,きわめて高速に算出可能 線形 SVM の
F (b) のスコアを求める必要があるため,高速な を分解して
f (b) = で非常に高速に処理できる.
識別器 F (b) は,SVM の重みベクトル w
i=1
を検出する際には,検出ウィンドウをラスタスキャci mi b
特徴量を 2 値化したバイナリコードで表 (9) 画像に対して検出ウィンドウを網羅的にラス
とき、内積  b に時間を要する
F (b) = wT
i=1
とで高速な識
このような識別器による人検出では VGA線形 Nb m を用い
サイズの
体検出実現するためには識別処理を高速化する必要SVM の近似計算結果の過程を図 12 に示
得られる重み係数 c B-HOG 特徴量に
とバイナリ基底ベクトル
Nb
ンする場合,数万個の検出ウィンドウを処理す
,検出ウィンドウから抽出した
である.セルと呼ばれる局所領域毎に作
図 13 に提案
=c (< m+i (2> −m+¯ b, > >)
c,
,
(10)
Nb
画像に対して検出ウィンドウを網羅的にラスタスキャb < <i m+ b −|b|) 図 12: 線形 S
ある.w は特徴量に対する重みを表す.画像中から i底数が少ない段階では,おおまかな識別器のス
こで,
ることで,を計算し,この値を閾値処bi と近似できる. i
FHOG 特徴量を 2 = c になる.これら全てのウィンドウから特徴量を
(b) ≈ f (b) = i=1 mi
i
る識別器のスコア F (b)
!62
向ヒストグラムである
ンプルの割合
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
i=1
実数ベクトルの分解アルゴリズム

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

[Hare2012]

!63
+
+ D に分解する.線形
数
基底ベクトル m ∈ {−1, 1}することで,式 SVM
¯
に分解 (m = m − m )

¯
m ∈ {0, 1}
線形SVMの近似計算法 F (b) は,SVM の重みベクトル w を分解し
識別器
す
(10) に示すように線形 SVM の内積の近似値を計算で
得られる重み係数 c とバイナリ基底ベクトル m を用
サ
きる.
Nb
• 線形SVMの内積を近似計算 (b) ≈ f (b) = i=1 ci mi b と近似でき
ることで,F
の
+
D
+

D

f (b)

=
=

Nb
ここで,バイナリ基底ベクトル m を m
基底バイナリコードの分解

∈ {0, 1}

線
¯ i {0, 1}
¯
m+c∈mi b D に分解 (m = m+ − m+ ) することで,
i=1 に示すように線形 SVM の内積の近似値を計算
と
(10)
Nb
きる.

{ -1 , c (< m+ , b }> − <
1}
{0,1
i
i
Nb
i=1
ビット演算による内積計算ができない

Nb

=
i=1

f (b)

=

¯i
m+ , b >)

ン

ci mi b

す

i=1

ci (2 < m+ ,Nb > −|b|)
i b
=

i=1

(10)

¯i
ci (< m+ , b > − < m+ , b >)
i

し

Nb
式 (10) に含まれるバイナリコードの内積 < m+ , b >
i

=

ci (2 <

m+ , b
i

> −|b|)

は論理積とビットカウントで計算できる.3 章で述べ
i=1
たように論理演算やビットカウントは実数ベクトルの

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

の

期

(

で
+
!64
¯+
m+ ∈
¯

D
数
基底ベクトル m ∈ {−1, 1}D に分解する.線形 数
D に分解 (m = m+ − m+ ) することで,式 SVM
+
¯+
{0, 1}
¯

m ∈ {0, 1} に分解 (m =
) することで,式
線形SVMの近似計算法 F (b) m − m の重みベクトル w を分解し
識別器
は,SVM
す
す
(10) に示すように線形 SVM の内積の近似値を計算で
(10) に示すように線形 SVM の内積の近似値を計算で
得られる重み係数 c とバイナリ基底ベクトル m を用
サ
サ
きる.
Nb
• きる.
線形SVMの内積を近似計算 (b) ≈ f (b) = i=1 ci mi b と近似でき
ることで,F
の
の
+
Nb
ここで,バイナリ基底ベクトル m を m ∈ {0, 1}D
Nb
基底バイナリコードの分解
線
線
f (b) = m+c∈mi b D に分解 (m = m+ − m+ ) することで,
¯
{0, 1}
f (b) = ¯ ci mi b
i
i=1 に示すように線形 SVM の内積の近似値を計算
と
(10)
i=1
と

=
=

Nb
Nb
きる.

i=1
i=1
Nb
Nb
i=1
i=1

+
+
¯i
ci (< m+ , b > − < m+ , b >)
i
i
i
i
Nb

f (b)

=

ci mi b

i=1

の
¯i
=内積 ci (<ノルムb > − < m+ , b >)
m+ ,
i
し
i=1

+
ci (2 < m+ ,Nb > −|b|)
i b
i
i

(10)

+
内積 → 論理積 + ビットカウント
Nb
式 (10) に含まれるバイナリコードの内積 < mi , b >
式 (10) に含まれるバイナリコードの内積+
ノルム → ビットカウント (2 < m , b > −|b|)
=
ci
i
は論理積とビットカウントで計算できる.3 章で述べ
は論理積とビットカウントで計算できる.
i=1
→POPCNT関数を利用して非常に高速な演算が可能

たように論理演算やビットカウントは実数ベクトルの
たように論理演算やビットカウントは実数ベクトルの

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

ン
す

期
(
で

+
!65
基底数による識別器の近似計算結果
• 人検出の学習サンプルによる計算結果

0.0

-6.0

ネガティブサンプル

0

2

画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

4

基底数

6

8

識別境界
識別境界
識別境界
識別境界
識別境界
識別境界
識別境界

識別器の出力値

6.0

10

!66
基底数による識別器の近似計算結果
• 人検出の学習サンプルによる計算結果

0.0

ネガティブサンプル

識別境界

識別器の出力値

6.0

関数マージン
から離れている

-6.0

0

2

4

基底数

6

8

10

関数マージンから離れている → 近似計算の打ち切りが可能
画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘

!67
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition
VIEW2013 Binarycode-based Object Recognition

Weitere ähnliche Inhalte

Was ist angesagt?

Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Masaya Kaneko
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量takaya imai
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Masaya Kaneko
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -MPRG_Chubu_University
 
SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)Masaya Kaneko
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusionHiroki Mizuno
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code ReadingTakuya Minagawa
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料Fujimoto Keisuke
 
[DL輪読会]Let there be color
[DL輪読会]Let there be color[DL輪読会]Let there be color
[DL輪読会]Let there be colorDeep Learning JP
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)Hiroharu Kato
 
SSII2020 [O3-01] Extreme 3D センシング
SSII2020 [O3-01]  Extreme 3D センシングSSII2020 [O3-01]  Extreme 3D センシング
SSII2020 [O3-01] Extreme 3D センシングSSII
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII
 
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識Hironobu Fujiyoshi
 

Was ist angesagt? (20)

Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 
Visual slam
Visual slamVisual slam
Visual slam
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説
 
G2o
G2oG2o
G2o
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
 
SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
[DL輪読会]Let there be color
[DL輪読会]Let there be color[DL輪読会]Let there be color
[DL輪読会]Let there be color
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
 
SSII2020 [O3-01] Extreme 3D センシング
SSII2020 [O3-01]  Extreme 3D センシングSSII2020 [O3-01]  Extreme 3D センシング
SSII2020 [O3-01] Extreme 3D センシング
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
-SSIIの技術マップ- 過去•現在, そして未来 [領域]認識
 

Andere mochten auch

第17回関西CVPRML勉強会 (一般物体認識) 1,2節
第17回関西CVPRML勉強会 (一般物体認識) 1,2節第17回関西CVPRML勉強会 (一般物体認識) 1,2節
第17回関西CVPRML勉強会 (一般物体認識) 1,2節Yasutomo Kawanishi
 
Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識篤 富田
 
艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編
艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編
艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編YSRKEN
 
AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料ぱろすけ
 
艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル
艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル
艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアルYSRKEN
 
やさしい画像認識教室 ~ゲーム編~
やさしい画像認識教室 ~ゲーム編~やさしい画像認識教室 ~ゲーム編~
やさしい画像認識教室 ~ゲーム編~YSRKEN
 
深層学習 - 画像認識のための深層学習 ②
深層学習 - 画像認識のための深層学習 ②深層学習 - 画像認識のための深層学習 ②
深層学習 - 画像認識のための深層学習 ②Shohei Miyashita
 
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―YSRKEN
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
画像認識のための深層学習
画像認識のための深層学習画像認識のための深層学習
画像認識のための深層学習Saya Katafuchi
 

Andere mochten auch (11)

第17回関西CVPRML勉強会 (一般物体認識) 1,2節
第17回関西CVPRML勉強会 (一般物体認識) 1,2節第17回関西CVPRML勉強会 (一般物体認識) 1,2節
第17回関西CVPRML勉強会 (一般物体認識) 1,2節
 
Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識
 
艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編
艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編
艦これ支援ツール『おりこうさんな秘書』解説 2:シーン認識編
 
Icml2017 overview
Icml2017 overviewIcml2017 overview
Icml2017 overview
 
AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料
 
艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル
艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル
艦これ支援ツール『おりこうさんな秘書』解説 1:チュートリアル
 
やさしい画像認識教室 ~ゲーム編~
やさしい画像認識教室 ~ゲーム編~やさしい画像認識教室 ~ゲーム編~
やさしい画像認識教室 ~ゲーム編~
 
深層学習 - 画像認識のための深層学習 ②
深層学習 - 画像認識のための深層学習 ②深層学習 - 画像認識のための深層学習 ②
深層学習 - 画像認識のための深層学習 ②
 
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
画像認識のための深層学習
画像認識のための深層学習画像認識のための深層学習
画像認識のための深層学習
 

Ähnlich wie VIEW2013 Binarycode-based Object Recognition

SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​SSII
 
20190831 3 d_inaba_final
20190831 3 d_inaba_final20190831 3 d_inaba_final
20190831 3 d_inaba_finalDaikiInaba
 
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)kanejaki
 
ECCV2020 オーラル論文完全読破 (2/2)
ECCV2020 オーラル論文完全読破 (2/2) ECCV2020 オーラル論文完全読破 (2/2)
ECCV2020 オーラル論文完全読破 (2/2) cvpaper. challenge
 
StyleGAN解説 CVPR2019読み会@DeNA
StyleGAN解説 CVPR2019読み会@DeNAStyleGAN解説 CVPR2019読み会@DeNA
StyleGAN解説 CVPR2019読み会@DeNAKento Doi
 
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...cvpaper. challenge
 
Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...
Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...
Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...Rei Takami
 
赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツTakehisa Ikeda
 
Devil is in the Edges: Learning Semantic Boundaries from Noisy Annotations
Devil is in the Edges: Learning Semantic Boundaries from Noisy AnnotationsDevil is in the Edges: Learning Semantic Boundaries from Noisy Annotations
Devil is in the Edges: Learning Semantic Boundaries from Noisy AnnotationsKazuyuki Miyazawa
 
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Yoshitaka Ushiku
 
落合陽一前陣速攻のスライド0131 #JILS
落合陽一前陣速攻のスライド0131 #JILS 落合陽一前陣速攻のスライド0131 #JILS
落合陽一前陣速攻のスライド0131 #JILS Yoichi Ochiai
 
チュートリアルのススメ -チュートリアルのためのチュートリアル-
チュートリアルのススメ -チュートリアルのためのチュートリアル-チュートリアルのススメ -チュートリアルのためのチュートリアル-
チュートリアルのススメ -チュートリアルのためのチュートリアル-Hironobu Fujiyoshi
 
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningSoft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningKohei Nishimura
 
文字列曖昧検索によるマルウェアバイナリ解析
文字列曖昧検索によるマルウェアバイナリ解析文字列曖昧検索によるマルウェアバイナリ解析
文字列曖昧検索によるマルウェアバイナリ解析Preferred Networks
 
DLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
DLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationDLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
DLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose Estimationharmonylab
 
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)Takao Yamanaka
 
ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)
ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)
ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)KnowledgeGraph
 
PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)
PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)
PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)Akira Nakagawa
 
A Study on the Generation of Clothing Captions Highlighting the Differences b...
A Study on the Generation of Clothing Captions Highlighting the Differences b...A Study on the Generation of Clothing Captions Highlighting the Differences b...
A Study on the Generation of Clothing Captions Highlighting the Differences b...harmonylab
 

Ähnlich wie VIEW2013 Binarycode-based Object Recognition (20)

SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
SSII2020TS: 機械学習モデルの判断根拠の説明​ 〜 Explainable AI 研究の近年の展開 〜​
 
20190831 3 d_inaba_final
20190831 3 d_inaba_final20190831 3 d_inaba_final
20190831 3 d_inaba_final
 
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
 
ECCV2020 オーラル論文完全読破 (2/2)
ECCV2020 オーラル論文完全読破 (2/2) ECCV2020 オーラル論文完全読破 (2/2)
ECCV2020 オーラル論文完全読破 (2/2)
 
StyleGAN解説 CVPR2019読み会@DeNA
StyleGAN解説 CVPR2019読み会@DeNAStyleGAN解説 CVPR2019読み会@DeNA
StyleGAN解説 CVPR2019読み会@DeNA
 
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
 
Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...
Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...
Study on Visual Analytics Framework for Formulating Evaluation Metrics of Mul...
 
赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ
 
Devil is in the Edges: Learning Semantic Boundaries from Noisy Annotations
Devil is in the Edges: Learning Semantic Boundaries from Noisy AnnotationsDevil is in the Edges: Learning Semantic Boundaries from Noisy Annotations
Devil is in the Edges: Learning Semantic Boundaries from Noisy Annotations
 
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
 
落合陽一前陣速攻のスライド0131 #JILS
落合陽一前陣速攻のスライド0131 #JILS 落合陽一前陣速攻のスライド0131 #JILS
落合陽一前陣速攻のスライド0131 #JILS
 
チュートリアルのススメ -チュートリアルのためのチュートリアル-
チュートリアルのススメ -チュートリアルのためのチュートリアル-チュートリアルのススメ -チュートリアルのためのチュートリアル-
チュートリアルのススメ -チュートリアルのためのチュートリアル-
 
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D ReasoningSoft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
 
文字列曖昧検索によるマルウェアバイナリ解析
文字列曖昧検索によるマルウェアバイナリ解析文字列曖昧検索によるマルウェアバイナリ解析
文字列曖昧検索によるマルウェアバイナリ解析
 
SIGGRAPH 2019 Report
SIGGRAPH 2019 ReportSIGGRAPH 2019 Report
SIGGRAPH 2019 Report
 
DLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
DLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationDLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
DLゼミ: ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)高速な物体候補領域提案手法 (Fast Object Proposal Methods)
高速な物体候補領域提案手法 (Fast Object Proposal Methods)
 
ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)
ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)
ナレッジグラフ推論チャレンジ2018ミートアップ@東京(2018/12/26)
 
PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)
PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)
PCSJ/IMPS2021 講演資料:深層画像圧縮からAIの生成モデルへ (VAEの定量的な理論解明)
 
A Study on the Generation of Clothing Captions Highlighting the Differences b...
A Study on the Generation of Clothing Captions Highlighting the Differences b...A Study on the Generation of Clothing Captions Highlighting the Differences b...
A Study on the Generation of Clothing Captions Highlighting the Differences b...
 

Mehr von Hironobu Fujiyoshi

MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開Hironobu Fujiyoshi
 
知識転移グラフによる複数ネットワークの 共同学習
知識転移グラフによる複数ネットワークの 共同学習知識転移グラフによる複数ネットワークの 共同学習
知識転移グラフによる複数ネットワークの 共同学習Hironobu Fujiyoshi
 
【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」
【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」
【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」Hironobu Fujiyoshi
 
第6回 京都大学-稲盛財団合同京都賞シンポジウム
第6回 京都大学-稲盛財団合同京都賞シンポジウム第6回 京都大学-稲盛財団合同京都賞シンポジウム
第6回 京都大学-稲盛財団合同京都賞シンポジウムHironobu Fujiyoshi
 
エッジにおける深層学習の推論処理の効率化
エッジにおける深層学習の推論処理の効率化エッジにおける深層学習の推論処理の効率化
エッジにおける深層学習の推論処理の効率化Hironobu Fujiyoshi
 
画像認識における特徴表現 -SSII技術マップの再考-
画像認識における特徴表現 -SSII技術マップの再考-画像認識における特徴表現 -SSII技術マップの再考-
画像認識における特徴表現 -SSII技術マップの再考-Hironobu Fujiyoshi
 
Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3 Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3 Hironobu Fujiyoshi
 
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)Hironobu Fujiyoshi
 
次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -
次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -
次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -Hironobu Fujiyoshi
 
Problem Based Learning with LEGO Mindstorms
Problem Based Learning with LEGO MindstormsProblem Based Learning with LEGO Mindstorms
Problem Based Learning with LEGO MindstormsHironobu Fujiyoshi
 
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元Hironobu Fujiyoshi
 
統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-
統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-
統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-Hironobu Fujiyoshi
 
統計的学習手法よる人検出
統計的学習手法よる人検出統計的学習手法よる人検出
統計的学習手法よる人検出Hironobu Fujiyoshi
 
藤吉研究室10周年記念「これまで10年,ここから10年」
藤吉研究室10周年記念「これまで10年,ここから10年」藤吉研究室10周年記念「これまで10年,ここから10年」
藤吉研究室10周年記念「これまで10年,ここから10年」Hironobu Fujiyoshi
 

Mehr von Hironobu Fujiyoshi (16)

MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
MIRU2020長尾賞受賞論文解説:Attention Branch Networkの展開
 
知識転移グラフによる複数ネットワークの 共同学習
知識転移グラフによる複数ネットワークの 共同学習知識転移グラフによる複数ネットワークの 共同学習
知識転移グラフによる複数ネットワークの 共同学習
 
【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」
【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」
【第40回AIセミナー】「説明できるAI 〜AIはブラックボックスなのか?〜」
 
第6回 京都大学-稲盛財団合同京都賞シンポジウム
第6回 京都大学-稲盛財団合同京都賞シンポジウム第6回 京都大学-稲盛財団合同京都賞シンポジウム
第6回 京都大学-稲盛財団合同京都賞シンポジウム
 
エッジにおける深層学習の推論処理の効率化
エッジにおける深層学習の推論処理の効率化エッジにおける深層学習の推論処理の効率化
エッジにおける深層学習の推論処理の効率化
 
画像認識における特徴表現 -SSII技術マップの再考-
画像認識における特徴表現 -SSII技術マップの再考-画像認識における特徴表現 -SSII技術マップの再考-
画像認識における特徴表現 -SSII技術マップの再考-
 
Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3 Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3
 
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
 
次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -
次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -
次世代セキュリティを牽引する画像解析技術の最新動向 - 距離情報を用いた物体認識技術 -
 
Problem Based Learning with LEGO Mindstorms
Problem Based Learning with LEGO MindstormsProblem Based Learning with LEGO Mindstorms
Problem Based Learning with LEGO Mindstorms
 
Random Forests
Random ForestsRandom Forests
Random Forests
 
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
 
統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-
統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-
統計的学習手法による物体検出の高精度化と効率化 -人検出の実用化に向けて-
 
統計的学習手法よる人検出
統計的学習手法よる人検出統計的学習手法よる人検出
統計的学習手法よる人検出
 
藤吉研究室10周年記念「これまで10年,ここから10年」
藤吉研究室10周年記念「これまで10年,ここから10年」藤吉研究室10周年記念「これまで10年,ここから10年」
藤吉研究室10周年記念「これまで10年,ここから10年」
 
ICCV2011 report
ICCV2011 reportICCV2011 report
ICCV2011 report
 

VIEW2013 Binarycode-based Object Recognition

  • 3. SIFTのキーポイント検出 [Lowe2004], ICCV1999で発表 • DoG画像によるスケールスペースから極値を検出 - k⁴σ₀ k 3σ 0 - k 2σ 0 - € kσ 0 € σ0 € スケール 平滑化画 DoG画像 € 複数のDoG画像の算出は計算コストが高い 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !3
  • 4. SIFTの特徴記述子 [Lowe2004] • 勾配方向ヒストグラムによる特徴記述 ‒ 128次元の実数型特徴ベクトル 8方向 4分割 ! ! ! ! ! ! ガウス窓 4分割 • 問題点 ‒ 特徴量記述と距離計算(ユークリッド距離計算)に時間を要する ‒ キーポイント数が増えるとメモリ消費量が増大 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !4
  • 5. バイナリコード表現を用いた物体認識の進展開 1. SIFT以降のアプローチ - バイナリコード型特徴量と機械学習の導入 ! 2. バイナリ-実数ベクトル間の距離計算と高速化 - サーバ&クライアントシステムにおける特定物体認識 ! 3. 物体検出におけるバイナリコード表現と高速化演算 - B-HOG特徴量と分解法による高速識別 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !5
  • 7. Harrisのコーナー検出 • Harris行列を用いたコーナー検出 H = g( ) 2 Ix (x) Ix Iy (x) 2 Ix Iy (x) Iy (x) Ix (·):x軸方向の1次微分 ⇥ Iy (·):y軸方向の1次微分 第一固有値 : α 第二固有値 : β g(·):ガウス関数 (1次微分の値をガウス関数で平滑化することにより2次微分の計算の代用となる) 判別式 β R = det(H) ktr(H)2 (k = 0.04 ∼ 0.06) Edge R Corner 0 (α, βともに小さい) :フラット R << 0 (α>>β または β>>α) :エッジ R >> 0 (α, βともに大きい) :コーナー Flat Edge α 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !7
  • 8. FAST: Features from Accelerated Segment Test [Rosten2010] • 注目画素 p の周辺の円周上の16画素を観測し決定木に よりコーナーを判定 注目画素 p の輝度値 円周上の輝度値 しきい値 円周上の輝度値が連続してn 個以上が明るい,もしくは暗い点→コーナーと判定 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
  • 11. コーナー検出器の比較 • Harris, FAST, FAST(Pyramid)の検出時間の比較 FAST Harris FAST(Pyramid) コーナー数:80 コーナー数:164 コーナー数:285 処理時間:20.6 [ms] 処理時間:0.6 [ms] 処理時間:1.5 [ms] 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !11
  • 12. キーポイント記述子の変遷 図 1: 記述子の遷移. 2.1 実数型特徴量の欠点 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 2.2 バイナリコードの利点 !12
  • 13. SIFT以降のキーポイント記述子 • バイナリコードによる特徴記述 ‒ 直接的バイナリコード化(学習なし) ‒ 直接的バイナリコード化(教師無し学習) ‒ 変換行列を用いた間接的バイナリコード化(教師あり学習) 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !13
  • 14. バイナリコードの利点 • バイナリコードで特徴記述 ‒ SIFT:128次元 8bit (unsigned char) ‒ 数十∼数百個程度の0と1から成るバイナリコードで表現 • メリット ‒ 大幅な省メモリ化が可能 ‒ ハミング距離による高速な距離計算 XOR 010010000 010010101 000000101 ハミング距離: 2 →SSE命令で高速に演算可能 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !14
  • 15. 距離計算の速度比較 ハミング距離 [SSE4.2(_mm_popcnt_u64)] ハミング距離 [8bitLUT] ユークリッド距離の2乗 64ビット バイナリコード によるハミング距離 128ビット 256ビット 512ビット 実数ベクトルによる ユークリッド距離 128次元 0 50 100 150 200 処理時間 [ns] 250 300 350 (CPU : Intel Xeon X7452 2.67GHz) SSE4.2(popcnt)を用いると約10倍高速に距離計算が可能 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !15
  • 16. バイナリコード表現を用いた局所特徴量 • 直接的バイナリコード化 ‒ BRIEF, BRISK, ORB, FREAK • 輝度値の大小関係等の簡単な処理によりバイナリコード化     計算コストが非常に小さい ! • 間接的バイナリコード化 ‒ CARD, D-BRIEF, BinBoost • 変換行列を用いてバイナリコード化     効率の良いバイナリコードで特徴を表現可能 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !16
  • 17. BRIEF [Calonder2010] • バイナリコードの生成アルゴリズム ‒ パッチをガウシアンフィルタにより平滑化 ‒ 事前にランダム選択したペア(2点)の画素値の大小関係からバイナ リコードを生成 キーポイント パッチ 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 ガウシアン分布に基づきペアを決定 !17
  • 18. サンプリングパターン(参照ペア)の学習 • 良いバイナリコードを生成するためには? ‒ バイナリコードの独立性(エントロピー)が高い ‒ 外乱(回転,幾何学的な変形,照明変化)に対して頑健    参照する領域ペアの選び方が重要 ! • 参照する領域ペアの組合わせ方を機械学習により獲得 ‒ 教師なし学習 : バイナリコードのエントロピーが高い組合わせ • ORB,FREAK ‒ 教師付き学習 : バイナリコードの頑健性の高い組合わせ • D-BRIEF,BinBoost 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !18
  • 19. ORBにおけるペアの選択方法 [Rublee2011] 教師なし学習 • Greedy Algorithmにより効率の良い参照ペアを決定 ‒ 学習画像から300,000点のキーポイントを抽出 ‒ 各キーポイントのパッチ内の全てのペア(205,590通り)を観測 ‒ ビットの分散が最大かつビット間の相関が最小となる
 256個のペアを選択 大 相関 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 ビットの分散が大きく ビット間の相関が小さい ペアを選択 小 ビットの分散が大きな ペアを選択 !19
  • 20. バイナリコード表現を用いた局所特徴量 • 直接的バイナリコード化 ‒ BRIEF, BRISK, ORB, FREAK • 輝度値の大小関係等の簡単な処理によりバイナリコード化     計算コストが非常に小さい ! • 間接的バイナリコード化 ‒ CARD, D-BRIEF, BinBoost • 変換行列を用いてバイナリコード化     効率の良いバイナリコードで特徴を表現可能 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !20
  • 21. 変換行列を用いた間接的バイナリコード化 • 実数ベクトル(もしくはパッチ画像)を変換行列  を用い WT てバイナリコード化 バイナリコード(B bit) ( 変換行列 実数ベクトル(D次元) = sgn WT b x B 1 ) D 1 B D 変換行列を用いた計算時のボトルネック 回数 D=136次元, B=128bitsの場合 乗算 B D 17,408 加算 (D-1) B 17,280 変換行列  を最適化することで効率の良いバイナリコードに変換 WT 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !21
  • 22. うに,M-M のテーブルで表現できること CARD [Ambai2011] たがって,図 9,10 に示した 2 種類のテーブ とで,高速に勾配特徴量を算出できるように • 136次元の特徴量dを128次元のバイナリコードbに変換 (b)バイナリコード化 ‒ バイナリコード変換前後の距離が保存されるように を最適化 WT 特徴ベクトルをバイナリコードに変換する ‒ 元の情報を保持したバイナリコードを生成可能 ーチは,機械学習や web,大規模検索の分 • 高速なバイナリコード変換を実現するための拘束条件 究されている.これまでの研究により,多く ‒ Wの要素は{-1,0,+1}のいずれかの値のみ ード化手法は次の形で書けることが分かって ‒ Wの0要素が90% b/sgn PfPW Td+cQQ d は D 次元の特徴ベクトル,b は長さ B ビ 拘束条件の有無による計算量の比較 拘束条件なし 拘束条件あり リコード,c はオフセットベクトル,W は D 乗算回数 17,408 0 換行列,fP}Q は任意の関数である(d の平均 17,280 約1,740 加算回数 ルになるようにあらかじめ変換されている場 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !22
  • 23. D(Discriminative)-BRIEF [Trzcinski2012] 教師あり学習 • ポジティブサンプルとネガティブサンプルを用いて教師付 き学習により変換行列を求める • 学習用のパッチ画像生成 ‒ ポジティブサンプル(同一キーポイントのパッチ画像のペア) • 輝度変化,回転,キーポイント中心の位置ずれ ‒ ネガティブサンプル(異なるパッチ画像のペア) • 異なるキーポイントのパッチ画像 ポジティブサンプル ネガティブサンプル ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !23
  • 25. D-BRIEF [Trzcinski2012] 教師あり学習 • 変換行列w0を各ビット毎に単純なフィルタで近似 • 各フィルタを線形結合することで変換行列wを求める ! ! ! D : 辞書フィルタ,s : スパースベクトル,λ : L1正則化パラメータ =Ds ! ! ・ Dの計算には積分画像を利用 • sgn関数によりバイナリ化 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !25
  • 26. BinBoost [Trzcinski2013] 教師あり学習 • Boostingを用いたバイナリコードの生成 ‒ 学習サンプル(勾配画像ペア)の利用 • ポジテェイブサンプルP : 類似画像ペア • ネガティブサンプル N: 非類似画像ペア ‒ Pは同一,Nは非同一の符号を出力する             弱識別器hd,kを選択 ‒ 弱識別器hd,kの重みbd,kの計算 ‒ 学習サンプルの重みを更新 バイナリコードのdビット目の出力: 弱識別器の重み 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 弱識別器の出力 !26
  • 27. 2画像間の対応付けの速度比較 キーポイント検出 0.286 特徴量記述 0.301 距離計算 1.448 SIFT 2.035 (ユークリッド距離) 0.181 0.154 0.483 SURF 0.818 (ユークリッド距離) 0.002 0.025 0.423 FAST+ORB 0.450 (ハミング距離) 0.018 0.022 0.137 Cascaded FAST+ORB (ハミング距離) 0.0 0.177 0.5 1.0 1.5 2.0 2.5 処理時間 [s] (CPU : Intel Xeon X7452 2.67GHz) 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !27
  • 28. まとめ:SIFT以降のアプローチ • ローレベルビジョン(画像処理の前段)に機械学習が利用 ‒ FAST:決定木による高速化 ‒ バイナリ型局所特徴量:より性能の高い参照ペアや変換行列を学習 により獲得 ! • バイナリコードによる表現 ‒ 距離計算(ハミング距離)までを考慮した高速化と省メモリ化 ‒ SSE命令を利用することでさらに高速化 MIRU2013チュートリアル「画像局所特徴量SIFTとそれ以降のアプローチ」 http://www.slideshare.net/hironobufujiyoshi/miru2013sift 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !28
  • 29. 2. バイナリ-実数ベクトル間の距離計算と高速化 -サーバ&クライアントシステムにおける特定物体認識- Joint work with: 山内悠嗣 中部大 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 安倍満 吉田悠一 佐藤育郎 デンソーアイティラボラトリ !29
  • 32. サーバ&クライアントシステムにおける画像認識 • 認識性能を維持しながらデータ転送量を削減したい ‒ 非対称な特徴表現の導入 • クライアント : バイナリコード(実数ベクトルのBinary Hashingにより生成) • サーバ : 実数ベクトル 01011100 11011110 データ転送 00011001 バイナリコード 01011100 距離 01000100 ・ ・ 01011101 特徴点検出 実数ベクトル バイナリコード クライアント 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 メタ情報 画像検索 データベース サーバ !32
  • 33. 特徴量を実数ベクトル y とし 特徴量を実数ベクトル y として表現することで量子化 特徴量を実数ベクトル y として表現することで量子化 で述べたように,機械学習を用いてより短い り短い より短い 防ぐ.これにより,クライア 誤差による情報の欠落を防ぐ.これにより,クライア 誤差による情報の欠落を防ぐ.これにより,クライア 非対称な特徴表現における問題点 誤差による情報の欠落を防ぐ 算出す でより性能の高いバイナリ型特徴量を算出す を算出す タの転送量を少なくしたまま, ントからサーバへのデータの転送量を少なくしたまま, ントからサーバへのデータの ントからサーバへのデータの転送量を少なくしたまま, リ型特 ーチが利用されつつある.またバイナリ型特 ナリ型特 較して特徴点を対応付ける方 バイナリコード同士を比較して特徴点を対応付ける方 バイナリコード同士を比較し バイナリコード同士を比較して特徴点を対応付ける方 • バイナリコードと実数ベクトル間のユークリッド距離計算 を高速 抽出から距離計算までの処理過程全体を高速 体を高速 できる. 法よりも高い性能が期待できる. 法よりも高い性能が期待でき 法よりも高い性能が期待できる. 利用さ に利用さ における問題 とができるため,画像検索等の応用に利用さ いる. ! ! ! バイナリコード b 実数ベクトル y ! 図 7: 実数ベクトルとバイナリコード間の距離計算. 図 7: 実数ベクトルとバイナリコード間の距離計算. 図 7: 実数ベクトルとバイナ イナリコード間の距離計算. ‒ 異なる特徴空間の比較 行列の 換行列の ックスフィルタの線形結合による変換行列の • ベクトルのユークリッドノルムの大きさが異なる しかし,図 7 に示すようなベクトル間の距離計算の に示すような しかし,図 7 に示すようなベクトル間の距離計算の しかし,図 7 うなベクトル間の距離計算の ‒ 計算コスト 際に,非対称な特徴表現は 2 つの問題を発生させる.1 際に,非対称な特徴表現は 2 つの問題を発生させる.1 際に,非対称な特徴表現は 2 つ 2 つの問題を発生させる.1 • ハミング距離の計算よりも時間を要する つ目は,2 つの特徴空間が異なるために,実数ベクトル つ目は,2 つの特徴空間が異なるために,実数ベクトル つ目は,2 つの特徴空間が異な 異なるために,実数ベクトル 対称な特徴表現による画像検索 とバイナリコードを直接比較することができない点で とバイナリコードを直接比較することができない点で とバイナリコードを直接比較 比較することができない点で 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !33
  • 34. バイナリコードと実数ベクトルのユークリッド距離 • 異なる特徴空間から計算されたユークリッド距離は性能 低下を招く可能性がある (-1,1) (1,1) 01 11 y2 y1 b2 (-1,1) (1,1) b2 y1 b1 (-1,-1) (1,-1) 00 ユークリッド空間 10 (-1,-1) (1,-1) ハミング空間 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !34
  • 35. 図 6: クライアントサーバシステ 異なる特徴空間への対応:スケール係数の最適化 Binary hashing 法に依存する.本研究で用いる Bin • ユークリッド距離の比較 hashing 法である Iterative Quantization(ITQ)[12] ‒ D(Y,B) : バイナリコードと実数ベクトル間のユークリッド距離 合,実数ベクトルを計算すると平均ユークリッドノル は 0.65 となる.バイナリコード化した際のユーク ‒ D(Y,Y) : 実数ベクトル間のユークリッド距離 8 リッドノルムと比較して非常に小さな値となる.この 8 6 が大きすぎると,実数ベクトルを無視するような距 6 D(Y, Y) D(Y, Y) ドノルムは 5.65 となるため,バイナリコードのユー 10 D(Y, Y) D(Y, Y) 10 が計算されるため,大幅な性能の低下を招く.そこ 4 4 特徴空間をもう一方の特徴空間に合わせるために, 2 2 0 0 ルムの大きさを調節するスケール係数 α を導入し, 0 0 D(B, αY) (4) で示すコスト関数を最小化するように α を最適 D(αY, B) Non-optimization Optimization する. J(α) = ||αY − B||2 , スケール係数αの最適化 F 2 4 6 D(B, Y) D(Y, B) 8 10 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 L×N 2 4 6 8 10 !35
  • 36. 非対称な特徴表現とスケール係数の効果の検証 • 特徴点の対応付け性能の比較 ‒ 比較手法 • バイナリコード - バイナリコード間の比較 • バイナリコード - 実数ベクトル間の比較 • バイナリコード - 実数ベクトル+スケール最適化あり間の比較 ‒ 実験条件 • バイナリハッシング:Iterative Quantization (ITQ) [Gong2011] • 画像局所特徴量:SIFT 評価画像データ: 7冊を6視点から撮影 3冊を学習用, 4冊を評価用として使用 評価時にはホモグラフィ行列を使用 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !36
  • 37. 非対称な特徴表現とスケール係数の効果の検証 1 SIFT Matching rate 0.9 Binary vs. Binary (32 bits) Binary vs. Binary (64 bits) 0.8 Binary vs. Binary (128 bits) 0.7 Binary vs. Real (32 bits) 0.6 Binary vs. Real (64 bits) 0.5 Binary vs. Real (128 bits) 0.4 Binary vs. Real with opt.α(32 bits) 0 500 1000 1500 No. of matches 2000 2500 3000 (d) Iterative Quantization Binary vs. Real with opt.α(64 bits) Binary vs. Real with opt.α(128 bits) 性能比較(32bit):SIFT > Binary-Binary > Binary-Real 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !37
  • 38. 非対称な特徴表現とスケール係数の効果の検証 1 SIFT Matching rate 0.9 Binary vs. Binary (32 bits) Binary vs. Binary (64 bits) 0.8 Binary vs. Binary (128 bits) 0.7 Binary vs. Real (32 bits) 0.6 Binary vs. Real (64 bits) 0.5 Binary vs. Real (128 bits) 0.4 Binary vs. Real with opt.α(32 bits) 0 500 1000 1500 No. of matches 2000 (d) Iterative Quantization 2500 3000 Binary vs. Real with opt.α(64 bits) Binary vs. Real with opt.α(128 bits) 性能比較(32bit):SIFT > Binary-Real+α > Binary-Binary > Binary-Real スケール係数の最適化の効果あり 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !38
  • 39. 非対称な特徴表現とスケール係数の効果の検証 1 SIFT Matching rate 0.9 Binary vs. Binary (32 bits) Binary vs. Binary (64 bits) 0.8 Binary vs. Binary (128 bits) 0.7 Binary vs. Real (32 bits) 0.6 Binary vs. Real (64 bits) 0.5 Binary vs. Real (128 bits) 0.4 Binary vs. Real with opt.α(32 bits) 0 500 1000 1500 No. of matches 2000 (d) Iterative Quantization 2500 3000 Binary vs. Real with opt.α(64 bits) Binary vs. Real with opt.α(128 bits) 性能比較:SIFT >> 128bit >> 64bit >> 32bit ビット長を長くすると性能が向上, 128bitのとき伝送量は1/8に削減 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !39
  • 40. サーバにおける課題:高速な距離計算と省メモリ化 • サーバにおける課題 ‒ バイナリコードと実数ベクトル間の距離計算の高速化 ‒ データベースの省メモリ化 バイナリコード表現により伝送量1/8 課題1:高速化 01011100 11011110 データ転送 00011001 バイナリコード 01011100 距離 01000100 ・ ・ 01011101 特徴点検出 実数ベクトル バイナリコード クライアント メタ情報 画像検索 データベース サーバ 課題2:省メモリ化 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !40
  • 41. バイナリ-実数ベクトル間の高速なユークリッ (64, 128) をマルチス ド距離計算 サーバでの距離計算の高速化と省メモリ化 であり,膨大な数の検出ウィンドウを処理すると時間 ド距離計算 .1 出力する.例えば,検 し幅 lm = 4 としてラ を要するという問題がある.そこで,本研究では Hare ィンドウは約 2 万個と [12] バイナリコード らによって提案された近似計算法 yαを利用して,実 b と実数ベクトル y のユークリッド ドウから特徴抽出を行 • バイナリコードと実数ベクトル間のユークリッド距離 バイナリコード 数ベクトル間の内積をバイナリコード間の内積に置 b と実数ベクトル α のユークリッド める必要があり,物体 き換えることで,線形 SVM の高速な識別処理を実現 離の 2 乗 d(yα , b) は式 (5) により計算できる. ためには,特徴抽出過 離の 2 乗 d(y , b) は式 (5) により計算できる. する必要がある.特徴 こ こ { { α 実数ベクトル する. 分画像を用いた HOG バイナリコード 線形 SVM の近似計算法では,重みベクトル w を 2 d(yα , b) 実数ベクトル βα − b||2 = ||y と基底バイナリコード b ∈ {−1, 1} いる.識別過程では, d(yα , b) に分解する.Algorithm 1 に重みベクトル w の分解 = ||yα − b||2 2 する際に,線形 SVM T T アルゴリズム [12] を示す.線形 SVM による識別器 T = yα yα − 2yα b + bT b. る計算コストが高いと = y y − 2yT b + bT b. U を用いた線形 SVM よる高速化手法が提案 は は す す D F (x) は,重みベクトル w を分解して求めた実数ベ α α α (5) (5) クトル β と基底バイナリコード b を用いることで, F (x) ≈ f (x) = β b x と近似計算することが 5) の第 1 項はクライアント側のバイナリコードの内 速化手法は GPU 等の 5) の第 1 項はクライアント側のバイナリコードの内 できる. ここで, 基底バイナリコード b を b ∈ {0, 1} を別途必要とする. ¯ ¯ 定数(ビット長) と b に分解 (b = であり,サーバ側で事前計算可能 b − b ) することで,式 (4) に示 b ∈ {−1, 1} であるため,内積の結果は必ず であり,b ∈ {−1, 1} であるため,内積の結果は必ず Nb i=1 T i i + + + D + すように線形 SVM の近似計算を内積 < b+ , x > とノ i ット長の値となるため,事前に求められる.第 3 項は ルム |x| により計算することができる. ット長の値となるため,事前に求められる.第 3 項は 化として線形 SVM に 事前計算不可能 る.また,線形 SVM ーバ側の実数ベクトルの内積であり,事前に計算し f (x) = 多くの実数計算を必要とする βb x ーバ側の実数ベクトルの内積であり,事前に計算し 図 図 き き Nb T i i 要となる入力特徴ベク 内積結果をサーバ側で保持することができる.問題 下を解決するために, i=1 Nb 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !41
  • 42. クリッド距 算の効率化を図る.まず,実数ベクトル yα を サーバ側に バイナリコードと実数ベクトル間の高速な内積演算 提案した分解アルゴリズム (Algorithm1)[13] • 実数ベクトルの分解 [Hare2012] 次式のように k 個の重み係数 c と基底ベクト す.サーバ トルを保持 ‒ 実数ベクトルyαをk 個の基底cとバイナリ基底ベクトルMに分解 解する. のメモリ使 (6) yα ≈ c M, T 以上より × :実数 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 :バイナリ{1,-1} !42
  • 45. ド距離の計算 Algorithm 1 分解アルゴリズム 実数ベクトルの分解アルゴリズム [Hare2012] . り特徴点の対応付け性能を向 .3 高速なユークリッド距離の計算 Require: Algorithm 1 分解アルゴリズム. 実数ベクトル y, 基底数 Nb 1. 初期化 : 実数ベクトル y を残差ベクトル r に代入. スケールの最適化により特徴点の対応付け性能を向 Require: 実数ベクトル y, 基底数 Nb しかし,実数ベクトルとバイ 残差ベクトル r 50 実数ベクトル r = w1. 初期化 : 実数ベクトル y を残差ベクトル r に代入. 上させることができた.しかし,実数ベクトルとバイ ッド距離を計算するため,ハ r=w 25 2. w を重み係数 c とバイナリ基底ベクトル m に分解 ナリコード間のユークリッド距離を計算するため,ハ 初期化: 2. w を重み係数 c とバイナリ基底ベクトル m に分解 -10 30 -30 -40 20 for i = 1 to N= do Nb do 0 な計算コストを要する.そこ for i b 1 to ミング距離と比べて多大な計算コストを要する.そこ -25 2.1 残差ベクトル r を {-1,1} に変換 2.1 残差ベクトル r を {-1,1} に変換 で,実数ベクトルを少数の重み係数と基底ベクトルに の重み係数と基底ベクトルに -50 mi = sign(r) m 分解することで,実数ベクトルとバイナリコード間の i = sign(r) クトルとバイナリコード間の 2.2 残差ベクトル r とバイナリ基底ベクトル mi から重 2.2 残差ベクトルを算出 50 r とバイナリ基底ベクトル mi から重 バイナリ基底ベクトル ユークリッド距離を高速に求める.以下に分解法を用 み係数 c に求める.以下に分解法を用 み係数 c を算出 <r,mi2> 25 ci = ||b || いたユークリッド距離の算出方法について述べる. i <r,mi > i=1 0 -1 1 -1 -1 1 ci = ||b262 2.3 残差ベクトル r と近似値の差分を計算 算出方法について述べる. i || -25 r←r 2.3 残差ベクトル− ciと近似値の差分を計算 r mi end for -50 .3.1 バイナリ-実数ベクトル間の高速なユークリッ ← r − ci mi r Nb return {ci }i=1 , {mi }Nb i=1 ド距離計算 end for クトル間の高速なユークリッ return バイナリコード b と実数ベクトル yα のユークリッド 距離の 2 乗 d(yα , b) は式 (5) により計算できる. 数ベクトル yα= ||yα − b||2 d(yα , b) のユークリッド 2 {ci }Nb , {mi }Nb i=1 i=1 ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M = {m1 , m2 , · · · , mk } ∈ {−1, 1}L×k は基底ベクトル,k は基底数を表す.次に,式 (5) の第二項に式 (6) を代入 ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M = T すると式 (7) が得られる. 式 (5) により計算できる. α b + bT b. = yα yα − 2yT (5) {m1 , m2 , · · · , mk } ∈ {−1, 1}L×k は基底ベクトル,k k 式 (5) の第 1 2 項はクライアント側のバイナリコードの内 yT b ≈ T Mb = c m b. (7) は基底数を表す.次に,式c(5) の第二項に式 (6) を代入 yα − b||2 積であり,b ∈ {−1, 1} であるため,内積の結果は必ず すると式 (7) が得られる. (5) ビット長の値となるため,事前に求められる.第 3 項は α yα − 2yα b + b b. T T T サーバ側の実数ベクトルの内積であり,事前に計算し 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 i α i i=1 図 10 に示すように,式 (7) は一見すると計算コストが大 k きいように見受けられる.例えば,基底数 k = 3,ビッ !45
  • 46. ド距離の計算 Algorithm 1 分解アルゴリズム 実数ベクトルの分解アルゴリズム [Hare2012] . り特徴点の対応付け性能を向 Require: 実数ベクトル y, 基底数 Nb 1. 初期化 : 実数ベクトル y を残差ベクトル r に代入. しかし,実数ベクトルとバイ 残差ベクトル r 50 実数ベクトル r=w ッド距離を計算するため,ハ 25 2. w を重み係数 c とバイナリ基底ベクトル m に分解 初期化: 20 ド距離の計算 -10 30 -30 -40 Algorithm 1N do 0 for i = 1 to 分解アルゴリズム. な計算コストを要する.そこ b -25 3 高速なユークリッド距離の計算 り特徴点の対応付け性能を向 Require: Algorithm 1r分解アルゴリズム. 実数ベクトル y, 基底数 Nb 2.1 残差ベクトル を {-1,1} に変換 の重み係数と基底ベクトルに -50 スケールの最適化により特徴点の対応付け性能を向m Require: 実数ベクトル y, 基底数 Nb 1. 初期化 :sign(r) 実数ベクトル y を残差ベクトル r に代入. i = しかし,実数ベクトルとバイ 1. 初期化 : . クトルとバイナリコード間の 上させることができた.しかし,実数ベクトルとバイr 残差ベクトル 実数ベクトル y を残差ベクトル r に代入から重 2.2 = w r = w r とバイナリ基底ベクトル mi 50 ッド距離を計算するため,ハ ナリコード間のユークリッド距離を計算するため,ハ を重み係数 c とバイナリ基底ベクトル m に分解 2. み係数 c2. w を重み係数 c とバイナリ基底ベクトル m に分解 w に求める.以下に分解法を用 25 を算出 i=1 forNi > i -1 1 -1 ミング距離と比べて多大な計算コストを要する.そこc== <r,m= 1 to Nb do 0 for な計算コストを要する.そこ -1 1 i i 1 to 26b2 do ||bi || 算出方法について述べる. -25 2.1 残差ベクトル r を {-1,1} に変換 で,実数ベクトルを少数の重み係数と基底ベクトルに 残差ベクトル r と近似値の差分を計算 2.1 を {-1,1} に変換 2.3 の重み係数と基底ベクトルに mi = sign(r) -50 分解することで,実数ベクトルとバイナリコード間のmi = sign(r)i r ← r − ci残差ベクトル r とバイナリ基底ベクトル mi から重 2.2 m クトルとバイナリコード間の ユークリッド距離を高速に求める.以下に分解法を用for み係数 c を算出 50 2.2 バイナリ基底ベクトル end 残差ベクトル r とバイナリ基底ベクトル mi から重 クトル間の高速なユークリッ c = <r,mi > に求める.以下に分解法を用 いたユークリッド距離の算出方法について述べる.み係数 c を算出 ||bi ||2Nb 25 Nbi return {ci }2.3 i残差ベクトル r と近似値の差分を計算 i=2 1 1 -1 -1 -1 i=1> {mi }i=1 8.8 , ci = <r,m 2 r − c m 0 ||bi r ← || 算出方法について述べる. i i -25 end for 2.3 残差ベクトル r と近似値の差分を計算 -50 3.1 バイナリ-実数ベクトル間の高速なユークリッ Nb 数ベクトル yα のユークリッド b r ← rreturn {ci }i=1 , {mi }NT −c m i=1 ド距離計算 ここで, c = (ci , ci2 , · · · , ck ) ∈ Rk は重み係数,M = 1 end for 式 (5) により計算できる. クトル間の高速なユークリッ {m1 , m m バイナリコード b と実数ベクトル yα のユークリッド 2 , · · · ,Nb k } ∈ {−1, 1} T は基底ベクトル,k return {ci }i=1 ,c{mi },Nb , · · · , ck ) ∈ Rk は重み係数,M = ここで, = (c1 i=1 c2 2 距離の 2 乗 d(yα , b) は式 (5) により計算できる. は基底数を表す.次に,式 (5) の第二項に式 (6) を代入 yα − b||2 {m1 , m2 , · · · , mk } ∈ {−1, 1}L×k は基底ベクトル,k L×k 2 T すると式 (7) が得られる. は基底数を表す.次に,式 (5) の第二項に式 (6) を代入 d(yα , T b) のユークリッド 数ベクトル yα+ b||yb. b||2 (5) yα − 2yα b = T α − α ここで, c = (c1 ,(7) , · · · , ck )T ∈ Rk は重み係数,M = T T すると式 c2 が得られる. = yα yα − 2yα b + bT b. (5) 式 (5) により計算できる. !46 k 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘
  • 47. ド距離の計算 Algorithm 1 分解アルゴリズム 実数ベクトルの分解アルゴリズム [Hare2012] . り特徴点の対応付け性能を向 Require: 実数ベクトル y, 基底数 Nb 1. 初期化 : 実数ベクトル y を残差ベクトル r に代入. しかし,実数ベクトルとバイ 残差ベクトル r 50 実数ベクトル r=w ッド距離を計算するため,ハ 25 2. w を重み係数 c とバイナリ基底ベクトル m に分解 初期化: 20 ド距離の計算 -10 30 -30 -40 Algorithm 1N do 0 for i = 1 to 分解アルゴリズム. な計算コストを要する.そこ b -25 り特徴点の対応付け性能を向 Require: 実数ベクトルを {-1,1} に変換 2.1 残差ベクトル r y, 基底数 Nb の重み係数と基底ベクトルに -50 1. 初期化 :sign(r) 実数ベクトル y を残差ベクトル r に代入. mi = しかし,実数ベクトルとバイ クトルとバイナリコード間の r=w 2.2 残差ベクトル r とバイナリ基底ベクトル mi から重 50 ッド距離を計算するため,ハ 2. み係数 c w を重み係数 c とバイナリ基底ベクトル m に分解 に求める.以下に分解法を用 25 ド距離の計算 Algorithm を算出 126 >do 分解アルゴリズム. i=1 0 -1 1 -1 for i 1 to Nb な計算コストを要する.そこ -1 1 ic== <r,mi2 ||bi || 算出方法について述べる. 3 高速なユークリッド距離の計算 Algorithm 1 分解アルゴリズム. り特徴点の対応付け性能を向 Require: 実数ベクトル y, 基底数 Nb -25 2.1 を {-1,1} に変換 2.3 残差ベクトル r と近似値の差分を計算 の重み係数と基底ベクトルに スケールの最適化により特徴点の対応付け性能を向 Require: 実数ベクトル を残差ベクトル r に代入. -50 1. 初期化 : 実数ベクトル y y, 基底数 Nb しかし,実数ベクトルとバイ mi =1. 初期化i: 実数ベクトル y を残差ベクトル r に代入. r ← r sign(r) − ci m 上させることができた.しかし,実数ベクトルとバイr = w クトルとバイナリコード間の 50 r=w 2.2 残差ベクトル r とバイナリ基底ベクトル mi から重 end for ッド距離を計算するため,ハ ナリコード間のユークリッド距離を計算するため,ハ を重み係数 c とバイナリ基底ベクトル m に分解 クトル間の高速なユークリッ 2. w に分解 w 25 に求める.以下に分解法を用 み係数 c2. Nbを重み係数 cbとバイナリ基底ベクトル m を算出 N return {cfor8.8 to ib i } Ni ミング距離と比べて多大な計算コストを要する.そこ = 1 <r,m=, 1{mN}i=1 0 for i=2 な計算コストを要する.そこ -1 -1 ic = to i=1>do i b do 1 1 -1 i ||bi ||残差ベクトル r を {-1,1} に変換 算出方法について述べる. 2.1 2 -25 で,実数ベクトルを少数の重み係数と基底ベクトルに 残差ベクトル r を {-1,1} に変換 2.1 残差ベクトル r と近似値の差分を計算 の重み係数と基底ベクトルに 2.3 mi = sign(r) -50 分解することで,実数ベクトルとバイナリコード間のmi = sign(r) 数ベクトル yα のユークリッド 2.2 m r ← r − ci残差ベクトル r とバイナリ基底ベクトル mi から重 クトルとバイナリコード間の ここで, c = み係数ci2を算出 , ck )T ∈ Rk は重み係数,M = (c1 , c · とバイナリ基底ベクトル mi から重 ユークリッド距離を高速に求める.以下に分解法を用 残差ベクトル, r · · 50 2.2 バイナリ基底ベクトル end for <r,mi > 式に求める.以下に分解法を用 (5) により計算できる. c = クトル間の高速なユークリッ いたユークリッド距離の算出方法について述べる., m , · · · を算出 ||bi ||2 {m1 み係数 c ,Nbi残差ベクトル r251}L×k は基底ベクトル,k m>} ∈ {−1,と近似値の差分を計算 2 i=3 1 -1 1 -1 1 return= <r,mi2k {mi }Nb 0 }2.3 , 4.9 i=1 i=1 ci {ci||b r ← r − c m 2 算出方法について述べる. i || i i は基底数を表す.次に,式-25 の第二項に式 (6) を代入 (5) yα − b||2 end for 2.3 残差ベクトル r と近似値の差分を計算 -50 3.1 バイナリ-実数ベクトル間の高速なユークリッ T Ty のユークリッド T すると式 (7)− ci mi i }Nb , {mi }Nb が得られる. i=1 r ← rreturn {c i=1 数ベクトル bα+ b b. − 2yα (5) α yα ド距離計算 基底数を増やすと残差が減少 ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M = end for 式クトル間の高速なユークリッ (5) により計算できる. 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 k !47
  • 48. 実数ベクトルの分解アルゴリズム [Hare2012] 図 10: 行列計算の可視化. • 3個の基底cとバイナリ基底ベクトル 3.3.2 に分解 実数ベクトルの分解 -1 1 -1 1 実数ベクトルを少数の重み係数と基底ベクトルに分 1 解し,実数ベクトルとバイナリコードの内積計算をバ 1 イナリコード同士のハミング距離の計算に置き換える 1 -1 -1 -1 バイナリ基底ベクトル ことで計算の効率化を図る.まず,実数ベクトル yα を -1 Hare らが提案した分解アルゴリズム (Algorithm1)[13] 1 -1 -1 1 に従って次式のように k 個の重み係数 c と基底ベクト ル M に分解する. 8.8 4.9 -12.2 29.8 -29.8 -39.8 22.1 yα -10 26 30 -30 -40 20 ≈ cT M, (6) 基底 (スケール係数) 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 実数ベクトル !48
  • 49. ド距離計算 ド距離計算 ド距離計算 ユークリッド距離を高速に求める.以下に分解法を用 み係数 2.1 残差ベクトル r を {-1,1} のユークリッド ベクトルに バイナリコード b と実数ベクトル yαに変換 = バイナリコードbと実数ベクトルyの距離計算 ここで,のユークリ mi =, sign(r) (5) バイナリコード b と実数ベクトル yα c = (c1i, c いたユークリッド距離の算出方法について述べる.と実数ベクトル yc の 距離の 2 乗 d(yα b) は式 により計算できる. バイナリコード b と実数 バイナリコード b {m , m , · · · , m } コード間の α 2.2 残差ベクトル r とバイナリ基底ベクトル mi 2 乗 1 2 , b) 2.3 k ( から重 残 距離の d(yα は式 距離の 2 乗 d(yα2 b) は式 ,(5) により計算できる. 距離の , 乗 d(yα b) は式 (5) により計算で 分解法を用 み係数 c を算出 α − b||2 は基底数を表す.次 d(yα , b) = >||y r← 2 <r,mi ci = ||b ||2 T d(yα b) end ||y 述べる. T d(yαbb) d(yα , b) α = b||2 α ,− b||2=が得ら i 2 ||y = yα yα − 2yα b + , T b. = ||y − すると式 (7) for (5) 2 3.3.1 バイナリ残差ベクトル r と近似値の差分を計算 T 2.3 -実数ベクトル間の高速なユークリッ T T T T = yα yα − 2yα b − returnb + 2yT b yα b=b. + = yα yα r← α T ド距離計算 r − ci mi 式 (5) の第 1 項はクライアント側のバイナリコードの内 yα b ≈ end for ユークリッ 積であり,b ∈ {−1, 1} であるため,内積の結果は必ず の第 1 項はクライアン 式 (5) 式 (5) の第 1(5) の第 1 項はクライアント側のバイナ 式 項はクライアント側のバイナリコード Nb Nb return {ci }i=1 , {mi }i=1 バイナリコード b と実数ベクトル 積であり,b3∈であるため,内積の結果は yα のユークリッド ビット長の値となるため,事前に求められる.第1}積であり,b ∈ {−1, 1} であ 積であり,b ∈ {−1, 項は 1} であるため,内積 {−1, 図 10 に示すように, ここで, ビット長の値となるため,事 ビット長の値となるため,事前に求められる.第 3 距離の サーバ側の実数ベクトルの内積であり,事前に計算し きいように見受けら 2 乗 d(yα , b) は式 (5) により計算できる. ビット長の値となるため,事前に求められ ークリッド た内積結果をサーバ側で保持することができる.問題 {m1 , m2 , T k サーバ側の実数ベクトルの サーバ側の実数ベクトルの内積であり,事前に計 サーバ側の実数ベクトルの内積であり, ここで, c = (c1 , c2 , · · · , ck ) ∈ R は重み係数,M = = 64 とした ト長 L きる. 2 は第 2 α , b) = ||yα た内積結果をサーバ側で保持することができる. た内積結果をサーバ側で保 d(y 項であり事前に計算できない上,バイナリコー 10(a)) の場合では, − b||2 た内積結果をサーバ側で保持することが {m1 , m2 , · · · , mk } ∈図{−1, 1}L×k は基底ベクトル,k は基底数を 6: クライアントサーバシステムによる画像検索アプリケーショ 図 6: クライアントサーバシステムによる画像検索アプリケーションの例. ドと実数ベクトルの内積の計算は計算コストが大きい. 項であり事前に計算 は第 2 算が 63 回発生する は第 2 項であり事前に計算できない上, T は第 2 (5) の第二項に式 (6) を代入 すると式 T T は基底数を表す.次に,式 項であり事前に計算できない上,バイナリ = yα b + b b. (5) 図 hashingyα − 2y αドと実数ベクトルの内積の計算は計算コス Binary 6: クライアントサーバシステムによる画像検索アプリケ 法に依存する.本研究で用いる Binary 手法は以下の 3 手法である ドと実数ベクトルの内積の ドと実数ベクトルの内積の計算は計算コストが大 Binary hashing 法に依存する.本研究で用いる Binary 手法は以下の 3 手法である. 10(b)) には,バイナ すると式 (7) が得られる. b. hashing の場 (5) 法である Iterative Quantization(ITQ)[12] の場 hashing サーバ側で事前計算可能 法である Iterative Quantization(ITQ)[12] 定数(ビット長) • バイナリコード vs. バ 回,浮動小数点同士 • バイナリコード 合,実数ベクトルを計算すると平均ユークリッドノルム vs. バイナリコード 式 (5) の第 1 項はクライアント側のバイナリコードの内 バイナリコード 手法 合,実数ベクトルを計算すると平均ユークリッドノルム Binary hashing 法に依存する.本研究で用いる Binary • k • バイナリコード 手法は以下の 3 vs. 実 実数ベクトル は 0.65 となる.バイナリコード化した際のユークリッ vs. る.しかしながら, は 0.65 となる.バイナリコード化した際のユークリッ コードの内 T T • iバイナリコード 積であり,b ∈ {−1, 1} α bQuantization(ITQ)[12]iの場 内積計算を分解(スケール y であるため,内積の結果は必ず バイナリコード c m b. (7) hashing 法である ドノルムは 5.65 となるため,バイナリコードのユーク vs. •実数ベクトル vs. 実 Iterative ≈ c Mb = 1/10 と非常に高速 • 化あり) バイナリコード ビット長の値となるため,事前に求められる.第 3 項は バイナリコード 算回数が多くても高 • 図 10 が大きすぎると,実数ベクトルを無視するような距離 SIFT[1] を用いる. SIFT[1 が大きすぎると,実数ベクトルを無視するような距離 局所特徴量としては 局所特徴量としては に示 ベースとな .第 3 項は は 0.65 となる.バイナリコード化した際のユークリッ 図 10 に示すように,式 (7) は一見すると計算コストが大 法には,!49 が計算されるため,大幅な性能の低下を招く.そこで, nary hashing Itera サーバ側の実数ベクトルの内積であり,事前に計算し また,分解法を適 が計算されるため,大幅な性能の低下を招く.そこで, nary hashing 法には,Iterative Quantization(ITQ 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 • バイナリコード ドノルムは 5.65 となるため,バイナリコードのユーク 化あり) 結果は必ず リッドノルムと比較して非常に小さな値となる.この差 リッドノルムと比較して非常に小さな値となる.この差 i=1 合,実数ベクトルを計算すると平均ユークリッドノルム
  • 50. -Programmable 式 (5) の第 項はクライアント側のバイナリコードの内 Gate b は基底数を表す.次に,式 yT yα − 2yT b + bT b. T 積であり,Array(FPGA) 1} であるため,内積の結果は必ず サーバ側の実数ベクトルの内積であり,事前に計算し (5) すると式 ≈ T み係数と基底ベクトルに ∈1{−1, 2.1 残差ベクトルαr をの第二項に式 (6) を代入 b (7)cが = (5) {-1,1} に変換 ビット長の値となるため,事前に求められる.第 3 項は yα α きいように見受け 図1 クの組み込み系ハードウェアで動作i であるため,内積の結果は必ず 積であり,b ∈ {−1,m = sign(r) 1} ビット長の値となるため,事前に求められる.第 3 項は た内積結果をサーバ側で保持することができる.問題 ルとバイナリコード間の が得られる. r とバイナリ基底ベクトル m から重 すると式 (7)(5) の第 サーバ側の実数ベクトルの内積であり,事前に計算し 64 きい 分解法による高速な内積演算 2.2 残差ベクトル i ト長 L = とし 式 1 項はクライアント側のバイナリコードの内図 10 に示すよう (5) .そのため,低計算量かつ低メモリ使 ビット長の値となるため,事前に求められる.第 3 項は y た内積結果をサーバ側で保持することができる.問題 める.以下に分解法を用 み係数 c を算出 サーバ側の実数ベクトルの内積であり,事前に計算し は第 2 項であり事前に計算できない上,バイナリコー 図 10 に示すように,式 ( ト長 積であり,b 1} 10(a)) の場合では サーバ側の実数ベクトルの内積であり,事前に計算し 特徴量の計算. リズムが望まれており,我々は HOG∈ {−1,||i2 であるため,内積の結果は必ずきいように見受け 図 ci = <r,m > は第 2||bi 項であり事前に計算できない上,バイナリコー k 11: B-HOG きいように見受けられる 方法について述べる. B-HOG 特徴量の計算. た内積結果をサーバ側で保持することができる.問題 10(a ドと実数ベクトルの内積の計算は計算コストが大きい.項は 図 11: ビット長の値となるため,事前に求められる.第 3 た内積結果をサーバ側で保持することができる.問題 2.3 残差ベクトル r と近似値の差分を計算 ト長 64 とした時, 算が図L 回発生す 63 = 64 と 内 ることで計算コストとメモリ使用量 T T 10 に示すよう yα b ドと実数ベクトルの内積の計算は計算コストが大きい. 算が ≈ c −Mb = B-HOG 特徴量 bト長 L = (7) ci mi b. と統計的学習手法であ は第 2 項であり事前に計算できない上,バイナリコー r ← r c得られた サーバ側の実数ベクトルの内積であり,事前に計算し i mi は第 2 項であり事前に計算できない上,バイナリコー きいように見受 10(a)) の場合では 5] を提案した.しかしながら,識別 10(b)) には,バイ 10(a)) の場合では,浮動 b と統計的学習手法である 10(b ず 得られた B-HOG 特徴量 end for Support Vector Machine(SVM) により線形識別器 F i=1 ル間の高速なユークリッた内積結果をサーバ側で保持することができる.問題 ドと実数ベクトルの内積の計算は計算コストが大きい. ドと実数ベクトルの内積の計算は計算コストが大きい. ト長 回発生す ては未だに解決されていない.そこ {ci }Nb , {mi }Nb F (·) 算が算が 63 L = 64 と 63 回発生する.一 回,浮動小数点同 回, return Support Vector Machine(SVM) により線形識別器 i=1 i=1 は第 2 項であり事前に計算できない上,バイナリコー は 10(a)) の場合で を学習する.線形 SVM による識別関数は式 (9) のよ 10(b)) には,バイナリ同 器の計算量を削減するために,識別 る. 10(b)) には,バイ る.しかしながら 図 10 に示すように,式 (7) は一見すると計算コストが大 回発生 を学習する.線形 SVM による識別関数は式 (9) のよう ドと実数ベクトルの内積の計算は計算コストが大きい. :実数 算が 63 に表わされる. 回,浮動小数点同士の積 らに早期に識別を判定するアルゴリ クトル yα のユークリッド 1/10 し :バイナリ{1,-1} 回,浮動小数点 に表わされる. ここで, c = (c1 , c2 , · · · , ck )T ∈ Rk は重み係数,M と非常に高速 = きいように見受けられる.例えば,基底数 k る.しかしながら,実際 =1/1010(b)) には,バ 3,ビッ 算回 により計算できる. 検出法 [16] について述べる. る.しかしなが F は基底ベクトル,k 題 {m1 , m2 , · · · , mk } ∈ {−1, 1}L×k(b) = wT b 算回数が多くても 回,浮動小数点 T 1/10 と非常に高速に演 ま F 64 w b (9) ト長 L = (b) =とした時,実数ベクトルと内積計算 と非常に高 (図 徴量と SVM による人検出 2 る.しかしなが また,分解法を は基底数を表す.次に,式 (5) の第二項に式 (6) 1/10 を代入 b|| 算回数が多くても高速に ベク ー2 Gradients(HOG) 特徴量 [14] ここで,w は特徴量に対する重みを表す.画像中か riented 10(a)) の場合では,浮動小数点同士の積算が 64 回,加 1/10 と非常に高 T すると式 (7) が得られる. 算回数が多くて ベクトル yα の代 また,分解法を適用す ここで, T は特徴量に対する重みを表す.画像中から − 2yα b + bwb. (5) トル 物体を検出する際には,検出ウィンドウをラスタス ウからセルと呼ばれる局所領域毎に い. 基底数k=3 ベクトル算回数が多くて α の代わりに また,分解法 トル M を持つだ 物体を検出する際には,検出ウィンドウをラスタスキャ k リ使 算が 63 回発生する.一方,分解法を適用した場合y(図 特徴量 ンし,検出ウィンドウから抽出した を持つだけでよ B-HOG ヒストグラムを特徴量とする.HOG また,分解法 側のバイナリコードの内 T T M (7) yα b ≈ 特徴量に ci mi b. トルベクトル y の代 ンし,検出ウィンドウから抽出した B-HOG c Mb = リ使用量を大幅に α ベクトル 10(b)) には,バイナリ同士の積算がi=1 F (b) を計算し,この値を閾値 192 対する識別器のスコア 回,加算が 189 yα の ため,内積の結果は必ず セルで構成されるブロック領域で正 リ使用量を大幅に削減す 対する識別器のスコア F (b) を計算し,この値を閾値処 図 10: 行列計算の可視化. トル M を持つだ トル M 3.3. 前に求められる.第 3 項は 理することで人もしくは背景に判定する. を持つ 局所的な照明変化の影響を受けにく 回,浮動小数点同士の積算が (7)回,加算が 3 回発生す 3 は一見すると計算コストが大 図 10 に示すように,式 理することで人もしくは背景に判定する. リ使用量を大幅 リ使用量を大幅 積であり,事前に計算し 図 10: 10: 行列計算の可視化. このような識別器による人検出では VGA サイズ HOG 特徴量 [15] は,図 11 図 行列計算の可視化. に示す 分 きいように見受けられる.例えば,基底数 k = 3.3.3 分解法導 3 分解法導入によ 3.3.3,ビッ このような識別器による人検出では VGA サイズの る.しかしながら,実際にはバイナリ同士の演算は約 いて バイナリコードと実数ベクトルの することができる.問題 量を 2 値化したバイナリコードで表 64画像に対して検出ウィンドウを網羅的にラスタスキ バイナリ間の内積を高速に計算可能 ト長 L = 3.3.2 とした時,実数ベクトルと内積計算 (図 実数ベクトルの分解 画像に対して検出ウィンドウを網羅的にラスタスキャ 内積計算は時間を要する (基底数kが小さいとき) 分解法を導入し きない上,バイナリコー 図 10: 行列計算の可視化. !50 ンする場合,数万個の検出ウィンドウを処理するこ る.セルと呼ばれる局所領域毎に作 図 10: 行列計算の可視化. 1/10 と非常に高速に演算できることから,式分解法を導入した際の (7) 3.3.3 分解法 は演 PC 10(a)) の場合では,浮動小数点同士の積算が 64 3.3.3 分解法導 回,加 ンする場合,数万個の検出ウィンドウを処理すること いて評価する.実験には 算は計算コストが大きい.特徴量を 2実数ベクトルを少数の重み係数と基底ベクトルに分 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 でき いて評価する.実 になる.これら全てのウィンドウから特徴量を抽出 ストグラムである HOG
  • 51. i=1 10(a)) の場合では,浮動小数点同士の積算が 64 回,加 r ← r − ci mi = sign(r) m end for 3.3.1 バイナリ-実数ベクトル間の高速なユークリッ 2.2 残差ベクトル r とバイナリ ドと実数ベクトルの内積の計算は計算コストが大きい.分解することで,実数ベクトルとバイナリコード間の ため,事前に求められる.第 3 項は end for return 回発生する.一方,分解法を適用した場合 (図 算が 63 {ci }Nb , {m i=1 図 10 に示すように,式 (7) は一見すると計算コストが大 i }Nb ユークリッド距離を高速に求める.以下に分解法を用 み係数 c を算出 3.3.1 バイナリ-実数ベクトル間の高速なユークリッ i=1 ド距離計算 <r,mNb Nb i> トルの内積であり,事前に計算し i return {c } , きいように見受けられる.例えば,基底数 k には,バイナリ同士の積算が 192 {m } ド距離計算 回,加算が 189 分解法による高速な内積演算 10(b))= 3,ビッ バイナリコード b と実数ベクトル y のユークリッド 側で保持することができる.問題 いたユークリッド距離の算出方法について述べる. c = ||b ||2 i i=1 i i i i=1 2.3 残差ベクトル r と近似値の α r ト長 L = 64 とした時,実数ベクトルと内積計算 (図2 , · · · , ck )T ∈ Rk は重み係数,M← r − ci mi ここで, c = (c1 , c = end for 距離の 2 乗 d(yα , b) は式 (5) により計算できる. 3.3.1 バイナリ-実数ベクトル間の高速なユークリッ に計算できない上,バイナリコー L×k {m1 ,α , · · , mk } m は基底ベクトル,k i }Nb , {mi }Nb 10(a)) の場合では,浮動小数点同士の積算が264· 回,加 ∈ {−1, 1} T return {c i=1 ド距離計算 1 2 k i=1 内積の計算は計算コストが大きい. , b) = ||y − b||2 α は基底数を表す.次に,式 (5) の第二項に式 (6) を代入 d(yα 算が 63 回発生する.一方,分解法を適用した場合 (図 α 2 L×k 回,浮動小数点同士の積算が 3 回,加算が 3 回発生す バイナリコード b と実数ベクトル y のユークリッド ここで, c = (c , c , · · · , c ) ∈ R る.しかしながら,実際にはバイナリ同士の演算は約 距離の 2 乗 d(y , b) は式 (5) により計算できる. {m1 , m2 , バイナリコード b と実数ベクトル yα のユークリッド · · · , mk } ∈ {−1, 1} T T T すると式 1/10 と非常に高速に演算できることから,式 2(7), は演 ここで, c = (c1 , c , · · · ck ) ∈ = には,バイナリ同士の積算が 1922回,加算が 189 により計算できる. (5)距離の 乗 d(y (7) が得られる. 10(b)) yα yα − 2yα b + bT b. α , b) は式 (5) は基底数を表す.次に,式 {−1, 1}L× d(yα , b) = ||yα − b||2 基底数k=3,ビット長L=64における内積計算回数と計算時間 {m1, m2, · · · , mk } ∈(5) の第 2 k 算回数が多くても高速に計算することができる. 回,浮動小数点同士の積算が 3 回,加算が 3 回発生す は基底数を表す.次に,式 (5) の 式 (5) の第 1 項はクライアント側のバイナリコードの内 T b||2 T Td(yα , b) T =yα||yα −cT Mb = すると式 (7) が得られる. 2 ci mi b. (7) = yα yα − 2yαまた,分解法を適用することで,サーバ側では実数 b + b b. b ≈ (5) る.しかしながら,実際にはバイナリ同士の演算は約 − 2yT b + bi=1 T T すると式 (7) が得られる. 積であり,b ∈ {−1, 1} であるため,内積の結果は必ず = yα yα b. (5) α 浮動小数点の 浮動小数点の k 1/10 と非常に高速に演算できることから,式 (7) は演 バイナリの積算α の代わりに k 個の重み係数 c と基底ベク バイナリの加算 計算時間 [ns] ビット長の値となるため,事前に求められる.第 3 項は ベクトル y 図 10 に示すように,式 (7) 式 (5) の第 1 項はクライアント側のバイナリコードの内 T 式 (5) T 積算 の第 1 項はクライアント側のバイナリコードの内 は一見すると計算コストが大 cT b ≈ cT= = 加算 yα Mb Mb y b≈ α 算回数が多くても高速に計算することができる. サーバ側の実数ベクトルの内積であり,事前に計算し積であり,b ∈ {−1, 1} であるため,内積の結果は必ず i= きいように見受けられる.例えば,基底数 k = 3,ビッ トル M を持つだけでよい.そのため,サーバ側のメモ 積であり,b ∈ {−1, 1} であるため,内積の結果は必ず i=1 た内積結果をサーバ側で保持することができる.問題ビット長の値となるため,事前に求められる.第 3 項は また,分解法を適用することで,サーバ側では実数 ト長 L = 64 とした時,実数ベクトルと内積計算 (図 図 10 に示すように,式 (7) は一見 64 63 852 ビット長の値となるため,事前に求められる.第 3 項は リ使用量を大幅に削減することができる. は第 2 項であり事前に計算できない上,バイナリコーサーバ側の実数ベクトルの内積であり,事前に計算し きいように見受けられる.例えば ベクトル yα の代わりに k 個の重み係数 c と基底ベク 図 10 に示すように,式 (7) は一見す 10(a)) の場合では,浮動小数点同士の積算が 64 回,加 た内積結果をサーバ側で保持することができる.問題 ドと実数ベクトルの内積の計算は計算コストが大きい. サーバ側の実数ベクトルの内積であり,事前に計算し ト長 L = 64 トル M を持つだけでよい.そのため,サーバ側のメモ 算が 63 回発生する.一方,分解法を適用した場合 (図 とした時,実数ベ きいように見受けられる.例えば, は第 2 項であり事前に計算できない上,バイナリコー 10(a)) の場合では,浮動小数点同 た内積結果をサーバ側で保持することができる.問題 10(b)) には,バイナリ同士の積算が 192 回,加算が 189 ドと実数ベクトルの内積の計算は計算コストが大きい. 3 3 192 189ト長 L = 64105 リ使用量を大幅に削減することができる. とした時,実数ベク 算が 63 回発生する.一方,分解 図 10: 行列計算の可視化. 3.3.3 分解法導入による高速化と省メモリ化の効果 行列計算の可視化. 回,浮動小数点同士の積算が 3 回,加算が 3 10(b)) には,バイナリ同士の積算 回発生す は第 2 項であり事前に計算できない上,バイナリコー 10(a)) の場合では,浮動小数点同士 る.しかしながら,実際にはバイナリ同士の演算は約 回,浮動小数点同士の積算が 3 ドと実数ベクトルの内積の計算は計算コストが大きい. 算が 63 回発生する.一方,分解法 分解法を導入した際の計算時間とメモリ使用量につ る.しかしながら,実際にはバ 3.3.3 分解法導入による高速化と省メモリ化の効果 1/10 と非常に高速に演算できることから,式 (7) は演 1/10 10(b)) には,バイナリ同士の積算が 算回数が多くても高速に計算することができる.と非常に高速に演算できる いて評価する.実験には Intel Xeon CPU 2.27-GHz の 算回数が多くても高速に計算する 実数ベクトルの分解 分解法を導入した際の計算時間とメモリ使用量につ また,分解法を適用することで,サーバ側では実数 回,浮動小数点同士の積算が 3 回, また,分解法を適用すること PC 2.27-GHz の いて評価する.実験には Intel Xeon CPUを用いる.なお,分解法導入前と同等の性能を確認 ベクトル yα の代わりに k 個の重み係数 c と基底ベク の代わりに k 個の重 ルの分解 ベクトル yα る.しかしながら,実際にはバイナ 実数ベクトルを少数の重み係数と基底ベクトルに分 できた基底数の数を 3 に設定する.表 を持つだけでよい.その 1 PC を用いる.なお,分解法導入前と同等の性能を確認 トル M を持つだけでよい.そのため,サーバ側のメモに距離計算に トル M 計算回数は増加 3.3.2 実数-バイナリ間は 1/10 と非常に高速に演算できるこ 数の重み係数と基底ベクトルに分 できた基底数の数を 3 に設定する.表 1 に距離計算に リ使用量を大幅に削減することができる. リ使用量を大幅に削減することが 解し,実数ベクトルとバイナリコードの内積計算をバ 必要な計算時間を示す.分解法を導入することでユー ビット演算は約1/10 浮動小数点演算 算回数が多くても高速に計算するこ とバイナリコードの内積計算をバ 必要な計算時間を示す.分解法を導入することでユー イナリコード同士のハミング距離の計算に置き換える クリッド距離の計算時間を約 87% 削減できた.表 2 に 図 10: 行列計算の可視化. また,分解法を適用することで, 3.3.3 分解法導入による高速化 ハミング距離の計算に置き換える 図クリッド距離の計算時間を約 87% 削減できた.表 2 に 10: 行列計算の可視化. 3.3.3 分解法導入による高速化と省メモリ化の効果 ことで計算の効率化を図る.まず,実数ベクトル yα を を図る.まず,実数ベクトル yα を サーバ側に保存する実数ベクトルのメモリ使用量を示 ベクトル y の代わりに k 個の重み サーバ側に保存する実数ベクトルのメモリ使用量を示 α 分解法を導入した際の計算時 分解法を導入した際の計算時間とメモリ使用量につ Hare らが提案した分解アルゴリズム (Algorithm1)[13] いて評価する.実験には Intel X す.サーバ側で 解アルゴリズム (Algorithm1)[13] トル ビット長に値する実数ベク す.サーバ側で 100 個の 32 ビット長に値する実数ベク 100 個の 32 M を持つだけでよい.そのた 3.3.2 実数ベクトルの分解 いて評価する.実験には Intel Xeon CPU 2.27-GHz の PC を用いる.なお,分解法導入 に従って次式のように k トルを保持する場合,分解法を導入することで約 78% 3.3.2 実数ベクトルの分解 トルを保持する場合,分解法を導入することで約 78% に k 個の重み係数 c と基底ベクト 個の重み係数 c と基底ベクト 実数ベクトルを少数の重み係数と基底ベクトルに分 できた基底数の数を 3 に設定す リ使用量を大幅に削減することがで PC を用いる.なお,分解法導入前と同等の性能を確認 分解することで計算回数は多いが,ビット演算に置き換えることで高速化 のメモリ使用量を削減できた. ル M に分解する. のメモリ使用量を削減できた.に距離計算に 実数ベクトルを少数の重み係数と基底ベクトルに分解し,実数ベクトルとバイナリコードの内積計算をバ 必要な計算時間を示す.分解法 できた基底数の数を 3 に設定する.表 1 イナリコード同士のハミング距離の計算に置き換える クリッド距離の計算時間を約 87 以上より,分解法を適用することで,非対称の特徴 解し,実数ベクトルとバイナリコードの内積計算をバ 必要な計算時間を示す.分解法を導入することでユー 以上より,分解法を適用することで,非対称の特徴 ことで計算の効率化を図る.まず,実数ベクトル yα を 図 10: 行列計算の可視化. サーバ側に保存する実数ベクト (6) T 3.3.3 分解法導入による高速化と !51 (6) 画像認識への期待と可能性 yα ≈ c M, / 中部大学工学部情報工学科 藤吉弘亘 イナリコード同士のハミング距離の計算に置き換えるHare クリッド距離の計算時間を約 87% 削減できた.表 2 に らが提案した分解アルゴリズム (Algorithm1)[13] yα ≈ cT M,
  • 52. サーバにおける特徴点のメモリ量 • 1特徴点のデータサイズ ‒ 分解前:32次元の実数型ベクトル ‒ 分解後:基底実数型ベクトルk=3,バイナリ型ベクトル:k 32bit :実数 :バイナリ{1,-1} × 分解前:256[byte] 分解後:15[byte] (32次元 8byte) (3 1byte+3 4byte) 分解することで,特徴量のメモリ量を削減可能 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !52
  • 54. まとめ:バイナリ-実数ベクトル間の距離計算と高速化 • 非対称な特徴表現 ‒ スケール係数の最適化により非対称表現の距離計算が可能 ‒ マッチング性能はやや低下するが,伝送量は1/8に削減 ! • 分解法の適用 ‒ 距離計算(内積)を高速化 (12%まで削減) ‒ サーバ側の省メモリ化を実現 (21%まで削減) 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !54
  • 55. 3. 物体検出におけるバイナリコード表現と高速化演算 -B-HOG特徴量と分解法による高速識別- Joint work with: 後藤雄飛 OB 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 土屋成光 中部大 山内悠嗣 黒川貴都 !55
  • 57. 物体検出(人検出)の流れ • 機械学習による識別器の構築 識別器 ! ! ! 機械学習 学習サンプル ポジティブサンプル ネガティブサンプル 線形 SVM • 識別器を用いたラスタスキャンによる物体検出 ‒ 大量の検出ウィンドウ:約2万個(VGA画像) 2万回の識別処理 人 非人 線形 SVM 検出ウィンドウ 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 HOG特徴量 識別器 !57
  • 58. 線形SVMによる識別器 • 線形SVMによる識別演算 ‒ 実数ベクトルと実数ベクトルの内積 → 計算コスト大 ! ! ! 識別関数 : 重みベクトル (実数のN次元ベクトル) 特徴ベクトル (HOG特徴量:実数N次元 ) • 計算コストを削減するためには ‒ ビット演算に置き換えることで高速な識別計算したい! 実数ベクトル 内積演算 バイナリコード 実数ベクトル バイナリコード →実数の演算と比較して高速な処理が可能 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !58
  • 59. バイナリ型特徴量と近似計算による識別の高速化 • 識別器(線形SVM)の高速化 ‒ 線形SVMの近似計算 ‒ 識別結果を早期判定して高速な処理を行う • バイナリ特徴の高精度化 ‒ B-HOG特徴量の共起表現による高精度化 検出対象 バイナリコード 入力画像 特徴抽出 B-HOG 特徴量 ={0,1,0,1,...} 高精度化 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 線形 SVM 識別器 非検出対象 高速化 !59
  • 60. 演算を近似し,さらに早期に識別を判定するアルゴリ ズムを導入した人検出法 [16] について述べる. F バイナリ型HOG特徴量:B-HOG [松島2011] 4.1 B-HOG 特徴量と SVM による人検出 Histograms of Oriented Gradients(HOG) 特徴量 [14] は,検出ウィンドウからセルと呼ばれる局所領域毎に ここで,w は特徴量 特徴量は,複数のセルで構成されるブロック領域で正 対する識別器のスコ い特長がある.B-HOG 特徴量 [15] は,図 で表現 ‒ ドミナントな方向を 1 ,そうでない方向を 011 に示す このような識別器 • HOG特徴量を 0 と 1 のバイナリコードで表現 作成した勾配方向ヒストグラムを特徴量とする.HOG ‒ 勾配方向ヒストグラムを2値化 規化されるため,局所的な照明変化の影響を受けにく 物体を検出する際に ンし,検出ウィンド 理することで人もし ように HOG 特徴量を 2 値化したバイナリコードで表 画像に対して検出ウ 成した勾配方向ヒストグラムである HOG 特徴量を 2 になる.これら全て ‒ 3,360 bit のバイナリコード (=HOG特徴量の次元数) わした特徴量である.セルと呼ばれる局所領域毎に作 勾配方向ヒストグラム 値化して D ビットのバイナリコードを得る.式 (8) に ( HOG特徴量 ) よりセル c における正規化後の勾配方向ヒストグラム v c = {vc (1), vc (2), ..., vc (N )} をバイナリコード bc = 勾配強度 {bc (1), bc (2), ..., bc (N )} に変換する.ここで,N は勾配 方向ヒストグラムの量子化数である. th bc (n) セル!(8 8ピクセル) = 入力画像 1 0 if vc (n) > thc (n) 1 otherwise 8 ンする場合,数万個 識別器 F (b) のスコ 物体検出実現するた がある. 4.2 分解法に基づく 識別器の高速 計算量の問題を解 (8) 01111100 として分解法を利用 判定を導入する.ま ここで,thc (n) は閾値を表わし,事前に計算した学習 う性能低下を解決す B-HOG 特徴量の可視化 バイナリコード HOG 特徴量の可視化 ( B-HOG特徴量 ) サンプルの HOG 特徴量の各次元毎の平均値を使用す る.B-HOG 特徴量 b = {b1 , b2 , · · · , bc } は 64 × 128 ピクセルの検出ウィンドウに対して,セルの大きさを 8 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 を表現することで識 !60
  • 61. 人検出の問題では,膨大な数の検出ウィンドウを処理 識別器 特徴量 b と統計的学習手法である 得られた することになるため,多大な計算量を要する.そこで, B-HOG F (b) は,SVM の重みベクトル w を分解し B-HOGを用いた線形SVMの近似計算 得られる重み係数 c により線形識別器 F [13] Hare Machine(SVM)とバイナリ基底ベクトル Support Vector らによって提案された実数ベクトルの分解法(·)m を用 Nb を利用してバイナリ型特徴量 b と重み w (9) iのよう ることで,F (b) ≈ f (b) = i=1 ci m b と近似でき を学習する.線形 SVM による識別関数は式 の内積計算を • 重みベクトルwを分解して近似 近似する. ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D に表わされる. ‒ wを基底係数cとバイナリ基底ベクトルmに分解 まず,SVM の重みベクトル w を重み c とバイナリ D ¯ ¯ m+ ∈ {0, 1}4.2.1 分解法を用いた線形識別器の近似計算 に分解 (m = m+ − m+ ) することで, D 基底ベクトル m ∈ {−1, 1} に分解する.線形 SVM F (b) は, 式 (9) の線形 SVM により学習した識別器 の 線形SVM : に示すように線形 (10) F (b) = wT b (9) 4.2.1 分解法を用いた線形識別器の近似計算 SVM の内積の近似値を計算 識別器 F (b) は,SVM の重みベクトル の内積計算で成り立つ. バイナリ型特徴量 b と重み w w を分解して B-HOG きる. 重みベクトル とバイナリ基底ベクトル m を用い 人検出の問題では,膨大な数の検出ウィンドウを処理 式 (9) の線形 SVM により学習した識別器 F (b) は, 得られる重み係数 c することになるため,多大な計算量を要する.そこで, バイナリ型特徴量 b と重み w の内積計算で成り立つ. Nb ここで, は特徴量に対する重みを表す.画像中から w ることで,F (b) ≈ f (b) = Nb i=1 ci mi b と近似できる. Hare らによって提案された実数ベクトルの分解法 [13] 人検出の問題では,膨大な数の検出ウィンドウを処理 物体を検出する際には,検出ウィンドウをラスタスキャ 近似計算 : f (b) = ci mi b ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D と を利用してバイナリ型特徴量 b と重み w の内積計算を することになるため,多大な計算量を要する.そこで, i=1 近似する. ¯ m+ ∈ {0, 1}D に分解 (m = m+ − ¯ + Hare らによって提案された実数ベクトルの分解法 B-HOG 特徴量に ンし,検出ウィンドウから抽出した [13] m ) することで,式 数 まず, の内積計算を す を利用してバイナリ型特徴量 b と重み NbSVM の内積の近似値を計算で w (10) に示すように線形SVM の重みベクトル w を重み c とバイナリ + D 対する識別器のスコア = を計算し,この値を閾値処 >) サ 基底ベクトル (< {−1, , b > − < m+ , SVM の 近似する. バイナリ基底ベクトル: im ∈ m 1} に分解する.線形 b ¯ c F (b) i i きる. 識別器 F まず,SVM の重みベクトル w を重み (b) は,SVM の重みベクトル w を分解して 基底係数ベクトル: c とバイナリ i=1 理することで人もしくは背景に判定する. の D 得られる重み係数 c の 基底ベクトル m ∈ {−1,基底数 :Nb N 1} に分解する.線形 SVMとバイナリ基底ベクトル m を用い b 線 このような識別器による人検出では VGA サイズの f (b) = ることで,を分解して = N ci w b 識別器 F (b) は,SVM の重みベクトルmiF (b) ≈ f (b) + i=1 ci mi b と近似できる. b = ci (2 < mi , b > −|b|) ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D と i=1 得られる重み係数 c とバイナリ基底ベクトル m を用い 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 !61 と
  • 62. することになるため,多大な計算量を要する.そこで, クセル,ブロックの大きさを b と統計的学習手法である 得られた B-HOG 特徴量 2 セルとした場合,1 つ ここで,バイナリ基底ベクトル m を m+ ∈ {0, ペックの組み込み系ハードウェアで動作らによって提案された実数ベクトルの分解法 [13] Hare 検出ウィンドウから 3, 360 ビットのバイナリコード m+ ∈ {0, 1}D に分解 (m = m+ − m+ ) すること ¯ ¯ 4.2.1 分解法を用いた線形識別器の近似計算 port Vector Machine(SVM) により線形識別器 F (·) 分解法を用いた線形SVMの近似計算 ある.そのため,低計算量かつ低メモリ使 を利用してバイナリ型特徴量 b と重み 得られる.符号なし 8 ビット整数型でバイナリコー (10) に示すように線形 SVM w の内積計算を の内積の近似値を 学習する.線形 SVM による識別関数は式 (9) のよう 式 (9) の線形 SVM により学習した識別器 F (b) は, ルゴリズムが望まれており,我々は 近似する. HOG 図 11: B-HOG 特徴量の計算. を表現した場合,HOG 特徴量と比較してメモリ使用 きる. バイナリ型特徴量 b 表わされる. 化することで計算コストとメモリ使用量 SVM と重み w の内積計算で成り立つ. まず, 近似計算 : の重みベクトル w を重み c とバイナリ を 1/8 に削減できる. 線形SVM B-HOG 特徴量の計算. : 人検出の問題では,膨大な数の検出ウィンドウを処理 図 11: Nb 得られた B-HOG 特徴量 b と統計的学習手 法 [15] を提案した.しかしながら,識別 基底ベクトル m ∈ {−1, 1}D に分解する.線形 SVM の f (b) = ci mi b F (b) = wT b することになるため,多大な計算量を要する.そこで, (9) Vector Machine(SVM) SupportSVM の重みベクトル w により線形識別 ついては未だに解決されていない.そこ F (b) は, 識別器 Hare らによって提案された実数ベクトルの分解法 [13] を分解して i=1 得られた B-HOG 特徴量 b と統計的学習手法である を学習する.線形 bSVM による識別関数は式 (9 4.2.1 分解法を用いた線形識別器の近似計算b N 識別器の計算量を削減するために,識別 得られる重み係数 を利用してバイナリ型特徴量 こで,w は特徴量に対する重みを表す.画像中から F (·) と重み w の内積計算を m を用い Support Vector Machine(SVM) により線形識別器 c とバイナリ基底ベクトル ¯i = = Nib(< m+ , b > − < m+ , b > c に表わされる. 近似する. ,さらに早期に識別を判定するアルゴリ ることで,F (b) ≈ f F (b) は, ci mi b と近似できる. (b) 図 11: B-HOG 特徴量の計算. i i=1 式 (9) SVM による識別関数は式 (9) のよう を学習する.線形 の線形 SVM により学習した識別器 体を検出する際には,検出ウィンドウをラスタスキャ :実数 i=1 まず,SVM の重みベクトル w を重み c とバイナリ た人検出法 [16] について述べる. ここで,バイナリ基底ベクトル m を m+ ∈ {0, 1}D と :バイナリ{1,-1} Nb バイナリ型特徴量 b と重み w の内積計算で成り立つ. に表わされる. し,検出ウィンドウから抽出した B-HOG 特徴量に B-HOG特徴量の次元数SVM b F+ = wT (b) 基底ベクトル m ∈ D {−1, 1}D に分解する.線形 + + の + られた B-HOG 特徴量 b と統計的学習手法である に分解 (m = mc (2 m m することで,式 ¯ ¯ m = G 特徴量と SVM による人検出 識別器 F∈ {0, 1}SVM の重みベクトル w− < ) i , b > −|b|) 人検出の問題では,膨大な数の検出ウィンドウを処理 i を分解して (b) は, する識別器のスコア F (b) を計算し,この値を閾値処 i=1 rt Vector Machine(SVM) により線形識別器 F (·) B-HOG特徴量の次元数 wT b (10) に示すように線形 SVM の内積の近似値を計算で F (b) = (9) ここで,w は特徴量に対する重みを表す.画 of Orientedすることになるため,多大な計算量を要する.そこで, Gradients(HOG) 特徴量 [14] 得られる重み係数 c とバイナリ基底ベクトル m を用い することで人もしくは背景に判定する. のよう Nb 習する.線形 SVM による識別関数は式 (9)F (b) ≈ (10) に含まれるバイナリコードの内積 < 図 図 11: B-HOG 特徴量の計算. きる. ることで, 式 f (b) = i=1 c mi b m 物体を検出する際には,検出ウィンドウをラス ンドウからセルと呼ばれる局所領域毎に Hare らによって提案された実数ベクトルの分解法 i[13] と近似できる. このような識別器による人検出では VGA サイズの ここで, ここで,バイナリ基底ベクトル わされる. w は特徴量に対する重みを表す.画像中から m を m+ ∈ {0, 1}D と は論理積とビットカウントで計算できる.3 章 を利用してバイナリ型特徴量 b D ンし,検出ウィンドウから抽出した B-HOG 方向ヒストグラムを特徴量とする.HOG と重み w の内積計算を 得られた B-HOG 特徴量 b と統計的学習手法である 基底数 Nb + 像に対して検出ウィンドウを網羅的にラスタスキャ = m+ − m+ ) することで,式 数マージン内 ¯ m ∈ {0, 1} に分解 (m c m ¯ 物体を検出する際には,検出ウィンドウをラスタスキャ i b = i 近似する.T により線形識別器f (b)対する識別器のスコア F (b) を計算し,この値 数のセルで構成されるブロック領域で正F (·) たように論理演算やビットカウントは実数ベク pport Vector Machine(SVM) する.関数マ (10) に示すように線形 i=1 の内積の近似値を計算で F (b) = w b (9) SVM する場合,数万個の検出ウィンドウを処理すること ンし,検出ウィンドウから抽出した B-HOG 特徴量に 積算より遥かに高速に計算できる.また,SSE4 まず,SVM の重みベクトル 学習する.線形 SVM による識別関数は式 (9) のようを重み c とバイナリ サンプルは, め,局所的な照明変化の影響を受けにく w 理することで人もしくは背景に判定する. きる. Nb なる.これら全てのウィンドウから特徴量を抽出し, 対する識別器のスコア F (b) を計算し,この値を閾値処 CPU 表わされる. 特徴量 [15] は,図{−1, 1}D に分解する.線形 SVM の このような識別器による人検出では VGA サ で,w は特徴量に対する重みを表す.画像中から に実装されている POPCNT,関数を利用す .B-HOG 基底ベクトル m ∈ 3000)の 11 に示す ¯i N= ci (< m+ , b > − < m+ bの誤差の少な >) b i 特徴量bが高次元数(D= 別器理することで人もしくは背景に判定する.内積   は,きわめて高速に算出可能 線形 SVM の F (b) のスコアを求める必要があるため,高速な を分解して f (b) = で非常に高速に処理できる. 識別器 F (b) は,SVM の重みベクトル w i=1 を検出する際には,検出ウィンドウをラスタスキャci mi b 特徴量を 2 値化したバイナリコードで表 (9) 画像に対して検出ウィンドウを網羅的にラス とき、内積  b に時間を要する F (b) = wT i=1 とで高速な識 このような識別器による人検出では VGA線形 Nb m を用い サイズの 体検出実現するためには識別処理を高速化する必要SVM の近似計算結果の過程を図 12 に示 得られる重み係数 c B-HOG 特徴量に とバイナリ基底ベクトル Nb ンする場合,数万個の検出ウィンドウを処理す ,検出ウィンドウから抽出した である.セルと呼ばれる局所領域毎に作 図 13 に提案 =c (< m+i (2> −m+¯ b, > >) c, , (10) Nb 画像に対して検出ウィンドウを網羅的にラスタスキャb < <i m+ b −|b|) 図 12: 線形 S ある.w は特徴量に対する重みを表す.画像中から i底数が少ない段階では,おおまかな識別器のス こで, ることで,を計算し,この値を閾値処bi と近似できる. i FHOG 特徴量を 2 = c になる.これら全てのウィンドウから特徴量を (b) ≈ f (b) = i=1 mi i る識別器のスコア F (b) !62 向ヒストグラムである ンプルの割合 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 i=1
  • 64. + + D に分解する.線形 数 基底ベクトル m ∈ {−1, 1}することで,式 SVM ¯ に分解 (m = m − m ) ¯ m ∈ {0, 1} 線形SVMの近似計算法 F (b) は,SVM の重みベクトル w を分解し 識別器 す (10) に示すように線形 SVM の内積の近似値を計算で 得られる重み係数 c とバイナリ基底ベクトル m を用 サ きる. Nb • 線形SVMの内積を近似計算 (b) ≈ f (b) = i=1 ci mi b と近似でき ることで,F の + D + D f (b) = = Nb ここで,バイナリ基底ベクトル m を m 基底バイナリコードの分解 ∈ {0, 1} 線 ¯ i {0, 1} ¯ m+c∈mi b D に分解 (m = m+ − m+ ) することで, i=1 に示すように線形 SVM の内積の近似値を計算 と (10) Nb きる. { -1 , c (< m+ , b }> − < 1} {0,1 i i Nb i=1 ビット演算による内積計算ができない Nb = i=1 f (b) = ¯i m+ , b >) ン ci mi b す i=1 ci (2 < m+ ,Nb > −|b|) i b = i=1 (10) ¯i ci (< m+ , b > − < m+ , b >) i し Nb 式 (10) に含まれるバイナリコードの内積 < m+ , b > i = ci (2 < m+ , b i > −|b|) は論理積とビットカウントで計算できる.3 章で述べ i=1 たように論理演算やビットカウントは実数ベクトルの 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 の 期 ( で + !64
  • 65. ¯+ m+ ∈ ¯ D 数 基底ベクトル m ∈ {−1, 1}D に分解する.線形 数 D に分解 (m = m+ − m+ ) することで,式 SVM + ¯+ {0, 1} ¯ m ∈ {0, 1} に分解 (m = ) することで,式 線形SVMの近似計算法 F (b) m − m の重みベクトル w を分解し 識別器 は,SVM す す (10) に示すように線形 SVM の内積の近似値を計算で (10) に示すように線形 SVM の内積の近似値を計算で 得られる重み係数 c とバイナリ基底ベクトル m を用 サ サ きる. Nb • きる. 線形SVMの内積を近似計算 (b) ≈ f (b) = i=1 ci mi b と近似でき ることで,F の の + Nb ここで,バイナリ基底ベクトル m を m ∈ {0, 1}D Nb 基底バイナリコードの分解 線 線 f (b) = m+c∈mi b D に分解 (m = m+ − m+ ) することで, ¯ {0, 1} f (b) = ¯ ci mi b i i=1 に示すように線形 SVM の内積の近似値を計算 と (10) i=1 と = = Nb Nb きる. i=1 i=1 Nb Nb i=1 i=1 + + ¯i ci (< m+ , b > − < m+ , b >) i i i i Nb f (b) = ci mi b i=1 の ¯i =内積 ci (<ノルムb > − < m+ , b >) m+ , i し i=1 + ci (2 < m+ ,Nb > −|b|) i b i i (10) + 内積 → 論理積 + ビットカウント Nb 式 (10) に含まれるバイナリコードの内積 < mi , b > 式 (10) に含まれるバイナリコードの内積+ ノルム → ビットカウント (2 < m , b > −|b|) = ci i は論理積とビットカウントで計算できる.3 章で述べ は論理積とビットカウントで計算できる. i=1 →POPCNT関数を利用して非常に高速な演算が可能 たように論理演算やビットカウントは実数ベクトルの たように論理演算やビットカウントは実数ベクトルの 画像認識への期待と可能性 / 中部大学工学部情報工学科 藤吉弘亘 ン す 期 ( で + !65