摘要
特征金字塔被最先进的一阶段目标检测器(如DSSD、RetinaNet、RefineDet)和两阶段目标检测器(如Mask RCNN、DetNet)广泛利用,以缓解跨目标实例的尺度变化所带来的问题。虽然这些带有特征金字塔的目标检测器取得了不错的结果,但由于它们只是简单地根据原本用于对象分类任务的骨干网固有的多尺度金字塔结构构造特征金字塔,因此存在一定的局限性。因此,坐着提出了多级特征金字塔网络(MLFPN)来构建检测不同尺度目标更有效的金子塔。
方法:

  • 首先,将骨干网提取的多级特征(即多层)融合为基本特征。
  • 其次,将基本特征输入到交替连接的u型减薄模块和特征融合模块中,利用每个U型模块的解码器层作为检测目标的特征。
  • 最后,我们将具有等价尺度(大小)的解码器层集合起来,构造一个用于目标检测的特征金字塔,其中每个特征映射由多个层次的层(特征)组成。

为了评估所提出的多目标检测器(MLFPN)的有效性,设计并训练了一种功能强大的端到端单级目标检测器(M2Det),将其集成到SSD的体系结构中,该检测器的检测性能优于目前最先进的单级检测器。

介绍


a. SSD:分别在骨架网络中的两层和额外四层(分辨率降低一半)特征图上进行预测
b. FPN :自顶向下融合深层和浅层,构建特征金字塔
c. STDN仅使用DenseNet的最后一个密集块通过汇聚和尺度转移操作构建特征金字塔;
传统的多尺度目标检测的实现方式主要有两种方法:图像金字塔特征金字塔
特征金字塔更容易集成到目前最新的基于神经网络的检测器,形成端对端的解决方案。特征金字塔的局限性:根据内部多尺度,骨干金字塔实质上用来进行目标分类任务的。这种方法有两个局限性:

  • 金字塔中的特征图不能完全代表目标检测任务,仅仅用骨干网络的层来构建。
  • 金字塔中的每个特征图主要甚至单独从骨干网的单层构建,因此它只包含单层信息。在实际中小尺寸目标实例的外表可能大相径庭。

eg.一个交通灯和一个远距离的人可能具有可以比较的尺寸,并且人的外表更加复杂。因此,金字塔中的每个特征图(用来在特殊尺寸范围检测目标)主要或者仅仅由单层特征构成可能会导致次优的检测性能。

本文的目的是构筑一个更加有效的特征金字塔对不同尺度的目标进行检测:

  • 首先把从骨干网提取的多层特征融合起来作为基本的特征,然后把它加入交替连接的TUM和FFM来提取更多表示,多层多尺度特征。值得注意的是,每个u型模块中的解码器层具有相似的深度。
  • 将具有等效尺度的特征映射集合起来,构建最终的特征金字塔进行目标检测。显然,构成最终特征金字塔的解码器层要比主干层深得多,即更具代表性。在最终的特征金字塔中,每个特征映射都由多个层次的解码器层组成。因此,我们称我们的特征金字塔块为多层次特征金字塔网络(MLFPN)。

提出的方法:

  • 使用主干和多级特征金字塔网络(MLFPN)从输入图像中提取特征
  • 然后与SSD类似,根据所学习的特征生成密集的边界框和类别得分
  • 然后通过非最大抑制(NMS)操作生成最终结果

MLFPN由三部分组成:

  • Feature Fusion Module ==(FFM)==特征融合模块
  • Thinned U-shape Module ==(TUM)==薄的U型模块
  • Scale-wise Feature Aggregation Module (SFAM) 尺度特征融合模块

FFM:通过融合主干的特征映射,将语义信息丰富成基本特征。
TUM:每个TUM生成一组多尺度特征,然后交替连接TUMs和FFMv2s提取多级多尺度特征。
SFAM:通过尺度级联操作和自适应注意机制将特征聚合到多层次的特征金字塔中。

如图:概述了拟议的M2Det(320×320)。M2Det利用了主干和多级特征金字塔
网络(MLFPN)从输入图像中提取特征,然后生成密集的边界框和类别得分。在
MLFPN、FFMv1融合主干的特征映射生成基特征。每个TUM生成一组多尺度特征,然后交替关联TUMs和FFMv2s提取多级多尺度特征。最后,SFAM将这些特性聚合到一个多层次的特性金字塔中。
FFMS:将FFMs应用于M2Det中不同层次特征的融合,是构建最终多层次特征金字塔的关键。它们使用1x1卷积层来压缩输入特征的通道,并使用连接操作来聚合这些特征映射。特别地,由于FFMv1以骨干网中两个尺度不同的feature map作为输入,在进行拼接操作之前,采用一次upsample操作将深度feature重新缩放到相同的尺度。同时,FFMv2将上一个TUM的基特征和最大的输出特征图作为输入,这两个特征是相同尺度的,并为下一个TUM生成融合的特征。FFMv1和FFMv2的结构细节分别如下图(a)和(b)所示。

FFMv1:图(a),有两个输入,来自于主图的最后两个stage的卷积层(SSD结构),1024 * 20 * 20输出512 * 20 * 20上采样得到512 * 40 * 40与256 * 40 * 40concat得到768 * 40 * 40。

FFMv2:两个输入,一个是FFMv1的输出,另一个是上一个TUM的尺度最大的输出(128,40,40),cancat一波得到2564040,构成当前层级的TUM的输入。融合了基本特征和前面TUM输出的最大特征图。融合后的特征图被送入下一个TUM。值得注意,第一个TUM没有任何其他TUMs的先验知识,因此它只从X base 学习。
多层多尺度特征计算方式为:

其中Xbase为基特征,xil为第l个TUM中第i个尺度的特征,L为TUMs个数,Tl为第l个TUM的处理,F为FFMv1处理。
注:除了第一个TUM的输入是直接来自于FFMv1的输出,剩下的TUM均是来自于FFMv2的输出。而FFMv2又是来自于FFMv1和上一个TUM的输出,加入FFMv1应该是类似于残差的想法。
**TUM:**TUMs不同于FPN和RetinaNet, TUM采用较薄的u型结构,如下图所示,编码器为一系列跨度为2的3x3的卷积层。解码器将这些层的输出作为其特征映射的参考集,原始FPN选择ResNet骨干中每个阶段的最后一层的输出。另外,在解码器分支上进行上采样和elementwise求和运算后,再加上1x1个卷积层,增强了学习能力,保持了特征的平滑性。每一转译码器的输出均形成当前层的多尺度特征。总体而言,堆积TUMs的输出形成了多层次、多尺度的特征,而前面的TUM主要提供浅层特征,中间的TUM主要提供中层特征,后面的TUM主要提供深层特征。

SFAM:目的是将TUMs生成的多级多尺度特征集合成一个多级特征金字塔。
由主图可知有了8个层级的TUM的输出,每个TUM均会输出6个尺度(图c),SFAM就负责这些不同层级不同尺度的融合:对每一个尺度而言,从8个层级抽取该尺度的特征图concat到一起(128*8=1024),语义也就实现了从浅到深,再利用SE block对channel做了一个Attention。之后就得到了6个尺度的特征金字塔,金字塔的每一层均是来自于8个从浅到深的语义层级,也就是所谓的Multi-level。这就是不同于现有的金字塔的结构的地方。
第一阶段是沿着通道尺寸将相同尺度的特征连接起来。聚合特征金字塔可以表示为
[X1;X2,…,Xi],
其中

为第i大尺度的特征。在这里,聚合金字塔中的每个尺度都包含来自多层深度的特征。然而,简单的连接操作还不够自适应。

第二阶段中引入了一个面向频道的注意力模块,使得功能将注意力集中在它们受益最多的频道上。在SE block之后,使用全局平均池在压缩步骤中生成通道方向的统计数据。为了充分捕捉通道依赖性,以下激励步骤通过两个完全连通的层来学习注意机制:
其中σ为ReLU函数,δ为sigmoid函数,

r为还原比(r = 16)

最终输出通过激活s对输入X重新加权得到:

其中,通过缩放操作,每个特征增强或减弱。

最后再利用了两个卷积层进行分类和回归就能得到最后的结果。
实验


M2Det-一种使用新的特征金字塔方式的单阶段目标检测器(论文笔记)相关推荐

  1. 谷歌开源EfficientDet:实现新SOTA,又快又准的目标检测器

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:机器之心@微信公众号 什么检测器能够兼顾准确率和模型效率?如何才能实现? 去 ...

  2. RES 新的数据集 Advancing Referring Expression Segmentation Beyond Single Image 论文笔记

    RES 新的数据集 Advancing Referring Expression Segmentation Beyond Single Image 论文笔记 一.Abstract 二.引言 三.相关工 ...

  3. 一篇掌握3种不同vlan之间互联的方式(单臂路由+Vlanif接口)

    vlan可以隔离二层广播域,属于不同VLAN的用户之间不能进行二层通信.但是在实际应用中往往要求实现不同vlan之间的通信,那么如何实现vlan间的通信呢? 可以借助三层路由将报文从一个VLAN转发到 ...

  4. 重磅开源!目标检测新网络 DetectoRS:54.7 AP,特征金字塔与空洞卷积的完美结合

    原文链接:重磅开源!目标检测新网络 DetectoRS:54.7 AP,特征金字塔与空洞卷积的完美结合 论文地址:https://arxiv.org/abs/2006.02334 代码地址(基于mmd ...

  5. 特征金字塔 Feature Pyramid Networks for Object Detection

    特征金字塔是用于检测不同尺度的对象的识别系统中的基本组件.但是最近的深度学习对象检测器已经避免了金字塔表示,部分原因是它们是计算密集型和内存密集型的.在本文中,我们利用深层卷积网络固有的多尺度金字塔层 ...

  6. 深度学习阅读导航 | 04 FPN:基于特征金字塔网络的目标检测

    写在前面:大家好!我是[AI 菌],一枚爱弹吉他的程序员.我热爱AI.热爱分享.热爱开源! 这博客是我对学习的一点总结与记录.如果您也对 深度学习.机器视觉.算法.Python.C++ 感兴趣,可以关 ...

  7. 【CV】FPN:用于目标检测的特征金字塔网络

    论文名称:Feature Pyramid Networks for Object Detection 论文下载:https://arxiv.org/abs/1612.03144 论文年份:2016 论 ...

  8. 恒源云(GPUSHARE)_CV论文笔记之CE-FPN(通道增强特征金字塔网络)

    文章来源 | 恒源云社区(专注人工智能/深度学习GPU免费加速平台,官方体验网址:https://gpushare.com) 原文地址 | CE-FPN: Enhancing Channel Info ...

  9. 目标检测中多尺度:特征金字塔FPN_Feature Pyramid Networks for Object Detection

    原始内容来源于: https://blog.csdn.net/cdknight_happy/article/details/100528127 https://blog.csdn.net/WZZ181 ...

  10. CVPR2020论文笔记——EfficientDet---双尺度特征融合BiFPN目标检测

    代码:https://github.com/google/automl/tree/ master/efficientdet. 摘要:提出了提高效率的几个关键优化 提出了一种加权的双向特征金字塔网络,它 ...

最新文章

  1. 条款15: 让operator=返回*this的引用
  2. is_sorted() 函数---一个判断数组和容器是否有序的函数
  3. C语言模拟实现(二)-----可变分区存储管理方式
  4. wxWidgets:wxArchiveClassFactory类用法
  5. 2012_Houdini_ShowReel.
  6. 编译原理中词法分析--部分实现
  7. 如何在Mac上用Script启动quicktime录制?
  8. Vmware虚拟机里面的linux系统ping不通宿主机的解决方法(注意同时安装vmware和vbox虚拟机)
  9. JVM 类加载机制详解
  10. pythom打包文件太大_PDF太大,不让上传怎么办?教你1分钟将100M的PDF变成10M
  11. 什么样的企业适合用EV证书呢?
  12. vue如何跳转支付宝付款页面
  13. 流星蝴蝶剑5.18公测(转自官方)
  14. oracle数据库设计思维导图,Oracle
  15. 7-33 删除句子中的单词 (8 分)输入n(n<=10)个由若干个单词组成的英文句子(句子的长度不超过100),每个句子以英文的标点“.”结束,每个句子中单词之间由1个空格进行分隔,如果最后一个单
  16. D-Link宽带路由器设置全攻略
  17. 最近心血来潮想做黑客
  18. DELMIA软件:机器人仿真动画视频生成功能介绍与使用方法
  19. Arduino控制TB6600驱动器+42步进电机
  20. 六年级4月27日——5月1日课程表

热门文章

  1. GJB 测试报告(模板)
  2. JVM之Tomcat的优化
  3. URP管线理解(一)宏观入口
  4. jar逆向工具Luyten
  5. tomcat打印日志 linux,linux服务器修改tomcat日志输出路径方法
  6. AWG#线规及其载流能力和电阻值
  7. Linux搭建测试环境详细步骤
  8. ZipArchive类操作
  9. 联发科MT6763处理器参数MT6763芯片资料
  10. Turbo编码原理及基本概念