論文解析篇 | YOLOv12:以注意力機制為核心的實時目標檢測算法

前言:Hello大家好,我是小哥談。長期以來,改進YOLO框架的網絡架構一直至關重要,但盡管注意力機制在建模能力方面已被證明具有優越性,相關改進仍主要集中在基于卷積神經網絡(CNN)的方法上。這是因為基于注意力機制的模型無法達到基于CNN模型的速度。本文提出了一個以注意力機制為核心的YOLO框架即YOLOv12,它在利用注意力機制性能優勢的同時,能達到之前基于CNN模型的速度。實驗證明,YOLOv12在準確性上超越了所有流行的實時目標檢測器,同時速度也具有競爭力。🌈

? ? ?目錄

🚀1.論文簡介

🚀2.具體改進

🍀🍀2.1?區域注意力(Area Attention, A2)

🍀🍀2.2?殘差高效層聚合網絡(R-ELAN)

🍀🍀2.3?適配 YOLO 的注意力機制優化

🚀3.論文總結

🚀1.論文簡介

前言:

實時目標檢測因其低延遲特性一直備受關注,具有很高的實用性。其中,YOLO系列有效地在延遲和準確性之間取得了最佳平衡,從而在該領域占據主導地位。盡管YOLO的改進主要集中在損失函數、標簽分配等方面,但網絡架構設計仍然是關鍵的研究重點。盡管以注意力機制為核心的視覺變換器(ViT)架構已被證明即使在小模型中也具有更強的建模能力,但大多數架構設計仍主要集中在卷積神經網絡(CNN)上。

YOLOv12 是 YOLO 系列中首個打破傳統基于卷積神經網絡(CNN)方法的模型,它通過將注意力機制直接集成到目標檢測過程中實現了這一突破。本文深入研究了 YOLOv12 的架構、創新模塊、技術細節以及它在實際應用中的性能表現。該模型配備了區域注意力(Area Attention)方法殘差高效層聚合網絡(Residual Efficient Layer Aggregation Networks,R-ELAN)快速注意力(FlashAttention)等先進技術,既實現了高檢測精度(平均精度均值,mAP),又具備實時推理速度,為工業應用、自動駕駛、安防等眾多領域帶來了革命性的提升。

背景與動機:

  • 傳統 CNN 模型的局限性
    盡管傳統的卷積神經網絡(CNN)在目標檢測中表現良好,但它們的建模能力不如基于 Transformer 的注意力機制強大。

  • 注意力機制的效率瓶頸
    注意力機制雖然具備強大的建模能力,但由于其計算復雜度較高(通常是?),難以滿足實時目標檢測的需求。

  • YOLO 系列模型的改進空間
    雖然 YOLO 系列模型在速度和精度之間取得了良好的平衡,但在結合注意力機制方面仍有不足。

目標:

將注意力機制高效地集成到 YOLO 框架中,從而在保持實時推理速度的同時顯著提升檢測精度。

本文創新點:

本篇論文圍繞實時目標檢測,在網絡架構設計上引入創新,克服了傳統注意力機制在實時應用中的速度瓶頸,提升了檢測性能。

  • 構建注意力中心框架突破傳統 YOLO 依賴 CNN 架構的局限,以注意力機制為核心設計 YOLOv12 框架,發揮注意力機制強大的建模能力,打破 CNN 模型在 YOLO 系列中的主導地位。
  • 高效的區域注意力模塊提出簡單有效的區域注意力模塊(A2),通過簡單的特征圖劃分方式,在減少注意力計算復雜度的同時,保持較大的感受野,顯著提升計算速度,且對性能影響較小。
  • 殘差高效層聚合網絡引入 R-ELAN 解決注意力機制帶來的優化挑戰。通過塊級殘差設計和重新設計的特征聚合方法,增強特征聚合能力,降低模型計算成本和參數 / 內存使用,保證大模型穩定訓練。
  • 優化基礎注意力機制對基礎注意力機制進行多項改進,如調整 MLP 比例、采用卷積算子、去除位置編碼并引入大的可分離卷積感知位置信息等,使模型更適配 YOLO 系統的實時性要求,提升綜合性能。

論文題目:《YOLOv12: Attention-Centric Real-Time Object Detectors》

論文地址:??[2502.12524] YOLOv12: Attention-Centric Real-Time Object Detectors

代碼地址:??https://github.com/sunsmarterjie/yolov12


🚀2.具體改進

YOLOv12 主要從以下 3 個方面進行改進:

🍀🍀2.1?區域注意力(Area Attention, A2)

問題:

  • 傳統的全局自注意力計算復雜度為 O(n2),對大規模輸入(如 640×640 圖像)計算量過大,推理速度較慢。

  • 現有的局部注意力方法(如窗口注意力、軸向注意力等)通常引入額外計算開銷或降低感受野。

解決方案:

  • 劃分特征圖:將輸入特征圖均勻劃分為 4 個區域(默認),避免復雜的窗口劃分策略,簡化計算。

  • 局部計算注意力:對每個區域內部獨立計算注意力,計算復雜度從 O(n2) 降至 O(n2/2),減少 50% 計算量,同時保持較大的感受野。

優勢:

  • 計算量降低,相比全局注意力更快。

  • 推理速度提高,能滿足 YOLO 框架的實時需求。

  • 感受野仍然較大,相比窗口注意力(如 Swin Transformer),仍能有效捕捉全局信息。

🍀🍀2.2?殘差高效層聚合網絡(R-ELAN)

問題:

  • 傳統 ELAN(Efficient Layer Aggregation Network)結構中,多分支特征聚合容易導致梯度阻塞(Gradient Blocking),使大模型難以優化。

  • YOLO 結構本身主要依賴 CNN,而注意力機制的加入會引入新的優化挑戰。

解決方案:

  • 引入殘差連接:在 ELAN 結構基礎上,增加殘差連接,提升梯度流動,減少梯度阻塞,提高大規模模型(L, X 規模)的穩定性。

  • 縮放因子(Scaling Factor):

    • 采用一個小的縮放因子(0.01),確保殘差分支不會影響整體優化,同時改善梯度流動。

    • 適用于 L 級別及以上的 YOLOv12,防止大模型訓練不穩定或無法收斂。

優勢:

  • 提高大模型穩定性:L、X 級別模型優化更穩定,梯度流動順暢。

  • 減少計算開銷:在不增加計算量的前提下,提高訓練穩定性和推理精度。

🍀🍀2.3?適配 YOLO 的注意力機制優化

在 YOLO 框架中直接引入注意力機制會導致推理速度下降,因此 YOLOv12 對注意力機制進行了多項優化:

(1)引入 FlashAttention

問題:

  • 傳統自注意力計算涉及大量 GPU 內存訪問,導致速度下降。

  • YOLO 需要高效的推理速度,但注意力機制通常較慢。

解決方案:

  • 采用 FlashAttention(適用于 Turing, Ampere, Ada Lovelace, Hopper 架構的 GPU,如 T4, A5000)。

  • 優化 GPU 內存訪問,減少高帶寬 GPU 內存(HBM)的讀寫需求,提高計算效率。

優勢:

  • 速度相比普通注意力機制提升 約 20%-30%。

  • 降低內存占用,使 YOLOv12 適用于實時推理場景。

(2)去除位置編碼(Positional Encoding)

問題:

  • 絕對位置編碼(APE)和相對位置編碼(RPE)會增加計算復雜度,同時帶來額外的參數量。

  • YOLO 框架主要依賴 CNN 進行特征提取,已有的卷積感受野本身具有一定的位置信息。

解決方案:

  • 直接去除位置編碼,改用 7×7 大核卷積(Position Perceiver)增強位置信息。

  • 不影響模型精度,同時減少額外計算。

優勢:

  • 計算量降低,減少額外參數。

  • 速度更快,適應實時檢測任務。

(3) 調整 MLP 結構

問題:

  • 傳統 Transformer 結構中,MLP 比例為 4:1,即前饋網絡比注意力計算量大 4 倍。

  • 這種配置對 YOLO 結構而言不夠高效,容易浪費計算資源。

解決方案:

  • 調整 MLP 比例:

    • N, S, M 規模:MLP 比例設為 2

    • L, X 規模:MLP 比例設為 1.2

  • 使注意力機制的計算量與前饋網絡計算量更加均衡。

優勢:

  • 計算資源分配更合理,提升推理速度。

  • 減少冗余計算,提升 YOLO 結構適應性。


🚀3.論文總結

本研究介紹了YOLOv12,它成功地將傳統上被認為不符合實時要求的以注意力為中心的設計引入到YOLO框架中,實現了最先進的延遲 - 精度權衡。為了實現高效推理,我們提出了一種新穎的網絡,該網絡利用區域注意力機制降低計算復雜度,并采用殘差高效層聚合網絡(R - ELAN)增強特征聚合。此外,我們對原始注意力機制的關鍵組件進行了改進,使其更好地符合YOLO的實時約束條件,同時保持高速性能。因此,YOLOv12通過有效結合區域注意力、R - ELAN和架構優化,實現了最先進的性能,在準確性和效率方面都有顯著提升。全面的消融實驗進一步驗證了這些創新的有效性。本研究挑戰了基于卷積神經網絡(CNN)設計在YOLO系統中的主導地位,并推動了注意力機制在實時目標檢測中的集成,為構建更高效、更強大的YOLO系統鋪平了道路。

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

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

相關文章

學習C++、QT---20(C++的常用的4種信號與槽、自定義信號與槽的講解)

每日一言相信自己,你比想象中更接近成功,繼續勇往直前吧!那么我們開始用這4種方法進行信號與槽的通信第一種信號與槽的綁定方式我們將按鍵右鍵后轉到槽會自動跳轉到這個widget.h文件里面并自動生成了定義,我們要記住我們這個按鈕叫…

Anolis OS 23 架構支持家族新成員:Anolis OS 23.3 版本及 RISC-V 預覽版發布

自 Anolis OS 23 版本發布之始,龍蜥社區就一直致力于探索同源異構的發行版能力,從 Anolis OS 23.1 版本支持龍芯架構同源異構開始,社區就在持續不斷地尋找更多的異構可能性。 RISC-V 作為開放、模塊化、可擴展的指令集架構,正成為…

4萬億英偉達,憑什么?

CUDA正是英偉達所有神話的起點。它不是一個產品,而是一個生態系統。當越多的開發者使用CUDA,就會催生越多的基于CUDA的應用程序和框架;這些殺手級應用又會吸引更多的用戶和開發者投身于CUDA生態。這個正向飛輪一旦轉動起來,其產生…

Unity3D iOS閃退問題解決方案

前言 在Unity3D開發中解決iOS閃退問題需要系統性排查,以下是關鍵步驟和解決方案: 對惹,這里有一個游戲開發交流小組,希望大家可以點擊進來一起交流一下開發經驗呀! 1. 獲取崩潰日志(關鍵第一步&#xff…

嵌入式八股文之 GPIO

1. GPIO 的基本概念(1) 什么是 GPIO?GPIO 的中文意思是通用輸入輸出端口(General Purpose Input/Output),是嵌入式系統中可編程控制的通用引腳,可通過軟件配置為輸入或輸出模式。(背誦)(2) 它的…

Umi-OCR 的 Docker安裝(win制作鏡像,Linux(Ubuntu Server 22.04)離線部署)

前置博客:Ubuntu-Server 22.04.4 詳細安裝圖文教程 wget命令在windows終端下不能使用的原因及解決辦法 在 Ubuntu 22.04 LTS 上離線安裝 Docker 手把手教你在Win11下安裝docker Umi-OCR 安裝docker時報錯:workstation服務啟動報錯。錯誤1075&#…

力扣242.有效的字母異位詞

給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的 字母異位詞。示例 1:輸入: s "anagram", t "nagaram" 輸出: true示例 2:輸入: s "rat", t "car" 輸出: false提示:1 < s.length, t.length < 5 * 104s…

基于Springboot+UniApp+Ai實現模擬面試小工具二:后端項目搭建

本節介紹本項目后端項目的開發工具及基礎項目的搭建&#xff0c;包括開發工具介紹及后端項目的創建和依賴框架的引入及對應配置。 源碼下載&#xff1a; 點擊下載 講解視頻&#xff1a; UniappSpringbootKimi實現模擬面試小程序-Springboot項目創建一&#xff0e;開發工具 1.…

Linux711 Mysql

模版 root192.168.235.130s password:┌──────────────────────────────────────────────────────────────────────┐│ ? MobaXterm Personal Edition v23.2 ? ││…

QT 秘鑰生成工具

該項目是注冊機和驗證機項目&#xff0c;分別是密鑰生成工具&#xff0c;和密鑰驗證demo,可以識別電腦唯一標識碼。#include "frmmain.h" #include "ui_frmmain.h" #include "qmessagebox.h" #include "qfile.h" #pragma execution_ch…

PyTorch神經網絡訓練全流程詳解:從線性層到參數優化

目錄 一、神經網絡訓練的核心組件 二、代碼逐行解析與知識點 三、核心組件詳解 3.1 線性層(nn.Linear) 3.2 損失函數(nn.MSELoss) 3.3 優化器(optim.SGD) 四、訓練流程詳解 五、實際應用建議 六、完整訓練循環示例 七、總結 在深度學習實踐中&#xff0c;理解神經網絡…

從代碼學習深度學習 - 針對序列級和詞元級應用微調BERT PyTorch版

文章目錄 前言針對序列級和詞元級應用微調BERT單文本分類文本對分類或回歸文本標注問答總結前言 在自然語言處理(NLP)的廣闊天地里,預訓練模型(Pre-trained Models)的出現無疑是一場革命。它們如同站在巨人肩膀上的探索者,使得我們能夠利用在大規模文本語料上學到的豐富…

學習筆記丨卷積神經網絡(CNN):原理剖析與多領域Github應用

本文深入剖析了卷積神經網絡&#xff08;CNN&#xff09;的核心原理&#xff0c;并探討其在計算機視覺、圖像處理及信號處理等領域的廣泛應用。下面就是本篇博客的全部內容&#xff01;&#xff08;內附相關GitHub數據庫鏈接&#xff09; 目錄 一、什么是CNN&#xff1f; 二、…

cnpm exec v.s. npx

1. 核心定位與設計目標 npx (Node Package Executor): 定位: Node.js 內置工具&#xff08;npm 5.2 起捆綁&#xff09;&#xff0c;核心目標是便捷地執行本地或遠程 npm 包中的命令&#xff0c;無需全局安裝。核心價值: 避免全局污染&#xff1a; 臨時使用某個 CLI 工具&#…

我花10個小時,寫出了小白也能看懂的數倉搭建方案

目錄 一、什么是數據倉庫 1.面向主題 2.集成 3.相對穩定 4.反映歷史變化 二、數倉搭建的優勢 1.性能 2.成本 3.效率 4.質量 三、數倉搭建要考慮的角度 1.需求 2.技術路徑 3.數據路徑 4.BI應用路徑 四、如何進行數倉搭建 1.ODS層 2.DW層 3.DM層 五、寫在最后…

OBB旋轉框檢測配置與訓練全流程(基于 DOTA8 數據集)

&#x1f680; YOLO交通標志識別實戰&#xff08;五&#xff09;&#xff1a;OBB旋轉框檢測配置與訓練全流程&#xff08;基于 DOTA8 數據集&#xff09; 在專欄前面四篇里&#xff0c;我們完成了&#xff1a; ? Kaggle交通標志數據集下載并重組標準YOLO格式 ? 訓練/驗證集拆…

uniapp制作一個視頻播放頁面

1.產品展示2.頁面功能(1)點擊上方按鈕實現頁面跳轉&#xff1b;(2)點擊相關視頻實現視頻播放。3.uniapp代碼<template><view class"container"><!-- 頂部分類文字 --><view class"categories"><navigator class"category-…

8.卷積神經網絡基礎

8.1 卷積核計算 import torch from torch import nn import matplotlib.pyplot as plt def corr2d(X,k):#計算二維互相關運算h,wk.shape#卷積核的長和寬Ytorch.zeros((X.shape[0]-h1,X.shape[1]-w1))#創建(X-H1,X-W1)的全零矩陣for i in range(Y.shape[0]):for j in range(Y.s…

【每天一個知識點】子空間聚類(Subspace Clustering)

“子空間聚類&#xff08;Subspace Clustering&#xff09;”是一種面向高維數據分析的聚類方法&#xff0c;它通過在數據的低維子空間中尋找簇結構&#xff0c;解決傳統聚類在高維空間中“維度詛咒”帶來的問題。子空間聚類簡介在高維數據分析任務中&#xff0c;如基因表達、圖…

《匯編語言:基于X86處理器》第7章 整數運算(2)

本章將介紹匯編語言最大的優勢之一:基本的二進制移位和循環移位技術。實際上&#xff0c;位操作是計算機圖形學、數據加密和硬件控制的固有部分。實現位操作的指令是功能強大的工具&#xff0c;但是高級語言只能實現其中的一部分&#xff0c;并且由于高級語言要求與平臺無關&am…