Ultralytics YOLO27: 加入候补名单。
开始使用

YOLO26 与 YOLOv9 对比#

这份技术对比分析了 YOLO26 和 YOLOv9 这两款重要实时目标检测模型之间的差异。两者都带来了各自的架构创新;要为下一个视觉项目选择合适的工具,了解它们在性能、部署能力和硬件需求方面的权衡至关重要。

YOLO26:针对边缘设备优化的检测#

Ultralytics YOLO26 于 2026 年初发布,专注于部署效率和训练稳定性。它可选的端到端推理功能解决了长期影响边缘 AI 应用的部署瓶颈。

模型详情:

架构与创新#

YOLO26 通过引入端到端无 NMS 设计重新设计了后处理流水线。使用其可选的一对一检测头(nms=False)运行时,模型会跳过非极大值抑制 (NMS),并降低延迟波动。这让模型更易于部署到移动和边缘平台,尤其是在导出到 ONNX 和 Apple CoreML 等框架时。

此外,移除分布焦点损失 (DFL) 简化了导出流程,并提升了对低功耗边缘设备的兼容性。为提高训练稳定性,YOLO26 集成了 MuSGD 优化器,它结合了随机梯度下降 (SGD) 和 Muon,灵感来自大型语言模型 (LLM) 训练领域的创新。这让模型收敛更快。

边缘设备推理

得益于架构简化和 DFL 移除,YOLO26n 的 CPU 推理速度最高比 YOLO11n 快 43%,使其成为资源受限边缘设备的理想选择,例如 Raspberry Pi 或 NVIDIA Jetson Nano。

为了检测无人机航拍影像中的小目标,YOLO26 使用 ProgLoss + STAL(渐进式损失和小目标感知标签分配),以提升小目标召回率。它还针对特定任务进行了优化,包括用于实例分割的多尺度原型模块、用于姿态估计的残差对数似然估计 (RLE),以及用于检测有向边界框 (OBB)的专用角度损失。

YOLOv9:可编程梯度信息#

YOLOv9 于 2024 年初推出,在神经网络训练阶段处理梯度流的方式上带来了理论进展,重点关注参数效率和深层特征保留。

模型详情:

架构与优势#

YOLOv9 的核心是可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN)。这些概念解决了深度神经网络中常见的信息瓶颈问题。通过在前馈过程中保留关键信息,GELAN 确保用于权重更新的梯度保持可靠。这种架构具有很高的准确率,也让 YOLOv9 成为利用 PyTorch 框架开展神经网络理论和梯度路径优化学术研究的有力选择。

局限性#

尽管 YOLOv9 的参数效率出色,但它仍依赖传统 NMS 进行边界框后处理,这可能导致边缘设备推理时出现计算瓶颈。此外,官方仓库主要专注于目标检测,若要将其用于跟踪或姿态估计等特定任务,则需要进行定制开发。

了解有关 YOLOv9 的更多信息

性能对比#

在评估这些模型的实际部署表现时,平衡准确率 (mAP)、推理速度和内存占用至关重要。Ultralytics 模型以训练和推理期间内存需求低而著称,通常比 RT-DETR 等基于 Transformer 的替代方案需要更少的 CUDA 内存。

下方是 YOLO26 和 YOLOv9 在 COCO 数据集上的直接性能对比。每列中的最佳值以粗体标出。

模型尺寸
(像素)
mAPval50-95速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLO26n64040.938.91.72.45.5
YOLO26s64048.687.22.59.520.9
YOLO26m64053.1220.04.720.468.4
YOLO26l64055.0286.26.224.886.8
YOLO26x64057.5525.811.855.7194.4
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

注:此表未报告 YOLOv9 的 CPU ONNX 速度。在 T4 TensorRT 上,YOLO26 在所有尺寸下都比 YOLOv9 快;在每个可比尺寸下,YOLO26 的准确率也更高(例如,YOLO26x 的 mAP 为 57.5,高于 YOLOv9e 的 55.6,且参数更少)。

用例与建议#

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

何时选择 YOLO26#

以下场景适合选择 YOLO26:

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

何时选择 YOLOv9#

以下场景推荐使用 YOLOv9:

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

Ultralytics 优势#

选择模型不能只看准确率基准;周边的软件生态系统决定了你从数据采集到投入生产的速度。

易用性与生态系统#

Ultralytics Python API 让工作流保持简单。开发者无需克隆复杂仓库或手动配置分布式训练脚本,只需通过 pip 安装软件包,就能立即开始训练。持续维护的 Ultralytics 生态系统提供频繁更新、与 Weights & Biases 等 ML 平台的集成,以及丰富的文档。

其他 Ultralytics 模型

如果你想探索 Ultralytics 生态系统中的其他模型,也可以考虑对比 YOLO11 或经典的 YOLOv8,两者都能灵活适配自定义应用。

适用于各类视觉任务#

YOLOv9 主要用于目标检测,而 YOLO26 是通用视觉模型。使用统一的语法,你可以轻松处理目标检测、图像分割、语义分割、深度估计、整幅图像分类、姿态估计或 OBB。这种灵活性减少了为不同计算机视觉功能维护多个相互割裂代码库所带来的技术债务。

高效训练与部署#

YOLO26 使用易于获取的预训练权重,通常比大型视觉 Transformer 占用更少内存。训练完成后,内置的导出流水线只需一行代码,就能转换为 TensorRT 或 LiteRT 等优化格式,让模型更顺利地投入生产。

代码示例:开始使用 YOLO26#

下面的 Python 代码片段演示如何使用 Ultralytics API 加载预训练模型、用自定义数据训练模型并运行推理。

from ultralytics import YOLO

# 加载最新的 YOLO26 nano 模型
model = YOLO("yolo26n.pt")

# 使用 COCO8 数据集训练模型(optimizer='auto' 会在较长的训练任务中选择 MuSGD)
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device=0,  # 使用 GPU 0;也可以使用 'cpu' 进行 CPU 训练
)

# 对示例图像运行无 NMS 推理
predictions = model("https://ultralytics.com/images/bus.jpg", nms=False)

# 显示边界框和置信度
predictions[0].show()

借助 YOLO26 的速度、简化架构和生态系统,团队可以更快地推出视觉 AI 应用,同时减少技术障碍。

贡献者

评论

提出问题、分享结果,或帮助其他人。