M2Det理解

2019 10月份看的检测的文章,对backbone的探索,现在不做2D检测了

问题

主要挑战

实例对象之间的尺度差异是目标检测任务的主要挑战之一

探索

通常有两种策略来解决这个问题

  • 对原image取多尺度(现在基本没人用了,占用内存大,计算复杂)
  • 在原image上提取的特征金字塔

其他人根据上述策略做过的尝试

  • SSD(Liu等人,2016)直接单独使用两层骨架网络的特征(即VGG16)和通过步幅为2的卷积获得的四个额外层来构建特征金字塔
  • STDN(Zhou et al.2018)仅使用DenseNet的最后一个Dense块(Huang et al.2017),通过池化和尺度变换操作构建特征金字塔
  • FPN(Lin et al.2017a)通过以自上而下的方式融合深层和浅层的特征来构造特征金字塔
    在这里插入图片描述
四种特征金字塔

  \  

但,上述方法具有以下两个限制

  • 对于对象检测任务来说不够典型(表达能力不够),只是从专门用来处理分类的backbone network中提取出来的
  • 从backbone中提取的也只是一次一个单层,因此只是包含了单层信息

不同level的特征的性质

类别低层特征高层特征
针对的任务位置回归分类
适合的外观简单复杂
适合检测的对象的大小

限制的表现
但是在实际的检测中,可能存在大小很小但外观很复杂的检测对象,比如说很远的红路灯和很远的人,大小一样,外观复杂度却不一样。因此,对那些只有单层level的特征图来讲,检测性能不会特别好。

作者目标

构建一个更有效的特征金字塔,用于检测不同尺度的物体,同时避免上述现有方法的局限性。

方法

简介

(MLFPN)从输入图像中提取特征,然后生成密集的边界框和类别分数。在MLFPN中,FFMv1融合骨干网的特征图以生成基本特征。每个TUM生成一组多尺度特征,然后交替连接的TUM和FFMv2s提取多级多尺度特征。 最后,SFAM将特征聚合为多级特征金字塔。 在实践中,我们主要使用6个尺度和8个等级。

提出多层级特征金字塔(MLFPN)来构造特征金字塔,用于检测不同尺度的对象。

  • 首先,融合由骨干网络提取的multi-level features作为base特征。
  • 然后,将上述base feature送入一组交替连接的简化U形模块(TUM)和特征融合模块(FFM),并利用每个U形模块的解码器层作为检测对象的特征。
  • 最后,将具有等效尺度(大小)( equivalent scales (sizes))的解码器层集合(组合)起来,形成一个用于目标检测的特征金字塔,其中每个特征图由多个层次的层(特征)组成,这个特征金字塔比骨干中的层深得多,也更具代表性,每个特征图都包含来自多个级别的解码器层。

每个U形模块中的解码器层共享similar的深度?what

在这里插入图片描述

结构图 6个尺度8个level

  \  

具体

MLFPN结构

MLFPN由三个模块组成,即特征融合模块(FFM),简化的U形模块(TUM)和按基于尺度的特征聚合模块(SFAM)。

  • FFMv1通过融合骨干网络的特征图,将语义信息丰富为基本特征。
  • 每个TUM生成一组多尺度特征,然后交替连接的TUMs和FFMv2s提取多级多尺度特征。
  • SFAM通过按比例缩放的特征连接操作和自适应注意力机制 将特征聚合到多级特征金字塔中
FFMs

功能
融合不同层次的特征,对于构建最终的多级金字塔很重要

操作
使用1x1卷积层来压缩输入特征的通道,并使用连接操作来聚合特征图

FFM有两种形式处理不同的问题

  • FFM1:以骨干网络的两个不同层级的特征图为输入,生成一个base特征(尺寸等于输入的低层特征图)。在连接之前,会将深层特征上采样到和低层特征一样的维度。
  • FFMv2:以base特征和前一个TUM的最大输出特征图作为输入,生成一个融合的特征,这个特征还会作为下一个FFMv2的输入

在这里插入图片描述

a是FFM1,b是FFMv2

  \  

亮点
SSD中只是提起了多层级特征分别进行检测,而FFM1将不同层级特征结合到一块,更有利于突破限制;
FFMv2又将有多层级多尺度的解析过的特征和base特征结合,更为兼顾不同层级和尺度

TUMs

结构

  • 编码器:一系列的卷积核为 3 × 3 3\times 3 3×3,步长为 2 × 2 2\times 2 2×2的卷积层(第一层)
  • 解码器一系列的卷积核为 3 × 3 3\times 3 3×3,步长为 1 × 1 1\times 1 1×1的卷积层;还有一些上采样层(第二层)

功能
得到结合了多层级特征的多尺度特征图,the front TUM主要提供浅层特征,the middle TUM提供中等特征,the back TUM提供深层特征

操作

  1. 先用编码器得到不同深度和尺寸的特征
  2. 然后用解码器,从编码器输出的最深的特征开始,逐步上采样,上采样之后再用 1 × 1 1\times 1 1×1的卷积层和逐元素求和的操作(以增强学习能力并保持特征的平滑性),来将上采样后的特征和编码器中的特征结合起来。
  3. 每次结合后的特征有两个去处:一个是继续在解码器中传递;一个是卷积压缩通道后作为一个尺度的输出。

在这里插入图片描述

TUM结构:有六个尺度的特征图

亮点
TUM的解码器的最后一层是由较高层级上采样而来,且融合了不同层级特征图的特征,所以,这个最后一层的特征,应该已经可以解决一定的“小而复杂”的问题了。但是,这个特征毕竟是上采样出来的,没有那么有深度的抽象的信息,所以第一个TUM,还是有点浅,所以还要再加TUM,再进行卷积,再提取更深地信息,所以medium和deep特征对于多层级检测是很关键的。

SFAM

效果

为了评估所提出的MLFPN的有效性,我们设计并训练了一个功能强大的端到端one-stage目标检测器,将其集成到SSD架构中,我们称为M2Det,获得了比现有技术更好的检测性能。具体而言,在MS-COCO基准测试中,M2Det采用单尺度推理策略时,以11.8 FPS的速度实现了41.0的AP,当使用多尺度推理策略时,AP为44.2。这是一种新的最先进一阶段探测器。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值