注意力机制模块
近年来,注意力机制在计算机视觉任务中成为一个焦点,通过在模型中引入注意力机制,网络可以在学习过程中关注更多重要的视觉特征信息而忽略与任务无关的次要信息,从而有效地提升网络性能。在具体的计算机视觉任务中,可以有不同形式的注意力机制的实现和应用。如将注意力机制引入残差网络中的RANet网络[37],应用通道注意力机制的SENet网络[38],通过在通道上分配注意力权重系数,来选择任务所关注对象的关键信息并取得了不错的准确率。而本章所引入的轻量注意力模块(convolutional block aeeeution model,简称CBAM) 注意力机制模块[39],通过从通道和空间两个维度出发,同时提取了通道和空间注意力,相对于SENet只提取通道上的注意信息,在未明显增加计算量的同时有效提升了网络的学习能力,是一种高效的轻量级的注意力机制模块。
图4-2展示了CBAM注意力机制模块的计算过程。对于输入的特征图F,首先在通道维度上提取特征注意力,将提取的通道注意力MC与F卷积后输入空间注意力模块。之后在空间维度上提取特征注意力,将提取的空间注意力MS与F'卷积得到CBAM的输出特征图。
图4-2所示的CBAM注意力机制模块在输入特征图为F的情况下计算如下式所示:
式中:MC表示在一维通道上的注意力提取操作,MS表示在二维空间上的注意力提取操作,*表示卷积操作,F'表示通道注意力的输出,F″表示CBAM的注意输出特征图。
图4-2 CBAM模块的计算过程[30]
通道注意力模块与空间注意力模块的具体计算如下式所示:
式中:σ表示激励方法,AvgPool和MaxPool分别表示对输入特征图执行平均操作与最大池化操作,MLP为多层感知器,f7×7表示采用了7×7的卷积核。
CBAM注意力机制模块通过同时在通道与空间上提取特征注意力,使得网络更聚焦于识别物体自身,可以显著提升模型的识别性能且具有更合理的可解释性。