前言

RPN是two-stage目标检测器中的一个核心部分,它用于生成一系列proposal,并且能够过滤大部分负样本,从而避免正负样本间的极端不平衡。不过目前的RPN仍存在一些缺点:

  • 如下图所示,随着IoU的增大,RoI的数量急剧减少,造成IoU分布不平衡,训练样本的分布会偏向较低的IoU;而当IoU较大时,正样本的数量明显不足。这会妨碍检测器的优化,尤其是在IoU较高时。
    IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记

  • 如下图所示,横坐标是RoI在回归之前与gt的IoU,纵坐标是回归之后的IoU,可以看到,虽然回归之后的定位准确度(output IoU)要高一点,但主要集中在input IoU的low level处,而在input IoU的high level处,定位准确度甚至还有所下降。
    IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记

  • 如下图所示,IoU较低的RoI占据了大部分的回归损失,并且主导了梯度的计算。
    IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记

上述问题说明,在较低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问题。
IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记
因此本文还通过消除inference时RoI的feature offset,进一步提升IoU预测分支的性能。


方法实现

1. IoU uniform R-CNN

主要思想是直接从每个gt bbox生成训练样本,以训练回归分支和IoU预测分支。首先将IoU划分为NN个区间,给定具有KK个gt的图像,gt bbox被表示为b=(bx,by,bw,bh)b=(b_x,b_y,b_w,b_h),那么由gt生成的训练样本(RoI)就为:
IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记
为了获得足够的样本,每个区间的随机数范围取决于IoU level,也就是说,如果要获得IoU较高的样本,那么随机数范围应该较小。此外,为了保证样本的质量,通常保留与gt bbox的IoU位于前面的RoI,设保留gt bbox在每个IoU区间的MM个样本,那么一个输入图像的总训练样本数就为KMNK*M*N,这样就得到了IoU的平均分布。如下图所示,生成的IoU均匀分布的样本用于训练回归分支和IoU预测分支,而分类分支依然使用RPN的输出作为训练样本,这是因为如果训练时的RoI分布和测试时相差过大,会损害分类器的性能。
IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记
虽然现在不同IoU区间的样本数一样了,但回归损失中依然有不平衡的情况发生。由于卷积层是根据正常的分布进行随机初始化的,均值一般为0,那么回归分支在刚开始的输出值基本处于0附近。而回归分支预测的是RoI与gt bbox之间的offset,由于IoU较低的RoI与gt bbox之间的offset明显较大,那么这种初始化的方式会导致在训练早期,IoU较低的样本占据损失的主要部分。 为了解决这个问题,需要一个回归权重(regression weight),加权的回归损失如下式所示,LL是smooth L1 loss,主要思想就是降低IoU较低的训练样本的权重,增加IoU较高的训练样本的权重:
IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记

2. 消除RoI的feature offset

IoU-uniform R-CNN: Breaking Through the Limitations of RPN 论文笔记
如上图所示,为了消除feature offset,将分支子网得到的refined bbox作为新的RoI,并通过RoI Align pooling得到新的RoI feature(图中绿色的方块),然后这个新的RoI feature再次送入分支子网中,以获得最终的IoU预测结果(Final IoU)。

虽然我们希望用predicted IoU代替分类置信度作为NMS操作的度量,但在测试中,许多背景bbox的IoU不太可信,因为IoU预测分支仅由IoU大于0.5的正样本训练。如果加入背景一起训练IoU分支,背景的凌乱会给训练过程带来很多麻烦,并且会影响对检测性能起关键作用的高IoU bbox的准确性。因此,通过正样本和负样本来训练IoU预测分支都是不合适的。为了解决这个问题,本文将predicted IoU与分类置信度的乘积作为NMS的最终度量。


结论

本文是对IoU-Net的改进,一方面为回归分支和IoU预测分支提供IoU分布均匀的样本,同时通过对RoI的两次特征提取,消除feature offset。

相关文章: