网络名称 | RetinaNet |
---|---|
发表时间 | 2018年1月 |
作者 | Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollar |
机构 | Facebook AI Research (FAIR) |
领域 | 目标检测(object detection) |
简介 | 使用Focal Loss解决样本不均衡问题,让one-stage网络达到two-stage的精度。 |
简介
针对one stage网络中类别不均衡问题,本文作者提出一种新的损失函数:Focal Loss,这个损失函数是在标准交叉熵损失基础上修改得到的。这个函数可以通过减少易分类样本的权重,使得模型在训练时更专注于稀疏的难分类的样本;防止大量易分类负样本在训练中压垮检测器。为了证明focal loss的有效性,作者设计了一个dense detector:RetinaNet,并且在训练时采用focal loss训练。实验证明RetinaNet不仅可以达到one-stage detector的速度,也能超过现有two-stage detector的准确率。
背景
Object detection算法主要可以分为两大类:two-stage detector和one-stage detector。前者是指类似Faster RCNN,RFCN这样需要region proposal的检测算法,这类算法可以达到很高的准确率,但是速度较慢。虽然可以通过减少proposal的数量或降低输入图像的分辨率等方式达到提速,但是速度并没有质的提升。后者是指类似YOLO,SSD这样不需要region proposal,直接回归的检测算法,这类算法速度很快,但是准确率不如前者。研究发现正负样本极不均衡是主要原因。
Focal Loss
对于二分类问题交叉熵函数如下所示:
C E = − y l o g ( p ) − ( 1 − y ) l o g ( 1 − p ) ( 1 ) CE = -ylog(p)-(1-y)log(1-p) \qquad\qquad\qquad\qquad\qquad (1) CE=−ylog(p)−(1−y)log(1−p)(1)
式子中 y y y代表ground truth真实值标签, p p p代表预测结果为正的概率。
可以改写为
p t = { p i f