Google利用立体视觉快速测量透明物体的3D位置与形状

Google与斯坦福大学合作,开发了处理透明物体的全新计算机视觉方法,这个称为KeyPose的机器学习系统,能够直接预测3D关键点(Keypoint)来估测透明物体的深度,比起过去的方法又快又准。在发布研究成果的同时,Google也发布了用来训练KeyPose模型的透明物体资料集,供研究社群使用。

测量3D物体的位置以及朝向,是计算机视觉在对象感知应用的核心挑战,这些应用程序需要知道物体在真实世界的3D位置,才能进行下一步的操作,像是将虚拟物体放置在物体周围等。目前已经有许多针对该主题的研究,除了应用机器学习或是深度网络技术之外,其他方法还包括使用深度传感设备,像是Kinect,来直接测量物体的距离。

不过,对于有光泽或是透明的物体,深度传感设备效果不高,早前Google也曾发布过利用机器学习方法的研究,像是ClearGrasp就是利用深度神经网络,来修复损坏的深度信息,只要使用一张RGB-D图像,ClearGrasp就能使用深度卷积网络,推测物体表面法矢量、透明表面的遮罩以及受屏蔽的边界,并使得场景中所有透明表面的深度估算更精确。虽然该方法很有效,但是因为其使用大量的合成图像进行训练,在部分情况修复深度时,仍容易发生错误。

而Google最新与斯坦福大学合作的KeyPose机器学习方法,是直接利用单反或是立体图像,预测透明物体的3D关键点,而不需要先明确计算深度,且即便在训练过程,没有见过的物体或物体种类,也能在应用期间良好的处理。

为了要快速收集大量真实世界的图像,研究团队创建了一个人信息料收集系统,该系统中的机器人手臂依照设置轨迹移动,手臂上同时安装了立体相机以及Kinect Azure深度相机。桌面配置了用来定位的视觉基准系统AprilTags,以精确关注摄影机的姿势,研究人员只需要在视频中的少量图像,标记出2D关键点,便能利用多视角几何方法,在所有视频影格中截取3D关键点,高效率地进行标记,并利用这个3D关键点资料集训练网络。

研究团队捕捉了5种类型15种透明物体的图像,并且搭配多种背景材质以及物体排列方式,总共拍摄了600多个视频串行,研究人员也用不透明版本物体,截取了基准真实深度。

实际预测流程,输入使用立体相机拍摄同一物体的左右图片,将这两张照片送进KeyPose网络中,网络便能预测出代表物体位置与形状的稀疏3D关键点,之后再利用两张图的视差,推算出每个关键点的3D坐标。这个方法也能够使用单反相机的图片,但是使用立体相机的图片,其准确度是前者的两倍。

结果如下图,最左侧是原始的立体图像,中间是物体的3D关键点,右边则是显示由3D关键点推算可表示物体姿势的其他点。研究人员提到,这个方法非常快速准确,使用标准GPU计算马克杯的深度只要5毫秒,无论是透明瓶子还是马克杯,其平均绝对误差都在10 mm以下,瓶子的平均绝对误差甚至可达5.8 mm。