nvidia-isaac/video_to_data
Nvidia Isaac Video to Data Pipeline
Video to Data (V2D) – 从人类演示视频到机器人就绪的训练数据
它是什么 – 一个端到端的模块化流水线,将人们执行任务的普通视频录制转换为仿真就绪的3D资产和机器人的物理基础强化学习(RL)策略。仓库分为四个主要包,可以独立运行或串联运行:
| 包 | 作用 | 运行方式 |
|---|---|---|
video_ingestion_agent |
解析原始视频,将其分割为动作片段,构建实体关系场景图,并存储每帧的SigLIP-2嵌入。输出是一个可搜索的动作数据库(graph.db + vector.db)。 |
Python虚拟环境 + vLLM服务器(基于LLM的检索)。 |
reconstruction |
将选定的片段转换为每帧深度图、对象掩码、纹理网格、6自由度对象姿态和SMPL人体参数。多视图流水线处理立体或rosbag输入。 | Docker容器(每个视觉模块一个)。 |
robotic_grounding |
将重建的人类运动重定向到机器人模型(例如,Sharpa),然后使用RSL-RL PPO在NVIDIA Isaac Lab中训练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定义了显式的数据类(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)。
相关
- 项目
- 项目
- 项目
- 项目