目标检测(Object Detection)—— M2Det

时间:2024-03-31 13:20:30

1. 概述

  • 目标检测领域中,目标的多尺度是指:对待检测的目标,其bounding box的长宽比、大小具有很大的跨度。如何实现对不同目标的多尺度检测是目标检测领域面临的难题之一,也是制约目标检测精度提升的瓶颈。
  • 目前常用的提高网络多尺度检测性能的方式有以下几种:①训练阶段使用不同分辨率的图像训练网络;②测试阶段使用不同分辨率的图像测试,再融合;③网络结构的改进,以FPN结构为典型,目前FPN是采用较多的可提高网络多尺度检测性能的方式。
  • M2Det以提高网络的多尺度检测性能为出发点,以SSD为骨干网络,对FPN进行了改进,在coco数据集上的AP为41%

2. Motivation

作者认为,FPN结构存在两个主要的缺陷:

  • 首先,用于构成FPN结构的feature maps取自骨干网络,而骨干网络一般情况下是个分类网络,因此,由骨干网络得到的feature maps不能直接用于目标的分类及定位。
  • 其次,FPN结构中的每一层feature maps通常只包含某一level的信息(原文翻译),换句话说,一层feature maps只能检测某一类尺度的目标。

那么,要如何设计一个提高多尺度目标检测性能的网络结构,来规避FPN存在的缺陷?请往下看。

1.对于第一个缺陷,个人认为其解释有些牵强,显然,在骨干网络得到的feature maps中,既包含了目标的分类信息,又包含了位置信息,这些feature maps也自然可以应用于目标检测的后续环节
2.论文中提到:神经网络得到的深层特征更有利于目标分类任务,浅层特征更有利于目标定位任务;同时,深层特征更有利于复杂目标的检测,浅层特征更有利于简单物体的检测

3. 网络结构

M2Det整体网络结构如下图所示:
目标检测(Object Detection)—— M2Det

  • 首先需要明确的是,该网络结构基于SSD,是个一阶段(one-stage)的目标检测框架
  • 框架中被框选出的部分虽然看着复杂,归根结底,是对骨干网络得到的特征进行处理,最终生成proposal的

下面分别对框架中的各个模块进行介绍:

3.1 FFM1

该模块内部结构如下图所示:(模块中的数字分别表示:输入channel大小,卷积核大小,stride大小,输出channel大小)
目标检测(Object Detection)—— M2Det

  • 该模块完成骨干网络得到的浅层特征和深层特征的融合,再将融合后的特征送入后续网络中进行处理。以VGG16为例,分别选取conv4_3conv5_3卷积层得到的特征进行融合
  • 这里融合的作用是:同时获取神经网络的浅层特征和深层特征

3.2 TUM

该模块内部结构如下图所示:
目标检测(Object Detection)—— M2Det

  • 对送入TUM结构的特征,经过多层卷积以及上采样、相加的操作,得到channel相同,尺寸不同的一系列feature maps的输出
  • 该结构的作用是通过使用多层卷积神经网络,进一步提取特征,同时通过上采样并相加的操作,保证在卷积过程中,特征不消失
  • 此图请按照红色箭头指示方向看

3.3 FFMv2

该模块内部结构如下图所示:
目标检测(Object Detection)—— M2Det

  • 该结构完成是FFM1得到的特征TUM模块得到的分辨率最大的特征的融合

3.4 SFAM

该模块进行两步操作:

  • 对前面多个TUM结构得到的特征金字塔,按大小分类(论文中使用了8个TUM结构,每个TUM结构输出一个包含6种不同分辨率feature maps的特征金字塔,每个分辨率共有128层;按大小分类后,得到6个特征块,每个特征块共有8x128=1024层特征
  • 应用注意力机制分别对得到的特征块进行处理。①对某一特征块(共1024层),按层进行平均池化,得到1x1x1024维度的特征,然后将该特征送入两层全连接层(fc1:1024->64,fc2:64->1024),最终还是得到1x1x1024的特征,此处的特征代表权重,再与最开始得到的特征块分别相乘,得到新的特征块
  • 该模块的作用是,对TUM得到的特征,按分辨率大小不同进行分类,小分辨率特征负责大尺度目标检测,大分辨率特征负责小尺度目标检测,同时应用注意力机制,让网络自适应调整特征。
  • 整体过程如下图所示

目标检测(Object Detection)—— M2Det骨干网络得到的特征在经过上述模块的层层处理后,最终得到的特征如下,这些特征既包含了骨干网络不同feature maps层的信息,又包含了不同尺度的语义信息。

4.实验

4.1 与其它模型的对比

目标检测(Object Detection)—— M2Det

  • 可以看到,M2Det相比两阶段state of the art的方法仍旧稍显不足,但相比一阶段方法,效果最好
  • 通过应用多尺度推理的方法,可以有效提高检测准确率
  • resnet101骨干网络确实很不错

4.2 消融实验

目标检测(Object Detection)—— M2Det

  • 通过实验证明了该网络提出的子模块的有效性

4.3 TUM数量和生成feature map层数的探究

目标检测(Object Detection)—— M2Det

  • 随着TUM数量和channel的增加,检测效果越来愈好

5 总结

  • 所谓TUM模块,个人感觉只是对FPN结构的加强,核心仍旧是在使用卷积层抽象特征的同时通过上采样及相加的操作保证特征不丢失
  • 应用的注意力机制挺有意思,值得再研究一下,这里放上参考文献

Hu, J.; Shen, L.; and Sun,
G. 2017. Squeeze-and-excitation networks. CoRR
abs/1709.01507.

  • 一个疑问是:为什么只从骨干网络得到的特征中取出两层进行处理,如果取更多层,效果应该会更好,这里是一个可以研究的点
  • 最后,这篇文章提出的网络结构似乎有些不够优美