YOLO已經(jīng)悄悄來到v12,首個(gè)以Attention為核心的YOLO框架問世
本文由紐約州立大學(xué)布法羅分校的田運(yùn)杰,David Doermann和中國科學(xué)院大學(xué)的葉齊祥合作完成。田運(yùn)杰是布法羅大學(xué)博士后,David Doermann是布法羅大學(xué)教授、IEEE Fellow, 葉齊祥是中國科學(xué)院大學(xué)教授。三位作者長期從事計(jì)算機(jī)視覺、機(jī)器感知等方向的研究。
YOLO 系列模型的結(jié)構(gòu)創(chuàng)新一直圍繞 CNN 展開,而讓 transformer 具有統(tǒng)治優(yōu)勢(shì)的 attention 機(jī)制一直不是 YOLO 系列網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)的重點(diǎn)。這主要的原因是 attention 機(jī)制的速度無法滿足 YOLO 實(shí)時(shí)性的要求。本周三放出的 YOLOv12 著力改變這一現(xiàn)狀并取得具有優(yōu)勢(shì)的性能。
- 論文標(biāo)題:YOLOv12: Attention-Centric Real-Time Object Detectors
- 論文地址:https://arxiv.org/pdf/2502.12524
- 代碼地址:https://github.com/sunsmarterjie/yolov12
介紹
造成 attention(注意力機(jī)制)不能作為核心模塊用于 yolo 框架的主要原因在于其本身的低效性,這主要源于兩個(gè)因素:(1)attention 的計(jì)算復(fù)雜度呈二次增長;(2)attention 的內(nèi)存訪問操作低效(后者是 FlashAttention 主要解決的問題)。在相同的計(jì)算預(yù)算下,基于 CNN 的架構(gòu)比基于 attention 的架構(gòu)快約 2-3 倍,這極大限制了 attention 在 YOLO 系統(tǒng)中的應(yīng)用,由于 YOLO 體系高度依賴高推理速度。
首先,作者提出了一種簡單而高效的區(qū)域注意力模塊(area attention, A2),該模塊在保持大感受野的同時(shí),以最簡單直接的方式降低了 attention 的計(jì)算復(fù)雜度,從而提升了計(jì)算速度。
其次,作者引入了殘差高效層聚合網(wǎng)絡(luò)(R-ELAN),以解決 attention(主要是大規(guī)模模型)帶來的優(yōu)化難題。
R-ELAN 在原始的基礎(chǔ)上進(jìn)行了兩項(xiàng)改進(jìn):1)block 級(jí)殘差設(shè)計(jì),結(jié)合縮放技術(shù)以優(yōu)化梯度流動(dòng);2)重新設(shè)計(jì)的特征聚合方法,以提升模型的優(yōu)化效率。
最后,作者針對(duì) YOLO 體系對(duì) attention 進(jìn)行了一系列架構(gòu)改進(jìn),優(yōu)化了傳統(tǒng)的 attention 主導(dǎo)架構(gòu),包括:1)引入 FlashAttention 以解決注意力機(jī)制的顯存訪問問題;2)移除位置編碼等設(shè)計(jì),使模型更加高效簡潔;3)調(diào)整 MLP ratio(從 4 降至 1.2),以平衡注意力機(jī)制和前饋網(wǎng)絡(luò)的計(jì)算開銷,從而提升整體性能;4)減少堆疊塊的深度,以簡化優(yōu)化過程等。
Area Attention
首先介紹 area attention 機(jī)制,其目的在于降低傳統(tǒng) attention 的計(jì)算代價(jià),同時(shí)克服線性注意力和局部注意力在全局依賴性、穩(wěn)定性及感受野方面的局限性。為此,作者提出了一種簡單高效的區(qū)域注意力(A2)模塊。
不同于局部注意力的顯式窗口劃分,A2 采用最簡單的方式將特征圖劃分為縱向或橫向的區(qū)域(每個(gè)區(qū)域大小為或
,這僅需簡單的 reshape 操作,避免了額外的復(fù)雜計(jì)算帶來的開銷,從而提升計(jì)算效率。
在實(shí)驗(yàn)中,作者將默認(rèn)分割數(shù)設(shè)為 4,使感受野縮小至原來的
,仍能覆蓋足夠的信息范圍。在計(jì)算復(fù)雜度方面,A2 將注意力機(jī)制的計(jì)算量從
降低至
。盡管仍保持二次復(fù)雜度,但在 token 數(shù)量 n 不是特別大的情況下(如 YOLO:640x640),此優(yōu)化方案在實(shí)際應(yīng)用中仍足夠高效,滿足了實(shí)時(shí)推理的需求。最終,實(shí)驗(yàn)表明,A2 僅對(duì)性能產(chǎn)生輕微影響,但顯著提升了計(jì)算速度,為 YOLO 等對(duì)速度要求極高的任務(wù)提供了一種更優(yōu)的注意力機(jī)制替代方案。
R-ELAN
R-ELAN 的主要?jiǎng)訖C(jī)是優(yōu)化 ELAN 結(jié)構(gòu),以提升特征聚合效率并解決其帶來的優(yōu)化不穩(wěn)定性問題,尤其是在引入注意力機(jī)制后,參數(shù)量較大的模型(如 YOLOv12-L 和 YOLOv12-X)容易發(fā)生梯度阻塞或收斂困難。為此,作者提出了殘差高效層聚合網(wǎng)絡(luò)(R-ELAN)。
與原始 ELAN 不同,R-ELAN 在整個(gè) block 內(nèi)引入從輸入到輸出的殘差連接,并結(jié)合縮放因子(默認(rèn) 0.01),以穩(wěn)定訓(xùn)練并優(yōu)化梯度流動(dòng)。
此外,作者重新設(shè)計(jì)了特征聚合方式,使其采用瓶頸結(jié)構(gòu)(如上圖所示),通過調(diào)整通道維度并簡化計(jì)算流程,以減少計(jì)算成本和顯存占用,同時(shí)保持高效的特征融合能力。最終,R-ELAN 顯著提升了模型的優(yōu)化穩(wěn)定性和計(jì)算效率,使 YOLOv12 的大規(guī)模模型能夠更好地收斂,并在保證性能的同時(shí)提升推理速度。
結(jié)構(gòu)改進(jìn)
另外,作者還提出一些優(yōu)化技術(shù),使注意力機(jī)制更適應(yīng)實(shí)時(shí)目標(biāo)檢測(cè)任務(wù),同時(shí)降低計(jì)算開銷并提升優(yōu)化穩(wěn)定性。
首先,作者保留了 YOLO 主干網(wǎng)絡(luò)的分層設(shè)計(jì),不同于很多基于 attention 的架構(gòu)采用的平鋪結(jié)構(gòu)的視覺 Transformer。
此外,作者減少了主干網(wǎng)絡(luò)(Backbone)最后階段的堆疊的 block 數(shù)量,僅保留單個(gè) R-ELAN block,以減少計(jì)算量并優(yōu)化訓(xùn)練收斂性。主干網(wǎng)絡(luò)的前兩階段繼承自 YOLOv11,未使用 R-ELAN,以保持輕量級(jí)設(shè)計(jì)。
同時(shí),作者對(duì)基礎(chǔ)注意力機(jī)制進(jìn)行了一系列優(yōu)化,包括:調(diào)整 MLP ratio(從 4 降至 1.2 或 2)以更合理地分配計(jì)算資源,用 Conv2d+BN 替換 Linear+LN 以充分利用卷積算子的計(jì)算效率,移除位置編碼并引入 7x7 可分離卷積(Position Perceiver) 以幫助區(qū)域注意力感知位置信息。
最終,這些改進(jìn)提升了模型的優(yōu)化穩(wěn)定性和計(jì)算效率,使其更適用于 YOLO 系統(tǒng),同時(shí)保持具有競(jìng)爭(zhēng)力的性能。
實(shí)驗(yàn)結(jié)果
YOLOv12 在 COCO 上取得的效果如下表所示:
- N-scale 模型:YOLOv12-N 比 YOLOv6-3.0-N、YOLOv8-N、YOLOv10-N 和 YOLOv11-N 分別提升 3.6%、3.3%、2.1%、1.2%,同時(shí)計(jì)算量和參數(shù)規(guī)模相近或更少,推理速度達(dá)到具有競(jìng)爭(zhēng)力的 1.64 ms / 圖像。
- S-scale 模型:YOLOv12-S 在 21.4G FLOPs 和 9.3M 參數(shù)的情況下,實(shí)現(xiàn) 48.0% mAP,比 YOLOv8-S、YOLOv9-S、YOLOv10-S 和 YOLOv11-S 分別提升 3.0%、1.2%、1.7%、1.1%,計(jì)算量相近或更少,并且在推理速度、計(jì)算開銷和參數(shù)量方面明顯優(yōu)于 RT-DETR-R18 / RT-DETRv2-R18。
- M-scale 模型:YOLOv12-M 在 67.5G FLOPs 和 20.2M 參數(shù)的情況下,實(shí)現(xiàn) 52.5 mAP,推理速度 4.86 ms / 圖像,在各項(xiàng)指標(biāo)上均優(yōu)于 Gold-YOLO-M、YOLOv8-M、YOLOv9-M、YOLOv10-M、YOLOv11-M 以及 RT-DETR-R34 / RT-DETRv2-R34。
- L-scale 模型:YOLOv12-L 相較于 YOLOv10-L,減少了 31.4G FLOPs 的計(jì)算量,同時(shí) mAP 仍優(yōu)于 YOLOv11-L 達(dá) 0.4%,計(jì)算量和參數(shù)量相近。此外,YOLOv12-L 在推理速度、FLOPs(減少 34.6%)和參數(shù)量(減少 37.1%)方面均優(yōu)于 RT-DETR-R50 / RT-DETRv2-R50。
- X-scale 模型:YOLOv12-X 比 YOLOv10-X 和 YOLOv11-X 分別提升 0.8% 和 0.6%,計(jì)算量和參數(shù)量相近,推理速度基本持平。同時(shí),相比 RT-DETR-R101 / RT-DETRv2-R101,YOLOv12-X 計(jì)算量減少 23.4%,參數(shù)量減少 22.2%,且推理速度更快。
可視化分析
參數(shù)量 / CPU 速度 - 精度的 Trade-offs 比較:YOLOv12 在參數(shù)量和 CPU 推理速度方面上均實(shí)現(xiàn)了突破。如上圖所示,實(shí)驗(yàn)結(jié)果顯示,YOLOv12 在準(zhǔn)確率 - 參數(shù)量平衡方面優(yōu)于現(xiàn)有方法,甚至超越了參數(shù)量更少的 YOLOv10,證明了其高效性。此外,在 CPU(Intel Core i7-10700K @ 3.80GHz)上的推理速度測(cè)試中,YOLOv12 在不同 YOLO 版本中展現(xiàn)出最佳的計(jì)算效率。
YOLOv12 熱力圖分析:上圖展示了 YOLOv12 與當(dāng)前最先進(jìn)的 YOLOv10 和 YOLOv11 的熱力圖對(duì)比。這些熱力圖來自 X-scale 模型主干網(wǎng)絡(luò)的第三階段,顯示了模型激活的區(qū)域,從而反映其目標(biāo)感知能力。結(jié)果表明,相較于 YOLOv10 和 YOLOv11,YOLOv12 能夠生成更清晰的目標(biāo)輪廓和更精確的前景激活,說明其目標(biāo)感知能力得到了提升。這一改進(jìn)主要?dú)w因于區(qū)域注意力機(jī)制(Area Attention),該機(jī)制相比卷積網(wǎng)絡(luò)具有更大的感受野,因此在捕捉全局上下文信息方面更具優(yōu)勢(shì),從而實(shí)現(xiàn)了更精準(zhǔn)的前景激活。作者認(rèn)為,這一特性使 YOLOv12 在檢測(cè)性能上占據(jù)優(yōu)勢(shì)。
最后,我們期待 YOLO 社區(qū)能繼續(xù)提出更強(qiáng)大的檢測(cè)器,為實(shí)時(shí)目標(biāo)檢測(cè)任務(wù)提供更多選擇。