链接: CenterNet:Objects as Points.
一、摘要
大多的成功的目标检测任务,通过迭代一个详细的目标位置列表和对应的分类,显得十分的低效且浪费。我们的模型采取了基于目标Bbox中心点来建模进行目标检测。我们的检测器使用关键点估计来找到中心点,并且回归到所有目标的属性(例如大小,3D位置,方向甚至姿态)。实验显示,比相应的基于框的要快速,高效,且更简单,能够达到实时。
创新点:
第一,我们分配的锚点仅仅是放在位置上,没有尺寸框。没有手动设置的阈值做前后景分类。(像Faster RCNN会将与GT IOU >0.7的作为前景,<0.3的作为背景,其他不管);
第二,每个目标仅仅有一个正的锚点,因此不会用到NMS,我们提取关键点特征图上局部峰值点(local peaks);
第三,CenterNet 相比较传统目标检测而言(缩放16倍尺度),使用更大分辨率的输出特征图(缩放了4倍),因此无需用到多重特征图锚点;
二、介绍
CenterNet使用单张图片
I
∈
R
W
X
H
X
3
I\in{R^{WXHX3}}
I∈RWXHX3作为输入,并且为每个类
C
∈
{
0
,
1
…
c
−
1
}
C\in\{0,1…c-1\}
C∈{0,1…c−1}产生一个预测集合
{
(
p
i
,
s
i
)
}
i
=
0
N
−
1
\{(p_i,s_i)\}_{i=0}^{N-1}
{(pi,si)}i=0N−1。CenterNet通过确定中心点
p
∈
R
2
p∈R^{2}
p∈R2然后回归获得目标边界框的高和宽
s
∈
R
2
s∈R^2
s∈R2。CenterNet会生成一个低分辨率的热图
Y
^
∈
[
0
,
1
]
W
R
×
H
R
×
C
\hat{Y} \in[0,1]^{\frac{W}{R}×\frac{H}{R}×C}
Y^∈[0,1]RW×RH×C以及通过下采样因子R为4获得的一个大小图
S
^
∈
R
W
R
×
H
R
×
2
\hat{S} \in{R}^{\frac{W}{R}×\frac{H}{R}×2}
S^∈RRW×RH×2。热图
Y
^
\hat{Y}
Y^中每个局部最大值(峰值,3X3大小)
p
^
∈
R
2
\hat{p} ∈R^2
p^∈R2对应于一个检测目标的中心,相应的其置信度
w
^
=
Y
^
p
^
\hat{w} =\hat{Y}_{\hat{p}}
w^=Y^p^,目标大小为
s
^
=
S
^
p
^
\hat{s}=\hat{S}_{\hat{p}}
s^=S^p^ 。
对于一张给定的训练目标集合
{
p
0
,
p
1
,
…
}
\{p_0,p_1,…\}
{p0,p1,…}的图片,其focal损失为:
L k = 1 N ∑ x y c { ( 1 − Y ^ x y c ) α log ( Y ^ x y c ) if Y x y c = 1 ( 1 − Y x y c ) β ( Y ^ x y c ) α log ( 1 − Y ^ x y c ) otherwise L_{k}=\frac{1}{N} \sum_{x y c}\left\{\begin{array}{ll}\left(1-\hat{Y}_{x y c}\right)^{\alpha} \log \left(\hat{Y}_{x y c}\right) & \text { if } Y_{x y c}=1 \\ \left(1-Y_{x y c}\right)^{\beta}\left(\hat{Y}_{x y c}\right)^{\alpha} \log \left(1-\hat{Y}_{x y c}\right) & \text { otherwise }\end{array}\right. Lk=N1xyc∑⎩⎨⎧(1−Y^xyc)αlog(Y^xyc)(1−Yxyc)β(Y^xyc)αlog(1−Y^xyc) if Yxyc=1 otherwise
其中
Y
∈
[
0
,
1
]
W
R
×
H
R
×
C
Y\in[0,1]^{\frac{W}{R}×\frac{H}{R}×C}
Y∈[0,1]RW×RH×C是每个注释目标在真实热图上的对应值。N是目标个数,α=2,β=4是超参。
对于C中每个类的中点p,使用渲染函数
Y
=
R
(
{
p
0
,
p
1
,
.
.
.
}
)
Y = R(\{p0,p1,...\})
Y=R({p0,p1,...})将每个中点渲染成
Y
(
:
,
:
,
c
)
Y_{(:,:,c)}
Y(:,:,c)中高斯分布的峰值点(中心值最大为1)。同时可以获得下面点返回边界框大小的置信度。在
q
∈
R
2
q\in{R^2}
q∈R2点的渲染可以定义为(如果同一类的两个高斯函数重叠,我们取元素的最大):
R
q
(
{
p
0
,
p
1
,
…
}
)
=
max
i
exp
(
−
(
p
i
−
q
)
2
2
σ
i
2
)
\mathcal{R}_{\mathbf{q}}\left(\left\{\mathbf{p}_{0}, \mathbf{p}_{1}, \ldots\right\}\right)=\max _{i} \exp \left(-\frac{\left(\mathbf{p}_{i}-\mathbf{q}\right)^{2}}{2 \sigma_{i}^{2}}\right)
Rq({p0,p1,…})=imaxexp(−2σi2(pi−q)2)
p
i
p_i
pi是热图上的坐标,q为低分辨率的等效坐标。z高斯核
σ
σ
σ是对象尺寸自适应的标准偏差(参考Law, H., Deng, J.: Cornernet: Detecting objects as paired keypoints. In: ECCV (2018))。
大小预测是基于中心点位置的监督回归,
s
i
s_i
si表示第
i
i
i个目标在位置
p
i
p_i
pi的边界框大小。大小预测损失为:
L
size
=
1
N
∑
i
=
1
N
∣
S
^
p
i
−
s
i
∣
L_{\text {size}}=\frac{1}{N} \sum_{i=1}^{N}\left|\hat{S}_{\mathbf{p}_{i}}-\mathbf{s}_{i}\right|
Lsize=N1i=1∑N∣∣∣S^pi−si∣∣∣
使用类似的L1损失:
L
o
f
f
=
1
N
∑
p
∣
O
^
p
~
−
(
p
R
−
p
~
)
∣
L_{off}=\frac{1}{N} \sum_{p}\left|\hat{O}_{\tilde{p}}-\left(\frac{p}{R}-\tilde{p}\right)\right|
Loff=N1p∑∣∣∣O^p~−(Rp−p~)∣∣∣CenterNet会进一步回归一个精确的中心局部位置。
CenterNet的整体损失是三个损失项的加权总和:中心位置的focal损失、大小的size损失和中心位置偏移损失回归。即
L
det
=
L
k
+
λ
size
L
size
+
λ
off
L
off
L_{\text {det}}=L_{k}+\lambda_{\text {size}} L_{\text {size}}+\lambda_{\text {off}} L_{\text {off}}
Ldet=Lk+λsizeLsize+λoffLoff原文设置
λ
s
i
z
e
=
0.1
\lambda_{size}=0.1
λsize=0.1,
λ
o
f
f
=
0.1
\lambda_{off}=0.1
λoff=0.1。其中关键点
Y
^
\hat{Y}
Y^,补偿
O
^
\hat{O}
O^,大小
S
^
\hat{S}
S^使用单独的网络预测,网络整体在每个点预测一个C+4维度的输出。所有输出共享一个全卷积网络。
从点回归到边界框: 在推理时,我们首先分别提取每个类别的热图中的峰值。检测所有大于或等于其8个相邻节点的响应,并保持前100个峰值。让
P
^
c
\hat{P}_c
P^c作为类c的n个检测中心的集合,
P
^
c
=
{
(
x
i
^
,
y
i
^
)
}
i
=
1
n
\hat{P}_c=\{(\hat{x_i},\hat{y_i})\}_{i=1}^n
P^c={(xi^,yi^)}i=1n.每个关键点位置由一个整数坐标给出
(
x
i
,
y
i
)
(x_i, y_i)
(xi,yi)。
使用关键点的值
Y
^
x
i
,
y
i
,
c
\hat{Y}_{x_i, y_i,c}
Y^xi,yi,c,并生成一个边界框位置:
(
x
^
i
+
δ
x
^
i
−
w
^
i
/
2
,
y
^
i
+
δ
y
^
i
−
h
^
i
/
2
x
^
i
+
δ
x
^
i
+
w
^
i
/
2
,
y
^
i
+
δ
y
^
i
+
h
^
i
/
2
)
\begin{array}{l} \left(\hat{x}_{i}+\delta \hat{x}_{i}-\hat{w}_{i} / 2, \quad \hat{y}_{i}+\delta \hat{y}_{i}-\hat{h}_{i} / 2\right. \\ \left.\hat{x}_{i}+\delta \hat{x}_{i}+\hat{w}_{i} / 2, \hat{y}_{i}+\delta \hat{y}_{i}+\hat{h}_{i} / 2\right) \end{array}
(x^i+δx^i−w^i/2,y^i+δy^i−h^i/2x^i+δx^i+w^i/2,y^i+δy^i+h^i/2)
其中
(
δ
x
^
i
,
δ
y
^
i
)
=
O
^
x
^
i
,
y
^
i
\left(\delta \hat{x}_{i}, \delta \hat{y}_{i}\right)=\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
\left( \hat{w}_{i}, \hat{h}_{i}\right)=\hat{S}_{\hat{x}_{i}, \hat{y}_{i}}
(w^i,h^i)=S^x^i,y^i是大小预测。所有的输出都是直接从关键点估计产生的,不需要基于IOU的非极大值抑制(NMS)或其他后处理。
三、实现细节
Hourglass:堆叠的沙漏网络在两个连续的漏斗网络后将输入采样降低4倍,每个沙漏模块都是一个对称的5层上下卷积网络,带有跳过连接。网络相当大,但通常能产生最佳的关键点估计性能。
ResNet: 我们首先将三个上采样层的通道分别改为256,128,64,以节省计算量。然后我们在每个与通道256,128,64的上行卷积前,分别添加一个3×3的可变形卷积层。上行卷积核被初始化为双线性插值。详细的架构图见附录。
DLA:利用DLA的全卷积上采样版本进行稠密预测,使用迭代的深度聚合来对称地提高特征图的分辨率。利用可变形卷积来增加从底层到输出端的跳跃连接。具体来说,将每个上采样层将原始卷积替换为3×3的可变形卷积。
Training: 我们训练的输入分辨率为512×512。这将产生一个输出分辨率为128×128的所有模型。使用随机翻转、随机缩放(0.6到1.3之间)、裁剪和颜色抖动作为数据增强,并使用Adam优化总体目标。
四、总结
提出了一个新的目标表示:点。CenterNet网络基于成功的关键点评估网络,找到目标的中心,回归他们的大小。算力小,简单,快速,准确率高。为实时目标识别和相关任务开辟了新的方向。