飞道的博客

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

435人阅读  评论(0)

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

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

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

  • Open Images
    https://storage.googleapis.com/openimages/web/index.html

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

Objectron 数据集中的示例视频

  • Objectron 数据集
    https://github.com/google-research-datasets/Objectron/

3D 目标检测解决方案

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

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

  •  3D 目标检测解决方案
    http://solutions.mediapipe.dev/objectron

  • MediaPipe
    http://mediapipe.dev

  • ML 解决方案
    http://solutions.mediapipe.dev

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

  • TensorFlow 目标检测
    https://github.com/tensorflow/models/tree/master/research/object_detection

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

3D 目标检测的评估指标

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

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

  • 评估指标源代码
    https://github.com/google-research-datasets/Objectron

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

数据集格式

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

  • 视频序列

  • 注解标签(目标的 3D 边界框)

  • AR 元数据(如摄像头姿态、点云和平面)

  • 经处理的数据集:注解帧的乱序版本,图像的格式为 tf.example,视频的格式为 SequenceExample。

  • 基于上述指标运行评估的支持脚本

  • 将数据加载到 TensorFlow、PyTorch 和 Jax 并可视化数据集的支持脚本(包括“Hello World”示例)

  • 数据集页面
    https://github.com/google-research-datasets/Objectron

  • objectron 存储分区
    https://storage.googleapis.com/objectron

  • Jax
    https://github.com/google/jax

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

  • Colab Notebook
    https://github.com/google-research-datasets/Objectron

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

  • 邮件组
    https://groups.google.com/g/objectron

致谢

本文所述研究由 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 指导。

更多 AI 相关阅读:


转载:https://blog.csdn.net/jILRvRTrc/article/details/110848084
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场