Ultralytics YOLO26

概述

Ultralytics YOLO26 是 YOLO 系列实时目标检测器的最新演进,专为边缘和低功耗设备从零构建。它引入了精简设计,去除了不必要的复杂性,同时整合了针对性创新,从而实现更快、更轻量且更易于部署的效果。

Ultralytics YOLO26 Comparison Plots

在 Ultralytics Platform 上尝试

直接在 Ultralytics Platform 上探索并运行 YOLO26 模型。

YOLO26 的架构遵循三个核心原则:

  • 简洁性: YOLO26 是一种原生端到端模型,直接生成预测结果,无需非极大值抑制(NMS)。通过消除这一后处理步骤,推理变得更快、更轻量,且更易于在实际系统中部署。这种突破性的方法最初由清华大学的王傲在 YOLOv10 中首创,并在 YOLO26 中得到了进一步优化。
  • 部署效率: 端到端设计省去了整个流程中的一个阶段,极大简化了集成,降低了延迟,并使部署在各种环境下更加稳健。
  • 训练创新: YOLO26 引入了 MuSGD 优化器,这是 SGDMuon 的混合体,灵感源自月之暗面 (Moonshot AI) 的 Kimi K2 在大语言模型训练中的突破。该优化器带来了更强的稳定性和更快的收敛速度,将大语言模型的优化进展应用到了计算机视觉领域。
  • 特定任务优化: YOLO26 为专业任务引入了针对性改进,包括用于语义分割的语义分割损失和多尺度 proto 模块、用于高精度姿态估计的残差对数似然估计(RLE),以及通过角度损失优化解码以解决 OBB 边界问题。

这些创新共同构建了一个模型家族,在处理小目标时实现了更高的准确度,提供了无缝的部署体验,并且在 CPU 上运行速度提升高达 43% — 使 YOLO26 成为目前资源受限环境下最实用、最易部署的 YOLO 模型之一。

主要特性

  • 移除 DFL 分布焦点损失(DFL)模块虽然有效,但往往会使导出复杂化并限制硬件兼容性。YOLO26 完全移除了 DFL,简化了推理过程,并拓宽了对边缘和低功耗设备的支持。

  • 端到端无需 NMS 的推理 与依赖 NMS 作为独立后处理步骤的传统检测器不同,YOLO26 是原生端到端的。预测结果直接生成,降低了延迟,并使集成到生产系统中的过程变得更快、更轻量且更可靠。

  • ProgLoss + STAL 改进的损失函数提高了检测精度,特别是在小目标识别方面有显著提升,这对于物联网、机器人、航空影像及其他边缘应用至关重要。

  • MuSGD 优化器 一种结合了 SGDMuon 的新型混合优化器。受月之暗面 (Moonshot AI) 的 Kimi K2 启发,MuSGD 将大语言模型训练中的先进优化方法引入计算机视觉,从而实现更稳定的训练和更快的收敛。

  • CPU 推理速度提升高达 43% 专为边缘计算优化,YOLO26 显著提升了 CPU 推理速度,确保在没有 GPU 的设备上也能实现实时性能。

  • 实例分割增强 引入语义分割损失以改进模型收敛,并升级了 proto 模块,利用多尺度信息实现卓越的掩膜质量。

  • 高精度姿态估计 集成了 残差对数似然估计 (RLE) 以实现更精确的关键点定位,并优化了解码过程以提高推理速度。

  • 精炼的 OBB 解码 引入专门的角度损失以提高正方形物体的检测精度,并优化了 OBB 解码以解决边界不连续的问题。

Ultralytics YOLO26 End-to-End Comparison Plots


支持的任务和模式

YOLO26 构建在早期 Ultralytics YOLO 版本所建立的多功能模型范围之上,为各种计算机视觉任务提供了增强支持:

模型文件名任务推理验证训练导出
YOLO26yolo26n.pt yolo26s.pt yolo26m.pt yolo26l.pt yolo26x.pt检测
YOLO26-segyolo26n-seg.pt yolo26s-seg.pt yolo26m-seg.pt yolo26l-seg.pt yolo26x-seg.pt实例分割
YOLO26-semyolo26n-sem.pt yolo26s-sem.pt yolo26m-sem.pt yolo26l-sem.pt yolo26x-sem.pt语义分割
YOLO26-poseyolo26n-pose.pt yolo26s-pose.pt yolo26m-pose.pt yolo26l-pose.pt yolo26x-pose.pt姿态/关键点
YOLO26-obbyolo26n-obb.pt yolo26s-obb.pt yolo26m-obb.pt yolo26l-obb.pt yolo26x-obb.pt旋转目标检测
YOLO26-clsyolo26n-cls.pt yolo26s-cls.pt yolo26m-cls.pt yolo26l-cls.pt yolo26x-cls.pt分类

这一统一框架确保了 YOLO26 可广泛应用于实时检测、实例分割、语义分割、分类、姿态估计和旋转目标检测,且所有这些任务均支持训练、验证、推理和导出。

仅架构变体

yolo26-p2.yamlyolo26-p6.yaml 添加了 P2(小目标)或 P6(大输入)检测头,仅作为 YAML 架构发布。未发布特定规模的 yolo26*-p2.ptyolo26*-p6.pt 权重。请从 YAML 实例化比例配置(例如 YOLO("yolo26n-p6.yaml")),并根据需要进行训练或微调。


性能指标

性能

查看 检测文档 以获取这些在 COCO 上训练的模型的使用示例,其中包含 80 个预训练类别。

模型尺寸
(像素)
mAPval
50-95
mAPval
50-95(e2e)
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9

Params 和 FLOPs 数值是针对 model.fuse() 后的融合模型,该操作合并了 Conv 和 BatchNorm 层并移除了辅助的一对多检测头。预训练检查点保留了完整的训练架构,可能会显示更高的数值。


使用示例

本节提供简单的 YOLO26 训练和推理示例。有关这些模式以及其他 模式 的完整文档,请参阅 预测训练验证导出 文档页面。

请注意,以下示例适用于 YOLO26 检测 模型,用于 目标检测。如需了解其他支持的任务,请参阅 分割语义分割分类旋转框检测姿态估计 文档。

示例

PyTorch 预训练的 *.pt 模型以及配置 *.yaml 文件可以传递给 YOLO() 类,以便在 Python 中创建模型实例:

from ultralytics import YOLO

# Load a COCO-pretrained YOLO26n model
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLO26n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
双头架构

YOLO26 采用 双头架构,为不同的部署场景提供了灵活性:

  • 一对一头 (默认):产生端到端的预测,无需 NMS,输出 (N, 300, 6),每张图像最多 300 个检测结果。此头部针对快速推理和简化部署进行了优化。
  • 一对多头:生成传统的 YOLO 输出,需要 NMS 后处理,输出 (N, nc + 4, 8400),其中 nc 是类别数量。此头部通常以额外的处理成本为代价获得略高的准确率。

你可以在导出、预测或验证过程中切换头部:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Use one-to-one head (default, no NMS required)
results = model.predict("image.jpg")  # inference
metrics = model.val(data="coco.yaml")  # validation
model.export(format="onnx")  # export

# Use one-to-many head (requires NMS)
results = model.predict("image.jpg", end2end=False)  # inference
metrics = model.val(data="coco.yaml", end2end=False)  # validation
model.export(format="onnx", end2end=False)  # export

选择取决于你的部署需求:为了极致的速度和简洁性,请使用一对一头;当准确率是首要优先级时,请使用一对多头。

YOLOE-26:开放词汇实例分割

YOLOE-26 将高性能的 YOLO26 架构与 YOLOE 系列的开放词汇能力相结合。它支持使用 文本提示视觉提示无提示模式 进行零样本推理,实现对任意对象类别的实时检测和分割,有效消除了固定类别训练的限制。

通过利用 YOLO26 的 无 NMS、端到端设计,YOLOE-26 提供了快速的开放世界推理。这使其成为动态环境中边缘应用的强大解决方案,这些环境中的目标对象代表了广泛且不断演变的词汇。

性能

查看 YOLOE 文档 以获取这些在 Objects365v1GQAFlickr30k 数据集上训练的模型的使用示例。

模型尺寸
(像素)
提示类型mAPminival
50-95(e2e)
mAPminival
50-95
mAPrmAPcmAPf参数
(M)
FLOPs
(B)
YOLOE-26n-seg640文本/视觉23.7 / 20.924.7 / 21.920.5 / 17.624.1 / 22.326.1 / 22.44.86.0
YOLOE-26s-seg640文本/视觉29.9 / 27.130.8 / 28.623.9 / 25.129.6 / 27.833.0 / 29.913.121.7
YOLOE-26m-seg640文本/视觉35.4 / 31.335.4 / 33.931.1 / 33.434.7 / 34.036.9 / 33.827.970.1
YOLOE-26l-seg640文本/视觉36.8 / 33.737.8 / 36.335.1 / 37.637.6 / 36.238.5 / 36.132.388.3
YOLOE-26x-seg640文本/视觉39.5 / 36.240.6 / 38.537.4 / 35.340.9 / 38.841.0 / 38.869.9196.7

使用示例

YOLOE-26 支持文本和视觉提示。使用提示很简单——只需按如下所示通过 predict 方法传入即可:

示例

通过文本提示,你可以通过文字描述来指定希望检测的类别。以下代码展示了如何使用 YOLOE-26 检测图像中的人和公交车:

from ultralytics import YOLO

# Initialize model
model = YOLO("yoloe-26l-seg.pt")  # or select yoloe-26s/m-seg.pt for different sizes

# Set text prompt to detect person and bus. You only need to do this once after you load the model.
model.set_classes(["person", "bus"])

# Run detection on the given image
results = model.predict("path/to/image.jpg")

# Show results
results[0].show()

要深入了解提示技术、从零开始训练以及获取完整的使用示例,请访问 YOLOE 文档

引用与致谢

Ultralytics YOLO26 出版物

由于模型的发展瞬息万变,Ultralytics 并未针对 YOLO26 发布正式的研究论文。相反,我们专注于提供尖端模型并使其易于使用。有关 YOLO 特性、架构和用法的最新更新,请访问我们的 GitHub 仓库文档

如果你在工作中使用 YOLO26 或其他 Ultralytics 软件,请按如下方式引用它:

引用
@software{yolo26_ultralytics,
  author = {Glenn Jocher and Jing Qiu},
  title = {Ultralytics YOLO26},
  version = {26.0.0},
  year = {2026},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

DOI 待定。YOLO26 可在 AGPL-3.0Enterprise 许可下使用。


常见问题

与 YOLO11 相比,YOLO26 有哪些关键改进?

  • 移除 DFL:简化了导出并扩展了边缘设备的兼容性
  • 端到端无 NMS 推理:消除了 NMS,使部署更快、更简单
  • ProgLoss + STAL:提升了准确率,特别是针对小目标
  • MuSGD 优化器:结合了 SGD 和 Muon(受 Moonshot 的 Kimi K2 启发),使训练更稳定、更高效
  • CPU 推理速度提升高达 43%:为仅使用 CPU 的设备带来显著性能提升

YOLO26 支持哪些任务?

YOLO26 是一个统一的模型家族,为多种计算机视觉任务提供端到端支持:

每种尺寸变体(n、s、m、l、x)均支持所有任务,此外还通过 YOLOE-26 提供开放词汇版本。

为什么 YOLO26 针对边缘部署进行了优化?

YOLO26 通过以下特性提供顶尖的边缘计算性能

  • CPU 推理速度提升高达 43%
  • 减小模型大小和内存占用
  • 架构简化以提高兼容性(无 DFL,无 NMS)
  • 灵活的导出格式,包括 TensorRT、ONNX、CoreML、TFLite 和 OpenVINO

我该如何开始使用 YOLO26?

YOLO26 模型于 2026 年 1 月 14 日发布,现可供下载。请安装或更新 ultralytics 包并加载模型:

from ultralytics import YOLO

# Load a pretrained YOLO26 nano model
model = YOLO("yolo26n.pt")

# Run inference on an image
results = model("image.jpg")

有关训练、验证和导出的说明,请参阅 使用示例 部分。

评论