注意力机制:选择重要的信息,忽视不重要的信息。
1. 通道注意力机制(CAM)
代表模型:SENet
SENet(Squeeze and Excitation Networks)为压缩和激励网络。
压缩(Squeeze):采用高宽全局(最大)池化,压缩H和W至1×1,利用1个像素来表示一个通道,实现低维嵌入。压缩后的特征本质是一个向量,无空间维度,只有通道维度。
激励(Excitation):用两个全连接实现。第一个全连接层把C个通道压缩成C/r个通道来降低计算量(r是压缩的比例,r=16时,整体性能和计算量最平衡),第二个全连接层再恢复成C个通道。完成两次全连接后要进行一次Sigmoid计算,将值固定在0-1之间,此时我们获得了输入特征层每一个通道的权值(0-1之间)。
尺度缩放(Scale):将通过上两步获得的权值向量乘上输入特征层。
这里的乘法是指:将权值向量广播成为和特征层相同的长宽的矩阵,然后对应位置相乘。
优点:参数量小、泛化性能好(能学到特征通道之间的关系)。
缺点:只考虑通道上的注意力,无法捕捉空间维度上的注意力。
2. 空间注意力机制(SAM)
代表模型:STN
STN能够对各种形变数据在空间中进行转换并自动捕获重要区域特征。
3. 混合注意力机制(CBAM)
代表模型:CBAM
将通道注意力和空间注意力通过串联或者并联的方式进行组合。
假设输入特征图为H×W×C。
通道注意力操作为:对输入特征图分别进行长宽全局池化和长宽平均池化;然后将全局池化和平均池化的结果分别放入MLP(多层感知机,就是全连接操作)中学习;最后将MLP的两输出结果进行对应像素的add操作、Sigmoid操作。
最终将得到的1×1×C的特征图与输入特征图进行乘的操作。
空间注意力的操作为:对输入特征图分别进行通道全局池化和通道平均池化;然后将全局池化和平均池化的结果,按照通道进行拼接,得到特征图维度是H×W×2;最后对拼接的结果进行1个的卷积核的卷积,得到特征图维度是H×W×1、Sigmoid操作。
最终将得到的H×W×1的特征图与输入特征图进行乘的操作。
优点:可以从通道和空间两个方面上对图像进行关注。
缺点:计算复杂性高。