RetinaNet学习笔记
RetinaNet (ICCV 2017)
1.概述
- 原论文作者针对单阶段法(one-stage)目标检测模型中前景(positive)和背景(negatives)类别的不平衡问题,提出了一种叫做Focal Loss的损失函数,用来降低大量easy negatives在标准交叉熵中所占权重(提高hard negatives所占权重)。为了检测提出的Focal Loss损失函数的有效性,作者顺便提出了RetinaNet
2.网络结构
-
结构:使用ResNet进行特征提取,使用FPN进行特征融合,搭建了三个分类和框回归的子网络
-
ResNet:本论文中用的是Resnet-50(区别在于采用的残差单元/模块不同或者堆叠残差单元/模块的数量和比例不同);
-
FPN:使用原始的FPN(输入为ResNet-50不同尺度的三张特征图;输出为多尺度特征融合的P3_x, P4_x, P5_x,以及由残差网络ResNet-50最后的一张特征图继续通过卷积层(stride=2,特征图尺寸继续减小)的结果P6_x, P7_x ),输出共五张图
3.Focal Loss损失函数(更详细内容)
-
概述:分为两部分,一部分是分类损失,一部分是回归损失;特点是正负样本都会来计算分类损失,但仅对正样本进行回归损失的计算
-
起源:二分类交叉熵CE,平衡交叉熵Balanced CE(在CE基础上增加一个权重因子)
-
Focal Loss:BCE解决了正负样本的比例失衡问题(positive/negative examples),但没有区分简单区分样本还是困难区分样本(easy/hard examples)。当简单区分的负样本的泛滥时,整个训练过程都是围绕容易区分的样本进行(小损失积少成多超过大损失),而被忽略的难区分的样本才是训练的重点,因此作者新引入了一个调制因子