一、本文介绍
本文记录的是将ConvNeXt V2应用到YOLOv11中的改进方法研究。本文将ConvNeXt V2
应用于YOLOv11
,一方面利用全卷积掩码自动编码器在训练时优化特征学习,减少模型对大规模标注数据的依赖;另一方面,通过全局响应归一化层增强特征竞争,缓解特征坍塌问题,提高特征多样性。
本文在YOLOv11
的基础上配置了原论文中convnextv2_atto', 'convnextv2_femto
, convnextv2_pico
, convnextv2_nano
, convnextv2_tiny
, convnextv2_base
, convnextv2_large
, convnextv2_huge
八种模型,以满足不同的需求。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、ConvNeXt V2介绍
ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
ConvNeXt V2
是一种全新的ConvNet
模型家族,旨在提升纯卷积神经网络在各类下游任务中的性能。它在模型结构设计上有独特的出发点,结构原理涉及多个创新组件,并且在性能上展现出显著优势。
2.1 设计出发点
- 架构与自监督学习结合的挑战:视觉识别领域中,神经网络架构和自监督学习框架对模型性能至关重要。将ConvNeXt与掩码自动编码器(MAE)结合时存在挑战,MAE的编解码器设计针对Transformer的序列处理能力优化,与使用密集滑动窗口的标准ConvNets不兼容。直接将两者结合,未考虑架构与训练目标的关系,难以达到最优性能。先前研究也表明,用基于掩码的自监督学习训练ConvNets存在困难。
- 特征坍塌问题:对ConvNeXt进行特征空间分析时发现,直接在掩码输入上训练ConvNeXt,MLP层存在特征坍塌现象,即许多特征图处于死亡或饱和状态,通道间激活冗余,这影响了模型的性能。
2.2 结构原理
- 全卷积掩码自动编码器(FCMAE):采用随机掩码策略,掩码率为0.6,在最后阶段生成掩码并递归上采样到最高分辨率。使用ConvNeXt模型作为编码器,从“稀疏数据视角”出发,将标准卷积层转换为子流形稀疏卷积,使模型仅对可见数据点操作,解决掩码图像建模中信息泄漏问题。解码器采用轻量级的ConvNeXt块,整体形成非对称编解码器架构。计算重建图像与目标图像的均方误差(MSE),仅在掩码区域应用损失。
- 全局响应归一化(GRN):为解决特征坍塌问题提出GRN层。该层通过全局特征聚合、特征归一化和特征校准三个步骤,增强通道间的特征竞争。
具体来说,先使用L2范数进行全局特征聚合,再通过除法归一化计算通道的相对重要性,最后校准原始输入响应。将GRN层融入ConvNeXt块,并去除LayerScale,形成ConvNeXt V2模型家族。
2.3 优势
- 性能提升显著:在ImageNet分类、COCO检测和ADE20K分割等多种下游任务中,ConvNeXt V2模型性能相比ConvNeXt V1有显著提升。
- 有效缓解特征坍塌:通过可视化和余弦距离分析可知,ConvNeXt V2有效缓解了特征坍塌问题,各层的余弦距离值较高,表明特征多样性得以保持,学习行为与MAE预训练的ViT模型相似。
- 模型扩展性强:评估了从低容量的
3.7M Atto模型
到高容量的650M Huge模型
等一系列不同尺寸的模型,结果表明模型具有良好的扩展性,在所有模型尺寸上,微调结果均优于完全监督的对应模型,首次在广泛的模型范围内展示了掩码图像建模的有效性和高效性。
论文:https://arxiv.org/pdf/2301.00808
源码:https://github.com/facebookresearch/ConvNeXt-V2
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: