本文主要是针对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数据集上的性能对比如下:
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. 结论
针对此目标检测数据集,从上述的模型训练实验结果可以看出:
- 从模型训练过程损失曲线上看,YOLOv8n/s/m/l/x这5个不同尺寸大小的模型训练过程的收敛速度相差不大;【val验证集训练曲线逐渐平滑代表训练过程基本收敛】
- 从训练结果的性能精度上看,YOLOv8m/l/x > YOLOv8s > YOLOv8n。
- 从训练结果的性能精度上看,YOLOv8m/l/x这三种模型的训练结果精度相差不大,并没有出现随着模型尺寸的增大,训练结果越来越好的情况。因此模型并不是尺寸越大,训练出来的性能效果越好。
- 针对此数据集,从最终性能来看,这5种网络模型使用YOLOv8m大小的模型尺寸,即可达到最高精度需求,无需选用尺寸更大的YOLOv8l/x模型进行训练。
以上结论只是针对我的这个目标检测实验数据集得出了,并不能一概而论。其他数据集训练可能会不一样,但是结论可以作为参考,小伙伴们可以根据实际数据集与需求选择合适大小的模型进行训练。
————————————————————————————————————————
后续,还会出一些关于模型对比、改进对比等相关实验结果,供大家参考。