Link to this sectionYOLO12:以注意力为中心的物体检测#
Link to this section概述#
YOLO12 发布于 2025 年初,引入了以注意力为中心的架构。它摒弃了以往 YOLO 模型所采用的传统 CNN 方法,但保留了许多应用场景所必需的实时推理速度。该模型通过在注意力机制和整体网络架构上的创新方法,在保持实时性能的同时实现了高精度的物体检测。尽管具有这些优势,但 YOLO12 仍是一个社区驱动的版本,由于其沉重的注意力模块,可能会表现出训练不稳定、内存消耗较高以及 CPU 吞吐量较低等问题。因此,对于大多数生产工作负载,Ultralytics 建议使用 YOLO11 或 YOLO26。
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
Link to this section主要特性#
- 区域注意力机制 (Area Attention Mechanism):一种新的自注意力方法,可以高效地处理大感受野。它将 特征图 水平或垂直地划分为 l 个大小相等的区域(默认为 4),从而避免了复杂的运算并保持了较大的有效感受野。与标准自注意力相比,这显著降低了计算成本。
- 残差高效层聚合网络 (R-ELAN):一种基于 ELAN 的改进型特征聚合模块,旨在解决优化挑战,特别是在更大规模的注意力中心模型中。R-ELAN 引入了:
- 具有缩放功能的块级残差连接(类似于层缩放)。
- 一种重新设计的特征聚合方法,创建了类似瓶颈的结构。
- 优化后的注意力架构:YOLO12 精简了标准注意力机制,以提高效率并增强与 YOLO 框架的兼容性。这包括:
- 使用 FlashAttention 以最小化内存访问开销。
- 移除位置编码,使模型更简洁、更快速。
- 调整 MLP 比率(从典型的 4 调整为 1.2 或 2),以更好地平衡注意力层和前馈层之间的计算。
- 减少堆叠块的深度以改进优化。
- 在适当的情况下利用卷积运算,以获得计算效率。
- 在注意力机制中添加 7x7 可分离卷积(“位置感知器”),以隐式地编码位置信息。
- 全面的任务支持:YOLO12 支持多种核心计算机视觉任务:物体检测、实例分割、图像分类、姿态估计和旋转物体检测 (OBB)。
- 更高的效率:与许多先前的模型相比,它在参数更少的情况下实现了更高的精度,展现了速度与精度之间更好的平衡。
- 灵活的部署:专为跨多种平台部署而设计,从边缘设备到云基础设施均可运行。

Link to this section支持的任务和模式#
YOLO12 支持多种计算机视觉任务。下表显示了任务支持情况以及为每项任务启用的操作模式(推理、验证、训练和导出):
仅检测权重(yolo12n.pt、yolo12s.pt、yolo12m.pt、yolo12l.pt、yolo12x.pt)已发布在 ultralytics/assets 上。分割、分类、姿态和 OBB 架构定义在 ultralytics/cfg/models/12/ 中,因此这些变体支持从 .yaml 配置文件从头开始训练,但目前没有可用的预训练 .pt 文件。对于预训练的分割、姿态、分类或 OBB 检查点,Ultralytics 建议使用 YOLO11 或 YOLO26。
| 模型类型 | 任务 | 预训练权重 | 推理 | 验证 | 训练 | 导出 |
|---|---|---|---|---|---|---|
| YOLO12 | 检测 | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | 分割 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | 姿态 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | 分类 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | 旋转框 OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
All YOLO12 architectures support every mode once a trained checkpoint is available. The Pretrained Weights column indicates only whether Ultralytics publishes an official pretrained .pt on ultralytics/assets: for segmentation, pose, classification, and OBB, you must train your own checkpoint from the corresponding .yaml before running inference, validation, or export.
Link to this section性能指标#
YOLO12 在所有模型规模上都表现出显著的 精度 提升,与最快的先前 YOLO 模型相比,在速度上做出了一些权衡。以下是 COCO 验证数据集上 物体检测 的量化结果:
Link to this section检测性能 (COCO val2017)#
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT (ms) | 参数量 (M) | FLOPs (B) | 比较 (mAP/速度) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 6.5 | +2.1%/-9% (对比 YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +0.1%/+42% (对比 RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1.0%/-3% (对比 YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0.4%/-8% (对比 YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0.6%/-4% (对比 YOLO11x) |
- 推理速度是在 NVIDIA T4 GPU 上使用 TensorRT FP16 精度 测得的。
- 比较显示了 mAP 的相对提升和速度的百分比变化(正数表示更快;负数表示更慢)。比较是针对在可能的情况下 YOLOv10、YOLO11 和 RT-DETR 已发表的结果进行的。
Link to this section使用示例#
本节提供 YOLO12 训练和推理的示例。有关这些模式和其他模式(包括 验证 和 导出)的更全面文档,请查阅专门的 预测 和 训练 页面。
以下示例重点关注 YOLO12 检测 模型(用于物体检测)。对于其他支持的任务(分割、分类、旋转物体检测和姿态估计),请参考相应的任务特定文档:分割、分类、OBB 和 姿态。
可以将预训练的 *.pt 模型(使用 PyTorch)和配置文件 *.yaml 传递给 YOLO() 类,以在 Python 中创建模型实例:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.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 YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Link to this section主要改进#
-
增强的 特征提取:
- 区域注意力 (Area Attention):高效处理大 感受野,降低计算成本。
- 优化平衡:改进了注意力网络和前馈网络计算之间的平衡。
- R-ELAN:使用 R-ELAN 架构增强特征聚合。
-
优化创新:
- 残差连接:引入带有缩放的残差连接以稳定训练,特别是在大型模型中。
- 精细的特征集成:在 R-ELAN 中实现了一种改进的特征集成方法。
- FlashAttention:加入 FlashAttention 以减少内存访问开销。
-
架构效率:
- 减少参数:与许多之前的模型相比,在保持或提高精度的同时实现了更低的参数量。
- 精简注意力:使用简化的注意力实现,避免了位置编码。
- 优化 MLP 比率:调整 MLP 比率以更有效地分配计算资源。
Link to this section要求#
Ultralytics YOLO12 的实现默认不需要 FlashAttention。但是,FlashAttention 可以选择性地编译并与 YOLO12 一起使用。要编译 FlashAttention,需要以下 NVIDIA GPU 之一:
- Turing GPU(例如 T4、Quadro RTX 系列)
- Ampere GPU(例如 RTX30 系列、A30/40/100)
- Ada Lovelace GPU(例如 RTX40 系列)
- Hopper GPU(例如 H100/H200)
Link to this section引用与致谢#
如果你在研究中使用 YOLO12,请引用 布法罗大学 和 中国科学院大学 的原始工作:
@inproceedings{tian2025yolov12,
title={YOLOv12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
booktitle={Advances in Neural Information Processing Systems},
volume={38},
pages={78433--78457},
year={2025},
url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}
@software{yolo12,
author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
title = {YOLO12: Attention-Centric Real-Time Object Detectors},
year = {2025},
url = {https://github.com/sunsmarterjie/yolov12},
license = {AGPL-3.0}
}YOLO12 论文已在 NeurIPS 2025 proceedings 上发表,预印本可在 arXiv 上查阅。
Link to this section常见问题解答#
Link to this sectionYOLO12 如何在保持高精度的同时实现实时物体检测?#
YOLO12 结合了多项关键创新来平衡速度和精度。区域 注意力机制 高效处理大感受野,与标准自注意力相比降低了计算成本。残差高效层聚合网络 (R-ELAN) 改进了特征聚合,解决了大型注意力中心模型的优化挑战。优化后的注意力架构,包括使用 FlashAttention 和移除位置编码,进一步提高了效率。这些特性使 YOLO12 能够实现最先进的精度,同时保持许多应用所需的实时推理速度。
Link to this sectionYOLO12 支持哪些 计算机视觉 任务?#
YOLO12 是一款功能通用的模型,支持多种核心计算机视觉任务。它在物体 检测、实例 分割、图像 分类、姿态估计 和旋转物体检测 (OBB) (查看详情) 方面表现出色。这种全面的任务支持使 YOLO12 成为从 机器人 和自动驾驶到医学影像和工业检测等各种应用的强大工具。请注意,目前仅发布了用于检测的预训练 .pt 权重;分割、姿态、分类和 OBB 架构作为 .yaml 配置文件提供,用于从头开始训练。
Link to this sectionYOLO12 与其他 YOLO 模型及 RT-DETR 等竞争对手相比如何?#
与 YOLOv10 和 YOLO11 等之前的 YOLO 模型相比,YOLO12 在所有模型规模上都展现出了显著的精度提升,尽管与最快的先前模型相比在速度上有所权衡。例如,在 COCO val2017 数据集上,YOLO12n 比 YOLOv10n 的 mAP 提升了 +2.1%,比 YOLO11n 提升了 +1.2%。与 RT-DETR 等模型相比,YOLO12s 的 mAP 提升了 +1.5%,速度大幅提升了 +42%。这些指标突显了 YOLO12 在精度和效率之间取得了良好的平衡。有关详细比较,请参阅 性能指标部分。
Link to this section运行 YOLO12 的硬件要求是什么,特别是使用 FlashAttention 时?#
默认情况下,Ultralytics YOLO12 的实现不需要 FlashAttention。但是,FlashAttention 可以选择性地编译并与 YOLO12 一起使用,以最小化内存访问开销。要编译 FlashAttention,需要以下 NVIDIA GPU 之一:Turing GPU(例如 T4、Quadro RTX 系列)、Ampere GPU(例如 RTX30 系列、A30/40/100)、Ada Lovelace GPU(例如 RTX40 系列)或 Hopper GPU(例如 H100/H200)。这种灵活性允许用户在硬件资源允许的情况下利用 FlashAttention 的优势。
Link to this section我在哪里可以找到 YOLO12 的使用示例和更详细的文档?#
本页面提供了训练和推理的基本 使用示例。有关这些模式和其他模式(包括 验证 和 导出)的全面文档,请查阅专门的 预测 和 训练 页面。有关任务特定信息(分割、分类、旋转物体检测和姿态估计),请参考相应的文档:分割、分类、OBB 和 姿态。这些资源为在各种场景中有效利用 YOLO12 提供了深入指导。