Ultralytics YOLO27:
Get Started

YOLO12:以注意力机制为核心的目标检测#

概述#

YOLO12 于 2025 年初发布,采用以注意力机制为核心的架构,与此前 YOLO 模型采用的传统 CNN 架构不同,同时保留了许多应用所必需的实时推理速度。该模型通过注意力机制和整体网络架构方面的新方法创新,实现了高精度目标检测,同时保持实时性能。尽管具备这些优势,YOLO12 仍是由社区驱动的版本,可能存在训练不稳定、内存占用较高,以及因注意力模块较重而导致 CPU 吞吐量较低等问题,因此 Ultralytics 建议大多数生产工作负载使用 YOLO11 或 YOLO26。

社区模型

YOLO12 主要用于基准测试和研究。如果你需要稳定的训练、可预测的内存用量和经过优化的 CPU 推理,请选择 YOLO11 或 YOLO26 进行部署。



观看: 如何使用 Ultralytics Package 中的 YOLO12 进行目标检测 | YOLO12 速度快还是慢?🚀

主要功能#

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

YOLO12 对比可视化图

支持的任务和模式#

YOLO12 支持多种计算机视觉任务。下表展示了各项任务的支持情况,以及对应启用的运行模式(推理、验证、训练和导出):

预训练权重可用性

ultralytics/assets 仅发布了检测权重(yolo12n.pt、yolo12s.pt、yolo12m.pt、yolo12l.pt、yolo12x.pt)。分割、分类、姿态和 OBB 架构定义在 ultralytics/cfg/models/12/ 中,因此这些变体支持使用 .yaml 配置从头开始训练,但目前没有可用的预训练 .pt 文件。对于预训练分割、姿态、分类或 OBB 检查点,Ultralytics 建议使用 YOLO11 或 YOLO26。

模型类型任务预训练权重训练验证推理导出
YOLO12检测✅✅✅✅✅
YOLO12-seg分割❌✅✅✅✅
YOLO12-cls分类❌✅✅✅✅
YOLO12-pose姿态❌✅✅✅✅
YOLO12-obbOBB❌✅✅✅✅

所有 YOLO12 架构在有可用的训练后检查点时均支持所有模式。Pretrained Weights 列仅表示 Ultralytics 是否在 ultralytics/assets 发布了官方预训练 .pt:对于分割、姿态、分类和 OBB,你必须先根据相应的 .yaml 训练自己的检查点,然后才能运行推理、验证或导出。

性能指标#

YOLO12 在所有模型规模上都显著提升了精度,但与此前速度最快的 YOLO 模型相比,速度有所取舍。以下是 COCO 验证数据集上的目标检测定量结果:

检测性能(COCO val2017)#

性能
模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT
(毫秒)
参数
(M)
FLOPs
(B)
对比
(mAP/速度)
YOLO12n64040.6-1.642.67.5+2.1%/-9%(相较 YOLOv10n)
YOLO12s64048.0-2.619.323.3+0.1%/+42%(相较 RT-DETRv2)
YOLO12m64052.5-4.8620.270.7+1.0%/-3%(相较 YOLO11m)
YOLO12l64053.7-6.7726.495.4+0.4%/-8%(相较 YOLO11l)
YOLO12x64055.2-11.7959.1208.9+0.6%/-4%(相较 YOLO11x)
  • 使用 TensorRT FP16 精度,在 NVIDIA T4 GPU 上测得的推理速度。
  • 对比结果显示了 mAP 的相对提升以及速度的变化百分比(正值表示更快,负值表示更慢)。在有可用数据的情况下,对比采用 YOLOv10、YOLO11 和 RT-DETR 已发布的结果。

使用示例#

本节提供使用 YOLO12 进行训练和推理的示例。如需了解这些模式及其他模式(包括验证和导出)的完整文档,请参阅专门的预测和训练页面。

以下示例侧重于 YOLO12 Detect 模型(用于目标检测)。有关其他支持的任务(分割、分类、姿态估计和有向目标检测),请参阅相应的任务专属文档:Segment、Classify、Pose 和 OBB。

示例

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

from ultralytics import YOLO

# 加载 COCO 预训练的 YOLO12n 模型
model = YOLO("yolo12n.pt")

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

# 使用 YOLO12n 模型对 'bus.jpg' 图像运行推理
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,请引用 布法罗大学和中国科学院大学的原始研究:

引用格式
@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 论文集,预印本可在 arXiv 查阅。

常见问题#

  • YOLO12 融合了多项关键创新,在速度与精度之间取得平衡。区域注意力机制能够高效处理较大的感受野,与标准自注意力相比可降低计算成本。残差高效层聚合网络(R-ELAN)改进了特征聚合,解决了更大型、以注意力为核心的模型面临的优化难题。优化后的注意力架构(包括采用 FlashAttention 并移除位置编码)进一步提升了效率。这些特性使 YOLO12 在保持许多应用所需实时推理速度的同时,达到最先进的精度。

  • YOLO12 是一款用途广泛的模型,支持多种核心计算机视觉任务。它擅长目标检测、实例分割、图像分类、姿态估计和旋转框目标检测(OBB)(查看详情)。如此全面的任务支持使 YOLO12 成为适用于多种应用的强大工具,从机器人和自动驾驶,到医学成像和工业检测。请注意,目前发布的预训练 .pt 权重仅用于检测;分割、姿态、分类和 OBB 架构则以 .yaml 配置文件的形式提供,可用于从头开始训练。

  • 与 YOLOv10 和 YOLO11 等早期 YOLO 模型相比,YOLO12 在所有模型规模上都显著提高了精度,但速度方面相比此前最快的模型有所取舍。例如,在 COCO val2017 数据集上,YOLO12n 的 mAP 比 YOLOv10n 高 2.1%,比 YOLO11n 高 1.2%。与 RT-DETR 等模型相比,YOLO12s 的 mAP 提高了 1.5%,速度提升了 42%。这些指标体现了 YOLO12 在精度和效率之间的出色平衡。详细对比请参阅性能指标部分。

  • 默认情况下,Ultralytics YOLO12 实现不需要 FlashAttention。不过,你可以选择编译并使用 FlashAttention,以尽量降低内存访问开销。要编译 FlashAttention,需要以下 NVIDIA GPU 之一:Turing GPU(例如 T4、Quadro RTX 系列)、Ampere GPU(例如 RTX30 系列、A30/40/100)、Ada Lovelace GPU(例如 RTX40 系列)或 Hopper GPU(例如 H100/H200)。这种灵活性让用户可以在硬件资源允许时利用 FlashAttention 的优势。

  • 本页面提供训练和推理的基本使用示例。如需了解这些模式及其他模式的完整文档,包括验证和导出,请查阅专门的预测和训练页面。有关特定任务(分割、分类、姿态估计和旋转框目标检测)的信息,请参阅相应文档:分割、分类、姿态和 OBB。这些资源提供了深入指导,帮助你在各种场景中有效使用 YOLO12。

评论