NVIDIA Omniverse Replicator でロボット用の合成トレーニング データを生成

栃谷 宗央 (Muneo Tochiya)
NVIDIA Japan
Published in
9 min readJan 25, 2022

AI のパイオニアである Andrew Ng 氏は、機械学習 (ML) のアプローチをよりデータ中心のものへと移行するよう呼び掛けています。データ品質の改善は AI プロジェクト作業の 8 割を占めると言われており、同氏はその「データ品質」をテーマに、データ中心の AI コンテストを開催したばかりです。
Ng 氏は自身のニュースレター The Batch で、「AI コミュニティは近いうちに体系的なデータの改善に対して、モデルの構築と同等の関心を払うようになると楽観視している」と述べています。

合成データによるデータ中心のアプローチ

モデル開発に合成データを用いたデータ中心のアプローチを採用すると、プロセスは反復的なものになります。エンジニアは、学習済みモデルを評価し、データセットの改善余地を明確化した上で、新しいデータセットを生成し、新たなトレーニング サイクルを進めます。このデータ生成、モデルのトレーニング、モデルの評価、さらなるデータの生成というプロセスを、モデルのパフォーマンスが期待どおりの結果になるまで続けます。

各反復で使用するデータは、現実世界で収集するのではなく、シミュレーションによって生成し、その後ラベル付けを行います。個の作業によりモデルのトレーニングをより高速化することが可能です。データセットは大規模に生成でき、トレーニング ツールで直接使用できる形式で出力されます。したがって、データの前処理は不要になります。

合成データの生成プロセスをパラメータ化すると、ML エンジニアは各反復を細かくコントロールできるようになり、データセットの内容に対するトレーサビリティが向上します。このように、合成データによるデータセットの改善、大規模な生成、データセットの内容とその生成方法の把握という一連の手法により、開発者はより短時間で成果を出せるようになります。

NVIDIA Omniverse Replicator for Isaac Sim の紹介

データ品質への注目の高まりを受けて、NVIDIA は新たに発表した合成データ生成エンジン「Omniverse Replicator」を基盤とする「Omniverse Replicator for Isaac Sim」をリリースします。この Isaac Sim の新機能により、ML エンジニアは、運用品質の合成データセットを構築し、強力なディープラーニング認識モデルをトレーニングすることができます。モデルが対象とするドメインの固有のデータ分布を「複製」することは、モデルのパフォーマンスを最大化する鍵となります。

Omniverse Replicator for Isaac Sim の利点

  • 開発者がターゲットとして設定したとおりの統計的分布、制御された分布、制限付き分布を実現したデータセットを生成できる
  • ターゲットとなるコーナー ケースやテスト ケースをデータセットに含められる
  • 視野上のオブジェクトのカメラとの相対的な配置、照明条件、シーンを含められる
  • エッジベースやクラウドベースのシステムで大規模な作業を実施できる
  • 各データセットで使用したツールやパラメータを追跡して、反復プロセスを促進すると共に、運用環境のデータセットの品質監査をサポートする
図 1. Isaac Sim での合成データ生成ワークフローの例

Replicator のデモ: 自律移動ロボットによるフォークリフトのフォーク (ツメ) の回避

今日、工場に配備されている自律移動ロボット (AMR) の多くは、平面 LiDAR を用いています。LiDAR は、多くのオブジェクトの存在を検知しながら移動するには十分な性能を持っています。しかし、多くの工場や倉庫でよく見かけるフォークリフトは LiDAR 特有の課題となっています。シャーシは検知できるものの、フォークは検知できないのです。

ロボットはフォークリフトの車体との衝突を回避しても、平面 LiDAR が検知できないフォークの方に突っ込んでしまいます。

この問題を解決するための方法の 1 つとして、ロボットに自分の進路上にフォークリフトがあることを「認識」させ、その認識に基づいてフォークを回避するようにナビゲーションを改善することが考えられます。

このセクションでは、1 つのデモについての説明を通して、Omniverse Replicator for Isaac Sim を使用して DNN をトレーニングし、AMR のフォークリフト問題を解決するためのワークフローの全体像をご紹介していきます。

フォークリフトのデモの主な手順

  • Omniverse 上の Isaac Sim で倉庫のシーンを構築する
  • AMR を倉庫に配置し、障害シナリオを再現する
  • フォークリフトのモデルを取得し、Isaac Sim で合成データを生成する
  • TAO Toolkit を使用して、既存の学習済みモデルを合成データでトレーニングする
  • DNN Inference Isaac ROS GEM を使用してモデルを展開する
  • シミュレーションで Isaac ROS GEM をテストする
  • NVIDIA Jetson プラットフォーム 上のロボット ソフトウェア スタックに Isaac GEM を展開する
図 2. Omniverse Replicator for Isaac Sim を使用したフォークリフトのデモの全ワークフロー

Omniverse Replicator for Isaac Sim によるデータセットの生成

このデモでは、DNN をトレーニングするために、8 種類の 3D フォークリフトの USD (Universal Scene Description) モデルを用意し、Omniverse Replicator for Isaac Sim を使用して、照明、カメラ、シーン自体など、オブジェクト (フォークリフト) に影響を与える多数のパラメータを記述しました。

ディープラーニング モデルがフォークリフトについての認識を一般化できるように、ドメインのランダム化には特別な注意を払いました。色、テクスチャ、照明、カメラに対するフォークリフトの位置、フォークリフトのヨー/ピッチ/ロールを変化させ、シーンにフォークリフト以外のオブジェクトを追加することで、モデルはフォークリフトを一般化して学習できます。

図 3. トレーニングに使用したフォークリフトのモデルの例

今回のデモでは、最終的に 9 万枚以上の画像を生成しました。データセットを作成するための GPU コンピューティング リソースの管理には、新機能の Omniverse Farm (マルチ GPU、マルチエージェントでのシミュレーションに対応したシステム レイヤー) を使用しました。

図 4. Omniverse Replicator for Isaac Sim で生成されたトレーニング用画像の例

確実なパフォーマンスを実現するためには、これらの画像に見られるような多様なデータが必要となります。

図 5. フォークリフトの画像、奥行きのグラウンド トゥルース データ、セマンティック セグメンテーション

フォークリフト検出器 DNN のトレーニングと展開

フォークリフトの識別に必要なセグメンテーション タスクを実行するために、NVIDIA TAO Toolkit から学習済みモデルを選択しました。このモデルは、人、車、背景の各クラスのセマンティック セグメンテーションを実行するようにあらかじめトレーニングされています。また、転移学習を用いて、Isaac Sim で生成した合成データでフォークリフトのセマンティック セグメンテーションを実行するようにこのモデルを適応させました。

次のステップは、フォークリフトのモデルを DNN Inference Isaac ROS GEM に追加することです。この記事で紹介している AMR のユース ケースのような ROS ベースのロボティクス アプリケーションへの推論の追加はすばやく行えます。

図 6. Isaac ROS GEM のフォークリフトのセグメンテーション画像

まとめ

難易度の高い AI ベースのコンピューター ビジョン アプリケーションのパフォーマンスを向上させるには、ターゲット ドメイン固有のデータ分布を複製した、大規模で多様なデータセットが必要です。新しい NVIDIA Omniverse Replicator for Isaac Sim は、運用品質のデータセットを生成できる強力なアプリケーションです。

この記事では、合成データを用いて AMR 上で動作する DNN をトレーニングし、AMR がフォークリフトのフォークに突っ込んでしまうという、ありがちな事故を回避する方法を紹介しました。

このプロセスを応用し、合成データを活用してロボットの環境認識の精度を高めたり、ロボットの動作を改善したりできるシナリオは他にもたくさんあります。これによって、最終的にはロボットの事故を減らしたり、人間の介入があまり要らないロボットを実現したりすることも可能でしょう。

動画 1. Omniverse Replicator for Isaac Sim の機能の概要

さらに詳しく

以前の記事で、Trimble 社が Isaac Sim を活用して Boston Dynamics 社の四足歩行ロボット「Spot」を合成データでトレーニングした事例を紹介しています。

--

--