全国热线电话
热线电话:020-123456789
当前位置:首页>电流电压传感器

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

时间:2024-05-09 13:42:33来源:深圳市安川测量仪器有限公司

选自GoogleAIBlog

作者:ShreeyakSajjan

机器之心编译

参与:王子嘉、让光蛋酱

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

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

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

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

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

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

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

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

透明对象的可视化数据集

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

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

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

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

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

挑战

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

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

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

ClearGrasp算法

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

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

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

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

结果

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

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

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

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

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

局限性及未来的工作

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

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