No.009 特集:日本の宇宙開発
連載04 自動運転が拓くモータリゼーション第2幕
Series Report

画像認識には2つのアプローチがある

自動運転システムでは、「情報収集」のプロセスで得た周辺環境の情報を「分析・認識」し、加工した情報を基に的確に「行動決定」していく。ここからは、「分析・認識」と「行動決定」にかかわる技術の動きを見てみよう。

「分析・認識」に関連した技術の中で、特に活発な動きがある分野が、画像情報の中から被写体(人やクルマ、自転車等)を特定し、3次元空間でのその位置や動きを抽出する技術である。自動運転に向けた画像認識のアルゴリズムには,ステレオビジョンによる視差に基づいた「構造推定」と、単眼カメラで取り込んだ映像の形やその動きから被写体を特定する「パターン認識」の2つのアプローチがある。

構造推定とは、人間の目と同様に、二つの目の視差を利用して立体的な構造を推定する技術である。路面と障害物を比較的容易に区別できる利点がある。このため,衝突回避システムなどに、いち早く応用されてきた。代表的な実用化例として,富士重工業の「EyeSight」がある。

後者のパターン認識は、2000年代に機械学習技術が進歩したことで、歩行者や車両などを区別する認識精度が一気に高まった。これに基づくアクティブクルーズコントロール(ACC)や衝突回避システムが実用化されている。代表的な実用化例は、 BMW社、General Motors社、Volvo社などが採用する Mobileye社の「EyeQ」である。

クラウドと人工知能で認識精度を向上

道路上にあるモノが何であるのか特定し、それを踏まえて的確なクルマの動きを決めることは、かなり高度な作業である。例えば、街路樹の枝がちぎれて道路上に横たわっていたとする。枝が十分に小さければ、踏みつけて通過するだろう。しかし、太く大きな枝ならば、回避行動をとらなければならない。的確な判断を下すためには、対象物の大きさとともに、何であるのか認識する必要がある。

こうした高度な判断を下すために、深層学習(ディープラーニング)を基にした人工知能の利用が検討されている。その代表的な技術例が、NVIDIA社の「Drive PX」である。

Drive PXは、カメラで捉えた画像に映っている被写体を、「Deep Neural Network」と呼ぶ人工知能によって高精度で特定し、クルマの周囲の状況を判断する技術である。NVIDIA社が開発した試作車では、12台のHDカメラから取り込んだ画像データをグラフィックスプロセッサで同時処理するシステムを搭載。クルマや障害物の陰から一部だけ見えている自転車に乗っている人を、人と認識できる能力を持っている(図6)。

の図
[図6] NVIDIA社の「Drive PX」による歩行者の認識
出典:NVIDIA社

Deep Neural Network の特徴は、車載チップとデータセンターが連動して動く点にある。事前にスーパーコンピュータで十分に学習し、ソフトのパラメータを最適化して、車載チップに移植して使う。個々のクルマで、対処すべき新しい状況を学んだ場合、これをクラウド上に吸い上げる。そして、最適な対処法を学んだ上で出来上がった最新のパラメータを、対応車載チップを搭載する全てのクルマにダウンロードする。既にAudi社が、同社のシステムの採用を表明している。

周辺環境を3次元モデルへと瞬時に写し取る

ここまでのプロセスで、自車の位置や動いている方向と速さ、周囲にあるモノの特定とその位置、動きを把握する「分析・認識」が終わった。次は、検知したモノをモデル化し、3次元地図上に配置して、「行動決定」するために利用するその瞬間の周辺環境を写し取った地図、「ダイナミックナビゲーションマップ」を作成する。これは、3次元グラフィックスを駆使したゲームの世界をリアルタイムで作り出しているのと同様の処理である。

実は、自動運転では、ここが最も技術的にハードルが高い部分になる。現実世界には、仮想空間に写し取られた周辺環境と違い、常に誤差が含まれている。センサの測定データでも誤差が生じ、制御対象となるクルマの機構の動きでも誤差が生じる。このため、測定して得た情報を鵜呑みにして行動すると、思わぬ事故につながる可能性があるのだ。こうした誤差の存在を前提にしながらも、正確に制御できる技術が求められる。

センサの情報を鵜呑みにしない制御

Google Carでは、こうした誤差を加味した上での的確な制御を「確率ロボティクス」と呼ぶ方法で実現している(図7)。ダイナミックナビゲーションマップ上の自車や周辺のモノの位置や動きを、あえて曖昧に表現することで、計算上の工夫で情報の精度を上げていく方法である。具体的な処理は、以下のような手順で進める。

の図
[図7] センサや機構の誤差を考慮して正確な自社位置を知るための確率ロボティクス

まず、センサから導き出した自車の位置を、誤差を含んだ存在確率で表現する(図中の手順1)。センサ・フュージョンによって、違う誤差を含んだ複数のセンサの情報を合わせて位置を決める場合には、それぞれの存在確率のうち、最も確率が高いところにいると仮定する。そして一旦、仮想空間内で、その仮定を前提にして、「行動決定」までプロセスを進め、クルマを制御して動かしてしまう(図中の手順2)。ただし、現実世界のクルマの動きにも、誤差が含まれる。このため、仮想空間上の動いた後の位置は、制御の誤差を考慮した存在確率で表現する。つまり、センサの誤差に、制御の誤差が重なるため曖昧さが増す。

現実でもクルマを動かした後の次のサイクルでは、再度センサで位置の特定を試みる(図中の手順3)。この時、前サイクルで計算した仮想空間上のクルマの存在確率(手順2の結果)と、今回のサイクルでのセンサで得た存在確率を掛け合わせる(図中の手順4)。こうすることで、現実世界と仮想空間上の差異が小さい部分の存在確率が高まり、差異が大きい部分は低くなる。こうしたサイクルを繰り返すことで、どんどん正確な位置が分かるようになってくる。

正確な地図さえあれば意外と簡単な「行動決定」

正確なダイナミックナビゲーションマップが出来上がれば、後は「行動決定」だけになる。ここでは、周辺環境を写し取った仮想空間にある3次元地図上で、自車の走行ラインと車速を決める。この時、目的地への経路を想定して、有利な車線の位置取りと動き方を計算しておく。駐車やUターンのような特殊な動きが必要な場合には、その動きもあらかじめ計画しておく。

「行動決定」は、さぞかし難しい技術なのかと思いきや、正確なダイナミックナビゲーションマップが出来上がりさえすれば、意外と簡単に走行ラインや車速を算出できるようだ。家庭用ゲーム機の中で、レースゲームソフトで実行している処理と変わらないという。確かに、レースゲームでは、プレイヤーがもたついた運転をしている間に、コンピュータが操作する周辺車が、正確なコース取りで衝突することなくビュンビュンと追い抜いていく。このコンピュータ車の動きを自動運転車では再現するというわけだ。

レースゲームとの違いは、決定した走行ラインや車速で動くためには、アクセル、ハンドル、ブレーキ、シフトといった機構ごとの制御情報に分解する必要があることだ。このとき、それぞれの機構が連動して、滑らかに無駄なく制御できるように、総合的な判断を下すことが重要になる。

自動運転の技術は、現在もものすごい勢いで進歩している。今後も、さらに画期的な手法が生み出され、人間よりも速く、的確に運転するシステムが出来上がることだろう。

Writer

伊藤 元昭

株式会社エンライト 代表。
富士通の技術者として3年間の半導体開発、日経マイクロデバイスや日経エレクトロニクス、日経BP半導体リサーチなどの記者・デスク・編集長として12年間のジャーナリスト活動、日経BP社と三菱商事の合弁シンクタンクであるテクノアソシエーツのコンサルタントとして6年間のメーカー事業支援活動、日経BP社 技術情報グループの広告部門の広告プロデューサとして4年間のマーケティング支援活動を経験。2014年に独立して株式会社エンライトを設立した。同社では、技術の価値を、狙った相手に、的確に伝えるための方法を考え、実践する技術マーケティングに特化した支援サービスを、技術系企業を中心に提供している。

URL: http://www.enlight-inc.co.jp/

Copyright©2011- Tokyo Electron Limited, All Rights Reserved.