CBAM注意力模型介绍

本文分享自天翼云开发者社区《CBAM注意力模型介绍》,作者:Liuzijia

近年来,注意力机制在各项深度学习任务中表现出色。研究表明,人类视觉感知过程中,注意力机制发挥了积极的效果,可以帮助人们高效和自适应的处理视觉信息并聚焦于显著的画面区域,从而能够做出最准确的判断。因此,通过模拟视觉注意力机制,在网络结构中加入注意力模块,使模型可以更加关注待分类图像中的关键信息,抑制不相关的特征信息,促使模型对重要的特征区域更加敏感,从而有效提升相关任务的性能。本文简要介绍一种经典的混合注意力模型CBAM。

CBAM[1]是一种结合了通道与空间注意力的混合注意力模块,通过该模块可以自适应的强化特征提取过程。

 

图1 CBAM结构(引用自文献[1]) 

图1为CBAM的结构。对于输入特征图,该模块会依次推断出一个通道注意力图M_c和一个空间注意力图M_s,如式1和式2所示: 

其中,F表示输入特征图;M_c表示得到通道注意力图;F'表示通道注意力模块的输出特征图;M_s表示得到的空间注意力图;F''表示该模块的最终输出;x表示矩阵对应元素相乘。

 

图2 通道注意力模块(引用自文献[1]) 

图2为CBAM的通道注意力模块结构。对于输入特征图,首先利用在空间维度上的平均池化和最大值池化进行压缩,结合两种池化是为了对特征权重的学习更加精细,从而提升网络的特征表示能力,然后将池化后的特征输入到多层感知机中,为了减少计算参数量,会对隐藏层的大小进行降维,最后经激活函数得到注意力图,其计算过程如式3所示: 

其中,σ表示Sigmoid激活函数;F_avg和F_max分别表示空间维度上的平均池化(AvgPool)和最大值池化(MaxPool);W_0和W_1表示多层感知机(MLP)的共享参数;F表示输入特征图。

 

图3 空间注意力模块(引用自文献[1]) 

图3为CBAM的空间注意力模块。首先利用在通道维度上的平均池化和最大值池化对输入特征图进行操作,然后拼接大小均为H×W×1的两个特征图,这样可以得到一个大小为H×W×2的特征图,最后利用一个卷积操作并经激活函数后得到空间注意力图,其计算过程如式4所示: 

 

其中,σ表示Sigmoid激活函数;f(7×7)表示尺寸为7 的卷积核;F_avg和F_max分别表示在通道维度上的平均池化(AvgPool)和最大值池化(MaxPool);F表示输入特征图。

[1] Woo S, Park J, Lee J Y, et al. CBAM: Convolutional block attention module[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 3-19

posted @ 2024-06-24 15:21  天翼云开发者社区  阅读(77)  评论(0编辑  收藏  举报