CN116110135A - 活体检测方法和系统 - Google Patents
活体检测方法和系统 Download PDFInfo
- Publication number
- CN116110135A CN116110135A CN202310090038.1A CN202310090038A CN116110135A CN 116110135 A CN116110135 A CN 116110135A CN 202310090038 A CN202310090038 A CN 202310090038A CN 116110135 A CN116110135 A CN 116110135A
- Authority
- CN
- China
- Prior art keywords
- living body
- equipment
- body detection
- detection model
- preset
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/40—Spoof detection, e.g. liveness detection
- G06V40/45—Detection of the body part being alive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本说明书提供的活体检测方法和系统,获得存储在远程服务器的本地设备对应的活体检测模型和条件输入特征,所述本地设备包括新部署的设备或预设设备集合中的已有设备,所述条件输入特征包括与所述本地设备存在关联关系的关联设备集合的交互特征,然后,获得目标用户的目标用户图像,并将目标用户图像和条件输入特征输入至活体检测模型,得到输出信息,所述输出信息包括所述目标用户的攻击概率,以及基于目标用户的攻击概率,确定目标用户的活体检测结果,并输出活体检测结果;该方案可以提升活体检测的准确率。
Description
技术领域
本说明书涉及活体检测领域,尤其涉及一种活体检测方法和系统。
背景技术
近年来,随着互联网技术的飞速发展,在人脸识别系统中活体检测已经成为不可缺少的一环,通过活体检测可以有限拦截非活体类型的攻击样本。现有的活体检测方法往往可以通过部署在云端的活体检测模型进行活体检测,也可以通过部署在端侧的活体检测模型进行活体检测。
在对现有技术的研究和实践过程中,本申请的发明人发现通过云端的活体检测模型进行活体检测时,对于网络条件有较高的要求,一旦设备处于弱网或无网环境,从而影响云端的活体检测性能,而采用端侧的活体检测模型进行活体检测时,受限于端侧的算力和存储空间,活体检测性能也受到限制,另外,由于模型的复杂度有限,在应用在新场景时,活体检测性能下降的十分明显,因此,导致活体检测的准确率较低。
发明内容
本说明书提供一种准确率更高的活体检测方法和系统。
第一方面,本说明书提供一种活体检测方法,包括:获得存储在远程服务器的所述本地设备对应的活体检测模型和条件输入特征,所述本地设备包括新部署的设备或预设设备集合中的已有设备,所述条件输入特征包括与所述本地设备存在关联关系的关联设备集合的交互特征;获得目标用户的目标用户图像,并将所述目标用户图像和所述条件输入特征输入至所述活体检测模型,得到输出信息,所述输出信息包括所述目标用户的攻击概率;以及基于所述目标用户的攻击概率,确定所述目标用户的活体检测结果,并输出所述活体检测结果。
在一些实施例中,所述关联设备集合包括与目标设备集合相似的相似设备集合或所述本地设备对应的交互设备集合中的一种,所述目标设备集合包括在所述预设设备集合中所述本地设备所属的设备集合,所述交互设备集合包括与所述本地设备相连的预设数量的设备。
在一些实施例中,所述新部署的设备包括新设备或部署在新场景的设备中的至少一种,所述新设备包括预设设备集合中不存在的设备,所述新场景包括预设场景集合中不存在的场景。
在一些实施例中,所述获得目标用户的目标用户图像之前,还包括:在所述本地设备为所述新部署的设备时,基于所述本地设备的设备位置,确定所述本地设备的相邻设备;获得所述相邻设备对应的当前活体检测模型,并将所述当前活体检测模型作为所述本地设备对应的活体检测模型;基于预设连接条件,在所述预设设备集合中选取出与所述本地设备相连的预设数量的设备,得到关联设备集合,并获得所述关联设备集合中每一设备的候选条件输出特征;以及确定所述每一设备的候选条件输出特征的特征均值,以得到所述关联设备集合的交互特征,并将所述交互特征作为所述本地设备对应的条件输入特征。
在一些实施例中,所述预设连接条件包括设备之间的距离小于预设距离阈值或设备之间存在共同交互的用户的数量超过预设数量阈值中的至少一个。
在一些实施例中,所述输出信息还包括当前条件输出特征;以及所述将所述目标用户图像和所述条件输入特征输入至所述活体检测模型,得到输出信息之后,还包括:获得所述本地设备的历史条件输出特征,确定所述历史条件输出特征和所述当前条件输出特征的特征均值,以得到所述本地设备的候选条件输出特征,以及将所述本地设备的候选条件输出特征发送至远程服务器,以便所述远程服务器基于所述本地设备的候选条件输出特征确定目标设备对应的目标条件输入特征,所述目标设备包括与所述本地设备相连的设备。
在一些实施例中,所述确定所述历史条件输出特征和所述当前条件输出特征的特征均值,以得到所述本地设备的候选条件输出特征之后,还包括:接收所述目标设备发送的适配请求;以及基于所述适配请求,将所述本地设备的候选条件输出特征发送至所述目标设备,以便所述目标设备基于所述候选条件输出特征确定所述目标设备对应的目标条件输入特征。
在一些实施例中,所述基于所述目标用户的攻击概率,确定所述目标用户的活体检测结果,包括:基于所述目标用户的攻击概率,从第一方案和第二方案中择一执行,其中:所述第一方案包括:确定所述目标用户的攻击概率大于预设攻击概率阈值,将攻击用户作为所述目标用户的活体检测结果,以及所述第二方案包括:确定所述目标用户的攻击概率小于所述预设攻击概率阈值,将正常用户作为所述目标用户的活体检测结果。
第二方面,本说明书提供一种对抗攻击的检测方法,应用于与本地设备进行通信连接的远程服务器,包括:获得第一用户图像样本,并基于所述第一用户图像样本对预设活体检测模型进行训练,得到通用活体检测模型;对预设设备集合中的设备进行聚类,得到多个候选设备集合,并对所述通用活体检测模型进行更新,得到活体检测模型集合,所述活体检测模型集合包括所述多个候选设备集合中每一候选设备集合对应的活体检测模型;以及基于所述活体检测模型集合,确定所述本地设备对应的活体检测模型和条件输入特征,并将所述活体检测模型和所述条件输入特征发送至所述本地设备,以便所述本地设备基于所述活体检测模型和所述条件输入特征对目标用户进行活体检测。
在一些实施例中,所述基于所述第一用户图像样本对预设活体检测模型进行训练,得到通用活体检测模型,包括:将所述第一用户图像样本输入至所述预设活体检测模型,以得到第一预测活体类别、预测域类别和至少一个辅助任务的预测结果;基于所述第一预测活体类别、预测域类别和所述预测结果,确定所述预设活体检测模型的多任务损失信息;以及基于所述多任务损失信息,对所述预设活体检测模型进行收敛,得到所述通用活体检测模型。
在一些实施例中,所述至少一个辅助任务包括深度重建任务、法向估计任务或生理信号估计任务中的至少一种。
在一些实施例中,所述确定所述预设活体检测模型的多任务损失信息,包括:基于所述第一预测活体类别和所述预测域类别,确定所述第一用户图像样本的分类损失信息;获得所述至少一个辅助任务的标注结果,并将所述预测结果与所述标注结果进行对比,以得到辅助任务损失信息;以及将所述分类损失信息和所述辅助任务损失信息进行融合,得到所述多任务损失信息。
在一些实施例中,所述确定所述第一用户图像样本的分类损失信息,包括:获得所述第一用户图像样本的第一标注活体类别,并将所述第一标注活体类别与所述第一预测活体类别进行对比,以得到活体分类损失信息;获得所述第一用户图像样本的标注域类别,并将所述标注域类别与所述预测域类别进行对比,以得到域分类损失信息;以及将所述活体分类损失信息和所述域分类损失信息作为所述分类损失信息。
在一些实施例中,所述对预设设备集合中的设备进行聚类,得到多个候选设备集合,包括:获得所述预设设备集合中每一设备在预设时间范围内采集的第二用户图像样本;将所述第二用户图像样本输入至所述通用活体检测模型,以得到所述每一设备对应的设备初始化特征,并基于所述预设设备集合中的设备连接关系,生成预设设备集合对应的设备图网络;以及将所述设备初始化特征输入至所述设备图网络,得到所述每一设备对应的目标设备特征,并基于所述目标设备特征,对所述预设设备集合中的设备进行聚类,得到多个候选设备集合。
在一些实施例中,所述基于所述预设设备集合中的设备连接关系,生成预设设备集合对应的设备图网络,包括:基于预设连接条件,在所述预设设备集合中识别出所述每一设备之间的设备连接关系;基于所述设备连接关系,将所述每一设备作为节点,生成预设设备集合对应的初始设备图网络;以及对所述初始设备图网络进行训练,得到所述设备图网络。
在一些实施例中,所述对所述初始设备图网络进行训练,得到所述设备图网络,包括:将所述每一设备对应的设备初始化特征输入至所述初始设备图网络,得到所述每一设备的更新设备特征和所述每一设备在历史时间范围内的预测风险结果,所述预测风险结果包括预测所述每一设备在历史范围内被攻击的次数或频率;在所述更新设备特征中选取出连接设备对应的更新设备特征集合,并将所述更新设备特征集合中的更新设备特征进行对比,以得到特征一致性损失信息,所述连接设备包括所述预设设备集合中相连的至少两个设备;获得所述每一设备的标注风险结果,并将所述预测风险结果与所述标注风险结果进行对比,以得到风险预测损失信息;以及将所述特征一致性损失信息和所述风险预测损失信息进行融合,并基于融合后的图网络损失信息对所述初始设备图网络进行收敛,得到所述设备图网络。
在一些实施例中,所述将所述设备初始化特征输入至所述设备图网络,得到所述每一设备对应的目标设备特征,包括:在所述设备图网络中选取出所述每一设备对应的目标节点的一阶邻节点;确定所述一阶邻节点的注意力权重,并基于所述注意力权重,分别对所述一阶邻节点对应的设备初始化特征进行加权;以及将所述每一设备的设备初始化特征与对应的加权后的设备初始化特征进行特征聚合,以得到所述每一设备对应的目标设备特征。
在一些实施例中,所述对所述通用活体检测模型进行更新,得到活体检测模型集合,包括:获得所述多个候选设备集合之间的集合相似度,并基于所述集合相似度,在所述多个候选设备集合中选取出至少一个相似设备集合对;以及对所述至少一个相似设备集合对中每一相似设备集合对:获得所述相似设备集合对对应的用户图像样本集合,以及基于所述用户图像样本集合,对所述通用活体检测模型进行更新,得到所述相似设备集合对中每一候选设备集合对应的活体检测模型。
在一些实施例中,所述相似设备集合对包括第一设备集合和第二设备集合;以及所述对所述通用活体检测模型进行更新,得到所述相似设备集合对中每一候选设备集合对应的活体检测模型,包括:获得所述第二设备集合中每一设备的目标设备特征的特征均值,得到所述第一设备集合对应的第一初始条件输入特征,以及基于所述第一初始条件输入特征和所述用户图像样本集合,迭代执行所述通用活体检测模型的更新操作,直至达到预设迭代停止条件时为止,得到所述相似设备集合对中每一候选设备集合对应的活体检测模型。
在一些实施例中,所述用户图像样本集合包括所述第一设备集合对应的第三用户图像样本和所述第二设备集合对应的第四用户图像样本,以及;
所述通用活体检测模型的更新操作,包括:基于所述第三用户图像样本和所述第一初始条件输入特征,对所述通用活体检测模型进行更新,得到所述第一设备集合对应的第一初始活体检测模型和第一初始条件输出特征,将所述第一设备集合对应的所述通用活体检测模型更新为所述第一初始活体检测模型,并将所述第一初始条件输出特征作为所述第二设备集合对应的第二初始条件输入特征,基于所述第二初始条件输入特征和所述第四用户图像样本,对所述通用活体检测模型进行更新,得到所述第二设备集合对应的第二初始活体检测模型和第二初始条件输出特征,以及将所述第二设备集合对应的所述通用活体检测模型更新为所述第二初始活体检测模型,并将所述第二初始条件输出特征作为所述第一设备集合对应的所述第一初始条件输入特征。
在一些实施例中,所述对所述通用活体检测模型进行更新,得到所述第一设备集合对应的第一初始活体检测模型和第一初始条件输出特征,包括:对所述第一初始条件输入特征和所述第三用户图像样本进行特征编码,得到样本用户特征和所述第一初始条件输出特征;基于所述第一初始条件输出特征和所述样本用户特征,对所述第三用户图像样本进行活体分类,得到第二预测活体类别;获得所述第三用户图像样本的第二标注活体类别,并将所述第二标注活体类别与所述第二预测活体类别进行对比,以得到活体分类损失信息;以及基于所述活体分类损失信息,对所述通用活体检测模型的网络参数进行更新,得到所述第一设备集合对应的第一初始活体检测模型。
在一些实施例中,确定所述本地设备对应的活体检测模型和条件输入特征,包括:获得所述本地设备的设备标识和当前部署场景;基于所述设备标识和当前部署场景,确定所述本地设备的设备类型,所述设备类型包括新部署的设备和所述预设设备集合中的已有设备;以及基于所述设备类型和所述活体检测模型集合,确定所述本地设备对应的活体检测模型和条件输入特征。
在一些实施例中,确定所述本地设备对应的活体检测模型和条件输入特征,包括:在所述本地设备为所述已有设备时,在所述活体检测模型集合中选取出目标设备集合对应的活体检测模型,得到所述本地设备对应的活体检测模型,所述目标设备集合为所述本地设备所属的设备集合;在所述活体检测模型集合中选取出与所述本地设备对应的活体检测模型共同训练的活体检测模型,得到候选活体检测模型;在所述多个候选设备集合中选取出所述候选活体检测模型对应的候选设备集合,得到所述本地设备对应的关联设备集合;以及确定所述关联设备集合中每一设备的目标设备特征的特征均值,以得到所述关联设备集合的交互特征,并将所述交互特征作为所述本地设备对应的条件输入特征。
在一些实施例中,所述确定所述本地设备对应的活体检测模型和条件输入特征,包括:在所述本地设备为所述新部署的设备时,基于所述本地设备的设备位置,在所述预设设备集合中选取出所述本地设备的相邻设备;在所述活体检测模型集合中选取出所述相邻设备对应的当前活体检测模型,并将所述当前活体检测模型作为所述本地设备对应的活体检测模型;基于预设连接条件,在所述预设设备集合中选取出与所述本地设备相连的预设数量的设备,得到所述本地设备对应的关联设备集合,并获得所述关联设备集合中每一设备的候选条件输出特征;以及确定所述每一设备的候选条件输出特征的特征均值,以得到所述关联设备集合的交互特征,并将所述交互特征作为所述本地设备对应的条件输入特征。
第三方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面和第二方面所述的活体检测方法。
由以上技术方案可知,本说明书提供的活体检方法和系统,获得存储在远程服务器的本地设备对应的活体检测模型和条件输入特征,所述本地设备包括新部署的设备或预设设备集合中的已有设备,所述条件输入特征包括与所述本地设备存在关联关系的关联设备集合的交互特征,然后,获得目标用户的目标用户图像,并将目标用户图像和条件输入特征输入至活体检测模型,得到输出信息,所述输出信息包括所述目标用户的攻击概率,以及基于目标用户的攻击概率,确定目标用户的活体检测结果,并输出活体检测结果;由于该方案中无论是已有设备还是新部署的设备,均可以从云侧的远程服务器获取对应的活体检测模型和条件输入特征,从而可以在保证活体检测的性能下实现跨场景的适配,而且,在活体检测过程中,将与本地设备存在关系的关联设备集合对应的交互特征作为条件输入特征,从而实现通过多设备交互的算法演进,进而提升本地设备的活体检测的性能,因此,可以提升活体检测的准确率。
本说明书提供的活体检测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测方法的流程图;
图4示出了根据本说明书的实施例提供的一种活体检测方法的另一流程图;
图5示出了根据本说明书的实施例提供的一种人脸识别场景的活体检测的整体流程示意图;以及
图6示出了根据本说明书的实施例提供的一种基于条件输入输出的端侧活体检测模型训练的流程示意图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
算法演进:利用跨设备交流信息,来促进单个设备的活体检测算法能力;
活体检测:在人脸识别系统中,检测照片、屏幕等攻击手段的方法被称为活体检测;
跨场景适配:指一台新设备被部署到新场景时,算法的优化和适配问题。
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
本说明书提供的活体检测方法可以应用在任意的活体检测场景中,比如,在人脸支付场景中,可以通过本说明书的活体检测方法对采集的待支付用户的人脸图像进行活体检测;在身份验证场景中,可以通过本说明书的活体检测方法对采集的用户的身份图像进行活体检测;还可以应用在任意的人脸识别场景中,在此就不再一一赘述。
本领域技术人员应当明白,本说明书所述的活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
图1示出了根据本说明书的实施例提供的一种活体检测系统001的应用场景示意图。活体检测的系统001(以下简称系统001)可以应用于任意场景的活体检测,比如,人脸支付场景下的活体检测、身份验证场景下的活体检测、人脸识别场景下的活体检测,等等,如图1所示,系统001可以包括用户100、客户端200、服务器300以及网络400。这里的客户端200可以为本地设备或本地设备的客户端,服务器300可以为与本地设备进行通信连接的远程服务器或者其他服务器。
用户100可以为触发对目标用户图像进行识别的用户,用户100可以在客户端200进行活体检测操作,用户100可以为目标用户,也可以为其他用户。
客户端200可以为响应于用户100的活体检测操作对目标用户图像进行活体检测的设备。在一些实施例中,所述活体检测方法可以在客户端200上执行。此时,客户端200可以存储有执行本说明书描述的活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端200可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图1所示,客户端200可以与服务器300进行通信连接。在一些实施例中,服务器300可以与多个客户端200进行通信连接。在一些实施例中,客户端200可以通过网络400与服务器300交互,以接收或发送消息等,比如接收或发送目标用户的目标用户图像等。在一些实施例中,客户端200可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实手柄、增强现实头盔、增强现实眼镜、增强现实手柄或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、VR等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端200可以包括图像采集设备,用于采集目标用户的至少一张用户图像,从而获得目标用户图像。在一些实施例中,所述图像采集设备可以是二维图像采集设备(比如RGB摄像头),也可以是二维图像采集设备(比如RGB摄像头)和深度图像采集设备(比如3D结构光摄像头、激光探测器,等等)。在一些实施例中,客户端200可以是具有定位技术的设备,用于定位客户端200的位置。
在一些实施例中,客户端200可以安装有一个或多个应用程序(APP)。所述APP能够为用户100提供通过网络400同外界交互的能力以及界面。所述APP包括但不限于:网页浏览器类APP程序、搜索类APP程序、聊天类APP程序、购物类APP程序、视频类APP程序、理财类APP程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端200上可以安装有目标APP。所述目标APP能够为客户端200采集目标用户的至少一张用户图像,从而获得目标用户图像。在一些实施例中,所述用户100还可以通过所述目标APP触发活体检测请求。所述目标APP可以响应于所述活体检测请求,执行本说明书描述的活体检测方法。所述活体检测方法将在后面的内容中详细介绍。
服务器300可以是提供各种服务的服务器,例如对客户端200上采集的目标用户图像进行活体检测提供支持的后台服务器。在一些实施例中,所述活体检测方法可以在服务器300上执行。此时,服务器300可以存储有执行本说明书描述的活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器300可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。服务器300可以与多个客户端200通信连接,并接收客户端200发送的数据。
网络400用以在客户端200和服务器300之间提供通信连接的介质。网络400可以促进信息或数据的交换。如图1所示,客户端200和服务器300可以同网络400连接,并且通过网络400互相传输信息或数据。在一些实施例中,网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、大都市市区网(MAN)、广域网(WAN)、公用电话交换网(PSTN)、蓝牙TM网络、ZigBeeTM网络、近场通信(NFC)网络或类似网络。在一些实施例中,网络400可以包括一个或多个网络接入点。例如,网络400可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,客户端200和服务器300的一个或多个组件可以连接到网络400以交换数据或信息。
应该理解,图1中的客户端200、服务器300和网络400的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端200、服务器300和网络400。
需要说明的是,所述活体检测方法可以完全在客户端200上执行,也可以完全在服务器300上执行,还可以部分在客户端200上执行,部分在服务器300上执行。
图2示出了根据本说明书的实施例提供的一种计算设备600的硬件结构图。计算设备600可以执行本说明书描述的活体检测方法。所述活体检测方法在本说明书中的其他部分介绍。当所述活体检测方法在客户端200上执行时,计算设备600可以是客户端200。当所述活体检测方法在服务器300上执行时,计算设备600可以是服务器300。当所述活体检测方法可以部分在客户端200上执行,部分在服务器300上执行时,计算设备600可以是客户端200和服务器300。
如图2所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括I/O组件660。
内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。
I/O组件660支持计算设备600和其他组件之间的输入/输出。
通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同网络400之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。
存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(ROM)634或随机存取存储介质(RAM)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的活体检测方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的活体检测方法。处理器620可以执行活体检测方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中心处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3示出了根据本说明书的实施例提供的一种应用于本地设备的活体检测方法P100的流程图。如前,计算设备600可以执行本说明书的活体检测方法P100。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测方法P100。如图3所示,方法P100可以包括:
S110:获得存储在远程服务器的本地设备对应的活体检测模型和条件输入特征。
其中,远程服务器可以为与本地设备进行通信连接的服务器,该服务器可以为服务器300或者与服务器300进行交互的云服务器。
其中,本地设备可以包括新部署的设备或预设设备集合中的已有设备。所述新部署的设备包括新设备或部署在新场景的设备中的至少一种,所述新设备包括预设设备集合中不存在的设备,所述新场景包括预设场景集合中不存在的场景。部署的场景的类型可以有多种,比如,可以包括公交场景、写字楼场景、无人值守场景、有人值守场景、校园场景、公司场景、住宅小区场景、景区场景、高速场景或超市场景,等等。所述已有设备就可以为预设设备集合中包含的预先设定或注册的设备,且该设备部署在预设场景集合中任意场景。
其中,条件输入特征可以包括与本地设备存在关联关系的关联设备集合的交互特征。交互特征可以理解为算法演进中与本地设备进行跨设备交流的信息,该交互特征可以用户提升或促进本地设备对应的活体检测模型的检测性能,进而提升活体检测的准确率。交互特征的类型可以有多种,比如,以本地设备为现有设备为例,交互特征就可以为与本地设备存在关联关系的关联设备集合对应的设备特征,以本地设备为新部署的设备为例,交互特征就可以为与本地设备存在关联关系的关联设备集合中关联设备的条件输出特征的特征均值。所述关联设备集合可以包括与目标设备集合相似的相似设备集合或者与本地设备对应的交互设备集合中的一种,所述目标设备集合包括在预设设备集合中本地设备所属的设备集合,所述交互设备集合包括与本地设备相连的预设数量的设备。
其中,获得存储在远程服务器的本地设备对应的活体检测模型和条件输入特征的方式可以有多种,具体可以如下:
例如,处理器620可以直接获取存储在远程服务器的本地设备对应的活体检测模型和条件输入特征,或者,还可以向远程服务器发送活体检测请求,然后,接收远程服务器基于活体检测请求返回的本地设备对应的活体检测模型和条件输入特征,等等。
其中,远程服务器可以生成本地设备对应的活体检测模型和条件输入特征,并将该活体检测模型和条件输入特征发送至本地设备,以便本地设备基于活体检测模型和条件输入特征,对目标用户进行活体检测。因此,针对远程服务器,还可以提供另一种活体检测方法P200,如前,计算设备600可以执行本说明书的活体检测方法P200。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测方法P200。如图4所示,方法P200可以包括:
S210:获取第一用户图像样本,并基于第一用户图像样本对预设活体检测模型进行训练,得到通用活体检测模型。
其中,预设活体检测模型可以为预先设定的进行活体检测的检测模型。通用活体检测模型可以为针对不同设备样本均有相同检测性能或精度的基础活体检测模型,所述通用活体检测模型主要用于作为基础活体检测模型针对不同设备集合进行进一步训练或更新,从而得到每一个候选设备集合对应的活体检测模型。
其中,获得第一用户图像样本的方式可以有多种,具体可以如下:
例如,处理器620可以接收用户100通过客户端200或终端上传的第一用户图像样本,或者,可以在网络或图像数据库中获得包含用户生物特征的至少一张用户图像,并对用户图像进行活体标注,从而得到第一用户图像样本,或者,可以通过图像采集设备采集样本用户的至少一张包含生物特征的用户图像,并对用户图像进行活体标注,从而得到第一用户图像,等等。
处理器620在获得第一用户图像样本之后,便可以基于第一用户图像样本对预设活体检测模型进行训练,从而得到通用活体检测模型。对预设活体检测模型进行训练的方式可以有多种,比如,处理器620可以将第一用户图像输入至预设活体检测模型,以得到第一预测用户类别、预测域类别和至少一个辅助任务的预测结果,基于第一预测类别、预测域类别和预测结果,确定预设活体检测模型的多任务损失信息,以及基于多任务损失信息,对预设活体检测模型进行收敛,得到通用活体检测模型。
其中,第一预测用户类别可以为预设活体检测模型对第一用户图像样本进行活体分类后得到的预测类别,预测域类别可以为预设活体检测模型对第一用户图像样本进行域分类后得到的预测类别。至少一个辅助任务可以包括深度重建任务、法向估计任务或生理信号估计任务(rPPG信号估计)中的至少一种。所述深度重建任务就可以为采用预设活体检测模型重建出第一用户图像样本对应的深度图,法向估计任务就可以为采用预设活体检测模型估计第一用户图像样本的像素的法向,生理信号估计任务就可以为采用预设活体检测模型估计第一用户图像样本中目标用户的脉搏信号或者其他生理信号。
其中,多任务损失信息可以为预设活体检测模型在进行多任务训练时产生的损失信息,所述多任务可以为除了活体任务以外的其他任务。基于第一预测活体类别、预测域类别和预测结果,确定预设活体检测模型的多任务损失信息的方式可以有多种,比如,处理器620可以基于第一预测活体类别和预测域类别,确定第一用户图像样本的分类损失信息,获得至少一个辅助任务的标注结果,并将预测结果与标注结果进行对比,以得到辅助任务损失信息,以及将分类损失信息和辅助任务损失信息进行融合,得到多任务损失信息。
其中,分类损失信息可以为预设活体检测模型在进行分类任务所产生的损失信息,由于分类任务包括活体分类和域分类,因此,分类损失信息可以包括活体分类损失信息和域分类损失信息。所述活体分类损失信息可以为预设活体检测模型在进行活体分类任务时产生的损失信息,所述域分类损失信息可以为预设活体检测模型在域分类任务时产生的损失信息。确定分类损失信息的方式可以有多种,比如,处理器620可以获得第一用户图像样本的第一标注活体类别,并将第一标注活体类别与第一预测活体类别进行对比,以得到活体分类损失信息,获得第一用户图像样本的标注域类别,并将标注域类别与预测域类别进行对比,以得到域分类损失信息,以及将活体分类损失信息和域分类损失信息作为分类损失信息。
其中,第一标注活体类别可以为第一用户图像样本的活体标签,表征或指示第一用户图像样本真实的活体类别。所述活体类别可以包括攻击用户和正常用户(活体用户)。将第一标注活体类别与第一预测活体类别进行对比的方式可以有多种,比如,处理器620可以采用交叉熵损失函数,将第一标注活体类别与第一预测活体类别进行对比,从而得到活体分类损失信息,或者,还可以采用其他类型的损失函数,将第一标注活体类别与第一预测活体类别进行对比,从而得到活体分类损失信息,等等。
其中,标注域类别可以为第一用户图像样本的域标签,表征或指示第一用户图像真实的域类别。域类别主要用于指示第一用户图像样本属于的目标数据域。确定域分类损失信息的方式可以与确定活体分类损失信息的方式类似,详见上文所述,在此就不再一一赘述。
处理器620在确定出活体分类损失信息和域分类损失之后,便可以将活体分类损失信息和域分类损失信息作为第一用户图像样本对应的分类损失信息。
其中,辅助任务损失信息可以为预设活体检测模型在完成至少一个辅助任务时产生的损失信息。辅助任务损失信息可以包括至少一个辅助任务中每一个辅助任务对应的初始辅助任务损失信息。确定每一个辅助任务对应的初始辅助任务损失信息的方式与确定活体分类损失信息的方式类似,详见上文所述,在此就不再一一赘述。
处理器620在确定出分类损失信息和辅助任务损失信息之后,便可以将分类损失信息和辅助任务损失信息进行融合,从而得到多任务损失信息。将分类损失信息和辅助任务损失信息进行融合的方式可以有多种,比如,处理器620可以直接将分类损失信息和辅助任务损失信息相加,从而得到多任务损失信息,具体可以如公式(1)所示:
Loss1=Losscls+Lossaux+Lossdomain(1)
其中,Loss1为多任务损失信息,Losscls为活体分类损失信息,Lossaux为辅助任务损失信息,Lossdomain为域分类损失信息。
在一些实施例中,处理器620还可以获得多任务损失权重,并基于多任务损失权重,分别对分类损失信息和辅助任务损失信息进行加权,并将加权后的分类损失信息和加权后的辅助任务信息进行融合,从而得到第一用户图像样本对应的多任务损失信息。
处理器620在确定出多任务损失信息之后,便可以对预设活体检测模型进行收敛,从而得到通用活体检测模型。对预设活体检测模型进行收敛的方式可以有多种,比如,处理器620可以采用梯度下降算法,基于多任务损失信息或者多任务损失信息中的各种损失信息,分别对预设活体检测模型中的网络参数进行更新,得到更新后的活体检测模型,并将预设活体检测模型更新为更新后的活体检测模型,返回执行获得第一用户图像样本的步骤,直至预设活体检测模型收敛时为止,从而得到通用活体检测模型,或者,还可以采用其他网络参数更新算法,基于多任务损失信息或者多任务损失信息中的各种损失信息,分别对预设活体检测模型中的网络参数进行更新,得到更新后的活体检测模型,并将预设活体检测模型更新为更新后的活体检测模型,返回执行获得第一用户图像样本的步骤,直至预设活体检测模型收敛时为止,从而得到通用活体检测模型,等等。
其中,传统的活体检测模型的训练,通常仅使用简单的分类监督信号,会导致模型容易过拟合,从而使得模型的跨场景能力受限。而本方案中,通过引入多种额外的监督信号(比如,包括深度重建、法向估计或rPPG信号估计等),从而可以加强训练出的通用活体检测模型的检测性能,降低过拟合,另外,将训练数据划分为若干个数据域,结合数据域分类损失来进一步提升模型对跨域感知的能力,进而提升活体检测的准确率。
S220:对预设设备集合中的设备进行聚类,得到多个候选设备集合,并对通用活体检测模型进行更新,得到活体检测模型集合。
其中,活体检测模型集合包括多个候选设备集合中每一候选设备集合对应的活体检测模型。
其中,对预设设备集合中的设备进行聚类的方式可以有多种,具体可以如下:
例如,处理器620可以获得预设设备集合中每一设备在预设时间范围内采集的第二用户图像样本,将第二用户图像样本输入至通用活体检测模型,以得到每一设备对应的设备初始化特征,并基于预设设备集合中设备连接关系,生成预设设备集合对应的设备图网络,以及将设备初始化特征输入至设备图网络,得到每一设备对应的目标设备特征,并基于目标设备特征,对预设设备集合中的设备进行聚类,得到多个候选设备集合。
其中,预设时间范围可以为预先设定的截止到当前时刻的时间范围,比如,可以包括近30天、近一周、近半个月或者其他任意时间范围,等等。
其中,设备初始化特征可以为在图网络中进行特征聚合或更新的初始化特征。将第二用户图像样本输入至通用活体检测模型,以得到每一设备对应的设备初始化特征的方式可以有多种,比如,处理器620可以将第二用户图像样本输入至通用活体检测模型,得到第二用户图像样本中每一用户图像样本的图像特征或者用户特征,确定每一设备对应的第二用户图像样本的图像特征或用户特征的特征均值,从而得到每一设备对应的设备初始化特征。
其中,用户特征可以为第二用户图像样本中包含用户生物特征的特征信息,比如,可以包括人脸特征、指纹特征、躯体特征或者其他生物特征,等等。
处理器620在得到每一设备对应的设备初始化特征之后,便可以基于预设设备集合中的设备连接关系,生成预设设备集合对应的设备图网络。所述设备连接关系可以为表征预设设备集合中任意两个设备之间是否连接的关系,设备连接关系可以包括设备相连或设备不相连中的一种。所述设备图网络可以为表征预设设备集合中设备之间连接关系的图网络。生成预设设备集合对应的设备图网络的方式可以有多种,比如,处理器620可以基于预设连接条件,在预设设备集合中识别出每一设备之间的设备连接关系,基于设备连接关系,将每一设备作为节点,生成预设设备集合对应的初始设备图网络,以及对初始设备图网络进行训练,得到设备图网络。
其中,预设连接条件可以为表征设备之间相连所需要的条件。任意两个设备之间满足该预设连接条件时,就可以确定这两个设备之间是相连的或者存在连接关系。预设连接条件可以包括设备之间的距离小于预设距离阈值或设备之间存在共同交互的用户的数量超过预设数量阈值中的至少一个。这里的交互的类型可以有多种,比如,可以包括进行交易、互动或登录等交互行为中的至少一种。基于预设连接条件,在预设设备集合中识别出每一设备之间的设备连接关系的方式可以有多种,比如,处理器620基于预设设备集合中选取出满足预设连接条件的至少一个设备对,确定至少一个设备对中的设备之间的设备连接关系为设备相连关系,将预设设备集合中除至少一个设备对以外的其他设备之间的设备连接关系确定为设备不相连关系。
处理器620在确定出预设设备集合中每一设备之间的设备连接关系之后,便可以基于设备连接关系,将每一设备作为节点,生成预设设备集合对应的初始设备图网络。生成初始设备图网络的方式可以有多种,比如,处理器620可以将每一设备作为节点,基于设备连接关系,将预设设备集合中存在相连关系的节点通过边进行连接,从而得到预设设备集合对应的初始图网络。
处理器620在生成初始设备图网络之后,便可以对初始设备图网络进行训练,从而得到设备图网络。对初始图网络进行训练的方式可以有多种,比如,处理器620可以将每一设备对应的设备初始化特征输入至预设设备图网络,得到每一设备的更新设备特征和每一设备在历史范围内的预测风险结果,在更新设备特征中选取连接设备对应的更新设备特征集合,并将更新设备特征集合中的更新特征进行对比,以得到特征一致性损失信息,获得每一设备的标注风险结果,并将预测风险结果与标注风险结果进行对比,以得到风险预测损失信息,将特征一致性损失信息和风险预测损失信息进行融合,并基于融合后的图网络损失信息对初始设备图网络进行收敛,得到设备图网络。
其中,预测风险结果可以包括预测每一设备在历史范围内被攻击的次数或频率。更新设备特征可以为初始设备图网络对每一设备对应的设备初始化特征更新后得到的设备特征。
其中,连接设备包括预设设备集合中相连的至少两个设备。在更新设备特征中选取出连接设备对应的更新设备特征集合的方式可以有多种,比如,处理器620可以在更新设备特征中选取出相连的至少两个设备对应的更新设备特征,从而得到更新设备特征集合。
处理器620在选取出更新设备特征集合之后,便可以将更新设备特征集合中的更新设备特征进行对比,以得到特征一致性损失信息。特征一致性损失信息可以为相连的不同设备的更新设备特征之间的差异产生的损失信息。特征一致性损失信息的约束条件可以为相连的设备之间的更新设备特征之间特征差值小于预设特征差值阈值,也就可以说,相连的设备的特征尽量保持一致。确定特征一致性损失信息的方式可以有多种,比如,处理器620可以采用预设损失函数,将更新设备集合中的相连设备之间的更新设备特征进行对比,从而得到特征一致性损失信息,或者,还可以确定更新设备特征集合中相连的设备的更新设备特征之间的特征差值,并采用预设损失函数和特征差值,确定特征一致性损失信息,等等。
其中,风险预测损失信息可以为初始设备网络进行风险预测时产生的损失信息。将预测风险结果与标注风险结果进行对比,以得到风险预测损失信息的方式可以有多种,比如,处理器620可以基于交叉熵损失信息,将预测风险结果与标注风险结果进行对比,从而得到风险预测损失信息,或者,还可以基于其他类型的损失函数,将预测风险结果与标注风险结果进行对比,从而得到风险预测损失信息,等等。
处理器620在确定出特征一致性损失信息和风险预测损失信息之后,便可以将特征一致性损失信息和风险预测损失信息进行融合,从而得到融合后的图网络损失信息。将特征一致性损失信息和风险预测损失信息进行融合的方式可以有多种,比如,处理器620可以直接将特征一致性损失信息和风险预测损失信息相加,从而得到图网络损失信息,具体可以如公式(2)所示:
Loss2=Losscorrelation+Lossattack(2)
其中,Loss2为图网络损失信息,Losscorrelation为特征一致性损失信息,Lossattack为风险预测损失信息。
在一些实施例中,处理器620还可以获得图网络权重,并基于图网络权重分别对特征一致性损失信息和风险预测损失信息进行加权,并将加权后的特征一致性损失信息和加权后的风险预测损失信息进行融合,从而得到图网络损失信息。
处理器620在确定出图网络损失信息之后,便可以基于图网络损失信息对初始设备图网络进行收敛,收敛的方式可以与对预设活体检测模型的收敛方式类似,详见上文所述,在此就不再一一赘述。
处理器620在对初始设备图网络进行训练后,便可以基于训练后的设备图网络对每一设备的设备初始化特征进行更新,更新的方式可以包括处理器620将设备初始特征输入至设备图网络,得到每一设备对应的目标设备特征。将设备初始特征输入至设备图网络,得到每一设备对应的目标设备特征的方式可以有多种,比如,处理器620可以在设备图网络中选取出每一设备对应的目标节点的一阶邻节点,确定一阶邻节点对应的设备初始设备特征进行加权,以及将每一设备的设备初始特征与对应的加权后的设备初始特征进行特征聚合,以得到每一设备对应的目标设备特征。
其中,一阶邻节点可以为与目标节点直接相连的邻节点,比如,节点A与节点B直接相连,则节点B就可以为节点A的一阶邻节点。又比如,节点A与节点B直接相连,节点B与节点C直接相连,则节点C就可以为节点A的二阶邻节点,以此类推。确定一阶邻节点的注意权重的方式可以有多种,比如,处理器620可以将至少一个一阶邻节点的设备初始特征输入至注意力网络(attention),从而得到每一个一阶邻节点的注意力权重。
处理器620在得到一阶邻节点的注意力权重之后,便可以分别对一阶邻节点对应的设备初始化特征进行加权。然后,将每一设备的设备初始化特征与对应的加权后的设备初始特征进行特征聚合,以得到每一设备对应的目标设备特征。特征聚合的方式可以有多种,比如,处理器620将每一设备的设备初始化特征和对应的一阶邻节点的加权后的设备初始化特征进行线性变化(linear transformation),从而得到每一设备对应的目标设备特征。所述线性变化的实质可以看作是将设备初始特征与对应的加权后的设备初始化特征分别输入至线性变化对应的全连接层(FC层),从而可以得到每一设备对应的目标设备特征。
处理器620在确定出每一设备对应的目标设备特征之后,便可以基于目标设备特征,对预设设备集合中的设备进行聚类,从而得到多个候选设备集合。对预设设备集合中的设备进行聚类的方式可以有多种,比如,处理器620可以采用KMeans(一种聚类算法),基于每一设备的目标设备特征,对预设设备集合中的设备进行聚类,从而得到K个设备集合,将K个设备集合作为多个候选设备集合,其中,多个候选设备集合的集合数量K可以为大于或等于1的正整数。
处理器620在对预设设备集合进行聚类之后,便可以基于聚类后得到的多个候选设备集合,对通用活体检测模型进行更新,从而得到通用活体检测模型。对通用活体检测模型进行更新的主要目的在于为多个候选设备集合中的每一候选设备集合针对性训练端侧的活体检测模型,针对每个候选设备集合训练活体检测模型时,训练数据为对应的候选设备集合对应的训练数据。对通用活体检测模型进行更新的方式可以有多种,比如,处理器620可以获得多个候选设备集合之间的集合相似度,并基于集合相似度,在多个候选设备集合中选取出至少一个相似设备集合对,对至少一个相似设备集合对中每一相似设备集合对:获得相似设备集合对对应的用户图像样本集合,以及基于用户图像样本集合,对通用活体检测模型进行更新,得到相似设备集合对中每一候选设备集合对应的活体检测模型。
其中,集合相似度可以为多个候选设备集合之间的相似度。获得多个候选设备集合之间的集合相似的方式可以有多种,比如,处理器620可以获得多个候选设备集合中每一候选设备集合中设备的目标设备特征的特征均值,得到每一候选设备集合对应的设备集合特征,基于设备集合特征,确定多个候选设备集合之间的集合相似度。
处理器620在确定多个候选设备集合之间的集合相似度之后,便可以基于集合相似度,在多个候选设备集合中选取出至少一个相似设备集合对。所述相似设备集合对可以为多个候选设备集合中最相似或最接近的两个候选设备集合组成的集合对。选取至少一个相似设备集合对的方式可以有多种,比如,处理器620可以在多个候选设备集合中选取出每一候选设备集合的集合相似度最高的候选设备集合,从而就可以组成至少一个相似设备集合对。
处理器620在选取出至少一个相似设备集合对之后,便可以针对至少一个相似设备集合对中每一相似设备集合对:以任意一个相似设备集合对,该相似设备集合对包括第一设备集合和第二设备集合为例,处理器620可以获得相似设备集合对对应的用户图像样本集合,这里的用户图像样本集合可以包括第一设备集合对应的第三用户图像样本和第二设备集合对应的第四用户图像样本。获得相似设备集合对对应的用户图像样本集合的方式与获得第一用户图像样本的方式类似,在此就不再一一赘述。
处理器620在获得该相似设备集合对对应的用户图像样本集合之后,便可以基于用户图像样本,对通用活体检测模型进行更新,得到相似设备集合中每一候选设备集合对应的活体检测模型。对通用活体检测模型进行更新的方式可以有多种,比如,处理器620可以获得第二设备集合中每一设备的目标设备特征的特征均值,得到第一设备集合对应的第一初始条件输入特征,以及基于第一初始条件输入特征和用户图像样本集合,迭代执行通用活体检测模型的更新操作,直至达到预设迭代停止条件时为止,得到相似设备集合对中每一候选设备集合对应的活体检测模型。
其中,通用活体检测模型的更新操作可以包括:处理器620基于第三用户图像样本和第一初始条件输入特征,对通用活体检测模型进行更新,得到第一设备集合对应的第一初始活体检测模型和第一初始条件输出特征,将第一设备集合对应的通用活体检测模型更新为第一初始活体检测模型,并将第一初始条件输出特征作为第二设备集合对应的第二初始条件输入特征,基于第二初始条件输入特征和第四用户图像样本,对通用活体检测模型进行更新,得到第二设备集合对应的第二初始活体检测模型和第二初始条件输出特征,以及将第二设备集合对应的通用活体检测模型更新为第二初始活体检测模型,并将第二初始条件输出特征作为第一设备集合对应的第一初始条件输入特征。
其中,在一次迭代中,在第一设备集合侧,对通用活体检测模型进行更新,得到第一设备集合对应的第一初始活体检测模型和第一初始条件输出特征的方式可以有多种,比如,处理器620可以对第一初始条件输入特征和第三用户图像样本进行特征编码,得到样本用户特征和第一初始条件输出特征,基于第一初始条件输出特征和样本用户特征,对第三用户图像样本进行活体分类,得到第二预测活体类别,获得第三用户图像样本的第二标注活体类别,并将第二标注活体类别与第二预测活体类别进行对比,以得到活体分类损失信息,以及基于活体分类损失信息,对通用活体检测模型的网络参数进行更新,得到第一设备集合对应的第一初始活体检测模型。
处理器620在得到第一设备集合对应的第一初始条件输出特征作为第二设备集合对应的第二初始条件输入特征,从而基于第二初始条件输入特征和第四用户图像样本,在第二设备集合侧,对通用活体检测模型进行更新,更新的方式详见上文所述,在此就不再一一赘述。
其中,需要说明的是,训练相似设备集合对中每一候选设备集合对应的活体检测模型时,整个训练过程可以看作是训练两个模型,这两个模型的网络结构相同,每一个模型都可以包括两个部分,第一部分是特征编码网络(特征编码器),第二部分是活体分类网络(器)。在迭代更新的过程中,一次更新包含两个模型的依次更新,更新的顺序可以为第一设备集合对应的第一初始活体检测模型,即更新第一设备集合对应的通用活体检测模型,得到第一设备集合对应的第一初始活体检测模型,然后,更新第二设备集合对应的通用活体检测模型,得到第二设备集合对应的第二初始活体检测模型。更新顺序也可以为更新第二设备集合对应的通用活体检测模型,得到第二设备集合对应的第二初始活体检测模型,然后,更新第一设备集合对应的通用活体检测模型,得到第一设备集合对应的第一初始活体检测模型。更新的方式基本类似,只是更新的顺序不同而已。另外,需要说明的是,在一次更新中,一个模型的条件输出特征作为另一个模型的条件输入特征,条件输入特征的初始化特征可以为开始训练的候选设备集合(第一设备集合或第二设备集合)中设备的目标设备特征的特征均值。以更新顺序为先更新得到第一设备集合对应的第一初始活体检测模型为例,此时,条件输入特征的初始化特征就可以为第二设备集合中设备的目标设备特征的特征均值,另外,第一设备集合对应的通用活体检测模型输出的条件输出特征就可以作为第二设备集合对应的通用活体检测模型的条件输入特征;以更新顺序为先更新得到第二设备集合对应的第二初始活体检测模型为例,条件输入特征的初始化特征就可以为第一设备集合中设备的目标设备特征的特征均值,另外,第二设备集合对应的通用活体检测模型输出的条件输出特征就可以作为第一设备集合对应的通用活体检测模型的条件输入特征。
处理器620就可以迭代执行通用活体检测模型的更新操作,直至达到预设迭代停止条件时为止,从而得到相似设备集合对中每一候选设备集合对应的活体检测模型。预设迭代停止条件可以有多种,比如,可以为两个通用活体检测模型收敛时为止,也可以为预设更新次数,或者,还可以为更新后的两个活体检测模型的检测精度到达预设精度时为止,等等。
处理器620按照上述的通用活体检测模型的更新操作,从而就可以活体检测模型集合,所述活体检测模型集合就可以包括多个候选设备集合中每一候选设备集合对应的活体检测模型,
S230:基于活体检测模型集合,确定本地设备对应的活体检测模型和条件输入特征,并将活体检测模型和条件输入特征发送至本地设备,以便本地设备基于活体检测模型和条件输入特征对目标用户进行活体检测。
其中,基于活体检测模型,确定本地设备对应的活体检测模型和条件输入特征的方式可以有多种,具体可以如下:
例如,处理器620可以获得本地设备的设备标识和当前部署场景,基于设备标识和当前部署场景,确定本地设备的设备类型,基于设备类型和活体检测模型集合,确定本地设备对应的活体检测模型和条件输入特征。
其中,设备标识可以为表征本地设备的身份的标识信息。当前部署场景可以为表征本地设备当前所处的场景信息。设备类型可以包括新部署设备和预设设备集合中的已有设备。新部署设备和已有设备的具体定义可以参见上文所述,在此就不再一一赘述。基于设备标识和确定本地设备的设备类型的方式可以有多种,比如,处理器620在预设设备集合查询本地设备的设备标识,并在预设场景集合中查询当前部署场景,在预设设备集合中包含本地设备的设备标识,且预设场景集合中包括当前部署场景时,确定本地设备的设备类型为已有设备,或者,在预设设备集合中不包括本地设备的设备标识,或者,预设场景集合中不包括当前部署场景时,确定本地设备为新部署的设备。
处理器620在确定出本地设备的设备类型之后,便可以基于设备类型和活体检测模型集合,确定本地设备对应的活体检测模型和条件输入特征。确定本地设备对应的活体检测模型和条件输入特征的方式可以有多种,比如,处理器620在本地设备为已有设备时,在活体检测模型集合中选取出目标设备集合对应的活体检测模型,得到本地设备对应的活体检测模型,所述目标设备集合为本地设备所属的设备集合,在活体检测模型集合中选取出与本地设备对应的活体检测模型共同训练的活体检测模型,得到候选活体检测模型,在多个候选设备集合中选取出候选活体检测模型对应的候选设备集合,得到本地设备对应的关联设备集合,以及确定关联设备集合中每一设备的目标设备特征的均值,以得到关联设备集合的交互特征,并将交互特征作为本地设备对应的条件输入特征;或者,在本地设备为新部署的设备时,基于本地设备的设备位置,在预设设备集合中选取出本地设备的相邻设备,在活体检测模型中选取出相邻设备对应的当前活体检测模型,并将当前活体检测模型作为本地设备对应的活体检测模型,基于预设连接条件,在预设设备集合中选取出与本地设备相连的预设数量的设备,得到本地设备对应的关联设备集合,并获得关联设备集合中每一设备的候选条件输出特征,以及确定每一设备的候选条件输出特征的特征均值,以得到关联设备集合的交互特征,并将交互特征作为本地设备对应的条件输入特征。
其中,候选条件输出特征可以为关联设备集合中每一设备在进行活体检测时产生的历史条件输出特征的特征均值。另外,需要说明的是,在本地设备为已有设备时,就可以直接获取对应的活体检测模型,在本地设备为新部署的设备时,就可以将本地设备的相邻设备的活体检测模型作为本地设备对应的活体检测模型。另外,在本地设备为已有设备时,对应的条件输入特征就可以为本地设备对应的活体检测模型在训练阶段成对的另一个活体检测模型的设备集合特征(对应的候选设备集合中设备的目标设备特征的特征均值),而在本地设备为新部署的设备时,就可以直接将与本地设备相连的10台或者其他任意数量的关联设备(关联设备集合)的候选条件输出特征的特征均值作为条件输入特征。因此,在针对跨场景/跨设备的适配中,无需重新训练对应的活体检测模型,而且,还可以利用多设备交互,增强活体检测模型的性能,进而提升活体检测的准确率;在针对已有设备的活体检测,可以利用所属的目标设备集合对应的活体检测模型,还可以利用目标设备集合对应的相似设备集合的设备集合特征作为条件输入特征,从而实现多设备交互的活体检测,增强活体检测模型的检测性能,进而提升活体检测的准确率。
处理器620在确定出本地合并对应的活体检测模型和条件输入特征之后,便可以将活体检测模型和条件输入特征发送至本地设备,以便本地设备基于活体检测模型和条件输入特征对目标用户进行活体检测。将活体检测模型和条件输入特征发送至本地设备的方式可以有多种,比如,处理器620可以直接将活体检测模型和条件输入特征发送至对应的本地设备,或者,还可以接收本地设备发送的活体检测请求,基于活体检测请求,将活体检测模型和条件输入特征发送至本地设备,等等。
本地设备在获得远程服务器发送的活体检测模型和条件输入特征之后,便可以基于活体检测模型和条件输入特征对目标用户进行活体检测。
在一些实施例中,在本地设备为新部署的设备时,本地设备还可以直接获得或生成对应的活体检测模型和条件输入特征,无需从远程服务器获得。获得或生成对应的活体检测模型和条件输入特征的方式可以有多种,比如,处理器620可以基于本地设备的设备位置,确定本地设备的相邻设备,获得相邻设备对应的当前活体检测模型,并将当前活体检测模型作为本地设备对应的活体检测模型,基于预设连接条件,在预设设备集合中选取出与本地设备相连的预设数量的设备,得到关联设备集合,并获得关联设备集合中每一设备的候选条件输出特征,以及确定每一设备的候选条件输出特征的特征均值,以得到关联设备集合的交互特征,并将交互特征作为本地设备对应的条件输入特征。
其中,预设连接条件可以包括设备之间的距离小于预设距离阈值或设备之间的共同交互的用户的数量超过预设数量阈值中的至少一个,具体可以参见上文所述,在此就不再一一赘述。
其中,需要说明的是,针对跨设备/跨场景下,本地设备自身获得活体检测模型和条件输入特征的方式可以与远程服务器确定该本地设备对应的活体检测模型和条件输入特征的方式类似,详见上文所述,在此就不再一一赘述。
本地设备在获得对应的活体检测模型和条件输入特征之后,如图3所示,方法P100还可以包括:
S120:获得目标用户的目标用户图像,并将目标用户图像和条件输入特征输入至活体检测模型,得到输出信息。
其中,目标用户图像可以包括目标用户的生物特征的至少一张图像。所述生物特征可以包括面部(人脸)、指纹、虹膜、巩膜、掌纹或骨骼投影中的至少一种。
其中,输出信息可以为活体检测模型对目标用户图像进行活体检测后输出的信息。输出信息可以包括目标用户的攻击概率。所述攻击概率可以为目标用户为攻击用户的概率。所述攻击用户就可以为非活体的用户。
其中,获得目标用户的目标用户图像的方式可以有多种,具体可以如下:
例如,处理器620可以直接接收用户100或目标用户通过客户端200或终端上传的目标用户的目标用户图像,或者,可以通过图像采集设备采集的目标用户的至少一张用户图像,从而得到目标用户图像,或者,可以在网络或图像数据库中选取出至少一张包含目标用户的生物特征的图像,从而得到目标用户图像,或者,在目标用户的数量较多或目标用户图像的数量较多时,还可以接收活体检测请求,该活体检测请求中携带目标用户的目标用户图像的存储地址,基于存储地址,获取目标用户的目标用户图像,等等。
处理器620在获得目标用户的目标用户图像之后,便可以将目标用户图像和条件输入特征输入至活体检测模型,从而得到输出信息。输出信息还可以包括当前条件输出特征。所述当前条件输出特征就可以为活体检测模型对条件输入特征和目标用户图像进行特征编码后的除用户特征(人脸特征)以外的特征。
处理器620在将目标用户图像和条件输入特征输入至活体检测模型,得到输出信息之后,还可以获得本地设备的历史条件输出特征,确定历史条件输出特征和当前条件输出特征的特征均值,以得到本地设备的候选条件输出特征,以及将本地设备的候选条件输出特征发送至远程服务器,以便远程服务器基于本地设备的候选条件输出特征确定目标设备对应的目标条件输入特征,所述目标设备可以包括与本地设备相连的设备。
其中,历史条件输出特征可以包括活体检测模型在对目标用户进行活体检测之前,对其他用户进行活体检测时输出的至少一个当前条件输出特征。本地设备输出的候选条件输出特征可以确定与之相连的目标设备(新部署的设备)的条件输入特征。
在一些实施例中,本地设备除了可以将候选条件输出特征发送至远程服务器以外,还可以将候选条件输出特征发送至与之相连的目标设备,这里的目标设备可以为新部署的设备,从而使得目标设备基于候选条件输出特征,确定目标设备对应的目标条件输入的特征。因此,在得到本地设备的候选条件输出特征之后,处理器620还可以接收目标设备发送的适配请求,以及基于适配请求,将本地设备的候选条件输出特征发送至目标设备,以便目标设备基于候选条件输出特征确定目标设备对应的目标条件输入特征。
其中,目标设备将获得的预设数量的候选条件输出特征的特征均值作为目标条件输入特征。目标设备就可以基于目标条件输入特征和对应的活体检测模型进行活体检测,活体检测的具体过程可以参考本地设备进行活体检测的过程,在此就不再一一赘述。
S130:基于目标用户的攻击概率,确定目标用户的活体检测结果,并输出活体检测结果。
其中,活体检测结果可以包括目标用户为攻击用户或者正常用户中的一种。
其中,基于目标用户的攻击概率,确定目标用户的活体检测结果的方式可以有多种,具体可以如下:
例如,处理器620可以基于目标用户的攻击概率,从第一方案和第二方案中择一执行,其中,第一方案可以包括:确定目标用户的攻击概率大于预设攻击概率阈值,将攻击用户作为目标用户的活体检测结果过,以及第二方案可以包括:确定目标用户的攻击概率小于预设攻击概率阈值,将正常用户作为目标用户的活体检测结果,等等。
处理器620在确定出目标用户的活体检测结果之后,便可以输出该活体检测结果。输出活体检测结果的方式可以有多种,比如,处理器620可以直接将活体检测结果发送至用户100或目标用户对应的客户端200、终端或服务器,以便客户端200、终端或服务器基于活体检测结果对目标用户或目标用户对应的请求进行响应,或者,还可以直接可视化展示该活体检测结果,等等。
其中,可视化展示活体检测结果的方式可以有多种,比如,处理器620可以直接显示该活体检测结果,或者,可以通过声光等方式展示该活体检测结果(譬如,通过语音播报活体检测结果,或者,可以通过显式不同颜色的光显式不同类型的活体检测结果,或者,还可以通过声光联动的方式展示活体检测结果),或者,还可以针对特定类型的活体检测结果进行展示(譬如,仅针对攻击用户这一类型的活体检测结果进行展示,或者,仅针对活体用户这一类型的活体检测结果进行展示,等等),等等。
在一些实施例中,处理器620还可以在确定出目标用户的活体检测结果或者输出该活体检测结果之后,基于该活体检测结果对目标用户或者目标用户对应的请求进行响应,响应的方式可以有多种,比如,处理器620可以直接对目标用户或目标用户对应的请求进行拦截,或者,处理器620还可以直接对目标用户进行二次验证,并基于二次验证结果,对目标用户或目标用户对应的请求进行最终的响应,等等。
其中,在人脸识别场景下,本方案可以基于多设备演进的端侧活体跨场景适配,从而在本地设备(端侧)进行活体检测,整体的检测流程可以包括在云侧通过远程服务器训练不同的设备集合对应的活体检测模型,并确定出本地设备对应的活体检测模型和条件输入特征,并将活体检测模型和条件输入特征发送至本地设备进行活体检测。如图5所示,主要可以包括四个部分:基础模型训练、特征提取与设备图聚类、基于条件输入输出的端侧模型训练和基于多设备交互的活体检测,具体可以如下:
(1)基础模型训练:传统的活体检测模型训练,往往仅使用简单的分类监督信号,会导致训练出的模型过拟合,从而使得模型的跨场景/跨设备的能力受限,而在本方案中通过引入多种额外的监督信号(比如,深度重建、法向估计以及rPPG信号估计)作为辅助任务,加强模型性能,降低过拟合,另外,还可以将训练数据划分为若干个数据域,结合数据域分类损失来进一步提升模型对跨域感知的能力,从而得到训练后的通用活体检测模型,具体的训练过程可以参见上文所述,在此就不再一一赘述。
(2)特征提取与设备图聚类:传统的端侧活体检测方法,对于所有设备都视为一个数据源,利用从所有设备采集的数据进行模型训练,并将训练后的模型部署到所有的设备上,但是这种训练方法忽略了设备与设备之间的差异和联系,因此,在本方案中,首先通过图网络建立设备之间的关系,然后,进行设备聚类,得到众多设备结合(多个候选设备集合),后续为每个设备集合训练针对性的活体检测模型,从而可以提升活体检测模型的针对性,进而提升活体检测的准确率。其中,特征提取主要可以为针对每个设备近30天的所有图像,使用基础模型训练后得到的通用活体检测模型进行特征提取,得到人脸特征,将人脸特征计算平均,作为该设备的初始化特征(用于图网络的特征初始化)。在提取出每一设备的初始化特征之后,便可以构建图网络,在图网络中,设备为节点,对满足“两个设备之间的距离小于阈值m”或“有超过n个用户同时在两个设备上进行过交易”中的至少一个条件的两个设备进行连接,从而得到初始设备图网络。然后,对初始设备图网络进行训练,从而得到训练后的设备图网络,训练过程可以如前所述,在此就不再一一赘述。将设备的初始化特征输入至训练后的设备图网络中进行特征聚合,从而得到每一设备的目标设备特征,利用该目标设备特征进行KMeans聚类,得到K个设备集合(多个候选设备集合),后续就可以为每个设备集合针对性训练端侧模型,在训练时只使用当前设备集合的训练数据。
(3)基于条件输入输出的端侧模型训练:每次训练时,包括两个同结构的模型(通用活体检测模型),每个模型包括两个部分,第一部分是特征编码器,第二个部分是活体分类器,特征编码器的输入是条件输入特征和(当前设备集合的)人脸图像,输出的人脸特征和条件输出特征,活体分类器的输入是人脸特征和条件输入特征,输出的是活体检测结果,两个模型的条件输出特征可以为另一个模型的条件输入特征,条件输入特征的初始化特征可以为当前设备集合的设备特征的均值。基于活体分类损失对通用活体检测模型进行收敛,从而就可以得到两个设备集合分别对应的活体检测模型,另外,需要说明的是两个设备集合可以为最相似或最接近的设备集合,具体可以如图6所示。
(4)基于多设备交互的活体检测:这里的活体检测可以包括针对已有设备的活体检测,还可以包括针对新部署的设备进行跨设备/跨场景的适配。针对已有设备的活体检测可以包括目标用户开始人脸识别后,采集其人脸图像,将人脸图像和条件输入特征输入至活体检测模型,得到攻击概率p和条件输出特征,在攻击概率p大于提前设定的阈值T时,判断为攻击,否则判断为活体,然后,将历史的条件输出特征(可以包括当前输出的条件输出特征,也可以不包含当前输出的条件输出特征),从而得到当前设备(已有设备)的条件输出特征(候选条件输出特征)。针对新部署的设备的活体检测可以包括先根据设备的地理位置找到最近的设备,并将最近的设备对应的活体检测模型下发至该新部署的设备,利用图构建规则,找到与该新部署的设备连接的10台设备,将这10台设备的条件输出特征传输至新部署的设备,将这个10个条件输出特征求平均,得到新部署的设备对应的条件输入特征,从而完成适配,然后,利用对应的活体检测模型和条件输入特征进行活体推理和检测,具体的推理和检测的过程参见上文所述,在此就不再一一赘述。另外,需要说明的是,针对新部署的设备,获得对应的活体检测模型和条件输入特征的方式可以有多种,比如,处理器620可以直接接收或获得存储在远程服务器的活体检测模型和条件输入特征,或者,还可以直接获得相邻设备的活体检测模型,并获得与新部署设备相连的10台设备的条件输出特征,从而得到对应的条件输入特征,即通过新部署的设备自身直接获得活体检测模型和条件输入特征,而无需通过远程服务请。
其中,本方案首先在运程(云端)进行基础模型的训练,得到通用活体检测模型,然后,将不同的设备通过图网络聚类为多个候选设备集合,每个集合拥有自己对应的数据,然后,针对不同的设备集合训练不同的端侧模型,并引入额外的条件输入和输出,作为多设备交互的基础,最后,将训练出的模型部署到对应的本地设备(客户端),并利用多设备交互的方式进行算法的演进和活体检测,从而实现已有设备的活体检测和新设备的活体检测,尤其是可以是的新部署的设备充分利用已有设备的至少,在短时间内容完成算法演进,适配新场景,进而提升活体检测的准确率。
综上所述,本说明书提供的活体检测方法P100和系统001,获得存储在远程服务器的本地设备对应的活体检测模型和条件输入特征,所述本地设备包括新部署的设备或预设设备集合中的已有设备,所述条件输入特征包括与所述本地设备存在关联关系的关联设备集合的交互特征,然后,获得目标用户的目标用户图像,并将目标用户图像和条件输入特征输入至活体检测模型,得到输出信息,所述输出信息包括所述目标用户的攻击概率,以及基于目标用户的攻击概率,确定目标用户的活体检测结果,并输出活体检测结果;由于该方案中无论是已有设备还是新部署的设备,均可以从云侧的远程服务器获取对应的活体检测模型和条件输入特征,从而可以在保证活体检测的性能下实现跨场景的适配,而且,在活体检测过程中,将与本地设备存在关系的关联设备集合对应的交互特征作为条件输入特征,从而实现通过多设备交互的算法演进,进而提升本地设备的活体检测的性能,因此,可以提升活体检测的准确率。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行活体检测的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的活体检测方法P100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (25)
1.一种活体检测方法,应用于本地设备,包括:
获得存储在远程服务器的所述本地设备对应的活体检测模型和条件输入特征,所述本地设备包括新部署的设备或预设设备集合中的已有设备,所述条件输入特征包括与所述本地设备存在关联关系的关联设备集合的交互特征;
获得目标用户的目标用户图像,并将所述目标用户图像和所述条件输入特征输入至所述活体检测模型,得到输出信息,所述输出信息包括所述目标用户的攻击概率;以及
基于所述目标用户的攻击概率,确定所述目标用户的活体检测结果,并输出所述活体检测结果。
2.根据权利要求1所述的活体检测方法,其中,所述关联设备集合包括与目标设备集合相似的相似设备集合或所述本地设备对应的交互设备集合中的一种,所述目标设备集合包括在所述预设设备集合中所述本地设备所属的设备集合,所述交互设备集合包括与所述本地设备相连的预设数量的设备。
3.根据权利要求1所述的活体检测方法,其中,所述新部署的设备包括新设备或部署在新场景的设备中的至少一种,所述新设备包括预设设备集合中不存在的设备,所述新场景包括预设场景集合中不存在的场景。
4.根据权利要求1所述的活体检测方法,其中,所述获得目标用户的目标用户图像之前,还包括:
在所述本地设备为所述新部署的设备时,基于所述本地设备的设备位置,确定所述本地设备的相邻设备;
获得所述相邻设备对应的当前活体检测模型,并将所述当前活体检测模型作为所述本地设备对应的活体检测模型;
基于预设连接条件,在所述预设设备集合中选取出与所述本地设备相连的预设数量的设备,得到关联设备集合,并获得所述关联设备集合中每一设备的候选条件输出特征;以及
确定所述每一设备的候选条件输出特征的特征均值,以得到所述关联设备集合的交互特征,并将所述交互特征作为所述本地设备对应的条件输入特征。
5.根据权利要求4所述的活体检测方法,其中,所述预设连接条件包括设备之间的距离小于预设距离阈值或设备之间存在共同交互的用户的数量超过预设数量阈值中的至少一个。
6.根据权利要求1所述的活体检测方法,其中,所述输出信息还包括当前条件输出特征;以及
所述将所述目标用户图像和所述条件输入特征输入至所述活体检测模型,得到输出信息之后,还包括:
获得所述本地设备的历史条件输出特征,
确定所述历史条件输出特征和所述当前条件输出特征的特征均值,以得到所述本地设备的候选条件输出特征,以及
将所述本地设备的候选条件输出特征发送至远程服务器,以便所述远程服务器基于所述本地设备的候选条件输出特征确定目标设备对应的目标条件输入特征,所述目标设备包括与所述本地设备相连的设备。
7.根据权利要求6所述的活体检测方法,其中,所述确定所述历史条件输出特征和所述当前条件输出特征的特征均值,以得到所述本地设备的候选条件输出特征之后,还包括:
接收所述目标设备发送的适配请求;以及
基于所述适配请求,将所述本地设备的候选条件输出特征发送至所述目标设备,以便所述目标设备基于所述候选条件输出特征确定所述目标设备对应的目标条件输入特征。
8.根据权利要求1所述的活体检测方法,其中,所述基于所述目标用户的攻击概率,确定所述目标用户的活体检测结果,包括:
基于所述目标用户的攻击概率,从第一方案和第二方案中择一执行,其中:
所述第一方案包括:确定所述目标用户的攻击概率大于预设攻击概率阈值,将攻击用户作为所述目标用户的活体检测结果,以及
所述第二方案包括:确定所述目标用户的攻击概率小于所述预设攻击概率阈值,将正常用户作为所述目标用户的活体检测结果。
9.一种活体检测方法,应用于与本地设备进行通信连接的远程服务器,包括:
获得第一用户图像样本,并基于所述第一用户图像样本对预设活体检测模型进行训练,得到通用活体检测模型;
对预设设备集合中的设备进行聚类,得到多个候选设备集合,并对所述通用活体检测模型进行更新,得到活体检测模型集合,所述活体检测模型集合包括所述多个候选设备集合中每一候选设备集合对应的活体检测模型;以及
基于所述活体检测模型集合,确定所述本地设备对应的活体检测模型和条件输入特征,并将所述活体检测模型和所述条件输入特征发送至所述本地设备,以便所述本地设备基于所述活体检测模型和所述条件输入特征对目标用户进行活体检测。
10.根据权利要求9所述的活体检测方法,其中,所述基于所述第一用户图像样本对预设活体检测模型进行训练,得到通用活体检测模型,包括:
将所述第一用户图像样本输入至所述预设活体检测模型,以得到第一预测活体类别、预测域类别和至少一个辅助任务的预测结果;
基于所述第一预测活体类别、预测域类别和所述预测结果,确定所述预设活体检测模型的多任务损失信息;以及
基于所述多任务损失信息,对所述预设活体检测模型进行收敛,得到所述通用活体检测模型。
11.根据权利要求10所述的活体检测方法,其中,所述至少一个辅助任务包括深度重建任务、法向估计任务或生理信号估计任务中的至少一种。
12.根据权利要求10所述的活体检测方法,其中,所述确定所述预设活体检测模型的多任务损失信息,包括:
基于所述第一预测活体类别和所述预测域类别,确定所述第一用户图像样本的分类损失信息;
获得所述至少一个辅助任务的标注结果,并将所述预测结果与所述标注结果进行对比,以得到辅助任务损失信息;以及
将所述分类损失信息和所述辅助任务损失信息进行融合,得到所述多任务损失信息。
13.根据权利要求12所述的活体检测方法,其中,所述确定所述第一用户图像样本的分类损失信息,包括:
获得所述第一用户图像样本的第一标注活体类别,并将所述第一标注活体类别与所述第一预测活体类别进行对比,以得到活体分类损失信息;
获得所述第一用户图像样本的标注域类别,并将所述标注域类别与所述预测域类别进行对比,以得到域分类损失信息;以及
将所述活体分类损失信息和所述域分类损失信息作为所述分类损失信息。
14.根据权利要求9所述的活体检测方法,其中,所述对预设设备集合中的设备进行聚类,得到多个候选设备集合,包括:
获得所述预设设备集合中每一设备在预设时间范围内采集的第二用户图像样本;
将所述第二用户图像样本输入至所述通用活体检测模型,以得到所述每一设备对应的设备初始化特征,并基于所述预设设备集合中的设备连接关系,生成预设设备集合对应的设备图网络;以及
将所述设备初始化特征输入至所述设备图网络,得到所述每一设备对应的目标设备特征,并基于所述目标设备特征,对所述预设设备集合中的设备进行聚类,得到多个候选设备集合。
15.根据权利要求14所述的活体检测方法,其中,所述基于所述预设设备集合中的设备连接关系,生成预设设备集合对应的设备图网络,包括:
基于预设连接条件,在所述预设设备集合中识别出所述每一设备之间的设备连接关系;
基于所述设备连接关系,将所述每一设备作为节点,生成预设设备集合对应的初始设备图网络;以及
对所述初始设备图网络进行训练,得到所述设备图网络。
16.根据权利要求15所述的活体检测方法,其中,所述对所述初始设备图网络进行训练,得到所述设备图网络,包括:
将所述每一设备对应的设备初始化特征输入至所述初始设备图网络,得到所述每一设备的更新设备特征和所述每一设备在历史时间范围内的预测风险结果,所述预测风险结果包括预测所述每一设备在历史范围内被攻击的次数或频率;
在所述更新设备特征中选取出连接设备对应的更新设备特征集合,并将所述更新设备特征集合中的更新设备特征进行对比,以得到特征一致性损失信息,所述连接设备包括所述预设设备集合中相连的至少两个设备;
获得所述每一设备的标注风险结果,并将所述预测风险结果与所述标注风险结果进行对比,以得到风险预测损失信息;以及
将所述特征一致性损失信息和所述风险预测损失信息进行融合,并基于融合后的图网络损失信息对所述初始设备图网络进行收敛,得到所述设备图网络。
17.根据权利要求14所述的活体检测方法,其中,所述将所述设备初始化特征输入至所述设备图网络,得到所述每一设备对应的目标设备特征,包括:
在所述设备图网络中选取出所述每一设备对应的目标节点的一阶邻节点;
确定所述一阶邻节点的注意力权重,并基于所述注意力权重,分别对所述一阶邻节点对应的设备初始化特征进行加权;以及
将所述每一设备的设备初始化特征与对应的加权后的设备初始化特征进行特征聚合,以得到所述每一设备对应的目标设备特征。
18.根据权利要求9所述的活体检测方法,其中,所述对所述通用活体检测模型进行更新,得到活体检测模型集合,包括:
获得所述多个候选设备集合之间的集合相似度,并基于所述集合相似度,在所述多个候选设备集合中选取出至少一个相似设备集合对;以及
对所述至少一个相似设备集合对中每一相似设备集合对:
获得所述相似设备集合对对应的用户图像样本集合,以及
基于所述用户图像样本集合,对所述通用活体检测模型进行更新,得到所述相似设备集合对中每一候选设备集合对应的活体检测模型。
19.根据权利要求18所述的活体检测方法,其中,所述相似设备集合对包括第一设备集合和第二设备集合;以及
所述对所述通用活体检测模型进行更新,得到所述相似设备集合对中每一候选设备集合对应的活体检测模型,包括:
获得所述第二设备集合中每一设备的目标设备特征的特征均值,得到所述第一设备集合对应的第一初始条件输入特征,以及
基于所述第一初始条件输入特征和所述用户图像样本集合,迭代执行所述通用活体检测模型的更新操作,直至达到预设迭代停止条件时为止,得到所述相似设备集合对中每一候选设备集合对应的活体检测模型。
20.根据权利要求19所述的活体检测方法,其中,所述用户图像样本集合包括所述第一设备集合对应的第三用户图像样本和所述第二设备集合对应的第四用户图像样本,以及;
所述通用活体检测模型的更新操作,包括:
基于所述第三用户图像样本和所述第一初始条件输入特征,对所述通用活体检测模型进行更新,得到所述第一设备集合对应的第一初始活体检测模型和第一初始条件输出特征,
将所述第一设备集合对应的所述通用活体检测模型更新为所述第一初始活体检测模型,并将所述第一初始条件输出特征作为所述第二设备集合对应的第二初始条件输入特征,
基于所述第二初始条件输入特征和所述第四用户图像样本,对所述通用活体检测模型进行更新,得到所述第二设备集合对应的第二初始活体检测模型和第二初始条件输出特征,以及
将所述第二设备集合对应的所述通用活体检测模型更新为所述第二初始活体检测模型,并将所述第二初始条件输出特征作为所述第一设备集合对应的所述第一初始条件输入特征。
21.根据权利要求20所述的活体检测方法,其中,所述对所述通用活体检测模型进行更新,得到所述第一设备集合对应的第一初始活体检测模型和第一初始条件输出特征,包括:
对所述第一初始条件输入特征和所述第三用户图像样本进行特征编码,得到样本用户特征和所述第一初始条件输出特征;
基于所述第一初始条件输出特征和所述样本用户特征,对所述第三用户图像样本进行活体分类,得到第二预测活体类别;
获得所述第三用户图像样本的第二标注活体类别,并将所述第二标注活体类别与所述第二预测活体类别进行对比,以得到活体分类损失信息;以及
基于所述活体分类损失信息,对所述通用活体检测模型的网络参数进行更新,得到所述第一设备集合对应的第一初始活体检测模型。
22.根据权利要求9所述的活体检测方法,其中,所述,确定所述本地设备对应的活体检测模型和条件输入特征,包括:
获得所述本地设备的设备标识和当前部署场景;
基于所述设备标识和当前部署场景,确定所述本地设备的设备类型,所述设备类型包括新部署的设备和所述预设设备集合中的已有设备;以及
基于所述设备类型和所述活体检测模型集合,确定所述本地设备对应的活体检测模型和条件输入特征。
23.根据权利要求22所述的活体检测方法,其中,确定所述本地设备对应的活体检测模型和条件输入特征,包括:
在所述本地设备为所述已有设备时,在所述活体检测模型集合中选取出目标设备集合对应的活体检测模型,得到所述本地设备对应的活体检测模型,所述目标设备集合为所述本地设备所属的设备集合;
在所述活体检测模型集合中选取出与所述本地设备对应的活体检测模型共同训练的活体检测模型,得到候选活体检测模型;
在所述多个候选设备集合中选取出所述候选活体检测模型对应的候选设备集合,得到所述本地设备对应的关联设备集合;以及
确定所述关联设备集合中每一设备的目标设备特征的特征均值,以得到所述关联设备集合的交互特征,并将所述交互特征作为所述本地设备对应的条件输入特征。
24.根据权利要求22所述的活体检测方法,其中,所述确定所述本地设备对应的活体检测模型和条件输入特征,包括:
在所述本地设备为所述新部署的设备时,基于所述本地设备的设备位置,在所述预设设备集合中选取出所述本地设备的相邻设备;
在所述活体检测模型集合中选取出所述相邻设备对应的当前活体检测模型,并将所述当前活体检测模型作为所述本地设备对应的活体检测模型;
基于预设连接条件,在所述预设设备集合中选取出与所述本地设备相连的预设数量的设备,得到所述本地设备对应的关联设备集合,并获得所述关联设备集合中每一设备的候选条件输出特征;以及
确定所述每一设备的候选条件输出特征的特征均值,以得到所述关联设备集合的交互特征,并将所述交互特征作为所述本地设备对应的条件输入特征。
25.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-24中任一项所述的活体检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310090038.1A CN116110135A (zh) | 2023-01-17 | 2023-01-17 | 活体检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310090038.1A CN116110135A (zh) | 2023-01-17 | 2023-01-17 | 活体检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116110135A true CN116110135A (zh) | 2023-05-12 |
Family
ID=86263568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310090038.1A Pending CN116110135A (zh) | 2023-01-17 | 2023-01-17 | 活体检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116110135A (zh) |
-
2023
- 2023-01-17 CN CN202310090038.1A patent/CN116110135A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022504704A (ja) | ターゲット検出方法、モデル訓練方法、装置、機器及びコンピュータプログラム | |
US11393256B2 (en) | Method and device for liveness detection, and storage medium | |
KR20190038923A (ko) | 사용자 신원 검증 방법, 장치 및 시스템 | |
CN111242097A (zh) | 一种人脸识别方法、装置、计算机可读介质及电子设备 | |
CN110119746B (zh) | 一种特征识别方法及装置、计算机可读存储介质 | |
CN113742463A (zh) | 旅游场景下的对话预测方法、装置、电子设备、存储介质 | |
CN115984977A (zh) | 活体检测方法和系统 | |
CN116311546A (zh) | 活体检测方法和系统 | |
CN114581978A (zh) | 人脸识别的方法和系统 | |
CN115880530A (zh) | 对抗攻击的检测方法和系统 | |
CN116110135A (zh) | 活体检测方法和系统 | |
Kumrai et al. | Automated construction of Wi-Fi-based indoor logical location predictor using crowd-sourced photos with Wi-Fi signals | |
CN116229128A (zh) | 实体图像的聚类处理方法、装置、电子设备及存储介质 | |
CN112070022A (zh) | 人脸图像识别方法、装置、电子设备和计算机可读介质 | |
CN116486494A (zh) | 活体检测方法、活体检测模型的训练方法、装置 | |
CN115497176A (zh) | 活体检测模型训练方法、活体检测方法和系统 | |
CN115909511A (zh) | 活体检测方法和系统 | |
CN115761907A (zh) | 活体检测方法和系统 | |
CN115995028A (zh) | 活体检测模型训练方法、活体检测方法及系统 | |
CN116189315A (zh) | 活体检测方法和系统 | |
CN110910127A (zh) | 应用于餐厅的基于移动支付设备的收银方法和装置 | |
CN116110132A (zh) | 活体检测方法和系统 | |
CN116343348A (zh) | 活体检测方法和系统 | |
CN117576245B (zh) | 一种图像的风格转换方法、装置、电子设备及存储介质 | |
CN116259116A (zh) | 活体检测方法和系统 |
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 |