目标检测M2Det

pytorch玩转深度学习

共 2432字,需浏览 5分钟

 ·

2021-04-09 16:07

Single-shot目标检测新模型,使用multi-level特征。

作者机构:Qijie Zhao等,北京大学&阿里达摩院

文章标题:《M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid》

原文链接:https://arxiv.org/abs/1811.04533

相关repo:https://github.com/qijiezhao/M2Det

                  https://github.com/tadax/m2det


目录

摘要

介绍

所提方法

MLFPN详解

网络配置

实验部分


摘要

  • 提出多级特征金字塔网络MLFPN

  • 基于提出的MLFPN,结合SSD,提出一种新的Single-shot目标检测模型M2Det

  • 在MS-COCO benchmark上,M2Det的单尺度版本和多尺度版本AP分别达到41.044.2 

介绍

为了解决目标实例的尺度变化问题,主流做法有两种:

  • 一是在测试阶段使用图像金字塔(如Cascade RCNN),即将原始图像进行一系列缩放,毫无疑问这会大幅增加内存和计算开销; 

  • 二是在从输入图像提取出的特征金字塔上进行检测,该方法可以同时用于训练和测试阶段中,相对开销较小,易于集成,适合end-to-end。

如下图所示,文中列举了四种风格的特征金字塔:SSD型、FPN型、STDN型,以及本文所提出的 MLFPN型。并总结了前三种特征金字塔的缺点,主要有两点:一是均基于分类网络作为主干提取,对目标检测任务而言特征表示可能不够;二是每个feature map仅由主干网络的single level给出,不够全面(一般来说,高层特征利于进行分类,低层特征利于回归目标位置)。

  • SSD型:使用了主干网络的最后两层,再加上4个使用stride=2卷积的下采样层构成;

  • FPN型:也称为U型网络,经过上采样操作,然后对应融合相同的scale;

  • STDN型:基于DenseNet的最后一个dense block,通过池化和scale-transfer操作来构建;

  • MLFPN型:本文新提出,整体思想是Multi-level&Multi-scale,下文详述。

为了更好地解决目标检测中尺度变化带来的问题,本文提出一种更有效的特征金字塔结构MLFPN, 其大致流程如下图所示:首先,对主干网络提取到的特征进行融合;然后通过TUM和FFM提取更有代表性的Multi-level&Mutli-scale特征;最后通过SFAM融合多级特征,得到多级特征金字塔用于最终阶段的预测。

所提方法

M2Det使用主干网络+MLFPN来提取图像特征,然后采用类似SSD的方式预测密集的包围框和类别得分,通过NMS得到最后的检测结果。

MLFPN详解

如上图所示,MLFPN主要有3个模块组成:

1)特征融合模块FFM;

2)细化U型模块TUM;

3)尺度特征聚合模块SFAM.

首先, FFMv1对主干网络提取到的浅层和深层特征进行融合,得到base feature;

其次,堆叠多个TUM和FFMv2,每个TUM可以产生多个不同scale的feature map,每个FFMv2融合base feature和上一个TUM的输出,并给到下一个TUM作为输入(更高level)。每个level的输出如下公式所述;

最后,SFAM通过scale-wise拼接和channel-wise attention来聚合multi-level&multi-scale的特征。

特征融合模块FFM

FFM用于融合M2Det中不同级别的特征,先通过1x1卷积压缩通道数,再进行拼接。具体而言:

  1. FFMv1使用两种不同scale的feature map作为输入,所以在拼接操作之前加入了上采样操作来调整大小;

  2. FFMv2的两个输入的scale相同,所以比较简单。两种FFM的细节如下图所示。

细化U型模块TUM

TUM使用了比FPN和RetinaNet更薄的U型网络。在上采样和元素相加操作之后加上1x1卷积来加强学习能力和保持特征平滑度。TUM中每个解码器的输出共同构成了该TUM的multi-scale输出。每个TUM的输出共同构成了multi-level&multi-scale特征,前面的TUM提供low level feature,后面的TUM提供high level feature.TUM的细节如下图所示:

尺度特征聚合模块SFAM

SFAM旨在聚合TUMs产生的多级多尺度特征,以构造一个多级特征金字塔。在first stage,SFAM沿着channel维度将拥有相同scale的feature map进行拼接,这样得到的每个scale的特征都包含了多个level的信息。然后在second stage,借鉴SENet的思想,加入channel-wise attention,以更好地捕捉有用的特征。SFAM的细节如下图所示:

网络配置

M2Det的主干网络采用VGG-16和ResNet-101

MLFPN的默认配置包含有8个TUM,每个TUM包含5个跨步卷积核5个上采样操作,所以每个TUM的输出包含了6个不同scale的特征。

在检测阶段,为6组金字塔特征每组后面添加两个卷积层,以分别实现位置回归和分类。

后处理阶段,使用soft-NMS来过滤无用的包围框。

实验部分

 贴一张效率VS精度的对比图。


浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报