【论文阅读笔记】目标检测之RetinaNet--论文阅读 Focal Loss for Dense Object Detection

【写在前面】 RetinaNet 是目前目标检测最为优秀的方法之一,值得好好拜读一下,在COCO数据集上达到了单个模型的state of art 的效果, 由Kaiming He团队所作,作者发现导致one-stage算法性能劣于two-stage算法的主要原因是region proposal时前景和背景的类别不平衡,为了解决这个问题,提出了关键大招Focal Loss,改写了传统的分类交叉熵损失函数,在训练过程中能够实现自动降低容易分类的类别的权重,从而可以把优化网络的关注点放在难分类的目标上。因此,RetinaNet既解决了one-stage region proposal 产生大量的非目标区域特征导致loss计算不平衡的问题,保留了faster RCNN检测精度高的优点,又属于One-Stage算法,减少了重复计算,算法速度相对于two-stage得到了极大的提升。

感谢各位大大的开源代码:
Caffe2 version: https://github.com/facebookresearch/Detectron
Keras version: https://github.com/fizyr/keras-retinanet 本人keras版本亲测非常好用,下一篇博客写一下这个的源码解读。
Pytorch version: https://github.com/kuangliu/pytorch-retinanet

  1. Focal Loss
    我们看一下什么是Focal Loss. Focal loss被设计用来解决one-stage算法产生的极端的前景/背景(比如1:1000)不平衡问题的。
    先看一些背景知识
    对于二分类的分类交叉熵,如下为计算公式:

其中y∈{-1,+1}, y=1代表预测为groundtruth类别, p表示y=1的概率,引入pt分类交叉熵可做如下定义:

如下图1中,蓝线是CE,所以当容易分的类别(p>>0.5)特别多的时候,虽然单个loss的值不大,总的Loss加起来易分的类别还是会占主导地位,难分的类别就会被淹没。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值