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在精度和速度上都可圈可點,整體思想十分不錯。
如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】