イベント
[GTC 2015]Unreal Engineで車の自動運転が上達する? 自動運転車からクアッドコプターまで話題が広がったGTC 2015のNVIDIAブースレポート
北米時間2015年3月17日に行われたNVIDIAの社長兼CEOであるJen-Hsun Huang(ジェンスン・フアン)氏による基調講演が(関連記事),機械学習と自動車産業関連に終始していたことからも分かるように,今年のNVIDIAブースは自動車関連の展示が主体となっていた。だが,予想外なことに,Epic Gamesのゲームエンジン「Unreal Engine 4」(以下,UE4)を使った興味深い展示も行われていた。本稿ではそれを中心に,NVIDIAが注力している技術の展示をレポートしよう。
UE4で自動運転技術はさらに賢くなる?
4Gamer読者の興味を惹きそうな展示としてまず紹介したいのが,UE4を使った自動運転技術の実験・学習システムの展示である。「ゲームエンジンと自動運転」という,一見すると関連する要素がなさそうなシステムをどう組み合わせたのだろうか。
展示の説明に入る前に,自動運転の基礎となっている技術について説明しておきたい。
自動運転には「コンピュータビジョン」(Computer Vision,CV)と呼ばれる技術が活用される。直訳すると「コンピュータの視覚」といったところか。具体的には,車体に取り付けたカメラからの映像や,レーダーからの測距データなどを処理して,コンピュータに周囲の環境を認識・把握させる技術を示す。
自動運転技術の開発は,現実世界の道路状況を捉えたCV情報を適切に処理したり,あるいは学習させたりすることの積み重ねで行われる。しかし,自動車は大きいものだし,万が一エラーやバグが発生して予期しない行動ループに陥ってしまえば,人命に関わるような事故さえ起こしかねない。
基調講演レポートでも紹介した,米国防高等研究計画局(DARPA)が進める
自動運転実験「Project Dave」のように,小さなラジコンカーを使った実験もできないわけではないが,現実世界とラジコンカーではスケール感が違うので,基礎実験には使えても市街地の道路を想定した実験には不適当だ。
そこで白羽の矢が立ったのが,自動運転技術の実験をバーチャル世界で行うというアイデアだ。
SF映画「マトリックス」の世界を思い出すとイメージしやすいだろうか。マトリックス世界の人間は,コンピュータが作り出したバーチャル世界から五感情報を与えられ,脳が知覚した情報をもとに反応する(たとえば体を動かす)と,その行動がバーチャル世界にフィードバックされるというものだった。
この例をNVIDIAによる展示に置き換えると,人間の脳にあたる自動運転制御コンピュータに与える五感情報が,UE4による映像になる。自動運転制御コンピュータは,UE4でリアルに再現されたゲーム世界をCVとして与えられ,これを判断・学習して,ハンドルやアクセル,ブレーキの操作を行う。するとその操作は,UE4のバーチャル世界に存在するバーチャル自動車に反映され,運転操作のとおりに動くというわけだ。
要は,我々人間がレースゲームでやっていることを自動運転制御コンピュータにやらせるとイメージすれば分かりやすいか。
この仕組みなら,たとえ事故になったとしても所詮はバーチャル世界。その問題を修正したうえで,改めて実験すればいい。また,現実世界の市街地では,同一条件で何度も反復実験(Iteration)するというのは難しいものだが,それもゲームエンジン上のバーチャル空間であれば,何度でも高速に行える。
NVIDIAが展示していたシステムは,「GeForce GTX 980」(以下,GTX 980)を搭載するPCを使って,UE4でリアルに再現した立体駐車場のシーンを実行するというものだった。バーチャル立体駐車場には,さまざまな車が駐車されている。屋外からの陽光で照らされている場所は明るいが,そうでない場所は暗いため,照明条件も場所によって異なる。また,予約スペースなのかメンテナンスのためなのか,駐車禁止を示す三角ポールが置かれているスペースもある。自動運転制御コンピュータはこれを映像として認識し,適切な運転をしなくてはならない。
このバーチャル立体駐車場内を走る自動運転実験車両(以下,自車)には,仮想のカメラが4台搭載されていて,カメラに映った視界がUE4によってリアルタイムレンダリングされることになる。4台のカメラは自車の前方と後方,および左右のドアミラー位置に取り付けてある設定で,ようはこの位置に視点を置いて駐車場内をレンダリングしているだけである。
ちなみに,実験の様子を観察するための3人称視点のカメラも設定されているので,仮想カメラ5台分の映像をUE4でリアルタイムに生成するという仕組みであった。
自動運転制御コンピュータとしては,これまた別のGTX 980搭載PCが用意されており,これにUE4が描画した4視点分の情景がCV情報として入力される(観察用カメラの映像は入力されない)。自動運転制御コンピュータは,UE4からの4視点情景を実際のカメラで撮影された駐車場の情景として処理を行い,ハンドルやアクセル,ブレーキを操作する。すると,その運転操作がネットワークを通じて,UE4を実行する実験システム側へフィードバックされて,バーチャル立体駐車場内の自車を動かすというわけである。
自動運転制御コンピュータは,UE4からの4視点映像に対して,映像中の各フレームから特徴点を抽出して,カメラの画角プロファイルや,その特徴点の単位時間あたりの移動量から3D空間を把握する「Structure from Motion」(SFM)処理を行う。そして,周辺の空間をデータ化した「ポイントクラウド」(点の集合体からなる3D空間マップ)を構築する。ポイントクラウドは4視点分の情報から構築されるので,自車の前後左右に広がる3D空間をそれなりの精度で把握できるとのことだった。
この実験で面白いのは,UE4側では32bit実数レベルという高精度で立体駐車場を構築しているにも関わらず,仮想カメラでこの空間を撮影するときには,2Dの映像にしているという点だ。自動運転制御コンピュータは入力された2D映像をCV処理して,3D空間として再構築しているのである。
非常に無駄に思えるかもしれないが,高精度な立体駐車場の3D構造と,自動運転制御コンピュータがCV処理で再構築した3D構造を比較することで,3D空間の認識精度に磨きをかけていくわけだ。さらに,UE4は物理ベースレンダリングを採用していることもあって,立体駐車場を非常にリアルな質感で表現できるため,こうした実験には最適であるらしい。
余談だが,展示で使われた自動運転制御コンピュータは,先述したとおりGTX 980搭載PCだったが,システムの開発担当者によれば,同じアルゴリズムを「Tegra K1」ベースのSHIELD Tabletでも実装済みなのだそうだ。担当者氏は,「そちらを展示してもよかったかもしれない」と述べていたが,SHIELD Tabletでは,CV処理に若干時間がかかり,性能面での制約があったともいう。そのため,今回はハイスペックなPCで自動運転制御コンピュータを構築したそうだ。
現在は,この自動運転制御コンピュータを「Tegra X1」ベースの自動運転技術の開発用プラットフォーム「DRIVE PX」向けに実装する作業を始めているとのことであった。
近い将来,自動運転機能搭載の愛車をゲームエンジンで鍛えて,人間が運転する同じ車よりも上手に運転させる,なんてことが可能になったりしたら面白そうである。
DRIVE PXの実機デモも披露
現在,アラウンドビューモニター機能を搭載する一般的な市販車では,せいぜい同時に処理できるのはカメラ4台程度で,それもかなり低フレームレートになってしまっている。NVIDIAとしては,そうした現行車載向けコンピュータモジュールよりも大幅に高速であるということを訴求したいわけだ。
最新のTegraを採用するモデルではないが,ほかにもAudiの乗用車「A7 Sportback」を自動運転仕様に改造したテストマシン「Jack」(開発コードネーム)も展示されていた。このJackは,2015年1月のInterntaional CES 2015に合わせて,カリフォルニア州サンフランシスコから同州ベーカーズフィールドを経由して,ネバダ州ラスベガスまで自動運転で走行した実験車両である。その様子は,動画でも公開されて話題となった。
Tegraゆかりの車両も多数展示
フアン氏の愛車,BMW i8の改造車も登場
BMW i8は,車体後部にエンジンを搭載するミッドシップスポーツカーであるが,左右前輪を個別に電動モーターで駆動できるシステムを搭載しており,コーナリング時には走行状況に応じて左右のタイヤを個別に駆動することで,アンダーステアを抑えて強引に曲がる「トルクベクタリング」というシステムが特徴だ。ちなみに,トルクベクタリングシステムは,ホンダの新型NSXも採用するなど,ハイテク四輪駆動スーパーカーでは定番となりつつあるメカニズムだ。
そんな特徴のあるBMW i8は,ハイテク好きのフアン氏がいかにも愛車に選びそうな車種だが,展示車両はデジタルインストルメントパネルをTegra X1ベースに換装した特別仕様車なのだそうだ。
BMW i8は,Tegra 3を使って表示するデジタルインストルメントパネルを採用しているのだが,計器の表示は2Dグラフィックスである。これにフアン氏は我慢がならなかったのか,NVIDIAスタッフに対して,Tegra X1ベースの3Dグラフィックス仕様に置き換えるよう命じたのだそうだ。
このほかにも,Tegra 3をデジタルインストルメントパネルに採用するランボルギーニの「アヴェンタドール」や,Tegra X1ベースの情報ディスプレイを搭載し,「シェルビー・デイトナ」のシャーシーを採用して作られた電気自動車Renovo「Coupe」なども披露されていた。
ランボルギーニ・アヴェンタドール。デジタルインストルメントパネルの制御にTegra 3が採用されているとのことだった |
アメリカンマッスルカーの雰囲気満点だが,実は電気自動車のRenovo・Coupe。こちらはTegra X1が採用される |
展示車両の中で異彩を放っていたのは,Local Motorsという企業が3Dプリンタで作ったという電気自動車だ(関連リンク)。こちらはインストルメントパネルの制御だけでなく,アラウンドビューモニター機能やカーナビ機能などをサポートしたNVIDIAの車載コンピュータモジュール「DRIVE CX」を搭載しているとのことだった。
つい最近まで,スーパーカー業界では,つや消しカーボンのボディカラーが流行していたが,この「地層ザラザラ」系が流行することはあるのか? |
Tegra X1ベースの車載向けコンピュータであるDRIVE CXを搭載。自動運転制御用のDRIVE PXとは異なり,UI/UXを担当するシステムだ |
クワッドコプターのParrotは「空飛ぶ3Dスキャナー」を出展
次世代のTegra X1を応用したソリューションが中心のNVIDIAブースだったが,現行世代のTegra K1をベースにした組み込み機器向け開発キット「Jetson TK1」を応用したプロジェクトの展示もあった。
その多くは,Tegra K1の高いCV処理機能を利用した自律行動可能なドローンだったが,とくに来場者の注目を集めていたのが,クアッドコプターのAR Droneシリーズで名高いParrotの展示だ。
NVIDIAブースで実演されていたのは,AR Droneを改造してJetson TK1を搭載したデモ機。これを自律飛行させながら,周囲の状況をリアルタイムに3Dスキャンしてポイントクラウドのデータを作成し,3Dマップを構築するというデモが披露されていた。
現在,我々がアプリやWebページ,カーナビゲーションシステムで見る地図は,基本的に2Dのベクトルデータにすぎない。これに対して次世代の地図データは,mm〜cm単位の精度を持った立体構造の3Dマップデータになるといわれている。こうした高精度3Dマップデータを自動運転技術に応用しようとする研究も進められている状況だ
建物や地形の3Dスキャンには,計測装置を積んだ自動車を走らせるのが一般的な手法であるが,自動車が入っていけない領域や高い構造物のスキャンにクワッドコプターを使おうというアイデアが,近年では有力視されているという。クワッドコプターで計測した実測データから,建造物から街路樹までを再現しようというのだ。
ただ,今回の展示は,Jetson TK1搭載ドローンを製品化するというアピール目的ではなく,Parrotの次世代技術に対する取り組みを示すためのものとのこと。だが,高性能かつ低消費電力なプロセッサが安価に利用できるようになれば,それをドローンに搭載してさまざまな用途に利用しようという動きは出てくるだろう。
そうした未来の姿が垣間見えるのも,GTC展示会場の面白いところである。