FCOS單階段anchor-free算法閱讀總結


  本文提出了一種全卷積one-stage目標檢測算法(FCOS),以逐像素預測的方式解決目標檢測問題,類似於語義分割。目前最流行的不論是one-stage目標檢測算法,如RetinaNet,SSD,YOLOv3,還是two-stage目標檢測算法,如Faster R-CNN。這兩類算法大都依賴於預定義的錨框(anchor boxes)。相比之下,本文提出的目標檢測算法FCOS不需要錨框。通過消除預定義的錨框,FCOS避免了與錨框相關的復雜計算,例如在訓練期間計算重疊等,並且顯著減少了訓練內存。更重要的是,FCOS還避免了設定與錨框相關的所有超參數,這些參數通常對最終檢測性能非常敏感。FCOS算法憑借唯一的后處理:非極大值抑制(NMS),實現了優於以前基於錨框的one-stage檢測算法的效果。

 

  其實最著名的無anchor的目標檢測網絡是YOLOv1算法,YOLOv1算法純粹是為了告訴大家,回歸網絡也可以進行目標檢測,該網絡由於其召回率過低而使其並無太多實用價值,因此YOLO作者在其基礎上提出了基於anchor的YOLOv2算法。而本文提出的FCOS算法相當於保留了無anchor機制,並且引入了逐像素回歸預測,多尺度特征以及center-ness三種策略,主要流程框架如下圖所示,最終實現了在無anchor的情況下效果能夠比肩各類主流基於anchor的目標檢測算法。

 

優點:

1)因為輸出是pixel-based預測,所以可以復用semantic segmentation方向的tricks

2)可以修改FCOS的輸出分支,用於解決instance segmentationkeypoint detection任務;

 

1.網絡結構 

FCOS的網絡結構如下圖,顯然,它包含了如下3個部分,

1backbone網絡;
2feature pyramid結構;
3)輸出部分(classification/Regression/Center-ness);

 

 

2.逐像素回歸預測

YOLOv1中也使用了無anchor策略,但基於YOLOv1在預測邊界框的過程中,提出的cell概念,導致YOLOv1只預測了目標物體中心點附近的點的邊界框。這很顯然預測的框少,召回率自然也就低了。基於此,本文提出的FCOS算法為了提升召回率,則對目標物體框中的所有點都進行邊界框預測。當然這種逐像素的邊界框預測肯定會導致最終預測得到的邊界框質量不高,因此作者在后續還會提出彌補策略。

 

 

 

 

如上兩張圖所示,FCOS算法在對目標物體框中所有的點進行目標框回歸時,是用的距離各個邊的長度的。之所以使用這種策略,而不使用主流目標檢測算法的策略,其主要原因是為了后續使用center-ness做准備的。

由於FCOS算法是基於目標物體框中的點進行逐像素回歸的,因此執行回歸的目標都是正樣本,所以作者使用了exp()函數將回歸目標進行拉伸,我個人認為此操作是為了最終的特征空間更大,辨識度更強。

最后,逐像素回歸預測除了能夠帶來更多的框以外,更重要的是利用了盡可能多的前景樣本來訓練回歸器,而傳統的基於anchor的檢測器,只考慮具有足夠高的IOU的anchor box作為正樣本。作者認為,這可能是FCOS優於基於anchor的同類檢測器的原因之一。

 

3.center-ness輸出分支

center-ness,可以譯成中心點打分,它表征了當前像素點是否處於ground truth target的中心區域,以下面的熱力圖為例,紅色部分表示center-ness值為1,藍色部分表示center-ness值為0,其他部分的值介於01之間。

 

 

 

 

 

其中,∗表示ground truth衡量了當前像素偏離真實目標中心的程度,值越小,偏離越大。

 

4.多尺度策略

 

 

如上圖所示,FCOS算法那使用了{P3, P4, P5, P6, P7}這五個尺度的特征映射。其中P3、P4、P5由主干CNNs網絡的特征層 C3、C4、C5經過一個1*1的卷積得到的,而,P6、P7則是接着P5進行了步長為2的卷積操作得到的(相當於降采樣,看注解)。最終對這五個尺度都做逐像素回歸。
當然,本文為了能夠更好的利用這種多尺度特征,在每一個尺度的特征層都限定了邊界框回歸的范圍,不讓其野蠻生長。(基於anchor的檢測網絡也有類似策略,比如YOLOv3中將不同大小的anchor分配到不同特征層級中作回歸)更具體地說,作者首先計算所有特征層上每個位置的回歸目標

第一:計算當前層級中的回歸目標:l、t、r、b。
第二:判斷max(l, t, r, b) > mi 或者 max(l, t, r, b) < mi -1是否滿足。
第三:若滿足,則不對此邊界框進行回歸預測。
第四:mi是作為當前尺度特征層的最大回歸距離。

而且這種約束帶來的額外的效果在於,由於不同尺寸的物體被分配到不同的特征層進行回歸,又由於大部分重疊發生在尺寸相差較大的物體之間,因此多尺度預測可以在很大程度上緩解目標框重疊情況下的預測性能。

 

3.損失函數

 Lcls表示分類loss,本文使用的是Focal_lossLreg表示回歸loss,本文使用的是IOU loss

 

4.缺點:有些人評價說該方法使得單階段檢測算法變慢了,論文也沒有提到算法速度的問題,沒有實驗證明。然后就是center-ness是論文的一個好的創新點,但是缺少理論的支撐。

 

 

 

 

 

 

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM