机器人策略中的硬件与数据
从相机视场角、硬件参数到数据采集策略,思考机器人策略在跨硬件与跨视角部署时的泛化问题。
一些关于硬件和数据的思考
现在机器人策略中常用的相机如 RealSense D405/D435 他们的对角线视场角大约都是 90° 左右,而机器人策略 UVA 及宋舒然教授组的其他工作大都使用 GoPRO 搭配大视场角的鱼眼镜头(对角线视场角可达 155° 到 177°),但是直接加载他们开源的本应具有一定泛化性的模型权重来完成任务却遭惨败,是模型能力本身不足还是因为背景、物体、硬件等的差异。
最近 PrismaX 的一个 blog 引起我的注意,他们总结了一些他们在微调 openpi/pi0.5 时得到的 How-to and Tips。一系列消融实验中有两个是针对相机的摆放位置和 FoV,可以得到的结论是相机位置厘米级改动会导致性能大幅下降;顶部相机对视场角过宽极其敏感,腕部相机对视场角过窄极其敏感(这里表现的不对称变化说明遮挡和可见性的问题比绝对视场角更重要,另一方面也说明了相机内参的影响很大)。并且如文中所说的现在供应商基本都不太注重相机,导致很多时候部署和数据采集时配置的不匹配。
还有一点值得注意的是,他们强调数据不只在于图像和对应动作轨迹,数据供应商还应该提供数据采集时的整套硬件设备和控制系统的精确参数,包括台架的 CAD、遥操作时使用的控制律(阻抗控制参数、控制频率、PID增益、滤波平滑算法等)、能完全复刻的具体相机型号。这些数据对于预训练影响不大,对后训练极其重要,有了这些数据就可以通过数学变换把不同数据对齐到同一个坐标系下,或者把相机参数作为模型输入条件。并且后训练阶段我们期望机器人能在特定任务上达到 99%的成功率,这时训练和部署用的相机内外参、机械臂控制参数、底层控制频率就需要尽可能一致。这里他们也是顺便推销一下自己做的好,他们提供每台采集设备单独实测的 URDF、全球能买的相机型号、标准化的遥操作代码。不过强调的这些点确实有一定道理,这些我自己在采集、训练和部署过程中也有一些体会。在使用一些别人采集的数据时,相机内外参、机械臂的控制参数、控制频率等通常都是缺少的部分,需要我自己先推理或猜测找一个大概的然后后面再自己慢慢调整。
进一步沿着这个方向研究,就发现其实已经有人做过一些相关研究。卢策吾教授团队在今年三月发表了一篇对在机器人操作任务中鱼眼相机特性的实验研究。
鱼眼相机的大视场角可以大幅提升空间定位能力,让模型更好学到相对位姿,显著提升精细动作的闭环控制成功率。但是这个优势严重依赖环境的视觉复杂度,在纯色、缺乏纹理的简单场景中,大视场角并没有优势,反而容易对背景产生过拟合。然而一旦在训练中有足够多样的场景背景,鱼眼相机策略的场景泛化性就会远超过针孔相机。
直接在不同参数(如FoV、畸变程度不同)的鱼眼相机间进行零样本迁移通常会导致失败,相较于窄镜头下的得分断崖下跌,宽镜头的下降更甚(因为超大视场下的极端非线性畸变)。研究发现根本原因在于模型对图像的几何尺度产生了过拟合(例如 FoV 变小导致画面放大,模型会误以为离物体已经够近而提前收拢夹爪)。对此,他们提出了一种极其简单的随机尺度增强策略(RSA)来解决这一硬件跨相机迁移问题,在引入这种 RSA 算法后即使更换为与训练时相差很多 FoV 的镜头对模型表现也大幅恢复。
另一个团队的研究对环境相机部署位置敏感性的进行了一些解释。VLA 模型的空间泛化很脆弱,原因在于模型经常会陷入捷径学习和虚假相关性的陷阱,如记住机械臂基座相对背景的静态外观、模型依赖固定的相机角度来识别物体、对物体和物体之间的固定相对位置过拟合而不是真正的空间几何关系。对此,他们提出了混合数据采集策略将移动视角数据与多元静态视角数据按比例混合训练,多固定视角避免完全动态的数据中视觉输入过于剧烈导致模型很难收敛,移动视角打破数据耦合,强迫模型学会跨视角的空间感知与手眼协调,使 VLA 泛化到没见过的相机位姿和物体布局,而只是加更多固定视角无法做到这一点。