论文:Cascade R-CNN: Delving into High Quality Object Detection阅读笔记

摘要:在目标检测中,交并比(loU)阈值是用来定义正样本和负样本的。用低阈值,例如0.5,训练的目标探测器通常会产生噪声。然而,检测性能随着阈值的增加而下降。造成这一现象的主要原因有两个:
a.训练过程中由于正样本指数性消失导致的过拟合;
b.检测器最优的IoU与输入假设之间的推断时间不匹配。
针对这些问题,提出了一种多级目标检测结构——级联R-CNN。它由一系列经过训练的检测器组成,这些检测器的IoU阈值不断增加,从而对相似性误报(FP,正样本被判负)具有更强的选择性。对检测器的训练是逐步进行的,利用了这样的观察:检测器的输出是用于训练下一个更高质量检测器的良好分布。通过对逐步改进的假设进行重新采样,可以保证所有检测器都具有一组相同大小的正样本集,从而减少了过拟合问题。推断时采用相同的级联过程,使假设与各阶段的检测器质量更接近。级联R-CNN的一个简单实现被证明在具有挑战性的COCO数据集上超越了所有单一模型目标检测器。实验还表明,级联R-CNN具有广泛的应用前景能够跨越检测器架构,实现与基线检测器强度无关的一致增益。
动机:
众所周知,随着RBG大神将RCNN带入目标检测领域,目标检测被构建为分类+回归的问题进行解决,所以检测问题本质是一个分类问题,但又和分类问题有很大区别,因为在检测问题中是对图像中的所有候选框进行打分,在训练过程中通过IoU阈值来判定正负样本,因此IoU阈值的选取是一组需要精心挑选的超参数。一方面,IoU阈值选取的越高,则得到的正样本更接近目标,因此训练出的检测器定位更加精准,但是一味提高IoU阈值会引发两个问题:一是正样本过少导致训练的过拟合问题,二是训练和测试使用不一样的阈值导致评估性能的下降;另一方面,IoU阈值选取的越低,得到的正样本更为丰富,有利于检测器的训练,但势必会导致测试时出现大量的虚检,也即论文中提到的“close but not correct”。以上分析可以通过作者做的下面这组实验进行佐证:
在Figure 1. The detection outputs, localization and detection perfor-mance of object detectors of increasing IoU threshold u.这里插入图片描述****
模型结构
图3给出了本文方法和其他相关工作的直观对比。(d)展示的就是本文Cascade R-CNN的基本框架;(a)就是经典的Faster R-CNN框架,也是本文的baseline;(b)结构上和Cascade R-CNN非常相似,区别在于只在测试时采用级联结构对Box多次回归,因此ROI检测网络部分“H1”结构是相同的,也即训练时还是采用的单一的IoU阈值;(c)则是在ROI检测网络部分并联多个检测器,这些检测器是不相关的,有点类似‘multi-expert’的思想。
Figure 3. The architectures of different frameworks. “I” is input image, “conv” backbone convolutions, “pool” region-wise feature extrac-tion, “H” network head, “B” bounding box, and “C” classification. “B0” is proposals in all architectures.
尽管图3(b)的Iterative BBox采用了级联结构来对Box进行多次回归,但采用单一IoU阈值训练唯一的检测器会带来以下问题:目标候选框经过0.5阈值的detector后样本的分布已经发生了变化,如下图所示,可以发现经过多个stage的检测器,正样本的分布更加集中于中心点,表明正样本和真实目标的匹配度越来越高,这时候再使用同一个IoU阈值训练检测器显然是次优的,因为如果不提高IoU阈值来去掉这些红色的outlier,就会引入大量噪声干扰,因此有必要提高IoU阈值来保证样本的质量。
Figure 2. Sequential ∆ distribution (without normalization) at dif-ferent cascade stage. Red dots are outliers when using increasingIoUthresholds, andthestatisticsareobtained afteroutlierremoval.
另一方面,单纯提高IoU阈值会带来一个疑问:这样是否就减少了正样本的数量?诚然,如果还是用的初始目标候选框,这个答案是肯定的,但本文是从经过回归器后的目标候选框中进行resample,这个疑问就不存在了,有下图为证:经过多个stage之后,正样本的IoU在不断提升,我们可以任性提高IoU阈值,依然能够获取足够多的正样本。
Figure 4. The IoU histogram of training samples. The distributionat 1st stage is the output of RPN. The red numbers are the positivepercentage higher than the corresponding IoU threshold.
训练,还是采用的通用的分类+回归loss
本文贡献:
(1)深入研究了目标检测中的IoU阈值选取问题,并通过大量的实验分析验证了IoU阈值选取对检测器性能的影响;
(2)基于对以上问题的分析,提出了级联版的Faster R-CNN,也即Cascade R-CNN目标检测算法,在不使用任何trick的情况下,在MS COCO通用目标检测数据集上展现了非常出色的性能。
小结:
本文主要解决了在目标检测中,检测框不是特别准,容易出现噪声干扰的问题,即close false positive。因为在基于anchor的检测方法中,我们一般会设置训练的正负样本(用于训练分类以及对正样本进行坐标回归),选取正负样本的方式主要利用候选框与ground truth的IOU占比,常用的比例是50%,即IOU>0.5的作为正样本,IOU<0.3作为负样本等,但是这样就带来了一个问题,阈值取0.5是最好的吗?作者通过实验发现,1、设置不同阈值,阈值越高,其网络对准确度较高的候选框的作用效果越好。2、不论阈值设置多少,训练后的网络对输入的proposal都有一定的优化作用。基于这两点,作者设计了Cascade R-CNN网络,即通过级联的R-CNN网络,每个级联的R-CNN设置不同的IOU阈值,这样每个网络输出的准确度提升一点,用作下一个更高精度的网络的输入,逐步将网络输出的准确度进一步提高。
针对IOU阈值选取的问题,结合了cascade的思想和faster R-CNN检测框架,将two stage方法在现有数据集上将检测性又提升到了一个新的高度。本文实验揭示了Cascade R-CNN成功的两个关键:一是级联而非并联检测器,二是提升IoU阈值训练级联检测器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值