Google 研究的扫描对象:3D 扫描的常见家居用品数据集

1726673735322.jpg

计算机视觉和机器人技术的许多最新进展都依赖于深度学习,但训练深度学习模型需要各种各样的数据才能推广到新的场景。从历史上看,计算机视觉的深度学习依赖于通过网络抓取收集的包含数百万个项目的数据集,例如ImageNet、Open Images、YouTube-8M和COCO。然而,创建这些数据集的过程可能非常耗费人力,并且仍然会出现标记错误,从而扭曲对进度的感知。此外,这种策略不容易推广到任意三维形状或现实世界的机器人数据。

现实世界的机器人数据收集非常有用,但难以扩展且难以标记(图片来自BC-Z)。

使用Gazebo、MuJoCo和Unity 等工具模拟机器人和环境可以缓解这些数据集中的许多固有限制。然而,模拟只是现实的近似——用多边形和基元构建的手工模型通常与真实物体的对应性很差。即使场景是直接从真实环境的 3D 扫描构建的,该扫描中的可移动物体也会像固定的背景场景一样,不会像真实世界物体那样做出反应。由于这些挑战,很少有大型库具有高质量的 3D 对象模型,可以将其纳入物理和视觉模拟中,以提供深度学习所需的多样性。

在ICRA 2022上展示的 “ Google 扫描对象:3D 扫描家居用品的高质量数据集”中,我们描述了我们通过创建扫描对象数据集来满足这一需求的努力,该数据集是 1000 多种 3D 扫描常见家居用品的精选集合。扫描对象数据集可用于读取模拟描述格式(SDF) 模型的工具,包括 Gazebo 和PyBullet机器人模拟器。扫描对象托管在Open Robotics上,这是一个与 Gazebo 模拟器兼容的模型的开源托管环境。

历史

谷歌的机器人研究人员于 2011 年开始扫描物体,创建常见家用物品的高保真 3D 模型,以帮助机器人识别和抓取其环境中的物品。然而,很明显,除了物体识别和机器人抓取之外,3D 模型还有许多用途,包括物理模拟的场景构建和最终用户应用程序的 3D 物体可视化。因此,这个扫描物体项目得到了扩展,为谷歌带来了大规模的 3D 体验,通过比传统商业级产品摄影更高效、更划算的流程收集了大量家用物品的 3D 扫描图。

扫描对象是一项端到端的工作,几乎在流程的每个阶段都涉及创新,包括大规模整理用于 3D 扫描的对象、开发新型 3D 扫描硬件、高效的 3D 扫描软件、用于质量保证的快速 3D 渲染软件以及用于网络和移动查看器的专用前端。我们还进行了人机交互研究,以创造与 3D 对象交互的有效体验。

获取的用于扫描的物体。

这些对象模型在Everyday Robots 的 3D 可视化中被证明非常有用,该项目使用这些模型来弥补训练中的模拟与现实差距,这项工作后来以RetinaGAN 和 RL-CycleGAN 的形式发布。在这些早期的 3D 扫描工作的基础上,我们在 2019 年开始准备扫描对象数据集的外部版本,并将之前的一组 3D 图像转换为可抓取的 3D 模型。

对象扫描

为了创建高质量的模型,我们构建了一个扫描装置,用于在受控且经过精心校准的条件下从多个方向捕捉物体的图像。该系统由两个用于形状检测的机器视觉摄像头、一个用于高质量 HDR 彩色帧提取的 DSLR 摄像头和一个用于模式识别的计算机控制投影仪组成。扫描装置使用结构光技术,该技术通过投射到物体上的光图案从相机图像中推断出 3D 形状。

用于捕捉 3D 模型的扫描设备。

正在扫描的鞋子(左)。图像是从多个方向捕捉的,光线和颜色的图案各不相同。阴影掠过物体(右)说明了如何利用阴影边缘的离轴视图捕捉 3D 形状。

仿真模型转换

早期的内部扫描模型使用了协议缓冲区元数据、高分辨率视觉效果和不适合模拟的格式。对于某些物体,可以通过在扫描时称重来获取物体的物理属性(例如质量),但无法表示表面属性(例如摩擦或变形)。

因此,在数据收集之后,我们构建了一个自动化流程来解决这些问题,并支持在模拟系统中使用扫描模型。自动化流程会过滤掉无效或重复的对象,使用对象的文本描述自动分配对象名称,并消除不符合模拟要求的对象网格扫描。接下来,流程会根据形状和体积估算模拟属性(例如质量和惯性矩),构建碰撞体积,并将模型缩小到可用大小。最后,流程会将每个模型转换为 SDF 格式,创建缩略图,并打包模型以供在模拟系统中使用。

该管道过滤不适合模拟的模型,生成碰撞体,计算物理属性,下采样网格,生成缩略图,并将它们全部打包以用于模拟系统。

在Blender中渲染的扫描对象模型集合。

该管道的输出是一个适当格式的模拟模型,其中包含名称、质量、摩擦力、惯性和碰撞信息,以及可在公共界面中搜索的元数据,该公共界面与我们在 Open Robotics 的Gazebo 上的开源托管兼容。

输出对象表示为 SDF 模型,这些模型引用Wavefront OBJ 网格,平均每个模型 1.4 Mb。这些模型的纹理采用 PNG 格式,平均 11.2 Mb。这些模型共同提供高分辨率形状和纹理。

影响

扫描对象数据集包含 1030 个扫描对象及其相关元数据,总计 13 Gb,根据CC-BY 4.0 许可获得许可。由于这些模型是扫描的而不是手工建模的,因此它们真实地反映了真实对象的属性,而不是理想化的再现,从而降低了将学习从模拟转移到现实世界的难度。

输入视图(左)和从右侧两个新视图重建的形状和纹理(来自可区分立体视觉的图)。

来自Replica数据集和 Scanned Objects的三个真实世界 3D 扫描的可视化动作评分预测(图来自Where2Act)。

扫描对象数据集已在 25 多篇论文和多个项目中使用,涉及计算机视觉、计算机图形学、机器人操作、机器人导航和3D 形状处理。大多数项目都使用该数据集为学习算法提供合成训练数据。例如,扫描对象数据集用于Kubric(一种可扩展数据集的开源生成器,可用于十几个视觉任务)和LAX-RAY(一种使用侧向 X 射线搜索货架的系统,可自动机械搜索货架上被遮挡的物体)。

真实世界数据上的无监督 3D 关键点(图来自KeypointDeformer)。

我们希望未来更多机器人和模拟研究人员能够使用“扫描对象”数据集,并希望该数据集树立的榜样能够激励其他 3D 模型存储库所有者,让世界各地的研究人员都能使用它们。如果您想亲自尝试,请前往Gazebo并开始浏览!

致谢

作者感谢 Scanned Objects 团队,包括 Peter Anderson-Sprecher、JJ Blumenkranz、James Bruce、Ken Conley、Katie Dektar、Charles DuHadway、Anthony Francis、Chaitanya Gharpure、Topraj Gurung、Kristy Headley、Ryan Hickman、John Isidoro、Sumit Jain、Brandon Kinman、Greg Kline、Mach Kobayashi、Nate Koenig、Kai Kohlhoff、James Kuffner、Thor Lewis、Mike Licitra、Lexi Martin、Julian (Mac) Mason、Rus Maxham、Pascal Muetschard、Kannan Pashupathy、Barbara Petit、Arshan Poursohi、Jared Russell、Matt Seegmiller、John Sheu、Joe Taylor、Vincent Vanhoucke、Josh Weaver 和 Tommy McHugh。

特别感谢 Krista Reymann 组织这个项目、帮助撰写论文和编辑这篇博文、James Bruce 负责扫描管道设计以及 Pascal Muetschard 维护对象模型数据库。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论