YOLO Vision 2026:

YOLOv9 与 YOLOv5 对比#

计算机视觉领域经历了惊人的增长,目标检测成为了无数工业和研究应用的中流砥柱。选择合适的架构通常需要仔细评估平均精度均值(mAP)、推理速度和内存开销。在这篇对比中,我们探讨了两款极具影响力的模型:YOLOv9(以其在梯度信息保留方面的架构突破而闻名)以及 Ultralytics YOLOv5(经受过实战检验的行业标准,以其极佳的易用性和无与伦比的部署多功能性而著称)。

架构创新与技术起源#

了解这两款模型的底层机制,能为评估各自的性能表现提供关键背景。

YOLOv9:可编程梯度信息#

YOLOv9 由台湾中央研究院资讯科学研究所的研究员王建尧(Chien-Yao Wang)和廖弘源(Hong-Yuan Mark Liao)开发,于 2024 年 2 月 21 日发布。该模型引入了两个突破性概念,以解决深度神经网络中常见的信息瓶颈问题:可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)。

通过利用 PGI,YOLOv9 确保了在整个前向传播过程中保留关键信息,从而实现高精度的梯度更新。同时,GELAN 架构最大限度地提高了参数效率,使模型能够以惊人的低计算开销实现先进的准确率。你可以在官方 YOLOv9 Arxiv paper 中探索技术细节,或者查看 YOLOv9 GitHub repository

了解更多关于 YOLOv9 的信息

Ultralytics YOLOv5:生产环境标准#

YOLOv5 由 Glenn Jocher 撰写并由 Ultralytics 于 2020 年 6 月 26 日发布,彻底改变了计算机视觉的可访问性。作为首批原生构建在 PyTorch 框架上的目标检测模型之一,它绕过了旧版 Darknet C 框架的复杂性。YOLOv5 利用高度优化的 CSPNet 主干网和 PANet 颈部,优先考虑速度和准确率之间的无缝平衡。

然而,它最伟大的成就将其整合到了更广泛的 Ultralytics 生态系统中。YOLOv5 针对快速 training efficiency 和低内存环境进行了深度优化,使其在边缘端部署时异常稳定。

了解更多关于 YOLOv5 的信息

内存效率

在评估边缘设备模型时,请记住,与庞大的基于 Transformer 的架构相比,Ultralytics YOLO 模型在训练和推理过程中通常对 GPU 内存的需求要低得多。

性能分析:速度与准确度的权衡#

在设计计算机视觉流水线时,开发者必须权衡精度和延迟之间的取舍。下表展示了在标准 COCO dataset 上的性能差异。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
参数量
(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

分析权衡因素#

YOLOv9 在原始精度方面确立了绝对的统治地位。YOLOv9e 将 mAP 的边界推向了 55.6%,利用其 GELAN 层来保留精细的细节。这使其成为 medical imaging 或在小目标上要求严格准确率的场景的绝佳选择。

相反,YOLOv5 在原始部署速度和硬件灵活性方面大放异彩。YOLOv5n (Nano) 以极其轻量著称,通过 TensorRT 在 T4 GPU 上仅需 1.12ms 即可执行推理。如果你要部署到受限的物联网设备、手机或 Raspberry Pi,YOLOv5 的内存占用使其具有非凡的可靠性。

Ultralytics 生态系统优势#

选择模型时的一个主要考虑因素是周围的软件生态系统。虽然 YOLOv9 提供了顶级的研究基准,但通过现代的 Ultralytics Python API 使用这两个模型弥合了差距,为开发者提供了一个统一且精简的体验。

易用性与导出#

Ultralytics 抽象化了复杂的工程障碍。诸如自动 data augmentationhyperparameter tuning 等功能开箱即用。将模型投入生产环境同样微不足道,它带有内置的导出命令,可将模型转换为 ONNXOpenVINOTFLite 格式。

任务多样性#

虽然这两个模型都擅长 object detection,但现代的 Ultralytics 模型旨在应对各种计算机视觉挑战。更广泛的框架提供了对 image classificationinstance segmentationpose estimationoriented bounding boxes (OBB) 的原生支持,允许开发者在不切换代码库的情况下解决多个视觉问题。

应用场景与建议#

选择 YOLOv9 还是 YOLOv5 取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv9#

YOLOv9 是以下场景的有力选择:

  • 信息瓶颈研究: 研究可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN) 架构的学术项目。
  • 梯度流优化研究: 专注于理解和减轻训练过程中深度网络层信息丢失的研究。
  • 高精度检测基准测试: 需要将 YOLOv9 强大的 COCO 基准表现作为架构对比参考点的场景。

何时选择 YOLOv5#

YOLOv5 的推荐场景:

  • 久经考验的生产系统: 在那些重视 YOLOv5 长期稳定记录、详尽文档和庞大社区支持的现有部署中。
  • 资源受限的训练: 在 GPU 资源有限的环境中,YOLOv5 的高效训练流程和更低的内存需求具有优势。
  • 广泛的导出格式支持: 需要跨多种格式部署的项目,包括 ONNXTensorRTCoreMLTFLite

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:

  • 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
  • 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
  • 小目标检测: 诸如航拍无人机图像或物联网传感器分析等具有挑战性的场景,其中 ProgLoss 和 STAL 显著提高了微小目标的准确率。

实现示例#

Ultralytics 生态系统的美妙之处在于,你只需更改权重字符串,即可在 YOLOv5 模型和 YOLOv9 模型之间轻松切换。

from ultralytics import YOLO

# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")

# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

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

探索更新的架构#

虽然 YOLOv5 和 YOLOv9 是具有不同优势的出色模型,但该领域仍在持续进步。正在探索新项目的用户可能还想评估 Ultralytics 的最新迭代。

  • YOLO11: YOLOv8 谱系的一个强大、精细的演进版本,在所有视觉任务中提供极佳的速度与准确率平衡。
  • YOLO26: YOLO26 发布于 2026 年,是现代流水线的终极推荐。它引入了 End-to-End NMS-Free Design,完全消除了后处理瓶颈。凭借 DFL Removal(移除了分布焦点损失,以简化导出并提升边缘/低功耗设备的兼容性),它实现了高达 43% faster CPU inference 的提升。通过全新的 MuSGD Optimizer 强化了训练稳定性,并且 ProgLoss + STAL 带来了改进的损失函数,在小目标识别方面取得了显著提升,这对于物联网、机器人和航拍图像至关重要,使其成为边缘和云端部署中最稳健的架构。

对于管理大型数据集和复杂部署流水线的团队来说,利用 Ultralytics Platform 提供了一个无代码解决方案,可以轻松训练、追踪和部署这些尖端模型。

评论