【目标检测】Retinanet:Focal Loss for Dense Object Detection

原文链接如下:

https://blog.csdn.net/JNingWei/article/details/80038594

https://blog.csdn.net/weixin_41665360/article/details/90039317

https://blog.csdn.net/weixin_30856725/article/details/95157073

1、目标检测存在的问题

目前检测器主要有以下两派:

【目标检测】Retinanet:Focal Loss for Dense Object Detection

在two-stage检测器大行其道的今天,作者探究了one-stage 检测器在精度上不如two-stage检测器的原因。他们认为,one-stage检测器规则的密采样候选框的机制,会在采框过程中产生大量负样本,这种在训练时的前景-背景类别失衡会导致大量的简单负样本在训练过程中压倒检测器。简而言之,这些明显错误的简单负样本会在训练过程中影响检测器的学习,而那些更challenge的负样本会得不到关注。

基于以上研究,作者提出了一种焦点损失(Focal Loss),给予easy的负样本一个小的loss权重,避免训练过程中正负样本loss失衡。

2、焦点损失(Focal Loss)

常规的交叉熵损失函数:

【目标检测】Retinanet:Focal Loss for Dense Object Detection

若将p和(1-p)统一表示为如下:
【目标检测】Retinanet:Focal Loss for Dense Object Detection

则交叉熵可以简化为:
【目标检测】Retinanet:Focal Loss for Dense Object Detection

Focal Loss损失函数如下:

【目标检测】Retinanet:Focal Loss for Dense Object Detection加入【目标检测】Retinanet:Focal Loss for Dense Object Detection参数后为:

【目标检测】Retinanet:Focal Loss for Dense Object Detection

说明:FL是一个尺度动态可调的交叉熵损失函数,在FL中有两个参数 【目标检测】Retinanet:Focal Loss for Dense Object Detection 和 【目标检测】Retinanet:Focal Loss for Dense Object Detection ,其中 【目标检测】Retinanet:Focal Loss for Dense Object Detection 主要作用是解决正负样本的不平衡,  【目标检测】Retinanet:Focal Loss for Dense Object Detection主要是解决难易样本的不平衡。

3、参数说明

3.1、【目标检测】Retinanet:Focal Loss for Dense Object Detection解决正负样本不平衡

            【目标检测】Retinanet:Focal Loss for Dense Object Detection

【目标检测】Retinanet:Focal Loss for Dense Object Detection

【目标检测】Retinanet:Focal Loss for Dense Object Detection交叉熵损失可以表示如下:

【目标检测】Retinanet:Focal Loss for Dense Object Detection

【目标检测】Retinanet:Focal Loss for Dense Object Detection值往往需要根据验证集进行调整,论文中给出的是0.25。

3.2、 【目标检测】Retinanet:Focal Loss for Dense Object Detection解决难易样本的不平衡

【目标检测】Retinanet:Focal Loss for Dense Object Detection

在实验中,发现 γ=2,α=0.25γ=2,α=0.25 的取值组合效果最好。

4、RetinaNet( FPN + sub-network + FL

【目标检测】Retinanet:Focal Loss for Dense Object Detection

主要流程图如上,(a)(b)是比较常规的特征提取网络,作者采用的FPN50和FPN101,(c)(d)是分类和回归的subnet。整体的框架很简洁。

【目标检测】Retinanet:Focal Loss for Dense Object Detection

【目标检测】Retinanet:Focal Loss for Dense Object Detection

【目标检测】Retinanet:Focal Loss for Dense Object Detection

【目标检测】Retinanet:Focal Loss for Dense Object Detection

注明:

  • RetinaNet简单而十分强大,以至于成为了当下最佳(accuracy/speed/complexity trade-off)的detector之一。
  • RetinaNet的detector部分是两条平行pipe-line,且 设计相同 (除了尾部的output不一样) 但 参数不共享 (Faster R-CNN中第一层的参数是共享的) 。
  • reg_pipe-line直接输出target,所以是采用了无分类的bbox regressior(Faster R-CNN是每个类各一个bbox regressor)。

 

5、结果

【目标检测】Retinanet:Focal Loss for Dense Object Detection

参考实践:

https://github.com/fizyr/keras-retinanet

https://www.aiuai.cn/aifarm886.html