09 《Focal Loss for Dense Object Detection》學習筆記

參考網址:

  1. RetinaNet——《Focal Loss for Dense Object Detection》論文翻譯(這篇文章基本上完全翻譯了論文內容,還是比較詳細的,我再閱讀時主要參考了這篇)

  2. 論文網址:Focal Loss for Dense Object Detection

  3. RetinaNet翻譯+解析(主要是介紹了論文中的損失函數:CE、FL,其實這些在原作中都有提到)

  4. 目標檢測(object detection)系列(十一) RetinaNet:one-stage檢測器巔峯之作(這篇有助於整體理解這篇論文,且Focal Loss部分介紹的很詳細)

作者首次注意到one stage模型精度低的原因是類別不均衡的問題,所以提出FL解決正負樣本不均衡問題 ,由此構建了RetinaNet.。

1、FL相對於CE(cross entropy)的優勢

在候選區域生成的候選框中,大類的不平衡會主導交叉熵損失,所以大量的負樣本會主導損失並主導梯度。FL的計算公式如下,其中\alpha_t爲平衡因子,\gamma爲調節因子,\gamma的取值範圍爲[0,5]。作者在文中做實驗分析了\alpha_t\gamma取不同值的效果,發現\gamma越大時,\alpha_t應該越小,效果最好的組合爲\alpha_t=0.25, \gamma =2

FL(p_t)=-\alpha_t(1-p_t)^\gamma ln(p_t),其中p_t=\left\{\begin{matrix} p & if(y=1)\\ 1-p & ortherwise \end{matrix}\right.注意p=\hat{y},只是符號不一樣。

那爲啥這樣的形式就比平衡交叉熵好呢?我們假設\gamma爲1,係數就變成了1-p_t,在這個基礎上,我們按照上面的方式展開FL(p_t)其實就是這樣子:

FL(p,y)=\left\{\begin{matrix} -(1-p)ln(p) & if(y=1)\\ -pln(1-p) & otherwise \end{matrix}\right.

由於交叉熵前做了softmax,所以p一定是個正數,這個因子加上不會改變原有損失的符號,然後我們舉例說明它怎麼區分難易樣本,p是正樣本的預測值:

  • 對於一個正例,模型認爲它簡單,那麼p會趨近於1,1−p會趨近於0,損失就會變小,相反的就會變大。
  • 對於一個負例,模型認爲它簡單,那麼p會趨近於0,損失就會變小,相反的就會變大。

這就對模型的難易做出了不同的loss值,此外Focal loss還有一個超參數\gamma,它起到了對因子成冪次,由於底數一定是一個小於1的數,冪次會拉大1-p_t原有的線性倍率。比如1-p_t原本是0.1和0.9,\gamma =2時,會變成0.01和0.81,9倍變成了81倍。這種抑制簡單樣本,促進難樣本的方式,其實和IOU>0.7和IOU<0.3有異曲同工之妙。
加了這東西之後,難易樣本區分開了,但是負樣本多的問題好像並沒有解決掉,所以Focal loss最後又把平衡交叉熵中的平衡因子\alpha_t加了回來。

參考文章:目標檢測(object detection)系列(十一) RetinaNet:one-stage檢測器巔峯之作,這篇文章的Focal Loss部分介紹的很詳細

2、RetinaNet的網絡結構

RetinaNet是一個統一的網絡,由骨幹網(backbone)和兩個特定於任務的子網組成。骨幹負責計算整個輸入圖像上的卷積特徵圖,並且是一種自卷積網絡。第一個子網在主幹的輸出上執行卷積對象分類;第二個子網執行卷積邊界框迴歸。這兩個子網具是一個簡單的設計,我們專門爲one-stage、dense detection提供這種設計,網絡結構如下所示。通過FPN可以提取出多尺度的候選框,每一個金字塔層的輸出通道都是256,

Anchor Box
RetinaNet選取Anchor Box的策略和FPN相似,一共有5個不同尺度的特徵圖,分別是32^2-512^2,每一層會有三種比例:1:1、1:2、2:1,所以FPN有15種Anchor,但是RetinaNet在這個基礎上又加了一個因素,就是每一層特徵圖上有三種尺度,它分別是該層特徵圖尺度的2^0,2^{\frac1 3},2^{\frac2 3},而比例不變仍爲1:1、1:2、2:1,於是RetinaNet的Anchor變成了45個。因爲Focal loss的引入,讓Anchor的選取變得爲所欲爲,就是不怕多。

參考文章:【論文解讀】[目標檢測]retinanet

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章