Yolov8

发布时间 2023-07-03 16:56:17作者: call-me-ZJ

论文:还没发布

ultralytics官方测试的精度,与v5,v6比较

 从官方给的精度看v8比v6在相同型号的模型下,v8比v6精度更高高,参数更少,计算量更少,例如S型号

整体框架

 yolov8主要改进之处:

网络结构:

  • 骨干网络和 Neck 部分可能参考了 YOLOv7 ELAN 设计思想,将 YOLOv5 的 C3 结构换成了梯度流更丰富的 C2f 结构,并对不同尺度模型调整了不同的通道数,属于对模型结构精心微调,不再是无脑一套参数应用所有模型,大幅提升了模型性能。不过这个 C2f 模块中存在 Split 等操作对特定硬件部署没有之前那么友好了
  • Head 部分相比 YOLOv5 改动较大,换成了目前主流的解耦头结构,将分类和检测头分离,同时也从 Anchor-Based 换成了 Anchor-Free。检测头感觉跟v6一样,同样解耦,且只有类别和回归分支,obj分支去掉

训练策略:

  • Loss 计算方面采用了 TaskAlignedAssigner 正样本分配策略,并引入了 Distribution Focal Loss
  • 训练的数据增强部分和yolov5差不多,但引入了 YOLOX 中的最后 10 epoch 关闭 Mosiac 增强的操作,可以有效地提升精度
  • YOLOv8 的训练策略和 YOLOv5 没有啥区别,最大区别就是模型的训练总 epoch 数从 300 提升到了 500,这也导致训练时间急剧增加,以yolov8-s为例,其训练策略汇总如下:

从上面可以看出,YOLOv8 主要参考了最近提出的诸如 YOLOX、YOLOv6、YOLOv7 和 PPYOLOE 等算法的相关设计,本身的创新点不多,偏向工程实践,主推的还是 ultralytics 这个框架本身。