人脸识别中的rank-n
人脸识别中的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相关推荐
- yii2 模型中set_Day184:人脸识别中open-set与close-set
人脸识别 可以简单的分为如下两类: face verification:人脸验证时将人脸分类到某个ID,比如给定两张人脸,判断是否是同一个人(ID) face identification:给定一张人 ...
- 【CVPR 2018】腾讯AI lab提出深度人脸识别中的大间隔余弦损失
论文导读] 深度卷积神经网络(DCNN)在人脸识别中已经取得了巨大的进展,通常的人脸识别的核心任务都包括人脸验证与人脸识别,涉及到特征判别.很多模型都是使用Softmax损失函数去监督模型的训练,但是 ...
- CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略
CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...
- 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述
原标题:计算机视觉方向简介 | 人脸识别中的活体检测算法综述 本文转载自"SIGAI人工智能学习与实践平台"(ID:SIGAICN) 导言 1. 什么是活体检测? 判断捕捉到的人脸 ...
- 人脸识别中Softmax-based Loss的演化史
点击我爱计算机视觉标星,更快获取CVML新技术 近期,人脸识别研究领域的主要进展之一集中在了 Softmax Loss 的改进之上:在本文中,旷视研究院(上海)(MEGVII Research Sha ...
- 人脸识别中的阈值应该如何设置?
人脸识别中的阈值应该如何设置? 标签: 人脸识别 分类: 人脸识别 人脸识别中的阈值应该如何设置? 随着人脸识别技术使用范围越来越广,大部分使用者可能对人脸识别中的某一方面不是很懂,咨询的问题也五花八 ...
- 人脸识别中常用的几种分类器
人脸识别中常用的几种分类器 在人脸识别中有几种常用的分类器,一是最邻近分类器:二是线性分类器 (1)最邻近分类器 最近邻分类器是模式识别领域中最常用的分类方法之一,其直观简单,在通常的应用环境中非常有 ...
- 人脸识别中的全脸/半脸/中脸
人脸识别中的一个常用概念是全脸/中脸/半脸 下面讲一下区别 目前DeepFaceLab拥有三种不同类型的脸部模式,H64和H128是半脸(half face)模型,DF LIAEF128 Quick9 ...
- 人脸扫描建模_人脸识别中的特征建模方法与流程
本发明涉及生物特征识别,特别是涉及人脸识别中的特征建模方法. 背景技术: 人脸识别技术一般包括四个组成部分,分别为人脸图像采集.人脸图像预处理.人脸图像特征提取以及匹配与识别,具体来说: 人脸图像采集 ...
最新文章
- 思念水饺吃成泡沫水饺(图)思念质量门
- .configure
- 我的编程学习日志(1)--进制转换
- 牛顿法与拟牛顿法,SDM方法的一些注记
- 前端学习(2125):watch实现
- 解码错误。‘gb2312‘ codec can‘t decode byte 0xf3 in position 307307: illegal multibyte sequence
- Emmet 也有快速生成文件头的功能
- springMVC的文件上传于下载
- 一点一点学写Makefile-1
- oracle 聚合函数 LISTAGG ,将多行结果合并成一行
- NetTiers学习笔记12---deepload的递归
- 代码雨代码源复制_黑色帝国中代码雨如何实现?用python就可以了
- BT601和BT709的区别最简洁的描述
- Sublime Text3配置LaTeX环境及使用Sumatra PDF作为阅读器——亲测可用
- GSM网络结构及主要接口标注(附中英翻译)
- 已解决 阿里云盘 应用网络状况不佳,扫码,用账号登录,用手机号登录都不可以
- Day 7/100:Python列表
- 使用Nexus搭建Maven私服、私服下载与上传
- android动态获取悬浮窗,Android 悬浮窗实现
- post,put,get请求接口
热门文章
- Android开发--初识多线程/线程的创建,开启,休眠,中断
- 浅谈 Linux 内核开发之网络设备驱动
- python pattern_python-patterns:python风格的设计模式
- CMake命令之function
- 使用eBPFBCC提取内核网络流量信息
- 定向输出命令_Linux系统管理-输入输出
- linux更换网卡不识别_详解Linux双网卡绑定脚本的方法示例
- linux kvm usb设备,KVM客户机使用主机USB设备
- 皮一皮:别人家的老公...
- 皮一皮:前女友竟然说这种话...