首页 > 其他分享 >YOLOv10全网最新创新点改进系列:YOLOv10改进ShuffleNetV2,手把手教学、保姆级实操、必须有效涨点!!!

YOLOv10全网最新创新点改进系列:YOLOv10改进ShuffleNetV2,手把手教学、保姆级实操、必须有效涨点!!!

时间:2024-07-21 23:24:49浏览次数:12  
标签:涨点 nn self args ShuffleNetV2 改进 YOLOv10 c2

YOLOv10全网最新创新点改进系列:YOLOv10改进ShuffleNetV2,手把手教学、保姆级实操、必须有效涨点!!!

所有改进代码均经过实验测试跑通!截止发稿时YOLOv10已改进40+!自己排列组合2-4种后,考虑位置不同后可排列组合上千万种!改进不重样!!专注AI学术,关注B站up主:Ai学术叫叫兽er!

购买相关资料后畅享一对一答疑

# YOLOv10全网最新创新点改进系列:YOLOv10改进ShuffleNetV2,手把手教学、保姆级实操、必须有效涨点!!!


改进方法详细教学 欢迎讨论交流

本文章包含YOLOv8主干网络改进方法教学,一通百通。可直接复制使用,仅供参考。
AI学术叫叫兽er在这!家人们,给我遥遥领先!!!

一 ShuffleNetV2简介(大概了解一下即可)

主干网络为ShuffleNetV2, 其主要结构Inverted_residual_unit的组成单元如下图 c、d所示:
在这里插入图片描述(a): the basic ShuffleNet-V1 unit; (b) the ShuffleNet-V1 unit for spatial down sampling (2×); © ShuffleNet-V2 basic unit; (d) ShuffleNet-V2 unit for spatial down sampling (2×)

ShuffleNetV1结构的问题:

如上图(a)(b)在ShuffleNetv1的模块中,大量使用了1x1组卷积,这违背了G2原则,另外v1采用了类似ResNet中的瓶颈层(bottleneck layer),输入和输出通道数不同,这违背了G1原则。同时使用过多的组,也违背了G3原则。短路连接中存在大量的元素级Add运算,这违背了G4原则。

ShuffleNetV2改进:

为了改善v1的缺陷,v2版本引入了一种新的运算:channel split。具体来说,在开始时先将输入特征图在通道维度分成两个分支:通道数分别为c{'}和c-c{‘} ,实际实现时 c^{’}=c/2 。左边分支做同等映射,右边的分支包含3个连续的卷积,并且输入和输出通道相同,这符合G1。而且两个1x1卷积不再是组卷积,这符合G2,另外两个分支相当于已经分成两组。两个分支的输出不再是Add元素,而是concat在一起,紧接着是对两个分支concat结果进行channle shuffle,以保证两个分支信息交流。其实concat和channel shuffle可以和下一个模块单元的channel split合成一个元素级运算,这符合原则G4。

对于下采样模块,不再有channel split,而是每个分支都是直接copy一份输入,每个分支都有stride=2的下采样,最后concat在一起后,特征图空间大小减半,但是通道数翻倍。

在同等条件下,ShuffleNetv2相比其他模型速度稍快,而且准确度也稍好一点。同时作者还设计了大的ShuffleNetv2网络,相比ResNet结构,其效果照样具有竞争力。

论文地址ShuffleNetV2

二 YOLOv10改进ShuffleNetV2教学

2.1 第一步 替换yaml文件

直接上YAML文件
在YOLOv8包中找到YOLOv8.yaml文件后进行内容替换即可。
最新版的路径为:ultralytics/ultralytics/cfg/models/v8/yolov8.yaml

#  Ultralytics YOLO 

标签:涨点,nn,self,args,ShuffleNetV2,改进,YOLOv10,c2
From: https://blog.csdn.net/weixin_51692073/article/details/140596051

相关文章