在密歇根大学ARMLab与Dmitry Berenson合作的研究中,专注于机器人操控的学习与规划,特别是针对变形物体。虽然可以在《Science Robotics》杂志和顶级机器人会议上找到工作成果,但这篇博客文章将专注于感知技术。在接下来的部分,将描述如何使用实例分割作为感知流程的基础。如果只想跳到引人注目的演示视频,这就是它!
与任何机器学习任务一样,实例分割模型的性能取决于准确和相关的训练数据。在本节中,将分享一些可能特定于机器人操控的技巧。第一个技巧是从小规模开始。收集不超过25张图像,对它们进行标记,并训练第一模型。一旦第一次这样做,可能会发现自己:(i)在某些没有考虑过的情况下,检测效果很差;(ii)无法使用检测提供的信息来完成操控任务。
找到与自己用例相关的训练数据是实现强大模型性能的关键。例如,立即注意到使用的Spot机器人上的机身摄像头对世界的视角非常倾斜,这使得检测变得困难,基于这些糟糕的检测进行操控更加困难。因此,转而使用手中的摄像头。这意味着需要收集更多的数据!不必丢弃旧数据(通常模型可以扩展到大量数据),但这就是为什么不想一开始就用200张图像开始,这将在得到任何关于这些是否是一组好图像的反馈之前,花费更长的时间进行标记!
创建正确的标记方案对于使预测对下游操控规划有用至关重要。通常,标记对象部分而不是整个对象是更好的方法。例如,希望机器人能够抓住吸尘器软管的末端,但最初将整个软管标记为一个分割。这意味着不知道软管的哪一部分是“末端”。因此,回去单独标记了软管的“头部”作为它自己的对象类别。
实例分割的任务是在图像中为独特的对象实例生成掩码和/或多边形。然而,对于操控来说,通常只知道某物在2D图像中的位置是不够的——需要知道对象在3D中的位置和形状。在机器人学中,使用校准过的RGBD摄像头是常见的做法。Spot机器人也不例外。这意味着可以将RGB图像中的给定像素(u,v)投影到3D(x,y,z)。然而,便宜的深度摄像头通常不可靠,经常有缺失的区域,没有有效的深度读数。这使得将单个像素投影到3D变得不可靠!
解决这个问题的一个方法是将整个2D掩码投影到3D。然而,通常可以通过利用不仅仅是单个掩码部分的像素来做得更好。例如,可以将平面拟合到深度图像,并用它来找到地板上物体的位置。还可以使用方法CDCPD,这是实验室为变形物体开发的跟踪方法,它查看整个分割的点云,而不是单个像素。下图显示了CDCPD使用预测的软管掩码和地面平面来跟踪软管上的点的例子。