RetinaNet 單階段目標檢測算法


閱讀論文注意事項:

(1)對於一篇好的論文,首先會介紹之前的研究有什么問題,這篇論文解決了什么問題,他的有點在什么地方。

(2)在復現一篇論文之前,應該仔細去閱讀論文實驗部分。因為直覺閱讀方法部分就去復現,往往難以達到論文所提出的那個效果。在細節上的處理,作者會在實驗部分介紹。

 

1、Introduction

1.作者:Ross Girshick(RGB)代表作R-CNN,何凱明ResNet                  

2.兩階段流行算法:R-CNN系列

  2.1 Faster R-CNN系列

    a.輸入圖片,提取特征圖;

    b.特征圖經過RPN得到候選框;

    c.候選框映射回特征圖,對框內圖像分類。

  左邊的rpn網絡找框,右邊做分類。由於兩個分支,導致檢測速度較慢。

 

3.單階段流行的算法:YOLO, SSD

  3.1 SSD

    a.輸入圖片,得到不同層,不同尺寸的特征圖;

    b.在不同尺寸的特征圖上密集的選取候選框;(現在稱之為錨框)

    c.得到所有后選框和ground truth的交並比,大於閾值的為正樣本;(下圖灰色的就是負樣本)

    d.最后的損失值為邊框回歸損失和分類損失的和。(ground truth 候選框大小需要根據feature maps 按比例調整)

 

問題是:對於每一層的特征圖都要去設置密集的候選框,這樣產生的問題就是,產生了太多的負樣本,使得單階段目標檢測器的准確率較低。優點在於它只有一路網絡,速度比兩階段目標檢測器更快。

 

××××××××××××××為了解決正負樣本不平衡的問題,作者提出了Focal Loss。××××××××××××××××××××

 

4.相關算法:

  4.1交叉熵損失函數(Cross Entropy Loss Function, CE)  

  4.2全卷積網絡(Fully Convolution Network, FCN)最早提出是為了解決語義分割的問題,最后通過上采樣生成與原圖片一樣大小的feature map替換了全連接層。從像素級對圖像每個像素進行分類,達到分割的效果。另外一個優點在於:全卷積網絡對於輸入圖片的大小沒有要求,輸入圖片大最后特征就多,輸入圖片小最后特征就少。但是全連接層必須要接受固定數量的輸入,使得在做檢測和訓練時必須要將圖片轉換為固定的大小。

  

 

  4.3特征金字塔網絡(Feature Pyramid Network, FPN)(問題:為什么要用特征金字塔?)(處理尺度問題)

    (a).圖像金字塔,時間和存儲成本高;

    (b).傳統方法;(卷積池化卷積池化等一頓亂七八糟的操作)(問題在於,物體尺度問題難以解決,適合做分類問題)

    (c).SSD采用的特征金字塔,忽略了其它層的特征表達;

    (d).FPN (卷積層每層輸出的特征圖的通道跟尺寸大小不同,需要先通過1X1的卷積層調整通道數量,使所有層的通道數量一致。這樣就可以進行相加啦。

 

 

5.Focal Loss為解決但階段檢測中,正負樣本數量和分類難易程度極度不平衡引起的損失值被大量容易分類的負樣本損失淹沒的問題。

 

 

6.單階段目標檢測框架:RetinaNet(ResNet + FPN + FCN)

 

 7.Focal Loss

(1)Cross-Entropy Loss:在單階段目標檢測中,它會被大量的容易分類的樣本控制,導致少量的不容易分類的樣本被淹沒。

 

(2)Balanced CE Loss:對正樣本的損失值使用權重因子α( [0,1] ), 對負樣本使用權重因子1-α.從數量角度平衡了樣本損失值。

但是,只考慮了正負樣本的平衡,沒有考慮到對難易預測的樣本的特殊考慮。正樣本中有難預測的,負樣本中也有難預測的。

 

 

(3)Focal Loss:對於難分類的樣本,其損失值就大。對於容易分類的樣本使得其損失值接近於零。同時使用了Balanced CE Loss,處理正負樣本不平衡的問題。

 


免責聲明!

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



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