机器学习(ML)的最新技术已经在许多计算机视觉任务上取得了SOTA的结果,但仅仅是通过在2D照片上训练模型而已。
在这些成功的基础上,提高模型对 3D 物体的理解力有很大的潜力来支持更广泛的应用场景,如增强现实、机器人、自动化和图像检索。
今年早些时候,谷歌发布了 MediaPipe Objectron,一套为移动设备设计的实时 3D 目标检测模型,这个模型是基于一个已标注的、真实世界的 3D 数据集,可以预测物体的 3D 边界。
然而,理解3D 中的对象仍然是一项具有挑战性的任务,因为与2D 任务(例如,ImageNet、 COCO 和 Open Images)相比,缺乏大型的真实世界数据集。
为了使研究团体能够继续推进3D 对象理解,迫切需要发布以对象为中心的视频数据集,这些数据集能够捕获更多的对象的3D 结构,同时匹配用于许多视觉任务(例如,视频或摄像机流)的数据格式,以帮助机器学习模型的训练和基准测试。
近期谷歌发布了 Objectron 数据集,这是一个以对象为中心的短视频剪辑数据集,从不同的角度捕捉了一组更大的普通对象。
每个视频剪辑都伴随着 AR 会话元数据,其中包括摄像机姿态和稀疏点云。数据还包含为每个对象手动注释的3D 边界,这些 bounding box 描述了对象的位置、方向和尺寸。
每个视频剪辑都随附有 AR 的元数据,其中包括相机姿势和稀疏点云。数据还包含每个对象的手动注释的 3D 边界框,用于描述对象的位置,方向和尺寸。
该数据集包括15K 注释视频剪辑与超过4M 注释图像收集的地理多样性样本(涵盖10个国家横跨五大洲)。
3D 目标检测解决方案
除了这个数据集,谷歌还分享了一个 3D 目标检测解决方案,可以用于4类物体:鞋子、椅子、杯子和相机。
这些模型是在 MediaPipe 中发布的,MediaPipe 是谷歌的开源框架,用于跨平台可定制的流媒体机器学习解决方案,它同时也支持机器学习解决方案,比如设备上的实时手势、虹膜和身体姿态跟踪。
与之前发布的 single-stage Objectron 模型相比,这些最新版本采用了两级架构。
第一级使用 TensorFlow 目标检测模型来寻找物体的 2D 裁剪,第二级使用图像裁剪来估计三维bounding box,同时计算下一帧对象的二维裁剪,使得目标检测器不需要运行每一帧。
第二阶段的三维 bounding box 预测器是以83 FPS在 Adreno 650 GPU 上运行。
3D 目标检测的评估指标
有了真实的注释,我们就可以使用 3D IoU(intersection over union)相似性统计来评估 3D 目标检测模型的性能,这是计算机视觉任务常用的指标,衡量bounding box与ground truth的接近程度。
谷歌提出了一种计算一般的面向三维空间的精确 3D IoU 的算法。
首先使用 Sutherland-Hodgman Polygon clipping 算法计算两个盒子面之间的交点,这类似于计算机图形学的剔除技术(frustum culling),利用所有截断多边形的凸包计算相交的体积。最后,通过交集的体积和两个盒子的并集的体积计算 IoU。
谷歌表示将随数据集一起发布评估的源代码。
数据格式
Objectron 数据集的技术细节,包括使用和教程,均可在数据集网站上获得。这些数据集中的物体包括自行车、书籍、瓶子、相机、麦片盒、椅子、杯子、笔记本电脑和鞋子等,和数据集一起发布的具有以下内容:
1.视频序列
2.带注释的标签(目标的3D 边界框)
3.AR 元数据 (如照相机姿态、点云和平面表面)
4.处理过的数据集: 混合版本的带注释的帧、tf.example 格式的图像和
SequenceExample 格式的视频
5.支持基于上面描述的度量评估的脚本
6.支持脚本将数据加载到 Tensorflow、Pytorch、Jax并且可视化数据集
除了数据集,谷歌还开放了数据管道来解析 Tensorflow、 PyTorch 和 Jax 框架中的数据集。还提供了 colab notebook 的实例 。
通过发布这个 Objectron 数据集,谷歌希望能够使研究团体推进三维物体几何理解的极限。同时也希望促进新的研究和应用,如视图合成,改进的 3D 表示和非监督式学习等。
参考链接: