【论文】Cascade R-CNN总结

一、简介

Cascade R-CNN是为了解决训练时用来定义FP和TP的IOU值选取的问题,并且提出了一种结构来利用该IOU值不同所带来的好处,贡献体现在对于定位能力的改进上,也就是IOU值。一般而言,这个值定为了0.5,那么其他的值呢?作者做了实验,观察到以下现象:

 

其中,图(d)中绘制的是随着定义TP的IOU阈值的变化,根据不同的u训练出来的检测器,AP的变化。可以看出来,在IOU较小的时候,根据u=0.5的效果最好,明显好过了u=0.7,而随着IOU的增加,u=0.7的检测器逐渐显示出优势。

图(c)中,x轴是RPN输入的检测器与GT的IOU值,y轴是输出的IOU,当IOU<0.85的时候,所有的检测器都能够提升IOU的水平,也就是说输出的IOU>输入的IOU,而不同的u训练出的检测器在提升IOU上面的性能还不一样,u=0.5的在0.5附近提升最明显,而u=0.7的在0.7附近提升最明显,这说明什么呢,这说明训练时选取TP的IOU阈值大小与它之后擅长处理的输入IOU大小成正比。

TP的IOU值更大,意味着选取TP的标准更严格,会有更少的b-box被选取用来训练,甚至可能会出现漏选的情况(由于标准过于严格),文中提到了 larger IoU thresholds leads to an exponentially smaller numbers of positive training samples,是一种指数级下降!过少的样本会导致严重的欠拟合 。TP的IOU值更小,意味着标准更宽松,此时漏选的情况会少出现,但是选出的b-box会有更多的FP,质量不高。上面两个图观察的现象就像是种瓜得瓜,种豆得豆,对于TP的选取标准越严格,检测器也就更擅长处理高质量的b-box。这个原因吗,当然是因为训练的时候出现的都是高质量的候选窗,网络也就更擅长处理这些。当TP的选取标准低的时候,高质量的b-box少了,而网络还要做的更好,它就要多在质量低的b-box上花些功夫。本质上,是由于输入b-box分布的改变,导致了网络擅长的输入改变。文中对于定义了两种质量(评价质量好坏的那个质量,应该用品质):

1. the quality of an hypothesis, 假设的品质,指的是输入给检测器的b-box品质。简称为H品质
2. the quality of the detector,训练时选取的IOU的大小(决定了我们对于detector检测能力的期望)。简称为D品质

则上面的观察表明,这两个方面的品质需要匹配,如果我们要使用更高D品质的检测器,那么我们就要提供高H品质的输入,以发挥检测器的效用;反之,如果我们的输入是高H品质,那么我们要使用高D品质的检测器才能做到最好。本质上还是由于检测器对输入分布的拟合,如果一种品质的输入更好,那检测器就需要在这个品质上做的更好,这样更容易达成目标(检测器是懒惰的

这篇文章就是根据这个观察,设计出了一种级联(Cascade)的网络,让它先在低IOU的标准下学习,之后,提高IOU标准,放到下一层,以此类推。这样,让每一级都能学到与之IOU标准相近的能力,并且同时通过级联来提高IOU(定位能力)。

二、结构和损失

结构就比较简单了,结构如下:

 

(d)就是它的结构。

损失如下,对于上一级输出的b_t,这一级的损失为:

其中,x^t是输出的一个b-box,g是与之匹配的ground truth(根据匹配方法,可能匹配为了背景,也记为g),L_cls是分类损失,h_t是分类器,y^t是g的标签,是依据这种取法:lambda取1。如果g不是背景的话(y^t != 0),那么定位损失L_loc存在,是g与回归器f_t输出之间的差距,b^t是上一级(第t级)输出的b-box。

最后每一级分别按照这个损失去进行计算。

三、实验结果

使用COCO 2017的mmAP进行评价。U取{0.5,0.6,0.7}

第一个实验是使用不同的U训练了3个不同的检测器,并将这三个检测器与Cascade R-CNN的三个输出进行对比。具体的,是通过绘制AP-IOU阈值曲线来显示其区别。如下图:

首先对比(a)中的虚线和实线,可以发现虚线的表现好于实线,这说明Cascade的结构可以让后面的两级网络的精确度提升,这是因为如果没有使用cascade,那么u=0.6和u=0.7的网络接收到的数据就是大量的粗糙b-box,而这是这两种网络不擅长的。u=0.5当然不会有改进。这个实验验证了这一点。

下一个实验继续验证了这一点,它显示了Cascade R-CNN每一级网络的APP-IOU阈值图像。可以看出,每一级(0.7,0.5,0.6)在其对应的输入上表现都是最好的(输入的不同体现在图中的标题,这也是当然的嘛,毕竟是在上面训练的),而且可以看出来,3rd Stage中u=0.7的AP要比1st Stage中u=0.5的大。没看懂图是咋画的,就不说了。

之后还做了和Iterative Box、Integral loss的比较,结果是cascade比较好。

剥离实验(Ablation Experiments)

参考下面的吧:https://zhuanlan.zhihu.com/p/40207812

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值