文章目录
本文原论文地址: https://arxiv.org/pdf/1904.07850.pdf
GitHub地址:https://github.com/xingyizhou/CenterNet
1、CenterNet 简介
CenterNet是一种Anchor-Free的目标检测网络;不仅可以用于目标检测,还可以用于其他的一些任务,如肢体识别或者3D目标检测等等。下图展示了CenterNet与当时的一些SOTA算法在COCO数据集上的性能对比效果。容易看出,CenterNet相比于当前的SOTA算法精度和速度都有一定提升。
2、提出背景
通常的检测器会预设很多anchor,然后基于这些anchor去做预测。密集的anchor有助于提高检测精度,然而在预测阶段,真正起到检测作用的只有少部分anchor,因此导致了计算资源的浪费。
无论是单阶段还是二阶段检测器,在后处理阶段都需要NMS去除多余框。NMS操作只在推理阶段存在,NMS的存在导致现有的检测器并不是严格的端到端训练的。
基于上述现象,作者提出了CenterNet算法,直接预测物体bbox的中心点、宽高、类别。相比其他方法,该方法不需要预设anchors,在预测阶段也不需要NMS,极大的简化了网络的训练和推理过程。
3、骨干网络
Centernet 用到的主干特征网络有多种,一般是以Hourglass Network、DLANet 或者 ResNet 为主干特征用来提取特征。我们以用的较多的ResNet为例来进行介绍。
ResNet50有两个基本的块,分别名为Conv Block和Identity Block,其中Conv Block输入和输出的维度是不一样的,所以不能连续串联,它的作用是改变网络的维度;Identity Block输入维度和输出维度相同,可以串联,用于加深网络的深度。
4、整体结构
如下图所示,CenterNet 的整体结构由三部分组成:骨干网络+上采样层+Center Head,具体过程如下:
- 通过ResNet50提取图像特征,骨干网络的最后一个特征层的形状为(16,16,2048)
- 对于该特征层,采用三次反卷积进行上采样,获得高分辨率特征层。为了节省计算量,这3个反卷积的输出通道数分别为256,128,64。
- 三次上采样后,获得了一个128x128x64的高分辨率特征图,最后利用该有效特征层获得最终的预测结果。
最后利用28x128x64的高分辨率特征图,进行三个不同的卷积操作,来分别进行预测:
- 热力图预测,此时卷积的通道数为classes,最终结果为(128,128,classes),代表每一个热力点是否有物体存在,以及物体的种类c;
- 中心点预测,此时卷积的通道数为2,最终结果为(128,128,2),代表每一个物体中心距离热力点偏移的情况x, y;
- 宽高预测,此时卷积的通道数为2,最终结果为(128,128,2),代表每一个物体宽高的预测情况w,h;
5、论文总结
综上所述,作者提出了一种新的目标表示方法:objects as points。CenterNet 目标检测器建立在成功的关键点估计网络的基础上,找到物体的中心,并且回归到它们的大小。该算法简单、快速、准确,并且无需任何NMS后处理就能进行端到端的微分。这个想法是通用的,具有广泛的应用,超越了简单的二维检测。于此同时,CenterNet 可以估计一系列额外的目标属性,如姿势、三维方向、深度和范围。CenterNet 的初步实验是令人鼓舞的,并且为实时物体识别和相关任务开辟了一个新的方向和相关的任务。