目標檢測 RT-DETR(2023)詳細解讀

文章目錄

    • 主干網絡:
    • Encoder:
    • 不確定性最小Query選擇
    • Decoder網絡:

將DETR擴展到實時場景,提高了模型的檢測速度。網絡架構分為三部分組成:主干網絡、混合編碼器、帶有輔助預測頭的變換器編碼器。具體來說,先利用主干網絡的最后三個階段的輸出特征 {S3, S4,S5} 作為編碼器的輸入。混合編碼器通過內尺度交互(intra-scaleinteraction)和跨尺度融合(cross-scale fusion)將多尺度特征轉換成一系列圖像特征。隨后,采用loU感知查詢選擇(loU-aware query selection)從編碼器輸出序列中選擇一定數量的圖像特征,作為解碼器的輸入(初始對象查詢)。最后,帶有輔助預測頭的解碼器迭代優化對象查詢,以生成類別和方框。解碼器采用的是DINO的解碼器結構,由6層dcoder layer組成,每層decoder layer包含self-attention和cross attention兩部分。

主干網絡:

對于主干網絡,RT-DETR采用CNN網絡,如流行的ResNet系列,或者百度自家研發的HGNet。當然也可以采用如Vit系列的主干網絡,雖然精度可能更高,但是速度不行CNN架構無疑是快于ViT架構的。因此,從實時性的角度出發,選擇CNN架構來做特征提取還是有助于提高DETR系列的實時性,進而提升實用性——毫無疑問,這是階段性的措施,不難想象,未來一定會有新架構全面——不論是性能還是推理速度——取代CNN架構。

和以往的檢測器一樣,RT-DETR也是從主干網絡中抽取三個尺度的輸出,其輸出步長分別為8、16和32(輸出步長output stride通常指的是網絡中特征圖的空間尺寸相對于輸入圖像的縮小比例)

Encoder:

對于頸部網絡,RT-DETR采用了一層Transformer的Encoder,只處理主干網絡輸出的 S5 特征,即AIFI(Attention-based Intra-scale Feature Interaction)模塊。

首先,我們將二維的S5 特征拉成向量,然后交給AIFI模塊處理,其數學過程就是多頭自注意力與FFN,隨后,我們再將輸出調整回二維,記作 F5 ,以便去完成后續的所謂的“跨尺度特征融合。

之所以RT-DETR的AIFI只處理最后的S5 特征,是出于兩點考慮:

  1. 一方面,以往的DETR,如Deformable DETR是將多尺度的特征展平成序列( RB×C×H×W→RB×N×C ),然后拼接到一起,構成一個序列很長的向量,隨后再交給核心為self attention技術的Transformer encoder去做多尺度之間的特征交互,但這無疑會造成巨大的計算資源的消耗,畢竟self attention技術的平方計算復雜度一直是其廣受詬病的缺陷之一;
  2. 另一方面,RT-DETR認為相較于較淺的S3 特征和S4 特征,S5 特征擁有更深、更高級、更豐富的語義特征,而self attention機制可能更關注特征的語義性,而非空間局部細節等,因此,作者團隊認為不必讓多尺度特征都放到一個籃子中去。

綜上,作者團隊認為只需將Encoder作用在空間尺寸不太大,信息語義程度有很高的S5 特征上即可,以此來平衡性能和速度——既可以大幅度地減小計算量、提高計算速度,又不會損傷到模型的性能。作者團隊設計了若干對照組驗證了這一點。

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

不確定性最小Query選擇

Uncertainty-minimal Query Selection:

關于 Query Selection(查詢向量選擇),大家應該并不陌生,這個方法可謂在DETR領域大殺四方,如DAB-DETR對查詢向量進行重構理解,將其解釋為Anchor,DN-DETR通過查詢降噪來應對匈牙利匹配的二義性所導致的訓練時間長的問題,DINO提出從Encoder中選擇Top-k特征進行學習等一系列方法,這都無疑向我們證明,查詢向量很重要,選擇好的Query能夠讓我們事半功倍。

在RT-DETR中,Query selection 的作用是從 Encoder 輸出的特征序列中選擇固定數量的特征作為 object queries ,其經過 Decoder 后由預測頭映射為置信度和邊界框。

DETR中的對象查詢是一組可學習的嵌入,由解碼器優化并由預測頭映射到分類分數和邊界框。然而,這些對象查詢難以解釋和優化,因為它們沒有明確的物理含義。后續工作改進了對象查詢的初始化,并將其擴展到內容查詢和位置查詢(錨點)。其中,提出了查詢選擇方案,它們共同的特點是利用分類分數從編碼器中選擇排名靠前的K個特征來初始化對象查詢(或僅位置查詢)。然而,由于分類分數和位置置信度的分布不一致,一些預測框雖有高分類分數,但與真實框(GT)不接近,這導致選擇了分類分數高但loU分數低的框,而丟棄了分類分數低但loU分數高的框。這降低了檢測器的性能。為了解決這個問題,我們提出了loU感知查詢選擇,通過在訓練期間對模型施加約束,使其對loU分數高的特征產生高分類分數,對loU分數低的特征產生低分類分數。因此,模型根據分類分數選擇的排名靠前的K個編碼器特征的預測框,既有高分類分數又有高loU分數。我們重新制定了檢測器的優化目標如下:

在這里插入圖片描述

之所以使用IoU軟標簽,是因為按照以往的one-hot方式,完全有可能出現“當定位還不夠準確的時候,類別就已經先學好了”的“未對齊”的情況,畢竟類別的標簽非0即1。但如果將IoU作為類別的標簽,那么類別的學習就要受到回歸的調制,只有當回歸學得也足夠好的時候,類別才會學得足夠好,否則,類別不會過快地先學得比回歸好,因此后者顯式地制約著前者。在使用了這個技巧后,顯然訓練過程中,類別的標簽不再是此前的0和1離散值,而是0~1的連續值。

Decoder網絡:

RT-DETR選擇了基于cross attention的Transformer decoder,并連接若干MLP作為檢測頭,因此,RT-DETR無疑是DETR架構。具體來說,RT-DETR選擇DINO的decoder,使用了具體線性復雜度的deformable attention,同時,在訓練階段,使用到了DINO的“去噪思想”來提升雙邊匹配的樣本質量,加快訓練的收斂速度。整體來看,RT-DETR的檢測頭幾乎就是把DINO的照搬了過來,當然,其中的一些邊邊角角的操作給抹掉了,盡可能達到“精簡”的目的。

部分圖片截取自b站 Enzo_Mi

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

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

相關文章

DeepSeek 賦能數字農業:從智慧種植到產業升級的全鏈條革新

目錄 一、數字農業的現狀與挑戰二、DeepSeek 技術解析2.1 DeepSeek 的技術原理與優勢2.2 DeepSeek 在人工智能領域的地位與影響力 三、DeepSeek 在數字農業中的應用場景3.1 精準種植決策3.2 病蟲害監測與防治3.3 智能灌溉與施肥管理3.4 農產品質量追溯與品牌建設 四、DeepSeek …

<uniapp><vuex><狀態管理>在uniapp中,如何使用vuex實現數據共享與傳遞?

前言 本專欄是基于uniapp實現手機端各種小功能的程序,并且基于各種通訊協議如http、websocekt等,實現手機端作為客戶端(或者是手持機、PDA等),與服務端進行數據通訊的實例開發。 發文平臺 CSDN 環境配置 系統&…

高速串行差分信號仿真分析及技術發展挑戰續

7.3 3.125Gbps 差分串行信號設計實例仿真分析 7.3.1 設計用例說明 介紹完 Cadence 系統本身所具有的高速差分信號的仿真分析功能之后,我們以一個實例來說明 3.125Gbps 以下的高速差分系統的仿真分析方法。 在網上下載的設計文件“Booksi_Demo_Allegro160_Finishe…

【Golang】部分語法格式和規則

1、時間字符串和時間戳的相互轉換 func main() {t1 : int64(1546926630) // 外部傳入的時間戳(秒為單位),必須為int64類型t2 : "2019-01-08 13:50:30" // 外部傳入的時間字符串//時間轉換的模板,golang里面只能是 &quo…

第十六章:數據治理之數據架構:數據模型和數據流轉關系

本章我們說一下數據架構,說到數據架構,就很自然的想到企業架構、業務架構、軟件架構,因為個人并沒有對這些內容進行深入了解,所以這里不做比對是否有相似或者共通的地方,僅僅來說一下我理解的數據架構。 1、什么是架構…

Day126 | 靈神 | 二叉樹 | 層數最深的葉子結點的和

Day126 | 靈神 | 二叉樹 | 層數最深的葉子結點的和 1302.層數最深的葉子結點的和 1302. 層數最深葉子節點的和 - 力扣(LeetCode) 思路: 這道題用層序遍歷的思路比較好想,就把每層的都算一下,然后返回最后一層的和就…

PCIE 4.0 vs PCIE 5.0固態硬盤——區別、科普與選購場景全解析

隨著數字內容和高性能計算需求的爆發,固態硬盤(SSD)已成為PC、游戲主機和工作站不可或缺的核心硬件。面對市面上層出不窮的新一代SSD產品,大家最常見的一個疑惑:**PCIe 4.0和PCIe 5.0固態硬盤,到底有啥區別…

vue pinia 獨立維護,倉庫統一導出

它允許您跨組件/頁面共享狀態 持久化 安裝依賴pnpm i pinia-plugin-persistedstate 將插件添加到 pinia 實例上 pinia獨立維護 統一導出 import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstateconst pinia creat…

Dify源碼學習

文章目錄 1 大模型基本原理1.1 model_context_tokens、max_tokens和prompt_tokens1.1.1 三者之間的關系1.1.2 總結對比 2 Dify源代碼2.0 前后端代碼跑起來【0】準備開發環境【1】下載代碼【2】運行后端(1)Start the docker-compose stack(2&a…

連接表、視圖和存儲過程

1. 視圖 1.1. 視圖的概念 視圖(View):虛擬表,本身不存儲數據,而是封裝了一個 SQL 查詢的結果集。 用途: 只顯示部分數據,提高數據訪問的安全性。簡化復雜查詢,提高復用性和可維護…

微信小程序中,解決lottie動畫在真機不顯示的問題

api部分 export function getRainInfo() {return onlineRequest({url: /ball/recruit/getRainInfo,method: get}); }data存儲json數據 data:{rainJson:{} }onLoad方法獲取json數據 onLoad(options) {let that thisgetRainInfo().then((res)>{that.setData({r…

從加密到信任|密碼重塑車路云一體化安全生態

目錄 一、密碼技術的核心支撐 二、典型應用案例 三、未來發展方向 總結 車路云系統涉及海量實時數據交互,包括車輛位置、傳感器信息、用戶身份等敏感數據。其安全風險呈現三大特征: 開放環境威脅:V2X(車與萬物互聯&#xff0…

光譜相機在地質勘測中的應用

一、?礦物識別與蝕變帶分析? ?光譜特征捕捉? 通過可見光至近紅外(400-1000nm)的高光譜分辨率(可達3.5nm),精確識別礦物的“光譜指紋”。例如: ?銅礦?:在400-500nm波段反射率顯著低于圍…

理論篇三:如何編寫自定義的Webpack Loader或Plugin插件

在 Webpack 中,自定義 Loader 和 Plugin 是擴展構建能力的關鍵方式。以下是它們的實現方法和核心邏輯,通過代碼示例和步驟拆解幫助你快速掌握。 一、自定義 Loader 1. Loader 的本質 作用:將非 JS 文件轉換為 Webpack 能處理的模塊。特點:純函數,接收源文件內容,返回處理…

【算法】力扣體系分類

第一章 算法基礎題型 1.1 排序算法題 1.1.1 冒泡排序相關題 冒泡排序是一種簡單的排序算法,它重復地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換&#xff0c…

C11 日期時間處理案例

文章目錄 顯示當前日期時間得到當前日期時間的17位數字形式(YYYYmmddHHMMSSsss)從日期時間字符串得到time_t 類型時間戳從時期時間字符串得到毫秒單位的時間戳得到當前日期時間以毫秒為單位的時間戳一個綜合案例 所有例子在VS2019上編譯運行通過 顯示當前日期時間 #include &…

Python 訓練營打卡 Day 34

GPU訓練及類的call方法 一、GPU訓練 與day33采用的CPU訓練不同,今天試著讓模型在GPU上訓練,引入import time比較兩者在運行時間上的差異 import torch # 設置GPU設備 device torch.device("cuda:0" if torch.cuda.is_available() else &qu…

Ubuntu22.04 系統安裝Docker教程

1.更新系統軟件包 #確保您的系統軟件包是最新的。這有助于避免安裝過程中可能遇到的問題 sudo apt update sudo apt upgrade -y 2.安裝必要的依賴 sudo apt install apt-transport-https ca-certificates curl software-properties-common -y 3.替換軟件源 原來/etc/apt/s…

深入解析前端 JSBridge:現代混合開發的通信基石與架構藝術

引言:被低估的通信革命 在移動互聯網爆發式增長的十年間,Hybrid App(混合應用)始終占據著不可替代的地位。作為連接 Web 與 Native 的神經中樞,JSBridge 的設計質量直接決定了應用的性能上限與開發效率。本文將突破傳…

ES 面試題系列「三」

1、在設計 Elasticsearch 索引時,如何考慮數據的建模和映射? 需要根據業務需求和數據特點來確定索引的結構。首先要分析數據的類型,對于結構化數據,如數字、日期等,要明確其數據格式和范圍,選擇合適的字段…