Ultralytics YOLO27:
Get Started

YOLOv9 与 YOLOv8#

过去几年,实时计算机视觉领域取得了显著进展,每一款新模型都在不断突破理论边界,拓展边缘设备和云服务器上的可能性。比较较新的 YOLOv9 架构和广受欢迎的 Ultralytics YOLOv8框架时,开发者往往需要在前沿的理论梯度路径与经过充分实战检验、可用于生产环境的成熟生态系统之间做出选择。

本综合指南对比这两款强劲模型,分析它们的架构创新、性能指标和理想部署场景,帮助你为下一个人工智能项目选择合适的模型。

技术规格与作者信息#

了解这些模型的发展脉络,有助于理解各自设计选择的背景。

YOLOv9 YOLOv9 由中国台湾中央研究院信息科学研究所的 Chien-Yao Wang 和 Hong-Yuan Mark Liao 撰写,于 2024 年 2 月 21 日发布。其核心研究聚焦于解决深层神经网络中的信息瓶颈。你可以在 Arxiv 上阅读原始的 YOLOv9 研究论文,也可以在官方 YOLOv9 GitHub 代码仓库中查看源代码。

了解有关 YOLOv9 的更多信息

Ultralytics YOLOv8 YOLOv8 由 Ultralytics 的 Glenn Jocher、Ayush Chaurasia 和 Jing Qiu 开发,于 2023 年 1 月 10 日发布。它凭借通用性确立了行业标准地位,为种类繁多的视觉任务提供统一 API。源代码由 Ultralytics GitHub 主代码仓库维护,确保持续更新和长期稳定性。

架构创新#

YOLOv9:可编程梯度信息#

YOLOv9 的标志性特点是引入了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)。随着卷积神经网络不断加深,它们通常会在前向传播过程中丢失关键特征信息。PGI 通过保留用于更新权重的准确梯度来解决这一信息瓶颈,确保可靠地提取特征。这种架构最大限度地提高了参数效率,使 YOLOv9 能以更少的浮点运算(FLOPs)实现高精度。

YOLOv8:通用型主力模型#

YOLOv8 引入了精简的无锚框检测机制,减少了边界框预测数量,并加快了后处理阶段的非极大值抑制(NMS)。与旧模型相比,其 C2f 模块(带两个卷积的跨阶段局部瓶颈结构)改善了整个网络的梯度流。更重要的是,YOLOv8 在设计时充分考虑了通用性,开箱即支持目标检测、实例分割、姿态估计、图像分类和旋转边界框(OBB)提取。

生态系统集成

尽管 YOLOv9 的原始检测指标表现出色,但要将其原生集成到复杂流程中可能颇具挑战。通过 Ultralytics 框架使用 YOLOv9,可弥补这一不足,让你能够使用我们强大的导出和部署工具。

性能平衡与基准测试#

部署视觉模型时,速度与精度之间的取舍是最关键的因素。以下是模型尺寸、延迟和在标准 COCO 数据集上评估的平均精度均值的详细对比。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8

分析这些指标可以发现,YOLOv9 的参数与精度比表现出色。YOLOv9c 模型仅使用 25.5M 个参数,便达到了令人瞩目的 53.0% mAP。不过,在内存需求和加速硬件上的推理速度方面,YOLOv8 仍有明显优势,尤其是 YOLOv8n 在 NVIDIA TensorRT环境下的运行速度仅为 1.47ms。

Ultralytics 生态系统的优势#

选择架构时,一个重要的考虑因素是易用性及其周边软件生态系统。管理依赖项、编写自定义数据加载器以及处理复杂的导出脚本,都可能拖慢开发进度。集成式 Ultralytics 生态系统将这些复杂工作抽象起来。

无论你选择 YOLOv8 还是 YOLOv9(后者已在 Ultralytics 库中得到全面支持),都能受益于统一 API、自动数据增强技术以及简化的 ONNX 格式导出流程。此外,Ultralytics 架构通常具备高度优化的训练效率,可避免大型 Transformer 模型常见的严重 CUDA 内存膨胀问题。

训练代码示例#

使用 Python API 训练任一模型都很简单,只需几行代码。

from ultralytics import YOLO

# 加载首选模型(根据需要将 'yolov9c.pt' 替换为 'yolov8n.pt')
model = YOLO("yolov8n.pt")

# 在你的自定义数据集上训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 验证模型的性能指标
metrics = model.val()

# 导出为 ONNX,以便部署到生产环境
model.export(format="onnx")

用例与建议#

在 YOLOv9 和 YOLOv8 之间进行选择,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv9#

YOLOv9 适用于:

  • 信息瓶颈研究:研究可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 架构的学术项目。
  • 梯度流优化研究:重点研究如何理解并缓解训练期间深层网络层中的信息损失。
  • 高准确率检测基准测试:需要将 YOLOv9 在 COCO 基准测试中的出色表现作为架构对比参照的场景。

何时选择 YOLOv8#

以下情况推荐使用 YOLOv8:

  • 多任务灵活部署: 在 Ultralytics 生态系统中,需要使用经过验证的模型来完成检测、分割、分类和姿态估计的项目。
  • 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
  • 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
  • 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。

展望未来:YOLO26 登场#

YOLOv8 和 YOLOv9 都非常强大,但计算机视觉领域发展迅速。对于现代部署,我们强烈建议使用于 2026 年 1 月发布的Ultralytics YOLO26。

YOLO26 代表了目标检测器在生产环境中运行方式的一次范式转变。它采用原生的端到端无 NMS 设计(可通过 nms=False 启用),消除了后处理带来的延迟和非确定性行为。为更好地支持边缘设备和低功耗硬件,YOLO26 完全移除了 DFL(分布焦点损失),大幅简化了移动端导出。

此外,YOLO26 采用了突破性的MuSGD 优化器,它结合 SGD 和 Muon,将 LLM 级别的训练稳定性引入视觉任务,从而显著加快收敛速度。凭借最高提升 43% 的 CPU 推理速度以及可显著改善小目标识别的 ProgLoss + STAL,YOLO26 无疑是全新企业项目的首选。

替代架构

根据你的硬件限制,你可能还想将这些模型与适用于均衡通用任务的 Ultralytics YOLO11进行比较,或探索 RT-DETR等基于 Transformer 的模型,以用于对保真度要求较高的专业研究。

实际应用与使用场景#

YOLOv8 和 YOLOv9 之间的选择,很大程度上取决于你的项目限制和目标硬件。

  • 医疗保健与医学成像:在肿瘤检测系统等对每个像素都要求精准的场景中,YOLOv9 的 GELAN 架构能出色地保留细粒度信息,从而减少关键诊断中的漏检。
  • 零售与库存分析:对于追踪商品密集货架的智能超市系统,YOLOv9 能提供所需的 mAP,从而可靠地区分相互重叠的商品。
  • 智慧城市与交通监控:在节奏紧凑的物流与交通管理场景中,YOLOv8 的超低延迟和经过验证的稳健性,使其非常适合同时追踪多个摄像头视频流中的车辆。
  • 边缘部署:如果你要部署到 Raspberry Pi 等受限设备或移动硬件上,YOLOv8 高度优化的 C2f 模块(以及 YOLO26 的 CPU 优化)能够提供更流畅、更省电的推理流程。

评论