简介
Video2Robot 是由 AIM-Intelligence 开发的开源项目,是一个端到端的管道系统,能够将视频或文本提示转换为机器人可执行的运动序列。在机器人技术、动画制作和虚拟现实快速发展的今天,如何让机器人执行自然、流畅的人类动作成为关键挑战。传统方法需要专业动画师手动设计动作,或通过复杂的运动捕捉系统,过程耗时耗力且成本高昂。Video2Robot 应运而生,通过整合先进的视频生成、人体姿态提取和运动重定向技术,实现了从简单描述到机器人动作的自动化转换。
Video2Robot 是由 AIM-Intelligence 开发的开源项目,提供从视频或文本提示到机器人运动序列的端到端转换管道。它整合了 Google Veo 和 Sora 进行视频生成,利用 PromptHMR 提取人体姿态(SMPL-X),并通过 GMR 框架将动作重定向至不同机器人平台(如 Unitree、Booster)。项目支持多模态输入、交互式 Web 界面及模块化架构,旨在降低机器人动作编程门槛,适用于娱乐、工业、医疗等场景。
Video2Robot 是由 AIM-Intelligence 开发的开源项目,是一个端到端的管道系统,能够将视频或文本提示转换为机器人可执行的运动序列。在机器人技术、动画制作和虚拟现实快速发展的今天,如何让机器人执行自然、流畅的人类动作成为关键挑战。传统方法需要专业动画师手动设计动作,或通过复杂的运动捕捉系统,过程耗时耗力且成本高昂。Video2Robot 应运而生,通过整合先进的视频生成、人体姿态提取和运动重定向技术,实现了从简单描述到机器人动作的自动化转换。
核心价值:
项目定位:Video2Robot 填补了自然语言/视频到机器人动作转换的技术空白。与需要专业设备和复杂流程的传统运动捕捉系统不同,该项目通过软件管道实现了低成本、高效率的动作生成。项目特别注重易用性和可扩展性,通过模块化设计支持不同组件的替换和升级,同时提供直观的 Web 界面降低使用门槛。
技术基础:项目基于现代化的 Python 技术栈,深度整合了多个前沿开源项目。Google Veo 和 Sora 提供高质量视频生成能力,PromptHMR 负责从视频中提取精确的人体姿态参数(SMPL-X 格式),GMR(General Motion Retargeting)框架将人体动作重定向到不同机器人模型。通过精心设计的管道架构,这些组件协同工作,实现从文本到机器人动作的完整转换流程。
Video2Robot 的核心是完整的自动化处理管道。用户只需提供简单的文本描述(如"向前走四步"),系统即可自动执行以下步骤:首先通过视频生成模型(Veo 或 Sora)创建包含相应动作的视频;然后使用 PromptHMR 从视频中提取精确的 3D 人体姿态序列;最后通过 GMR 框架将人体动作转换为目标机器人的关节运动。整个过程无需人工干预,大大简化了机器人动作编程的复杂度。
系统支持多种输入方式,适应不同场景需求。文本提示模式允许用户用自然语言描述期望的动作,系统自动生成相应视频并转换。视频上传模式支持用户直接上传现有视频文件,跳过视频生成步骤,直接从姿态提取开始处理。项目恢复模式允许用户从中间步骤继续处理,提高工作流程的灵活性。这种多模态设计使得系统既能从零开始创造新动作,也能基于现有素材进行转换。
项目支持多种主流机器人平台,包括 Unitree G1(29 自由度)、Unitree H1(19 自由度)和 Booster T1(23 自由度)等。通过 GMR 框架的通用重定向能力,系统能够将同一人体动作适配到不同机械结构的机器人上。输出格式为标准化的 Python pickle 文件,包含帧率、机器人类型、根位置、旋转和关节位置等完整信息,便于直接集成到机器人控制系统中。
深度集成 Google Veo 3.1 和 Sora 等最先进的视频生成模型。支持lastFrame 功能,允许用户提供起始和结束图像,系统生成平滑过渡的视频,特别适合"从姿势 A 到姿势 B"的机器人动作设计。支持referenceImages 功能,用户可提供最多 3 张参考图像来保持特定角色或风格的一致性。这种高级控制能力使得生成的动作视频更加精确和符合预期。
提供完整的 Web UI,基于 FastAPI 和 Viser 构建。用户可以通过浏览器直观地输入提示、上传视频、选择模型参数,并实时查看处理进度。界面支持3D 可视化功能,能够同步播放原始视频、提取的人体姿态和转换后的机器人动作,方便对比验证。这种可视化能力对于调试和结果评估至关重要。
项目设计了智能的环境管理系统,自动处理两个独立的 Conda 环境(gmr 和 phmr)。脚本运行时自动切换到相应的环境,用户无需手动激活。针对不同 GPU 架构(如 Blackwell、Ampere、Hopper)提供优化的安装脚本,确保最佳性能和兼容性。这种设计简化了部署过程,降低了技术门槛。
采用高度模块化的设计,每个核心组件都可以独立使用或替换。视频生成模块封装了与 Veo/Sora API 的交互逻辑。姿态提取模块提供 PromptHMR 的简化接口。机器人转换模块集成了 GMR 框架的核心功能。这种设计使得研究人员可以轻松替换特定组件,尝试新的算法或模型,同时保持整体管道的稳定性。
内置丰富的可视化工具,支持不同阶段的中间结果查看。可以可视化提取的 SMPL-X 参数、3D 人体网格、机器人运动序列等。支持同步播放功能,将原始视频、3D 姿态和机器人动作对齐显示,便于质量评估和问题诊断。可视化工具也自动处理环境切换,提供一致的用户体验。
系统维护完整的项目状态,每个处理步骤的结果都保存在结构化目录中。支持从任意步骤恢复处理,避免重复计算。项目目录包含原始输入、生成的视频、提取的姿态参数、转换的机器人动作以及各种中间文件,便于版本管理和结果追溯。
输出为标准化的 robot_motion.pkl 文件,包含机器可读的完整运动数据。格式包括帧率(通常 30fps)、机器人类型标识、总帧数、根位置(3D 坐标)、根旋转(四元数表示)、关节位置(自由度数值)。这种标准化格式便于直接集成到机器人仿真系统或实际控制系统中,支持实时播放和进一步处理。
在部署 Video2Robot 之前,需要确保系统满足以下基本要求:
硬件要求:
软件依赖:
Video2Robot 需要两个独立的 Conda 环境,分别用于机器人重定向(GMR)和姿态提取(PromptHMR)。
步骤 1:克隆仓库和子模块
# 递归克隆包含所有子模块
git clone --recursive https://github.com/AIM-Intelligence/video2robot.git
cd video2robot
# 如果已克隆但未初始化子模块
git submodule update --init --recursive
步骤 2:设置 GMR 环境(机器人重定向)
# 创建并激活 GMR 环境
conda create -n gmr python=3.10 -y
conda activate gmr
# 安装核心依赖
pip install -e .
步骤 3:设置 PromptHMR 环境(姿态提取)
根据 GPU 架构选择不同的安装方式:
对于 Blackwell 架构 GPU(sm_120):
conda create -n phmr python=3.11 -y
conda activate phmr
cd third_party/PromptHMR
bash scripts/install_blackwell.sh
对于其他 GPU 架构(Ampere、Hopper 等):
conda create -n phmr python=3.10 -y
conda activate phmr
cd third_party/PromptHMR
pip install -e .
步骤 4:环境配置验证
安装完成后,验证两个环境都能正常导入关键模块:
# 在 GMR 环境中测试
conda activate gmr
python -c "import video2robot; print('GMR 环境正常')"
# 在 PromptHMR 环境中测试
conda activate phmr
python -c "import prompt_hmr; print('PromptHMR 环境正常')"
API 密钥配置:
项目需要访问 Google Veo API 或其他视频生成服务的 API 密钥:
# 复制环境变量模板
cp .env.example .env
# 编辑.env 文件,设置 API 密钥
# 支持 Veo、Sora 等服务的 API 密钥配置
模型选择配置:
在运行管道时可以选择不同的视频生成模型:
机器人模型扩展:
要支持新的机器人模型,需要在 GMR 框架中添加相应的机器人描述文件:
对于希望简化部署过程的用户,项目提供了 Docker 支持:
构建自定义镜像:
# 构建包含两个环境的 Docker 镜像
docker build -t video2robot:latest .
# 运行容器
docker run -it --gpus all -p 8000:8000 video2robot:latest
使用预构建镜像:
项目提供了预配置的 Docker 镜像,包含所有依赖:
docker pull aimintelligence/video2robot:latest
常见安装问题:
性能优化建议:
网络配置:
对于国内用户,可能需要配置代理访问 Google API:
# 在.env 文件中设置代理
HTTP_PROXY=http://your-proxy:port
HTTPS_PROXY=http://your-proxy:port
Video2Robot 的设计理念是让机器人动作编程变得简单直观,用户可以通过清晰的步骤完成从想法到可执行动作的全过程:
第一步:准备动作描述
用户需要提供清晰的动作描述文本。描述应尽可能具体,包括动作类型、节奏、幅度等信息。例如:
系统内置了 BASE_PROMPT 模板,会自动将用户描述转换为适合视频生成的完整提示。
第二步:选择处理模式
根据输入类型选择相应的处理模式:
第三步:运行处理管道
使用命令行工具启动处理过程:
# 完整管道示例
python scripts/run_pipeline.py --action "向前走四步"
# 使用 Sora 模型生成视频
python scripts/run_pipeline.py --action "跳舞动作" --provider sora
# 从现有视频开始处理
python scripts/run_pipeline.py --video /path/to/dance.mp4
第四步:监控处理进度
系统自动显示处理进度,包括:
第五步:查看和验证结果
处理完成后,使用可视化工具查看结果:
# 查看完整处理结果
python scripts/visualize.py --project data/video_001
# 仅查看提取的姿态
python scripts/visualize.py --project data/video_001 --pose
# 仅查看机器人动作
python scripts/visualize.py --project data/video_001 --robot
第六步:导出和使用
生成的机器人动作文件保存在项目目录中,可以直接用于:
文本到动作完整工作流:
高级控制工作流:
对于需要精确控制的场景,可以使用高级功能:
批量处理工作流:
对于需要生成大量动作的场景:
启动 Web 服务器:
# 从项目根目录启动
uvicorn web.app:app --host 0.0.0.0 --port 8000
界面主要功能:
交互式操作:
动作描述优化:
处理参数调整:
质量验证方法:
性能优化策略:
场景描述:一家科技娱乐公司开发了一款人形机器人用于舞台表演,需要为机器人编排复杂的舞蹈动作以参加国际机器人舞蹈大赛。传统方法需要专业舞蹈编导和机器人工程师紧密合作,手动设计每个动作的关节角度和时序,过程极其繁琐且难以实现自然流畅的舞蹈效果。团队需要在短时间内创作多种风格的舞蹈,包括流行舞、传统舞和现代舞。
解决方案:团队使用 Video2Robot 系统进行舞蹈动作创作。编舞师首先描述舞蹈风格和关键动作,如"创作一段融合传统和现代元素的舞蹈,包含旋转、跳跃和手臂波浪动作"。系统通过 Veo 生成参考视频,然后提取专业舞者的精确姿态。GMR 框架将这些人体动作重定向到 Unitree H1 机器人上,考虑机器人的关节限制和平衡要求。
对于复杂的连续动作,团队使用 lastFrame 功能,提供起始和结束姿势图像,确保动作过渡平滑自然。通过参考图像功能,保持舞蹈风格的一致性。生成的动作在仿真环境中进行安全性和可行性验证,调整后直接部署到实际机器人。
实施效果:
场景描述:一家大型制造企业需要培训工业机器人执行复杂的装配任务,如精密电子元件的安装。传统示教方法需要工程师手动引导机器人记录路径点,对于复杂动作效率低下且精度有限。新员工需要快速掌握多种装配技能,但传统培训周期长、成本高。
解决方案:企业引入 Video2Robot 系统建立技能培训管道。熟练技师的操作被多角度摄像机记录,系统提取精确的人体动作序列。通过运动重定向,这些动作被转换为工业机器人的运动指令,保持操作的精髓和技巧。
系统特别优化了精细操作的动作转换,如拧螺丝、插接连接器等。通过调整运动参数,适应不同型号的工业机器人。生成的技能模块存储在知识库中,新员工可以通过 VR 系统学习,机器人自动演示标准操作流程。
实施效果:
场景描述:一家康复中心需要为患者提供个性化的运动康复训练,特别是中风后遗症患者的肢体功能恢复。传统康复依赖治疗师一对一指导,资源有限且难以保证动作的标准性。需要为康复机器人编程各种治疗动作,适应不同患者的恢复阶段。
解决方案:康复中心部署 Video2Robot 系统创建个性化康复方案。治疗师根据患者情况描述所需动作,如"缓慢抬起手臂至 90 度,保持 5 秒后缓慢放下"。系统生成相应的视频和机器人动作序列。机器人引导患者执行标准动作,实时监测执行情况并调整辅助力度。
对于渐进式康复,系统生成从简单到复杂的动作序列,随着患者恢复进展自动调整难度。通过参考健康人的动作视频,确保康复动作的正确性和有效性。系统还记录患者的执行数据,为治疗师提供量化评估依据。
实施效果:
场景描述:一部科幻电影需要制作大量机器人角色的动画,包括战斗、奔跑、情感表达等复杂动作。传统关键帧动画制作周期长、成本高,且难以实现真实物理感。导演希望机器人动作既有机械特性又包含人性化表达,传统方法难以平衡。
解决方案:特效团队使用 Video2Robot 系统创作机器人动画。动作指导表演各种场景,系统记录并提取精确的动作数据。通过调整重定向参数,在保持人类动作精髓的同时增加机械特性,如限制关节活动范围、添加惯性效果等。
对于群体场景,系统批量生成变体动作,确保每个机器人动作相似但不完全相同,增加真实感。通过风格参考功能,保持不同机器人型号的动作特性一致性。生成的动作直接集成到电影制作管线,大幅缩短制作周期。
实施效果:
场景描述:一家教育科技公司开发智能教育机器人,需要为不同学科创建丰富的互动动作,如科学实验演示、历史场景重现、语言学习互动等。传统内容开发需要跨学科团队合作,动作设计复杂且难以快速迭代。
解决方案:公司采用 Video2Robot 平台加速内容开发。学科专家描述教学场景,如"演示牛顿第三定律的作用力与反作用力"。系统生成相应的演示动作,机器人通过肢体语言生动解释抽象概念。对于语言学习,机器人配合词汇表演相应动作,增强记忆效果。
平台支持快速原型测试,教师可以立即看到机器人动作效果并提供反馈。系统根据反馈自动优化动作,形成快速迭代循环。建立了学科动作模板库,新内容开发可以基于现有模板快速调整。
实施效果:
项目关键信息:
仓库结构概览:
video2robot/
├── video2robot/ # 主包目录
│ ├── config.py # 配置管理
│ ├── pipeline.py # Python API 管道
│ ├── cli.py # 命令行入口点
│ ├── video/ # 视频生成处理模块
│ │ └── veo_client.py # Google Veo API 客户端
│ ├── pose/ # 姿态提取模块
│ │ └── extractor.py # PromptHMR 包装器
│ └── robot/ # 机器人转换模块
│ └── retargeter.py # GMR 包装器
├── scripts/ # CLI 脚本目录
│ ├── run_pipeline.py # 完整管道脚本
│ ├── generate_video.py # 视频生成脚本
│ ├── extract_pose.py # 姿态提取脚本
│ ├── convert_to_robot.py # 机器人转换脚本
│ └── visualize.py # 结果可视化脚本
├── configs/ # 配置文件目录
├── data/ # 数据目录(git 忽略)
├── third_party/ # 外部依赖(子模块)
│ ├── PromptHMR/ # 姿态提取模型
│ └── GMR/ # 运动重定向框架
├── web/ # Web 界面
├── .env.example # 环境变量示例
├── pyproject.toml # Python 项目配置
├── requirements.txt # 依赖列表
├── setup.py # 安装脚本
└── README.md # 项目主文档
核心特性总结:
安装命令参考:
# 完整克隆(包含子模块)
git clone --recursive https://github.com/AIM-Intelligence/video2robot.git
cd video2robot
# 设置 GMR 环境
conda create -n gmr python=3.10 -y
conda activate gmr
pip install -e .
# 设置 PromptHMR 环境(根据 GPU 架构选择)
conda create -n phmr python=3.10 -y
# 或 3.11 for Blackwell
conda activate phmr
cd third_party/PromptHMR
pip install -e .
# 或 bash scripts/install_blackwell.sh
系统要求:
社区与支持:
项目愿景与影响:
Video2Robot 代表了 AI 与机器人技术融合的重要进展。在机器人日益普及的今天,如何让机器人执行自然、智能的动作成为关键挑战。项目通过整合最先进的生成式 AI 和运动重定向技术,建立了一个从高层意图到底层执行的完整桥梁。这种技术不仅降低了机器人编程的门槛,更开启了人机交互的新可能性。
从技术架构看,项目的模块化设计和清晰的接口定义体现了工程化的思维。研究人员可以专注于算法创新,而无需重复实现基础设施。这种分工协作模式极大提高了研究效率,使得更多创新想法能够快速验证。特别是对多个前沿开源项目的深度集成,展示了开源协作的力量。
从应用前景看,项目覆盖了娱乐、工业、医疗、教育等多个重要领域。随着机器人成本的下降和 AI 能力的提升,对高质量机器人动作的需求将快速增长。Video2Robot 为这些应用提供了关键技术支撑,有望推动相关产业的智能化转型。特别是在个性化服务、技能传递、创意表达等方面,展现了独特价值。
从社会影响看,项目降低了机器人技术的使用门槛,使得更多非专业用户能够利用机器人解决问题。这种民主化趋势有助于机器人技术的普及和应用创新。同时,项目强调的标准化和可复用性,有助于建立健康的机器人开发生态。
更重要的是,作为开源项目,Video2Robot 的透明性和可访问性促进了知识的传播和协作。全球的研究人员和开发者可以基于同一套代码基础进行创新,避免重复劳动,加速技术进步。这种开放协作的模式正是技术发展的核心动力。
随着多模态 AI 技术的不断突破和机器人硬件的持续改进,视频到机器人动作转换技术有望在未来几年实现更大突破。Video2Robot 作为这一领域的基础设施,将继续演进,集成更多先进算法,优化性能体验,降低使用门槛,为构建更加智能、自然、协作的人机共融世界贡献力量。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online