前言
單階段目標檢測通常通過優化目標分類和定位兩個子任務來實現,使用具有兩個平行分支的頭部,這可能會導致兩個任務之間的預測出現一定程度的空間錯位。本文提出了一種任務對齊的一階段目標檢測(TOOD),它以基於學習的方式顯式地對齊這兩個任務。
TOOD在MS-CoCO上實現了51.1Ap的單模型單尺度測試。這大大超過了最近的單階段檢測器,如ATSS(47.7AP)、GFL(48.2AP)和PAA(49.0AP),它們的參數和FLOPs更少。
本文來自公眾號CV技術指南的
關注公眾號CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
論文:TOOD: Task-aligned One-stage Object Detection
代碼:https://github.com/fcjian/TOOD
Background
目標檢測通常被表示為通過聯合優化目標分類和定位的多任務學習問題。由於分類和定位的學習機制不同,兩個任務學習到的特征的空間分布可能不同,當使用兩個單獨的分支進行預測時,會導致一定程度的錯位。
最近的一級目標檢測器試圖通過聚焦於目標的中心來預測兩個獨立任務的一致輸出。他們假設位於對象中心的錨(即,無錨檢測器的錨點,或基於錨的檢測器的錨盒)可能給出分類和定位兩者的更准確的預測。
例如,最近的FCOS和ATSS都使用中心度分支來增強從對象中心附近的錨點預測的分類分數,並為相應錨點的定位損失分配更大的權重。此外,FoveaBox將對象的預定義中心區域內的錨視為正樣本。這樣的啟發式設計已經取得了很好的效果,但這些方法可能會受到兩個限制:
(1)分類和定位獨立。目前的單級檢測器通過兩個獨立的分支(即頭部)並行獨立地進行目標分類和定位。這種由兩個分支組成的設計可能會導致兩個任務之間缺乏交互,從而導致在執行它們時預測不一致。如圖1的“result”欄所示,TSS檢測器(左上角)識別“餐桌”的對象(用紅色塊顯示的錨點表示),但更准確地定位“披薩”的另一個對象(紅色邊界框)。
圖1:由ATSS(頂行)和TOOD(底行)預測的檢測結果(‘Result’)以及分類得分(‘Score’)和定位得分(‘IoU’)的空間分布圖示。
(2)與任務無關的樣本分配。大多數無錨點檢測器使用基於幾何的分配方案來選擇對象中心附近的錨點進行分類和定位,而基於錨點的檢測器通常通過計算錨框和ground truth之間的IoUs來分配錨盒。然而,用於分類和定位的最佳錨點通常是不一致的,並且可能根據對象的形狀和特征而變化很大。廣泛使用的樣本分配方案是與任務無關的,因此可能很難對這兩個任務做出准確而一致的預測,如圖1中ATSS的 ‘Score’ 和 ‘IOU’ 分布所示。‘Result’列還說明最佳定位錨(綠色塊)的空間位置可能不在對象的中心,並且它與最佳分類錨(紅色塊)不能很好地對齊。因此,在非最大值抑制(NMS)過程中,精確的bounding box可能會被精度較低的bounding box所抑制。
創新思路
為了解決這些局限性,論文提出了一種任務對齊的一階段目標檢測(Task-aligned One-stage Object Detection, TOOD),旨在通過設計一種新的頭部結構和面向對齊的學習方法來更精確地對齊這兩個任務:
針對傳統的一步法目標檢測中分類和定位分別采用兩個分支並行實現的特點,設計了一種任務對齊頭(T-Head),以增強兩個任務之間的交互性。這使得這兩項任務能夠更協作地工作,進而更准確地調整它們的預測。T-Head在概念上很簡單:它計算任務交互特征,並通過一種新穎的任務對齊預測器(TAP)進行預測。然后,它根據任務對齊學習提供的學習信號對兩個預測的空間分布進行對齊,如下所述。
為了進一步克服未對齊問題,論文提出了一種任務對齊學習(TAL)來明確兩個任務的最優錨點之間的距離。它是通過設計一個樣本分配方案和一個與任務相關的損失來執行的。樣本分配通過計算每個錨點的任務對齊度來收集訓練樣本(正樣本或負樣本),而任務對齊損失逐漸統一最佳錨點,以便在訓練期間預測分類和定位。因此,在推斷時,可以保留分類得分最高並且共同具有最精確定位的邊界框。
提出的T-Head和學習策略可以協同工作,在分類和定位兩個方面做出高質量的預測。論文的主要貢獻可以概括為:
(1)設計了一種新的T-Head,在保持分類和定位特征的同時,增強了分類和定位之間的交互,並進一步將兩個任務在預測上對齊;
(2)論文提出了TAL,在識別出的任務對齊錨點上顯式地對齊兩個任務,並為所提出的預測器提供學習信號;
(3)論文在MSCOCO上進行了廣泛的實驗,TOOD達到了51.1AP,超過了現有的單級檢測器,如ATSS。定性結果進一步驗證了任務對齊方法的有效性。
Methods
與最近的單級探測器類似,TOOD具有一個“主干-FPN-頭”的整體流水線。此外,考慮到效率和簡單性,TOOD在每個位置使用一個錨點(與ATSS相同),其中“錨”是指anchor-free檢測器的錨點,或者是anchor-based檢測器的錨盒。
首先,T-Head對FPN特征進行預測。其次,使用預測來計算每個錨點處的任務對齊度量,基於該度量,TAL為T-Head產生學習信號。最后,T-Head對分類和定位的分布進行了相應的調整。具體地說,對齊程度最高的錨點通過“Prob”(概率圖)獲得更高的分類分數,並通過學習的“偏移量”獲得更准確的邊界框預測。
如圖2所示,T-Head和TAL可以協作改進兩項任務的一致性。具體地說,T-Head首先對FPN特征進行分類和定位預測。然后,TAL基於一種新的任務對齊度量來計算任務對齊信號,該度量度量測量兩個預測之間的對齊程度。最后,T-Head在反向傳播過程中使用TAL計算的學習信號自動調整其分類概率和定位預測。
Task-aligned Head
為了設計一種高效的head結構,以改進單級探測器中head的傳統設計(如圖3(A)所示)。論文通過考慮兩個方面來實現這一點:(1)增加兩個任務之間的交互,(2)增強檢測器學習比對的能力。T-Head如圖3(B)所示,它有一個簡單的特征提取器和兩個任務對齊的預測器(TAP)。
圖3.傳統的並行頭和提出的T-Head之間的比較。
為了增強分類和定位之間的交互,論文使用特征提取器來學習來自多個卷積層的任務交互特征堆棧,如圖3(B)中的藍色部分所示。這種設計不僅方便了任務的交互,而且為這兩個任務提供了多層次的特征和多尺度的有效感受野。形式上,Xfpn表示FPN特征。特征提取器使用具有激活函數的N個連續卷積層來計算任務交互特征:
其中,conv k和δ分別指第k個卷積層和ReLU函數。因此,論文利用head的單個分支從FPN特征中提取豐富的多尺度特征。然后,將計算出的任務交互特征送入兩個TAP進行分類定位。
Task-aligned Predictor(TAP)
論文對計算出的任務交互特征進行目標分類和定位,這兩個任務可以很好地感知彼此的狀態。然而,由於單一分支的設計,任務交互功能不可避免地在兩個不同的任務之間引入了一定程度的功能沖突,這在其它論文中也有討論。
直觀地說,對象分類和定位的任務具有不同的目標,因此聚焦於不同類型的特征(例如,不同的層次或感受野)。因此,論文提出了一種層注意機制(layer attention mechanism),通過在層級動態計算任務特征來鼓勵任務分解。如圖4所示,針對每個分類或定位任務分別計算特定於任務的功能:
Prediction Alignment
在預測階段,通過調整兩個預測的空間分布來進一步明確地對齊這兩個任務:P和B。與以往只能基於分類特征或局部特征調整分類預測的中心度分支或IOU分支不同,論文通過使用計算的任務交互特征聯合考慮兩個任務來對這兩個預測進行對齊。值得注意的是,分別對這兩個任務執行對齊方法。
如圖4所示,論文使用空間概率圖M∈(H×W×1)來調整分類預測:
其中M是從交互特征計算的,從而允許它學習在每個空間位置的兩個任務之間的一致性程度。同時,通過交互特征進一步學習空間偏移量映射O∈(H×W×8),用於調整每個位置的預測bounding box,從而對定位預測進行對齊。具體地說,學習的空間偏移使對齊程度最高的錨點能夠識別其周圍的最佳邊界預測:
值得注意的是,每個通道的偏移量都是獨立學習的,這意味着對象的每個邊界都有自己的學習偏移量。這允許對四個邊界進行更准確的預測,因為它們中的每一個都可以單獨從其附近最精確的錨點學習。因此,不僅協調了這兩個任務,而且通過為每邊確定一個精確的錨點來提高定位精度。
對齊圖M和O是從交互特征堆棧中自動學習的:
T-Head是一個獨立的模塊,可以在沒有TAL的情況下正常工作。它可以方便地以即插即用的方式應用於各種一級物體檢測器,以提高檢測性能。
Task Alignment Learning
TAL與以前的方法有兩個不同之處。首先,從任務對齊的角度,它基於設計的度量動態地選擇高質量的錨。其次,它同時考慮錨點分配和權重。它包括一個樣本分配策略和專門為協調這兩項任務而設計的新損失。
為了應對NMS,訓練實例的錨點分配應該滿足以下規則:(1)對齊的錨點應該能夠預測高分類分數,並進行精確的聯合定位;(2)對齊錯誤的錨點應該具有低分類分數並隨后被抑制。基於這兩個目標,論文設計了一個新的錨點對齊度量來明確地度量錨點級別的任務對齊程度。對准度量被集成到樣本分配和損失函數中,以動態地改進每個錨點處的預測。
其中,s和u分別表示分類分數和IOU值。α和β用於控制錨點對齊度量中這兩個任務的影響。
對於每個實例,選擇取值最大的錨點作為正樣本,而將剩余的錨點作為負樣本。同樣,訓練是通過計算專門為調整分類和定位任務而設計的新損失函數來執行的。
Task-aligned Loss
為了顯式提高對齊錨點的分類得分,同時降低未對齊錨點(即t值較小)的分類得分,我們在訓練過程中使用了替換正錨點的二進制標簽。使用歸一化t,即ˆt來代替正錨點的二進制標簽,其中ˆt由以下兩個性質來歸一化:(1)確保硬實例的有效學習(對於所有對應的正錨點,這些硬實例通常具有較小的值);(2)基於預測bounding box的精度來保持實例之間的排序。
因此,論文采用簡單的實例級歸一化來調整ˆt的規模:ˆt的最大值等於每個實例中的最大IOU值(u)。分類任務的損失函數定義如下:
采用焦點損失進行分類,以緩解訓練期間負樣本和正樣本之間的不平衡。其中i表示對應於一個實例的第i個錨點與負值錨點,j表示來自負負錨點的第j個錨點,γ是聚焦參數。
與分類目標類似,根據ˆt重新加權為每個錨點計算的bounding box回歸損失,並且GIoU loss(L_GIoU)可以重新表示如下:
其中b和~b表示預測的邊界框和相應的ground truth。TAL的總訓練損失是L_cli和L_reg的總和。
Conclusion
1. 論文在MS-Coco上進行了廣泛的實驗,TOOD在MS-CoCO上實現了51.1AP的單模型單尺度測試。這大大超過了最近的單階段檢測器,如ATSS(47.7AP)、GFL(48.2AP)和PAA(49.0AP),它們的參數和FLOPs更少。
2.不同訓練樣本分配方案之間的比較。‘Pos/neg’:正/負錨定分配。‘Weight’:錨定權重分配。‘fixed’:固定分配。‘ada’:自適應賦值。在這里,TAP根據最后head tower的分類和定位特征對齊預測。
3.不同檢測器中不同head結構的比較。
4.可視化
歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
在公眾號中回復關鍵字 “入門指南“可獲取計算機視覺入門所有必備資料。
其它文章