YOLOv9改进,YOLOv9主干网络为FasterNet(全网独发手把手教学,助力涨点)
摘要
近年来,许多研究致力于减少浮点运算(FLOPs)以加速神经网络。然而,我们观察到这种FLOPs的减少并不一定能带来相应的延迟减少。这主要是由于运算每秒浮点运算数(FLOPS)效率低下,尤其是在频繁的内存访问(如深度卷积)时。为了解决这一问题,提出了一种新的部分卷积(Partial Convolution,PConv),该方法通过减少冗余计算和内存访问来更高效地提取空间特征。基于PConv,我们进一步提出了FasterNet,这是一系列新的神经网络家族,在不牺牲各种视觉任务准确性的前提下,大幅提高了在各类设备上的运行速度。例如,在ImageNet-1k数据集上,FasterNet-T0在GPU、CPU和ARM处理器上的运行速度分别比MobileViT-XXS快2.8倍、3.3倍和2.4倍,同时精度提高了2.9%。FasterNet-L在GPU上的推理吞吐量提高了36%,在CPU上的计算时间减少了37%,达到了与Swin-B相当的83.5%的顶级准确率。
FasterNet 介绍
FasterNet的整体架构由四个分层阶段组成,每个阶段包含一组FasterNet模块,并在前面加一个嵌入或合并层。最后三层用于特征分类。每个FasterNet模块内部,一个PConv层后跟两个PWConv层,为了保持特征多样性并降低延迟,归一化和激活层仅在中间层之后进行,其中,PConv 是一种快速高效的卷积操作,通过仅对部分输入通道应用卷积滤波器,而保持其余通道不变,从而减少了计算量和内存访问。相比于常规卷积,PConv具有更低的浮点运算次数(FLOPs),而相比深度卷积或分组卷积,PConv的每秒浮点运算数(FLOPS)更高。FasterNet架构如下图:
理论详解可以参考链接:论文地址
代码可在这个链接找到:代码地址
本文在YOLOv9中的主干网络替换成FasterNet,代码已经整理好了,跟着文章复制粘贴,即可直接运行
目录
- 摘要
- FasterNet 介绍
- 🎓一、YOLOv9原始版本代码下载