24年7月来自CMU的论文“3D Diffuser Actor: Policy Diffusion with 3D Scene Representations”。
扩散策略是条件扩散模型,可学习以机器人和环境状态为条件的机器人动作分布。它们最近表现出优于确定性和替代性动作分布学习方式。3D 机器人策略使用从单个或多个摄像机视图聚合的带感知深度 3D 场景特征表示。它们表现出比 2D 同类策略在各个摄像机视点上的泛化效果更好。将这两条工作线统一起来,提出 3D diffuser actor,这是一种神经策略,配备了一种 3D 去噪 transformer,其融合了来自 3D 视觉场景、语言指令和本体感受的信息,以预测噪声 3D 机器人姿势轨迹中的噪声。3D diffuser actor在 RLBench 上创造了最先进水平,在多视图设置上绝对性能比当前 SOTA 高出 18.1%,在单视图设置上绝对性能高出 13.1%。在 CALVIN 基准测试中,它比当前 SOTA 提高 9%。它还通过一些演示学习如何在现实世界中控制机器人操纵器。
机器人中的扩散模型。除了模仿学习中的策略表示之外,扩散模型还用于建模跨目标和目标-部分的排列 [39、40、38、41、30]、视觉图像子目标 [42、43、44、45] 和离线强化学习 [46、47、48]。
ChainedDiffuser
[21] 建议用轨迹扩散模型取代常用于键姿势到键姿势链接的运动规划器,该模型以 3D 场景特征云和预测的目标 3D 关键姿势为条件,对从当前到目标关键姿势的轨迹进行去噪。它使用一个扩散模型,该模型以
Act3D
[17] 预测的 3D 末端执行器关键姿势和场景的 3D 表示作为输入,以推断将当前末端执行器姿势与预测姿势联系起来的机器人末端执行器轨迹。3D 扩散策略 [22] 也将 3D 场景表示与扩散目标相结合,但使用 1D 点云嵌入。
用于机器人操作的 2D 和 3D 场景表示。端到端图像-到-动作的策略模型,例如 RT-1 [49]、RT-2 [50]、GATO [51]、BC-Z [52]、RT-X [53]、Octo [54] 和 InstructRL [55] 利用 Transformer 架构直接从 2D 视频输入预测 6-DoF 末端执行器姿势。然而,这种方法的代价是需要数千次演示来隐式建模 3D 几何并适应训练域的变化。以 C2F-ARM [15] 和 PerAct [16] 为例的 3D 场景-到-动作策略,涉及对机器人工作空间进行体素化并学习识别包含下一个末端执行器关键姿势的 3D 体素。然而,随着分辨率要求的增加,这在计算上变得非常昂贵。因此,相关方法要么采用由粗-到-细的体素化、等变网络 [14],要么采用高效的注意操作 [56],以降低计算成本。
Act3D
[17] 完全放弃了 3D 场景体素化;而是通过在空旷的工作空间中采样 3D 点并使用交叉注意对 3D 物理场景点进行特征化来计算可变空间分辨率的 3D 动作图。Nvidia 的机器人视图 Transformer (RVT) [18] 将输入的 RGB-D 图像重新投影到备选图像视图,对其进行特征化,并将预测提升到 3D,以推断机器人末端执行器的 3D 位置。
3D diffuser Actor 经过训练,可以模仿 {(o/1, a/1), (o/2, a/2), ...} 形式的演示轨迹,并附带任务语言指令 l,类似于以前的研究 [57, 16, 17, 58],其中 o/t 代表视觉观察,a/t 代表时间步 t 处的机器人动作。每个观察 o/t 都是一个或多个摆出的 RGB-D 图像。每个动作 a/t 都是末端执行器姿势,分解为 3D 位置、旋转和二元(开/关)状态:a = {a/loc,a/rot,a/open}。
3D diffuser Actor 的架构如图所示。它是一个给定视觉场景和语言指令的条件扩散概率模型 [31, 60];它通过迭代去噪一次性非自回归地预测整个轨迹 τ,方法是逆转逐渐向样本 τ^0 添加噪声的过程。扩散过程与方差调度 {β^i ∈ (0, 1)} 相关,它定义了在每个扩散步骤中添加多少噪声。
3D diffuser Actor 使用 3D 相对 transformer 对去噪过程的学习梯度进行建模,该相对 transformer 以时间步 t、扩散步骤 i 的噪声轨迹 τ^i/t 和语言指令 l 的条件信息、时间步 t 的视觉观察 o/t 和本体感受 c/t 作为输入,以预测噪声成分 εˆ。在每个时间步 t 和扩散步骤 i,将视觉观察 o/t、本体感受 c/t 和噪声轨迹估计 τ^i/t 转换为一组 3D tokens。每个 3D token 由潜嵌入和 3D 位置表示。模型使用相对 3D 注意融合所有 3D tokens,并且另外使用正常注意融合来自语言指令的信息,因为为语言tokens定义 3D 坐标是没有意义的。
给定视图对应的深度图,patch范围内通过平均深度值来计算每个 H×W 特征patch的 3D 位置 (X, Y, Z)。用相机内参和外参以及针孔相机模型将patch的像素坐标和深度值映射到相应的 3D 坐标。这会产生一个基数为 H×W 的 3D 场景token集。每个场景token由对应的 patch特征向量 F/x,y、对应patch坐标 (x, y) 处的特征向量和 3D 位置表示。如果有多个可用视图,会从每个视图中聚合 3D 场景tokens,以获得最终的 3D 场景token集。本体感受 c 也是一个 3D 场景token,具有可学习的潜表示和与末端执行器当前 3D 位置相对应的 3D 位置嵌入。最后,用预训练的 CLIP 语言编码器将语言任务指令映射到语言token,这遵循了之前的研究 [17]。