携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第25天,点击查看活动详情
关于M2Det 这篇论文的标题是 A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network。从中不难看出这是一个一阶段网络,其中提出了 Multi-level Feature Pyramid Network。
前言
M2Det 在特征融合下很大功夫,设计出 MLFPN 这样多层级特征金字塔,初步看有点复杂,从今天来看能够给大家留下印象的经典模型基本都是简单又有效的模型、例如 resNet 和 transformer
在 M2Det 针对之前目标检测网络中两个问题
- 主干网络都是用于分类,而非专门为目标检测而定制的网络
- 应该借助浅层(low-level)来进行目标检测,这是因为在网络浅层具有更多空间信息以及细节信息有利于边界框的回归
分类和目标检测之间差异
如果将用于分类网络进行可视化,不难发现网络在学习过程中,会更专注于那些可识别的部分,例如网络会将专注点放在鸟的翅膀上。但是在做目标检测的任务我们是希望将鸟整个目标框出来,而不仅仅是框住鸟的翅膀而已。
深层和浅层网络之间差异
在 SSD 的架构基于 VGG 16 的最后一层(Conv4_3) 以及额外几层网络去预测,通常在深层网络会具有一些较为抽象(复杂)特征,这些特征对于分类任务比较有效。而那些浅层的一些简单特征(例如纹理、颜色和形状)更有助于将目标框住,所以在目标检测中不但需要深层的抽象特征还需要浅层的特征。
MLFPN
这个这个结构中,利用 TUM 模块进行多次的 U 型的特征提取,利用 FFM 模块进行特征融合
对图像进行 resize 到 320×320 这样大小,这样大小尺寸感觉对于目标检测任务来说可能会有些小,想一想主流都是 416×416 甚至更大尺寸图像上进行目标检测。
主干网络
主干网络选择通常会选择 VGG 和 resNet,
FFM1
然后从主干网络分别选择一个深层特征层和一个浅层特征层做输出,分别输出为 1024×20×201024 times 20 times 20 和 512×40×40512 times 40 times 40 经过
将 20×2020 times 20 经过 2×22times 2 通过上采样,然后再去 512×40×40512 times 40 times 40 进行拼接得到 Base feature 特征层为768×40×40768 times 40 times 40
TUM 模块
首先对 base feature 进行卷积,将其通道数调整为 256×40×40256 times 40 times 40 的特征层,接下来就是 U 型结果,先是不断通过 3×33 times 3 步长为 2 的卷积核进行下采样,然后再用 3×33 times 3 步长为 1 卷积核进行上采样,然后和下采样过程中对应对应形状相同特征进行相加来进行融合。
经过一系列融合后会得到 6 个有效的特征层(如上图)。这里可以利用多个 MUT 来获得多个有效特征层
FFM2
在 FFM2 中进行特征加强融合,为什么是特征加强融合呢?这是因为在 TUM 拿到 128×40×40128times 40 times 40 特征层和 base feature 进行融合后得到 256×40×40256 times 40 times 40 特征层
然后再将融合得到特征层再输入到 TUM 这个网络结构,再去提取有效特征层,这里要说一下这里 TUM 是一个并联的结构,就 TUM 堆叠次数,作者根据实验发现 8 次堆叠这样有效特征层比较有效