一、本文介绍
本文记录的是基于NAM模块的YOLOv11目标检测改进方法研究。 许多先前的研究专注于通过注意力操作捕获显著特征,但缺乏对权重贡献因素的考虑,而这些因素能够进一步抑制不重要的通道或像素。而本文利用NAM
改进YOLOv11
,==通过权重的贡献因素来改进注意力机制,提高模型精度。==
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、NAM介绍
NAM: Normalization-based Attention Module
NAM(Normalization - based Attention Module)
注意力模块的设计的原理和优势如下:
2.1 NAM设计原理
NAM
采用了来自CBAM(Convolutional Block Attention Module)
的模块集成方式,并重新设计了通道和空间注意力子模块。- 在通道注意力子模块中,使用了批归一化(Batch Normalization,BN)的缩放因子来衡量通道的方差,并表示其重要性。具体公式为:$B{out } = BN(B{in}) = \gamma \frac{B{in} - \mu{\mathcal{B}}}{\sqrt{\sigma{\mathcal{B}}^{2} + \epsilon}} + \beta$,其中$\mu{B}$和$\sigma{B}$分别是小批量$B$的均值和标准差;$\gamma$和$\beta$是可训练的仿射变换参数(缩放和平移)。通道注意力子模块的输出特征$M{c}$表示为:$M{c} = sigmoid(W{\gamma}(BN(F{1})))$,其中$\gamma$是每个通道的缩放因子,权重$W{\gamma}$通过$W{\gamma} = \gamma{i} / \sum{j = 0} \gamma{j}$获得。
- 在空间维度上也应用了BN的缩放因子来测量像素的重要性,称为像素归一化。相应的空间注意力子模块的输出$M{s}$表示为:$M{s} = sigmoid(W{\lambda}(BN{s}(F{2})))$,其中$X$是缩放因子,权重$W{\lambda}$通过$W{\lambda} = \lambda{i} / \sum{j = 0} \lambda{j}$获得。
- 为了抑制不太显著的权重,在损失函数中添加了一个正则化项,具体公式为:$Loss = \sum{(x, y)} l(f(x, W), y) + p \sum g(\gamma) + p \sum g(\lambda)$,其中$x$表示输入,$y$是输出,$W$代表网络权重,$l(\cdot)$是损失函数,$g(-)$是$l{1}$范数惩罚函数,$p$是平衡$g(\gamma)$和$g(\lambda)$的惩罚项。
2.2 优势
- 通过抑制不太显著的特征,
NAM
更高效。 - 与其他三种注意力机制(SE、BAM、CBAM)在ResNet和MobileNet上的比较表明,
NAM
在单独使用通道或空间注意力时,性能优于其他四种注意力机制;在结合通道和空间注意力时,在具有相似计算复杂度的情况下,性能也更优。 - 与CBAM相比,
NAM
在通道注意力模块中显著减少了参数数量,在空间注意力模块中参数增加不显著,总体上参数更少。
论文:https://arxiv.org/pdf/2111.12419
源码:https://github.com/Christian-lyc/NAM
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: