[论文笔记] CornerNet论文详细解读

论文:CornerNet: Detecting Objects as Paired Keypoints

Hei Law, Jia Deng
European Conference on Computer Vision (ECCV), 2018

下载链接:论文地址,点击下载

 

1)  概述:CornerNet是一种anchor-free的目标检测方法,这篇文章通过借鉴这篇姿态估计的方法来进行目标检测,用左上角和右下角的两个关键点来确定物体的边界框,这样就不会出现其他基于anchor的One-stage检测方法除了需要大量的anchor外,还有正负样本不均衡,以及需要引入太多的参数和设计选择等缺点。另外,还设计了corner pooling来获得更好的定位。使用该方法后达到了超过其他one-stage的方法。

2)  具体内容: 

       上图为cornernet的框架结构,一个物体可以由一对左上角和右下角的角点确定,使用一个卷积网络进行预测,使用修改了的Hourglass Network作为主干网络,然后分别输出两个模块,分别用来预测物体左上方和右下方的角点的位置。然后每种角点的预测模块,如图所示,在经过corner pooling后,输出包括heatmap、embeddings、offsets三个部分,heatmaps代表的是两个(左上角和右下角)C层(类别数)的角点位置,即2*C*H*W大小,每个H*W大小的heatmap预测特定类别的所有实例的左上或右下的角点的位置;embeddings能够用来区分不同角点之间的距离,如果两个角点属于同一个实例物体,那么它们之间的距离会很小。Offsets被用来预测位置偏置项,调整位置。在预测了这三者后,使用一个简单的后处理算法获得最终预测的边界框。

       虽然一个物体只有一个ground-truth 正样本位置,但是一个距离真实角点很近的点也能够很好地表示物体位置,所以在训练中,对于预测的角点位于真实位置的一个范围之类的负样本位置,减少对它们的惩罚。通过iou来设置半径范围,在有了半径范围t后,惩罚减少量服从标准的二维高斯分布,σ为半径的1/3。如下表示的是heatmaps预测角点位置的损失。当在ground truth的特定范围内,位置距离真实值越远,惩罚越大。

       通常,在网络中会使用下采样操作,所以输出图像小于输入原始图像,所以将原始图像中(x,y)位置会对应heatmaps中的位置,但是这样因为近似会丢失掉一些信息,影响预测结果,所以引入了一个offset来调整位置,真实的偏置项如下:

然后偏执项的损失如下:

一张图像中可能有多个物体,当检测出多对角点之后,需要将属于同一个物体的左上角角点和右下角角点匹配起来,共同确定物体的边界框。作者使用关联嵌入的方法,网络预测一个embedding,根据两个角点的距离来判断它们是否属于同一物体,具体使用pull损失来使得网络能够降低属于同一物体的两个角点,用push损失将不属于同一物体的角点的距离增大。分别如下:

                   

      

Corner pooling是专门针对这种通过预测角点来确定边界框的方法设计的,思想其实很简单,为了预测左上侧的角点,对每一个位置的特征图,水平方向上查看他右侧位置的极大值,而竖直方向上查看下方所有位置的极大值,作者分别使用了ft和fl来表示用于查看水平和竖直方向特征的特征图,计算得到各方向的最大值之后,把两个特征图结果相加,计算过程如下图所示,

公式表示如下:

整个预测模块的细节展示如下图,backbone输出的feature-map先经过两个卷积,得到两个特征图,用它们进行corner pooling,得到的结果与输入的特征进行了一个残差连接,再通过一个卷积之后预测输出三个分支,分别代表heatmaps、embeddings和offsets,具体看下图:

整个网络的训练包含了上边介绍的四部分损失函数:

测试过程中,在预测得到三部分结果后,进行简单的后处理操作,首先在heatmaps上使用一个3*3的最大池化进行NMS,然后对top-left和bottom-right的角点各选取得分最高的100个点,确定角点的位置,然后使用该位置对应的offsets对位置进行调整,然后计算top-left角点和bottom-right角点之间的L1距离,选取出属于同一类别,且距离小于0.5的焦点对,将top-left点和bottom-right点的平均预测得分作为该物体的预测得分。

作者还进行了消融实验,证明corner Pooling的作用,它能够将coco数据集上的预测AP提高2.0个点;还有减少对距离真实角点位置一定范围内的预测结果减少惩罚能够提高网络的预测结果,如果不使用减少惩罚,只有32.9个点的AP,使用了固定范围的减少惩罚后有2.7个点的提高,而使用根据物体调整减少惩罚范围的方法,能够有5.6个百分点的提高,可以说效用显著。然后CornerNet同时预测三项输出,它们都对结果有很大影响,如果任意一个角点没预测出来,那么整个物体就不能够被预测;offsets能够提高预测结果;而错误的embeddings会导致错误的边界框。

该方法最终预测的示例展示如下,可以看出效果还是不错的。

3)  贡献与不足:

创新点在于1、借鉴姿态估计方法,将目标检测问题看做同时进行角点的检测和group问题,设计了anchor-free的CornerNet来预测边界框上的两个角点,实现目标检测,且达到超过其他one-stage的效果。2、针对这种方法 提出了corner pooling来更好地定位角点,且验证其有效性。

缺陷在于:两个角点的位置很大程度上位于远离物体的不相关位置,所以很难计算,这也是corner pooling被设计的原因。另外,如之前提到,heatmaps、offsets和embeddings任意一个的预测结果都会影响到最终边界框的确定,如果有一个预测错误,最终的预测结果将会下降。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值