ICCV2021 | TOOD:任務對齊的單階段目標檢測

CV技術指南(公眾號)發表於2021-12-07

前言 

單階段目標檢測通常通過優化目標分類和定位兩個子任務來實現,使用具有兩個平行分支的頭部,這可能會導致兩個任務之間的預測出現一定程度的空間錯位。本文提出了一種任務對齊的一階段目標檢測(TOOD),它以基於學習的方式顯式地對齊這兩個任務。

TOOD在MS-CoCO上實現了51.1Ap的單模型單尺度測試。這大大超過了最近的單階段檢測器,如ATSS(47.7AP)、GFL(48.2AP)和PAA(49.0AP),它們的引數和FLOPs更少。

本文來自公眾號CV技術指南的論文分享系列

關注公眾號CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

論文:TOOD: Task-aligned One-stage Object Detection

程式碼:https://github.com/fcjian/TOOD

Background


目標檢測通常被表示為通過聯合優化目標分類和定位的多工學習問題。由於分類和定位的學習機制不同,兩個任務學習到的特徵的空間分佈可能不同,當使用兩個單獨的分支進行預測時,會導致一定程度的錯位

最近的一級目標檢測器試圖通過聚焦於目標的中心來預測兩個獨立任務的一致輸出。他們假設位於物件中心的錨(即,無錨檢測器的錨點,或基於錨的檢測器的錨盒)可能給出分類和定位兩者的更準確的預測。

例如,最近的FCOS和ATSS都使用中心度分支來增強從物件中心附近的錨點預測的分類分數,併為相應錨點的定位損失分配更大的權重。此外,FoveaBox將物件的預定義中心區域內的錨視為正樣本。這樣的啟發式設計已經取得了很好的效果,但這些方法可能會受到兩個限制

(1)分類和定位獨。目前的單級檢測器通過兩個獨立的分支(即頭部)並行獨立地進行目標分類和定位。這種由兩個分支組成的設計可能會導致兩個任務之間缺乏互動,從而導致在執行它們時預測不一致。如圖1的“result”欄所示,TSS檢測器(左上角)識別“餐桌”的物件(用紅色塊顯示的錨點表示),但更準確地定位“披薩”的另一個物件(紅色邊界框)。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

圖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檢測器的錨盒。

圖片

圖2. TOOD的整體學習機制。

首先,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)。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

圖3.傳統的並行頭和提出的T-Head之間的比較。

為了增強分類和定位之間的互動,論文使用特徵提取器來學習來自多個卷積層的任務互動特徵堆疊,如圖3(B)中的藍色部分所示。這種設計不僅方便了任務的互動,而且為這兩個任務提供了多層次的特徵和多尺度的有效感受野。形式上,Xfpn表示FPN特徵。特徵提取器使用具有啟用函式的N個連續卷積層來計算任務互動特徵:

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

其中,conv k和δ分別指第k個卷積層和ReLU函式。因此,論文利用head的單個分支從FPN特徵中提取豐富的多尺度特徵。然後,將計算出的任務互動特徵送入兩個TAP進行分類定位。

 

Task-aligned Predictor(TAP)


論文對計算出的任務互動特徵進行目標分類和定位,這兩個任務可以很好地感知彼此的狀態。然而,由於單一分支的設計,任務互動功能不可避免地在兩個不同的任務之間引入了一定程度的功能衝突,這在其它論文中也有討論。

圖片

圖4 Task-aligned Predictor(TAP)

直觀地說,物件分類和定位的任務具有不同的目標,因此聚焦於不同型別的特徵(例如,不同的層次或感受野)。因此,論文提出了一種層注意機制(layer attention mechanism),通過在層級動態計算任務特徵來鼓勵任務分解。如圖4所示,針對每個分類或定位任務分別計算特定於任務的功能:

圖片

其中wk是可學習層注意w的第k個元素,它是根據跨層任務互動特徵計算出來的,能夠捕獲層之間的依賴關係:

圖片

其中X inter是通過平均池化獲得。最後,從每個Xtask中預測分類或定位的結果:

圖片

其中X task是X_k task的拼接特徵,conv1是用於降維的1×1卷積層。然後,使用Sigmoid函式將Z task轉換為密集分類分數P(H×W×80),或物件邊界框B(H×W×4),其具有distance-to-bbox的轉換。

 

Prediction Alignment


在預測階段,通過調整兩個預測的空間分佈來進一步明確地對齊這兩個任務:P和B。與以往只能基於分類特徵或區域性特徵調整分類預測的中心度分支或IOU分支不同,論文通過使用計算的任務互動特徵聯合考慮兩個任務來對這兩個預測進行對齊。值得注意的是,分別對這兩個任務執行對齊方法。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

如圖4所示,論文使用空間概率圖M∈(H×W×1)來調整分類預測:

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

其中M是從互動特徵計算的,從而允許它學習在每個空間位置的兩個任務之間的一致性程度。同時,通過互動特徵進一步學習空間偏移量對映O∈(H×W×8),用於調整每個位置的預測bounding box,從而對定位預測進行對齊。具體地說,學習的空間偏移使對齊程度最高的錨點能夠識別其周圍的最佳邊界預測:

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

值得注意的是,每個通道的偏移量都是獨立學習的,這意味著物件的每個邊界都有自己的學習偏移量。這允許對四個邊界進行更準確的預測,因為它們中的每一個都可以單獨從其附近最精確的錨點學習。因此,不僅協調了這兩個任務,而且通過為每邊確定一個精確的錨點來提高定位精度。

對齊圖M和O是從互動特徵堆疊中自動學習的:

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

T-Head是一個獨立的模組,可以在沒有TAL的情況下正常工作。它可以方便地以即插即用的方式應用於各種一級物體檢測器,以提高檢測效能

 

Task Alignment Learning


TAL與以前的方法有兩個不同之處。首先,從任務對齊的角度,它基於設計的度量動態地選擇高質量的錨。其次,它同時考慮錨點分配和權重。它包括一個樣本分配策略和專門為協調這兩項任務而設計的新損失

為了應對NMS,訓練例項的錨點分配應該滿足以下規則:(1)對齊的錨點應該能夠預測高分類分數,並進行精確的聯合定位;(2)對齊錯誤的錨點應該具有低分類分數並隨後被抑制。基於這兩個目標,論文設計了一個新的錨點對齊度量來明確地度量錨點級別的任務對齊程度。對準度量被整合到樣本分配和損失函式中,以動態地改進每個錨點處的預測。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

其中,s和u分別表示分類分數和IOU值。α和β用於控制錨點對齊度量中這兩個任務的影響。

對於每個例項,選擇取值最大的錨點作為正樣本,而將剩餘的錨點作為負樣本。同樣,訓練是通過計算專門為調整分類和定位任務而設計的新損失函式來執行的。

 

Task-aligned Loss


為了顯式提高對齊錨點的分類得分,同時降低未對齊錨點(即t值較小)的分類得分,我們在訓練過程中使用了替換正錨點的二進位制標籤。使用歸一化t,即ˆt來代替正錨點的二進位制標籤,其中ˆt由以下兩個性質來歸一化:(1)確保硬例項的有效學習(對於所有對應的正錨點,這些硬例項通常具有較小的值);(2)基於預測bounding box的精度來保持例項之間的排序。

因此,論文采用簡單的例項級歸一化來調整ˆt的規模:ˆt的最大值等於每個例項中的最大IOU值(u)。分類任務的損失函式定義如下:

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

採用焦點損失進行分類,以緩解訓練期間負樣本和正樣本之間的不平衡。其中i表示對應於一個例項的第i個錨點與負值錨點,j表示來自負負錨點的第j個錨點,γ是聚焦引數。

與分類目標類似,根據ˆt重新加權為每個錨點計算的bounding box迴歸損失,並且GIoU loss(L_GIoU)可以重新表示如下:

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

其中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更少。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

 

2.不同訓練樣本分配方案之間的比較。‘Pos/neg’:正/負錨定分配。‘Weight’:錨定權重分配。‘fixed’:固定分配。‘ada’:自適應賦值。在這裡,TAP根據最後head tower的分類和定位特徵對齊預測。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

 

3.不同檢測器中不同head結構的比較。

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

 

4.視覺化

圖片

ICCV2021 | TOOD:任務對齊的單階段目標檢測

 

歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。

在公眾號中回覆關鍵字 “入門指南“可獲取計算機視覺入門所有必備資料。

ICCV2021 | TOOD:任務對齊的單階段目標檢測

其它文章

CVPR2020 | D3S: 判別式單鏡頭分割跟蹤器

Pytorch 資料流中常見Trick總結

計算機視覺中的transformer模型創新思路總結

PNNX: PyTorch 神經網路交換格式

ICCV2021 | 漸進取樣式Vision Transformer

MobileVIT:輕量級視覺Transformer+移動端部署

ICCV2021 | SOTR:使用transformer分割物體

ML2021 | PatrickStar:通過基於塊的記憶體管理實現預訓練模型的並行訓練

ICCV2021 | PnP-DETR:用Transformer進行高效的視覺分析

ICCV2021 | Vision Transformer中相對位置編碼的反思與改進

2021-視訊監控中的多目標跟蹤綜述

一文概括機器視覺常用演算法以及常用開發庫

統一視角理解目標檢測演算法:最新進展分析與總結

給模型加入先驗知識的常見方法總結    |    談CV領域審稿

全面理解目標檢測中的anchor    |    例項分割綜述總結綜合整理版

HOG和SIFT影像特徵提取簡述    |    OpenCV高效能運算基礎介紹

目標檢測中迴歸損失函式總結    |    Anchor-free目標檢測論文彙總

小目標檢測的一些問題,思路和方案    |    小目標檢測常用方法總結

2021年小目標檢測最新研究綜述

深度學習模型大小與模型推理速度的探討

視訊目標檢測與影像目標檢測的區別

CV演算法工程師的一年工作經驗與感悟

單階段例項分割綜述    |    語義分割綜述    |    多標籤分類概述

視訊理解綜述:動作識別、時序動作定位、視訊Embedding

資源分享 | SAHI:超大圖片中對小目標檢測的切片輔助超推理庫

論文創新的常見思路總結    |    卷積神經網路壓縮方法總結

神經網路超引數的調參方法總結   |    資料增強方法總結

歸一化方法總結 | 又名"BN和它的後浪們"

Batch Size對神經網路訓練的影響    |    計算機視覺入門路線

相關文章