白话详细解读(七)----- CBAM:Convolutional Block Attention Module
一、CBAM简介
论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CB
CBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个像素点,目标像素的值只参照自身与周围的8个像素点,这就意味着卷积操作只能利用局部信息来计算目标像素,这可能会带来一些偏差,因为卷积操作只能看到局部信息,而对全局信息了解甚少。
二、论文的主要贡献及创新点
- (1)提出了一种简单而有效的注意模块(CBAM),可以广泛应用于提高CNN的表征能力。这也是该篇论文的最大创新点。
- (2)通过广泛的消融实验,验证了我们的注意模块的有效性。
- (3)在多个基准测试数据集(ImageNet-1K、MS Coco和VOC 2007)上,通过插入我们的CBAM,验证了各种网络的性能都得到了极大的提升。
三、CBAM网络结构
3.1 CBAM的大致流程
- 大致流程
- (1)首先,输入一张中间的特征图
- (2)输入图像经过Channel Attention Module,Channel Attention Module我们用Mc表示,得到Channel Attention maps Mc(F)。
- (3)得到的Mc(F)与输入图像进行像素级别的相乘操作,得到F’
- (4)F’继续进入到Spatial Attention Module,Spatial Attention Module我们用Ms表示,得到Spatial Attention maps Ms(F’)。
- (5)得到的Ms(F’)与输入图像F’进行像素级别的相乘操作,得到F’'
大致了解CBAM的工作流程之后,我们需要来看一下CBAM内部是如何计算出Attention maps的。
3.2 Channel Attention Module(通道注意力模块)
Channel Attention Module为什么要用AvgPool和MaxPool两条并行的池化路径呢?
这是因为对于空间信息的聚合,到目前为止,普遍采用的是平均池化方法(Average Pooling),因此使用AvgPool来获得聚合的空间信息。而MaxPooling收集的是特征的重要线索,以推断更精细的通道注意力,也可以这样理解,AvgPool是获得宏观上的信息,而MaxPool是获得局部的信息,同时使用MaxPool有利用网络获得鲁棒性。
- Channel Attention Module具体计算过程
- (1)输入Input feature F
- (2)经过AvgPool获得特征图AvgPool(F)、经过MaxPool获得特征图MaxPool(F)
- (3)同时,两条池化路径共享一个MLP(多层感知机结构),AvgPool(F)、MaxPool(F)分别经过MLP处理,得到MLP(AvgPool(F))、MLP(MaxPool(F))
- (4)然后经过激活函数,得到最终的输出Mc(F)
note: Mc(F)是一个1维的channel attention map,在与输入图像进行像素级别的乘法时,Python会自动的使用广播技术。
这里的W0、W1是分别MLP的第1层、第2层的权重参数。
3.3 Spatial Attention Module(空间注意力模块)
- Spatial Attention Module具体计算过程
- (1)经Channel Attention Module处理得到的输出F’输入到Spatial Attention Module中
- (2)经过MaxPool、AvgPool、7*7Conv的卷积操作,得到特征图
- (3)最后经过sigmoid激活函数,得到最终的Spatial Attention Maps
note: Ms(F)是一个2维的Spatial attention map.
四、Experiments
实验不是重点,就是普通的消融实验,简单了解以下即可。
(1)Comparison of different channel attention methods.
(2)Comparison of different spatial attention methods.
(3)Combining methods of channel and spatial attention.
(4)Classification results on ImageNet-1K.
参考文献
- CBAcM: Convolutional Block Attention Module
- https://my.oschina.net/u/1416903/blog/4582792
白话详细解读(七)----- CBAM:Convolutional Block Attention Module相关推荐
- CBAM CBAM: Convolutional Block Attention Module
#https://blog.csdn.net/u011699990/article/details/81276851?utm_medium=distribute.pc_relevant.none-ta ...
- CBAM: Convolutional Block Attention Module
CBAM: Convolutional Block Attention Module 1. 摘要 作者提出了一个简单但有效的注意力模块 CBAM,给定一个中间特征图,我们沿着空间和通道两个维度依次推断 ...
- 论文研读2018:卷积中的注意力和keras实现。CBAM: Convolutional Block Attention Module
文章目录 Abstract 1 Introduction 2 Related Work 3 Convolutional Block Attention Module Channel attention ...
- CBAM(Convolutional Block Attention Module)
目录 总体介绍 CBAM(Convolutional Block Attention Module )模块 CAM(Channel attention module) SAM(Spatial atte ...
- 【CBAM 解读】混合注意力机制:Convolutional Block Attention Module
摘要 本文提出了卷积块注意模块(CBAM),这是一种简单而有效的前馈卷积神经网络注意模块.在给定中间特征图的情况下,我们的模块沿着通道和空间两个不同的维度顺序地推断关注图,然后将关注图与输入特征图相乘 ...
- 白话详细解读(七)----- Batch Normalization
转载:https://www.cnblogs.com/guoyaohua/p/8724433.html Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要 ...
- 白话详细解读(二)-----AlexNet
一.AlexNet简介 2012年,Alex Krizhevsky可以算作是LeNet的一个更深和更广的版本,可以用来学习更加复杂的对象. Alex的要点 1.用ReLU得到非线性,用ReLU非线性函 ...
- 白话详细解读(一)-----GoogLeNet(Inception V1-Inception V3)
一.背景 GoogLeNet.VGGNet分别是2014年ImageNet挑战赛的第一名和第二名,相对于VGGNet的网络结构,GoogLeNet则进行了大胆的尝试,提出了Inception结构,这种 ...
- 白话详细解读(六)----- BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation
一.论文简介 论文链接:https://openaccess.thecvf.com/content_ECCV_2018/html/Changqian_Yu_BiSeNet_Bilateral_Segm ...
最新文章
- 黄金点游戏之客户端(homework-05)
- 研效优化实践:Python单测——从入门到起飞
- 3d button - where is OS type and version detected
- ButtonRenderer
- 模型服务:流处理与使用Java,gRPC,Apache Kafka,TensorFlow的RPC / REST
- 论文浅尝 | 动态知识图谱对齐
- C - 思考使用差分简化区间操作
- 玩大了!别再埋头学Python了,它真的无用!
- spark中saveAsTextFile如何最终生成一个文件
- 卷积神经网络(CNN)及其实践
- 实战系列-分布式缓存
- gitlab 安装_安装Gitlab-注意端口
- 十步轻松搞定IIS+PHP环境搭建
- java生成 折线图
- python气象包_Python-Cartopy包: 地图投影
- 三种嵌入式操作系统的分析与比较
- 的it生活_双子IT男性格随和、爱美食懂生活,会给女朋友准备小惊喜 | 企鹅来电VOL.03...
- python闰年统计_利用Python写一个闰年计算器和每月天数计算器
- 各种零知识证明的比较!
- 解决电脑无法通过网线直连海康摄像机的问题