1. 程式人生 > >【論文閱讀筆記】目標檢測之RetinaNet--論文閱讀 Focal Loss for Dense Object Detection

【論文閱讀筆記】目標檢測之RetinaNet--論文閱讀 Focal Loss for Dense Object Detection

【寫在前面】 RetinaNet 是目前目標檢測最為優秀的方法之一,值得好好拜讀一下,在COCO資料集上達到了單個模型的state of art 的效果, 由Kaiming He團隊所作,作者發現導致one-stage演算法效能劣於two-stage演算法的主要原因是region proposal時前景和背景的類別不平衡,為了解決這個問題,提出了關鍵大招Focal Loss,改寫了傳統的分類交叉熵損失函式,在訓練過程中能夠實現自動降低容易分類的類別的權重,從而可以把優化網路的關注點放在難分類的目標上。因此,RetinaNet既解決了one-stage region proposal 產生大量的非目標區域特徵導致loss計算不平衡的問題,保留了faster RCNN檢測精度高的優點,又屬於One-Stage演算法,減少了重複計算,演算法速度相對於two-stage得到了極大的提升。

  1. Focal Loss
    我們看一下什麼是Focal Loss. Focal loss被設計用來解決one-stage演算法產生的極端的前景/背景(比如1:1000)不平衡問題的。
    先看一些背景知識
    對於二分類的分類交叉熵,如下為計算公式:

其中y∈{-1,+1}, y=1代表預測為groundtruth類別, p表示y=1的概率,引入pt分類交叉熵可做如下定義:

如下圖1中,藍線是CE,所以當容易分的類別(p>>0.5)特別多的時候,雖然單個loss的值不大,總的Loss加起來易分的類別還是會佔主導地位,難分的類別就會被淹沒。