自動運転シミュレーションの雄大な景色!自動運転シミュレーションの分野についてお話ししましょう!

自動運転シミュレーションの雄大な景色!自動運転シミュレーションの分野についてお話ししましょう!

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転載したものです。転載については出典元にお問い合わせください。

今日は自動運転シミュレーションの分野について簡単に紹介したいと思います。

まず、自動運転にシミュレーションが必要な理由について説明します。数年前に「もしあなたが」を観ていたとき、ゲストの黄蘭は、自動運転は国民の3分の2が受け入れる場合にのみ受け入れると発言しており、これは自動運転の安全性に対する一般大衆の懸念を反映している。安全性を確保するために、自動運転アルゴリズムは大規模に使用される前に、多くの路上テストを受ける必要があります。しかし、自動運転システムのテストは非常に「高価」です。時間と費用が膨大であるため、人々は可能な限り多くのテストをコンピューター システムに移行し、シミュレーションを使用して自動運転システムのほとんどの問題を明らかにし、現場での路上テストの必要性を減らすことを望んでいます。そのため、私たちの仕事が生まれます。

1. シミュレーションシナリオ

シミュレーションシナリオは、自動運転システムのテストケースです。中国自動車技術研究センターの分類によると、自動運転テストシナリオは、[自然運転シナリオ]、[危険な作業条件シナリオ]、[標準および規制シナリオ]、[パラメータ再編成シナリオ]の4つのカテゴリに分類されます。自然運転シナリオは、自動車の実際の自然な運転状態から派生したもので、自動運転テストシナリオを構築するための最も基本的なデータソースです。危険な作業条件シナリオには、主にCIDASデータベースなど、厳しい気象環境、複雑な道路交通、典型的な交通事故などの多数のシナリオが含まれます。標準および規制シナリオは、自動運転の有効性を検証するための基本的なテストシナリオです。既存の標準と評価手順を通じて構築されたテストシナリオです。その目的は、自動運転車両が備えるべき基本的な機能をテストすることです。パラメータ再編成シナリオは、既存のシミュレーションシナリオをパラメータ化し、シミュレーションシナリオのランダム生成または自動再編成を完了します。無限大、スケーラビリティ、バッチ処理、自動化などの特性があります。

シナリオライブラリの構築プロセスは、大きく分けて[データ収集]:実際の道路データや規制データなど、[データ処理]:データから特徴を抽出し、それらを組み合わせてシナリオを形成、[データ適用]:シナリオライブラリのテストとフィードバックに分けられます。

現在、自然な運転シーンの生成は基本的に自動化できます。収集車両が特定の形式でデータを収集し、アルゴリズムが役立つ可能性のある重要なデータ断片を選別し、アルゴリズムが断片データ内の車両と他の周辺車両の軌跡を計算し、その軌跡をシーン記述ファイル(OpenScenario形式のシーンファイルなど)に書き込みます。多くの既存のシミュレーションソフトウェアは、このようにして取得したシーンファイルを直接シミュレーションに使用できます。この場合、シミュレーション ソフトウェアに復元されるのは実際のシーンの「ロジック」のみであり、シーンの参加者は、シミュレーション ソフトウェアの 3 次元モデル ライブラリ内の車両モデルに「変装」して実際の動作シーンを実行していることに注意してください。つまり、復元されたシーンは確かに規制制御アルゴリズムのテスト要件を満たすことができますが、結局のところ、前景の車両と背景はシミュレーション ソフトウェアの 3 次元モデルによって再生されているため、当時のセンサー認識情報を復元することはできません。センサーの知覚情報を復元したい場合は、NeRF を適用できます。

では、どのようなシミュレーションシナリオが価値があるのでしょうか?路上試験車両で収集された自然な運転データ復元シナリオは、実際の道路状況に最も近く、ランダム性が強いと考えられていますが、現在の路上試験は時間がかかり、ペースに追いつけないと言いましたよね?これには、道路テスト データを処理し、交通参加者を識別して抽出し、それらを並べ替えて組み合わせ、実際のデータに基づいてランダムなシナリオを形成することが必要です。

たとえば、2019 年に Baidu が発表した人気論文では、AADS シミュレーション システムが紹介されています。このシステムでは、LIDAR と双眼カメラを搭載した車を使用して道路をスキャンし、自動運転シミュレーションに必要なすべてのマテリアルを取得し、入力マテリアルを背景、シーンの照明、前景のオブジェクトに自動的に分解します。ビュー合成技術により、静的な背景上で視点を変更して任意の視点からのリアルな画像を生成し、さまざまな環境での車の動きをシミュレートできます。では、これらの再編シナリオの有効性をどのように証明するのでしょうか?この論文では、仮想シーンと実際のシーンにおける知覚アルゴリズムの認識効果を比較して評価する方法が紹介されています。また、測定対象のパフォーマンスを利用して測定ツールを評価することも非常に興味深いです。このアプローチは、UniSim などの自動運転に適用されるその後の NeRF 研究でも使用されました。

個人的には、自然な運転データのシミュレーション シナリオがいかに効果的であっても、一部のアルゴリズムのテストにしか適していないと考えています。周囲の物体の軌跡は記録され、車両の挙動に応じて変更することはできません。これは映画とゲームの違いに似ています。映画のシーンは再生することしかできませんが、ゲームではインタラクションに基づいてシーンを変えることができます。

おそらく近い将来、交通流シミュレーションと実際のデータを組み合わせることで、ランダムシナリオ生成によって、実際の交通状況に適合するだけでなく、車両の動作に応じて変化するシミュレーションシナリオを一括して確立できるようになるでしょう。

2. シミュレーション開発

先ほどお話ししたシナリオライブラリは自動運転シミュレーションテスト用のデータを用意していると言えますので、シミュレーション開発業務はツールを作成したり改良したりすることです。

シミュレーション開発には通常、次の側面が含まれます。

  1. 【シーンライブラリ】:これまでもいろいろお話ししてきましたが、データ処理、ディープラーニング、データベースなどの技術的な内容も含まれる予定です。
  2. 【知覚】:シミュレーション環境では、環境情報をアルゴリズムに渡す必要があるため、カメラ、ライダー、ミリ波レーダー、超音波レーダーなど、さまざまなセンサーモデルを確立する必要があり、必要に応じて物理原理レベルのモデルと理想モデルを確立する必要があります。センサーモデリングを適切に行うには、センサーの動作原理に関する理論的研究、物理プロセスのコンピューターモデリング、エンジニアリング実装能力、そして大量の実験データのサポートが必要です。
  3. 【車両ダイナミクス】:アルゴリズムが出力する制御コマンドには制御対象が必要なので、車両ダイナミクスモデルが必要です。これはほぼ別の分野です。ダイナミクスモデルを研究する専門エンジニアがいます。自動運転シミュレーションでは、専門的なダイナミクスモデルにアクセスしたり、簡素化したりできることが必要です。
  4. 【ミドルウェア】:アルゴリズムとシミュレーションプラットフォーム間、また機能の異なるシミュレーションプラットフォーム間での情報交換が必要となるため、多数のインターフェース開発が必要となります。自動運転の研究段階でよく使われるミドルウェアはROSですが、応用段階でよく使われるミドルウェアはAUTOSARベースのミドルウェアです。
  5. [シミュレーション エンジン]: 独自のシミュレーション プラットフォームを開発したい企業もあります。物理エンジンは、動きと衝突を担当します。一般的に使用されるオープン ソース エンジンには、ODE、Bullet、DART などがあります。レンダリング エンジンは、3D 表示を担当します。オープン ソース エンジンには、OGRE と OpenGL があります。 Unreal と Unity は、物理とレンダリングの両方においてゲームの作成によく使用される 2 つのエンジンです。
  6. 【シミュレーションの高速化】:並列コンピューティング、クラウドコンピューティングなどが含まれ、自動テストもここに含まれる場合があります。
  7. [フロントエンド]: シミュレーションのダイナミクスにはディスプレイの操作などが必要になる可能性があるため、多くのシミュレーション開発職種で実際にフロントエンド職を募集していることがわかります。

最後に、より高度な要件を伴う 8 番目のポイントがあると思います。それは、「わからないところをクリックする」機能です。たとえば、テスト対象のオブジェクトが自動運転機能フレームワークの一部だけである場合はどうでしょうか。オープンソースのアルゴリズムを使用して残りを埋め、「クローズドループ」を実行できますか?

3. シミュレーションテスト

自動運転シミュレーションテストに必要なデータとツールが揃ったら、次のステップはシミュレーションテストです。今日は主にいくつかの一般的なシミュレーションテストリンクを紹介します。

  1. [MIL モデルインザループ]: 正直に言うと、モデルインザループとソフトウェアインザループの違いがよくわかりません (MBSE 方法論の台頭に関係しているのかもしれません)。狭義では、モデルインザループとは、実際のコードを記述してコンパイルする前に、MATLAB などのツールを使用してアルゴリズムの論理機能を検証するテストです。簡単に言えば、Simulink モデルを使用してアルゴリズムを実装し、シミュレーションを実行することです。
  2. [SIL ソフトウェア イン ザ ループ]: 実際のコンパイル済みコード ソフトウェアを使用してテストします。理論的には、モデル イン ザ ループ テストは合格しており、SIL はコード生成に問題があるかどうかのみを検出します。 HIL と同様に、SIL では、テスト対象のオブジェクトに、テスト対象の機能に関連しない一連の動作環境やその他の事前仮想信号を提供する必要があります。
  3. [HIL ハードウェア イン ザ ループ]: 広義では、ハードウェアをループ内でテストする方法はすべて HIL と呼ぶことができるため、特定のセンサーのテストも HIL テストと呼ぶことができます。狭義では、一般的には、リアルタイム コンピュータを使用してシミュレーション モデルを実行し、制御対象の動作状態をシミュレートし、I/O インターフェイスを介してテスト対象の ECU に接続し、テスト対象の ECU に対して包括的かつ体系的なテストを実行するループ内のコントローラ ハードウェアを指します。 HIL から始まり、シミュレーション テストには強力なリアルタイム パフォーマンスが求められます。
  4. 【VIL Vehicle-in-the-Loop】:Vehicle-in-the-Loopには、一般的に2つのタイプがあると理解しています。1つは、自動運転システムを搭載した車両をテストベンチに設置し、車輪を取り外して負荷をシミュレートするトラクションモーターに交換し、地形や路面による車両の励起をテストベンチを通じてシミュレートします。このように、優れたディスプレイシステムを追加すれば、ドライバーインザループシミュレーションシステムとしても使用できます。もう1つは、車両がオープンフィールドで走行し、シミュレーションシステムがセンサー入力を提供するため、車両がオープンフィールドにあるにもかかわらず、アルゴリズムは周囲にさまざまなシーンがあると見なします。一般的に、車載GPSを使用して、シミュレーションシステムに姿勢フィードバックを提供できます。

IV. 日々の仕事

これまでのセクションでは、私たちの業界についての一般的な紹介をしてきました。それらはすべて、盲目の私が発見した象です。このセクションでは、私たちが毎日行っている一般的なことについてお話しします。これらの日常的なタスクは、もちろんセクション 2 と 3 の内容に含まれています。

  1. [知覚]:センサーモデルの構築は不可欠です。検出距離、検出角度範囲、解像度、歪みパラメータ、ノイズパラメータ、設置場所など、各センサーの一連のパラメータとハードウェア通信プロトコルに注意する必要があります。次に、使用するシミュレーション ソフトウェア ツールに応じて、既存のタイプのセンサーを「構成」するか、シミュレーション ソフトウェアに基づいて新しいタイプのセンサーを開発するかを決定する必要があります。アルゴリズム モデルをトレーニングまたは評価するために、シミュレーションでは、2D/3D 境界ボックス、車線線などのマップ情報、2D/3D 占有グリッドなどの実際の値も提供する必要があることがよくあります。シミュレーション ソフトウェアの既存の機能が要件を満たせない場合は、エンジニアが二次開発を行う必要もあります。
  2. 【車両ダイナミクス】:専門的なダイナミクスシミュレーションソフトウェアで車両パラメータに応じて車両モデルを構成する必要があり、簡略化された数式に基づいて簡略化された運動学モデルと動力学モデルを直接記述できることも必要です。
  3. [ミドルウェア]:インターフェース開発は作業の重要な部分であり、テスト対象とシミュレーションソフトウェア間の「翻訳者」としての役割を担っています。また、ソフトウェアのAPIインターフェースを使用して、シーンシミュレーションと車両運動シミュレーション、交通流シミュレーションなど、さまざまなレベルのシミュレーションプラットフォーム間の共同シミュレーションを実現し、それらを自動テスト管理ソフトウェアのスケジュールに組み込みます。
  4. [シミュレーションの高速化]: 自動テストもシミュレーションの高速化に取り入れました。7x24 時間の中断のないテストが実現できれば、効率も向上します。これには、シミュレーション プラットフォームへの自動呼び出し、自動スクリプト作成、データの記録、ユース ケース要件に基づくデータの評価が含まれます。
  5. 【ソフトウェア開発】:シミュレーションソフトウェアを自社で開発する必要がある企業が主にこの事業に携わっています。

もう一つのポイントは、6. [要件分析]です。シミュレーション開発エンジニアは、自分が使用するツールを最もよく知っている必要があります。そのため、顧客 (社内外) が新しい要件を持つと、シミュレーション開発エンジニアは、要件とテスト対象の特定の状況に基づいて、技術的なソリューションを設計し、ソフトウェアとハ​​ードウェアの要件とプロジェクト計画を提案できる必要があります。そのため、場合によっては、製品管理作業とプロジェクト管理作業の両方を実行する必要があります。

5. テクノロジースタック

「テクノロジー スタック」という用語は非常に流行しているように聞こえますが、実際にはこのポジションに何が含まれるべきかを指します。昔、私はあるテレビシリーズを見ていましたが、その中で救急科の医師が自分自身について冗談を言っていました。「我々は万能薬だが、外科医は値段のつけられない存在だ。」私はシミュレーション エンジニアは病院の救急医のようなものだと常に思っています。彼らはあらゆることについて少しずつ知っていなければなりません。特定のアルゴリズムをテストしたい場合、ナビゲーションの位置決め、制御計画、データ処理、パラメータの調整、天文学と地理、医学と占星術、金の刻印と色付け、評価と調整など、アルゴリズム以外のすべてを準備する必要があります...すべてを理解する必要はありません。最も重要なことは、アルゴリズムのテストのニーズに迅速に対応することです。

このいわゆる「グローバルビュー」はシミュレーション エンジニアの利点ですが、アルゴリズムを真に理解することによってのみ、アルゴリズムの改善とさらなる進歩に真に役立つシミュレーション作業を行うことができます。話題に戻りましょう:

  1. [コード]: C++/Python が中心ですが、フロントエンドの表示に関わる部分がわかりません。一般的に言えば、アルゴリズム開発ほど要求が高くないことは間違いありませんが、シミュレーションソフトウェア開発を専門とする場合には話は別です。
  2. [ROS]: ROS は、自動運転やロボット工学アルゴリズムの研究分野において、今でも欠かせない存在であり、ROS コミュニティでは多くの既成のツールを提供しているため、特に取り上げられています。
  3. 【車両ダイナミクス】: 実際の車両エンジニアほど多くの知識は必要ないかもしれませんが、基本的な原理は知っておく必要があります。さらに、さまざまな座標変換に精通している必要があります(これは車両関連ではなく、数学関連と見なされる場合があります)。
  4. [センサーの原理]: 自動運転車に搭載されているカメラ、ライダー、ミリ波レーダーなどのさまざまなセンサーはどのように機能し、出力信号はどのようになり、重要なパラメータは何でしょうか。
  5. [マップ]: センサー シミュレーションの入力として、opendrive や openscenario などのシミュレーション テスト シナリオで使用されるファイル形式から情報を抽出する必要がある場合があるため、これらのファイル形式を理解する必要があります。

上記はあくまでも私の個人的な要約であり、同僚の皆さんが追加していただくことも可能です。

記事の完全性を保つために、このセクションでは市場でよく使われているシミュレーション ソフトウェアも簡単に紹介します (これは宣伝ではありません。リストに載っていなくてもがっかりしないでください)。

  1. CarSim/CarMaker: これらのソフトウェアは両方とも強力な動的シミュレーション ソフトウェアであり、世界中の OEM やサプライヤーで広く使用されており、一部の道路シーンをシミュレートすることもできます。
  2. Vissim/SUMO: Vissimは、ドイツのPTVが提供する世界をリードするミクロ交通流シミュレーションソフトウェアです。 Vissim は、さまざまな複雑な交通環境を簡単に構築できるだけでなく、1 つのシミュレーション シーンで自動車、トラック、鉄道輸送、歩行者のインタラクティブな動作をシミュレートすることもできます。 SUMO は、インタラクティブな編集を通じて道路の追加、車線接続の編集、交差点エリアの処理、信号タイミングの編集などを実行できるオープンソース ソフトウェアです。
  3. PreScan: シーメンスが買収した、アルゴリズムの作成とテストのための主なインターフェースには、MIL、SIL、HIL に使用できる MATLAB と Simulink が含まれます。
  4. VTD: 商用ソフトウェアとして、VTD は信頼性が高く、機能が包括的で、道路環境モデリング、交通シナリオモデリング、気象および環境シミュレーション、シンプルで物理的にリアルなセンサーシミュレーション、シナリオシミュレーション管理、高精度のリアルタイム画像レンダリングをカバーしています。VTD は、国内 OEM の間で最も広く使用されているシミュレーションソフトウェアであると言っても過言ではありません。 SIL から HIL および VIL までのフルサイクル開発プロセスをサポートし、オープンなモジュール フレームワークにより、サードパーティのツールやプラグインとの共同シミュレーションを容易に行うことができます。
  5. CARLA/AirSim: 2 つのオープンソース シミュレーション プラットフォーム。どちらも UE をベースに開発され、Unity バージョンもリリースされています。 CARLA は、シーンの作成や高精度マップのサポートが可能で、センサーや環境の柔軟な構成をサポートします。複数のカメラ、LIDAR、GPS などのセンサーをサポートし、環境の照明や天候を調整することもできます。 Microsoft の AirSim には、ドローンと車両の 2 つのモードがあります。車両モードの機能は本当に平凡です。環境や車両モデルの構築にはあまり便利ではなく、コミュニティは CARLA ほど活発ではありません。将来 JD を書く人を募集するときには、あまり役に立たないので、AirSim を含めないことをお勧めします。さらに、中国の深圳鑫鑫科技有限公司は最近、CARLAをベースに開発され、オープンソースのCARLAの強化版ともいえるOASISを発売した。
  6. 51SimOne/PanoSim:どちらも国産のシミュレーションソフトであり、シーンシミュレーションソフトに求められる主要機能を満たしています。

最後に、lgsvl についてもう 1 つ付け加えておきたいことがあります。lgsvl の本来の利点は、Apollo とうまく統合できることですが、lgsvl の担当者がこのプロジェクトを放棄したと聞いたので、このプロジェクトをあきらめることをお勧めします。

6. 学習パス

最初の 5 つのセクションの紹介を通じて、学校の優秀な学生はすでに自動運転シミュレーション エンジニアになるための学習パスを理解でき、私の最初の 5 つのセクションの内容を批判することで、若い同僚も昇進への道を導き出すことができると信じています。しかし、このセクションでは、この点に関する私の表面的な理解をいくつか書き留めておきます。

これまで何度も述べてきましたが、自動運転シミュレーションは、コンピューター、制御、ロボット工学、機械工学、車両、パワーエレクトロニクスなど、多くの専攻の学生を受け入れることができる学際的な分野であることは誰もが理解できると思います。

経験とスキルの面から、仕事の要件をいくつか挙げてみます。

  1. コーディング能力: シミュレーション クラウド コンピューティング、クラウド サーバー、およびその他の関連開発に従事する学生は、C++/Go/Java などの言語の開発に習熟し、優れたプログラミング習慣を持ち、一般的な設計パターン、データ構造、アルゴリズムを習得し、Linux システム、Docker テクノロジ、Kubernetes 関連の知識に精通し、クラウド サービス開発の経験を持っている必要があります。これらはすべて、高度に並列化され、高度に再利用され、高度に自動化された自社開発のシミュレーション テスト プラットフォームを目指しています。また、自社開発のシミュレーションソフトウェアを必要とする職種では、しっかりとしたコンピュータの基礎知識に加え、ゲームエンジン開発の経験も求められる場合があるので、ゲーム開発に従事している学生が自動運転シミュレーション(テクニカルアート含む)に転向することも可能です。既存のシミュレーション ソフトウェアを二次開発および統合に適用することを目標とする学生は、C/C++ および Python に精通し、Linux/ROS 開発に精通している必要があります。AUTOSAR などの自動車グレードのミドルウェアの開発経験があればさらに望ましいでしょう。
  2. ソフトウェアの経験: 自動運転シミュレーション ソフトウェアの実践経験はもちろんプラスになりますが、ほとんどの市販ソフトウェアは非常に高価なので、この点は学校の研究室や会社の力に大きく依存します。商用ソフトウェアのサポートが存在しない状況では、CARLA が現在オープンソース ソフトウェアにとって最適なソリューションであると思います。
  3. ドメイン知識: 自動運転シミュレーション エンジニアとして、自動運転アルゴリズムの原理と実装のあらゆる側面を含め、自動運転アルゴリズムを深く理解することは決して多すぎることはないと私は個人的に考えています。アルゴリズムをより深く理解することによってのみ、より優れたシミュレーションを行うことができます。さらに、コンピューター専攻でない場合は、機械工学、車両、機械工学、電子工学など、自分の分野の専門コースをしっかり学ぶことも非常に重要です。基本に忠実であることによってのみ、常に役立つ素晴らしい結果を達成することができます。

現在の自動運転業界は大きな変動を経験していますが、まとめると、シミュレーションエンジニアを活用できる主な企業の種類は次のとおりです。主にシミュレーションソフトウェアを統合して適用するOEMですが、新興勢力は基本的に自主研究を行う必要があります。自動運転ソリューションプロバイダー、つまりTier 1アルゴリズムも、主に自主研究シミュレーションを行う可能性があります。シミュレーションソフトウェア企業は、中国でこの分野に参入したばかりで、基本的に新興企業です。

このセクションの最後に、従来の機械から「転職」した私の経験について少しお話ししたいと思います。私が修士号を取得した学校には、コーディングの文化が根付いています。私のクラスで機械工学大学院に入学した中国人学生のうち、卒業後にコンピュータ業界で働く人は約70%から80%でした。比較的緩やかなコース選択システムのおかげで、学生はコンピュータサイエンス学部からできるだけ多くのコースを受講しようとします。ですから、その 2 年間は昼夜を問わず働き、一年中懸命に働くのが当たり前でした。しかし、就職活動中に質問の練習が必要だったかどうかは覚えていません。一言で言えば、機械からコンピューターに転向するには、コンピューターの学位を半分取得するだけです。実際、当時は機械工学だけではなく、すべての専攻が変化しており、中国の学生だけでなく、世界中の人々がそうでした。

しかし、後になって気づいたのですが、当時の私は70%や80%の中に入っておらず、変革の最高の機会を逃してしまったのです。独学となると、さらに難しくなります。主な理由は時間がないことであり、効率的な学習教材と学習方法が求められます。したがって、相対的に言えば、オンラインコースを受講する方が効率的です。結局のところ、指導してくれる教師がいるからです。 Coursera のコースは良いのですが、かなり高価なようです。近年、オープンソースのオンラインリソースはますます増えていますが、量よりもコースのほうが重要です。結局のところ、コンピューターは最も実用的で、練習しやすいのです。コンピュータ サイエンスに関する古典的な本は数多くあります。たとえば、「データ構造とアルゴリズム」、「C++ 入門」などです。私はどれも読んでいません。一度読み逃すと忘れてしまうものもあります。

実際、最も簡単な移行方法は、コンピュータ関連の仕事に直接携わることだと思います。需要があれば上達が最も早く、前述した学習の方向性と時間の問題を解決します。ただし、これによってパフォーマンスの問題が基準を満たさなくなる場合は、私が何も言わなかったことにしてください。

7. NeRFについて

NeRF は、「データ クローズド ループ」、「ビッグ モデル」、「エンドツーエンド」などの新しい流行語とともに、自動運転の分野で大きな波を起こしています。わずか数年で、NeRF は登場時の単純な MLP+ボリューム レンダリングではなくなりました。空間情報を格納するキャリアは多様化しています。ハッシュ テーブル、ボクセル グリッド、多次元ガウス関数などです。新しいイメージング手法も次々と登場しています。U-net、CNN、ラスタライゼーションなどです。自動運転は NeRF のごく小さな応用分野にすぎません。

NERF を自動運転シミュレーションに適用すると、主に以下の問題に直面します。

自動運転データの収集方法により、シーンの範囲は「非クローズド」になります。屋外シーンには多数の遠景が含まれており、NeRF の空間情報の保存に大きな課題が生じます。自動運転シーンには多数の動的オブジェクトが含まれており、NeRF は動的オブジェクトと静的オブジェクト (または前景と背景) の分離を処理できる必要があります。NeRF モデルには一般に移行機能がなく、シーンごとに個別の NeRF モデルのトレーニングが必要になる場合があります。また、NERF のトレーニングは依然として比較的遅いため、自動運転データへの NERF の大規模な適用には依然として問題があります。

しかし、私は依然として、NeRF が自動運転シミュレーションに破壊的な発展をもたらし、最終的にはシミュレーション認識アルゴリズムのドメイン ギャップを解消し、さらに多くのことを実現することを期待し、信じています。私が学んだことから、NeRF は少なくとも以下のブレークスルーをもたらすでしょう。

NeRF の新しい視点画像を合成する機能は、認識アルゴリズムのトレーニング データ セットを強化できます。画像、LIDAR ポイント クラウド、その他のデータに基づいて新しいセンサーの固有パラメーター (センサー構成の変更に相当) と外部パラメーター (車両の軌道の変更) を生成し、認識アルゴリズムにさらに多くのトレーニング データを提供できます。この点については、StreetSurf、UniSim、その他の研究を参照してください。動的オブジェクトが編集可能になると、NeRF は将来的に、単純なロードテストや WorldSim の欠点を補うために、ターゲットを絞った極端でランダムなシナリオを生成できるようになります。 NeRF がトレーニング再構築と都市レベルのシーンのリアルタイムレンダリングの問題を同時に解決できれば、NeRF は、知覚データドメインギャップの問題なしに、XIL インザループシミュレーションテストのプラットフォームとして完全に使用でき、エンドツーエンドのアルゴリズムの開発も促進されます。さらに、NeRF モデルはプラグインとしてゲーム エンジンに組み込むことも可能 (3D Gaussian Splatting 用の UE プラグインがリリースされているなど) なので、NeRF の街並み再構築をオリジナルの WorldSim システムに組み込むことができます。 AIGC 方向の大規模モデルと組み合わせると、NeRF は新しいシーンを生成する可能性が広がり、照明、天候、オブジェクトの外観や動作などを任意に編集できるようになります。

そのため、シミュレーション エンジニアとして、同僚の皆さんには NeRF の進捗に細心の注意を払うことを強くお勧めします。NeRF の研究プロジェクトはまだ初期段階ですが、ハードウェアの高速化により、ディープラーニングの進歩はますます加速しています。

8. 最後に

これまでたくさん書いてきましたが、最後にいくつか考えを述べたいと思います。

シミュレーション開発の落とし穴は何ですか?ここでは技術的な落とし穴については説明しません。全体的な考えを共有するだけです。それは、意味のない仕事に没頭しすぎないように注意することです。異なる人々のために同様のプロジェクトを行うことはカウントされません。各プロジェクトをうまく完了することが価値です。既製のツールを使用せず、長期的に独自のツールを開発することはカウントされません。特定のツールへの依存から脱却することは価値があります。後で実行不可能であることが判明した R&D の多くの試みはカウントされません。R&D の失敗にも価値があります。では、「無意味な」仕事とは一体何なのでしょうか?これは個人的な意見によるもので、うまくまとめることはできません。

この立場から他に何ができるでしょうか?仕事でテストする対象について深く理解している場合は、ある方向のアルゴリズム開発職に転職してみるのもいいでしょうし、ロボットやドローンのシミュレーション開発も検討できます。

移動ロボットと自動運転の類似点は明らかですが、ここではドローンについて触れておきたいと思います。ドローン産業の規模は確かに自動車産業ほど大きくはありませんが、点検、航空写真撮影、測量、地図作成など、すでに応用ポイントが見つかっています。ドローンには、障害物回避や経路計画などを実行するための自動制御アルゴリズムも必要です。ドローンで使用されるセンサーは、無人車両で使用されるセンサーに似ています。したがって、シミュレーションテストには共通点があると言えます。ドローンにも、豊富な視覚画像、レーダーポイントクラウドなどのセンサー入力、より洗練された動的モデルなどが必要です。

ロボットやドローンのシミュレーションについて学習することに興味がある学生は、Nvidia の Isaac ほど多くのコンピューティング リソースを必要としないオープン ソース シミュレーション プラットフォーム Gazebo (https://classic.gazebosim.org/) から始めることができます。

今年はOSRFがWillow Garageから独立して11年目を迎え、ロボットオペレーティングシステムROSとGazeboは20年以上の開発の歴史があります。 Gazebo は、大学院研究グループの研究ツールから、11 回のリリースと第 2 世代の Ignition の 7 回のリリースを経て、独立したシミュレーション ソフトウェア ツールへと進化しました。

Gazebo は、ODE や Bullet などの物理エンジンをサポートし、レンダリング エンジンとして OGRE を使用します。3 次元環境の作成、カメラや LiDAR などの複数のセンサーからの情報のシミュレーションが可能で、ロボット アームから車輪付きロボット、ヒューマノイド ロボットまで、豊富なロボット モデルを備えています。さらに重要なのは、Gazebo が当然ながら ROS プラットフォームのアルゴリズムを包括的にサポートしていることです。つまり、デスクトップの完全な ROS バージョンをダウンロードしてインストールすると、Gazebo も一緒にインストールされるのです。もちろん、オープンソースのソフトウェアとして、Gazeboは出発点のみを提供しますが、バランスが取れています。しかし、Taizu Changquanのように、Qiao FengがJuxian Manorでそれを使用したときは異なります。

私は学校にいたときにガゼボと接触し、後にロボットシミュレーションで働き、自律運転に切り替えるまでガゼボを使い続けました。ガゼボと私はクラスメートでした。仕事の後、私は再び私たちの関係を更新することにしました。

元のリンク:https://mp.weixin.qq.com/s/zmw5lmgsqdu7cwxv2c0gpg

<<:  マスク氏:ニューラリンクが初めて人体にチップを埋め込み、製品化へ

>>: 

ブログ    
ブログ    

推薦する

...

...

APP はユーザーのプライバシーと顔認識生体認証情報を深く掘り下げ、「データ疫病」の到来に注意

315 Gala で摘発された企業は、業界内ではほんの少数派です。ユーザーのプライバシーを侵害するア...

機能テストケース自動生成アルゴリズム ペアワイズ

[[433685]]ペアワイズアルゴリズムとは何ですか?次のテストシナリオの場合:ブラウザ: M、O...

Ant Group は、動画の著作権侵害検出用に 16 万本の動画ペアと 28 万本のクリップペアからなる大規模なデータセットを公開しました。

従来の著作権保護業界は、時間がかかり、労働集約的で、コストがかかります。膨大な量のコンテンツを完全に...

人工知能の応用分野と必要な専門知識

1. 人工知能の応用分野1. コンピュータービジョン生体認証: 顔認識、歩行認識、歩行者 ReID、...

...

ファッション業界に人工知能を応用するには、もう少し想像力が必要かもしれない

[[343916]]現在、ファッション業界における人工知能(AI)技術の応用範囲は、依然としてプロセ...

Java ソートアルゴリズムの概要 (VII): クイックソート

クイックソートはバブルソートの改良版です。その基本的な考え方は、ソート パスを通じて、ソートするデー...

ビッグニュース! AIが生物学における50年来の課題を解決し、タンパク質の折り畳み問題を解明

生物学における最大の謎の一つであるタンパク質折り畳み問題が AI によって解決されました。 CASP...

コンピュータービジョン GPT の瞬間!カリフォルニア大学バークレー校の3つの巨人が最初の純粋なCV大規模モデルを発表し、その推論はAGIの火花を示した

コンピューター ビジョンの GPT の瞬間が到来しました。最近、カリフォルニア大学バークレー校のコン...

RELX: 回答者の95%がAI人材の採用は課題であると考えている

海外メディアは、情報分析プロバイダーRELXの新しいレポートによると、回答者の95%が人工知能の人材...

中国における産業用ロボットへの投資と発展の3つの効果

最近、工業情報化省は2020年の我が国のロボット産業の運営状況を発表しました。データによると、202...

Google、視覚障害者が世界を見るのを助けるAIメガネを開発

海外メディアの報道によると、オランダの新興企業EnvisionはGoogle Glassと提携し、視...

専門家の視点:汎用人工知能の可能性

人工知能分野の発展に関するニュースを追う際の課題の 1 つは、「AI」という用語が、無関係な 2 つ...