理解COCO关键点检测评价指标

----括号里面的是我的理解,不一定正确,欢迎大家拍砖

COCO关节点检测需要同时检测目标并定位 Keypoint 的坐标,同时进行检测和关节点估计的任务相对来说较为新颖,我们受目标检测度量方法的启发,采用了了一种新奇的度量方法。简单地说,就是将这项任务看作是 Keypoint detection ,将预测算法看作是 Keypoint detector,在此之前,建议先会看一下有关 Object detection 的度量方法.

一 AP AR MAP MAR
理解COCO关键点检测评价指标_第1张图片AP(average precision) : tp/(tp+fp) 判为西瓜的有多少正确 
mAP(mean average precision) : 针对于所有类别的AP
AR(average recall) : tp/(tp+fn) 所有西瓜有多少被挑出来了
mAR : mean average recall: 针对于所有类别AR

二 OKS
对于每个对象,实际真值关键点具有形式[x1,y1,v1,…,xk,yk,vk],其中x,y是关键点位置,v是定义为的可见性标志。v = 0表示未标记,v = 1表示标记但不可见,v = 2表示标记且可见。每个地面真值对象也有一个比例尺s,我们将其定义为物体分段区域的平方根(Each ground truth object also has a scale s which we define as the square root of the object segment area)。有关实际真值格式的详细信息,请参阅下载页面。

对于每个对象,关键点检测器都必须输出关键点位置和对象级别的置信度(object-level confidence)。对象的预测关键点应该具有与实际真值相同的形式:[x1,y1,v1,…,xk,yk,vk]。然而,在评估过程中,检测器的预测vi并不是目前使用的,即关键点检测器不需要预测每个关键点的可见度或置信度(visibilities or confidences)。

我们将对象关键点相似性(OKS)定义为:
在这里插入图片描述

di是每个关键点相应的实际真值和检测到的关键点之间的欧几里德距离,vi是实际真值的可见性标记(检测器的预测vi不被使用)。为了计算OKS,我们通过一个非标准化的高斯将标准差传递给标准偏差s*κi,其中s是对象尺度(代码中s = gt[‘area’]),κi是一个控制衰减的按键控制常数。对于每个关键点,这产生范围在0和1之间的关键点相似性。这些相似性在所有标记的关键点(vi> 0的关键点)上被平均。 未标记的预测关键点(vi = 0)不影响OKS。完美的预测将有OKS = 1,并且所有关键点的偏离超过几个标准差sκi的预测都会有OKS〜0。OKS类似于IoU。考虑到OKS,我们可以计算AP和AR,就像IoU允许我们计算盒/段(box/segment)检测的这些度量一样。

三 调整OKS

我们调整κi使得OKS是一个感知上有意义且易于解释的相似性度量。首先,在val中使用5000个冗余注释的图像(这5000张图片是官方给的,应该是每张图经过多人标注,代码中也可以指定自己的图片),对于每个关键点类型i(coco中一共17个关键点所以i=1,2,3…17),我们测量关于对象尺度s的每个关键点标准偏差σi, 即计算σi2=E[di2/s2] (我理解这里指的是 某个关键点的标注坐标与该点所有人标注平均坐标之差,再把这个差求和就得到该类型关键点的di)。σi对于不同的关键点有很大的不同:人的关键点(肩膀,膝盖,臀部等shoulders, knees, hips)往往比人的头部(眼睛,鼻子,耳朵eyes, nose, ears)对应的σ大得多。

为了获得感知上有意义和可解释的相似性度量,我们设置κi=2σi。通过设定κi,一个ki,两个ki和三个ki处,关键点相似度exp(-di2/2s2κi2)取值为e-1/8=0.88, e-4/8=0.61 and e-9/8=0.32。正如所料,人类注释的关键点是正态分布的(忽略偶尔的异常值)。因此,回顾68–95–99.7规则,设定κi=2σi意味着人类注释关键点的68%,95%和99.7%分别具有0.88,0.61或0.32或更高的关键点相似性(在实践中百分比是75%,95%和98.7%)。(我理解这里面的2ki是实验出来的,因为真正的σi是无法计算出来的,这里使用5000个样本所得的只是一个估计值,因此作者通过增加比例参数调整发现当参数为2时,实验所得的结果符合68–95–99.7规则)

你可能感兴趣的:(深度学习)