CN113557701B - 面部认证嵌入迁移和偏移补偿 - Google Patents
面部认证嵌入迁移和偏移补偿 Download PDFInfo
- Publication number
- CN113557701B CN113557701B CN201980093736.9A CN201980093736A CN113557701B CN 113557701 B CN113557701 B CN 113557701B CN 201980093736 A CN201980093736 A CN 201980093736A CN 113557701 B CN113557701 B CN 113557701B
- Authority
- CN
- China
- Prior art keywords
- profile
- user
- firmware
- embeddings
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44552—Conflict resolution, i.e. enabling coexistence of conflicting executables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/65—Environment-dependent, e.g. using captured environmental data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Collating Specific Patterns (AREA)
Abstract
本文档描述实现面部认证嵌入迁移和偏移补偿的技术和系统。所述技术和系统包括用户设备,更新所述用户设备以包括当前版本的固件以及更新版本的固件两者。然后,接收面部认证尝试的指示以及与用户面部相关联的图像数据。在所述图像数据上使用所述当前版本的固件进行成功认证之后,所述用户设备在同一图像数据上使用所述更新版本的固件以生成新嵌入。所述新嵌入存储为所述用户的迁移简档的一部分。在一系列后续面部认证尝试中收集额外的新嵌入,直到为所述迁移简档存储完整的新嵌入集合为止。然后,删除旧简档并且所述迁移简档变成用于面部认证的注册简档。
Description
背景技术
使用面部认证解决方案的计算机安全性为用户提供了一种方便且简单的方式来安全地访问账户或签署交易,这增强了用户体验。用户设备可以使用机器学习模型来实施面部认证,其中所述机器学习模型使用机器学习技术训练以执行面部认证。机器学习模型可以作为在用户设备上执行的固件的一部分运行。在面部认证期间,机器学习模型在安全环境中执行,并且作为固件的一部分,从红外图像计算嵌入并且将所述嵌入存储以进行比较。嵌入是表示人面部特征的n维向量。当用户最初在用户设备上注册或设置面部认证时,用户设备生成并存储表示用户面部的一个嵌入集合。此嵌入集合用于用户的后续认证以解锁用户设备。
随着时间的推移,固件以及由固件定义的机器学习模型的更新可以发展以提高安全性和质量,例如更好的欺骗拒绝、更好的面部识别等。但是,不同版本的机器学习模型可能产生与在固件的先前版本内执行的较旧版本的机器学习模型不向后兼容的嵌入。另外,随着时间的推移,用户的面部可能会发生逐渐变化,例如胡须生长、老化、新眼镜等。这些变化会导致面部认证的成功率随着时间的推移而下降,这是因为在连续面部认证尝试过程中生成的嵌入可能会偏离在注册时创建的所存储嵌入。由于这种嵌入不兼容性,无论是由对机器学习模型的更新触发的还是由于嵌入偏移触发的,用户通常被迫重新注册以进行面部认证,就像这是第一次在用户设备上通过面部认证注册一样。迫使用户重新注册以补偿嵌入偏移或以其它方式的不兼容嵌入是低效的,并且显著地降低用户体验。
发明内容
本文档描述实现面部认证嵌入迁移和偏移补偿的技术和系统。更新用户设备以托管包括当前面部认证模型的当前版本的固件,以及包括更新版本的面部认证模型的更新版本的固件两者。在认证尝试期间,用户设备加载两个版本的面部认证模型以在同一安全会话中执行。在认证期间,嵌入由该两个不同的面部认证模型版本使用相同的输入图像并行生成。当前面部认证模型用于生成嵌入以相对于用于面部认证的所存储注册嵌入集合进行验证,而更新的面部认证模型用于生成新嵌入以迁移到更新的嵌入集合。由更新的面部认证模型生成的嵌入存储在安全存储中,直到已收集完整的集合为止。响应于获得新嵌入的完整集合,用户设备可以切换到更新的面部认证模型并且将新的嵌入集合用于后续认证尝试。此外,删除原始的注册嵌入集合。迁移对于每个面部认证模型更新可能不是必需的,但对于不具有兼容嵌入的更新可能是必需的。
提供本概述以介绍下文在具体实施方式和附图中进一步描述的涉及面部认证嵌入迁移和偏移补偿的简化概念。本概述并非旨在标识所要求主题的基本特征,也不旨在用于确定所要求主题的范围。
附图说明
在此文档中参考以下附图描述面部认证嵌入迁移和偏移补偿的一个或多个方面的细节。在整个附图中,相同的数字用于指代相同的特征和组件:
图1说明了在其中可以实施用于面部认证嵌入偏移补偿和迁移的示例环境。
图2说明了包括面部认证系统的图1的用户设备的示例实施方案。
图3说明了作为用户设备的一部分的示例认证系统以及近红外相机系统。
图4到图6说明了用户设备所采用的面部认证嵌入迁移和偏移补偿的示例实施方案。
图7和图8说明了面部认证嵌入偏移补偿的示例实施方案。
图9和图10描绘了迁移用于面部认证的嵌入的方法。
图11说明了示例计算系统,所述计算系统可以实施为如参考图1到图10描述的任何类型的客户端、服务器和/或电子设备以实施面部认证嵌入迁移和偏移补偿,或在所述计算系统中可以实施实现面部认证嵌入迁移和偏移补偿的技术。
具体实施方式
概述
本文档描述实现面部认证嵌入迁移和偏移补偿的技术和系统。包括用于面部认证的更新的面部认证模型的更新版本的固件可能无法与旧版本的固件向后兼容,这显著降低了更新版本的固件的代码复杂性和代码大小。因此,每当用户更新他们的计算设备时,通过重复设置过程以使用更新固件创建新用户简档,用户可能被迫重新注册以进行面部认证。为了避免此低效过程,描述了在同一安全会话中加载两个版本的固件,从而执行第一当前固件用于认证,并且执行第二更新固件用于嵌入迁移的技术和系统。在使用当前固件认证用户之后,用户设备可以通过在一段时间内作为后台任务执行更新固件来创建新的用户简档,而无需要求用户重新注册。然后,当新的用户简档足够完整时,用户设备可以自动地切换成执行代替旧版本的固件的更新固件来进行认证。因此,通过将嵌入迁移到新更新的简档,同时维护整个安全工作流而不将任何图像或嵌入信息泄漏到安全管道之外,可以在一段时间(例如,一周)内无缝地且无需用户监督地更新用于面部认证的嵌入。此外,由于在认证用户之后生成更新的嵌入,因此更新的嵌入的迁移不会导致用户可见的延迟。以此方式,本文中描述的技术提供了一种在认证过程期间更新用户简档的更有效过程,从而避免了需要单独的重新注册程序。因此,各方面可以提供更新用户简档的改进过程,例如用于新固件或用于偏移补偿。此外,各方面可以通过允许在变化的条件下在一段时间内捕获嵌入来提供更准确的用户简档。
在各方面中,描述了一种由用户设备执行的在所述用户设备中迁移面部认证简档数据的方法。所述方法包括更新所述用户设备以包括当前版本的固件和更新版本的固件两者。所述方法还包括在所述更新之后,接收面部认证尝试的指示以及与用户面部相关联的图像数据。另外,所述方法包括:在同一安全会话中加载所述当前版本的固件和所述更新版本的固件两者;并且执行所述当前版本的固件以使用所捕获的图像数据来生成比较数据。此外,所述方法包括基于与第一简档基本上匹配的所述比较数据来认证所述用户以解锁所述用户设备,所述第一简档基于注册嵌入集合,所述注册嵌入集合先前使用所述当前版本的固件在所述用户面部的先前捕获的图像数据上生成。而且,所述方法包括响应于认证所述用户以解锁所述用户设备,通过执行所述更新版本的固件和所述所捕获图像数据来生成一个或多个新嵌入。另外,所述方法包括将所述一个或多个新嵌入存储在与所述注册嵌入集合分开的位置处,所述一个或多个新嵌入被存储为所述用户的第二简档的一部分。
在各方面中,描述一种在用户设备中迁移面部认证简档数据以进行偏移补偿的方法。所述方法包括通过所述用户设备的管理程序接收与用户面部的面部认证尝试相关联的简档身份和图像数据。另外,所述方法包括通过所述管理程序指定所述简档身份和可选迁移简档。而且,所述方法包括通过处理器单元使用所述图像数据来生成新嵌入。此外,所述方法包括基于所述新嵌入认证所述用户以解锁所述用户设备,所述新嵌入与来自对应于所述简档身份的注册嵌入集合的注册嵌入基本上匹配。所述方法还包括确定所述新嵌入与所述注册嵌入相差的量在由第一阈值差和第二阈值差定界的范围内,所述第一阈值差表示视为匹配的可接受的最大差异,所述第二阈值差小于所述第一阈值差并且表示视为偏移的可接受的最小差异。另外,所述方法包括基于所述确定,将所述新嵌入作为偏移嵌入存储在对应于所述迁移简档的迁移区中。
这些只是可以如何使用所描述技术和设备来实现面部认证嵌入迁移和偏移补偿的几个示例。本文档中描述其它示例和实施方案。本文档现在转向一个示例运行环境,然后描述示例设备、方法和系统。
运行环境
图1说明可以实施实现面部认证嵌入迁移和偏移补偿的示例环境100。示例环境100包括用户设备102(例如,电子设备),所述用户设备包括近红外(NIR)相机系统104、安全存储单元106(例如,安全芯片)、认证系统108和管理程序110,或与这些组件相关联。如下文进一步描述,认证系统108被配置成实施面部识别模块112。为了安全起见,由NIR相机系统104捕获的图像数据经由管理程序110传递到认证系统108。近红外(NIR)光通常是指在大约750nm(纳米)与2,500nm之间的波长范围内的光并且对人眼不可见。面部识别模块112还被配置成使用神经网络(例如,卷积神经网络)或使用机器学习技术训练的其它类型的机器学习模型,以从所捕获图像数据生成一个或多个嵌入。
如果在面部认证的注册过程期间捕获图像数据,则面部识别模块112将由机器学习模型生成的嵌入存储在安全存储单元106中。但是,如果用户设备102处于锁定状态116-1并且用户114在注册之后正尝试解锁用户设备102,则面部识别模块112将嵌入与存储于安全存储单元106中的嵌入集合相比较。基于该比较,面部识别模块112的机器学习模型要么拒绝认证要么认证用户114,以将用户设备102解锁到解锁状态116-2。如果拒绝了认证,则用户设备102保持在锁定状态116-1。如果认证了用户114,则用户设备102过渡到解锁状态116-2,如在图1中通过解锁图标118表示的。以此方式,用户114基本上使用用户设备102进行“自拍”以解锁用户设备102,而无需提供任何额外输入。
贯穿本公开描述了计算系统(例如,用户设备102、客户端设备、服务器设备、计算机,或其它类型的计算系统)可以分析与用户相关联的信息(例如,雷达、惯性和面部识别传感器数据),例如刚提及的面部特征的示例。但是,计算系统可以被配置成仅在计算系统从计算系统的用户那里接收到使用数据的明确许可之后才使用这些信息。例如,在用户设备102分析面部特征的传感器数据以认证用户114的情况下,传感器数据包含在安全管道中且无法从此安全管道移除,其中所述安全管道包括安全相机管道、管理程序110和图像处理器(下文描述)。同样,嵌入无法离开此安全管道,而是存储在安全存储单元106中并且不能被检索以供在安全存储单元106之外使用。个别用户可以持续控制哪些程序可以或哪些程序不可以对传感器数据进行操作。另外,收集的信息可能会在将其传输、存储或以其它方式使用之前以一种或多种方式进行预处理,以便移除个人可辨识信息。例如,在用户设备102与另一设备共享传感器数据(例如,为了训练在另一设备处执行的模型)之前,用户设备102可以预处理传感器数据,以确保移除了嵌入在数据中的任何用户辨识信息或设备辨识信息。因此,用户可以控制是否收集关于用户和用户设备的信息,以及如果收集到这些信息,计算设备和/或远程计算系统可以如何使用这些信息。
更详细地,考虑图2,图2说明了可以实施面部认证嵌入迁移和偏移补偿的用户设备102的示例实施方案200。图2的用户设备102通过各种示例设备说明,包括智能电话102-1、平板计算机102-2、膝上型计算机102-3、台式计算机102-4、计算手表102-5、计算眼镜102-6、游戏系统102-7、家庭自动化和控制系统102-8以及微波炉102-9。用户设备102还可以包括其它设备,例如电视机、娱乐系统、音频系统、汽车、无人机、触控板、绘图板、上网本、电子阅读器、家庭安全系统和其它家用电器。应注意,用户设备102可以是可穿戴的、不可穿戴的,但可移动或相对固定的(例如,台式机和家用电器)。
用户设备102还可以包括一个或多个处理器202和一个或多个计算机可读介质204,所述一个或多个计算机可读介质包括存储器介质和存储介质。实施为计算机可读介质204上的计算机可读指令的应用和/或操作系统210可以由计算机处理器202执行,以提供本文所描述的一些或全部功能。例如,计算机可读介质204可以包括面部识别模块112以及由在用户设备102上执行的操作系统210的管理程序110管理的多个版本的固件,例如当前版本的固件206和更新版本的固件208。每个版本的固件包括机器学习模型,所述机器学习模型被训练以从所捕获图像数据生成嵌入。面部识别模块112可以根据管理程序110加载哪个版本的固件来调用不同的机器学习模型。计算机可读介质204包括安全存储单元106,用户空间中的进程或应用不能访问所述安全存储单元。
安全存储单元106被配置成存储用于隐私控制的安全数据(例如,用户凭证),例如解锁用户设备102的控件(包括面部认证数据、口令/密码信息、指纹数据等)。尽管此安全数据可以用于使用面部认证、口令/密码认证、指纹认证等来认证用户114以解锁用户设备102,但是安全数据无法获得关于用户114的个人信息。具体来说,用户114无法由安全数据辨识。相反,安全数据仅用于确定从尝试解锁电话的用户接收的数据是否与所存储的简档数据匹配,其中所述简档数据表示在用户设备102上设置安全性的用户。在示例中,从用户面部的所捕获图像生成的嵌入是用户114的面部特征的数值向量表示。这些嵌入仅用于与新嵌入进行比较以定位匹配,其中所述新嵌入从在面部认证尝试期间捕获的图像生成。
用户设备102还可以包括网络接口212。用户设备102可以使用网络接口212来通过有线、无线或光学网络传送数据。作为示例而非限制,网络接口212可以通过局域网(LAN)、无线局域网(个域网PAN)、广域网(WAN)、内联网、互联网、对等网络、点对点网络,或网状网络传送数据。
认证系统108的各种实施方案可以包括片上系统(SoC)、一个或多个集成电路(IC)、具有嵌入式处理器指令或被配置成访问存储在存储器中的处理器指令的处理器、具有嵌入式固件的硬件、具有各种硬件组件的印刷电路板,或它们的任何组合。如下文进一步详细描述,认证系统108可以在安全模式下将从用户114接收的认证数据与存储在安全存储单元106中的安全数据进行比较,以认证用户114来解锁用户设备102。在一些方面中,认证系统108使用从NIR相机系统104获得的图像数据生成认证数据并将认证数据提供给安全存储单元106,以使安全存储单元106能够将认证数据与存储的安全数据进行比较并且确定是否匹配。
实施NIR相机系统104以捕获可用于生成对象(例如,用户的面部)的三维深度图的IR图像数据。下文关于图3描述其它细节。
用户设备102还可以包括一个或多个传感器214。所述一个或多个传感器214可以包括多种传感器中的任一个,例如音频传感器(例如麦克风)、触摸输入传感器(例如、触摸屏)、图像捕获设备(例如,相机或摄像机)、接近传感器(例如,电容式传感器)或环境光传感器(例如,光电探测器)。在至少一些实施方案中,用户设备102可以包括雷达系统(未示出)以检测用户114与用户设备102的接近度,并且基于所述接近度,启动一个或多个组件和/或功能,例如启动NIR相机系统104和认证系统108以发起面部认证的尝试。
用户设备102还可以包括显示设备216。显示设备216可以包括任何合适的显示设备,例如触摸屏、液晶显示器(LCD)、薄膜晶体管(TFT)LCD、原位切换(IPS)LCD、电容式触摸屏显示器、有机发光二极管(OLED)显示器、有源矩阵有机发光二极管(AMOLED)显示器、超级AMOLED显示器等。
图3更详细地说明图1和图2的认证系统108和NIR相机系统104的示例实施方案300。认证系统108包括面部识别模块112、处理器单元302和安全存储单元106,或与它们通信。
处理器单元302配置有图像处理单元(IPU)和张量处理单元(TPU)两者的功能。具体来说,处理器单元302被配置用于数字图像输入的图像处理以及用于神经网络机器学习。本质上,处理器单元302是IPU和人工智能加速器专用集成电路(ASIC)(例如,TPU)的组合。具体来说,处理器单元302被配置成通过使用在近红外光谱中捕获的人脸图像作为机器学习模型的输入来生成用于面部认证的嵌入。
NIR相机系统104包括点投影仪304、泛光照明器306和一个或多个NIR相机传感器308。泛光照明器306用NIR光照射对象,并且NIR相机传感器308各自基于NIR光捕获对象的图像。点投影仪304将数千个NIR点投影到对象上并且NIR相机传感器308各自捕获所得点图案的图像。认证系统108的处理器单元302读取图像和点图案并且生成三维面部图。当使用多个(例如,两个)NIR相机时,处理器单元302计算不同所捕获图像上的匹配点之间的差异,这为各个像素提供深度并增强三维面部图的准确性。
下文更详细地阐述这些以及其它能力和配置,以及图1到图3的实体起作用和相互作用的方式。这些实体可以进一步进行划分、组合等。图1的环境100、图2和图3的实施方案200和300以及图4到图11的详细说明示出了能够采用所描述技术的许多可能环境和设备中的一些环境和设备。
图4到图6说明了相对于固件更新的面部认证嵌入迁移的示例实施方案400、500和600。首先,用户例如经由空中(OTA)传输将用户设备102(来自图1和图2)更新到系统图像,所述系统图像包括当前版本的固件206(来自图2)(例如固件1 402)以及更新版本的固件208(来自图2)(例如,固件2 404)。在面部认证尝试期间,管理程序110进入安全会话并且将固件1 402加载到尝试认证用户114的认证系统108中。在注册期间使用固件1 402创建过与第一简档(例如,简档-1 408)(也称为注册简档)相对应的注册嵌入集合406(例如,406-1、406-2、406-3、…406-n)。例如,面部识别模块112将包括简档身份(ID)的消息410发送到用户设备102的操作系统210的管理程序110。消息410还可以包括由NIR相机系统104捕获的图像412(例如,图像数据)。简档ID可以通过面部识别模块112缓存,所述面部识别模块管理用户设备102上的用户简档。面部识别模块112可以使简档ID与嵌入版本(例如,基于特定版本的固件或用户面部的生物特征偏移而生成的嵌入版本)相关联。
管理程序110将图像412传递到处理器单元302,所述处理器单元将固件1 402应用于图像412以生成一个或多个嵌入414。在至少一个方面中,处理器单元302将其输出直接训练为紧凑的128维嵌入。
在面部认证尝试期间创建的嵌入414(例如,此嵌入)用于与注册嵌入406相比较,并且在本文中称为比较嵌入414。因为嵌入是向量,所以向量距离可以用于计算两个向量之间的相似度。将比较嵌入414传递到安全存储单元106,所述安全存储单元尝试定位匹配,或定位在向量距离的阈值内匹配的至少基本匹配。安全存储单元106经由处理器单元302将认证状态416(例如,匹配或不匹配)返回到管理程序110,并且管理程序110将认证状态416传递到用户空间以解锁用户设备102。在所说明的示例中,安全存储单元106找到与比较嵌入414匹配的匹配注册嵌入406-3。另外,安全存储单元106使最后认证的用户ID与刚认证的简档-1 408的用户ID相关联。
在将用户设备102更新到包括当前版本的固件和更新版本的固件两者的系统图像之后的某个时刻,认证系统108将创建新简档(例如,简档-2 420)的请求发送到安全存储单元106。此新简档也称为迁移简档并且对应于新简档ID。在所说明的示例中,已创建简档-2420,但所述简档目前为空(例如,尚未针对此新简档-2 420生成或存储新嵌入422)。另外,安全存储单元106使简档-2 420与最后认证的用户ID相关联,以便使简档-2 420和与简档-1 408相同的用户相关。
继续图5,在认证用户114之后并且在同一安全会话期间,管理程序110触发固件2404以通过在认证尝试期间收集的同一图像数据(例如,图像412)的情况下运行注册更新。例如,管理程序110可以将信号或消息传输到处理器单元302,以使用固件2 404来基于图像412生成一个或多个新嵌入422。由于更新固件2 404中的差异,这些新嵌入422中的一些可能与当前固件1 402不兼容。新嵌入422存储在安全存储单元106中与注册嵌入集合406分开的位置中。例如,在图5中,注册嵌入406-3被辨识为与由固件1 402使用图像412产生的比较嵌入414匹配。然后,当固件2 404在图像412上运行时,所得新嵌入作为嵌入422-3存储在简档-2 420中。此新嵌入422-3可以称为迁移嵌入。安全存储单元106将指示已在简档-2 420中注册了新嵌入422-3的状态502返回到管理程序110。状态502还指示新注册是否已满,使得简档-2 420准备好(例如,充分完成)以用于认证用户114。通过仅少量(例如,1到10个)新嵌入,简档-2 420可能不可用于以高置信度认证用户114。因此,可能需要更多的新嵌入422以填充简档-2 420。
在迁移嵌入存储在简档-2 420中之后,安全存储单元106重置最后认证的用户ID。随后,安全会话结束,例如管理程序110退出安全会话。
为了收集额外的新嵌入422,响应于一系列连续的面部认证尝试,此过程在一段时间内重复(例如贯穿一个星期),或重复满足时间阈值的次数(例如,五十次)。在这些后续的成功面部认证尝试期间,针对对应于简档-1 408的注册嵌入集合406来认证用户114,并且使用更新固件(即固件2 404)生成额外的新嵌入(例如,嵌入422-1、422-2、…422-n)。但是,在每次面部认证尝试期间,新嵌入不一定存储为简档-2 420的一部分。例如,如果安全存储单元106确定新嵌入与已存储在迁移区中的另一新嵌入基本相同,则该新嵌入被确定为重复的且不进行保存。
当足够量或数目的新嵌入422生成并存储在简档-2 420中时,安全存储单元106然后返回指示简档-2 420足够完整(基本上填充了简档-2 420的所有的(例如,百分之九十五的)嵌入)的状态502。而且,安全存储单元106确定简档-2 420是否可以已经用于在此最近的认证尝试期间认证用户。如果不是,则在生成可以替代先前存储的嵌入422以改进简档-2420的额外新嵌入422之后,在下一面部认证尝试期间重复此确定。
但是,如果可以已经针对简档-2 420认证用户114,则继续图6,将简档-2 420保存为注册简档以用于后续面部认证尝试。另外,认证系统108通过删除注册嵌入集合406来清除简档-1 408。在后续成功面部认证尝试期间,认证系统108不再使用固件1 402,而是仅依赖于固件2 404来认证用户114。在一些方面中,可以删除固件1 402。
原始注册过程试图通过从多个角度捕获嵌入来填充简档的嵌入空间。但是,可能无法从每个角度捕获迁移嵌入(例如,新嵌入422),因为认证系统108不会提示用户114从不同姿势捕获图像412。这并不意味着该迁移无法覆盖与原始注册一样大的嵌入空间。相反,与使用较短时间窗(例如,一分钟、30秒)来捕获用户面部的多个不同角度的原始注册相比,迁移注册不限于此短时间帧,而是可以在几天内捕获嵌入。在不同的日子或一天的不同时间,环境照明条件可能在各个认证尝试中变化。由于在变化的条件下捕获嵌入,因此它们可能覆盖比原始注册大得多的嵌入空间,并且也更能指示用户的实际行为。
在迁移的过程中(例如,在使用当前固件1 402的多个不同的面部认证尝试期间,在后台根据更新固件2 404生成并存储新嵌入),认证系统108监测新嵌入以避免重复数据。例如,为了避免嵌入的不必要重复,认证系统108基于与距离阈值相比的不同嵌入值之间的距离而确定要存储哪些嵌入。这提供彼此足够不同的嵌入,从而使用户114能够在各种环境照明条件或用户设备102相对于用户面部的各种定向的情况下,或不管环境照明条件或用户设备102相对于用户面部的定向如何都能够解锁用户设备102。
这些技术提供用于跨越固件的各个组合迁移各种简档的简单迁移方案。此外,固件可以在更新时保持相对固定的大小。此外,这些技术在验证用户简档ID的关键路径上不需要额外的延迟成本。
图7和图8说明了用于校正生物特征偏移的偏移补偿的面部认证嵌入迁移的示例实施方案700和800。如上文所提及,由于用户面部随时间发生逐渐变化(例如,胡须生长、老化、新眼镜等),解锁成功率可能会随着时间的推移而降低,因为在面部认证尝试期间生成的嵌入可能会偏离在注册时创建的存储嵌入。相对于图7和图8描述的示例实施方案700和800说明了一种基于用户面部的逐渐变化无缝地生成新的偏移简档的方式,而不需要要求用户114在用于面部认证的设置过程中重新注册。
在示例实施方案700中,管理程序110使用处理器单元302中的固件1 402来以类似于相对于图6描述的方式认证用户114。管理程序110接收来自面部识别模块112的消息410,所述消息包括用于面部认证尝试的简档ID(例如,简档-1 408)以及可选迁移简档ID(例如,简档-2 420)。管理程序110触发处理器单元302将固件1 402应用于图像412,以生成比较嵌入414。将比较嵌入414传递到安全存储单元106以定位对应于简档-1 408的匹配注册嵌入406。处理器单元302经由处理器单元302将认证状态416返回到管理程序110,以指示认证成功或失败。管理程序110然后将认证状态416返回到用户空间。如果认证成功,则面部识别模块112可以通过将简档(例如,简档-1 408和简档-2 420)与相同用户ID绑定在一起而触发新简档(例如,简档-2 420)打开以进行迁移。
如果比较嵌入414通过验证,但大于距匹配注册嵌入406的阈值距离,则比较嵌入414作为偏移嵌入702存储在迁移简档中。在所说明示例中,比较嵌入414基本上匹配足以进行认证的注册嵌入406-3。但是,“匹配”可能不是相同的。尽管比较嵌入414与注册嵌入406-3足够相似而被视为用于认证的匹配,但是该比较嵌入与注册嵌入406-3又足够不同而被视为与在注册时的用户的生物特征“偏移”。一系列距离值可以用于例如通过使用由较低阈值距离和较高阈值距离定界的范围来确定比较嵌入414是否偏移。在各方面中,较高阈值距离可以指示嵌入被视为匹配的可接受的最大差异。较低阈值距离可以指示比较嵌入414被视为不仅匹配,而且还偏离了注册嵌入的可接受的最小嵌入值差。如果比较嵌入414落入此范围(例如,在较低阈值距离与较高阈值距离之间)内,则将所述比较嵌入迁移到新的迁移简档并且向其分配新版本号。阈值距离还可以称为阈值差,这是因为它的值表示两个向量(例如,嵌入)之间的差。在所说明的示例中,比较嵌入414是注册嵌入406-3(即版本1.0)的偏移版本,并且因此作为嵌入702-3存储在迁移简档-2 420中,即版本1.1。
继续图8中的实施方案800,额外偏移嵌入(例如,偏移嵌入702-1和702-2)随时间进行收集并且存储在对应于简档-2 420的迁移区中。以此方式,在一段时间内(例如一周、两周,一个月等)缓慢地构建简档-2 420,以考虑用户面部的逐渐变化。在多个偏移嵌入702存储在简档-2 420中之后,用户设备102可以触发嵌入区的合并。例如,可以基于对应于两个简档的匹配用户ID来将简档-1 408与简档-2 420匹配。在合并时,如果简档-2 420包括任何空的嵌入空间,则通过合并来自简档-1 408的对应嵌入,可以用对应注册嵌入来填充所述空的嵌入空间。例如,版本1.0的注册嵌入406-n存储在简档-2 420中的对应位置中。通过删除注册嵌入406来移除简档-1 408。此外,简档-2 420然后用于连续面部认证尝试中的用户认证。
嵌入迁移的一个挑战是来自固件更新的不良迁移有增加错误识别率的风险。为了避免增加面部认证的错误识别率,认证令牌可以用于发起嵌入迁移,而不是辨识比较嵌入414中的生物特征偏移,或除了辨识比较嵌入414中的生物特征偏移之外发起嵌入迁移。返回到图7,在示例实施方案中,由管理程序110从面部识别模块112接收的消息410包括注册迁移命令以及注册嵌入的简档ID(例如,简档-1 408)、迁移区的简档ID(例如,简档-2420),以及认证令牌。处理器单元302基于固件1 402和图像412生成要注册的嵌入。处理器单元302将信息704发送到安全存储单元106。信息704包括注册嵌入的简档ID、迁移区的简档ID、认证令牌以及嵌入版本。安全存储单元106将认证令牌的用户ID与注册嵌入406的用户ID相比较,并且随后将迁移简档(例如,简档-2 420)锁定到所述用户ID。
安全存储单元106选择要替代的嵌入。在所说明的示例中,安全存储单元106选择注册嵌入406-3以进行替代。然后,根据新嵌入版本(例如,版本1.1),安全存储单元106将新嵌入(例如,比较嵌入414)作为嵌入702-3存储在迁移区中。在一系列后续面部认证尝试期间,随时间添加额外的新嵌入702。如上所述,基于存储在迁移区中的多个新嵌入702,用户设备102可以触发嵌入区的合并。结果,指定的简档-1 408与简档-2 420合并,所述简档-2420对应于与简档-1 408的用户ID匹配的用户ID。然后,通过删除注册嵌入集合406来擦除简档-1 408。
示例方法
图9描绘了用于迁移面部认证简档数据(例如嵌入)的示例方法900。方法900可以由用户设备102执行,所述用户设备使用认证系统108(包括处理器单元302),以使用由NIR相机系统104获得的图像数据以及存储在安全存储单元106中的嵌入集合来执行面部认证尝试。
方法900被示为一框集合,所述框集合指定所执行的操作但不一定限于所示的用于由各个框执行操作的次序或组合。此外,可以重复、组合、重组或链接任何一个或多个操作,以提供各种各样的额外和/或替代方法。在以下讨论的部分中,可以参考仅作为示例参考的图1的示例环境100,或如图2到图8中详述的实体或过程。技术不限于在一个设备上操作的一个实体或多个实体的执行。
在902处,更新用户设备以包括第一版本的固件以及第二版本的固件两者。第二版本的固件(例如,固件2 404)是第一版本(例如,固件1 402)的更新版本。在各方面中,将用户设备102更新到包括第一版本和第二版本的固件两者的系统图像,使得可以在同一安全会话期间加载两个版本的固件。
在904处,发起安全会话。例如,管理程序110进入安全会话,以在NIR相机系统104与认证系统108之间传递信息和数据。
在906处,在面部认证尝试期间捕获用户的图像。在示例中,面部识别模块112启动NIR相机系统104,以在安全模式下操作并且使用点投影仪304、泛光照明器306和NIR相机308捕获用户面部的一个或多个图像412。将所得图像数据(例如,图像412)传递到用户设备102的操作系统210的管理程序110以进行面部认证,并且管理程序110将图像数据传递到处理器单元302。
在908处,加载第一版本的固件。例如,管理程序110触发处理器单元302以加载第一版本的固件。管理程序110可以基于从面部识别模块112接收的简档ID而指定第一版本的固件。
在910处,第一版本的固件用于生成比较数据。例如,管理程序110使用在处理器单元302中加载的第一版本(例如,固件1 402)的固件,以从图像412生成比较数据,例如比较嵌入414。此比较嵌入414能够用于与和简档ID相关联地存储的注册嵌入集合406进行比较。
在912处,安全存储单元将比较数据与对应于第一简档的注册嵌入集合相比较。例如,运行安全模式的安全存储单元106接收比较嵌入414和简档ID,并且使用简档ID来辨识注册嵌入集合406。然后,安全存储单元106尝试定位在注册嵌入集合406中的与比较嵌入414基本上匹配的一个或多个嵌入。
在914处,安全存储单元确定比较数据(例如,比较嵌入414)是否基本上匹配注册嵌入中的一个或多个注册嵌入。安全存储单元106可以通过在阈值距离内的可测量量(例如,向量距离)来确定来自注册嵌入集合406的嵌入基本上匹配比较嵌入414。如果不匹配,则在916处,安全存储单元将失败状态返回到管理程序110。为了维持安全性,离开安全存储单元的信息可以限于指示匹配(例如,“真(True)”)或不匹配(例如,“假(False)”)的认证状态,这指代比较嵌入414是否基本上匹配注册简档(例如,简档-1 408)中的注册嵌入406。
但是,如果安全存储单元辨识出在注册嵌入集合中的基本上匹配比较数据的匹配嵌入,则过程前进到图10中的918。在918处,基于辨识出的匹配,处理器单元加载第二版本的固件。例如,在将认证状态416传递到管理程序110以指示图像数据的验证之后,处理器单元302加载固件2 404以发起迁移工作流。
在920处,处理器单元使用第二版本的固件以从图像生成新嵌入。由于使用第一版本的固件认证图像数据,因此现在由第二版本的固件出于迁移目的而使用相同图像数据。因此,处理器单元302使用固件2 404在图像数据(例如,图像412)上生成新嵌入。
在922处,安全存储单元将新嵌入存储为第二简档的一部分。例如,安全存储单元106将新嵌入存储在迁移区中,所述迁移区是与注册区(例如,注册嵌入集合)分开的位置,并且使新嵌入与迁移简档ID(例如,简档-2 420)相关联。现在可以将新嵌入视为与迁移简档相关联的迁移嵌入。
在924处,安全存储单元确定第二简档是否足够完整,以能够用于以高置信度认证用户。在各方面中,安全存储单元106可以检查存储在与简档-2 420相关联的迁移区中的新嵌入数目,以确定简档-2 420的完整性水平。另外,每当重复过程时,安全存储单元106可以确定是否已经可以使用简档-2 420中的新嵌入422可靠地认证用户。如果第二简档不够完整(例如,“否(NO)”),则在926处,安全存储单元经由处理器单元将指示第二简档尚未准备好用于面部认证的状态返回到管理程序。
在928处,管理程序退出安全会话。在后续面部认证尝试期间,方法返回到图9的904以重复904到924的操作。如果安全存储单元确定第二简档足够完整,使得第二简档准备好用于可靠地认证用户(例如,“是(YES)”),则方法前进到930。
在930处,管理程序退出安全会话。在932处,擦除注册嵌入集合。删除注册嵌入集合释放安全存储单元106中的有限存储空间,并且防止安全存储单元106使用过时嵌入。
在934处,内核停止使用第一版本的固件并且在后续面部认证尝试中仅使用第二版本的固件,直到再次更新用户设备为止。例如,面部识别模块112管理简档ID并且为后续面部认证尝试指定简档-2 420,从而现在将简档-2 420以及其对应的迁移嵌入视为注册简档和注册嵌入。
通常,本文所描述的任何组件、模块、方法和操作可以使用软件、固件、硬件(例如,固定逻辑电路系统)、手动处理或它们的任何组合来实施。可以在存储在计算机处理系统本地的和/或远程的计算机可读存储存储器上的可执行指令的一般上下文中描述示例方法的一些操作,并且实施方案可以包括软件应用、程序、功能等。替代地或另外,本文描述的任何功能可以至少部分地由一个或多个硬件逻辑组件执行,例如但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SoC)、复杂可编程逻辑设备(CPLD)等。
示例计算系统
图11说明了示例计算系统1100的各种组件,所述计算系统可以实施为如参考先前的图1到图10描述的任何类型的客户端、服务器和/或电子设备以实施面部认证嵌入迁移和偏移补偿。
计算系统1100包括通信设备1102,所述通信设备实现设备数据1104(例如,雷达数据、认证数据、参考数据、所接收数据、正接收的数据、调度用于广播的数据,以及数据的数据包)的有线和/或无线通信。设备数据1104或其它设备内容可以包括设备的配置设置、存储在设备上的媒体内容,和/或与设备的用户相关联的信息(例如,雷达场内的人员的身份或定制的空中手势数据)。存储在计算系统1100上的媒体内容可以包括任何类型的雷达、生物特征、音频、视频和/或图像数据。计算系统1100包括一个或多个数据输入1106,可以经由所述一个或多个数据输入接收任何类型的数据、媒体内容和/或输入,例如人类话语、与雷达场的交互、触摸输入、用户可选择的输入或交互(显式或隐式)、消息、音乐、电视媒体内容、录制的视频内容以及从任何内容和/或数据源接收的任何其它类型的音频、视频和/或图像数据。
计算系统1100还包括通信接口1108,所述通信接口可以实施为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器中的任何一个或多个,以及任何其它类型的通信接口。通信接口1108提供计算系统1100与通信网络之间的连接和/或通信链路,其中其它电子、计算和通信设备通过所述通信网络与计算系统1100传送数据。
计算系统1100包括一个或多个处理器1110(例如,微处理器、控制器或其它控制器中的任一个),所述一个或多个处理器可以处理各种计算机可执行指令以控制计算系统1100的操作并启用用于面部认证嵌入迁移和偏移补偿的技术或启用其中可以实施面部认证嵌入迁移和偏移补偿的技术。替代地或另外地,计算系统1100可以用结合了处理和控制电路(这些电路通常被标识为1112)而实施的硬件、固件或固定逻辑电路中的任何一个或它们的组合来实施。虽然未示出,但是计算系统1100可以包括耦合设备内的各种组件的系统总线或数据传递系统。系统总线可以包括不同总线结构中的任何一种或组合,例如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任一种的处理器或本地总线。
计算系统1100还包括计算机可读介质1114,例如实现持久和/或非暂时性数据存储(与仅仅信号传输相反)的一个或多个存储器设备,所述存储器设备的示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存存储器、EPROM、EEPROM等中的任何一个或多个)和磁盘存储设备。磁盘存储设备可以实施为任何类型的磁性或光学存储设备,例如硬盘驱动器、可记录和/或可重写光盘(CD)、任何类型的数字多功能盘(DVD)等。计算系统1100还可以包括大容量存储介质设备(存储介质)1116。
计算机可读介质1114提供数据存储机构,以存储设备数据1104,以及各种设备应用1118和与计算系统1100的操作方面相关的任何其它类型的信息和/或数据。例如,操作系统1120可以作为具有计算机可读介质1114的计算机应用来维护并且在处理器1110上执行。设备应用1118可以包括设备管理器,例如任何形式的控制应用、软件应用、信号处理和控制模块、特定设备固有的代码、抽象模块、空中手势辨识模块和其它模块。设备应用1118还可以包括系统组件、引擎、模块或管理器以实施面部认证嵌入迁移。计算系统1100还可以包括或访问一个或多个机器学习系统。
下文描述若干示例。
示例1.一种由用户设备执行的在所述用户设备中迁移面部认证简档数据的方法,所述方法包括:更新所述用户设备以包括当前版本的固件和更新版本的固件两者;在所述更新之后,接收面部认证尝试的指示以及与用户面部相关联的图像数据;在同一安全会话中加载所述当前版本的固件和所述更新版本的固件两者;执行所述当前版本的固件以使用所述图像数据来生成比较数据;基于与第一简档基本上匹配的所述比较数据来认证所述用户以解锁所述用户设备,所述第一简档基于注册嵌入集合,所述注册嵌入先前使用所述当前版本的固件在所述用户面部的先前捕获的图像数据上生成;响应于认证所述用户以解锁所述用户设备,通过执行所述更新版本的固件和所述所捕获图像数据来生成一个或多个新嵌入;以及将所述一个或多个新嵌入存储在与所述注册嵌入集合分开的位置处,所述一个或多个新嵌入被存储为所述用户的第二简档的一部分。
示例2.根据示例1所述的方法,还包括通过在一系列后续成功的面部认证尝试中重复地执行所述更新版本的固件来生成额外的新嵌入,直到生成并存储足够量的所述新嵌入以使得所述第二简档能够用于认证所述用户。
示例3.根据前述示例中的任一项所述的方法,其中,每个嵌入包括表示所述用户面部的一个或多个特征的n维向量。
示例4.根据前述示例中的任一项所述的方法,还包括:确定所述第二简档准备好用于后续认证所述用户以解锁所述用户设备;以及执行所述更新版本的固件以针对所述第二简档认证所述用户。
示例5.根据示例4所述的方法,还包括响应于所述确定,删除所述第一简档和所述注册嵌入集合。
示例6.根据前述示例中的任一项所述的方法,其中,根据所述更新版本的固件来构建所述第二简档,而不需要所述用户在用于面部认证的设置过程中使用所述更新版本的固件进行重新注册。
示例7.根据前述示例中的任一项所述的方法,还包括基于所述一个或多个新嵌入与所述注册嵌入集合中的对应嵌入之间的兼容性以及差量来确定所述一个或多个新嵌入中的哪些新嵌入将被存储为所述第二简档的一部分。
示例8.根据前述示例中的任一项所述的方法,其中:所述当前版本的固件包括第一机器学习模型,训练所述第一机器学习模型以生成所述注册嵌入集合;并且通过所述更新版本的固件的第二机器学习模型生成所述一个或多个新嵌入。
示例9.根据示例8所述的方法,其中,所述一个或多个新嵌入中的至少一个与所述当前版本的固件的所述第一机器学习模型不兼容。
示例10.根据前述示例中的任一项所述的方法,其中:所述图像数据是在安全模式下由所述用户设备的近红外相机系统捕获的。
示例11.根据前述示例中的任一项所述的方法,其中:所述第一简档存储在安全存储单元中;并且所述一个或多个新嵌入的所述存储包括将所述一个或多个新嵌入存储在所述安全存储单元中。
示例12.一种能够迁移面部认证嵌入的用户设备,所述用户设备包括管理程序、处理器单元和安全存储单元,所述管理程序、所述处理器单元和所述安全存储单元共同地被配置成执行根据前述示例中的任一项所述的方法。
示例13.一种在用户设备中迁移面部认证简档数据以进行偏移补偿的方法,所述方法包括:通过所述用户设备的管理程序接收与用户面部的面部认证尝试相关联的简档身份和图像数据;通过所述管理程序指定所述简档身份和可选迁移简档;通过处理器单元使用所述图像数据来生成新嵌入;基于所述新嵌入认证所述用户以解锁所述用户设备,所述新嵌入与来自对应于所述简档身份的注册嵌入集合的注册嵌入基本上匹配;确定所述新嵌入与所述注册嵌入相差的量在由第一阈值差和第二阈值差定界的范围内,所述第一阈值差表示视为匹配的可接受的最大差异,所述第二阈值差小于所述第一阈值差并且表示视为偏移的可接受的最小差异;以及基于所述确定,将所述新嵌入作为偏移嵌入存储在对应于所述迁移简档的迁移区中。
示例14.根据示例13所述的方法,其中,将所述偏移嵌入存储为所述基本上匹配的注册嵌入的替代。
示例15.根据示例13或示例14中的任一项所述的方法,还包括:响应于一系列成功的面部认证尝试而存储额外的偏移嵌入,直到触发所述简档身份与所述迁移简档合并。
示例16.根据示例15所述的方法,还包括触发安全存储单元将所述简档身份与所述迁移简档合并,以使所述迁移简档中的空嵌入空间用来自所述简档身份的所述注册嵌入集合中的对应注册嵌入填充。
示例17.根据示例16所述的方法,其中,基于所述简档身份被合并到所述迁移简档中,删除所述简档身份的所述注册嵌入集合并且将所述迁移简档用作用于后续面部认证尝试的注册简档。
示例18.根据示例13至17中的任一项所述的方法,其中,所述图像数据是在安全模式下由所述用户设备的近红外相机系统捕获的。
示例19.根据示例13至18中的任一项所述的方法,其中,所述认证、所述确定和所述存储由安全存储单元执行。
示例20.一种能够迁移面部认证嵌入的用户设备,所述用户设备包括管理程序、处理器单元和安全存储单元,所述管理程序、所述处理器单元和所述安全存储单元共同地被配置成执行根据示例13至19中的任一项所述的方法。
结论
尽管已经以特定于特征和/或方法的语言描述用于实现面部认证嵌入迁移和偏移补偿的技术和设备的实施方案,但是应当理解,所附权利要求书的主题未必限于所描述的特定特征或方法。相反,特定特征和方法被公开为面部认证嵌入迁移和偏移补偿的示例实施方案。
Claims (15)
1.一种在用户设备中迁移面部认证简档数据的方法,所述方法包括:
更新所述用户设备以包括当前版本的固件和更新版本的固件两者;
在所述更新之后,接收面部认证尝试的指示以及与用户面部相关联的图像数据;
在同一安全会话中加载所述当前版本的固件和所述更新版本的固件两者;
执行所述当前版本的固件以使用所述图像数据来生成比较数据;
基于与第一简档基本上匹配的所述比较数据来认证所述用户以解锁所述用户设备,所述第一简档基于注册嵌入集合,所述注册嵌入先前使用所述当前版本的固件在所述用户面部的先前捕获的图像数据上生成;
响应于认证所述用户以解锁所述用户设备,通过执行所述更新版本的固件和所捕获图像数据来生成一个或多个新嵌入;以及
将所述一个或多个新嵌入存储在与所述注册嵌入集合分开的位置处,所述一个或多个新嵌入被存储为所述用户的第二简档的一部分。
2.根据权利要求1所述的方法,还包括通过在一系列后续成功的面部认证尝试中重复地执行所述更新版本的固件来生成额外的新嵌入,直到生成并存储足够量的所述新嵌入以使得所述第二简档能够用于认证所述用户。
3.根据前述权利要求中的任一项所述的方法,其中,每个嵌入包括表示所述用户面部的一个或多个特征的n维向量。
4.根据前述权利要求中的任一项所述的方法,还包括:
确定所述第二简档准备好用于后续认证所述用户以解锁所述用户设备;以及
执行所述更新版本的固件以针对所述第二简档认证所述用户。
5.根据权利要求4所述的方法,还包括响应于所述确定,删除所述第一简档和所述注册嵌入集合。
6.根据前述权利要求中的任一项所述的方法,其中,根据所述更新版本的固件来构建所述第二简档,而不需要所述用户在用于面部认证的设置过程中使用所述更新版本的固件进行重新注册。
7.根据前述权利要求中的任一项所述的方法,还包括基于所述一个或多个新嵌入与所述注册嵌入集合中的对应嵌入之间的兼容性以及差量来确定所述一个或多个新嵌入中的哪些新嵌入将被存储为所述第二简档的一部分。
8.根据前述权利要求中的任一项所述的方法,其中:
所述当前版本的固件包括第一机器学习模型,所述第一机器学习模型被训练以生成所述注册嵌入集合;并且
所述一个或多个新嵌入通过所述更新版本的固件的第二机器学习模型生成。
9.根据权利要求8所述的方法,其中,所述一个或多个新嵌入中的至少一个与所述当前版本的固件的所述第一机器学习模型不兼容。
10.一种能够迁移面部认证嵌入的用户设备,所述用户设备包括管理程序、处理器单元和安全存储单元,所述管理程序、所述处理器单元和所述安全存储单元共同地被配置成执行根据前述权利要求中的任一项所述的方法。
11.一种在用户设备中迁移面部认证简档数据以进行偏移补偿的方法,所述方法包括:
通过所述用户设备的管理程序接收与用户面部的面部认证尝试相关联的简档身份和图像数据;
通过所述管理程序指定所述简档身份和可选迁移简档;
通过处理器单元使用所述图像数据来生成新嵌入;
基于所述新嵌入来认证所述用户以解锁所述用户设备,所述新嵌入与来自与所述简档身份对应的注册嵌入集合的注册嵌入基本上匹配;
确定所述新嵌入与所述注册嵌入相差的量在由第一阈值差和第二阈值差定界的范围内,所述第一阈值差表示视为匹配的可接受的最大差异,所述第二阈值差小于所述第一阈值差并且表示视为偏移的可接受的最小差异;以及
基于所述确定,将所述新嵌入作为偏移嵌入存储在对应于所述迁移简档的迁移区中。
12.根据权利要求11所述的方法,其中,所述偏移嵌入被存储为所述基本上匹配的注册嵌入的替代。
13.根据权利要求11或权利要求12中的任一项所述的方法,还包括:
响应于一系列成功的面部认证尝试而存储额外的偏移嵌入,直到触发所述简档身份与所述迁移简档合并。
14.根据权利要求13所述的方法,还包括触发安全存储单元将所述简档身份与所述迁移简档合并,以使所述迁移简档中的空嵌入空间用来自所述简档身份的所述注册嵌入集合中的对应注册嵌入填充。
15.根据权利要求14所述的方法,其中,基于所述简档身份被合并到所述迁移简档中,删除所述简档身份的所述注册嵌入集合并且将所述迁移简档用作用于后续面部认证尝试的注册简档。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/050245 WO2021050042A1 (en) | 2019-09-09 | 2019-09-09 | Face authentication embedding migration and drift-compensation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113557701A CN113557701A (zh) | 2021-10-26 |
CN113557701B true CN113557701B (zh) | 2023-04-28 |
Family
ID=68051940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980093736.9A Active CN113557701B (zh) | 2019-09-09 | 2019-09-09 | 面部认证嵌入迁移和偏移补偿 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220100831A1 (zh) |
EP (1) | EP3909212A1 (zh) |
CN (1) | CN113557701B (zh) |
WO (1) | WO2021050042A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113545028B (zh) | 2019-09-25 | 2023-05-09 | 谷歌有限责任公司 | 用于面部认证的增益控制 |
CN112912931A (zh) | 2019-10-04 | 2021-06-04 | 谷歌有限责任公司 | 对使用近红外照明器的多个相机的自动校准 |
KR20210074749A (ko) * | 2019-12-12 | 2021-06-22 | 삼성전자주식회사 | 라이브니스 검사 방법 및 라이브니스 검사 장치 |
US11494703B2 (en) * | 2020-02-26 | 2022-11-08 | Opendoor Labs Inc. | Machine learning model registry |
US20220229666A1 (en) * | 2021-01-18 | 2022-07-21 | Vmware, Inc. | Managing deployment model migrations for enrolled devices |
US20230133033A1 (en) * | 2021-11-03 | 2023-05-04 | Robert Bosch Gmbh | System and method for processing a data subject rights request using biometric data matching |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108780477A (zh) * | 2016-03-01 | 2018-11-09 | 谷歌有限责任公司 | 用于免手操交易的面部简档修改 |
CN109145653A (zh) * | 2018-08-01 | 2019-01-04 | Oppo广东移动通信有限公司 | 数据处理方法和装置、电子设备、计算机可读存储介质 |
CN109325327A (zh) * | 2017-08-01 | 2019-02-12 | 苹果公司 | 用于更新在面部识别中所使用的模板的过程 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9721086B2 (en) * | 2013-03-15 | 2017-08-01 | Advanced Elemental Technologies, Inc. | Methods and systems for secure and reliable identity-based computing |
US10614204B2 (en) * | 2014-08-28 | 2020-04-07 | Facetec, Inc. | Facial recognition authentication system including path parameters |
US10115185B2 (en) * | 2014-12-05 | 2018-10-30 | At&T Intellectual Property I, L.P. | Dynamic image recognition model updates |
US9432193B1 (en) * | 2015-02-05 | 2016-08-30 | Sensory, Incorporated | Face-based authentication with situational adaptivity |
US10210381B1 (en) * | 2017-08-01 | 2019-02-19 | Apple Inc. | Multiple enrollments in facial recognition |
-
2019
- 2019-09-09 WO PCT/US2019/050245 patent/WO2021050042A1/en unknown
- 2019-09-09 CN CN201980093736.9A patent/CN113557701B/zh active Active
- 2019-09-09 US US17/439,770 patent/US20220100831A1/en active Pending
- 2019-09-09 EP EP19773633.3A patent/EP3909212A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108780477A (zh) * | 2016-03-01 | 2018-11-09 | 谷歌有限责任公司 | 用于免手操交易的面部简档修改 |
CN109325327A (zh) * | 2017-08-01 | 2019-02-12 | 苹果公司 | 用于更新在面部识别中所使用的模板的过程 |
CN109145653A (zh) * | 2018-08-01 | 2019-01-04 | Oppo广东移动通信有限公司 | 数据处理方法和装置、电子设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3909212A1 (en) | 2021-11-17 |
CN113557701A (zh) | 2021-10-26 |
US20220100831A1 (en) | 2022-03-31 |
WO2021050042A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113557701B (zh) | 面部认证嵌入迁移和偏移补偿 | |
CN107665426B (zh) | 使用生物特征认证进行支付的方法和电子设备 | |
CN111652615B (zh) | 基于区块链大数据的安全识别方法及人工智能云服务平台 | |
US10860875B2 (en) | Device and method to register user | |
US10601840B2 (en) | Security determination | |
US10339334B2 (en) | Augmented reality captcha | |
US20180096497A1 (en) | Image validation | |
CN111931153B (zh) | 基于人工智能的身份验证方法、装置和计算机设备 | |
US11544513B1 (en) | Video/animated QR codes | |
CN109597796A (zh) | 文件内容修改方法、装置及计算机可读存储介质 | |
CN108734092A (zh) | 人物认证装置 | |
CN112333165B (zh) | 身份认证方法、装置、设备及系统 | |
CN107924432B (zh) | 电子装置及其变换内容的方法 | |
CN111651731A (zh) | 将实体产品转化为数字资产并存储在区块链上的方法 | |
US20230005122A1 (en) | Image forgery detection via pixel-metadata consistency analysis | |
JP7448664B2 (ja) | メディアコンテンツを検索およびインデックス付けするための埋め込みを共有するためのプライバシー制御 | |
CN101821776A (zh) | 登记装置、认证装置、登记方法和认证方法 | |
WO2022186863A1 (en) | Filtering pulse-width modulated (pwm) noise from a fingerprint image captured with an optical under-display fingerprint sensor (udfps) | |
KR20210078377A (ko) | 얼굴 연속 인증을 위한 방법 및 장치 | |
CN111931152A (zh) | 基于区块链的电子签名校验、电子签名方法及装置 | |
Verma et al. | Fingerprint presentation attack detection in open-set scenario using transient liveness factor | |
US11853825B2 (en) | Video/animated QR codes—privacy | |
US20240020879A1 (en) | Proof-of-location systems and methods | |
WO2018122960A1 (ja) | 撮影者特定システム、撮影者特定方法およびプログラム | |
Vega-Luna et al. | ACCESS SYSTEM USING AN RFID CARD AND FACE VERIFICATION. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |