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

1. 概述

实时目标检测已成为许多实际应用的关键,而 Ultralytics 的 YOLO(You Only Look Once)系列一直是最先进的模型系列,在速度和准确率之间实现了稳健的平衡。注意力机制的低效性阻碍了其在 YOLO 等高速系统中的应用。YOLOv12 旨在通过将注意力机制集成到 YOLO 框架中来改变这一现状。

由于注意力机制效率低下,且计算复杂度高达平方级,内存访问操作效率低下,因此大多数目标检测架构传统上依赖于卷积神经网络 (CNN)。因此,在 YOLO 框架中,基于 CNN 的模型通常比基于注意力的系统表现更好,因为高推理速度至关重要。

YOLOv12 试图通过以下三项关键改进来克服这些限制:

  • 区域注意模块(Area Attention Module)
  • 残差高效层聚合网络(Residual Efficient Layer Aggregation Networks,R-ELAN)
  • 架构改进

2. 模型架构

YOLOv12:以注意力为中心的物体检测_第1张图片

3. 改进点

3.1 区域注意模块(A2)

为了解决传统注意力机制相关的计算成本问题,YOLOv12 采用了局部注意力机制,例如移位窗口、交叉注意力和轴向注意力。虽然这些方法通过将全局注意力转化为局部注意力来降低复杂度,但由于感受野较小,它们在速度和准确性方面受到限制。

YOLOv12 引入了一个简单而高效的区域注意力模块。该模块将分辨率为 (H, W) 的特征图划分为 L 个大小分别为 (H/L, W) 或 (H, W/L) 的片段。它没有使用显式的窗口划分,而是采用了简单的 reshape 操作。

这个操作将感受野减小到原始大小的 1/4,但与其他局部注意力方法相比,仍然保持了更大的感受野。通过将计算成本从传统的 (2n²hd) 降低到 (n²hd)/2,模型在不牺牲准确率的情况下变得更加高效。

YOLOv12:以注意力为中心的物体检测_第2张图片

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

早期的 YOLO 模型中使用了高效层聚合网络 (ELAN)来改进特征聚合。ELAN 的工作原理如下:

  • 分割 1×1 卷积层的输出。
  • 通过多个模块处理这些分割。
  • 在应用另一个 1×1 卷积之前连接输出以对齐最终尺寸。

YOLOv12 利用 R-ELAN 来解决注意力机制带来的优化挑战。R-ELAN 在之前的 ELAN 架构上进行了改进,主要解决两个问题:

  • 训练不稳定性:在较大模型(YOLOv12-L/X)中,原始ELAN易出现梯度阻塞和优化困难。R-ELAN通过添加输入到输出的残差连接(跳跃连接)和层缩放技术(缩放因子0.01)稳定训练。
  • 特征聚合效率:重新设计特征聚合方法,创建类似瓶颈的结构。原始ELAN先将输入传递至过渡层再拆分处理;而R-ELAN先用过渡层调整通道维度生成单一特征图,处理后拼接形成瓶颈结构,降低计算成本。
    YOLOv12:以注意力为中心的物体检测_第3张图片

3.3 架构改进

Flash Attention: YOLO12 利用快速注意力(Flash Attention),最大限度地减少了内存访问开销。这解决了注意力机制的主要内存瓶颈,缩小了与 CNN 的速度差距。

MLP 比例调整:前馈网络扩展比例从 Transformers 中常见的 4 降低到 YOLO12 中的 1.2 左右。这可以防止 MLP 主导运行时间,从而提高整体效率。

移除位置编码: YOLO12 在其注意力层中省略了显式的位置编码。这使得模型“快速而干净”,并且检测性能没有任何损失。

减少堆叠块:最近的 YOLO 主干模型在最后阶段堆叠了三个注意力/CNN 块;而 YOLO12 在该阶段仅使用一个 R-ELAN 块。更少的连续块简化了优化并提高了推理速度,尤其是在更深层次的模型中。

卷积算子:该架构还使用具有批量范数的卷积而不是具有层范数的线性层,以充分利用卷积算子的效率。

你可能感兴趣的:(计算机视觉,深度学习,计算机视觉,目标检测,YOLOv12)