谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于( 二 )


文章图片
AR合成数据生成示例:将虚拟的白色和棕色麦片盒渲染至真实场景中 , 旁边是一本真实的蓝色书
【谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于】用于3D对象检测的ML流水线
我们构建一个单阶段模型 , 以从RGB图像预测对象的姿态和物理大小 。
模型的主干包含基于MobileNetv2构建的编码器-解码器架构 。 我们采用多任务学习方法 , 通过将检测和回归联合来预测对象的形状 。 形状任务根据可用的地面实况标注标注(如分割)来预测对象的形状信号 。 如果训练数据中没有形状标注 , 则可以选择不进行此操作 。
对于检测任务 , 我们使用了已标注的边界框 , 对该框进行高斯拟合(中心位于该框的中间 , 标准差与框的大小成正比) 。 检测的目标是预测峰值表示物体的中心位置的分布情况 。 回归任务是估计八个边界框顶点的2D投影 。
为确定边界框的3D坐标 , 我们利用一种较完善的姿态估计算法(EPnP) 。 此算法可在无需提前获取物体的尺寸信息的情况下 , 复原物体的3D边界框 。 只要有了3D边界框 , 我们就可以轻松计算物体的姿态和大小 。 下图所示为我们的网络架构和后处理 。 此轻量级的模型足以满足在移动设备上实时运行的需求(在Adreno650移动GPU上为26FPS) 。
谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于
文章图片
3D对象检测的网络架构和后处理
谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于
文章图片
模型的样本结果—[左侧]:带预估边界框的原始2D图像 , [中间]:基于高斯分布的对象检测 , [右侧]:预测分割掩码
在MediaPipe中检测和追踪
当模型应用到移动设备捕获的每一帧时 , 由于这些帧预估的3D边界框可能比较模糊 , 所以模型会抖动 。 为解决这一问题 , 我们采用近期在2D对象检测和追踪解决方案中发布的检测+追踪框架 。 此框架可降低模型在每帧运行时对网络的需求 , 允许重复使用从而获得更高精度 , 同时流水线在移动设备上也能保持实时运行 。 此外 , 还能跨帧保留物体标识 , 确保预测在时间上的一致性 , 减少抖动 。
为进一步提高我们移动流水线上的效率 , 我们每隔几帧运行一次模型推理 。 接着 , 我们使用之前文章中所述的实时运动追踪和MotionStills相结合的方法随时间发展进行预测和追踪 。 在做出新预测时 , 我们会根据叠加区域将检测结果与追踪结果合并 。
为了鼓励研究和开发者使用我们的流水线进行实验和原型设计 , 我们将在MediaPipe中发布基于设备的ML流水线 , 其中包括端到端演示移动应用 , 以及我们用于两类物品(鞋子和椅子)开发的训练模型 。 通过与广泛的研究和开发社区共享我们的解决方案 , 我们希望能激发出更多新的用例、应用和研究 。 未来 , 我们计划将这一模型扩展到更多类别 , 并进一步提高设备上运行性能 。
谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于
文章图片
谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于
文章图片
谷歌开发者@MediaPipe 的移动端实时 3D 对象检测,基于
文章图片
野外3D对象检测示例
致谢
这篇博文所述的研究由AdelAhmadyan、TingboHou、JianingWei、MatthiasGrundmann、LiangkaiZhang、JiuqiangTang、ChrisMcClanahan、TylerMullen、BuckBourdon、EshaUboweja、MoganShieh、SiarheiKazakou、MingGuangYong、Chuo-LingChang和JamesBruce共同完成 。 我们感谢AliaksandrShyrokau和标注团队对高质量标注的辛勤付出 。
如果您想详细了解本文讨论的相关内容 , 请参阅以下文档 。 这些文档深入探讨了这篇文章中提及的许多主题:2D对象预测https://ai.googleblog.com/2017/06/supercharge-your-computer-vision-models.html百万智能手机https://arinsider.co/2019/05/13/arcore-reaches-400-million-devices/构建一个单阶段模型https://arxiv.org/abs/2003.03522MobileNetv2https://ai.googleblog.com/2018/04/mobilenetv2-next-generation-of-on.htmlEPnPhttps://www.epfl.ch/labs/cvlab/software/multi-view-stereo/epnp/实时运动追踪https://ai.googleblog.com/2018/02/the-instant-motion-tracking-behind.htmlMotionStillshttps://ai.googleblog.com/2016/12/get-moving-with-new-motion-stills.html端到端演示移动应用https://github.com/google/mediapipe/blob/master/mediapipe/docs/objectron_mobile_gpu.md鞋子https://github.com/google/mediapipe/blob/master/mediapipe/models/object_detection_3d_sneakers.tflite椅子https://github.com/google/mediapipe/blob/master/mediapipe/models/object_detection_3d_chair.tflite


推荐阅读