首页IT科技yolov3和yolov4的区别(简述YOLOv8与YOLOv5的区别)

yolov3和yolov4的区别(简述YOLOv8与YOLOv5的区别)

时间2025-06-17 04:48:24分类IT科技浏览15989
导读:前言 yolov7,yoloX相关论文还没细看,yolov8就出来了。太卷了!...

前言

yolov7,yoloX相关论文还没细看,yolov8就出来了                   。太卷了!

YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本                             。

GitHub地址 : github.com/ultralytics/ultralytics

YOLOv8是在YOLOv5上的一次更新                   ,故本篇文章主要对比两者区别:

YOLOv5架构:

架构特点:

1.Backbone

CSP的思想(/梯度分流)的主要思想                           , 其中多为CBS和C3模块        。

2.PAN/FPN

双流的FPN          ,其中多为CBS和C3模块              。

3.Head

coupled head + Anchor-base(coupled head这一词是在YoloX提出decoupled head 与之对应               ,后续会讲解coupled head 和decoupled head的区别)                              。

4.正负样本分配策略

静态分配策略             。

5.Loss

分类用BCE Loss                           ,回归用CIOU Loss         。还有一个存在物体的置信度损失(BCE Loss)                              。

其他补充:Yolov5中SPP和SPPF的区别                  。

作用/功能: 经过1×1,5×5,9×9,13×13的池化生成的特征图都是13×13的               ,保持原大小不变    。这里作用是融合局部和整体特征                             。

区别: SPPF可以减少计算量,原来要3个MaxPool2d          ,现在只要1个MaxPool2d                           ,有点像快速幂求解的算法思路                       。

详细看:https://zhuanlan.zhihu.com/p/584153158

YOLOv8架构:

架构特点:

1.Backbone

相同:CSP的思想(/梯度分流);并且使用SPPF模块。

不同:将C3模块替换为C2f模块                        。

2.PAN-FPN

双流的FPN                    ,(其中多为CBS和C3模块)                            。

相同:PAN的思想    。

不同:删除了YOLOv5中PAN-FPN上采样的CBS 1*1,将C3模块替换为C2f模块                   。

3.Head

Decoupled head + Anchor-free

4.正负样本分配策略

采用了TAL(Task Alignment Learning)动态匹配                             。

5. Loss

相同:分类损失依然采用 BCE Loss

不同:(1).舍去物体的置信度损失;(2).回归分支loss: CIOU loss+ DFL

DFL的描述详见: https://zhuanlan.zhihu.com/p/147691786

两者推理过程区别

YOLOv8 的推理过程和 YOLOv5 几乎一样     ,唯一差别在于前面需要对 Distribution Focal Loss 中的积分表示 bbox 形式进行解码                           ,变成常规的 4 维度 bbox                        ,后续计算过程就和 YOLOv5 一样了        。

coupled head 和 decoupled head 有什么差异?

参考:

https://www.cnblogs.com/chentiao/p/16420907.html

区别:

当使用coupled head时,网络直接输出shape (1,85,80,80);

如果使用 decoupled head                       ,网络会分成回归分支和分类分支                            ,最后再汇总在一起     ,得到shape同样为 (1,85,80,80)              。

为什么用decoupled head?

如果使用coupled head                   ,输出channel将分类任务和回归任务放在一起                           ,这2个任务存在冲突性                              。(论文中说有冲突性          ,但是没有理解为什么存在冲突               ,我考虑的是从损失函数角度存在冲突)

通过实验发现替换为Decoupled Head后                           ,不仅是模型精度上会提高               ,同时 网络的收敛速度也加快了          ,使用Decoupled Head的表达能力更好             。

Couple Head和 Decoupled Head 的对比曲线如下:
声明:本站所有文章                           ,如无特殊说明或标注                    ,均为本站原创发布         。任何个人或组织     ,在未征得本站同意时                           ,禁止复制                   、盗用                           、采集          、发布本站内容到任何网站               、书籍等各类媒体平台                              。如若本站内容侵犯了原著者的合法权益                        ,可联系我们进行处理                  。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
什么网页游戏可以赚人民币(什么网页游戏能赚rmb-装备能回收、直接提现人民币的游戏,假的) 过度优化 策略(seo怎么避免过度优化)