目标检测基于中心点:CenterNet Keypoint Triplets for Object Detectiontection

参考文献:https://arxiv.org/abs/1904.08189
代码实现:https://github.com/Duankaiwen/CenterNet

截至目前2019.04.19,CenterNet应该是one-stage目标检测方法中性能(精度)最好的方法!

CenterNet: Keypoint Triplets for Object Detectiontection

摘要

在目标检测中,基于关键点的方法经常会遇到大量不正确的边界框,主要是由于缺少对裁剪区域的额外监督造成的。本文提出了一种有效的解决方案,以最小的成本探索每个裁剪区域内的视觉模式。本文提出的CenterNet是一个单阶段的关键点检测模型,将每个目标物看作是一个三个关键点,而不是一对关键点,从而提高了精确度和召回率。相应地,我们设计了两个模块cascade corner pooling和center pooling,分别起到丰富左上角、右下角收集的信息和在中心区域提供更多可识别信息的作用。在MS-COCO数据集上,CenterNet实现了47%的AP,其性能优于现有的单阶段检测器至少4.9%。同时,CenterNet具有更快的推理速度,其性能与排名第一的两阶段检测器相当。

1 引言

基于锚框的目标检测算法缺点: 借助于深度学习中的卷积神经网络(CNNs),目标检测得到了显著的改进和提高[11]。目前最流行的是基于锚框的目标检测算法[10,12,27,31,33],它设置了一组具有预定义大小的矩形,并借助ground-truth修正位置。此方法通常需要大量的锚框来确保与ground-truth的IoU足够高(导致了正负样本不均衡),并且每个锚框的大小和长宽比需要手动设计。另外,锚点通常不与ground-truth框对齐,这不利于边界框的分类任务。

基于角点的CornerNet的局限性: 为了克服锚框的缺点,提出了一种基于关键点的目标检测算法CornerNet[20]。它通过一对角点来表示每一个目标,进而移除了锚框,达到了单阶段目标检测的最新精度。然而,CornerNet缺乏对目标全局信息的参考,仍然具有局限性:每个目标由一组关键点组成,算法对边界框比较敏感;无法确定哪组关键点属于同一个目标物。因此,如图1所示,经常产生一些不正确的边界框,其中大多数边界框可以很容易地用补充信息(例如长宽比)过滤掉。
在这里插入图片描述
提出CenterNet:为了解决这个问题,我们在CornerNet上增加了一个观察每个区域的视觉模式的功能,进而判断每个边界框的正确性。在本文中,CenterNet通过增加一个关键点来探索proposal中间区域(近似几何中心)的信息,我们的直觉是,如果一个预测的边界框与ground truth框有很高的IoU,那么中心关键点被预测为同一类的概率就很高,反之亦然。因此,在推理过程中,当通过一组关键点产生了一个边界框,我们继续观察是否具有同类别的一个关键点落入区域的中心,即使用三个点表示目标。如图1所示,其思想是使用3个(而不是一对)关键点来表示每个边界框。

提出center pooling和cascade corner pooling: 为了更好地检测中心关键点和角点,我们分别提出了两种丰富中心和角点信息的方法。(1)center pooling:用于预测中心关键点,有利于获得更多目标物的中心区域,进而更易感知proposal的中心区域。通过取中心位置横向与纵向响应值的和的最大值实现此方法。(2)cascade corner pooling:增加原始corner pooling[20]感知内部信息的能力,结合了feature map中目标物内部及边界方向的响应值和的最大值来预测角点。实验证明,这种双向混合方法更稳定,对特征级噪声更具鲁棒性,有助于提高查准率和查全率。

性能评估: 我们在MS-COCO数据集[25]上评估了CenterNet,获得了47%的AP,大幅度超过了所有已知的单阶段检测方法。使用52层沙漏骨干网络[29]的平均推断时间为270ms,使用104层沙漏骨干网[29]的平均推断时间为340ms。CenterNet相比于两阶段检测器高效,相比于单阶段检测器时间略慢,与其他两阶段检测器的最新性能非常接近。

2 相关工作

目标检测包括目标的定位和分类。在深度学习时代,以深度卷积神经网络为基础的目标检测方法大致可以分为两种,即两阶段方法和一阶段方法。

两阶段方法将目标检测任务分为两个阶段:提取ROIs,然后对ROIs进行分类和回归。
R-CNN[11]使用选择性搜索方法[42]在输入图像中定位ROIs,并使用基于DCN的区域分类器对ROIs进行独立分类。SPPNet[13]和Fast-RCNN[10]通过从特征映射中提取ROIs来改进R-CNN。Faster-RCNN[33]通过引入RPN(区域建议网络)进行端到端的训练。RPN可以通过回归锚框来生成ROIs,后来,锚框被广泛应用于目标检测任务中。Mask RCNN[12]在Faster-RCNN上添加了一个Mask预测分支,它可以同时检测对象和预测它们的Mask。R-FCN[6]用位置敏感的得分图代替完全连接的层,以更好地检测对象。Cascade 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]是另一种基于关键点的方法,它使用一对角点直接检测对象,CornerNet虽然取得了很高的性能,但仍有较大的改进空间。

3 我们的方法

3.1 基线和动机

CornerNet基线的基本思想: 本文以CornerNet[20]为基线。为了检测角点,CornerNet生成左上角、右下角热图,热图表示不同类别的关键点的位置,并为每个关键点指定一个置信分数。此外,它还预测每个角点的嵌入和一组偏移,嵌入用于标识两个角是否来自同一对象,偏移将学习如何将角从热图重新映射到输入图像。为了生成目标边界框,首先从热图中根据得分分别选择左上角和右下角,然后计算角点对嵌入向量的距离,确定角点对是否属于同一对象,如果距离小于阈值,则生成对象边界框。

CornerNet的缺点: 在表1中,我们对CornerNet进行了更深入的分析。我们计算了MS-COCO验证数据集上CornerNet的FD(错误发现)率,定义为不正确边界框的比例。结果表明,即使在IoU阈值较低的情况下,错误的边界框仍占很大比例,例如CornerNet在IoU=0.05时获得32.7%的FD率。这意味着,平均每100个目标边界框中有32.7个目标与ground-truth的IoU低于0.05。小目标的错误边界框更多,达到60.3%的FD率,其中一个可能的原因是CornerNet无法查看边界框内的区域。为了使CornerNet[20]感知边界框中的视觉模式,一个潜在的解决方案是将CornerNet调整为两阶段检测器,该检测器使用RoI池[10]来观察边界框中的视觉模式。然而,众所周知,这样的范例在计算上是昂贵的。
在这里插入图片描述
在这里插入图片描述
提出CenterNet的基本思想: 在本文中,我们提出CenterNet来探索每个边界框内的视觉模式。为了检测目标,我们使用三个关键点,而不是一对关键点。我们的方法仍然是一个单阶段检测器,但部分继承了RoI池的功能,只关注中心信息使得成本最小。同时,利用center pooling and cascade corner pooling,进一步将对象内部的视觉模式引入到关键点检测过程中。

3.2 三个关键点的目标检测

在这里插入图片描述
CenterNet的整体网络结构如图2所示,用一个中心关键点和一对角点来表示每个对象,在CornerNet的基础上增加了中心关键点的热图,并预测了中心关键点的偏移量,然后使用CornerNet[20]中提出的方法选择前K个边界框。为了剔除不正确的边界框,利用检测到的中心关键点位置并对其按如下过程进行排序操作:(1)根据得分选择top-k中心关键点;(2)使用相应的偏移量将这些中心关键点重新映射到输入图像;(3) 为每个边界框定义一个中心区域,并检查中心区域是否存在中心关键点,同时选中的中心关键点的类标签应与边界框的类标签相同;(4)如果在中心区域中检测到中心关键点,我们将保留边界框,用三个点的平均分数,即左上角、右下角和中心关键点更新边界框的分数。如果在中心区域中未检测到中心关键点,则删除边界框。

定义尺度感知的中心区域: 边界框中中心区域的大小会影响检测结果,例如小中心区域导致小边界框的召回率较低,而大中心区域导致大边界框的精度较低。因此,我们提出了尺度感知的中心区域用于适应不同尺寸大小的目标,尺度感知中心区域倾向于为小边界框生成相对较大的中心区域,而为大边界框生成相对较小的中心区域。假设我们判断一个边界框 i i i是否保留, t l x tl_x tlx t l y tl_y t

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值