『』谷歌用MediaPipe实现手机高效实时3D对象检测

对象检测是一个广泛研究的计算机视觉问题 , 但大多数研究都集中在2D对象预测方面 。2D预测仅提供2D边界框 , 但通过将预测扩展到3D , 我们可以捕获对象的现实世界大小 , 位置和方向 , 从而在机器人技术 , 自动驾驶汽车 , 图像检索和增强现实等领域实现一系列的用例 。尽管2D对象检测相对成熟并已在行业中广泛应用 , 但由于缺乏数据 , 以及对象外观和形状的多样性 , 基于2D图像的3D对象检测依然是一个十分具有挑战性的课题 。
『』谷歌用MediaPipe实现手机高效实时3D对象检测
文章图片

文章图片

针对这个问题 , 谷歌日前发布了用于日常对象的实时3D对象检测管道MediaPipe Objectron 。所述工具可以检测2D图像中的对象 , 并利用由新建3D数据集进行训练的机器学习模型来估计其姿态和大小 。MediaPipe是一个开源代码跨平台框架 , 主要用于构建用于处理不同形式的感知数据的管道 , 而Objectron在MediaPipe中实现 , 并能够在移动设备中实时计算面向对象的3D边界框 。
根据单张图像进行3D对象检测 。MediaPipe Objectron可以支持确定移动设备实时确定日常对象的位置 , 方向和大小 。
1. 获取真实世界3D训练数据
由于依赖于3D传感器(如LIDAR)的自动驾驶汽车研究日益普及 , 业界存在用于街景的大量3D数据 , 但包含面向日常对象的ground truth 3D注释的数据集依然非常有限 。为了克服这个问题 , 谷歌团队利用移动增强现实会话数据开发了一种全新的数据管道 。随着ARCore和ARKit的到来 , 数亿智能手机现在已经具有AR功能 , 并且能够在AR会话中捕获更多信息 , 包括camera姿态 , 稀疏3D点云 , 估计照明和平面 。
【『』谷歌用MediaPipe实现手机高效实时3D对象检测】为了标记ground truth数据 , 团队构建了一个新颖的注释工具以搭配AR会话数据 , 从而允许Annotator可以快速标记对象的3D边界框 。工具利用分屏视图来显示2D视频帧 , 在左侧叠加3D边界框 , 并在右侧显示3D点云 , camera位置和检测平面 。Annotator在3D视图中绘制3D边界框 , 并通过查看2D视频帧中的投影来验证其位置 。对于静态对象 , 我们只需要在单帧中注释对象 , 并使用来自AR会话数据的ground truth camera姿态信息将位置传播到所有帧 。这可以大大提高过程的效率 。
用于3D对象检测的真实数据注释 。右:在3D世界中检测表面和点云标注3D边界框 。左:带注释3D边界框的投影叠加于视频帧 , 从而便以验证注释 。
2. 增强现实合成数据生成
为提高预测的精度 , 一种流行的方法是用合成数据补充现实世界的数据 。但这种方式做通常会带来糟糕的 , 不真实的数据 , 或者在图像真实感渲染时需要大量的精力和计算量 。所以谷歌提出了一种名为AR Synthetic Data Generation(增强现实合成数据生成)的新颖方法 。它可以将虚拟对象放置到具有AR会话数据的场景中 , 允许你利用camera姿态 , 检测平面和估计照明来生成物理可能的位置 , 以及具有与场景匹配的照明 。这种方法可生成高质量的合成数据 , 其包含的渲染对象能够尊重场景的几何形状并无缝地适配实际背景 。通过结合现实世界数据和增强现实合成数据 , 谷歌表示精度提高了约10% 。
增强现实合成数据生成的一个示例:虚拟白褐色谷物盒渲染到真实场景中 , 紧邻真实蓝皮书 。
3. 用于3D对象检测的机器学习管道
为了从单个RGB图像预测对象的姿态和物理尺寸 , 谷歌构建了一个单阶段模型 。所述模型主干具有基于MobileNetv2构建的编码器-解码器架构 。团队采用多任务学习方法 , 通过检测和回归来共同预测对象的形状 。形状任务根据可用的ground truth注释来预测对象形状信号 。这属于可选选项 , 可用于训练数据中缺乏形状注释的情况 。对于检测任务 , 团队使用带注释的边界框并将高斯拟合到框 , 中心位于框质心 , 标准偏差与框大小成正比 。回归任务估计八个边界框顶点的2D投影 。为了获得边界框的最终3D坐标 , 团队利用了完善的姿态估计算法(EPnP) 。它可以恢复对象的3D边界框 , 无需事先知晓对象的尺寸 。给定3D边界框 , 团队可以轻松计算对象的姿态和大小 。下图是具体的网络架构和后处理 。所述模型非常轻巧 , 可以支持移动设备实时运行(在Adreno 650移动GPU为26 FPS) 。


推荐阅读