論文解讀Focal Loss for Dense Object Detection

論文:Focal Loss for Dense Object Detection

引言:

目前最好的物體檢測都是基於兩個平臺(two stage),和推薦驅動的機制(proposal-driven mechnism),如R-CNN。近期的集合爲一個平臺(one stage)的工作有YOLO和SSD,他們比前者更快
我們提出了一個新的損失函數用於類的區分(class imbalance),這個損失函數是一個動態縮放的交叉熵Loss(cross entropy loss),當正確分類的可信度提升時,縮放因子會衰退至0。
我們提出的Focal Loss 就是正常的交叉熵Loss加上一個 ( 1 - Pt ) ^y 的因子, 可以減少好的分類的樣本的Loss
(我們提出的Focal Loss 就是正常的交叉熵Loss加上一個 (1pt)γ 的因子, 可以減少好的分類的樣本的Loss, 設置γ
直觀上,縮放椅子可以自動縮小簡單樣本的貢獻的參數,從而可以更快的關注困難樣本。實驗顯示我們提出的Focal Loss可以訓練出更高的準確性的(one stage detector),其表現出了啓發式取樣和困難樣本挖掘的效果。
我們提出了一個使用Focal Loss的網絡:取名叫RetinaNet,效果很好

Focal Loss :

cross entropy是這樣的:

CE(p,y)={log(p)log(1p)if y=1 otherwise.

其中y{±1}
爲了標註的方便,我們設pt :
pt={p1pif y=1otherwise

我們嘗試引進一個權重因子 α[0,1] 控制class 11α 控制class 1 ,像pt 一樣我們定義αt ,這樣可以寫出α 平衡後的交叉熵 CE loss:
CE(pt)=αlog(pt)

容易區分的樣本組成loss的主要部分並決定着梯度,然而α 可以平衡正負樣本的重要性,但不能區分容易和困難樣本,所以我們重寫了損失函數。
我們爲cross entropy添加一個調節因子 (1pt)γ

FL(pt)=(1pt)γlog(pt)

當一個樣本被分類錯誤時,pt 很小,所以(1pt)γ 很大,對loss的影響很小,當pt 趨近1時,因子趨近0,所以對於分類好的loss權重下降。
在實驗中我們也使用了α
FL(pt)=αt(1pt)γlog(pt)

α 的效果比沒有的好,最後還發現計算p 時使用sigmoid操作可以有更好的數的穩定性。

RetinaNet:

Feature Pyramid Network Backbone
金字塔的每一層用來檢測不同的尺度

這裏寫圖片描述
從圖中可以看出左邊是ResNet,中間爲提取出feature map(加號爲UpSampling後相加),然後用兩個子網絡相連,輸出類別和邊框。
實驗結果
這裏寫圖片描述

實驗比較:

α=0.75 和不設置α 相比,提高了 0.9 AP
γ=2 和設γ=0 相比(相當於cross entropy),提高2.9 AP
Focal Loss和OHEM相比,提高3.2 AP

發佈了34 篇原創文章 · 獲贊 18 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章