一、本文介绍
本文记录的是基于EfficientNet v1的 YOLOv11 轻量化改进方法研究。EfficientNet
采用了创新性的复合缩放方法,通过精心平衡网络宽度、深度和分辨率来提升性能。本文将EfficientNet
的设计优势融入YOLOv11
中,提升YOLOv11
的性能与效率,使其在目标检测任务中表现更为出色。
本文配置了原模型中的efficientnet-b0、efficientnet-b1、efficientnet-b2、efficientnet-b3、efficientnet-b4、efficientnet-b5、efficientnet-b6、efficientnet-b7、efficientnet-b8、efficientnet-l2共10种不同大小的模型结构,以满足不同的需求。
模型 | 参数量 | 计算量 | 推理速度 |
---|---|---|---|
YOLOv11m | 20.0M | 67.6GFLOPs | 3.5ms |
Improved | 16.0M | 27.7GFLOPs | 2.1ms |
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、EfficientNet详解
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
2.1 轻量设计出发点
随着卷积神经网络的发展,模型规模不断扩大,但硬件内存限制使得在追求更高精度的同时需要更好的效率。
传统的卷积神经网络如
AlexNet
、GoogleNet
、SENet
等虽然精度不断提高,但参数过多,面临硬件瓶颈。同时,在移动设备普及的背景下,也需要设计高效的小型网络,如
SqueezeNets
、MobileNets
等,但对于大型模型的高效设计空间和调优成本问题仍未得到很好解决。
因此,EfficientNet
旨在研究超大型且能超越现有精度的卷积神经网络的模型效率,通过模型缩放来实现这一目标。
2.2 结构原理
2.2.1 复合缩放方法
提出一种新的复合缩放方法,使用复合系数$\phi$统一缩放网络的宽度、深度和分辨率。具体公式为$$depth: d=\alpha^{\phi}$$$$width: w=\beta^{\phi}$$$$resolution: r=\gamma^{\phi}$$其中$\alpha$、$\beta$、$\gamma$是通过小网格搜索确定的常数,且满足$\alpha \cdot \beta^{2} \cdot \gamma^{2} \approx 2$,$\alpha \geq 1$,$\beta \geq 1$,$\gamma \geq 1$。
这种方法基于观察到网络宽度、深度和分辨率之间存在相互关联,平衡这三个维度的缩放对于提高模型性能至关重要,而传统的单一维度缩放方法存在局限性。
例如,仅增加网络深度会遇到梯度消失问题,且精度提升会逐渐减小;仅增加宽度或分辨率也会出现精度饱和的情况。通过这种复合缩放方法,可以根据可用资源的增加,按照一定比例同时调整网络的各个维度,从而在保持效率的同时提高模型精度。
2.2.2 EfficientNet - B0基线网络
通过多目标神经架构搜索开发了新的移动尺寸基线网络EfficientNet - B0
。
其主要构建模块是移动倒置瓶颈MBConv,并添加了挤压与激励优化。网络结构在不同阶段具有不同的层数、输入分辨率和输出通道数,如起始阶段是一个$Conv3x3$层,输入分辨率为$224x224$,输出通道为$32$,后续阶段包括不同类型的MBConv层
和卷积层
等,从EfficientNet - B0
开始,通过上述复合缩放方法,固定$\phi$进行小网格搜索确定$\alpha$、$\beta$、$\gamma$,然后再固定这些系数,通过改变$\phi$来缩放基线网络,得到EfficientNet - B1
到B7
等一系列模型。
2.3 优势
- 精度方面:在ImageNet数据集上,EfficientNet - B7达到了84.3%的top - 1精度,超越了之前的最佳模型GPipe,同时使用的参数比GPipe少8.4倍。与广泛使用的ResNet - 50相比,EfficientNet - B4在相似的FLOPS下,将top - 1精度从76.3%提高到83.0%(提升了6.7%)。
- 效率方面:在推理速度上,EfficientNet - B1比ResNet - 152快5.7倍,EfficientNet - B7比GPipe快6.1倍。在计算资源使用上,一般比其他具有相似精度的卷积神经网络减少一个数量级的参数和FLOPS,如EfficientNet - B3使用的FLOPS比ResNeXt - 101少18倍,但精度更高。
论文:https://arxiv.org/pdf/1905.11946
源码:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: