论文解读Focal Loss for Dense Object Detection

提出了一种新的损失函数Focal Loss,该函数通过在交叉熵损失基础上添加一个调节因子来解决类别不平衡问题,尤其适用于物体检测任务中的正负样本不平衡情况。实验证明,Focal Loss能有效提升单阶段检测器的准确性。基于此,进一步设计了一个名为RetinaNet的网络,该网络利用特征金字塔结构来检测不同尺度的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文: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 就是正常的交叉熵Loss加上一个 ( 1 - Pt ) ^y 的因子, 可以减少好的分类的样本的Loss
(我们提出的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 11α控制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
金字塔的每一层用来检测不同的尺度

这里写图片描述
从图中可以看出左边是ResNet,中间为提取出feature map(加号为UpSampling后相加),然后用两个子网络相连,输出类别和边框。
实验结果
这里写图片描述

实验比较:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值