目标检测中的损失函数与正负样本分配:RetinaNet与Focal loss

RetinaNet

在这里插入图片描述
在目标检测领域,单阶段算法精度第一次超过双阶段,就是RetinaNet。

网络结构:

作者设计的网络结构没有太大创新,文中是这样说的:

The design of our RetinaNet detector shares many similarities with
previous dense detectors, in particular the concept of ‘anchors’
introduced by RPN [3] and use of features pyramids as in SSD [9] and
FPN [4]. We emphasize that our simple detector achieves top results
not based on innovations in network design but due to our novel loss.

检测头是分类与BBox回归解耦的,并且是基于锚框的,经过FPN后输出五层不同尺度的特征图,每层分别对应32~512尺度的锚框,并且每层根据scale和ratios的不同组合有9种锚框,最终整个网络的锚框尺寸是32 ~ 813之间。使用网络预测的相对锚框的偏移量来计算BBox的方法与Faster R-CNN相同。下图是霹雳吧啦的图。
在这里插入图片描述
论文中的结构图如下,只示意了由FPN引出的三种尺度的特征图,W,H,K,A分别代表特征图宽,高,分类数量(不包含背景类),锚框数量(9)。 在这里插入图片描述

正负样本匹配

正样本:预测的BBox 与gt IoU>=0.5,
负样本:预测的BBox 与gt IoU<0.4,
其他样本舍弃

损失函数:

在这里插入图片描述

第一项分类损失中是计算所有样本(包括正负)的Focal loss,然后除去正样本数量 N p o s N_{pos} Npos。BBox回归损失是Fast R-CNN中提出的smooth L1 loss。
RetinaNet可以说是讲完了,但本作的重点是Focal Loss,我们接下来详细探究本文Focal loss的设计。

单阶段目标检测算法中的正负样本不平衡问题

作者认为单阶段算法没双阶段高的重要原因是单阶段算法的预测框是很密集的,只有很少的预测框会匹配到目标,这些预测框即作为正样本,而没有匹配到的候选框(负样本)大概有超过10000个,这种不平衡导致总损失中容易分类的负样本(对训练网络的作用很小)由于数量的巨大优势会淹没掉少量但重要的正样本。

CE损失

一般分类使用CE损失,可以写作:
在这里插入图片描述
同时等价于以下形式:
在这里插入图片描述在这里插入图片描述

CE损失的变种:Balanced CE Loss

常见的改进方法是引入一个系数 α \alpha α来增大正样本的权重,下图是原文中的描述
在这里插入图片描述
这种改进方法可以有效提高正样本的损失对训练的影响,能够提升网络的性能,但无法提高难分类样本的权重。

Focal loss

为了提高难分样本在损失中的权重,作者给出了Focal loss的定义:
在这里插入图片描述
在这里插入图片描述
其中的比例因子 ( 1 − p t ) γ (1−pt)^{\gamma} (1pt)γ在训练中自动降低简单例子的贡献,提高困难例子的比重。同时,与Balanced CE Loss相似,作者为Focal Loss前面也加上了一个α的超参,最终的Focal loss形式如下:
在这里插入图片描述
将Focal Loss展开后得到下式:在这里插入图片描述
本作的最大创新就是Focal loss。论文中 γ \gamma γ推荐取2,α取0.25。若 γ \gamma γ取0,则FL就退化为了CE。

举例

下图中,前两个p是易分类的正样本,中间两个是易分类的负样本,最后两个是难分类的正负样本。
在这里插入图片描述
可以看到难分类的样本其权重是更大的。
Focal Loss的缺点就是易受噪声的干扰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值