参与王子嘉 蛋酱

让光学3D传感器「看见」透明杯子,这是来自谷歌、哥大的新研究

业界已经广泛应用的光学 3D 距离传感器,一直有个解决不了的问题——每次遇见透明物体就会失灵。最近,谷歌与来自 Synthesis AI 和哥伦比亚大学的研究人员合作开发了一种机器学习算法 ClearGrasp,能够从 RGB-D 图像中估计透明物体的准确 3D 数据。

从自动驾驶汽车到自动机器人等领域,光学 3D 距离传感器与 RGB-D 相机的应用一样广泛,它可以生成丰富而精确的 3D 环境地图。

但它也有个「天敌」,透明的物体就可以让一套常用的昂贵传感器挠头,哪怕只是一个普通的玻璃容器。


这是因为光学三维传感器的算法都是基于一个前提——假设所有表面都是 Lambertian 的,也就是说这个表面反射的光线是均匀的,从而从各个角度看,表面的亮度都是一致的。然而,透明物体显然不符合这个假设,因为它们的表面除了反射光线,还会折射光线。因此,大多数透明对象的深度数据是无效的,或者是包含不可预测的噪声。

光学三维传感器通常无法探测到透明物体。右上:例如,Intel®RealSense™D415 RGB-D 摄像机拍到的 3D 深度图像中没有显示玻璃瓶。底部:对深度图像点云的三维可视化。

让机器更好地感知透明的表面,不仅能提高安全性,还能在非结构化应用中开辟新的交互——比如处理厨房用具或对塑料进行回收分类的机器人,或是在室内环境中导航或在玻璃桌面上生成增强现实 (AR) 可视化效果。

为了解决这个问题,谷歌与来自 Synthesis AI 和哥伦比亚大学的研究人员合作开发了 ClearGrasp。ClearGrasp 是一种机器学习算法,它能够从 RGB-D 图像中估计透明物体的准确 3D 数据。

这种效果的实现主要得益于谷歌同时公开的一个大规模的合成数据集。ClearGrasp 的输入可以来自任何标准的 RGB-D 摄像机,然后它会使用深度学习来精确地重建透明物体的深度,并将其泛化成一种全新的物体,这种物体在训练过程中是看不到的。这与以前的方法不同,以前的方法需要事先了解透明物体(如它们的 3D 模型),然后结合背景照明和摄像机位置图来进行建模。在这项工作中,谷歌还证明了 ClearGrasp 可以通过将其整合到其 pick and place 机器人的控制系统中,来提高机器人的操作效率,在该系统中透明塑料物体的抓取成功率有了显著的提高。

ClearGrasp 通过深度学习来重建透明表面的精确三维深度数据。



透明对象的可视化数据集

任何有效的深度学习模型都需要需要大量的数据来训练(如视觉领域的 ImageNet 和 BERT 使用的 wikipedia),ClearGrasp 也不例外。不幸的是,并没有这种带透明物体 3D 数据的数据集。现有的 3D 数据集(如 Matterport3D、ScanNet 等)都没有透明表面的记录,因为这种标记过程耗时耗力。

为了克服这个问题,谷歌创建了自己的大型透明对象数据集,其中包含 5 万多个具有相应表面法线(表示表面曲率)、分割掩模、边缘和深度的真实感渲染,这对于训练各种 2D 和 3D 检测任务非常有用。每个图像包含的透明物体多达 5 个,有的在一个平面上,有的在一个手提袋里,而且包含了各种背景和照明的场景。

ClearGrasp 合成数据集的一些透明物体实例。



谷歌还在数据集中收集了 286 张实景图的测试集,这些图像都有深度标注。实景图的拍摄过程是艰苦的,拍摄时需要在场景中的每个透明物体的位置上绘制一个跟其位置大小完全一致的图像。这些图像是在许多不同的室内照明条件下拍摄的,使用了各种不同的布和饰面背景,而且包含了散落在场景周围的随机不透明物体。它们既包含合成训练集中已有的对象,也包含新对象。

左:实景图拍摄设置;中:自定义用户界面支持精确地用喷漆复制替换每个透明对象;右:捕获数据的示例。



挑战

虽然通过透明物体看到的扭曲的背景视图混淆了典型的深度估计方法,但是也有一些线索暗示了物体的形状。透明的表面也有镜面反射,这种反射跟镜子一样,在光线充足的环境中就变成亮点了。由于这些视觉线索在 RGB 图像中比较突出,并且主要受到物体形状的影响,因此卷积神经网络可以利用这些反射来推断出准确的表面法线,然后再用于深度估计。

透明物体上的镜面反射反映了不同的特征,这些特征根据物体的形状而变化,并为估计表面法线提供了极其有用的视觉线索。



大多数机器学习算法试图直接从单目 RGB 图像中估计深度。然而,即便对人类来说,单目深度估计也是一个非适定(ill-posed)的任务。团队观察到,在估计平坦背景表面的深度时存在较大的误差,这就增加了对位于其上的透明物体深度估计的误差。因此,与直接估计所有几何图形的深度不同,纠正 RGB-D 3D 相机的初始深度估计值可能更实用——能够使用非透明表面的深度来通知透明表面的深度。

ClearGrasp 算法

ClearGrasp 用了 3 种神经网络:一种网络用于估计表面法线,一种用于遮挡边界(深度上不连续),另一种用于遮挡透明对象。遮挡会删除跟透明对象有关的所有像素,以便填充其正确的深度。然后,使用一个全局优化模块,从已知的表面开始扩展深度,并使用预测的表面法线来指导重建的形状,然后使用预测的遮挡边界来保持不同对象之间的分离。

方法概述:点云首先根据输出深度生成,然后根据其表面法线着色。



每个神经网络都在透明的合成数据集上训练,它们在实景图中的透明物体上表现良好。然而,对于其他表面,如墙壁或水果,表面的法线估计是很差的。这个合成数据集还存在局限性,它只包含地面上的透明对象。为了减轻这个问题的影响,团队在表面法线训练循环中加入了一些来自 Matterport3D 和 ScanNet 数据集的真实室内场景。通过对域内的合成数据集和域外的实景数据集的训练,该模型在测试集中表现良好。

在 a) Matterport3D 和 ScanNet (MP+SN),b) 谷歌的合成数据集,c) MP+SN 以及谷歌的合成数据集训练后的表面法线估计。注意,在 MP+SN 上训练的模型没有检测到透明的物体。只训练合成数据的模型能很好地识别真实的塑料瓶,但却无法识别其他物体和物体表面。当模型同时在这两中数据集上训练时,就可以同时满足这两方面的需求。



结果

总体而言,定量实验表明 ClearGrasp 能够重建透明物体的深度,且比其他方法有更高的保真度。尽管模型只在合成透明物体上训练,但能够很好地适应真实世界的领域,比如在跨领域的已知物体上实现了几乎一样的定量重建性能。这个模型还可以很好地推广到具有从未见过的复杂形状的新对象。

为了检验 ClearGrasp 的定量性能,团队基于输入和输出深度图像构建了 3D 点云,如下图所示(更多的例子可以在项目页面上找到:https://sites.google.com/view/cleargrasp/results)。由此估计出的三维表面具有干净且连贯的重建形状——这对三维制图和三维物体检测等应用来说很重要,也没有在单目深度估计方法中看到的锯齿噪声。可以证明模型是稳健的,并在复杂的条件下(如识别位于图案背景中的透明对象或区分部分遮挡的透明对象)表现良好。

对真实图像的定量结果。前两行:已知对象的结果。底部两行:对新对象的结果。点云是基于其相应的深度图像生成生成的,用其表面法线着色。


最重要的是,ClearGrasp 的输出深度可以直接用作使用 RGB-D 图像的最先进的操作算法的输入。用 ClearGrasp 的输出深度估计替换原始的传感器数据后,UR5 机器人手臂抓取算法在抓取透明物体的成功率上有了显著的提高。当使用平行颌夹持器时,成功率从基线的 12% 提高到 74%,吸物时从 64% 提高到 86%。

使用 ClearGrasp 操作新的透明对象。值得注意的是,这些条件是有挑战性的:没有纹理的背景,复杂的物体形状和定向光,同样有令人困惑的阴影和焦散(当光线从表面反射或折射时产生的光的模式)。

局限性及未来的工作

这一合成数据集的限制之一是它不能准确地表示焦散,这个问题同样来自于传统的路径跟踪算法渲染的限制。因此,模型忽略了明亮焦散和阴影是独立的透明物体这一点。尽管有这些缺点,谷歌与 ClearGrasp 的合作表明,合成数据仍然是一种可行的方法,可以得到基于学习的深度重建方法的有效结果。未来工作中一个比较好的方向是通过生成物理上正确的焦散和表面缺陷(如指纹)来改进到真实世界图像的域迁移。

ClearGrasp 证明了高质量的渲染可以成功地训练出在现实世界中表现良好的模型。团队还希望该数据集可以推动对数据驱动的透明对象感知算法的进一步研究。下载链接和更多的示例图像可以在谷歌的项目网站(前文提过)和谷歌的 GitHub 页面(https://github.com/Shreeyak/cleargrasp)中找到。


原文链接:https://ai.googleblog.com/2020/02/learning-to-see-transparent-objects.html
工程计算机视觉哥伦比亚大学谷歌
4
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

推荐文章
暂无评论
暂无评论~