一、本文介绍
本文记录的是利用SENet V2 模块
模块优化YOLOv11
的目标检测网络模型。SENet V2
在V1
的基础上引入多分支密集层
,同时包含了通道信息和全局信息,克服了传统卷积神经网络在全局表示学习不足以及V1
本身可优化空间的问题。本文将其加入到YOLOv11
的不同位置中,并进行二次创新,充分发挥SE V2
模块的性能。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、SENet V2介绍
SENetV2: Aggregated dense layer for channelwise and global representations
1. 模块设计出发点
- 现有技术的局限性
- CNN的空间学习优势与全局学习不足:卷积神经网络(CNNs)在学习局部感受野内的空间相关性方面表现出色,但在学习全局表示方面相对不足。例如在图像分类任务中,虽然能提取局部特征,但对于整体的图像类别特征把握可能不够全面。
- SENet的改进空间:
SENet
通过挤压和激励操作增强了通道表示,但仍有可优化之处。- 借鉴其他成功架构的思路
- Inception模块的多分支卷积优势:
Inception模块
采用多分支卷积,不同分支使用不同尺寸的滤波器,最后拼接,能在降低理论复杂度的同时提高性能。这种多分支结构启发了新模块设计,使其能够更好地学习不同尺度的特征。 - ResNeXt的聚合模块思想:
ResNeXt
引入了聚合残差模块和“基数”概念,减少了理论复杂度并提升了性能。这为新模块在结构设计和优化上提供了参考,以更好地整合信息和提高效率。
2. 原理
- 通道信息的处理
- 挤压操作(Squeeze):输入经过卷积层后,进入全局平均池化层生成通道方向的输入,再进入具有缩减尺寸的全连接(FC)层进行挤压操作。该操作通过全连接层对通道信息进行重新整合和筛选,提取关键特征。
- 激励操作(Excitation):挤压后的信息进入激励组件,激励组件包含一个不进行缩减的FC层,恢复输入的原始形式,然后通过缩放操作与特征图进行通道方向的乘法,最后重新缩放恢复原始形状。这一步骤能够增强重要通道的信息,抑制不重要的通道信息。
- 全局与局部信息的融合
- 多分支密集层的引入:在挤压操作中引入多分支密集层,将聚合层连接起来并传递给FC层。这种结构使得模块能够学习到更广泛的全局表示,同时与通道表示相结合,实现全局与局部信息的融合。
- 核心特征与激励层的交互:通过选择合适的基数(如4),使模块能够在不增加不必要复杂度和模型参数的情况下,让核心特征与激励层有效交互,更好地学习全局表示并保留高效的结构。
3. 结构
- 与现有模块的对比
- 聚合残差模块(ResNeXt):
ResNeXt
的聚合残差模块通过分支卷积
直接连接输入,数学公式为$Resne X t=x+\sum F(x)$。而新模块在此基础上进行了改进,更加注重通道信息的处理和全局表示的学习。 - 挤压和激励模块(SENet):
SENet
的挤压
和激励
操作公式为$S E n e t=x+F(x \cdot E x(S q(x)))$,新模块在其基础上引入了多分支密集层和新的操作方式,如公式$S E n e t V 2=x+F\left(x \cdot E x\left(\sum S q(x)\right)\right)$所示。- 自身结构特点
- 多分支FC层:类似于ResNeXt的方法,引入相同大小的多分支FC层,增加了层间的基数,优化了信息传递。
- 分层处理流程:包括
挤压层
在激励前传递关键特征,然后经过一系列操作恢复原始形式,最后将处理后的信息与输入在残差模块中连接,形成一个完整的分层处理流程。
- 聚合残差模块(ResNeXt):
ResNeXt, SENet和SENetV2模块之间的比较
4. 优势
- 性能提升
- 实验验证:在CIFAR-10、CIFAR-100和定制版ImageNet等数据集上进行实验,与ResNet、SENet等现有架构相比,SENetV2在分类准确率上有显著提高。例如在CIFAR-10数据集上,Resnet准确率为77.38,SE Resnet为77.79,而SE ResnetV2达到了78.60。
- 特征表示增强:通过更好地融合通道表示和全局表示,增强了网络对图像特征的提取能力,从而提高了分类性能。
- 复杂度控制
- 参数增加可接受:虽然模型参数相比SENet有少量增加,但增加幅度较小。例如在CIFAR-100数据集上,Resnet参数为23.62M,SE Resnet为24.90M,SE ResnetV2为28.67M,增加的参数换来的是性能的提升,在实际应用中是可接受的。
- 结构优化:通过合理选择基数和引入多分支结构,在不增加过多复杂度的情况下提升了性能,保持了模型结构的高效性。
论文:https://arxiv.org/pdf/2311.10807
源码:https://github.com/mahendran-narayanan/SENetV2-Aggregated-dense-layer-for-channelwise-and-global-representations
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: