PCK
正确估计出关键点的百分比 (Percentage of Correct Keypoints),现在已基本不用。
P C K i k = ∑ i δ ( d i d ≤ T k ) ∑ i 1 PCK_i^k=\frac{\sum_i\delta(\frac{d_i}{d}\leq T_k)}{\sum_i1} PCKik=∑i1∑iδ(ddi≤Tk)
检测出的关键点与其对应的groundtruth间的归一化距离小于设定阈值 T k T_k Tk 的比例。 T k T_k Tk 表示人工设定的阈值, T k ∈ [ 0 : 0.01 : 0.1 ] T_k\in[0:0.01:0.1] Tk∈[0:0.01:0.1]
其中 i i i 表示关节点的编号
d i d_i di 表示第 i i i 个关节点的预测值和groundtruth的欧氏距离。
d d d 是一个人体的尺度因子,这个因子不同公开数据集使用的计算方法不同。
$\delta(*) $表示如果条件成立,那么 δ ( ∗ ) = 1 \delta(*)=1 δ(∗)=1
OKS
oks(object keypoint similarity)受目标检测的IOU启发,其用来衡量预测关键点与 groundtruth 的相似度。
O
K
S
p
=
∑
i
e
x
p
{
−
d
p
i
2
/
2
S
p
2
σ
i
2
}
δ
(
v
p
i
>
0
)
∑
i
δ
(
v
p
i
>
0
)
OKS_p=\frac{\sum_iexp\{-d_{pi}^2/2S_p^2\sigma_i^2\}\delta(v_{pi}>0)}{\sum_i\delta(v_{pi}>0)}
OKSp=∑iδ(vpi>0)∑iexp{−dpi2/2Sp2σi2}δ(vpi>0)
其中
p
p
p 表示在ground truth中的某个人,
p
i
p^i
pi 表示表示这个人的关键点;
d p i d_{p^i} dpi 表示当前检测的第p个人的第 i i i 个关键点与ground truth 的欧式距离 d p i = ( x i ′ − x p i ) ( y i ′ − y p i ) d_{p^i}=\sqrt{(x'_i-x_{p^i})(y'_i-y_{p^i})} dpi=(xi′−xpi)(yi′−ypi) ,其中$ (x’_i,y’_i)$ 为检测结果, ( x p i , y p i ) (x_{p^i},y_{p^i}) (xpi,ypi) 是ground truth,
v p i = 1 v_{p^i}=1 vpi=1 表示这个关键点的可见性为1,即关键点无遮挡并且已标注。 v p i = 2 v_{p^i}=2 vpi=2 表示关键点有遮挡但已标注。
S p S_p Sp 表示groundtruth p的尺度因子,其值为行人检测框面积的平方根: S p = w h S_{p}=\sqrt{wh} Sp=wh , w , h w,h w,h 为检测框的宽和高。
σ i \sigma_i σi 第 i i i 个关键点的归一化因子,和关键点标注的难易有关,是通过对所有样本的人工标注和真实值的统计标准差, σ \sigma σ 越大表示此类型的关键点越难标注。
对coco数据集中的5000个样本统计出17类关键点的归一化因子, σ \sigma σ 的取值为:{鼻子:0.026,眼睛:0.025,耳朵:0.035,肩膀:0.079,手肘:0.072,手腕:0.062,臀部:0.107,膝盖:0.087,脚踝:0.089},因此此值可作为常数,如果使用的关键点类型不在此当中,则另外计算。
AP(Average Precision)平均准确率
对于单人姿态估计的AP,目标图片中只有一个人体,AP计算方式为:
A
P
=
∑
p
δ
(
o
k
s
p
>
T
)
∑
p
1
AP=\frac{\sum_p\delta(oks_p>T)}{\sum_p1}
AP=∑p1∑pδ(oksp>T)
表示所有图片的oks大于阈值
T
T
T 的百分比(T是人为给定的)。
对于多人姿态估计而言,由于一张图像中有 M 个目标,假设总共预测出N个人体,那么groundtruth和预测值之间能构成一个
M
×
N
M\times N
M×N 的矩阵,然后将每一行的最大值作为该目标的oks,则:
A
P
=
∑
m
∑
p
δ
(
o
k
s
p
>
T
)
∑
m
∑
p
1
AP=\frac{\sum_m\sum_p\delta(oks_p>T)}{\sum_m\sum_p1}
AP=∑m∑p1∑m∑pδ(oksp>T)
如果采用的检测方法是自底向上,先把所有的关键点找出来然后再组成人。假设一张图片中有M个人,预测出N个人,由于不知道预测出的N个人与groundtruth中的M个人的一一对应关系,因此需要计算groundtruth中每一个人与预测的N个人的oks,那么可以获得一个大小为
M
∗
×
∗
N
M*×*N
M∗×∗N 的矩阵,矩阵的每一行为groundtruth中的一个人与预测结果的N个人的oks,然后找出每一行中oks最大的值作为当前GT的oks。最后每一个GT行人都有一个标量oks,然后人为的给定一个阈值 T,然后可以通过所有图片中的所有行人计算 AP:
MPJPE
对于3D的姿态估计而言,常用的评价指标是MPJPE(Mean Per Joint Postion Error),从字面意思也可以看出其就是预测关键点和groundtruth之间的平均欧式距离,不过一般关键点的表示形式为root-relative,即以其中一个关键点为根节点的坐标。然后通常是在相机坐标系下进行计算。
P-MPJPE
P-MPJPE(Procrustes analysis MPJPE)是基于Procrustes分析的MPJPE,先对输出进行刚性变换向groundtruth对齐后再计算MPJPE。