Focal Loss for Dense Object Detection
--目的:目前目標檢測的框架一般分爲兩種,基於候選區域的two-stage的檢測框架(稀疏的候選目標位置)和基於迴歸的one-stage的檢測框架(可能的目標位置上常規密集的採樣),two-stage的精度高速度慢,one-stage的速度快但是精度稍低。導致其精度低的原因是密集檢測器訓練時簡單-困難兩類樣本極度不平衡,因此論文目的修改標準的交叉熵損失,能夠減小好分類樣本的權值損失;Focal loss主要衡量一組稀疏的難分樣本並防止簡單負樣本影響到訓練的檢測器;
--解決方案:設計並訓練密集檢測器(RetinaNet);
--結果:RetinaNet與one-stage檢測器速度相稱,精度高於存在的最新two-stage檢測器;
--two-stage最新論文:Feature Pyramid Network (FPN) 和Mask R-CNN;
--two-stage處理類不平衡流程:proposal stage(Selective Search,RPN):過濾大部分背景樣本;classification stage:固定的前背景比率或OHEM(online hard example mining);
--one-stage處理類不平衡流程:處理時需處理大量的候選目標,應用與two-stage類似的sampling heuristics時,容易分類的背景樣例仍佔主導作用,而這種應用對於訓練來說是無效率的;典型的技術:bootstrapping和hard example mining;
--知識積累:典型的one-stage目標檢測方法:boosted detector和DPMs;最近的有SSD;
--類不平衡導致的問題:由於大多數位置都是容易檢測的負樣本,這不會產生有用的學習信號,使得學習效率低下;容易檢測的負樣本不利於模型的訓練,致使模型分歧;共同的解決方案:hard negative mining(具有細節還沒搞清楚);
--焦點損失把訓練集中在一組稀疏的困難樣例上;
焦點損失
--二分類交叉熵損失公式變換:
由和
可知,
,其曲線爲左上圖的藍線;
--平衡交叉熵:;(
與
的定義類似)
--焦點損失: ;變體:
--模型初始化:利用π設置模型對稀有類樣本的估計的p;焦點損失在單步系統通過損失函數直接解決類不平衡問題(包含了之前所有解決類不平衡的機制);
RetinaNet檢測器
--FPN骨幹網絡:在ResNet的P3到P7(Pl是輸入圖片的2^l的分辨率)上構建特徵金子塔(FPN),每層特徵金字塔有256通道;
--Anchor:P3到P7分別表示32*32到512*512;每層上A=9;ground truth目標box的IOU爲[0.5,1],背景樣例的IOU爲[0,0.4),其餘的在訓練中忽略,每個Anchor至多一個目標box;
--分類子網絡和box迴歸子網絡:兩者不共享參數,其結構如圖;
--前向和訓練:總的焦點損失是約100K個anchor之和(正則化被分置爲ground truth box的anchor數量),與
的選擇,兩者相互影響;
--初始化:實驗在ResNet-50-FPN和ResNet-101-FPN(ResNet-50和ResNet-101模型在ImageNet1k預訓練)兩個框架上進行(新加層的初始化見FPN論文);RetinaNet子網絡(最後一個卷積層除外):初始化b=0,高斯權重;RetinaNet分類子網絡(最後一個卷積層):偏置
(
,這種初始化阻止了大量的背景在第一次迭代時產生一個大而不穩定的損失);
--優化:RetinaNet;SGD(8 GPUs,2 images per GPU,16 images per minibatch);90k迭代;初始學習率0.01(60k和80k時分別除以10);數據擴展:水平圖像翻轉;weight decay 0.0001;momentum 0.9;焦點損失和標準平滑L1損失;訓練時間:10到35個小時;
實驗
--訓練數據集:COCO trainval35k(80k train和隨機35k val(val總40k));故障和敏感性研究(minval,剩下的5k val);test-dev(評估,無公開的標籤數據集,需在線進行評測);
--焦點損失的分析:
--Hinge損失:結果無意義;
--與最新方法的結果:
--附錄省略