文章目录
摘要
检测将图片中的目标看作框,大多数成功的物体检测是穷尽物体可能存在的位置并对其分类,这是耗时的,无效的,并且保留多余的后处理过程。在本篇文章中,我们采用不同的方法。我们将一个物体看作一个点–物体它本身的框的中心点。我们的检测使用关键点预估来找到中心点并且对所有物体的特征进行回归。基于该方法CenterNet找到的中心点,与上诉基于候选框的检测方法有所区分,是端到端的,更简单的,更快的,更准确的。CenterNet在MSCOCO数据集上实现了速度与准确度的平衡,142FPS中有28.1%的AP,52FPS中有37.4%AP。我们使用相同的方法来在KITTI平台上预估3Dbounding box并且在COCO关键点数据集上预估人类姿势。我们的方法在复杂的多阶段方案和实时运行中具有很强的应用性。
1、引言
物体检测解决了许多视觉任务,例如实例分割,姿势预估,追踪,反应认知。它的下游应用有监督,自动驾驶,视觉问答。当前的物体检测将每个物体以紧紧包围物体的bounding box来呈现。然后减少目标检测到图片分类中大量物体检测框的数量。对于每一个框,分类器决定图片内容是一个真实物体或者背景。一阶段检测滑动一个复杂的可能存在的物体的框的任务,其被称为anchors,在图片中直接分类,而无需指定框内的内容。二阶段检测对每一个可能box,重复计算图片特征,然后对这些特征进行分类。后处理过程,又被称为非极大值抑制,通过计算相同物体的boundingbox的IOU来移除重复检测。后向处理过程难以区分和训练,因此当前的检测不是端到端的训练, 尽管如此,在过去5年,这个观点取得了成功。基于目标检测的滑动窗口任然有点浪费,因为它们需要遍历物体所有可能的位置和维度。
在本篇论文中,我们提供了一个更简单更有效的方案,我们用一个物体框的中心点来表示物体。而物体的其它属性,例如物体大小,维度,3D延展,朝向,姿势,随后会从每个中心位置的图片特征中直接回归。然后物体检测就是一个标准的关键点预估问题。我们将图片输入一个全连接网络然后产生一个热力图。在热力图中的peaks就和物体中心点有联系。在每个peak的图片特征预测物体框的高和宽。这个模型的训练使用了标准的监督学习,basebone是一个简单的前后向传播的网络,没有非极大值抑制的后向处理过程。
可以花较小的努力将我们的方法应用到其它领域。通过在每一个中心点预测额外的输出,可以在3D物体检测进行实验,也可以进行多人姿势预估。对于3D bounding box预估,我们回归物体绝对深度,3D bounding box维度,和物体朝向。对于人类姿势预估,我们将2D连接位置作为中心点的偏移并且在中心点位置中直接回归。
我们方法的简化版,CenterNet,能以较高的速度运行它。有一个Resnet-18和上卷积层,我们的网络以28.1%的COCO bounding box 运行142FPS。我们仔细设计关键点检测网络,DLA-34,我们的网络以52FPS实现 37.4%COCO AP。到目前为止,关键点预估网络拥有Horglass-104,多尺度测试,我们的网络以1.4FPS实现45.1%COCO AP,在3D bounding box 预估和人类姿势预估中,我们以更高的速度表现出一定的竞争优势,代码在此处可见https://github.com/xingyizhou/CenterNet。
2、相关工作
通过回归分类实现物体检测。首次实现深度物体检测的网络,RCNN,从一个区域候选区集合中枚举物体位置,裁剪它,并且使用深度网络为每一个进行分类。相反,Fast-RCNN裁剪图片特征,来保存计算。然而,两种方法依赖又慢又低水平的区域建议框方法。
使用anchors实现物体检测。FasterRCNN在检测网络种生成区域候选。在一个低分辨率图片网格中塑造固定大小的bounding box并将其分类为前景或者背景。一个和真实框有0.7以上重叠的anchor被标为前景,若小于0.3则被标为背景,或者忽视。所产生的区域候选框再此分类,将区域分类器改变为多类分类器,从而形成一阶段检测的基础。一阶段检测的一些改进包括anchor锚框形状先验,不同的特征分辨率,在不同的样本中重计算loss。
我们的方法紧密联系以锚框为基础的一阶段方案。将中心点看作一个无形状锚框。然而,有一些重要的不同之处。首先,我们的CenterNet创建的“锚框”仅仅依赖位置,而不是重叠框。我们没有为前景和后景分类设置阈值,第二,每一个物体,我们仅仅有一个正向锚框,因此不需要非极大值抑制。我们仅仅在关键点热力图中提取定位点。第三,和传统物体检测相比(输出步长为16),CenterNet使用一个更大的输出分辨率(输出步长为4)。因此无需使用多锚框。
通过关键点预估的物体检测。我们不是第一个使用关键点预估来进行目标检测,Cor-nerNet检测两个bounding box作为关键点,然而ExtremeNet检测所有物体的上、左、下、右和中心点。这些方法建立在相同的具有鲁棒性的关键点预估网络作为CenterNet。然而,在关键点检测之后他们要求组合分阶段,这会使每个算法变慢。另一方面,我们的CenterNet,仅仅为每个物体提取一个单一的中心点,不必分组或者后向传播。
单目3D检测。3D bounding box预估产生自动驾驶。Deep3Dbox使用slow-RCNN风格的框架,首先通过首先检测2D物体,然后将其喂入3D预估网络。3DRCNN为Faster-RCNN增加一个额外的头,然后跟着一个3D物体。Deep
Manta在多个平台中使用从粗到细的Faster-RCNN进行训练。例如,CenterNet更简单更快比其其它方法。
3、初步
让
I
∈
R
W
×
H
×
3
I \in R^{W \times H\times3}
I∈RW×H×3作为一张宽W高H的输入图片。我们的目标是产生关键点热力图
Y
^
∈
[
0
,
1
]
W
R
×
H
R
×
C
\hat Y\in[0,1]^{\frac{W}{R}\times\frac{H}{R}\times C}
Y^∈[0,1]RW×RH×C,R是输出步长,C是关键点数量。关键点类型C=17,代表人类姿势预估的关节点,C=80,代表在物体检测中的物体类别。输出步长通过因子R对输出预测进行下采样。当预测
Y
^
x
,
y
,
c
=
1
\hat Y_{x,y,c}=1
Y^x,y,c=1时可以进行关键点检测,当
Y
^
x
,
y
,
c
=
0
\hat Y_{x,y,c}=0
Y^x,y,c=0时是背景。我们使用几个不同的全连接层编码解码网络从图片I来预测
Y
^
\hat Y
Y^:堆叠的沙漏网络,上卷积残差网络ResNet,深层聚合网络DLA。
我们跟随Law和Deng训练关键点预测网络。对于c个类别中的每个真实关键点
p
∈
R
2
p\in R^2
p∈R2,我们计算低分辨率等式
。然后我们通过使用高斯核函数
Y
x
y
c
=
e
x
p
(
−
(
x
−
p
^
x
)
2
+
(
y
−
p
^
y
)
2
2
σ
p
2
)
Y_{xyc}=exp(-\frac{(x-\hat p_x)^2+(y-\hat p_y)^2}{2\sigma^2_p})
Yxyc=exp(−2σp2(x−p^x)2+(y−p^y)2)将所有真实关键点绘制到热图
Y
^
∈
[
0
,
1
]
W
R
×
H
R
×
C
\hat Y\in[0,1]^{\frac{W}{R}\times\frac{H}{R}\times C}
Y^∈[0,1]RW×RH×C上,其中
σ
p
\sigma_p
σp是物体尺寸适应标准偏差。如果两个高斯具有相同类重叠,我们按元素取最大值。训练物体是一个损失减少且惩罚减少的像素逻辑回归:
其中a和b是损失函数的超参数,N是图片I中关键点数量。选择N进行归一化以将所有正损失实例归一化为1。在我们的实验中,跟着Law和Deng,我们采用a=2,b=4。
为了恢复由输出步长产生的离散化误差,我们额外预测定位偏移量
O
^
∈
R
W
R
×
H
R
×
2
\hat O \in R^{\frac{W}{R}\times\frac{H}{R}\times 2}
O^∈RRW×RH×2,对于每个中心点,所有类别c共享相同的偏移预测,用L1loss训练偏移。
监督扮演关键点定位
p
^
\hat p
p^所有其它定位被忽视。
在下一节,我们将展示如何将关键点预估器扩展到通用对象检测器。
4、将物体作为点
让
(
x
1
(
k
)
,
y
1
(
k
)
,
x
2
(
k
)
,
y
2
(
k
)
)
(x^{(k)}_1,y^{(k)}_1,x^{(k)}_2,y^{(k)}_2)
(x1(k),y1(k),x2(k),y2(k)) 作为类别为ck的目标为k的bounding box。它的中心点位于
p
k
=
(
x
1
(
k
)
+
x
2
(
k
)
2
,
y
1
(
k
)
+
y
2
(
k
)
2
)
p_k=(\frac{x_1^{(k)}+x_2^{(k)}}{2},\frac{y_1^{(k)}+y_2^{(k)}}{2})
pk=(2x1(k)+x2(k),2y1(k)+y2(k))。我们使用关键点
Y
^
\hat Y
Y^来预测所有的中心点。此外,我们针对
s
k
=
(
x
2
(
k
)
−
x
1
(
k
)
,
y
2
(
k
)
−
y
1
(
k
)
)
s_k=(x_2^{(k)}-x_1^{(k)},y_2^{(k)}-y_1^{(k)})
sk=(x2(k)−x1(k),y2(k)−y1(k))对每个物体k进行回归。和Objevtive2类似,我们在中心点使用L1 loss:
我们不再对尺度进行归一化,直接使用原始像素坐标。我们不再通过常量
λ
s
i
z
e
\lambda_{size}
λsize来调整loss。整个训练物体是
除非另有规定,在我们的实验中,我们设置
λ
s
i
z
e
=
0.1
\lambda_{size}=0.1
λsize=0.1并且
λ
o
f
f
=
1
\lambda_{off}=1
λoff=1。我们使用网络来预测关键点
Y
^
\hat Y
Y^,偏移量
O
^
\hat O
O^,大小
S
^
\hat S
S^。在每个位置网络预测C+4个输出。所有的输出共享全连接主干网络。对于每个模态,主干网络的特征随后会通过一个独立的3x3卷积,ReLU,另一个1x1卷积。图4展示网络的输出,章节5完善额外结构的细节。
从点到bounding box:在推理时间,我们首先在热力图中为每个类别单独提取峰值。我们检测所有值大于或等于其8个相邻邻居的响应,并保留前100个峰值。让
P
^
c
\hat P_c
P^c代表n个检测到的中心点
P
^
=
(
x
^
i
,
y
^
i
)
i
=
1
n
\hat P={(\hat x_i,\hat y_i)}^n_{i=1}
P^=(x^i,y^i)i=1n的集合。每个关键点位置由整数化坐标
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)得到。我们使用关键点值
Y
^
x
i
y
i
c
\hat Y_{x_iy_ic}
Y^xiyic作为其检测置信度的测量,在位置中产生bounding box,
其中,
(
σ
x
^
i
,
σ
y
^
i
)
=
O
^
x
^
i
,
y
^
i
(\sigma\hat x_i,\sigma\hat y_i)=\hat O_{\hat x_i, \hat y_i}
(σx^i,σy^i)=O^x^i,y^i是偏移量预测,
(
w
^
i
,
h
^
i
)
=
S
^
x
^
i
,
y
^
i
(\hat w_i,\hat h_i)=\hat S_{\hat x_i,\hat y_i}
(w^i,h^i)=S^x^i,y^i是尺寸预测。从关键点预测中直接产生输出,而不用进行以IoU为基础的非极大值抑制或者其它后向传播。峰值关键点提取服务作为NMS替代方案,可以在设备上通过使用3x3max池操作有效实施。
4.1、3D检测
3D检测为每个物体预估一个三维度的bounding box,并为每个中心点要求三个额外的因素:深度,3D维度,朝向。我们为每个增加一个独立的头。然而,深度难以直接回归。相反,我们使用E等人使用的转换输出,
d
=
1
σ
(
d
^
)
−
1
d=\frac{1}{\sigma(\hat d)-1}
d=σ(d^)−11,其中
σ
\sigma
σ是激活函数。我们计算关键点预估器的额外输出通道
D
^
∈
[
0
,
1
]
W
R
×
H
R
\hat D \in[0,1]^{\frac{W}{R}\times \frac{H}{R}}
D^∈[0,1]RW×RH的深度。它通过ReLU激活函数再此独立使用两个卷积。不像之前的模态,它在输出层中使用了反转激活转置。我们使用在初始深度领域中使用L1 loss来训练预估器的深度,在激活转换后。
一个物体的3D维度有3个尺度。我们使用一个独立头
Γ
^
∈
R
W
R
×
H
R
×
3
\hat \Gamma\in R^{\frac{W}{R}\times\frac{H}{R}\times 3}
Γ^∈RRW×RH×3和L1 loss直接回归到以米为单位的绝对值。
方向默认为单个标量。然而,很难回归。我们跟随Mousavian等人的工作,用箱内回归将方向表示为两个箱。更具体地,每个箱有4个尺度,使用8个尺度方向来解码。对于一个箱使用两个尺度来进行多分类,剩下两个尺度为每个箱回归成一个角读。为了了解关于loss的细节,请看补充材料。
4.2、人类姿态预估
人体姿势旨在对于图片中的每个人类实例预估预估k个2D人类连接位置(COCO数据集中k=17)。我们将姿势考虑为中心点中kx2个维度,通过中心点的偏移得到每个点的参数。我们将带L1 loss的连接偏移
j
^
∈
R
W
R
×
H
R
×
k
×
2
\hat j \in R^{\frac{W}{R}\times\frac{H}{R}\times k \times2}
j^∈RRW×RH×k×2(以像素)直接回归。我们通过掩码损失来忽视不可视化的关键点。在以回归为基础的一阶段多人体姿势预估结果和slow-RCNN视觉同行Toshev等人和Sun等人的相似。
为了定义关键点,我们使用标准自底向上的多人类姿势预估更深远地预估k个人类关键点连接热力图
Φ
^
∈
R
W
R
×
H
R
×
k
\hat \Phi\in R^{\frac{W}{R}\times\frac{H}{R}\times k }
Φ^∈RRW×RH×k。我们使用loss和局部像素偏移来训练人类关键点热力图,类似于本节中讨论的中心检测。
然后,我们将初始预测捕捉到此热图上最接近检测到的关键点。因此,我们的中心偏移量用作分组提示,以将各个关键点检测分配给其最接近的人物实例。更具体地,让
(
x
^
,
y
^
)
(\hat x,\hat y)
(x^,y^)成为检测到的中心点。我们首先回归所有的位置
l
j
=
(
x
^
,
y
^
)
+
J
^
x
^
y
^
j
,
j
∈
1
…
k
l_j=(\hat x,\hat y)+\hat J_{\hat x \hat y j},j \in 1\dots k
lj=(x^,y^)+J^x^y^j,j∈1…k。我们为来自对应热力图
Φ
^
…
j
\hat \Phi{\dots j}
Φ^…j的每个连接类型J提取所有的关键点位置
L
j
=
l
^
j
i
i
=
1
n
j
L_j={\hat l_{ji}}^{n_j}_{i=1}
Lj=l^jii=1nj。然后,仅考虑检测对象边界框内的联合检测情况下,我们将每个回归位置
l
j
l_j
lj分配给最接近的检测关键点关键点arg
m
i
n
l
∈
L
j
(
l
−
l
j
)
2
min_{l\in L_j}(l-l_j)^2
minl∈Lj(l−lj)2。
5、实现细节
我们的实验有4个结构:ResNet-18,ResNet-101,DLA-34,Hourglass-104。我们使用可变性卷积修改ResNet和DLA-34并按原样使用Hourglass网络。
Hourglass堆叠的Hourglass网络通过4x来下采样输入,然后跟着两个hourglass序列模块。每个hourglass模块是一个带有跳跃结构的系统的5层下和上卷积网络。这个网络十分大,但是通常产生最佳的关键点预估性能。
ResNet xiao等人,通过三个向上卷积网络扩展标准残差网络,以实现更高分辨率的输出。为了保存计算,我们首先将三个下采样层的通道数分别改为256,128,64。然后在分别具有256,128,64的通道的上卷积增加一个3x3的变形卷积层。将上卷积核作为双线性插值初始化。看补充材料了解更详细的结构。
DLA Deep Layer Aggregation 是一个具有分层跳跃结构的图片分类网络。我们利用DLA的全卷积上采样版本进行密集预测,该模型使用迭代深度聚合来对称地增加特征图分辨率。我们使用从较低层到输出的可变形卷积来扩展跳跃连接。具体来说,我们在每个上采样层将原始卷积替换为3x3可变形卷积。有关详细的体系结构图,请参见补充。
在每个输出头之前,我们添加一个具有256通道的3x3卷积层。然后进行最后的1x1卷积产生所需的输出。我们在补充材料提供更多的细节。
训练 我们以512x512分辨率的输入进行训练。这样所有模型的输出分辨率均为128 128。我们使用随机翻转,随机缩放(介于0.6到1.3之间),裁剪和颜色抖动作为数据增强,并使用Adam优化整体目标。由于裁剪或缩放会更改3D测量,我们没有使用增强来训练3D估计分支。对于残差网络和DLA-34,我们以128的批量训练(在8个GPU上)140次,学习率5e-4,学习率分别在90和120个次下降了10x。对于Hourglass-104,我们遵循ExtremeNet,并使用批处理大小29(在5个GPU上,主GPU批处理大小4)和50次的学习率2.5e-4,其中40次的学习率下降了10x。为了检测,我们从ExtremeNet中微调了Hourglass-104以节省计算量。Resnet-101和DLA-34的下采样层是使用ImageNet预训练初始化的,而上采样层是随机初始化的。Resnet-101和DLA-34在8个TITAN-V GPU上以2.5天的时间进行训练,而Hourglass-104需要5天。
参考 我们使用三个级别的测试增强:无增强,翻转增强以及翻转和多尺度(0.5、0.75、1、1.25、1.5)。对于翻转增强,我们在解码边界框之前平均网络输出。对于多尺度,我们使用NMS合并结果。这些增强产生不同的速度精度权衡,如下所示部分。
6、实验
我们在以下方面评估我们的物体检测性能MS COCO数据集,其中包含118k训练图像(train2017),5k验证图像(val2017)和20k支持测试映像(test-dev)。我们报告平均精度超过所有IOU阈值(AP),AP达到IOU阈值0.5(AP50)和0.75(AP75)。 补充包含其他PascalVOC的实验。
6.1、物体检测
表1显示了我们在COCO验证条件下不同backbone的结果
和测试选项,而图1则比较CenterNet与其他实时检测器。在我们的本地计算机with Intel Core i7-8086K CPU, Titan Xp GPU, Pytorch 0.4.1, CUDA 9.0,and CUDNN 7.1上测试运行时间。我们下载代码和经过预训练的模型,以测试同一台计算机上每种模型的运行时间。
Hourglass-1044在相对良好的速度下达到了最佳的精度,在7.8 FPS下的AP为42.2%。在这个主干上CenterNet在速度和准确性上胜过CornerNet [30](40.6%AP4.1 FPS)和ExtremeNet [61](3.1 FPS 40.3%AP)。运行时间的改善
来自更少的输出头和更简单的框解码方案。更高的精度代表中心点比拐角或极端点更容易检测。
在相同的网络主干中,使用ResNet-101,我们的性能优于RetinaNet。我们仅在上采样层中使用可变形卷积,这不会影响RetinaNet.。在相同的精度下,我们的速度要快两倍以上(45 FPS中的CenterNet 34.8%AP(输入512x512)与18 FPS中的RetinaNet 34.4%AP(输入500800))。我们最快的ResNet-18模型也获得了可观的性能142FPS时可使用28.1%的COCO AP。
DLA-34提供了最佳的速度/精度平衡。它以52FPS和37.4%AP的速度运行。和YOLOv3相比,有两倍多的速度 和4.4%AP的速度。在反转测试中,我们的模型任然快于YOLOv3,实现了和Fasterr-RCNN-FPN相同级别的准确度(CenterNet 39:2%
AP in 28 FPS vs Faster-RCNN 39:8% AP in 11 FPS).
截止目前的比较 在表2中,我们与其他COCO test-dev中的最新检测器作比较。通过多尺度评估,CenterNet和Hourglass-104的AP达到45.1%,胜过所有现有的AP
一级检测器。复杂的两级检测器更准确,但也更慢。在不同物体大小或IoU阈值的滑动窗口检测器中,CenterNet和滑动窗口之间没有显着差异。CenterNet的行为类似于常规检测器,只是速度更快。
6.1.1、额外实验
在不幸的情况下,如果它们完全对齐,两个不同的对象可能会共享同一中心。在这样的情况下,CenterNet只会检测其中之一。我们首先研究这种情况在实践中发生的频率,然后将其放入与竞争方法有关的缺失检测
中心点碰撞 在COCO数据集中,当步长为4,有614对碰撞到同一中心的对象。共有860001个对象,因此由于在中心点碰撞,CenterNet无法预测<0.1%的对象。因区域提案不完善,比slow-或fast-RCNN更少的中心点被遗漏[52](2%),并且由于不充足锚点位置[46](对于Faster-RCNN,20%15个锚点位于0.5 IOU阈值),更少的基于锚的方法被遗漏。此外,715对对象的边界框IoU> 0.7,并且将它们分配给两个锚,因此基于中心的分配会造成更少的碰撞。
NMS 为了验证CenterNet不需要基于IoU的NMS,我们将其作为后处理步骤在我们的预测中运行。对于DLA-34 (flip-test),AP从39.2%提高到39.7%。对于Hourglass-104,AP保存42.2%,鉴于影响很小,我们不使用它。
接下来,我们消除了模型的新超参数。 所有实验均在DLA-34上完成。
训练和测试分辨率 在测试期间,我们修复输入分辨率为512x512。 在测试过程中,我们遵循CornerNet,保持原始图像分辨率,对输入进行零填充到网络的最大步幅。对于ResNet和DLA,我们将图片最多填充32个像素,对于HourglassNet,我们使用128像素。如表3a所示,保持原始分辨率比固定测试分辨率稍高。在低分辨率(384384)中训练和测试,运行速度提高了1.7倍,但下降了3AP。
回归损失 我们在尺寸回归中比较L1损失与平滑L1。我们在表3的实验展示了L1比平滑L1更好。它可以在小规模上产生更好的精度,而COCO评估指标对其更敏感。在关键点回归这被独立观察到。
边界框尺寸权重 我们分析了我们方法中的loss权重
λ
s
i
z
e
\lambda_{size}
λsize的敏感度。表3b展示了0.1给出了很好的结果。对于更大的值,由于损耗的范围从0到输出大小w/R或h/ R,而不是0到1,从而导致AP的性能大大降低。但是,对于较低的重量,该值不会显着降低。
训练安排 默认情况下,我们在140次训练关键点估计网络,而学习率在90次下降。如果我们在降低学习率之前将训练时间增加一倍,则性能将进一步提高1.1AP(表3d),但需要花更长的训练时间。为了节省计算资源,我们在消融实验中使用了140次,但与其他方法相比,DLA坚持使用了230次。
最后,我们通过回归到多个对象大小,尝试了Center-Net的多个“锚定”版本。实验没有取得任何成功。 见补充。
6.2、3D检测
6.3 姿势预估
7、总结
总而言之,我们为对象提供了一种新的表示形式:作为点。我们的CenterNet对象检测器基于关键点估计网络成功的找到对象中心,并回归出它们的大小。该算法简单,快速,准确,端到端可区分,无需任何NMS后处理。这个想法很笼统,除了简单的二维检测之外,还具有广泛的应用。CenterNet可以估计一系列其他对象属性,例如一次向前通过时的姿势,3D方向,深度和范围。我们的初步实验令人鼓舞,并为实时对象识别和相关任务开辟了新的方向。
补充C:中心点冲撞实验细节
我们分析了COCO训练集的注释,以显示碰撞案例发生的频率。COCO训练集(2017年训练)包含N = 118287张图像和M = 860001个对象(MS = 356340个小对象,MM = 295163个中等对象和ML = 208498个大对象)在C = 80个类别中。设图像k类别为c的第i个边界框为
b
b
(
k
c
i
)
=
(
x
1
k
c
i
,
y
1
k
c
i
,
x
2
k
c
i
,
y
2
k
c
i
)
bb^{(kci)}=(x^{kci}_1,y^{kci}_1,x^{kci}_2,y^{kci}_2)
bb(kci)=(x1kci,y1kci,x2kci,y2kci),其
4个步幅后的中心为
p
k
c
i
=
(
1
4
y
1
(
k
c
i
)
+
y
2
(
k
c
i
)
2
)
p^{kci}=(\frac{1}{4}\frac{y^{(kci)}_1+y^{(kci)}_2}{2})
pkci=(412y1(kci)+y2(kci))。令
n
(
k
c
)
n^{(kc)}
n(kc)是图像k中类别c的对象数。 中心点碰撞次数计算公式为:
我们在数据集上得到
N
c
e
n
t
e
r
=
614
N_{center} = 614
Ncenter=614。
同样,我们通过以下方式计算基于IoU的冲突
NIoU@0:7 = 715,NIoU@0:5 = 5179.
基于锚点的检测器中缺少物体 如果他们的IOU> 0.5 ,RetinaNet将锚点分配给真实框。如果在这个案例下真实框未被IoU> 0.5的任何锚覆盖,具有最大IoU的锚将分配给它。我们计算这种强制分配发生的频率。我们使用15个锚点(5个大小:32、64、128、256、512和3个长宽比:0.5、1、2,如RetinaNet [33])S = 16。对于每个图像,将其调整为较短的边缘后为800,我们将这些锚点放置在…。W,H是图像权重,
高度(较小的一个等于800)。
这导致一组锚点A。我们通过以下方式计算强制分配的数量:
RenitaNet requires Nanchor = 170220 forced assignments:
125831 for small objects (35:3% of all small objects),
18505 for medium objects (6:3% of all medium objects),
and 25884 for large objects (12:4% of all large objects).
补充D:在PascalVOC上的实验
Pascal VOC [14]是一个流行的小物体检测数据集。我们在VOC 2007和VOC 2012训练集上进行训练,并在VOC 2007测试集上进行测试。它包含16551个训练图像和20种类别的4962测试图像。评估指标是IOU阈值为0.5的平均平均精度(mAP)。
我们尝试使用改良的ResNet-18,ResNet-101和DLA-34(请参阅第5节主要论文)以分辨率:384x384和512x512进行两次训练。对于所有网络,我们训练70次,而学习率分别在45次和60次下降了10x。我们使用batchsize=32进行学习,遵循线性学习率规则的比率1:25e-4。一个ResGPU-101和DLA-34分别需要一个GPU 7小时/ 10小时来训练384x384。对于512x512
在两个GPU中训练时间相同。翻转增强用于测试。 所有其他超参数是与COCO实验相同。我们不使用Hourglass-104,因为它未能在合理的时间内收敛(2天)从头开始训练。
结果示于表6,我们最好的CenterNet-DLA模型可以与顶级方法竞争,并保持实时速度。
补充E:错误分析
我们通过将真实框替换为每个输出头来执行错误分析。对于中心点热图,我们使用渲染的高斯地面真相热图。对于边界框大小,在每次检测中我们使用最接近的地面真实大小。
表7中的结果表明,改善两个尺寸图都会导致适度的性能提升,而中心图的增益要大得多。如果仅无法预测关键点偏移,则最大AP达到83.1。由于高斯热图中的离散化和估计误差,整个真实框流失了大约0.5%的对象。