首页
/ Ultralytics 支持模型全景:从 YOLO26 到 RT-DETR 的任务覆盖、模式能力与选型指南

Ultralytics 支持模型全景:从 YOLO26 到 RT-DETR 的任务覆盖、模式能力与选型指南

2026-09-07 10:24:47作者:龚格成

导读:本指南系统梳理 Ultralytics 官方文档中全部受支持的模型家族——从最新的 YOLO26 一路回溯到 YOLOv3,以及 SAM 系列、YOLO-NAS、RT-DETR、YOLO-World 与 YOLOE——并给出每个模型的任务覆盖、可用模式(Train / Val / Predict / Export)与适用场景,帮助你为新项目选型、理解历史代码库中的既有模型,并通过与仓库源码交叉印证的方式掌握 YOLO()SAM()NAS()RTDETR() 等入口类的真实调用关系。读完你将能对照任务需求快速锁定模型家族、理解各模型支持能力边界,并直接运行文档中的 Python / CLI 示例。

Ultralytics 的模型文档覆盖了计算机视觉的多类任务,包括目标检测实例分割语义分割深度估计图像分类姿态估计旋转框检测(OBB)。仓库中的 models 包 是这些模型在代码层的落地入口,公开了 YOLOYOLOEYOLOWorldNASSAMFastSAMRTDETRLLM 等类。

模型家族总览与任务覆盖

新项目如何选:先看 YOLO26 与 YOLO11

官方建议新项目优先从 YOLO26 开始:它是当前最新的发布版本,也是唯一覆盖全部七类任务的模型家族。YOLO26 的模型定义文件在 ultralytics/cfg/models/26 目录下可以逐一印证其任务矩阵:

  • yolo26.yaml(检测)
  • yolo26-seg.yaml(实例分割)
  • yolo26-sem.yaml(语义分割)
  • yolo26-depth.yaml(单目深度估计)
  • yolo26-cls.yaml(图像分类)
  • yolo26-pose.yaml(姿态估计)
  • yolo26-obb.yaml(旋转框检测)
  • 以及开放词表版本 yoloe-26.yamlyoloe-26-seg.yaml

YOLO11 是更成熟的替代选择,为其支持的五类任务(Detect、Segment、Classify、Pose、OBB)都提供了预训练权重,适合稳定运行的生产负载。

只有在需要特定能力时才转向专精家族:可提示分割用 SAM 3,开放词表检测用 YOLOEYOLO-World,Transformer 检测器则选择 RT-DETR

模式(Modes)的统一语义

下文表格中的「Modes」指 Train、Val、Predict、Export 四个核心模式。Track 之所以不单列,是因为它运行在 Detect、Segment、Pose、OBB 模型的 Predict 之上;而 SAM 2、SAM 3 则通过各自的视频预测器实现跨帧跟踪。Benchmark 也未单独列出,因为它本质上是跨多种导出格式包装 Export 与 Val,而非增加新的模型支持。

从仓库的 YOLO 任务子包 可以看到,ultralytics.models.yolo 统一导入了 classifydepthdetectobbposesegmentsemanticworldyoloe 九个任务模块,这与表格中 YOLO26 覆盖全部任务的能力一一对应。

Featured Models:全部受支持模型的官方对照表

下表列出的每个模型家族都有独立的文档页,表格给出其任务覆盖、Ultralytics 支持的四种模式,以及选型建议。

模型 任务 模式 适用场景
YOLO26 🚀 NEW Detect、Segment、Semantic、Depth、Classify、Pose、OBB Train、Val、Predict、Export 新项目:端到端 NMS-free 推理、面向边缘优化的部署,以及最广的任务覆盖
YOLO12 Detect、Segment、Classify、Pose、OBB Train、Val、Predict、Export 对社区发布的、以注意力机制为核心的版本做基准测试;预训练权重仅覆盖检测
YOLO11 Detect、Segment、Classify、Pose、OBB Train、Val、Predict、Export 稳定生产负载,其支持的每个任务都有预训练权重
YOLOv10 Detect Train、Val、Predict、Export 清华大学的 NMS-free 检测研究
YOLOv9 Detect、Segment Train、Val、Predict、Export PGI(可编程梯度信息),基于 Ultralytics YOLOv5 代码库实现
YOLOv8 Detect、Segment、Classify、Pose、OBB Train、Val、Predict、Export 已有的 YOLOv8 流水线以及成熟的三方集成
YOLOv7 Detect Predict 运行上游训练的 YOLOv7 导出模型:本包只从兼容的 ONNX 或 TensorRT 模型进行预测,从不加载原生 checkpoint
YOLOv6 Detect Train、Val、Predict、Export 从其 YAML 训练美团架构;Ultralytics 不托管 YOLOv6 的 .pt 权重
YOLOv5 Detect Train、Val、Predict、Export 遗留 Ultralytics 项目;当前版本加载更新后的 YOLOv5u 权重
YOLOv4 仅作架构参考:Alexey Bochkovskiy 基于 Darknet 的原生模型不受本包支持
YOLOv3 Detect Train、Val、Predict、Export Joseph Redmon 原始架构上的遗留项目;当前版本加载更新后的 YOLOv3u 权重
SAM 3 🚀 NEW Segment Predict Meta 的可提示概念分割(图片与视频),支持文本或图像示例作为提示;sam3.pt 需在 Hugging Face 上申请访问授权
SAM 2 Segment Predict Meta 的可提示分割,支持跨视频帧跟踪目标
SAM Segment Predict Meta 最初的可提示分割,支持自动标注
MobileSAM Segment Predict 面向移动端及其他资源受限设备的可提示分割
FastSAM Segment Val、Predict、Export 当 SAM 延迟成为瓶颈时,基于 CNN 的可提示分割方案
YOLO-NAS Detect Val、Predict、Export Deci 的 NAS 优化检测器,保留用于推理与导出;Deci 在被 NVIDIA 收购后已不再维护
RT-DETR Detect Train、Val、Predict、Export 百度的实时 DETR 检测器:卷积骨干 + 混合 Transformer 编码器
YOLO-World Detect Train、Val、Predict、Export 基于文本提示的开放词表检测;导出需使用 -worldv2 权重
YOLOE Detect、Segment Train、Val、Predict、Export 支持文本、视觉或免提示推理的开放词表检测与分割

关于大语言模型:Ultralytics 还内置 LLM,一个与 OpenAI 兼容的文本与图像理解接口。它没有自己的任务与模式,因此未列入上表,但它可以与任何 YOLO 流水线搭配使用,既支持 OpenAI 等云厂商,也支持完全本地的 on-prem 服务器。仓库中 LLM 类 通过 api 参数切换 responseschat.completions 两种接口格式,并使用 base_url 指向任意 OpenAI 兼容端点。

源码视角:模式能力如何落地

将上表与源码对照可以得出几个确凿结论:

  1. 类入口即家族边界models 包FastSAMNASRTDETR 直接暴露 FastSAMPredictor/FastSAMValidatorNASPredictor/NASValidatorRTDETRPredictor/RTDETRValidator 等配套组件,佐证 FastSAM 与 NAS 的官方路径以 Val/Predict 为主;NAS() 类所在包的 predict.py 与 val.py 说明其能力集中在推理与验证而非训练。
  2. SAM 系列以视频预测器实现跟踪SAM 包 导出了 SAM2VideoPredictorSAM3VideoPredictorSAM3SemanticPredictorSAM3VideoSemanticPredictor 等,印证文档所述「SAM 2 / SAM 3 通过自身视频预测器完成跨帧跟踪」。
  3. 任务模块决定模式上限YOLO 任务子包 覆盖九个任务方向,而模型版本的 YAML 配置(例如 yolo26.yaml)仅声明其自身结构,真正决定「能否训练」的是该家族是否携带对应的任务训练头与 Trainer 实现。

快速上手:Python 与 CLI 用法示例

下面的示例以 YOLO26 的 Detect 模型展示训练与推理的基本用法(其余支持任务见 SegmentSemanticDepthClassifyPoseOBB 文档)。关于这些模式的完整说明,参考 PredictTrainValExport 页面。

Python:通过类加载模型

PyTorch 预训练 *.pt 模型以及纯结构 *.yaml 配置文件,都可以传给 YOLO()SAM()NAS()RTDETR() 类来创建模型实例:

from ultralytics import YOLO

# 加载一个 COCO 预训练的 YOLO26n 模型
model = YOLO("yolo26n.pt")

# 展示模型信息(可选)
model.info()

# 在 COCO8 示例数据集上训练 100 个 epoch
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 用 YOLO26n 模型对 'bus.jpg' 图片执行推理
results = model("path/to/bus.jpg")

实参说明:coco8.yaml 是仓库内置的微型示例数据集配置(见 ultralytics/cfg/datasets/coco8.yaml),适合快速验证训练流程;imgsz=640 为输入分辨率;yolo26n.pt 中的 n 指 nano 规模(另有 s/m/l/x)。训练参数 epochsimgszdata 的含义及更多超参数可查阅 Train 模式文档

CLI:命令行直接运行

# 加载 COCO 预训练 YOLO26n 模型,在 COCO8 数据集上训练 100 个 epoch
yolo train model=yolo26n.pt data=coco8.yaml epochs=100 imgsz=640

# 加载 COCO 预训练 YOLO26n 模型,对 'bus.jpg' 图片执行推理
yolo predict model=yolo26n.pt source=path/to/bus.jpg

CLI 与 Python API 一一对应,均经由 模型引擎层 分发到对应任务与模式。

使用自定义数据集训练

训练自定义数据集同样通过 model.train() 完成:只需将数据集按 YOLO 标注格式整理,并写好一个包含 train/val 路径与类别列表的数据集 YAML 即可。

from ultralytics import YOLO

# 加载一个 YOLO 模型(也可换成 yolo11n.pt、yolov8n.pt 等)
model = YOLO("yolo26n.pt")

# 在自定义数据集上训练
results = model.train(data="custom_data.yaml", epochs=100, imgsz=640)

CLI 等价命令:

yolo train model=yolo26n.pt data='custom_data.yaml' epochs=100 imgsz=640

仓库内置了大量开箱即用的数据集 YAML 示例,datasets 配置目录 下包含 COCO、VOC、VisDrone、DOTA、ADE20K、各类 pose/segment 数据集等 60 余个配置文件,可作为自定义数据集 YAML 的格式范本。详细训练说明见 Train 模式文档

官方支持的 YOLO 版本清单

Ultralytics 原生支持 YOLOv3、YOLOv5、YOLOv6、YOLOv8、YOLOv9、YOLOv10、YOLO11、YOLO12 与 YOLO26,以及 SAM 家族(SAM 3、SAM 2、SAM、MobileSAM、FastSAM)、YOLO-NASRT-DETRYOLO-WorldYOLOE

需要特别区分的是:

  • 本包不发布 YOLOv4 与 YOLOv7 的权重或 YAML:YOLOv4 仅作为架构参考记录在案;YOLOv7 则只能以导出的 ONNX / TensorRT 模型运行。
  • YOLOv3 与 YOLOv5 的旧有 checkpoint 与当前发布版本存在差异:当前版本加载的是更新后的 YOLOv3u / YOLOv5u 权重。
  • 该支持清单可以从模型配置目录得到旁证:仓库 cfg/models 下存在 v3v5v6v8v910111226rt-detr 等模型 YAML 目录,各家族的任务能力均可通过其 YAML 组合判断。

各模型可用任务与模式参见上文 Featured Models 对照表

任务与后续路径

选定任务与模型家族之后,可以顺着以下路径继续深入:

  • 七个任务的逐个讲解与示例见 任务总览:Detect / Segment / Semantic / Depth / Classify / Pose / OBB;
  • 按任务格式化数据的操作见 数据集指南
  • 在自有图片上训练可参考 Train 模式
  • 若希望无代码地在云端完成训练、部署与管理,可了解 Ultralytics Platform,其提供云端训练能力、数据集管理与面向初学者/资深开发者的界面。

关于新模型的贡献

如果你希望把自己实现的模型合入 Ultralytics 模型家族,官方给出了六步流程:

  1. Fork 仓库,获得自己的代码副本;
  2. Clone 你的 Fork 到本地并新建工作分支;
  3. 实现模型,遵循 贡献指南 中的编码规范与约定(模型结构建议放在 ultralytics/models 下的独立子包,并按任务提供对应的 predictor / validator / trainer);
  4. 充分测试,既做单测也做流水线级联测(仓库 tests 目录 提供了可参考的测试骨架,例如 test_python.py 对各类模型入口做了端到端调用验证);
  5. 提交 Pull Request 到主仓库等待评审;
  6. 评审与合入,满足项目标准后合入主线。

常见问题

最新的 Ultralytics YOLO 模型是哪个?

最新的是 YOLO26,2026 年 1 月发布。它具备端到端 NMS-free 推理、针对边缘部署的优化,并支持检测、实例分割、语义分割、深度估计、分类、姿态估计、OBB 以及开放词表版本。对于稳定生产负载,YOLO26 与 YOLO11 都是推荐选择。

补充背景:YOLO26 的这些特性——NMS-free 的 one-to-one 检测头、去除 DFL 的轻量回归头、MuSGD / Progressive Loss / STAL 训练配方等——在 yolo26 模型文档 中有完整展开,其完整训练超参数记录在 YOLO26 Training Recipe 指南 中。

我可以在自有数据上训练 YOLO 吗?

可以。使用 YOLO("yolo26n.pt").train(data="custom_data.yaml", epochs=100, imgsz=640) 即可,CLI 等价命令为 yolo train model=yolo26n.pt data='custom_data.yaml' epochs=100 imgsz=640。详细步骤见 Train 模式文档

Ultralytics 支持哪些 YOLO 版本?

原生支持 YOLOv3、YOLOv5、YOLOv6、YOLOv8、YOLOv9、YOLOv10、YOLO11、YOLO12、YOLO26,以及 SAM 家族(SAM 3 / SAM 2 / SAM / MobileSAM / FastSAM)、YOLO-NAS、RT-DETR、YOLO-World 与 YOLOE。YOLOv4 仅作架构参考;YOLOv7 以导出后的 ONNX / TensorRT 模型运行。各模型的任务与模式见 Featured Models 对照表

YOLO 模型能完成哪些类型的任务?

目标检测、实例分割、语义分割、深度估计、图像分类、姿态估计以及旋转框检测(OBB)。其中最新的 YOLO26 支持全部七类任务外加开放词表检测。具体任务差异与适用场景,建议从 任务文档 出发,按检测、分割、语义、深度、分类、姿态与 OBB 各自的目标与典型应用来甄别选择。

登录后查看全文
热门项目推荐
相关项目推荐