YOLO Vision 2026:

YOLO12:以注意力为中心的物体检测#

概述#

于2025年初发布的 YOLO12 引入了一种以注意力为核心的架构,它打破了以往 YOLO 模型中使用的传统基于 CNN 的方法,同时保留了许多应用所必需的实时推理速度。该模型通过在注意力机制和整体网络架构方面的新方法创新,在保持实时性能的同时实现了很高的目标检测准确率。尽管有这些优势,YOLO12 仍然是一个由社区驱动的版本,由于其沉重的注意力模块,可能会表现出训练不稳定、内存消耗增加以及 CPU 吞吐量变慢的情况,因此 Ultralytics 建议在大多数生产工作负载中使用 YOLO11YOLO26

社区模型

YOLO12 的维护主要用于基准测试和研究。如果你需要稳定的训练、可预测的内存使用以及优化的 CPU 推理,请选择 YOLO11YOLO26 进行部署。



Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀

主要特性#

  • 区域注意力机制:一种能够高效处理大型感受野的新型自注意力方法。它将特征图水平或垂直划分为 l 个大小相等的区域(默认为4),避免了复杂的运算并维持了较大的有效感受野。与标准的自注意力相比,这显著降低了计算成本。
  • 残差高效层聚合网络 (R-ELAN):一种基于 ELAN 的改进型特征聚合模块,旨在解决优化挑战,特别是在更大规模的注意力中心模型中。R-ELAN 引入了:
    • 具有缩放功能的块级残差连接(类似于层缩放)。
    • 一种重新设计的特征聚合方法,创建了类似瓶颈的结构。
  • 优化后的注意力架构:YOLO12 精简了标准注意力机制,以提高效率并增强与 YOLO 框架的兼容性。这包括:
    • 使用 FlashAttention 以最小化内存访问开销。
    • 移除位置编码,使模型更简洁、更快速。
    • 调整 MLP 比率(从典型的 4 调整为 1.2 或 2),以更好地平衡注意力层和前馈层之间的计算。
    • 减少堆叠块的深度以改进优化。
    • 在适当的情况下利用卷积运算,以获得计算效率。
    • 在注意力机制中添加 7x7 可分离卷积(“位置感知器”),以隐式地编码位置信息。
  • 全面的任务支持:YOLO12 支持一系列核心计算机视觉任务:目标检测、实例分割图像分类、姿态估计和有向目标检测 (OBB)。
  • 更高的效率:与许多先前的模型相比,它在参数更少的情况下实现了更高的精度,展现了速度与精度之间更好的平衡。
  • 灵活的部署:专为跨多种平台部署而设计,从边缘设备到云基础设施均可运行。

YOLO12 comparison visualization

支持的任务和模式#

YOLO12 支持多种计算机视觉任务。下表显示了任务支持情况以及为每项任务启用的操作模式(推理、验证、训练和导出):

预训练权重可用性

只有检测权重(yolo12n.ptyolo12s.ptyolo12m.ptyolo12l.ptyolo12x.pt)发布在 ultralytics/assets 上。分割、分类、姿态和 OBB 架构定义在 ultralytics/cfg/models/12/ 中,因此这些变体支持从 .yaml 配置从头开始训练,但目前没有为它们提供预训练的 .pt 文件。对于预训练的分割、姿态、分类或 OBB 检查点,Ultralytics 推荐使用 YOLO11YOLO26

模型类型任务预训练权重训练验证推理导出
YOLO12Detection
YOLO12-segSegmentation
YOLO12-clsClassification
YOLO12-posePose
YOLO12-obbOBB

一旦有训练好的检查点,所有的 YOLO12 架构都支持每种模式。Pretrained Weights 列仅表示 Ultralytics 是否在 ultralytics/assets 上发布了官方预训练的 .pt:对于分割、姿态、分类和 OBB,你必须在运行推理、验证或导出之前,从相应的 .yaml 训练你自己的检查点。

性能指标#

YOLO12 在所有模型规模上都展示了显着的准确率提升,与最快的先前 YOLO 模型相比,速度上做了一些权衡。以下是 COCO 验证数据集上目标检测的定量结果:

检测性能 (COCO val2017)#

性能
模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT
(ms)
参数量
(M)
FLOPs
(B)
比较
(mAP/速度)
YOLO12n64040.6-1.642.67.6+2.1%/-9% (对比 YOLOv10n)
YOLO12s64048.0-2.619.323.7+0.1%/+42% (对比 RT-DETRv2)
YOLO12m64052.5-4.8620.271.3+1.0%/-3% (对比 YOLO11m)
YOLO12l64053.7-6.7726.496.3+0.4%/-8% (对比 YOLO11l)
YOLO12x64055.2-11.7959.1210.2+0.6%/-4% (对比 YOLO11x)
  • 在配备 TensorRT FP16 精度的 NVIDIA T4 GPU 上测得的推理速度。
  • 比较显示了 mAP 的相对提升和速度的百分比变化(正数表示更快;负数表示更慢)。比较是针对在可能的情况下 YOLOv10、YOLO11 和 RT-DETR 已发表的结果进行的。

使用示例#

本节提供使用 YOLO12 进行训练和推理的示例。有关这些模式和其他模式(包括验证导出)的更全面文档,请查阅专门的预测训练页面。

以下示例重点介绍 YOLO12 Detect 模型(用于目标检测)。对于其他支持的任务(分割、分类、姿态估计和有向目标检测),请参考各自的任务专用文档:SegmentClassifyPoseOBB

示例

可以将预训练的 *.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")

主要改进#

  1. 增强的特征提取

    • 区域注意力:高效处理大型感受野,降低计算成本。
    • 优化平衡:改进了注意力网络和前馈网络计算之间的平衡。
    • R-ELAN:使用 R-ELAN 架构增强特征聚合。
  2. 优化创新

    • 残差连接:引入带有缩放的残差连接以稳定训练,特别是在大型模型中。
    • 精细的特征集成:在 R-ELAN 中实现了一种改进的特征集成方法。
    • FlashAttention:加入 FlashAttention 以减少内存访问开销。
  3. 架构效率

    • 减少参数:与许多之前的模型相比,在保持或提高精度的同时实现了更低的参数量。
    • 精简注意力:使用简化的注意力实现,避免了位置编码。
    • 优化 MLP 比率:调整 MLP 比率以更有效地分配计算资源。

要求#

Ultralytics YOLO12 的实现默认不需要 FlashAttention。但是,FlashAttention 可以选择性地编译并与 YOLO12 一起使用。要编译 FlashAttention,需要以下 NVIDIA GPU 之一:

引用与致谢#

如果你在研究中使用了 YOLO12,请引用 University at BuffaloUniversity of Chinese Academy of Sciences 的原著:

引用
@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 上。

常见问题解答#

  • YOLO12 融合了多项关键创新,以平衡速度和准确率。区域注意力机制可高效处理大型感受野,与标准自注意力相比降低了计算成本。残差高效层聚合网络 (R-ELAN) 改善了特征聚合,解决了大型注意力中心模型中的优化挑战。优化的注意力架构(包括使用 FlashAttention 和移除位置编码)进一步提高了效率。这些特性使 YOLO12 能够在保持许多应用至关重要的实时推理速度的同时,实现最先进的准确率。

  • YOLO12 是一个多功能模型,支持广泛的核心计算机视觉任务。它在目标检测、实例分割、图像分类姿态估计和有向目标检测 (OBB)(查看详情)方面表现出色。这种全面的任务支持使 YOLO12 成为从机器人和自动驾驶到医学成像和工业检测等各种应用的强大工具。请注意,目前发布的预训练 .pt 权重仅用于检测;分割、姿态、分类和 OBB 架构作为 .yaml 配置文件提供,用于从头开始训练。

  • 与 YOLOv10 和 YOLO11 等先前的 YOLO 模型相比,YOLO12 在所有模型规模上都表现出显著的准确率提升,但与最快的先前模型相比,在速度上做了一些权衡。例如,在 COCO val2017 数据集上,YOLO12n 比 YOLOv10n 的 mAP 提升了 +2.1%,比 YOLO11n 提升了 +1.2%。与 RT-DETR 等模型相比,YOLO12s 的 mAP 提升了 +1.5%,速度大幅提升了 +42%。这些指标突显了 YOLO12 在准确率和效率之间取得的强大平衡。有关详细比较,请参阅性能指标部分

  • 默认情况下,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 的优势。

  • 本页提供用于训练和推理的基本使用示例。有关这些模式和其他模式(包括验证导出)的全面文档,请查阅专门的预测训练页面。有关特定任务的信息(分割、分类、姿态估计和有向目标检测),请参考各自的文档:SegmentClassifyPoseOBB。这些资源为在各种场景中有效利用 YOLO12 提供了深入的指导。

评论