1.摘要
检测不平衡问题包括:样本层面(sample level)、特征层面(feature level)、训练目标层面(objective level)。
Libra R-CNN,一个针对目标检测平衡学习的简单有效框架。该框架集成了三个组件:IoU-balanced sampling,balanced feature pyramid,balanced L1 loss,分别解决上述的三个不平衡问题。
2.介绍
目标检测训练的成功取决于三个关键方面:(1)选取的区域是否具有代表性
(2)提取的特征是否被充分利用到
(3)目标损失函数是否是最优的。
(a)Sample level imbalance:
为了防止目标检测器只把训练中心放在 easy samples,整个训练结果被带偏,OHEM(Online Hard Examples Mining),能够关注hard samples.
(b) Feature level imbalance
底层特征拥有高分辨率,高层特征更丰富的语义信息。
FPN,PANet将两者结合起来,信息互补。
不同层特征组合后的特征必须从各分辨率中进行均衡。
(c)Objective level imbalance
目标分类与定位的两个任务结合,可看作multi-task的训练优化问题,如何给不同任务赋予权重是一个问题。
3.Libra R-CNN方法
1.IoU-balanced sampling
本文提出了IoU-balanced sampling解决样本之间的不平衡性。
具体做法为:假定我们需要从M个候选中抽取N个负样本,每个样本被抽中的概率很好计算:
为了增加hard negative samples被抽中的概率,根据IoU将抽样区间平均分成K个格子。N个负样本平均分配到每个格子中,然后均匀地从中选择样本,此时被选中的概率为:
Mk表示k个对应区间内的抽样候选个数,K在实验中默认为3.
这种方法最大的转变是作者通过在IoU上均匀采样, 使得hard negative在IoU上均匀分布。
2.Balanced Feature Pyramid
FPN等网络结构提出了横向连接(lateral connection),与以往使用横向连接来整合多层次特征的方法不同,本文的核心思想是利用深度整合的均衡语义特征来强化多层次特征。
整个过程分为四步,rescaling(尺寸调节),integrating(特征融合),refining(特征细化),strengthening(特征增强)。
Obtaining balanced semantic features
假设 C l C_l Cl?表示第 l l l 层特征, l m i n lmin lmin, l m a x lmax lmax分别表示最底层和最高层的特征。
如下图所示,C2有最高的分辨率,为了整合多层次的功能,同时保持它们的语义层次。作者首先将不同层的特征**{C2,C3,C4,C5 }**进行 resize,resize到相同的尺寸,如C4。resize的方法无外乎插值和最大池化。尺寸调整完毕后,可以通过下式得到平衡后的语义特征:
3. Balanced L1 Loss
Lcls 和Lloc分别是分类和定位的损失函数。
为了平衡不同任务,调整参数λ是一个可行的办法。
但是,由于回归目标是没有边界限制的,直接增加回归损失的权重将会使模型对outliers更加敏感。对于outliers会被看作是困难样本(hard example),这些困难样本会产生很大的梯度阻碍训练,而inliers被看做是简单样本(easy example)只会产生相比outliers大概0.3倍的梯度。
基于此,作者提出了balanced L1 Loss,在下文中用Lb表示。
smooth L1 Loss的思想是,当x较大时,按照一个恒定的速率梯度下降,等到x较小时, 不再按照一个恒定大梯度下降,而是按照自身进行动态调整。
balanced L1 Loss的 可以表示为:
对应的梯度公式如下所示:
基于上述公式,设计了一个提升梯度的公式:
基于上述公式,设计了一个提升梯度的公式:
Lb也就是Balanced L1 Loss的庐山真面了:
为了保证函数的连续性,在x=1时,需要满足下式:
参考:
CVPR 2019论文阅读:Libra R-CNN如何解决不平衡对检测性能的影响?