本文转载自AI公园。

作者:Sik-Ho Tsang

编译:ronghuaiyang

导读

使用CBAM加持的MobileNetV1,ResNeXt&ResNet,WRN优于使用SENet的网络。

在这篇文章中,介绍了“CBAM: Convolutional Block Attention Module” (CBAM),主要内容:

  • 给定中间特征图,BAM按顺序推导出沿通道和空间两个独立维度的注意力图,然后将注意图相乘到输入特征图进行自适应特征细化。

  • CBAM可以无缝集成到任何CNN架构中,开销可以忽略不计,并且可以与基础CNN一起进行端到端训练。

这是一篇发表在2018 ECCV上的论文,被引次数超过1000次。下面具体介绍。

1. CBAM: 一般性结构

CBAM: General Architecture

CBAM依次推断出一个1D的通道注意图Mc,尺寸为Cx1x1,和一个2D的空间注意力图Ms,尺寸为1xHxW。

其中 ⨂ 表示元素乘法,F’’是最终的细化输出。

这两个模块可以以并行或顺序的方式放置。结果表明,顺序排列的结果比并行排列的结果好。对于排列的顺序,实验结果表明,通道在前面略优于空间在前面。下面是一个ResBlock中CBAM的例子:

2. 通道注意力模块

通道注意力模块

通道注意力聚焦在“什么”是有意义的输入图像,为了有效计算通道注意力,需要对输入特征图的空间维度进行压缩,对于空间信息的聚合,常用的方法是平均池化。但有人认为,最大池化收集了另一个重要线索,关于独特的物体特征,可以推断更细的通道上的注意力。因此,平均池化和最大池化的特征是同时使用的。

FcavgFcmax,分别表示平均池化特征最大池化特征。然后,这两个描述符被转发到一个共享网络,以产生我们的通道注意力图Mc。共享网络由一个多层感知器(MLP)组成,其中有一个隐含层。为减少参数开销,隐藏层的激活大小设为R/C=r×1×1,其中R为下降率。将共享网络应用到每个描述符后,输出的特征向量使用element-wise求和进行合并。σ表示sigmoid函数。这个Mc(F)与F进行元素相乘得到F’.。

3. 空间注意力模块

空间注意力模块

空间注意力聚焦在“哪里”是最具信息量的部分,这是对通道注意力的补充。为了计算空间注意力,沿着通道轴应用平均池化和最大池操作,然后将它们连接起来生成一个有效的特征描述符。然后应用卷积层生成大小为R×H×W 的空间注意力图Ms(F),该空间注意图编码了需要关注或压制的位置。

具体来说,使用两个pooling操作聚合成一个feature map的通道信息,生成两个2D图: Fsavg大小为1×H×WFsmax大小为1×H×Wσ表示sigmoid函数,f7×7表示一个滤波器大小为7×7的卷积运算。

4. ImageNet上的消融研究

4.1. Max Pool 还是 Avg Pool

对比不同的通道注意力模型

最大池化编码了最显著的部分,而平均池化编码了全局的统计信息。因此,这两个特征被同时使用,并对这些特征应用一个共享网络。在SENet中的SE部分使用CAM是一种进一步提升的有效的方法。

4.2. 空间和通道注意力

对比不同的通道注意力方法

通道池化产生更好的准确性,表明显式建模的池化导致更好的注意力推断,而不是可学习的加权通道池化。在这两种情况下,采用更大的内核大小(k=7)可以产生更好的精度。这意味着需要一个开阔的视野(即大的感受野)来决定重要的空间区域。简单的说,我们使用了通道轴上卷积核大小为7的平均和最大池化特征作为我们的空间注意模块。

4.3. 通道和空间注意力的排列

从空间的角度来看,通道注意力是全局的,而空间注意力是局部的。研究发现,按顺序生成注意力图比并行生成注意力图更好。此外,通道在前面的性能略优于空间在前面。最终模块的top-1误差达到22.66%,大大低于SE。

5. SOTA对比

5.1. ImageNet

在ImageNet-1K上的分类结果

ResNet,WideResNet,ResNeXt使用了CBAM后显著优于基线。这意味着CBAM是强大的,显示了新的池化方法的有效性,它产生更丰富的描述符和空间注意力图,有效地补充了通道注意力。CBAM不仅大大提高了基线的准确性,而且也很好的提高了SE的性能。

在ImageNet-1K上使用轻量网络MobileNet的分类结果

CBAM的总体开销在参数和计算方面都非常小。CBAM非常适合于轻量级网络MobileNetV1。以上改进显示了CBAM在低端设备上应用的巨大潜力。

5.2. 使用Grad-CAM进行网络可视化

Grad-CAM可视化结果

Grad-CAM是最近提出的一种可视化方法,它使用梯度来计算卷积层中空间位置的重要性。Grad-CAM结果清晰地显示了网络关注的区域。我们可以清楚地看到集成了CBAM的网络的Grad-CAM mask对于目标区域的覆盖要比其他方法更好。

5.3. MS COCO Object Detection

在MS COCO验证集上的物体检测mAP

我们的检测方法是Faster R-CNN,基线网络是ImageNet上预训练过的ResNet50和ResNet101,可以看到,较基线有显著改善,展示了CBAM在其他识别任务上的泛化性能。

5.4. VOC 2007 Object Detection

PASCAL VOC 2007测试集

物体检测器为SSD和StairNet,我们可以清楚地看到,CBAM对两个骨干网络的所有基线的准确性都有提升。

CBAM精度的提高带来的参数开销可以忽略不计,这表明增强不是由于简单的容量增加,而是由于有效的特征细化。

英文原文:https://sh-tsang.medium.com/reading-cbam-convolutional-block-attention-module-image-classification-ddbaf10f7430

END

备注:目标检测

目标检测交流群

2D、3D目标检测等最新资讯,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

CBAM:融合通道和空间注意力的注意力模块相关推荐

  1. 特征图注意力_CBAM:卷积块注意力模块

    此篇文章内容源自 CBAM: Convolutional Block Attention Module,若侵犯版权,请告知本人删帖. 原论文下载地址: https://arxiv.org/pdf/18 ...

  2. 万字长文解析CV中的注意力机制(通道/空间/时域/分支注意力)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心技术交流群 后台回复[transformer综述]获取2022最新ViT综述论文! 注意 ...

  3. 深度学习卷积神经网络重要结构之通道注意力和空间注意力模块

    #主要原理 提出CBAM的作者主要对分类网络和目标检测网络进行了实验,证明了CBAM模块确实是有效的. 以ResNet为例,论文中提供了改造的示意图,如下图所示: #CMAB模块实现,依据上面原理 # ...

  4. 通道注意力与空间注意力模块

    通道注意力模块 使用通道注意力模块的目的:为了让输入的图像更有意义,大概理解就是,通过网络计算出输入图像各个通道的重要性(权重),也就是哪些通道包含关键信息就多加关注,少关注没什么重要信息的通道,从而 ...

  5. 最强通道注意力来啦!金字塔分割注意力模块,即插即用,效果显著,已开源!...

    导读 本文是通道注意力机制的又一重大改进,主要是在通道注意力的基础上,引入多尺度思想,本文主要提出了金字塔分割注意力模块,即PSA module.进一步,基于PSA ,我们将PSA注意力模块替换Res ...

  6. 改进版ASPP(2):ASPP模块中加入CBAM(卷积注意力模块),即CBAM_ASPP

    1.ASPP模型结构 空洞空间卷积池化金字塔(atrous spatial pyramid pooling (ASPP))通过对于输入的特征以不同的采样率进行采样,即从不同尺度提取输入特征,然后将所获 ...

  7. SE、ECA、CA、SA、CBAM、ShuffleAttention、SimAM、CrissCrossAttention、SK、NAM、GAM、SOCA注意力模块、程序

    SE.ECA.CA.SA.CBAM.ShuffleAttention.SimAM.CrissCrossAttention.SKAttention.NAMAttention.GAMAttention.S ...

  8. CBAM——即插即用的注意力模块(附代码)

    论文:CBAM: Convolutional Block Attention Module 代码: code 目录 前言 1.什么是CBAM? (1)Channel attention module( ...

  9. 超强通道注意力模块ECANet

    CVPR2020论文阅读--超强通道注意力模块ECANet!论文地址:https://arxiv.org/abs/1910.03151 摘要 最近,通道注意机制已被证明在改善深度卷积神经网络(CNN) ...

最新文章

  1. 剑指offer_第9题_变态跳台阶
  2. python类与对象示意图_2020Python作业——类与对象,
  3. 的主机名_如何在Mac 上更改电脑的名称或本地局域网主机名?
  4. ES6学习(模板字符串)
  5. WPF学习笔记(7):DataGrid中数字自定义格式显示
  6. java:Eclipse插件springsource-tool-suite的下载和安装
  7. 线性回归中的梯度爆炸
  8. 字节码插桩技术---Transform配合ASM进行插桩(三)
  9. 改了后台登陆地址后无法上传图片_如何找到路由器后台管理账号及密码 找回路由器后台管理账号及密码方法【介绍】...
  10. Redhat使用yum install时提示This system is not registered with an entitlement server 的解决办法
  11. React-笔记整理
  12. 线性空间----【1】n维向量的线性相关
  13. 德国留学语言c1,德国留学 纯语言签证和语言加留学签的区别介绍
  14. uniapp授权微信登陆
  15. 安防无战事:一场10213亿元的误会 1
  16. libyuv windows x64编译方法
  17. 直播|是事实还是贩卖焦虑?IT行业也偏爱“小鲜肉”
  18. 网络安全培训课程自学
  19. python 判断三角形
  20. 欧拉数 e=2.71828...(Eulers_Number)

热门文章

  1. 疯壳开源蓝牙智能健康手表(心率血压血氧心电监测可定制)_OTA镜像制作及下载技术文档
  2. 我是如何成为阿里巴巴数据分析师的?
  3. 能够批量处理图像的工具:Photo Batch Processor for Mac
  4. 毕设:基于SpringBoot+Vue 实现云音乐(前后端分离)
  5. 51单片机串口通讯 +Proteus仿真实验
  6. 【仪器仪表专题】案例:万用表VC86E连接不上电脑?拆机看是器件虚焊惹的祸
  7. 涂鸦智能选型 TiKV 的心路历程
  8. 关于set想说的(一)之Set的实现类及必要的方法
  9. (附源码)pringboot冬奥会竞赛项目知识网站的设计与实现 毕业设计152337
  10. 高硼硅玻璃的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告