Objects as Points
大多数成功的目标检测器都会列出一个几乎详尽的潜在目标位置列表,并对每个位置进行分类。这是浪费,效率低下,需要额外的后处理。在本文中,我们采取了不同的方法。我们将一个对象建模为一个点,即其边界框的中心点。我们的检测器使用关键点估计来找到中心点,并回归到所有其他对象属性,如尺寸、三维位置、方向甚至姿势。我们的基于中心点的方法,CenterNet,是端到端的,比相应的基于bounding box的检测器更简单、更快速、更准确。CenterNet在MSCOCO数据集上实现了最佳的速度-精度权衡,在142 FPS时AP为28.1%,在52 FPS时AP为37.4%,在1.4 FPS的多尺度测试下AP为45.1%。我们使用相同的方法来估计KITTI基准中的3D边界框和COCO keypoint数据集上的人体姿势。我们的方法可以与复杂的多阶段方法进行竞争,并且可以实时运行。
1. Introduction
图2:我们将对象建模为其边界框的中心点。边界框大小和其他对象特性是从中心的关键点特征推断出来的。
在本文中,我们提供了一个更简单、更有效的替代方案。我们用一个中心点来表示它们的对象(参见图2)。其他属性,如对象大小、尺寸、三维范围、方向和姿势,则直接从中心位置的图像特征回归。目标检测是一个标准的关键点估计问题[3,39,60]。我们简单地将输入图像输入到一个全卷积网络[37,40],生成一个热图。热图中的峰值对应于对象中心,每个峰值的图像特征可以预测对象的边界框高和宽。该模型使用标准的dense supervised learning[39,60]进行训练。推断是一个单一的网络前传,没有非最大抑制的后处理。
图4:我们的网络在不同任务下的输出:顶部为物体检测,中间为3D物体检测,底部:为姿势估计。所有的模式都是由一个共同的backbone产生的,不同的3x3和1x1输出卷积被ReLU分开。括号内的数字表示输出通道。详见第4节。
我们的方法是通用的,并且可以扩展到其他任务,只需花费很少的精力。通过预测每个中心点的额外输出,我们提供了3D目标检测[17]和多人姿态估计[4]的实验(见图4)。对于三维边界框估计,我们回归到物体绝对深度、三维边界框尺寸和物体方向[38]。对于人体姿态估计,我们将二维关节位置视为中心点的偏移量,直接回归到中心点位置。
我们的方法CenterNet的简单性使得它能够以非常高的速度运行(图1)。通过简单的Resnet-18和上卷积层[55],我们的网络以142 FPS的速度运行,28.1%的COCO bounding box AP。使用精心设计的关键点检测网络DLA-34[58],我们的网络在52 FPS下实现了37.4%的COCO AP。我们的网络配备了最先进的关键点估计网络Hourglass-104[30,40]和多尺度测试,以1.4 FPS的速度实现了45.1%的COCO-AP。在三维包围盒估计和人体姿态估计方面,我们以更高的推理速度与现有技术相比较。Code is available at https://github.com/xingyizhou/CenterNet.
3. Preliminary
让为宽度W、高度H的输入图像。我们的目标是制作一个关键点的热图,其中R为输出步幅,C为关键点类型的数量。关键点类型包括人体姿势估计中的C=17个人体关节[4,55],或物体检测中的C=80个物体类别[30,61]。我们使用文献[4,40,42]中默认的输出 stride 为R=4。一个预测为对应于一个检测到的关键点,对应于一个检测到的背景。我们使用几种不同的全卷积编码器-解码器网络从图像I中预测:堆叠沙漏网络[30,40]、upconvolutional residual networks(ResNet)[22,55]和深层聚合(DLA)[58]。我们按照Law和Deng[30]训练关键点预测网络。对于c类的每个ground truth关键点,我们计算一个低分辨率的等价。然后,我们用一个高斯核将所有的ground truth关键点拼接到热图上,其中是对象大小自适应(objects ize-adaptive)的标准偏差[30]。如果同一类的两个高斯函数重叠,我们取element-wise maximum[4]。训练目标函数是一个具有focal损失的[penalty-reduced pixelwise logistic regression[33]:
其中和为focal loss的超参数[33],N为图像I中关键点的数量。选择用N表示的归一化方法将所有正 focal loss 实例规范化为1。我们在所有的实验中都使用 =2和 =4,遵循Law和Deng[30]。
为了恢复由输出stride引起的离散化误差,我们还为每一个中心点预测了一个局部偏移量,所有类c共享相同的偏移量预测。以L1损失来训练偏移量
监督只作用于关键点位置,其他位置都被忽略。
在下一节中,我们将展示如何将这个关键点估计器扩展到通用对象检测器。
4. Objects as Points
让类别的目标k的bounding box用。他的中点位于。我们使用我们的关键点估计器来预测所有的中心点。此外,我们对每个对象k的对象大小进行回归。为了限制计算负担,我们对所有对象类别使用单一尺寸预测。我们在中心点使用与Objective2类似的L1损失。
我们不对比例进行归一化,直接使用原始像素坐标。相反,我们以一个固定的大小来缩放损失.总体的训练目标是
我们使用,在我们所有的实验中,除非另有说明。我们使用单个网络来预测关键点 ,偏移量 ,以及大小 。该网络预测每个位置共有C+4个输出。所有输出都共享一个共同的全卷积骨干网络。对于每个模态,骨干网的特征再通过一个单独的3X3卷积、ReLU和另一个1X1卷积。图4显示了网络输出的概况。第5节和补充材料包含了额外的架构细节。
From points to bounding boxes
在推理时,我们首先独立提取每个类别的热图中的峰值.我们检测所有响应的值大于或等于其8个连接的邻居,并保留前100个峰值。设为c类的n个检测中心点的集合。每个关键点位置由整数坐标。我们用关键点的值作为其检测置信度的衡量标准,并在位置上产生一个边界框。
其中为偏移量预测,是大小预测。
所有的输出都是直接从关键点估计中产生的,而不需要基于IoU的非最大值抑制(NMS)或其他后处理。峰值关键点提取可以作为一个高效的NMS替代方案,并且可以使用3x3 max pooling操作在设备上高效实现。
5. Implementation details
我们用4种架构进行实验。ResNet-18、ResNet-101[55]、DLA-34[58]和Hourglass-104[30]。我们使用可变形卷积层(deformable convolution
5]、DLA-34[58]和Hourglass-104[30]。我们使用可变形卷积层(deformable convolution
layers)[12]对ResNets和DLA-34进行修改,并按原样使用Hourglass网络。