参考笔记:YOLOv8详解 【网络结构+代码+实操】-CSDN博客
文中的大多内容和图片引自该博客
学习视频:Enzo_Mi的个人空间-Enzo_Mi个人主页-哔哩哔哩视频的YOLOv8系列
目录
1.YOLOv8概述
YOLOv8 算法的核心特性和改动可以归结为如下:
-
Backbone:
backbone、neck 可能参考了 YOLOv7 ELAN 设计思想,将 YOLOv5 的 C3 结构换成了梯度流更丰富的 C2f 结构,并对不同大小模型(n、s、m、l、x)调整了不同的通道数
-
Head: Head 部分与 YOLOv5 相比有两大改进:
-
换成了主流的解耦头结构(Decouped-Head)将分类头和检测头分离
-
Anchor-Based --> Anchor-Free
-
-
Loss :正负样本匹配方式改变、移除置信度损失、增加Distribution Focal Loss(DFL)
-
Train:借鉴 YOLOX ,在训练阶段的最后 10 个 epoch 关闭 Mosiac 数据增强,可以有效地提升精度
2.模型结构设计
下图中左侧为 YOLOv5-n,右侧为 YOLOv8-n
在暂时不考虑 Head 情况下,对比 YOLOv5 和 YOLOv8 的 yaml 配置文件可以发现改动较小
YOLOv5-n、YOLOv8-