跳至内容

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

概述

YOLO12 引入了一种以注意力为中心的架构,它不同于以往YOLO 模型中使用的基于 CNN 的传统方法,但仍保持了许多应用所必需的实时推理速度。该模型通过对注意力机制和整体网络架构进行新颖的方法创新,实现了最先进的物体检测精度,同时保持了实时性能。



观看: 如何通过Ultralytics 软件包使用 YOLO12 进行对象检测 | YOLO12 速度是快还是慢?

主要功能

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

YOLO12 对比可视化

支持的任务和模式

YOLO12 支持多种计算机视觉任务。下表列出了任务支持和每种任务启用的运行模式(推理、验证、训练和输出):

型号 任务 推论 验证 培训 出口
YOLO12 检测
YOLO12-seg 细分
YOLO12-pose 姿势
YOLO12-cls 分类
YOLO12-obb OBB

性能指标

与之前最快的YOLO 模型相比,YOLO 在速度方面有所折衷,但在所有模型尺度上的精度都有显著提高。以下是 COCO 验证数据集上物体检测的定量结果:

检测性能(COCO Val2017)

性能

模型 尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT
(ms)
params
(M)
FLOPs
(B)
比较
(mAP/Speed)
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 T4GPU 上使用TensorRT FP16精度测量的推理速度。
  • 比较显示了 mAP 的相对改进和速度变化的百分比(正值表示速度更快;负值表示速度更慢)。与已公布的 YOLOv10、YOLO11 和RT-DETR 结果(如有)进行了比较。

使用示例

本节提供了使用 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")

还可使用命令行界面CLI) 命令:

# Load a COCO-pretrained YOLO12n model and train on the COCO8 example dataset for 100 epochs
yolo train model=yolo12n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLO12n model and run inference on the 'bus.jpg' image
yolo predict model=yolo12n.pt source=path/to/bus.jpg

主要改进

  1. 增强型特征提取

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

    • 残差连接:通过缩放引入残差连接,以稳定训练,尤其是在较大的模型中。
    • 改进的特征整合:在 R-ELAN 中执行改进的特征整合方法。
    • FlashAttention:采用 FlashAttention,减少内存访问开销。
  3. 建筑效率

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

要求

Ultralytics YOLO12 默认不需要FlashAttention。不过,FlashAttention 可以选择与 YOLO12 一起编译和使用。要编译 FlashAttention,需要以下NVIDIA ®)图形处理器之一:

引用和致谢

如果您在研究中使用了 YOLO12,请引用水牛城大学中国科学院大学的原作:

@article{tian2025yolov12,
  title={YOLOv12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  journal={arXiv preprint arXiv:2502.12524},
  year={2025}
}

@software{yolo12,
  author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
  title = {YOLOv12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

常见问题

YOLO12 如何在保持高精度的同时实现实时目标检测?

YOLO12 融合了几项关键创新,在速度和准确性之间取得了平衡。与标准的自我注意相比,区域注意机制能有效处理大型感受野,从而降低计算成本。剩余高效层聚合网络(R-ELAN)改进了特征聚合,解决了以注意力为中心的大型模型中的优化难题。优化注意力架构,包括使用 FlashAttention 和取消位置编码,进一步提高了效率。这些功能使 YOLO12 在保持对许多应用至关重要的实时推理速度的同时,实现了最先进的准确性。

YOLO12 支持哪些计算机视觉任务?

YOLO12 是一个多功能模型,支持广泛的计算机视觉核心任务。它在物体检测、实例分割、图像分类姿态估计和定向物体检测 (OBB) 方面表现出色(详见)。这种全面的任务支持使 YOLO12 成为从机器人和自动驾驶到医疗成像和工业检测等各种应用的强大工具。每项任务都可以在推理、验证、训练和输出模式下执行。

YOLO12 与其他YOLO 型号和RT-DETR 等竞争对手相比如何?

与之前的YOLO 模型(如 YOLOv10 和 YOLOv11)相比,YOLO12 在所有模型尺度上的精度都有显著提高,但与之前最快的模型相比,在速度上有所折衷。例如,在 COCO val2017 数据集上,YOLO12n 的 mAP 比 YOLOv10n 提高了 +2.1%,比 YOLOv11n 提高了 +1.2%。与 RT-DETR等模型相比,YOLO12s 的 mAP 提高了 +1.5%,速度大幅提高了 +42%。这些指标凸显了 YOLO12 在准确性和效率之间的良好平衡。详细比较请参见性能指标部分

运行 YOLO12(尤其是使用 FlashAttention)对硬件有什么要求?

默认情况下,Ultralytics YOLO12 的实现需要 FlashAttention。不过,可以选择编译 FlashAttention 并与 YOLO12 一起使用,以尽量减少内存访问开销。要编译 FlashAttention,需要以下NVIDIA ®)图形处理器之一:图灵 GPU(如 T4、Quadro RTX 系列)、Ampere GPU(如 RTX30 系列、A30/40/100)、Ada Lovelace GPU(如 RTX40 系列)或 Hopper GPU(如 H100/H200)。这种灵活性使用户能够在硬件资源允许的情况下充分利用 FlashAttention 的优势。

在哪里可以找到 YOLO12 的使用示例和更详细的文档?

本页提供了训练和推理的基本使用示例。有关这些模式和其他模式(包括验证导出)的全面文档,请查阅专门的预测训练页面。有关特定任务的信息(分割、分类、定向物体检测和姿态估计),请参阅相应的文档:分割分类OBB姿态。这些资源为在各种情况下有效使用 YOLO12 提供了深入指导。

📅创建于 23 天前 ✏️已更新 17 天前

评论