论文解读Focal Loss for Dense Object Detection

论文:Focal Loss for Dense Object Detection

引言:

目前最好的物体检测都是基于两个平台(two stage),和推荐驱动的机制(proposal-driven mechnism),如R-CNN。近期的集合为一个平台(one stage)的工作有YOLO和SSD,他们比前者更快
我们提出了一个新的损失函数用于类的区分(class imbalance),这个损失函数是一个动态缩放的交叉熵Loss(cross entropy loss),当正确分类的可信度提升时,缩放因子会衰退至0。
论文解读Focal Loss for Dense Object Detection_第1张图片
(我们提出的Focal Loss 就是正常的交叉熵Loss加上一个 (1pt)γ 的因子, 可以减少好的分类的样本的Loss, 设置 γ
直观上,缩放椅子可以自动缩小简单样本的贡献的参数,从而可以更快的关注困难样本。实验显示我们提出的Focal Loss可以训练出更高的准确性的(one stage detector),其表现出了启发式取样和困难样本挖掘的效果。
我们提出了一个使用Focal Loss的网络:取名叫RetinaNet,效果很好

Focal Loss :

cross entropy是这样的:

CE(p,y)={log(p)log(1p)if y=1 otherwise.

其中 y{±1}
为了标注的方便,我们设 pt :
pt={p1pif y=1otherwise

我们尝试引进一个权重因子 α[0,1] 控制class 1 1α 控制class 1 ,像 pt 一样我们定义 αt ,这样可以写出 α 平衡后的交叉熵 CE loss:
CE(pt)=αlog(pt)

容易区分的样本组成loss的主要部分并决定着梯度,然而 α 可以平衡正负样本的重要性,但不能区分容易和困难样本,所以我们重写了损失函数。
我们为cross entropy添加一个调节因子 (1pt)γ

FL(pt)=(1pt)γlog(pt)

当一个样本被分类错误时, pt 很小,所以 (1pt)γ 很大,对loss的影响很小,当 pt 趋近1时,因子趋近0,所以对于分类好的loss权重下降。
在实验中我们也使用了 α
FL(pt)=αt(1pt)γlog(pt)

α 的效果比没有的好,最后还发现计算 p 时使用sigmoid操作可以有更好的数的稳定性。

RetinaNet:

Feature Pyramid Network Backbone
金字塔的每一层用来检测不同的尺度

论文解读Focal Loss for Dense Object Detection_第2张图片
从图中可以看出左边是ResNet,中间为提取出feature map(加号为UpSampling后相加),然后用两个子网络相连,输出类别和边框。
实验结果
论文解读Focal Loss for Dense Object Detection_第3张图片

实验比较:

α=0.75 和不设置 α 相比,提高了 0.9 AP
γ=2 和设 γ=0 相比(相当于cross entropy),提高 2.9 AP
Focal Loss和OHEM相比,提高 3.2 AP

你可能感兴趣的:(论文解读,计算机视觉)