人脸识别中的开集和闭集测试

这个领域里可以简单分成两大类:
• 人脸验证
• 人脸检索

做人脸识别的时候,需要根据业务需要来选择合适的测试指标,测试指标也远远不止文中提到的几个,这里就列举几个比较常用的。

1. 人脸验证:

给定两张人脸图片,判断两张图片是否为同一人。
两个基本术语:误识率–人脸比对通过了但其实并不是本人的概率,通过率–将同一人正确识别出来的概率。
其实都是根据实际业务定义的,人脸验证场景中,比如需要刷身份证的人脸闸机,一般希望误识率越低越好,因为不希望有人冒充混入,同时希望通过率越高越好,不然明明是本人却老是验证失败。一般会给定误识率,然后确定一个threshold,再计算出通过率。
将这两个术语对应到ROC上:误识率-False Positive Rate,通过率:True Positive Rate。接下来就可以利用ROC来评价人脸验证模型的性能了。具体计算方式如下图:

2. 人脸检索:

人脸检索可以分为两大类,开集(Open Set)和闭集(Close Set)检索。
给定集合probe和gallery,其中probe和gallery的元素均为一张人脸图片,一般情况下probe元素数小于gallery元素数。

a. 闭集测试:
probe集合所有的图片对应的所有人,肯定包含在gallery集合的人中。
一般用top k准确率来评估模型的闭集测试性能。以k=1为例,先计算probe和gallery中所有元素之间的两两相似度,若probe中某人的元素与gallery中对应人的元素相似度最高,则视为该probe元素检索成功。此时tok 1准确率=probe检索成功数/probe总数。同理,以k=5为例,若probe中某人的元素与gallery中对应人的元素相似度在前五位,则视为该probe元素检索成功,此时称作top 5准确率。以此类推。
CMC就是以k为x轴,准确率为y轴的折现图。

b. 开集测试:
相对于闭集测试, 开集测试会增加一个集合impostor ,该集合的人既不包含于probe,也不包含于gallery。

开集测试有个虚警率的概念,即将impostor里的人错误的匹配上了gallery里的人。这也是根据实际业务确定的,例如一个人脸检索系统,gallery是在逃嫌犯库,这时来了一张不是嫌犯的照片,却匹配到了gallery集合里的一张照片,就称作误报警了,因此我们希望虚警率越低越好。

如何计算虚警率?其实就是False Positive Rate,具体计算方式是先计算impostor和gallery的两两相似度,对于每一个impostor的元素,取对应gallery中相似度最高的,即取最大的打分score,然后就可以根据sklearn.metrics.roc_curve(label,scores)方法,输入标签(全阴性)和score,按照threshold可以计算每一个TPR和FPR。可见博客。

接下来的top k准确率的计算方式也跟闭集测试差不多,主要增加了threshold作为过滤条件。以k=5为例,除了满足probe中某人的元素与gallery中对应人的元素相似度在前五位, 该人的相似度还应大于threshold才算检索成功。

人脸识别中的开集和闭集测试相关推荐

  1. 人脸识别中的open-set(开集)与close-set(闭集)

    人脸识别可以分为face verification和face identification,前者是给定两张人脸,判断是否是同一个人;后者是给定一张人脸,判断他是人脸库中的哪个人. 然后看看sphere ...

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

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

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

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

  4. 人脸识别中的rank-n

    人脸识别中的rank-n 代表的意思 原创这个昵称唯一 最后发布于2017-09-02 11:05:13 阅读数 2247  收藏 展开 Rank-1 看一些论文总是在结果中看到rank-1,等等,但 ...

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

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

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

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

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

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

  8. 人脸识别中面对的难题

    1:光照问题: 在非理想环境光照条件下和用户不配合(视角变化.表情变化.饰物乃至化妆)时,大多数人脸识别系统必然遇到识别性能下降问题.在诸多影响人脸识别性能的因素中,环境光照的变化是人脸识别领域最具挑 ...

  9. 人脸识别中的深度学习

    深度学习在人脸识别中的应用 人脸识别的过程包括: 人脸检测 人脸对齐 特征提取(在数学上,实质上是:空间变换) 特征度量 其中,特征提取与度量,是人脸识别问题中的关键问题,也是相关研究的难点之一. 传 ...

最新文章

  1. 编程语言发展70年,用50种不同语言输出「Hello World」
  2. 如何删除oracle实例
  3. Git系列之git log高级命令
  4. 标准差 标准误 偏度系数和峰度系数的作用
  5. sha1withRSA md5withRSA分析
  6. Java中的安全加密
  7. 7-11 分段计算居民水费 (10 分)
  8. Shiro学习笔记四(Shiro集成WEB)
  9. 【mpeg4】xvid参数分析
  10. nginx代理邮件服务
  11. Android 高效安全加载图片
  12. webpack中对html进行打包压缩
  13. sgg-hbase-01
  14. 外贸在谷歌搜索客户,为什么搜索出来的都是同行?
  15. xampp 安装swoole
  16. 数据分析之np.random.choice()补充【从二维数组随机选择n行一维数组】
  17. python裂缝检测_基于卷积神经网络的高楼外墙裂缝检测系统
  18. 鱼鱼Chen之学写自己的apk(六)ListView带动画图标
  19. docker push: retrying in 5 seconds... keep doing this
  20. 哈哈哈,真香!妹子图终于可以多图预览了

热门文章

  1. 以下是我使用ChatGPT的心得分享
  2. python使用pyd文件_python – 如何创建.pyd文件?
  3. MySQL数据库的简述
  4. 多线程的四种实现方式
  5. js时间戳转换日期,日期转换时间戳
  6. 计算机中常见英文术语对照表
  7. 小程序在电商中的优势
  8. 百度离线人脸识别SDK
  9. 西门子1200系列PLC的CANopen通信解决方案
  10. Tableau数据分析笔记-Chapter01条形图、堆积图、直方图