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など)を定義します。
典型的なワークフロー
video_ingestion_agent/scripts/run_ingestion.pyでビデオを取り込みます。エージェントは、アクションクリップの検索可能なデータベースを作成します。- 自然言語クエリ(
run_retrieval.py)または提供されているGradio UIを使用して、関心のあるクリップを取得します。 - Dockerベースのモジュール(完全なマルチビューパイプライン用の
run_mv_hoi_reconstruction)を使用して、選択したクリップから3Dデータを再構築します。 - 人間の動きをロボットモデルに接地し、Isaac Labでポリシーをトレーニングします(
robotic_grounding/scripts/run_pipeline_docker.py→train.py)。 - (オプション)FlashCHORDでトレーニングを高速化します。
- ブラウザベースのギャラリーで、リターゲットされたモーションを視覚化します。
はじめに – 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)の追加方法が概説されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト