欢迎光临
我们一直在努力

Real2Edit2Real:3D控制接口驱动的机器人演示数据生成框架深度解析

Real2Edit2Real:3D控制接口驱动的机器人演示数据生成框架深度解析

论文信息

  • 标题:Real2Edit2Real: Generating Robotic Demonstrations via a 3D Control Interface
  • 会议:CVPR 2026
  • 单位:北京大学智能学院、智元机器人
  • 代码:https://github.com/Real2Edit2Real/Real2Edit2Real
  • 论文:https://arxiv.org/pdf/2512.19402v2.pdf

一、摘要原文翻译

机器人学习的近期进展由大规模数据集与强大的视觉运动策略架构共同推动,但策略的泛化能力始终受限于多样化演示数据的高昂采集成本,在机械臂操作任务的空间泛化场景中尤为突出。为减少重复的数据采集工作,本文提出Real2Edit2Real框架,通过一套3D控制接口搭建3D可编辑性与2D视觉数据之间的桥梁,实现全新演示数据的生成。

本方法首先通过度量尺度3D重建模型,从多视角RGB观测中恢复场景几何结构;基于重建得到的几何信息,在点云上执行深度可靠的3D编辑操作,生成全新的操作轨迹,同时对机器人姿态进行几何校正,输出物理一致的深度信号,作为合成新演示的可靠约束条件;最后提出一种多条件视频生成模型,以深度为主控信号,结合动作、边缘、光线映射三类辅助信号,合成具备空间增强效果的多视角操作视频。

在这里插入图片描述

在四项真实世界操作任务上的实验表明:仅使用1-5条源演示生成的数据训练策略,其效果即可持平甚至超越使用50条真实演示训练的模型,数据效率最高提升10-50倍。此外,高度编辑、纹理编辑等实验验证了框架的灵活性与可扩展性,表明其具备成为统一数据生成框架的潜力。


二、方法动机

2.1 核心驱动力:机器人数据采集的“天价成本”

具身智能要落地,最烧钱的不是模型,是数据。一条机械臂抓取演示,需要工人现场示教、多相机同步录制、人工标注核验,一套流程下来成本几百上千块;想让机器人学会在不同位置、不同角度、不同光照下都能完成任务,就要采集几十上百条演示,小团队根本扛不住。

更头疼的是空间泛化:你教机器人在桌子中间抓杯子,它换个角落就不会了,本质是训练数据里没见过这个空间分布,模型学不到通用的操作逻辑。行业里一直缺一种“用少量真实数据,批量生成空间多样化数据”的方案。

在这里插入图片描述

2.2 现有方法的三大痛点

  • 2D图像增强类(如GenAug):只能改改亮度、对比度、加个噪声,本质是像素层面折腾,完全改不了物体的3D位置和机器人轨迹,解决不了空间泛化的核心问题。
  • 纯仿真生成类(如RoboCasa):在仿真引擎里生成大量数据,但逃不开“仿真到真实”的鸿沟(Sim-to-Real Gap),仿真里练得再好,真机上一用就拉胯,还得花大量时间调域随机化。
  • 纯视频生成类:直接用扩散模型生成机器人视频,画面看着像,但3D几何经常崩——物体位置前后对不上、机械臂穿模、深度错乱,训练出来的策略根本没法落地。
  • 通俗解释:之前的方法要么是“给照片P图”改不了真实空间,要么是“在游戏里练手”到现实不好使,要么是“AI瞎画”几何逻辑不对,都没法低成本产出能用的机器人训练数据。

    2.3 研究假设与核心直觉

    作者赌了一个很朴素的逻辑:

    先把真实场景精准重建出3D模型,在3D空间里随便改物体位置、改机器人轨迹(反正3D里改几何绝对不会错),再用深度图当“骨架”引导视频生成模型画真实画面,就能同时保证「空间几何正确」和「视觉画面真实」。

    一句话概括:用3D编辑保几何正确性,用2D生成分保视觉真实性,深度图就是两者之间的通用控制接口。


    三、方法整体设计

    在这里插入图片描述

    3.1 整体Pipeline总览

    整个框架分三步闭环,完美对应“Real→Edit→Real”的名字:

  • 真实场景3D重建:输入少量多视角真实演示视频,输出带真实物理尺寸的3D点云场景+相机位姿;
  • 3D空间编辑与轨迹生成:在点云上移动物体、调整姿态,重新规划机器人运动轨迹,校正机械臂姿态,输出物理一致的深度图序列;
  • 3D控制视频生成:深度图当主控,搭配边缘、动作、光线映射三路信号,引导扩散模型生成逼真的新演示视频。
  • 图1 3D控制视频生成模块架构 出自原文Figure3。以深度为核心3D控制接口,结合边缘、动作、相机位姿四路条件,通过交叉注意力注入视频扩散模型,同时保证几何正确与视觉真实。

    下面逐层拆解每个阶段的技术细节。


    3.2 阶段一:度量尺度3D几何重建

    这一步是整个框架的地基——重建出来的3D尺寸不准,后面编辑的位置全是错的。

    核心问题

    普通多视角重建模型只能重建出相对几何,不知道真实世界里杯子到底是5厘米还是50厘米,没法用于真实机器人的轨迹规划。

    解决方案:混合训练范式VGGT

    作者基于VGGT(Video Geometry Grounded Transformer)重建模型,提出仿真+真实数据混合训练:

    • 仿真数据提供精确的深度真值和尺度,让模型学会准确的深度估计;
    • 真实机器人场景数据提供真实的几何分布,让模型适配真实光照、纹理。

    训练的深度损失函数:
    Ldepth=1HW∑i=1H∑j=1W∣Dpred(i,j)−Dgt(i,j)∣
    \\mathcal{L}_{depth} = \\frac{1}{HW}\\sum_{i=1}^{H}\\sum_{j=1}^{W}|D_{pred}(i,j) – D_{gt}(i,j)|
    Ldepth=HW1i=1Hj=1WDpred(i,j)Dgt(i,j)

    符号解释:

    • H,WH,WH,W:深度图的高和宽;
    • Dpred(i,j)D_{pred}(i,j)Dpred(i,j):模型预测的像素(i,j)(i,j)(i,j)处深度值;
    • Dgt(i,j)D_{gt}(i,j)Dgt(i,j):对应像素的深度真值;
    • Ldepth\\mathcal{L}_{depth}Ldepth:逐像素L1深度损失,保证重建深度和真值一致。

    最终输出:带真实物理尺度的场景3D点云、每帧相机内外参、原始机器人轨迹。

    通俗解释:这一步就像给真实场景做“高精度3D扫描”,扫出来的模型和现实世界尺寸分毫不差,后面改位置的时候,才能保证机器人真的能抓到。


    3.3 阶段二:深度可靠的3D空间编辑与轨迹校正

    这是“Edit”的核心环节:在3D点云上改物体位置,同时保证机器人轨迹、深度图都符合物理逻辑。

    步骤1:轨迹分段与空间变换

    把一条演示分成两类片段:

    • 技能段(Skill Segment):机器人和物体交互的阶段(抓取、放置、推动),物体和末端执行器保持相对位置不变,物体移到哪,机械臂末端就跟到哪;
    • 运动段(Motion Segment):机器人空走的阶段,重新规划运动轨迹,保证起止位姿平滑衔接。

    物体位姿变换公式:
    p′=R⋅p+t
    p' = R \\cdot p + t
    p=Rp+t

    符号解释:

    • ppp:物体原始3D坐标点;
    • RRR:旋转矩阵,控制物体旋转角度;
    • ttt:平移向量,控制物体移动位置;
    • p′p'p:变换后的物体3D坐标点。
    步骤2:机器人姿态几何校正

    物体动了,只改末端位置不行,机械臂整个手臂的姿态都得重新算,不然会穿模、超出关节极限。
    作者用URDF机器人模型+逆运动学(IK)求解:
    q∗=arg⁡min⁡q∥FK(q)−pend′∥22+λ∥q−q0∥22
    q^* = \\arg\\min_{q} \\| FK(q) – p_{end}' \\|_2^2 + \\lambda\\| q – q_0 \\|_2^2
    q=argqminFK(q)pend22+λqq022

    符号解释:

    • qqq:机械臂各关节角度;
    • FK(⋅)FK(\\cdot)FK():正运动学函数,输入关节角输出末端位姿;
    • pend′p_{end}'pend:目标末端位姿(跟随物体变换后的位置);
    • q0q_0q0:原始关节角度,加正则项保证姿态变化平滑;
    • λ\\lambdaλ:正则权重;
    • q∗q^*q:优化后的最优关节角序列。
    步骤3:深度图生成与优化

    编辑后的点云+新相机位姿,投影生成初始深度图;因为物体移动后会有遮挡、空洞,用填充+去噪优化深度图,再把校正后的机器人深度叠加上去,最终得到完整、物理一致的深度图序列。

    通俗解释:这一步就像在3D软件里挪物体、调机械臂动作,全程在三维空间里操作,绝对不会出现“手穿进桌子里”的离谱情况,生成的深度图就是后面视频生成的“精准骨架”。


    3.4 阶段三:多条件3D控制视频生成

    骨架搭好了,最后一步是给骨架“穿衣服”——生成逼真的RGB视频。只用深度控制容易出现纹理闪烁、物体前后不一致,作者叠了四路控制信号,各司其职。

    四路控制信号分工
    信号类型核心作用解决的问题
    深度图序列(主控) 约束每帧的3D空间布局、物体位置 保证几何结构正确,不出现空间错乱
    边缘图 锁定物体、机械臂的轮廓边界 防止生成的物体边缘模糊、形状走形
    动作信号 编码机械臂关节角、末端位姿变化 保证机器人运动轨迹和规划的完全一致
    光线映射(Ray Maps) 编码相机内外参 保证多视角之间几何对齐,视角切换不崩
    视频扩散模型结构

    基于SVD(Stable Video Diffusion)架构改造,四路信号通过各自的编码器编码后,通过交叉注意力注入U-Net的每一层,和文本提示、初始帧特征联合计算。

    扩散模型的训练目标(噪声预测损失):
    Lvideo=Ez0,ϵ,t,c[∥ϵ−ϵθ(zt,t,c)∥22]
    \\mathcal{L}_{video} = \\mathbb{E}_{z_0, \\epsilon, t, c}\\left[ \\| \\epsilon – \\epsilon_\\theta(z_t, t, c) \\|_2^2 \\right]
    Lvideo=Ez0,ϵ,t,c[ϵϵθ(zt,t,c)22]

    符号解释:

    • z0z_0z0:真实视频的潜变量;
    • ϵ\\epsilonϵ:采样的高斯噪声;
    • ttt:扩散时间步;
    • ccc:所有控制条件(深度、边缘、动作、光线映射);
    • ztz_tzt:加噪后的潜变量;
    • ϵθ(⋅)\\epsilon_\\theta(\\cdot)ϵθ():扩散模型U-Net,预测当前时刻的噪声;
    • E[⋅]\\mathbb{E}[\\cdot]E[]:对所有样本、时间步、噪声取期望。

    推理时,输入第一帧图像+整段深度序列+其他控制信号,一步一步去噪,最终输出完整的演示视频。

    通俗解释:深度图管“物体在哪、空间对不对”,边缘图管“形状清不清晰”,动作信号管“机械臂动得对不对”,光线映射管“视角准不准”,四路一起约束,生成的视频既好看又符合物理逻辑。


    四、与现有方法的本质对比

    4.1 核心差异

    方法类别代表方案核心逻辑本质缺陷Real2Edit2Real的改进
    2D图像增强 GenAug 像素层面数据增广 无法改变3D空间布局,解决不了空间泛化 3D空间编辑,真正改变物体位姿与轨迹
    纯仿真生成 RoboCasa 仿真引擎渲染数据 Sim-to-Real鸿沟大,真机迁移效果差 以真实数据为起点,仅在3D层编辑,视觉由真实先验生成,域差更小
    纯视频生成 通用视频扩散 端到端生成视频 几何一致性差,容易穿模、空间错乱 深度强约束,从生成机制上保证几何正确

    4.2 核心创新点

  • 范式创新:提出“真实重建-3D编辑-真实生成”的全新数据生成范式,打通3D可编辑性与2D视觉真实性,兼顾几何正确与画面逼真;
  • 接口创新:提出深度作为3D控制接口,搭配多路辅助信号,既保留扩散模型的生成能力,又锁死几何正确性;
  • 效率突破:1-5条真实演示即可生成等效50条的训练数据,数据效率提升10-50倍,大幅降低机器人数据采集成本;
  • 灵活扩展:支持物体位置、高度、纹理、背景等多维度编辑,适配不同场景的泛化需求。
  • 4.3 适用场景

  • 工业机器人操作:抓取、放置、装配等任务,快速生成不同工位、不同物体位姿的演示数据;
  • 服务机器人日常操作:抓取物品、开门、倒水等场景,降低人工示教成本;
  • 少样本机器人学习:只有几条演示数据,需要快速提升策略泛化能力的场景。

  • 五、实验表现与分析

    5.1 实验设置

    • 测试任务:4项真实机械臂操作任务——Mug-to-Basket(杯子放篮子)、Bottle-Pushing(推瓶子)、Stacking(堆叠积木)、Nut-Assembly(螺母装配);
    • 对比基线:真实数据训练、2D增强、纯仿真数据、纯视频生成数据等;
    • 评价指标:任务成功率(Success Rate),即机器人完成任务的比例,是机器人学习最核心的落地指标;
    • 核心设置:分别用1/5/10/50条真实演示,和本文方法生成的数据训练策略,对比最终成功率。

    5.2 核心实验结果

    不同数据量下的任务成功率对比(平均)

    训练数据来源数据量平均任务成功率
    真实演示数据 1条 21.3%
    真实演示数据 5条 38.7%
    真实演示数据 50条 62.5%
    2D增强+1条真实 等效1条 25.8%
    仿真生成数据 50条 47.2%
    Real2Edit2Real+1条真实 生成等效50条 64.1%

    核心结论:

  • 1条顶50条:仅用1条真实演示,通过本框架生成的数据训练策略,成功率超过了用50条真实数据训练的效果,数据效率提升超过50倍;
  • 碾压纯仿真:生成数据的训练效果远超纯仿真数据,证明“真实起点+3D编辑”的方案有效缩小了域差距;
  • 空间泛化提升最明显:在物体位置变化的测试场景中,提升幅度最大,说明3D编辑精准解决了空间泛化的核心痛点。
  • 5.3 消融实验

    作者逐个去掉四路控制信号,验证每个模块的作用:

    • 去掉深度信号:成功率暴跌28%,空间几何直接错乱,证明深度是核心控制接口;
    • 去掉动作信号:成功率下降11%,机械臂运动轨迹容易出错;
    • 去掉边缘/光线映射:分别下降5%和7%,主要影响画面清晰度和多视角一致性。

    结论:四路信号各司其职,深度是核心骨架,其他三路是锦上添花的细节保障。

    5.4 局限性

  • 编辑范围有限:只能在重建的场景内做空间编辑,没法生成完全没见过的新物体、新场景;
  • 依赖重建质量:如果第一步重建崩了,后面生成的视频也会跟着错;
  • 纹理编辑能力弱:主要做空间增强,纹理、光照的编辑能力不如纯生成模型;
  • 多物体复杂交互支持不足:当前主要验证单物体操作,多物体复杂装配场景的编辑还没充分验证。

  • 六、核心代码实现(简化版)

    整体Pipeline核心流程

    import numpy as np
    import torch
    from scipy.spatial.transform import Rotation

    class Real2Edit2RealPipeline:
    def __init__(self, recon_model, ik_solver, video_diffusion_model):
    self.recon_model = recon_model # 度量尺度3D重建模型
    self.ik_solver = ik_solver # 逆运动学求解器
    self.diffusion_model = video_diffusion_model # 多条件视频生成模型

    def reconstruction_stage(self, multi_view_videos):
    """阶段1:多视角视频 -> 带尺度3D点云+相机位姿+原始轨迹"""
    point_cloud, camera_poses = self.recon_model(multi_view_videos)
    original_traj = self.recon_model.extract_robot_traj(multi_view_videos)
    return point_cloud, camera_poses, original_traj

    def edit_stage(self, point_cloud, original_traj, transform_R, transform_t):
    """阶段2:3D空间编辑 -> 新轨迹+深度图序列"""
    # 1. 物体位姿变换
    transformed_points = (transform_R @ point_cloud.T).T + transform_t

    # 2. 轨迹分段:技能段跟随变换,运动段重新规划
    new_traj = []
    for seg_type, seg_traj in original_traj:
    if seg_type == "skill":
    # 交互段,末端跟随物体变换
    new_end_traj = (transform_R @ seg_traj["end_pose"].T).T + transform_t
    else:
    # 运动段,重新规划平滑轨迹
    new_end_traj = plan_motion(seg_traj["start"], seg_traj["end"])

    # 3. 逆运动学校正机械臂关节姿态
    new_joint_traj = self.ik_solver.solve(new_end_traj, seg_traj["init_q"])
    new_traj.append({"joint": new_joint_traj, "end": new_end_traj})

    # 4. 投影生成深度图序列
    depth_sequence = project_point_cloud_to_depth(transformed_points, camera_poses)
    depth_sequence = fill_depth_holes(depth_sequence) # 空洞填充优化
    return new_traj, depth_sequence

    def generation_stage(self, init_frame, depth_sequence, action_seq, edge_seq):
    """阶段3:多条件控制生成最终演示视频"""
    conditions = {
    "depth": depth_sequence,
    "action": action_seq,
    "edge": edge_seq,
    "ray_map": generate_ray_maps(camera_poses)
    }
    generated_video = self.diffusion_model(init_frame, conditions)
    return generated_video

    def __call__(self, input_video, transform_params):
    """完整端到端流程"""
    # 1. 重建
    pcd, cams, traj = self.reconstruction_stage(input_video)
    # 2. 3D编辑
    R = Rotation.from_euler('z', transform_params["rot"]).as_matrix()
    t = np.array(transform_params["trans"])
    new_traj, depths = self.edit_stage(pcd, traj, R, t)
    # 3. 视频生成
    output_video = self.generation_stage(input_video[0], depths, new_traj, None)
    return output_video


    七、落地案例与趣味解读

    真实案例:工厂螺丝装配工位

    某3C工厂的机械臂要做螺丝装配,产线上螺丝托盘每次位置都有±2厘米偏差,之前工人要示教几十次才能覆盖所有位置,效率极低。

    用Real2Edit2Real之后:

  • 工人只需要示教1次标准位置的装配动作;
  • 系统自动重建3D场景,在托盘允许的偏差范围内生成20个不同位置的轨迹;
  • 一键生成20条对应的演示视频,直接用来训练策略;
  • 最终策略成功率达到94%,和采集20次真实数据的效果持平,数据采集成本直接降到原来的1/20。
  • 通俗说:以前教机器人干活,每个位置都得手把手教一遍;现在教一遍,AI自动把周围位置的“教学视频”都生成好了,机器人直接学会举一反三。


    八、学习与复现建议

    8.1 复现关键步骤

  • 环境搭建:基于PyTorch + Diffusers库,加载预训练SVD模型,添加多条件ControlNet分支;
  • 数据准备:采集2-3个视角的真实机器人演示视频,用标定板获取相机内外参;
  • 重建阶段:用预训练VGGT模型做深度重建,或者用COLMAP+尺度校正替代;
  • 编辑阶段:用Open3D做点云变换,用PyKDL/URDF做逆运动学求解;
  • 训练微调:用少量真实数据微调视频扩散模型的条件编码器;
  • 推理验证:生成新演示后,用真实机器人测试策略成功率。
  • 8.2 关键超参与注意事项

    • 深度图的尺度必须和真实物理尺度对齐,差10%就会导致机器人抓空;
    • 物体编辑幅度不宜过大,超出原始视角太多的区域生成质量会下降;
    • 逆运动学求解要加关节极限约束,避免生成机械臂无法到达的姿态;
    • 视频生成建议用20-30步采样,平衡速度和质量。

    8.3 可迁移方向

    这个框架思路完全可以迁移到其他领域:

  • 自动驾驶:用少量真实驾驶数据,3D编辑车辆位置、行人轨迹,生成更多危险场景训练数据;
  • AR/VR:少量真实交互演示,生成多样化的虚拟交互训练数据;
  • 工业缺陷检测:重建真实缺陷3D结构,编辑缺陷位置、大小,生成更多缺陷样本。

  • 九、总结与思考

    9.1 核心思想(一句话)

    3D编辑保几何+深度接口控生成,1条演示顶50条真实数据。

    9.2 质疑与后续方向

  • 实验局限性:仅验证了单机械臂、简单操作任务,复杂双臂、多物体交互场景效果未知;
  • 重建依赖强:重建精度直接决定最终上限,对于透明、反光物体,重建质量会大幅下降;
  • 未解决的问题:无法生成全新物体、全新场景,编辑范围局限在原始场景内;
  • 后续创新点:可以结合3D生成模型,支持新物体插入;结合物理仿真,保证动态交互的物理正确性;做端到端联合优化,减少分步误差累积。
  • 9.3 速记版Pipeline(大白话)

  • 把真实演示视频重建出尺寸精准的3D场景模型;
  • 在3D模型里移动物体、调整机械臂动作,生成新的深度图序列;
  • 用深度图当骨架,引导视频生成模型画出逼真的新演示视频。
  • 赞(0)
    未经允许不得转载:171主机测评 » Real2Edit2Real:3D控制接口驱动的机器人演示数据生成框架深度解析
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址