CornerNet_ Detecting Objects as Paired Keypoints 论文笔记

background

任务:利用单一的卷积神经网络对目标检测任务中的目标的左上和右下进行预测
关键词:Object Detection,CornerNet


Introduction

对于传统的目标检测任务,以faster rcnn为例,基于targets,产生大量的建议区域,虽然经过nms,iou大小比较等方法极大的减少了建议区域,但建议区域的数目依然巨大,而且区域中的积极区域的数目要远小于消极区域的数目,这种不平衡很影响神经网络的训练,而且faster rcnn虽然比一般的一级检测网络的精度要高,但算力开销巨大,而且时间消耗很多,而且对于超参数的确定,很大程度上影响faster rcnn的检测精度,对于不同尺度的任务的迁移性较差。

CornerNet是一级检测网络,所以时间开销较小,而且CornetNet摆脱了targets的应用,避免了因积极区域远小于消极区域的极大的不平衡带来的误差,并且box的确定是自己学习而来的,迁移性更好。

CornerNet主要是从人体关键点检测中受到启发,将目标的左上和右下当作关键点,通过对热图的预测确定关键点的位置,然后通过embedding,确定左上和右下对应的组,通过offset进行微调,确定最后的输出。



Model

整体结构


在这里插入图片描述



其中的Hourglass Network是关键点检测的主要模块,作者的主要思路就是对左上右下的两个点当作关键点进行预测,然后确定最后的边框。

Hourglass输出的两个部分分别是左上,右下的点位的feature maps


Corner Pooling


在这里插入图片描述



在这里插入图片描述



Cornet Pooling的主要想法是,因为左上,右下的点主要是通过目标的边界轮廓来进行确定的,而传统的池化方式主要是对局部进行运算,很难看到目标的边界轮廓,所以Cornet Pooling就是通过对一个点的横向寻找,池化来进行:
在这里插入图片描述

heatmaps


heatmaps和目标关键点检测的方法相似,输出的feature maps的大小是WHC,其中C是目标种类的个数,这里没有背景样本。

在这里插入图片描述

如上图,以左上点为例,橙色圈的圆心是左上的坐标,而半径,是通过周围的点与右下的点的半径内对应的点组成的边框与ground-truth的iou的值大于t(实验中为0.7),确定的半径。


y值:对于圈内的点的数值是成二维高斯分布形成:
y = e − x 2 + y 2 2 σ 2 y=e^{-\frac{x^2+y^2}{2\sigma^2}} y=e2σ2x2+y2
x,y是与左上点的距离, σ \sigma σ是半径的三分之一
因为虽然是假点,但产生的边框与ground-truth的iou较大,十分接近真实的边框,所以惩罚值应该小一些。
对热图的损失函数:
在这里插入图片描述

offset


对于image中的坐标,x,y,映射到feature maps上可能不是整数,所以在进行取整时,会产生一定的误差
在这里插入图片描述

n是下取样的倍数,后面是下取整
o k o_k ok是偏移的变量

所以最后对偏移量进行预测,然后通过预测的偏移量来对预测边框进行微调。

作者用L1来做损失函数:

在这里插入图片描述

embedding


对于左上,和右下点的预测,我们希望生成一个编码向量,对于同一个目标的左上,右下对应的编码向量的距离要尽量小,而不同目标的左上,右下的编码向量的均值要距离尽量大,从而达到对不同的点的分组的问题的解决。

在这里插入图片描述

e t k e_{tk} etk是左上的编码向量, e b k e_{bk} ebk是右下的编码向量, e k e_{k} ek是左上,右下的编码向量的均值, Δ \Delta Δ是1。

最终的损失函数:
在这里插入图片描述

Expriment

在这里插入图片描述

![QQ截图20210601204538.png](https://img-blog.csdnimg.cn/img_convert/a5a2c2fd97298c71438078e80f9c934d.png#clientId=u31a58ab2-edbb-4&from=ui&id=u68ca22c5&margin=[object Object]&name=QQ截图20210601204538.png&originHeight=450&originWidth=1345&originalType=binary&size=100558&status=done&style=none&taskId=u6ff0b745-4e0f-428f-ae78-8ad2e551b57)
在这里插入图片描述

在这里插入图片描述

对于一级检测网络产生了不错的效果


Learn from paper


通过编码向量来区分不同组的左上,右下点,十分的厉害
迁移目标关键点检测的方法,来预测左上,右下点,而且减少了不少计算,十分的创新,迁移的很厉害




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值