为了构建鲁棒的 3D 机器人操纵大模型,Lift3D 系统性地增强 2D 大规模预训练模型的隐式和显式 3D 机器人表示,并对点云数据直接编码进行 3D 模仿学习。Lift3D 在多个仿真环境和真实场景中实现了 SOTA 的操纵效果,并验证了该方法的泛化性和可扩展性。
该项目由北京大学和北京智源研究院的仉尚航团队研究,作者包括北京大学博士生刘家铭、贾越如、陈思翔、顾晨阳、王之略、罗珑赞等。HMI 实验室长期致力于具身智能和多模态学习领域的研究。
- 论文链接: https://arxiv.org/pdf/2411.18623
- 论文标题:Lift3D Foundation Policy: Lifting 2D Large-Scale Pretrained Models for Robust 3D Robotic Manipulation
- 项目主页: https://lift3d-web.github.io/
- 代码链接: https://github.com/PKU-HMI-Lab/LIFT3D
1. 摘要
3D 几何信息对于机器人操纵任务至关重要,因为机器人需要感知三维环境,推理空间关系,并与复杂的几何物体进行交互。近年来,研究逐渐聚焦于显式提取 3D 特征,但仍面临诸如:缺乏大规模机器人 3D 数据和潜在的空间几何信息丢失等挑战。为了解决这些问题,我们提出了 Lift3D 框架,通过隐式和显式的 3D 机器人表示逐步增强 2D 大规模预训练模型的 3D 空间感知能力,从而构建一个鲁棒的 3D 操纵策略。具体来说,我们首先设计了一个任务感知的掩码自编码器,该自编码器通过 Mask 与任务相关的 Affordance token 并重建深度几何信息,增强了 2D 基础模型的隐式 3D 机器人表达能力。在自监督微调之后,我们引入了一种 2D 基础模型 Lifting 策略,该策略在输入 3D 点和 2D 模型的位置编码之间建立了位置映射关系。基于该映射,Lift3D 利用 2D 基础模型直接显式的编码点云数据,借助大规模预训练知识提升 3D 模仿学习效率,同时最小化空间信息丢失。
图 1: 为了赋予大规模 2D 预训练模型 3D 操控能力, Lift3D 首先通过 mask 任务相关的 affordance 区域和深度重建,以提升隐式 3D 机器人表示;随后通过利用预训练的 2D 位置嵌入来直接编码 3D 点云数据,进行显式 3D 操纵模仿学习。Lift3D 在各种仿真(i.e., 机械臂,灵巧手)和现实世界任务中展现出强大的鲁棒性和令人惊讶的效果
为了全面评估我们提出的 Lift3D,我们在三个模拟器和多个真实场景中进行了广泛的实验,包括 30 多种不同的机械臂 gripper 和灵巧手操控任务,如图 1 所示。Lift3D 在各种任务上均表现出色,即使仅使用最简单的 MLP 策略头和单视角点云,也能够展示鲁棒的操纵能力和对机器人 3D 空间感知的理解。同时,我们通过逐步增加模型的参数量至 1B,验证了我们方法在多个复杂任务上的可扩展性。在真实世界实验中,Lift3D 在每个任务上只需 30 个 demonstration 的数据即可学习新的操控技能。为了评估 Lift3D 的泛化能力,我们在真实世界测试过程中融入了不同的操纵物体、背景场景和光照条件。Lift3D 展现出强大的泛化能力,能够有效利用 2D 大规模预训练知识和全面的 3D 机器人表示。
2. 研究背景
基于视觉的操纵策略的核心目标之一是理解场景并预测相应的 3D 位姿。一些现有的方法利用 2D 图像作为输入,通过强化学习或模仿学习直接预测 3D 末端执行器的位姿。尽管这些方法能够有效地处理一系列操纵任务,但它们未能完全理解物理世界中的空间关系和 3D 结构。在机器人操纵中,3D 几何信息对于应对复杂任务至关重要,因为机器人必须感知 3D 环境、推理几何关系并与复杂的空间物体进行交互。
近年来,研究越来越多地集中在机器人操纵任务中显式提取 3D 特征表示,这些方法可分为两类:1)一些方法直接编码点云数据,通过从头开始训练 3D 策略模型或微调预训练的点云编码器(例如 PointNet++ 和 PointNext)。然而,由于缺乏大规模机器人 3D 数据和基础模型,限制了它们的泛化能力。此外,处理 3D 或体素特征需要大量计算资源,这限制了其可扩展性和在现实世界应用中的可行性。2)另一方面,一些方法涉及模态转换,例如将预训练的 2D 特征提升到 3D 空间,或将 3D 点云投影到多视角图像中,以供 2D 预训练模型输入。尽管在一些后续的操纵任务中表现出色,但这些模态转换不可避免地导致空间信息的丢失,并不能完全激发模型对 3D 空间关系的理解。
基于上述 3D 策略中的挑战,我们提出了一个问题:“我们能否开发一个即有大规模预训练知识,又融合完整 3D 空间数据输入的 3D 策略基础模型?”
3. Lift3D 方法
3.1 贡献概述
- 我们提出了 Lift3D,通过系统地改进隐式和显式的 3D 机器人表示,将 2D 大规模预训练模型提升为鲁棒的 3D 操纵策略模型。
- 对于隐式 3D 机器人表示,我们设计了一种任务感知 MAE(Mask Autoencoder)自监督方法,它对任务相关的可操作区域进行掩蔽,并重建深度几何信息,从而增强 2D 基础模型的 3D 空间认知。
- 对于显式 3D 机器人表示,我们提出了一种 2D 基础模型 lifting 策略,利用 2D 基础模型的预训练位置编码(PE)来编码 3D 点云数据,用于 3D 操纵模仿学习。
3.2 Task-aware Masked Autoencoder (隐式 3D 机器人表示)
图 2: Lift3D 的整体流程。a) 对于隐式 3D 机器人表示,我们利用 CLIP 离线提取基于任务描述的图像注意力图,并将其反向投影到 2D 输入图像上,以指导 MAE 的掩码。然后,我们将可见的 tokens 输入 2D 基础模型进行特征提取。掩码 tokens 和编码后的可见 tokens 经过 MAE 解码器进行深度重建,从而增强 3D 空间感知。同时,编码后的可见 tokens 还会通过与原模型的特征进行蒸馏,以减轻灾难性遗忘问题。b) 对于显式 3D 机器人表示,我们首先将点云数据投影到多个虚拟平面上,建立 3D 输入点与每个虚拟平面上的 2D 位置嵌入(PEs)之间的位置映射。映射完成后,我们将每个 3D 补丁对应的 2D PEs 进行平均,形成统一的 3D 位置嵌入(3D PEs),然后将其与 3D tokens 结合。这些 3D tokens 是通过将点云输入轻量级 3D 分词器生成的。最后,来自 2D 基础模型的输出特征通过策略头进行处理,以预测模仿学习的位姿。
一些研究表明,2D 基础模型在各种下游机器人任务中展示了强大的操纵和泛化能力。在此基础上,Lift3D 首先增强了 2D 基础模型中的隐式 3D 机器人表示。现有的机器人 MAE 重建方法大多采用随机掩码。然而掩码部分可能主要包含无关的背景信息,这会阻碍对于前景物体表示的有效学习。不同于之前的方法,Lift3D 的目标是掩码与任务相关的 Affordance token,并重建深度几何信息,从而增强 2D 基础模型的 3D 空间感知能力。
具体而言,利用来自机器人操作的大规模数据集来构建 MAE 训练数据集,该数据集包括从视频中随机抽取的 100 万个训练样本,包含配对的图像和深度数据。如下图 2 a) 所示,具体的操作步骤如下:
1. 一旦获得数据,使用多模态模型(例如,CLIP)基于任务特定的文本描述生成图像 attention map。例如,图 2 中提取 attention map 的文本提示是:“机械臂将红色碗放入灰色碗中”。然后,这些 attention map 会被双线性插值并反投影到输入图像上,用于引导 MAE 的 mask 策略。为了区分与任务相关的可操作性标记和背景标记,我们对所有标记的注意力值应用一个阈值进行过滤。与之前的方法一致 [28],我们也随机遮掩背景标记,以达到所需的比例(即 r=0.75)。
2. 重建目标在遮掩图像建模中起着至关重要的作用,直接影响特征表示的学习。先前的机器人 MAE 方法通常使用低级的 RGB 信息作为重建目标 [52, 60, 62]。为了增强 2D 基础模型的 3D 空间感知能力,我们重建任务相关的可操作性图像块和随机选择的背景图像块的深度信息。
3. 为了保持基础模型的固有能力,引入蒸馏损失,约束可见标记输出和原本 2D 预训练模型中对应特征之间的距离。在第一阶段的训练过程中,我们通过重建和蒸馏损失来微调注入的适配器和解码器,损失函数公式为:
3.2 2D Model-lifting Strategy (显式 3D 机器人模仿学习)
在赋予 2D 基础模型隐式的 3D 机器人感知能力后,我们引入了一种 Lifting 策略,使 2D 模型能够显式地理解点云数据。近期的工作,无论是将 3D 点云投影到多视图图像中,还是将 2D 特征提升到 3D 空间中,都面临由于模态转换而丢失空间信息的挑战。因此,高效地编码 3D 数据一直是 3D 机器人领域的一个关键研究方向。
对于基于 Transformer 的 2D 模型,位置嵌入(PEs)起着重要作用,因为它们为注意力机制中的输入 token 提供了位置信息。然而,直接创建新的 3D 位置嵌入来编码 3D token 可能会引入语义差异,这些差异源于预训练的 2D 基础模型与新添加的 3D 位置嵌入之间的不同,从而可能导致大规模预训练知识的丧失。因此,受 [23, 24, 71] 启发,将 3D token 投影到多个虚拟平面上。与之前的工作不同,我们的投影过程并不是为了构建模型的输入,而是为了在输入的 3D 点和每个虚拟平面的预训练 2D 位置嵌入之间建立位置对应关系。然后,这些 2D 位置嵌入被用于直接编码 3D 标记。
如图 2 b) 所示,我们将原始的点云数据转化为高维空间 (B x 128 x 768),通过轻量级的 3D 标记器获得 k 个(k = 128)3D token。3D tokenizer 由最远点采样、k - 最近邻聚合算法和可学习的线性层构成,用于特征编码。随后,每个 3D 坐标投影到 n 个虚拟平面上,得到相应的 3D 到 2D 的坐标对应。投影机制无可学习参数且高效,我们采用带有 6 个面的立方体投影方法,有效捕获空间信息。这 n 个虚拟平面对应于 n 个原始的 2D 位置嵌入。
使用 3D 到 2D 坐标对应,将每个 3D token 分配到 n 个原始 2D 位置嵌入。在将每个 3D 标记与 n 个 2D 位置嵌入对齐后,我们通过平均值的方式创建一个统一的 3D 位置信号,表示为:
将 3D 位置嵌入与 3D tokens 结合,输入到 2D 基础模型中。通过这种方式,我们利用 n 个结合的原始 2D PEs 来编码 3D tokens,从而有效地提供了 2D 空间内的多样位置关系,并减轻了 3D 集合信息的丢失。来自 2D 基础模型的输出特征将通过一个简单的 policy head 进行处理,以预测用于模仿学习的位姿。我们使用三层多层感知机(MLP)来构建策略头。需要注意的是,我们的 Lift3D 编码器可以轻松适配不同的解码器或策略头,例如 Diffusion Transformer, Large Language Model;这里使用 MLP 头部是为了简单验证。最后,模仿学习的损失函数如下所示,其中 T、R 和 G 分别代表末端执行器位姿中的平移、旋转和夹持器状态。
4. 模拟器实验
4.1 基准测试
从三个广泛使用的操纵模拟器 benchmark 中选择了 30 多个任务:MetaWorld 和 Adroit 在 MuJoCo 模拟器中的任务,以及 RLBench 在 CoppeliaSim 模拟器中的任务。点云数据通过使用相机外参和内参从单视图 RGBD 数据中获得。对于 MetaWorld,选择了一个包含 Sawyer 臂和双指夹持器的桌面环境,并从不同难度级别中选择了 15 个任务。这些任务从两个角落摄像头视角捕捉,任务分类如下:简单任务:按钮按压、抽屉打开、到达、拉手柄、插头拔出、拉杆和旋钮转动。中等任务:锤子、清扫、垃圾桶取物、推墙和箱子关闭。难度较高任务:组装、手伸入和架子放置。对于 Adroit 任务,重点是使用与 [52] 中相同摄像头视角的灵巧手操作,包括了三个任务:锤子、门和钢笔。对于 RLBench,它使用 Franka Panda 机器人和前视摄像头。具体任务选择见论文 Appendix。
4.2 基线对比
Lift3D 的创新之处在于系统性地增强了隐式和显式的 3D 机器人表示。为了评估其有效性,将 Lift3D 与来自三个类别的 9 种方法进行了比较:
1)2D 机器人表示方法:选择了 CLIP(ViT-base),它是一个 2D 基础模型。此外,还包括了 R3M 和 VC1,这两者都是 2D 机器人预训练方法。
2)3D 机器人表示方法:借鉴了 [95],采用了基础的 3D 模型,包括 PointNet、PointNet++ 和 PointNext。此外,还检验了 SPA ,这是之前的 SOTA 3D 机器人预训练方法。与 [52] 相同,所有机器人表示方法均使用与 Lift3D 相同的三层策略头和训练损失。
3)3D 策略方法:Lift3D 与之前的 SOTA 3D 扩散策略(DP3)在 MetaWorld 和 Adroit 上进行了比较,并在 RLBench 上与 RVT-2 进行了比较。
4.3 定量实验
如下表所示,Lift3D (CLIP) 在 MetaWorld 基准测试中达到了 83.9 的平均成功率,其中中等任务的准确率为 78.8,困难任务的准确率为 82.0。Lift3D 比 SOTA 2D 方法提高了 8.8 的平均成功率,比 SOTA 3D 方法上提高了 14.4。此外,Lift3D 在灵巧手操作任务上也优于以前的机器人表示和策略方法。需要注意的是,灵巧手在不同任务中有不同的自由度,其中 hammer, door, pen 任务分别具有 26、28 和 24 个自由度。这些结果表明,我们的方法在更复杂的灵巧手操作任务中同样有效,得益于强大的 3D 机器人表示能力。Lift3D (DINOV2) 也展示了良好的结果,证明了该方法在其他 2D 基础模型中的可行性。
5. 真机实验
5.1 数据收集
在真机实验设置中,我们使用 Franka Research 3 机械臂,并通过 Intel RealSense L515 RGBD 相机捕捉静态前视图。实验包括 10 种任务:1)将瓶子放到架子上,2) 倒水,3) 拔掉充电器,4) 堆积积木,5) 捡起并放置物体,6) 滑动积木,7) 浇水,8) 擦桌子,9) 打开抽屉,10) 关上抽屉。对于每个任务,我们在不同的空间位置收集了 40 次演示,轨迹以 30 fps 进行记录。我们选择了 30 次实验并提取了关键帧,用以构建每个任务的训练集。
5.2 定量实验
如下图和下表所示,我们将 Lift3D (CLIP) 与 DP3、VC-1 和 PointNet 进行比较。结果表明,Lift3D 在多个任务中表现一致且良好。特别是在 “将瓶子放到架子上” 任务中,该任务要求精确的 3D 位置和旋转预测,Lift3D 达到了 90 的成功率。结果表明,Lift3D 能够有效理解 3D 空间场景,并在现实世界中做出准确的位姿预测。对于复杂任务 “擦桌子”,由于需要操纵可变形的物体,所有方法在精度上都面临限制。尽管如此,Lift3D 仍然达到了 40 的成功率。
5.3 定性实验
如下图所示,展示了六个真实世界任务的操作过程。本文的方法准确预测了连续的 7 自由度末端执行器姿态,使得任务得以沿着轨迹顺利完成。例如,在 “给植物浇水” 任务中,Lift3D 首先准确抓住了浇水壶的手柄。接着,它平稳地抬起壶并将其定位到植物上方。最后,夹持器逐渐旋转以控制 “水流”。
6. 泛化性实验
借助于 2D 基础模型的大规模预训练知识和全面的 3D 机器人表示,Lift3D 展现出现实世界泛化能力。如下表所示,我们设计了三种与训练场景不同的现实世界测试场景,以验证其泛化性能。
6.1 不同的操纵实例
Lift3D 在多种不同的操纵物体上表现出色,准确度损失最小。这一成功主要得益于预训练的 2D 基础模型在语义理解方面的强大能力。
6.2 复杂的背景场景
背景干扰显著降低了所有方法的准确度,但 Lift3D 的准确度下降最小,操纵成功率保持在 50% 以上。这得益于在 3D 空间中有效利用大规模预训练知识。此外,基于可操作性的掩膜策略通过重建强化了模型对前景区域空间几何的理解,最大限度地减少了背景干扰的影响。
6.3 不同的光照条件
光照变化不仅会影响 2D 图像的数据分布,还会影响深度捕捉,从而影响点云数据。在光照变化的影响下,Lift3D 仅表现出约 20% 的准确度下降,充分展示了其强大的 3D 机器人表示能力。
7. 可扩展性(Scalability)探究
在计算机视觉中,2D 基础模型通常随着参数规模的增加,能够提升下游任务的表现。基于此,我们研究了我们提出的 Lift3D 策略是否也具有可扩展性。我们在非常困难的 MetaWorld 仿真任务 “shelf-place” 上进行了实验。在这个复杂任务中,Lift3D(DINOV2-ViT-base)仅达到 28 的准确率。ViT-base 的参数量只有 86M,而 ViT-large 和 ViT-giant 的参数量分别为 304M 和 1B。通过将 2D 基础模型替换为 DINOV2-ViT-large 和 DINOV2-ViT-giant,Lift3D 在 “shelf-place” 任务上的准确率分别提高到 60 和 68,并且收敛速度更快。这些改进表明,Lift3D 策略模型具有良好的可扩展性,且随着更大规模的 2D 基础模型,Lift3D 框架能够生成更鲁棒的操作策略。