nvidia-isaac/video_to_data

Nvidia Isaac Video to Data Pipeline

Video to Data (V2D) – 人間のデモ動画からロボット対応トレーニングデータへ

概要 – 通常の人間の作業動画を、シミュレーション対応の3Dアセットと、ロボットの物理に基づく強化学習(RL)ポリシーに変換する、エンドツーエンドのモジュール式パイプラインです。リポジトリは4つの主要パッケージに分かれており、個別に実行したり、連結して実行したりできます。

パッケージ 役割 実行方法
video_ingestion_agent 生の動画を解析し、アクションクリップに分割し、エンティティ関係シーングラフを構築し、フレームごとのSigLIP-2埋め込みを保存します。出力は検索可能なアクションデータベース(graph.db + vector.db)です。 Python仮想環境 + vLLMサーバー(LLMベースの検索)。
reconstruction 選択したクリップを、フレームごとの深度マップ、オブジェクトマスク、テクスチャ付きメッシュ、6-DoFオブジェクトポーズ、SMPL人体パラメータに変換します。マルチビューパイプラインは、ステレオまたはrosbag入力に対応します。 Dockerコンテナ(ビジョンモジュールごとに1つ)。
robotic_grounding 再構成された人間の動きをロボットモデル(例:Sharpa)にリターゲットし、NVIDIA Isaac LabでRSL-RL PPOを使用してRLポリシーをトレーニングします。データセット変換とポリシー評価のためのユーティリティが含まれます。 Isaac Lab 2.3.1上に構築されたDockerコンテナ。
robotic_grounding/flash_chord オプションの高速トレーニングパスで、FlashSAC/FlashCHORD(Newton / Warp / JAX)を使用して、より高速なリファレンストラッキングRLを実現します。 JAXベースのスタックを使用した別のコンテナ。

重要性 – V2Dは、簡単にキャプチャできる人間のデモ(電話動画)と、実際のハードウェアに展開可能なロボットポリシーのトレーニングに必要な高忠実度シミュレーションデータとの間のギャップを埋めます。各ステージをファイルベースのコンテナ化されたモジュールとして公開することで、研究者は以下のことが可能になります:

  • パイプライン全体を再実行せずに、中間結果(深度マップなど)を再利用できます。
  • 他の部分は変更せずに、個々のコンポーネント(異なる深度推定器、異なるRLアルゴリズム)を交換または改善できます。
  • 単一のRTX A6000(またはL40/L40S)GPUで完全なワークフローを実行できるため、多くのラボで利用可能です。

主要コンポーネントとテクノロジー

  • LangGraph駆動のインジェストエージェント – LLMガイドによるセグメンテーション、検証、アクションクリップの自然言語検索。
  • ビジョンスタック – Grounding-DINO、SAM-2、FoundationPose、SAM3D-Body、MoGeなどがDockerイメージとしてパッケージ化されています。
  • Isaac Lab 2.3.1 + RSL-RL PPO – ポリシー学習のためのシミュレーション環境とRLアルゴリズム。
  • FlashCHORD – オプションのJAXベースの高速PPO/FlashSACトレーニング。
  • 型付きデータ契約 – v2d_commonは、モジュールインターフェースをクリーンに保つために、明示的なdataclass(DepthImage、CameraIntrinsics、Transform3dなど)を定義します。

典型的なワークフロー

  1. video_ingestion_agent/scripts/run_ingestion.pyでビデオを取り込みます。エージェントは、アクションクリップの検索可能なデータベースを作成します。
  2. 自然言語クエリ(run_retrieval.py)または提供されているGradio UIを使用して、関心のあるクリップを取得します。
  3. Dockerベースのモジュール(完全なマルチビューパイプライン用のrun_mv_hoi_reconstruction)を使用して、選択したクリップから3Dデータを再構築します。
  4. 人間の動きをロボットモデルに接地し、Isaac Labでポリシーをトレーニングします(robotic_grounding/scripts/run_pipeline_docker.py → train.py)。
  5. (オプション)FlashCHORDでトレーニングを高速化します。
  6. ブラウザベースのギャラリーで、リターゲットされたモーションを視覚化します。

はじめに – READMEにクイックスタートシーケンスが記載されています:

# 1. ビデオ取り込み
cd video_ingestion_agent
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[all]"
python scripts/serve.py -c configs/ingestion.yaml   # vLLMサーバーを開始
python scripts/run_ingestion.py path/to/video.mp4 -c configs/ingestion.yaml --no-verify -o runs/my_run
python scripts/run_retrieval.py "find clips where someone picks up a mug" -d outputs/ -c configs/retrieval.yaml
# 2. 再構築(Docker)
cd reconstruction
./scripts/install_packages.sh
./scripts/build_containers.sh
python -m v2d.pipelines.run_mv_hoi_reconstruction \
  --rosbag_path /data/rosbags/session1 \
  --output_dir /data/datasets/session1 \
  --calibration_camera_params_path /data/datasets/calibration/extrinsics/edex \
  --obj_mesh_path /data/meshes/object.glb
# 3. ロボット接地とRLトレーニング
cd robotic_grounding
bash workflow/setup_deps.sh && git lfs pull
python scripts/run_pipeline_docker.py --build-only
python scripts/run_pipeline_docker.py taco --hmd $HOME/datasets/human_motion_data --max-sequences 2
./workflow/run.sh build && ./workflow/run.sh start
python scripts/rsl_rl/train.py --task Sharpa-V2D-v0

ドキュメントリンク(E2Eワークフローガイド、テクニカルレポート、Hugging Faceでのデータセット収集)は、より詳細な情報と再現性チェックを提供します。

対象ユーザー – デモからのロボット学習に取り組む研究者やエンジニア、特に以下に関心がある方:

  • 人間と手のインタラクションのビジョンベースの3D再構築。
  • 生のビデオから展開可能なポリシーまでのエンドツーエンドのパイプライン。
  • NVIDIA中心のシミュレーションとRLスタック(Isaac Lab、RSL-RL、FlashCHORD)。

ライセンスと貢献 – リポジトリは標準のNVIDIAオープンソースライセンスに従います(各パッケージのLICENSEファイルを参照)。貢献は歓迎されます。貢献ガイドはreconstruction READMEにあり、新しい再構築モジュール(Dockerイメージ、ウェイトダウンロードエントリポイント、型付きAPI)の追加方法が概説されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト