CVPR 2022 Oral | 目標檢測新工作!南大開源AdaMixer:快速收斂的基于查詢的目標檢測器
作者:王利民 | 已授權轉載(源:知乎)編輯:CVer
https://zhuanlan.zhihu.com/p/493049779
AdaMixer: A Fast-Converging Query-Based Object Detector
代碼:https://github.com/MCG-NJU/AdaMixer
論文(剛剛開源):
https://arxiv.org/abs/2203.16507
本文介紹一下我們在目標檢測的新工作AdaMixer,通過增強檢測器的自適應建模能力來加速query-based檢測器(類DETR檢測器和Sparse RCNN)的收斂和最終的表現效果,并且使模型架構維持在一個相對簡單的結構上。我們提出了一系列技術來增強query-based檢測器的decoder解碼部分,包括3D特征空間采樣和動態MLP-Mixer檢測頭,這使得我們免于引入設計繁重、計算量大的各種注意力編碼器(attentional encoder),或者特征金字塔式的多尺度交互網絡,在保持效果的同時(其實我們超越了很多之前的模型),進一步簡化了基于query的檢測器的結構。
研究動機首先,我們簡單介紹一下我們的研究動機。現在基于query的檢測器成為學術研究的熱點,其通過query集合(有的文章也稱proposal集合)和圖像特征圖的迭代交互抽取特征,不斷完善query本身的語義,使其能夠在matching loss下完成query對object的一對一cls和bbox預測。基于query的檢測器不需要后續的NMS操作,使得整個檢測流程更為簡單和優雅。但是我們發現,基于query的檢測器,尤其是類DETR檢測器,其通常引入了多層的注意力編碼器(attentional encoder),這些注意力編碼器對每個像素密集地進行全局或者局部的注意力計算,引入了較大的運算量,且不易于拓展到高分辨率的特征圖上,由此帶來了小物體檢測困難的問題,而且可能會帶來訓練時長的困擾。Sparse R-CNN流派引入了顯式的特征金字塔網絡FPN來增強對小物體的建模,但同樣的,特征金字塔網絡會引入額外的計算量。我們覺得在backbone和decoder之間加入額外的網絡其實有些不優雅,而且這和用query做檢測的目標有點相違背了。如果檢測器需要厚重的密集編碼器的話,那用數量少的query通過decoder可以檢測物體作為模型的亮點就有點南轅北轍了。出現這些問題的根本原因還是decoder不夠強勢,需要encoder的建模能力來彌補,所以我們的方法的根本動機就是增強decoder的能力,使檢測器盡量避免引入各種encoder。
但如何增強decoder的能力呢,尤其是對不同圖像不同目標的多樣化建模能力?這個問題對只使用稀疏且數量限制的query的****至關重要。回顧典型的query decoder本身,是一個基于transformer decoder的結構,首先將query和query之間做self attention,而后query和圖像特征feat做交互,然后每個query再過FFN。而這些初始的query雖然一般都是可學習的向量,但在inference時就固定下來,無法對不同的輸入而變化(雖然現在有潮流把初始的query由類RPN產生),所以如何保證query decoder本身的解碼機制對不同圖片輸入不同物體的自適應能力就成了一個問題。為此,我們提出從兩個方面來改進這種基于query的目標檢測器:采樣位置的自適應能力和解碼特征的自適應能力,對應著就是我們提出的3D特征空間采樣和動態MLP-Mixer檢測頭。
方法我們簡單介紹一下我們的AdaMixer檢測器兩個代表性的創新點,以利于讀者迅速抓取到我們方法的脈絡。有些細節在此忽略了,具體可以查看原文。
自適應的特征采樣位置與現在其他方法一樣,我們把query解耦成兩個向量,分別是內容向量(content vector)和位置向量(positional vector),其中query代表著的框可以由位置向量解碼而來。在每一個stage,query decoder都會更新refine這兩個向量。值得注意的是,我們對位置向量采用的參數化并不是常用框的lrtb坐標或是ccwh坐標,而是xyzr形式,其中z代表著框大小的對數,r代表著框長寬比的對數,這種參數化形式的xyz可以直接讓我們的query可以與多層級特征所形成的3D特征空間進行聯系。如上圖所示,3D特征空間中的query坐標自然由xyz決定,自適應3D特征采樣首先由query根據自己的內容向量生成多組offset,再在3D特征空間上進行對應點的插值采樣得到對應的特征,3D特征空間有益于我們的方法統一自適應地學習目標物體的位置和尺度的變化。注意這一步是不需要任何多尺度交互網絡的。
自適應的采樣內容解碼對于一個query而言上述步驟采集到的特征形狀為 ,其中 為采樣點的個數, 是通道數量,我們在MLP-Mixer的啟發下提出了逐query的自適應通道和空間mixing操作(adaptive channel mixing,ACM和adaptive spatial mixing,ASM)。具體來說,我們的decoder用動態依賴于query的權重去沿兩個維度(通道 和空間 )mixing采集到的特征,由于采集的特征可能來自于不同層級的特征圖,這樣的mixing操作自然賦予了decoder多尺度交互建模的能力。
我們的AdaMixer****總結構如上圖,雖然看起來有一點繁瑣,但是在內容向量上的操作基本構造還是和Transformer decoder是一致的,位置向量可以簡單地視為在一個stage內參與坐標變換和計算,然后在一個stage的末尾再更新。
總的AdaMixer檢測器只由兩個主要部分構成:其一是主干網絡,其二是我們所提出來的AdaMixer****,不需要額外的注意力編碼器以及顯式的多尺度建模網絡。
結果實驗結果在當時投稿時還是比較精彩的,在12 epoch的訓練條件下,我們的表現超過了其他檢測器(包括傳統以及基于query的檢測器),其中N為query的數量,證明了我們的方法的收斂速度和最終效果。而且我們的12 epoch在8卡V100上實際訓練時間還是比較快的,只要9小時。
在與跟其他query-based檢測器相比下,我們也有更好的表現,而且我們是表中唯一不需要額外的注意力編碼器或者金字塔特征網絡的模型。
我們做了比較豐富的消融實驗來驗證我們提出的各個模塊的有效性。在此,我們選一些有代表性的消融實驗來進行討論。
表(a)是對我們方法核心所需的自適應性的探究,不管是采樣位置(loc.)還是解碼內容(cont.)的適應性都對我們最終模型的表現有著大幅的影響。
表(b)是對我們提出的adaptive mixing的探究,動態通道混合(ACM)和動態空間混合(ASM)的順序組合是最佳選擇。
表(c)是我們的AdaMixer再加上不同的多尺度交互網絡的效果,我們很驚訝地發現不加額外的金字塔網絡居然效果還比較好,我們猜測可能是因為我們的AdaMixer****自然具有多尺度交互的能力且額外的金字塔網絡有著更多的參數需要更多的訓練時間來收斂。
表8進一步探究了3D特征空間采樣。注意到表8中實驗模型都沒有配備FPN網絡,在這種情況下RoIAlign的表現效果較差在我們的情理之中。自適應2D采樣(不學習z方向上的offset)的模型落后了3D特征空間采樣將近1.5個AP,說明了3D采樣尤其是z方向上學習offset的必要性。另外,另一個很有意思的結論是只用C4特征要比C5要好,這可能歸功于C4特征的分辨率較大。而且只用C4特征時,可以把ResNet的后續特征提取階段直接砍掉(因為沒有FPN,也用不到C5特征圖了),這可能代表著此類檢測器輕量化可以涉及的方向?我們還未做過多探究。
總結我們提出了一個具有相對簡單結構、快速收斂且表現不俗的檢測器AdaMixer,通過改善****對目標物體的自適應解碼能力,我們的AdaMixer無需引入厚重的注意力編碼器以及顯式的多尺度交互網絡。我們希望AdaMixer可以作為后續基于query的檢測器簡單有效的基線模型。
本文僅做學術分享,如有侵權,請聯系刪文。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。