YOLOv9 YOLOv5YOLOv9 :目标检测中的架构演进与传承
YOLO You Only Look Once)家族的演进历程,堪称计算机视觉技术进步的精彩时间线。 YOLOv5Ultralytics 发布,其易用性与生产就绪性树立了全新标杆,成为全球开发者的首选框架。 YOLOv9由中央研究院研究人员于2024年发布,通过可编程梯度信息(PGI)等创新概念突破了理论架构的边界。
本对比分析旨在探讨久经实战考验YOLOv5 与架构创新的YOLOv9 YOLOv5 助您根据具体计算机视觉需求选择最适合的模型。
性能指标比较
下表展示了两种模型在不同尺寸下的基准测试结果。需要注意的是,YOLOv9 理论准确率(mAP)YOLOv9 更优,YOLOv5 在速度和资源效率YOLOv5 竞争力,尤其适用于传统部署场景。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
YOLOv5:生产级人工智能的标杆
自2020年由Ultralyticstralytics发布以来, YOLOv5 已成为实用人工智能部署的代名词。它不仅是一种模型架构,更是一场完整的生态系统变革。YOLOv5出现之前,训练目标检测模型通常需要复杂的配置文件和脆弱的C语言框架。YOLOv5 原生的PyTorch 使训练变得简单如单行命令。
- 作者:格伦·乔克
- 组织:Ultralytics
- 日期:2020年6月
- GitHub:ultralytics/yolov5
YOLOv5 的主要优势
- 无与伦比的易用性: Ultralytics 标志性特征Ultralytics 用户体验。YOLOv5 从数据集准备到部署的无缝工作流程。
- 广泛的平台支持:它提供对 CoreML、 TFLiteONNX提供原生导出支持,使其在移动和边缘应用中展现出非凡的灵活性。
- 低资源开销:与需要大量GPU 的transformer架构不同YOLOv5 极高的效率,可在消费级硬件甚至Google 等免费云笔记本上进行训练。
- 稳定性:经过多年的积极维护,边缘案例已得到解决,确保为智能制造和安全领域的关键任务应用提供稳定的平台。
易用性示例
使用YOLOv5 或任何Ultralytics )进行推理的过程标准化且简单:
from ultralytics import YOLO
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Show results
results[0].show()
YOLOv9:基于PGI的架构创新
于2024年初发布, YOLOv9 致力于解决深度神经网络中的信息瓶颈问题。随着网络层级加深,关键特征信息在前向传播过程中可能丢失。YOLOv9 通过可编程梯度信息(PGI)和广义高效层聚合网络(GELAN) YOLOv9 这一难题。
- 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 组织:中央研究院信息科学研究所
- 日期:2024年2月
- Arxiv:YOLOv9:使用可编程梯度信息学习您想学习的内容
- GitHub:WongKinYiu/yolov9
架构突破
- GELAN架构:这种创新架构融合了CSPNet(YOLOv5)和ELAN(YOLOv7)的优势,以实现参数效率最大化。相较于旧版架构,它使模型能够以更少的参数实现更高的准确率。
- 可编程梯度信息(PGI):PGI通过仅在训练期间使用的辅助分支生成可靠梯度。这确保了深度层在不增加推理成本的前提下保留语义信息,从而提升了在检测小目标等困难任务上的性能。
比较分析:何时使用哪种?
选择这两种模型中的哪一种,取决于您的优先考虑:是部署速度还是最高精度。
1. 培训效率与生态系统
YOLOv5 在生态系统成熟度方面胜出。它已集成到数千种第三方工具中,并拥有庞大的社区支持。若您需要以最低阻力立即部署模型,YOLOv5 或更新的 YOLO11)通常是更稳妥的选择。
YOLOv9Ultralytics 获得全面支持,这意味着用户可以使用相同的简化训练管道。然而,其复杂的架构(辅助分支)有时会导致训练速度较慢,且内存消耗略高于精简YOLOv5。
2. 边缘部署与服务器精度
对于纯粹追求精度的任务,例如离线医学影像分析或高精度工业检测,YOLOv9e相较于YOLOv5x表现显著优越mAP (mAP )mAP 5%。
然而,对于树莓派或NVIDIA 等边缘设备, YOLOv5 仍是首选方案。其简洁的架构能很好地适配int8量化,在资源受限的硬件上通常能实现更快的推理速度,尽管YOLO26等新型模型正在迅速取代它在这个细分领域中的地位。
3. 任务通用性
两种模型都具有多功能性,但Ultralytics 确保它们支持超越简单检测的广泛任务:
未来:YOLO26
YOLOv9 优秀的模型,但该领域发展迅速。寻求绝对尖端技术的开发者应关注YOLO26。
YOLO26于2026年1月发布,代表了这些架构进步的集大成之作。它采用了端到端NMS的设计,该设计最初由 YOLOv10首次推广的端到端无NMS设计,彻底消除了延迟严重的非最大抑制步骤。此外,其搭载的MuSGD优化器融合了SGD 算法,确保更快的收敛速度与稳定性。
通过改进小目标检测的ProgLoss + STAL算法并移除分布式焦散损失(DFL)以简化导出流程,YOLO26 CPU 较前代提升高达43%,使其成为科研与生产场景中的优选方案。
结论
- 若需为老旧系统或资源极度匮乏的环境选择轻量级、实战验证的模型(这些场景可能缺乏对新型运算符的支持,如YOLOv9所采用的),请YOLOv5。
- 若需在具有挑战性的数据集上实现高精度,且能承受稍高的训练资源成本,请选择YOLOv9。
- 选择YOLO26,尽享三全其美:NMS的高速处理、顶尖级别的准确率,以及MuSGD优化器等新一代功能。
要开始使用这些模型中的任何一个,您可以Ultralytics 管理数据集、在云端进行训练,并轻松完成部署。
快速入门
Python 训练这些模型中的任何一个。只需在脚本中更改模型名称即可:
from ultralytics import YOLO
# Switch between models easily
model = YOLO("yolov5su.pt") # YOLOv5
# model = YOLO("yolov9c.pt") # YOLOv9
# model = YOLO("yolo26n.pt") # YOLO26
# Train on your data
model.train(data="coco8.yaml", epochs=100)