O K S p = Σ i exp { − d p i 2 / ( 2 S p 2 σ p i 2 ) } δ ( v p i = 1 , v p i ′ = 1 ) Σ i δ ( v p i = 1 ) O K S_p=\frac{\Sigma_i \exp \left\{-d_{p i}^2 /\left(2 S_p^2 \sigma_{p i}^2\right)\right\} \delta\left(v_{p i}=1, \quad v_{p i}^{\prime}=1\right)}{\Sigma_i \delta\left(v_{p i}=1\right)} OKSp=Σiδ(vpi=1)Σiexp{−dpi2/(2Sp2σpi2)}δ(vpi=1,vpi′=1)
预测点与真实点距离
如图d1就代表了欧式距离:
d
1
2
=
(
x
1
′
−
x
1
)
2
+
(
y
1
′
−
y
1
)
2
d_1^2=\left(x_1^{\prime}-x_1\right)^2+\left(y_1^{\prime}-y_1\right)^2
d12=(x1′−x1)2+(y1′−y1)2
显然距离与最后得分OKS成正比。
d
1
2
=
(
x
i
′
−
x
i
)
2
+
(
y
i
′
−
y
i
)
2
d_1^2=\left(x_i^{\prime}-x_i\right)^2+\left(y_i^{\prime}-y_i\right)^2
d12=(xi′−xi)2+(yi′−yi)2
d
i
d_i
di 表示人物编号为
i
i
i的关键点欧式距离。
欧式距离的平方可以看成两维的,为了与下面提到的面积保持维度一致性,所以这里采用欧式距离的平方。
人工标注位置偏移
显然人工标注位置偏移与面积有关所以
σ
=
E
(
d
/
s
)
σ = E ( d / s )
σ=E(d/s)
假设头顶编号为 1 , 左脚踝编号为 12 。
(
x
1
,
1
,
y
1
,
1
)
\left(x_{1,1}, y_{1,1}\right)
(x1,1,y1,1) 代表编号为 1 的关键点,第1个目标,真实坐标
(
x
1
,
1
A
,
y
1
,
1
A
)
\left(x_{1,1}^A, y_{1,1}^A\right)
(x1,1A,y1,1A) 代表编号为 1 的关键点,第 1 个目标,A预测坐标
(
x
12
,
2
,
y
12
,
2
)
\left(x_{12,2}, y_{12,2}\right)
(x12,2,y12,2) 代表编号为 12 的关键点,第2个目标,真实坐标
(
x
12
,
2
B
,
y
12
,
2
B
)
\left(x_{12,2}^B, y_{12,2}^B\right)
(x12,2B,y12,2B) 代表编号为 12 的关键点,第2个目标,B预测坐栈 两种统计方式:
第一种,考虑所有目标相同编号点的所有模型预测的离散程度
r
i
,
j
m
=
(
x
i
,
j
m
−
x
i
,
j
)
2
+
(
y
i
,
j
m
−
y
i
,
j
)
2
w
i
h
i
r_{i, j}^m=\sqrt{\frac{\left(x_{i, j}^m-x_{i, j}\right)^2+\left(y_{i, j}^m-y_{i, j}\right)^2}{w_i h_i}}
ri,jm=wihi(xi,jm−xi,j)2+(yi,jm−yi,j)2
r
i
,
j
m
r^m_{i,j}
ri,jm代表模型m在目标j上关键点i的预测偏移值。
可以先求平均:
r
1
‾
=
r
1
,
1
A
+
r
1
,
2
A
+
r
1
,
1
B
+
r
1
,
2
B
4
\overline{r_1}=\frac{r_{1,1}^A+r_{1,2}^A+r_{1,1}^B+r_{1,2}^B}{4}
r1=4r1,1A+r1,2A+r1,1B+r1,2B
r
12
‾
=
r
12
,
1
A
+
r
12
,
2
A
+
r
12
,
1
B
+
r
12
,
2
B
4
\overline{r_{12}}=\frac{r_{12,1}^A+r_{12,2}^A+r_{12,1}^B+r_{12,2}^B}{4}
r12=4r12,1A+r12,2A+r12,1B+r12,2B
在求均方差,
σ
1
=
E
(
d
1
S
)
=
(
r
1
,
1
A
−
r
1
‾
)
2
+
(
r
1
,
2
A
−
r
1
‾
)
2
+
(
r
1
,
1
B
−
r
1
‾
)
2
+
(
r
1
,
2
B
−
r
ˉ
1
)
2
4
\sigma_1=E\left(\frac{d_1}{S}\right)=\sqrt{\frac{\left(r_{1,1}^A-\overline{r_1}\right)^2+\left(r_{1,2}^A-\overline{r_1}\right)^2+\left(r_{1,1}^B-\overline{r_1}\right)^2+\left(r_{1,2}^B-\bar{r}_1\right)^2}{4}}
σ1=E(Sd1)=4(r1,1A−r1)2+(r1,2A−r1)2+(r1,1B−r1)2+(r1,2B−rˉ1)2
σ
12
=
E
(
d
12
S
)
=
(
r
12
,
1
A
−
r
12
‾
)
2
+
(
r
12
,
2
A
−
r
12
‾
)
2
+
(
r
12
,
1
B
−
r
12
‾
)
2
+
(
r
12
,
2
B
−
r
12
‾
)
2
4
\sigma_{12}=E\left(\frac{d_{12}}{S}\right)=\sqrt{\frac{\left(r_{12,1}^A-\overline{r_{12}}\right)^2+\left(r_{12,2}^A-\overline{r_{12}}\right)^2+\left(r_{12,1}^B-\overline{r_{12}}\right)^2+\left(r_{12,2}^B-\overline{r_{12}}\right)^2}{4}}
σ12=E(Sd12)=4(r12,1A−r12)2+(r12,2A−r12)2+(r12,1B−r12)2+(r12,2B−r12)2
第二种,各自模型考虑各自模型的预测所有目标的相同编号点的离散程度。
先求平均值,
r
1
A
‾
=
r
1
,
1
A
+
r
1
,
2
A
2
\overline{r_1^A}=\frac{r_{1,1}^A+r_{1,2}^A}{2}
r1A=2r1,1A+r1,2A
r
12
A
‾
=
r
12
,
1
A
+
r
12
,
2
A
2
\overline{r_{12}^A}=\frac{r_{12,1}^A+r_{12,2}^A}{2}
r12A=2r12,1A+r12,2A
在求均方差,
σ
1
A
=
E
(
d
1
S
)
=
(
r
1
,
1
A
−
r
1
A
‾
)
2
+
(
r
1
,
2
A
−
r
1
A
‾
)
2
2
\sigma_1^A=E\left(\frac{d_1}{S}\right)=\sqrt{\frac{\left(r_{1,1}^A-\overline{r_1^A}\right)^2+\left(r_{1,2}^A-\overline{r_1^A}\right)^2}{2}}
σ1A=E(Sd1)=2(r1,1A−r1A)2+(r1,2A−r1A)2
σ
12
A
=
E
(
d
12
S
)
=
(
r
12
,
1
A
−
r
12
A
‾
)
2
+
(
r
12
,
2
A
−
r
12
A
‾
)
2
2
\sigma_{12}^A=E\left(\frac{d_{12}}{S}\right)=\sqrt{\frac{\left(r_{12,1}^A-\overline{r_{12}^A}\right)^2+\left(r_{12,2}^A-\overline{r_{12}^A}\right)^2}{2}}
σ12A=E(Sd12)=2(r12,1A−r12A)2+(r12,2A−r12A)2
通常用第二种方式即可。
克罗内克函数
×
\times
× 人工标注数据的时候,每个关键点有三种属性
v
v
v :
v
=
0
v=0
v=0,表示这个关键点不可见,不在图中,或者无法推测在哪;
v
=
1
v=1
v=1,表示这个关键点可见;
v
=
2
v=2
v=2,表示这个关键点不可见,但是可以推测出在哪;
×
\times
× 预测出来的关键点也分两种属性
v
′
v^{\prime}
v′ :
v
′
=
0
v^{\prime}=0
v′=0, 表示这个关键点末预测出来;
v
′
=
1
v^{\prime}=1
v′=1,表示这个关键点预测出来了;
在计算OKS的时候,分子只计算人工标注出来可见,且预测出来的点。分母只计算人工标注出可见的点。 克罗内克函数,
δ
(
v
i
=
1
)
=
{
1
,
i
f
v
i
=
1
0
,
i
f
v
i
/
=
1
\delta\left(v_i=1\right)=\left\{\begin{array}{l} 1, i f v_i=1 \\ 0, i f v_i /=1 \end{array}\right.
δ(vi=1)={1,ifvi=10,ifvi/=1
也就是
v
i
=
1
v_i=1
vi=1 时,函数取值为
1
,
v
i
/
=
1
1 , v_i /=1
1,vi/=1 时,函数取值为 0 .
归一化
指数函数
exp
(
−
x
)
=
e
−
x
=
1
e
x
\exp (-x)=e^{-} x=\frac{1}{e^x}
exp(−x)=e−x=ex1 的作用是把
d
i
2
/
(
2
S
2
σ
i
2
)
d_i^2 /\left(2 S^2 \sigma_i^2\right)
di2/(2S2σi2)
的取值范围限定在0到1上,且使得距离,人体面积,人工标注偏移与OKS得分和上述分析的增减性保持一致。
平均准确率(AP)
平均准确率 (AP) 给定OKS阈值s,预测的结果在整个测试集上的平均准确率
(
A
P
@
s
)
(A P @ s)
(AP@s) 可由测试集中所有图片的OKS 指标计算得到:
A
P
@
s
=
Σ
p
δ
(
O
K
S
p
>
s
)
Σ
p
1
A P @ s=\frac{\Sigma_p \delta\left(O K S_p>s\right)}{\Sigma_p 1}
AP@s=Σp1Σpδ(OKSp>s)
平均准确率 (AP) 的均值(mAP)
最终指标mAP的计算方式如下所示:
m
A
P
=
mean
{
A
P
@
(
0.50
:
0.05
:
0.95
)
}
m A P=\operatorname{mean}\{A P @(0.50: 0.05: 0.95)\}
mAP=mean{AP@(0.50:0.05:0.95)}
从给定阈值0.5到0.95按照0.05步长递计算AP后,再取平均值。