M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid

论文:M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid
论文地址:https://arxiv.org/pdf/1811.04533.pdf

M2Det的提出,其实也是为了解决目标检测的多尺度问题。FPN以自上而下的方式将高层和低层特征融合得到特征金字塔。以上结构有两个局限性:

  • 1、金字塔中的特征都来自于为图像分类任务设计的骨架网络,对于对象检测任务不够有代表性。
  • 2、金字塔中的每层特征(用于检测)主要或者仅仅由骨架网络中的单层构成,也就是说,主要包含单层信息。高层特征对于分类子任务更具有判别力,低层特征对于目标位置回归子任务更有帮助。此外,低层特征更适合用于检测具有简单外观的对象,高层特征适合用于检测具有复杂外观的对象,而实际上,具有相同尺寸的对象在外观上可能差异极大,因此,用于检测的特征金字塔只包含单层信息可能导致性能不佳。

M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)

M2Det网络架构

M2Det主要包含了三个模块FFM、TUM和SFAM模块。
M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)

FFM

FFMv1模块如下图所示,是将VGG16的conv4_3和conv5_3层进行特征融合,获得基础特征。
由于输入图片是320×320,VGG16的conv4_3的输出是(512,40,40),conv5_3输出的是(1024,20,20),正如下图所示,conv4_3的输出经过256个3×3卷积核时,变成(256,40,40),conv5_3的输出经过512个3×3卷积核时,变成(512,20,20),再进行2倍上采样变成(512,40,40),和conv4_3的输出拼接形成(768,40,40)的基本特征,这就是FFMv1模块的功能。
M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)
FFMv2模块是将基本特征(768,40,40)经过1×1卷积降维后与TUM模块的输出拼接形成(256,40,40)的特征图后继续输入后续的TUM模块。
M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)

TUM

TUM模块如下图所示,由M2Det的网络架构可知,在第一次基本特征(768,40,40)输入到第一块TUM模块时,应该是进行了1×1卷积或者3×3卷积将通道降维变成(256,40,40)的输入(这里我是盲猜的,因为如果直接输入768×40×40,后续的TUM模块输入通道数与图示不匹配)。
M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)
TUM模块采用U形结构,编码器是一系列步长为2的3×3卷积,解码器将这些层的输出作为输入,而FPN只是利用ResNet中残差块的最后一层特征图。在上采样和按元素相加之后接1×1卷积来增强学习能力和平滑特征图。每个TUM的解码器中的所有输出形成当前级别的多尺度特征。
这样每个TUM模块会形成6个尺度不同(1,3,5,10,20,40)的特征图,将最大的特征图(128×40×40)作为下一个FFMv2的输入,然后在输入到下一个TUM模块中。

SFAM

M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)
SFAM是将TUM产生的多层次特征图聚合为特征金字塔,第一阶段是将同一分辨率特征进行拼接,注意是同一分辨率的,TUM产生的有6个尺度不一样的特征图,论文中一共有8个TUM模块,因而每个TUM模块产生的特征图均是128×S×S(S为1,3,5,10,20,40),因而通道拼接后大小为128×8=1024,与图示相同。
第二阶段是对通道添加权重,也就是SE模块,SE模块之前在介绍YOLOv4的bags of specials已经介绍过了。

在检测阶段,在6层特征金字塔后面接两个卷积层来进行位置回归和分类,六个特征图的默认框的检测范围遵循原始SSD的设置。在特征图的每个点,设置三种不同比例总共六个锚点框。之后,使用0.05的概率分数作为阈值来过滤掉分数较低的大多数锚点。使用soft-NMS作为后处理过程。

至此M2Det的网络结构就介绍完毕了,具体实验结果可以去参考论文。

相关文章:

  • 2021-10-13
  • 2021-07-31
  • 2021-11-17
  • 2021-06-03
  • 2021-05-31
  • 2021-06-13
  • 2022-01-06
  • 2021-11-05
猜你喜欢
  • 2021-05-01
  • 2021-04-17
  • 2021-06-12
  • 2021-10-19
  • 2021-11-12
  • 2022-12-23
  • 2021-04-14
相关资源
相似解决方案