前言
RPN是two-stage目标检测器中的一个核心部分,它用于生成一系列proposal,并且能够过滤大部分负样本,从而避免正负样本间的极端不平衡。不过目前的RPN仍存在一些缺点:
-
如下图所示,随着IoU的增大,RoI的数量急剧减少,造成IoU分布不平衡,训练样本的分布会偏向较低的IoU;而当IoU较大时,正样本的数量明显不足。这会妨碍检测器的优化,尤其是在IoU较高时。
-
如下图所示,横坐标是RoI在回归之前与gt的IoU,纵坐标是回归之后的IoU,可以看到,虽然回归之后的定位准确度(output IoU)要高一点,但主要集中在input IoU的low level处,而在input IoU的high level处,定位准确度甚至还有所下降。
-
如下图所示,IoU较低的RoI占据了大部分的回归损失,并且主导了梯度的计算。
上述问题说明,在较低IoU level上优化的检测器,在其它level上不一定能达到最佳。为解决上述问题,本文向每个gt bbox添加可控制的抖动(jitter)以直接生成正样本,这样可以为回归分支和IoU预测分支提供均匀的IoU分布的样本,从而提升性能。
IoU预测分支可以产生predicted bbox与gt之间的IoU,然后用这个predicted IoU替换分类置信度作为度量来对bbox进行排序,以进行后续NMS操作,从而解决分类置信度与定位精度之间的mis-match问题。但是作者认为在IoU预测分支中,依然存在mis-match问题。 如下图所示,(a)中的红框和黄框都是proposal,绿框是gt,虽然在回归之前,红框的IoU小于黄框,但在(b)中,回归之后的红框明显比黄框更能准确定位目标。但是,由于IoU预测分支的输入依然是回归之前的位置, 因此(b)中红框的IoU依然低于黄框,那么在NMS中更准确的红框可能会被过滤掉。 回归前后位置的变换会带来feature offset问题,这个问题主要发生在inference过程中,而正是这个feature offset导致了IoU预测分支中的predicted IoU与定位精度之间的mis-match问题。
因此本文还通过消除inference时RoI的feature offset,进一步提升IoU预测分支的性能。
方法实现
1. IoU uniform R-CNN
主要思想是直接从每个gt bbox生成训练样本,以训练回归分支和IoU预测分支。首先将IoU划分为