跳转至内容

YOLOv5 YOLOv9YOLOv5 :实时目标检测的进化之路

实时目标检测领域在过去几年间发生了翻天覆地的变化。尽管 YOLOv5 在2020年确立了实用性和工业应用的标杆, YOLOv9 则在2024年引入创新架构理念,持续突破精度与效率的边界。本指南通过详尽的技术对比,助力开发者为计算机视觉项目选择最适配的工具。

模型起源与技术规格

理解这些模型的来源有助于理解其设计理念及其预期应用场景。

YOLOv5:工业标准

由格伦·乔克和 Ultralytics联合YOLOv5 易用性、可移植性与运行速度。该模型开创性地实现了YOLO 算法在PyTorch框架的原生支持,成为首个基于PyTorch实现YOLO 。 PyTorch实现的YOLO模型,使庞大的Python 群体得以轻松使用。

  • 作者: Glenn Jocher
  • 组织:Ultralytics
  • 日期: 2020-06-26
  • 仓库:GitHub
  • 重点:易用性、强大的导出路径(ONNX、CoreML、TFLite)以及快速训练。

了解更多关于 YOLOv5

YOLOv9:架构创新

由中央研究院的王建耀与廖宏源于2024年2月发布的YOLOv9 解决深度神经网络中的"信息瓶颈"问题。

  • 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
  • 组织:中央研究院信息科学研究所
  • 日期: 2024-02-21
  • 仓库:GitHub
  • 论文:arXiv:2402.13616
  • 焦点:基于可编程梯度信息(PGI)的参数效率与深度监督。

了解更多关于 YOLOv9

架构差异

核心差异在于这些模型如何处理特征提取和梯度流。

YOLOv5 采用CSPNet(跨阶段部分网络)骨干架构。该设计通过分割梯度流来降低计算量,同时保持准确性,这一创新为创建适用于嵌入式系统的紧凑型模型开辟了新路径。其基于锚点的检测头针对通用任务进行了高度优化,在保持与众多传统应用竞争力的同时实现了性能平衡。

YOLOv9 引入两项关键创新:通用高效层聚合网络(GELAN)和可编程梯度信息(PGI)。GELAN通过优化参数利用率,使模型在学习更复杂特征的同时实现轻量化。PGI通过提供辅助监督分支,解决了数据在深度层传播过程中信息丢失的问题,确保即使在极深的架构中也能可靠生成梯度。

您知道吗?

尽管YOLOv9 在架构上YOLOv9 创新性,但 Ultralytics YOLOv5 生态系统在部署方面仍无出其右。它原生支持导出至TensorRT TPU等格式,简化了从训练到生产的转化路径。

性能分析

在比较指标时YOLOv9 能在相同参数数量下获得更高的mAPval值,尤其在更大规模的模型变体中YOLOv5 更为YOLOv5 。然而,由于其架构更为简洁,YOLOv5 在CPU和传统硬件上的推理速度YOLOv5 极强的竞争力。

基准指标

下表突显了这些权衡关系。YOLOv9c以53.mAP超越YOLOv5x(50.7%),同时参数数量显著减少(2530万对9720万)。 这充分展现了GELAN架构的高效性。反之,更精简YOLOv5 (Nano和Small)则具备极低延迟特性,使其适用于超低功耗设备。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv5n64028.073.61.121.94.5
YOLOv5s64037.4120.71.927.216.5
YOLOv5m64045.4233.94.0321.249.0
YOLOv5l64049.0408.46.6146.5109.1
YOLOv5x64050.7763.211.8986.7205.7
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

注:该表格反映了标准COCO 指标。粗体数值表示该特定类别中的最佳表现。

易用性与生态系统

这正是该区别对开发者而言最具实用价值之处。

Ultralytics 体验(YOLOv5)

YOLOv5 为开发者体验YOLOv5 。Ultralytics 提供无缝工作流:

  1. 简易API:仅需几行Python代码即可加载和训练模型。
  2. 集成工具:自动集成实验追踪工具Comet ClearML。
  3. 部署:一键导出至 ONNX、CoreML、OpenVINO TFLite和OpenVINO。
from ultralytics import YOLO

# Load a pre-trained YOLOv5 model
model = YOLO("yolov5su.pt")

# Train on custom data
model.train(data="coco8.yaml", epochs=100)

# Export to ONNX for deployment
model.export(format="onnx")

YOLOv9

虽然YOLOv9 具有极高的准确性,但其定位为研究型工具。如今Ultralytics YOLOv9 全面YOLOv9 这款新型架构同样具备便捷的操作体验。这意味着您无需牺牲易用性即可获取最新架构改进——只需简单切换模型名称字符串即可。

训练效率与内存

Ultralytics (YOLOv5 集成版YOLOv9)的关键优势在于内存效率。

  • GPU : Ultralytics 循环经过优化,可最大限度CUDA 。这使得用户能在消费级硬件(NVIDIA 3060/4090)上训练更大批量数据,相较于通常内存消耗巨大的transformer模型而言。
  • 收敛性: YOLOv5 "开箱即用"的训练能力YOLOv5 仅需极少超参数调优。YOLOv9凭借其PGI辅助分支,同样展现出稳定的收敛性,尽管其架构更为复杂。

真实世界的应用

选择合适的模型取决于您的部署限制。

YOLOv5 的理想应用场景

  • 在传统硬件上实现边缘AI:若您需要在旧款树莓派或移动设备上部署,且每毫秒的推理延迟都至关重要,YOLOv5n(Nano)堪称无可匹敌之选。
  • 快速原型制作:对于需要在数小时内完成概念验证(PoC)的黑客马拉松或初创企业,YOLOv5 海量的文档和社区教程YOLOv5 开发进程。
  • 移动应用:其对 iOS CoreMLAndroid TFLite 移动开发者的必备工具。

YOLOv9 的理想应用场景

  • 高精度检测:在制造质量控制领域,当检测微小缺陷至关重要时,GELAN卓越的特征提取能力使YOLOv9 更优选择。
  • 医学影像:对于肿瘤检测等任务,准确性远比原始速度重要,YOLOv9e能提供必要的mAP 。
  • 复杂场景:在遮挡严重或杂乱的环境中,可编程梯度能帮助模型在深度层中保留关键信息。

未来:迎接 YOLO26

YOLOv5 可靠的实用工具,YOLOv9 高精度YOLOv9 ,但该领域已再度取得突破。对于2026年启动的新项目Ultralytics 代表着性能与效率的巅峰之作。

为何升级到 YOLO26?

  • 原生端到端:不同于需要NMS 的YOLOv5 v9,YOLO26NMS简化了部署流程。
  • MuSGD优化器:受大型语言模型训练启发,该优化器确保更快速、更稳定的训练过程。
  • 多功能性:开箱即支持检测、分割、姿势估计、旋转框检测分类功能。

了解更多关于 YOLO26 的信息

对于当前使用YOLOv5的用户,迁移至YOLO26可显著提升运行速度(CPU 最高提升43%),并通过ProgLoss + STAL技术增强小目标检测能力,因此无论是边缘计算还是云端部署,这都是推荐的升级路径。

结论

两种架构各有其用武之地。 YOLOv5 依然是简单性和广泛设备兼容性的王者,非常适合需要"开箱即用"解决方案的开发者。 YOLOv9 凭借可编程梯度技术,为高效深度学习的未来发展提供了前瞻性视角,同时实现了业界领先的识别精度。

然而,利用Ultralytics 可确保您不受技术锁定。您可通过完全相同的API训练YOLOv5、YOLOv9以及前沿的YOLO26模型,从而在自有数据集上进行性能基准测试,并为特定应用场景选择最优方案。

比较总结

特性YOLOv5YOLOv9
主要关注点速度、易用性、部署精度,参数效率
架构CSPNet骨干网,锚定式GELAN 骨干网,PGI,基于锚点
生态系统原生UltralUltralytics 支持集成到Ultralytics中
最适合移动设备、边缘计算、传统系统高精度研究,复杂场景
推理极快(GPU)高精度/较慢

探索Ultralytics家族Ultralytics 其他模型:

  • YOLO11 - YOLO26的强大前身。
  • YOLOv8 - 用于检测、分割和姿势估计统一框架。
  • RT-DETR -Transformer实时变压器的检测。

评论