CBAM(Convolutional Block Attention Module)使用指南

转自知乎

这货就是基于 SE-Net [5]中的 Squeeze-and-Excitation module 来进行进一步拓展

具体来说,文中把 channel-wise attention 看成是教网络 Look 'what’;而spatial attention 看成是教网络 Look 'where',所以它比 SE Module 的主要优势就多了后者

------------------------------------

我们先看看 SE-module:

SE-module

流程:

  1. 将输入特征进行 Global AVE pooling,得到 11 Channel

  2. 然后bottleneck特征交互一下,先压缩 channel数,再重构回channel数

  3. 最后接个 sigmoid,生成channel 间0~1的 attention weights,最后 scale 乘回原输入特征

-----------------------------------

再看看 CBAM :

CBAM

Channel Attention Module,基本和SE-module 是一致的,就额外加入了 Maxpool 的 branch。在 Sigmoid 前,两个 branch 进行 element-wise summation 融合。

Spatial Attention Module, 对输入特征进行 channel 间的 AVE 和 Max pooling,然后 concatenation(并联),再来个7*7大卷积,最后 Sigmoid

CBAM 特别轻量级,也方便在端部署,也可再cascade(串联)一下temporal attention,放进 video 任务里用~~

CDANet把Self-attention的思想用在图像分割,可通过long-range上下文关系更好地做到精准分割。

主要思想也是上述文章 CBAM 和 non-local 的融合变形:

把deep feature map进行spatial-wise self-attention,同时也进行channel-wise self-attetnion,最后将两个结果进行 element-wise sum 融合。

Dual Attention Network[6]

这样做的好处是:

在 CBAM 分别进行空间和通道 self-attention的思想上,直接使用了 non-local 的自相关矩阵 Matmul 的形式进行运算,避免了 CBAM 手工设计 pooling,多层感知器 等复杂操作。

[6]CDANet:Jun Fu et al., Dual Attention Network for Scene Segmentation, 2018

[5]Momenta, Squeeze-and-Excitation Networks,2017

转载于:https://www.cnblogs.com/tay007/p/11175637.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值