Adel Ahmadyan、Tingbo Hou作者

移动端实时3D目标检测,谷歌开源出品,安卓下载就能用

常规目标检测,已经不能满足移动端了,谷歌开源的 3D 实时目标检测了解一下?

目标检测是一个得到广泛研究的计算机视觉问题,但大多数研究侧重于 2D 目标检测。值的注意的是,2D 预测仅能提供 2D 边界框。所以,如果扩展至 3D 预测,人们可以捕捉到目标的大小、位置与方向,从而在机器人、无人驾驶、图像检索和 AR 等领域得到更广泛的应用。

尽管 2D 目标检测已经相当成熟,并在工业界广泛应用,但由于数据缺乏以及同类别下目标形状和外观的多样性,从 2D 转向 3D 目标检测依然会面临较大的挑战。

今日,谷歌宣布推出 MediaPipe Objectron,这是一种适用于日常物体的移动端实时 3D 目标检测 pipeline,它能够检测 2D 图像中的目标,并通过新创建 3D 数据集上训练的机器学习模型来估计这些目标的姿态和大小。

具体而言,MediaPipe 是一个用于构建 pipeline 进而处理不同模态感知数据的跨平台开源框架,Objectron 则在 MediaPipe 中实现,其能够在移动设备上实时计算目标的定向 3D 边界框。

从单个图像进行 3D 目标检测。MediaPipe 可以在移动端上实时确认目标对象的位置、方向以及大小。整个模型非常精简,速度也非常快,研究者将整套方案都开源了出来。
  • 框架地址:https://github.com/google/mediapipe/

  • 项目地址:https://github.com/google/mediapipe/blob/master/mediapipe/docs/objectron_mobile_gpu.md

MediaPipe 是谷歌去年 7 月份发布的一个多媒体框架,它在安卓、IOS 网页等各种平台上都能应用机器学习媒体模型。昨日 MediaPipe 发布 0.7 版,并加入了移动端试试 3D 检测模型。目前 MediaPipe 包含人脸检测、手部检测、头发分割和视频自动横竖屏转换等功能。

获取真实的 3D 训练数据

随着依赖于 3D 传感器(如 LIDAR)的自动驾驶行业发展普及,现在已有大量街道场景的 3D 数据,但对于日常生活中拥有更细颗粒度的目标来说,有标注的 3D 数据集就非常有限了。所以,为了解决此问题,谷歌团队使用了 AR 会话(Session)数据开发了一种全新的数据 Pipeline。

此外,随着 ARCore 以及 ARkit 的出现,数亿体量的智能手机拥有了 AR 功能,并且能够通过 AR 会话取获取更多的信息,包括相机姿态、稀疏 3D 点云、光照估计以及平面区域估计。

为了标记真实数据,团队构建了一个全新的标注工具,并且与 AR 会话数据一起使用,该标注工具使标注者得以快速标记目标的 3D 边界框。

该工具使用了分屏视图来显示 2D 的视频帧,同时在其左侧叠加 3D 边界框,并在右侧显示 3D 点云,摄像机方位以及所检测到的水平面。标注器在 3D 视图中绘制 3D 边界框,并通过查看 2D 视频帧中的投影来验证其位置。

左:带标注的 3D 边界框所形成的投影展示在边界框顶部,更易于验证标注;右:通过检测到的目标表面以及稀疏点云数据,可以为不同的相机姿态标注真实世界中的 3D 边界框。

AR 合成数据

之前常用的方法会根据合成数据补充真实数据,以提高预测的准确性。然而这样的做法通常会导致质量低下、不真实的数据,且如果要执行图像的真实感渲染,又需要更多的计算力。

研究者采用了另一种称之为 AR 合成数据(AR Synthetic Data Generation)的方法,只要将对象放到 AR 系统的工作场景中,我们就能利用相机姿态估计、水平面检测、光照估计生成物理上可能存在的位置及场景。这种方法能生成高质量合成数据,并无缝匹配实际背景。通过结合真实数据与 AR 合成数据,研究者能将模型的准确性提高约 10%。

AR 合成数据的生成示例,在蓝色书籍旁边,虚拟的白色盒子可以渲染到真实场景中。

3D 目标检测的流程是什么样的

对于 3D 目标检测,研究者先构建了一个单阶段模型 MobilePose,以预测单张 RGB 图像中某个目标的姿态和物理大小。该模型的主干是一个编码器-解码器架构,其构建在 MobileNet V2 的基础上。研究者应用了多任务学习方法,来从检测与回归的角度联合预测目标的形状,且在预测形状的过程中,其只依赖于标注的分割图像。

MobilePose-Shape 网络在中间层会带有形状预测模块。

在模型的训练中,如果数据没有标注形状,那也是可行的。只不过借助检测边界框,研究者可以预测形状中心与分布。

为了获得边界框的最终 3D 坐标,研究者利用了一种完善的姿态估计算法(EPnP),它可以恢复对象的 3D 边界框,而无需知道对象维度这一先验知识。给定 3D 边界框,我们可以轻松计算对象的姿态和大小。

下图显示了网络架构和后处理过程,该模型轻巧到可以在移动设备上实时运行(在 Adreno 650 mobile GPU 上以 26 FPS 的速度运行)。

3D 目标检测神经网络架构与后处理过程。

模型的示例结果,其中左图为估计边界框的原始 2D 图像,中间为带高斯分布目标检测,最右边为预测的分割 Mask。

在 MediaPipe 中进行检测和追踪

当模型对移动设备获得的每一帧图像进行计算的时候,它可能会遇到晃动的情况,这是因为每一帧对目标边界框预测本身的模糊性造成的。为了缓解这个问题,研究者采用了检测+追踪的框架,这一框架近期被用于 2D 检测和追踪中。这个框架减少了需要在每一帧上运行网络的要求,因此可以让模型的检测更为精确,同时保证在移动端上的实时性。它同时还能保持识别帧与帧之间的目标,确保预测的连贯性,减少晃动。

为了进一步提升这一 pipeline 的效率,研究者设置模型在每几帧后再进行一次模型推理。之后,他们使用名为快速动作追踪(instant motion tracking)和 Motion Stills 技术进行预测和追踪。当模型提出一个新的预测时,他们会根据重叠区域对检测结果进行合并。

为了鼓励研究者和开发者基于这一 pipeline 进行试验,谷歌目前已经将研究成果开源到了 MediaPipe 项目中,包括端到端的移动设备应用 demo,以及在鞋、椅子两个分类中训练好的模型。研究者希望这一解决方案能够更好地帮助到社区,并产生新的方法、应用和研究成果。团队也希望能够扩大模型到更多类别中,进一步提升在移动端设备的性能表现。

室内和户外 3D 目标检测示例。

原文链接:https://ai.googleblog.com/2020/03/real-time-3d-object-detection-on-mobile.html

理论安卓移动端谷歌目标检测3D
21
相关数据
图像检索技术

图像检索系统是用于从大型数字图像数据库浏览、搜索和检索图像的计算机系统。 大多数传统和常见的图像检索方法利用向图像添加诸如字幕、关键字或描述之类的元数据的一些方法,以便可以对注释词执行检索。 手动图像注释耗时,费力且昂贵; 为了解决这个问题,人们已经对自动图像标注进行了大量研究。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

多任务学习技术

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

人脸检测技术

人脸检测(face detection)是一种在任意数字图像中找到人脸的位置和大小的计算机技术。它可以检测出面部特征,并忽略诸如建筑物、树木和身体等其他任何东西。有时候,人脸检测也负责找到面部的细微特征,如眼睛、鼻子、嘴巴等的精细位置。

姿态估计技术

姿势估计是指检测图像和视频中的人物形象的计算机视觉技术,以便确定某人的某个肢体出现在图像中的位置。

推荐文章
牛逼