跳转至内容

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)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

YOLOv5:生产级人工智能的标杆

自2020年由Ultralyticstralytics发布以来, YOLOv5 已成为实用人工智能部署的代名词。它不仅是一种模型架构,更是一场完整的生态系统变革。YOLOv5出现之前,训练目标检测模型通常需要复杂的配置文件和脆弱的C语言框架。YOLOv5 原生的PyTorch 使训练变得简单如单行命令。

了解更多关于 YOLOv5

YOLOv5 的主要优势

  1. 无与伦比的易用性: Ultralytics 标志性特征Ultralytics 用户体验。YOLOv5 从数据集准备到部署的无缝工作流程。
  2. 广泛的平台支持:它提供对 CoreMLTFLiteONNX提供原生导出支持,使其在移动和边缘应用中展现出非凡的灵活性。
  3. 低资源开销:与需要大量GPU 的transformer架构不同YOLOv5 极高的效率,可在消费级硬件甚至Google 等免费云笔记本上进行训练。
  4. 稳定性:经过多年的积极维护,边缘案例已得到解决,确保为智能制造和安全领域的关键任务应用提供稳定的平台。

易用性示例

使用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 这一难题。

了解更多关于 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%,使其成为科研与生产场景中的优选方案。

了解更多关于 YOLO26 的信息

结论

  • 若需为老旧系统或资源极度匮乏的环境选择轻量级、实战验证的模型(这些场景可能缺乏对新型运算符的支持,如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)

评论