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