目录
1. Motivation2. KL loss2.1 符号定义2.2 高斯分布2.3 Bounding Box Regression with KL Loss2.4 Variance Voting
3. 实验
论文:Bounding box regression with uncertainty for accurate object detection 来源:CVPR 2019
1. Motivation
目标检测依赖于边界框回归来提高定位精度,而且通常只是直接预测出边界框偏移量,并未考虑边界框的不确定性。
边界框的不确定来通常来源于:(1)数据集标注的不确定性,如图a和图c所示。(2)遮挡所引入的不确定性:图b由于遮挡的存在,使得边界框预测的不确定性有所增加。(3)数据自身的不确定性,如图d。
本文考虑了边界框回归的不确定性,即,首先假设将边界框回归满足高斯分布,然后通过KL loss来学习高斯分布的标准差,并以标准差来衡量边界框回归的不确定性。
2. KL loss
2.1 符号定义
a
=
(
x
1
a
,
y
1
a
,
x
2
a
,
y
2
a
)
a=(x_{1a},y_{1a},x_{2a},y_{2a})
a=(x1a,y1a,x2a,y2a):anchor box坐标
w
a
=
x
2
a
−
x
1
a
w_a=x_{2a}-x_{1a}
wa=x2a−x1a:anchor box的宽
h
a
=
y
2
a
−
y
1
a
h_a=y_{2a}-y_{1a}
ha=y2a−y1a:anchor box的高
b
⋆
=
(
x
1
⋆
,
y
1
⋆
,
x
2
⋆
,
y
2
⋆
)
b^\star=(x^\star_1,y^\star_1,x^\star_2,y^\star_2)
b⋆=(x1⋆,y1⋆,x2⋆,y2⋆):GT框坐标
b
=
(
x
1
,
y
1
,
x
2
,
y
2
)
b=(x_1,y_1,x_2,y_2)
b=(x1,y1,x2,y2):预测框坐标
t
⋆
=
(
t
x
1
⋆
,
t
y
1
⋆
,
t
x
2
⋆
,
t
y
2
⋆
)
t^\star=(t^\star_{x1},t^\star_{y1},t^\star_{x2},t^\star_{y2})
t⋆=(tx1⋆,ty1⋆,tx2⋆,ty2⋆):训练标签
t
x
1
⋆
=
(
x
1
⋆
−
x
1
a
w
a
)
,
t
y
1
⋆
=
(
y
1
⋆
−
y
1
a
h
a
)
,
t
x
2
⋆
=
(
x
2
⋆
−
x
2
a
w
a
)
,
t
y
2
⋆
=
(
y
2
⋆
−
y
2
a
h
a
)
t^\star_{x1}=(\frac{x^\star_1-x_{1a}}{w_a}),t^\star_{y1}=(\frac{y^\star_1-y_{1a}}{h_a}),t^\star_{x2}=(\frac{x^\star_2-x_{2a}}{w_a}),t^\star_{y2}=(\frac{y^\star_2-y_{2a}}{h_a})
tx1⋆=(wax1⋆−x1a),ty1⋆=(hay1⋆−y1a),tx2⋆=(wax2⋆−x2a),ty2⋆=(hay2⋆−y2a)
t
=
(
t
x
1
,
t
y
1
,
t
x
2
,
t
y
2
)
t=(t_{x1},t_{y1},t_{x2},t_{y2})
t=(tx1,ty1,tx2,ty2):网络输出值
t
x
1
=
(
x
1
−
x
1
a
w
a
)
,
t
y
1
=
(
y
1
−
y
1
a
h
a
)
,
t
x
2
=
(
x
2
−
x
2
a
w
a
)
,
t
y
2
=
(
y
2
−
y
2
a
h
a
)
t_{x1}=(\frac{x_1-x_{1a}}{w_a}),t_{y1}=(\frac{y_1-y_{1a}}{h_a}),t_{x2}=(\frac{x_2-x_{2a}}{w_a}),t_{y2}=(\frac{y_2-y_{2a}}{h_a})
tx1=(wax1−x1a),ty1=(hay1−y1a),tx2=(wax2−x2a),ty2=(hay2−y2a)
2.2 高斯分布
为方便表述,记
x
∈
{
x
1
,
y
1
,
x
2
,
y
2
}
x\in \{x_1,y_1,x_2,y_2\}
x∈{x1,y1,x2,y2},假设边界框的每个坐标均独立服从高斯分布,则 其中,
x
e
x_e
xe是高斯分布的均值,表示对边界框位置的估计;
σ
\sigma
σ是高斯分布的标准差,其表示对边界框估计的不确定性,
σ
\sigma
σ越大,表示边界框估计的不确定性越大。
由于只需要边界框的不确定性,所以对网络添加一个分支,该分支输出4维的标准差,分别表示对4个边界框坐标进行估计的不确定性。
GT框也可以表示为服从高斯分布,此时
σ
=
0
\sigma=0
σ=0,所以GT框的坐标服从Dirac delta distribution 其中,
x
g
x_g
xg表示GT框的真实坐标。
2.3 Bounding Box Regression with KL Loss
边界框回归的目标是令边界框的理论分布
P
Θ
(
x
)
P_{\Theta}(x)
PΘ(x)去拟合真实分布
P
D
(
x
)
P_D(x)
PD(x),因此可由KL散度来度量这两个分布的差异程度,即 因此,可使用KL loss作为边界框回归损失: 忽略常数项,得到 可以看出,当
σ
=
1
\sigma=1
σ=1,KL loss退化成L2 loss 分别对
x
e
x_e
xe和
σ
\sigma
σ求导得, 由于
σ
\sigma
σ在分母,在训练初期
σ
\sigma
σ很小,所以可能会出现梯度爆炸,所以不能令网络直接输出
s
i
g
m
a
sigma
sigma,重新调整网络输出为
α
=
l
o
g
(
σ
2
)
\alpha=log(\sigma^2)
α=log(σ2),此时损失函数为 在测试阶段,将网络输出的
α
\alpha
α重新转换成
σ
\sigma
σ。 另外,为减小该损失函数对于异常点的敏感性,借助Smooth L1 loss,当
∣
x
g
−
x
e
∣
>
1
|x_g-x_e|>1
∣xg−xe∣>1时,令
x
g
x_g
xg是真实标签,
α
\alpha
α由新添加的网络分支得到,那么
x
e
x_e
xe从哪来呢?实际上
x
e
x_e
xe就是原来的回归分支所输出的坐标偏移量的预测值经过转化后得到的预测坐标。从概率论的角度讲,一个随机事件得到某个结果,那么该结果对应的概率是最大的。而高斯分布中,均值出对应的概率是最大的,所以把输出坐标作为高斯分布的均值是合理的,这也是只需要新添加一个标准差分支的原因。
2.4 Variance Voting
目前已经得到边界框定位的不确定性,如何使用这种不确定性来调整边界框,成为接下来所要研究的重点问题。边界框的不确定性处理影响自身的定位,由于NMS的存在,还会影响附近其它边界框的定位,所以在进行NMS时,应考虑这种不确定性带来的影响。假设网络共输出:
N
N
N个边界框
B
=
{
b
1
,
.
.
.
,
b
N
}
∈
R
N
×
4
B=\{b_1,...,b_N\}\in R^{N\times4}
B={b1,...,bN}∈RN×4,
N
N
N个边界框的分数
S
=
{
s
1
,
.
.
.
,
s
N
}
∈
R
N
S=\{s_1,...,s_N\}\in R^{N}
S={s1,...,sN}∈RN,
N
N
N个边界框的方差
C
=
{
σ
1
2
,
.
.
.
,
σ
N
2
}
∈
R
N
×
4
C=\{\sigma_1^2,...,\sigma_N^2\}\in R^{N\times4}
C={σ12,...,σN2}∈RN×4。假设在soft-NMS的某一轮迭代中分数最高的边界框为
b
=
{
x
1
,
y
1
,
x
2
,
y
2
,
s
,
σ
x
1
,
σ
y
1
,
σ
x
2
,
σ
y
2
}
b=\{x_1,y_1,x_2,y_2,s,\sigma_{x_1},\sigma_{y_1},\sigma_{x_2},\sigma_{y_2}\}
b={x1,y1,x2,y2,s,σx1,σy1,σx2,σy2}则该边界框的某个坐标
x
∈
{
x
1
,
y
1
,
x
2
,
y
2
}
x\in \{x_1,y_1,x_2,y_2\}
x∈{x1,y1,x2,y2}会根据以下3个方面来重新调整: (1)自身的不确定性 (2)附近其它边界框与该边界框的IoU (3)附近其它边界框的不确定性。 调整后的新坐标为:
x
=
∑
i
p
i
x
i
∑
i
p
i
x=\frac{\sum_ip_ix_i}{\sum_ip_i}
x=∑ipi∑ipixi
p
i
=
w
i
σ
x
,
i
2
p_i=\frac{w_i}{\sigma_{x,i}^2}
pi=σx,i2wi
w
i
=
e
x
p
(
−
(
1
−
I
o
U
(
b
i
,
b
)
)
2
σ
t
)
w_i=exp(-\frac{(1-IoU(b_i,b))^2}{\sigma_t})
wi=exp(−σt(1−IoU(bi,b))2)
s
u
b
j
e
c
t
t
o
I
o
U
(
b
i
,
b
)
>
0
subject\ to\ IoU(b_i,b)>0
subject to IoU(bi,b)>0其中,
σ
t
\sigma_t
σt是可调超参数。由上述公式可知,“附近其它边界框”指与目标边界框
b
b
b有重叠区域(IoU>0)的边界框,且公式中的
b
i
b_i
bi包含了
b
b
b。
p
i
p_i
pi表示各个边界框(目标边界框+附近其它边界框)对目标边界框的影响程度。根据这些边界框与目标边界框的IoU大小计算
w
i
w_i
wi,
w
i
w_i
wi就是soft-NMS中提出的高斯re-scoring function,重叠面积越大,
w
i
w_i
wi越大,附近边界框对目标边界框的影响也越大。当
b
i
=
b
b_i=b
bi=b时,
I
o
U
=
1
IoU=1
IoU=1,
w
i
=
1
w_i=1
wi=1,此时
σ
x
,
i
2
\sigma_{x,i}^2
σx,i2表示自身的不确定性,不确定性越大,则新坐标受原坐标的影响越小,而受其它边界框的影响就越大。其它边界框的
σ
x
,
i
2
\sigma_{x,i}^2
σx,i2越小,对目标边界框的影响就越大。如果预测得不准确,此时应该让不确定性更大,loss会增加。
3. 实验