超越yolov3,Centernet 原理详解(object as points)

ariXiv:https://arxiv.org/abs/1904.07850
github:https://github.com/xingyizhou/CenterNet

《Objects as Points》

摘要:目标检测要求作出包含物体的最小矩形框。大多数成功的目标检测器罗列出大量的候选框并对其分类。 这是浪费资源的,而且低效,还需要后续的处理。在这篇文章中,我们提出了一种新的方法。 我们将要检测的目标定位到一个点 --- 即检测矩形框的中心点。 我们的检测器通过热力图寻找中心点然后回归目标的其他属性,比如大小, 3D 位置坐标, 方向, 甚至姿态。 我们的基于中心点的检测网络 CenterNet, 是一个端到端的独特的, 简单而快速的目标检测器, 而且比一些基于锚框的检测器更加准确。 CenterNet 在MS COCO 数据集上在速度与准确率方面取得了最好的平衡, 142 FPS时有28.1% AP , 52 FPS时有37.4% AP, 多尺度测试时可以达到45.1% AP和 1.4 FPS。我们用同样的方法在KITTI 基准上去估计3D坐标 ,在 COCO 关键点数据集上估计人体姿态。当与其他复杂的多阶段的方法比较时我们的方法表现出巨大的竞争力而且能实时检测。

1 整体架构

超越yolov3,Centernet 原理详解(object as points)_第1张图片
512*512 input resolution

2 Backbone

文中进行特征提取的骨干网络均为语义分割的编码解码全卷积网络(DLA和Hourglass)
超越yolov3,Centernet 原理详解(object as points)_第2张图片
backbone

a:Hourglass 沙漏网络,文中未对其修改
b:带转置卷积的resnet, 同时增加了deformable conv
c:原始的DLA-34语义分割网络
d:文中用到的修改过的DLA-34,增加了FPN结构

由于采用全卷积网络直接得到4倍下采样的热力图,所以不需要提前设定anchors, 所以大大减少了网络参数量和计算量。热力图的通道数等于要检测的目标类别数,热力图的前100个峰值作为网络提取的目标中心点,然后设定一个阈值进行筛选得到最终的目标中心点。
Centernet 中所有的上采样前都有deformable卷积,这种卷积的作用就是使得网络的感受野变得更加精确,而不是限定为3*3的矩形卷积框内。同时4倍的下采样feature map 比一般网络的分辨率高很多,所有不需要进行多尺度预测和特征金字塔也可以同时较好的检测大小目标。
Centernet 不需要NMS,因为所有检测的中心点是由热力图的峰值得到的,这样就已经有一个非极大值抑制的过程,而且NMS是十分耗时的,所以Centernet才能又好又快。
Centernet 采用编码解码的全卷积骨干网络,上采样用到的是转置卷积,与一般上采样中的双线性差值有很大区别,转置卷积可以更好的还原图像的语义信息和位置信息。

3Training

超越yolov3,Centernet 原理详解(object as points)_第3张图片

上图表示了anchor free 算法与基于anchor算法在对待正负样本上的区别,a是基于anchor的检测算法,检测框与ground truth 交并比大于0.7的作为正样本,检测框与ground truth 交并比小于0.3的作为负样本。b是centernet 的检测器,ground truth中心点的热力图不是中心的是1, 周围像素都是0, 而是呈高斯核分布,高斯核大小与物体的大小有关,所以中心点周围高斯核内点会作为负样本,但是会有一个呈高斯分布的衰减。具体见下面的分类损失,Lk loss .

4损失函数

total loss

超越yolov3,Centernet 原理详解(object as points)_第4张图片
带focal loss 的分类损失
中心偏移损失
超越yolov3,Centernet 原理详解(object as points)_第5张图片
box size 损失

5 目标检测,姿态检测,3d目标检测 三合一

超越yolov3,Centernet 原理详解(object as points)_第6张图片
上面是目标检测box,中间是3d目标检测,下面是人体姿态估计
5.1 目标检测:

直接根据网络预测的中心点,加上回归的中心点偏移量,结合回归的box 大小得到最终的检测box

5.2 姿态估计:

将目标类别数量设置为17,对应人体姿态估计的17 个关键点,预测17维的热力图得到所有17类别的中心点,然后回归一个34(2*17)维的每个人体中心点到17个关键点的偏移值(因为有17 个x,y坐标偏移),人体中心点加上这个34 维的偏移量可以得到每个物体的17个关键点,再将17维的热力图中心点分配到距离最近的每个人体上,再回归一个二维的关键点偏移量作为最终的准确关键点。

5.3 3D目标检测:

这里回归的将是3维的box size, 加上一个1维的深度,和一个8维的方向,最终得到3D box。

你可能感兴趣的