YOLO27 模型正在进行最后的研发,预计于今年晚些时候发布。这些模型尚未可用,也没有设定发布日期。 本页面预览即将推出的模型;功能和基准测试可能会在发布前有所更改。下文的代码示例旨在模型和包支持发布后使用,不适用于当前的公开包。模型权重、配置和实现代码目前暂不发布。
Ultralytics YOLO27#
概述#
Ultralytics YOLO27 是一个实时视觉模型系列,其检测模型采用两种互补的设计:针对紧凑型 N 和 S 模型流线型的 CNN 架构,以及针对较大 M 和 L 模型基于查询且无需 NMS 的架构。这两种设计都是端到端的,并通过相同的界面进行部署。
YOLO27 是 Ultralytics YOLO 系列中即将推出的模型系列,继承自 YOLO26。它提供四种尺寸——N、S、M 和 L——并支持目标检测、实例分割、语义分割、深度估计、图像分类、姿态估计和旋转目标检测。双设计拆分适用于检测;所有其他任务均使用 CNN 架构。
在其四个检测尺度中,YOLO27 在 NVIDIA RTX PRO 6000 上以 0.62-2.32 毫秒的延迟达到了 COCO 上 42.3-60.4 的 mAP,在使用更大的 800 像素输入的 YOLO27l 下甚至可达到 61.2 的 mAP。YOLO27l 是首个在 COCO 上超越 60 mAP 的 Ultralytics 模型,而紧凑型 YOLO27n/s 在保持几乎相同速度的同时,提升了 YOLO26n/s 的精度。
from ultralytics import YOLO
model = YOLO("yolo27n.pt") # load a pretrained YOLO27n model
results = model("path/to/bus.jpg") # run inference主要特性#
-
双尺度检测 标准检测器在三个特征图(精细、中等和粗略)上预测目标。YOLO27 N 和 S 删除了中等特征图,仅在精细图(用于小目标)和粗略图(用于大目标)上进行预测,通过对融合特征进行固定缩放来保持两个尺度的平衡。这去除了检测头的大部分计算量,使模型更快,同时训练时与完整的三尺度设计一样可靠。
-
更强的微小目标检测 早期的高分辨率特征阶段被加宽,以便捕获更多细粒度细节。结合保留的精细预测图,这改善了小目标的定位和回归,而小目标是紧凑模型中最困难的类别。
-
前景对齐监督 在训练期间,一个额外的轻量级分支学习在每个位置区分“目标”与“背景”。它旨在缩小训练期间使用的密集一对多监督与生成最终预测的一对一头之间的差距,将 YOLO26n/s 上 0.9/0.8 mAP 的精度差距缩小到 YOLO27n/s 上的仅 0.4 mAP,因此部署的一对一头保留了几乎所有的训练时间精度。该分支仅在训练期间使用,并在推理和导出时被移除,因此在部署时没有任何成本。
-
无需 NMS 的基于查询的检测 较大的模型将密集预测替换为Transformer解码器,该解码器细化了一组固定的目标查询并直接输出最终检测结果,无需任何非极大值抑制后处理。YOLO27m 将此解码器与经过验证的 YOLO26 风格卷积主干网络相匹配,而 YOLO27l 保留了相同的 FPN/PAN 颈部,并换入了在其最深阶段使用自注意力来捕获全局上下文的 UltraViT 主干网络。
-
一个简单的接口 两种架构都通过同一个
YOLOPython 接口使用。正确的训练、验证、预测和导出管道会根据模型自动选择,因此为一个 YOLO27 尺度编写的代码无需修改即可适用于其他尺度。
我应该使用哪个 YOLO27?#
以下指导适用于在 YOLO27 发布后选择模型。对于当前的项目,请使用 YOLO26。
- YOLO27n / YOLO27s — 边缘设备、无人机和实时视频:系列中速度最快的模型,通过双尺度设计改进了小目标检测。有关特定设备的部署,请参阅 NVIDIA Jetson 和 Raspberry Pi。
- YOLO27m — GPU 上精度与速度的最佳平衡点:在相同延迟下比 YOLO26m 提高 3.2 mAP,使其成为生产GPU 部署的默认选择。
- YOLO27l — 精度至关重要的应用:首个在 COCO 上超过 60 mAP 的 Ultralytics 模型,在更大的输入尺寸下达到 61.2 mAP,同时在 GPU 上保持实时运行。
要与其他系列进行比较,请参阅所有 Ultralytics 模型。要在您自己的硬件而不是我们的硬件上衡量精度与速度的权衡,请参阅基准测试模式。
支持的任务和模式#
下表预览了四个 YOLO27 模型尺度的计划任务和模式支持。勾选符号表示发布时的预期支持,而不是当前的公开可用性;所有列出的模型文件均未发布。
| 模型 | 文件名 | 任务 | 训练 | 验证 | 推理 | 导出 |
|---|---|---|---|---|---|---|
| YOLO27 | yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.pt | 检测 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-seg | yolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.pt | 实例分割 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-sem | yolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.pt | 语义分割 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-depth | yolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.pt | 深度估计 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-cls | yolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.pt | 分类 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-pose | yolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.pt | 姿态/关键点 | ✅ | ✅ | ✅ | ✅ |
| YOLO27-obb | yolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.pt | 定向检测 | ✅ | ✅ | ✅ | ✅ |
YOLO27 检测、分割、姿态和 OBB 模型也适用于跟踪模式,该模式在预测之上运行,用于跨视频帧的多目标跟踪。
YOLO27 检测在一个接口下使用两种设计:N 和 S 尺度使用流线型 CNN 架构,而 M 和 L 尺度使用基于查询且无需 NMS 的架构。所有其他任务均使用 CNN 架构。
性能指标#
检测精度在 COCO 验证集上报告。有关 mAP、精确度和召回率的解释,请参阅YOLO 性能指标。GPU 推理速度在 NVIDIA RTX PRO 6000(TensorRT 11,FP16)上测量,CPU 推理速度在 AMD EPYC 9655(ONNX Runtime,FP32)上测量。发布后,可以使用 yolo val model=yolo27n.pt data=coco.yaml 复现精度数据。
这些研究结果可能会在最终研发过程中发生变化。公开权重和复现说明将随发布一同提供。
有关在训练了 80 个预训练类别的 COCO 上训练的这些模型的使用示例,请参阅检测文档。该表使用 640 像素的输入;概述中还报告了 800 像素的 YOLO27l。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 RTX PRO 6000 TensorRT11 (ms) | 参数量 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO27n | 640 | 42.3 | 16.1 ± 1.6 | 0.62 ± 0.00 | 3.0 | 7.2 |
| YOLO27s | 640 | 49.6 | 33.2 ± 0.1 | 0.79 ± 0.00 | 11.8 | 28.2 |
| YOLO27m | 640 | 55.8 | 67.2 ± 0.3 | 1.39 ± 0.00 | 22.8 | 65.0 |
| YOLO27l | 640 | 60.4 | 149.6 ± 1.4 | 2.32 ± 0.00 | 72.3 | 165.3 |
参数量和浮点运算量(FLOPs)数值适用于经过卷积与批归一化(Conv/BatchNorm)折叠以及移除未使用的检测分支后的融合模型。速度测量选择带有 nms=False 的无 NMS 检测头。预训练检查点保留了完整的训练架构,可能会显示更高的数值。
使用示例#
这些示例展示了模型权重和包支持发布后的预期 YOLO27 API。它们无法使用当前的公开 ultralytics 包运行。
本节提供简单的 YOLO27 训练和推理示例。有关这些以及其他模式的完整文档,请参阅预测、训练、验证和导出文档页面。对于自定义数据集,请参阅获得最佳训练结果的技巧和超参数调优指南。
请注意,下面的示例适用于用于目标检测的 YOLO27 检测模型。有关其他支持的任务,请参阅分割和分类文档。
可以将 PyTorch 预训练的 *.pt 模型以及配置 *.yaml 文件传递给 YOLO() 类,以在 Python 中创建模型实例:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO27n model
model = YOLO("yolo27n.pt")
# Run inference with the YOLO27n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)目前仅提供此文档预览。YOLO27 模型权重、配置和实现代码尚未发布。模型可用时,发布说明将添加至此页面。
常见问题#
- 双尺度检测 (N/S):放弃中等预测图,获得一个速度更快且精度具有竞争力的检测头
- 更强的微小目标检测 (N/S):加宽的早期特征阶段改善了小目标定位
- 前景对齐监督 (N/S):将 YOLO26n/s 上 0.9/0.8 mAP 的一对多与一对一精度差距缩小到 YOLO27n/s 上的 0.4 mAP,推理成本为零
- 基于查询的无需 NMS 检测 (M/L):Transformer 解码器直接输出最终检测结果
- 一个简单的接口:两种架构都通过同一个
YOLO类运行
暂且不用——YOLO27 尚未发布。在当前项目中继续使用 YOLO26。初步结果显示各种模型尺寸的精度都有所提高,其中 YOLO27l 在 COCO 上超过了 60 mAP。在迁移之前,请针对你的工作负载评估最终发布的模型。
发布后,YOLO27 旨在与 YOLO26 使用相同的
YOLO类以及相同的 train/val/predict/export API——正确的管道(CNN 或基于查询)将根据模型自动选择。一旦 YOLO27 支持和权重可用,将yolo26n.pt替换为yolo27n.pt就是预期的模型选择更改。大多数检测器在不同分辨率的三个特征图上进行预测。YOLO27 N 和 S 保留了小目标依赖的精细图和大目标需要的高粗略图,并跳过了中等图。这去除了检测头的大部分计算量,并且上述训练改进使精度与延迟的权衡保持竞争力。
YOLO27l 是首个在 COCO 上超越 60 mAP 的 Ultralytics 模型,在 640 像素输入下达到 60.4 mAP(在 NVIDIA RTX PRO 6000 上为 2.3 毫秒),在 800 像素输入下达到 61.2 mAP(2.9 毫秒)。它结合了 UltraViT 主干网络、多尺度特征融合以及直接产生最终检测结果(无需 NMS)的基于查询的检测器。
YOLO27 正在进行最后的研发,预计于今年晚些时候发布。尚未设定发布日期。模型权重和实现代码尚不对外公开。