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

文章目錄

    • 對比去噪訓練
    • 混合查詢選擇
    • look forward twice

論文全稱為:DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

提出了三個新的方法:

  1. 首先,為了改進一對一的匹配效果,提出了一種對比去噪訓練方法,通過同時添加同一個GT的正、負樣本來進行對比去噪訓練。在同一個GT中加入兩個不同的噪聲后,將具有較小噪聲的框標記為正,另一個標記為負。對比去噪訓練可以幫助模型避免同一目標的重復輸出

  2. 其次,使用了一種類似兩階段的模型(Deformable DETR的two stage)。提出了一種混合查詢選擇方法,這有助于更好地初始化查詢. 從encoder的輸出中選擇初始錨定框作為位置查詢,類似于Deformable DETR.然而,讓內容查詢像以前一樣可以學習,從而鼓勵第一個解碼器層關注空間先驗(空間位置先驗與當前的圖像更加的相關)

  3. 第三,為了利用后期層的refined box信息來幫助優化相鄰早期層的參數,提出了一種新的look forward twice方案,用后面的層的梯度來修正更新后的參數

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

DINO-DETR的整體架構如上圖所示,首先通過backbone得到多尺度的特征,然后給特征加上位置編碼,將他們喂給Transformer Encoder得到增強后的特征。在decoder之前,作者將原本的decoder query視作兩個部分,位置query和內容query。作者提出了一種新的混合的query selection策略來初始化作為位置query的anchors,但是內容query不會初始化(仍然是可學習的使它們保持可學習性)。通過這些用初始化后的anchors(位置)和可學習的內容query, 作者使用Deformable-DETR的deformable attention來組合來自encoder輸出的特征,逐層更新decoder query。最終網絡通過內容query預測refined anchor boxes和分類等結果。同時作者改進了DN-DETR,提出了一個對比去噪訓練的方法,在DN-DETR的基礎上將困難負樣本考慮在內。最后為了充分利用后層refined box的信息來優化緊鄰的前一層的網絡參數,作者還提出了一個look forward twice方法。下面分別詳細講講上述提到的幾個改進。

對比去噪訓練

DN-detr的去噪訓練幫助網絡學習基于那些在gt boxes周圍的anchors進行預測。但是它沒有考慮去預測“no object"的情況,即那些anchors周圍沒有gt boxes的時候,應該預測出負例。因此作者在DN-DETR的基礎上額外構造了負樣本,即提出Contrastive DeNoising (CDN)。

在實現上,DINO-DETR擁有兩個超參數 λ1,λ2(λ1<λ2) 用于控制正負噪聲樣本的生成,而DN-DETR只有一個超參數 λ ,DN-DETR控制生成的噪聲不超過 λ 并期望網絡可以用在gts附近的輕微噪聲querys去重構出gts。

如下圖右側所示的同心正方形,DINO-DETR構造正負兩種類型的CDN queries,其中positive queries在內部方形,有著比 λ1 更小的噪聲scale, 用于重構出他們對應的gts;negative queries在內部方形和外部方形之間,即噪聲scale在λ1,λ2(λ1<λ2)之間。作者表示可以通過更小的 λ2 構造困難負樣本來提高模型性能。一個CND group可以包含多個正樣本和負樣本,例如一張圖片有n個gts, 每個gt有一正一負兩個噪聲樣本,那么一個CND group有2xn個queries。

該方法之所以有效,是因為它可以抑制混淆,并選擇高質量的anchors(查詢)來預測邊界框。當多個anchors靠近一個對象時,就會發生混淆,在這種情況下,模型很難決定選擇哪個錨點。這種混淆可能會導致兩個問題:

  1. 第一個是重復的預測。雖然detr類的模型可以通過基于集合的損失和自我注意的幫助來抑制重復的盒子,但這種能力是有限。使用CDN查詢,可以區分anchors之間的細微差別,并避免重復的預測
  2. 第二個問題是,一個遠離GT并且不應該被選擇的某個anchor可能會被選擇上,雖然去噪訓練改進了模型來選擇附近的anchor。但CDN通過讓模型拒絕更遠的anchor,進一步提高了這種能力。

混合查詢選擇

如(a)所示,在DETR 、DN-DETR 和DAB-DETR 中,解碼器查詢是靜態嵌入,而不從圖像中獲取任何編碼器特征,它們直接從訓練數據中學習位置和內容查詢,并將內容查詢設置為全部都是0的tensor;Deformable Detr的其中一個變體(two-stage),它從編碼器最后輸出中選擇前K個編碼器特征作為先驗,以增強解碼器查詢。如圖(b)所示,位置查詢和內容查詢都是通過對所選特性的線性變換生成的。此外,這些被選中的特征被輸送到一個輔助檢測頭,以獲得預測方框,并將其用于初始化參考方框。

在DINO中,只使用與所選 Top-K 特征相關的位置信息來初始化錨點框,而內容查詢則保持不變,如圖(c)所示(Deformable DETR 不僅利用 Top-K 特征來增強位置查詢,還增強了內容查詢)

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

內容查詢保持不變的原因:由于所選特征是未經進一步完善的初步內容特征,它們可能會含糊不清并誤導解碼器。例如,一個選定的特征可能包含多個對象,也可能只是一個對象的一部分。與此相反,我們的混合查詢選擇方法只用前 K 個選定特征來增強位置查詢,并保持內容查詢的可學習性。這有助于模型利用更好的位置信息,從編碼器中匯集更全面的內容特征。

look forward twice

傳統的decoder layer每層分別優化看做look forward once模式(如Deformable DETR其中的一個變體),其中 b i ? 1 b_{i?1} bi?1?是上一層的錨框預測,經過Layer i (Decoder的box_head的修正)后得出偏移量Δ b i b_{i} bi? ,來得到新的參考點 b i ’ b_{i}’ bi?,進一步得到預測值 b i p r e d b_{i}^{pred} bipred? ,預測值會在輔助頭進行損失計算并進行反向傳播(只在本層進行梯度反向傳播,梯度不會回傳到前一層),當前層的預測點作為后一層的參考點(即 b i b_{i} bi?的值和 b i ’ b_{i}’ bi?的值是一樣的),虛線表示梯度被截斷,所以梯度不會回傳到前一層(Deformable detr認為如果不進行隔斷處理的話,會導致網絡非常難以學習)。

作者認為來自后一層的改進box的信息可以幫助校準其相鄰的前一層的預測結果。所以他相當于讓每層預測的結果往后多傳遞了一層,也就是 b i ? 1 p r e d b_{i?1}^{pred} bi?1pred? 是根據前一層的參考點 b i ? 1 ’ b_{i?1}’ bi?1?和Δ b i b_{i} bi?得到的(如圖b),這樣預測進行反向傳播的時候,梯度會傳回到前一層。(這樣做的原因:因為最終取得的結果是最后一層的prediction,所以希望前面的層在優化的時候也會考慮一下后面的層,通過試驗得到forward兩次效果最好)

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

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

相關文章

深度學習-162-DeepSeek之調用遠程大模型API接口參數結構分析

文章目錄 1 文本對話請求1.1 請求參數1.1.1 參數說明1.1.2 參數總結1.2 返回參數1.2.1 id1.2.2 choices1.2.3 usage1.2.4 created1.2.5 model1.2.6 object1.2.7 參數總結2 應用示例2.1 調用大模型API2.2 返回結果3 參考附錄分析文本對話請求v1/chat/completions的參數結構含義。…

uniapp原生插件

前言 使用uniapp開發Android app時&#xff0c;一些特定的需求沒辦法實現的時候就只能開發原生插件或者uts插件去滿足需求&#xff0c;我的需求目前uts插件沒法實現&#xff0c;只能靠原生插件了&#x1f606; 需求&#xff1a;拍照不保存圖片到相冊&#xff0c;uniapp的API或…

CVE-2024-42323

漏洞名稱 Apache HertzBeat SnakeYaml 反序列化遠程代碼執行漏洞&#xff08;CVE-2024-42323&#xff09; 漏洞描述 Apache HertzBeat 是一款開源的實時監控告警工具&#xff0c;支持對操作系統、中間件、數據庫等多種對象進行監控&#xff0c;并提供 Web 界面進行管理。 在…

“人工智能+多學科”選題思路,2025熱點AI+(180個)

給大家整理了一份超全的論文資料合集 不僅有論文創新點的干貨知識、開題報告模板、文獻綜述模板、審稿意見回復模板、還有全套的SCI論文寫作指導教程和人工智能各方向經典的論文合集以及各大熱門科研和論文寫作潤色工具等 以及1000G人工智能資料包&#xff08;如下圖&#xff…

LangChain4j入門AI(八)使用RAG增加私有知識庫

前言 我們通過提示詞工程提升了通用LLM的專業知識水平&#xff0c;并結合Function Calling構建了私有業務能力。為了在實際應用中有效維護私有領域的專有數據&#xff0c;我們進一步采用大模型微調或RAG檢索增強技術&#xff0c;使LLM能夠充分掌握私有知識庫的內容。 一、微調…

使用arXiv.org上的資源進行學術研究

arXiv.org e-Print archive arXiv.org 是一個收集物理學、數學、計算機科學、定量生物學、定量金融學和統計學等領域學術論文預印本的網站&#xff0c;其使命是促進科學文獻的傳播與交流。以下是關于該網站的詳細介紹&#xff1a; 核心定位與功能 學術預印本平臺&#xff1a…

Redis 中的緩存擊穿、緩存穿透和緩存雪崩是什么?

在 Redis 中&#xff0c;緩存擊穿、緩存穿透和緩存雪崩是常見的緩存問題&#xff0c;它們都會影響系統的性能和穩定性。以下是針對這三個問題的詳細解釋&#xff1a; 一、緩存擊穿&#xff08;Cache Breakdown&#xff09; 定義&#xff1a;緩存擊穿是指某個熱點數據在緩存中…

RabbitMQ配置環境變量

一、RabbitMQ下載 1、從官網下載 在官網中下載&#xff0c;適合自己電腦的版本。我直接下載的windows版本。 然后下載opt這個軟件這個版本適合3.6.3的RabbitMQ&#xff0c;點擊藍色的字體即可下載。 2、安裝erlang 當你雙擊安裝程序并進入安裝向導后&#xff0c;會看到這樣…

基于vue框架的東莞市二手相機交易管理系統5yz0u(程序+源碼+數據庫+調試部署+開發環境)帶論文文檔1萬字以上,文末可獲取,系統界面在最后面。

系統程序文件列表 項目功能&#xff1a;用戶,相機分類,二手相機 開題報告內容 基于FlaskVue框架的東莞市二手相機交易管理系統開題報告 一、研究背景與意義 1.1 研究背景 隨著數字技術的迅猛發展和攝影文化的廣泛普及&#xff0c;相機已成為人們記錄生活、表達創意的重要工…

dify調用Streamable HTTP MCP應用

一、概述 上一篇文章&#xff0c;介紹了使用python開發Streamable HTTP MCP應用&#xff0c;鏈接&#xff1a;https://www.cnblogs.com/xiao987334176/p/18872195 接下來介紹dify如何調用MCP 二、插件 安裝插件 需要安裝2個插件&#xff0c;分別是&#xff1a;Agent 策略(支持 …

筆記:將一個文件服務器上的文件(一個返回文件數據的url)作為另一個http接口的請求參數

筆記&#xff1a;將一個文件服務器上的文件&#xff08;一個返回文件數據的url&#xff09;作為另一個http接口的請求參數 最近有這么個需求&#xff0c;需要往某一個業務的外部接口上傳文件信息&#xff0c;但是現在沒有現成的文件&#xff0c;只在數據庫存了對應的url&#…

如何在 FastAPI 中合理使用 Pydantic 的 Alias

下面的內容是我跟 Gemini 2.5 Pro 探討關于Pydantic 的 Alias 問題之后&#xff0c;讓它總結的一篇技術博客。 我已經有很長一段時間沒有好好寫技術類的博客了&#xff0c;這就是原因。 可以在 https://panzhixiang.cn/ 查看更多我的博客&#xff0c;有技術的&#xff0c;也有很…

CAU人工智能class4 批次歸一化

歸一化 在對輸入數據進行預處理時會用到歸一化&#xff0c;將輸入數據的范圍收縮到0到1之間&#xff0c;這有利于避免綱量對模型訓練產生的影響。 但當模型過深時會產生下述問題&#xff1a; 當一個學習系統的輸入分布發生變化時&#xff0c;這種現象稱之為“內部協變量偏移”…

動態庫和靜態庫詳解

庫其實就是個文件 下面是文件后綴 靜態庫&#xff1a;.a(linux) .lib(windows) 動態庫&#xff1a;.so(linux) .dll(windows) 靜態庫的制作 ar -rc libmystdio.a my_stdio.o my_string.o ar是歸檔工具&#xff0c;rc表示replace和create&#xff0c;ar跟tar有點…

PDF 文檔結構化工具對比:Marker 與 MinerU

模型訓練數據-MinerU一款Pdf轉Markdown軟件 https://codeyuan.blog.csdn.net/article/details/144315141 在當前大模型&#xff08;LLM&#xff09;和自然語言處理&#xff08;NLP&#xff09;應用快速發展的背景下&#xff0c;如何高效地將 PDF 等非結構化文檔轉換為結構化數…

shp2pgsql 導入 Shp 到 PostGIS 空間數據庫

前言 ? shp2pgsql是PostGIS自帶的命令行工具&#xff0c;用于將Shapefile文件聲稱SQL腳本導入到PostGIS空間數據庫。 1. 安裝 PostGIS 通過Application Stack Builder或者下載單獨的PostGIS包進行安裝。而shp2pgsql則是與PostGIS工具集成在一起&#xff0c;無需單獨下載。該命…

【ISP算法精粹】什么是global tone mapping和local tone mapping?

1. 簡介 全局色調映射&#xff08;Global Tone Mapping&#xff09;和局部色調映射&#xff08;Local Tone Mapping&#xff09;是高動態范圍&#xff08;HDR&#xff09;圖像處理中的兩種關鍵技術&#xff0c;用于將高動態范圍圖像的亮度值映射到標準動態范圍&#xff08;LDR…

虛擬環境中VSCode運行jupyter文件

用VS Code打開jupyter文件&#xff0c;點擊右上角 Select Kernel 在正上方會出現這個選擇框&#xff0c;選擇 Python Environment 會出來所有的虛擬環境&#xff0c;選擇要用的環境行

如何計算VLLM本地部署Qwen3-4B的GPU最小配置應該是多少?多人并發訪問本地大模型的GPU配置應該怎么分配?

本文一定要閱讀我上篇文章&#xff01;&#xff01;&#xff01; 超詳細VLLM框架部署qwen3-4B加混合推理探索&#xff01;&#xff01;&#xff01;-CSDN博客 本文是基于上篇文章遺留下的問題進行說明的。 一、本文解決的問題 問題1&#xff1a;我明明只部署了qwen3-4B的模型…

antv/g6 圖譜封裝配置(二)

繼上次實現圖譜后&#xff0c;后續發現如果要繼續加入不同樣式的圖譜實現起來太過麻煩&#xff0c;因此考慮將配置項全部提取封裝到js文件中&#xff0c;圖譜組件只專注于實現各種不同的組件&#xff0c;其中主要封裝的點就是各個節點的橫坐標&#xff08;x&#xff09;,縱坐標…