見出し画像

NVIDIA Omniverse Replicator はOmniverse仮想空間上で、AIモデル学習に使用するデータセット生成を行う。

AIモデルのトレーニングには、膨大な量と種類のデータセットが必要になります。
多量のデータセットを収集するには、時間がかかり、困難や危険を伴う場合もあります。
Omniverse Replicatorを利用すると、物体の配置位置、角度、ライティング、カメラ、テクスチャー等、多様な条件設定下でAI学習に用いるデータセット画像を自動で生成することができます。
データセット画像は、バウンディング ボックス、深度、セグメンテーション等の複数フォーマットに対応しています。

Omniverse Replicatorの特長
Omniverseで作成したフォトリアルな仮想空間をインポートします。
レストラン、オフィス、屋外、倉庫など実際にロボットを走行させる施設の仮想空間を使用し、さまざまな条件の撮影環境を構築することができます。
仮想空間内ではカメラアングルも自由に設定できまる。

主な機能
1)Semantics Schema Editor:ラベル情報の付加
AI モデルのトレーニングや大規模な 3D シミュレーションの実行には、慎重にラベル付けされた多様なデータセットが必要です。また、数千から数千万の要素を含むデータセットを収集してラベル付けするには、時間がかかり、多大なコストがかかります。
合成データとは、現実世界のデータの代わりに生成する注釈付き情報のことで、AI モデルのトレーニングと 3D シミュレーションを自動で実行します。
シーン内の物体にラベルを付加した教師データも併せて必要となる場合があります。Semantics Schema Editorを使用すると、仮想空間内の物体に対して教師データの生成に必要なラベル情報を簡単に付加することが可能です。
■実施例
Semantics Schema Editorのタブ内で、ラベル名 ”cone”を指定

2)Synthetic Data Visualizer:データセットの可視化
AIの学習に使用するデータセットの教師データは、物体の座標を示すバウンディング ボックスや物体の存在領域を色分けするセグメンテーションなど、多様なデータフォーマットが利用されています。
Synthetic Data Visualizerを使用すると、仮想空間内でラベル付けされた物体をさまざまなデータフォーマットで表示することが可能です。
■実施例
データフォーマットとしてバウンディング ボックスとセグメンテーションを指定すると、ラベル名 ”cone”のセグメンテーションを左にバウンディング ボックスを右に画像表示。

Omniverse Replicatorは、カスタム合成データ生成パイプラインとサービスを開発するためのフレームワークです。開発者は、自動運転車、ロボット工学、インテリジェントビデオ分析アプリケーションで使用されるAI知覚ネットワークのトレーニングとパフォーマンスを向上させる貴重な方法として機能する、物理的に正確な3D合成データを生成できます。

Replicatorは、Universal Scene Description(USD)、PhysX、Material Definition Language(MDL)などのオープンソースを使用して、既存のパイプラインと簡単に統合できる。
アノテーターとライターの拡張可能なレジストリは、AIモデルをトレーニングするための特定の要件に対処するために利用できます。

Omniverse Replicatorは、Omniverse CodeとIsaac Simの一連の拡張機能、コンテンツ、および例として公開されています。

合成データによるトレーニングの背後にある理論
知覚タスクにディープニューラルネットワーク(DNN)を訓練するには、注釈付き画像の大規模セットが必要です。
その後、DNNは、検出、分類、セグメンテーションなどの知覚タスクのために訓練されます。
必要なKPIを達成するために、ハイパーパラメータは反復プロセスを通じて微調整されます。
しかし、新しいデータを手動で収集して注釈付けすることは高価なプロセスです。

データが制限されている、制限されている、または単に存在しないようなシナリオでは、合成データは費用対効果の高い方法で開発者にとってそのギャップを埋めるのに役立ちます。
さらに、合成データ生成は、現実世界では収集が不可能なロングテール異常やエッジユースケースに関連する課題にも対処しています。

より困難な知覚タスクでは、手動で行うのが非常に難しい画像の注釈が必要です(例えば、オブジェクトが閉塞した画像)。

プログラムで生成された合成データは、べてのデータが完全にラベル付けされているため、これに非常に効果的に対処できます。

合成データ生成には多くの利点があります。しかし、一連の課題があります。

シミュレーションを実際のギャップに閉じる
合成データ生成におけるシミュレーションと現実のギャップを埋めるには、ドメインギャップと呼ばれる2つの異なる課題、つまり外観ギャップとコンテンツギャップに対処する必要があります。

外観ギャップ: これは、実際の画像と合成画像のピクセルレベルの格差に関係しています。
このような違いは、オブジェクトの複雑さ、使用される材料、または合成データ作成に使用されるレンダリングシステムの制限の変動から生じる可能性があります。

コンテンツギャップ: これは、ドメイン自体のバリエーションを包含します。シーンに存在するオブジェクトの量、そのタイプと配置の多様性、その他のコンテキスト要素などの要因は、合成データと現実世界のデータの間のコンテンツギャップに寄与します。

これらのギャップを埋めることは、合成データセットが現実世界のシナリオを正確に反映し、AIモデルのより効果的なトレーニングを可能にするために不可欠です。
外観のギャップに対処するには、レンダリング技術と材料表現を洗練させる必要がありますが、コンテンツのギャップを緩和するには、シミュレートされたシーンの多様性と複雑さを高める必要があります。
これらのギャップを縮めることで、さまざまなドメインにわたるトレーニングAIシステムのための合成データの忠実度と適用性を向上させることができます。

ドメインのギャップを克服することは非常に重要であり、ドメインのランダム化はこの取り組みにおいて重要な役割を果たします。生成された合成データの範囲を拡大することで、まれな出来事を含む現実世界のシナリオを密接に反映することを目指しています。このより広範なデータセット分布により、ニューラルネットワークは問題の完全な複雑さをよりよく把握し、効果的に一般化する能力を高めることができます。

外観のギャップに対処するには、忠実度の高い3Dアセットと、レイトレーシングやパストレーシングなどの高度なレンダリング技術を活用することが含まれます。MDL材料言語で定義されているような物理的ベースの材料は、リアリズムに貢献します。さらに、検証されたセンサーモデルとランダム化されたパラメータは、外観のギャップをさらに狭めるのに役立ちます。

コアコンポーネント
レプリケーターは、合成データを生成できる6つのコンポーネントで構成されています。

セマンティクススキーマエディタセマンティックアノテーション(特定のメッシュに関連する「関心のある」データ)は、合成データ拡張を適切に使用する必要があります。これらの注釈は、シーン内のどのオブジェクトがバウンディングボックス、ポーズ推定などを必要とするかについて拡張機能を通知します。セマンティクススキーマエディタは、UIを介してステージ上のプリムにこれらの注釈を適用する方法を提供します。

ビジュアライザー レプリケータービジュアライザーを使用すると、2D/3Dバウンディングボックス、法線、深さなどのセマンティックラベルを視覚化できます。

ランダム化: Replicatorのランダム化ツールを使用すると、開発者はドメインのランダム化シーンを簡単に作成し、資産、材料、照明、カメラの位置からすばやくサンプリングできます。

Omni.syntheticdata: Omni.syntheticdataは、Replicatorソフトウェアスタックの最下位レベルのコンポーネントであり、Omniverse Kit SDKのすべての将来のバージョンで組み込み拡張機能として出荷されます。omni.syntheticdata拡張は、RTXレンダラーとOmniGraph計算グラフシステムとの低レベルの統合を提供します。これは、レプリケーターのグラウンドトゥルース抽出アノテーターの計算グラフに電力を供給し、レンダラーからアノテーターに恣意出力変数またはAOVを渡すコンポーネントです。

アノテーター:アノテーションシステム自体は、omni.syntheticdata拡張機能からAOVやその他の出力を取り込み、DNNトレーニング用の正確にラベル付けされたアノテーションを生成します。

ライター: ライターは、アノテーターからの画像やその他の注釈を処理し、トレーニング用にDNN固有のデータ形式を生成します。ライターは、ローカルストレージに、ネットワークを介してSwiftStackなどのクラウドベースのストレージバックエンドに出力することができ、将来的にはライブオンGPUトレーニング用のバックエンドを提供し、生成されたデータをトレーニングのためにGPUに保持し、追加のIOをまったく回避できるようにします。

データセットの生成全体を通して、最も一般的なワークフローは、シーンをランダム化し、アノテーターを選択し、目的のフォーマットに書き込むことです。ただし、より多くのカスタマイズが必要な場合は、omni.syntheticデータにアクセスできます。

実際の運用
データ収集とアノテーションは非常に時間がかかり、望むデータが得られないことも多々あります。特に、セグメンテーションやLiDAR点群のラベリングは極めて困難であり、長尾異常(稀な事象)の欠如も問題となります。自動運転車においては、ギアなどの検出ができないと重大な影響を及ぼします。また、非視覚センサー、例えばLiDARや速度情報を含むレーダーのラベリングも非常に難しいです。遮蔽や他の障害も考慮しなければなりません。これらの課題のため、現実のデータを収集するのはほぼ不可能です。

例えば、六自由度の問題では、合成データを使用して知覚をトレーニングされたロボットがあり、制御アルゴリズムの組み合わせを用いて正しい位置に配置されます。また、強化学習においても実データを取得するのは困難です。

3Dディープラーニングはデータの不足により、これまでスタイルが主流でしたが、3D仮想世界を利用して合成データを生成し、そのデータをDNN(ディープニューラルネットワーク)のトレーニングに使用することで、さらなる発展が期待されます。NVIDIAが提供する初期の3Dアセットを使用することもできますが、さまざまなプラットフォームから追加の3Dアセットを購入することも可能です。
3Dディープラーニングの進展がさまざまな分野における技術革新を促進し、例えば、自動運転車の精度向上やロボティクスの発展などに寄与するためです。合成データの活用により、これまで不可能だったリアルなデータ収集やアノテーションが可能になり、データの質と量が飛躍的に向上します。
しかし、合成データの利用にはトレーニング手法の再構築が必要です。具体的には、3Dアセットのインジェストから始まり、NVIDIAなどのプラットフォームが提供する初期アセットを利用しつつ、追加の3Dアセットを購入し、これらを活用する必要があります。

合成データの初期精度が低くても、繰り返しデータセットを調整し、より現実的なデータを生成することで精度を大幅に向上させることができます。
例えば、ドア検出プロジェクトでは、初めて合成データを使用したモデルの精度は10%でしたが、データセットを改良し続けることで、最終的に85%まで精度を向上させることができました。

合成データには実世界との間にピクセルレベルの差異があり、オブジェクトの詳細や素材が異なるために生じる「ピクセルギャップ」と、いくら多くの時間をかけても現実世界の多様性を完全に再現することはできない「コンテンツギャップ」が存在します。これらのギャップが原因で、ネットワークが合成データのみでは十分に機能しないことがあります。
これらのギャップを解消しないと、合成データを使用したモデルが現実世界で期待通りの性能を発揮できない可能性があるためです。しかし、これらの問題に対処する方法として「ドメインランダム化」があります。ドメインランダム化は、訓練データセットに様々なランダムなバリエーションを加えることで、モデルがより広範な状況に対応できるようにする技術です。

例えば、ドア検出プロジェクトにおいて、合成データを使用して初期の10%の精度から始まり、データセットの改良とドメインランダム化の技術を取り入れることで最終的に85%の精度に達しました。このプロセスは非常に反復的であり、合成データの有効性を最大化するためには多くの調整が必要です。

この記事が気に入ったらサポートをしてみませんか?