首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >YOLOv12:以注意力为中心的实时目标检测器

YOLOv12:以注意力为中心的实时目标检测器

作者头像
AI浩
发布2025-02-26 13:49:35
发布2025-02-26 13:49:35
1.1K2
举报
文章被收录于专栏:AI智韵AI智韵

摘要

长期以来,改进YOLO框架的网络架构一直是研究重点,但主要集中在基于CNN的改进上,尽管注意力机制已被证明在建模能力上具有显著优势。这是因为基于注意力的模型在速度上无法与基于CNN的模型相媲美。本文提出了一种以注意力为核心的YOLO框架——YOLOv12,它在保持与先前基于CNN模型相当速度的同时,充分利用了注意力机制的性能优势。

YOLOv12在精度上超越了所有流行的实时目标检测器,同时保持了具有竞争力的速度。例如,YOLOv12-N在T4 GPU上以毫秒的推理延迟实现了 ,优于先进的YOLOv10-N/YOLOv11-N(分别提升/ ),且速度相当。这一优势扩展到其他模型规模。YOLOv12还超越了基于DETR改进的端到端实时检测器(如RT-DETR/RT-DETRv2):YOLOv12-S在速度加快、计算量仅需、参数量仅需的情况下,性能优于RT-DETR-R18/RT-DETRv2-R18。更多比较见图1。

1、引言

实时目标检测因其低延迟特性始终备受关注,具有重要的实用价值[4, 17, 24, 28]。其中,YOLO系列[3, 24, 28, 29, 32, 45-47, 53, 57, 58]通过有效平衡延迟与精度主导了该领域。尽管YOLO的改进集中在损失函数[8, 35, 43, 44, 48, 67, 68]、标签分配[22, 23, 34, 59, 69]等方面,网络架构设计仍是关键研究方向[24, 28, 32, 57, 58]。尽管以注意力为核心的视觉变换器(ViT)架构已被证明具有更强的建模能力(即使在小模型中[20, 21, 25, 50]),大多数架构设计仍主要聚焦于CNN。

这一现状的主要原因是注意力机制的效率不足,源于两个关键因素:二次计算复杂度注意力机制的低效内存访问操作(后者是FlashAttention[13, 14]解决的核心问题)。因此,在相似计算预算下,基于CNN的架构性能比基于注意力的架构高约[38],这严重限制了注意力机制在需要高推理速度的YOLO系统中的采用。

本文旨在解决这些挑战,并进一步构建以注意力为核心的YOLO框架——YOLOv12。我们提出了三项关键改进:

  1. 区域注意力模块(A²):通过简单划分特征图为垂直/水平区域,在保持大感受野的同时降低注意力计算复杂度,从而提升速度。
  2. 残差高效层聚合网络(R-ELAN):解决注意力引入的优化挑战(主要针对大规模模型)。R-ELAN在原始ELAN[57]基础上引入两项改进:(i) 采用缩放技术的块级残差设计;(ii) 重新设计的特征聚合方法。
  3. 架构改进:针对YOLO系统调整传统注意力架构,包括:引入FlashAttention以克服注意力内存访问问题;移除位置编码等设计以提升速度与简洁性;将MLP比例从调整为以平衡注意力与前馈网络的计算量;减少堆叠块深度以优化训练;尽可能利用卷积操作的计算效率。

基于上述设计,我们开发了包含5种规模(N/S/M/L/X)的新型实时检测器家族。遵循YOLOv11[28]的实验设置(未使用额外技巧),在标准目标检测基准上的大量实验表明,YOLOv12在延迟-精度和FLOPs-精度权衡上显著优于先前模型(如图1所示)。例如:

  • YOLOv12-N以 超越YOLOv10-N[53](提升 )且速度更快,同时以相当速度超越YOLOv11-N[28](提升YOLOv12-N以 超越YOLOv10-N[53](提升 )且速度更快,同时以相当速度超越YOLOv11-N[28](提升.2%\mathrm{mAP})。
  • 相比RT-DETR-R18[66]/RT-DETRv2-R18[40],YOLOv12-S在上分别提升/,延迟加快/,计算量仅需其,参数量仅需其。

综上,YOLOv12的贡献为:

  1. 通过方法论创新与架构改进,构建了以注意力为核心的简洁高效YOLO框架,打破了CNN模型在YOLO系列中的主导地位。
  2. 在不依赖预训练等额外技术的情况下,YOLOv12以快速推理速度与更高检测精度实现了SOTA结果,展现了其潜力。

2、相关工作

实时目标检测器

实时目标检测器因其显著实用价值始终备受关注。YOLO系列[3, 9, 24, 28, 29, 32, 45-47, 53, 54, 57, 58]已成为实时目标检测的领先框架。早期YOLO系统[45-47]从模型设计角度奠定了系列基础。YOLOv4[3]和YOLOv5[29]引入CSPNet[55]、数据增强和多尺度特征。YOLOv6[32]通过BiC和SimCSPSPPF模块进一步优化主干与颈部网络,并采用锚辅助训练。YOLOv7[57]提出EELAN[56](高效层聚合网络)以改善梯度流,并集成多种免费优化策略;YOLOv8[24]通过高效C2f模块增强特征提取。近期迭代中,YOLOv9[58]引入GELAN进行架构优化和PGI改进训练;YOLOv10[53]采用无NMS双标签分配训练提升效率;YOLOv11[28]通过C3K2模块(GELAN[58]的变体)和检测头中的轻量深度可分离卷积进一步降低延迟并提升精度。 近期,端到端检测方法RT-DETR[66]通过设计高效编码器和不确定性最小化查询选择机制,改进了传统端到端检测器[7, 33, 37, 42, 71]以满足实时需求。RT-DETRv2[40]进一步通过免费优化策略增强性能。与先前YOLO系列不同,本研究旨在构建以注意力为核心的YOLO框架,以利用注意力机制的优越性。

高效视觉变换器

降低全局自注意力的计算成本是有效应用视觉变换器于下游任务的关键。PVT[61]通过多分辨率阶段和下采样特征解决此问题。Swin Transformer[39]将自注意力限制在局部窗口内,并通过调整窗口划分方式连接非重叠窗口,平衡通信需求与内存和计算开销。其他方法如轴向自注意力[26]和十字交叉注意力[27]分别在水平和垂直窗口内计算注意力。CSWin Transformer[16]引入十字形窗口自注意力,沿水平和垂直条纹并行计算注意力。此外,局部-全局关系在[12, 64]等工作中建立,通过减少对全局自注意力的依赖提升效率。Fast-iTPN[50]通过令牌迁移和令牌聚集机制提升下游任务推理速度。部分方法[31, 49, 60, 62]使用线性注意力降低注意力复杂度。尽管基于Mamba的视觉模型[38, 70]旨在实现线性复杂度,但仍未达到实时速度[38]。FlashAttention[13, 14]通过I/O优化识别并解决高带宽内存瓶颈问题,减少内存访问以提升计算效率。 本研究摒弃复杂设计,提出简单区域注意力机制以降低注意力复杂度,并采用FlashAttention克服注意力固有的内存访问问题[13, 14]。

3. 方法

本章从网络架构与注意力机制的角度介绍YOLO框架的创新——YOLOv12

3.1 效率分析

尽管注意力机制在捕获全局依赖关系和促进自然语言处理[5,15]与计算机视觉[19,39]任务中表现出色,但其速度本质上仍慢于卷积神经网络(CNN)。速度差异主要由以下两个因素导致:

计算复杂度 首先,自注意力操作的计算复杂度随输入序列长度呈二次方增长。具体而言,对于长度为、特征维度为的输入序列,注意力矩阵的计算需要次操作,因为每个token需与其他所有token交互。相比之下,CNN中卷积操作的复杂度与空间或时间维度呈线性关系,即(其中为卷积核大小,通常远小于)。因此,自注意力在大规模输入(如高分辨率图像或长序列)中计算代价极高。

此外,大多数基于注意力的视觉变换器因复杂设计(如Swin Transformer[39]的窗口划分/反转)和额外模块(如位置编码)的引入,逐渐累积速度开销,导致整体速度落后于CNN架构[38]。本文采用简洁操作实现注意力模块,最大限度确保效率。

内存访问效率 其次,在注意力计算过程中,内存访问模式相比CNN更低效[13,14]。具体而言,自注意力计算中需将中间矩阵(如注意力矩阵和softmax矩阵)从高速GPU SRAM(实际计算位置)存储至高带宽GPU内存(HBM),并在后续计算中重新读取。由于前者的读写速度是后者的10倍以上,导致显著的内存访问开销和实际耗时增加。此外,注意力中不规则的内存访问模式相比CNN结构化、局部化的内存访问进一步引入延迟。CNN受益于空间受限的卷积核,通过固定感受野和滑动窗口操作实现高效内存缓存与低延迟。

综上,二次计算复杂度低效内存访问共同导致注意力机制在实时或资源受限场景中速度落后于CNN。解决这些限制已成为研究重点,稀疏注意力机制和内存高效近似(如Linformer[60]或Performer[11])等方法旨在缓解二次复杂度问题。


3.2 区域注意力(Area Attention)

降低原始注意力计算成本的一种简单方法是使用线性注意力机制[49,60],将复杂度从二次降至线性。对于维度为的视觉特征(为token数,为头数,为头维度),线性注意力将复杂度从降至(当时计算成本更低)。然而,线性注意力存在全局依赖退化[30]、不稳定[11]和分布敏感性[63]等问题,且在输入分辨率为的YOLO中仅提供有限速度优势[2,10]。

另一种有效降低复杂度的方法是局部注意力机制(如Shift窗口[39]、十字交叉注意力[27]和轴向注意力[16]),如图2所示。此类方法将全局注意力转为局部计算以降低开销,但窗口划分可能引入额外开销或缩小感受野,影响速度与精度。本文提出区域注意力模块:将分辨率的特征图划分为个大小为或的段(默认),仅需简单reshape操作即可实现,无需显式窗口划分。尽管感受野缩小至原始的,但仍保持较大范围。通过此方法,注意力计算成本从降至。实验表明,当固定为640时(输入分辨率增加时同步增加),该修改对性能影响轻微,但显著提升速度。


3.3 残差高效层聚合网络(R-ELAN)

高效层聚合网络(ELAN)[57]旨在优化特征聚合。如图3(b)所示,ELAN将过渡层(卷积)的输出切分,一部分通过多个模块处理,最后拼接所有输出并通过另一过渡层对齐维度。然而,ELAN架构可能导致梯度阻塞且缺乏输入到输出的残差连接,尤其在结合注意力机制时,L/X规模模型难以收敛或训练不稳定(即使使用Adam/AdamW优化器)。

为此,本文提出残差高效层聚合网络(R-ELAN),如图3(d)所示:

  1. 残差设计:在块内引入输入到输出的残差捷径,并设置缩放因子(默认),类似深度视觉变换器中的层缩放[52]。
  2. 特征聚合优化:将原始ELAN的“切分-处理-拼接”流程改为瓶颈结构:通过过渡层调整通道维度生成单一特征图,经后续模块处理后拼接。此方法保留特征整合能力的同时降低计算成本与参数量/内存占用。

YOLOv12 是一种以注意力机制为核心的实时目标检测框架,旨在突破传统 YOLO 系列中以卷积神经网络(CNN)为主的设计限制,同时兼顾高精度和低延迟。以下是 YOLOv12 的主要内容总结:

核心创新

  1. 注意力机制的引入
    • YOLOv12 采用了全新的 区域注意力模块(Area Attention),通过将特征图划分为简单的垂直或水平区域,减少了计算复杂度,同时保持了较大的感受野。
    • 引入了 FlashAttention 技术,优化了注意力机制的内存访问效率,显著提升了推理速度。
  2. 残差高效层聚合网络(R-ELAN)
    • 针对传统 ELAN 模块的梯度阻塞问题,YOLOv12 提出了 R-ELAN,通过引入残差连接和缩放因子,增强了特征聚合能力,特别是在大规模模型中显著提高了训练稳定性。
  3. 架构优化
    • 调整了注意力机制中的多层感知机(MLP)比例,从传统的 4.0 降至 1.2,以更好地分配计算资源。
    • 移除了位置编码(Positional Encoding),并引入了大核可分离卷积(7×7)作为位置感知模块,提升了模型的效率和性能。

性能表现

  1. 精度与速度的权衡
    • YOLOv12 在多个模型规模(N、S、M、L、X)上均实现了更高的平均精度(mAP)和更快的推理速度。
    • 例如,YOLOv12-N 在 T4 GPU 上以 1.64 毫秒的延迟实现了 40.6% 的 mAP,相比 YOLOv11-N 提升了 1.2% 的 mAP。
  2. 与主流方法的对比
    • 在 COCO 数据集上的实验表明,YOLOv12 在精度和延迟方面全面超越了 YOLOv10、YOLOv11 以及其他实时检测器(如 RT-DETR 和 RT-DETRv2)。
  3. 硬件适配性
    • YOLOv12 在多种硬件平台(如 RTX 3080、A5000、A6000)上均表现出色,推理速度显著优于 YOLOv9 和 YOLOv10。

实验与诊断

  1. 消融实验
    • 验证了区域注意力模块和 R-ELAN 的有效性,证明这些模块在提升性能的同时显著降低了计算成本。
    • 通过调整训练轮数、MLP 比例和卷积核大小等参数,进一步优化了模型性能。
  2. 可视化分析
    • 热力图对比显示,YOLOv12 在目标感知能力上优于 YOLOv10 和 YOLOv11,能够更清晰地捕捉图像中的目标轮廓和前景信息。

局限性

  • YOLOv12 依赖于 FlashAttention 技术,该技术仅支持特定的 GPU 硬件(如 Turing、Ampere、Ada Lovelace 和 Hopper 系列)。

结论

YOLOv12 成功将注意力机制引入 YOLO 框架,通过区域注意力、R-ELAN 和架构优化,实现了实时目标检测领域的最新性能标杆。这一研究不仅挑战了 CNN 在 YOLO 系列中的主导地位,还为注意力机制在实时检测中的应用提供了新的方向。 [1] https://65592f41-2d3a-49ed-965b-da17678025e0.file

3.4 架构改进

许多注意力视觉变换器采用平面式架构[1,18,19,21,25,51],而YOLOv12保留先前YOLO系统的分层设计[3,24,28,29,32,45-47,53,57,58],并证明其必要性。具体改进包括:

  1. 减少堆叠块:移除主干网络最后阶段堆叠的三个块,仅保留单个R-ELAN块,降低总块数并优化训练。
  2. 主干继承:沿用YOLOv11[28]前两阶段主干,未使用R-ELAN。
  3. 注意力机制调整
    • 将MLP比例从调整为(N/S/M规模模型为),以平衡计算资源分配。
    • nn.Conv2d + BN替代nn.Linear + LN,充分利用卷积效率。
    • 移除位置编码,引入大核分离卷积(,即位置感知器)辅助区域注意力感知位置信息。

这些改进的有效性将在第4.5节验证。


4. 实验

本章分为四部分:实验设置、与主流方法的系统对比、验证方法的消融实验,以及通过可视化分析深入探索YOLOv12。

4.1 实验设置

我们在MSCOCO 2017数据集[36]上验证所提方法。YOLOv12家族包含5种规模:N/S/M/L/X。所有模型均使用SGD优化器训练600 epoch,初始学习率为(与YOLOv11[28]一致),采用线性学习率衰减策略,前3 epoch进行线性预热。遵循[53,66]方法,所有模型的延迟均在T4 GPU上通过TensorRT FP16精度测试。

基线:选择YOLOv11[28]作为基线,模型缩放策略与其一致。沿用其提出的C3K2模块(GELAN[58]的变体),未使用额外技巧。


在这里插入图片描述

4.2 与SOTA方法对比

表1展示了YOLOv12与其他流行实时检测器的性能对比:

  • N规模模型:YOLOv12-N以 ms/图的延迟实现 ,在计算量与参数量相当甚至更少的情况下,mAP分别超越YOLOv6-3.0-N[32]、YOLOv8-N[58]、YOLOv10-N[53]和YOLOv11-N[28]达、、和。
  • S规模模型:YOLOv12-S以G FLOPs和M参数量实现 (延迟 ms/图),mAP分别超越YOLOv8-S[24]、YOLOv9-S[58]、YOLOv10-S[53]和YOLOv11-S[28]达、、和。相比端到端检测器RT-DETR-R18[66]/RT-DETRv2-R18[41],YOLOv12-S在速度、计算量与参数量上均显著占优。
  • M规模模型:YOLOv12-M以G FLOPs和M参数量实现 (延迟 ms/图),性能优于Gold-YOLO-M[54]、YOLOv8-M[24]、YOLOv9-M[58]、YOLOv10-M[53]、YOLOv11-M[28]及RT-DETR-R34[66]/RT-DETRv2-R34[40]。
  • L规模模型:YOLOv12-L以G更少FLOPs超越YOLOv10-L[53],并在FLOPs与参数量相当的情况下以 优势超越YOLOv11-L[28]。相比RT-DETR-R50[66]/RT-DETRv2-R50[41],速度更快且FLOPs减少、参数量减少。
  • X规模模型:YOLOv12-X以相当速度、FLOPs和参数量分别超越YOLOv10-X[53]/YOLOv11-X[28]达/ ,并显著优于RT-DETR-R101[66]/RT-DETRv2-R101[40](FLOPs减少,参数量减少)。

在这里插入图片描述

4.3 消融实验

  • R-ELAN(表2):
    • 对小模型(如YOLOv12-N),残差连接不影响收敛但会降低性能;对大模型(YOLOv12-L/X),残差连接对稳定训练至关重要(YOLOv12-X需最小缩放因子)。
    • 提出的特征聚合方法在保持性能的同时有效降低FLOPs与参数量(仅轻微下降)。
  • 区域注意力(表3):
    • 在GPU(RTX 3080/A5000)和CPU(Intel i7-10700K @ 3.80 GHz)上均显著加速。例如,RTX 3080 FP32下YOLOv12-N推理时间减少 ms。
    • 本实验未使用FlashAttention[13,14],以避免掩盖速度差异。

4.4 速度对比

在这里插入图片描述

表4展示了YOLOv9[58]、YOLOv10[53]、YOLOv11[28]与YOLOv12在RTX 3080/A5000/A6000上的FP32/FP16延迟对比:

  • YOLOv12推理速度显著快于YOLOv9,与YOLOv10/YOLOv11相当。例如,RTX 3080上YOLOv12-N FP16延迟为 ms,优于YOLOv9-N的 ms。
  • 图4左子图显示YOLOv12在精度-参数量权衡上建立优势边界;右子图展示CPU(Intel i7-10700K)上的延迟优势,凸显其跨硬件高效性。

在这里插入图片描述

4.5 诊断与可视化

通过表5a-5h对YOLOv12设计进行诊断(默认基于YOLOv12-N从头训练600 epoch):

  • 注意力实现(表5a):
    • 卷积实现速度优于线性实现(因卷积计算高效)。
    • 批归一化(BN)优于层归一化(LN),与PSA模块[53]设计一致。
  • 分层设计(表5b):
    • 平面式ViT架构导致性能骤降至 。
    • 省略第一阶段()或第四阶段()分别导致下降/。
    • 分层设计仍为最优,与先前YOLO模型一致。
  • 训练周期(表5c):
    • YOLOv12需约600 epoch达到峰值性能(其他YOLO约500 epoch)。
  • 位置感知器(表5d):
    • 大核分离卷积()可提升性能且不影响速度,核导致显著减速。
  • 位置编码(表5e):
    • 无位置编码(RPE/APE)时性能最佳,架构更简洁且延迟更低。
  • 区域注意力(表5f):
    • 结合FlashAttention时,区域注意力在提升性能的同时仅引入轻微延迟。
  • MLP比例(表5g):
    • 传统MLP比例调整为(N/S/M模型为)可优化计算分配,突显区域注意力重要性。
  • FlashAttention(表5h):
    • 为YOLOv12-N/S分别加速约 ms/ ms,无额外代价。

热力图可视化(图5): YOLOv12(X规模模型主干第三阶段)相比YOLOv10[53]/YOLOv11[28]生成更清晰的物体轮廓与精确前景激活,得益于区域注意力的大感受野对全局上下文的高效捕捉。


在这里插入图片描述

5、 结论

本研究提出了YOLOv12,首次在YOLO框架中成功引入传统认为难以满足实时需求的以注意力为核心的设计,实现了SOTA的延迟-精度权衡。为实现高效推理,我们提出:

  1. 区域注意力模块:通过降低计算复杂度提升效率;
  2. 残差高效层聚合网络(R-ELAN):优化特征聚合;
  3. 架构改进:调整传统注意力组件以适配YOLO实时需求。

通过结合上述创新,YOLOv12在精度与效率上均取得显著提升,系统性消融实验验证了各改进的有效性。本研究挑战了CNN设计在YOLO系统中的主导地位,推动了注意力机制在实时目标检测中的集成,为更高效强大的YOLO系统开辟了新路径。


6. 限制

YOLOv12依赖FlashAttention[13,14],目前仅支持以下GPU架构:

  • Turing(如T4、Quadro RTX系列、RTX20系列)
  • Ampere(如RTX30系列、A30/A40/A100)
  • Ada Lovelace(如RTX40系列)
  • Hopper(如H100)

7、 更多细节

在这里插入图片描述

微调细节
  • 优化设置:所有YOLOv12模型默认使用SGD优化器训练600 epoch,动量,权重衰减。
  • 学习率:初始值,线性衰减至。
  • 数据增强:采用Mosaic[3,57]、Mixup[71]、复制-粘贴增强[65],基于Albumentations库[6]实现。
  • 硬件:8×NVIDIA A6000 GPU训练。
  • 评估指标:报告不同物体尺度与IoU阈值下的标准及平均延迟。 完整超参数见表7,代码详见:https://github.com/sunsmarterjie/yolov12。

结果细节

表6展示了更详细的评估结果,包括:

  • (小目标)
  • (中目标)
  • (大目标)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI智韵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • 1、引言
  • 2、相关工作
  • 3. 方法
    • 3.1 效率分析
    • 3.2 区域注意力(Area Attention)
    • 3.3 残差高效层聚合网络(R-ELAN)
    • 核心创新
    • 性能表现
    • 实验与诊断
    • 局限性
    • 结论
    • 3.4 架构改进
  • 4. 实验
    • 4.1 实验设置
    • 4.2 与SOTA方法对比
    • 4.3 消融实验
    • 4.4 速度对比
    • 4.5 诊断与可视化
  • 5、 结论
  • 6. 限制
  • 7、 更多细节
    • 结果细节
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档