论文:Cascade RCNN

Abstract:

目标检测领域,IoU 被用来定义 positives 和 negatives,当一个detector使用 0.5的IoU时,会产生nosiy detections,但是当提高IoU时,检测的表现又会变差。造成变差的主要原因有两点,一是训练时因为positive samples 的减少而造成的overfitting,另一个是inference时的IoU和训练时IoU的不匹配问题。Cascade RCNN可以解决以上两个问题,通过逐步提高IoU的级联detectors来克服假阳性的例子。证明了一个detector的输出分布对训练更高质量的detector是有益的。因为inference 和训练过程使用相同的级联结构, 所以在每一个stage有一个比较好的match。

Introduction:

目标检测需要解决两个问题,一个是recognition,一个是localization。这两种问题都十分困难,因为detector要处理很多close false positives(close but not correct)。在 two-stage 的 R-CNN的detector中需要使用IoU来定义 positives/negatives,通常情况下会使用 0.5 的值,这样会放松对正例的限制,产生很多nosigy bounding box,detector将不会很好的分辨出假阳性例子。

基于单个detector只会对单个quality level 是最优的知识,来进行高精度检测任务的优化。

我们定义了一个IoU质量,如下图所示:

论文:Cascade RCNN_第1张图片

图中三条线分别是在 IOU = 0.5,0.6,0.7 时训练得到的模型。

上图 C 为location performance,横轴是测试的 Input IOU,纵轴是输出的 IOU,从C可以看出使用0.5训练出来的模型在Input IOU在[0.55,0.6]表现最好,0.6得到的模型在[0.65,075]表现最好,0.7得到的模型在[0.8:]的效果最好,而且这三个模型输出的IOU都高于baseline。

上图 D 为detection performance,横轴是测试时设置的IOU阈值,高于阈值的视为正例,之后对置信度进行排序,得到Ap值。可以看出随着阈值的增大,Ap值逐渐降低,同时0.5阈值训练的到的网络在低IOU阈值得到的结果好于0.6训练出来的结果,0.6阈值训练出来的在高阈值得到的结果好,由此可以得知,一个detector只对单个IOU level 表现较好。

单纯的提高阈值结果并不好,例如上图的 u=0.7 的结果,这是因为正例个数的减少,很容易造成overfitting,另一个原因是因为mismatch,如上图,高质量的detector只对 high quality hypotheses(测试的IoU比较大的)是最优的,对于其他的level不是最优的。

因为一个detector的输出的IOU总是优于他的输入的IOU,上图C三个都优于baseline,所以我们自然而然的使用级联的方式,使用上一层的输出当做下一层的输入。这样的过程类似于重新采样,但不同于 mine hard negatives,我们通过调整 bounding box 来找到更适合的close false positive 来进行下一个stage的训练。通过IOU的逐步提高可以克服过拟合的问题,同时在Inference使用相同的结构。

Related Work

one stage detector中,SSD 网络和 RPN 相似,但是使用了多层 feature map 特征。RetinaNet 网络解决了dense object detection的类极度不平衡问题,优于最好的 two-stage detector。

还有许多multi-satge object detection。有使用Fast RCNN循环产生boundingbox的, 有将cascade 嵌入到检测网络中的,有迭代检测和分割任务的。

1)Object Detection

我们扩展Faster RCNN,如下图所示:

论文:Cascade RCNN_第2张图片

H0 是 rpn 网络,H1 是 detection Head 。

2)Bounding Box Regression

在RCNN中使用的是 L2 loss ,在 Fast-RCNN 中使用的是 L1 loss。因为 Lloc 一般比 classification risk 小很多,所以会使用均值方差来标准化 Lloc。有一些工作类似于上图b,称为 iterative BBox 。

3)Classification 

一个 M + 1 维的预测类别后验概率的分支,使用 classic cross-entropy loss。

4)Detection Quality 

因为 boundingbox 中会有 object 和 background ,所有很难界定正负例,一般使用 IOU 来界定,如果把 IOU 设置的太高,正例包含的背景虽少但是正例的个数也会很少。如果把 IOU 设置的比较低,正例会很多但是这些正例会包含许多 close false positives。通常情况下 IOU 设为 0.5 是的 detector 产生很多 close false positive 的结果。

有一种朴素的继承 classifier 的方法,如上图 c ,Lclass 如下:

 

但是这种方式随着IOU的提高会让正例急剧减少,造成过拟合。

Cascade RCNN

1) Cascade Bounding Box Regression

Casecade RCNN 就是一个 cascade regression problem 结构如上图 d,它的 casecade regressor 如下:

共有T个cascade stage,每一个T都是对其输入b是最优的,通过这种方式,逐渐提高 Bbox 的质量。

不同于 Iterative Bbox 以后处理方式提高 boundingbox,我们的方式是一个重采样的过程,改变了hypothese的分布。

2)Cascade Detection

 

你可能感兴趣的:(论文)