【论文阅读】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)

### 3D 扩散策略在计算机图形学和机器学习中的应用 #### 定义与背景 3D扩散策略涉及通过特定算法和技术来处理三维数据,使其能够更好地适应各种应用场景。这些场景可能包括但不限于形状生成、图像重建以及物体识别等任务。该类方法通常依赖于复杂的数学模型和高效的计算框架,在保持几何特征的同时实现平滑过渡效果。 #### 技术原理 一种常见的做法是在给定初始条件的情况下模拟物理过程中的热传导现象,从而达到对目标对象表面属性进行传播的目的。这种方法可以有效地解决边界不连续性和噪声干扰等问题,并且能够在一定程度上提高最终输出的质量[^1]。 对于更复杂的情况,则会引入基于概率分布的学习机制——即所谓的变分自编码器(VAEs),它允许系统自动发现潜在空间内的结构化表示形式并据此调整参数设置以优化性能表现。此外还有其他类型的生成对抗网络(GANs)也被广泛应用于此类研究当中,比如Inverse Graphics GAN就展示了如何利用未标注的二维观测值作为输入来进行三维形态建模的工作流程。 #### 实现方式 为了具体展示这一概念的实际操作步骤,下面给出一段Python伪代码用于说明: ```python import torch from torchvision import transforms from model import DiffusionModel # 假设这是预定义好的扩散模型库 def apply_3d_diffusion(input_data): transform = transforms.Compose([ transforms.Resize((256, 256)), transforms.ToTensor() ]) processed_input = transform(input_data) device = 'cuda' if torch.cuda.is_available() else 'cpu' net = DiffusionModel().to(device) with torch.no_grad(): output = net(processed_input.unsqueeze(0).to(device)) return output.squeeze().cpu() input_image_path = "path_to_your_2D_image" output_3D_shape = apply_3d_diffusion(load_image(input_image_path)) save_as_stl(output_3D_shape, "generated_model.stl") # 将结果保存为STL文件以便后续查看或打印 ``` 此段代码片段仅作为一个简单的例子来帮助理解整个工作流;实际项目开发过程中还需要考虑更多细节方面的要求,如硬件资源分配、超参调优等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值