行人重识别(Person Re-ID)【一】:常用评测指标

1、gallery和probe

gallery是候选行人库,probe是待查询输入,也叫查询图像(query)

2、single shot 和muti shot

前者是指gallery中每个人的图像为一张(N=1),而后者是指gallery中每个人的图像为N>1张图像,同样的Rank-1下,一般N越大,得到的识别率越高。

 

3、rank-n:

搜索结果中最靠前(置信度最高)的n张图有正确结果的概率

例如: lable为m1,在100个样本中搜索。

如果识别结果是m1、m2、m3、m4、m5……,则此时rank-1的正确率为100%;rank-2的正确率也为100%;rank-5的正确率也为100%;

如果识别结果是m2、m1、m3、m4、m5……,则此时rank-1的正确率为0%;rank-2的正确率为100%;rank-5的正确率也为100%;

如果识别结果是m2、m3、m4、m5、m1……,则此时rank-1的正确率为0%;rank-2的正确率为0%;rank-5的正确率为100%

4、Precision(准确率) 和 Recall(召回率):

Precision就是检测出来的样本有多少是准确的,Recall就是所有准确的条目有多少被检索出来了

准确率Precision = 提取出的正确信息条数 / 提取出的信息条数
召回率Recall = 提取出的正确信息条数 / 样本中的信息条数

准确率和召回率都是针对同一类别来说的,并且只有当检索到当前类别时才进行计算,比如在person re-id中,一个人的label为m1,在测试集中包含3张此人的图像,检索出来的图像按照得分从高到低顺序为m1、m2、m1、m3、m4、m1….,此时

  1. 第一次检索到m1,提取出的正确信息条数=1,提取出的信息条数=1,样本中的信息条数=3,正确率=1/1=100%,召回率=1/3=33.33%;
  2. 第二次检索到m1,提取出的正确信息条数=2,提取出的信息条数=3,样本中的信息条数=3,正确率=2/3=66.66%,召回率=2/3=66.66%;
  3. 第三次检索到m1,提取出的正确信息条数=3,提取出的信息条数=6,样本中的信息条数=3,正确率=3/6=50%,召回率=3/3=100%;

5、AP和mAP

AP衡量的是模型在单个类别上判断结果的好坏(效果好坏),mAP衡量的是模型在所有类别上的好坏

看回第4点的那个例子:

     当需要检索的人数为1时,AP=(100%+66.66%+50%)/3=72.22%
     而当需要检索的不止1个人时,此时正确率则取所有人的平均mAP

6、F-Score

Precision和Recall是对立关系的,一般情况下,Precision高,Recall就低;Recall高,Precision就低。

所以在实际中常常需要根据具体情况做出取舍,例如一般的搜索情况,在保证召回率的条件下,尽量提升精确率

很多时候我们需要综合权衡这2个指标,这就引出了一个新的指标F-score。这是综合考虑Precision和Recall的调和值。

这里写图片描述

当β=1时,称为F1-score,这时,精确率和召回率都很重要,权重相同。当有些情况下,我们认为精确率更重要些,那就调整β的值小于1,如果我们认为召回率更重要些,那就调整β的值大于1。

比如上面第4点的例子中,在第三次检索到m1时的准确率为50%,召回率为100%,则F1-score=(2*0.5*1)/(0.5+1)=66.66%,而F0.5-score=(1.25*0.5*1)/(0.25*0.5+1)=55.56%

7、ROC:

ROC曲线全称是Receiver Operating Characteristic (ROC) curve(受试者工作特征曲线),是检测、分类、识别任务中很常用的一项评价指标。曲线上每个点反映着对同一信号刺激的感受性

具体到识别任务中就是,ROC曲线上的每一点反映的是不同的阈值对应的FP(false positive)和TP(true positive)之间的关系。

通常情况下,ROC曲线越靠近(0,1)坐标表示性能越好

我们先回顾下TP、TN、FP、FN的概念:

        TP : True Positive 预测为1,实际也为1

        TN:True Nagetive 预测为0,实际也为0

        FP:False Positive 预测为1,实际却为0

        FN:False Nagetive 预测为0,实际却为1

TPR=TP/(TP+FN)=Recall

FPR=FP/(FP+TN),FPR即为实际为猫中,预测为狗占比

以FPR为x轴,TPR为y轴画图,就得到了ROC曲线,如下图所示:


 

8、CMC(很重要):

CMC曲线全称是Cumulative Match Characteristic (CMC) curve,也就是累积匹配曲线,同ROC曲线一样,是模式识别系统,如人脸,指纹,虹膜等的重要评价指标,尤其是在生物特征识别系统中,一般同ROC曲线一起给出,能够综合评价出算法的好坏

CMC曲线是 算top-k的击中概率,主要用来评估闭集中rank的正确率

CMC将再识别问题看成是一种排序问题,CMC 曲线的具体含义是指:在候选行人库(gallery)中检索待查询(probe)的行人,前 r 个检索结果中包含正确匹配结果的比率。其中,第 1 匹配率 r=1 指标rank-1反映了最匹配候选目标刚好为待查询图片目标的概率,即该指标为真正的识别能力,因此很重要。但是当 r 值很小但大于1时,由于可以通过人眼进行辅助识别查找目标,因此也很有现实意义,如第 5 匹配率 r=5 指标反映前 5 个匹配候选目标中存在待查询图片目标的概率,如下图:横坐标表示排名等级r,纵坐标表示再识别的准确率。

è¿éåå¾çæè¿°

比如有n个样本,现在想测试算法的性能,那么拿1个测试样本依次和这n个样本分别算取一个距离,然后排序,看该测试样本的标签位于前top-k,最后统计得到CMC曲线。

注:top-k的意思就是第k次命中

举例:

假如在人脸识别中,底库中有100个人,现在来了1个待识别的人脸(假如label为m1),与底库中的人脸比对后将底库中的人脸按照得分从高到低进行排序,我们发现:

  1. 如果识别结果是m1、m2、m3、m4、m5……,则此时rank-1的正确率为100%;rank-2的正确率也为100%;rank-5的正确率也为100%;
  2. 如果识别结果是m2、m1、m3、m4、m5……,则此时rank-1的正确率为0%;rank-2的正确率为100%;rank-5的正确率也为100%;
  3. 如果识别结果是m2、m3、m4、m5、m1……,则此时rank-1的正确率为0%;rank-2的正确率为0%;rank-5的正确率为100%;

同理,当待识别的人脸集合有很多时,则采取取平均值的做法。例如待识别人脸有3个(假如label为m1,m2,m3),同样对每一个人脸都有一个从高到低的得分,

  1. 比如人脸1结果为m1、m2、m3、m4、m5……,人脸2结果为m2、m1、m3、m4、m5……,人脸3结果m3、m1、m2、m4、m5……,则此时rank-1的正确率为(1+1+1)/3=100%;rank-2的正确率也为(1+1+1)/3=100%;rank-5的正确率也为(1+1+1)/3=100%;
  2. 比如人脸1结果为m4、m2、m3、m5、m6……,人脸2结果为m1、m2、m3、m4、m5……,人脸3结果m3、m1、m2、m4、m5……,则此时rank-1的正确率为(0+0+1)/3=33.33%;rank-2的正确率为(0+1+1)/3=66.66%;rank-5的正确率也为(0+1+1)/3=66.66%;

应该是比较好理解的,行人重识别中的CMC也是跟人脸识别差不多。

规律总结:

①rank i 的值是趋于1的。也就是说,给的机会越多(即测试次数越多),那么识别的准确度越好

②如果每次测试对应的类都是识别率最高的话,那么就是一次命中,即Rank i=100%(i=1,2,3,…);

③如果一个样本按照匹配程度从大到小排列后,到最后一项才匹配到正确标签(甚至最后一项都没匹配对),这就说明分类器不太好,把最应匹配的判别成最不应匹配的。

猜你喜欢

转载自blog.csdn.net/qq_38451119/article/details/83000061