Ensemble Inference Networksによる
歩行者検出の高精度化に関する研究
機械知覚&ロボティクスグループ
TP14023 福井 宏
画像からの自動車走行環境の理解
• 運転支援システムで必要な技術
– 歩行者検出,標識認識,車両検出,白線検出,・・・
→ 数多くの物体認識が必要
• 運転支援システムの例(ADAS)
– 自動ブレーキシステム
– 危険察知システム
2
歩行者検出 標識認識 車両検出
識別に必要な特徴量の設計
→識別に有効な特徴量を自動で獲得することで高性能な物体認識を実現
3
入力画像
識別特徴抽出
特徴抽出&識別
入力画像
特徴抽出
(HOG特徴量)
識別
識別器
(SVM)
従来の機械学習による物体認識
Deep Learningによる物体認識
識別結果
歩行者 or 背景
手動で設計
自動で特徴量
を獲得
識別結果
歩行者 or 背景
Deep Convolutional Neural Network(CNN) [Y. LeCun, 1989]
• 畳み込み層,プーリング層,全結合層から構成されるニューラル
ネットワーク
– 畳み込みとプーリングにより幾何学的変化に対する不変性の獲得
– 一般物体認識や歩行者検出において高い認識性能を達成
4
CNNによる歩行者検出の従来法
5
• Switchable Deep Network(SDN)による歩行者検出 [P.Luo, 2014]
– 各パーツ領域から特徴マップを生成することで高精度な歩行者検出を実現
– Caltech Pedestrian Detection Benchmarkで高い性能を実現
CNNによる歩行者検出の従来法
6
• Switchable Deep Network(SDN)による歩行者検出 [P.Luo, 2014]
– 各パーツ領域から特徴マップを生成することで高精度な歩行者検出を実現
– Caltech Pedestrian Detection Benchmarkで高い性能を実現
歩行者の全身とパーツを捉える特徴マップを生成
CNNによる歩行者検出の従来法
7
• Switchable Deep Network(SDN)による歩行者検出 [P.Luo, 2014]
– 各パーツ領域から特徴マップを生成することで高精度な歩行者検出を実現
– Caltech Pedestrian Detection Benchmarkで高い性能を実現
歩行者の全身とパーツを捉える特徴マップを生成
検出に有効な歩行者のパーツを選択する際に
Restricted Boltzmann Machineを併用
CNNによる歩行者検出の研究事例
8
• Switchable Deep Network(SDN)による歩行者検出 [P.Luo, 2014]
– 各パーツ領域から特徴マップを生成することで高精度な歩行者検出を実現
– Caltech Pedestrian Detection Benchmarkで高い性能を実現
歩行者の全身とパーツを捉える特徴マップを生成
検出に有効な歩行者のパーツを選択する際に
Restricted Boltzmann Machineを併用
ネットワークの構造が複雑になる
研究目的
• 構造が複雑なネットワークの問題点
– 学習と識別に要する時間が増加
• 複数のネットワーク(CNN+RBM)で学習・識別
– 学習と識別に必要なメモリ量の増加
• 複数のネットワーク(CNN+RBM)で学習・識別
• 歩行者の全身とパーツを捉える特徴マップの生成
• シンプルな構造のCNNで高精度な歩行者検出を実現
– CNNの構造をシンプルにすることで処理速度と使用するメモリ量の削減
9
Dropoutをベースとした歩行者検出の高精度化
• CNNの汎化性能を向上させるために用いられるDropoutに着目
– Dropout:学習時に一定の割合でユニットの応答値を0にする学習法
– 単純な学習アルゴリズムで汎化性能を大きく向上させることが可能
学習時に一定の割合のユニットを選択している点に着目
→Random Dropout
識別時にDropoutのアルゴリズムを用いていない点に着目
→Ensemble Inference Networks
提案手法:
Dropout [G.E.Hinton, 2006]
• 学習時に一定の割合でユニットの応答値を0にする学習法
– 更新毎に応答値を0にするユニットを変更して学習
11
教師信号
ユニットの削減率 50% 50%
全結合層
出力層
汎化性能が向上する理由
畳み込み層
畳み込み層
プーリング層
プーリング層
Maxout
Maxout入力層
構造が異なる複数のネットワークをパラメータが共有した状態で学習
学習時のDropoutの改良:Random Dropout
12
ユニットの削減率 25% 75%
教師信号
全結合層
出力層
構造の異なるネットワークのバリエーションをDropoutより多くすることで汎化性能を向上
• 学習時に応答値を0にするユニットの割合をランダムに指定
– Dropout:応答値を0にするユニットの割合は常に一定
• 各層の応答値を0にするユニットの割合は各更新でランダムに変更
畳み込み層
畳み込み層
プーリング層
プーリング層
Maxout
Maxout入力層
Random Dropoutの性能の比較
• 取り除く結合重みの割合により歩行者検出性能が大幅に変動
13
30
40
50
60
70
80
90
100
40 0-40 50 0-50 60 0-60 70 0-70 80 0-80 90 0-90
MissRate(FPPI=0.1)[%]
結合重みを取り除く割合[%]
Dropout Drop connect Drop All Random Dropout
Random Dropoutの性能の比較
• 取り除く結合重みの割合により歩行者検出性能が大幅に変動
• Random Dropoutは取り除く結合重みの範囲が異なっても歩行者
検出性能の変動が少ない
– 取り除く結合の割合が0~90%のときMiss rateが39.65%まで減少
14
30
40
50
60
70
80
90
100
40 0-40 50 0-50 60 0-60 70 0-70 80 0-80 90 0-90
MissRate(FPPI=0.1)[%]
結合重みを取り除く割合[%]
Dropout Drop connect Drop All Random Dropout
識別時のDropoutの利用:Ensemble Inference Networks
• 識別時にDropoutにより結合が異なる全結合層を複数生成
• 生成した各全結層の応答値から最終的な出力値を算出
– 出力値の算出方法として中央値,平均値,最大値を使用
– 複数の異なる全結合層から応答値を統合することでアウトライアな応答値を
出力する全結合層を除外
0.15
0.85
0.23
0.77
0.42
0.58
中央値
PositiveNegative
平均値
最大値
0.770.23
0.730.27
0.850.42・
・
・
複数の異なる全結合層から最適な応答値を求めることで汎化性能を向上
畳み込み層
畳み込み層
プーリング層 プーリング層
Maxout
Maxout
入力層
EINの導入による性能の評価
16
Dropout :
Random Dropout :
37.5
38.5
39.5
40.5
1 5 9 13 17 21 25 29 33
Missrate(FPPI=0.1)[%]
全結合層の生成数
中央値 平均値 最大値
中央値 平均値 最大値
• 全結合層の生成数を増加することでMiss rateが減少
– 全結合層の統合に平均値を用いることでMiss rateが約0.98%減少
EINの導入による性能の評価
17
Dropout :
Random Dropout :
• 全結合層の生成数を増加することでMiss rateが減少
– 全結合層の統合に平均値を用いることでMiss rateが約0.98%減少
• Random Dropoutを併用することで約1.8%性能が向上
2つの提案手法により従来のCNNより約2.7%のMiss rateが減少
37.5
38.5
39.5
40.5
1 5 9 13 17 21 25 29 33
Missrate(FPPI=0.1)[%]
全結合層の生成数
中央値 平均値 最大値
中央値 平均値 最大値
評価実験
実験1. 従来の歩行者検出法と性能を比較
– 性能の比較にはCaltech Pedestrian Datasetを使用
実験2. 提案手法を標識認識に応用した際の性能評価
– 性能の比較にはGerman Traffic Sign Recognition Benchmark Datasetを使用
実験3. 計算コストの比較
18
実験1. Caltech Pedestrian Dataset
• 歩行者検出の性能を評価する際に一般的に用いられるデータセット
– 車載カメラで撮影した約6時間の走行データから構築されたデータセット
– 一般道や高速道路,駐車場など様々な走行シーンが存在
• 学習と評価で使用するサンプル数
– 学習サンプル
• 歩行者画像:約4,000(約10万枚), 背景画像:約20万枚
– 評価サンプル
• 4,021枚のシーンを用いて評価
実験1.従来の歩行者検出法との比較
実験1.従来の歩行者検出法との比較
従来の歩行者検出法(HOG,DPM)より検出精度が約25%向
上 SDNと同等の精度で検出可能
歩行者検出例
Deformable Part Model CNN + Random Dropout,EIN
DPMで検出できなかった歩行者に対しても検出可能
重なりが発生している歩行者も検出可能
歩行者検出例
DPMで検出できなかった歩行者に対しても検出可能
重なりが発生している歩行者も検出可能
Deformable Part Model CNN + Random Dropout,EIN
実験2. German Traffic Sign Recognition Benchmark Dataset
• 標識認識を評価する際に一般的に用いられるデータセット
– 43種類のドイツの標識を対象としたデータセット
– 走行シーンから切り出した標識画像から構築
• 実験で使用するサンプル数
– 学習:39,000枚
– 評価:12,631枚
実験2. 従来の標識認識法との比較
25
手法 認識率[%]
Multi-Column Deep Neural Network 99.46
Random Dropout + EIN 99.23
Human Performance 98.84
Multi-Scale CNN 98.31
CNN 97.97
Random Forest 96.14
LDA on HOG 95.68
実験2. 従来の標識認識法との比較
26
手法 認識率[%]
Multi-Column Deep Neural Network 99.46
Random Dropout + EIN 99.23
Human Performance 98.84
Multi-Scale CNN 98.31
CNN 97.97
Random Forest 96.14
LDA on HOG 95.68
従来のCNNより約1.3%精度が向上
実験2. 従来の標識認識法との比較
27
手法 認識率[%]
Multi-Column Deep Neural Network 99.46
Random Dropout + EIN 99.23
Human Performance 98.84
Multi-Scale CNN 98.31
CNN 97.97
Random Forest 96.14
LDA on HOG 95.68
従来のCNNより約1.3%精度が向上
人の認識性能(Human Performance)を上回る性能を実現
実験2. 標識認識の結果例
入力画像 入力画像 入力画像CNN CNN 提案手法 CNN 提案手法
人が認識困難な標識に対しても高精度に認識が可能
提案手法
人が一目で標識が認識できるサンプル 人でも認識がやや困難なサンプル 人でも認識が困難なサンプル
実験3. 計算コストの比較
29
SDNの約38%のユニット数で同等の性能を実現
手法 ネットワークの構造 ユニット数
CNN
Conv(40×9×5, 64×5×3, 32×3×3)
Full(1000, 500, 100, 2)
226,002
Random Dropout + EIN
Conv(40×9×5, 64×5×3, 32×3×3)
Full(1000, 500, 100, 2) × 33 232,402
SDN
Conv(64×9×9)
Full(2100)
Switchable層
Full(2000, 2)
604,402
提案手法のネットワークの規模は従来のCNNとほぼ同等のユニット数
+2.8%
-61.5%
まとめ
30
• Random DropoutとEINによる歩行者検出と標識認識の高精度化
– 構造の異なるネットワークのバリエーションを増やすことで汎化性能を向上
– 複数の異なる全結合層から最適な識別結果を出力することで汎化性能を向上
– 歩行者検出において約2.8%,標識認識において約1.3%の認識精度が向上
• 歩行者検出:Random Dropout 約0.8%,EIN 約1.9%
• 標識認識 : Random Dropout 約0.52%,EIN 約0.05%
– 従来法であるSDNの約38%のユニット数で同等の性能
• 今後の予定
– 歩行者属性情報を用いた歩行者検出の高精度化

2016/4/16 名古屋CVPRML 発表資料

Editor's Notes

  • #2 Deep Convolutional Neural Networkを用いた歩行者と自動車走行環境の理解 と題しまして 中部大学 福井宏 が発表します.
  • #3 車載カメラから得られたフレームを用いて,自動車の走行環境を理解するには数多くの物体認識をする必要があります. 例として,歩行者や標識,車両,白線などがあります. これらの物体認識技術は,自動ブレーキシステムや危険察知システムなどに応用されています.
  • #4 しかし,従来の機械学習によるアプローチは,特徴量の設計の段階で あらかじめ色に着億するか勾配に着目するかなど決める必要があります.
  • #5 画像認識の分野において,最も用いられているDeep Convolutional Neural Networkは,畳み込み層とプーリング層,全結合層から構成されるニューラルネットワークです. CNNは,畳み込みとプーリングを繰り返し行うことで,幾何学的変化に対する不変性を獲得しています. CNNのモデルは,HubelとWieselの単純細胞と複雑細胞をモデルとしており, 畳み込み層が特定の傾きに反応する単純細胞を表現し,プーリング層がその傾きが移動しても反応する複雑細胞を表現しています.
  • #6 歩行者検出において,CNNをベースとした手法の例として,Switchable Deep Networkがあります. SDNは,生成される特徴マップをSpatial poolingにより分割し,歩行者検出に有効な特徴マップを選択することで高性能な歩行者検出を実現しています. SDNは,歩行者検出のベンチマークであるCaltech Pedestrian Datasetにおいてトップとなっています. しかし,SDNは歩行者検出の性能は高いのですが,構造が複雑となっており,計算コストが高いデメリットがあります.
  • #7 歩行者検出において,CNNをベースとした手法の例として,Switchable Deep Networkがあります. SDNは,生成される特徴マップをSpatial poolingにより分割し,歩行者検出に有効な特徴マップを選択することで高性能な歩行者検出を実現しています. SDNは,歩行者検出のベンチマークであるCaltech Pedestrian Datasetにおいてトップとなっています. しかし,SDNは歩行者検出の性能は高いのですが,構造が複雑となっており,計算コストが高いデメリットがあります.
  • #8 歩行者検出において,CNNをベースとした手法の例として,Switchable Deep Networkがあります. SDNは,生成される特徴マップをSpatial poolingにより分割し,歩行者検出に有効な特徴マップを選択することで高性能な歩行者検出を実現しています. SDNは,歩行者検出のベンチマークであるCaltech Pedestrian Datasetにおいてトップとなっています. しかし,SDNは歩行者検出の性能は高いのですが,構造が複雑となっており,計算コストが高いデメリットがあります.
  • #9 歩行者検出において,CNNをベースとした手法の例として,Switchable Deep Networkがあります. SDNは,生成される特徴マップをSpatial poolingにより分割し,歩行者検出に有効な特徴マップを選択することで高性能な歩行者検出を実現しています. SDNは,歩行者検出のベンチマークであるCaltech Pedestrian Datasetにおいてトップとなっています. しかし,SDNは歩行者検出の性能は高いのですが,構造が複雑となっており,計算コストが高いデメリットがあります.
  • #12 提案手法であるRandom DropoutとEINのベースとなるDropoutは,汎化性能を向上させるための代表的な学習法であり, 単純なアルゴリズムであるにも関わらず汎化性能を高く向上させることができます. Dropoutは,学習時に一定の割合でユニットの応答値を0にする学習法で,ユニットの応答値を0にすることで, 応答値を0にしたユニットに繋がる結合重みが取り除かれます.
  • #13 学習処理で用いる提案手法の”Random Dropout”では,Dropoutが一定の割合のユニットを選択して応答値を0にしている部分に着目しています. Random Dropoutでは,各更新処理と各層の応答値を0にするユニットの割合をランダムに指定します. Random Dropoutは,各更新処理で結合が異なるCNNのバリエーションを,Dropoutより多く持たせることでDropoutより汎化性能を向上させています.
  • #16 識別処理で用いる提案手法のEnsemble Inference Networksについて説明します. 従来のDropoutは,学習処理のみ使用されています. EINは,識別処理においてDropoutを導入した手法です. EINのアルゴリズムは,まずDropoutにより結合重みを取り除いた全結合層のネットワークを構築し,得られた特徴マップを入力することで各クラスに対するスコアを出力します. この処理は,構築する全結合層のネットワーク数だけ繰り返し行います. そして,各全結合層ネットワークから得られたスコアをソートし,統合することで最終的なスコアを算出します. この時,得られたスコアの統合方法には中央値や平均値,最大値を使用します. この統合方法は,問題設定ごとに適している統合方法を決めれるように一般化しています. EINは,複数の異なる結合のネットワークからスコアを統合することで,アウトライアな応答値を出力する全結合層ネットワークを除外することが出来ます. このような理由から,EINを用いることで汎化性能を向上することが出来ます.
  • #21 実験結果です. 評価には,Caltech Pedestrian Datasetを用いており,評価に使用したサンプル数は4021枚です. DETカーブの結果から,HOG特徴量を用いた歩行者検出法であるDPMと比べて約23%Miss Rateが減少していることが確認できます. また,従来のCNNとは約7%Miss rateが減少しています. また,State-of-the-artなCNNを用いた歩行者検出法であるJoint Deep Learningとくらべて同等な精度で検出可能であることが確認できる.
  • #22 実験結果です. 評価には,Caltech Pedestrian Datasetを用いており,評価に使用したサンプル数は4021枚です. ROCカーブの結果から,HOG特徴量を用いた歩行者検出法であるDPMと比べて約23%Miss Rateが減少していることが確認できます. また,従来のCNNとは約8.5%Miss rateが減少しています. また,Deep Learningで最も性能が良い歩行者検出法であるSDNとくらべて同等な精度で検出可能であることが確認できる.
  • #23 実際の歩行者検出例です. HOG特徴量を用いた歩行者検出法であるDPMと比べ,検出できなかった歩行者に対して提案手法では検出が可能であることが確認できます. また,誤検出も少なく検出が可能です.
  • #24 また,歩行者同士の重なりが生じた場合でも正確に検出が可能です.
  • #31 発表は以上です. 今後は,先ほど紹介をした歩行者属性推定に対して重点的に研究を進める予定です.