论文:Libra R-CNN: Towards Balanced Learning for Object Detection (2019.4.4)
作者:Jiangmiao Pang, Kai Chen, Jianping Shi, Huajun Feng, Wanli Ouyang, Dahua Lin
链接:https://arxiv.org/abs/1904.02701
代码:https://github.com/OceanPang/Libra_R-CNN
- R-CNN算法解读
- SPPNet算法解读
- Fast R-CNN算法解读
- Faster R-CNN算法解读
- Mask R-CNN算法解读
- Cascade R-CNN算法解读
- Libra R-CNN算法解读
目录
- 1、算法概述
- 2、Libra R-CNN细节
- 2.1 IoU-balanced Sampling
- 2.2 Balanced Feature Pyramid
- 2.3 Balanced L1 Loss
- 3、实验结果
1、算法概述
该论文指出,现如今与模型结构设计相比,训练过程优化在目标检测中受到的关注相对较少。作者通过实验发现检测性能往往受到训练过程中不平衡的限制,这种不平衡通常包括三个层面——样本层面,特征层面和目标层面。如下图所示:
为此,作者从三个层面做出改进分别应对以上三处不平衡现象;针对于样本层面的不平衡提出了基于IoU的平衡采用法,使得不使用过多的简单负样本参与训练;针对于特征层面的不平衡提出了平衡金字塔方法重新整合、提炼并增强了高层语义与低层细节特征;针对目标层面的不平衡提出了balanced L1损失函数。作者将改进后的算法命名为Libra R-CNN,整理处理流程如下图所示:
2、Libra R-CNN细节
2.1 IoU-balanced Sampling
作者主要想提升困难负样本的利用率,作者通过实验发现,IoU值大于0.05的困难负样本是超过60%的,但如果只是采用随机采用的方式,只会利用到30%比例的困难负样本。这会导致困难负样本和简单负样本的不平衡,从而导致梯度被大量的简单负样本主导,这样对模型更新没有太大帮助。
假设我们需要从M个对应的候选样本中抽取N个负样本。在随机抽样下,每个样本所选择的概率为:P = N/M
,为了提高困难负样本的选择概率,作者根据IoU将采样间隔均匀地分成K个分组,N个需要的负样本被均匀地分配到每个分组中。然后均匀地从中选择样本。因此,基于IoU平衡的采样方法所得到选择概率为:
Mk是每个分组中样本的数量,K在作者的实验中被设置成为了3。
如下图所示,通过IoU平衡法抽样困难负样本,得到的样本分布与困难负样本分布基本一致。
2.2 Balanced Feature Pyramid
与FPN,PAN通过横向连接整合多层次特征的方法不同,作者使用相同的深度集成平衡语义特征来强化多层次特征。如图下图所示。它包括重整、整合、精炼和强化四个步骤。
第一步:获得平均语义特征图,如上图将特征图{C2,C3,C4,C5}通过插值上采样和maxpooling下采样变换到同一个尺寸,最后求平均得到均衡化的语义特征图,如上图红框部分,包含重整和整合两个操作。公式如下:
Cl代表重整后的特征图。
第二步:提炼均衡化后的语义特征图,上图黄框部分。平衡的语义特征可以进一步细化,使其更具有辨别力。
第三步:从低层到高层的特征进行聚合强化,上图绿框部分。
2.3 Balanced L1 Loss
作者从Fast R-CNN的损失值出发,公式如下:
定义损失值大于等于1.0的为离群值(outliers)样本,剩余的为内联值(inliers)。内联值可看作简单样本,相对于离群值只贡献了30%的梯度,考虑到内联值与离群值对梯度的贡献度不平衡,作者提出了平衡L1损失,作者先从梯度方面入手,使得在内联值范围内,增加梯度,而离群值范围,不受影响,公式如下:
梯度曲线如下:
对上面公式求积分,可以得到balanced L1损失如下:
其中参数α,b,γ满足如下公式:
实验中,α和γ取值分别为0.5,1.5。balanced L1损失函数曲线为:
3、实验结果
作者以ResNet50 FPN为主干的Faster R-CNN算法为baseline,比较了三种平衡方式改进在COCO val-2017数据集上的提升效果,结果如下表所示:
与其他算法的比较:
从上表可以看出,针对于Faster R-CNN和RetinaNet算法,利用了Libra R-CNN做了平衡处理,AP值都得到了一到两点的AP值提升。对于区分目标大小的AP指标,Libra R-CNN主要提升在对大目标的AP值,小目标和中等目标只有在backbone规模不大(ResNet-50-FPN),提取特征能力不强的时候才有较大提升,这也进一步证明Libra R-CNN能增强backbone提取特征能力。