Windows Hello 面部身份验证

Windows 10 中的 Microsoft 面部身份验证是作为名为 Windows Hello 的核心 Microsoft Windows 组件集成到 Windows Biometric Framework (WBF) 中的企业级身份验证机制。Windows Hello 面部身份验证利用专门针对近红外 (IR) 图像处理配置的相机对 Windows 设备进行身份验证和解锁以及解锁 Microsoft Passport。

Windows Hello 面部身份验证的主要优点和功能

使用 Windows Hello 面部身份验证包括以下几个主要优点:

  • 所有基于 Windows 10 的设备和具有兼容硬件(近 IR 传感器)的平台上的面部识别功能。
  • 用户友好界面,提供了单一登录形式的验证来解锁 Microsoft Passport。
  • 企业级身份验证和 Microsoft Passport Pro 支持内容的访问权限,包括网络资源、网站和支付方式。
  • 能够在不同的照明条件下提供一致的图像(使用 IR),并允许包括面部毛发、妆容等外观上的细微更改。

方案

Windows 10 中 Windows Hello 面部身份验证的两个主要方案是对登录或解锁进行身份验证和对证明用户仍然位于原处进行重新身份验证。

身份验证

平均持续时间> 2 秒
预期频率
频率描述在每次用户想要解锁设备或移过锁屏界面时发生

 

重新进行身份验证

平均持续时间> 2 秒
预期频率
频率描述在应用程序或网站想要重新验证用户是否位于其设备前方时发生

 

工作原理

Windows Hello 面部识别引擎包含允许 Windows 了解谁位于传感器前方的四个不同步骤。

  1. 查找面部和发现标志

    首先,算法在相机流中检测到用户的面部,然后查找与眼睛、鼻子、嘴等对应的面部标志点(也称为对齐点,按下面的绿色点表示)。

  2. 头部方向

    若要确保算法在视图中获取足够的面部信息以进行身份验证决策,请确保用户的面部朝向设备 +/-15 度处。

  3. 表示形式矢量

    通过使用标志位置作为定位点,该算法将从面部的不同区域中选出数千个示例来生成比表示形式。表示形式的最基本形式是表示特定点周围的光暗差异的直方图。不会存储面部图像 – 它仅仅是表示形式。

  4. 决策引擎

    一旦传感器前方出现用户的表示形式,它将与物理设备上的注册用户进行比较。表示形式必须在算法接受它为正确的匹配之前交叉计算机学习的阈值。如果有多个用户在系统上注册,该阈值将相应地增加以帮助确保安全不会受到损害。此项增加会导致所有帐户中产生较低的真阳性率,设备上的新帐户每次都会注册到 Windows Hello 面部身份验证中。

注册

注册是生成自己的一个表示或表示集(例如如果你佩戴眼镜,你可能需要在佩戴和不佩戴眼镜的情况下分别进行注册),并将其存储在系统中以用于将来比较的步骤。这一表示形式集合称为注册个人资料。Microsoft 不会存储实际图像,并且你的注册数据将不会发送到网站或应用程序进行身份验证。

从安全性和数据完整性的角度,Microsoft 认为需要使用不同的步骤进行注册以确保位于传感器前方的是你本人。Windows 将永不会自动更新你的注册信息 – 你能始终对其进行控制。这有助于确保你的个人资料不会被附近的人员或任何可能危及稳定性和安全性的其他机制所损害。你可以随时手动更新、重置或删除个人资料。

大多数用户可能需要在每台设备上注册一次。用户需要进行其他注册的情况:

  • 有时佩戴某些类型的眼镜
  • 对面部形状或纹理进行过重大更改
  • 移动到近红外的高氛围环境(例如,在户外阳光下使用设备)

近红外的优点

在 Xbox 360 上首部带有面部识别功能的 Kinect 发布之后,Microsoft 认识到依赖环境光来提供一致的图像将会导致较差的用户体验。人们在各种各样的照明条件下的不同环境中生活和工作。传统的颜色识别系统依赖于调高亮度、曝光或其他设置以创建可使用的图像 - 所有这些操作暴露了影响系统稳定性的人为干预。

方案集成相机中的彩色图像Microsoft 参考传感器中的 IR 图像
观看电视或展示 PowerPoint 演示文稿的低光代表Mt450467.Hello1(zh-cn,VS.85).pngMt450467.Hello2(zh-cn,VS.85).png
坐在窗口或台灯附近时的侧光Mt450467.Hello3(zh-cn,VS.85).pngMt450467.Hello4(zh-cn,VS.85).png

 

使用 IR 还可以帮助应对欺骗行为,因为它有助于阻止大多数的访问攻击。

Mt450467.Hello5(zh-cn,VS.85).png

专门用来实现此类型图像的一组硬件的示例,至少需要 640x480 单色传感器,该传感器配备用于满足规范的以下组件:

  • 镜头
    • F/#<= 2
    • EFL <= 1.24
    • 像素大小小于或等于 3um
    • 图像圆半径 = 1.44mm
    • 分辨率 >= 640 x 480
    • IR 波长:860nm +/- 40nm
  • IR 照明
    • 电源 >= 1 mW
    • FOV = 40 度 FWHM
    • 波长:860nm +/- 40nm
  • 筛选器(用于无偏振光)
    • 传输:适用于 0 到 30 度的 99% @ 860nm
    • 反射/吸收:适用于 0 到 30 度的 99 % 300nm-830nm 和 890nm-1000nm

有关如何生成满足 Windows Hello 面部身份验证要求的传感器的完整信息,请联系 Microsoft 硬件规范代表或发送邮件至 askmpcdevices@microsoft.com 以获取详细信息。Windows Hello 面部身份验证仅受根据该规范生成的 IR 传感器的支持。

如何测量准确性

当 Microsoft 讨论 Windows Hello 面部身份验证的准确性时,使用三个主要指标:假阳性、真阳性和假阴性。

术语假阳性真阳性假阴性
描述有时还会计算错误接受率,这表示存在获取你的设备的物理访问权限的随机用户被识别为你的情况。此数字应尽可能保持最低。真阳性率表示用户每次位于传感器前方时,与其注册的个人资料正确匹配的情况。此数字应该较高表示用户与其注册的个人资料不匹配的情况。此数字应该较低。
Windows 10 算法小于 0.001% 或 1/100,000 FAR单个注册的用户大于 95%单个注册的用户小于 5%

 

由于测量中的错误非常重要,因此 Microsoft 将它们分为两类:偏差错误(系统性错误)和随机错误(采样)。

偏差错误

由于不使用环境代表的数据和使用算法的条件可能会发生偏差错误。如果交付设备,这种类型的错误可能由于不同的环境条件(例如照明、传感器的角度和距离等)以及不具有代表性的硬件而造成。

随机错误

随机错误由于使用与实际使用该功能的总体多样性不匹配的数据而造成。例如,聚焦于一组未佩戴眼镜、无胡须或独特面部特征的面部集。

培训和验证

为了尽量减少上述错误,Microsoft 收集了世界上具有代表性的用户面部的广泛数据。

通过 Windows 10 公开发布,他们将收集超过 30,000 个独特面部。收集完数据后,数据将会安全地存储在 Microsoft 园区内。此数据仅用于内部研究和开发。

当使用支持面部身份验证的设备时,面部捕获包含六个不同的录制,分别表示对象面部的不同角度和移动。 为了有助于确保各种不同的用户表示形式,请使用以下类别:

  • 年龄
  • 与传感器之间的距离
  • 民族
  • 面部毛发
  • 性别
  • 腰围
  • 发型
  • 身高
  • 眼镜
  • 视野中的位置
  • 洞眼
  • 传感器位置
  • 传感器类型
  • 肤色
  • 照明
  • 环境
  • 等等

所得到的数据分为三组;一组用于决策引擎阈值的计算机学习。第二组用于检测和标志算法,第三组用于验证系统准确性。 唯一用户永远不会出现在多个组,以避免过度拟合特定用户或环境类型的模型。

验证假阳性率

为了验证假阳性率,1200 到 2000 个唯一用户用于生成超过 400 万个测试组合。从每个用户收集的六个不同的记录中,随机选择一个用于注册用户,并随机选择两个用于验证真阳性率。来自其余用户的记录将用于验证假阳性率。使用不同的数据排列运行此测试多次,以便代码世界的各个区域。我们以 ROC 曲线来表示该数据,然后评估每个假阳性和假阴性来了解如何改善算法。

Mt450467.Hello6(zh-cn,VS.85).png

相关主题

使用 Microsoft Passport 管理身份验证
Windows Biometric Framework API
Windows Hello OEM 和 IHV 应用方案

 

 

显示: