CornerNet

论文名称:CornerNet: Dectecting Objects as Paired Keypoints
论文地址:https://arxiv.org/abs/1808.01244

目前的目标检测算法无论是one-stage亦或two-stage的,大多数都选择了基于anchor的机制。当然,这种方式对于目标检测来说提高了精度,但是不可避免的也有其弊端。大量的anchors的产生,本身就会占据很大的空间,同时也会产生对应的参数量和运算量,而且正负样本不平衡的问题始终存在。目前去anchor的算法逐渐崭露头角。CornerNet就是目前较为优秀的去anchor的目标检测算法。

CornerNet文章中,作者先是提出基于anchor机制的两个缺点:(1):正负样本不平衡。这个问题在anchor机制中不可避免,也出现了比较好的算法来改进,例如Focal loss。(2):anchor机制会引入大量超参数以及设计规则。包括尺寸、高宽比等。这样与网络结构的设计结合就会变得复杂。所以作者提出CornerNet来解决问题。

顾名思义,CornerNet是利用角点来进行检测。它会检测出目标的左上角以及右下角,而这两个点分别由热力图得到。在CornerNet中,会预测一个热力图,上面包含了所有目标实例的左上角,同时还会预测另一张热力图,上面包含着所有目标实例的右下角。这时候预测出来的所有坐标都是单独的,并不设计成对问题。然后再由embedding vector来对选出来的左上角与右下角进行配对。图1  overview of CornerNet
如上图所示。CornerNet的backbone采用了Hourglass Network,然后就接上两个预测模块:一个预测Top-left Corners, 另一个预测Bottom-right Corners。在每一个预测模块中都会三个输出:Heatmaps, Embeddings, Offsets。

对于Heatmaps输出size为WHC,C是通道数,即类别数,不包括背景。对于每个corener都只有一个正确的location,其他的全是负样本点。而且在训练的时候对于不同的负样本点还会赋予不同的惩罚权重。在这里插入图片描述
如上图所示,红色框是GT,而绿色框是预测框,橘色圆是有标注corner以及给定的圆半径画出,这个半径又是根据园内点画出的框与GT重叠的IOU大于一定阈值决定的,这个值文章给出是0.3。有图可以看出虽然预测点组成的预测框少许有点偏移,但是都能够框出目标,可是能这些预测点实际上又不是真正的true position,又可以认为是负样本点,所以才会对不同的负样本点赋予不同的惩罚权重。这个权重是有高斯函数产生。

再说一下损失函数。如下图,假定 p c i j p_{cij} pcij是在位置( i i i j j j)对于 c c c类的得分。 y c i j y_{cij} ycij若是为1,那就是物体 c c c,这个损失函数也就是focal loss。若不是1,不直接取0, 这里就和focal loss区别开来,这里就用到上面说的不同的负样本点分配不同惩罚权重。这个损失函数是个focal loss的变体。N表示图片内的目标总数, α \alpha α以及 β \beta β是控制样本贡献程度的超参数,即控制难易样本。
在这里插入图片描述
预测输出的还有offses,也就是偏置。这里是预测了corner对应的偏置量。

在这里插入图片描述
如上图,假定 x k x_k xk以及 y k y_k yk是corner k k k x x x y y y坐标,n表示缩放倍数。
在这里插入图片描述
这里用到了L1 Loss来计算偏置量。

最后一个embeddings,这个是用来对预测出来的角坐标进行分组。左上角与右下角是分别预测出来的,单独的并不涉及配对。这里就用到了这个叫 Associative Embedding的方法。简单来说,用一种方式描述左上角与右下角点的距离,那一对距离最小就认为他们是同一个物体的左上角和右下角。

另外,文章中作者还提出了corner pooling。在这里插入图片描述
如上图所示。作者认为,在图片中通常没有很明确的局部信息表明左上角点的位置(右下角同理),于是为了判断一个像素点 a a a是否为左上角点,作者提出了corner pooling。假设有两个 H H H x W W W特征图 f t f_t ft f l f_l fl输入,结合图示来看,对于左上角,分别找出两张特征图的在( i i i, j j j)与( i i i, H H H)之间的最大值和( i i i, j j j)到( W W W, j j j)的最大值,分别得到 t i j t_{ij} tij l i j l_{ij} lij然后把值加到( i i i, j j j)上。如下图所示。
在这里插入图片描述在这里插入图片描述

实验的结果还是不错的,对于改进的focal loss函数,对不同负样本赋予不同权值,以及提出的的corner pooling都取得了一定效果。若是想看实验结果参考论文即可,这里不再多说。不过重点说一下其中的一个实验结果。如下图。在这里插入图片描述
如图所示,第一行是这篇文章的实验结果。而第二行则是把GT值代替预测值所得出的结果,而第三行又加上了偏置量。可以看出当GT代替预测值的时候提升相当大,第三行加上偏置也有提升,但是不及第二行的提升。这也反映出对于CornerNet的来说,角点的预测与配对仍旧有很大的改进空间。

注释: 图片均取自*《CornerNet: Detecting Objects as Paired Keypoints》*,若有侵权,多有抱歉,联系我。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值