騰訊實驗室提出GOLO | 實在優(yōu)雅!一個簡潔的像YOLO的DETR目標(biāo)檢測器來啦?。?/h1>
點擊下方卡片,關(guān)注「AI視界引擎」公眾號
自從DETR發(fā)布以來,基于 Query 的目標(biāo)檢測器已經(jīng)取得了顯著的進展。然而,大多數(shù)現(xiàn)有方法仍然依賴于多階段的編碼器和解碼器,或者兩者的結(jié)合。盡管多階段范式(通常包括6個階段)可以實現(xiàn)高精度,但它面臨諸如重計算負擔(dān)等問題,這促使作者重新考慮其必要性。
在本文中,作者探索了多種增強基于 Query 的檢測器的技術(shù),并基于這些發(fā)現(xiàn)提出了一種名為GOLO(Global Once and Local Once)的新模型,該模型遵循了一個兩階段的解碼范式。與其他主流的基于 Query 的模型相比,作者的模型在使用更少的解碼器階段的情況下仍然能夠取得相當(dāng)好的性能。在COCO數(shù)據(jù)集上的實驗結(jié)果證明了作者方法的有效性。
1、簡介
目標(biāo)檢測是計算機視覺中的一個關(guān)鍵任務(wù),涉及在圖像中定位和分類目標(biāo)。卷積神經(jīng)網(wǎng)絡(luò)在這個領(lǐng)域表現(xiàn)出色。然而,這些模型在訓(xùn)練和推斷過程中仍然依賴于許多手工設(shè)計的組件,限制了它們的靈活性和泛化能力。
基于 Query 的檢測器的出現(xiàn),如DETR,引入了一類新的目標(biāo)檢測器,消除了像NMS這樣的手工設(shè)計組件的需要。這些模型以其簡單性和高性能而聞名。然而,它們通常嚴(yán)重依賴于多階段編碼器或解碼器,通常由六個階段組成。在其中,多階段解碼器被認(rèn)為比多階段編碼器更關(guān)鍵,這可以通過各種檢測器來證明。盡管這些多階段解碼器起著至關(guān)重要的作用,但多個階段的引入導(dǎo)致了計算復(fù)雜性的增加、訓(xùn)練時間的延長和推斷速度的減慢。然而,由于基于 Query 的檢測器在訓(xùn)練和推斷過程中依賴于逐步和動態(tài)的精細化,多階段解碼器對于實現(xiàn)所需的性能至關(guān)重要。
鑒于這一挑戰(zhàn),問題就出現(xiàn)了:作者如何減少階段的數(shù)量并提高基于 Query 的檢測器的效率?
在這項工作中,作者提出了一個名為GOLO(Global Once and Local Once)的兩階段解決方案,以解決作者的關(guān)切。全局定位和局部細化的結(jié)合將作為消除多階段范式需求的方向。如圖1右側(cè)所示,GOLO首先在全局尺度上粗略定位感興趣區(qū)域(RoIs),然后在局部尺度上對每個RoI執(zhí)行精確的回歸和分類。每個階段都包括了若干創(chuàng)新技術(shù)。
在全局目標(biāo)定位階段,作者提出了一種有效的方法,將來自多個尺度的特征進行整合,使得每個 Query 能夠以相對較低的成本逐漸感知整個圖像的多尺度特征。同時,作者采用了一個二分類方案來區(qū)分前景和背景,而不考慮具體的目標(biāo)類別,這加速了模型在早期訓(xùn)練階段的收斂,而不會影響性能。
此外,與隨機初始化相比,作者設(shè)計了一個基于元學(xué)習(xí)的 Query 初始化方法,以在最小成本的情況下增強了初始化 Query 之間的相關(guān)性,從而提高了訓(xùn)練效果。作者還開發(fā)了一種雙向自適應(yīng)采樣方法,允許更有效地利用與尺度相關(guān)的信息,并促進了從Backbone特征圖中全局整合特征的過程,這也在后續(xù)的局部階段中使用。
在局部細化階段,作者設(shè)計了一種基于 Query 引導(dǎo)的特征增強方法,旨在更好地增強基于區(qū)域的特征。此外,作者設(shè)計了一種增強的損失策略,有助于實現(xiàn)更好的模型優(yōu)化,這在之前的全局階段中也是有效的。通過全面應(yīng)用這兩種創(chuàng)新技術(shù),作者能夠在只進行一次局部細化過程的情況下實現(xiàn)令人滿意的檢測結(jié)果。
將所有上述改進納入考慮,作者成功將模型的解碼器階段減少到只有兩個:一個全局階段和一個局部階段。這種減少在計算成本和推斷準(zhǔn)確性之間取得了良好的平衡。在COCO數(shù)據(jù)集上的廣泛實驗驗證了作者提出的方法的有效性。
2、Query 設(shè)計范式
目前,解釋和初始化 Query 的基于 Query 的目標(biāo)檢測器主要有3種設(shè)計范式,如圖1所示。
普通目標(biāo) Query
第一種范式是通過對隨機初始化的 Query 應(yīng)用一系列操作后,從最終輸出的 Query 中解碼目標(biāo)分類和邊界框,類似于原始的DETR架構(gòu)。
分離 Query
第二種范式將 Query 的內(nèi)容向量和空間向量分開,同時優(yōu)化它們,然后使用它們分別解碼目標(biāo)的分類和邊界框。雖然這種設(shè)計減少了優(yōu)化難度并提高了模型性能,但其空間向量的初始化通常獨立于圖像,并需要多次迭代才能接近地面真值。存在一些方法試圖從密集特征中選擇初始 Query (或空間向量),但它們要么引入了手工設(shè)計的組件,要么需要更大的計算資源。
本文的方法
與前兩種范式相比,作者為 Query 提供了一種不同的設(shè)計。作者首先使用全局階段使 Query 能夠區(qū)分前景和背景,并估計大致的目標(biāo)邊界框。然后,作者允許 Query 使用局部階段完成基于區(qū)域的詳細分類和回歸。這種方法有助于實現(xiàn)更好的訓(xùn)練收斂性,并與傳統(tǒng)的兩階段目標(biāo)檢測范式相一致。
3、提出的方法
作者提出的模型GOLO遵循基于 Query 的范式,但試圖只使用兩個解碼器階段,一個全局階段和一個局部階段,以實現(xiàn)可比較的性能。
3.1、總體流程
如圖2所示,作者的模型完全以基于 Query 的方式運行。它由兩個主要階段組成:全局目標(biāo)定位和局部特征引導(dǎo)細化。
-
在第一階段中,執(zhí)行全局目標(biāo)定位以生成一組候選感興趣區(qū)域(RoIs),這有助于避免由于 Query 初始化的隨機性而需要級聯(lián)解碼器。
-
在第二階段中,利用RoIs獲取局部獨特特征,用于細化最終的分類和邊界框回歸。
3.2、全局定位
詳細的主要結(jié)構(gòu)
該階段包括以下主要組件:交叉注意力、自注意力、點狀特征采樣和混合。所有這些組件都在圖3中進行了說明。交叉注意力和自注意力采用了多頭注意力機制。為了便于點狀特征采樣和混合,作者首先使用作者提出的雙向自適應(yīng)采樣方法來獲取加權(quán)特征。稍后將提供有關(guān)該方法的全面介紹。然后,作者執(zhí)行自適應(yīng)通道混合和自適應(yīng)空間混合,與原始論文保持一致的參數(shù)設(shè)置。
有必要詳細解釋作者的交叉注意力是如何實現(xiàn)的,因為它使每個 Query 能夠感知圖像的全局信息并定位其自己對應(yīng)的RoI。作者利用目標(biāo) Query Q以及來自圖像的特征K和V,其中K和V來自前述的多尺度特征融合。交叉注意力操作可以表示如下:
其中Q是由n個不同目標(biāo) Query
組成的矩陣,
是目標(biāo) Query 的總數(shù)。
和
是從多尺度特征融合輸出進行線性變換得到的。線性變換應(yīng)用于
的最后一個維度,得到一個變量
。然后分離
的最后一個維度,并將分離變量的第一和第二維度展平,分別得到
和
,其形狀與
相同。
在交叉注意力之后,下一步是自注意力,它有助于在 Query 之間交換信息。這個機制使每個 Query 能夠識別最合適的匹配并做出明智的分類決策。交叉注意力和自注意力機制的結(jié)合為 Query 提供了定位和分類所需的信息,使其能夠更有效地關(guān)注輸入的相關(guān)區(qū)域。
為了進一步增強 Query 提取和表示信息的能力,在該階段的最后一步作者執(zhí)行了一輪點狀特征采樣和混合。這允許每個 Query 從整個圖像中提取特征并將其與自己的特征融合,提高了定位和前景/背景區(qū)分的準(zhǔn)確性。
基于元學(xué)習(xí)的 Query 初始化
作者假設(shè)目標(biāo) Query 應(yīng)該隱含地包含有關(guān)目標(biāo)的基本條件的組合,比如它們的基本視覺特征(例如顏色、形狀、大小、方向等)。這些獨特的組合因不同 Query 而異,負責(zé)區(qū)分不同的目標(biāo)。
基于上述考慮,作者提出引入一組代表前述基本特征的"元"向量。通過這樣做,可以將目標(biāo) Query 表示為這些"元"向量的線性組合。
具體來說,作者引入了一組維度為
的可學(xué)習(xí)"元"向量,它們表示目標(biāo)的基本視覺特征。作者默認(rèn)設(shè)置
,
。這些"元"向量被線性組合成目標(biāo) Query 。更正式地,假設(shè)
表示目標(biāo) Query ,作者可以將每個 Query
表示為
個"元"向量
的線性組合:
其中
是分配給第
個 Query 的第
個"元"向量的權(quán)重。在訓(xùn)練過程中,"元"向量
和權(quán)重
都是可學(xué)習(xí)的。實驗證明,這種初始化可以在訓(xùn)練過程中改善目標(biāo)特征的表示,并導(dǎo)致更好的模型性能。
多尺度特征融合
作者使用這個模塊來從Backbone網(wǎng)絡(luò)中匯集不同尺度的特征,用于對圖像進行粗略的全局目標(biāo)定位。作者使用ResNet架構(gòu)作為Backbone網(wǎng)絡(luò),從輸入圖像生成多尺度的特征圖。作者在模型中包括P2-P5 Level,每個Level的分辨率是前一個Level的一半,由256個通道組成。所有特征圖都進行通道變換,以與最小特征圖相同的大小生成全局特征圖,其大小為
,其中
和
是最小特征圖的高度和寬度,
是通道數(shù),通常為256,
表示在特征圖上的相同位置輸出的Kernel數(shù)量,默認(rèn)設(shè)置為64。詳細過程如圖4所示。
請注意,作者的方法與Featurized Query R-CNN或DINO中提出的方法不同。在那些工作中,他們嘗試基于從特征圖中選擇的特征定義規(guī)則。然后使用這些選定的特征使用某些初始化技術(shù)初始化 Query 。此過程涉及到多個手動設(shè)計的組件,例如閾值選擇或前k點選擇。
相反,作者的方法旨在通過上述方法直接全局感知整個圖像特征。隨后,通過在全局階段的訓(xùn)練, Query 可以自動區(qū)分前景區(qū)域。整個過程不涉及任何手動組件??紤]到基于 Query 的檢測器的一個主要優(yōu)勢是其設(shè)計的簡單性以及它們在實際應(yīng)用中帶來的穩(wěn)健性,作者認(rèn)為作者的設(shè)計更符合發(fā)展趨勢。
雙向自適應(yīng)采樣
在全局或局部階段的自注意力之后,作者根據(jù) Query 自身的特征對Backbone特征圖執(zhí)行自適應(yīng)特征采樣,然后融合采樣的特征以增強 Query 。融合過程使用了自適應(yīng)通道混合和自適應(yīng)空間混合。但是考慮到采樣方法,它可能不太適用于具有顯著寬高比差異的目標(biāo)。在這種情況下,需要考慮一種更合理的多尺度特征采樣方法。
假設(shè)目標(biāo)的邊界框具有寬度和高度
。在不好的情況下,
和
的尺度可能會顯著不同,比如
?
。在這種情況下,應(yīng)該選擇
和
方向上不同尺度的特征。因此,作者提出了雙向自適應(yīng)采樣,以根據(jù) Query 生成的雙向尺度信息對Backbone特征圖上的特征進行采樣。
具體來說,作者將特征圖的
軸坐標(biāo)表示為
,其中
是第
個特征圖的下采樣步幅。設(shè)
是 Query
的線性變換
,
和
是 Query 要采樣的點的平面坐標(biāo),
和
分別是它們在
和
方向上的
軸方向的坐標(biāo),
是要采樣的點的數(shù)量。然后,作者的加權(quán)采樣可以表示如下:
是特征圖的總數(shù)。
是通過標(biāo)準(zhǔn)差為2的高斯函數(shù)計算的分配給第
個特征圖的權(quán)重:
是第
個特征圖中點
處的特征值,
是加權(quán)采樣的特征。通過使用這種雙向自適應(yīng)采樣方法,作者斷言獲得的采樣特征更適合 Query
。
3.3、局部細化
詳細結(jié)構(gòu)
局部細化階段也包括三個階段:Query 引導(dǎo)的特征增強(QGFE),自注意力和逐點特征采樣和混合,如圖5所示。在第一個階段中,從上一個階段獲得的RoI框B用于從Backbone特征中提取每個RoI內(nèi)的圖像特征。作者使用RoIAlign來完成這一步。然后,將提取的特征與來自上一個階段的目標(biāo) Query
交互和融合,以將RoI特征合并到 Query 中。
在特征融合之后,與全局定位階段類似,局部細化階段中的 Query 經(jīng)歷自注意力機制以交換信息,主要目的是提高分類性能。然后,進行一輪逐點特征采樣和混合,以加強 Query 中包含的信息。最后,使用分類Head和框Head分別獲得每個 Query 的分類和邊界框回歸結(jié)果。Head設(shè)置與Faster R-CNN相同。
Query 引導(dǎo)的特征增強
形式上,對于給定的 Query
,其來自RoIAlign的相應(yīng)特征被表示為fi,具有維度
,讓
是關(guān)于
的 Query 引導(dǎo)的特征增強,
其中在算法1中詳細說明了QGFE的計算過程,考慮了 Query 和其RoI特征的一對。它根據(jù) Query 的信息自適應(yīng)增強了ROI特征。讓
是將
進行兩次線性變換的結(jié)果,其中包括層歸一化和ReLU激活:
其中
和
是兩次線性變換,LN表示層歸一化,ReLU表示修正線性單元。區(qū)域融合的 Query
通過逐元素相加
,
和
獲得,即
4、損失增強策略
作者的模型在全局和局部階段均采用匹配損失進行訓(xùn)練監(jiān)督,定義為:
其中
,
和
分別表示分類損失,L1回歸損失和GIoU損失。超參數(shù)
,
和
控制它們的相對重要性。
作者還在兩個階段中都使用輔助損失,
和
,用于目標(biāo)定位和分類。在每個階段中考慮了三個步驟:與圖像特征的交叉注意力(或特征融合),沒有圖像交互的自注意力以及具有采樣的尺度感知細化。重要的是要注意,第二步自注意力不依賴于圖像特征的交互,這意味著 Query 在第一步之后應(yīng)該已經(jīng)具備了定位目標(biāo)所需的信息。
此外,自注意力的主要目的是讓 Query 相互交流,確定最佳匹配并為每個 Query 做出分類決策,而不是目標(biāo)定位。
受此啟發(fā),作者在兩個階段中的第一步和第二步分別引入了輔助邊界框損失和分類損失,用于目標(biāo)定位和分類。這些損失的真實值由每個階段中的最終匹配關(guān)系確定,確保了一致的定位和分類。這種方法不僅加快了訓(xùn)練過程中的收斂速度,還將性能提高了0.2 AP。
總損失L是匹配損失和輔助損失的線性組合:
1、SOTA實驗
作者提出的GOLO與其他傳統(tǒng)或基于 Query 的模型的性能比較如表1所示。為了確保公平比較,作者對解碼器階段的數(shù)量設(shè)置了限制,最多允許兩個階段。這個限制在各種模型中都一致地應(yīng)用。在Faster R-CNN中,這兩個階段由RPN和Faster RCNN表示。同樣,在Sparse RCNN和Adamixer中,作者明確將迭代解碼器階段的數(shù)量設(shè)置為兩個。在作者的模型GOLO中,解碼器包括一個全局定位階段和一個局部細化階段。
作者的實驗結(jié)果表明,作者提出的模型在將解碼器階段數(shù)量限制為2時實現(xiàn)了42.8的高AP,這是最好的性能。這證明了作者的策略,即首先執(zhí)行全局定位,然后進行局部細化,對于基于 Query 的目標(biāo)檢測器來說是有效的。
具體而言,GOLO比兩階段的Sparse R-CNN和Adamixer分別高出8.2 AP和2.3 AP。值得注意的是,使用ResNet-50Backbone,GOLO勝過了使用ResNet-101的經(jīng)典Faster R-CNN。這些發(fā)現(xiàn)突顯了作者的整體設(shè)計在具有有限解碼器階段的情況下的有效性,這正是作者工作的重點。
2、消融實驗
在本節(jié)中,作者分析了GOLO中的關(guān)鍵創(chuàng)新。在所有實驗中,作者使用ResNet-50作為Backbone網(wǎng)絡(luò),并訓(xùn)練模型36個Epoch。
Query 數(shù)量
作者研究了改變 Query 數(shù)量對GOLO性能的影響,以在計算成本和性能之間找到平衡。如表2所示,將 Query 數(shù)量從100增加到300導(dǎo)致AP增加了3.1,但進一步增加到500并沒有導(dǎo)致顯著改善。因此,作者采用300個 Query 作為默認(rèn)配置。
基于元啟發(fā)式 Query 初始化的影響
與以前的基于 Query 的檢測器不同,GOLO使用一組“元”向量來初始化 Query 。作者在表3中研究了基于元的 Query 初始化的影響,發(fā)現(xiàn)引入“元”向量可以提高1.3個AP。
多尺度特征融合的影響
在全局定位階段,作者對Backbone特征實施了多尺度融合機制。在進行自注意力之前,作者允許 Query 通過交叉注意力與融合特征進行交互,使每個 Query 能夠感知全局圖像特征并粗略定位其對應(yīng)的RoI。如表3所示,這種設(shè)計可以提高1.4個AP。
雙向自適應(yīng)特征采樣的影響
作者在全局定位和局部細化階段均引入了雙向自適應(yīng)特征采樣,認(rèn)為這是一種更具尺度感知的采樣方法。表4顯示了0.3個AP的增加,證明了它的有效性。
特征采樣和混合的綜合效果
在這里,作者全面考察了自適應(yīng)特征采樣和隨后的特征混合的綜合效果。在完成之前,全局和局部兩個階段都使用了這個過程,如表5所示,共同提高了6.4個AP。
參考
[1]. Can the Query-based Object Detector Be Designed with Fewer Stages?.
推薦閱讀
SA-UNet開源 | StyleGAN2與UNet的完美邂逅,成就更好的語義分割模型
即插即用 | Uni-Head這個學(xué)霸讓ATSS/TOOD/RetinaNet/FreeAnchor通通漲點?。。?/p>
點擊上方卡片,關(guān)注「AI視界引擎」公眾號
瀏覽
671
點擊下方卡片,關(guān)注「AI視界引擎」公眾號
自從DETR發(fā)布以來,基于 Query 的目標(biāo)檢測器已經(jīng)取得了顯著的進展。然而,大多數(shù)現(xiàn)有方法仍然依賴于多階段的編碼器和解碼器,或者兩者的結(jié)合。盡管多階段范式(通常包括6個階段)可以實現(xiàn)高精度,但它面臨諸如重計算負擔(dān)等問題,這促使作者重新考慮其必要性。
在本文中,作者探索了多種增強基于 Query 的檢測器的技術(shù),并基于這些發(fā)現(xiàn)提出了一種名為GOLO(Global Once and Local Once)的新模型,該模型遵循了一個兩階段的解碼范式。與其他主流的基于 Query 的模型相比,作者的模型在使用更少的解碼器階段的情況下仍然能夠取得相當(dāng)好的性能。在COCO數(shù)據(jù)集上的實驗結(jié)果證明了作者方法的有效性。
1、簡介
目標(biāo)檢測是計算機視覺中的一個關(guān)鍵任務(wù),涉及在圖像中定位和分類目標(biāo)。卷積神經(jīng)網(wǎng)絡(luò)在這個領(lǐng)域表現(xiàn)出色。然而,這些模型在訓(xùn)練和推斷過程中仍然依賴于許多手工設(shè)計的組件,限制了它們的靈活性和泛化能力。
基于 Query 的檢測器的出現(xiàn),如DETR,引入了一類新的目標(biāo)檢測器,消除了像NMS這樣的手工設(shè)計組件的需要。這些模型以其簡單性和高性能而聞名。然而,它們通常嚴(yán)重依賴于多階段編碼器或解碼器,通常由六個階段組成。在其中,多階段解碼器被認(rèn)為比多階段編碼器更關(guān)鍵,這可以通過各種檢測器來證明。盡管這些多階段解碼器起著至關(guān)重要的作用,但多個階段的引入導(dǎo)致了計算復(fù)雜性的增加、訓(xùn)練時間的延長和推斷速度的減慢。然而,由于基于 Query 的檢測器在訓(xùn)練和推斷過程中依賴于逐步和動態(tài)的精細化,多階段解碼器對于實現(xiàn)所需的性能至關(guān)重要。
鑒于這一挑戰(zhàn),問題就出現(xiàn)了:作者如何減少階段的數(shù)量并提高基于 Query 的檢測器的效率?
在這項工作中,作者提出了一個名為GOLO(Global Once and Local Once)的兩階段解決方案,以解決作者的關(guān)切。全局定位和局部細化的結(jié)合將作為消除多階段范式需求的方向。如圖1右側(cè)所示,GOLO首先在全局尺度上粗略定位感興趣區(qū)域(RoIs),然后在局部尺度上對每個RoI執(zhí)行精確的回歸和分類。每個階段都包括了若干創(chuàng)新技術(shù)。
在全局目標(biāo)定位階段,作者提出了一種有效的方法,將來自多個尺度的特征進行整合,使得每個 Query 能夠以相對較低的成本逐漸感知整個圖像的多尺度特征。同時,作者采用了一個二分類方案來區(qū)分前景和背景,而不考慮具體的目標(biāo)類別,這加速了模型在早期訓(xùn)練階段的收斂,而不會影響性能。
此外,與隨機初始化相比,作者設(shè)計了一個基于元學(xué)習(xí)的 Query 初始化方法,以在最小成本的情況下增強了初始化 Query 之間的相關(guān)性,從而提高了訓(xùn)練效果。作者還開發(fā)了一種雙向自適應(yīng)采樣方法,允許更有效地利用與尺度相關(guān)的信息,并促進了從Backbone特征圖中全局整合特征的過程,這也在后續(xù)的局部階段中使用。
在局部細化階段,作者設(shè)計了一種基于 Query 引導(dǎo)的特征增強方法,旨在更好地增強基于區(qū)域的特征。此外,作者設(shè)計了一種增強的損失策略,有助于實現(xiàn)更好的模型優(yōu)化,這在之前的全局階段中也是有效的。通過全面應(yīng)用這兩種創(chuàng)新技術(shù),作者能夠在只進行一次局部細化過程的情況下實現(xiàn)令人滿意的檢測結(jié)果。
將所有上述改進納入考慮,作者成功將模型的解碼器階段減少到只有兩個:一個全局階段和一個局部階段。這種減少在計算成本和推斷準(zhǔn)確性之間取得了良好的平衡。在COCO數(shù)據(jù)集上的廣泛實驗驗證了作者提出的方法的有效性。
2、Query 設(shè)計范式
目前,解釋和初始化 Query 的基于 Query 的目標(biāo)檢測器主要有3種設(shè)計范式,如圖1所示。
普通目標(biāo) Query
第一種范式是通過對隨機初始化的 Query 應(yīng)用一系列操作后,從最終輸出的 Query 中解碼目標(biāo)分類和邊界框,類似于原始的DETR架構(gòu)。
分離 Query
第二種范式將 Query 的內(nèi)容向量和空間向量分開,同時優(yōu)化它們,然后使用它們分別解碼目標(biāo)的分類和邊界框。雖然這種設(shè)計減少了優(yōu)化難度并提高了模型性能,但其空間向量的初始化通常獨立于圖像,并需要多次迭代才能接近地面真值。存在一些方法試圖從密集特征中選擇初始 Query (或空間向量),但它們要么引入了手工設(shè)計的組件,要么需要更大的計算資源。
本文的方法
與前兩種范式相比,作者為 Query 提供了一種不同的設(shè)計。作者首先使用全局階段使 Query 能夠區(qū)分前景和背景,并估計大致的目標(biāo)邊界框。然后,作者允許 Query 使用局部階段完成基于區(qū)域的詳細分類和回歸。這種方法有助于實現(xiàn)更好的訓(xùn)練收斂性,并與傳統(tǒng)的兩階段目標(biāo)檢測范式相一致。
3、提出的方法
作者提出的模型GOLO遵循基于 Query 的范式,但試圖只使用兩個解碼器階段,一個全局階段和一個局部階段,以實現(xiàn)可比較的性能。
3.1、總體流程
如圖2所示,作者的模型完全以基于 Query 的方式運行。它由兩個主要階段組成:全局目標(biāo)定位和局部特征引導(dǎo)細化。
-
在第一階段中,執(zhí)行全局目標(biāo)定位以生成一組候選感興趣區(qū)域(RoIs),這有助于避免由于 Query 初始化的隨機性而需要級聯(lián)解碼器。 -
在第二階段中,利用RoIs獲取局部獨特特征,用于細化最終的分類和邊界框回歸。
3.2、全局定位
詳細的主要結(jié)構(gòu)
該階段包括以下主要組件:交叉注意力、自注意力、點狀特征采樣和混合。所有這些組件都在圖3中進行了說明。交叉注意力和自注意力采用了多頭注意力機制。為了便于點狀特征采樣和混合,作者首先使用作者提出的雙向自適應(yīng)采樣方法來獲取加權(quán)特征。稍后將提供有關(guān)該方法的全面介紹。然后,作者執(zhí)行自適應(yīng)通道混合和自適應(yīng)空間混合,與原始論文保持一致的參數(shù)設(shè)置。
有必要詳細解釋作者的交叉注意力是如何實現(xiàn)的,因為它使每個 Query 能夠感知圖像的全局信息并定位其自己對應(yīng)的RoI。作者利用目標(biāo) Query Q以及來自圖像的特征K和V,其中K和V來自前述的多尺度特征融合。交叉注意力操作可以表示如下:
其中Q是由n個不同目標(biāo) Query 組成的矩陣, 是目標(biāo) Query 的總數(shù)。 和 是從多尺度特征融合輸出進行線性變換得到的。線性變換應(yīng)用于 的最后一個維度,得到一個變量 。然后分離 的最后一個維度,并將分離變量的第一和第二維度展平,分別得到 和 ,其形狀與 相同。
在交叉注意力之后,下一步是自注意力,它有助于在 Query 之間交換信息。這個機制使每個 Query 能夠識別最合適的匹配并做出明智的分類決策。交叉注意力和自注意力機制的結(jié)合為 Query 提供了定位和分類所需的信息,使其能夠更有效地關(guān)注輸入的相關(guān)區(qū)域。
為了進一步增強 Query 提取和表示信息的能力,在該階段的最后一步作者執(zhí)行了一輪點狀特征采樣和混合。這允許每個 Query 從整個圖像中提取特征并將其與自己的特征融合,提高了定位和前景/背景區(qū)分的準(zhǔn)確性。
基于元學(xué)習(xí)的 Query 初始化
作者假設(shè)目標(biāo) Query 應(yīng)該隱含地包含有關(guān)目標(biāo)的基本條件的組合,比如它們的基本視覺特征(例如顏色、形狀、大小、方向等)。這些獨特的組合因不同 Query 而異,負責(zé)區(qū)分不同的目標(biāo)。
基于上述考慮,作者提出引入一組代表前述基本特征的"元"向量。通過這樣做,可以將目標(biāo) Query 表示為這些"元"向量的線性組合。
具體來說,作者引入了一組維度為 的可學(xué)習(xí)"元"向量,它們表示目標(biāo)的基本視覺特征。作者默認(rèn)設(shè)置 , 。這些"元"向量被線性組合成目標(biāo) Query 。更正式地,假設(shè) 表示目標(biāo) Query ,作者可以將每個 Query 表示為 個"元"向量 的線性組合:
其中 是分配給第 個 Query 的第 個"元"向量的權(quán)重。在訓(xùn)練過程中,"元"向量 和權(quán)重 都是可學(xué)習(xí)的。實驗證明,這種初始化可以在訓(xùn)練過程中改善目標(biāo)特征的表示,并導(dǎo)致更好的模型性能。
多尺度特征融合
作者使用這個模塊來從Backbone網(wǎng)絡(luò)中匯集不同尺度的特征,用于對圖像進行粗略的全局目標(biāo)定位。作者使用ResNet架構(gòu)作為Backbone網(wǎng)絡(luò),從輸入圖像生成多尺度的特征圖。作者在模型中包括P2-P5 Level,每個Level的分辨率是前一個Level的一半,由256個通道組成。所有特征圖都進行通道變換,以與最小特征圖相同的大小生成全局特征圖,其大小為 ,其中 和 是最小特征圖的高度和寬度, 是通道數(shù),通常為256, 表示在特征圖上的相同位置輸出的Kernel數(shù)量,默認(rèn)設(shè)置為64。詳細過程如圖4所示。
請注意,作者的方法與Featurized Query R-CNN或DINO中提出的方法不同。在那些工作中,他們嘗試基于從特征圖中選擇的特征定義規(guī)則。然后使用這些選定的特征使用某些初始化技術(shù)初始化 Query 。此過程涉及到多個手動設(shè)計的組件,例如閾值選擇或前k點選擇。
相反,作者的方法旨在通過上述方法直接全局感知整個圖像特征。隨后,通過在全局階段的訓(xùn)練, Query 可以自動區(qū)分前景區(qū)域。整個過程不涉及任何手動組件??紤]到基于 Query 的檢測器的一個主要優(yōu)勢是其設(shè)計的簡單性以及它們在實際應(yīng)用中帶來的穩(wěn)健性,作者認(rèn)為作者的設(shè)計更符合發(fā)展趨勢。
雙向自適應(yīng)采樣
在全局或局部階段的自注意力之后,作者根據(jù) Query 自身的特征對Backbone特征圖執(zhí)行自適應(yīng)特征采樣,然后融合采樣的特征以增強 Query 。融合過程使用了自適應(yīng)通道混合和自適應(yīng)空間混合。但是考慮到采樣方法,它可能不太適用于具有顯著寬高比差異的目標(biāo)。在這種情況下,需要考慮一種更合理的多尺度特征采樣方法。
假設(shè)目標(biāo)的邊界框具有寬度和高度 。在不好的情況下, 和 的尺度可能會顯著不同,比如 ? 。在這種情況下,應(yīng)該選擇 和 方向上不同尺度的特征。因此,作者提出了雙向自適應(yīng)采樣,以根據(jù) Query 生成的雙向尺度信息對Backbone特征圖上的特征進行采樣。
具體來說,作者將特征圖的 軸坐標(biāo)表示為 ,其中 是第 個特征圖的下采樣步幅。設(shè) 是 Query 的線性變換 ,
和 是 Query 要采樣的點的平面坐標(biāo), 和 分別是它們在 和 方向上的 軸方向的坐標(biāo), 是要采樣的點的數(shù)量。然后,作者的加權(quán)采樣可以表示如下:
是特征圖的總數(shù)。 是通過標(biāo)準(zhǔn)差為2的高斯函數(shù)計算的分配給第 個特征圖的權(quán)重:
是第 個特征圖中點 處的特征值, 是加權(quán)采樣的特征。通過使用這種雙向自適應(yīng)采樣方法,作者斷言獲得的采樣特征更適合 Query 。
3.3、局部細化
詳細結(jié)構(gòu)
局部細化階段也包括三個階段:Query 引導(dǎo)的特征增強(QGFE),自注意力和逐點特征采樣和混合,如圖5所示。在第一個階段中,從上一個階段獲得的RoI框B用于從Backbone特征中提取每個RoI內(nèi)的圖像特征。作者使用RoIAlign來完成這一步。然后,將提取的特征與來自上一個階段的目標(biāo) Query 交互和融合,以將RoI特征合并到 Query 中。
在特征融合之后,與全局定位階段類似,局部細化階段中的 Query 經(jīng)歷自注意力機制以交換信息,主要目的是提高分類性能。然后,進行一輪逐點特征采樣和混合,以加強 Query 中包含的信息。最后,使用分類Head和框Head分別獲得每個 Query 的分類和邊界框回歸結(jié)果。Head設(shè)置與Faster R-CNN相同。
Query 引導(dǎo)的特征增強
形式上,對于給定的 Query ,其來自RoIAlign的相應(yīng)特征被表示為fi,具有維度 ,讓 是關(guān)于 的 Query 引導(dǎo)的特征增強,
其中在算法1中詳細說明了QGFE的計算過程,考慮了 Query 和其RoI特征的一對。它根據(jù) Query 的信息自適應(yīng)增強了ROI特征。讓 是將 進行兩次線性變換的結(jié)果,其中包括層歸一化和ReLU激活:
其中 和 是兩次線性變換,LN表示層歸一化,ReLU表示修正線性單元。區(qū)域融合的 Query 通過逐元素相加 , 和 獲得,即
4、損失增強策略
作者的模型在全局和局部階段均采用匹配損失進行訓(xùn)練監(jiān)督,定義為:
其中 , 和 分別表示分類損失,L1回歸損失和GIoU損失。超參數(shù) , 和 控制它們的相對重要性。
作者還在兩個階段中都使用輔助損失, 和 ,用于目標(biāo)定位和分類。在每個階段中考慮了三個步驟:與圖像特征的交叉注意力(或特征融合),沒有圖像交互的自注意力以及具有采樣的尺度感知細化。重要的是要注意,第二步自注意力不依賴于圖像特征的交互,這意味著 Query 在第一步之后應(yīng)該已經(jīng)具備了定位目標(biāo)所需的信息。
此外,自注意力的主要目的是讓 Query 相互交流,確定最佳匹配并為每個 Query 做出分類決策,而不是目標(biāo)定位。
受此啟發(fā),作者在兩個階段中的第一步和第二步分別引入了輔助邊界框損失和分類損失,用于目標(biāo)定位和分類。這些損失的真實值由每個階段中的最終匹配關(guān)系確定,確保了一致的定位和分類。這種方法不僅加快了訓(xùn)練過程中的收斂速度,還將性能提高了0.2 AP。
總損失L是匹配損失和輔助損失的線性組合:
1、SOTA實驗
作者提出的GOLO與其他傳統(tǒng)或基于 Query 的模型的性能比較如表1所示。為了確保公平比較,作者對解碼器階段的數(shù)量設(shè)置了限制,最多允許兩個階段。這個限制在各種模型中都一致地應(yīng)用。在Faster R-CNN中,這兩個階段由RPN和Faster RCNN表示。同樣,在Sparse RCNN和Adamixer中,作者明確將迭代解碼器階段的數(shù)量設(shè)置為兩個。在作者的模型GOLO中,解碼器包括一個全局定位階段和一個局部細化階段。
作者的實驗結(jié)果表明,作者提出的模型在將解碼器階段數(shù)量限制為2時實現(xiàn)了42.8的高AP,這是最好的性能。這證明了作者的策略,即首先執(zhí)行全局定位,然后進行局部細化,對于基于 Query 的目標(biāo)檢測器來說是有效的。
具體而言,GOLO比兩階段的Sparse R-CNN和Adamixer分別高出8.2 AP和2.3 AP。值得注意的是,使用ResNet-50Backbone,GOLO勝過了使用ResNet-101的經(jīng)典Faster R-CNN。這些發(fā)現(xiàn)突顯了作者的整體設(shè)計在具有有限解碼器階段的情況下的有效性,這正是作者工作的重點。
2、消融實驗
在本節(jié)中,作者分析了GOLO中的關(guān)鍵創(chuàng)新。在所有實驗中,作者使用ResNet-50作為Backbone網(wǎng)絡(luò),并訓(xùn)練模型36個Epoch。
Query 數(shù)量
作者研究了改變 Query 數(shù)量對GOLO性能的影響,以在計算成本和性能之間找到平衡。如表2所示,將 Query 數(shù)量從100增加到300導(dǎo)致AP增加了3.1,但進一步增加到500并沒有導(dǎo)致顯著改善。因此,作者采用300個 Query 作為默認(rèn)配置。
基于元啟發(fā)式 Query 初始化的影響
與以前的基于 Query 的檢測器不同,GOLO使用一組“元”向量來初始化 Query 。作者在表3中研究了基于元的 Query 初始化的影響,發(fā)現(xiàn)引入“元”向量可以提高1.3個AP。
多尺度特征融合的影響
在全局定位階段,作者對Backbone特征實施了多尺度融合機制。在進行自注意力之前,作者允許 Query 通過交叉注意力與融合特征進行交互,使每個 Query 能夠感知全局圖像特征并粗略定位其對應(yīng)的RoI。如表3所示,這種設(shè)計可以提高1.4個AP。
雙向自適應(yīng)特征采樣的影響
作者在全局定位和局部細化階段均引入了雙向自適應(yīng)特征采樣,認(rèn)為這是一種更具尺度感知的采樣方法。表4顯示了0.3個AP的增加,證明了它的有效性。
特征采樣和混合的綜合效果
在這里,作者全面考察了自適應(yīng)特征采樣和隨后的特征混合的綜合效果。在完成之前,全局和局部兩個階段都使用了這個過程,如表5所示,共同提高了6.4個AP。
參考
[1]. Can the Query-based Object Detector Be Designed with Fewer Stages?.
推薦閱讀
SA-UNet開源 | StyleGAN2與UNet的完美邂逅,成就更好的語義分割模型
即插即用 | Uni-Head這個學(xué)霸讓ATSS/TOOD/RetinaNet/FreeAnchor通通漲點?。。?/p>
點擊上方卡片,關(guān)注「AI視界引擎」公眾號
