Google让机器人也能正确识别透明物体

Google、Synthesis AI与哥伦比亚大学的研究人员,开发出了一种称为ClearGrasp的机器学习算法,能够利用RGB-D图像,正确估算透明物体的3D空间信息,使机器人可以正确地与透明物体交互。

Google提到,机器人大量利用RGB-D摄影机或是激光雷达等光学3D传感器,创建精确的环境3D地图,但是这些光学空间传感器却对象是玻璃容器之类的透明物体失效,因为这些传感器都是假设所有物体表面皆为朗伯(Lambertian)表面,也就是表面可平均地对所有方向反射光线,在所有视角呈现均匀的亮度,但是透明物体违反了这个假设,透明物体既反射又折射光线,因此传感器通常无法正确取得透明物体的深度。

研究人员面对的第一项难题便是取得深度学习模型的训练数据集,目前并没有任何透明物体3D数据集,现成的数据集都会忽略透明表面,因为需要花费大量的人力与时间资源进行标记工作。为了解决这个问题,研究人员着手创建大规模的透明物体数据集,其中包含5万个写实渲染图,信息包含物体表面法矢量、分割遮罩、边缘和深度。

每张图像最多包含5个透明物体,这些物体放置在平坦的地面上或是手提袋内,皆具有不同的背景和照明,研究人员还拍摄了286个真实世界图像测试集,拍摄真实测试集非常麻烦,需要在场景中将每个透明的物体,以相同的摆设方式置换成上色的物体,以布料或是胶板当作物体背景,场景内还会随机传播不透明物体,研究人员在室内以各种照明条件进行拍摄。

虽然透明物体混淆了典型估算深度的方法,但仍有部分的线索可作为估算物体形状的提示,像是透明物体的表面会出现镜面反射的现象,该现象发生在光线充足的环境,物体因反射光线而出现的光点。由于这视觉提示在RGB图像中很明显,且与物体的形状相关,因此卷积神经网络可以依据这些线索,反过来精确推测估计物体表面法矢量,​​并进一步用在估算深度上。

大多数的机器学习算法都用单反RGB图像来推测估计深度,但即便是人类,要用单反来推测估计物体深度也不是一件简单的事,特别是在平坦表面的背景,估算的深度会有更大的误差,更别说要估算深度的对象是透明物体,因此研究人员认为,与其直接估计所有几何形状的深度,不如直接使用RGB-D摄影机的初始深度估计值,这样就能利用非透明的表面深度,来计算透明物体的表面深度。

研究人员开发用来识别透明物体的ClearGrasp算法,使用3个神经网络,一个用于估算表面法矢量,​​一个用于计算屏蔽的边缘,也就是深度不连续的地方,另一个则是计算透明物体的遮罩,遮罩是用来排除非透明物体的像素,以便填充正确的深度。

算法包含了一个全局优化模块,该模块会从已知深度的曲面,开始预测其他曲面的法矢量,以重建筑物体的形状,并使用预测的遮罩来分隔不同的物体。每个神经网络都以合成数据集训练,并且在真实测试数据集中表现良好。

但是ClearGrasp算法反而在估算墙壁或是水果等其他表面法矢量表现很差,研究人员发现,这是因为合成数据集的限制,透明物体的背景就只是平坦的地面,因此他们找来了Matterport3D和ScanNet数据集,以真实室内场景训练法矢量预测模型,使其能良好地处理所有表面。

经实验证实,ClearGrasp能够比现存的其他方法,更精确地重建透明物体的深度,而且即便只以合成图像训练,ClearGrasp也能正确地处理真实世界中的物体,即便物体的形状在训练数据集中从未出现过。通过利用ClearGrasp计算的深度作为输入,可大幅改进机械手臂抓取透明物体的成功率,从12%大幅上升至74%,具吸力设备的抓取成功率甚至高达86%。