【跟我學YOLO】(1)YOLO12:以注意力為中心的物體檢測

歡迎關注『跟我學 YOLO』系列


【跟我學YOLO】(1)YOLO12:以注意力為中心的物體檢測]

    • 0. YOLOv12 簡介
      • 0.1 YOLO12 論文下載
      • 0.2 YOLO12 的主要改進
      • 0.3 YOLO12 支持的任務和性能
      • 0.4 論文摘要
    • 1. 背景介紹
    • 2. 相關的工作
    • 3. 方法
      • 3.1 效率分析
      • 3.2 區域注意力
      • 3.3 殘差高效層聚合網絡
      • 3.4 網絡架構改進
    • 4. 實驗
      • 4.1 實驗設置
      • 4.2 與 SOTA 方法的對比
      • 4.3 消融實驗
      • 4.4 速度對比
      • 4.5 診斷與可視化
    • 5. 結論
    • 6. 其它
      • 6.1 限制
      • 6.2 更多細節
      • 6.3 參考文獻
    • 7. 程序實現
      • 7.1 區域注意力的實現
      • 7.2 殘差高效層聚合網絡的實現
      • 7.3 YOLO12 網絡架構


0. YOLOv12 簡介

在這里插入圖片描述


0.1 YOLO12 論文下載

2025年2月19日,美國 Univ. Buffalo 和中國中科院大學 的 Tian Yunjie 等在 arxiv 發表論文 “YOLOv12:以注意力為中心的物體檢測(YOLOv12: Attention-Centric Real-Time Object Detectors)”。

YOLO12 引入了一種以注意力為中心的架構,它不同于以往YOLO 模型中使用的基于 CNN 的傳統方法,但仍保持了許多應用所必需的實時推理速度。該模型通過對注意力機制和整體網絡架構進行新穎的方法創新,實現了最先進的物體檢測精度,同時保持了實時性能。

YOLO12 支持一系列核心計算機視覺任務:物體檢測、實例分割、圖像分類、姿態估計和定向物體檢測 (OBB)。與 YOLO10、YOLO11 相比,YOLO12 效率更高,部署靈活。

論文下載:tian2025yolov12
官方文檔:ultralytics-YOLOv12
Github下載:Github-yolov12
引用格式:

Tian YJ, Ye QX, and Doermann David. arXiv preprint arXiv:2502.12524. YOLOv12: Attention-Centric Real-Time Object Detectors

在這里插入圖片描述

在這里插入圖片描述


0.2 YOLO12 的主要改進

  • 增強型特征提取:

    • 區域關注:有效處理大型感受野,降低計算成本。
    • 優化平衡:改進注意力與前饋網絡計算之間的平衡。
    • R-ELAN:利用R-ELAN 架構加強特征聚合。
  • 優化創新:

    • 殘差連接:通過縮放引入殘差連接,以穩定訓練,尤其是在較大的模型中。
    • 改進的特征整合:在 R-ELAN 中執行改進的特征整合方法。
    • FlashAttention:采用 FlashAttention,減少內存訪問開銷。
  • 架構效率:

    • 減少參數:與之前的許多型號相比,在保持或提高精度的同時,減少了參數數量。
    • 簡化注意力:使用簡化的注意力實現方式,避免位置編碼。
    • 優化 MLP 比率:調整 MLP 比例,以便更有效地分配計算資源。

0.3 YOLO12 支持的任務和性能

支持的任務和模式
YOLO12 支持多種計算機視覺任務。下表列出了任務支持和每種任務啟用的運行模式(推理、驗證、訓練和輸出):

在這里插入圖片描述

支持的任務和模式

與之前最快的YOLO 模型相比,YOLO 在速度方面有所折衷,但在所有模型尺度上的精度都有顯著提高。以下是 COCO 驗證數據集(COCO Val2017)上物體檢測的定量結果:

在這里插入圖片描述
說明:
在NVIDIA T4GPU 上使用TensorRT FP16精度測量的推理速度。
比較顯示了 mAP 的相對改進和速度變化的百分比(正值表示速度更快;負值表示速度更慢)。與已公布的 YOLOv10、YOLO11 和RT-DETR 結果(如有)進行了比較。


0.4 論文摘要

長期以來,YOLO框架的網絡架構增強一直至關重要。但是,盡管注意力機制在建模能力方面具有優勢,但之前的工作仍專注于基于CNN的改進。這是因為基于注意力的模型無法與基于CNN的模型在速度上匹敵。本文提出了一種以注意力為中心的 YOLO 框架,即 YOLOv12,它在保持與之前的基于CNN模型相當速度的同時,充分利用了注意力機制的性能優勢。

YOLOv12在準確性上超越了所有流行的實時目標檢測器,同時保持了有競爭力的速度。例如,YOLOv12-N 在T4 GPU上的推理延遲為1.64毫秒,達到了40.6%的mAP,比先進的 YOLOv10-N / YOLOv11-N 分別高出2.1%/1.2%的mAP,且速度相當。這一優勢也體現在其他規模的模型上。YOLOv12 還超越了改進 DETR 的端到端實時檢測器,如 RT-DETR / RTDETRv2:YOLOv12-S 僅使用了36%的計算量和45%的參數,但運行速度比 RT-DETR-R18 / RT-DETRv2-R18 快 42%。
更多比較如圖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]。

盡管以注意力為核心的視覺Transformer(ViT)架構已被證明具有更強的建模能力(即使在小模型中[20, 21, 25, 50]),大多數架構設計仍主要聚焦于CNN。這一現狀的根源在于注意力機制的效率問題,主要體現在二次計算復雜度和注意力機制的低效內存訪問操作(后者是FlashAttention[13, 14]解決的主要問題)。因此,在同等計算資源下,基于CNN的架構性能比基于注意力的架構高約3倍[38],這極大限制了注意力機制在需要高推理速度的YOLO系統中的采用。

本文旨在解決這些挑戰,構建以注意力為核心的YOLO框架——YOLOv12。
我們提出了三項關鍵改進:

  1. 簡單高效的區域注意力模塊(A2):通過簡化方式降低注意力計算復雜度,同時保持大感受野以提升速度。

  2. 殘差高效層聚合網絡(R-ELAN):針對注意力引入的優化難題(主要在大規模模型中),在原始ELAN[57]基礎上改進:
    (1)采用縮放技術的塊級殘差設計;
    (2)重新設計的特征聚合方法。

  3. 超越傳統注意力的架構適配:包括引入FlashAttention解決內存訪問問題、移除位置編碼以簡化模型、將MLP比例從 4 調整至 1.2 以平衡注意力與前饋網絡的計算、減少堆疊塊深度以優化訓練、充分利用卷積算子提升計算效率。

基于上述設計,我們開發了包含 5種規模的實時檢測器家族:YOLOv12-N/S/M/L/X。

在YOLOv11[28] 的實驗設置下(未使用額外技巧),標準目標檢測基準測試表明,YOLOv12在所有規模下均實現了延遲-準確率與FLOPs-準確率權衡的顯著提升(見圖1)。

例如:
(1)YOLOv12-N以40.6% mAP超越YOLOv10-N[53](+2.1% mAP)且推理更快,相較YOLOv11-N[28]提升1.2% mAP(速度相當);
(2)YOLOv12-S對比RT-DETR-R18[66]/RT-DETRv2-R18[40],mAP提高1.5%/0.1%,推理速度加快42%/42%,計算量僅需36%/36%,參數量減少至45%/45%。

本文的貢獻:

  • 構建了以注意力為核心、簡潔高效的YOLO框架,通過方法創新與架構改進打破了CNN在YOLO系列中的主導地位;
  • 在不依賴預訓練等額外技術的情況下,YOLOv12以快速推理與更高檢測精度實現了SOTA,展現了其潛力。

2. 相關的工作

  1. 實時目標檢測器

實時目標檢測器因其重要的實用價值一直備受學術界關注。YOLO系列[3, 9, 24, 28, 29, 32, 45–47, 53, 54, 57, 58]已成為實時目標檢測領域的領先框架。早期的YOLO系統[45–47]從模型設計的角度奠定了YOLO系列的基礎。YOLOv4[3]和YOLOv5[29]在框架中引入了CSPNet[55]、數據增強和多尺度特征。YOLOv6[32]進一步通過BiC和SimCSPSPPF模塊改進了主干網絡和頸部結構,并采用錨點輔助訓練。YOLOv7[57]引入了E-ELAN[56](高效層聚合網絡)以改善梯度流,并采用了多種“免費技巧”(bag-of-freebies)。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框架,以充分利用注意力機制的優越性。

  1. 高效視覺Transformer
    降低全局自注意力機制的計算成本對于在下游任務中有效應用視覺Transformer至關重要。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. 方法

本節從網絡架構與注意力機制的角度介紹 YOLOv12 框架的創新。


3.1 效率分析

注意力機制雖然在捕捉全局依賴關系和促進自然語言處理[5, 15]與計算機視覺[19, 39]等任務方面非常有效,但其本質上比卷積神經網絡(CNN)慢。導致這種速度差異的主要因素有兩個:

  1. 復雜度
    首先,自注意力操作的計算復雜度隨輸入序列長度 L L L 呈二次方增長。具體來說,對于長度為 L L L、特征維度為 d d d 的輸入序列,計算注意力矩陣需要 O ( L 2 d ) O(L^2 d) O(L2d)次操作,因為每個token都需要與其他所有 token 進行交互。相比之下,CNN 中卷積操作的復雜度在空間或時間維度上是線性的,即 O ( k L d ) O(kLd) O(kLd),其中 k k k 是卷積核大小,通常遠小于 L L L。因此,自注意力在計算上變得非常昂貴,尤其是對于高分辨率圖像或長序列等大規模輸入。
    此外,另一個重要因素是,大多數基于注意力的視覺 Transformer 由于其復雜設計(如Swin Transformer[39] 中的窗口劃分/反轉)和額外模塊的引入(如位置編碼),逐漸累積了速度開銷,導致整體速度比CNN 架構慢[38]。
    本文中的設計模塊采用簡單且干凈的操作來實現注意力,最大限度地確保效率。

  2. 計算
    其次,在注意力計算過程中,內存訪問模式相比 CNN 效率較低[13, 14]。具體來說,在自注意力計算期間,中間結果如注意力矩陣 Q K T QK^T QKT 和 softmax 矩陣 L × L L×L L×L 需要從高速GPU SRAM(實際計算位置)存儲到高帶寬GPU內存(HBM),并在后續計算中重新讀取。前者的讀寫速度是后者的 10倍以上,因此導致顯著的內存訪問開銷和實際運行時間增加——FlashAttention 解決了這個問題[13,14],將在模型設計中直接采用。此外,注意力中不規則的內存訪問模式進一步引入了延遲,而CNN則利用結構化和局部化的內存訪問模式。CNN得益于空間受限的卷積核,能夠實現高效的內存緩存,并因其固定的感受野和滑動窗口操作而減少延遲。

這兩個因素——二次計算復雜度和低效的內存訪問——共同導致注意力機制比 CNN更慢,尤其是在實時或資源受限的場景中。解決這些限制已成為一個關鍵研究領域,稀疏注意力機制和內存高效近似方法(如Linformer[60]或Performer[11])旨在緩解二次方增長問題。


3.2 區域注意力

在這里插入圖片描述

降低傳統注意力計算成本的一種簡單方法是使用線性注意力機制[49, 60],它將傳統注意力的復雜度從二次方降低到線性。對于一個維度為 ( n , h , d ) (n, h, d) (n,h,d) 的視覺特征 f f f(其中 n n n 是token數量, h h h 是注意力頭數量, d d d 是每個頭的大小),線性注意力將復雜度從 2 n 2 h d 2n^2hd 2n2hd 降低到 2 n h d 2 2nhd^2 2nhd2 ,從而減少計算成本(因為 n > d n > d n>d)。然而,線性注意力存在全局依賴退化[30]、不穩定性[11]和分布敏感性[63]等問題。此外,由于低秩瓶頸[2, 10],當應用于輸入分辨率為 640×640 的YOLO時,其速度優勢有限。

另一種有效降低復雜度的方法是局部注意力機制(如Shift window[39]、十字交叉注意力[27]和軸向注意力[16]),如圖2 所示,它將全局注意力轉化為局部注意力,從而降低計算成本。然而,將特征圖劃分為窗口可能會引入額外開銷或縮小感受野,影響速度和準確性。

在本研究中,我們提出了一種簡單而高效的區域注意力模塊。如圖2所示,分辨率為 ( H , W ) (H, W) (H,W) 的特征圖被劃分為 l l l 個大小為 ( H / l , W ) (H/l, W) (H/l,W) ( H , W / l ) (H, W/l) (H,W/l) 的片段。這種方法消除了顯式的窗口劃分,僅需簡單的 reshape 操作即可實現,從而獲得更快的速度。我們通過實驗將l的默認值設為 4,將感受野縮小到原來的 1/4,但仍保持了較大的感受野。

通過這種方法,注意力機制的計算成本從 2 n 2 h d 2n^2hd 2n2hd 降低到 ? n 2 h d ?n^22hd ?n2hd 。我們證明,盡管復雜度仍為 %n^2$,但當 n n n 固定為 640 時(如果輸入分辨率增加, n n n 也會增加),這種方法仍然足夠高效,能夠滿足 YOLO 系統的實時需求。有趣的是,我們發現這種修改對性能的影響很小,但顯著提高了速度。


3.3 殘差高效層聚合網絡

高效層聚合網絡(ELAN)[57]旨在改進特征聚合能力。如圖3(b)所示,ELAN將過渡層(1×1卷積)的輸出分割為兩部分,其中一部分通過多個模塊處理,然后將所有輸出拼接并通過另一個過渡層(1×1卷積)對齊維度。然而,正如[57]所分析的,這種架構可能引入不穩定性。我們認為,這種設計會導致梯度阻塞,并且缺乏從輸入到輸出的殘差連接。此外,由于我們圍繞注意力機制構建網絡,這進一步增加了優化挑戰。實驗表明,在使用Adam或AdamW優化器的情況下,L和X規模的模型要么無法收斂,要么仍然不穩定。

為了解決這一問題,我們提出了殘差高效層聚合網絡(R-ELAN),如圖3(d)所示。我們在整個模塊中引入了從輸入到輸出的殘差捷徑,并添加了一個縮放因子(默認值為0.01)。這種設計與層縮放[52]類似,后者用于構建深層視覺Transformer。然而,對每個區域注意力應用層縮放并不能解決優化挑戰,反而會引入延遲。這表明,注意力機制的引入并不是導致收斂問題的唯一原因,ELAN架構本身也存在問題,這驗證了我們R-ELAN設計的合理性。

我們還設計了一種新的聚合方法,如圖3(d)所示。原始ELAN層通過過渡層處理模塊的輸入,并將其分割為兩部分。其中一部分通過后續模塊進一步處理,最后將兩部分拼接生成輸出。相比之下,我們的設計通過過渡層調整通道維度并生成單一特征圖,然后通過后續模塊處理并進行拼接,形成瓶頸結構。這種方法不僅保留了原始的特征整合能力,還減少了計算成本和參數/內存使用量。

在這里插入圖片描述


3.4 網絡架構改進

本節將介紹整體架構以及對傳統注意力機制的一些改進。其中部分改進并非我們首次提出。

許多以注意力為核心的視覺Transformer采用平面式架構[1, 18, 19, 21, 25, 51],而我們保留了先前YOLO系統[3, 24, 28, 29, 32, 45–47, 53, 57, 58]的分層設計,并將證明這種設計的必要性。我們移除了主干網絡最后階段堆疊三個塊的設計(該設計出現在最近的版本[24, 28, 53, 58]中),僅保留一個R-ELAN塊,從而減少總塊數并有助于優化。我們從YOLOv11[28]繼承了主干網絡的前兩個階段,并未使用R-ELAN。

此外,我們對傳統注意力機制中的一些默認配置進行了修改,以更好地適配YOLO系統。這些修改包括:

  1. 將MLP比例從4調整為1.2(對于N/S/M規模的模型調整為2),以更好地分配計算資源,提升性能;
  2. 采用nn.Conv2d+BN替代nn.Linear+LN,以充分利用卷積算子的效率;
  3. 移除位置編碼,并引入大尺寸可分離卷積(7×7)(稱為位置感知器),以幫助區域注意力感知位置信息。

這些改進的有效性將在第4.5節中進行驗證。


4. 實驗

本節分為四個部分:實驗設置、與流行方法的系統對比、驗證我們方法的消融實驗,以及通過可視化分析進一步探索YOLOv12。


4.1 實驗設置

我們在 MSCOCO 2017 數據集[36]上驗證了所提出的方法。YOLOv12系列包括5個不同規模的版本:YOLOv12-N、YOLOv12-S、YOLOv12-M、YOLOv12-L和YOLOv12-X。所有模型均使用SGD優化器訓練600個epoch,初始學習率為0.01,與YOLOv11[28]保持一致。我們采用線性學習率衰減策略,并在前3個epoch進行線性熱身。根據[53, 66]的方法,所有模型的延遲均在T4 GPU上使用TensorRT FP16進行測試。

基線

我們選擇YOLOv11[28]作為基線,模型縮放策略也與其一致。我們使用了其提出的C3K2塊(即GELAN[58]的一種特例),并未使用YOLOv11[28]之外的任何技巧。


4.2 與 SOTA 方法的對比

我們在表1 中展示了YOLOv12與其他流行實時檢測器的性能對比。

  • YOLOv12-N:
    YOLOv12-N在mAP上分別比YOLOv6-3.0-N[32]、YOLOv8-N[58]、YOLOv10-N[53]和YOLOv11[28]高出3.6%、3.3%、2.1%和1.2%,同時保持相似甚至更少的計算量和參數,并實現了1.64 ms/圖像的快速推理速度。

  • YOLOv12-S:
    YOLOv12-S以21.4G FLOPs和9.3M參數實現了48.0 mAP,延遲為2.61 ms/圖像。它在mAP上分別比YOLOv8-S[24]、YOLOv9-S[58]、YOLOv10-S[53]和YOLOv11-S[28]高出3.0%、1.2%、1.7%和1.1%,同時保持相似或更少的計算量。與端到端檢測器RT-DETR-R18[66]/RT-DETRv2-R18[41]相比,YOLOv12-S在性能上具有競爭力,同時推理速度更快、計算成本和參數更少。

  • YOLOv12-M:
    YOLOv12-M以67.5G FLOPs和20.2M參數實現了52.5 mAP,推理速度為4.86 ms/圖像。相比Gold-YOLO-M[54]、YOLOv8-M[24]、YOLOv9-M[58]、YOLOv10[53]、YOLOv11[28]和RT-DETR-R34[66]/RT-DETRv2-R34[40],YOLOv12-S具有顯著優勢。

  • YOLOv12-L:
    YOLOv12-L甚至以31.4G更少的FLOPs超越了YOLOv10-L[53]。YOLOv12-L在mAP上比YOLOv11[28]高出0.4%,同時FLOPs和參數相當。YOLOv12-L還以更快的速度、更少的FLOPs(34.6%)和更少的參數(37.1%)超越了RT-DERT-R50[66]/RT-DERTv2-R50[41]。

  • YOLOv12-X:
    YOLOv12-X在mAP上分別比YOLOv10-X[53]和YOLOv11-X[28]高出0.8%和0.6%,同時速度、FLOPs和參數相當。YOLOv12-X再次以更快的速度、更少的FLOPs(23.4%)和更少的參數(22.2%)超越了RT-DETR-R101[66]/RT-DETRv2-R101[40]。

特別地,如果使用FP32精度評估L/X規模模型(需要將模型單獨保存為FP32格式),YOLOv12將實現約0.2%的mAP提升。這意味著 YOLOv12-L/X 將分別達到 33.9%/55.4% 的 mAP。

在這里插入圖片描述


4.3 消融實驗

R-ELAN

表2 評估了所提出的殘差高效層網絡(R-ELAN)在YOLOv12-N/L/X模型上的有效性。實驗結果揭示了兩個關鍵發現:

  • (1)對于小型模型(如YOLOv12-N),殘差連接不會影響收斂,但會降低性能。相反,對于大型模型(如YOLOv12-L/X),殘差連接對穩定訓練至關重要。特別是,YOLOv12-X需要一個極小的縮放因子(0.01)來確保收斂。
  • (2)所提出的特征整合方法有效降低了模型的FLOPs和參數復雜度,同時僅帶來微小的性能下降,保持了可比性能。

在這里插入圖片描述

區域注意力

我們進行了消融實驗以驗證區域注意力的有效性,結果如表3 所示。實驗在YOLOv12-N/S/X模型上進行,分別在GPU(CUDA)和CPU上測量推理速度。CUDA結果在RTX 3080和A5000上獲得,CPU性能在Intel Core i7-10700K@3.80GHz上測量。實驗結果表明,區域注意力顯著提升了速度。例如,在RTX 3080上使用FP32時,YOLOv12-N的推理時間減少了0.7毫秒。這種性能提升在不同模型和硬件配置中均保持一致。本實驗未使用FlashAttention[13, 14],因為其會顯著縮小速度差異。

在這里插入圖片描述


4.4 速度對比

表4 展示了在不同GPU上對YOLOv9[58]、YOLOv10[53]、YOLOv11[28]和我們的YOLOv12在RTX 3080、RTX A5000和RTX A6000上使用FP32和FP16精度的推理速度對比分析。為確保一致性,所有結果均在相同硬件上獲得,YOLOv9[58]和YOLOv10[53]使用ultralytics[28]的集成代碼庫進行評估。結果表明,YOLOv12的推理速度顯著高于YOLOv9[58],同時與YOLOv10[53]和YOLOv11[28]持平。例如,在RTX 3080上,YOLOv9的推理時間為2.4毫秒(FP32)和1.5毫秒(FP16),而YOLOv12-N的推理時間為1.7毫秒(FP32)和1.1毫秒(FP16)。類似趨勢在其他配置中也保持一致。

圖4 展示了更多對比結果。左子圖展示了YOLOv12與流行方法的準確率-參數權衡對比,YOLOv12在邊界上顯著優于其他方法,甚至超越了以顯著更少參數為特點的YOLOv10,展示了YOLOv12的高效性。右子圖展示了YOLOv12與之前YOLO版本在CPU上的推理延遲對比(所有結果均在Intel Core i7-10700K@3.80GHz上測量)。如圖所示,YOLOv12以更優的邊界超越了其他競爭對手,凸顯了其在多種硬件平臺上的高效性。

在這里插入圖片描述


4.5 診斷與可視化

我們在表5a至5h中對YOLOv12的設計進行了診斷分析。除非另有說明,這些診斷均在YOLOv12-N上進行,默認訓練設置為600個epoch從頭訓練。

在這里插入圖片描述

  1. 注意力實現方式:表5a。
    我們研究了兩種實現注意力的方法。基于卷積的方法比基于線性變換的方法更快,這得益于卷積的計算效率。此外,我們探索了兩種歸一化方法(層歸一化(LN)和批歸一化(BN)),發現盡管層歸一化在注意力機制中常用,但與卷積結合使用時,其性能不如批歸一化。值得注意的是,這一發現與PSA模塊[53]的設計一致。

  2. 分層設計:表5b。
    與其他檢測系統(如Mask R-CNN[1, 25])不同,平面視覺Transformer架構在這些系統中可以取得強勁性能,而YOLOv12表現出不同的行為。當使用平面視覺Transformer(N/A)時,檢測器性能顯著下降,僅達到38.3% mAP。更溫和的調整(如省略第一階段(S1)或第四階段(S4))在保持相似FLOPs的情況下,分別導致0.5%和0.8%的mAP下降。與之前的YOLO模型一致,分層設計仍然是最有效的,在YOLOv12中實現了最佳性能。

  3. 訓練epoch數:表5c。
    我們研究了不同訓練epoch數對性能的影響(從頭訓練)。盡管一些現有的YOLO檢測器在大約500個訓練epoch后即可達到最佳結果[24, 53, 58],但YOLOv12需要更長的訓練周期(約600個epoch)才能達到峰值性能,同時保持與YOLOv11[28]相同的配置。

  4. 位置感知器:表5d。
    在注意力機制中,我們對注意力值v應用了大卷積核的可分離卷積,并將其輸出與v@attn相加。我們將這一組件稱為位置感知器,因為卷積的平滑效果保留了圖像像素的原始位置,從而幫助注意力機制感知位置信息(這一方法已在PSA模塊[53]中使用,但我們擴大了卷積核,在不影響速度的情況下實現了性能提升)。如表所示,增加卷積核大小會提升性能,但會逐漸降低速度。當卷積核大小達到9×9時,速度下降顯著。因此,我們將7×7設為默認卷積核大小。

  5. 位置編碼:表5e。
    我們研究了大多數基于注意力的模型中常用的位置編碼(RPE:相對位置編碼;APE:絕對位置編碼)對性能的影響。有趣的是,不使用任何位置編碼的配置表現最佳,這帶來了更簡潔的架構和更快的推理延遲。

  6. 區域注意力:表5f。
    在本表中,我們默認使用FlashAttention技術。這使得盡管區域注意力機制增加了計算復雜度(帶來性能提升),但速度下降仍然很小。關于區域注意力有效性的進一步驗證,請參見表3。

  7. MLP比例:表5g。
    在傳統視覺Transformer中,注意力模塊內的MLP比例通常設置為4.0。然而,我們在YOLOv12中觀察到了不同的行為。表中顯示,調整MLP比例會影響模型大小,因此我們調整特征維度以保持整體模型一致性。特別是,YOLOv12在MLP比例為1.2時表現更好,這與傳統做法不同。這一調整將更多計算負載轉移到注意力機制上,凸顯了區域注意力的重要性。

  8. FlashAttention:表5h。
    本表驗證了FlashAttention在YOLOv12中的作用。結果表明,FlashAttention在不增加其他成本的情況下,將YOLOv12-N加速約0.3毫秒,將YOLOv12-S加速約0.4毫秒。

可視化:熱圖對比。圖5比較了YOLOv12與最先進的YOLOv10[53]和YOLOv11[28]的熱圖。這些熱圖從X尺度模型骨干網絡的第三階段提取,突出了模型激活的區域,反映了其目標感知能力。如圖所示,與YOLOv10和YOLOv11相比,YOLOv12產生了更清晰的目標輪廓和更精確的前景激活,表明感知能力有所提升。我們的解釋是,這種改進來自于區域注意力機制,其感受野比卷積網絡更大,因此被認為更擅長捕捉整體上下文,從而實現更精確的前景激活。我們相信,這一特性為YOLOv12帶來了性能優勢。

圖5 比較了YOLOv12與當前最先進的YOLOv10[53]和YOLOv11[28]的熱圖。這些熱圖從X規模模型的主干網絡第三階段提取,展示了模型激活的區域,反映了其目標感知能力。如圖所示,與YOLOv10和YOLOv11相比,YOLOv12生成了更清晰的目標輪廓和更精確的前景激活,表明其感知能力有所提升。我們的解釋是,這種改進源于區域注意力機制,其感受野比卷積網絡更大,因此被認為更擅長捕捉整體上下文,從而實現了更精確的前景激活。我們相信,這一特性為YOLOv12帶來了性能優勢。

在這里插入圖片描述


5. 結論

本研究提出了YOLOv12,成功地將傳統上被認為不適合實時需求的以注意力為核心的設計引入YOLO框架,實現了SOTA的延遲-準確率權衡。為實現高效推理,我們提出了一種新穎的網絡架構,利用區域注意力降低計算復雜度,并通過**殘差高效層聚合網絡(R-ELAN)**增強特征聚合能力。此外,我們優化了傳統注意力機制的關鍵組件,以更好地適配YOLO的實時性需求,同時保持高速性能。

通過有效結合區域注意力、R-ELAN和架構優化,YOLOv12在準確率和效率上均實現了顯著提升,達到了SOTA性能。全面的消融實驗進一步驗證了這些創新的有效性。本研究挑戰了基于CNN的設計在YOLO系統中的主導地位,推動了注意力機制在實時目標檢測中的集成,為構建更高效、更強大的YOLO系統鋪平了道路。

在這里插入圖片描述


6. 其它

6.1 限制

YOLOv12 需要依賴FlashAttention[13, 14],目前其支持的GPU包括Turing、Ampere、Ada Lovelace或Hopper架構(例如T4、Quadro RTX系列、RTX20系列、RTX30系列、RTX40系列、RTX A5000/6000、A30/40、A100、H100等)。


6.2 更多細節

微調細節
默認情況下,所有YOLOv12模型均使用SGD優化器訓練600個epoch。遵循先前工作[24, 53, 57, 58],SGD動量和權重衰減分別設置為0.937和5×10??。初始學習率設置為1×10?2,并在訓練過程中線性衰減至1×10??。數據增強方法包括Mosaic[3, 57]、Mixup[71]和復制粘貼增強[65],以提升訓練效果。遵循YOLOv11[28],我們采用Albumentations庫[6]。詳細的超參數如表7所示。所有模型均在8×NVIDIA A6000 GPU上訓練。遵循慣例[24, 28, 53, 58],我們報告了不同目標尺度和IoU閾值下的標準平均精度(mAP)。此外,我們還報告了所有圖像的平均延遲。

更多細節請參考官方代碼庫:https://github.com/sunsmarterjie/yolov12。

結果細節
我們在表6中提供了更多結果的詳細信息,包括 A P 50 : 95 v a l AP^{val}_{50:95} AP50:95val? A P 50 v a l AP^{val}_{50} AP50val? A P 75 v a l AP^{val}_{75} AP75val? A P s m a l l v a l AP^{val}_{small} APsmallval? A P m e d i u m v a l AP^{val}_{medium} APmediumval? A P l a r g e v a l AP^{val}_{large} APlargeval?

在這里插入圖片描述


6.3 參考文獻

[1] Hangbo Bao, Li Dong, Songhao Piao, and Furu Wei. Beit: Bert pre-training of image transformers. arXiv preprint
arXiv:2106.08254, 2021. 6, 9
[2] Srinadh Bhojanapalli, Chulhee Yun, Ankit Singh Rawat, Sashank Reddi, and Sanjiv Kumar. Low-rank bottleneck in
multi-head attention models. In International conference on machine learning, pages 864–873. PMLR, 2020. 4
[3] Alexey Bochkovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao. Yolov4: Optimal speed and accuracy of
object detection. arXiv preprint arXiv:2004.10934, 2020. 1, 2, 6, 11
[4] Daniel Bogdoll, Maximilian Nitsche, and J Marius Z¨ollner. Anomaly detection in autonomous driving: A survey. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 4488–4499, 2022. 1
[5] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan,
Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. Advances in neural information
processing systems, 33:1877–1901, 2020. 3
[6] Alexander Buslaev, Vladimir I Iglovikov, Eugene Khvedchenya, Alex Parinov, Mikhail Druzhinin, and Alexandr A
Kalinin. Albumentations: fast and flexible image augmentations. Information, 11(2):125, 2020. 11
[7] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-toend
object detection with transformers. In European conference on computer vision, pages 213–229. Springer, 2020. 2
[8] Kean Chen, Weiyao Lin, Jianguo Li, John See, Ji Wang, and Junni Zou. Ap-loss for accurate one-stage object detection.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 43(11):3782–3798, 2020. 1
[9] Yuming Chen, Xinbin Yuan, Ruiqi Wu, Jiabao Wang, Qibin Hou, and Ming-Ming Cheng. Yolo-ms: rethinking multiscale
representation learning for real-time object detection. arXiv preprint arXiv:2308.05480, 2023. 2
[10] Krzysztof Choromanski, Valerii Likhosherstov, David Dohan, Xingyou Song, Andreea Gane, Tamas Sarlos, Peter
Hawkins, Jared Davis, Afroz Mohiuddin, Lukasz Kaiser, et al. Rethinking attention with performers. arXiv preprint
arXiv:2009.14794, 2020. 4
[11] Krzysztof Choromanski, Valerii Likhosherstov, David Dohan, Xingyou Song, Andreea Gane, Tamas Sarlos, Peter
Hawkins, Jared Davis, Afroz Mohiuddin, Lukasz Kaiser, et al. Rethinking attention with performers. arXiv preprint
arXiv:2009.14794, 2020. 3, 4
[12] Xiangxiang Chu, Zhi Tian, Yuqing Wang, Bo Zhang, Haibing Ren, Xiaolin Wei, Huaxia Xia, and Chunhua Shen.
Twins: Revisiting the design of spatial attention in vision transformers. Advances in Neural Information Processing
Systems, 34:9355–9366, 2021. 3
[13] Tri Dao. Flashattention-2: Faster attention with better parallelism and work partitioning. arXiv preprint
arXiv:2307.08691, 2023. 2, 3, 7, 11
[14] Tri Dao, Dan Fu, Stefano Ermon, Atri Rudra, and Christopher R′e. Flashattention: Fast and memory-efficient exact attention with io-awareness. Advances in Neural Information Processing Systems, 35:16344–16359, 2022. 2, 3, 7, 11
[15] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers
for language understanding. In North American Chapter of the Association for Computational Linguistics:
Human Language Technologies, pages 4171–4186, 2019. 3
[16] Xiaoyi Dong, Jianmin Bao, Dongdong Chen, Weiming Zhang, Nenghai Yu, Lu Yuan, Dong Chen, and Baining
Guo. Cswin transformer: A general vision transformer backbone with cross-shaped windows. In Proceedings of
the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12124–12134, 2022. 2, 4
[17] Douglas Henke Dos Reis, Daniel Welfer, Marco Antonio De Souza Leite Cuadros, and Daniel Fernando Tello
Gamarra. Mobile robot navigation using an object recognition software with rgbd images and the yolo algorithm. Applied
Artificial Intelligence, 33(14):1290–1305, 2019.1
[18] Alexey Dosovitskiy. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint
arXiv:2010.11929, 2020. 6
[19] Yuxin Fang, Wen Wang, Binhui Xie, Quan Sun, Ledell Wu, Xinggang Wang, Tiejun Huang, Xinlong Wang, and Yue
Cao. Eva: Exploring the limits of masked visual representation learning at scale. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 19358–19369, 2023. 3, 6
[20] Yuxin Fang, Quan Sun, XinggangWang, Tiejun Huang, Xinlong Wang, and Yue Cao. Eva-02: A visual representation
for neon genesis. Image and Vision Computing, 149:105171, 2024. 1
[21] Yuxin Fang, Quan Sun, XinggangWang, Tiejun Huang, Xinlong Wang, and Yue Cao. Eva-02: A visual representation
for neon genesis. Image and Vision Computing, 149:105171, 2024. 1, 6
[22] Chengjian Feng, Yujie Zhong, Yu Gao, Matthew R Scott, and Weilin Huang. Tood: Task-aligned one-stage object detection.
In 2021 IEEE/CVF International Conference on Computer Vision (ICCV), pages 3490–3499. IEEE Computer Society,
2021. 1
[23] Zheng Ge, Songtao Liu, Zeming Li, Osamu Yoshie, and Jian Sun. Ota: Optimal transport assignment for object detection.
In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 303–312, 2021. 1
[24] Jocher Glenn. Yolov8.
https://github.com/ultralytics/ultralytics/tree/main, 2023. 1, 2, 5, 6, 9, 11
[25] Kaiming He, Xinlei Chen, Saining Xie, Yanghao Li, Piotr Doll′ar, and Ross Girshick. Masked autoencoders are scalable
vision learners. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 16000–
16009, 2022. 1, 6, 9
[26] Jonathan Ho, Nal Kalchbrenner, Dirk Weissenborn, and Tim Salimans. Axial attention in multidimensional transformers.
arXiv preprint arXiv:1912.12180, 2019. 2
[27] Zilong Huang, Xinggang Wang, Lichao Huang, Chang Huang, Yunchao Wei, and Wenyu Liu. Ccnet: Criss-cross
attention for semantic segmentation. In Proceedings of the IEEE/CVF international conference on computer vision,
pages 603–612, 2019. 2, 4
[28] Glenn Jocher. yolov11. https://github.com/ultralytics, 2024. 1, 2, 4, 5, 6, 7, 8, 9, 10, 11
[29] Glenn Jocher, K Nishimura, T Mineeva, and RJAM Vilari?no. yolov5. https://github.com/ultralytics/yolov5/tree, 2, 2020. 1, 2, 6
[30] Angelos Katharopoulos, Apoorv Vyas, Nikolaos Pappas, and Franc?ois Fleuret. Transformers are rnns: Fast autoregressive
transformers with linear attention. In International conference on machine learning, pages 5156–5165. PMLR, 2020.4
[31] Angelos Katharopoulos, Apoorv Vyas, Nikolaos Pappas, and Franc?ois Fleuret. Transformers are rnns: Fast autoregressive
transformers with linear attention. In International conference on machine learning, pages 5156–5165. PMLR, 2020.3
[32] Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang
Chu. Yolov6 v3. 0: A full-scale reloading. arXiv preprint arXiv:2301.05586, 2023. 1, 2, 5, 6
[33] Feng Li, Hao Zhang, Shilong Liu, Jian Guo, Lionel M Ni, and Lei Zhang. Dn-detr: Accelerate detr training by introducing
query denoising. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 13619–13627, 2022. 2
[34] Shuai Li, Chenhang He, Ruihuang Li, and Lei Zhang. A dual weighting label assignment scheme for object detection. In
Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9387–9396, 2022. 1
[35] Xiang Li, Wenhai Wang, Lijun Wu, Shuo Chen, Xiaolin Hu, Jun Li, Jinhui Tang, and Jian Yang. Generalized focal loss:
Learning qualified and distributed bounding boxes for dense object detection. Advances in Neural Information Processing
Systems, 33:21002–21012, 2020. 1
[36] Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Doll′ar, and C Lawrence
Zitnick. Microsoft coco: Common objects in context. In Computer Vision–ECCV 2014: 13th European Conference,
Zurich, Switzerland, September 6-12, 2014, Proceedings, Part V 13, pages 740–755. Springer, 2014. 6, 10
[37] Shilong Liu, Feng Li, Hao Zhang, Xiao Yang, Xianbiao Qi, Hang Su, Jun Zhu, and Lei Zhang. Dab-detr: Dynamic
anchor boxes are better queries for detr. arXiv preprint arXiv:2201.12329, 2022. 2
[38] Yue Liu, Yunjie Tian, Yuzhong Zhao, Hongtian Yu, Lingxi Xie, Yaowei Wang, Qixiang Ye, Jianbin Jiao, and Yunfan
Liu. Vmamba: Visual state space model. In The Thirtyeighth Annual Conference on Neural Information Processing
Systems, 2024. 2, 3
[39] Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, and Baining Guo. Swin transformer:
Hierarchical vision transformer using shifted windows. In Proceedings of the IEEE/CVF international conference on
computer vision, pages 10012–10022, 2021. 2, 3, 4
[40] Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu. Rt-detrv2: Improved baseline
with bag-of-freebies for real-time detection transformer. arXiv preprint arXiv:2407.17140, 2024. 2, 6
[41] Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu. Rt-detrv2: Improved baseline
with bag-of-freebies for real-time detection transformer. arXiv preprint arXiv:2407.17140, 2024. 5, 6
[42] Depu Meng, Xiaokang Chen, Zejia Fan, Gang Zeng, Houqiang Li, Yuhui Yuan, Lei Sun, and Jingdong Wang.
Conditional detr for fast training convergence. In Proceedings of the IEEE/CVF international conference on computer
vision, pages 3651–3660, 2021. 2
[43] Kemal Oksuz, Baris Can Cam, Emre Akbas, and Sinan Kalkan. A ranking-based, balanced loss function unifying
classification and localisation in object detection. Advances in Neural Information Processing Systems, 33:15534–15545,
2020. 1
[44] Kemal Oksuz, Baris Can Cam, Emre Akbas, and Sinan Kalkan. Rank & sort loss for object detection and instance
segmentation. In Proceedings of the IEEE/CVF international conference on computer vision, pages 3009–3018, 2021. 1
[45] J Redmon. You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer
vision and pattern recognition, 2016. 1, 2, 6
[46] Joseph Redmon. Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767, 2018.
[47] Joseph Redmon and Ali Farhadi. Yolo9000: better, faster, stronger. In Proceedings of the IEEE conference on computer
vision and pattern recognition, pages 7263–7271, 2017. 1, 2, 6
[48] Hamid Rezatofighi, Nathan Tsoi, JunYoung Gwak, Amir Sadeghian, Ian Reid, and Silvio Savarese. Generalized intersection
over union: A metric and a loss for bounding box regression. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 658–666, 2019. 1
[49] Zhuoran Shen, Mingyuan Zhang, Haiyu Zhao, Shuai Yi, and Hongsheng Li. Efficient attention: Attention with linear
complexities. In Proceedings of the IEEE/CVF winter conference on applications of computer vision, pages 3531–3539, 2021. 3, 4
[50] Yunjie Tian, Lingxi Xie, Jihao Qiu, Jianbin Jiao, Yaowei Wang, Qi Tian, and Qixiang Ye. Fast-itpn: Integrally pretrained
transformer pyramid network with token migration. IEEE Transactions on Pattern Analysis and Machine Intelligence,
2024. 1, 3
[51] Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, and Herv′e J′egou. Training
data-efficient image transformers & distillation through attention. In International conference on machine learning, pages 10347–10357. PMLR, 2021. 6
[52] Hugo Touvron, Matthieu Cord, Alexandre Sablayrolles, Gabriel Synnaeve, and Herv′e J′egou. Going deeper with image
transformers. In Proceedings of the IEEE/CVF international conference on computer vision, pages 32–42, 2021. 4
[53] Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, and Guiguang Ding. Yolov10: Real-time endto-
end object detection. arXiv preprint arXiv:2405.14458, 2024. 1, 2, 5, 6, 7, 8, 9, 10, 11
[54] Chengcheng Wang, Wei He, Ying Nie, Jianyuan Guo, Chuanjian Liu, Yunhe Wang, and Kai Han. Gold-yolo: Efficient
object detector via gather-and-distribute mechanism. Advances in Neural Information Processing Systems, 36, 2024. 2, 5, 6
[55] Chien-Yao Wang, Hong-Yuan Mark Liao, Yueh-Hua Wu, Ping-Yang Chen, Jun-Wei Hsieh, and I-Hau Yeh. Cspnet: A
new backbone that can enhance learning capability of cnn. In Proceedings of the IEEE/CVF conference on computer
vision and pattern recognition workshops, pages 390–391, 2020. 2, 4
[56] Chien-Yao Wang, Hong-Yuan Mark Liao, and I-Hau Yeh. Designing network design strategies through gradient path
analysis. arXiv preprint arXiv:2211.04800, 2022. 2, 4
[57] Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao. Yolov7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 7464–7475, 2023. 1, 2, 4, 6,11
[58] Chien-Yao Wang, I-Hau Yeh, and Hong-Yuan Mark Liao. Yolov9: Learning what you want to learn using programmable gradient information. arXiv preprint arXiv:2402.13616, 2024. 1, 2, 4, 5, 6, 7, 8, 9, 11
[59] Jianfeng Wang, Lin Song, Zeming Li, Hongbin Sun, Jian Sun, and Nanning Zheng. End-to-end object detection
with fully convolutional network. In Proceedings of the IEEE/CVF conference on computer vision and pattern
recognition, pages 15849–15858, 2021. 1
[60] Sinong Wang, Belinda Z Li, Madian Khabsa, Han Fang, and Hao Ma. Linformer: Self-attention with linear complexity.
arXiv preprint arXiv:2006.04768, 2020. 3, 4
[61] Wenhai Wang, Enze Xie, Xiang Li, Deng-Ping Fan, Kaitao Song, Ding Liang, Tong Lu, Ping Luo, and Ling Shao.
Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. In Proceedings of the
IEEE/CVF international conference on computer vision, pages 568–578, 2021. 2
[62] Enze Xie, Junsong Chen, Yuyang Zhao, Jincheng Yu, Ligeng Zhu, Yujun Lin, Zhekai Zhang, Muyang Li, Junyu Chen,
Han Cai, et al. Sana 1.5: Efficient scaling of training-time and inference-time compute in linear diffusion transformer.
arXiv preprint arXiv:2501.18427, 2025. 3
[63] Yunyang Xiong, Zhanpeng Zeng, Rudrasis Chakraborty, Mingxing Tan, Glenn Fung, Yin Li, and Vikas Singh.
Nystr¨omformer: A nystr¨om-based algorithm for approximating self-attention. In Proceedings of the AAAI Conference on
Artificial Intelligence, pages 14138–14148, 2021. 4
[64] Qihang Yu, Yingda Xia, Yutong Bai, Yongyi Lu, Alan L Yuille, and Wei Shen. Glance-and-gaze vision transformer.
Advances in Neural Information Processing Systems, 34: 12992–13003, 2021. 3
[65] Hongyi Zhang. mixup: Beyond empirical risk minimization. arXiv preprint arXiv:1710.09412, 2017. 11
[66] Yian Zhao, Wenyu Lv, Shangliang Xu, Jinman Wei, Guanzhong Wang, Qingqing Dang, Yi Liu, and Jie Chen.
Detrs beat yolos on real-time object detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and
Pattern Recognition, pages 16965–16974, 2024. 2, 5, 6
[67] Zhaohui Zheng, Ping Wang, Wei Liu, Jinze Li, Rongguang Ye, and Dongwei Ren. Distance-iou loss: Faster and better
learning for bounding box regression. In Proceedings of the AAAI conference on artificial intelligence, pages 12993–
13000, 2020. 1
[68] Dingfu Zhou, Jin Fang, Xibin Song, Chenye Guan, Junbo Yin, Yuchao Dai, and Ruigang Yang. Iou loss for 2d/3d object
detection. In 2019 international conference on 3D vision (3DV), pages 85–94. IEEE, 2019. 1
[69] Benjin Zhu, Jianfeng Wang, Zhengkai Jiang, Fuhang Zong, Songtao Liu, Zeming Li, and Jian Sun. Autoassign: Differentiable label assignment for dense object detection. arXiv preprint arXiv:2007.03496, 2020. 1
[70] Lianghui Zhu, Bencheng Liao, Qian Zhang, Xinlong Wang, Wenyu Liu, and Xinggang Wang. Vision mamba: Efficient
visual representation learning with bidirectional state space model. arXiv preprint arXiv:2401.09417, 2024. 3
[71] Xizhou Zhu, Weijie Su, Lewei Lu, Bin Li, Xiaogang Wang, and Jifeng Dai. Deformable detr: Deformable transformers
for end-to-end object detection. arXiv preprint arXiv:2010.04159, 2020. 2, 11


7. 程序實現

在這里插入圖片描述

7.1 區域注意力的實現

class AAttn(nn.Module):"""Area-attention module with the requirement of flash attention."""def __init__(self, dim, num_heads, area=1):"""Initializes the area-attention module, a simple yet efficient attention module for YOLO."""super().__init__()self.area = areaself.num_heads = num_headsself.head_dim = head_dim = dim // num_headsall_head_dim = head_dim * self.num_headsself.qkv = Conv(dim, all_head_dim * 3, 1, act=False)self.proj = Conv(all_head_dim, dim, 1, act=False)self.pe = Conv(all_head_dim, dim, 7, 1, 3, g=dim, act=False)def forward(self, x):"""Processes the input tensor 'x' through the area-attention"""B, C, H, W = x.shapeN = H * Wqkv = self.qkv(x).flatten(2).transpose(1, 2)if self.area > 1:qkv = qkv.reshape(B * self.area, N // self.area, C * 3)B, N, _ = qkv.shapeq, k, v = qkv.view(B, N, self.num_heads, self.head_dim * 3).split([self.head_dim, self.head_dim, self.head_dim], dim=3)if x.is_cuda and USE_FLASH_ATTN:x = flash_attn_func(q.contiguous().half(),k.contiguous().half(),v.contiguous().half()).to(q.dtype)elif x.is_cuda andnot USE_FLASH_ATTN:x = sdpa(q.permute(0, 2, 1, 3), k.permute(0, 2, 1, 3), v.permute(0, 2, 1, 3), attn_mask=None, dropout_p=0.0, is_causal=False)x = x.permute(0, 2, 1, 3)else:q = q.permute(0, 2, 3, 1)k = k.permute(0, 2, 3, 1)v = v.permute(0, 2, 3, 1)attn = (q.transpose(-2, -1) @ k) * (self.head_dim ** -0.5)max_attn = attn.max(dim=-1, keepdim=True).values exp_attn = torch.exp(attn - max_attn)attn = exp_attn / exp_attn.sum(dim=-1, keepdim=True)x = (v @ attn.transpose(-2, -1))x = x.permute(0, 3, 1, 2)v = v.permute(0, 3, 1, 2)if self.area > 1:x = x.reshape(B // self.area, N * self.area, C)v = v.reshape(B // self.area, N * self.area, C)B, N, _ = x.shapex = x.reshape(B, H, W, C).permute(0, 3, 1, 2)v = v.reshape(B, H, W, C).permute(0, 3, 1, 2)x = x + self.pe(v)x = self.proj(x)return x

7.2 殘差高效層聚合網絡的實現

class A2C2f(nn.Module):  """A2C2f module with residual enhanced feature extraction using ABlock blocks with area-attention. Also known as R-ELAN"""def __init__(self, c1, c2, n=1, a2=True, area=1, residual=False, mlp_ratio=2.0, e=0.5, g=1, shortcut=True):super().__init__()c_ = int(c2 * e)  # hidden channelsassert c_ % 32 == 0, "Dimension of ABlock be a multiple of 32."# num_heads = c_ // 64 if c_ // 64 >= 2 else c_ // 32num_heads = c_ // 32self.cv1 = Conv(c1, c_, 1, 1)self.cv2 = Conv((1 + n) * c_, c2, 1)  # optional act=FReLU(c2)init_values = 0.01# or smallerself.gamma = nn.Parameter(init_values * torch.ones((c2)), requires_grad=True) if a2 and residual elseNoneself.m = nn.ModuleList(nn.Sequential(*(ABlock(c_, num_heads, mlp_ratio, area) for _ in range(2))) if a2 else C3k(c_, c_, 2, shortcut, g) for _ in range(n))def forward(self, x):"""Forward pass through R-ELAN layer."""y = [self.cv1(x)]y.extend(m(y[-1]) for m in self.m)if self.gamma isnotNone:return x + self.gamma.view(1, -1, 1, 1) * self.cv2(torch.cat(y, 1))return self.cv2(torch.cat(y, 1))

7.3 YOLO12 網絡架構

# YOLO12n backbone
backbone:
# [from, repeats, module, args]
-[-1,1,Conv,[64,3,2]]# 0-P1/2
-[-1,1,Conv,[128,3,2]]# 1-P2/4
-[-1,2,C3k2,[256,False,0.25]]
-[-1,1,Conv,[256,3,2]]# 3-P3/8
-[-1,2,C3k2,[512,False,0.25]]
-[-1,1,Conv,[512,3,2]]# 5-P4/16
-[-1,4,A2C2f,[512,True,4]]
-[-1,1,Conv,[1024,3,2]]# 7-P5/32
-[-1,4,A2C2f,[1024,True,1]]# 8# YOLO12n head
head:
-[-1,1,nn.Upsample,[None,2,"nearest"]]
-[[-1,6],1,Concat,[1]]# cat backbone P4
-[-1,2,A2C2f,[512,False,-1]]# 11-[-1,1,nn.Upsample,[None,2,"nearest"]]
-[[-1,4],1,Concat,[1]]# cat backbone P3
-[-1,2,A2C2f,[256,False,-1]]# 14-[-1,1,Conv,[256,3,2]]
-[[-1,11],1,Concat,[1]]# cat head P4
-[-1,2,A2C2f,[512,False,-1]]# 17-[-1,1,Conv,[512,3,2]]
-[[-1,8],1,Concat,[1]]# cat head P5
-[-1,2,C3k2,[1024,True]]# 20 (P5/32-large)-[[14,17,20],1,Detect,[nc]]# Detect(P3, P4, P5)

【本節完】


本文由 youcans@xidian 對論文 YOLOv12: Attention-Centric Real-Time Object Detectors 進行摘編和翻譯。該論文版權屬于原文期刊和作者,譯文只供研究學習使用。

版權聲明:
歡迎關注『跟我學YOLO』系列
轉發必須注明原文鏈接:
【跟我學YOLO】(1)YOLO12:以注意力為中心的物體檢測
Copyright 2025 by youcans@qq.com
Crated:2025-02


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70447.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70447.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70447.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LTO優化詳解

嵌入式開發過程中的LTO優化是什么意思?能夠用來解決什么問題?它都優化了哪些?僅開啟LTO真的可以優化SIZE的問題嗎? 請分別回答我剛才提到的問題? 嗯,用戶問關于嵌入式開發中的LTO優化,我需要詳細解釋這個概…

leetcode_位運算 231.2的冪

231. 2的冪 給你一個整數n,請你判斷該整數是否是 2 的冪次方。如果是,返回 true ;否則,返回 false。 如果存在一個整數 x 使得 n 2x ,則認為 n 是 2 的冪次方 思路: 2的冪運算的結果中,其二進制數里只有…

VSCode - VSCode 切換自動換行

VSCode 自動換行 1、基本介紹 在 VSCode 中,啟用自動換行可以讓長行代碼自動折行顯示,避免水平滾動條頻繁使用,提升代碼閱讀體驗 如果禁用自動換行,長行代碼就需要手動結合水平滾動條來閱讀 2、演示 啟用自動換行 禁用自動換…

CSS `transform` 屬性詳解:打造視覺效果與動畫的利器

CSS transform 屬性詳解:打造視覺效果與動畫的利器 引言一、transform 屬性簡介二、平移(Translation)三、旋轉(Rotation)四、縮放(Scale)五、傾斜(Skew)六、組合變換&am…

算法每日一練 (5)

💢歡迎來到張胤塵的技術站 💥技術如江河,匯聚眾志成。代碼似星辰,照亮行征程。開源精神長,傳承永不忘。攜手共前行,未來更輝煌💥 文章目錄 算法每日一練 (5)旋轉鏈表題目描述解題思路解題代碼c/…

51單片機-按鍵

1、獨立按鍵 1.1、按鍵介紹 輕觸開關是一種電子開關,使用時,輕輕按開關按鈕就可使開關接通,當松開手時,開關斷開。 1.2、獨立按鍵原理 按鍵在閉合和斷開時,觸點會存在抖動現象。P2\P3\P1都是準雙向IO口,…

BFS 和 DFS(深度優先搜索、廣度優先搜索)

深度優先搜索(DFS)和廣度優先搜索(BFS)是兩種常用的圖遍歷算法,用于解決圖相關的問題。它們在搜索問題中具有廣泛的應用,如路徑搜索、連通性檢測等。 以下是具體區別: (圖片引自&am…

推薦幾款較好的開源成熟框架

一. 若依: 1. 官方網站:https://doc.ruoyi.vip/ruoyi/ 2. 若依SpringBootVueElement 的后臺管理系統:https://gitee.com/y_project/RuoYi-Vue 3. 若依SpringBootVueElement 的后臺管理系統:https://gitee.com/y_project/RuoYi-Cl…

根據音頻中的不同講述人聲音進行分離音頻 | 基于ai的說話人聲音分離項目

0.研究背景 在實際的開發中可能會遇到這樣的問題,老板讓你把音頻中的每個講話人的聲音分離成不同的音頻片段。你可以使用au等專業的音頻處理軟件手動分離。但是這樣效率太慢了,現在ai這么發達,我們能否借助ai之力來分離一條音頻中的不同的說…

本地化部署 DeepSeek:從零到一的完整指南

本地化部署 DeepSeek:從零到一的完整指南 個人主頁:顧漂亮 文章專欄:AI學習 目錄 引言什么是 DeepSeek?為什么選擇本地化部署?DeepSeek 本地化部署的前期準備 硬件需求軟件需求環境配置 DeepSeek 本地化部署步驟 步驟…

使用ArcGIS Pro自動矢量化水系

在地理信息系統(GIS)領域,自動矢量化是一項至關重要的技術,它能夠將柵格圖像中的要素轉換為矢量數據,從而方便后續的分析和處理。本文將詳細介紹如何使用ArcGIS Pro自動矢量化水系,適用于那些顏色相對統一、…

C++類和對象進階:初始化列表和static成員深度詳解

C類和對象:初始化列表和static成員深度詳解 1. 前言2. 構造函數初始化成員變量的方式2.1 構造函數體內賦值2.2 初始化列表2.2.1 初始化列表的注意事項 2.3 初始化列表的初始化順序 3. 類的靜態成員3.1 引入3.2 靜態成員變量3.3 靜態成員函數3.4 靜態成員的注意事項3…

ubuntu ffmpeg 安裝踩坑

ffmpeg 安裝踩坑 安裝命令: sudo apt update sudo apt install ffmpeg如果以上命令沒有報錯,那么恭喜你很幸運,可以關閉這篇文章了! 如果跟我一樣,遇到如下報錯,可以接著往下看: 報錯信息: …

第13章 int指令

目錄 13.1 int 指令13.2 編寫供應用程序調用的中斷例程13.3 對int、iret和棧的深入理解13.4 BIOS和DOS所提供的中斷例程13.5 BIOS和DOS中斷例程的安裝過程13.6 BIOS中斷例程應用13.7 DOS中斷例程應用實驗13 編寫、應用中斷例程 中斷信息可以來自CPU的內部和外部,當C…

最新扣子(Coze)案例教程:全自動DeepSeek 寫影評+批量生成 + 發布飛書,提效10 倍!手把手教學,完全免費教程

👨?💻群里有同學是做影視賽道的博主,聽說最近DeepSeek這么火,咨詢能不能用DeepSeek寫影評,并整理電影數據資料,自動發布到飛書文檔,把每天的工作做成一個自動化的流程。 那今天斜杠君就為大家…

DeepSeek 提示詞:定義、作用、分類與設計原則

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

鳥語林-論壇系統自動化測試

文章目錄 一、自動化實施步驟1.1編寫Web測試用例1.2 編寫自動化代碼1.2.1 LoginPageTest1) 能否正確打開登錄頁面2) 點擊去注冊能否跳轉注冊頁面3) 模擬用戶登錄,輸入多組登錄測試用例 1.2.2 RegisterPageTest1) 能否成功打開注冊頁面2) 注冊測試用例3) 點擊去登錄按…

DeepSeek模型量化

技術背景 大語言模型(Large Language Model,LLM),可以通過量化(Quantization)操作來節約內存/顯存的使用,并且降低了通訊開銷,進而達到加速模型推理的效果。常見的就是把Float16的浮…

本周行情——250222

本周A股行情展望與策略 結合近期盤面特征及市場主線演化,本周A股預計延續結構性分化行情,科技成長與政策催化板塊仍是資金主戰場,但需警惕高標股分歧帶來的波動。以下是具體分析與策略建議: 1. 行情核心驅動因素 主線延續性&…

【JT/T 808協議】808 協議開發筆記 ② ( 終端注冊 | 終端注冊應答 | 字符編碼轉換網站 )

文章目錄 一、消息頭 數據1、消息頭拼接2、消息 ID 字段3、消息體屬性 字段4、終端手機號 字段5、終端流水號 字段 二、消息體 數據三、校驗碼計算四、最終計算結果五、終端注冊應答1、分解終端應答數據2、終端應答 消息體 數據 六、字符編碼轉換網站 一、消息頭 數據 1、消息頭…