你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

人脸活体检测

本文介绍人脸活体检测的概念、输入输出模式及相关概念。

介绍

人脸活体检测可用于确定输入视频流中的人脸是真实的(活的)还是虚假的(仿冒的)。 这是生物识别身份验证系统中的重要组成部分,可以防止冒名顶替者使用照片、视频、面具或其他方式冒充他人进入系统。

活体检测的目标是确保系统在身份验证时与实际存在的活人进行交互。 随着数字金融、远程访问控制和在线身份验证流程的兴起,这些系统正变得越来越重要。

Azure AI 人脸活体检测解决方案可以成功防御各种欺骗类型,包括纸质打印输出、2D/3D 面具以及手机和笔记本电脑上的欺骗演示。 活体检测是一个活跃的研究领域,人们不断对其进行改进以应对日益复杂的欺骗攻击。 随着整体解决方案对新型攻击的防御变得越来越强大,我们也会不断向客户端和服务组件推出持续改进。

Azure 人脸实时检测 API 符合 ISO/IEC 30107-3 PAD(演示攻击检测)标准 ,由 iBeta 级别 1 和级别 2 一致性测试验证。

工作原理

活体检测解决方案集成涉及两个不同的组件:前端移动/Web 应用程序和应用服务器/协调器。

Azure AI 人脸中的活体检测工作流示意图。

  • 在应用服务器中协调 Azure AI 服务:应用服务器充当后端服务器,用于创建实时检测会话,并从人脸服务获取特定会话的短期授权令牌。 此令牌将授权前端应用程序执行活体检测。 应用服务器的目标是管理会话、授予前端应用程序的授权,以及查看实时情况检测过程的结果。
  • 将 Azure AI 视觉 SDK 集成到前端应用程序中:前端应用程序应嵌入 Azure AI 视觉人脸 SDK(iOS、Android 或 JavaScript)。 SDK 打开相机,引导用户完成被动模式或被动-主动模式,加密视频帧,并将视频帧及从服务器接收的短期活体会话令牌一起流式传输到 Azure AI 人脸终结点。
  • 可选快速链接路径:可以避免嵌入客户端 SDK。 后端服务可以将同一会话令牌交换为一次性活体快速链接 (https://liveness.face.azure.com/?s=…)。 将用户重定向到该 URL,Azure 在浏览器中托管整个捕获体验,然后通过可选的回调函数通知完成。 此选项可降低集成成本,并自动为你提供 Azure 始终最新的体验。

活体检测模式

Azure 人脸活体检测 API 提供被动和 Passive-Active 检测模式的选项。

被动模式使用被动实时技术,无需用户进行额外操作。 它需要非明亮的照明环境才能成功,在明亮的照明环境中可能会失败,并出现“环境不受支持”错误。 它还需要高屏幕亮度以获得在移动(iOS 和 Android)解决方案中自动配置的最佳性能。 如果你更喜欢最少的最终用户交互,并且希望最终用户主要位于非明亮环境中,则可以选择此模式。 被动模式检查平均需要大约 12 秒才能完成。

Passive-Active 模式的行为与非亮照明环境中的被动模式相同,并且仅在明亮的照明环境中触发主动模式。 由于浏览器上没有自动屏幕亮度控制,限制了被动模式的运行范围,因此在 Web 浏览器解决方案上此模式是更优的选择。 如果希望活体检测在任何照明环境中都能工作,则可以选择此模式。 如果由于明亮的照明环境而触发活动检查,则总完成时间平均可能需要长达 20 秒。

可以在会话创建步骤期间设置检测模式(请参阅 执行实时性检测)。

可选人脸验证

可以将人脸验证与实时检测相结合,以验证问题的人脸是否属于指定的特定人员。 下表详细说明了活体检测功能:

功能 / 特点 DESCRIPTION
活体检测 确定输入是真是假,只有应用服务器有权启动活体检查并查询结果。
附带人脸验证的活体检测 确定输入是真是假,并根据你提供的参考图像验证人员的身份。 应用服务器或前端应用程序都可以提供参考图像。 只有应用服务器有权启动活体检查并查询结果。

输出格式

实时情况检测 API 返回包含以下信息的 JSON 对象:

  • 一个真实的或虚假的人脸活体判定。 我们处理基础准确性和阈值,因此无需担心解释“置信度分数”或自行进行推理。 这使得开发人员的集成更加轻松无缝。
  • 如果使用验证执行活体检测(请参阅 使用人脸验证执行活体检测),则可以可选地获取人脸验证结果。
  • 经过质量筛选的“会话图像”可用于存储以便审核、人工评审,或使用人脸服务 API 进行进一步分析。

数据隐私

我们不会存储人脸实时检查中的任何图像或视频。 在结束实时性会话后,不会在实时服务中存储图像/视频数据。 此外,在活体检查期间上传的图像/视频仅用于执行活体检测,以确定用户是真实的还是冒名顶替的(还可以选择在活体检测-验证场景中与参考图像进行匹配),这些图像/视频不能被任何人查看,也不会用于任何人工智能模型的改进。

安全

我们在移动 SDK(iOS 和 Android)中包含 GuardSquare 提供的其他运行时应用程序自我保护(RASP)。

支持选项

除了使用主要的 Azure AI 服务支持选项之外,还可以在 SDK 存储库的问题部分发布问题。

后续步骤

既然您已熟悉活体检测概念,请在您的应用中实现活体检测。