24年10月来自斯坦福大学李飞飞组的论文“Automated Creation of Digital Cousins for Robust Policy Learning”。
在现实世界中训练机器人策略可能不安全、成本高昂,而且难以扩展。模拟是一种廉价且可能无限的训练数据来源,但却受到模拟环境和现实世界环境之间语义和物理差异的影响。这些差异可以通过在数字孪生中进行训练来最小化,数字孪生是真实场景的虚拟复制品,但生成的成本高昂并且不能产生跨域泛化。
为了解决这些限制,本文提出数字表亲(Digital Cousins),一种虚拟资产或场景,与数字孪生不同,它没有明确模拟现实世界的对应物,但仍表现出相似的几何和语义affordance。因此,数字表亲既降低了生成类似虚拟环境的成本,又提供类似训练场景的分布,提高模拟-到-真实域迁移过程的鲁棒性。利用数字表亲,引入一种自动创建数字表亲的新方法,并提出一种全自动真实-到-模拟-到-真实的流水线,用于生成完全交互式场景并训练可在原始场景中零样本部署的机器人策略。可以自动生成保留几何和语义affordance的数字表亲场景,并可用于训练出来优于在数字孪生上训练结果的策略,在零样本模拟-到-真实的迁移,实现了 90% 的成功率,而数字孪生只有 25% 的成功率。
概述如图所示:1)构建数字表亲;2)策略学习;3)零样本迁移。完全交互式的数字表亲场景,可以从单个 RGB 图像完全自动生成。与数字孪生不同,数字表亲放宽了完全重建给定场景微小细节的假设,而是专注于保留更高级别的细节,例如空间关系和语义affordance。利用运动规划和真值模拟信息,可以自动收集数字表亲场景中的演示,并物理上合理的随机化进行增强。然后可以在原始场景中零样本部署,针对这些合成演示进行训练的策略,而无需任何额外的微调。
机器人现实-到-模拟场景创建
从现实世界的输入中创建逼真而多样的数字资产和场景,是一个普遍而长期存在的问题 [16–19]。在机器人学习中,现实-到-模拟场景的创建是通过手动管理 [4、10、20-25]、程序生成 [26-28]、少样本交互 [8、29、30]、逆向图形学 [31] 以及最近的基础模型辅助生成 [32、33] 实现的。然而,这些方法要么无法处理场景级生成,需要人工劳动,要么无法保持物理合理性。
使用合成数据进行策略学习
用于机器人学习的数据合成,可以减轻使用物理机器人在现实世界中收集数据的负担 [34–36]。为了合成完整的机器人轨迹(观察-动作对序列),研究人员开发了基于模拟中可用特权信息的操作原语 [37–40],利用任务和运动规划 (TAMP) [41] 来生成机器人动作 [31, 42, 43],训练和蒸馏 RL 策略 [44–46],并在给定一组初始人类演示的情况下自动生成数据 [33, 47, 48]。
模拟到现实的策略迁移
将模拟中学习的机器人策略无缝部署到现实世界至关重要。成功的模拟-到-现实迁移,已在灵巧的手部操作 [45、46、51–53]、机械臂操作 [54–64]、四足机器人运动 [65–68]、双足机器人运动 [69–74] 和四旋翼飞行器飞行 [75、76] 中得到证实。弥合模拟-到-现实差距的方法主要包括域随机化 [51、77–79]、系统识别 [60、65、80、81] 和模拟器增强 [82–84]。值得注意的是,最近的研究通过在不同的模拟场景上进行训练展示了操纵策略在现实世界中的稳健部署 [10、31]。
自动创建数字表亲 (ACDC)
ACDC 是从单个 RGB 图像生成完全交互式模拟场景的自动化流程,分为三个步骤:(1) 提取步骤,从原始输入图像中提取相关目标掩码,(2) 匹配步骤,为从原始场景中提取的单个目标选择数字表亲,以及 (3) 生成步骤,对选定的数字表亲进行后期处理并编译在一起,形成一个完全交互式、物理上合理的数字表亲场景。方法概述如图所示:
真实世界提取
ACDC 只需要一张标定相机拍摄的 RGB 图像 X,其输入为内参矩阵 K。为了从输入图像中提取单个目标掩码,首先提示 GPT-4 [12] 为在 X 中观察的所有目标生成字幕 c/j, j ∈ {1,…,M}。然后将字幕与 X 一起传递给 GroundedSAM-v2 [13],生成一组检测的目标掩码 m/i , i ∈ {1, …, N}。为了重新同步 GroundedSAM-v2 和 GPT-4 之间的字幕,重提示 GPT-4 从先前生成的字幕列表中为每个目标掩码 m/i 选择准确的标签 l/i ∈ {c/j}。
还需要一个深度图,以便在生成场景时正确定位和重缩放匹配的数字表亲。深度相机被广泛使用,但无法准确捕捉反射表面,因此无法在野外自然图像上使用。为了缓解这些限制,利用 Depth-Anything-v2 [14],一种最先进的单目深度估计模型,从 X 估计相应的深度图 D。然后,提取点云 P = D · K^−1 ,并对应于该目标,利用各个目标掩码 m/i 生成来自 P 的点子集 p/i 和来自 X 的像素子集 x/i,从而得到一组目标表示 {o/i = (l/i, m/i, p/i, x/i)}。
数字表亲匹配
给定提取的目标表示 o/i,对虚拟资产数据集进行分层搜索以匹配数字表亲。假设数据集中的每个资产 i 都被分配了一个语义上有意义的类别 t/i,并且每个资产模型都有自身在不同方向拍摄的多个快照 {i/is},包括一个代表性快照 I/i,形成资产多元组 {a = (t/i, I/i, {i/is})}。这项工作用 BEHAVIOR-1K [4] 资产,但在实践中,该方法可以使用任何满足上述属性的资产数据集。
对于给定的输入目标表示 o/i,首先通过计算标签 l/i 和所有资产类别名称 {t/i} 之间的 CLIP [15] 相似度得分来选择匹配的候选类别,然后选择前 k/cat 个最接近的类别。给定选定的类别,然后通过计算掩码目标 RGB xi 和代表性模型快照 I/j 之间的 DINOv2 特征嵌入距离 [11],在这些类别内的所有模型中,选择潜在的数字表亲候选者。在选择 k/cand 个候选者之后,重新计算每个候选者各个快照 {i/js} 上的 DINOv2 距离,并最终选择最近的 k/cous 个表亲,其中每个选定的表亲由基于选定快照的特定虚拟资产 A/c 和相应的方向 q/c 组成。
模拟场景生成
最后一步是将匹配的表亲编译成物理上合理的数字表亲场景。对于给定的输入目标信息 oi 和相应的匹配表亲信息 (A/c, q/c),将资产的边框中心放置在对应输入目标点云 pi 的质心处,然后重缩放以与 pi 的范围对齐。还从提取步骤中获得的点云中拟合地板和墙壁平面,并查询 GPT-4 以确定是否应将任何物体安装在地板或墙壁上。最后,去除所有目标之间的穿透,场景在物理上显得稳定。
策略学习
一旦有了一组数字表亲,就会在这些环境中训练机器人策略,这些策略可以迁移到其他未见过的设置。虽然数字表亲适合多种训练范式,例如强化学习或模仿人类学习,但仍然选择专注于模仿脚本演示的学习,因为这种范式不需要人类演示,而是可以同样与完全自主的 ACDC 流水线做到端到端耦合。
为了促进模拟中的自动演示收集,实现一组基于样本的技能,这些技能同时利用运动规划和真值模拟数据。具体来说,技能包括打开、关闭、拾取和放置。虽然目前有限,但这些技能已经能够实现各种日常任务的演示收集,例如物体重排列和家具铰接安置。
此外,由于生成的数字表亲场景既模块化又可配置,可以通过多种增强功能,包括视觉、物理、运动学(姿势和缩放)和实例-级随机化,轻松地将广泛的域随机化应用于这些场景,而不会丢失其底层的场景级语义。使用技能和域随机化技术,可以自主收集生成的所有数字表亲场景演示,并从这些离线数据中训练行为克隆的策略。
使用收集的演示来训练机器人策略。动作空间是增量末端执行器动作,表示为 6 维(dx、dy、dz)增量位置和(dax、day、daz)增量轴角方向命令。然后通过逆运动学 (IK) 执行命令。观察空间包括{末端执行器位置、末端执行器方向、末端执行器夹持器关节状态}本体感觉和统一点云。
点云的计算,首先将所有深度图像转换为具有统一框架(在例子中是机器人框架)的单个点云,并屏蔽所有与任务无关的目标,例如机器人和背景。对于现实世界设置,用 XMem [96] 有效地屏蔽和跟踪所有与任务无关的目标,从而能够对齐模拟和现实世界的点云。然后,另外添加机器人夹持器手指的预计算点云表示,使用机器人的机载本体感受和正向运动学。除了 (x, y, z) 每个点的值之外,还添加了第四个,二进制值 e ∈ {0, 1},用于对该点是属于场景还是机器人的夹持手指进行分类。最后,用最远点采样 (FPS) 将点云下采样到固定大小。请注意,除了“收起碗”任务外,点云都是由单个肩上摄像机生成的。在“收起碗”任务中,还在机器人的另一侧添加了另一个肩上摄像机以及腕上摄像机,因为与其他任务相比,此任务在不同阶段表现出更严重的遮挡。
所有的策略都使用行为克隆进行训练,使用 RNN 来捕获动作的先前历史,使用 GMM 来捕获演示的分布。使用 2 层、512 维 PointNet [97] 编码器对原始点云观测值进行编码,这些观测值在传递到参与者网络之前会经过进一步的随机三样,即{下采样、平移、噪声抖动}。还将二进制 e 值转换为 128 维学习嵌入,以便网络能够更好地区分机器人手指和场景之间的有用特征。策略使用的 RNN 范围为 10,RNN 隐维度为 512,并使用 AdamW [98] 进行优化。
在评估过程中,针对给定的运行采取性能最佳的检查点并对其进行 100 次评估。然后,这些结果在多次运行中汇总,以提供最终结果。
为了量化生成的数字表亲质量,首先在各种模拟和真实场景中测试方法,执行模拟-到-模拟和真实-到-模拟的数字表亲场景生成,其中输入模拟场景的单个 RGB 图像并使用 ACDC 生成最近的数字表亲。在模拟-到-模拟设置中,保证可以访问其“数字孪生”(即真值类别和模型),以及有关所有场景目标的姿势和比例真值信息,并且可以定量测量重建保真度。在这种情况下,测量在最近的数字表亲中成功保留类别和模型场景目标的比例,捕捉数字表亲的语义保真度,并测量平均每个目标的姿势误差(通过 L2 距离和方向差异)和比例误差(通过边框 IoU)以捕捉其几何保真度。然而,无法获得现实世界目标的数字孪生,也无法获得真值空间信息;相反,提供现实世界场景与其对应的数字表亲场景之间的定性并排比较。
还有用 ACDC 生成的数字表亲在三个任务上训练稳健机器人策略的能力:“开门”和“开抽屉”,其中机器人必须分别打开配备旋转关节或棱柱关节的家具,以及“收起碗”,其中机器人必须打开橱柜的抽屉,拿起橱柜上的碗并将其放入抽屉,最后关上抽屉。在数字表亲上训练的策略,与仅在数字孪生或所有可行目标设置上训练的策略进行比较。在每种情况下,训练数据都包含 10000 个利用分析技能采样的程序演示,并平均分配到训练橱柜的实例数量中。但是,由于“收起碗”任务与其他任务相比具有更长的时间范围,因此将该任务的总演示数限制为 2000 个,保持大致相同的训练数据集大小。
用于加速模拟-到-现实的策略迁移,其中数字表亲可能覆盖条件但更广泛的分布,以缓解模拟-到-现实的差距。为了评估方法,用现实世界的宜家橱柜及其相应的数字孪生模型,用从 ACDC 匹配的表亲,训练数字表亲策略,并使用虚拟资产训练多个数字孪生策略基线,然后在真实橱柜上评估零样本的性能。
最后,用一个完全真实的厨房场景端到端地测试了完整流程和自动化策略学习框架。