當前位置:網站首頁>51.1AP!單階段檢測器的新紀錄,TOOD:即插即用的檢測器換頭術,顯著提昇性能
51.1AP!單階段檢測器的新紀錄,TOOD:即插即用的檢測器換頭術,顯著提昇性能
2021-08-20 05:38:05 【AI視覺網奇】
本文將單階段檢測器在COCO數據集上的性能刷新到了51.1AP。針對現有單階段檢測器分類與定比特存在不對齊問題,本文提出了一種新穎T-Head對其進行平衡;同時還提出了TAL在訓練過程中對兩個任務的最優anchor進行顯式靠攏(甚至統一)。受益於所提到的T-Head與TAL,所提方法TOOD刷新了COCO數據集上的單階段檢測器性能,達到了51.1AP,超過了GFLv2、OTA、IQDet等方案。
pape: https://arxiv.org/abs/2108.07755
code: https://github.com/fcjian/TOOD
Abstract
單階段目標檢測往往通過優化兩個子任務進行實現:目標分類與目標定比特,兩者采用兩個並行分支,這種處理方式可能會導致一定程度上的空間不對齊問題。
作者提出一種任務對齊單階段目標檢測(Task-aligned One-stge Object Detection ,TOOD),它通過學習的方式對兩個任務進行顯式對齊。首先,作者設計了一種新穎的T-Head(Task-aligned Head),它可以為任務交互以及任務相關特征提供更好的平衡,還可以通過任務對齊預測器為學習對齊提供更好的靈活性。其次,作者提出了TAL(Task Alignment Learning)在訓練過程中通過采樣分配機制與任務對齊損失將兩個任務最終的anchor進行顯式靠攏(甚至統一)。
作者在MS-COCO數據集上進行了充分了實驗,憑借單模型單尺度測試,TOOD取得了51.1AP指標,大幅超過了已有單階段檢測(比如ATSS的47.7AP、GFL的48.2AP、PAA的49.0AP),同時具有更少的參數量、FLOPs。此外,定量分析結果同樣錶明:TOOD可以更好的對目標分類與目標定比特兩個任務進行對齊。
本文主要貢獻包含以下三點:
-
設計了一個新的T-Head以增强分類與定比特之間的相互作用,同時保持各自的特性,此外在預測過程中對兩個任務進行對齊;
-
提出了TAL對兩個任務進行顯式對齊,同時為所提預測器提供學習信號;
-
所提TOOD在COCO數據集上取得了51.1AP指標,超越了包含ATSS、GFL、PAA、OTA等在內的單階段檢測。
Method
類似於近期提出的單階段檢測器,所提TOOD采用了類似的架構::backbone-FPN-head
。考慮到效率與簡單性,類似ATSS, TOOD在每個比特置放置一個anchor,即anchor-free。正如所討論的,由於分類與定比特任務的發散性,現有單階段檢測器存在任務不對齊(task misalignment)約束問題。本文提出通過顯式方式采用T-head+TAL對兩個任務進行對齊,見上圖。T-head與TAL通過協同工作方式改善兩個任務的對齊問題,具體來說,T-head首先在FPN特征基礎上進行分類與定比特預測;然後TAL基於所提任務對齊測度計算任務對齊信息;最後T-head根據從TAL傳回的信息自動調整分類概率與定比特預測。
Task-aligned Head
作者的目標是設計一種高效Head結構以改善現有單階段檢測器中的Head(見上圖a),針對此,作者主要從以下兩個角度進行考量:
-
提昇兩個任務之間的相互作用;
-
增强檢測器學習對齊的能力。
本文所提T-Head見上圖b,它具有非常簡單的結構:特征提取+TAP
。為增强分類與定比特之間的相互作用,作者通過特征提取器學習任務交互
(task-interactive)特征,見Figure3b中藍色框部分。這種設計不僅有助於任務交互,同時可以為兩個任務提供多級多尺度特征。假設錶示FPN特征,特征提取器采用N個連續卷積計算任務交互特征:
因此,通過特征提取器我們可以得到豐富的多尺度特征並用於送入到後續兩個TAP模塊中進行分類與定比特對齊。
Task-aligned Predictor(TAP) 作者在前述所計算的任務交互特征基礎上進行目標分類與定比特,此時兩個任務可以很好的感知到相互之間的狀態信息。然而,由於單分支設計因素,任務相關特征不可避免地會引入一定程度地特征混淆。只管來講,目標分類與目標定比特具有完全不同地目標,因此聚焦於不同類型地特征(比如,不同層級、不同感受野)。因此,作者提出采用注意力機制進行任務分解,見上面Figure3c。此時所得特征我們稱之為任務相關(task-specific)特征,描述如下:
注:這裏的w采用類似SE注意力方式得到。最後,在上述特征基礎上進行分類與定比特:
Prediction alignment 在預測階段,我們進一步對兩個任務通過調整空間分布進行自適應對齊。不同於已有工作采用centerness分之或者IoU分支僅調整分類預測,我們對兩個預測同時進行對齊,見Figure3c。從圖示可以看到:我們采用空域概率圖調整分類預測:
與此同時,為對定比特預測進行對齊,我們進一步學習了空域移比特圖以調整每個比特置預測的目標比特置信息。具體調整方式如下:
通過上述對齊,我們可以進行更精確的目標定比特。因此,所提方法不僅對兩個任務進行了對齊,同時提昇了定比特精度。上面提到的兩個對齊圖學習方式如下:
注:M與O的學習是在TAL中實現,將在下面的內容進行介紹。此外需要注意的是:T-Head是一個獨立模塊,可以在無TAL的條件下工作。也即是說,T-Head可以通過“即插即用”方式快速應用到不同的單階段檢測器中並提昇檢測性能。
Task Alignment Learning
我們進一步引入TAL引導T-Head進行任務對齊預測。相比已有工作,TAL有以下兩個不同:
-
它是從任務對齊角度出發設計得到;
-
它同時考慮了anchor分配與加權同步。
Task-aligned Sample Assignment
為與NMS搭配,訓練樣例的anchor分配需要滿足以下規則:
-
正常對齊的anchor應當可以預測高分類得分,同時具有精確定比特;
-
不對齊的anchor應當具有低分類得分,並在NMS階段被抑制。
基於上述兩個規則,我們設計了一種新的anchor對齊度量以顯示度量anchor層面的任務對齊度。該對齊度量將集成到樣本分配與損失函數中以動態提煉每個anchor的預測。
Anchor alignment metric 考慮到分類得分與IoU錶征了預測質量,我們采用兩者的高階組合度量任務對齊度,公式定義如下:
其中,s與u分別錶示分類得分與IoU值,而用於控制兩者的影響。因此,在聯合優化中起著非常重要的作用,它激勵網絡動態的聚焦於高質量的anchor。
Training sample assignment 正如已有研究錶明,訓練樣例分配對於檢測器的訓練非常重要。為提昇兩個任務的對齊性,我們聚焦於任務對齊anchor,采用一種簡單的分配規則選擇訓練樣本:對每個實例,我們選擇m個具有最大t值的anchor作為正樣例,選擇其餘的anchor作為負樣例。然後,通過新的損失函數(針對分類與定比特的對齊而設計的損失函數)任務進行訓練。
Task-aligned Loss
Classification objective 為顯示提昇對齊anchor的分類得分,同時降低不對齊者得分,我們在訓練過程中采用替換正anchor的標簽。然而,我們發現:當標簽變小後網絡無法收斂。因此,我們采用規範化進行替代,這裏規範化後的滿足以下兩個屬性:
-
確保hard-instance的有效學習;
-
保持instance之間的排序關系。
因此,我們采用一種簡單的實例級規範化調整的尺度。因此BCE重寫如下:
與此同時,我們采用Focal Loss緩解正負樣本不平衡問題。因此,最終的分類損失定義如下:
Localization objective bbox(Bouding box)通過對齊的anchor(具有更大的分類得分、更精確的定比特)預測得到,這樣的bbox通常經過NMS後仍可以得以保留。此外,可以在訓練階段通過對損失加權選擇高質量的bbox。因此,我們采用度量bbox的質量。類似分類目標,我們將定比特優化目標調整為如下形式:
注:訓練過程中,TAL的總損失則是上述兩個損失相加。
Experiments
上錶對比了不同單階段檢測器的性能,從中可以看到:
-
當采用ResNet101、ResNeXt-101-64x4d作為骨幹時,TOOD分別取得了46.7AP與48.3AP指標,以3AP指標超過了ATSS, 以2AP指標超過了GFL;
-
當采用ResNet101-DCN, ResNeXt-101-64x4d-DCN作為骨幹時,TOOD取得了更大的性能提昇(從48.3AP提昇到51.1AP,提昇幅度達2.8AP)。
-
TOOD在單階段目標檢測方面取得了新的記錄:51.1AP。
Ablation Study
上錶Head結構進行了消融分析,從中可以看到:當以“即插即用”方式將T-Head嵌入到不同單階段檢測器後均可以看到顯著的性能提昇,從0.7~1.9AP不等,同時具有更少的參數量與FLOPs。
上錶在采樣分配方面進行了消融分析,從中可以看到:相比此前最佳PAA,所提TAL+TAP組合可以取得1.6AP指標提昇達到42.5AP。
上錶對比了TOOD在Anchor-free與Anchhor-based兩種檢測器中的性能對比,可以看到:
-
Anchor-free版TOOD與Anchor-based版TOOD具有相近的性能:42.5AP vs 42.4 AP。
-
相比ATSS,TOOD取得了3.2AP指標提昇。
全文到此結束,更多消融實驗與分析建議查看原文。
版權聲明
本文為[AI視覺網奇]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2021/08/20210820053805453y.html
邊欄推薦
猜你喜歡
隨機推薦
- uniapp上傳圖片及組件傳值
- 瑞利年金險資金保障安全嗎?收益高不高啊?
- 華為手機USB連不上電腦的解决方法
- Flutter 2,移動金融應用開發
- 關於st25系列NFC標簽簡單介紹及st25TV系列用於門禁讀取時的注意事項總結
- 關於用ffmpeg轉手機視頻發現視頻長寬倒了的問題
- 函數 / 類模板--模板2
- 數組中的第k個最大的元素--優先級隊列、排序、堆、排序
- 單片機實例27——ADC0809A/D轉換器基本應用技術(硬件電路圖+匯編程序+C語言程序)
- Collection集合的學習
- 一場面試結束,某度員工從事Android 5年為何還是初級工程師?
- 3本書閱讀筆記【人月神話-Go語言實戰-研發能力持續成長路線】01
- PHP垃圾回收機制
- 【電子技術】什麼是LFSR?
- 死鎖?如何定比特到死鎖?如何修複死鎖?(jps和jstack兩個工具)
- 快樂寒假 22/01/20
- image
- 噴程序員?SURE?
- LDO分壓電阻計算小工具
- 面試之求一串字符串中每個字符的出現次數
- 【ISO15765_UDS&OBD診斷】-01-概述
- 【Mysql上分之路】第九篇:Mysql存儲引擎
- RHCE 第一次作業
- 2021.10.16我的第一篇博客:一切皆有可能!
- CTA-敏感行為-讀取IMEI
- 面試被問怎麼排查平時遇到的系統CPU飆高和頻繁GC,該怎麼回答?
- nuxt項目總結-綜合
- 自然語言處理學習筆記(一)
- C語言第一課
- 各比特大佬,Spark的重點難點系列暫時更新完畢
- 基於 esbuild 的 universal bundler 設計
- XCTFre逆向(四):insanity
- 理解什麼是真正的並發數
- JVM腦圖
- 【Pytorch(四)】學習如何使用 PyTorch 讀取並處理數據集
- 函數棧幀的創建與銷毀
- 構建神經網絡- 手寫字體識別案例
- 多模態生成模型ERNIE-VILG
- kotlin不容忽視的小細節
- 備戰一年,終於斬獲騰訊T3,我堅信成功是可以複制的