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

本文介绍了Focal Loss在解决one-stage目标检测模型中的类别不平衡问题上的应用,通过对比Faster R-CNN和YOLO等模型,分析了two-stage和one-stage模型的差异。Focal Loss通过调整损失函数,降低了大量背景样本的影响,提升了模型在稀疏正样本上的学习效率,实验结果显示,Focal Loss使one-stage模型的性能接近two-stage模型。
摘要由CSDN通过智能技术生成

論文出處 :Focal Loss for Dense Object Detection

Introduction

object detection 中,one-stagetwo-stagemodel 的精準度的比較往往是一個高度討論的熱門話題,本論文中大致的描述了自己對於 two-stage 精準度上較高原因提出了一些猜測,詳細的整理了兩種架構上的差異,並依照該假設而訂立 Focal Loss Function ,從實驗表現中驗證自己的假設。

內容大致上可分為幾個重點 :one-stagetwo-stage 的基本架構、Class Imbalance ProblemFeature Pyramid Network 以及本文重點 Focal Loss 及其對應到的 one-stage 架構的 RetinaNet
two-stage 的兩個 stage 分別是 Region ProposalClassification,先預測邊框,再判斷邊框內object 是否為目標類別,而 one-stage 則是同時預測。

要了解 Class Imbalance Problem 之前,必須先了解到 one-stagetwo-stage 的架構上的主要差異,我大致上會介紹各別代表性的經典 YOLOFaster-RCNN

two-stage : Faster-RCNN

先介紹 RCNN 系列原因,其一是 one-stage 往往在架構改進上會借鏡 two-stage 中的內容,其二是 RCNN 系列是 object detection model 的開山始祖,流變上較好解釋。

在这里插入图片描述

一開始的 RCNNFast-RCNN 中在決定邊框時,都是利用訊號處理的方式做決定可能是目標的 2000 個候選人,稱之為 selective search,而差別在於將輸入影像經過 CNN 再用輸出的 feature map 選取候選人,feature map 用意為降低運算量,其中每一個 map 中的 pixel 代表的是某一小區域的灰度值分佈,相較計算整張影像來說運算較有效率。

Fast-RCNNFaster-RCNN 中,因為決定候選區域的大小不一,因此在最後 Pooling 時,採取的是 Roi Pooling,如下圖所示
在这里插入图片描述
為將每個不同的候選區域劃分成同一種規格的大小,Pooling size 會動態決定,這也是最難實做的部分。

最後介紹現今主流的 two-stage 架構,以往的 selective search 仍然耗費了大量的時間,而 Faster-RCNN 選擇了新的邊框預測方式,Region Proposal Network,將邊框預測是為是一個 regression 的問題,直接的預測邊框數值,整個模型架構如下:
在这里插入图片描述
其中多了 Anchor 的概念,在經過一開始 CNN 架構之後的 feature map ,每一個 pixel 具有多個 Anchor,每一個 Anchor 具有不同的大小以及比例,在 RPN 中會決定每一個 mape pixel 是否為目標的可能性及邊框的誤差值,在每一個疊代中不斷更新,而之後的架構則是參照之前的 Fast-RCNN,輸出的是 object 屬於哪個類別以及其邊框位置和大小。


one-stage : YOLO

YOLO 系列可說是 one-stage 最具代表性的方法,全名是 You Only Look Once,如其名,就是在一次影像輸入後只看一次就可以預測目標及所在位置,有別於 two-stage 複雜架構,YOLO 簡易許多,也容易實做,且最重要的是其運算時間非常的少,很適合應用在需要 Real-Time 的場合,架構如下
在这里插入图片描述
想法上就是單純的 CNN 架構,在最後壓縮成尺寸很小的 feature map ,直接預測出每一個 grid 中是否為 object 的可能性以及屬於哪個類別的機率以及邊框位置還有大小。
其概念圖如下

在这里插入图片描述
而在第二代以及第三代中,僅做架構上的微調,譬如將 Flatten 的部份去掉,或是將 backbone 部分改成 ResNet 或是 Feature Pyramid Network,以及投入 Faster-RCNN 中的 Anchor,計算邊框偏移量加強自己邊框的預測。


Class Imbalance Problem

one-stagetwo-stage 的最大的差別在於是否先決定可能是目標的候選人,該步驟可視為是一個判斷前景與後景的分類問題,而 one-stage 的精準表現上時常不如 two-stage 的原因在於,背景與目標的數量是極度不平衡的,在判斷目標分類的問題中,如果背景數量極高的狀況下,在訓練過程中對於 loss 的影響大上許多,model 會傾向將結果判斷成是背景,而 two-stage 因為先過濾掉多數背景,因此在分類上 easy negatives 的影響程度較低。
因此,文中針對 one-stage model 提出了一個抑制類別數量失衡問題的 object :Focal Loss


Focal Loss

Original Cross Entropy : C E ( P , y ) = { − log ⁡ P  if  y = 1 , − log ⁡ ( 1 − P )  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值