More Related Content More from MPRG_Chubu_University More from MPRG_Chubu_University (13) 局所特徴量と統計学習手法による物体検出1. 1
局所特徴量と統計学習手法による物体検出
http://mprg.jp/tutorials
機械知覚&ロボティクス研究グループ(中部大学)
中部
工学
助手
中部大学
工学部 情報工学科
講師
大学
部 ロボット理工学科
中部大学
工学部 ロボット理工学科
助手
山内 悠嗣
機械知覚&ロボティクスグル
487-8501
愛知県春日井市松本町120
Tel 0568-51-8249
Fax 0568-51-9409
yuu@vision.cs.chubu.ac.jp
http://vision.cs.chubu.ac.jp
MACHINE PERCEPTION AND
中部大学
工学部 情報工学科
講師
山下 隆義
機械知覚&ロボティクスグループ
487-8501
愛知県春日井市松本町1200
Tel 0568-51-9670
Fax 0568-51-1540
yamashita@cs.chubu.ac.jp
http://vision.cs.chubu.ac.jp
博士(工学)
MACHINE PERCEPTION AND ROBOTICS GROUP
中部大学
工学部 ロボット理工学科
教授
藤吉 弘亘
機械知覚&ロボティクスグループ
487-8501
愛知県春日井市松本町1200
Tel 0568-51-9096
Fax 0568-51-9409
hf@cs.chubu.ac.jp
http://vision.cs.chubu.ac.jp
博士(工学)
MACHINE PERCEPTION AND ROBOTICS GROUP
15. Haar-like特徴の算出
• 特徴量H(r1,r2) = AとBの平均輝度の差を算出
領域Aの平均輝度 領域Bの平均輝度
• 2つの領域の輝度差に着目し,局所的なエッジ成分•
線成分をとらえる
€
H(r1,r2) = S(r1) − S(r2)A B
Haar-likeパターン 顔の特徴を捉えることが可能
15
34. 1,2 前処理
1. 前処理
– N 個の学習サンプル を用意
• : 画像
• : クラスラベル
‒ 顔には+1, 非顔には-1
2. 学習サンプルの重みの初期化
‒ 各サンプルの重み を均等にする
34
36. 3.1 弱識別器候補
• 基本的に設計は自由
‒ 1か-1を出力する関数
‒ エラー率が0.5以下
• Viola&Jonesの顔検出では閾値関数を使用
‒ ある1つの特徴量に対する分布を観測
v
p
ht:tラウンド目の弱識別器
:特徴量
:閾値
:不等号の向きを決定する
変数(1or-1)
ht(x) =
1 p · v(x) > p ·
1 otherwise
36
38. • 弱識別器に対するエラー率 を算出
‒ 弱識別器hの応答値とクラスラベルが異なった場合サンプルの
重みを足し合わせる
‒ エラー率が0.5を超えたら、弱識別器のパリティpを反転
3.2 エラー率の算出
et,m =
N
i:ht(xi)=yi
Dt(i)
Neg← →Pos
出現確率
p = -1
Pos← →Neg
出現確率
et,m
Pos Neg Pos Neg
et,m = 0.65 et,m = 1 (0.65)
= 0.35 38
41. • 4. エラー率 が最小となるhを現在のラウンドの
弱識別器として採用
• 5. 採用した弱識別器に対する重み を算出
重み = 信頼度
4,5 弱識別器の選択と重みの算出
ht = arg min et,m
t =
1
2
ln
1 et
et
⇥
t
(ln = loge)
※
et = 0.067
=
1
2
ln(
0.933
0.067
)
=
1
2
ln 13.925
= 1.316
・優秀な弱識別器
et = 0.241
=
1
2
ln(
0.759
0.241
)
=
1
2
ln 3.149
= 0.574
・標準的な弱識別器
et = 0.5
=
1
2
ln(
0.5
0.5
)
=
1
2
ln 1
= 0
・半分しか正解できない弱識別器
et
41
43. 6. 学習サンプルの重みの更新
6,7 サンプルの重みの更新と正規化
Dt+1(i) = Dt(i) exp( tytht(xi))
Dt+1(i) =
Dt+1(i)
N
i=1
Dt(i) exp( tytht(xi))
h =1(顔) h =-1(非顔)
y = 1ラベルy = 1ラベル
ytht(xi) = 1 ytht(xi) = 1
となり、
重みは低くくなる
Dt+1(i) = Dt(i) exp( t) となり、
重みは高くなる
Dt+1(i) = Dt(i) exp( t)
43
7. 学習サンプルの重みの更新
45. 重みの更新の過程(2/4)
• 1st Round
1 : 0.1432 : 0.143
3 : 0.143
4 : 0.143
5 : 0.143
6 : 0.143
7 : 0.143
et,m =
N
i:ht(xi)=yi
Dt(i)エラー率 :
= 0.143
t =
1
2
ln
1 et
et
⇥
弱識別器の重み :
(信頼度)
= 0.895
特徴量 1v
特徴量2v
1 : 0.0842 : 0.084
3 : 0.084
4 : 0.084
5 : 0.500
6 : 0.084
7 : 0.084
特徴量 1v
特徴量2v
Dt+1(i) = Dt(i) exp( tytht(xi))
サンプル1 : 0.143*exp(-0.895*(1)*(1)) = 0.0572
サンプル2 : 0.143*exp(-0.895*(1)*(1)) = 0.0572
サンプル3 : 0.143*exp(-0.895*(1)*(1)) = 0.0572
サンプル4 : 0.143*exp(-0.895*(1)*(1)) = 0.0572
サンプル5 : 0.143*exp(-0.895*(-1)*(1)) = 0.338
サンプル6 : 0.143*exp(-0.895*(-1)*(-1)) = 0.0572
サンプル7 : 0.143*exp(-0.895*(-1)*(-1)) = 0.0572
= 0.681
+)
→ 0.0572/0.681 = 0.084
→ 0.0572/0.681 = 0.084
→ 0.0572/0.681 = 0.084
→ 0.0572/0.681 = 0.084
→ 0.338/0.681 = 0.500
→ 0.0572/0.681 = 0.084
→ 0.0572/0.681 = 0.084
重み更新 :
重み更新 正規化
45
46. et,m =
N
i:ht(xi)=yi
Dt(i)エラー率 :
= 0.084+0.084 = 0.168
t =
1
2
ln
1 et
et
⇥
弱識別器の重み :
(信頼度)
= 0.800
1 : 0.0842 : 0.084
3 : 0.084
4 : 0.084
5 : 0.500
6 : 0.084
7 : 0.084
特徴量 1v
特徴量2v
特徴量 1v
1 : 0.0502 : 0.050
3 : 0.250
4 : 0.250
5 : 0.300
6 : 0.050
7 : 0.050
特徴量2v
サンプル1 : 0.084*exp(-0.800*(1)*(1)) = 0.0377
サンプル2 : 0.084*exp(-0.800*(1)*(1)) = 0.0377
サンプル3 : 0.084*exp(-0.800*(1)*(-1)) = 0.187
サンプル4 : 0.084*exp(-0.800*(1)*(-1)) = 0.187
サンプル5 : 0.500*exp(-0.800*(-1)*(-1)) = 0.225
サンプル6 : 0.084*exp(-0.800*(-1)*(-1)) = 0.0377
サンプル7 : 0.084*exp(-0.800*(-1)*(-1)) = 0.0377
= 0.750
+)
→ 0.0377/0.750 = 0.050
→ 0.0377/0.750 = 0.050
→ 0.187/0.750 = 0.250
→ 0.187/0.750 = 0.250
→ 0.225/0.750 = 0.300
→ 0.0377/0.750 = 0.050
→ 0.0377/0.750 = 0.050
重み更新 正規化
重みの更新の過程(3/4)
46
• 2nd Round
Dt+1(i) = Dt(i) exp( tytht(xi))重み更新 :
47. et,m =
N
i:ht(xi)=yi
Dt(i)エラー率 :
= 0.050
t =
1
2
ln
1 et
et
⇥
弱識別器の重み :
(信頼度)
= 1.47
1 : 0.0502 : 0.050
3 : 0.250
4 : 0.250
5 : 0.300
6 : 0.050
7 : 0.050
特徴量 1v
特徴量2v
特徴量 1v
特徴量2v
1 : 0.498
2 : 0.0246
3 : 0.132
4 : 0.132
5 : 0.158
6 : 0.0246
7 : 0.0246
サンプル1 : 0.050*exp(-1.47*(1)*(-1)) = 0.217
サンプル2 : 0.050*exp(-1.47*(1)*(1)) = 0.0115
サンプル3 : 0.250*exp(-1.47*(1)*(1)) = 0.0575
サンプル4 : 0.250*exp(-1.47*(1)*(1)) = 0.0575
サンプル5 : 0.300*exp(-1.47*(-1)*(-1)) = 0.0690
サンプル6 : 0.050*exp(-1.47*(-1)*(-1)) = 0.0115
サンプル7 : 0.050*exp(-1.47*(-1)*(-1)) = 0.0115
= 0.436
+)
→ 0.217/0.436 = 0.498
→ 0.0115/0.436 = 0.0264
→ 0.0575/0.436 = 0.132
→ 0.0575/0.436 = 0.132
→ 0.0690/0.436 = 0.158
→ 0.0115/0.436 = 0.0264
→ 0.0115/0.436 = 0.0264
重み更新 正規化
重みの更新の過程(4/4)
47
• 3rd Round
Dt+1(i) = Dt(i) exp( tytht(xi))重み更新 :
49. 8 最終識別器の構築
• すべての弱識別器に信頼度で重みをつけて 多数決をと
る形になる
– Hが閾値 より高ければ人、低ければ非人と判定
H(x) = sign
T⇤
t=1
tht(x) ⇥
⇥
1st round : 0.895 2nd round : 0.800 3rd round : 1.47
1:0.2252 : 3.165
3 : 1.565
4 : 1.565
5 : -1.375 6 : -3.165
7 : -3.165
弱識別器
強識別器
+ + =
49
61. HOGの算出法1
1. 輝度の勾配方向と強度の算出
2. ヒストグラムの作成
‒ 0 から180 までを、20 ずつ9方向に分割
fx(x, y) = L(x + 1, y) L(x 1, y)
fy(x, y) = L(x, y + 1) L(x, y 1)
m(x, y) = fx(x, y)2 + fy(x, y)2
(x, y) = tan 1 fy(x, y)
fx(x, y)
勾配強度:
勾配方向:
61
62. HOGの算出法2
3. ブロック領域での正規化
‒ あるn番目のHOG特徴量について正規化
‒ 分母は1ブロック(q qセル)含まれるHOG特徴量の総和
‒ 1つのセルに対し複数回の正規化
‒ 例:30 60の入力画像の場合
• 1セル:5 5ピクセル、1ブロック:3 3セル
v(n) =
v(n)
⌃
⇧
⇧
⌅
q q N⇤
k=1
v(k)2
⇥
+
( = 1)
N:勾配方向数
(4 10) (3 3) 9 = 3,240個(次元)のHOG特徴量
正規化回数 1ブロックのセル数 勾配方向数
62
64. Support Vector Machine (SVM)
• 識別面と2クラスのサンプルの距離(マージン)を最大とす
る識別境界を決定する統計的学習手法
‒ マージン最大化を行うことで汎化性能の高い識別器を学習
‒ カーネル関数を利用することで非線形識別境界も得られる
64
クラス1
クラス2
クラス1
クラス2
マージン
サポート
ベクター
71. AdaBoostとReal AdaBoost
• AdaBoost(Discrete AdaBoost)
‒ 弱識別器の出力(1,-1)にαで重み付けて結合することで最終
識別器を構築
• Real AdaBoost [Schapire 99]
‒ AdaBoostからの派生
‒ 弱識別器の出力が特徴量の分布に応じて実数値化(real)
‒ サンプルに対しどの程度の識別が可能であるかが分かる
‒ 少ない弱識別器で高精度な検出
• 学習の収束が早い
効果的な重みの更新が可能
71
73. 1,2 前処理
1. 前処理
– N個の学習サンプル
• : 画像
• : クラスラベル
‒ 人には+1, 非人には-1
2. 学習サンプルの重みの初期化
‒ 各サンプルの重み を均等にする
73
79. = 0.15, = 0.15
= 0.0
4 最もz が高い弱識別器を選択
• z が高い = 識別に有効な弱識別器
‒ 弱識別器の出力
: 学習ラウンド
: 弱識別器の番号
( )
= 0.1, = 0.2
= -1.39
= 0.26, = 0.12
= 1.54
出現確率
特徴量 j (BIN)
出現確率
特徴量 j (BIN)
出現確率
特徴量 j (BIN)
79
81. • 学習サンプルの重みの更新
• 学習サンプルの重みの正規化
学習アルゴリズム5
= 0.15, = 0.15
= 0.0
= 0.1, = 0.2
= -1.39
= 0.26, = 0.12
= 1.54
出現確率
特徴量 j (BIN)
出現確率
特徴量 j (BIN)
出現確率
特徴量 j (BIN)
ポジティブ
サンプル
ネガティブ
サンプル
重みを高く 重みを低く
ポジティブ
サンプル
ネガティブ
サンプル
重みを低く 重みを高く
ポジティブ
サンプル
ネガティブ
サンプル
重みはそのまま
81
83. • 強識別器の生成
‒ 弱識別器の線形和
• 弱識別器の出力値が実数であるため、AdaBoostのように
重みαは必要ない
– Hが閾値 より高ければ人、低ければ非人と判定
学習アルゴリズム6
H(x) = sign
T⇤
t=1
ht(x)
⇥
83
84. 識別実験
• 予め切り出された画像を用いて評価
• 比較手法
‒ HOG+AdaBoost
‒ HOG+Real AdaBoost
• データベース(CUデータセット)
‒ 評価用は位置ずれを含む
・学習用 ・評価用
ポジティブサンプル : 2,054枚 ポジティブサンプル : 1,000枚
ネガティブサンプル : 6,258枚 ネガティブサンプル : 1,234枚
84
85. 評価方法
• DET (Detection Error Tradeoff)カーブ
‒ 横軸に誤検出率、縦軸に未検出率
‒ 閾値を変化させながらプロット
‒ 誤検出率に対する未検出率を比較が可能
左下に向かうほど、精度が良い
85
99. Real AdaBoostのソースコード
• Real AdaBoost + HOG
‒ URL : http://www.vision.cs.chubu.ac.jp/CVTutorial/
• 入力画像からHOG特徴量を算出し,2クラス識別器を構築
‒ Dataset : CU-Dataset
‒ 作成環境 : Visual Studio ver. 2005
‒ ライブラリ : OpenCV
99
102. まとめ
• HOG特徴量
‒ 局所領域における輝度勾配ヒストグラム
‒ 照明変化、幾何学的変化に頑健
• Real AdaBoost
‒ 2値だった出力を実数値化
‒ 信頼度αが不要
‒ 少ない弱識別器で高精度な検出
• HOGとBoostingを用いた人検出
‒ 人の局所的な形状特徴を学習
‒ ラスタスキャンにより人領域を探索
‒ MeanShiftにより検出ウィンドウを統合
102
105. 第一世代の特徴量
Rowley, Baluja, and Kanade: Neural Network-Based Face Detection (PAMI, January 1998)
→研究者・開発者の事前知識が必要
• 対象物全体を特徴量として捉える
– 輝度情報 [Rowley, PAMI 98], Wavelet等
– 形状の複雑度 (VSAM)
低次元数の特徴量 → NNのサイズをできるだけ小さくしたい
105
109. Joint-HOG特徴による人検出 [三井, 山内, 藤吉 SSII 08]
AdaBoost
h1( , ) α1
h2( , ) α2
hT( , ) αT
弱識別器h 重みα
未知入力パターン
H (x) = Σ ht(x)・αt
HOG特徴量 x
+
・
・
・
+
+
人 : H (x) > λ
非人: otherwise
判定結果
• 異なる二つの領域のHOG特徴量をAdaBoostにより組み合わせる
109
110. 2段階AdaBoostによるJoint-HOG特徴の自動生成
セルの
全組み合わせ
Low-level:
HOG特徴POOL
1段階目のAdaBoostで
生成した特徴量
Mid-level:
Joint HOG特徴POOL
AdaBoost
h1( , )
最終識別器
h2( , )
hT( , )
弱識別器h
・
・
・
AdaBoost
C1とC2のHOG
C1[v1, v2, ...v9]
C2[v1, v2, ...v9]
H1,2(C1, C2)
C1:
C2:
・・・
AdaBoost
C7とC11のHOG
C7[v1, v2, ...v9]
C11[v1, v2, ...v9]
H7,11(C7, C11)
C7:
C11:
・・・
AdaBoost
CiとCjのHOG
Cj[v1, v2, ...v9]
Cj[v1, v2, ...v9]
Hi,j(Ci, Cj)
Ci:
Cj:
・・・
→ 局所領域間での勾配方向の対称性、連続性を自動的に捉える
・
・
・
・
・
・
・
・
・
・
・
・
110
111. 評価用データベース
• 人検出用画像データベース
- 学習用画像データ Positive : 2,053枚 Negative : 6,253枚
- 評価用画像データ Positive : 1,023枚 Negative : 1,233枚
• 車両検出用画像データベース
- 学習用画像データ Positive : 2,053枚 Negative : 6,253枚
- 評価用画像データ Positive : 1,023枚 Negative : 1,233枚
111
117. DPMによる誤検出例
117
Fig. 6. Qualitative detection results on the Ca
row shows typical false positives.
laborative Research Lab.
REFERENCES
[1] A. Bar-Hillel, D. Levi, E. Krupka, and C. G
synthesis for human detection. In ECCV,
[2] H. Cho, P. Rybski, and W. Zhang. Vision-
tracking using a deformable part model an
2010.
on the Caltech testset. The first and second row shows correct pedestrian detections in various scenarios. The third
ENCES
a, and C. Goldberg. Part-based feature
In ECCV, 2010.
g. Vision-based bicycle detection and
model and an ekf algorithm. In ITSC,
[13] P. F. Felzenszwalb, R. B. Girshick, and D. McAllester.
Discriminatively trained deformable part models, release 4.
http://people.cs.uchicago.edu/⇠pff/latent-release4/.
[14] D. M. Gavrila and S. Munder. Multi-cue pedestrian detection and
tracking from a moving vehicle. International Journal of Computer
Vision, 73:41–59, 2007.
[15] D. Gero´nimo, A. Lo´pez, and T. G. A. Sappa. Survey of pedestrian
detection for advanced driver assistance systems. IEEE Transaction
on Pattern Analysis and Machine Intelligence, 32, 2010.
an detections in various scenarios. The third
R. B. Girshick, and D. McAllester.
d deformable part models, release 4.
edu/⇠pff/latent-release4/.
Munder. Multi-cue pedestrian detection and
vehicle. International Journal of Computer
and T. G. A. Sappa. Survey of pedestrian
river assistance systems. IEEE Transaction
Machine Intelligence, 32, 2010.
HOG(特徴抽出過程)の限界
(Real-time Pedestrian Detection with Deformable Part Models, IV2012)
119. 近年の物体検出2 : Deep Learning
119
ポイント
特徴そのもの(フィルタ)を学習することで性能向上
フィルタの畳み込みとプーリングにより幾何学的変化に対する不変性の獲得
畳み込みニューラルネットワークの構造
→学習により特徴抽出過程を自動獲得
特徴抽出部 識別部
125. バイナリ型HOG特徴量:B-HOG [松島, IEICE 11]
125
• HOG特徴量を 0 と 1 のバイナリコードで表現
‒ 勾配方向ヒストグラムを2値化
‒ ドミナントな方向を 1 ,そうでない方向を 0 で表現
‒ 3,360 bit のバイナリコード (=HOG特徴量の次元数)
勾配方向ヒストグラム
( HOG特徴量 )
B-HOG 特徴量の可視化入力画像
1 8セル!(8 8ピクセル)
勾配強度
th
0 1 1 1 1 1 0 0
バイナリコード
( B-HOG特徴量 )
HOG 特徴量の可視化
勾配方向ヒストグラム
( HOG特徴量 )
B-HOG 特徴量の可視化入力画像
1 8セル!(8 8ピクセル)
勾配強度
th
0 1 1 1 1 1 0 0
バイナリコード
( B-HOG特徴量 )
HOG 特徴量の可視化
勾配方向ヒストグラム
( HOG特徴量 )
B-HOG 特徴量の可視化入力画像
1 8セル!(8 8ピクセル)
勾配強度
th
0 1 1 1 1 1 0 0
バイナリコード
( B-HOG特徴量 )
HOG 特徴量の可視化
勾配方向ヒストグラム
( HOG特徴量 )
B-HOG 特徴量の可視化入力画像
1 8セル!(8 8ピクセル)
勾配強度
th
0 1 1 1 1 1 0 0
バイナリコード
( B-HOG特徴量 )
演算を近似し,さらに早期に識別を判定するアルゴリ
ズムを導入した人検出法 [16] について述べる.
4.1 B-HOG 特徴量と SVM による人検出
Histograms of Oriented Gradients(HOG) 特徴量 [14]
は,検出ウィンドウからセルと呼ばれる局所領域毎に
作成した勾配方向ヒストグラムを特徴量とする.HOG
特徴量は,複数のセルで構成されるブロック領域で正
規化されるため,局所的な照明変化の影響を受けにく
い特長がある.B-HOG 特徴量 [15] は,図 11 に示す
ように HOG 特徴量を 2 値化したバイナリコードで表
わした特徴量である.セルと呼ばれる局所領域毎に作
成した勾配方向ヒストグラムである HOG 特徴量を 2
値化して D ビットのバイナリコードを得る.式 (8) に
よりセル c における正規化後の勾配方向ヒストグラム
vc = {vc(1), vc(2), ..., vc(N)} をバイナリコード bc =
{bc(1), bc(2), ..., bc(N)} に変換する.ここで,N は勾配
方向ヒストグラムの量子化数である.
bc(n) =
1 if vc(n) > thc(n)
0 otherwise
(8)
ここで,thc(n) は閾値を表わし,事前に計算した学習
サンプルの HOG 特徴量の各次元毎の平均値を使用す
る.B-HOG 特徴量 b = {b1, b2, · · · , bc} は 64 × 128
ピクセルの検出ウィンドウに対して,セルの大きさを 8
F
ここで,w は特徴量
物体を検出する際に
ンし,検出ウィンド
対する識別器のスコ
理することで人もし
このような識別器
画像に対して検出ウ
ンする場合,数万個
になる.これら全て
識別器 F(b) のスコア
物体検出実現するた
がある.
4.2 分解法に基づく
識別器の高速
計算量の問題を解
として分解法を利用
判定を導入する.ま
う性能低下を解決す
を表現することで識
126. バイナリ型HOG特徴量:B-HOG [松島, IEICE 11]
126
• HOG特徴量を 0 と 1 のバイナリコードで表現
‒ 勾配方向ヒストグラムを2値化
‒ ドミナントな方向を 1 ,そうでない方向を 0 で表現
‒ 3,360 bit のバイナリコード (=HOG特徴量の次元数)
勾配方向ヒストグラム
( HOG特徴量 )
B-HOG 特徴量の可視化入力画像
1 8セル!(8 8ピクセル)
勾配強度
th
0 1 1 1 1 1 0 0
バイナリコード
( B-HOG特徴量 )
演算を近似し,さらに早期に識別を判定するアルゴリ
ズムを導入した人検出法 [16] について述べる.
4.1 B-HOG 特徴量と SVM による人検出
Histograms of Oriented Gradients(HOG) 特徴量 [14]
は,検出ウィンドウからセルと呼ばれる局所領域毎に
作成した勾配方向ヒストグラムを特徴量とする.HOG
特徴量は,複数のセルで構成されるブロック領域で正
規化されるため,局所的な照明変化の影響を受けにく
い特長がある.B-HOG 特徴量 [15] は,図 11 に示す
ように HOG 特徴量を 2 値化したバイナリコードで表
わした特徴量である.セルと呼ばれる局所領域毎に作
成した勾配方向ヒストグラムである HOG 特徴量を 2
値化して D ビットのバイナリコードを得る.式 (8) に
よりセル c における正規化後の勾配方向ヒストグラム
vc = {vc(1), vc(2), ..., vc(N)} をバイナリコード bc =
{bc(1), bc(2), ..., bc(N)} に変換する.ここで,N は勾配
方向ヒストグラムの量子化数である.
bc(n) =
1 if vc(n) > thc(n)
0 otherwise
(8)
ここで,thc(n) は閾値を表わし,事前に計算した学習
サンプルの HOG 特徴量の各次元毎の平均値を使用す
る.B-HOG 特徴量 b = {b1, b2, · · · , bc} は 64 × 128
ピクセルの検出ウィンドウに対して,セルの大きさを 8
F
ここで,w は特徴量
物体を検出する際に
ンし,検出ウィンド
対する識別器のスコ
理することで人もし
このような識別器
画像に対して検出ウ
ンする場合,数万個
になる.これら全て
識別器 F(b) のスコア
物体検出実現するた
がある.
4.2 分解法に基づく
識別器の高速
計算量の問題を解
として分解法を利用
判定を導入する.ま
う性能低下を解決す
を表現することで識
127. B-HOGを用いた線形SVMの近似計算 [後藤, IEICE 14]
127
• 重みベクトルwを分解して近似
‒ wを基底係数cとバイナリ基底ベクトルmに分解
重みベクトル B-HOG
線形SVM :
得られた B-HOG 特徴量 b と統計的学習手法である
Support Vector Machine(SVM) により線形識別器 F(·)
を学習する.線形 SVM による識別関数は式 (9) のよう
に表わされる.
F(b) = wT
b (9)
ここで,w は特徴量に対する重みを表す.画像中から
物体を検出する際には,検出ウィンドウをラスタスキャ
ンし,検出ウィンドウから抽出した B-HOG 特徴量に
対する識別器のスコア F(b) を計算し,この値を閾値処
理することで人もしくは背景に判定する.
このような識別器による人検出では VGA サイズの
基底係数ベクトル:
識別器 F(b) は,SVM の重みベクトル w を分解し
得られる重み係数 c とバイナリ基底ベクトル m を用
ることで,F(b) ≈ f(b) =
Nb
i=1 cimib と近似でき
ここで,バイナリ基底ベクトル m を m+
∈ {0, 1}D
¯m+
∈ {0, 1}D
に分解 (m = m+
− ¯m+
) することで,
(10) に示すように線形 SVM の内積の近似値を計算
きる.
f(b) =
Nb
i=1
cimib
=
Nb
i=1
ci(< m+
i , b > − < ¯m+
i , b >)
=
Nb
ci(2 < m+
i , b > −|b|)
4.2.1 分解法を用いた線形識別器の近似計算
式 (9) の線形 SVM により学習した識別器 F(b) は,
バイナリ型特徴量 b と重み w の内積計算で成り立つ.
人検出の問題では,膨大な数の検出ウィンドウを処理
することになるため,多大な計算量を要する.そこで,
Hare らによって提案された実数ベクトルの分解法 [13]
を利用してバイナリ型特徴量 b と重み w の内積計算を
近似する.
まず,SVM の重みベクトル w を重み c とバイナリ
基底ベクトル m ∈ {−1, 1}D
に分解する.線形 SVM の
識別器 F(b) は,SVM の重みベクトル w を分解して
得られる重み係数 c とバイナリ基底ベクトル m を用い
ることで,F(b) ≈ f(b) =
Nb
i=1 cimib と近似できる.
ここで,バイナリ基底ベクトル m を m+
∈ {0, 1}D
と
4.2.1 分解法を用いた線形識別器の近似計算
式 (9) の線形 SVM により学習した識別器 F(b) は,
バイナリ型特徴量 b と重み w の内積計算で成り立つ.
人検出の問題では,膨大な数の検出ウィンドウを処理
することになるため,多大な計算量を要する.そこで,
Hare らによって提案された実数ベクトルの分解法 [13]
を利用してバイナリ型特徴量 b と重み w の内積計算を
近似する.
まず,SVM の重みベクトル w を重み c とバイナリ
基底ベクトル m ∈ {−1, 1}D
に分解する.線形 SVM の
識別器 F(b) は,SVM の重みベクトル w を分解して
得られる重み係数 c とバイナリ基底ベクトル m を用い
バイナリ基底ベクトル:
近似計算 :
基底数 :
人検出の問題では,膨大な数の検出ウィンドウを処理
することになるため,多大な計算量を要する.そこで,
Hare らによって提案された実数ベクトルの分解法 [13]
を利用してバイナリ型特徴量 b と重み w の内積計算を
近似する.
まず,SVM の重みベクトル w を重み c とバイナリ
基底ベクトル m ∈ {−1, 1}D
に分解する.線形 SVM の
識別器 F(b) は,SVM の重みベクトル w を分解して
得られる重み係数 c とバイナリ基底ベクトル m を用い
ることで,F(b) ≈ f(b) =
Nb
i=1 cimib と近似できる.
ここで,バイナリ基底ベクトル m を m+
∈ {0, 1}D
と
¯m+
∈ {0, 1}D
に分解 (m = m+
− ¯m+
) することで,式
(10) に示すように線形 SVM の内積の近似値を計算で
きる.
f(b) =
Nb
i=1
cimib
数
す
サ
の
線
と
128. B-HOGを用いた線形SVMの近似計算 [後藤, IEICE 14]
128
:実数
:バイナリ{1,-1}
基底数
B-HOG特徴量の次元数
線形SVM : 近似計算 :
B-HOG特徴量の次元数
特徴量bが高次元数(D=3000)の
とき、内積 に時間を要する
ここで,バイナリ基底ベクトル m を m+
∈ {0,
¯m+
∈ {0, 1}D
に分解 (m = m+
− ¯m+
) すること
(10) に示すように線形 SVM の内積の近似値を
きる.
f(b) =
Nb
i=1
cimib
=
Nb
i=1
ci(< m+
i , b > − < ¯m+
i , b >
=
Nb
i=1
ci(2 < m+
i , b > −|b|)
式 (10) に含まれるバイナリコードの内積 < m
は論理積とビットカウントで計算できる.3 章
たように論理演算やビットカウントは実数ベク
積算より遥かに高速に計算できる.また,SSE4
CPU に実装されている POPCNT 関数を利用す
で非常に高速に処理できる.
線形 SVM の近似計算結果の過程を図 12 に示
底数が少ない段階では,おおまかな識別器のス
得られた B-HOG 特徴量 b と統計的学習手法である
port Vector Machine(SVM) により線形識別器 F(·)
学習する.線形 SVM による識別関数は式 (9) のよう
表わされる.
F(b) = wT
b (9)
こで,w は特徴量に対する重みを表す.画像中から
体を検出する際には,検出ウィンドウをラスタスキャ
し,検出ウィンドウから抽出した B-HOG 特徴量に
する識別器のスコア F(b) を計算し,この値を閾値処
することで人もしくは背景に判定する.
このような識別器による人検出では VGA サイズの
像に対して検出ウィンドウを網羅的にラスタスキャ
する場合,数万個の検出ウィンドウを処理すること
なる.これら全てのウィンドウから特徴量を抽出し,
別器 F(b) のスコアを求める必要があるため,高速な
体検出実現するためには識別処理を高速化する必要
ある.
図 11: B-HOG 特徴量の計算.
得られた B-HOG 特徴量 b と統計的学習手法である
Support Vector Machine(SVM) により線形識別器 F(·)
を学習する.線形 SVM による識別関数は式 (9) のよう
に表わされる.
F(b) = wT
b (9)
ここで,w は特徴量に対する重みを表す.画像中から
物体を検出する際には,検出ウィンドウをラスタスキャ
ンし,検出ウィンドウから抽出した B-HOG 特徴量に
対する識別器のスコア F(b) を計算し,この値を閾値処
理することで人もしくは背景に判定する.
このような識別器による人検出では VGA サイズの
画像に対して検出ウィンドウを網羅的にラスタスキャ
図 11: B-HOG 特徴量の計算.
られた B-HOG 特徴量 b と統計的学習手法である
ort Vector Machine(SVM) により線形識別器 F(·)
習する.線形 SVM による識別関数は式 (9) のよう
わされる.
F(b) = wT
b (9)
で,w は特徴量に対する重みを表す.画像中から
を検出する際には,検出ウィンドウをラスタスキャ
,検出ウィンドウから抽出した B-HOG 特徴量に
る識別器のスコア F(b) を計算し,この値を閾値処
を Field-Programmable Gate Array(FPGA)
スペックの組み込み系ハードウェアで動作
がある.そのため,低計算量かつ低メモリ使
アルゴリズムが望まれており,我々は HOG
値化することで計算コストとメモリ使用量
手法 [15] を提案した.しかしながら,識別
については未だに解決されていない.そこ
は識別器の計算量を削減するために,識別
し,さらに早期に識別を判定するアルゴリ
した人検出法 [16] について述べる.
OG 特徴量と SVM による人検出
ms of Oriented Gradients(HOG) 特徴量 [14]
ィンドウからセルと呼ばれる局所領域毎に
配方向ヒストグラムを特徴量とする.HOG
複数のセルで構成されるブロック領域で正
ため,局所的な照明変化の影響を受けにく
る.B-HOG 特徴量 [15] は,図 11 に示す
G 特徴量を 2 値化したバイナリコードで表
量である.セルと呼ばれる局所領域毎に作
方向ヒストグラムである HOG 特徴量を 2
図 11: B-HOG 特徴量の計算.
得られた B-HOG 特徴量 b と統計的学習手法
Support Vector Machine(SVM) により線形識別
を学習する.線形 SVM による識別関数は式 (9
に表わされる.
F(b) = wT
b
ここで,w は特徴量に対する重みを表す.画像
物体を検出する際には,検出ウィンドウをラス
ンし,検出ウィンドウから抽出した B-HOG 特
対する識別器のスコア F(b) を計算し,この値を
理することで人もしくは背景に判定する.
このような識別器による人検出では VGA サ
画像に対して検出ウィンドウを網羅的にラスタ
ンする場合,数万個の検出ウィンドウを処理す
になる.これら全てのウィンドウから特徴量を
4.2.1 分解法を用いた線形識別器の近似計算
式 (9) の線形 SVM により学習した識別器 F(b) は,
バイナリ型特徴量 b と重み w の内積計算で成り立つ.
人検出の問題では,膨大な数の検出ウィンドウを処理
することになるため,多大な計算量を要する.そこで,
Hare らによって提案された実数ベクトルの分解法 [13]
を利用してバイナリ型特徴量 b と重み w の内積計算を
近似する.
まず,SVM の重みベクトル w を重み c とバイナリ
基底ベクトル m ∈ {−1, 1}D
に分解する.線形 SVM の
識別器 F(b) は,SVM の重みベクトル w を分解して
得られる重み係数 c とバイナリ基底ベクトル m を用い
ることで,F(b) ≈ f(b) =
Nb
i=1 cimib と近似できる. 図 12: 線形 SV
クセル,ブロックの大きさを 2 セルとした場合,1 つ
検出ウィンドウから 3, 360 ビットのバイナリコード
得られる.符号なし 8 ビット整数型でバイナリコー
を表現した場合,HOG 特徴量と比較してメモリ使用
を 1/8 に削減できる.
図 11: B-HOG 特徴量の計算.
得られた B-HOG 特徴量 b と統計的学習手法である
pport Vector Machine(SVM) により線形識別器 F(·)
学習する.線形 SVM による識別関数は式 (9) のよう
表わされる.
F(b) = wT
b (9)
こで,w は特徴量に対する重みを表す.画像中から
4.2.1 分解法を用いた線形識別器の近似計算
式 (9) の線形 SVM により学習した識別器 F(b) は,
バイナリ型特徴量 b と重み w の内積計算で成り立つ.
人検出の問題では,膨大な数の検出ウィンドウを処理
することになるため,多大な計算量を要する.そこで,
Hare らによって提案された実数ベクトルの分解法 [13]
を利用してバイナリ型特徴量 b と重み w の内積計算を
近似する.
まず,SVM の重みベクトル w を重み c とバイナリ
基底ベクトル m ∈ {−1, 1}D
に分解する.線形 SVM の
識別器 F(b) は,SVM の重みベクトル w を分解して
得られる重み係数 c とバイナリ基底ベクトル m を用い
ることで,F(b) ≈ f(b) =
Nb
i=1 cimib と近似できる.
ここで,バイナリ基底ベクトル m を m+
∈ {0, 1}D
と
¯m+
∈ {0, 1}D
に分解 (m = m+
− ¯m+
) することで,式
(10) に示すように線形 SVM の内積の近似値を計算で
きる.
f(b) =
Nb
i=1
cimib
=
Nb
ci(< m+
i , b > − < ¯m+
i , b >)
図
数マージン内
する.関数マ
サンプルは,
の誤差の少な
線形 SVM の
とで高速な識
図 13 に提案
ンプルの割合
内積 は,きわめて高速に算出可能
することになるため,多大な計算量を要する.そこで,
Hare らによって提案された実数ベクトルの分解法 [13]
を利用してバイナリ型特徴量 b と重み w の内積計算を
近似する.
まず,SVM の重みベクトル w を重み c とバイナリ
基底ベクトル m ∈ {−1, 1}D
に分解する.線形 SVM の
識別器 F(b) は,SVM の重みベクトル w を分解して
得られる重み係数 c とバイナリ基底ベクトル m を用い
ることで,F(b) ≈ f(b) =
Nb
i=1 cimib と近似できる.
ここで,バイナリ基底ベクトル m を m+
∈ {0, 1}D
と
¯m+
∈ {0, 1}D
に分解 (m = m+
− ¯m+
) することで,式
(10) に示すように線形 SVM の内積の近似値を計算で
きる.
f(b) =
Nb
i=1
cimib
=
Nb
i=1
ci(< m+
i , b > − < ¯m+
i , b >)
=
Nb
i=1
ci(2 < m+
i , b > −|b|) (10)
129. 基底数による識別器の近似計算結果
129
•人検出の学習サンプルによる計算結果
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
-6.0
6.0
0.0
0 2 4 6 8 10
基底数
識別器の出力値
ネガティブサンプル
識別境界
133. まとめ
• 物体検出に用いられる特徴量
‒ 第1世代:画像全体から捉える特徴
‒ 第2世代:画像の局所領域から捉える特徴
‒ 第3世代:特徴の関連性,特徴の組み合わせによる特徴
• 事前知識なくLow-level → Middle Levelへ
• 少ない弱識別器で高い検出率
• 人検出のサーベイ
‒ 人検出を難しくする要因とその解決方法についてサーベイ
‒ http://www.slideshare.net/hironobufujiyoshi/ss-15205040
133
134. 参考文献1
•1. Haar-like特徴量と顔検出
- [Viola & Jones, CVPR 01] Viola, P and Jones, M, Rapid object detection
using a boosted cascade of simple features , CVPR,vol.1,pp.511-518,
(2001).
• 2. AdaBoost
- [Freund 97] Y, Freund and R, E. Schapire, A decisiontheoretic
generalization of on-line learning and an application to boosting , Journal of
Computer and System Sciences, No. 1, Vol. 55, pp. 119-139,(1997).
• 3. HOG特徴量
- [Dalal 05] Dalal. N, Triggs. B, Histograms of Oriented Gradients for Human
Detection , IEEE CVPR, pp. 886-893 (2005).
•4. Real AdaBoost
- [Schapire 99] R. E. Schapire, Y. Singer, Improved Boosting Algorithms
Using Confidence-rated Predictions , Machine Learning, No. 37, pp.
297-336, (1999).
134
135. •5. 人検出
- [Comaniciu 02] D. Comaniciu, P. Meer, Mean Shift: A Robust Approach
toward Feature Space Analysis , IEEE PAMI, vol. 24, No. 5, pp. 603-619,
(2002).
•6. 第3世代の特徴量
- [Rowley, PAMI 98] H.A. Rowley, S. Baluja, and T. Kanade, Neural network-
based face detection ,IEEE Transactions on PAMI,vol.20,pp.23-28,(1998).
- [Mita et al., PAMI 08] T. Mita, T. Kaneko, B. Stenger, and O.
Hori:``Discriminative Feature Co-occurrence Selection for Object
Detection,'' Pattern Analysis and Machine Intelligence, Vol.30, no.7, pp.
1257-1269(2008)
- [三井, 山内, 藤吉 SSII 08] 三井 相和,山内 悠嗣,藤吉 弘亘, アピアランスと時空
間特徴を用いたJoint特徴による人検出 ,電気関係学会東海支部連合大会,pp.O-
135,(2008).
- E.Hinton, G.,Osindero,S.and Teh, Y.-W.:A fast learning algorithm for deep
belief nets, Neural Computation, Vol.18, pp.1527-1544(2006).
135
参考文献2
136. - E.Hinton, G.,Osindero,S.and Teh, Y.-W.:A fast learning algorithm for deep
belief nets, Neural Computation, Vol.18, pp.1527-1544(2006).
- [Felzenszwalb,PAMI 10] P. Felzenszwalb, R. Girshick, D. McAllester and D.
Ramanan, Object Detection with Discriminatively Trained Part Based
Models ,IEEE Transactions on PAMI,vol.32,no.9,pp.1627-1645,(2010).
- [Felzenszwalb,CVPR 10] P. Felzenszwalb, R. Girshick and D. McAllester,
Cascade Object Detection with Deformable Part Models, IEEE CVPR, pp.
2241‒2248, 2010.
- [Ott,CVPR 10] P. Ott and M. Everingham, Shared Parts for Deformable
Part-Based Models, IEEE CVPR, 2010.
- [Girshick,NIPS 11] R. Girshick, P. Felzenszwalb and D. McAllester, Object
Detection with Grammar Models , NIPS, 2011
136
参考文献3
137. - [福井,ViEW 14] 福井宏, 山下隆義, 綿末太郎, 山内悠嗣, 藤吉弘亘, 村瀬洋, Drop
and Median Inferenceによる歩行者検出の高精度化 , ビジョン技術の実利用ワー
クショップ, 2014.
- [松島,IEICE 11] 松島千佳, 山内悠嗣, 山下隆義, 藤吉弘亘, 物体検出のための
Relational HOG特徴量とワイルドカードを用いたバイナリーのマスキング , 電子
情報通信学会論文誌, vol. J94-D, no. 8, pp. 1172‒1182, 2011.
- [後藤,IEICE 14] 後藤雄飛, 土屋成光, 山内悠嗣, 藤吉弘亘, "近似計算を導入した線形
識別器の早期判定による高速な識別", 電子情報通信学会論文誌, Vol.J97-D, No.2,
pp.294-302, 2014.
137
参考文献4