PR

高度な自動運転における役割

  ここからは、自動運転で深層学習がどのように使われているかを見ていく。自動運転システムの処理プロセスには、大きく分けて「認知」「判断」「制御」の工程がある(図4)。このうち認知では最新の深層学習を使用して、車両や歩行者、信号・標識などを認識する。それと同時に、自車が走行可能な領域を認識する。ここで得られた情報を、自車位置を中心に描いたOccupancy Gridの上にマッピングし、同時にこれらの認識データを数cm精度の高精度地図データと照合して、自車の位置を正確に把握する。この後、数十ミリ秒から数百ミリ秒単位で数単位時間先の自車周囲の環境変化の予測をリアルタイムに行う。自車の周りの環境が認知できれば、道路に沿い、障害物をよけるなどの経路計画が立てられる。PilotNetの経路計画では熟練運転者の技術を、深層学習によって学ぶ。

図4 高度な自動運転システムの処理プロセス
図4 高度な自動運転システムの処理プロセス
「認知」「判断」「制御」のプロセスがあり、(1)画像認識と(3)の一部である経路計画で深層学習(AI)を用いる。Occupancy Grid(t)は自車周辺を数十cm単位の細かいグリッドに分割し、時刻tにおいてそこに障害物やレーンが存在する確率を示したローカルマップのようなもの。
[画像のクリックで拡大表示]

  次の工程では、「PilotNetによる運転経路」、「人間の運転」、「人手アルゴリズムによる運転経路」のそれぞれについて、安全性を分析する。この分析ではOccupancy Gridで得られた情報に基づき、障害物やレーン、レーンまでの距離、走行中の道路のルール順守などの情報を使用する。この結果を基に、操舵や加減速のアクチュエーターを制御する。

  こうした自動運転システムの中で深層学習が必要なのは、画像認識と経路計画のプロセスである。現時点でも深層学習は人間の認識、判断能力を超えているが、これには非常に多くの数式処理(毎秒数十兆回の整数演算処理)が必要となる。そこではGPU、あるいはアクセラレーターが有効である。

  図4の(2)の部分は、データ量や処理量が非常に多い。自動運転のリアルタイム処理に間に合わせるには超並列処理が必要であり、GPUを使用しなければ間に合わない。CPU処理は(3)で示した。自動運転の場合はこの処理も十分に重く、6〜8コア程度のCPUが必要となる。

  最後に、最新の深層学習が今後どのように適用されていくかについて触れる。これまでに説明したCNNの他に、次のニューラルネットが自動運転に適応される可能性がある。

(1)RNN(Recurrent Neural Networks)

  時系列データや言語認識のように、状態遷移が重要である事象に使用される。NVIDIA社は運転者とのHMI(ヒューマン・マシン・インターフェース)をつかさどる「Drive IX」というプラットフォームを開発中である。自然言語認識やジェスチャー認識などの機能が含まれており、RNNの使用が不可欠である。また、他車や歩行者の経路推測は、このような時系列推論が適用される可能性がある。

(2)Reinforcement Learning(強化学習)

 衝突回避や目的地短時間到着などに報償を与え、ニューラルネットに試行錯誤させながら自律的に学習させるものである。トヨタ自動車とPreferred Networksが「CES2016」でデモを行った多数のクルマの同時自動運転などがその例である。

参考文献
1)巣籠悠輔著「詳解ディープラーニング」、マイナビ出版