专栏首页计算机视觉战队ThunderNet | Two-stage形式的目标检测也可很快而且精度很高

ThunderNet | Two-stage形式的目标检测也可很快而且精度很高

导读

在移动平台上进行实时通用目标检测是一项至关重要但具有挑战性的计算机视觉任务。然而,以往基于cnn的检测器面临着巨大的计算成本,这阻碍了它们在计算受限的情况下进行实时推断。

今天,我们说的这个研究了two-stage检测器在实时通用检测中的有效性,提出了一种名为ThunderNet的轻量级的two-stage检测器。在主干部分,分析了以往轻量级主干网的不足,提出了一种面向目标检测的轻量级主干网络。在检测部分,开发了一种非常有效的RPN和detection head设计。为了产生更多的判别特征表示,设计了两个有效的体系结构块:上下文增强模块和空间注意力模块。

Context Enhancement Module (CEM)

Spatial Attention Module (SAM)

最后,还研究了输入分辨率、主干网络和detection head之间的平衡。与轻量级one-stage检测器相比,ThunderNet在Pascal、VOC和COCO基准上仅占计算量的40%,实现了更好的性能。没有bells和whistles,新模型在基于ARM设备上运行为24.1 fps。这是第一个在ARM平台上报告的实时检测器。

背景介绍

在移动设备上的实时通用对象检测是计算机视觉中的一个重要但具有挑战性的任务。与服务器类GPU相比,移动设备的计算受到限制,并对检测器的通信成本有更严格的限制。然而,基于CNN的现代检测器是资源匮乏的,需要大量的压缩才能达到理想的检测精度,这阻碍了它们在移动场景中的实时推理。

移动端的检测效果

从网络结构的角度来看,基于CNN的检测器可以被分成用于图像的前区域特征的主干部分和检测图像中的目标实例的检测部分。在主干部分中,现有技术的检测器倾向于利用巨大的分类网络(例如Resnet-101)和大的输入图像(例如800或1200像素),这需要大量的计算成本。

近年来,轻量级图像分类网络在GPU上实现了实时目标检测。然而,在图像分类和目标检测之间存在若干差异。例如,目标检测需要大的感受野和低级别的特征(底层特征),以提高定位能力,这对于图像分类来说是不重要的。这两个任务之间的间隙限制了这些骨架对物体检测的性能,并且阻碍了进一步的压缩而不损害检测精度。

另一方面,one-stage检测器直接预测边界框和类的概率。该类别的检测部分由用于预测的附加层组成,这通常需要很少的计算。因此one-stage检测器被广泛认为是实时检测的关键。然而,由于one-stage检测器不进行ROI方向的特征提取和识别,其结果比two-stage检测器的结果要低的多。对于轻量级检测器来说,这一问题更加严重。以前的轻量级one-stage检测器没有达到理想的精度/速度折衷:它们与大型检测器之间存在巨大的交流差距,而它们却无法在移动设备上实现实时检测。它促使我们重新思考:two-stage探测器能否实时检测?

新框架

Input Resolution

two-stage检测器的输入分辨率通常很大,例如FPN使用800×800像素的输入。它带来了许多优点,但也带来了巨大的计算成本。为了提高推理速度,ThunderNet采用320×320像素的输入分辨率。此外,在实践中,观察到输入分辨率应该与主干网的能力相匹配。大输入的小主干和小输入的大主干都不是最优的。

Context Enhancement Module

Light-head R-CNN应用全局卷积网络(GCN)生成薄的特征图。它显著地增加了感受野,但涉及巨大的计算成本。与SNet146耦合,GCN需要由主干(596m vs.298m)所需的触发器中的2个。

因此,决定在ThundNet中放弃这种设计。然而,网络遭受小的感受野,并且不能编码足够的上下文信息。解决这个问题的通用技术是特征金字塔网络(FPN)。然而,现有的FPN结构涉及许多额外的卷积和多个检测分支,这增加了通信成本并诱导了巨大的运行时的等待时间。为此,新框架设计了一个高效的上下文增强模块(CEM),以扩大感受野。CEM的核心思想是聚合多尺度局部上下文信息和全局上下文信息,以产生更多分散的特征。

在CEM中,来自三个标度的特征映射被合并:C4、C5和Cglb。Cglb是通过在C5上应用全局平均池化的全局上下文特征向量。然后,对每个特征映射应用1x1卷积,以将通道的数量挤压为P=245。之后,C5被向上采样2个,并且Cglb被Broadcast,使得三个特征映射的空间维度是相等的。

最后,对这三个生成的特征图进行标记。通过利用局部和全局上下文,CEM有效地扩大了感受野,并细化了精简特征映射的表示能力。与现有的FPN结构相比,CEM仅涉及两个1X1卷积和FC层,这更便于计算。上图说明了该模块的结构。

Spatial Attention Module

在ROI warping过程中,将背景区域中的特征扩展为小区域和前景区域变大。然而,与大型模型相比,由于ThunderNet使用了轻量级的主干和较小的输入图像,因此网络本身很难学习到合适的特征分布。

为此设计了一个计算友好型空间注意力模块(SAM),在ROI对空间维数进行warping之前,可以显式地重新加权特征图。SAM的核心思想是利用RPN中的知识来细化特征图的特征分布。RPN被训练用于在GT的超分辨下识别前景区域。因此,RPN中的中间特征可以用来区分前景特征和背景特征。

实验结果

PASCAL VOC数据集由来自20个类的自然图像组成。这些网络是在VOC2007训练和VOC2012训练的联合集合上进行训练的,在VOC2007测试中重新获得了single-model的结果,结果如下表所示:

下表是在COCO数据集的结果:

检测结果可视化

COCO Test-dev上轻量级主干的评估。SNet 146虽然分类精度较低,但检测结果较好。

RoI warping前的特征图可视化。空间注意力模块(SAM)增强了前景区域中的特征,并削弱了背景区域中的特征。

今天就先讲这些吧,有兴趣的同学请时刻关注我们。

论文地址:https://arxiv.org/pdf/1903.11752.pdf

END

本文分享自微信公众号 - 计算机视觉战队(ComputerVisionGzq),作者:Edison_G

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 20年的目标检测大综述(章节2)

    今天我们接着上次综述章节1继续来大家来说说,本次主要说说20年内的目标检测,感谢大家的关注与支持。

    计算机视觉战队
  • 目标检测近年综述(文末有下载论文包)

    发展论述:对于Overfeat、R-CNN方法,只是利用卷积神经网络进行特征提取,并没有改变搜索框提取目标区域的策略,算法的在速度上仍存在瓶颈。

    计算机视觉战队
  • 目标检测也就是这么简单

    今天其实是一个不凡的日子,因为今天是属于我们的“23”!这个数字也是我喜欢的幸运数字,所以今天心情犹如窗外温柔秋风和温暖阳光化学反应的味道,带着美美的心情来开展...

    计算机视觉战队
  • coremltools安装

    程序员不务正业
  • pip常见操作收录

    由于这些东西比较容易忘掉,在这里几下吧 1. pip 对应用进行安装:     sudo pip install  your_app 2. pip 对应用进行u...

    Gxjun
  • php的一些编写代码的好习惯

    php作为世界上最好的语言,入门简单,编写代码容易,很容易让新手实现自己想要的功能,却因为入门简单,导致新手没有养成一个写代码的好习惯,导致后期编写的代码性能,...

    仙士可
  • 一个线程start多次

    IT云清
  • Github项目推荐 | (Python)用FeatureSelector高效特征选择工具构建机器学习工作流

    Feature Selector: Simple Feature Selection in Python

    abs_zero
  • Python·安装扩展包的几种方法

    如果有安装Git,也可以使用pip+git的方式安装:pip install git+xxx.git      //xxx:包所在的github仓库位置

    用户2398817
  • pip无法正常使用解决办法

    python -m pip install xxx 相当于import,叫做当做模块来启动

    一点儿也不潇洒

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动