Ultralytics YOLO27:

YOLOv8 与 YOLOv9#

实时目标检测的发展一直以追求更高精度、更低延迟和更高效的硬件利用率为特征。其中两个重要里程碑是 Ultralytics YOLOv8YOLOv9。虽然这两个模型都代表了计算机视觉领域的先进能力,但它们面向不同的部署需求,采用不同的架构理念,也服务于不同的开发者生态。

本指南将全面解析两者在技术、架构创新和实际部署方面的差异,帮助你为下一个人工智能项目选择合适的模型。

模型谱系与核心理念#

在深入了解指标之前,务必先了解每个模型的起源和主要设计目标。

Ultralytics YOLOv8:灵活的生态系统标准#

YOLOv8 由 Ultralytics 团队发布,其设计目标不仅是作为一个独立的目标检测器,更是一个统一的多任务框架。它优先考虑流畅的开发者体验、较低的内存需求以及广泛的硬件兼容性。

YOLOv9:可编程梯度信息#

YOLOv9 由中央研究院的研究人员独立开发,重点关注架构理论,尤其针对深度神经网络中的信息瓶颈现象。

  • 作者: Chien-Yao Wang 和 Hong-Yuan Mark Liao
  • 机构: 中国台湾中央研究院信息科学研究所
  • 日期: 2024-02-21
  • Arxiv: 2402.13616
  • GitHub: WongKinYiu/yolov9

了解更多关于 YOLOv9 的信息

企业级部署

如果你计划进行大规模商业部署,可以考虑探索 Ultralytics Platform,以简化云端训练、数据集管理和一键式 API 端点的使用。

架构深入解析#

深度学习中的架构选择决定了模型学习的效率,以及它在 NVIDIA JetsonIntel CPU 等目标硬件上的运行速度。

YOLOv8 架构:C2f 与解耦头#

YOLOv8 引入了 C2f 模块(具有两个卷积的跨阶段部分瓶颈),取代了较早的 C3 模块。这一变化改善了梯度流,使网络能够学习更丰富的特征表示,同时不会过度消耗 GPU 内存

此外,YOLOv8 采用了无锚框设计和解耦头。通过使用独立路径分别处理目标性、分类和回归,模型在训练期间收敛更快,并且能够更好地泛化到各种自定义数据集

YOLOv9 架构:PGI 与 GELAN#

YOLOv9 引入了可编程梯度信息(PGI)广义高效层聚合网络(GELAN)。PGI 确保关键数据在经过网络各层时不会丢失,从而为权重更新提供可靠的梯度。GELAN 最大限度地提高了参数效率,使模型能够在尽量控制 FLOPs 的同时实现较高的精度

虽然 YOLOv9 在数学上颇具优势,但它在训练期间依赖特定的辅助可逆分支,因此与标准流水线相比,训练代码的定制可能更加复杂。

性能指标与基准测试#

下表对比了不同尺寸下的模型。性能在MS COCO 数据集上测得,该数据集是目标检测的标准基准。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数量
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

注意:每列中的最佳值以粗体标出。

分析取舍#

YOLOv9 的峰值精度(mAP)略高,尤其是其更大的 e 变体。不过,这也带来了代价。Ultralytics YOLOv8 在推理速度方面保持着显著优势,尤其是在编译为 TensorRTONNX 等格式后。对于需要在受限边缘硬件(如 Raspberry Pi 或较旧的移动芯片)上实现高帧率(FPS)的应用,YOLOv8 的 ns 变体能够提供更加实用的性能平衡。

训练效率与生态系统集成#

选择模型不能只看精度表;开发者体验至关重要。

Ultralytics 的优势:易于使用#

训练 YOLOv9 通常需要克隆复杂的 GitHub 代码仓库、仔细管理 PyTorch 环境,并手动配置辅助损失权重。

相比之下,Ultralytics YOLOv8 由极其简洁的 Python API 提供支持。它专为易用性而构建,能够原生处理数据增强、日志记录(记录到 Weights & BiasesComet ML 等工具)以及硬件分发。

from ultralytics import YOLO

# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")

# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)

# Export for edge deployment
model.export(format="engine", quantize=16)  # TensorRT export

这一单一 API 大幅缩短了从原型到生产的时间。此外,YOLOv8 在训练期间通常需要更少的 CUDA 内存,使开发者能够在消费级硬件上使用更大的批量大小。

任务多样性#

虽然 YOLOv9 是出色的边界框检测器,但现实世界中的视觉 AI 往往需要更多功能。YOLOv8 是一个功能多样的强大框架,原生支持实例分割姿态估计图像分类定向边界框(OBB)。使用单一框架处理多项任务,可以大幅减少软件冗余和维护开销。

展望未来

如果你正在启动新项目,也可以评估 Ultralytics YOLO11 或前沿的 YOLO26,它们原生采用端到端的无 NMS 设计。

实际应用场景#

这些模型在生产环境中的表现如何?

自主无人机与机器人#

对于需要快速避障的机器人,YOLOv8 是首选。YOLOv8n 的超低延迟可确保自主系统实时响应周围环境,避免碰撞。原生导出到 OpenVINO 和 CoreML 的能力,使其能够轻松部署到商用无人机常用的低功耗芯片上。

高分辨率缺陷检测#

在检测微观异常至关重要且可以接受离线处理的专业制造环境中,YOLOv9 可能非常有效。PGI 架构有助于网络保留识别发丝裂纹或 PCB 焊接错误所需的细粒度视觉细节。

智能零售与安全分析#

对于跟踪商店过道中的顾客或管理自动结账系统YOLOv8 能够提供最佳平衡。它能够使用 BoT-SORT 等标准算法,同时运行检测和多目标跟踪,因此是多摄像头零售部署的可靠解决方案。

使用场景与建议#

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

何时选择 YOLOv8#

YOLOv8 适合以下场景:

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

何时选择 YOLOv9#

以下场景推荐使用 YOLOv9:

  • **信息瓶颈研究:**研究可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 架构的学术项目。
  • **梯度流优化研究:**专注于理解和缓解深度网络层在训练期间信息丢失问题的研究。
  • **高精度检测基准测试:**需要将 YOLOv9 出色的 COCO 基准性能作为架构对比参考的场景。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26 在性能和开发者体验之间提供了最佳组合:

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

下一代演进:YOLO26#

YOLOv8 和 YOLOv9 虽然功能强大,但 AI 领域发展迅速。对于追求极致性能的团队,新发布的 YOLO26 在前几代成果的基础上实现了进一步发展。

YOLO26 引入了端到端无 NMS 设计,完全消除了复杂的后处理瓶颈,使部署更加简单、延迟更加可预测。借助全新的 MuSGD 优化器、增强的 ProgLoss + STAL 损失函数,以及 DFL Removal(移除 Distribution Focal Loss,以简化导出并改善对边缘设备和低功耗设备的兼容性),它在提升小目标识别能力的同时,可实现最高 43% 的 CPU 推理速度提升。对于希望突破边缘计算极限的开发者,强烈建议评估 YOLO26

总的来说,YOLOv9 提供了引人入胜的架构研究成果和出色的峰值精度,但对于绝大多数希望快速交付可靠软件的计算机视觉工程师而言,Ultralytics YOLOv8 仍然是最实用、支持最完善且功能最全面的选择。

评论