前言
今天10.23日,明天1024则将作为长沙程序员代表,在CSDN和长沙相关部门举办的1024程序员节开幕式上发言,欢迎广大开发者来长工作 生活 考察 创业,包括我司七月也一直在招聘大模型与机器人开发人员
后天,则将和相关开发同事出发去南京,因为我司于本周末10.25/10.26,在南京将举办「大模型机器人(具身智能)线下营」
该「机器人线下营」群内一学员提到:学umi这个成本好高,一套配下3万不知道够不够
- 实话讲,搞机器人成本确实是比较大的,包括umi这套,在机械臂的迁移上 灵活度不太高,换个机械臂不是很顺畅
但有一些工作 可以提高umi在机械臂上迁移的灵活度,比如fastumi,此外,dexcap的在机械臂上的可迁移性 更高些 - 不过,相比起来,工业协作机器人还只是机械臂,人形成本更高,我最近一直在看各种人形paper,很多工作都想尝试,但有些系统开源了 但代码不全,而且不同的工作 换个人形 还不一定好work
正因为这里面的坑比较多,所以我一直在看各家的算法,看看他们是怎么解决一系列落地问题的,毕竟很多问题大家都会遇到
刚好我自己在视频号上看到了iDP3(且友人丁研究员也和我说了这个iDP3),于此便有了本文
PS,考虑到我司七月在线把umi、dexcap搞得差不多了(当然,优化无止境,故24年年底之前还在进一步优化中),而iDP3和umi/dexcap有着一脉相承的紧密联系,故我们
- 准备再落地下斯坦福的这个iDP3
故我司在苏州布局人形研发,我和姚博士带队「24年年底之前先在双臂上跑下斯坦福这个iDP3,然后再在多个人形机器人上 一并验证下」
具体如下表所示- 之后再想办法把各个算法整合到一个统一的框架中,欢迎人形厂商、科研机构一块合作搞(有意私我)
总之,我司在机器人这个方向目前侧重:国内外顶级前沿成果的复现,及在实际业务场景的落地,与二次或定制开发
第一部分 3D扩散策略DP3
24年3月,来自上海期智研究院、上交、清华大学、上海AI实验室的研究者提出了3D Diffusion Policy——将3D视觉表示与扩散策略「关于扩散策略,详见此文:Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现(含Diff-Control、ControlNet详解)」相结合,其通过简单的 3D 表征实现可推广的视觉运动策略学习
- 作者团队包括Yanjie Ze1∗、Gu Zhang12∗、Kangning Zhang12、Chenyuan Hu13、Muhan Wang13、Huazhe Xu314等人
值得一提的是,一作Yanjie Ze目前是斯坦福博士生,其目前的指导老师是吴嘉俊(且他俩和其他研究者后续又提出了针对DP3的改进iDP3,详见下文第二部分),此前,曾受王小龙、徐华哲等人指导 - 其对应的论文为:3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations
- 其对应的项目地址为:3d-diffusion-policy.github.io,其对应的GitHub为:YanjieZe/3D-Diffusion-Policy
总之,DP3使用简单高效的MLP编码器将稀疏采样的点云编码为紧凑的3D表示。随后,DP3将随机噪声去噪为连贯的动作序列,该序列依赖于此紧凑的3D表示和机器人姿态「DP3 encodes sparsely sampled point clouds into a compact 3D representation using a straight forward and efficient MLP encoder. Subsequently,DP3 denoises random noise into a coherent action sequence,conditioned on this compact 3D representation and the robot poses.」
1.1 提出背景与相关工作
1.1.1 机器人中的扩散模型
扩散模型是一类生成模型
- 通过逐步将随机噪声转化为数据样本,在高保真图像生成方面取得了巨大成功 [23-DDPM, 63, 51-SD奠基论文High-resolution image synthesis with latent diffusion models, 62-DDIM]
- 由于其卓越的表现力,扩散模型最近被应用于机器人领域,包括
强化学习 [70-Diffusion policies as an expressive policy class for offline reinforcement learning, 2-Is conditional generative modeling all you need for decision-making?]
模仿学习 [10- Diffusion policy, 39-Imitating human behaviour with dif fusion models, 50- Goal-conditioned imitation learning using score-based diffusion policies, 72, 64,41- Consistency policy: Accelerated visuomotor policies via consistency distillation]
奖励学习 [25-Diffusion reward: Learning rewards via conditional video diffusion, 37]
抓取 [71- Learning score-based grasping primitive for human-assisting dexterous grasping, 66, 61]
运动规划 [52-Edmp: Ensemble-of-costs-guided diffusion for motion planning, 27- Planning with diffusion for flexible behavior synthesis] 等领域
在本项工作中,作者专注于将视觉运动政策表示为条件扩散模型,称为扩散政策,遵循 [10, 39] 中建立的框架。与主要关注图像和状态作为条件的先前方法不同,作者开创性地将三维条件引入扩散政策中
1.1.2 视觉模仿学习
模仿学习为机器人获取类似人类的技能提供了一种高效的方法,通常依赖于专家演示的大量观察-动作对
鉴于在现实世界中准确估计物体状态的挑战,图像等视觉观察已成为一种实用的替代方案。尽管基于2D图像的策略[38, 11, 10-Diffusion policy, 35, 16,56, 68, 15]在该领域占据主导地位,但3D的重要性正日益受到重视[60, 82, 80-Visual reinforcement learning with self-supervised 3d representations, 14- Rvt: Robotic view transformer for 3d object manipulation, 13, 28, 69]
- 最近的基于3D的策略,包括PerAct [60]、GNFactor [82]、RVT [14]、ACT3D [13]和NeRFuser [74],在低维控制任务中展示了显著的进展
然而,这些工作面临两个主要挑战:
1 不切实际的设置。这些方法将模仿学习问题转换为使用关键帧姿态提取的预测和规划范式。虽然有效,但这种公式化不太适合高维控制任务
2 推理速度慢。这些方法的复杂架构导致推理速度缓慢。例如,PerAct [60]的推理速度为2.23 FPS,使其难以处理需要密集指令的任务,如高度动态的环境 - 另一个密切相关的工作3D Diffuser Actor [28- 3d diffuser actor: Policy diffusion with 3d scene representations]主要由于使用语言token的注意力和任务设置的不同,运行速度为1.67 FPS
推理速度取决于多个因素,例如使用的摄像机视角数量、像素输入观测大小、扩散时间步数和预测的时间范围
由于两篇论文在不同的设置上进行测试,3D Diffuser Actor的作者[28]使用了DP3的代码在CALVIN上进行设置,这是一个多任务语言条件设置。他们为DP3配备了对语言token的注意力,与他们的模型相同,以便进行公平比较
他们使用了两个摄像机进行反投影以获得点云。他们在同一台NVIDIA 2080 Ti GPU上运行了DP3和3D Diffuser Actor
3D DiffuserActor的推理时间为600ms,预测6个动作步骤
DP3的推理时间为581ms,预测4个动作步骤
因此,3D Diffuser Actor在CALVIN上的控制频率高于DP3
总之,与这一系列工作相比,作者努力开发一种通用且快速的3D策略,能够解决更广泛的机器人任务范围,涵盖高维和低维控制任务「顺带说句,如论文第7页左下角所述,(f) 在低维控制任务中,DPM-solver++[32]作为噪声采样器与DDIM具有竞争力,而DPM-solver++在处理高维控制任务时表现不佳」
1.1.3 学习灵巧技能
在机器人领域中,实现类似人类的操作技能一直是机器人研究人员追求的长期目标
- 强化学习在这一努力中发挥了关键作用,使得拥有灵巧手的机器人能够掌握各种任务
例如倒水 [47, 81]、开门[49, 21, 8]、旋转物体 [44, 76, 78, 45]、重新定位物体 [18, 7, 6]、旋转笔 [33]、抓取工具 [1]、执行交接任务 [83, 24] 和搭建乐高积木 [9] - 模仿学习则提供了另一条途径
诸如 DIME [3] 和DexMV [47,详见此文《从根据视频学习的SeeDo(VLM生成规划和代码),到人形OKAMI、Harmon(重定向中VLM校正动作)》的1.2节] 等方法通过重定目标将人类手部动作转化为机器人动作,并通过人类视频进行学习
然而,DP3的工作与这些特定的设计中心方法有所不同。他们展示了,通过改进模仿学习算法本身,可以通过最少的演示来获得这些复杂技能
1.2 DP3的整体方法:先感知后决策
给定一小组包含复杂机器人技能轨迹的专家演示,作者希望学习一个视觉运动策略,将视觉观测
映射到动作
,使得我们的机器人不仅能再现技能,还能超越训练数据进行泛化
为此,作者引入的3D扩散策略(DP3),主要由两个关键部分组成「如下图所示,上:在训练阶段,DP3使用专家演示以端到端的方式同时训练其感知模块和决策过程。在评估期间,DP3基于环境的视觉观测来确定动作。下:DP3通过单视点云感知其环境。这些通过一个轻量级的MLP编码器被转换为紧凑的3D表示。随后,DP3基于这些3D表示和机器人的状态,使用基于扩散的骨干网络生成动作」:
- 感知。DP3通过点云数据感知环境,并通过高效的点编码器将这些视觉观测处理成视觉特征
- 决策。DP3利用富有表现力的扩散策略[10]作为动作生成的骨干,它在我们的3D视觉特征条件下生成动作序列
为了更好地说明DP3的泛化能力,作者首先给出一个简单的例子
他们使用MetaWorld Reach任务[77]作为他们的测试平台。在此任务中,目标是让机械手准确到达指定的目标点。为了评估模仿学习算法不仅在拟合训练数据方面的有效性,还能泛化到新场景,他们在三维空间中可视化了训练点和成功的评估点,如下图图3所示
- 他们观察到,仅用五个训练点,DP3就能到达分布在三维空间中的点,而对于基于二维的方法,Diffusion Policy[10]和IBC[11]学习在类似平面的区域内到达,而BCRNN[35]未能覆盖空间,这个例子展示了DP3的优越泛化性和效率,尤其是在可用数据有限的情况下
- 总之,当使用3D数据时,机器人对空间的感知能力显著提高,能够更好地达到均匀分布在空间中的目标点。而使用2D数据时,机器人只能在某个平面上聚焦,无法在整个空间内均匀分布,这证明了3D数据在空间理解上的优势
1.2.1 感知:使用轻量级的MLP网络将点云编码为紧凑的3D表示
简而言之,DP3的输入包括视觉观测和机器人姿态。视觉观测是一个无颜色的点云,通过最远点采样(FPS)从原始点云下采样得到。在所有模拟和真实世界任务中,作者使用512或1024个点。且使用作者设计的DP3编码器将点云编码为紧凑的表示
具体而言,DP3专注于仅利用单视角相机进行策略学习所有任务,这与之前的工作[10, 18]不同,之前的工作是在机器人周围设置多个摄像头。这主要是为了在实际任务中具有实用性
- 用点云表示3D场景
3D场景可以用不同的方式表示,例如RGB-D图像、点云、体素[7]、隐函数[36]和3D高斯[29]
The 3Dscene could be represented in different ways, such as RGB-D images, point clouds, voxels [7], implicit functions [36],and 3D gaussians [29].
其中,DP3使用稀疏点云作为3D表示「DP3 uses sparse pointclouds as the 3D representation.」
如作者的消融实验所示(见下表表IV),点云被发现比其他显式表示更有效,例如RGB-D、深度和体素Voxels
对于模拟和现实世界,作者从单个摄像头获取大小为84×84的深度图像。然后使用摄像头的外参和内参将深度转换为点云
为了更好的外观泛化,不使用颜色通道「如论文第7页左下角所述,(e) 移除颜色通道确保了外观的稳健泛化」
We then convert depth into point clouds with camera extrinsics and intrinsics. We do not use color channels for better appearancegeneralization
总之,如原论文第6页左下角所示,为了比较不同的3D表示选择,作者实现了其他3D表示,包括RGB-D、深度和体素。且还与oracle状态进行比较,oracle状态包括物体状态、target goals和机器人速度——除了机器人姿势之外
RGB-D和深度图像使用与Diffusion Policy相同的图像编码器进行处理,而体素表示则使用VoxelCNN,如[7]中实现的那样。如上表表IV所示,这些替代的3D表示不及DP3
另,注意到RGB-D和深度图像是接近的,但与点云不可比,表明深度信息的正确使用是至关重要的
此外,作者观察到点云和oracle状态非常具有竞争力,表明点云可能有助于从示范中学习最佳策略 - 点云处理
由于从深度转换的点云可能包含冗余点,例如来自桌子和地面的点,作者裁剪掉这些点,只保留在边界框内的点「因为通过作者的实验证明(论文第7页左下角),(a)裁剪点云有助于大幅提高准确性」
且进一步通过最远点采样(FPS,[42])对点进行下采样,这有助于充分覆盖3D空间,并减少点云采样的随机性,与均匀采样相比
另,在实践中,作者发现下采样512或1024点足以满足模拟和现实世界中的所有任务 - 将点云编码为紧凑表示
然后作者使用轻量级的MLP网络将点云编码为紧凑的3D表示,如上图图2所示
该网络被称为DP3编码器,概念上简单:它由一个三层MLP、一个最大池化函数作为order-equivariant操作操作来池化点云特征,以及一个投影头将特征投影到紧凑向量中——如论文第7页左下角所述,(d) DP3编码器中的投影头通过将特征投影到低维度来加速推理,而不影响准确性
The network, termed as DP3 Encoder, is conceptually simple: it consists of a three-layer MLP, a max-pooling function as an order-equivariant operation to pool point cloud features, and aprojection head to project the features into a compact vector
且LayerNorm层交错使用以稳定训练[22]「(如作者实验证明(论文第7页左下角),(b) 引入LayerNorm层可以帮助在不同任务中稳定训练[22, 4]」
下表表VII来自论文第7页左下角
最终的3D特征,记为,只有64维。如作者的消融研究所示(见下表表V)
这个简单的编码器——几层线性加几层非线性的MLP,甚至可以超越预训练的点编码器point encoders,如PointNeXt [46-Pointnext: Revisiting pointnet++ with improved training and scaling strategies,是处理无序点集合的经典方法]
其实,作者还对比了PointNet [42]、PointNet++ [43]、PointNeXt [46] 和Point Transformer [84],且还包括了PointNet++和PointNeXt的预训练模型
此外,为了阐明DP3编码器与常用点云编码器(例如PointNet)之间的性能差异,作者甚至逐步修改PointNet以使其与DP3编码器对齐
通过下表VI中展示的大量实验「Conv:使用卷积层或线性层。w/ T-Net:有或没有T-Net。w/ BN:有或没有BatchNorm层。1024 Dim:在投影层之前将特征维度设置为1024或256」
作者发现PointNet中的T-Net和BatchNorm层是其效率的主要抑制因素。通过省略这两个元素,PointNet获得了72.3的平均成功率,与我们的DP3编码器实现的78.3相当。对于T-Net的一个合理解释是,作者的控制任务使用固定摄像头,不需要T-Net的特征变换
且进一步用低维特征替换高维特征不会对性能造成太大影响(72.5 72.3),但会提高速度
总之,这与[20-On pre-training for visuo-motor control:Revisiting a learning-from-scratch baseline]的观察结果一致,即精心设计的小编码器在视动控制任务中优于预训练的大编码器「where a properly designed small encoder is better than pre-trained large encoders in visuomotor control tasks.」
1.2.2 决策:基于卷积网络的扩散策略——将随机高斯噪声转化为连贯的动作序列
简而言之,从点云和机器人姿态编码的表示被连接成一个维度为128的表示。随后,决策主干在此表示的条件下生成动作。决策主干是一个基于卷积网络的扩散策略,将随机高斯噪声转化为连贯的动作序列
- 在实现中,作者使用了[10-扩散策略]提供的官方PyTorch框架。实际上,该模型设计用于根据Nobs观察到的时间步预测一系列H动作,但在推理过程中只执行最后的Nact动作
且作者设置H=4,Nobs=2,Nact=3用于DP3和基于扩散的基线 - 原始扩散策略通常采用较长的时间跨度,主要是因为其任务中的时间步更密集
在下表表XV中,作者展示了在作者的任务中短时间跨度和长时间跨度之间没有显著差异
此外,考虑到现实世界机器人操作中可能出现的突然干扰,作者选择采用较短的时间跨度 - 归一化
作者将每个动作维度和每个观察维度的最小值和最大值独立缩放到[-1,1]。将动作归一化到[-1,1]是DDPM和DDIM预测的必要条件,因为它们会将预测剪裁到[-1,1]以保持稳定性
具体而言
在条件动作生成上
- DP3中的决策模块被设计为一个条件去噪扩散模型[23-DDPM, 10- Diffusion policy, 39-Imitating human behaviour with diffusion models],该模型基于3D视觉特征
和机器人姿态
进行条件化,然后将随机高斯噪声去噪为动作
- 具体来说,从高斯噪声
开始,去噪网络
进行
次迭代,逐步将随机噪声
去噪为无噪声的动作
其中是高斯噪声,
、
和
是
的函数,并依赖于噪声调度器。这个过程也被称为反向过程[23]
在训练目标上
为了训练去噪网络,作者从数据集中随机采样一个数据点
并在数据点上进行扩散过程[23]以获得在第
次迭代
时的噪声
训练目标是预测添加到原始数据上的噪声
其中¯αk和¯βk是执行一步噪声添加的噪声计划[23]
在实现细节上
作者使用基于卷积网络的扩散策略[10],且使用DDIM[62]作为噪声调度器,并使用样本预测代替epsilon预测「因为如论文第7页左下角所述,(c) 噪声采样器中的样本预测带来更快的收敛速度,如图7所示」,以便更好地生成高维动作,训练时使用100个时间步长,推理时使用10个时间步长
由于MetaWorld任务的简单性,作者训练1000个周期,而对于其他模拟和现实世界任务,作者训练3000个周期,DP3和所有基线的批量大小为128
最后,提两个问题
- 实例泛化
其实,实现对形状、大小和外观不同的多种实例的泛化,与仅仅是外观泛化相比,提出了更大的挑战
在下表表XI中,作者展示了DP3如何有效管理各种日常物品。这一成功主要归功于点云的固有特性
具体而言,使用点云可以使策略不易混淆,尤其是在这些点云被下采样时。这一特性显著增强了模型适应不同实例的能力- 视图泛化。在不同视图中泛化基于图像的方法尤其具有挑战性[75],而从多个视图中获取训练数据可能耗时且昂贵[82, 58]
作者在表XII中展示了DP3有效地解决了当相机视角稍微改变时的泛化问题。需要注意的是,由于相机视角发生变化,作者手动变换点云并调整点云的裁剪空间
由于网络的鲁棒性,精确的变换不是必需的。然而,重要的是要承认,尽管网络可以在相机视角的小变化中实现泛化,但处理显著的变化可能会很困难
这点,也算是DP3本身的局限性,所以才有了后来即如下文所述的:斯坦福iDP3——改进3D扩散策略以赋能人形机器人的训练:不再依赖相机校准和点云分割
第二部分 改进的3D扩散策略iDP3
24年10.14日,来自斯坦福大学、西蒙弗雷泽大学、宾夕法尼亚大学、伊利诺伊大学厄巴纳-香槟分校、卡内基梅隆大学的研究者们(Yanjie Ze1、Zixuan Chen2、Wenhao Wang3、Tianyi Chen3、Xialin He4、Ying Yuan5、Xue Bin Peng2、Jiajun Wu1),提出了改进的3D扩散策略iDP3
- 其对应的论文为《Generalizable Humanoid Manipulation with Improved 3D Diffusion Policies》
- 其对应的项目网址为:humanoid-manipulation.github.io
这是其对应的学习代码:Improved-3D-Diffusion-Policy,这是其对应的遥操作代码:Humanoid-Teleoperation
2.1 iDP3与之前扩散策略、3D扩散策略的不同
2.1.1 视觉运动策略学习
最近,越来越多的趋势是通过端到端方式学习视觉运动策略来解决机器人问题[12],[17-3d diffusion policy: Generalizable visuomotor policy learning via simple 3d representations],[25]–[28],其中主要有两种途径:
- 模仿学习[12,即Diffusion policy],[15]–[21],[29]–[34]
- sim-to-real 的强化学习[35]–[44],其中第41篇所述的UMI on Legs,详见此文第一部分
在此之前
- 基于图像的模仿学习方法,例如Diffusion Policy[12],已经取得了显著的成功[10], [17], [22],[30], [45],但其有限的泛化能力限制了它们在复杂真实环境中的应用
- 最近的一些工作旨在解决这些限制[17], [22], [45]–[47]。其中,3D扩散策略(DP3,[17])展示了显著的泛化能力和在多样化机器人任务中的广泛适用性[10], [11],[22], [23]
尽管如此,3D视觉运动策略本质上依赖于精确的相机校准和细粒度的点云分割[17], [18], [21], [39], [47],这限制了它们在类人机器人等移动平台上的部署 - 另与iDP3类似的工作也有一些,比如Maniwhere [37]通过大规模模拟数据实现了真实场景的泛化。然而,由于显著的模拟到现实的差距,他们仅展示了在未见过的场景中推送等任务,而不是像拾取和放置这样的富含接触的任务
机器人实用模型[48-Transic: Sim-toreal policy transfer by learning from online correction]也通过模仿学习将技能泛化到新环境中,而他们必须使用从20个场景收集的数据进行场景泛化,相比之下iDP3只使用1个场景
此外,VISTA [47]使用视图合成模型展示了令人印象深刻的视图泛化。与他们复杂的流程相比,iDP3的自我中心3D表示自然地实现了稳健的视图不变性
2.1.2 iDP3所在系统的概述
iDP3所在的系统主要由四个部分组成:人形机器人平台、数据收集系统、视觉运动策略学习方法、现实世界的部署,如下图所示
在学习部分,作者开发了改进的3D扩散策略(iDP3)作为通用机器人的视觉运动策略
2.1.3 iDP3是如何对3D扩散策略做改进的
3D扩散策略(DP3,[17])是一种有效的3D视觉-运动策略,将稀疏点云表示与扩散策略相结合。尽管DP3在广泛的操作任务中展示了令人印象深刻的结果,但由于其固有依赖于精确的相机校准和细致的点云分割,无法直接部署在通用机器人上,如类人机器人或移动操作器
此外,为在更复杂的任务中有效执行,DP3的准确性需要进一步提高
最终作者改进的算法被称为改进的3D扩散策略(iDP3),其重点做了以下改进
- 以自我为中心的3D视觉表示——相当于将世界坐标调整成以机器人为中心的坐标系
DP3利用世界坐标系中的3D视觉表示,便于目标对象的分割[17],[53]。然而,对于类人机器人等通用机器人,相机安装位置并不固定,使得相机校准和点云分割变得不切实际
为了解决这个问题,作者提出直接使用相机坐标系中的3D表示,如下图所示
作者将这类3D表示称为以自我为中心的3D视觉表示
再说一下背后的深层含义
首先,DP3的缺陷是需要进行坐标校准,即在世界坐标系下标定相机坐标
而iDP3将相机的坐标系从世界坐标转换为相机自身的坐标系,这个视角的改变让这个坐标以机器人为中心,而不是以环境为中心。这意味着当环境发生变化时,对系统的影响会显著降低 - 扩展视觉输入:增加样本点的数量以捕获整个图像场景
利用以自我为中心的3D视觉表示在消除多余点云(如背景或桌面)时存在挑战——特别是在不依赖基础模型的情况下
为此,作者提出了一种简单但有效的解决方案:扩展视觉输入。与之前的系统[17],[22],[53]中使用标准稀疏点采样不同,他们显著增加了样本点的数量以捕获整个图像场景 - 改进的视觉编码器
作者将DP3中的MLP视觉编码器替换为金字塔卷积编码器
因为他们发现,在从人类数据中学习时,卷积层比全连接层产生更平滑的行为,并且结合来自不同层的金字塔特征进一步提高了准确性 - 更长的预测视野
人类专家的抖动和噪声传感器在从人类示范中学习时表现出很大的困难,这导致DP3在短期预测上遇到困难。通过延长预测视野,作者有效地缓解了这个问题 - 实现细节的一系列优化
对于优化,他们使用AdamW [55]训练iDP3和所有其他方法,总计300个epoch
对于扩散过程,他们使用DDIM [56]进行50个训练步骤和10个推理步骤
对于点云采样,他们用体素采样和均匀采样的级联替换DP3 [17]中使用的最远点采样(FPS)「For the point cloud sampling, we replace farthest point sampling (FPS) used inDP3 [17] with a cascade of voxel sampling and uniform sampling」,这确保了采样点覆盖3D空间并具有更快的推理速度
2.2 iDP3相关的硬件配置、数据采集、学习与部署
2.2.1 人形机器人相关的硬件配置
- 在人形机器人的选择上,他们使用Fourier GR1 [5],这是一款全尺寸人形机器人,配备了两个InspireHands [57]
不过,他们只启用了整个上半身{头部、腰部、手臂、手},总共25个自由度(DoF),然后禁用了下半身以保持稳定,并使用推车进行移动 - 激光雷达相机
为了捕捉高质量的3D点云,他们使用了RealSense L515 [58],这是一款固态激光雷达相机。相机安装在机器人头部以提供自我中心视觉
先前的研究表明,深度感知精度较低的相机,如RealSense D435 [59],可能导致DP3 [17], [60]的性能不佳
换言之,作者之所以选择RealSense L515相机,在于其能够提供相对准确的点云数据。如果换成另一种更常用且便宜的D435相机,它只能提供大致的深度信息,但深度的准确度较低,导致点云质量很差「所以用D435相机运行他们的算法,会发现其在现实世界中的效果不如预期」
当然了,其实即便是RealSense L515也无法产生完全精确的点云
然后有意思的是,dexcap中「详见此文:DexCap——斯坦福李飞飞团队泡茶机器人:带灵巧手和动作捕捉的数据收集系统(含硬件改进VIVE)的第2.2节」
在dexcap最早的24年2月份硬件版本中,胸前挂着一个L515相机、一个T265相机,左右两只手套上各戴一个T265相机
考虑到英特尔Realsense T265和L515相机已停产,加之T265偶尔会出现姿态漂移
故他们在后来24年8月份的新硬件版本中,胸前则换成了一个D435相机、一个VIVE Tracker,且左右两只手套上各戴一个VIVE Tracker「VIVE 追踪器可以提供更准确的追踪」 - 高度可调推车
将操作技能推广到现实世界环境的一个主要挑战是场景条件的广泛变化,特别是桌面高度的不同。为了解决这个问题,作者使用了一个高度可调的推车,消除了对复杂全身控制的需求
2.2.2 数据采集
- 为了遥操作机器人的上半身,作者采用了Apple Vision Pro(简称AVP,[61]),该设备能够精确跟踪人手、手腕和头部的姿态[62]。机器人使用Relaxed IK [63]来准确地跟随这些姿态
且他们还将机器人的视觉流回传至AVP。与[9]不同,我们将腰部纳入了遥操作流程,从而实现了更灵活的工作空间 - 遥操作的延迟
使用LiDAR传感器会显著占用机载计算机的带宽/CPU,导致遥操作延迟大约为0.5秒。他们还尝试了两个LiDAR传感器(一个额外安装在手腕上),这引入了极高的延迟,因此使得数据收集变得不可行 - 对于用于学习的数据。在遥操作过程中,他们收集了观察-动作对的轨迹,其中观察由两部分组成:
1)视觉数据,如点云和图像
以及2)本体感觉数据,如机器人关节位置。动作由目标关节位置表示。且他们还尝试使用末端执行器姿态作为本体感觉/动作,发现性能没有显著差异
2.2.3 学习与部署
最终,他们在收集的人类演示数据上训练 iDP3
值得注意的是,由于不依赖之前提到的相机校准或手动点云分割。因此,他们认为他们的iDP3策略可以无缝转移到新场景,而无需额外的校准/分割等工作
2.3 实验效果及与各个相似策略的对比
在测试中,让机器人完成下图所示的三个任务:拾取/放置、倒水和擦拭
2.3.1 iDP3与几个的基线的比较
作者将iDP3与几个强大的基线进行比较,包括:
- DP:带有ResNet18编码器的扩散策略[12];
- DP(❄R3M):带有冻结R3M [64]编码器的扩散策略;
- DP (✶R3M):带有微调R3M编码器的扩散策略
- iDP3 (DP3编码器):使用DP3编码器[12]的iDP3
所有基于图像的方法都使用与iDP3相同的策略骨干,并采用随机裁剪和颜色抖动增强来提高鲁棒性和泛化能力,且RGB图像的分辨率是224×224(从RealSense相机的原始图像调整而来)
如下表所示「在四种设置下训练Pick&Place任务:{1st-1, 1st-2, 3rd-1, 3rd-2}。“1st”使用自我中心视角,而“3rd”使用第三人称视角。后面的数字表示用于训练的示范次数,每个示范由20轮成功执行组成,比如1st-2中的2 即代表示范次数为40次」
- iDP3显著优于普通DP、带冻结R3M编码器的DP以及带DP3编码器的iDP3
- 然而,我们发现带微调R3M的DP是一个特别强的基线,在这些设置中优于iDP3。作者认为这是因为微调预训练模型通常比从头开始训练更有效[26],而目前没有类似的用于机器人技术的预训练3D视觉模型。尽管DP+微调R3M在这些设置中更有效,但作者发现基于图像的方法过拟合于特定场景和对象,无法推广到一些比较极端的场景之下
作者在论文中表示,他们还进行了 iDP3 与 DP (✶R3M)(简称为 DP)之间的更多比较,并证明 iDP3 在具有挑战性和复杂性的现实世界中更具适用性
具体如下表所示
iDP3和DP在训练环境中对训练对象都取得了很高的成功率,并具备以下三个更好的属性
- 属性1:视图不变性View Invariance
iDP3的自我中心3D表示展示了令人印象深刻的视图不变性
如下图所示iDP3即使在视图发生较大变化时也能始终抓取物体,而DP即使是训练对象也难以抓取。DP仅在视图发生轻微变化时偶尔取得成功
值得注意的是,与最近的工作[22],[45],[47]不同,他们没有采用特定的设计来实现等变性或不变性- 属性2:对象泛化性
他们评估了训练杯之外的新型杯子/瓶子,如下图所示由于使用了颜色抖动增强,DP偶尔可以处理未见过的对象,但成功率很低。相比之下,iDP3由于使用了3D表示,自然能够处理广泛的对象
- 属性3:场景泛化性
他们进一步在各种真实世界场景中部署了iDP3的策略,如下图所示
2.3.2 iDP3的几个消融研究
最后,作者对DP3的几项修改进行了消融研究,包括改进的视觉编码器、缩放的视觉输入和更长的预测范围
实验表明如果没有这些修改,DP3要么无法有效地从人类数据中学习,要么表现出显著降低的准确性
更具体地说,他们观察到
- 他们改进的视觉编码器可以同时提高策略的平滑度和准确性
- 缩放视觉输入是有帮助的,但在他们的任务中更多的点数会使性能饱和(while the performance gets saturated in our tasks with more points)
- 一个合适的预测时间范围是关键,如果没有这个,DP3无法从人类演示中学习
最后论文中提到,iDP3的训练时间,与DiffusionPolicy相比,显示出显著的减少。这种效率即使在点云数量增加到DP3的几倍时仍然保持
第三部分 iDP3的源码解析
本部分的源码解析到时会另起一篇文章,待更..
后记:让每一个读者喜欢读我写的文章
为了写清楚本文中涉及的DP3、iDP3算法,我还是花了不少心思和精力的,特别是还分享了部分我司在实际业务场景中的落地与实践
- 十年前,我告诫自己,大家学习算法和AI,如果看书费劲 则可以看我博客
- 十年后,我告诫自己,如果大家想更快、更好的读好代表最前沿技术的paper,及其落地实践,则可以继续看我博客
无论十年前还是十年后,我都希望可以帮到很多人,且不断提升我个人和我司在业界和圈内的技术影响力