Cascade R-CNN详解

论文地址:CVPR 2018 Open Access Repository

1.Abstract 

        用低IoU阈值训练的物体探测器,例如0.5,通常会产生噪声检测。然而,检测性能往往会随着IoU阈值的增加而下降。造成这种情况的两个主要原因是: 1)训练过程中由于正样本呈指数级消失的造成的过拟合,2)检测器最优的iou与输入假设的iou之间的推理时间不匹配。 因此,作者提出了一个多阶段目标检测体系结构,Cascade R-CNN来解决这些问题。它由一系列经过增加IoU阈值训练的检测器组成,从而对接近的假正类具有更强的选择性。检测器是一个阶段的训练,利用观察到的一个检测器的输出是一个很好的分布来训练下一个更高质量的检测器。逐步改进的假设的重采样保证了所有的检测器都有一组等效大小的正例,减少了过拟合问题。在推理中应用了相同的级联程序,使假设的IOU和每个阶段的检测器更接近,以进行匹配。

2. Introduction 

        如图1 (a).所示大多数人认为接近假正类的假设经常通过IoU≥0.5测试。虽然在u = 0.5标准建议框是丰富和多样化的,但它们使得训练能够有效地拒绝接近的假正类的检测器变得困难。

        论文将假设的质量定义为它和真实框的IoU,将探测器的质量定义为用于训练它的IoU阈值。如图1 (b).所示展现的是,单一的检测器只能是单一质量水平的最佳选择。

        如图1 (c)和(d)所示,它们分别展示了用IoU阈值为u = 0.5、0.6、0.7训练的三个检测器的定位和检测性能。定位性能作为输入建议框的IoU的函数进行评估,而检测性能作为非最大值抑制IoU阈值的函数进行评估,在图1 (c)中显示,每个边界框回归器对于接近检测器被训练的阈值的IoU示例表现最好。这也适用于检测性能,直到过拟合。图1 (d)显示,对于低IOU,u = 0.5的检测器优于u = 0.6的检测器,在高IOU水平下表现不佳。一般来说,在单IOU水平优化的探测器在其他水平不一定是最优的。这些观察结果表明,更高质量的检测需要在探测器和它所处理的假设之间有更接近的质量匹配。一般来说,探测器只有提出高质量的建议框才能具有高质量。 

 

        作者提出了一种新的检测器体系结构,Cascade R-CNN,来解决这些问题。这是R-CNN的多阶段扩展,其中检测器深入级联的阶段对接近的假正类有更多的选择性。R-CNN阶段的级联是按顺序训练,使用一个阶段的输出来训练下一个阶段。这是由于观察到一个回归变量的输出的IoU几乎总是比输入的IoU高。这个观察可以在图1 (c)中进行,其中所有的图都在灰色线上方。这表明,用一定的IOU阈值训练的检测器的输出是一个很好的分布来训练下一个更高的IOU阈值的检测器。 

通过调整边界框,每个阶段的目标是找到一组好的接近的假阳性来训练下一个阶段。当以这种方式运行时,一系列适应于越来越高的iou的检测器可以克服过拟合问题,从而得到有效的训练。在推理时,也采用了相同的级联过程。逐步改进的假设与每个阶段检测器质量的提高(IOU)相匹配。

3. Object Detection  

        Cascade R-CNN扩展了Faster-RCNN [27,21]的两阶段架构,如图3 (a).所示第一阶段是一个建议子网络(“H0”),应用于整个图像,以产生初步的检测假设,称为目标建议。在第二阶段,这些假设然后由一个感兴趣区域的检测子网络(“H1”)进行处理,表示为检测头。为每个假设分配一个最终的分类分数(“C”)和一个边界框(“B”)。专注于对多阶段检测子网络进行建模,并采用但不限于RPN [27]进行提案检测 

3.1. Bounding Box Regression

        候选边界框 到真实框g的损失函数:

Lloc使用smooth_L1损失,是相对于距离向量∆=(δx,δy,δw,δh)的函数:

 

为了提高多任务学习的有效性,∆通常用其均值和方差进行归一化:

 

        

        iterative bounding box regression认为f的单一回归步骤不足以进行精确定位。相反,f作为一个后处理步骤被迭代地应用

         

        然而,这个想法忽略了两个问题。首先,如图1所示,在u = 0.5下训练的回归因子f对于更高iou的假设是次优的。它实际上会降解大于0.85的IoU边界框。其次,如图2所示,每次迭代后,边界框的分布都发生了显著的变化。虽然回归变量对于初始分布是最优的,但在那之后它可能是相当次优的。由于这些问题,迭代的BBox需要相当数量的人工工程,以提案积累、预测框投票等形式。[9,10,16],并且有一些不可靠的收益。通常,除了使用f两次之外,没有任何好处。          

 

3.2. Classifification  

        分类器是一个函数h (x),h (x)是在类上的后验分布的M+1维估计,即hk (x) = p(y = k|x),其中y是类标签。损失函数通常采用交叉熵损失函数:

3.3. Detection Quality         

        IoU高于一个阈值u,则认为该建议框是该类的一个正例

 

        对象检测是具有挑战性的,因为无论阈值如何,检测设置都是高度对抗性的。当u高时,正类包含较少的背景,但收集足够的积极训练例子是不同的。当u值较低时,就会有一个更丰富、更多样化的阳性训练集,但训练后的检测器几乎没有动机去拒绝接近的假正类。一般来说,很难要求单个分类器在所有IoU级别上统一表现良好。在推理时,由于建议检测器产生的大多数假设,如RPN [27]或选择性搜索[30],其质量较低,因此检测器必须对低质量的假设更具鉴别性。在这些相互冲突的要求之间的一个标准的妥协是解决u = 0.5。然而,这是一个相对较低的阈值,导致低质量的检测,大多数人认为是接近的假阳性,如图1 (a).所示 

        

         Integral Loss  就开发一个分类器的集成,使用图3 (c)的架构,以针对不同IOU级别的损失进行优化。这个解决方案未能解决(6)的不同损失对不同数量的正值起作用的问题。如图4的第一幅图所示,阳性样本集随着u的增加而迅速减少。这尤其成问题,因为高质量的分类器容易发生过拟合。此外,这些高质量的分类器需要处理非常低质量的推理方案,因为它们没有进行优化。由于所有这些,(6)的集成未能在大多数质量级别上都实现更高的精度,并且体系结构与图3 (a).相比增益很小

        
        

4. Cascade R-CNN  

4.1. Cascaded Bounding Box Regression         

        在级联R-CNN中,单个回归器在所有IOU水平上完全一致地执行。被构建为一个级联回归问题,采用图3 (d).的架构这依赖于一系列专门的回归器 ,级联中的每个回归变量f_t都是关于样本分布{bt}优化到达相应的阶段,而不是{b1}的初始分布。这种级联逐步改善了假设。

        

        iterative BBox的不同:iterative BBox是一种用于改进边界框的后处理过程,而级联回归是一种重采样过程,它可以改变不同阶段要处理的假设的分布。其次,因为它同时用于训练和推理,所以训练和推理分布之间没有差异。第三,对多个专门的回归变量{fT,fT−1,……,f1}对不同阶段的重采样分布进行了优化。这与(3)的单个f相反,后者只对初始分布是最优的。这些差异使比iterative BBox更精确的定位,不需要进一步的人工工程。

        如第3.1节所述,(2)中的∆=(δx,δy,δw,δh)需要通过其均值和方差进行归一化,以实现有效的多任务学习。在每个回归阶段之后,这些统计数据将依次演化,如图2所示。在训练中,在每个阶段使用相应的统计量对∆进行归一化。

4.2. Cascaded Detection        

        在每个阶段t,R-CNN包括一个分类器ht和一个针对IoU阈值优化的回归器ft,每阶段都保证最小化损失,与Integral Loss的积分损失不同,这保证了一系列有效训练的提高质量的检测器。在推理时,通过应用相同的级联程序,假设的质量依次得到了提高,而更高质量的检测器只需要在更高质量的假设上进行操作。这可以实现高质量的目标检测,如图1 (c)和(d).所示 

5. Experimental Results     

5.1.1 Baseline Networks     

        使用主干VGG-Net [29]的Faster-RCNN,R-FCN[4]和使用ResNet主干[16]的FPN [21]。 

5.2. Quality Mismatch  

        图5 (a)显示了三个单独训练的随着U ={0.5、0.6、0.7}IoU阈值增加的检测器的AP曲线。u = 0.5的探测器在低IOU水平上优于u = 0.6的探测器,但在较高的IOU水平上优于它。然而,u = 0.7探测器的性能低于其他两个。为了理解为什么会发生这种情况,模型在推理时改变了提案的质量。图5 (b)显示了当将地面真实边界框添加到提案集时获得的结果。虽然所有的探测器都有所改进,但u = 0.7的探测器的增益最大,在几乎所有的IOU水平上都取得了最好的性能。这些结果提出了两个结论。首先,u = 0.5不是精确检测的好选择,只是对低质量的建议更稳健。其次,高度精确的检测需要与检测器质量相匹配的假设。接下来,原来的探测器方案被更高质量的Cascaded R-CNN方案所取代(u = 0.6和= 0.7分别使用了第二和第三阶段的方案)。图5 (a)还表明,当测试方案与检测器质量更接近时,两个检测器的性能得到了显著提高。

 

         在所有级联阶段对所有级联R-CNN探测器的测试产生了类似的观察结果。图6显示,当使用更精确的假设时,每个检测器都得到了改进,而更高质量的检测器有更大的增益。例如,u = 0.7的检测器在第一阶段的低质量建议中表现不佳,但在更深的级联阶段的更精确的假设中表现得要好得多。此外,即使使用相同的检测器,图6中的联合训练检测器也优于图5 (a)中单独训练的单独训练检测器。这表明,检测器在级联R-CNN框架内得到了更好的训练。

5.3. Comparison with Iterative BBox and Integral Loss         

         

 

5.4. Ablation Experiments  

         

5.5. Comparison with the state-of-the-art  

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Cascade R-CNN是一种用于目标检测深度学习结构,通过级联多个R-CNN模块来提高检测的准确性和鲁棒性。 Cascade R-CNN结构图由三个主要部分组成:基础网络、R-CNN模块和级联结构。 基础网络通常采用卷积神经网络(CNN),用于提取图像的特征。常见的基础网络有ResNet、VGG等。基础网络负责将原始图像输入,并逐层提取出高层次的特征图,以供后续处理使用。 R-CNN模块是Cascade R-CNN的核心部分。它由若干个R-CNN模块级联而成,每个R-CNN模块通过一个CNN来进行特征提取,然后通过一个ROI Pooling层提取出感兴趣区域(Region of Interest)的特征。接着,这些特征经过全连接层,进行目标分类和边界框回归。 级联结构是Cascade R-CNN的独特之处。它通过级联多个R-CNN模块来逐步提高目标检测的准确性。级联结构的每个阶段都会选择性地引入难例样本,以便让模型更好地学习难以区分的目标。级联结构通常包括三个阶段,每个阶段从不同的阈值划分正负样本,通过进一步训练来提高检测的精度和召回率。 总结起来,Cascade R-CNN的结构图展示了一个多阶段的目标检测系统。它通过级联多个R-CNN模块,逐步提高检测的准确性和鲁棒性。基础网络用于特征提取,R-CNN模块用于目标分类和边界框回归,级联结构用于引入难例样本并提高检测性能。这种结构在目标检测领域取得了显著的性能提升。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱花的浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值