CenterNet一种 anchor-free 的目标检测框架
Posted AI 菌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CenterNet一种 anchor-free 的目标检测框架相关的知识,希望对你有一定的参考价值。
本文原论文地址: 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、论文总结
综上所述,作者提出了一种新的目标表示方法:CenterNet:objects as points。CenterNet 目标检测器建立在成功的关键点估计网络的基础上,找到物体的中心,并且回归到它们的大小。该算法简单、快速、准确,并且无需任何NMS后处理就能进行端到端的微分。这个想法是通用的,具有广泛的应用,超越了简单的二维检测。
于此同时,CenterNet 可以估计一系列额外的目标属性,如姿势、三维方向、深度和范围。CenterNet 的初步实验是令人鼓舞的,并且为实时物体识别和相关任务开辟了一个新的方向和相关的任务。
以上是关于CenterNet一种 anchor-free 的目标检测框架的主要内容,如果未能解决你的问题,请参考以下文章
目标检测anchor-free框架:CenterNet :Objects as Points
目标检测anchor-free框架:CenterNet :Objects as Points