&論文概述
獲取地址:https://arxiv.org/abs/1903.00621
&總結與個人觀點
本文的工作將啟發式的特征選取作為帶有特征金字塔的anchor-based single-shot檢測器的主要限制。提出應用了online特征選擇來在特征金字塔上訓練anchor-free分支的FASF模型。通過使用較小的推理開銷實現對baseline極大的提升,同時在表現超過當前最優的single-shot檢測器。
本文從一個新的方向出發來對網絡的表現性能作出改進:通過尋找對應anchor的最優表現的特征層來做分類與回歸,在使用FASF模塊對一般的anchor選擇模塊進行替換時,mAP有着顯著的改進,同時也對anchor-free以及anchor-based方法進行了融合。想法很新穎。
&貢獻
1、提出使用anchor-free計算對應anchor能夠獲得最優表現的特征層。
&擬解決的問題
問題:使用特征金字塔時,用到啟發式的anchor,在做回歸與分類之前,會根據anchor的尺度將其分配到固定的特征層上進行,為了區分開相同位置不同尺度的目標。然而,這種啟發式的方法,可能並不能將anchor分配到最優的特征層上。
分析:
當前使用的anchor近乎均為啟發式的定義,固定的尺寸、固定的縱橫比(在我看過的論文中除了Guided Anchor以及Meta Anchor方法,anchor-based方法幾乎都是如此),之后應用到feature pyramid的時候,考慮到盡可能將不同尺度的anchor分開處理(提及使用到這種方法的數據集中區域重疊的目標的尺度基本上差距很大,因此可以通過這種方法,處理相同位置不同尺度的目標),簡單地使用anchor的尺度將其分為對應的特征層上。
然而,這種將anchor直接划歸的方法,可能並不會將anchor划歸到最適合其分類及回歸的層級。
因此提出的方法主要針對這個問題,考慮首先通過anchor-free的方法,根據某個評估標准,確定當前anchor可作辨別的最優特征層,然后將對應的anchor在該層級中使用anchor-based方法繼續進行。
&框架及主要方法
1、Main Structure
本文提出的主要框架,即是先將對飲給的object通過anchor-free分支計算出能夠表現出其性能最佳的特征層,然后通過anchor-based分支繼續進行分類及回歸。
該圖為在RetinaNet上使用FSAF模型的網絡結構。對應的,通過anchor-based分支得到的分類結果的維度為W×H×KA,回歸結果為W×H×4A,其中A為anchor的數量,K為總類別數;而通過anchor-free分支的分類結果為W×H×K,回歸結果為W×H×4,因為在anchor-free分支上,是對每個點進行的預測,而每個點並沒有固定的anchor數量,只需要分類與回歸一次即可。
2、Symbol Define & Focal Loss
定義b = [x, y, w, h]表示一個ground truth bbox。使用feature pyramid后,對應的bbox轉化為bpl = [xpl, ypl, wpl, hpl],其中l為對應的特征層級,P表示特征金字塔(eg: bpl = b/2l)。而其中采用一般的方法,根據w、h的比例來定義有效區域,忽略區域以及負樣本區域,如:
bel = [xel, yel, wel, hel], bil = [xil, yil, wil, hil],其中wel=ϵewpl, hel=ϵehpl, wil=ϵiwil, hil=ϵihil.
分別表示有效框、忽略框的邊界。在本論文中兩個比例參數的設置分別為0.2與0.5。此外,每個實例對於忽略區域的處理也會擴展到相鄰的特征層中,對應的(bil-1, bil+1)若存在也為忽略區域,且如果兩個實例的有效區域在一個層級中出現重疊,則較小的實例有着較大的優先級。類別標簽使用對應的GT的類別,如下圖所示:
通過Focal loss計算分類損失,使用超參數為α=0.25,γ=2.0,總的分類損失為所有非忽略區域的focal loss之和,使用所有有效區域的像素點總數進行正則化。
3、Regression & IoU loss
Groud truth的回歸輸出是4個類別不可知的偏移映射圖。每個實例只影響偏移映射圖中的bel區域,對於bel中的每個像素點(i, j),將bpl表示為4維的向量di,jl=[dti,jl, dli,jl, dbi,jl, dri,jl],分別表示bpl到上、左、下、右四條邊的距離。然后在(i, j)位置的4維向量通過4個偏移映射設置到di,jl/S,S=4.0是一個正則化常量。
使用IoU loss計算回歸損失,總的回歸損失是有效box區域的IoU loss的均值。
4、Online Feature Selection
如上圖所示,通過對每個層級中對應位置的loss計算,得到其中最小的作為對應anchor使用的最優的特征層。
5、Inference Setting
在inference階段,對於anchor-free分支,在每個特征層上只考慮得分最高的最多1000個位置,且設置threshold為0.05。然后將結果與anchor-based分支的box預測合並,使用threshold為0.5的NMS得到最終結果。
6、Experiments
1) 消融實驗,分別進行只有anchor-free分支、anchor-free及anchor-based結合、對於anchor-free分別使用啟發式特征選擇以及online特征選擇的結果對比。在同等基礎上,僅使用anchor-free效果會比最初僅使用anchor-based的結果略差,而使用了online特征選取,結果更優,對比后,使用anchor-free以及anchor-based兩種方法結合性能更佳,同時,online特征選取比啟發式特征選取的性能更優。
在不同的backbone上進行三者的性能對比,同樣得到上述結果,此外,使用了兩者結合的方法反而並不會對運行時間增加太多,相比於提升的精度可忽略。
2) 顯示結果說明
在這里,截取了一些能夠對於針對的問題進行相關反應的圖片展示,每個識別結果前面的數字標號為對應在哪一個特征圖中計算的。從第2張以及第4張圖中,表現出來的差距更加明顯,如果僅通過啟發式地對anchor進行分配,那么在2中的skis更可能被分配到3th中,而4中,相同尺度的目標也是通過不同特征層中進行操作的。其中紅色框為原先方法未識別。
&遇到的問題
1、為什么直接計算每個目標的Focal loss以及IoU loss之和的最小值可作為其最優的特征層?
&思考與啟發
本文從一個新的角度來考慮anchor-free與anchor-based之間的關系,通過對anchor對應使用的特征層的選取以提升性能,也就是又找到了一個anchor-based方法的fault,在關注這個方向的問題時,不能只從一種方法的角度思考。