【论文翻译】:Cascade R-CNN: High Quality Object Detection and Instance Segmentation

摘要

在对象检测中,交集联合(IoU)阈值经常用于定义正/负。用于训练探测器的阈值定义了其质量。虽然常用的阈值0.5导致噪声(低质量)检测,但检测性能经常会因较大阈值而降低。这种高质量检测的悖论有两个原因:

  1. 过度拟合,由于大阈值的正样本消失,
  2. 检测器和测试假设之间的推理时间质量不匹配。

提出了一种多级物体检测结构,级联R-CNN,由一系列以增加的IoU阈值训练的探测器组成,以解决这些问题。使用检测器的输出作为下一个的训练集,顺序地训练检测器。这种重新采样逐步改善了假设质量,保证了所有探测器的等效尺寸的正训练集,并使过度拟合最小化。在推理中应用相同的级联,以消除假设和检测器之间的质量不匹配。没有铃声或口哨声的Cascade R-CNN的实现在COCO数据集上实现了最先进的性能,并显着改善了对通用和特定物体检测数据集的高质量检测,包括VOC,KITTI,CityPerson和WiderFace 。最后,级联R-CNN被推广到实例分割,与Mask R-CNN相比具有重要的改进。为了便于未来的研究,可以在 https://github.com/zhaoweicai/cascade-rcnn (Caffe) 和 https://github.com/zhaoweicai/Detectron-Cascade-RCNN (Detectron)上获得两种实现方式。

1 INTRODUCTION

对象检测是一个复杂的问题,需要解决两个任务。 首先,探测器必须解决识别问题,区分前景物体与背景,并为它们分配适当的物体类标签。其次,探测器必须解决定位问题,为不同物体分配精确的边界框。 最近提出的许多物体探测器所基于的两个任务的解决方案的有效架构是两阶段R-CNN框架[21],[22],[37],[47]。 这种帧检测作为一个多任务学习问题,结合分类,解决识别问题和边界框回归,解决本地化问题。

尽管这种架构取得了成功,但这两个问题很难准确解决。 这部分是由于存在许多“接近”误报,对应于“接近但不正确”的边界框。 有效的检测器必须找到图像中的所有真阳性,同时抑制这些接近的误报。 该要求使得检测比其他分类问题更困难,例如, 对象识别,其中正面和负面之间的差异不是细粒度的。 事实上,必须仔细确定正面和负面之间的界限。 在文献中,这是通过对候选和地面真实边界框之间的联合交叉(IoU)得分进行阈值处理来完成的。 虽然阈值通常设置为u = 0.5的值,但这对于积极因素是非常宽松的要求。 由此产生的探测器经常产生噪声边界框,如图1(a)所示。大多数人认为接近误报的假设经常通过IoU≥0.5测试。 虽然在u = 0.5标准下组装的训练样本丰富且多样化,但是它们使得难以训练能够有效地拒绝接近误报的探测器。
在这里插入图片描述
在这项工作中,我们将检测假设的质量定义为具有基本事实的IoU,并将检测器的质量定义为用于训练它的IoU阈值。 质量提高的假设的一些例子如图1(c)所示。 目标是调查研究高质量物体探测器的研究不足的问题。 如图1(b)所示,这些探测器产生很少的误报。 起始前提是单个检测器只能针对单个质量水平进行优化。 这在成本敏感的学习文献[12],[42]中是已知的,其中接收机操作特性(ROC)的不同点的优化需要不同的损失函数。 主要区别在于我们考虑给定IoU阈值的优化,而不是误报率。

支持这一前提的一些证据在图2中给出,图2分别给出了用IoU阈值u = 0.5,0.6,0.7训练的三个探测器的边界框定位性能,分类损失和检测性能。定位和分类作为检测假设IoU的函数进行评估。检测作为IoU阈值的函数进行评估,如COCO [36]。图2(a)示出了三个边界框回归器倾向于在用于检测器训练的阈值附近的IoU的示例中实现最佳性能。图2(c)显示了类似的检测效果,直到最高阈值的某些过度拟合。对于低IoU,用u = 0.5训练的探测器优于用u = 0.6训练的探测器,在较高的IoU下表现不佳。通常,针对单个IoU值优化的检测器对于其他值不是最佳的。分类损失也证实了这一点,如图2(b)所示,其峰值接近用于探测器训练的阈值。通常,阈值确定分类器最具判别性的分类边界,即具有最大余量[6],[15]。

在这里插入图片描述
上述观察结果表明,高质量检测需要检测器质量与检测假设质量之间的紧密匹配。如果提供高质量的建议,探测器将只实现高质量。然而,这不能通过在训练期间简单地增加阈值u来保证。相反,如图2(c)中u = 0.7的检测器所示,强制u的高值通常会降低检测性能。我们提到这个问题,即训练具有较高阈值的检测器导致较差的性能,作为高质量检测的悖论。这个问题有两个原因。首先,对象提议机制倾向于产生对低质量严重不平衡的假设分布。结果,在训练期间使用较大的IoU阈值会以指数方式减少正向训练示例的数量。这对于神经网络尤其成问题,神经网络非常密集,使得“高u”训练策略非常容易过度拟合。其次,检测器的质量与推理时可用的假设之间存在不匹配。因为,如图2所示,高质量的探测器只是高质量假设的最佳选择,对于质量较低的假设,探测性能会大幅下降。

在本文中,我们提出了一种新的探测器架构,表示为Cascade R-CNN,它解决了这些问题,以实现高质量的物体探测。新架构是R-CNN的多阶段扩展,其中更深层次的探测器阶段依次更加选择性地抵抗近似误报。正如分类器级联[49],[54]所常见的那样,R-CNN级的级联被顺序训练,使用一级的输出来训练下一级这利用了观察到边界框回归量的输出IoU几乎总是好于其输入IoU,如图2(a)所示,其中几乎所有的图都在灰线上方。结果,用特定IoU阈值训练的检测器的输出是用于训练下一个更高IoU阈值的检测器的良好假设分布。这与通常用于组装数据集以进行对象检测的boostrapping方法有一些相似之处[14],[54]。主要区别在于Cascade R-CNN进行的重新采样并不是为了挖掘硬性负面因素。相反,通过调整边界框,每个阶段都旨在为下一阶段的训练找到一组良好的近似误报。这种重新采样的主要结果是检测假设的质量从一个阶段到下一个阶段逐渐增加。结果,检测器序列解决了高质量检测悖论背后的两个问题。首先,因为重采样操作保证了序列中所有检测器的训练的大量示例的可用性,所以可以训练高IoU的检测器而不过度拟合。其次,在推理时使用相同的级联程序产生一组质量逐渐提高的假设,与检测器级的质量增加很好地匹配。这使得检测精度更高,如图2所示。

Cascade R-CNN非常易于实施和端到端的培训。 我们的研究结果表明,在具有挑战性的COCO检测任务[36]中,特别是在更严格的评估指标下,没有任何花边和口哨的香草(????)实施超过了几乎所有先前的最先进的单模型探测器。 此外,Cascade R-CNN可以使用基于R-CNN框架的任何两级物体探测器构建。 我们观察到一致的增益(2到4个点,更严格的本地化指标),计算的边际增长。 对于我们测试的所有模型,此增益与基线物体探测器的强度无关。 因此,我们相信这种简单有效的检测架构可能对许多物体检测研究工作感兴趣。

该手稿的初步版本先前已在[3]中发表。在最初的出版物之后,Cascade R-CNN已经在许多不同的代码库中成功复制,包括流行的Detectron [20],PyTorch1和TensorFlow2,显示了与实现代码库无关的一致和可靠的改进。在这个扩展版本中,我们通过向级联添加掩码头,将Cascade R-CNN扩展到实例分段,表示为级联掩码R-CNN。这显示出对流行的Mask R-CNN [25]实现了非平凡的改进。还提出了一个新的更广泛的评估,表明Cascade R-CNN与检测和实例分割文献中提出的许多互补增强相兼容,其中一些是在[3]之后引入的,例如, GroupNorm [56]。最后,我们进一步展示了一系列实验的结果,这些实验在各种流行的通用/特定物体检测数据集上进行,包括PASCAL VOC [13],KITTI [16],CityPerson [64]和Wider-Face [61]。这些实验表明,高质量物体检测的悖论适用于所有这些任务,并且Cascade R-CNN能够实现比以前可用的方法更有效的高质量检测。由于这些属性,以及它的通用性和灵活性,Cascade R-CNN最近被COCO 2018实例分段挑战3,OpenImage 2018挑战4和更广泛挑战20185的获胜团队采用。为了便于未来的研究,我们已经在两个代码库中发布了代码,Caffe [31]和Detectron [20]。

2 RELATED WORK

由于R-CNN [22]探测器的成功,该探测器结合了提议探测器和区域分类器,这种两阶段架构在最近已成为主流。为了减少冗余CNN计算,SPP-Net [26]和Fast R-CNN [21]引入了区域特征提取的思想,使得能够通过对象实例共享大量特征计算。然后,更快的R-CNN [47]通过引入区域提议网络(RPN)实现了进一步的加速,成为现代物体检测的基石。后来,一些工作扩展了这个探测器,以解决各种细节问题。例如,R-FCN [8]提出了有效的区域完全卷积,以避免更快的R-CNN的重CNN计算;并且Mask R-CNN [25]添加了一个网络头,用于计算对象掩码以支持实例分割。最近的一些工作集中在标准化特征统计[45],[56],建模实例之间的关系[28],非最大抑制(NMS)[1]和其他方面[39],[50]。

尺度不变性是有效物体检测的重要条件,在文献[2],[37],[52]中也受到了极大的关注。虽然自然图像包含各种尺度的物体,但RPN [47]实现的滤波器的固定感受野大小使其容易出现尺度不匹配。为了解决这个问题,MS-CNN [2]通过在多个层产生输出,引入了多尺度对象建议网络。这利用了不同层的不同感知字段大小来生成一组特定于规模的提议生成器,然后将其组合成强大的多规模生成器。类似地,FPN [37]在多个输出层检测高召回提议,通过在不同网络深度的特征映射之间添加自上而下连接来求助于尺度不变的特征表示。 MS-CNN和FPN都依赖于用于多尺度物体检测的特征金字塔表示。另一方面,SNIP [52]最近在现代物体检测中重新审视了图像金字塔。它在训练期间对来自不同物体尺度的梯度进行归一化,使得整个探测器是特定尺度的。通过在推理中使用图像金字塔来实现尺度不变检测。

一阶段对象检测体系结构也因其计算效率而变得流行。 YOLO [46]输出非常稀疏的检测结果,并通过高效的骨干网络将输入图像转发一次,从而实现实时物体检测。 SSD [40]以类似于RPN [47]的方式检测对象,但使用不同分辨率的多个特征图来覆盖各种尺度的对象。这些探测器的主要限制是它们的精度通常低于两级探测器的精度。 RetinaNet [38]探测器被提出用于解决密集物体检测的极端前景 - 背景类不平衡,实现与两级探测器相当的结果。最近,CornerNet [33]提出将对象边界框检测为一对关键点,放弃了由更快的R-CNN首先引入的广泛使用的锚点概念。通过一些培训和测试增强功能,该探测器取得了非常好的性能。 RefineDet [65]为单次发射的SSD添加了一个锚点细化模块[40],以提高定位精度。这有点类似于所提出的级联R-CNN实现的级联本地化,但忽略了高质量检测的问题。

还提出了多阶段物体检测的一些探索。 [17]的多区域检测器引入了迭代边界框回归

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值