| titile | Focal Loss for Dense Object Detection |
|---|---|
| url | https://arxiv.org/pdf/1708.02002.pdf |
| 動機 | one-stage方法,速度快但不如two-stage精度高。分析原因:正負樣本不均衡。 |
| 內(nèi)容 | 提出Focal Loss: 改進標準交叉熵損失,hard examples對損失的貢獻變大。 ![]() class imbalance: (1) negative example過多造成它的loss太大,positive的loss淹沒,不利于收斂. (2) easy negative訓練時loss很小,反向計算時梯度小,對參數(shù)的收斂作用有限。 Focal Loss Definition: (1) 平衡正負樣本: ![]() ![]() ![]() Class Imbalance and Model Initialization: 二分類模型默認y = ?1 或 1有相同的概率。Class Imbalance初始化會導致訓練初始階段不穩(wěn)定。提出prior概念,用π表示,用它去尋找模型中少見的類別。這個改變在類別不均衡時對于模型訓練的穩(wěn)定性有提升,不管是使用交叉熵還是focal loss損失函數(shù)。 Class Imbalance and Two-stage Detectors:(1)two-stage cascade(2)biased minibatch sampling RetinaNet Detector: ![]() FPN 作為 Backbone。它在ResNet網(wǎng)絡上增加了top-down(自頂向下)通路和lateral(側(cè)向連接)通路,從圖片的單一分辨率構(gòu)建豐富的、多尺度的特征金字塔。金字塔的每一層特征用來檢測不同尺寸的目標。 本文FPN由P3-P7構(gòu)成(Pl 層的分辨率縮小到輸入圖像的2l),P3-P5是由ResNet的C3-C5計算,P6是由C5使用stride=2的3X3卷積得到,P7是由P6經(jīng)過stride=2的3x3卷積得到,特征金字塔所有層的Channel=256。與原始的FPN不同之處在于:(1)FPN沒有使用P2層;(2)P6是由stride=2的卷積得到不是降采樣;(3)引入P7層提升對大尺寸目標的檢測效果。 需要強調(diào)的是使用FPN作為主干網(wǎng)的原因是,實驗發(fā)現(xiàn)只使用ResNet層,最終AP值較低。 Anchors: 類似RPN具有平移不變性的anchor boxes。從P3到P7層的anchors的面積從32*32依次增加到512*512。每層anchors長寬比{1:2, 1:1, 2:1}。每層增加尺寸 每個Anchor會有長度為K(class)的one-hot分類目標和4-vector的box回歸目標。與RPN比修改如下: (1) anchor內(nèi)部包含目標的判斷仍然是與GT的IOU,IOU的閾值設置為0.5(RPN是0.7)IOU大于0.5,anchors和GT關聯(lián);IOU在[0, 0.4)作為背景。 (2) 每個anchor最多關聯(lián)一個GT;K(class)的one-hot中關聯(lián)的類別為1,其它為0。 (3) 邊框回歸就是計算anchor到關聯(lián)的GT之間的偏移。 Classification Subnet: 連接在FPN每層的FCN,參數(shù)共享。Feature Map,使用4個3×3的卷積層,每個卷積層接一個ReLU層,然后是channel=KA(K是類別數(shù),A是anchor數(shù))的3×3卷積層,最后使用sigmoid激活函數(shù)。 與RPN相比,網(wǎng)絡更深,只使用了3×3卷積;不和邊框回歸子網(wǎng)絡共享參數(shù)。 Box Regression Subnet: 結(jié)構(gòu)同上,最后一層channel=4A。 Inference and Training: Inference:為了提高速度,只對FPN每層部分predictions處理。FPN的每個特征層,首先使用0.05的閾值篩選出是前景的object,最多選取前1k個predictions進行后續(xù)處理。融合各層的predictions,再使用NMS(閾值0.5)去掉重疊box。 Focal Loss: γ = 2效果最好,魯棒區(qū)間是γ ∈ [0.5, 5]。訓練RetinaNet,損失函數(shù)計算輸入圖所有~100k個anchors,而RPN或(OHEM,SSD)在每個minibatch只選擇很少的anchors(如:256)。 大部分anchors是easy negatives,F(xiàn)L下?lián)p失值非常小。α與γ值互相影響,通常α隨著γ的增大而輕微減少(γ = 2, α = 0.25效果最好)。 Initialization: (1) 使用ResNet-50-FPN和ResNet-101-FPN backbone。 (2) 基礎的ResNet-50和ResNet-101在ImageNet1k數(shù)據(jù)集上預訓練。 (3) 所有新增的卷積層(除了子網(wǎng)絡的最后一層)初始化權(quán)重為 σ = 0.01的高斯分布,偏置為0。 (4) classification subnet最后一層偏置為? log((1 ? π)/π),π為每個anchor在開始訓練時應該被標記為前景的置信度,實驗中使用π = 0.01。背景遠多于前景,所以以0.01的概率是前景。 ![]() (1) 8GPU、SGD, 每個minibatch 16張圖片 (2) 訓練90k個iterations, initial learning rate 0.01,在60k和80k個iterations學習率減小10倍 (3) data augmentation只使用水平翻轉(zhuǎn) (4) Weight decay 0.0001,momentum 0.9 (5) box regression使用L1損失函數(shù) (6) 模型訓練時間在10~35小時之間(Table 1.e) ![]() |
| 實驗 |
Training Dense Detection: Network Initialization: Balanced Cross Entropy:Table 1.a(α = .75 gives a gain of 0.9 points AP) Focal Loss:Table 1.b (1) γ = 2 時FL可以提升AP值2.9。 (2) 最佳的α值區(qū)間是[0.25,0.75] (3) 較小的α值與較大的γ搭配 Analysis of the Focal Loss:Figure 4 在大量隨機圖片中采用約 (1) 20%的 hardest positive samples貢獻了約一半的損失值,γ增加,20%的貢獻度更加明顯,但影響不是很大。 (2) γ對負樣本的影響完全不同,γ = 0時CDFs與正樣本類似,γ增加,迅速的聚焦于 hard negative examples,γ=2時,大量的easy negatives僅貢獻少量損失。 ![]() OHEM中所有樣本計算損失值,使用NMS過濾,最后在minibatch選擇損失值最大的一些樣本。OHEM關注誤分類樣本,不同于FL,OHEM完全忽略的easy examples。如Table 1d所示,最好的OHEM與FL有3.2點AP差距。 Hinge Loss: 之前嘗試對 Model Architecture Design: Anchor Density: one-stage的anchor密度多少才能覆蓋任意圖像boxes。Two-stage通過Region Pooling(ROI Pooling)可以對邊框的任何位置、尺寸、長寬比歸類。相比之下,one-stage 使用一個固定的采樣網(wǎng)格,常用的方法是在每個空間位置使用多個anchors來覆蓋不同的尺寸和長寬比邊框。本文FPN每一層的每個空間位置使用不同個數(shù)的尺寸和長寬比anchors。在ResNet-50從使用1個方形anchor到12個anchors(尺寸為 Speed versus Accuracy: (1) 更大的backbone有更好的準確率,但速度更慢,輸入圖像的尺寸也是如此。見Table 1e。 (2) Figure 2,RetinaNet和其它方法在速度/精度比較,RetinaNet 使用FL超過所有的方法,打破低精度的限制。ResNet-101-FPN在600像素尺寸時的精確度超過ResNet101-FPN Faster R-CNN,同時檢測時間為122ms,F(xiàn)aster R-CNN為172ms。 (3) 追求速度需特殊網(wǎng)絡設計如Yolo 9000。 Comparison to State of the Art: ![]() ![]() |
| 思考 |
RetinaNet
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內(nèi)容
- 在日常生活中,在媒體上,一談到“保險”,很多人可能馬上就會撇嘴—— “保險公司這么精,買的時候說得好好的,到了理賠...









