发布 Objectron 数据集,推进对 3D 目标的理解

文 / Adel Ahmadyan 和 Liangkai Zhang,软件工程师,Google Research

机器学习 (ML) 技术日新月异,目前仅通过图片训练模型,就能在大量计算机视觉任务中取得卓越的准确率。基于这些成功快速发展的 3D 目标理解研究,为增强现实、机器人、自主性和图像检索等更广泛的应用提供动力。例如,我们在今年早些时候发布了一套专为移动设备设计的实时 3D 目标检测模型—— MediaPipe Objectron,该模型在具有完全注解的真实世界 3D 数据集上训练,可以预测目标的 3D 边界框。

然而,与 2D 任务(例如 ImageNet、COCO 和 Open Images)相比,由于大型真实世界数据集的缺少,理解 3D 目标仍然是一项具有挑战性的任务。为了帮助科研界能够在 3D 目标理解领域持续取得研究成果,亟需发布以目标为中心,记录着更多 3D 结构信息的视频数据集,并使之能够匹配多种视觉任务的数据格式(例如视频或摄像头流),帮助对机器学习模型进行训练和基准测试。

近日,我们发布了 Objectron 数据集,这是一个以目标为中心的短视频剪辑合集,包含大量从不同角度拍摄的常见目标。每个视频剪辑都随附 AR 会话元数据,如包括摄像头姿态和稀疏点云。数据还包含每个目标的手动标记 3D 边界框,描述目标的位置、方向和尺寸。数据集包含 1.5 万个带注解的视频剪辑,辅以收集自地理多样化样本的 400 多万个注解图像(覆盖五大洲的 10 个国家/地区)。

Objectron 数据集中的示例视频

3D 目标检测解决方案

除了数据集以外,针对鞋子、椅子、杯子和摄像头这四类目标我们还分享了 3D 目标检测解决方案 并在 MediaPipe 中发布。MediaPipe 是 Google 的开源跨平台定制化 ML 解决方案框架,适用于实时和流媒体,同时支持设备端上手实时的 手部虹膜身体姿态追踪ML 解决方案

3D 目标检测解决方案 在移动设备上运行的示例结果

不同于先前发布的 单阶段 Objectron 模型,最新版本采用的是两阶段架构。第一阶段通过 TensorFlow 目标检测 模型查找目标的 2D 裁剪。然后,第二阶段通过图像裁剪预估 3D 边界框,同时为下一帧计算目标的 2D 裁剪,因此目标检测器无需在每一帧都运行。第二阶段 3D 边界框预测器可在 Adreno 650 移动 GPU 上以 83 FPS 的速度运行。

参考示意图:3D 目标检测解决方案

3D 目标检测的评估指标

我们借助真实值注解,使用计算机视觉任务的常用指标 3D 交并比 (Intersection over Union, IoU) 相似度统计,通过衡量边界框与真实值的接近程度,评估 3D 目标检测模型的性能。

我们提出了一种用于通用 3D 检测框计算的精确 3D IoU 值的算法。首先,我们使用 Sutherland-Hodgman 多边形裁剪算法计算两个框的面之间的交点。这类似于计算机图形学中的视锥剔除技术。交集体积由所有裁剪后的多边形的凸包 (Convex hull) 算得。最后,根据两个框的交集体积和并集体积计算 IoU。我们将在发布数据集的同时发布 评估指标源代码

使用多边形裁剪算法计算 3D 交并比,左侧:对框进行多边形裁剪,计算每个面的交点;右侧:通过计算所有交点(绿色)的凸包来计算交集体积

数据集格式

Objectron 数据集的技术细节,包括使用教程,均可在 数据集页面 上获取。数据集包括自行车、书籍、瓶子、摄像头、谷物盒、椅子、杯子、笔记本电脑和鞋子,并与以下素材资源共同存储在 Google Cloud Storage 的 objectron 存储分区 中:

  • 视频序列
  • 注解标签(目标的 3D 边界框)
  • AR 元数据(如摄像头姿态、点云和平面)
  • 经处理的数据集:注解帧的乱序版本,图像的格式为 tf.example,视频的格式为 SequenceExample。
  • 基于上述指标运行评估的支持脚本
  • 将数据加载到 TensorFlow、PyTorch 和 Jax 并可视化数据集的支持脚本(包括“Hello World”示例)

除数据集外,我们还开源了一个数据流水线,用于在流行的框架,如 TensorFlow、PyTorch 和 Jax 框架中解析数据集。同时提供了示例 Colab Notebook 示例。

我们希望 Objectron 数据集能让科研界突破 3D 目标几何解析的极限。我们也希望促进新的研究和应用的发展,如视点合成、改进 3D 表征和无监督学习。请加入我们的 邮件组 或访问我们的 GitHub 页面,及时了解未来的活动和发展。

致谢

本文所述研究由 Adel Ahmadyan、Liangkai Zhang、Jianing Wei、Artsiom Ablavatski、Mogan Shieh、Ryan Hickman、Buck Bourdon、Alexander Kanaukou、Chuo-Ling Chang、Matthias Grundmann 和 Tom Funkhouser 完成。我们感谢 Aliaksandr Shyrokau、Sviatlana Mialik、Anna Eliseeva 以及注解团队的高质量注解。我们还要感谢 Jonathan Huang 和 Vivek Rathod 提供的 TensorFlow Object Detection API 指导。

原文:Announcing the Objectron Dataset
中文:谷歌开发者公众号