论文:https://arxiv.org/pdf/2005.11475.pdf
代码:https://github.com/Caojunxu/AC-FPN
在目标检测中,如何解决高分辨率输入条件下特征图分辨率与感受野之间的矛盾仍然是一个有待解决的问题。为了解决这一问题,作者提出了注意引导的上下文特征金字塔网络(AC- FPN),该网络通过整合注意引导的多路径特征来利用来自不同感受野的判别信息。该模型包含两个模块。第一个是上下文提取模块(CEM),它从多个接受字段中挖掘大量的上下文信息。由于冗余的上下文关系可能会误导定位和识别,作者还设计了第二个模块——注意引导模块(attention -guided module, AM),它可以利用注意机制自适应地捕获对象的显著依赖关系。AM由两个子模块组成,即上下文注意模块(CxAM)和内容注意模块(CnAM),分别侧重于捕获区别语义和定位精确位置。最重要的是,AC-FPN可以很容易地插入现有的基于fpn的模型。

一、文章简介:

由于网络结构的限制,基于fpn的方法不能很好地利用不同大小的接受域。具体来说,这种自下而上的途径只是叠加几层来扩大接受区域来激励信息传播,不同感受野对应的特征映射通过自顶向下路径的元素加法合并。因此,不同的感受野所捕获的语义信息不能很好地相互沟通,导致性能有限。
当前基于FPN的方法存在两个主要问题:
1)高分辨率输入的特征映射分辨率和感受野之间的矛盾;
2)多尺度感受野之间缺乏有效的通信。
上下文提取模块(CEM)。在不显著增加计算开销的情况下,CEM可以使用不同膨胀率的多路径扩展卷积从不同的大小的感受野捕获丰富的上下文信息(如下c)。此外,为了详细地合并多感受野信息,在CEM中引入了不同感受野层之间的密集连接。

图1.(a)检测到的物体。 (b)相同模型在不同尺寸图像上的感受野。 (c)从各个感受野获得的上下文信息。 (d)确定的尺度关系。 虚线表示对图像的依赖性,线宽表示相关度
尽管CEM的特征包含丰富的上下文信息,在很大程度上有助于检测不同尺度的目标,但它有些杂,因此可能会混淆定位和识别任务。因此,如上 (d)所示,为了减少冗余上下文的误导,进一步增强特征的识别能力,设计了另一个模块Attention-guided module (AM),该模块引入了一种自注意机制来捕获有效的上下文依赖。具体来说,它包括两个部分:
1)上下文注意模块(CxAM),其目标是捕获特征映射任意两个位置之间的语义关系;
2)内容注意模块(CnAM),其目标是发现空间依赖性。

为了解决这些问题,作者提出了一种新的注意引导的上下文特征金字塔网络(AC-FCN),该网络从不同大小的接受域中捕获上下文信息,并生成具有较强识别能力的客观特征。如上所示,在FPN基本架构的基础上,模型有两个新的组件:
1)上下文提取模块(Context Extraction Module, CEM),它从不同大小的接受域中挖掘丰富的上下文信息;
2)增强显著上下文依赖的注意引导模块(AM)。
如上所示,对于自底向上的路径,将每个尺度下卷积层的输出表示为{F2, F3, F4, F5}。同样的自上而下的路径和横向连接都遵循原始文件中的官方设置。

(一)、Context Extraction Module

在获取了前一层(即F5)的特征图后,为了挖掘丰富的上下文信息,将其输入到CEM中,CEM由不同比率的多路径扩展卷积层组成,如rate = 3,6,12。这些分离的卷积层可以在不同的感受野中获取多个特征图。此外,为了增强几何变换的建模能力,在每条路径中引入了可变形的卷积层。它保证了CEM能够从给定的数据中学习到转换不变的特征。
此外,为了精细化地合并多尺度信息,在CEM中采用密集连接,将每个膨胀层的输出与输入的特征图连接,然后送到下一个膨胀层。DenseNet利用密集连接来解决梯度消失的问题,并在CNN模型越深入时加强特征传播。相比之下,使用密集方式来实现具有不同接受域的特征的更好的尺度多样性。最后,为了保持初始输入的粗粒度信息,将扩展层的输出与上采样的输入连接起来,并将它们送入一个1×1卷积层以融合粗粒度和细粒度特征。

(二)、Attention-guided Module

虽然来自CEM的特征包含丰富的接受域信息,但并不是所有的特征都有助于提高对象检测的性能。由于边界框或区域建议被冗余信息误导,精度可能会降低。因此,为了消除冗余的负面影响,进一步提高特征映射的表示能力,提出了一种注意引导模块(Attention-guided Module, AM),该模块能够捕获具有强语义和精确位置的显著依赖。如下所示,注意模块由两部分组成:
1)上下文注意模块(CxAM)
2)内容注意模块(CnAM)。
CxAM关注给定特征映射(即来自CEM的特征)的子区域之间的语义。然而,由于可变形卷积的影响每个物体的位置都被极大地破坏了。为了缓解这个问题,引入了CnAM,它更注重保证空间信息,但由于较浅层(即F5)的关注,牺牲了一些语义。最后,将CxAM和CnAM提炼的特征与输入特征进行合并,获得更全面的表示。

(1)、上下文注意模块

为了主动捕获子区域之间的语义依赖关系,引入了一个基于自注意机制的上下文注意模块(Context Attention Module, CxAM)。将上述由CEM产生并包含多尺度接收域信息的特性输入到CxAM模块中。基于这些信息特征,CxAM自适应地更加关注相关性更强的子区域之间的关系。因此,来自CxAM的输出特性将具有明确的语义,并在周围对象中包含上下文依赖关系。

从上图中可以看出,给定判别特征映射F∈RC×H×WF∈R^{C×H×W}F∈RC×H×W,分别使用卷积层WqW_qWq​和WkW_kWk​将其转换为一个潜空间。


其中,{Q, K}∈RC’×H×W∈ R^{C^’×H×W}∈RC’×H×W, 然后,将Q和K reshape为RC’×NR^{C^’×N}RC’×N,其中N = H×W。为了捕获每个子区域之间的关系,计算一个相关矩阵为

其中R∈RN×NR∈R^{N×N}R∈RN×N,然后被reshape为R∈RN×H×WR∈R^{N×H×W}R∈RN×H×W。通过sigmoid激活函数和平均池化将R归一化后,建立了一个注意力矩阵R’R^’R’,其中R’∈R1×H×WR^’∈R^{1×H×W}R’∈R1×H×W。同时,利用卷积层WvW_vWv​将feature map F转换为另一种表示V

其中V∈RC×H×WV∈R^{C×H×W}V∈RC×H×W。
最后,对R’R^’R’和特征V进行逐元素乘法,得到注意力表示e。将函数表示为

其中EiE_iEi​为第i个特征图,通道维数为C。

(2)、Content Attention Module

由于可变形卷积的影响,给定图像的几何性质被极大地破坏,导致了位置偏移。为了解决这一问题,我们设计了一种新的关注模块,即内容关注模块(Content attention module, CnAM),以保持每个对象的精确位置信息。如下所示,CxAM使用卷积层对给定的feature map进行转换。但是,没有使用feature maps F来生成注意力矩阵,而是采用feature maps F5∈RC′′×H×WF_5∈R^{C''×H×W}F5​∈RC′′×H×W,可以更精确地捕捉到每个对象的位置。
为了得到注意矩阵,首先应用两个卷积层Wp和WzW_p和W_zWp​和Wz​,将F5F_5F5​转换为潜空间,分别为:

其中{P, Z}∈RC’×H×W∈R^{C^’×H×W}∈RC’×H×W。然后,将P和Z的维数reshape为RC′×NR^{C'×N}RC′×N,得到相关矩阵为:

其中S∈RN×NS∈R^{N×N}S∈RN×N。将S reshape为RN×NR^{N×N}RN×N后,利用sigmoid和平均池化得到一个注意矩阵S’∈R1×H×WS^’ ∈R^{1×H×W}S’∈R1×H×W。为了得到一个突出的表示,将提取的特征V与S0通过逐元素乘法结合起来

其中D∈RC×H×WD∈R^{C×H×W}D∈RC×H×W, DiD_iDi​表示第i个输出特征图。
对于AC-FPN,与原始FPN不同的是,本文通过max pooling对F5和子样本P5进行扩张卷积,以保持与FPN相同的步幅。更具体地说,在CEM中,首先将F5减少到512个通道作为输入,然后是几个具有不同膨胀率的可变形卷积层,例如,3,6,9。然后将输出减少到256个通道,再利用自顶向下的FPN结构。使用1 ×1卷积,将CnAM的输入减少到256个通道,CxAM的输入减少到128个通道。



CEM的影响

Attention-guided Context Feature Pyramid Network for Object Detection相关推荐

  1. Feature Pyramid Networks for Object Detection论文翻译——中文版

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  2. Feature Pyramid Networks for Object Detection论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  3. 目标检测--Feature Pyramid Networks for Object Detection

    CVPR2017 Feature Pyramid Networks for Object Detection https://arxiv.org/abs/1612.03144 Code will be ...

  4. Feature Pyramid Networks for Object Detection 总结

    最近在阅读FPN for object detection,看了网上的很多资料,有些认识是有问题的,当然有些很有价值.下面我自己总结了一下,以供参考. 1. FPN解决了什么问题? 答: 在以往的fa ...

  5. Feature Pyramid Networks for Object Detection 论文笔记

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Jesse_Mx/article/details/54588085 论文地址:Feature Pyra ...

  6. 【深度学习】FPN(特征金字塔)简介:Feature Pyramid Networks for Object Detection

    [深度学习]FPN(特征金字塔):Feature Pyramid Networks for Object Detection 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 博文 ...

  7. FPN:feature pyramid networks for object detection

    论文:feature pyramid networks for object detection 论文链接 论文概述: 作者提出的多尺度的object detection算法:FPN(feature ...

  8. Feature pyramid networks for object detection

    具体分析请见: https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection ...

  9. 《Feature Pyramid Networks for Object Detection》论文阅读笔记

    FPN 很多论文中都会采用含有FPN的backbone进行特征提取,因为FPN使用特征金字塔结构,将low-level的特征和high-level的特征进行融合,能提取更加准确的位置等特征信息. 所以 ...

  10. Detection论文总结(1)Feature Pyramid Networks for Object Detection

    文章地址:arxiv 论文目录 Feature Pyramid Networks for Object Detection 引言 相关研究 特征金字塔网络 应用 RPN应用 Fast RCNN应用 目 ...

最新文章

  1. Ubuntu18.04 ROS Melodic安装全过程整理
  2. 单片机为什么不到一年时间涨这么多?
  3. 阿里、京东、美团、滴滴的 Dubbo / JVM / Spring 面试题及答案(2)
  4. 背包问题概述(Lintcode- 562.Backpack IV问题解决)
  5. activity重启问题
  6. 【BLE MIDI】开发 BLE MIDI 硬件电子乐器设备需要遵循的相关规范 ( 资料收集 )
  7. 怎么查看电脑配置参数linux,linux下查看电脑配置
  8. LeetCode 1726. 同积元组(排列组合)
  9. Java LineNumberReader mark()方法与示例
  10. 现代操作系统原理与实践03:操作系统结构
  11. python进阶教程之异常处理
  12. HTTP防病毒网关(包括UTM)存在的问题
  13. ESP8285烧写问题备忘
  14. Linux查看ip 地址命令(ip addr)
  15. 企业微信开发实战(二、OA审批之获取审批模版详情提交审批申请)
  16. MFS详解(一)——MFS介绍
  17. wireshark如何抓取本机包
  18. 关于AndroidStudio打包后apk包名乱码的问题
  19. Load balancer does not have available server for client: chwl-provider-order
  20. 饱和气压与温度的关系_饱和蒸汽温度与压力关系

热门文章

  1. 小米电视android刷机,小米电视刷机经历
  2. VirtualBox系统虚拟盘格式转换vdi/vhd/vmdk
  3. 回顾微生物学的发展——我们在哪里,我们要去哪里?
  4. 2020数学建模国赛A题思路与代码(全)
  5. 雨落C++小课堂第二课——C++程序结构(2)
  6. JAVA 赛码网|笔试时输入输出的控制
  7. 51单片机、STM32中生成QRCode二维码
  8. 全智通A+常见问题汇总解答—A+配件仓库—维修领料—编辑领料单:最后一个仓库无法显示
  9. windows 磁盘被写保护怎么办
  10. Apache Doris 原理与实践