论文笔记:Libra R-CNN

521 阅读2分钟

1. 概况

三个不平衡问题:

  • Region proposal的不平衡问题=>IoU-balanced Sampling
  • 不同特征如何融合才能充分利用=>Balanced Feature Pyramid
  • 损失函数设计能不能引导检测器更好的收敛=>Balanced L1 Loss

2. 模型改进

  • IoU-balanced Sampling
    根据IoU来平均选择每个区间的sample,也就是把随机采样换成分层采样 Ross Girshick后面提出了OHEM(online hard example mining,在线困难样本挖掘)是一个hard negative mning的一种好方法,但是这种方法对噪音数据会比较敏感。随机采样造成的不平衡可以看下图: 随机采样到的样本超过70%都是在IoU在0到0.05之间的, 统计得到的事实是60%的hard negative都落在IoU大于0.05的地方,但是随机采样只提供了30%。所以作者提出了IoU-balanced Sampling。 随机采样就是比如你要选N个hard negative,有M个候选框,选中的概率就是 如果一共还是要采样N个,通过IoU的值划分为K个区间,每个区间中的候选采样数为Mk,则IoU-balanced sampling的采样公式即为:
  • Balanced Feature Pyramid
    以fpn为基础,将4层特征进行融合增强
    rescale&integrate:低层特诊分辨率高往往学习到的是细节特征,高层特征分辨率低学习到语义特征, 把4层的resize到中间c4的size,再通过加权平均进行融合
    refining&strengthening:论文中使用了Gaussian non-local attention作为增强特征的手段
  • Balanced L1 Loss(把梯度掰成曲线,tql)
    Fast rcnn中损失函数如下 如果分类做得很好地话一样会得到很高的分数,而导致忽略了回归的重要性,一个自然的想法就是调整λ的值,但是这样会让啊样本损失大于等于1.0的outliers(hard example)更敏感,相比(easy example)会产生更大的梯度影响训练 常用的smoothl1函数如下 Balancedl1的形式和梯度准则如下 想要得到一个梯度当样本在|x|<1附近产生稍微大点的梯度,可以设计梯度函数如下,a(ln(b|x|+1)肯定>x 由梯度函数反推出损失函数如下 为了满足连续性,x=1时令Lb(1)=r