1. 程式人生 > >論文閱讀-《Focal Loss for Dense Object Detection》

論文閱讀-《Focal Loss for Dense Object Detection》

FAIR. ICCV2017 Oral Kaiming He & RBG

1.Motivation

一直以來,one-stage detector都以快著稱,yolo剛釋出的時候表明了是主打速度的,但是這些one-stage detector的精度要比two-stage detector,比如faster rcnn差不少。本文的目的就是為了探討為什麼one-stage detector相比two-stage detector精度要差。

2.Contribution

本文的貢獻在於指出了one-stage detector精度不高的原因在於extreme forground-background class imbalance,這種不平衡導致了訓練的時候存在大量的easy examples(包括easy positive和easy negative,但主要是easy negative),這些easy example雖然每一個的loss會比較小,但是因為數量巨大,主導了最終的loss,導致最後訓練出來的是一個degenerated model。

為此,作者提出了一個dynamically scaled cross entropy loss,即focal loss來替換原來detector classification部分的standard cross entropy loss。通過降低訓練過程中easy example的權重,提高了模型的訓練效果,使得one-stage detector在精度上能夠達到乃至超過two-stage detector。

3.Focal Loss

3.1standard cross entropy loss

原來的分類loss是各個訓練樣本交叉熵的直接求和,也就是各個樣本的權重是一樣的。如下圖所示:
1


CE表示cross entropy,p表示預測樣本屬於1的概率,y表示label,y的取值為{+1,-1},這裡僅僅以二分類為例,多分類分類以此類推。
為了表示簡便,我們用p_t表示樣本屬於true class的概率。所以(1)式可以寫成
1

我們可以將cross entropy loss的曲線畫出來,如下圖最上面這根藍線所示:
1
從藍線我們可以看出來,對於well-classified樣本(true class的預測概率大於0.6為例),他們的loss仍然不算小。對於yolo/ssd這類one-stage detector,他們沒有rpn這類proposal網路,而是對影象上densely sampled window進行檢測,這樣的話負樣本的數量會遠遠超過正樣本的數量,而負樣本里面絕大多數又是easy example,也就是說,對於one-stage detector來說,雖然單個easy example的loss不大,但是所有easy example的loss加起來就會遠遠超過hard example的loss了。當hard example的loss對於模型的更新沒有什麼影響的時候,得到的分類模型的分類邊界往往不夠準確,對於hard example比較容易分錯。

3.2balanced cross entropy

既然one-stage detector在訓練的時候正負樣本的數量差距很大,那麼一種常見的做法就是給正負樣本加上權重,負樣本出現的頻次多,那麼就降低負樣本的權重,正樣本數量少,就相對提高正樣本的權重,如下式所示:

CE(pt)=αtlog(pt)

3.3focal loss definition

作者實際上解決的是easy example和hard example不均衡的問題,這個和訓練時候正負樣本不均衡是兩碼事,因為正負樣本里面都會有簡單的樣本和容易分錯的樣本。

作者提出的focal loss,相當於是對各個樣本加上了各自的權重,這個權重是和網路預測該樣本屬於true class的概率相關的,顯然,如果網路預測的該樣本屬於true class的概率很大,那麼這個樣本對網路來說就屬於easy(well-classified) example。如果網路預測的該樣本屬於true class的概率很小,那麼這個樣本對網路來說就屬於hard example。為了訓練一個有效的classification part,顯然應該降低絕大部分easy example的權重,相對增大hard example的權重。作者提出的focal loss如下式所示:

FL(pt)=(1pt)γlog(pt)
引數γ大於0。當引數γ=0的時候,就是普通的交叉熵,作者的實驗中發現\gamma=2效果最高。可以看到,當γ一定的時候,比如等於2,一樣easy example(pt=0.9)的loss要比標準的交叉熵loss小100+倍,當pt=0.968時,要小1000+倍,但是對於hard example(pt < 0.5),loss最多小了4倍。這樣的話hard example的權重相對就提升了很多。實際實驗中,作者和3.2一樣,對正負樣本又做了一個reweighting
FL(pt)=αt(1pt)γlog(pt)

4.Experiments

作者為了驗證自己的觀點,提出了一個RetinaNet,採用的是Resnet+FPN作為backbone,cls和reg兩路subnet分別加在各個Pyramid level上,如下圖所示:
1
注意到這裡用的class subnet和box subnet相比ssd都要更深一點,並且兩個subnet沒有share卷積層的引數。作者的實驗結果如下圖所示:
1
所有的實驗都是在COCO上做的。
(a)對於3.2說明的balanced cross entropy,當正樣本的權重α設定為0.75的時候,能達到最高的AP。
(b)對於固定的α,當γ等於2的時候能達到最高的AP
(c)選擇2scale,3aspect ratio效果最好
(d)OHEM相當於是在訓練的時候只選擇hard example進行訓練,作者將自己的方法和OHEM進行對比,同時加入了一組使用OHEM,並通過resample的方式保證正負樣本比例1:3的組,可以看到,作者的對hard example和easy example reweighting的方法要比OHEM這種只選擇hard example去訓練的方法要好。
(e)作者對比了自己的模型在不同的深度和訓練影象scale下的speed/accuracy

為了更好的觀察focal loss在reweighting example的效果,作者隨機選取了10^7個負樣本window和10^5個正樣本window,然後通過網路之後分別計算這些正負樣本的loss,最後,分別對於正樣本和負樣本,把所有window的loss進行歸一化(softmax),畫出累計loss隨樣本數目的增長曲線,如下圖所示:
9
可以看到,對於正樣本而言,增大\gamma對於loss的分佈影響不大,但是對於負樣本來說,當\gamma=2的時候,絕大部分的負樣本對於loss和的貢獻都可以忽略,所有的loss都集中在很小部分的hard example上。所以說作者提出的focal loss能夠讓網路focus learning on hard examples and down-weight the numerous easy negatives。

最後,放一張作者加了訓練的trick之後在COCO上的結果對比圖
1
作者的這個single-model,訓練的時候除了正常的random flip,還加上了scale jitter,延長了訓練時間,以及使用了更大scale的訓練影象,最終能達到39.1 AP。應該說,如果除掉這些訓練的trick以及FPN自帶的加成的話,focal loss也能夠使得one-stage detector和two-stage detector的精度有的一拼。

相關推薦

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

【寫在前面】 RetinaNet 是目前目標檢測最為優秀的方法之一,值得好好拜讀一下,在COCO資料集上達到了單個模型的state of art 的效果, 由Kaiming He團隊所作,作者發現導致one-stage演算法效能劣於two-stage演算法的主要

[論文筆記] Focal Loss for Dense Object Detection

Introduction 在 object detection 中,one-stage 跟 two-stage 的 model 的精準度的比較往往是一個高度討論的熱門話題,本論文中大致的描述了自己對於 two-stage 精準度上較高原因提出了一些猜測,詳細的

Focal Loss for Dense Object Detection 論文閱讀

因此 分類 技術分享 模型 出發點 oss oca 圖片 同時 何凱明大佬 ICCV 2017 best student paper 作者提出focal loss的出發點也是希望one-stage detector可以達到two-stage detector的準確率,同時

論文閱讀-《Focal Loss for Dense Object Detection

FAIR. ICCV2017 Oral Kaiming He & RBG 1.Motivation 一直以來,one-stage detector都以快著稱,yolo剛釋出的時候表明了是主打速度的,但是這些one-stage detector的精

[論文閱讀]:Focal Loss for dense Object Detection

在2D的影象檢測的任務中,一種有一個比較明顯的問題就是前後景數量上巨大的不平衡,背景一般遠遠多餘前景(也就是目標),這就導致一個問題,就是背景相關的梯度幾乎統治了梯度的傳播過程,本文提出的Focal Loss 就是試圖對損失函式的形態進行更改,從而達到平衡前後景

論文閱讀筆記四十四:RetinaNet:Focal Loss for Dense Object Detection(CVPR2019)

tina 測速 lin ble round 意義 分布 right 小時 論文原址:https://arxiv.org/abs/1708.02002 github代碼:https://github.com/facebookresearch/Detectron

Focal Loss for Dense Object Detection

Focal loss是Kaiming He和RBG發表在ICCV2017上的文章。 abstract: one-stage網路和two-stage網路相比,one-stage會得到大量目標位置。one stage不好的原因在於: 極度不平衡的正負樣本比例:abchor近

論文閱讀 | ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points

出了 span soft cor 相同 1.0 ask poi 可能 相關鏈接 論文地址:https://arxiv.org/abs/1901.08043 論文代碼:https://github.com/xingyizhou/ExtremeNet 概述 ExtremeN

【轉】論文閱讀(Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection

數據 大小 table 使用 con 改進 包括 end 修改 Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection 目錄 作者和相關鏈接 方法概括 創新點和貢獻 方法細節 實驗結果 總結與收獲點 參考文獻

ECCV 2018 論文閱讀筆記——Acquisition of Localization Confidence for Accurate Object Detection

       目標檢測涉及到目標分類和目標定位,但很多基於 CNN 的目標檢測方法都存在分類置信度和定位置信度不匹配的問題。針對這一問題,一種稱之為 IoU-Net 的目標檢測新方法被提出,在基準方法的基礎上實現了顯著的提升。該論文已被將於當地時間 9 月 8

論文閱讀筆記二十三:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)

論文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要        在PASCAL VOC資料集上,最好的方法的思路是將低階資訊與較高層次的上下文資訊進行結合。該文的兩個亮點:(1)將CNN應用到re

論文閱讀筆記(三十八):Dynamic Zoom-in Network for Fast Object Detection in Large Images

We introduce a generic framework that reduces the computational cost of object detection while retaining accuracy for scenarios whe

《Frustum PointNets for 3D Object Detection from RGB-D Data》論文及程式碼學習(二)程式碼部分

《Frustum PointNets for 3D Object Detection from RGB-D Data》論文及程式碼學習(二)程式碼部分 文章目錄 《Frustum PointNets for 3D Object Detection from RG

《Frustum PointNets for 3D Object Detection from RGB-D Data》論文及程式碼學習

《Frustum PointNets for 3D Object Detection from RGB-D Data》論文及程式碼學習 《Frustum PointNets for 3D Object Detection from RGB-D Data》一文是Charles R.Qi

[論文理解]Region-Based Convolutional Networks for Accurate Object Detection and Segmentation

Region-Based Convolutional Networks for Accurate Object Detection and Segmentation 概括 這是一篇2016年的目標檢測的文章,也是一篇比較經典的目標檢測的文章。作者介紹到,現在表現最好的方法非常的複雜,而本文的方法,簡單又容

MSCNN論文解讀-A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection

 多尺度深度卷積神經網路進行快速目標檢測: 兩階段目標檢測器,與faster-rcnn相似,分為an object proposal network and an accurate detection network. 文章主要解決的是目標大小不一致的問題,尤其是對小目標的檢測,通過多

Acquistion of Localization Confidence for Accurate Object Detection論文翻譯

翻譯僅為學習,如有侵權請聯絡我刪除。 翻譯如有錯誤之處請指出。 摘要 現在的基於CNN物體檢測器依賴於邊界框迴歸和非極大值抑制來定位物體。雖然類標籤的概率自然的反映了分類置信度,但缺乏定位置信度。這使得合適的定位邊界框在迭代迴歸期間退化,甚至在NMS時被抑制。在這篇論文裡我們提

Rich feature hierarchies for accurate object detection and semantic segmentation Tech report 論文解讀

一、R-CNN的三個模組 每個圖片生成獨立類別的 region proposal,這些 proposals 定義了可用於檢測器的候選框集合 使用大型的卷積神經網路,可以從每個region proposal中提取固定長度的特徵向量 一組能區分每個類別的線性向量機組

Deep Learning for Generic Object Detection: A Survey 閱讀筆記

目錄 摘要 1.介紹 2.背景 2.1問題 3.框架 摘要 目標監測旨在從自然影象中定位出大量預定義類別的例項物件,是機器視覺中最基本也是最具挑戰的問題。近年來,深度學習技術作為直接從資料學習特徵表示的強

Dynamic Zoom-in Network for Fast Object Detection in Large Images 閱讀筆記

摘要 我們引入了一個通用框架, 它降低了物體檢測的計算成本, 同時保留了不同大小的物體在高解析度影象中出現的情況的準確性。檢測過程中以coarse-to-fine的方式進行,首先對影象的down-sampled版本,然後在一系列較高解析度區域上,識別出哪些可能