【论文阅读】3D Diffusion Policy:Generalizable Visuomotor Policy Learning via Simple 3D Representations

Abstract

模仿学习为教机器人灵巧技能提供了一种有效的方法;然而,稳健而普遍地学习复杂技能通常需要大量的人类演示。为了解决这个具有挑战性的问题,我们提出了3d diffusion policy(dp3),这是一种新的视觉模仿学习方法,将3d视觉表示的力量融入到一类条件动作生成模型diffusion policies中。dp3的核心设计是利用紧凑的3d视觉表示,通过高效的点编码器从稀疏点云中提取。在我们涉及72个模拟任务的实验中,dp3仅需10次演示即可成功处理大多数任务,并以24.2%的相对改进超过了基线。在4个真实的机器人任务中,dp3展示了精确控制,成功率高达85%,每个任务只演示了40次,并在空间、视点、外观和实例等多个方面表现出出色的泛化能力。有趣的是,在真实的机器人实验中,dp3很少违反安全要求,而基线方法经常违反,需要人为干预。我们的广泛评估强调了3d表示在现实世界机器人学习中的至关重要性。

I. INTRODUCTION

模仿学习提供了一种有效的方法来教机器人广泛的运动技能,如抓握[68,60,82]、腿部运动[40]、灵巧操作[1,16]、人形运动操作[54]和移动操作[57,12]。视觉模仿学习采用高维视觉观察,如图像或深度图,简化了对特定任务状态估计的需求,从而获得了普及[10,60,82,11,20]。

然而,视觉模仿学习的普遍性是以大量演示为代价的[16,10,11]。例如,state-of-the-art方法diffusion policy[10]需要为每个真实世界的任务收集100到200个人类收集的演示。为了收集所需的大量演示,由于其长期性和易发生故障的过程,整个数据收集过程可能会持续几天。一种解决方案是在线学习[16],其中policy通过与环境的交互和从专家演示中学习到的奖励功能而不断发展。然而,现实世界场景中的在线学习也带来了自己的挑战,例如安全考虑、自动重置的必要性、人为干预和额外的机器人硬件成本。因此,如何使(离线)模仿学习算法能够在尽可能少的演示下学习稳健和可推广的技能是一个基本问题,特别是对于实际的机器人学习。

为了解决这个具有挑战性的问题,我们引入了3d扩散policy(dp3),这是一种简单而有效的视觉模仿学习算法,将3d视觉表示的优势与扩散policies相结合。dp3使用简单高效的mlp编码器将稀疏采样的点云编码为紧凑的3d表示。随后,dp3根据这种紧凑的3d表示和机器人姿态,将随机噪声降噪为连贯的动作序列。这种集成不仅利用了3d模态固有的空间理解能力,还利用了扩散模型的表现力。

为了全面评估dp3,我们开发了一个模拟基准,包括来自7个领域的72个不同的机器人任务,以及4个现实世界的任务,包括挑战可变形物体的灵巧操作。我们广泛的实验表明,尽管dp3在概念上很简单,但它比基于2d的扩散policies和其他基线具有几个显著的优势:

1) 效率和有效性。DP3不仅实现了更高的精度,而且通过更少的演示和更少的训练步骤实现了这一点。

2) 可推广性。DP3的3D特性促进了跨多个方面的泛化能力:空间、视点、实例和外观。

3) 安全部署。在我们的现实世界实验中,一个有趣的观察是,DP3在现实世界的任务中很少发出不稳定的命令,这与基线方法不同,基线方法通常会做出并表现出意想不到的行为,对机器人硬件造成潜在的损害。

我们对3d视觉表示进行了多次分析。有趣的是,我们观察到,虽然其他基线方法,如bcrnn[35]和ibc[11],受益于3d表示的结合,但它们并没有实现与dp3相当的增强。此外,dp3始终优于其他3d模态,包括深度和体素表示,并优于pointnext[46]和point Transformer[84]等其他点编码器。这些消融研究强调,dp3的成功不仅归功于3d视觉表示的使用,还归功于其精心设计。

总之,我们的贡献有四个方面:

1) 我们提出了3d扩散policy(dp3),这是一种有效的视觉运动器policy,可以在多个方面进行推广,很少有演示。

2) 为了减少基准测试和任务带来的差异,我们在广泛的模拟和现实任务中评估了dp3,展示了dp3的普遍性。

3) 我们对dp3中的视觉表示进行了全面分析,并表明简单的点云表示优于其他复杂的3d表示,并且更适合于扩散policies而不是其他policy主干。

4) dp3仅需40次演示,即可使用灵巧的手执行真实世界的可变形对象操作,这表明复杂的高维任务可以用很少的人类数据来处理。

II. RELATED WORK

A. Diffusion Models in Robotics

扩散模型是一类将随机噪声逐步转换为数据样本的生成模型,在高保真图像生成方面取得了巨大成功[23,63,51,62]。由于其令人印象深刻的表现力,扩散模型最近被应用于机器人技术,包括强化学习[70,2]、模仿学习[10,39,50,72,64,41]、奖励学习[25,37]、抓握[71,66,61]和运动规划[52,27]等领域。在这项工作中,我们专注于将视觉运动器policies表示为条件扩散模型,称为扩散policies,遵循[10,39]中建立的框架。与之前主要关注图像和状态作为条件的方法不同,我们率先将3d调节纳入扩散policies。

B. Visual Imitation Learning

模仿学习为机器人获得类似人类的技能提供了一种有效的方法,通常依赖于专家演示中的大量观察动作对。鉴于在现实世界中准确估计物体状态的挑战,图像等视觉观测已成为一种实用的替代方案。虽然基于2d图像的policies[38,11,10,35,16,56,68,15]在该领域占据主导地位,但3d的重要性越来越得到认可[60,82,80,14,13,28,69]。

最近基于3d的policies,包括peract[60]、gnfactor[82]、rvt[14]、act3d[13]、nerfuser[74]和3d扩散器actor[28],在低维控制任务方面取得了显著进展。然而,这些作品面临着两个主要挑战:(1)不切实际的背景。这些方法使用关键帧姿态提取将模仿学习问题转化为预测和规划范式。虽然有效,但这种公式不太适合高维控制任务。(2) 推理缓慢。这些方法的复杂架构导致推理速度缓慢。例如,peract[60]以2.23 fps的推理速度运行,3D Diffuser Actor[28]以1.67 fps运行,这使得它们难以处理需要密集命令的任务,如高度动态的环境。与这一系列工作相比,我们致力于开发一种通用且快速的3d policy,能够处理更广泛的机器人任务,包括高维和低维控制任务。

C. Learning Dexterous Skills

在机器人中实现类似人类的操纵技能一直是机器人研究人员追求的长期目标。强化学习一直是这项工作的关键工具,使双手灵巧的机器人能够掌握各种任务,如倒水[47,81]、开门[49,21,8]、旋转物体[44,76,78,45]、重新定位物体[18,7,6]、旋转笔[33]、抓取工具[1]、执行交接[83,24]和构建乐高积木[9]。模仿学习提供了另一种途径,DIME[3]和DexMV[47]等方法通过重定向和从人类视频中学习,将人类的手部动作转化为机器人动作。然而,我们的工作与这些特定的以设计为中心的方法有所不同。我们证明,通过改进模仿学习算法本身,可以用最少的演示获得这些复杂的技能。

III. METHOD

给定一组包含复杂机器人技能轨迹的专家演示,我们想学习一个视觉运动器policy,它映射了视觉观察动作,这样我们的机器人不仅可以再现技能,还可以超越训练数据进行概化。为此,我们引入了3d扩散policy(dp3),它主要由两个关键部分组成:(a)感知。dp3用点云数据感知环境,并用高效的点编码器将这些视觉观察结果处理成视觉特征;(b) 决定。dp3利用富有表现力的diffusion policy[10]作为动作制作骨干,生成基于我们3d视觉特征的动作序列。dp3的概述如图2所示。我们将在以下部分详细介绍每个部分。

图2:3d扩散Policy(dp3)概述。上图:在培训阶段,dp3使用专家演示以端到端的方式同时培训其感知模块和决策过程。在评估过程中,dp3根据环境的视觉观察确定行动。下图:dp3通过单视点云感知其环境。这些通过轻量级mlp编码器转换为紧凑的3d表示。随后,dp3使用基于扩散的骨干生成基于这些3d表示和机器人状态的动作。

A. A Motivating Example

为了更好地说明dp3的泛化能力,我们首先给出了一个简单的例子。我们使用metaworld reach任务[77]作为我们的测试平台。在这个任务中,目标是让夹具准确地到达指定的目标点。为了评估模仿学习算法不仅在拟合训练数据方面,而且在推广到新场景方面的有效性,我们在3d空间中可视化了训练点和成功的评估点,如图3所示。

图3:3D空间中数据较少的泛化。我们使用MetaWorld Reach作为示例任务,只给出了5个演示(由橙色点可视化)。我们评估了1000次,以覆盖3D空间并可视化成功的评估点(蓝色)。DP3学习3D空间的泛化技能;扩散策略和IBC[11]只在部分空间中成功;BC-RNN[35]在数据有限的情况下无法学习如此简单的技能。从左到右的成功实验次数:0/285/327/415。

我们观察到,仅需五个训练点,dp3就可以到达分布在3d空间上的点,而对于基于2d的方法,diffusion Policy[10]和ibc[11]可以学习到达类似平面的区域,而bcrnn[35]无法覆盖该空间。该示例展示了dp3的卓越泛化能力和效率,特别是在可用数据有限的情况下。

B. Perception

我们现在详细介绍dp3中的感知模块。dp3专注于在所有任务中只使用一个视图相机进行policy学习,这与之前在机器人周围设置多个相机的工作[10,18]不同。这主要是因为它在现实世界任务中的实用性

Representing 3D scenes with point clouds.

3D场景可以用不同的方式表示,例如RGBD图像、点云、体素[7]、隐式函数[36]和3D高斯分布[29]。其中,DP3使用稀疏点云作为3D表示。正如我们的消融所证明的那样(见表四),与RGB-D、深度和体素等其他显式表示相比,点云被发现更有效。

对于模拟和现实世界,我们从单个相机获得尺寸为84×84的深度图像。然后,我们使用相机外部函数和内部函数将深度转换为点云。我们不使用颜色通道来更好地进行外观概括。

Point cloud processing.

由于从深度转换的点云可能包含冗余点,例如来自表格和地面的点,因此我们裁剪出这些点,只在边界框内留下点。

我们通过最远点采样(FPS,[42])进一步对点进行降采样,与均匀采样相比,这有助于充分覆盖3D空间并降低点云采样的随机性。在实践中,我们发现降采样512或1024点对于模拟和现实世界中的所有任务都是足够的。

Encoding point clouds into compact representations.

然后,我们使用轻量级MLP网络将点云编码为紧凑的3D表示,如图2所示。该网络被称为DP3编码器,在概念上很简单:它由一个三层MLP、一个最大池化函数和一个投影头组成,最大池化功能是一种将点云特征池化的阶等变操作,投影头将特征投影到一个紧凑的向量中。LayerNorm层交错排列以稳定训练[22]。最终的3D特征表示为v,只有64维。如我们的消融研究所示(见表V),这种简单的编码器甚至可以超越预先训练的点编码器,如PointNeXt[46],与[20]的观察结果一致,在视觉运动控制任务中,设计得当的小编码器比预先训练的大编码器更好

C. Decision

Conditional action generation.

DP3中的决策模块被公式化为条件去噪扩散模型[23,10,39],该模型对3D视觉特征和机器人姿态q进行条件处理,然后将随机高斯噪声去噪为动作a。具体来说,从高斯噪声aK开始,去噪网络εθ执行K次迭代,逐渐将随机噪声aK去噪为无噪声动作a0,

其中N(0,I)是高斯噪声,αk、γk和σk是k的函数,取决于噪声调度器。这个过程也被称为反向过程[23]。

Training objective.

为了训练去噪网络εθ,我们从数据集中随机采样一个数据点a0,并对数据点进行扩散过程[23],以获得噪声atk迭代εk。训练目标是预测添加到原始数据中的噪声,

其中是执行一步噪声相加的噪声调度[23]。

Implementation details.

我们使用基于卷积网络的Diffusion Policy[10]。我们使用ddim[62]作为噪声调度器,并使用样本预测而不是epsilon预测来更好地生成高维动作,训练时使用100个时间步,推理时使用10个时间步。由于metaworld任务的简单性,我们为其训练了1000个epoch,为其他模拟和现实世界任务训练了3000个epoch。dp3和所有基线的bs大小为128。


IV. SIMULATION EXPERIMENT

B. Efficiency and Effectiveness

DP3在各种任务中表现出惊人的效率,主要体现在以下三个方面:

1) 精度高。总结结果如图1(a)所示,每个领域的结果如表i所示。我们观察到,dp3在近30个任务中的成功率超过90%,而diffusion Policy在不到15个任务中成功率超过了90%。此外,与diffusion Policy相比,dp3没有记录任何成功率低于10%的任务,diffusion rp35004sp有10多个任务低于10%。请注意,大多数任务仅通过10次演示进行训练。

2) 学习效率。当我们训练所有算法3000个迭代周期以保证收敛时,我们观察到dp3在所有任务中通常在大约500个迭代周期内达到收敛,如图5所示。相比之下,扩散Policy倾向于以较慢的速度收敛或收敛到次优结果。

3) 通过演示实现高效扩展。如图6所示,我们发现在adroit任务中,dp3和diffusion Policy的性能都很合理,而dp3在较少的演示下达到了相当的精度。对于一些简单级别以上的metaworld任务,如组装和拆卸,当演示足够时,dp3可以实现更高的精度。这强调了3d模式不仅有益,而且对某些操作任务至关重要。

4) 竞争推理速度。如图1所示,dp3的推理速度略高于diffusion policy。与基于3d的policies较慢的普遍假设相反[60,82,72],dp3设法实现了高效的推理速度,这主要归功于稀疏点云和紧凑的3d表示的利用。

C. Ablations

我们选择了6项任务进行更多的消融研究:Adroit的锤子(H)、门(D)、笔(P)和MetaWorld的组装(A)、拆卸(DA)、推杆(SP)。这些任务包括高维和低维控制任务,每个任务只使用10个演示。为了简单起见,我们在表格中使用了这些任务的缩写。

Choice of 3D representations.

在dp3中,我们故意选择点云来表示3d场景。为了比较不同的3d表示选择,我们实现了其他3d表示,包括rgb-d、深度和体素。我们还比较了oracle状态,除了机器人姿势外,还包括对象状态、目标目标和机器人速度。rgbd和深度图像使用与diffusion policy相同的图像编码器进行处理,而体素表示采用voxelcnn,如[7]中所述。如表四所示,这些替代的3d表示法不符合dp3。我们注意到rgb-d和深度图像很接近,与点云不可比,这表明正确使用深度信息至关重要。此外,我们观察到点云和oracle状态非常有竞争力,这表明点云可能有助于从演示中学习最佳policy。

Choice of point cloud encoders.

我们将dp3编码器与其他广泛使用的点编码器进行了比较,包括pointnet[42]、pointnet++[43]、pointnext[46]和point Transformer[84]。我们还包括pointnet++和pointnext的预训练模型。令人惊讶的是,我们发现这些复杂的模型和预训练的模型都没有与dp3编码器竞争,如表v所示。

Gradually modifying a PointNet.

为了阐明DP3编码器和常用点云编码器(如PointNet)之间的性能差异,我们逐步修改PointNet,使其与DP3编码器对齐。通过表VI所示的广泛实验,我们确定PointNet中的T-Net和BatchNorm层是其效率的主要抑制因素。通过省略这两个元素,PointNet的平均成功率为72.3,与我们的DP3编码器实现的78.3相比具有竞争力。T-Net的一个合理解释是,我们的控制任务使用固定的相机,不需要T-Net的特征转换。进一步用低维特征替换高维特征不会对性能造成太大损害(72.5→72.3),但会提高速度。我们将在未来探索其他编码器失败的原因。

Design choices in DP3.

除了3D表示外,DP3的有效性还取决于几个小的设计选择,如表VII所示。(a) 裁剪点云有助于大大提高准确性;(b) 结合LayerNorm层可以帮助稳定不同任务的训练[22,4];(c) 噪声采样器中的样本预测带来了更快的收敛,如图7所示;(d) DP3编码器中的投影头通过将特征投影到较低维度来加速推理,而不会影响精度;(e) 去除颜色通道可确保稳健的外观泛化;(f) 在低维控制任务中,DPM求解器++[32]作为噪声采样器与DDIM竞争,而DPMsolver++不能很好地处理高维控制任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值