一、Re-ID的评价标准类型
Re-ID常用的评价准则为:mAP, CMC。一般的方法为:已知:一个在训练集上训练好的模型,一个query( 用于查询的集 ),一个gallery( 在其中搜索结果,或test )求:mAP, CMC。
参考博文:
深度学习基础----mAP和CMC,Recall和Precision,ROC和AUC,NDCG_无意识积累中的博客-CSDN博客
二、mAP
- 针对:检索问题。是就query和gallery来讨论
- 直述:每一张查询图片在查找集(query和gallery特征的相似度排序)里的匹配程度。由匹配正确的图片和它们的排序位置决定。主要是特征信息提取准确性和分类结果准确性两方面。
- 一句话:在前面的正确的越多,分就越高
- mAP:对多次查询结果AP取平均值
AP(Average Precision平均准确度)和mAP(mean Average Precision平均准确度均值)
AP衡量的是模型在单个类别上判断结果的好坏(效果好坏),是每一次正确预测的准确率的平均数。mAP衡量的是模型在所有类别上的AP的平均值。
三、CMC
CMC curve:(Cumulative Matching Characteristic)
累计匹配特性曲线,一般用Rank-1, Rank-5, Rank-20 scores代替,反应检索准确度。CMC曲线(Cumulative Match Characteristic Curve)横轴代表Rank-n,纵轴代表Accuracy。如果选取Rank-n排序列表为[1,2,5,10]的话,则CMC曲线就是一个由四个点连接而成的曲线。其中每个点的Rank-n的值都为所有测试数据的Rank-n的平均值。
Rank-1识别率就是表示按照某种相似度匹配规则匹配后,第一次就能判断出正确的标签的测试数目与总的测试样本数目之比,Rank5识别率就是指有五次机会(选取匹配程度最大的五项)去判断是否有正确匹配。
如果一个样本按照匹配程度从大到小排列后,到排序结果的后面,才匹配到正确标签,把最应匹配的判别成最不应匹配的,这就说明分类器不太好。
举个例子来说,比如,我们训练了一个分类器,来识别五个物体,即1,2,3,4,5,他们属于3类即A,B,C。比如属于A类的物体1,经过分类器,得到属于A、B、C类的概率是80%,15%,5%,所以将物体1,判定为A类,物体1经过一次排序就被命中正确的类,所以我们引入Rank-1为100%,若物体2本来属于B类,被我们训练的分类器分类为A、B、C的概率分别为50%,40%,10%,所以被判定为A类,按照概率排序,如果有两次机会,才能命中,这就是Rank-2的含义。
综上五个物体,若果每个都能第一次命中,所以五个物体的Rank分别是 rank-1 100% rank-2 100% rank-3 100%
如果物体1,2为一次就命中,3,4为两次才能命中,5为三次命中,则为 rank-1 40% rank-2 80% rank-3 100%
这就是CMC曲线,而一次命中率越高,说明我们的分类器性能越好。
四、实例举例
假设一次的测试结果为: 数据1(标签为0)的测试结果(相似度前10的数据的标签):0,1,2,3,4,5,0,7,8,9 数据2(标签为1)的测试结果(相似度前10的数据的标签):5,0,1,3,4,5,0,7,8,9 数据3(标签为2)的测试结果(相似度前10的数据的标签):1,0,1,3,4,2,0,7,8,9
1.AP、mAP
数据1的十次预测一共有两次正确预测,第一次正确预测的准确率为1/1=100%,第二次正确预测的准确率为2/7=28.6%,则数据1的AP为((100+28.6)/2)%=64.3%。
同理,数据2的AP为1/3=33.3%,数据3的AP为1/6=16.7%。
则本次测试的mAP为((64.3+33.3+16.7)/3)%=38.1%。
2.CMC Curve
所以,按照上述例子,计算每个数据的Rank-n(1,2,5,10)为
- 数据1,[1,1,1,1]
- 数据2,[0,0,1,1]
- 数据3,[0,0,0,1]
则CMC曲线中Rank-1为1/3=0.333,Rank-2为1/3=0.333,Rank-5为2/3=0.667,Rank-10为1。
图像为: