【YOLOv8性能对比试验】YOLOv8n/s/m/l/x不同模型尺寸大小的实验结果对比及结论参考

简介: 【YOLOv8性能对比试验】YOLOv8n/s/m/l/x不同模型尺寸大小的实验结果对比及结论参考

本文主要是针对YOLOv8n/s/m/l/x这5种不同尺寸大小的yolov8模型,在自己的某目标检测数据集上进行了训练对比实验,并得出了一些参考性的结论,供小伙伴们参考学习。如果有什么问题,欢迎一起学习交流。

1. 引言

YOLOv8 是YOLO 系列实时物体检测器较新的迭代产品,在精度和速度方面都具有尖端性能。在之前YOLO 版本的基础上,YOLOv8 引入了新的功能和优化,使其成为广泛应用中各种物体检测任务的理想选择。

不同YOLO版本在COCO数据集上的性能对比如下:

2. YOLOv8主要亮点

采用先进的骨干和颈部架构: YOLOv8 采用了最先进的骨干和颈部架构,从而提高了特征提取和物体检测性能。

无锚Ultralytics 头: YOLOv8 采用无锚Ultralytics 头,与基于锚的方法相比,它有助于提高检测过程的准确性和效率。

优化精度与速度之间的权衡: YOLOv8 专注于保持精度与速度之间的最佳平衡,适用于各种应用领域的实时目标检测任务。

各种预训练模型: YOLOv8 提供一系列预训练模型,以满足各种任务和性能要求,从而更容易为您的特定用例找到合适的模型。

YOLOv8网路结构如下所示:

3. YOLOv8不同模型尺寸性能对比

1. 在COCO数据集上性能对比

官方给出的不同尺寸大小yolov8模型在COCO数据集上的性能对比如下:

模型 尺寸 (像素) mAPval 50-95 速度 CPUONNX (ms) 速度 A100 TensorRT (毫秒) params (M) FLOPs (B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

2. 自行实验训练结果对比

博主在某目标检测数据集上,对于YOLOv8n/s/m/l/x这5种不同尺寸的大小进行了对比实验,试验结果如下:

训练过程的损失曲线对比如下:

训练过程中的精确度(Precision)、召回率(Recall)、平均精确度(Mean Average Precision, mAP)等参数的对比如下:

最终精度结果对比:

名称 YOLOv8n YOLOv8s YOLOv8m YOLOv8l YOLOv8x
mAP@0.5 0.728 0.747 0.776 0.771 0.767
F1-Score 0.68 0.70 0.73 0.73 0.73

4. 结论

针对此目标检测数据集,从上述的模型训练实验结果可以看出:

  1. 从模型训练过程损失曲线上看,YOLOv8n/s/m/l/x这5个不同尺寸大小的模型训练过程的收敛速度相差不大;val验证集训练曲线逐渐平滑代表训练过程基本收敛
  2. 从训练结果的性能精度上看,YOLOv8m/l/x > YOLOv8s > YOLOv8n
  3. 从训练结果的性能精度上看,YOLOv8m/l/x这三种模型的训练结果精度相差不大,并没有出现随着模型尺寸的增大,训练结果越来越好的情况。因此模型并不是尺寸越大,训练出来的性能效果越好。
  4. 针对此数据集,从最终性能来看,这5种网络模型使用YOLOv8m大小的模型尺寸,即可达到最高精度需求,无需选用尺寸更大的YOLOv8l/x模型进行训练。

以上结论只是针对我的这个目标检测实验数据集得出了,并不能一概而论。其他数据集训练可能会不一样,但是结论可以作为参考,小伙伴们可以根据实际数据集与需求选择合适大小的模型进行训练。

————————————————————————————————————————

后续,还会出一些关于模型对比、改进对比等相关实验结果,供大家参考。

相关文章
|
1月前
|
机器学习/深度学习 监控 算法
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
224 1
|
14天前
|
人工智能 计算机视觉 Python
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】(1)
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】(1)
|
14天前
|
机器学习/深度学习 计算机视觉
【YOLO性能对比试验】YOLOv9c/v8n/v6n/v5n的训练结果对比及结论参考
【YOLO性能对比试验】YOLOv9c/v8n/v6n/v5n的训练结果对比及结论参考
|
14天前
|
计算机视觉
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】(2)
【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】
|
14天前
|
机器学习/深度学习 算法 Python
YOLOV5应用实战项目:钢材表面缺陷检测(数据集:NEU-CLS)笔记
YOLOV5应用实战项目:钢材表面缺陷检测(数据集:NEU-CLS)笔记
|
1月前
|
存储 数据可视化 计算机视觉
基于YOLOv8的自定义数据姿势估计
基于YOLOv8的自定义数据姿势估计
|
机器学习/深度学习 人工智能 算法
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
778 0
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
|
11月前
|
机器学习/深度学习 自然语言处理 算法
使用PyTorch构建神经网络(详细步骤讲解+注释版) 03 模型评价与准确率提升
使用PyTorch构建神经网络(详细步骤讲解+注释版) 02-数据读取与训练 本文的使用的部分类方法为前述文章定义所得,如果希望运行完整代码建议同时查看上一篇文章或文末留言发你完整代码。
使用PyTorch构建神经网络(详细步骤讲解+注释版) 03 模型评价与准确率提升
|
机器学习/深度学习 编解码 自动驾驶
YOLO-Z | 记录修改YOLOv5以适应小目标检测的实验过程
YOLO-Z | 记录修改YOLOv5以适应小目标检测的实验过程
226 0
|
机器学习/深度学习 算法 数据可视化
详细解读GraphFPN | 如何用图模型提升目标检测模型性能?
详细解读GraphFPN | 如何用图模型提升目标检测模型性能?
152 0