论文简要:
本文介绍了一种简单而有效的注意力模块 CBAM,它通过结合通道注意力机制和空间注意力机制,实现了对通道和空间两个维度的重要信息的同时考虑。CBAM 实现了自适应特征细化的功能,使得网络能够更好地适应不同图像的特点,并且在不增加网络参数和计算复杂度的情况下提高分类准确率。
本文方法:
CBAM 注意力模块(Convolutional Block Attention Module)通过结合通道注意力机制和空间注意力机制,实现对通道和空间两个维度的重要信息的同时考虑。具体来说,CBAM包含两个子模块:通道注意力模块(Channel Attention Module)和空间注意力模块(Spatial Attention Module)。
CBAM 将通道注意力模块和空间注意力模块串联起来。首先,通过通道注意力模块对输入特征图 进行校正,得到特征图 ;然后,通过空间注意力模块对 再进行校正,得到输出特征图 。并通过实验证明了串联注意力模块的有效性。这种混合注意力机制能够提取更具有区分性的特征表示,从而提高网络的分类准确率。
CBAM的实现并不会增加网络的参数量和计算复杂度,因此在实际应用中是一种简单而有效的注意力机制。
通道注意力模块(Channel Attention Module)通过学习每个通道的重要性关系,自适应地调整每个通道的权重,实现对通道相关的特征信息的提取。设输入特征图为 ,其中 、、 分别表示高度、宽度和通道数。
首先,使其同时经过全局平均池化(GAP)和全局最大池化(GMP)操作,分别得到不同的空间语义描述算子;然后,将二者通过一个共享感知机,分别得到对应的通道注意力特征向量;最后,将得到的两个通道注意力特征向量相加融合,并经过激活函数,得到通道注意力向量 。
其中, 表示激活函数, 表示多层感知机(Multi-Layer Perceptron), 表示平均池化操作, 表示最大池化操作。进一步展开,可以将 表示为两个全连接层操作:
其中, 表示输入特征图经过平均池化操作得到的特征向量, 表示输入特征图经过最大池化操作得到的特征向量, 和 表示两个全连接层的权重参数。
空间注意力模块(Spatial Attention Module)通过学习每个空间位置的重要性关系,自适应地调整每个空间位置的权重,实现对空间位置相关的特征信息的提取。设输入特征图为 ,其中 、、 分别表示高度、宽度和通道数。
首先,使其沿着通道维度同时经过全局平均池化(GAP)和全局最大池化(GMP)操作,分别得到两种不同的通道特征描述算子,将二者进行
concat
拼接,然后经过一个卷积核为7*7的卷积操作,再经过激活函数,最后得到空间注意力向量。简而言之,空间注意力的计算如下:
其中, 表示激活函数, 表示一个 的全连接层, 和 分别表示平均池化操作和最大池化操作, 和 分别表示输入特征图经过平均池化操作和最大池化操作所得到的特征向量。