SaccadeNet:使用角點特徵進行two-stage預測框精調 | CVPR 2020
SaccadeNet基於中心點特徵進行初步的目標定位,然後利用初步預測框的角點特徵以及中心點特徵進行預測框的精調,整體思想類似於two-stage目標檢測演算法,將第二階段的預測框精調用的區域特徵轉化為點特徵。SaccadeNet在精度和速度上都可圈可點,整體思想十分不錯
來源:曉飛的演算法工程筆記 公眾號
論文: SaccadeNet: A Fast and Accurate Object Detector
Introduction
在神經學中,人類在定位目標時並非固定地看著場景,而是四處尋找富含資訊的區域來幫助進行目標的定位。受此機制的啟發,論文提出了SaccadeNet,能夠高效地關注資訊豐富的目標關鍵點,從粗粒度到細粒度進行目標定位。
SaccadeNet的結構如圖2所示,首先初步預測目標的中心位置以及角點位置,然後利用四個角點位置以及中心點位置的特徵進行回歸優化,SaccadeNet包含四個模組:
- Center Attentive Module(Center-Attn),預測目標的中心位置以及類別。
- Attention Transitive Module(Attn-Trans),初步預測每個中心位置對應的角點位置。
- Aggregation Attentive Module (Aggregation-Attn),利用中心位置以及角點位置的特徵進行預測框的優化。
- Corner Attentive Module(Corner-Attn),用於增強主幹網路的目標邊界特徵。
SaccadeNet的整體思想十分不錯,有點類似於two-stage的目標檢測的方案,將第二階段的預測框回歸從區域特徵轉化成了點特徵。
Center Attentive Module
Center-Attn模組包含兩個簡單的卷積層,將主幹網路輸出的特徵圖轉化為中心點熱圖,熱圖可用於預測圖片中所有目標的中心位置及其類別。該模組的GT跟CornerNet的設置一樣,使用高斯核e^{\frac{||X-X_k||^2}{2{\sigma}^2}}將GT位置進行散射,\sigma為半徑的1/3,半徑由目標的大小決定,保證半徑內的點能夠產生IOU至少為0.3的預測框。另外,該模組的損失函數結合了focal loss:
p_{i,j}為熱圖上位置(i,j)的分數,y_{i,j}為對應的GT值。
Attention Transitive Module
Attn-Trans模組輸出大小為w_f\times h_f\times 2,預測每個位置對應的預測框的寬和高,然後根據其中心點位置(i,j)計算其對應角點位置(i-w_{i,j}/2, j-h_{i,j}/2),(i-w_{i,j}/2, j+h_{i,j}/2),(i+w_{i,j}/2, j-h_{i,j}/2),(i+w_{i,j}/2, j+h_{i,j}/2),使用L1回歸損失進行訓練。基於Center-Attn模組和Attn-Trans模組,SaccadeNet能夠初步預測目標的檢測結果。此外,論文的源碼提供在此模組額外預測中心點的偏移值,針對下取樣造成的不對齊問題,該偏移值同樣使用L1回歸損失進行訓練,這個是默認開啟的。
Aggregation Attentive Module
Aggregation-Attn是一個輕量級模組,用於對預測框進行精調,輸出更精準的預測框。Aggregation-Attn模組從Attn-Trans模組和Center-Attn模組中獲取目標的角點和中心點,並且從主幹網路輸出的特徵圖中,使用雙線性插值取樣對應位置的特徵,最後回歸寬和高的修正值,整個模組使用L1損失進行訓練。
Corner Attentive Module in Training
為了提取富含資訊的角點特徵,論文在訓練時加入了額外的Corner-Attn分支,將主幹網路特徵轉化輸出為四通道熱圖,分別對應目標的四個角點。同樣地,該分支基於focal loss和高斯熱圖進行訓練,該分支是類不可知的。此模組可迭代進行多次精調,類似Cascade R-CNN那樣,論文在實驗部分也進行了對比。
Relation to existing methods
目前的基於關鍵點的目標檢測方法可分為edge-keypoint-based detectors和center-keypoint-based detectors,SaccadeNet綜合了兩類方法的優點的存在。
Edge-keypoint-based detectors通常先檢測角點或極點,然後通過組合方法對關鍵點組合進行目標的定位,但這類演算法通常不能獲取目標的全局資訊:a) 角點特徵本身就包含較少的目標資訊,需要額外增加中心特徵進行特徵加強。 b) 角點通常位於背景像素上,相對於其它關鍵點包含更少的資訊。儘管SaccadeNet也利用了角點進行目標預測,但SaccadeNet直接從中心關鍵點進行目標預測,這樣能夠獲取目標的全局資訊,並且避免了耗時的關鍵點組合。
Center-keypoint-based detectors通過中心關鍵點進行目標預測,輸出中心點熱圖並直接回歸邊界。但中心點通常離目標邊界較遠,可能會難以預測準確的目標邊界,特別對於大目標而言。另外,角點關鍵點是離邊界最近的,包含很多局部的準確資訊,缺乏角點資訊可能會對預測結果不利,而SaccadeNet恰好填補了這個缺陷,進行更準確的邊界預測。
Experiments
與SOTA目標檢測演算法進行對比。
Attn-Trans模組和Aggregation-Attn模組的對比實驗。
Corner-Attn模組迭代次數對比。
Conclusion
SaccadeNet基於中心點特徵進行初步的目標定位,然後利用初步預測框的角點特徵以及中心點特徵進行預測框的精調,整體思想類似於two-stage目標檢測演算法,第二階段的預測框精調用的區域特徵轉化為點特徵。SaccadeNet在精度和速度上都可圈可點,整體思想十分不錯。
如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】