Cascade R-CNN:高质量目标检测研究.

Faster R-CNN等两阶段目标检测网络中,会在两个位置设置交并比阈值(IoU Threshold):在训练时为RPN网络设置IoU阈值,区分proposal是否包含目标(positive/negative);以及在推理时为预测边界框设置IoU阈值,区分TPFP样本以计算mAP

1. RPN中的回归不匹配问题

在为RPN网络设置IoU阈值时,只有当proposal边界框和真实目标框的IoU超过该阈值时,才认为proposal检测到了目标,对这些目标进行边界框回归。通常该阈值设置越高,生成的proposal越准确;但是由于提高了阈值,导致正样本的数量呈指数级降低,容易过拟合。而在网络预测时,由于真实目标框是未知的,因此所有proposal都被视为正样本用于边界框回归。这导致了在训练和测试阶段中,RPN网络边界框回归的不匹配问题:训练阶段的输入proposal质量更高,测试阶段的输入proposal质量相对较差。

为了提高检测的精度,需要产生更高质量的proposal,因此可以考虑在训练时增大RPN网络设置的IoU阈值。但是直接提高IoU阈值会产生以下问题:

下图分别表示RPN网络输出proposalIoU分布以及改变IoU阈值对回归和检测精度的影响。

2. Cascade R-CNN

上述分析表明单一IoU阈值训练出的检测器精度有限,不能对所有的proposals进行很好的优化。本文作者设计了Cascade R-CNN,通过多阶段结构串联网络,使用不同IoU阈值训练多个级联的检测器。具体地,Cascade R-CNN使用了四个网络,第一个网络提取特征映射,之后分别使用阈值为$0.5$、$0.6$、$0.7$的检测网络,通过串联的学习获得较高的目标检测精度。

下图给出了在三个阶段,边界框回归的样本分布变化。每经过一次回归,样本都更靠近真实边界框一些,质量也就更高一些,样本的分布也在逐渐变化。每个阶段设置不同的IoU阈值,可以更好地去除离群点(红色点),适应新的proposal分布。

下图给出了在三个阶段,所提proposalIoU分布。每个阶段高阈值proposals数量逐渐增加,保证具有足够的正样本,不会容易过拟合。