S-RISE——解读人脸识别系统及其评估指标

1. 概述

过去十多年来,深度学习的突破性进展使图像识别任务(如图像分类、物体检测和人脸识别)取得了巨大进步。人脸识别技术的性能也有了显著提高,并吸引了全世界的关注,目前已被应用于移民控制和安防摄像头等多个领域。您最近可能已将其用于在线身份验证(eKYC)。然而,这些生物识别技术可能会危及隐私和数据保护权利,引起社会的极大关注。由于输出过程是一个 “黑盒子”,基于深度学习的系统缺乏可解释性,因此也被视为存在问题。在这些问题的背景下,理解并能够解释人脸识别技术的决策,对其被社会接受至关重要。

为了解决深度学习的 "黑箱 "问题,人们提出了各种与可解释人工智能(XAI)相关的技术。特别是,在图像识别相关任务中引入了各种突出图算法,以突出与模型确定相关的 CNN 内部层和重要像素。然而,许多算法虽然在分类任务中表现出卓越的实用性,却无法直接适用于具有不同内部模型结构和输出格式的其他图像识别任务。人脸识别相关任务就是其中之一。人脸识别需要的不仅仅是生成显著性地图,还需要解释和说明人脸识别模型是如何识别人脸图像对的,以及为什么某些图像对更有可能是同一个人的图像。

本文提出了可解释人脸识别(XFR)的新定义,该定义也适用于人脸识别。它还提出了一种根据这一新定义生成显著性地图的算法,称为 “S-RISE”,该算法使用图像对的相似性。
论文地址:https://arxiv.org/abs/2304.06118

2. S-RISE 方法

本文提出了一个新的定义,以建立基于突出图的可解释人脸识别(XFR)。如前所述,人脸识别预测的是一组人脸图像是否是同一个人。因此,可解释人脸识别系统(XFR)必须能够直观地解释为什么模型 "认为 "它们是同一个人或不是同一个人。

过去也曾有过类似的报道,即使用 Probe(待匹配图像)、Mate(与 Probe 相同的人的图像)和 Non-mate(与 Probe 不同的人的图像)来研究人脸识别的可解释性,重点是人脸特定区域的相对重要性。这项研究以人脸特定区域的相对重要性为基础。可解释性人脸识别(XFR)被定义为一种方法,它能使 Probe 和 Mate 在某一区域的相似度最大化,同时使 Probe 和 Non-mate 在同一区域的相似度最小化。然而,Probe 和 Mate 之间最相似的区域并不一定是 Probe 和 Non-mate 之间最不相似的区域。实际上,三幅图像中每对图像的决策过程都是独立的,因为人脸识别系统是通过比较两幅图像的相似度得分与预先设定的阈值,而不是三幅图像的相似度得分来做出决策的。换句话说,这个定义无法解释人脸识别的决策过程。

因此,本文提出了一个更严格的定义,在提及三对图像的概念的同时,明确区分了匹配和非匹配图像对:如果向人脸识别系统各输入一对[探针、伴侣、非伴侣]图像对,[探针、伴侣]图像对和[探针、非伴侣]图像对,系统应生成与[探针、非伴侣]图像对相对应的显著性图,然后回答以下问题。探针、非伴侣]对,系统应生成与[探针、非伴侣]对相对应的显著性图,然后回答以下问题。

  • 对于人脸识别系统来说,[Probe, Mate] 图像对中哪些区域最为相似?
  • 对于人脸识别系统来说,[探针,非队友]图像对中哪些区域最相似?
  • 为什么人脸识别系统认为[探头、伴侣]配对比[探头、非伴侣]配对更匹配?

传统的突出图虽然也很有用,但不能直接应用于人脸识别任务。例如,随机输入采样解释法(RISE)通过使用分类器类别的输出概率作为权重并汇总最终的显著性地图来解释分类模型。然而,人脸识别系统的决策过程涉及面部特征的提取和两幅或多幅图像之间的相似性。

因此,为了解决这个问题,本文提出了基于相似性的 RISE 算法(S-RISE),该算法使用相似性得分作为掩码权重,在不访问人脸识别系统内部结构或梯度的情况下提供显著性地图。(见下图)。

给定一对图像{𝑖𝑚𝑔𝐴, 𝑖𝑚𝑔𝐵},掩码生成器随机生成固定数量的掩码。每个掩码都会应用于输入图像(例如𝑖𝑚𝑔𝐴),然后将经过掩码的𝑖𝑚𝑔𝐴和未经掩码的𝑖𝑚𝑔𝐵分别输入人脸识别模型以提取面部特征。然后计算余弦相似度,作为相应面具的权重。对所有面具重复同样的过程后,𝑖𝑚𝑔𝐴 的最终显著性图谱就表示为生成面具的加权组合。

此外,还应评估突出图的准确性。在图像分类和图像检索任务中,有些方法会从输入图像中 "插入 "或 "移除 "突出像素,并测量输出分类概率的变化。本文将这些方法应用于人脸识别框架。它评估了模型是否能以最少的像素准确地突出人脸中它认为最重要的区域。

使用像素 "插入 "和 "删除 "的方法分别添加/删除像素,并测量两张人脸图像的相似度达到阈值的速度。更具体地说,删除过程从原始图像开始,然后依次删除显著性值最高的像素,并用一个恒定值取而代之。每个像素被删除后,相似度得分会被重新计算,直到低于预定的阈值为止。相反,插入过程从一个常数值开始,图像中按显著性图排序的最重要像素会被添加到普通图像中。每添加一个像素,相似度得分都会重新计算,直到高于阈值为止。从图像中移除或添加的像素数量会一直累积,直到识别模型改变其决定。使用以下指标对性能进行评估。

实际上,从图像中去除像素会改变原始分布,最终可能会影响识别结果。因此,上文提到的常量值被设定为特定图像的平均值。

3. 实验结果

近年来,使用显著性地图的方法受到了质疑。有人指出,生成的地图实际上可能与模型的决策过程和数据生成机制无关,它们是否能提供可靠的解释也值得怀疑。因此,有人提出了一种称为 "模型参数随机化检验 "的方法。这包括在使用深度学习模型之前随机化模型的权重。这样就能根据模型的决策机制,评估使用显著性图谱的方法是否真的能提供解释。本文采用了类似的方法来评估突出图的有效性。具体来说,我们使用针对其他视觉任务优化的无关网络模型(ResNet)的参数进行了测试。如果使用这些随机或不相关的参数生成了有意义的热图,那么显著性地图就与模型的决策过程和数据生成机制无关,不可信。

下图显示了对 S-RISE 算法生成的显著性图进行测试的结果。下图第二行显示的是随机参数 CNN 模型生成的显著性图,而下图第三行显示的是普通人脸识别系统生成的显著性图。

从下图第二行的结果可以看出,使用随机参数生成的突出图毫无意义,这表明所提出的 S-RISE 算法能够根据训练好的人脸识别模型生成有意义的解释。

下图显示了 S-RISE 算法生成的显著性图的结果。左侧两列显示的是当人脸识别模型以高置信度正确预测出一对图像时的显著性图,右侧两列显示的是非配对图像的显著性图。

从图中可以看出,被人脸识别模型判定为相似的图像对显示了适当的强调区域。另一方面,被判定为不相似的图像对显示出相似的区域,但强调程度较弱。这一结果解释了为什么人脸识别模型判断一个是同一个人,而另一个不是同一个人。

此外,下图显示了对不同人脸识别模型将不同人误认为同一人的情况进行研究的结果。

这表明,虽然人脸识别系统能以较高的置信度识别 "探针-伴侣 "配对,但它也对 "探针-非伴侣 "配对的眼睛和嘴巴等面部区域赋予了相对较高的置信度。换句话说,这就解释了为什么人脸识别模型会错误地将不匹配的人判断为匹配的人。

研究还表明,当前的人脸识别模型能够识别部分隐藏的人脸,尽管可信度较低。在这种情况下,理想的显著性地图应该是隐藏像素的显著性值低,而其他类似区域的显著性值高。从上图中还可以看出,当部分脸部被太阳镜遮挡时,人们会将注意力集中在嘴巴和鼻子区域,而不是眼睛。

最后是 S-RISE 的定量评估结果(见下表)。报告了使用 "插入 "和 "删除 "像素的方法的结果。实验是在 LFW 数据集的一个小型子集上进行的。这些实验测量了为改变人脸识别模型的判断而修改的像素所占的百分比;数字越小,突出图描述就越准确。下表量化了不同迭代次数下的 S-RISE,表明迭代次数越少,解释性能越差。

另一方面,这些指标在大约 1 000 次迭代后逐渐收敛,表明突出图变得稳定和准确(见下文)。

4. 总结

本文提出了可解释人脸识别(XFR)的新框架。所提出的 S-RISE 算法可以生成详细说明人脸识别系统如何决定一个人是否是同一个人的地图,还提出了评估这些地图准确性的新标准。希望这将建立一种标准方法,用于评估深度学习模型在未来更广泛地用于人脸识别的可靠性,从而更好地理解人脸识别系统,进而增强人们使用人脸识别的信心。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/665241.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

了解m4s格式

正常在hls V7 和 DASH中都会使用m4s存放数据。他们使用fmp4的方式来存放信息: fmp4格式 : 一、hls V7介绍 1. 包含的文件: 2. prog_index.m3u8中 指明了 init.mp4与 上面各个.m4s文件的关系,具体内容为: 其中init.mp…

【期末速成】——计算机组成原理(1)概述

目录 一、什么是计算机的组成 二、冯诺依曼体系结构计算机的特点 三、计算机系统的层次结构 四、机器语言、汇编语言、高级语言, 五、 编译程序、解释程序、汇编程序 六、已知主频、CPI计算程序运行时间 一、什么是计算机的组成 计算机的组成可以分为五个部件和两个信息…

【C++ ——— 哈希】位图 | 布隆过滤器

文章目录 1、位图1.1位图概念 2.位图实现位图的应用1.一百亿个整数,设计算法找到只出现一次的整数?2.给两个文件,分别有一百亿个整数,我们只有1G内存该如何找到两个文件的交集?3.位图应用变形:一个文件有100亿个int&a…

什么是数据资产管理?数据资产管理包括了哪些内容?

数据资产管理包括数据模型管理、数据标准管理、数据质量管理等 10 个活动职能,覆盖数据资源化、数据资产化两个阶段。本章参考 PDCA 方法,从计划、执行、检查、改进四个环节着手,阐述数据资产管理活动职能的核心理念与实践要点。 一、数据模型…

RedisTemplate实战应用--队列等

一、RedisTemplate队列插入 1、从集合左边插入值 https://blog.csdn.net/weixin_43658899/article/details/121040307 leftPush(K key, V value) redisTemplate.opsForList().leftPush("leftdatakey","bbbb");2、从集合左边开始在v1值后边插入新值v2 le…

SG7050EEN差分晶体振荡器:为5G路由器提供卓越的时钟源

随着5G技术的快速发展,5G路由器作为连接高速网络的重要设备,正迅速普及。为了确保5G路由器在高宽带和低延迟的网络环境中表现出色,选择一款高性能的晶体振荡器至关重要。爱普生推出的SG7050EEN差分晶体振荡器,以其高精度、低相位噪…

Three.js 研究:4、创建设备底部旋转的科技感圆环

1、实现效果 2、PNG转SVG 2.1、原始物料 使用网站工具https://convertio.co/zh/png-svg/进行PNG转SVG 3、导入SVG至Blender 4、制作旋转动画 4.1、给圆环着色 4.2、修改圆环中心位置 4.3、让圆环旋转起来 参考一下文章 Three.js 研究:1、如何让物体动起来 Thre…

Java | Leetcode Java题解之第120题三角形最小路径和

题目&#xff1a; 题解&#xff1a; class Solution {public int minimumTotal(List<List<Integer>> triangle) {int n triangle.size();int[] f new int[n];f[0] triangle.get(0).get(0);for (int i 1; i < n; i) {f[i] f[i - 1] triangle.get(i).get(i…

2024新版二开微信发卡小程序源码卡密系统流支持量主

2024新版二开微信发卡小程序源码卡密系统流支持量主。裂变扩展多种领取模式二次开发的发卡小程序源码&#xff0c;其后台采用PHP编写&#xff0c;支持用户通过付费购卡或者观看视频广告领取卡密&#xff0c;该小程序还支持流量主&#xff0c;因为功能需要&#xff0c;我就进行了…

汇舟问卷:国外问卷调查两小时赚28美金?

现在的年轻人不愿意打工的原因不只是因为累&#xff0c;而且赚的钱也不多。有些人开玩笑地说&#xff0c;摆个摊儿卖点小商品都比上班赚得多&#xff0c;这确实是事实。 打工只能勉强维持生计&#xff0c;不能致富。因此&#xff0c;如果我们想赚大钱&#xff0c;首先需要改变…

ChatGPT-4o在临床医学日常工作、论文高效撰写与项目申报、数据分析与可视化、机器学习建模中的应用

ChatGPT-4o在临床医学日常工作、论文高效撰写与项目申报、数据分析与可视化、机器学习建模中的应用 2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT-3.5&#xff0c;将人工智能的发展推向了一个新的高度。…

Flutter基础 -- Dart 语言 -- 基础类型

目录 0. 配置 1. 变量 1.1 弱类型 var Object dynamic 1.2 强类型 1.3 使用场景 var 简化定义变量 查询参数定义 返回的实例对象 2. 常量 final 和 const 2.1 相同点 类型声明可以省略 初始后不能再赋值 不能和 var 同时使用 2.2 不同点 const 需要确定的值 …

【GD32】04 - Timer定时器

GD32中的定时器 GD32E230中有七个定时器&#xff0c;六种类型&#xff0c;其中通用的L4版本有两个&#xff0c;其他类型的各一个。 那我们就以通用L4这个类型来敲代码&#xff0c;其他流程是通用的。 通用L4 虽然每种类型的定时器都有自己的结构框图&#xff0c;但是其实大差…

第十八节:认识一些经典递归过程

一 暴力递归就是尝试 1&#xff0c;把问题转化为规模缩小了的同类问题的子问题 2&#xff0c;有明确的不需要继续进行递归的条件(base case) 3&#xff0c;有当得到了子问题的结果之后的决策过程 4&#xff0c;不记录每一个子问题的解 二 打印n层汉诺塔从最左边移动到最右边的全…

【STM32】定时器与PWM的LED控制

目录 一、要求二、定时器中断与PWM介绍1、定时器类型2、定时器中断基本结构3、预分频器时序与计数器时序&#xff08;1&#xff09;预分频器时序&#xff08;2&#xff09;计数器时序 3、PWM&#xff08;1&#xff09;简介&#xff08;2&#xff09;输出比较模式&#xff08;3&…

密闭空间作业应如何做好安全防护?

在现代工业与日常工作中&#xff0c;密闭空间作业已逐渐成为许多行业不可或缺的一部分。然而&#xff0c;这些看似寻常的空间却隐藏着诸多不为人知的风险。从窒息性气体到易燃易爆物质&#xff0c;从物理性危险到心理压力&#xff0c;每一项都足以威胁到作业人员的生命安全。因…

【Qt】【模型-视图架构】代理模型示例

文章目录 1. 基本排序/过滤模型Basic Sort/Filter Model Example2. 自定义排序/过滤模型Custom Sort/Filter Model ExampleFilterLineEdit类定义及实现MySortFilterProxyModel类定义及实现 1. 基本排序/过滤模型Basic Sort/Filter Model Example 官方提供的基本排序/过滤模型示…

004 仿muduo实现高性能服务器组件_Buffer模块与Socket模块的实现

​&#x1f308;个人主页&#xff1a;Fan_558 &#x1f525; 系列专栏&#xff1a;仿muduo &#x1f339;关注我&#x1f4aa;&#x1f3fb;带你学更多知识 文章目录 前言Buffer模块Socket模块 小结 前言 这章将会向你介绍仿muduo高性能服务器组件的buffer模块与socket模块的实…

打造你的首个QT 5计算器应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;QT 5的力量与我们的计算器 二、QT 5基础&#xff1a;理解UI设计与文件…

mac安装allure及allure:command not fund问题解决

一、下载 下载连接&#xff1a;https://github.com/allure-framework/allure2/releases 选择任意压缩包进行下载 二、解压 解压后是一个文件夹 三、打开终端 # bash终端 vim ~/.bash_profile # zsh终端 vim ~/.zshrc四、配置环境变量 export PATH/usr/bin:/bin:/usr/sb…