DemoGen:用于数据高效视觉运动策略学习的合成演示生成
25年2月来自清华、上海姚期智研究院和上海AI实验室的论文“DemoGen: Synthetic Demonstration Generation for Data-Efficient Visuomotor Policy Learning”。
视觉运动策略在机器人操控中展现出巨大潜力,但通常需要大量人工采集的数据才能有效执行。驱动高数据需求的一个关键因素,是其有限的空间泛化能力,这需要跨不同物体配置收集大量数据。本研究提出 DemoGen,一种低成本、完全合成的自动演示生成方法。DemoGen 每个任务仅使用一个人工采集的演示,通过将演示的动作轨迹调整到新的物体配置来生成空间增强的演示。通过利用 3D 点云作为模态并通过 3D 编辑重新排列场景中的主体来合成视觉观测。经验表明,DemoGen 显著提升各种现实世界操控任务的策略性能,即使在涉及可变形体、灵巧手末端执行器和双手平台的挑战性场景中也表现出其适用性。此外,DemoGen 可以扩展以实现额外的分布外(OOD)能力,包括抗干扰和避障。
视觉运动策略学习已在机器人操控任务中展现出卓越的能力 [7, 61, 16, 59],但它通常需要大量人工收集的数据。最先进的方法通常需要数十到数百次演示才能在复杂任务上取得一定程度的成功,
例如在披萨上涂抹酱汁 [7] 或用灵巧的手制作卷饼 [59]。更复杂、更长远的任务可能需要数千次演示 [62]。
导致这些方法数据密集型特性的一个关键因素,是其有限的空间泛化能力 [41, 43]。实证研究表明,即使与预训练或 3D 视觉编码器 [33, 39, 34, 59] 结合使用,视觉运动策略 [7] 也表现出有限的空间容量,通常局限于与演示的物体配置相邻的区域。这种限制需要反复收集重定位物体的数据,直到演示的配置充分覆盖整个桌面工作空间。这就产生了一个悖论:虽然实现灵巧操作的关键动作集中在一小部分接触丰富的片段中,但人类的大量精力却花在了教机器人接近自由空间中的物体上。
减少重复人工劳动的一个潜在解决方案,是用自动演示生成来取代繁琐的重定位和重新收集过程。MimicGen [32] 及其后续扩展 [20, 18, 22] 等最新进展提出,通过基于物体交互对演示轨迹进行分段来生成演示。然后,这些以物体为中心的片段被转换并插值到适合所需空间增强物体配置的执行规划中。之后,生成的规划通过机器人上的开环部署(称为机器人上部署)来执行,以验证其正确性并同时捕获策略训练所需的视觉观察结果。
尽管 MimicGen 式策略在模拟环境中取得成功,但将其应用于现实环境却受到高昂的机器人部署成本的阻碍,其成本几乎与收集原始演示的成本相当。另一种方法是通过模拟-到-现实的迁移进行部署 [36, 44, 56],尽管弥合模拟到现实的差距仍然是机器人技术领域的一项重大挑战。
本研究介绍 DemoGen,这是一个数据生成系统,可以无缝地接入模拟和物理世界中的策略学习工作流程中。如图所示:
空间有效范围可视化
空间泛化,是指策略执行涉及训练期间未见过物体任务的能力。为了直观地理解空间泛化,将视觉运动策略的空间有效范围与演示数据的空间分布之间的关系可视化。
任务。评估改编自 MetaWorld [54] 基准的“Button-Large”任务,其中机器人接近一个按钮并按下。物体随机化范围修改为桌面工作空间上 30cm × 40cm = 1200cm² 的区域,覆盖末端执行器的大部分可触及空间。注意到即使按下动作没有精确击中按钮中心,按钮的尺寸也较大,因此还研究一个对精度要求更高的变型“Button-Small”,其中按钮尺寸缩小 4 倍。
策略。采用 3D 扩散策略 (DP3) [59] 作为研究策略,因为基准测试结果表明,3D 观测比 2D 方法具有更出色的空间泛化能力。
评估。为了可视化空间有效范围,在工作空间内沿每个轴均匀采样 21 个点,共得到 441 个不同的按钮位置。演示是使用脚本策略生成的,具有 4 种不同的空间分布,从 single 到 full。在 441 个位置上评估每种配置的性能,从而可以全面评估空间泛化能力。可视化结果如图所示。
主要发现。总体而言,视觉运动策略的空间有效范围与演示中看到的物体配置分布密切相关。具体而言,有效范围可以通过演示物体位置周围区域的并集来近似。因此,为了训练一个能够在整个目标随机化范围内良好泛化的策略,演示必须覆盖整个工作空间,这将导致巨大的数据收集成本。此外,随着任务精度要求的提高,有效范围会缩小到更局部的区域,因此需要进行更多次演示才能充分覆盖整个工作空间。
空间泛化能力基准测试
空间泛化能力的实际表现,体现在有效策略学习所需的演示次数上。在接下来的基准测试中,将探讨演示次数与策略性能之间的关系,以确定多少次演示足以进行有效的训练。
任务。为了抑制策略部署不准确但成功的情况,设计一个精确插钉任务,该任务在拾取和插入阶段均强制执行 1 厘米的严格容错,要求达到毫米级精度。插钉和插座在40厘米×20厘米的区域内随机分布,从而产生40厘米×40厘米=1600平方厘米的有效工作空间。为了检验目标随机化的影响,还考虑半工作空间(其中两个目标的随机化范围减半)和固定设置(其中目标位置保持不变)。
策略。除了从头训练的扩散策略 (DP) [7] 和 3D 扩散策略 (DP3) [59] 之外,还探索预训练视觉表征在增强空间泛化方面的潜力。具体而言,将 DP 中从头训练的 ResNet [19] 编码器替换为预训练的编码器,包括 R3M [33]、DINOv2 [34] 和 CLIP [39]。
演示。将演示的数量从 25 到 400 不等。目标配置是从比评估工作区略大的范围随机采样的,以避免在工作区边界附近性能下降。
评估。在完整工作区中,将钉子和插座放置在 45 个均匀采样的坐标上,从而产生 2025 种不同的配置用于评估。对于半值设置和固定设置,评估的配置数量分别为 225 和 1。结果如图所示。
主要发现。物体随机化的程度显著影响所需的演示。因此,有效的视觉运动策略评估协议必须包含足够大的工作空间,以提供足够的物体随机化。另一方面,3D 表征和预训练的 2D 视觉编码器都有助于提升空间泛化能力。然而,这些方法均未从根本上解决空间泛化问题。这表明,智体的空间能力并非源于策略本身,而是通过对给定演示中工作空间的广泛遍历而发展起来的。
DemoGen 旨在解决视觉运动策略的海量数据需求与人工采集演示的高昂成本之间的矛盾,它通过少量源演示生成空间增强的观察-动作对。对于动作,DemoGen 将源轨迹解析为以目标为中心的运动和技能片段,并应用基于 TAMP (任务和运动规划)的自适应算法。对于观察,DemoGen 使用分割-和-变换策略高效地合成机器人和目标的点云。
视觉运动策略 π 直接将视觉观察 o 映射到预测动作 a。为了训练这样的策略,必须准备一个包含演示的数据集 D。DemoGen 旨在通过生成基于不同初始目标配置的新演示来增强人工收集的源演示。
源演示的预处理
分割点云观测值。为了提高在实际场景中的实用性,使用单视角 RGBD 相机采集点云。首先对原始点云观测值进行预处理,从背景和桌面裁剪掉多余的点。假设保留的点与被操作物体或机器人的末端执行器相关。然后应用聚类操作 [14] 滤除嘈杂实际观测值中的异常点。随后,使用最远点采样将点云下采样到固定数量的点(例如 512 或 1024),以促进策略学习 [38]。
对于轨迹的第一帧,使用 Grounded SAM [40] 从 RGB 图像中获取被操作物体的分割掩码。然后将这些掩码应用于像素对齐的深度图像,并投影到 3D 点云上,如图所示。
解析源轨迹。根据先前的研究 [32, 18],假设执行轨迹可以解析为一系列以物体为中心的片段。注意到机器人必须首先在自由空间中接近物体,然后才能通过接触进行物体操作,因此每个以物体为中心的片段可以进一步细分为两个阶段:运动阶段和技能阶段。例如,在如图所示的任务中,轨迹分为四个阶段:1) 移向花朵,2) 拿起花朵,3) 将花朵移入花瓶,4) 将花朵插入花瓶。
通过检查物体点云的几何中心和机器人末端执行器之间的距离是否在预定义的阈值内,可以轻松识别与给定物体相关的技能段,如图中的球体所示。两个技能段之间的中间轨迹被归类为运动段。
基于 TAMP 的动作生成
使动作适应新的配置。生成过程首先选择一个目标初始配置 s′_0 = {T’_0O1, T’_0O2, …, T’_0^OK}。在 4 × 4 齐次矩阵表示下,计算目标配置和源配置之间的空间变换。
回想一下,这些动作由机械臂和机械手命令组成。机械手命令定义与物体的交互动作,例如,用夹持器夹住花朵,或者用灵巧的手卷起面团。由于它们不随空间变换而变化,因此无论物体配置如何,a_t^hand 都应保持不变。
相反,机械臂命令,应与物体运动在空间上等变,以便根据改变的配置调整轨迹。具体来说,对于涉及第 k 个目标的运动和技能片段,按照基于 TAMP 的程序调整机械臂命令 AEE [τ_km ]、AEE [τ_k^s ],如图所示。
对于具有灵巧的物体行为技能段,末端执行器与物体之间的空间关系必须保持相对静态。因此,整个技能段会跟随相应的物体进行变换。
对于在自由空间中移动的运动段,目标是将相邻的技能段串联起来。因此,通过运动规划来规划运动阶段的机械臂指令。
对于简单整洁的工作空间,线性插值即可。对于需要避障的复杂环境,采用现成的运动规划方法 [26]。
无故障动作执行。为了确保无需机器人上展开(以过滤失败的轨迹)的合成演示有效性,要求动作执行无故障。与以往[32, 18]依赖操作空间控制器和增量末端执行器位姿控制的研究不同,我们采用逆运动学 (IK) 控制器 [57],并以绝对末端执行器位姿为目标。经验表明,这些调整有助于最大限度地减少复合控制误差,从而有助于成功执行生成的动作。
完全合成观测生成
自适应本体感受状态。观测数据由点云数据和本体感受状态组成。由于本体感受状态与动作具有相同的语义,因此它们应该经历相同的转换。
注:直接用下一个目标姿态动作(即 oˆ_tarm ← aˆ_t+1^arm)替换当前手臂状态可能会影响性能,因为反向运动控制器可能无法始终达到精确的目标姿态。
合成点云观测值。为了合成机器人和物体的空间增强点云,采用一种简单的分割-和-变换策略。除了目标变换之外,合成唯一需要的信息是源演示第一帧中 K 个物体的分割掩码。
对于每个物体,定义 3 个阶段。在待完成(to-do)阶段,物体处于静止状态且不受机器人影响,其点云根据初始物体配置进行变换 (T_oO_k)−1 · T_0^O_k′。在执行(doing)阶段,物体与机器人接触,其点云与末端执行器的点云合并。在完成(done)阶段,物体保持其最终状态。通过参考轨迹级运动和技能段,可以轻松识别这些阶段。
对于机器人的末端执行器,其点云经历与本体感受状态相同的变换,即 (A_tEE)−1·Aˆ_t^EE。假设工作空间被裁剪,可以通过从场景点云中减去待执行和完成阶段的物体点云,来分离执行阶段的机器人点云和物体点云。
此过程的具体示例如图所示。
策略训练与实施细节
选择三维扩散策略 (DP3) [59] 作为用于真实世界和模拟实验的视觉运动策略。在第三部分中,我们将它的性能与二维扩散策略 (DP) [7] 进行实证研究比较。训练与实施细节如下。
- 策略训练细节:为了公平比较,将所有评估设置中按“观察-动作”对计数的总训练步数固定为 2M,这样无论数据集大小如何,训练成本都相同。为了稳定训练过程,使用 AdamW [30] 优化器,并将学习率设置为 1e−4,并进行 500 步预热。
在实际实验中,使用 DBSCAN [14] 聚类算法丢弃异常点,并将点云观测中的点数下采样至 1024。在模拟器中,跳过聚类阶段,将点云下采样至 512 个点。
遵循扩散策略 [7] 论文中的符号,其中 To 表示观测范围,Tp 表示动作预测范围,Ta 表示动作执行范围。在实际实验中,设置 To = 2、Tp = 8、Ta = 5。以 10Hz 的频率运行视觉运动策略。由于 Ta 表示无需重规划即可在机器人上执行的动作步骤,因此范围设置可使闭环重规划延迟为 0.5 秒,足以响应灵巧的重试行为并具有抗干扰能力。在模拟器中,由于任务比较简单,设定To = 2,Tp = 4,Ta = 3。
2)用于扩散策略的预训练编码器:为了替换原始扩散策略架构中从头开始训练的ResNet18 [19]视觉编码器,考虑3个具有代表性的预训练编码器:R3M [33]、DINOv2 [34]和CLIP [39]。R3M采用ResNet [19]架构,并针对机器人特定任务进行预训练。DINOv2和CLIP采用ViT [13]架构,并针对开放世界视觉任务进行预训练。这些编码器在先前的研究[8, 29]中被广泛用于提升策略性能。