以注意力机制为核心的实时目标检测框架
Yunjie Tian · University at Buffalo
Qixiang Ye · University of Chinese Academy of Sciences
David Doermann · University at Buffalo
github.com/sunsmarterjie/yolov12
长期以来,改进 YOLO 框架的网络架构始终是核心课题,但相关研究始终聚焦于基于 CNN 的优化,尽管注意力机制已被证实具有更强的建模能力。这主要源于注意力模型无法匹敌 CNN 模型的速度优势。
注意力机制计算复杂度高、内存访问效率低,导致在相似计算预算下,CNN 架构速度优于注意力架构约 3 倍
提出以注意力机制为核心的 YOLO 框架 —— YOLOv12,在保持与先前 CNN 模型相当速度的同时,充分发挥注意力机制的性能优势
注意力机制在 YOLO 系统中应用受限的两大原因:
YOLOv12 在准确率上超越所有主流实时目标检测器,同时保持竞争力速度
YOLOv12-S 击败 RT-DETR-R18,速度快 42%,仅需 36% 计算量和 45% 参数量
提供 N/S/M/L/X 五种模型规模,覆盖从边缘设备到高性能服务器的全场景
将特征图沿垂直或水平方向等分为 l 个区域(默认 l=4),避免复杂操作的同时确保大感受野
图2:区域注意力与其他局部注意力机制对比
特征图分区方式:
将 (H, W) 特征图分为 l 个区域,每个区域大小为 (H/l, W) 或 (H, W/l)
ELAN 旨在改进特征聚合,但存在梯度阻塞和缺乏残差连接的问题。围绕注意力机制构建网络还带来额外的优化挑战。
引入从输入到输出的残差连接,带缩放因子(默认 0.01),类似层缩放技术
先通过过渡层调整通道维度产生单特征图,再经后续块和拼接形成瓶颈结构
引入 FlashAttention 克服注意力机制的内存访问问题,减少 HBM 读写,提升计算效率
将传统注意力中的 MLP 比例从 4 调整为 1.2(N/S/M 模型用 2),更好分配计算资源
采用 nn.Conv2d+BN 替代 nn.Linear+LN,充分利用卷积算子的计算效率
引入 7×7 大核可分离卷积(Position Perceiver)帮助区域注意力感知位置信息
移除传统位置编码设计,简化架构,实验表明无位置编码配置性能最佳
保留 YOLO 的层次化设计,移除最后阶段的三块堆叠,仅保留单个 R-ELAN 块
在 MS COCO 2017 数据集上,所有结果使用 640×640 输入
| Method | FLOPs (G) | #Param. (M) | APval50:95 (%) | Latency (ms) |
|---|---|---|---|---|
| YOLOv10-N | 6.7 | 2.3 | 38.5 | 1.84 |
| YOLO11-N | 6.5 | 2.6 | 39.4 | 1.50 |
| YOLOv12-N (Ours) | 6.5 | 2.6 | 40.6 | 1.64 |
| YOLOv10-S | 21.6 | 7.2 | 46.3 | 2.49 |
| YOLO11-S | 21.5 | 9.4 | 46.9 | 2.50 |
| YOLOv12-S (Ours) | 21.4 | 9.3 | 48.0 | 2.61 |
| YOLOv10-M | 59.1 | 15.4 | 51.1 | 4.74 |
| YOLO11-M | 68.0 | 20.1 | 51.5 | 4.70 |
| YOLOv12-M (Ours) | 67.5 | 20.2 | 52.5 | 4.86 |
| YOLO11-L | 86.9 | 25.3 | 53.3 | 6.20 |
| YOLOv12-L (Ours) | 88.9 | 26.4 | 53.7 | 6.77 |
| YOLO11-X | 194.9 | 56.9 | 54.6 | 11.30 |
| YOLOv12-X (Ours) | 199.0 | 59.1 | 55.2 | 11.79 |
| Model | Re-Aggre. | Resi. | Scaling | AP (%) |
|---|---|---|---|---|
| YOLOv12-N | ✗ | ✗ | – | 40.8 |
| YOLOv12-N | ✓ | ✗ | – | 40.6 |
| YOLOv12-N | ✓ | ✓ | 0.01 | 40.6 |
| YOLOv12-L | ✓ | ✓ | 0.1 | 53.3 |
| YOLOv12-L | ✓ | ✓ | 0.01 | 53.7 |
残差连接对大规模模型收敛至关重要,缩放因子 0.01 效果最佳
| Model | CUDA FP32 | CUDA FP16 | CPU |
|---|---|---|---|
| YOLOv12-N ✗ | 2.7/2.5 | 1.5/1.5 | 62.9 |
| YOLOv12-N ✓ | 2.0/2.0 | 1.3/1.3 | 31.4 |
| YOLOv12-S ✗ | 5.1/4.4 | 2.5/2.2 | 130.0 |
| YOLOv12-S ✓ | 3.5/3.1 | 1.7/1.7 | 78.4 |
区域注意力在 GPU 和 CPU 上均带来显著加速
基于 YOLOv12-N 模型,训练 600 epochs,逐一验证各设计选择的有效性
Conv+BN: 40.6% mAP, 1.64ms ✓
Linear+LN: 40.5% mAP, 1.68ms
Linear+BN: 39.5% mAP, 1.70ms
卷积+批归一化速度最快且精度最高
完整层次结构 (Ours): 40.6% ✓
Plain ViT (N/A): 38.3%
去掉第一阶段 (S₁): 40.1%
去掉第四阶段 (S₄): 39.8%
层次化设计对 YOLO 系统仍然最有效
3×3: 40.4%, 1.60ms
5×5: 40.4%, 1.61ms
7×7: 40.6%, 1.64ms ✓
9×9: 40.7%, 1.79ms
7×7 是精度与速度的最佳平衡点
RPE: 40.3%, 1.76ms
APE: 40.5%, 1.69ms
无位置编码: 40.6%, 1.64ms ✓
去除位置编码带来更简洁的架构和更快的推理
1.2: 53.8%, 6.77ms ✓
2.0: 53.6%, 6.75ms
4.0: 53.1%, 6.68ms
YOLOv12 中 MLP 比例 1.2 最佳,与传统 ViT 不同
不使用: 1.92ms (N), 3.02ms (S)
使用: 1.64ms (N), 2.61ms (S) ✓
FlashAttention 加速 N/S 模型约 0.3-0.4ms,零额外成本
从 X 尺度模型骨干第三层提取的热力图显示:
YOLOv12 在精度-参数量曲线上占据主导边界
超越 YOLOv10,以显著更少的参数实现更高精度
在 Intel Core i7-10700K 上,YOLOv12 超越所有竞争者
展示了跨多样化硬件平台的效率优势
YOLOv12 成功采用以注意力机制为核心的设计,在保持与先前 CNN 模型相当速度的同时,实现了注意力机制的性能优势
在所有主流实时检测器中取得最佳准确率,同时保持竞争力速度,多尺度模型覆盖全场景需求
需要 FlashAttention 支持的 GPU(Turing/Ampere/Ada Lovelace/Hopper)。未来可探索更高效的注意力变体和更轻量的架构设计
YOLOv12: Attention-Centric Real-Time Object Detectors
Yunjie Tian · Qixiang Ye · David Doermann
github.com/sunsmarterjie/yolov12