首页 > 代码库 > 人脸识别---闭集测试评价指标CMC曲线(rank)
人脸识别---闭集测试评价指标CMC曲线(rank)
摘要:本文主要讲解如何得到CMC曲线。
CMC曲线就是算一种top-k的击中概率,主要用闭集测试。比如有n个注册样本,现在想测试性能,测试样本依次和n个注册样本算取一个距离,然后排序,看类类样本位于前top-k,最后统计得到CMC曲线。计算CMC曲线的函数代码如下:
function accuracy = calrank(distance,rankvalue,info)
for k = 1:length(rankvalue)
count = 0;
for i = 1:size(distance,1)
rankinfo = distance(:,i);
%[score,position] = sort(rankinfo,‘ascend‘);
[score,position] = sort(rankinfo,info);
for j = 1:rankvalue(k);
if (position(j)==i)
count = count + 1;
break;
end
end
accuracy(k) = count/size(distance,1);
end
end
distance代表全比对的分数,那么对角线是类类样本的比对分数。info为排列顺序,升序为’ascend’,降序为’descend’。 rankvalue是我们需要选取的top-k的值,可以赋值为rankvalue=http://www.mamicode.com/[1,2,3,4,5,…,k];
下面由calrank函数得到的图例:
人脸识别---闭集测试评价指标CMC曲线(rank)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。