本文主要是针对YOLOv9c/v8n/v6n/v5n这4种模型,在自己的某烟雾目标检测数据集上进行了训练对比实验,并得出了一些参考性的结论,供小伙伴们参考学习。如果有什么问题,欢迎一起学习交流。
注:本文训练结果得出的试验结论仅供参考,并不能一概而论,不同数据集的训练结果也可能会不一样。
1.引言
YOLOv9 的核心创新在于解决深度神经网络中信息丢失所带来的挑战
。在追求最佳实时物体检测的过程中,YOLOv9 以其创新的方法克服了深度神经网络固有的信息丢失难题,脱颖而出。通过整合 PGI 和多功能 GELAN 架构,YOLOv9 不仅增强了模型的学习能力,还确保了在整个检测过程中保留关键信息,从而实现了卓越的准确性和性能。
性能对比
官方给出的不同YOLO版本在COCO数据集上的性能对比如下。从图中可以看出从性能上讲,YOLOv9对比于其他版本,在性能上还是有很大提升的。
2.YOLOv9的主要亮点
YOLOv9 引入了可编程梯度信息 (PGI)
和广义高效层聚合网络 (GELAN)
等开创性技术,标志着实时目标检测领域的重大进步。该模型在效率、准确性和适应性方面都有显著提高,在 MS COCO 数据集上树立了新的标杆。
可编程梯度信息 (PGI)
PGI 是 YOLOv9 为解决信息瓶颈问题而引入的一个新概念,可确保在深层网络中保留重要数据。这样就可以生成可靠的梯度,促进模型的准确更新,提高整体检测性能。
通用高效层聚合网络(GELAN)
GELAN 是一项战略性的架构进步,使 YOLOv9 能够实现更高的参数利用率和计算效率。它的设计允许灵活集成各种计算模块,使 YOLOv9 能够适应广泛的应用,而不会牺牲速度或精度。
3. 本文不同YOLO版本对比试验
本文主要是针对YOLOv9c/v8n/v6n/v5n这4种模型,在自己的某烟雾目标检测数据集上进行了训练对比实验。训练轮数150个epoch。
各模型参数量如下:
Model | Test Size(像素) | Param(M) | FLOPs(B) |
yolov5nu | 640 | 2.6 | 7.7 |
yolov6n | 640 | 4.7 | 11.4 |
yolov8n | 640 | 3.2 | 8.7 |
yolov9-c | 640 | 25.3 | 102.1 |
训练过程的损失曲线对比如下:
训练过程中的精确度(Precision)、召回率(Recall)、平均精确度(Mean Average Precision, mAP)等参数的对比如下:
最终精度结果对比:
名称 | YOLOv5n | YOLOv6n | YOLOv8n | YOLOv9c |
mAP@0.5 | 0.944 | 0.845 | 0.953 | 0.946 |
F1-Score | 0.91 | 0.81 | 0.91 | 0.91 |
4. 结论
针对此目标检测数据集,从上述的模型训练试验结果可以看出:
1.从模型训练过程损失曲线上看,模型训练收敛速度YOLOv5n/v8n > YOLOv9c >YOLOv6n。YOLOv5n与YOLOv8n这两个模型训练的收敛速度基本相同。YOLOv6n收敛速度较慢
2.从训练结果的性能精度上看,YOLOv8n得到的结果最优,YOLOv8n > YOLOv9c > YOLOv5n > YOLOv6n。但YOLOv8n 、YOLOv9c、YOLOv5n这3个模型的训练结果相差不是很多,差距在1%以内。但YOLOv8n 、YOLOv9c、YOLOv5n明显优于YOLOv6n的训练结果,均比YOLOv6n的精度约提高了10%。
注:本文训练结果得出的试验结论仅供参考,并不能一概而论,不同数据集的训练结果可能也会不一样。
后续,还会出一些关于模型对比、模型改进对比等相关实验结果,供大家参考。