faster rcnn论文_【读论文】CenterNet

9b55cd4bfe7798dff23510294f868766.png

2019年比较新的目标检测的论文,抛弃了主流的使用anchor回归检测框的机制。

原文链接:

https://arxiv.org/pdf/1904.07850.pdf​arxiv.org

初步阅读,有很多细节不太清楚,先做个记录,以便后续交流学习。

Objects as Points摘要 图像检测中的检测框默认是轴对称的,大多数比较成功的检测方法都是要列举很大数量的候选框,再进一步进行定位和分类。但是这样的做法往往是多余而又低效率的。本文中我们提出了一种对物体的中心点进行定位的方法,并且在此基础上回归出物体的其他属性,比如尺寸、3D位置、方向甚至是姿态。我们提出的网络称之为CenterNet,它是一个端到端可微分,更简化快捷精度更高的方法。

1. Introduction

对于目标检测,one-stage的方法是给图像中使用了一个叫anchor的机制,去排布很多框在图像中,直接进行框的打分;而two-stage的方法会对这些框中的featuremap进行重新计算,再进一步进行分类和回归。后处理一般使用的是非极大值抑制,以去掉那些重复的框。因为大多数训练都不适用这种端到端的检测,这种后处理一般比较难以微分和训练。尽管如此,在过去的5年,在这方面也有许多方法提出。但是这种基于滑动窗的检测方法需要去枚举各种潜在的图像位置和尺寸,是比较浪费时间的。

在本文我们提出的方法,用boundingbox中心点来代表这个物体,随后在这个点的基础上对物体的其他属性比如尺寸,维度,3D位置和方向和姿态等进行回归。这样一来,物体检测就成为了一个标准关键点估计问题。我们把图像输入到一个全卷积网络,产生对应的热图。热图中的峰值点就对应着图像中物体的中心,在中心附近的特征也可以对物体的bbox宽和高进行预测。整个网络的训练是在稠密监督学习上进行的,使用单向网络向前传递,不需要非极大值抑制等后处理方式。我们的方法还可以对物体的其他属性进行预测,比如在预测物体3D信息的时候,会单独预测物体的3D边界框尺寸和物体方向;对于人体姿势估计,我们把关节点视为人体中心点的位置偏离,并在中心点位置直接对它们进行回归。

a00318f68a69ad5718f9a05ee261e044.png

2. Related work

(1) 基于区域分类region proposal的物体检测方法

RCNN通过产生大量的区域候选框,再用深度神经网络对这些框进行提取特征和分类;Faster-RCNN是先进行特征提取,再对特整图进行产生候选框和分类,以减少计算量。然而,这两种方法都是基于低效率的特征提取方法。

(2) 基于隐藏的anchor的物体检测

RCNN在网络中就进行的候选区域的产生,它在对分辨率的图像网格之上列举出了很多固定尺寸的bbox(具体称之为anchor),并进一步进行分类判断它是不是“前景”,如果anchor与真值的重叠率大于0.7就视为是前景,否则认为是背景或者忽略。每一个得到的前景anchor随后会进行一种基于多尺度分类的检测。我们所提出的方法与这种one-stage的基于anchor的机制比较类似,我们提出的物体中心点可以被理解成一种不可知形状的anchor,如图3。我们的中心点机制有几个特点:

  • l 它不是基于与真实框的重叠率来分配anchor,而是利用位置信息,我们没有一个区分前景和背景的阈值。
  • l 对于每个物体,我们只提出一个positive anchor,因此就不需非极大值抑制进行过滤。我们只是对关键点热图中的局部峰值进行关注。
  • l CenterNet的输出分辨率很高,这也消除了对多个anchor的需求。

3e091c0e835a8abcfaefe3042ab180e5.png

(3) Object detection by keypoint estimation

CoreNet[30]检测bbox的两个角点作为关键点,ExtremeNet【61】预测bbox的左右上下的值。这些点的估计和我们的CenterNet有着类似的鲁棒的网络,但是他们的方法需要在估计到点后进一步进行组合,是比较费时间的。我们的方法在估计到点后不用进行其他后处理。

(4) Monocular 3D object detection

3D框估计在自动驾驶领域很有用,Deep3Dbos方法利用slow-RCNN的框架,在估计到的2D信息后进行3D投影。CenterNet也用了类似的方法但是比他们的快,减少了计算。

3. Preliminary

3.1 hm_loss

使用

表示输入图像,CenterNet的方法将会产生一个反映关键点的热图,热图
,R是生成热图的步长,C是热图中关键点的数量。通常在人体估计中C=17,而物体检测中C=80,同时R一般取4,以对图像进行下采样。当
时表示这个点就是估计到的关键点,
时表示这个点就是背景点。在对模型训练的时候,我们沿用Law和Ddeng[30]的方法,对于每一个真值点
,其种类是c,首先用高斯滤波把所有真值点进行滤波,得到真值热图
,然后在训练的时候使用惩罚相减的方式训练,loss计算如下:

9cb19c5dbd11c179882c2c3559e82ca3.png

其中,N是图像中真值关键点的数量,使用N把Lk的最大值缩放到1,

是超参数。我们使用的值分别为2和4。Lk对预测出的所有heatmap点都做计算。

(1)当这个预测的点的位置对应对应的真值

时,
越接近1,
会越小,表示预测的heatmap的点效果好;反之,会比较大,促进训练。

(2)当预测到的点的位置对应的真值

,那么相似的道理,进行计算loss。

3.2 reg_loss中心点偏移量loss

此外,由于存在步长,有时候会出现离散化的现象,我们对于每个点还额外加了一项

,训练时每一类点c都使用相同的补充项Loff,以弥补离散化的现象。

这里只对真值点对应位置初产生的中心点进行计算偏移量。

0f16e1aace652e1fd8d164bf69fe31f5.png

3.3 wh_loss

对于每一个物体所在的bbox,其种类是

,其框的角点坐标是
,因而它的宽高可以用
来表示,网络估计的宽高信息是
,因此就产生了宽高的损失Lsize

18b125f92078073faea89dd8a7e4eb33.png

结合上面提到的其他loss,总的loss可以表示为:

ff6ad6a90b0356c00193c4d2252684fa.png

从点到框

在推理中,我们首先分别对每种类型的热图的峰值点进行获取,选取前100个比它周围的特图的值都高或者相同的点。使用

代表类别为c的n个这样的点的集合,每个关键点的位置是以整型变量值的形式给出。我们用
即这点的值来度量检测的置信度,并且生成物体的边界框

a70f76cfa44a04460779672be1fbf72e.png

其中的

是对方向的预测结果,w和h是对宽高的预测。这里不需要以往的方法中的非极大值抑制等后处理方法。

4.1 3D detechtion

对于3D检测部分,检测到中心点后还需要引入3个分支进行深度、3D尺寸和方向的生成.对于深度,我们的结构中使用了一个单独的与中心点预测并行的分支回归出点的深度信息,深度信息是比价难以直接进行回归的,我们使用了Eigen[13]的转化(没详细看)。对于3维尺寸,我们直接进行绝对尺寸的预测。对于方向,我们借鉴Mousavian et al. [38]的方法,使用了两个bin的机制进行预测。(细节没太讲)

4.2 Human pose estimation

人体姿态估计主要是要估计出人体的17个关节点的2D位置,我们直接把关节点作为中心点的偏移量进行回归,使用mask的损失来忽略看不见的关节点(?)。具体操作中,使用自底向上的人体姿态方式[4,39,41],在对关节点的训练中,也使用了第3节中提到的focal loss焦距损失和局部像素偏移的方法。

5. 实施细节

作者使用了几个不同的backbone网络来进行测试,发现使用DLA-34作为backbone时的效果最好。它能达到52FPS和37.4%的AP

5.1Hourglass沙漏网络

堆叠沙漏网络[30,40]使用两个系列的沙漏网络完成4倍下采样,每个沙漏网络都是一个对称的5层向下和向上卷积网络,并伴随有skip connection。这个网络比较大,但是可以获取到最好的关键点估计。

5.2ResNet

作者用ResNet并进行了相关改进以减少计算量。

5.3DLA深层聚合

实验结果对比

0b4a97e5de7dc845f856a7d3b196ab67.png

393566051d765f26f8a6cfaa260d0857.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值