プログラム化された 3D 環境生成から決定的な結果の取得まで:自動運転システムの合成シミュレーション

2020-07-06

シミュレーションは、多くの業界分野のエンジニアリング開発を加速させるために不可欠なツールです。自動運転開発では、シミュレーションは従来からモーションプラニングと制御アルゴリズムのテストに使用されてきました。再シミュレーションは認識システムの開発にも使用されており、路上のセンサーデータを記録し、異なるバージョンのソフトと比較して再生し、パフォーマンスをテストしています。しかし、これらのシミュレーションは、主に実際のドライブで遭遇するシナリオに限定されています。

もう一つのシミュレーションの重要性が高まっているのは、現実世界のデータを忠実に再現した高品質の合成センサーデータを生成することです。現実世界データのみを使用する場合の問題点は、Operational Design Domain(ODD)にまたがる認識モジュールの能力の限界に到達するために、膨大な量のデータを収集し、ラベル付けをしなければならないことです。さらに、認識アルゴリズムは利用可能なデータに適合しすぎており、記録された環境や条件の外では失敗してしまいます。対照的に、合成データは迅速かつ安価に生成でき、アノテーションはシミュレーション環境の基礎知識を用いて自動的に作成されます。

合成センサーデータの作成の課題

合成センサーのシミュレーションは、一見当たり前のように見えますが、非常に困難な作業です。リアルな世界中の合成環境(サンフランシスコや東京など)を作成することに加えて、各センサータイプのシミュレーションを行うには、基礎となる物理学や業界で使用されているさまざまなセンサーの特性に関する詳細な知識が必要となります。他のアプリケーションではシミュレーションがリアルタイムよりも数桁遅い場合もありますが、自動運転システムのアルゴリズムではリアルタイムに近いパフォーマンスが求められます。このため、さまざまなユースケースをサポートするために、用途に合わせた忠実度の異なるシミュレーションが必要になります。

各センサーをモデル化するためにどれだけ努力を費やしても、実データと合成データの間にはドメインギャップが生じることが予想されます。実物のセンサーデータでトレーニングされ、合成センサーデータで検証される認識アルゴリズム(実物から合成)、またはその逆(合成から実物)は、実物から実物または合成から合成へのトレーニングや検証とは異なるパフォーマンスを発揮します。カリフォルニアの道路で1つのセンサーセットを使用してトレーニングされた認識アルゴリズムを、同じ道路で異なるセンサーセットを使用した場合、一般的にパフォーマンスが低下します。また、カリフォルニアの道路で同じセンサーセットを使用してトレーニングされたアルゴリズムを世界の別の地域の道路でテストした場合にも、低下した結果が生じる可能性があります。

図1:合成データを用いた認識システムのテスト

合成 3D 環境の作成

合成 3D 環境生成のための多くのアプローチは、エンターテインメント業界での数十年の仕事を通じて開発されてきました。しかし、自動運転環境とエンターテインメント環境の間には、重要な違いがあります。どちらも通常はフォトリアリズムを必要としますが、自動運転環境は安価で数日で作成する必要があります(エンターテインメントの場合、数ヶ月)。また、合成 3D 環境は、人間の目にもセンサーにも非常にリアルであることや実行時に変化させること、様々なテストをサポートするために十分な大きさであることが必要です。

従来、これらの環境は、3D アーティストが多数のアセットを作成して世界に配置する手作業で作成されていました。この方法では、写真のようにリアルな結果が得られ、素晴らしいデモになります。しかし、このプロセスは手作業であるため、世界中のロケーションを制作することは難しいし、自動運転テストに必要な合成 3D 環境の数や大きさを生成するのも困難です。このような場合、シミュレートされた環境の有用性が一般的に制限されてしまいます。

もう一つのアプローチは、現実世界のスキャンを使用して、実データと一対一の一致を保証することです。このアプローチの欠点は、使用される現実世界のデータには多くの欠陥があることです。照明が焼き付けられていて、表面には実物がないため、カメラとライダーのリターンはせいぜい近似的なものになってしまいます。さらに、穴が開いていたり、不正確なアノテーションがあったり、削除すべき環境内の移動エージェントがあったりすることもあります。また、ストレージと計算量が非常に多く、実生活で遭遇する領域しか生成できません。

比較的新しいアプローチとして、プログラム化されたパイプラインに基づいて世界を生成する方法があります。このアプローチでは、大規模な環境や都市を様々な種類の入力を用いて素早く生成し、結果として数学的に生成された 合成 3D 環境を生成することができます(図2)。また、オーバーフィットを防ぐために、環境に様々なバリエーションを与えることができます。ピクセル精度のアノテーションを維持したまま、時間帯や天候などのパラメータを変更することも可能です。全体的には、手作業で作成するのにかかる時間の何分の一かの時間で新しい地図を作成することができます。このアプローチの課題は、手作業で微調整することなく現実世界の特徴を確実に作成することです。

図2:合成的に生成された高忠実度の建物

正確なセンサーのモデリング

合成データ生成では、最初のステップで作成した環境を基礎となるセンサーモデルへの入力として利用します。これらのセンサーモデルは、低レイテンシの HIL やデータを必要とするトレーニングアプリケーションに十分なパフォーマンスを提供しながら、ライダーの深度推定器、レーダーの Digital Beam Forming(DBF)特性、カメラのノイズ源などの詳細なプロセスを再現することができなければなりません。

センサーが取ることのできる数百から数千のバリエーション、トポロジーが存在することを考えると気が遠くなるように思われるかもしれませんが、それらはすべて最終的にはエネルギー伝達と情報理論の同じ基本原理に従わなければなりません。慎重に設計されたセンサーモデリングフレームワークは、多くのバリエーションに対応できる柔軟な構造を生み出すことができます。この基本的な哲学は、電気光学と信号処理システムの設計ツールをセンサ設計の世界から、認識シミュレーションの世界に持ち込もうとする目的に由来しています。

しかし、理論的に十分に定義されたシステムであっても、センサーモデルの価値は、実際のシステムを捕捉する能力の範囲内でしか発揮されません。実物と合成の間の相関性の程度は、ユースケースに大きく依存します。単純なユースケースではデータシートで十分かもしれませんが、その他のユースケースでは、様々な本質的な特性を統計的に定量化する必要があるかもしれません。これは一般的に、特定のセンサーの特性を決定するための制御されたラボとフィールドのデータ収集実験の組み合わせで構成されています。要するに、センサーモデリング(とその忠実度)は、完璧なものを非常に意図的な方法で悪化させる科学と考えることができます。

図3:128ビーム、機械的に回転するライダーシステムのモデリング

合成データのパフォーマンスと再現性

合成データの基本的な使い勝手を制限する 2 つの領域が、パフォーマンスと再現性です。多くの点で、自動運転のためのセンサーモデリングの最大の課題は、リアルタイム処理の制限の中で達成できる忠実度です。また、忠実度とパフォーマンスは、合成センサー生成のスケーラビリティと密接に結びついています。スケーラブルなソリューションを促進するためには、並列リソースの利用がますます重要になってきます。

このような複数のリソースの調整は、当然ながら再現性の問題につながります。並列化の取り組みを成功させるためには、並行シミュレーションと非並行シミュレーションの結果が一致することが必要です。決定性は重要な要素であり、エンジニアがアルゴリズムの変更を単独でテストしながら、シミュレーションのバリエーションを利用することを可能にします。

センサーシミュレーション:個々のケースに合わせたカスタマイズ

O環境とセンサーを開発する方法ができたら、次の課題は、生成された合成データがユースケースに十分かどうかを評価することです。認識ソフトウェアの成熟度にもよりますが、ユースケースは合成データを使用してセンサーの配置を確認するものから、最終的な生産システムをテストして配備するものまで多岐にわたります。

各ユースケースでは、モデルの忠実度が異なるレベルで必要とされ、それが Verification と Validation プロセスの原動力となります。Verification では、シミュレーションされたモデルが元の設計仕様に適合しているかどうかを判断するプロセスを説明します(意図した通りに構築したか?)。対照的に、Validation では、モデルがアプリケーションのニーズを満たしているかどうかを判断するために、エンドユーザの要件に注目します。場合によっては、合成センサーモデルが基礎となる物理学の大まかな近似値であっても構わないかもしれません。しかし、生産テストのユースケースでは、正確な不確かさレベルを満たすために、屋内と屋外の両方のラボ環境で広範囲にテストされた合成センサーモデルが必要になります。

センサーモデルの評価は、センサー出力レベルでの比較よりも広い範囲で行われます。これは、認識に焦点を当てた多くの自動運転アプリケーションに当てはまりますが、エンドユーザーは、合成データと実データを比較した上での認識モデルのメトリクスのパフォーマンスにも興味を持っています。これらのモデルは、コンピュータビジョンをベースにしたものであったり、異なる機械学習やディープラーニングの方法論を用いて構築されたものであったりします。これは、合成センサーモデルの信頼性が十分に確立されていない場合、不確実性の発生源が不明かもしれないためです。

当社のアプローチ

Applied Intuitionは、上記で概説されている課題に対処するために、認識システム向けのシミュレーションツールを一から開発しました。このツールには、大規模な環境を作成するためのワークフロー、マルチ・フィデリティセンサを開発するためのワークフロー、使用事例に基づいた検証のための効果的なプロセスが含まれています。環境生成は、地理的ドメイン、自動運転アプリケーション、データ入力ソースにまたがって柔軟に対応できる独自のプログラム化されたパイプラインを介して行われます。これらの機能は、さまざまな認識アプリケーションにわたって世界中のトップ自動運転開発者と協力して開発されてきました。合成認識シミュレーションで可能なことの限界をさらに押し広げるために、この技術の開発を続けていきます。