一、本文介绍
本文记录的是基于FasterNet的YOLOv11轻量化改进方法研究。FasterNet
的网络结构借鉴 CNN 的设计理念,通过提出的PConv
减少推理时的计算和内存成本,同时减少通道数并增加部分比例,降低延迟,并通过后续的PWConv
来弥补特征信息可能缺失的问题,提高了准确性。本文在替换骨干网络中配置了原论文中的fasternet_t0
、fasternet_t1
、fasternet_t2
、fasternet_s
、fasternet_m
和fasternet_l
六种模型,以满足不同的需求。
模型 | 参数量 | 计算量 | 推理速度 |
---|---|---|---|
YOLOv11m | 20.0M | 67.6GFLOPs | 3.5ms |
Improved | 13.0M | 33.2GFLOPs | 2.6ms |
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、FasterNet结构详解
2.1 出发点
在计算机视觉任务中,追求快速神经网络是一个趋势。然而,现有的一些神经网络在降低FLOPs(浮点运算次数)时,往往忽略了FLOPS(每秒浮点运算次数)的优化,导致实际运行速度不够快。FasterNet的设计出发点是为了克服这一问题,实现既减少FLOPs又提高FLOPS,从而在各种设备上达到快速运行的效果,同时不影响准确性。
2.2 原理
2.2.1 PConv(部分卷积)的原理
- 减少计算冗余和内存访问:观察到现有算子(如DWConv)因频繁内存访问导致FLOPS低,提出
PConv
。它利用特征图在不同通道间的冗余,仅对部分输入通道应用常规卷积进行空间特征提取,其余通道保持不变。例如,对于输入输出通道数相同且采用典型部分比例$r=\frac{1}{4}$的情况,
PConv
的FLOPs仅为常规卷积的$\frac{1}{16}$,内存访问量也仅为常规卷积的$\frac{1}{4}$。 - 与PWConv结合:
PConv
后接PWConv(逐点卷积)
,其有效感受野类似T形卷积,==更关注中心位置==。这种组合方式比直接使用T形卷积更能利用滤波器间的冗余,进一步节省FLOPs。2.2.2 FasterNet的构建原理
以PConv
和PWConv
为主要构建算子,构建FasterNet
。它保持架构简单,具有硬件友好性。其整体架构包含四个层次阶段,每个阶段前有嵌入层或合并层用于空间下采样和通道数扩展,每个阶段包含多个FasterNet块
,每个块由一个PConv层和两个PWConv层组成,类似倒置残差块结构,中间层通道数扩展且有 shortcut连接以复用输入特征。同时,仅在每个中间PWConv层
后放置归一化和激活层,以保留特征多样性并降低延迟。
2.3 结构
2.3.1 整体架构
- 四个阶段:具有四个层次阶段,各阶段通过嵌入层(如$4×4$卷积,步长为4)或合并层(如$2×2$卷积,步长为2)进行空间下采样和通道数扩展。
- FasterNet块:每个阶段包含多个
FasterNet块
,每个块由PConv层
和两个PWConv层
组成。
2.3.2 各层细节
- PConv层:按照部分比例对输入通道进行卷积操作,例如$r=\frac{1}{4}$时仅对$\frac{1}{4}$的输入通道进行卷积。
- PWConv层:在
PConv层
之后,用于进一步处理特征。
- 归一化和激活层:采用批量归一化(BN),激活层对于较小的FasterNet变体选择GELU,较大变体选择ReLU,且仅在中间PWConv层后放置,以减少对特征多样性的影响并降低延迟。
2.4 优势
- 速度快:
- PConv的高FLOPS:在GPU、CPU和ARM处理器上,PConv相比DWConv分别实现了$10.5X$、$6.2X$和$22.8X$更高的FLOPS,同时FLOPs显著降低。例如,10层纯PConv的堆叠在不同处理器上展现出良好的计算速度。
- FasterNet的高效运行:在多种设备上,如GPU、CPU和ARM处理器,FasterNet相比其他神经网络(如MobileViT、ResNet等)在保持相似或更高准确性的情况下,运行速度更快。
例如,在ImageNet - 1k上,FasterNet - T0在GPU、CPU和ARM处理器上分别比MobileViT - XXS快$2.8×$、$3.3X$和$2.4X$,同时精度更高;FasterNet - L达到83.5%的top - 1准确率,与Swin - B相当,在GPU上推理吞吐量提高36%,在CPU上节省37%的计算时间。
- 准确性高:在分类、检测和分割等视觉任务上取得了先进的性能。在ImageNet - 1k分类任务中,不同变体的FasterNet都取得了较好的准确率,且在下游的COCO数据集上进行目标检测和实例分割任务时,相比ResNet和ResNext等模型,具有更高的平均精度(AP)。
- 结构简单:架构设计相比许多其他模型更简单,展示了设计简单而强大神经网络的可行性。这种简单性有助于硬件实现和模型的理解与应用。
论文:https://arxiv.org/pdf/2303.03667
源码:https://github.com/JierunChen/FasterNet
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: