针对问题:
根据anchor-free正负样本分配方式,存在:在训练过程中引入标签噪声问题。造成其原因:
1、一些带正标签的样本落在背景上或者遮挡物体上
2、非判别性特征
针对上述的标签噪声问题,论文提出PPDet网络
1、主要网络框架与RetinaNet相似。首先通过主干网络+FPN获得多尺度特征。
2、存在:根据真实框自身的scale或者是目标的回归距离来判定将分配到第几层特征图上,就将会限制网络对真实框的预测,所以借鉴FoveaBox网络中的尺度分配策略,将GT框分配到合适的特征图上。这里原理很简单,就是首先计算GT框的scale,然后看他位于哪个区间内,位于哪个区间就表明属于那一层或多层特征图上。计算公式
rl表示特征图的基本尺寸,p3~p7=32~512。η根据实验得到最优值为2.
3、判定正负样本及网络训练
与真实框拥有同一个中心点,并且是GT框的0.4倍大小,则认为,我们的锚点落入该区域的话,则为正样本,否则为负样本。检测头--回归分支学习:根据样本点及GT框位置,根据anchor-free的相关公式,计算得到对应的位置回归参数——l*,r*,t*,b*,与GT的回归参数共同送入smoothL1损失函数进行学习,得到其回归位置。检测头--分类分支学习:经过分类分支学习,得到一个分类分数,将其与真实标签数,送入focal loss进行学习,得到最优类别精度。
这里分类损失与之前的有所不同,之前是对每个学习到的都单独送入分类损失中进行学习,最后相加,得到最终的损失函数值。本文针对同一个目标在所有包含该目标的特征图上所学到的分类精度值,将其聚合相加,然后用该总数值与真实类别精度,送入分类损失函数进行学习,其余与之前一样。
但是这样做,使得正负样本的比例变得比之前的要大一点,个人觉得还是会加剧正负样本不均衡对整体训练效果的影响。但是论文说,影响不但(担忧没有给出相关的实验验证)
4、在inference阶段
在这一阶段,论文在去冗余框前添加了一个pool prediction操作。
根据一个判定条件:若两者检测类别为同一类别,且两框之间的IOU值大于0.6,则认为其能够进行pool prediction操作。
具体操作:就是将两框的检测类别精度值分别加上另一个框的检测类别精度值乘以k的(IOU-1.0)次方,得到对应新的检测类别精度值。
5、以下是部分实验结果