人脸识别中的rank-n 代表的意思
原创这个昵称唯一 最后发布于2017-09-02 11:05:13 阅读数 2247  收藏
展开
Rank-1
看一些论文总是在结果中看到rank-1,等等,但是就不知道什么意思,今天终于搞明白了,备注一下。

意思
rank 1, 就是第一次命中 
rank k,就是在第k次以内命中 
人脸识别中,就代表,与目标人脸,最相似的k个人脸中,成功命中(找到正确人脸)的概率(和)。 
RANK曲线,一般又被称呼为CMC曲线。

扩展阅读:人脸识别中常用的指标:

1、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%

当待识别的人脸集合有很多时,则采取取平均值的做法。

2、Precision & Recall

一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。

Precision:准确率 output为1中ground truth也为1的 占ground truth为1的概率

Recall:召回率 output为1中ground truth也为1的 占output为1的概率

正确率 = 提取出的正确信息条数 / 提取出的信息条数

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

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

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

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

3、F-score

recall和precision的调和平均数  2 * P * R / (P + R)

从上面准确率和召回率之间的关系可以看出,一般情况下,Precision高,Recall就低,Recall高,Precision就低。所以在实际中常常需要根据具体情况做出取舍,例如一般的搜索情况,在保证召回率的条件下,尽量提升精确率。

很多时候我们需要综合权衡这2个指标,这就引出了一个新的指标F-score。这是综合考虑Precision和Recall的调和值。
当β=1时,称为F1-score,这时,精确率和召回率都很重要,权重相同。当有些情况下,我们认为精确率更重要些,那就调整β的值小于1,如果我们认为召回率更重要些,那就调整β的值大于1。

比如在上面的例子中,在第三次检索到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%

4、mAP

PR曲线下的面积(PR曲线: 所有样本的precision和recall绘制在图里)

例如:query-id = 1,query-cam = 1,gallery共有5张图,按照下图方式计算出recall和precision,以recall为横坐标,precision为纵坐标,绘制PR曲线,曲线下方面积即为AP,当需要检索的不止一个人时,此时取所有人的平均mAP。。

曲线下方面积计算方法有多种,例如 ap = ap + (recall - old_recall)*((old_precision+precision)/2);

AP衡量的是学出来的模型在单个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏

5、CMC

对于single gallery shot来说,每一次query,对samples排序,找到匹配上id的gallery后,排除掉同一个camera下同一个id的sample。

CMC曲线是算一种top-k的击中概率,主要用来评估闭集中rank的正确率。举个很简单的例子,假如在人脸识别中,底库中有100个人,现在来了1个待识别的人脸(假如label为m1),与底库中的人脸比对后将底库中的人脸按照得分从高到低进行排序,我们发现:

如果识别结果是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%;
同理,当待识别的人脸集合有很多时,则采取取平均值的做法。例如待识别人脸有3个(假如label为m1,m2,m3),同样对每一个人脸都有一个从高到低的得分,

比如人脸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%;
比如人脸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%;

6、ROC

ROC曲线是检测、分类、识别任务中很常用的一项评价指标。曲线上每个点反映着对同一信号刺激的感受性。具体到识别任务中就是,ROC曲线上的每一点反映的是不同的阈值对应的FP(false positive)和TP(true positive)之间的关系。

曲线上的每一点反映的是不同的阈值对应的FP(false positive)和TP(true positive)之间的关系。通常情况下,ROC曲线越靠近(0,1)坐标表示性能越好。

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曲线。

人脸识别中的rank-n相关推荐

  1. yii2 模型中set_Day184:人脸识别中open-set与close-set

    人脸识别 可以简单的分为如下两类: face verification:人脸验证时将人脸分类到某个ID,比如给定两张人脸,判断是否是同一个人(ID) face identification:给定一张人 ...

  2. 【CVPR 2018】腾讯AI lab提出深度人脸识别中的大间隔余弦损失

    论文导读] 深度卷积神经网络(DCNN)在人脸识别中已经取得了巨大的进展,通常的人脸识别的核心任务都包括人脸验证与人脸识别,涉及到特征判别.很多模型都是使用Softmax损失函数去监督模型的训练,但是 ...

  3. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略

    CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...

  4. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述

    原标题:计算机视觉方向简介 | 人脸识别中的活体检测算法综述 本文转载自"SIGAI人工智能学习与实践平台"(ID:SIGAICN) 导言 1. 什么是活体检测? 判断捕捉到的人脸 ...

  5. 人脸识别中Softmax-based Loss的演化史

    点击我爱计算机视觉标星,更快获取CVML新技术 近期,人脸识别研究领域的主要进展之一集中在了 Softmax Loss 的改进之上:在本文中,旷视研究院(上海)(MEGVII Research Sha ...

  6. 人脸识别中的阈值应该如何设置?

    人脸识别中的阈值应该如何设置? 标签: 人脸识别 分类: 人脸识别 人脸识别中的阈值应该如何设置? 随着人脸识别技术使用范围越来越广,大部分使用者可能对人脸识别中的某一方面不是很懂,咨询的问题也五花八 ...

  7. 人脸识别中常用的几种分类器

    人脸识别中常用的几种分类器 在人脸识别中有几种常用的分类器,一是最邻近分类器:二是线性分类器 (1)最邻近分类器 最近邻分类器是模式识别领域中最常用的分类方法之一,其直观简单,在通常的应用环境中非常有 ...

  8. 人脸识别中的全脸/半脸/中脸

    人脸识别中的一个常用概念是全脸/中脸/半脸 下面讲一下区别 目前DeepFaceLab拥有三种不同类型的脸部模式,H64和H128是半脸(half face)模型,DF LIAEF128 Quick9 ...

  9. 人脸扫描建模_人脸识别中的特征建模方法与流程

    本发明涉及生物特征识别,特别是涉及人脸识别中的特征建模方法. 背景技术: 人脸识别技术一般包括四个组成部分,分别为人脸图像采集.人脸图像预处理.人脸图像特征提取以及匹配与识别,具体来说: 人脸图像采集 ...

最新文章

  1. 思念水饺吃成泡沫水饺(图)思念质量门
  2. .configure
  3. 我的编程学习日志(1)--进制转换
  4. 牛顿法与拟牛顿法,SDM方法的一些注记
  5. 前端学习(2125):watch实现
  6. 解码错误。‘gb2312‘ codec can‘t decode byte 0xf3 in position 307307: illegal multibyte sequence
  7. Emmet 也有快速生成文件头的功能
  8. springMVC的文件上传于下载
  9. 一点一点学写Makefile-1
  10. oracle 聚合函数 LISTAGG ,将多行结果合并成一行
  11. NetTiers学习笔记12---deepload的递归
  12. 代码雨代码源复制_黑色帝国中代码雨如何实现?用python就可以了
  13. BT601和BT709的区别最简洁的描述
  14. Sublime Text3配置LaTeX环境及使用Sumatra PDF作为阅读器——亲测可用
  15. GSM网络结构及主要接口标注(附中英翻译)
  16. 已解决 阿里云盘 应用网络状况不佳,扫码,用账号登录,用手机号登录都不可以
  17. Day 7/100:Python列表
  18. 使用Nexus搭建Maven私服、私服下载与上传
  19. android动态获取悬浮窗,Android 悬浮窗实现
  20. post,put,get请求接口

热门文章

  1. Android开发--初识多线程/线程的创建,开启,休眠,中断
  2. 浅谈 Linux 内核开发之网络设备驱动
  3. python pattern_python-patterns:python风格的设计模式
  4. CMake命令之function
  5. 使用eBPFBCC提取内核网络流量信息
  6. 定向输出命令_Linux系统管理-输入输出
  7. linux更换网卡不识别_详解Linux双网卡绑定脚本的方法示例
  8. linux kvm usb设备,KVM客户机使用主机USB设备
  9. 皮一皮:别人家的老公...
  10. 皮一皮:前女友竟然说这种话...