在全球范围内,向无摩擦数字用户体验的转变正在加速。 无论是在网站上注册、在线交易还是简单地登录到您的银行帐户,组织都在积极尝试减少客户体验的摩擦,同时增强其安全性、合规性和欺诈预防措施。 向无摩擦用户体验的转变催生了基于面部的生物识别身份验证解决方案,旨在回答“如何在数字世界中验证一个人?”的问题。
当涉及身份识别和认证问题时,面部生物识别技术有两个关键优势。 首先,它对用户来说是一项方便的技术:无需记住密码、应对多因素挑战、点击验证链接或解决验证码难题。 其次,实现了高级别的安全性:基于面部生物识别技术的身份识别和认证是安全的,不易受到欺诈和攻击。
在这篇文章中,我们将深入探讨身份验证的两个主要用例:入职和身份验证。 然后我们深入探讨用于评估生物识别系统准确性的两个关键指标:错误匹配率(也称为错误接受率)和错误不匹配率(也称为错误拒绝率)。 这两项措施被组织广泛用于评估生物识别系统的准确性和错误率。 最后,我们讨论了执行身份验证服务评估的框架和最佳实践。
请参阅随附的 Jupyter笔记本 遍历了这篇文章中提到的所有步骤。
用例:入职和身份验证
生物识别解决方案有两个主要用例:用户入职(通常称为验证)和身份验证(通常称为身份识别)。 入职需要对两张图像之间的人脸进行一对一匹配,例如将自拍与驾驶执照或护照等可信身份证明文件进行比较。 另一方面,身份验证需要根据存储的面孔集合对面孔进行一对多搜索,例如搜索员工面孔集合以查看员工是否有权访问建筑物中的特定楼层。
入职和身份验证用例的准确性性能通过生物识别解决方案可能产生的误报和漏报错误来衡量。 相似性分数(范围从 0% 表示不匹配到 100% 表示完全匹配)用于确定匹配或不匹配的决定。 当解决方案将两个不同个体的图像视为同一个人时,就会出现误报。 另一方面,假阴性意味着该解决方案将同一个人的两张图像视为不同。
入职:一对一验证
基于生物识别的入职流程既简化了流程又确保了流程的安全性。 最重要的是,它为组织和客户提供了近乎无摩擦的入职体验。 为此,用户只需出示包含用户面部的某种形式的可信身份证明文件的图像(例如驾照或护照),并在入职过程中自拍。 系统有了这两张图片后,它只是简单地比较两张图片中的人脸。 当相似度大于指定阈值时,则匹配; 否则,你有一个不匹配。 下图概述了该过程。
以 Julie 为例,她是一位新用户,开设了一个数字银行账户。 该解决方案提示她拍下她的驾照照片(第 2 步)并自拍(第 3 步)。 在系统检查图像质量后(第 4 步),它会将自拍中的人脸与驾照上的人脸进行比较(一对一匹配)并生成相似度分数(第 5 步)。 如果相似度分数低于所需的相似度阈值,则 Julie 的入职尝试将被拒绝。 这就是我们所说的错误不匹配或错误拒绝:该解决方案将同一个人的两张图像视为不同。 另一方面,如果相似度分数大于所需的相似度,则该解决方案会将两张图像视为同一个人或匹配项。
身份验证:一对多身份验证
从进入建筑物到在自助服务亭登记,再到提示用户自拍以验证身份,这种通过面部识别进行的零摩擦身份验证已成为许多组织的司空见惯的事情。 此身份验证用例不是执行图像到图像匹配,而是获取单个图像并将其与可搜索的图像集合进行比较以获得潜在匹配。 在典型的身份验证用例中,系统会提示用户自拍,然后将其与集合中存储的面孔进行比较。 搜索结果会产生零个、一个或多个具有相应相似性分数和外部标识符的潜在匹配项。 如果没有返回匹配项,则用户未通过身份验证; 然而,假设搜索返回一个或多个匹配项,系统将根据相似性分数和外部标识符做出身份验证决定。 如果相似度分数超过所需的相似度阈值并且外部标识符与预期标识符匹配,则用户通过身份验证(匹配)。 下图概述了基于人脸的生物识别身份验证过程示例。
考虑零工经济送货司机 Jose 的例子。 送货服务通过提示司机在使用公司的移动应用程序开始送货之前自拍来验证送货司机的身份。 零工经济服务提供商面临的一个问题是工作分担; 本质上,两个或更多用户共享同一个帐户以玩弄系统。 为了解决这个问题,许多送货服务使用车载摄像头在送货期间随机拍摄司机的图像(第 2 步)(以确保送货司机是授权司机)。 在这种情况下,何塞不仅在开始送货时自拍,而且车载摄像头还在送货期间拍摄了他的照片。 系统执行质量检查(第 3 步)并搜索(第 4 步)已注册驾驶员的集合以验证驾驶员的身份。 如果检测到不同的司机,则零工经济配送服务可以进一步调查。
当解决方案将不同人的两个或多个图像视为同一个人时,就会发生错误匹配(误报)。 在我们的用例中,假设 Jose 而不是授权司机,他让他的兄弟 Miguel 为他提货。 如果解决方案错误地将 Miguel 的自拍与 Jose 的图像匹配,则会发生错误匹配(误报)。
为了防止错误匹配的可能性,我们建议集合包含每个主题的多张图像。 通常的做法是将包含人脸、入职时的自拍以及最近几次身份检查的自拍的可信身份证明文件编入索引。 索引一个对象的多个图像提供了聚合返回的面部之间的相似性分数的能力,从而提高了识别的准确性。 此外,外部标识符用于限制错误接受的风险。 示例业务规则可能如下所示:
IF 聚合相似度得分 >= 所需相似度阈值 AND 外部标识符 == 预期标识符 THEN 进行身份验证
关键的生物识别准确性措施
在生物识别系统中,我们对基于人脸比较和搜索的相似性得分的错误匹配率 (FMR) 和错误不匹配率 (FNMR) 感兴趣。 无论是入职还是身份验证用例,生物识别系统都会根据两个或多个图像的相似度得分来决定接受或拒绝用户面部匹配。 与任何决策系统一样,系统会错误地接受或拒绝入职或身份验证尝试。 作为评估身份验证解决方案的一部分,您需要在各种相似性阈值下评估系统,以最大限度地减少错误匹配和错误不匹配率,并将这些错误与做出错误拒绝和接受的成本进行对比。 我们使用 FMR 和 FNMR 作为评估面部生物识别系统的两个关键指标。
假不匹配率
当身份验证系统无法正确识别或授权真实用户时,就会出现错误的不匹配,也称为漏报。 错误不匹配率 (FNMR) 衡量系统错误识别或授权真实用户的可能性。
FNMR 表示为进行入职或身份验证尝试的实例的百分比,其中用户的面部因相似性得分低于规定阈值而被错误拒绝(假阴性)。
真阳性 (TP) 是指解决方案认为同一个人的两张或多张图像相同。 即,比较或搜索的相似度高于要求的相似度阈值。
假阴性 (FN) 是指解决方案认为同一个人的两张或多张图像不同。 即,比较或搜索的相似度低于要求的相似度阈值。
FNMR 的公式为:
FNMR = 假阴性计数 /(真阳性计数 + 假阴性计数)
例如,假设我们有 10,000 次真正的身份验证尝试,但有 100 次被拒绝,因为它们与参考图像或集合的相似性低于指定的相似性阈值。 这里我们有 9,900 个真阳性和 100 个假阴性,因此我们的 FNMR 是 1.0%
FNMR = 100 / (9900 + 100) 或 1.0%
错误匹配率
当身份验证系统错误地将未经授权的用户识别或授权为真实用户时,就会发生错误匹配,也称为误报。 错误匹配率 (FMR) 衡量系统错误识别或授权未授权用户的可能性。 它的衡量方法是误报识别或认证的次数除以识别尝试的总数。
当解决方案将不同人的两个或多个图像视为同一个人时,就会出现误报。 也就是说,比较或搜索的相似度分数高于所需的相似度阈值。 本质上,系统在本应拒绝用户的身份识别或身份验证尝试时却错误地识别或授权了用户。
FMR 的公式为:
FMR = 误报计数 /(总尝试次数)
例如,假设我们有 100,000 次身份验证尝试,但有 100 个虚假用户被错误地授权,因为他们与参考图像或集合的相似度低于指定的相似度阈值。 这里我们有 100 个误报,因此我们的 FMR 是 0.01%
FMR = 100 / (100,000) 或 0.01%
错误匹配率与错误不匹配率
错误匹配率和错误不匹配率相互矛盾。 随着相似性阈值的增加,错误匹配的可能性降低,而错误不匹配的可能性增加。 考虑这种权衡的另一种方法是,随着相似性阈值的增加,解决方案变得更加严格,从而减少低相似性匹配。 例如,涉及公共安全的用例通常会设置相当高的匹配相似度阈值(99 及以上)。 或者,组织可以选择限制较少的相似性阈值(90 及以上),其中摩擦对用户的影响更为重要。 下图说明了这些权衡。 组织面临的挑战是根据您的组织和应用程序要求找到一个最小化 FMR 和 FNMR 的阈值。
选择相似性阈值取决于业务应用程序。 例如,假设您希望在入职期间限制客户摩擦(限制较少的相似性阈值,如下图左侧所示)。 在这里,您可能需要较低的相似度阈值,并且愿意接受新用户入职的风险,因为用户对自拍和驾驶执照之间匹配的信心较低。 相反,假设您要确保只有授权用户才能进入应用程序。 在这里,您可能会在一个非常严格的相似性阈值下操作(如右图所示)。
计算错误匹配率和不匹配率的步骤
有几种方法可以计算这两个指标。 下面是一个相对简单的方法,将步骤分为收集真实图像对,创建冒名顶替配对(不应该匹配的图像),最后使用探针循环遍历预期的匹配和不匹配图像对,捕获由此产生的相似性。 步骤如下:
- 收集真实的示例图像集。 我们建议从一组图像对开始并分配一个外部标识符,用于进行正式匹配确定。 该对由以下图像组成:
- 源图像 – 您信任的源图像,例如驾照。
- 目标图像 – 您要与之比较的自拍或图像。
- 收集冒名顶替匹配的图像集。 这些是源和目标不匹配的图像对。 这用于评估 FMR(系统错误匹配两个不同用户的面孔的概率)。 您可以使用图像对创建冒名顶替图像集,方法是创建图像的笛卡尔积,然后对结果进行过滤和采样。
- 通过遍历图像对、比较源和冒名顶替目标并捕获由此产生的相似性来探测真正的和冒名顶替的匹配集。
- 通过计算不同最小相似度阈值下的误报和漏报来计算 FMR 和 FNMR。
您可以根据应用程序的需要,在不同的相似性阈值下评估 FMR 和 FNMR 的成本。
第 1 步:收集真实图像对样本
在评估身份验证服务时,选择具有代表性的图像对样本进行评估至关重要。 第一步是识别一组真正的图像对。 这些是用户的已知源图像和目标图像。 真实图像配对用于评估 FNMR,本质上是系统不匹配同一个人的两张脸的概率。 经常被问到的第一个问题是“需要多少图像对?” 答案是这取决于您的用例,但一般指导如下:
- 100–1,000 个图像对提供了可行性衡量标准
- 多达 10,000 个图像对足以测量图像之间的可变性
- 超过 10,000 个图像对提供了操作质量和通用性的衡量标准
数据越多越好; 但是,作为起点,至少使用 1,000 个图像对。 但是,对于给定的业务问题,使用超过 10,000 个图像对在可接受的 FNMR 或 FMR 上归零的情况并不少见。
以下是示例图像对映射文件。 我们使用图像对映射文件来驱动其余的评估过程。
外部 ID | 源 | TARGET | 测试 |
9055 | 9055_M0.jpeg | 9055_M1.jpeg | 高质量的 |
19066 | 19066_M0.jpeg | 19066_M1.jpeg | 高质量的 |
11396 | 11396_M0.jpeg | 11396_M1.jpeg | 高质量的 |
12657 | 12657_M0.jpeg | 12657_M1.jpeg | 高质量的 |
... | . | . | . |
第 2 步:生成冒名顶替者图像对 集
现在您有了一个真正的图像对文件,您可以创建目标图像和源图像的笛卡尔积,其中外部标识符不匹配。 这会产生不应匹配的源到目标对。 这种配对用于评估 FMR,本质上是系统将一个用户的脸与另一个用户的脸相匹配的概率。
外部标识 | 源 | TARGET | 测试 |
114192 | 114192_4M49.jpeg | 307107_00M17.jpeg | 骗子 |
105300 | 105300_04F42.jpeg | 035557_00M53.jpeg | 骗子 |
110771 | 110771_3M44.jpeg | 120381_1M33.jpeg | 骗子 |
281333 | 281333_04F35.jpeg | 314769_01M17.jpeg | 骗子 |
40081 | 040081_2F52.jpeg | 326169_00F32.jpeg | 骗子 |
... | . | . | . |
第 3 步:探测真实和冒名顶替的图像对集
使用驱动程序,我们应用 亚马逊重新认识 比较人脸 API 在图像对上并捕获相似性。 您还可以捕获其他信息,例如姿态、质量和其他比较结果。 相似度分数用于计算后续步骤中的错误匹配率和不匹配率。
在以下代码片段中,我们将 CompareFaces API 应用于所有图像对,并在表格中填充所有相似度分数:
代码片段提供以下输出。
外部 ID | 源 | TARGET | 测试 | 相似 |
9055 | 9055_M0.jpeg | 9055_M1.jpeg | 高质量的 | 98.3 |
19066 | 19066_M0.jpeg | 19066_M1.jpeg | 高质量的 | 94.3 |
11396 | 11396_M0.jpeg | 11396_M1.jpeg | 高质量的 | 96.1 |
... | . | . | . | . |
114192 | 114192_4M49.jpeg | 307107_00M17.jpeg | 骗子 | 0.0 |
105300 | 105300_04F42.jpeg | 035557_00M53.jpeg | 骗子 | 0.0 |
110771 | 110771_3M44.jpeg | 120381_1M33.jpeg | 骗子 | 0.0 |
通过测试对相似性分数进行分布分析是了解图像对相似性分数的起点。 以下代码片段和输出图表显示了测试集相似性分数分布的简单示例以及产生的描述性统计数据:
test | 数 | 分钟 | 最大 | 意味着 | 中位数 | STD |
真正 | 204 | 0.2778 | 99.9957 | 91.7357 | 99.0961 | 19.9097 |
冒名顶替者 | 1020 | 0.0075 | 87.3893 | 2.8111 | 0.8330 | 7.3496 |
在这个例子中,我们可以看到真实面孔对的平均相似度和中位数相似度分别为 91.7 和 99.1,而冒名顶替者对的相似度分别为 2.8 和 0.8。 正如预期的那样,这显示了真实图像对的高相似度分数和冒名顶替图像对的低相似度分数。
第 4 步:计算不同相似度阈值水平下的 FMR 和 FNMR
在这一步中,我们计算不同相似度阈值下的错误匹配率和不匹配率。 为此,我们只需遍历相似性阈值(例如 90-100)。 在每个选定的相似性阈值处,我们计算包含真阳性、真阴性、假阳性和假阴性计数的混淆矩阵,用于计算每个选定相似性的 FMR 和 FNMR。
实际 | |||
预测 | |||
. | 匹配 | 不匹配 | |
>= 选定的相似度 | TP | FP | |
< 选定的相似度 | FN | TN |
为此,我们创建了一个返回假阳性和假阴性计数的函数,并循环遍历一系列相似性分数 (90–100):
下表显示了每个相似性阈值的计数结果。
相似阈值 | TN | FN | TP | FP | 核磁共振 | FMR |
80 | 1019 | 22 | 182 | 1 | 0.1% | 0.1% |
85 | 1019 | 23 | 181 | 1 | 0.11% | 0.1% |
90 | 1020 | 35 | 169 | 0 | 0.12% | 0.0% |
95 | 1020 | 51 | 153 | 0 | 0.2% | 0.0% |
96 | 1020 | 53 | 151 | 0 | 0.25% | 0.0% |
97 | 1020 | 60 | 144 | 0 | 0.3% | 0.0% |
98 | 1020 | 75 | 129 | 0 | 0.4% | 0.0% |
99 | 1020 | 99 | 105 | 0 | 0.5% | 0.0% |
相似度阈值如何影响错误不匹配率?
假设我们有 1,000 次真正的用户入职尝试,我们拒绝了其中 10 次,因为最低相似度为 95% 才能被视为匹配。 在这里,我们拒绝 10 次真正的入职尝试(漏报),因为它们的相似度低于指定的最低要求相似度阈值。 在这种情况下,我们的 FNMR 为 1.0%。
实际 | |||
预测 | |||
. | 匹配 | 不匹配 | |
>= 95% 相似度 | 990 | 0 | |
< 95% 相似度 | 10 | 0 | |
. | 总 | 1,000 | . |
FNMR = 假阴性计数 /(真阳性计数 + 假阴性计数)
FNMR = 10 / (990 + 10) 或 1.0%
相比之下,假设我们没有 1,000 个真正的用户加入,而是有 990 个真正的用户和 10 个冒名顶替的用户(误报)。 在 95% 的最低相似度下,假设我们接受所有 1,000 个用户都是真实的。 这里我们将有 1% FMR。
实际 | ||||
预测 | ||||
. | 匹配 | 不匹配 | 总 | |
>= 95% 相似度 | 990 | 10 | 1,000 | |
< 95% 相似度 | 0 | 0 | . |
FMR = 误报计数 /(总尝试次数)
FMR = 10 / (1,000) 或 1.0%
在入职时评估 FMR 和 FNMR 的成本
在入门用例中,错误的不匹配(拒绝)的成本通常与额外的用户摩擦或注册丢失有关。 例如,在我们的银行用例中,假设 Julie 展示了她自己的两张图片,但在入职时被错误拒绝,因为两张图片之间的相似度低于所选相似度(错误的不匹配)。 金融机构可能会冒失去 Julie 作为潜在客户的风险,或者可能会要求 Julie 执行证明其身份的步骤,从而给 Julie 带来额外的摩擦。
相反,假设 Julie 的两个图像是不同的人,并且 Julie 的入职应该被拒绝。 在 Julie 被错误接受(错误匹配)的情况下,金融机构的成本和风险是完全不同的。 可能存在监管问题、欺诈风险以及与金融交易相关的其他风险。
负责任地使用
通过机器学习 (ML) 应用的人工智能 (AI) 将成为我们这一代最具变革性的技术之一,它可以解决一些人类最具挑战性的问题,提高人类绩效,并最大限度地提高生产力。 负责任地使用这些技术是促进持续创新的关键。 AWS 致力于开发公平准确的 AI 和 ML 服务,并为您提供负责任地构建 AI 和 ML 应用程序所需的工具和指导。
当您采用和增加对 AI 和 ML 的使用时,AWS 会根据我们的经验提供多种资源,以帮助您负责任地开发和使用 AI 和 ML:
应避免的最佳做法和常见错误
在本节中,我们将讨论以下最佳实践:
- 使用足够大的图像样本
- 避免使用开源和合成人脸数据集
- 避免手动和合成图像处理
- 在评估时和一段时间内检查图像质量
- 随时间监测 FMR 和 FNMR
- 在循环审查中使用人工
- 与 Amazon Rekognition 保持同步
使用足够大的图像样本
使用足够大但合理的图像样本。 什么是合理的样本量? 这取决于业务问题。 如果您是雇主并且有 10,000 名员工要进行身份验证,那么使用所有 10,000 张图像可能是合理的。 但是,假设您是一个拥有数百万您想要加入的客户的组织。 在这种情况下,抽取具有代表性的客户样本(例如 5,000–20,000)可能就足够了。 以下是有关样本量的一些指导:
- 样本量为 100 – 1,000 个图像对证明了可行性
- 样本量为 1,000 – 10,000 个图像对可用于测量图像之间的可变性
- 样本量为 10,000 – 1 万个图像对提供了操作质量和普遍性的衡量标准
采样图像对的关键是确保样本在您的应用程序中为整个面部群体提供足够的可变性。 您可以进一步扩展抽样和测试,以包括肤色、性别和年龄等人口统计信息。
避免使用开源和合成人脸数据集
有数十个精选的开源面部图像数据集以及惊人逼真的合成面部集,经常用于研究和研究可行性。 挑战在于,这些数据集通常对 99% 的真实世界用例没有用,原因很简单,因为它们不能代表您的应用程序在野外可能遇到的相机、面部和图像质量。 尽管它们对应用程序开发很有用,但这些图像集的准确性度量并不能推广到您将在自己的应用程序中遇到的情况。 相反,我们建议从您的解决方案中具有代表性的真实图像样本开始,即使样本图像对很小(低于 1,000)。
避免手动和合成图像处理
人们通常有兴趣了解一些边缘情况。 诸如图像捕获质量或特定面部特征的混淆之类的事情总是很有趣。 例如,我们经常被问及年龄和图像质量对面部识别的影响。 你可以简单地综合老化一张脸或操纵图像使主体看起来更老,或者操纵图像质量,但这并不能很好地转化为现实世界中图像的老化。 相反,我们的建议是收集您有兴趣测试的真实世界边缘案例的代表性样本。
在评估时和一段时间内检查图像质量
随着时间的推移,相机和应用技术变化非常迅速。 作为最佳实践,我们建议随时间监控图像质量。 从捕获的面部大小(使用边界框),到图像的亮度和清晰度,再到面部姿势,以及潜在的混淆(帽子、太阳镜、胡须等),所有这些图像和面部特征随时间变化。
随着时间的推移监测 FNMR 和 FMR
发生变化,无论是图像、应用程序还是应用程序中使用的相似性阈值。 随着时间的推移,定期监控错误匹配率和不匹配率非常重要。 费率的变化(即使是细微的变化)通常可能表明应用程序的上游挑战或应用程序的使用方式。 用于做出接受或拒绝决定的相似性阈值和业务规则的更改可能会对入职和身份验证用户体验产生重大影响。
在循环审查中使用人工
身份验证系统根据相似性阈值和业务规则自动做出匹配和不匹配的决策。 除了监管和内部合规要求外,任何自动决策系统中的一个重要过程都是利用人工审核员作为决策过程持续监控的一部分。 这些自动决策系统的人工监督提供了验证和持续改进以及自动决策过程的透明度。
与 Amazon Rekognition 保持同步
Amazon Recognition 人脸模型会定期更新(通常每年更新一次),目前为第 6 版。此更新版本对准确性和索引进行了重要改进。 及时了解新模型版本并了解如何在您的身份验证应用程序中使用这些新版本非常重要。 推出新版本的 Amazon Rekognition 人脸模型时,最好重新运行您的身份验证评估流程并确定对错误匹配率和不匹配率的任何潜在影响(正面和负面)。
结论
这篇文章讨论了根据各种准确性指标评估身份验证解决方案性能方面所需的关键要素。 但是,准确性只是您在选择特定内容审核服务时需要评估的众多维度之一。 包括其他参数至关重要,例如服务的总功能集、易用性、现有集成、隐私和安全、自定义选项、可扩展性影响、客户服务和定价。
要详细了解 Amazon Rekognition 中的身份验证,请访问 使用 Amazon Rekognition 进行身份验证.
作者简介
迈克·艾姆斯 是一名数据科学家,后来成为身份验证解决方案专家,在开发机器学习和人工智能解决方案以保护组织免受欺诈、浪费和滥用方面拥有丰富的经验。 在他的业余时间,您会发现他徒步旅行、骑山地自行车或与他的狗 Max 玩自由蜜蜂。
阿米特·古普塔(Amit Gupta) 是 AWS 的高级 AI 服务解决方案架构师。 他热衷于为客户大规模地提供架构良好的机器学习解决方案。
祖海尔·拉吉布 是 AWS 的 AI 服务解决方案架构师。 他专注于应用 AI/ML,热衷于让客户能够使用云来更快地创新并转变他们的业务。
马塞尔·皮维达尔 是 World-Wide Specialist Organization 的高级 AI 服务解决方案架构师。 Marcel 在通过技术为金融科技、支付提供商、制药和政府机构解决业务问题方面拥有 20 多年的经验。 他目前的重点领域是风险管理、欺诈预防和身份验证。