YOLO26 与 YOLOv9 对比#
计算机视觉领域发展迅速,新架构不断突破速度和准确率的极限。在这篇技术对比中,我们将分析 YOLO26 和 YOLOv9 这两款实时目标检测领域影响深远的模型之间的差异。两款模型都带来了独特的架构创新;要为下一个视觉项目选择合适的工具,就必须了解它们在性能、部署能力和硬件需求方面的权衡。
YOLO26:针对边缘设备优化的强大模型#
Ultralytics YOLO26 于 2026 年初发布,标志着部署效率和模型训练稳定性实现了跨代飞跃。它采用原生端到端框架设计,直接解决了长期制约边缘 AI 应用的部署瓶颈。
模型详情:
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: Ultralytics 代码库
- 文档:YOLO26 文档
架构与创新#
YOLO26 通过引入端到端无 NMS 设计,从根本上重新设计了后处理流程。使用可选的一对一检测头(nms=False)运行时,模型会跳过非极大值抑制 (NMS),显著降低延迟波动。这让模型更容易部署到移动端和边缘平台,尤其是在导出到 ONNX 和 Apple CoreML 等框架时。
此外,移除分布焦点损失 (DFL) 简化了导出流程,并增强了对低功耗微控制器的兼容性。为提升训练稳定性,YOLO26 集成了全新的MuSGD 优化器,这是随机梯度下降 (SGD) 与 Muon 的混合方案(灵感源自大语言模型训练领域的创新)。这使模型收敛更快,并能在困难数据集上更稳健地提取特征。
得益于架构简化和移除 DFL,YOLO26 的 CPU 推理速度最高提升 43%,因此非常适合 Raspberry Pi 或 NVIDIA Jetson Nano 等资源受限的边缘设备。
为了检测无人机航拍影像等场景中的高难度目标,YOLO26 使用了改进后的 ProgLoss + STAL 损失函数,显著提升小目标识别的召回率。此外,它还针对具体任务进行了增强,包括用于实例分割的多尺度原型、用于姿态估计的残差对数似然估计 (RLE),以及用于检测有向边界框 (OBB)的专用角度损失。
YOLOv9:可编程梯度信息#
YOLOv9 于 2024 年初推出,在神经网络训练阶段处理梯度流的方式上带来了理论进展,重点关注参数效率和深层特征保留。
模型详情:
- 作者:Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 机构:台湾中央研究院信息科学研究所
- 日期:2024-02-21
- Arxiv:YOLOv9 论文
- GitHub:YOLOv9 仓库
- 文档:YOLOv9 文档
架构与优势#
YOLOv9 的核心是可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN)。这些概念解决了深度神经网络中常见的信息瓶颈问题。通过在前馈过程中保留关键信息,GELAN 确保用于权重更新的梯度保持可靠。这种架构具有很高的准确率,也让 YOLOv9 成为利用 PyTorch 框架开展神经网络理论和梯度路径优化学术研究的有力选择。
局限性#
尽管 YOLOv9 的参数效率出色,但它在边界框后处理中严重依赖传统 NMS,这可能导致边缘设备推理出现计算瓶颈。此外,官方仓库主要聚焦于目标检测,因此要将其用于跟踪或姿态估计等专用任务,需要进行大量定制开发。
性能对比#
评估这些模型在真实场景中的部署表现时,准确率 (mAP)、推理速度和内存用量之间的平衡至关重要。Ultralytics 模型以训练和推理时内存需求低而闻名,所需的 CUDA 内存远少于 RT-DETR 等基于 Transformer 的替代方案。
下方是 YOLO26 和 YOLOv9 在 COCO 数据集上的直接性能对比。每列中的最佳值以粗体标出。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 38.9 | 1.7 | 2.4 | 5.5 |
| YOLO26s | 640 | 48.6 | 87.2 | 2.5 | 9.5 | 20.9 |
| YOLO26m | 640 | 53.1 | 220.0 | 4.7 | 20.4 | 68.4 |
| YOLO26l | 640 | 55.0 | 286.2 | 6.2 | 24.8 | 86.8 |
| YOLO26x | 640 | 57.5 | 525.8 | 11.8 | 55.7 | 194.4 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
注意:此处未列出 YOLOv9 的 CPU 速度,因为该速度受 NMS 配置的影响很大,而且通常比 YOLO26 原生无 NMS 实现更慢。
用例与建议#
选择 YOLO26 还是 YOLOv9,取决于你的具体项目需求、部署限制和对生态系统的偏好。
何时选择 YOLO26#
以下场景适合选择 YOLO26:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
何时选择 YOLOv9#
以下场景推荐使用 YOLOv9:
- 信息瓶颈研究:研究可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 架构的学术项目。
- 梯度流优化研究:重点研究如何理解并缓解训练期间深层网络层中的信息损失。
- 高准确率检测基准测试:需要将 YOLOv9 在 COCO 基准测试中的出色表现作为架构对比参照的场景。
Ultralytics 优势#
选择模型不只是查看准确率基准测试;周边软件生态系统决定了你从数据收集到投入生产所需的时间。
易用性与生态系统#
Ultralytics Python API提供了从零入门到熟练使用的流畅体验。开发者无需克隆复杂仓库,也不必手动配置分布式训练脚本,只要通过 pip 安装软件包,就能立即开始训练。持续维护的 Ultralytics 生态系统确保频繁更新、与 Weights & Biases 等 ML 平台自动集成,并提供详尽的文档。
适用于各类视觉任务#
YOLOv9 主要用于目标检测,而 YOLO26 则是通用视觉工具。你可以使用统一的语法,轻松从目标检测切换到像素级精准的图像分割或整图分类。这种通用性减少了为不同计算机视觉功能维护多个彼此割裂的代码库所带来的技术债务。
高效训练与部署#
训练效率是 Ultralytics 理念的核心。YOLO26 使用易于获取的预训练权重,与臃肿的视觉 Transformer 相比,内存用量显著更低。训练完成后,内置的导出流程可一键转换为 TensorRT 或 LiteRT 等优化格式,让产品部署更加顺畅。
代码示例:开始使用 YOLO26#
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 应用推向市场,同时减少技术障碍。