专栏首页中科院渣渣博肆僧一枚M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network(论文解读)

M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network(论文解读)

摘要:

为解决目标实例尺度变化带来的问题,特征金字塔广泛用在一阶段目标检测器(比如,DSSD,RetinaNet,RefineDet)和两阶段目标检测器(比如Mask R-CNN, DetNet)。尽管这些使用特征金子塔的目标检测器具有很好的结果,但是由于仅仅根据固有的多尺度(为目标分类任务而设计的骨干的金字塔结构)。最新的,在这个工作中,作者提出了一个方法称为多级金字塔网络(Multi-Level Feature Pyramid Network, MLFPN)来构建检测不同尺度目标更有效的金子塔。

  1. 首先融合骨干网提出的多级特征作为基础特征
  2. 把基本的特征加入一组交替连接的u型模块和特征融合模块,利用每个u型模块的解码器层作为目标检测的特征
  3. 将具有等效尺度(大小)的解码器层集合起来,形成一个用于目标检测的特征金字塔,其中每个特征图由多个层次的层(特征)组成

为了评估所提出的多目标检测器(MLFPN)的有效性,设计并训练了一种功能强大的端到端单级目标检测器(M2Det),将其集成到SSD的体系结构中,该检测器的检测性能优于目前最先进的单级检测器。

因此本文本质上提出了一种特征提取的方法。

介绍:

传统的多尺度目标检测的实现方式主要有两种方法:图像金字塔和特征金字塔。特征金字塔更容易集成到目前最新的基于神经网络的检测器,形成端对端的解决方案。特征金字塔的局限性:根据内部多尺度,骨干金字塔实质上用来进行目标分类任务的。这种方法有两个局限性:

  • 金字塔中的特征图不能完全代表目标检测任务,仅仅用骨干网络的层来构建。
  • 金字塔中的每个特征图主要甚至单独从骨干网的单层构建,因此它只包含单层信息。在实际中小尺寸目标实例的外表可能大相径庭。

例如一个交通灯和一个远距离的人可能具有可以比较的尺寸,并且人的外表更加复杂。因此,金字塔中的每个特征图(用来在特殊尺寸范围检测目标)主要或者仅仅由单层特征构成可能会导致次优的检测性能。

这篇文章的目的是构筑一个更加有效的特征金字塔对不同尺度的目标进行检测:

  • 首先把从骨干网提取的多层特征融合起来作为基本的特征,然后把它加入交替连接的TUM和FFM来提取更多表示,多层多尺度特征。值得注意的是,每个u型模块中的解码器层具有相似的深度。
  • 将具有等效尺度的特征映射集合起来,构建最终的特征金字塔进行目标检测。显然,构成最终特征金字塔的解码器层要比主干层深得多,即更具代表性。在最终的特征金字塔中,每个特征映射都由多个层次的解码器层组成。因此,我们称我们的特征金字塔块为多层次特征金字塔网络(MLFPN)。

提出的方法:

M2Det使用骨干网和MLFPN从输入图像提取特征,然后和SSD一样,然后在学到的特征上产生密集的bounding boxes和分类分数,接着用NMS操作来产生最终的结果。

MLFPN由三部分组成:特征融合模块(FFM)、变薄的U型模块(TUM)、鱼鳞状的特征聚合模块(SFAM)

FFMv1通过融合骨干网的基本特征使得基本特征的语义更加丰富。每个TUM产生一组多尺度特征,然后利用交互交叠的TUMs和FFMv2s提取多层次多尺度特征。此外,SFAM通过尺度特征拼接操作和自适应注意机制将特征聚合到多层次的特征金字塔中。下面分别介绍这三个模块:

MLFPN

如下图所示,MLFPN包含三个部分。

  • 首先,FFMv1融合浅层和深层特征,形成基础特征,如VGG 中的conv4_3和conv5_3,为MLFPN提供多层次语义信息。
  • 其次,几个TUMs和FFMv2交替堆叠。特别的是,每个TUM都会生成几个不同尺度的feature map。

FFMv2融合了基本特征和前面TUM输出的最大特征图。融合后的特征图被送入下一个TUM。请注意,第一个TUM没有任何其他TUMs的先验知识,因此它只从

学习。

多层多尺度特征计算方式为:

其中

为基特征,

为第l个TUM中第i个尺度的特征,L为TUMs个数,

为第l个TUM的处理,F为FFMv1处理。

SFAM通过鱼鳞状特征连接操作和通道式注意力机制聚合多层次多尺度特征。 

FFMs

将FFMs应用于M2Det中不同层次特征的融合,是构建最终多层次特征金字塔的关键。它们使用1x1卷积层来压缩输入特征的通道,并使用连接操作来聚合这些特征映射。特别地,由于FFMv1以骨干网中两个尺度不同的feature map作为输入,在进行拼接操作之前,采用一次upsample操作将深度feature重新缩放到相同的尺度。同时,FFMv2将上一个TUM的基特征和最大的输出特征图作为输入,这两个特征是相同尺度的,并为下一个TUM生成融合的特征。FFMv1和FFMv2的结构细节分别如下图(a)和(b)所示。

TUM

TUMs不同于FPN和RetinaNet, TUM采用较薄的u型结构,如下图所示,编码器为一系列跨度为2的3x3的卷积层。解码器将这些层的输出作为其特征映射的参考集,原始FPN选择ResNet骨干中每个阶段的最后一层的输出。另外,在解码器分支上进行上采样和elementwise求和运算后,再加上1x1个卷积层,增强了学习能力,保持了特征的平滑性。每一转译码器的输出均形成当前层的多尺度特征。总体而言,堆积TUMs的输出形成了多层次、多尺度的特征,而前面的TUM主要提供浅层特征,中间的TUM主要提供中层特征,后面的TUM主要提供深层特征。

SFAM

SFAM的目的是将TUMs生成的多级多尺度特征集合成一个多级特征金字塔,如下图所示。

第一阶段是沿着通道尺寸将相同尺度的特征连接起来。聚合特征金字塔可以表示为X = [X1;X2,...,Xi],其中Xi=

为第i大尺度的特征。在这里,聚合金字塔中的每个尺度都包含来自多层深度的特征。然而,简单的连接操作还不够自适应。

第二阶段中引入了一个面向频道的注意力模块,使得功能将注意力集中在它们受益最多的频道上。在SE block之后,使用全局平均池在压缩步骤中生成通道方向的统计数据

为了充分捕捉通道依赖性,以下激励步骤通过两个完全连通的层来学习注意机制:

其中

为ReLU函数,

为sigmoid函数,

r为还原比(r = 16)。

最终输出通过激活s对输入X重新加权得到:

其中

通过缩放操作,每个特征增强或减弱。 

网络配置

用两种类型的骨干来配置M2Det。在训练整个网络之前,需要在ImageNet 2012数据集上对骨干进行预处理。MLFPN的默认配置包含8个TUM,每个TUM有5个striding- conv和5个Upsample操作,因此它将输出6个scale的特性。为缩小参数,只对其TUM特性的每个尺度分配256个频道,这样网络就可以在gpu上轻松训练。对于输入的大小,我们采用原SSD、RefineDet和RetinaNet,即, 320, 512和800。

在检测阶段,我们在6个金字塔形特征中分别加入2个卷积层来分别实现定位回归和分类。6个feature map默认框的检测尺度范围按照原始SSD的设置。当输入大小是800×800,规模范围增加比例除了保持最大特征图的小尺寸。在金字塔形特征的每个像素处,我们设置了6个锚点,三个锚点的比例完全相同。然后,我们使用0.05的概率值作为阈值,过滤掉大部分得分较低的锚点。然后使用带有线性内核的soft-NMS进行后处理,留下更精确的框。将阈值降低到0.01可以得到更好的检测结果,但会大大降低推理时间,实际上不能得到更好的效果。

实验

在本节中,我们展示了挑战MS-COCO基准上挑战bounding box检测任务的结果,我们使用trainval35k集合进行训练,它是来自训练集分离的80k图片的集合和从40k图像val分割中随机抽取35个图像子集。

为了与最先进的方法进行比较,我们在test-dev拆分上报告了COCO AP,它没有公共标签,需要使用评估服务器。然后,为了方便报告了minival上的消融研究的结果。实验部分包括四个部分:

(1)介绍实验的实现细节;

(2)与先进方法的比较;

(3) M2Det消融研究;

(4)比较MLFPN内部结构的不同设置,介绍M2Det的几种版本。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Feature Pyramid Networks for Object Detection

    特征金字塔是不同尺度目标识别系统的基本组成部分。但最近的深度学习对象检测器已经避免了金字塔表示,部分原因是它们需要大量的计算和内存。本文利用深卷积网络固有的多尺...

    于小勇
  • Iverson bracket

    Named after Kenneth E. Iverson, who introduced this notation in his programming ...

    于小勇
  • tf.compat.v1.to_int32

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    于小勇
  • 谷歌大脑新技术——多尺度特征金字塔结构用于目标检测

    当前最先进的目标检测卷积结构是手动设计的。在这里,我们的目标是学习一个更好的特征金字塔网络结构的目标检测。

    计算机视觉研究院
  • 机器学习-R-特征选择

    特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的内容。 1. Feature selection: Al...

    机器学习AI算法工程
  • 机器学习-R-特征选择

    特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的内容。 1. Feature selection: All...

    小莹莹
  • 视频直播技术--Android视频采集(Camera1)

    今天为大家介绍一下使用Camera1进行视频采集。之前我写过一篇文章介绍的是Camera2进行视频采集。那么有人会问,为什么有了Camera2还要介绍Camer...

    音视频_李超
  • 使用truffle向infura部署以太坊智能合约

    用户1408045
  • 完成第一个云开发项目的初体验

    Hello,大家好,我是一个大二计算机系的菜鸟,在这个漫长的寒假中,我完成了自己的第一个项目,基于微信小程序云开发的校园交易互助平台。下面跟大家谈一下我的理解:

    CreatorRay
  • 腾讯云TKE使用之ConfigMap挂载

    ConfigMap(Kubernetes简称cm)作为Kubernetes 提供的一种资源,可以将配置信息,跟业务镜像解耦开来,提高业务镜像的移植性。

    jackiebai

扫码关注云+社区

领取腾讯云代金券