CenterNet: Keypoint Triplets for Object Detection
在对象检测中,基于关键点的方法经常遭受大量不正确的对象边界框,可以说是由于缺少对裁剪区域的额外观察。本文提出了一种有效的解决方案,以最小的成本探索每个裁剪区域内的视觉模式。我们在一个名为Corner-Net的代表性基于关键点的代表性探测器上构建我们的框架。我们的方法名为CenterNet,将每个对象检测为三元组而不是一对关键点,从而提高精度和召回率。因此,我们设计了两个名为级联角池和中心池的定制模块,它们分别丰富了左上角和右下角收集的信息,并在中心区域提供了更多可识别的信息。在MS-COCO数据集上,CenterNet实现了47.0%的AP,其性能优于所有现有的单级探测器至少4.9%。同时,具有更快的推理速度,CenterNet表现出与顶级两级探测器相当的性能。代码可在 https://github.com/Duankaiwen/CenterNet 获得。
1.引言
借助深度学习,尤其是卷积神经网络[11](CNNs),物体检测得到了显着的改进和提升。在当今时代,最流行的流程图之一是基于锚[10,12,27,31,33],它放置了一组具有预定义大小的矩形,并在借助于它们的情况下将它们回归到所需的位置。真实的对象。这些方法通常需要大量锚点以确保与地面实况对象具有足够高的IoU(交联结合)率,并且每个锚箱的尺寸和纵横比需要手动设计。另外,锚点通常不与地面实例框对齐,这不利于边界框分类任务。
为了克服基于锚点的方法的缺点,提出了一种名为Corner-Net的基于关键点的对象检测管道[20]。它通过一对角点关键点表示每个对象,这绕过了锚箱的需要,并实现了最先进的一阶段物体检测精度。尽管如此,Corner-Net的表现仍然受到其参考物体全球信息的能力相对较弱的制约。也就是说,由于每个对象由一对角构成,因此该算法对于检测对象的边界敏感,同时不知道哪些关键点对应该被分组到对象中。因此,如图1所示,它经常产生一些不正确的边界框,其中大部分可以用补充信息(例如纵横比)容易地滤除。
为了解决这个问题,我们为CornerNet提供了感知每个建议区域内的视觉模式的能力,以便它可以自己识别每个边界框的正确性。在本文中,我们提出了一个名为CenterNet的低成本但有效的解决方案,该解决方案探索了一个提案的核心部分,即靠近几何中心的区域,有一个额外的关键点。我们的直觉是,如果预测的边界框与地面实况框具有高IoU,那么其中心区域中的中心关键点被预测为同一类的概率很高,反之亦然。因此,在推理期间,在将提议生成为一对角点关键点之后,我们通过检查是否存在属于其中心区域的同一类的中心关键点来确定提议是否确实是对象。如图1所示,这个想法是使用三元组而不是一对关键点来表示每个对象。
因此,为了更好地检测中心关键点和角点,我们提出了分别丰富中心和角落信息的两种策略。第一个策略称为中心池,在分支中用于预测中心关键点。中心池有助于中心关键点在对象内获得更多可识别的视觉模式,这使得更容易感知提案的中心部分。我们通过在特征图上的中心关键点的水平和垂直方向上取出最大求和响应来预测中心关键点来实现这一点。第二种策略被命名为级联角落池,它为原始角落池模块[20]提供了感知内部信息的能力。我们通过在特征图上的对象的边界和内部方向上取出最大求和响应来预测角点来实现这一点。根据经验,我们验证这种双向汇集方法更稳定,即对特征级噪声更稳健,这有助于提高精度和召回率。
我们在MS-COCO数据集[25]上评估了拟议的CenterNet,这是大规模物体检测最受欢迎的基准之一。 CenterNet,包括中心池和级联角池,报告测试开发组的AP为47.0%,大大优于所有现有的单级探测器。使用52层沙漏主干平均推断时间为270毫秒[29],每个图像使用104层沙漏主干[34]为340毫秒,CenterNet非常高效,但与最先进的性能非常匹配其他两级探测器。
本文的其余部分安排如下。第2节简要回顾了相关工作,第3节详细介绍了提出的CenterNet。实验结果在第4节中给出,然后在第5节中得出结论。
3.我们的方法
3.1 基线和动机
本文使用CornerNet [20]作为基线。为了检测角落,CornerNet产生两个热图:左上角的热图和右下角的热图。热图表示不同类别的关键点的位置,并为每个关键点分配置信度分数。此外,它还预测每个角落的嵌入和一组偏移。嵌入用于识别两个角是否来自同一对象。偏移学习将角图重新映射到热图到输入图像。为了生成对象边界框,分别根据它们的分数从热图中选择前k个左上角和右下角。然后,计算一对角的嵌入矢量的距离以确定成对的角是否属于同一对象。如果距离小于阈值,则生成对象边界框。为边界框分配置信度分数,该分数等于角对的平均分数。
在表1中,我们提供了对CornerNet的更深入分析。我们计算MS-COCO验证数据集上CornerNet的FD1(错误发现)率,定义为不正确边界框的比例。定量结果表明,即使在低IoU阈值下,不正确的边界框也占很大比例,例如,Corner-Net在IoU = 0.05时获得32.7%的FD率。这意味着平均而言,每100个对象边界框中有32.7个具有低于0.05的IoU与真实性。小的不正确的边界框甚至更多,达到60.3%的FD率。其中一个可能的原因在于CornerNet无法查看边界框内的区域。为了使CornerNet [20]能够感知边界框中的视觉模式,一种可能的解决方案是将CornerNet调整为两阶段探测器,该探测器使用RoI池[10]来查看边界框中的视觉模式。然而,众所周知,这种范例在计算上是昂贵的。
在本文中,我们提出了一种名为CenterNet的高效替代方案,用于探索每个边界框内的视觉模式。为了检测对象,我们的方法使用三元组而不是一对关键点。通过这样做,我们的方法仍然是一个阶段的检测器,但部分继承了RoI池的功能。我们的方法只关注中心信息,我们的方法成本很低。同时,我们通过使用中心池和级联角池,进一步将对象内的视觉模式引入关键点检测过程。
