2365 字
12 分钟
YOLO26:实时目标检测进入端到端时代

Ultralytics于2026年1月发布了YOLO26,这是YOLO系列首个原生端到端模型,完全移除了 NMS(非极大值抑制)后处理步骤。CPU推理速度最高提升43%,单次前向传递最多输出300个检测结果。一个延续了近十年的目标检测「补丁」,终于被从架构层面彻底删除了。

 

十年进化:从 YOLOv1 到 YOLO26#

YOLO(You Only Look Once)是过去十年实时目标检测领域最具影响力的算法系列。2015 年,Joseph Redmon 等人提出了一个激进的想法:把目标检测从「先找候选区域再分类」的两阶段流水线,压缩成一次前向传递完成全部工作。 这个想法彻底改变了目标检测的速度上限。

奠基期(2015-2018):从概念到可用#

版本年份作者核心突破
YOLOv12015Joseph Redmon首创单阶段检测——将图像分成 7×7 网格,每个网格直接预测边界框和类别概率
YOLOv22016Joseph Redmon引入 Darknet-19 骨干网络、锚框(Anchor Box)机制和批归一化,大幅提升精度
YOLOv32018Joseph Redmon升级 Darknet-53 骨干,引入多尺度检测(三个不同分辨率的特征图),首次在小目标上表现良好

YOLOv3 是一个里程碑,它在COCO数据集上达到了当时的实时检测最佳水平,且Redmon的开源策略让YOLO迅速成为工业界的标准选择。2020年,Redmon因伦理顾虑退出计算机视觉研究,但 YOLO的开源生态已经不可逆转。

社区接力期(2020-2022):百花齐放#

Redmon 退出后,YOLO 进入了多团队并行发展的阶段:

版本年份团队核心突破
YOLOv42020Alexey BochkovskiyCSPDarknet-53 骨干 + PANet 颈部网络 + Mosaic 数据增强 + 大量训练技巧(BoF/BoS)
YOLOv52020UltralyticsPyTorch 原生实现——告别 Darknet C 框架,引入自动锚框计算和模型缩放(n/s/m/l/x 五档)
YOLOv62022美团针对工业部署优化,RepVGG 重参数化骨干,硬件友好设计
YOLOv72022Chien-Yao WangE-ELAN 高效聚合网络 + 模型重参数化 + 辅助头训练策略

这个阶段的关键转折是 YOLOv5。它不是论文驱动的学术模型,而是工程驱动的开源项目。Ultralytics用PyTorch重写了整个框架,降低了使用门槛,让YOLO从研究工具变成了真正的生产工具。至今 YOLOv5仍是很多工业项目的首选。

Tip

版本号争议YOLO 的版本编号并非由单一组织控制。YOLOv5没有正式论文,YOLOv6是美团的独立工作,不同版本之间并不是严格的「上一代改进」关系,更像是多个团队在同一框架下的并行演进。

统一与突破期(2023-2026):走向端到端#

版本年份团队核心突破
YOLOv82023Ultralytics无锚框检测(Anchor-free)+ 解耦头(分类和回归分开)+ 统一多任务框架
YOLOv92024Chien-Yao WangPGI(可编程梯度信息)+ GELAN 通用高效聚合网络,解决深度网络信息丢失问题
YOLOv102024清华大学首次探索无 NMS 训练引入一致双分配策略,但仍保留 NMS 作为可选项
YOLO112024UltralyticsC3k2 模块 + C2PSA 注意力机制,参数比 YOLOv8 少 22% 但精度更高
YOLO262026Ultralytics完全移除 NMS原生端到端推理,MuSGD 优化器,STAL 小目标策略

这个阶段有两条主线并行。

1. Ultralytics 的统一路线:YOLOv8 → YOLO11 → YOLO26,逐步构建统一的多任务框架(检测、分割、分类、姿态估计、旋转框),同时不断简化部署流程。

2. 学术界的端到端探索:YOLOv10率先尝试了无NMS训练,证明了可行性。YOLO26在此基础上彻底完成了端到端化,不是「可以不用 NMS」,而是「架构上根本不需要 NMS」。

每一次关键跃迁都在做同一件事:**减少人工设计的规则,让模型自己学更多。**从手动设计锚框到自动锚框,从锚框到无锚框,从NMS后处理到完全端到端。YOLO26 是这条路径的自然终点。


 

NMS 是什么,为什么它是个问题#

要理解YOLO26的突破,先要理解它解决了什么问题。

所有传统 YOLO 模型(从 YOLOv1 到 YOLO11)都面临一个相同的问题:模型会为同一个物体生成多个重叠的检测框。NMS 就是用来去除这些重复框的后处理算法——保留置信度最高的那个,抑制其他的。

听起来很合理,但 NMS 带来了三个严重问题:

问题影响
速度瓶颈NMS 是串行操作,无法被 GPU 有效加速,成为推理管线的瓶颈
部署复杂NMS 需要额外的算子支持,不同硬件平台(TensorRT、CoreML、TFLite)实现不一致
行为不确定NMS 的 IoU 阈值是超参数,不同场景需要手动调整,密集场景下容易误删正确检测

换句话说,NMS 不是模型学到的东西,而是人类强加的规则补丁。YOLO26 的核心突破就是:让模型自己学会只输出一个框,而不是先输出一堆框再靠规则去重。

传统 YOLO vs YOLO26 检测流程


YOLO26 如何做到无 NMS#

YOLO26 采用了双头(Dual-Head)架构,引入三项关键创新:

1. One-to-One Head:一个物体一个框#

默认使用 One-to-One 检测头,每个物体只产生一个预测框,输出维度为 (N, 300, 6)。最多 300 个检测,每个检测包含坐标和置信度。

对比传统方式:

架构输出后处理
YOLO118,400 个候选框需要 NMS 去重
YOLO26 (One-to-One)最多 300 个检测无需任何后处理

训练时仍然使用 One-to-Many 头来保证学习信号充足,推理时只用 One-to-One 头。这意味着:训练和部署使用的模型完全一致

2. MuSGD 优化器:借鉴 LLM 训练技术#

将 SGD 与 Muon 优化算法结合,借鉴了大语言模型训练中的优化技术。这对于稳定小型骨干网络的训练尤为关键——小模型在去掉 NMS 后更容易训练不稳定,MuSGD 解决了这个问题。

3. STAL + ProgLoss:针对小目标和动态监督#

  • • STAL(Small-Target-Aware Label Assignment):改进了小目标的标签分配策略
  • • ProgLoss(Progressive Loss):动态调整监督信号强度

这两项技术确保在移除 NMS 的同时,不牺牲密集小目标场景的检测精度。

YOLO26 双头架构


性能数据:不只是更快#

YOLO26 在 COCO 数据集上的表现:

模型参数量mAP₅₀₋₉₅CPU 延迟适用场景
YOLO26n2.4M40.938.9ms嵌入式/手机
YOLO26s9.2M48.379.4ms边缘设备
YOLO26m18.2M53.1220ms平衡精度与速度
YOLO26l26.8M54.9328ms高精度需求
YOLO26x55.7M57.5525.8ms最高精度

关键对比:

  • • YOLO26n vs YOLO11n:CPU 推理速度提升 43%,同时精度更高
  • • 建立新的帕累托前沿:在推理速度和检测精度两个维度上,同时超越 RTMDet、DAMO-YOLO 等竞品

YOLO26 性能帕累托前沿


支持的任务远不止检测#

YOLO26 不只是一个检测模型,而是一个多任务统一框架:

任务说明
目标检测核心能力,NMS-free 端到端推理
实例分割像素级物体分割
图像分类ImageNet 预训练分类器
姿态估计人体关键点检测,使用残差对数似然估计(RLLE)
旋转目标检测(OBB)适用于遥感、文档等需要旋转框的场景

此外,YOLOE-26 扩展支持开放词汇实例分割——通过文本或视觉 Prompt 检测任意类别的物体。


对部署的实际影响#

移除 NMS 不只是速度提升,它从根本上简化了部署管线:

之前的部署流程

模型导出 → ONNX → 平台特定 NMS 算子 → 调参 → 部署

YOLO26 的部署流程

模型导出 → ONNX/TensorRT/CoreML/TFLite → 部署
  • • 不再需要平台特定的 NMS 实现
  • • 导出即部署,训练模型和推理模型完全一致
  • • **适配更多边缘设备:**很多低端硬件不支持 NMS 算子,现在不需要了

部署流程简化


快速上手#

pip install ultralytics
# 推理
yolo detect predict model=yolo26n.pt source="image.jpg"
# 训练
yolo detect train model=yolo26n.pt data=coco.yaml epochs=100
# 导出
yolo export model=yolo26n.pt format=onnx

模型权重在首次使用时自动下载。支持 Python API 和 CLI 两种使用方式。

Tip

从旧版本迁移如果你之前使用 YOLO11,迁移几乎零成本——API 完全兼容,只需替换模型名称。但注意:YOLO26 默认使用 One-to-One 头,如果你的场景需要密集候选框(如级联检测),可以手动切换到 One-to-Many 头。


为什么这件事很重要#

NMS是目标检测领域延续了近十年的「必要之恶」。它不是模型的一部分,而是对模型缺陷的补偿。每一代YOLO都试图减少对NMS的依赖,但直到YOLO26才真正从架构层面消除了它。

这个突破的意义不仅在于速度和精度:

  1. 1. 端到端可微分:整个检测管线可以作为更大系统的一部分进行端到端训练
  2. 2. 部署简易:更多低端硬件可以直接运行,不需要复杂的后处理支持
  3. 3. 行为确定性:同一模型在所有平台上的行为完全一致,不再有 NMS 阈值带来的不确定性

实时目标检测,正式进入端到端时代。

YOLO26:实时目标检测进入端到端时代
https://blog.scidatalab.net/posts/yolo26-实时目标检测进入端到端时代/
作者
Echo
发布于
2026-03-02
许可协议
CC BY-NC-SA 4.0