问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

YOLOv11改进策略:基于FasterNet的轻量化优化方案

创作时间:
作者:
@小白创作中心

YOLOv11改进策略:基于FasterNet的轻量化优化方案

引用
1
来源
1.
https://developer.aliyun.com/article/1650944

本文介绍了一种基于FasterNet的YOLOv11轻量化改进方法。通过引入部分卷积(PConv)和逐点卷积(PWConv),FasterNet在保持高准确率的同时显著降低了计算成本和延迟,为YOLOv11的性能优化提供了新的思路。

一、本文介绍

本文记录的是基于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

二、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修改步骤

模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址:
https://blog.csdn.net/qq_42591591/article/details/143092678

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号