自動運転と高性能・組込みコンピューティング技術

自動運転と高性能・組込みコンピューティング技術
加藤真平
東京大学大学院情報理工学系研究科 准教授
名古屋大学未来社会創造機構 客員准教授
株式会社ティアフォー 取締役
2015年6月16日NHKほっとイブニングより
2016年3月11日NBC長崎放送
ヤマハ発動機との共同研究
自動運転技術のカテゴリ
レベル0
ドライバーが常にすべての主制御系統(加速・
操舵・制動)の操作を行うシステム
レベル1
加速・操舵・制動の内、1つ以上を個々に自動的
に行うシステム
例:ACC
レベル2
加速・操舵・制動の内、2つ以上をドライバーに
代わって調和して自動的に行うシステム
例:ACC+LKAS
レベル3
加速・操舵・制動を全て自動的に行うシステム
緊急時はドライバーが対処
レベル4
加速・操舵・制動を全て自動的に行うシステム
緊急時もコンピュータが対処
国内カーメーカーの状況
【トヨタ】
 高速道路でデモ公開
 合流、車線変更など
 ディープラーニングを採用
【日産】
 2016年には商品化の方向
 高速道路、一般道の単一車線
 機能としてはトヨタと同等?
【トヨタ】
 テストコースでデモ公開
 歩行者、周囲車両あり
 3次元LIDARを採用
【ホンダ】
 テストコースでデモ公開
 V2X通信による一旦停止
 アメリカの公道で試験走行
7
国外カーメーカーの状況
【ダイムラー】
 未来の自動運転コンセプトカー
【ダイムラー】
 自動運転トラックの試験走行開始
【BMW】
 自動運転でドリフト走行
【BMW】
 無人の自動駐車機能
【テスラ】
 モデルSに自動運転機能を搭載
【GM】
 スーパークルーズ機能搭載
【アウディ】
8
 自動運転システムがレーサーに勝利
ITベンダーの状況
【グーグル】
 完全自動運転(L4)の市場投入間近
【アップル】
 自動運転技術を開発中-BMWと提携?
【Uber】
 自動運転タクシーを開発中
【DeNA&ZMP】
 ロボットタクシー社を設立
9
自動運転ソフトウェア
https://github.com/cpfl/autoware
大規模
データベース
高速
データベース
分散データ
処理システム
統計解析/機械学習/深層学習
歩行者
画像
認識
ドライバインタフェース
運転者
制御
制御
制御
制御
車載CAN
車
ECU
ECU
ECU
ECU
制御系
運転
支援
安全
診断
システム監視
通信
ランタイム
組込みOS
組込み
メニーコアCPU
支援系
物体
検出
位置
推定
行動
計画
計算
ランタイム
経路
計画
走行
制御
統合ロボット
ミドルウェア
高機能なリアルタイムOS
GPU
アクセラレータ
自動運転系
カメラ
ミリ波
GNSS
LIDAR
認知・判断・操作
Wedge 2014/12
■特集.2 進化する自動運転 Googleは自動車を支配するか
・自動運転のコア技術は「認知」「判断」「操作」 加藤真平(名古屋大学大学院情報科学研究科准教授)
高精度3次元地図
3次元レーザースキャナ
周りの環境を点の集まり(点群/
ポイントクラウド)として取得
3次元レーザースキャンと高精度3次元地図データを
重ね合わせて自車位置を推定(SLAM技術)
3次元地図データ
マッチング
自車位置
3次元レーザースキャン
NDT スキャンマッチング
1.
参照スキャンをボクセルに分割
2.
各ボクセルの平均・分散を計算
3.
入力スキャンの各点に対応する
要素を求める
4.
評価値を計算
5.
ニュートン法により、入力スキャンの
座標変換値を更新
6.
3-5を収束するまで繰り返し
平均
分散
NDボクセル
NDT スキャンマッチング
1.
参照スキャンをボクセルに分割
2.
各ボクセルの平均・分散を計算
3.
入力スキャンの各点に対応する
要素を求める
4.
評価値を計算
5.
ニュートン法により、入力スキャンの
座標変換値を更新
6.
3-5を収束するまで繰り返し
評価関数
(tx,ty,tz,α,β,γ)
NDT スキャンマッチング
1.
参照スキャンをボクセルに分割
2.
各ボクセルの平均・分散を計算
3.
入力スキャンの各点に対応する
要素を求める
4.
評価値を計算
5.
ニュートン法により、入力スキャンの
(tx,ty,tz,α,β,γ)
座標変換値を更新
6.
3-5を収束するまで繰り返し
計算量: スキャンデータに依存(地図データに依存しない)
ダウンサンプリング
スキャンデータ量の問題
VoxelGrid Filterを用いて一様にダウンサンプリング
Leaf Size(ボクセルの大きさ)を調整可能
 マッチング処理の高速化(計測間隔内のマッチング)
 未知物体の影響緩和
生スキャンデータ(約60,000点)
VoxelGrid Filter 適用後(約1,000点)
マッチングの初期位置
offset
前回の位置の差分から
算出した予測位置
t-1
t
t+1
previous_pose
current_pose
offset = current_poseprevious_pose
predict_pose
= current_pose+offset
予測位置を初期位置としてマッチング → 探索範囲を限定
Velodyne VLP16
@12,000USD
HOKUYO 3D-URG
@9,000USD
3Dツインナビ: アイサンテクノロジー/インクリメントP/名古屋大学
3次元LIDARを用いた
地図作成・更新
GNSS/GPSの課題
グラフ タイトル
1(単独測位)
4(RTK Fixed)
5(RTK Float)
衛星数の時系列推移
衛星数
20
25
15
10
5
0
174000
174100
174200
174300
時間(hhmmss)
174400
174500
174600
PFLab @ 2016/5/16
26
PFLab @ 2016/5/16
27
リアルタイム”計算”
256-core Maxwell GPU
8 CPU cores
- 4x ARM Cortex A57
- 4x ARM Cortex A53)
60 fps 4K video
1.3 gigapixel of cameras
20nm process
CPU
GPU
28
物体検出(パターン認識)
入力画像
ルートフィルタ
リサイズ画像ピラミッド
パートフィルタ
HOG特徴量ピラミッド
検出結果
物体検出(パターン認識)
Deformable Part Models (DPM)
– HOG特徴量を部分的に利用
– SVMベースの学習器を利用
– 側方,前背面から見た場合でも検出可能
– 計算コストが課題
P. Felzenszwalb, D. McAllester, D. Ramanan
”A Discriminatively Trained, Multiscale, Deformable Part Model”
IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2008
物体検出(パターン認識)
HOG特徴量
#N
max_height
max_width
N
スコア配列を生成
フィルタ
#M
M
スコア=類似度
物体検出(パターン認識)
1
others
Normalized execution time
0.9
sum score
0.8
dt
約8.6倍
0.7
part score
0.6
root score
0.5
HOG pyramid
0.4
0.3
0.2
0.1
0
Xeon
Xeon
(single) (multi)
Xeon GTX 560 GTX
(SSE)
Ti
TITAN
Tesla GTX 680 GTX
K20Xm
TITAN
Black
物体検出(ディープラーニング)
Regions Convolutional Neural Networks (RCNN)
– 最初にセグメンテーションを実行
– 各Regionに対してCNNを適用
– 複数クラスに対応可能
– 計算コストが課題
R. Girshick, J. Donahue, T. Darrel, J. Malik
” Rich feature hierarchies for accurate object detection and semantic segmentation”
IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2014
Real: 実測
Pred: 予測
Brake: ON
Brake: OFF
実測(連続)
実測(二値)
予測
35
LIDARとカメラのセンサフュージョン
画像上での信号機位置の推定
 自車からの相対的な信号機座標を算出
地図上での3次元信号機位置
地図上での3次元自車位置
画像上での信号機位置の推定
 推定される位置から余裕を持ってROIを抽出
 その内部でHSVによる色認識
1.5r
r
1.5r
色状態の認識
赤
 HSVの各値で閾値判断
黄
青
軌道生成
車の運動特性を考慮
Dolgov, et al., “Path Planning for Autonomous Vehicles in Unknown Semi-structured
軌道生成
走行可能箇所をコストマップにより表現
カメラ画像による
物体検出
+
レーザーセンサ等に
よる周囲状況の取得
及び位置推定
自車
PFLab @ 2016/5/16
45
PFLab @ 2016/5/16
46
自動運転”システム”
47
テクノロジーの進化
ECU
manufacturing
Computer
Inverter
Battery
2002
One room
1300m2
6000KW
2016
1000x
3000x
One box
1m2
2KW
2030
100x
One chip
1cm2
6W
300x
PFLab @ 2016/5/16
48
GPU? メニーコア?
Memory
L1 L1 L1 L1 L1 L1 L1 L1
L2 Cache
Memory
Memory
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Core
L1
L2
Memory
Memory
組込みシステム化
現状はPCでシステム構築
省電力化、リアルタイム化、高信頼化
NVIDIA Drive PXの事例
ラップトップ
Drive PX
Autoware
(自動運転処理)
Rviz
(ビューワ)
ROS
イーサネット
(問題)RvizはGPUリソースを消費
⇒CUDAの実行性能に影響
Drive PXの性能
256-core Maxwell GPU
8 CPU cores
- 4x ARM Cortex A57
- 4x ARM Cortex A53)
60 fps 4K video
1.3 gigapixel of cameras
20nm process
(解決案)RvizだけリモートPCで実行
手に持てるサイズ
NVIDIA提供のLinuxを実行可能
商用RTOSとの互換性
画像
認識
物体
検出
位置
推定
行動
計画
走行
制御
経路
計画
自動運転ソフトウェア「Autoware」
ライブラリ
ROS
OpenCV
ソケット通信
ソケット通信
商用
RTOS
OS
商用RTOS
プロセッサ
メニーコアプロセッサ
CUDA
PCL
Linuxドライバ通信
Linux
組込みプロセッサ
~1000コア
4~8コア
イーサネット/CAN
PCI
GPU
1000コア~
モデルベース開発の可能性
自動運転システム内の
機能ノードのつながり
グラフ問題として解決
スケジューリング問題へ
PFLab @ 2016/5/16
53
各ノードの時間制約への対応
使用コア
手法A
core3
T7
core2
T2
core1
T0
0
T1
50
T3
100
deadline miss
T6 T4
T5
150
200
250
300
250
300
時間
4
D4
D6
手法B
D7
T7
core3
使用コア
D5
7
6
5
core2
core1
T3
T0 T1
0
50
T5
T2 T4
100
150
時間
T6
200
大学発ベンチャー
オープンソースソフトウェアを利活用し、最先端の自動運転システム技術を提供
パッケージ化されたシステム
タブレットからも操作可能
株式会社ティアフォー
http://tier4.jp
PFLab @ 2016/5/16
55
警察庁
自動走行システムに関する公道実証実験のためのガイドライン(案)
http://search.e-gov.go.jp/servlet/PcmFileDownload?seqNo=0000143544
1. 趣旨
2. 基本的制度
3. 実施主体の基本的な責務
4. 公道実証実験の内容等に即した安全確保措置
5. テストドライバーの要件
6. テストドライバーに関連する自動走行システムの要件
7. 公道実証実験中の実験車両に係る各種データ等の記録保存
8. 交通事故の場合の措置
9. 賠償能力の確保
10. 関係機関に対する事前連絡
オープン化と実証実験
Thank You!