CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解

Abstract

在对象检测中,基于关键点的方法经常遇到大量不正确的对象边界框,这可能是由于缺少对裁剪区域的额外检查本文提出了一种有效的解决方案,以最小的代价探索每个裁剪区域内的视觉模式。在一个具有代表性的单阶段基于关键点的探测器(称为街角网)上构建我们的框架。我们的方法名为CenterNet,它将每个对象作为关键字的三联体(而不是一对)来检测,从而提高了精确度和召回率。为此,我们设计了 cascade corner pooling and center pooling 两个自定义模块,分别起到丰富左上角和右下角收集的信息和在中心区域提供更多可识别信息的作用。在MS- COCO数据集上,CenterNet实现了47.0%的AP,比所有现有的单级检测器至少高出4.9%。同时,由于推理速度更快,CenterNet的性能与顶级的两级检测器相当。

1. Introduction

在深度学习特别是卷积神经网络11的帮助下,对象检测得到了显著的改进和发展。在当今时代,最流行的流程图之一是基于锚点的[10,12,27,31,33],它放置了一组具有预定义大小的矩形,并在ground-truth对象的帮助下将它们回归到所需位置。这些方法通常需要大量的锚点,以确保与groundtruth有足够高的IoU(交集/并集)率,并且每个锚点盒的大小和长宽比需要人工设计。此外,锚点通常不与ground-truth box对齐,不利于边界框分类任务。
克服了基于锚的方法的缺点,提出了一种基于关键点的对象检测pipline,名为CornerNet[20]。它通过一对角点来表示每个物体,绕过了锚盒的需要,达到了目前最先进的一级物体检测精度。然而,角网的性能仍然受限于它相对较弱的引用对象全局信息的能力。也就是说,由于每个物体都是由一对角构成的,所以算法对检测物体的边界很敏感,同时不知道哪些关键点应该分组成物体。因此,如图1所示,它经常生成一些不正确的边界框,其中大部分可以用补充信息轻松过滤掉,例如,高宽比。
CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
为了解决这个问题,我们为CornerNet提供了感知每个建议区域内的视觉模式的能力,这样它就可以自己识别每个边界框的正确性。在本文中,我们提出了一个低成本但有效的解决方案CenterNet,它探索了建议的中心部分,即,靠近几何中心的区域,有一个额外的关键点 。我们的建议是如果一个预测的边界框与groundtruth框有一个高的IoU,那么它的中心区域的中心关键点被预测为相同类的概率是高的,反之亦然 。 因此,在推理期间,在将提案生成为一对角键点之后,我们通过检查是否有相同类的中心键点落在它的中心区域中来确定提案是否确实是一个对象。如图1所示,其思想是使用一个三联体而不是一对关键点来表示每个对象
因此,为了更好地检测中心关键点和角点 ,我们提出了两种策略来丰富中心和角点信息。第一种策略称为中心池center-pooling它在分支中用于预测中心关键点。中心池帮助中心关键点在对象中获得更多可识别的视觉模式,这使得更容易理解建议的中心部分。我们通过在预测中心关键点的特征图上找出中心关键点在水平和垂直方向上的最大响应总和来实现这一点。第二种策略是级联式角池cascade corner pooling它使原来的角池模块[20]具有重新接收内部信息的能力。 我们通过在特征图上获取最大的物体边界和内部方向的响应来预测角来实现这一点。从经验上,我们验证了这种双向池方法更加稳定,即,对特征水平的噪音有更强的鲁棒性,有助于提高准确率和召回率 。

我们在MS-COCO数据集[25]上评估了提议的CenterNet,[25]是大型对象检测最流行的基准之一。包含了中心池和级联角池的CenterNet报告了测试-开发集的AP为47.0%,这大大优于所有现有的单级检测器。CenterNet使用52层沙漏骨干网[29]的平均推断时间为270ms,使用104层沙漏骨干网[29]的平均推断时间为340ms, CenterNet的效率相当高,但与其他两级检测器的最新性能非常接近。
本文的其余部分组织如下。第二节简要回顾了相关工作,第三节详细介绍了拟议的CenterNet。实验结果见第4节,结论见第5节.

2. Related Work

两阶段方法将目标检测任务分为两个阶段:提取roi,然后对roi进行分类和回归。

R-CNN[11]使用选择性搜索方法[42]在输入图像中定位roi,并使用基于dcn的区域分类器对roi进行独立分类。SPPNet[13]和Fast-RCNN[10]通过从特征图中提取roi来改进R-CNN。通过引入RPN (region proposal network)对fast - rcnn[33]进行端到端的训练。RPN可以通过回归锚箱来生成roi。后来,锚盒被广泛应用于对象检测任务中。Mask - rcnn[12]在fast - rcnn上增加了掩码预测分支,可以同时检测到目标并预测其掩码。R-FCN[6]将完全连接的层替换为位置敏感的分数地图,以便更好地检测对象。级联R-CNN[4]解决了训练时的过拟合和推断时的质量失配问题,方法是训练一组具有递增IoU阈值的检测器为了避免使用锚盒和边界盒回归的缺点,提出了基于关键点的对象检测方法[40,28]。针对不同的对象检测问题,提出了其他有意义的工作,如[47,21]侧重于建筑设计,[1,9,36,44]侧重于上下文关系,[22,3]侧重于多尺度统一。

单阶段方法去除RoI提取过程,直接对候选锚盒进行分类和回归。YOLO[31]使用较少的锚框(将输入图像分成S×S网格)进行回归和分类。YOLOv2[32]通过使用更多的锚盒和一种新的边界盒回归方法来提高性能。SSD[27]将锚盒密集地放置在输入图像上,并使用不同卷积层的特征对锚盒进行回溯和分类。DSSD[8]在SSD中引入了一个反卷积模块,将低层和高层特性结合起来。R-SSD[17]则在不同的特征层中使用池和反褶积操作来结合低级和高级特征。RON[19]提出了一种反向连接和对象优先的多尺度特征提取方法。RefineDet[45]对锚盒的位置和大小进行了两次细化,继承了单阶段和两阶段方法的优点。CornerNet[20]是另一种基于关键点的方法,它使用一对拐角直接检测对象。虽然隅角网取得了很高的性能,但它仍然有更多的改进空间。
CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
图2:CenterNet的体系结构。在卷积骨干网络中,采用级联角池和中心池来输出两个角热图和一个中心关键点热图。类似于角网,一对检测到的角和类似的嵌入被用来检测一个潜在的边界框。然后使用检测到的中心关键点来确定最终的边界框。
CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
表1:角网的错误发现率(%)。错误发现率反映了不正确的边界框的分布。结果表明,不正确的包围框占了很大的比例。

3. Our Approach

3.1. Baseline and Motivation

表1,我们对CornerNet进行了更深入的分析。
我们计算MS-COCO验证数据集上的角网的FD1(错误发现)率,定义为不正确边界框的比例。定量结果表明,即使在IoU较低的阈值下,不正确的边界框所占比例也较大,例如,在IoU = 0.05时,CornerNet的FD率为32.7%。这意味着平均每100个对象边界框中有32.7个IoU低于ground-truth的0.05。不正确的小框更多,达到60.3%的FD率。一个可能的原因是,角落网无法查看边界框内的区域。为了使转角网[20]感知包围盒中的视觉模式,一个潜在的解决方案是将转角网改造成一个两阶段的探测器,它使用RoI合集[10]来观察包围盒中的视觉模式。然而,我们知道这样的范例在计算上是很昂贵的。
在本文中,我们提出了一个名为CenterNet的高效替代方案来探索每个边界框中的视觉模式。为了检测一个对象,我们的方法使用一个三联体,而不是一对关键点。通过这样做,我们的方法仍然是一个阶段的检测器,但是部分继承了RoI池的功能我们的方法只关注中心信息,成本最小。同时,利用中心池和级联角池将对象内部的视觉模式引入到关键点检测过程中。–> 所谓关注booxing内的内容,其实就是加入第三个点关注roi的中心部分内容 .

3.2. 对象检测作为关键点三联体

CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
图3:(a) n = 3时的中心区域。(b) n = 5时的中心区域。实心矩形表示预测的边界框,阴影区域表示中心区域。

整个网络架构如图2所示。我们用一个中心点和一对对角点坐标来表示每个对象。具体来说,我们在基于cornnet的基础上嵌入中心关键点的hot-map,并预测中心关键点的偏移量。然后,我们使用在CornerNet[20]中提出的方法来生成top-k边界框。但是,为了有效地过滤出不正确的包围框,我们利用检测到的中心关键点,并采取以下步骤:

  • (1)根据得分选择top-k中心关键字;
  • (2)使用相应的偏移量将这些中心关键点重新映射到输入图像;
  • (3)为每个边界框定义一个中心区域,检查中心区域是否包含中心关键点。注意,选中的中心关键字的类标签应该与包围框的类标签相同;
  • (4)如果在中心区域检测到一个中心关键点,我们将保留包围框。包围框的分数将被三个点的平均分代替,即,左上角,右下角和中心关键点。如果在中心区域没有检测到中心关键点,包围盒将被移除。

CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
图4:(a)中心池在水平和垂直方向上取最大值。(b)角池只取边界方向的最大值。©级联角池在物体的边界方向和内部方向都取最大值。
包围框中中心区域的大小影响检测结果。例如,较小的中心区域导致小包围框的召回率较低,而较大的中心区域导致大包围框的精度较低。因此,我们提出了一个尺度感知的中心区域来自适应地适应边界盒的大小。
尺度感知的中心区域对于小的边界框倾向于产生一个相对较大的中心区域,而对于大的边界框倾向于产生一个相对较小的中心区域。假设我们要确定一个边界框i是否需要保留。设tlx和cbrx的topleft角的坐标为i, brx和bry的topleft角的坐标为i, brx和bry的topleft角的坐标为i, brx和bry的topleft角的坐标为i, brx和bry的中间区域为j,设ctlx和cbrx的cbry的左上角的坐标为j,则tlx、tly、brx、bry、ctlx、ctly、cbrx和cbry应满足以下关系:
CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
其中,n为奇数,决定了j的中心区域的比例尺。本文中,小于150和大于150的边界框的比例尺分别设n为3和5。图3分别显示了n = 3和n = 5时的两个中心区域。根据式(1),我们可以确定一个尺度感知的中心区域,然后检查中心区域是否包含中心关键点。

3.3. Enriching Center and Corner Information(!!!)

丰富的中心 和 角点信息

中心池 物体的几何中心不一定传达非常可识别的视觉模式(例如,人的头部包含强烈的视觉模式,但中心关键点往往在人体的中间)。为了解决这个问题,我们建议使用中心池来捕获更丰富和更容易识别的视觉模式。图4(a)显示了中心池的原理。中心汇聚的具体过程如下:骨干网输出一个feature map,要确定feature map中的一个像素是否为中心关键点,需要找到其水平方向和垂直方向的最大值,并将其相加。通过这样做,中心池有助于更好地检测中心关键点。

级联角点池 角点 往往在物体的外面,缺少局部的外观特征。cornner-网[20]使用隅角池来解决这个问题。角池的原理如图4(b)所示。角池的目的是找出边界方向上的最大值,从而确定角。然而,它使角落的边缘敏感。为了解决这个问题,我们需要让角点“看到”对象的视觉模式。级联角池原理如图4©所示。它首先沿着边界查找边界最大值,然后沿着边界最大值的位置查找内部最大值,最后将两个最大值相加。通过这样做,拐角既获得了物体的边界信息,又获得了物体的视觉模式。
CenterNet: Keypoint Triplets for Object Detection ----- 论文翻译理解
图5:中心池模块(a)和级联顶角池模块(b)的结构。我们将不同方向的角池结合起来,实现中心池和级联角池。
通过结合不同方向的角池[20],可以很容易地实现中心池和级联角池。图5(a)显示了中心池模块的结构。为了在一个方向上取最大值, 例如,水平方向,我们只需要串联左池和右池。图5(b)显示了级联顶部角池模块的结构。与隅角池在隅角网[20]中的顶角池相比,我们在顶角池之前添加了一个左角池。

3.4. 训练与推理

4. 实验

4.1。数据集、度量标准和基线

4.2。与最先进的探测器的比较

4.3。不正确的边框缩小

4.4。推理速度

4.5。烧蚀研究

4.6。误差分析

5. Conclusions

在这篇论文中,我们提出了使用包含一个中心关键点和两个角的三联体来检测物体的 CenterNet。我们的方法解决了这样一个问题,即通过以最小的成本探索每个建议区域内的视觉模式,CornerNet缺乏对裁剪区域的额外查看。事实上,这是所有单阶段方法的一个常见缺陷。由于单阶段方法去掉了RoI提取过程,因此无法关注裁剪区域内的内部信息。

对我们的贡献的一个直观的解释是,我们装备了一个具有两级方法能力的单级探测器,并增加了一个有效的鉴别器。我们相信,为中心键点添加额外分支的想法可以推广到其他现有的单阶段方法(例如,SSD[27])。同时,一些先进的训练策略[46]可以用于更好的表现。我们离开作为我们未来的工作。