CN116189315A - 活体检测方法和系统 - Google Patents
活体检测方法和系统 Download PDFInfo
- Publication number
- CN116189315A CN116189315A CN202211730024.3A CN202211730024A CN116189315A CN 116189315 A CN116189315 A CN 116189315A CN 202211730024 A CN202211730024 A CN 202211730024A CN 116189315 A CN116189315 A CN 116189315A
- Authority
- CN
- China
- Prior art keywords
- scene
- living body
- target
- body detection
- class
- 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/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- 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
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- 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/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- 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/778—Active pattern-learning, e.g. online learning of image or video features
-
- 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/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/809—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A40/00—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
- Y02A40/70—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in livestock or poultry
Abstract
本说明书提供的活体检测方法和系统,在获取目标用户的目标用户图像后,将目标用户图像输入至场景分类模型,以得到场景特征,该场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的分类模型,以及将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的活体检测结果,并输出活体检测结果,该目标活体检测模型为所述场景特征所属的场景簇对应的活体检测模型;该方案可以提升活体检测的准确率。
Description
技术领域
本说明书涉及图像识别领域,尤其涉及一种活体检测方法和系统。
背景技术
近年来,随着互联网技术的飞速发展,在人脸识别系统中活体检测已经成为不可缺少的一环,通过活体检测可以有效拦截非活体类型的攻击样本。人脸识别系统被越来越多的部署到各种各样不同场景中,而不同场景可能遭受到的活体攻击的类型可能是不一样的。为了应对不同场景的活体检测,现有的活体检测方法往往对每一个场景训练一个活体检测模型进行检测,或者,针对多个场景采用同一个模型进行检测。
在对现有技术的研究和实践过程中,本申请的发明人发现无论是针对每一个场景单独训练一个检测模型还是所有场景都使用一个检测模型,都无法在性能体验和运维成本上达到比较好的折中,使得在有限的运维成本下,大大影响了活体检测的性能,因此,导致活体检测的准确率较低。
发明内容
本说明书提供一种准确率更高的活体检测方法和系统。
第一方面,本说明书提供一种活体检测方法,包括:获取目标用户的目标用户图像;将所述目标用户图像输入至场景分类模型,以得到所述目标用户对应场景特征,所述场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的分类模型;以及将所述目标用户图像和所述场景特征输入至目标活体检测模型,以得到所述目标用户的活体检测结果,并输出所述活体检测结果,所述目标活体检测模型为所述场景特征所属的场景簇对应的活体检测模型。
在一些实施例中,所述场景分类模型的训练过程包括以下步骤:获取背景图像样本,并将所述背景图像样本输入至所述教师模型,以得到所述场景类别对应的第一类别概率分布信息;以及基于所述第一类别概率分布信息和所述背景图像样本,对预设场景分类模型进行解耦蒸馏,得到所述场景分类模型。
在一些实施例中,所述对预设场景分类模型进行解耦蒸馏,得到所述场景分类模型,包括:将所述背景图像样本输入至所述预设场景分类模型,得到所述场景类别对应的第二类别概率分布信息和解耦蒸馏权重;基于所述第二类别概率分布信息,确定所述背景图像样本的预测场景类别;以及基于所述预测场景类别、所述第一类别概率分布信息、所述第二类别概率分布信息和所述解耦蒸馏权重,对所述预设场景分类模型进行蒸馏,得到所述场景分类模型。
在一些实施例中,所述预设场景分类模型包括特征编码网络、解耦蒸馏权重获取网络和场景分类网络;以及所述将所述背景图像样本输入至所述预设场景分类模型,得到所述场景类别对应的第二类别概率分布信息和解耦蒸馏权重,包括:采用所述特征编码网络对所述背景图像样本进行特征编码,得到样本场景特征,将所述样本场景特征输入至所述解耦蒸馏权重获取网络,以得到解耦蒸馏权重,将所述第一类别概率分布信息、所述样本场景特征和所述解耦蒸馏权重输入至所述场景分类网络,以得到所述场景类别对应的第二类别概率分布信息。
在一些实施例中,所述对所述预设场景分类模型进行蒸馏,得到所述场景分类模型,包括:获取所述背景图样样本的标注场景类别,并将所述标注场景类别与所述预测场景类别进行对比,以得到场景分类损失信息;基于所述解耦蒸馏权重,将所述第一类别概率分布信息和所述第二类别概率分布信息进行对比,以得到解耦蒸馏损失信息;以及将所述场景分类损失信息和所述解耦蒸馏损失信息进行融合,并基于融合后的目标蒸馏损失信息对预设场景分类模型进行收敛,得到所述场景分类模型。
在一些实施例中,所述将所述第一类别概率分布信息和所述第二类别概率分布信息进行对比,以得到解耦蒸馏损失信息,包括:对所述第一类别概率分布信息进行分布解耦,以得到目标类别对应的第一目标类别蒸馏分布和其他类别对应的第一其他类别蒸馏分布,所述其他类别为所述场景类别中除所述目标类别以外的类别;对所述第二类别概率分布信息进行分布解耦,以得到所述目标类别对应的第二目标类别蒸馏分布和所述其他类别对应的第二其他类别蒸馏分布;以及基于所述解耦蒸馏权重、所述第一目标类别蒸馏分布、所述第一其他类别蒸馏分布、所述第二目标类别蒸馏分布和所述第二其他类别蒸馏分布,确定所述解耦蒸馏损失信息。
在一些实施例中,所述对所述第一类别概率分布信息进行分布解耦,以得到目标类别对应的第一目标类别蒸馏分布和其他类别对应的第一其他类别蒸馏分布,包括:在所述第一类别概率分布信息中解耦出所述目标类别对应的第一目标类别蒸馏分布和所述其他类别对应的初始其他类别蒸馏分布;以及对所述初始其他类别蒸馏分布进行归一化,得到所述第一其他类别蒸馏分布。
在一些实施例中,所述在所述第一类别概率分布信息中解耦出所述目标类别对应的第一目标类别蒸馏分布和所述其他类别对应的初始其他类别蒸馏分布,包括:在所述第一类别概率分布信息中提取出每一场景类别的类别概率,并基于所述类别概率,在所述每一场景类别中确定出所述目标类别和所述其他类别;将所述其他类别对应的类别概率进行累加,并将累加后的类别概率与所述目标类别对应的类别概率进行组合,以得到第一目标类别蒸馏分布;以及在所述第一类别概率分布信息中剔除所述目标类别对应的类别概率,得到所述初始其他类别蒸馏分布。
在一些实施例中,所述解耦蒸馏权重包括所述目标类别对应的第一蒸馏权重和所述其他类别对应的第二蒸馏权重;以及所述确定所述解耦蒸馏损失信息,包括:将所述第一目标类别蒸馏分布与所述第二目标类别蒸馏分布进行对比,以得到第一蒸馏损失信息,并将所述第一其他类别蒸馏分布与所述第二其他类别蒸馏分布进行对比,以得到第二蒸馏损失信息,基于所述第一蒸馏权重对所述第一蒸馏损失信息进行加权,并基于所述第二蒸馏权重对所述第二蒸馏损失信息进行加权,以及将加权后的第一蒸馏损失信息与加权后的第二蒸馏损失信息进行融合,得到所述解耦蒸馏损失信息。
在一些实施例中,所述将所述目标用户图像和所述场景特征输入至目标活体检测模型,以得到所述目标用户的活体检测结果,包括:基于所述场景特征,获取所述目标用户图像对应的目标活体检测模型;将所述目标用户图像和所述场景特征输入至所述目标活体检测模型,以得到所述目标用户的攻击概率;以及在所述攻击概率大于预设攻击概率阈值时,确定所述目标用户的活体检测结果为攻击用户。
在一些实施例中,还包括:在所述攻击概率小于所述预设攻击概率阈值时,确定所述目标用户的活体检测结果为活体用户。
在一些实施例中,所述基于所述场景特征,获取所述目标用户图像对应的目标活体检测模型,包括:获取场景簇对应的活体检测模型集合,所述活体检测模型集合包括每一所述场景簇对应的活体检测模型;在所述场景簇中查询所述场景特征对应的目标场景簇;在所述场景簇中包括所述目标场景簇时,在活体检测模型集合中选取出所述目标场景簇对应的目标活体检测模型。
在一些实施例中,所述获取场景簇对应的活体检测模型集合之前,还包括:获取背景图像样本集合,并采用所述场景分类模型对所述背景图像样本集合中每一图像样本进行特征提取,得到样本场景特征集合;对所述样本场景特征集合中的场景特征进行聚类,以得到至少一个场景簇,并确定所述至少一个场景簇中每一场景簇的目标场景特征;获取所述每一场景簇对应的用户图像样本,并基于所述用户图像样本对预设活体检测模型进行训练,得到所述每一场景簇对应的活体检测模型;以及将所述每一场景簇对应的活体检测模型作为所述活体检测模型集合。
在一些实施例中,所述场景簇的数量为N个;以及所述基于所述用户图像样本对预设活体检测模型进行训练,得到所述每一场景簇对应的活体检测模型,包括:在所述用户图像样本中选取出第i个场景簇的目标用户图像样本,所述i为[1,N]之间的整数,采用所述场景分类模型对所述目标用户图像样本进行特征提取,得到目标样本场景特征,以及针对第i个场景簇:将所述目标用户图像样本和所述目标样本场景特征输入至所述预设活体检测模型,以得到所述目标用户图像样本的预测活体类别,获取所述目标用户图像样本的标注活体类别,并将所述标注活体类别与所述预测活体类别进行对比,以得到活体分类损失信息,以及基于所述活体分类损失信息对所述预设活体检测模型进行收敛,得到训练后的所述活体检测模型。
在一些实施例中,所述预设活体检测模型包括图像特征编码网络、条件特征编码网络和活体分类网络;以及所述将所述目标用户图像样本和所述目标样本场景特征输入至所述预设活体检测模型,以得到所述目标用户图像样本的预测活体类别,包括:采用所述图像特征编码对所述目标用户图像样本进行特征编码,得到样本图像特征,采用所述条件特征编码网络对所述目标样本场景特征进行特征转换,得到样本场景检测特征,以及将所述样本图像特征和所述样本场景检测特征输入至所述活体分类网络,以得到所述目标用户图像样本的预测活体类别。
在一些实施例中,所述在所述场景簇中查询所述场景特征对应的目标场景簇之后,还包括:在所述场景簇中未包括所述目标场景簇时,获取当前检测场景下的当前用户图像样本集合;采用所述场景分类模型对所述当前用户图像样本集合中每一用户图像样本进行特征提取,并确定提取出的当前场景特征的均值,得到目标特征均值;基于所述目标特征均值,在所述活体检测模型集合中选取出候选活体检测模型;以及采用所述当前用户图像样本集合对所述候选活体检测模型进行更新,得到所述目标场景簇对应的目标活体检测模型。
在一些实施例中,所述基于所述目标特征均值,在所述活体检测模型集合中选取出候选活体检测模型,包括:获取所述活体检测模型集合中每一活体检测模型对应的场景簇的目标场景特征;获取所述目标特征均值与所述目标场景特征之间的特征相似度;以及基于所述特征相似度,在所述活体检测模型集合中选取出所述候选活体检测模型。
在一些实施例中,所述采用所述当前用户图像样本集合对所述候选活体检测模型进行更新,得到所述目标场景簇对应的目标活体检测模型,包括:在所述当前用户图像样本集合中选取出预设数量的候选用户图像样本;将所述候选用户图像样本发送至标注服务器,并接收所述标注服务器返回的标注用户图像样本,所述标注用户图像样本为对所述候选用户图像样本进行活体类别标注后的图像样本;以及基于所述标注用户图像样本对所述候选活体检测模型进行训练,得到所述目标场景簇对应的目标活体检测模型。
在一些实施例中,所述将所述目标用户图像和所述场景特征输入至所述目标活体检测模型,以得到所述目标用户的攻击概率,包括:采用所述目标活体检测模型对所述目标用户图像进行特征提取,得到目标图像特征;对所述场景特征进行特征转换,得到所述目标用户对应的场景检测特征;以及基于所述目标图像特征和所述场景检测特征,对所述目标用户进行活体分类,得到所述目标用户的攻击概率。
第二方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的活体检测方法。
由以上技术方案可知,本说明书提供的活体检测方法和系统,在获取目标用户的目标用户图像后,将目标用户图像输入至场景分类模型,以得到场景特征,该场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的分类模型,以及将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的活体检测结果,并输出活体检测结果,该目标活体检测模型为所述场景特征所属的场景簇对应的活体检测模型;由于该方案中用于提取场景特征的场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的,使得场景分类模型可以学习到更加细粒度的场景特征,另外,考虑了不同场景之间的关联性,针对不同的场景簇(包含多个相似的场景)训练不同的活体检测模型,即避免针对每一个场景训练一个模型,也避免了采用同一模型在不同场景下进行活体检测,从而实现运维和性能的折中,进而在有限的运维资源下,充分提升活体检测模型的检测性能,因此,可以提升活体检测的准确率。
本说明书提供的活体检测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测方法的流程示意图;
图4示出了根据本说明书的实施例提供的一种人脸识别场景下活体检测方法的整体流程示意图;以及
图5示出了根据本说明书的实施例提供的一种在活体检测模型部署后的活体检测的流程示意图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
蒸馏学习:指利用复杂的教师模型指导轻量级的学生模型进行训练的方法;
场景分类:指对不同的检测场景进行分类,以检测场景为人脸识别场景为例,则可以包括室内支付有人值守场景、户外门禁无人值守场景等等;
活体攻击:针对生物特征检测系统(比如人脸识别系统)的呈现攻击手段,包括手机屏幕、打印照片、高精度面具等等;
活体防攻击:指在人脸核身系统中,用于防范手机录屏攻击、纸质照片攻击以及面具攻击等攻击手段的算法和技术,等等。
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
本说明书提供的活体检测方法可以应用在任意的活体检测场景中,比如,在人脸支付场景中,可以通过本说明书的活体检测方法对采集的待支付的目标用户的目标用户图像进行活体检测;在身份验证场景中,可以通过本说明书的活体检测方法对采集的目标用户的目标用户图像进行活体检测;还可以应用在任意的人脸识别场景中,在此就不再一一赘述。
本领域技术人员应当明白,本说明书所述的活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
图1示出了根据本说明书的实施例提供的一种活体检测系统001的应用场景示意图。活体检测系统001(以下简称系统001)可以应用于任意场景的活体检测,比如,人脸支付场景下的活体检测、身份验证场景下的活体检测、无人值守的门禁设备中的活体检测,等等,如图1所示,系统001可以包括用户100、客户端200、服务器300以及网络400。
用户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:获取目标用户的目标用户图像。
其中,目标用户图像可以为对目标用户进行活体检测的用户图像。所述用户图像可以包括目标用户的至少一个躯体部位的图像,比如,可以为人脸图像、人体图像、指纹/掌纹图像、虹膜图像或者其他可以用于活体检测的身体部位的图像,等等。
其中,获取目标用户的目标用户图像的方式可以有多种,具体可以如下:
例如,处理器620可以直接获取用户100通过客户端200或终端上传的目标用户的目标用户图像,或者,可以采用图像采集设备采集目标用户的用户图像或视频信息,从而得到目标用户图像,或者,还可以在网络或者图像数据库中获取原始图像,并在原始图像中选取出包括目标用户的用户图像,从而得到目标用户图像,或者,在目标用户的数量较多或者目标用户图像的内存较大时,还可以接收活体检测请求,该活体检测请求中携带目标用户的目标用户图像的存储地址,基于该存储地址,获取目标用户的目标用户图像,等等。
S120:将目标用户图像输入至场景分类模型,以得到目标用户对应的场景特征。
其中,场景特征可以为目标用户图像中表征目标用户所处的活体检测场景类别的特征。
其中,场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的分类模型。所述教师模型可以理解为用于场景分类的大型模型,具有良好的性能和泛化能力。与教师模型相比,场景分类模型就可以为轻量级的分类模型。场景类别可以为预先设定的活体检测的至少一个场景的类别。
其中,将目标用户图像输入至场景分类模型,以得到场景特征的方式可以有多种,具体可以如下:
例如,处理器620获取训练后的场景分类模型,将目标用户图像输入至场景分类模型,通过场景分类模型中的特征编码网络对目标用户图像进行特征编码,从而得到目标用户对应的场景特征。
其中,场景分类模型的训练过程可以包括以下步骤:处理器620可以获取背景图像样本,并将背景图像样本输入至教师模型,以得到场景类别对应的第一类别概率分布信息,以及基于第一类别概率分布信息和背景图像样本,对预设场景分类模型进行解耦蒸馏,得到场景分类模型。
其中,类别概率分布信息可以理解为场景类别中各个预设场景类别所对应的类别概率的分布信息,比如,以场景类别中包括场景A、B和C为例,则类别概率分布信息就可以包括场景A对应的类别概率x1、场景B对应的类别概率x2和场景C对应的类别概率x3组成的概率分布[x1,x2,x3],x1、x2和x3的和为1。第一类别概率分布分布信息就可以为教师模型输出的背景图像样本对应的类别概率分布信息。与之对应的第二类别概率分布信息就可以为预设场景分类模型(学生模型)输出的同一背景图像样本对应的类别概率分布信息。基于第一类别概率分布信息和背景图像样本,对预设场景分类模型进行解耦蒸馏的方式可以有多种,比如,620可以将背景图像样本输入至预设场景分类模型,得到场景类别对应的第二概率分布信息和解耦蒸馏权重,基于第二类别概率分布信息,确定背景图像样本的预测场景类别,以及基于预测场景类别、第一类别概率分布信息、第二类别概率分布信息和解耦蒸馏权重,对预设场景分类模型进行蒸馏,得到场景分类模型。
其中,解耦蒸馏权重可以为对不同场景类别进行解耦蒸馏的权重。解耦蒸馏权重可以包括目标场景类别对应的第一蒸馏权重和其他场景类别对应的第二蒸馏权重。所述目标场景类别可以为类别概率分布信息中类别概率最大或者TOP K的场景类别。其他场景类别就可以为场景类别中除目标场景类别以外的场景类别。预设场景分类模型包括特征编码网络、解耦蒸馏权重获取网络和场景分类网络。所述特征编码网络为进行场景特征编码的网络,所述解耦蒸馏权重获取网络为在场景特征中识别出的不同场景类别对应的蒸馏权重的网络。所述场景分类网络为对场景特征进行场景分类的网络。将背景图像样本输入至预设场景分类模型,得到场景类别对应的第二类别概率分布信息和解耦蒸馏权重的方式可以有多种,比如,处理器620可以采用特征标编码网络对背景图像样本进行特征编码,得到样本场景特征,将样本场景特征输入至解耦蒸馏权重获取网络,以得到解耦蒸馏权重,将第一类别概率分布信息、样本场景特征和解耦蒸馏权重输入至场景分类网络,以得到场景类别对应的第二类别概率分布信息。
处理器620在得到第二类别概率分布信息之后,便可以基于第二类别概率分布信息,确定背景图像样本的预测场景类别。确定背景图像样本的预测场景类别的方式可以有多种,比如,处理器620可以在第二类别概率分布信息中选取出类别概率最大的预设场景类别作为背景图像样本的预测场景类别,或者,还可以基于第二类别概率分布信息,对场景类别中每一预设场景类别进行排序,基于排序结果,在预设场景类别中选取出TOP K的预设场景类别,得到候选场景类别,在候选场景类别中选取出一个场景类别作为预测场景类别,等等。
处理器620在确定出背景图像样本的预测场景类别之后,便可以基于预测场景类别、第一类别概率分布信息、第二类别概率分布信息和解耦蒸馏权重,对预设场景分类模型进行蒸馏,从而得到场景分类模型。对预设场景分类模型进行蒸馏的方式可以有多种,比如,处理器620可以获取背景图像样本的标注场景类别,并将标注场景类别与预测场景类别进行对比,以得到场景分类损失信息,基于解耦蒸馏权重,将第一类别概率分布信息和第二类别概率分布信息进行对比,以得到解耦蒸馏损失信息,以及将场景分类损失信息和解耦蒸馏损失信息进行融合,并基于融合后的目标蒸馏损失信息对预设场景分类模型进行收敛,得到场景分类模型。
其中,场景分类损失信息可以为对背景图像样本进行场景分类时产生的损失信息。将标注场景类别与预测场景类别进行对比的方式可以有多种,比如,处理器620可以采用交叉熵损失函数,将标注场景类别与预测场景类别进行对比,从而得到场景分类损失信息,或者,还可以采用其他损失函数,将标注场景类别与预测场景类别进行对比,从而得到场景分类损失信息,等等。
其中,解耦蒸馏损失信息可以为对场景类别进行解耦之后蒸馏产生的损失信息。基于解耦蒸馏权重,将第一类别概率分布信息和第二类别分布信息进行对比的方式可以有多种,比如,处理器620可以对第一类别概率分布信息进行分布解耦,以得到目标类别对应的第一目标类别蒸馏分布和其他类别对应的第一其他类别蒸馏分布,对第二类别概率分布信息进行分布解耦,以得到目标类别对应的第二目标类别蒸馏分布和其他类别对应的第二其他类别蒸馏分布,以及基于解耦蒸馏权重、第一目标类别蒸馏分布、第一其他类别蒸馏分布、第二目标类别蒸馏分布和第二其他类别蒸馏分布,确定解耦蒸馏损失信息。
其中,目标类别为基于类别概率分布信息确定出的背景图像样本对应的预测场景类别。其他类别就可以为场景类别中除目标类别以外的类别。比如,以场景类别包括类别A、类别B和类别C,且目标类别为类别A为例,则其他类别就可以为类别B和C。对第一类别概率分布信息进行分布解耦,以得到目标类别对应的第一目标类别蒸馏分布和其他类别对应的第一其他类别对应的初始其他类别蒸馏分布的方式可以有多种,比如,处理器620可以在第一类别概率分布信息中解耦出目标类别对应的第一目标类别蒸馏分布和其他类别对应的初始其他类别蒸馏分布,以及对初始其他类别蒸馏分布进行归一化,得到第一其他类别蒸馏分布。
其中,在第一类别概率分布信息中解耦出目标类别对应的第一目标类别蒸馏分布和其他类别对应的初始其他类别蒸馏分布的方式可以有多种,比如,处理器620可以在第一类别概率分布信息中提取出每一场景类别的类别概率,并基于类别概率,在每一场景类别中确定出目标类别和其他类别,将其他类别对应的类别概率进行累加,并将累加后的类别概率与目标类别对应的类别概率进行组合,以得到第一目标类别蒸馏分布,以及在第一类别概率分布信息中剔除目标类别对应的类别概率,得到初始其他类别蒸馏分布。
其中,基于类别概率,在每一场景类别中确定出目标类别和其他类别的方式可以有多种,比如,处理器620可以在类别概率在选取出最大的类别概率,得到目标类别概率,并将目标类别概率对应的场景类别作为目标类别,然后,将场景类别中除目标类别以外的类别作为其他类别,譬如,类别概率分布信息为[0.1,0.1,0.7,0.1]为例,就可以将类别概率为0.7的类别作为目标类别,然后,将剩下的类别作为其他类别,等等。
处理器在确定出目标类别和其他类别之后,便可以将其他类别对应的类别概率进行累加,并将累加后的类别概率与目标类别对应的类别概率进行组合,以得到目标第一类别蒸馏分布,比如,以第一类别概率分布信息为[0.1,0.1,0.7,0.1],类别A、B和D的类别概率为0.1,类别C的类别概率为0.7为例,处理器620可以将类别A、B和D的类别概率进行累加,得到0.3,然后,将0.3和0.7进行组合,就可以得到第一目标类别蒸馏分布[0.7,0.3]。
处理器620还可以在第一类别概率分布信息中剔除目标类别对应的类别概率,得到初始其他类别蒸馏分布,比如,以第一类别概率分布信息为[0.1,0.1,0.7,0.1]为例,处理器620就可以在第一类别概率分布信息中剔除0.3,从而得到[0.1,0.1,0.1]作为初始其他类别蒸馏分布。
处理器620在确定出其他类别的初始其他类别蒸馏分布之后,便可以对初始其他类别蒸馏分布进行归一化,得到第一其他类别蒸馏分布。归一化的方式可以有多种,比如,以初始其他类别蒸馏分布为[0.1,0.1,0.1],处理器620对初始其他类别蒸馏分布进行归一化处理,从而得到第一其他类别蒸馏分布为[0.3333,0.3333,0.3333]。
其中,处理器620对所述第二类别概率分布信息进行分布解耦的方式与对第一类别概率分布信息进行分布解耦的方式类似,从而得到目标类别对应的第二类别蒸馏分布和其他类别对应的第二其他类别蒸馏分布,详见上文所述,在此就不再一一赘述。
处理器620可以确定出第一目标类别蒸馏分布、第一其他类别蒸馏分布、第二目标类别蒸馏分布和第二其他类别蒸馏分布之后,便可以基于解耦蒸馏权重、第一目标类别蒸馏分布、第一其他类别蒸馏分布、第二目标类别蒸馏分布和第二其他类别蒸馏分布,确定解耦蒸馏损失信息。解耦蒸馏权重包括目标类别对应的第一蒸馏权重和其他类别对应的第二蒸馏权重。确定解耦蒸馏损失信息的方式可以有多种,比如,处理器620可以将第一目标类别蒸馏分布与目标类别蒸馏分布进行对比,以得到第一蒸馏损失信息,并将第一其他类别蒸馏分布与第二其他类别蒸馏分布进行对比,得到第二蒸馏损失信息,基于第一蒸馏权重对第一蒸馏损失信息进行加权,并基于第二蒸馏权重对第二蒸馏损失信息进行加权,以及将加权后的第一蒸馏损失信息与加权后的第二蒸馏损失信息进行融合,得到解耦蒸馏损失信息。
处理器620在确定出场景分类损失信息和解耦蒸馏损失信息之后,便可以将场景分类损失信息和解耦蒸馏损失信息进行融合。融合的方式可以有多种,比如,处理器620可以直接将场景分类损失信息和解耦蒸馏损失信息相加,从而得到融合后的目标蒸馏损失信息,具体可以如公式(1)所示:
Losstotal=osscls+*osstkd+*ossnkd(1)
其中,Losstotal为目标蒸馏损失信息,Losscls为场景分类损失信息,a为第一蒸馏权重,b为第二蒸馏权重,Losstkd为第一蒸馏损失信息,Lossnkd为第二蒸馏损失信息。
处理器620在确定出目标蒸馏损失信息之后,便可以基于目标蒸馏损失信息,对预设场景分类模型进行收敛,得到场景分类模型。对预设场景分类模型进行收敛的方式可以有多种,比如,处理器620可以基于采用梯度下降算法,基于目标蒸馏损失信息或目标蒸馏损失信息中包含的场景分类损失信息和解耦蒸馏损失信息,分别对预设场景模型中的网络参数进行更新,返回执行获取背景图像样本的步骤,直至预设场景模型收敛时为止,得到训练后的场景分类模型,或者,还可以采用其他网络参数更新算法,基于目标蒸馏损失信息或目标蒸馏损失信息中包含的场景分类损失信息和解耦蒸馏损失信息,分别对预设场景模型中的网络参数进行更新,返回执行获取背景图像样本的步骤,直至预设场景模型收敛时为止,得到训练后的场景分类模型,等等。
其中,需要说明的是,在场景分类模型的蒸馏过程中,采用了解耦蒸馏的方式,不仅可以针对教师模型预测的目标类别进行蒸馏,还可以针对出目标类别以外的其他类别的蒸馏,使得轻量级的场景分类模型可以学到更加细粒度的场景类别预测,从而提升场景分类模型的场景分类的精度,进而可以提升活体检测的准确率。
S130:将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的活体检测结果,并输出活体检测结果。
其中,目标活体检测模型为场景特征所属的场景簇对应的活体检测模型。所述场景簇可以为通过场景分类模型对图像样本集合中图像样本进行场景特征提取,并基于提取出的场景特征进行聚类后得到的至少一个簇。
其中,将目标用户和场景特征输入至目标活体检测模型,以得到目标用户的活体检测结果,并输出活体检测结果具体可以如下:
S131:将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的活体检测结果。
例如,处理器620可以基于场景特征,获取目标用户图像对应的目标活体检测模型,将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的攻击概率,以及在攻击概率大于预设场景概率阈值时,确定目标用户的活体检测结果为攻击用户,或者,在攻击概率小于预设攻击概率是,确定目标用户的活体检测结果为活体用户。
其中,获取目标用户图像对应的目标活体检测模型的方式可以有多种,比如,处理器620可以获取场景簇对应的活体检测模型集合,该活体检测模型集合包括每一场景簇对应的活体检测模型,在场景簇中查询场景特征对应的目标场景簇,在场景簇中包括目标场景簇时,在活体检测模型集合中选取出目标场景簇对应的目标活体检测模型。
其中,在获取场景簇对应的活体检测模型集合之后,还可以构建或生成该活体检测模型集合。生成该活体检测模型集合的方式可以有多种,比如,处理器620可以获背景图像样本集合,并采用场景分类模型对背景图像样本集合中每一图像样本进行特征提取,得到样本场景特征集合,对样本场景特征集合中的场景特征进行聚类,以得到至少一个场景簇,并确定至少一个场景簇中每一场景簇的目标场景特征,获取每一场景簇对应的用户图像样本,并基于用户图像样本对预设活体检测模型进行训练,得到每一场景簇对应的活体检测模型,以及将每一场景簇对应的活体检测模型作为活体检测模型集合。
其中,对样本场景特征集合中场景特征进行聚类,以得到至少一个场景簇的方式可以有多种,比如,处理器620可以采用KMeans聚类算法对样本场景特征集合中的场景特征进行聚类,得到至少一个类别,并将属于一个类别的场景特征组成一个场景簇。
处理器620在得到至少一个场景簇之后,便可以确定至少一个场景簇中每一场景簇的目标场景特征。目标场景特征可以为理解为代表该场景簇的场景特征。确定每一场景簇的目标场景特征的方式可以有多种,比如,处理器620可以计算一个场景簇中所有样本场景特征的特征均值,从而得到该场景簇的目标场景特征。
处理器620在采用场景分类模型提取出样本场景特征,并基于样本场景特征,确定出至少一个场景簇之后,便可以针对每一场景簇训练一个对应的活体检测模型,从而得到活体检测模型集合。以场景簇的数量为N为例,获取每一场景簇对应的用户图像样本,基于用户图像样本对预设活体检测模型进行训练的方式可以有多种,比如,处理器620可以在用户图像样本中选取出第i个场景簇的目标用户图像样本,所述i为[1,N]之间的整数,采用场景分类模型对目标用户图像样本进行特征提取,得到目标样本场景特征,针对第i个场景簇:将目标用户图像样本和目标样本场景特征输入至预设活体检测模型,以得到目标用户图像样本的预测活体类别,获取目标用户图像样本的标注活体类别,并将标注活体类别与预测活体类别进行对比,以得到活体分类损失信息,以及基于活体分类损失信息与预设活体检测模型进行收敛,得到训练后的活体检测模型。
其中,预测活体类别可以为预设活体检测模型对目标用户图像样本进行活体预测得到的活体类别,所述活体类别可以包括攻击用户或正常用户中的一种。预设活体检测模型包括图像特征编码网络、条件编码网络和活体分类网络。所述图像特征编码网络为对目标用户图像样本进行图像特征编码的网络,所述条件编码网络为将用于场景分类的场景特征转换为用于活体检测的特征的编码网络,所述活体分类网络为对用户图像/用户图像样本进行活体分类的网络。将目标用户图像样本和目标样本场景特征输入至预设活体检测模型,以得到目标用户图像样本的预测活体类别的方式可以有多种,比如,处理器620可以采用图像特征编码网络对目标用户图像样本进行特征编码,得到样本图像特征,采用条件特征编码网络对目标样本场景特征进行特征转换,得到样本场景检测特征,以及将样本图像特征和样本场景检测特征输入至活体分类网络,以得到目标用户图像样本的预测活体类别。
其中,样本场景检测特征为样本场景特征中用于进行活体分类(检测)的特征信息。条件特征编码网络的网络结构可以有多种,比如,可以为一个或多个全连接层(FC层)或者其他类型的特征转换网络,等等。
处理器620在得到目标用户图像样本的预测活体类别之后,便可以获取目标用户图像样本的标注活体类别,并将标注活体类别与预测活体类别进行对比,从而得到活体分类损失信息。将标注活体类别与预测活体类别进行对比的方式可以有多种,比如,处理器620可以采用交叉熵损失函数,将标注活体类别与预测活体类别进行对比,从而得到活体分类损失信息,或者,还可以采用其他类型的损失函数,将标注活体类别与预测活体类别进行对比,从而得到活体分类损失信息,等等。
处理器620在确定出活体分类损失信息之后,便可以基于活体分类损失信息对预设活体检测模型进行收敛,从而得到训练后的第i个场景簇对应的活体检测模型,进而得到场景簇对应的活体检测模型集合。对预设活体检测模型进行收敛可以与基于目标蒸馏损失信息对预设场景分类模型进行收敛的方式类似,详见上文所述,在此就不再一一赘述。
其中,需要说明的是,本方案中是针对每一个场景簇训练一个活体检测模型,充分利用场景之间的关联,通过场景分类模型在端侧完成场景分类和分流,从而可以训练出较少的模型兼顾所有的场景,相对于针对每一个场景训练一个模型或者多个场景训练一个模型来说,可以兼顾运维成本和性能的平衡,从而实现在有限的运维成本下,大大提升活体检测的检测性能,进而提升活体检测的准确率。
处理器620在获取场景簇对应的活体检测模型之后,便可以在场景簇中查询场景特征对应的目标场景簇,在场景簇中包括目标场景簇时,就可以表明当前的检测场景为已知场景(非新场景),此时就可以在活体检测模型中选取出目标场景簇对应的目标活体检测模型。
在一些实施例中,在场景簇中未包括目标场景簇时,就可以表明当前检测场景为新场景,针对新场景,就需要重新部署新场景下的目标活体检测模型。在新场景下部署目标活体检测模型的方式可以有多种,比如,处理器620还可以获取当前检测场景下的当前用户图像样本集合,采用场景分类模型对当前用户图像样本集合中每一用户图像样本进行特征提取,并确定提取出的当前场景特征的均值,得到目标特征均值,基于目标特征均值,在活体检测模型中选取出候选活体检测模型,以及采用当前用户图像样本集合对候选活体检测模型进行更新,得到目标场景簇对应的目标活体检测模型。
其中,当前用户图像样本集合可以为新场景下采集的用户图像样本。所述新场景可以为新的活体检测设备或设备部署的新的位置等。确定当前检测场景属于新场景的方式除了在场景簇中查询目标场景特征对应的目标场景簇以外,还可以获取处理器620对应的计算设备600的属性信息,基于该属性信息,确定当前检测场景是否属于新场景,比如,计算设备600为新部署的设备,则确定当前检测场景属于新场景,反之则不属于新场景,或者,计算设备600的部署位置新位置,则确定当前检测场景属于新场景,反之则不属于新场景,等等。
其中,基于目标特征均值,在活体检测模型中选取出候选活体检测模型的方式可以有多种,比如,处理器620可以获取活体检测模型集合中每一活体检测模型对应的场景簇的目标场景特征,获取目标特征均值与目标场景特征之间的特征相似度,以及基于特征相似度,在活体检测模型集合中选取出候选活体检测模型。
其中,获取特征相似度的方式可以有多种,比如,处理器620可以获取目标特征均值与目标场景特征之间的余弦相似度,从而得到特征相似度,或者,还可以获取目标特征均值与目标场景特征之间的特征距离,从而得到特征相似度,等等。
处理器620在获取目标特征均值与目标场景特征之间的特征相似度之后,便可以基于特征相似度,在活体检测模型集合中选取出候选活体检测模型。选取候选活体检测模型的方式可以有多种,比如,处理器620可以基于特征相似度,对活体检测模型集合的活体检测模型进行排序,基于排序结果,在活体检测模型集合中选取出特征相似度最高的活体检测模型作为候选活体检测模型。候选活体检测模型就可以为与新场景最近接的活体检测模型。
处理器620在选取出候选活体检测模型之后,便可以采用当前用户图像样本集合对候选活体检测模型进行更新,得到目标场景簇对应的目标活体检测模型。对候选活体检测模型进行更新的方式可以有多种,比如,处理器620可以在当前用户图像样本集合中选取出预设数量的候选用户图像样本,将候选用户图像样本发送至标注服务器,并接收标注服务器返回的标注用户图像样本,该标注用户图像样本为对候选用户图像样本进行活体类别标注后的图像样本,以及基于标注用户图像样本对候选活体检测模型进行训练,得到目标场景簇对应的目标活体检测模型。
其中,基于标注用户图像样本对候选活体检测模型进行训练的方式与基于用户图像样本对预设活体检测模型进行训练的方式类似,详见上文所述,在此就不再一一赘述。
处理器620在选取出目标活体检测模型之后,便可以将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的攻击概率。将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的攻击概率的方式可以有多种,比如,处理器620可以采用目标活体检测模型对目标用户图像进行特征提取,得到目标图像特征,对场景特征进行特征转换,得到目标用户对应的场景检测特征,以及基于目标图像特征和场景检测特征,对目标用户进行活体分类,得到目标用户的攻击概率。
其中,场景检测特征可以为场景特征中用于进行活体检测或分类的特征信息。
处理器620在得到目标用户的攻击概率之后,便可以基于攻击概率,确定目标用户的活体检测结果,比如,处理器620在攻击概率大于预设攻击概率阈值时,确定目标用户的活体检测结果为攻击用户,或者,在攻击概率小于预设攻击概率阈值时,确定目标用户的活体检测结果为活体用户。
S132:输出活体检测结果。
例如,处理器620可以直接将活体检测结果发送至用户100对应的客户端200、终端或服务器,以便客户端200、终端或服务器基于活体检测结果对目标用户或目标用户对应的业务请求进行响应,或者,还可以直接可视化展示该活体检测结果,等等。
其中,可视化展示活体检测结果的方式可以有多种,比如,处理器620可以直接显示该活体检测结果,或者,可以通过声光等方式展示该活体检测结果(譬如,通过语音播报活体检测结果,或者,可以通过显式不同颜色的光显式不同类型的活体检测结果,或者,还可以通过声光联动的方式展示活体检测结果),或者,还可以针对特定类型的活体检测结果进行展示(譬如,仅针对攻击用户这一类型的活体检测结果进行展示,或者,仅针对活体用户这一类型的活体检测结果进行展示,等等),等等。
在一些实施例中,处理器620还可以在确定出目标用户的活体检测结果或者输出该活体检测结果之后,基于该活体检测结果对目标用户或者目标用户对应的业务请求进行响应,响应的方式可以有多种,比如,处理器620可以直接对目标用户或目标用户对应的业务请求进行拦截,或者,处理器620还可以直接对目标用户进行二次验证,并基于二次验证结果,对目标用户或目标用户对应的业务请求进行最终的响应,等等。
其中,在人脸识别场景下,本方案可以基于解耦蒸馏学习和场景分类的方式在端侧进行活体检测,整体的活体检测流程可以如图4所示,可以包括高效场景分类模型训练、条件活体检测模型训练、模型部署和活体检测等四部分,具体可以如下:
(1)高效场景分类模型训练:传统的活体检测模型,对于所有的场景只使用一个模型(或者对于每个场景单独训练一个模型),这会导致无法在性能体验和运维成本上达到比较好的折中。本方案通过训练高效的端侧场景分类模型,来完成场景的分流,并对高度类似的场景进行聚类,共享模型,从而达到性能体验和运维成本上良好的折中。主要包括基于解耦蒸馏的端侧场景分类模型训练和利用训练好的端侧场景分类模型对所有的数据提取场景特征,然后利用KMeans聚类聚集成N个类别(例如5类),计算每个类别的平均特征作为场景簇的场景特征,后续为每个场景簇训练一个活体检测模型(条件活体检测模型)。端侧的场景分类模型训练和场景聚类可以参见上文所述,在此就不再一一赘述。
(2)条件活体检测模型训练:针对每一个场景簇训练一个活体检测模型,作为该场景簇对应的条件活体检测模型(目标活体检测模型),从而实现训练较少的活体检测模型兼顾所有场景。训练过程可以包括采用活体分类损失对活体检测模型进行训练,从而得到每一场景簇对应的活体检测模型,具体训练过程详见上文所述,在此就不再一一赘述。
(3)模型部署:当部署到新场景(新设备/新位置)时,只要评估场景的类别,调优对应的模型进行部署。具体部署过程可以包括在新场景采集若干数据,将采集数据输入到场景分类模型中,得到对应的场景特征,并求取特征平均值;利用特征平均值和场景簇模型对应的场景特征求余弦相似度,取相似度最高的特征对应的场景簇对应的活体检测模型作为新场景对应的候选活体检测模型。标注若干新场景图像,输入到候选活体模型进行训练微调,将微调好的目标活体检测模型部署到该新场景下。
(4)活体检测:在完成模型部署(针对新场景或非新场景的部署)后,用户可以开始人脸识别,采集其人脸图像,将图像输入到场景分类模型中,得到场景特征,将场景特征和人脸图像输入到活体模型中,得到攻击概率p,在p大于提前设定的阈值T,则判断为攻击用户,否则判断为活体用户,具体可以如图5所示。
综上所述,本说明书提供的活体检测方法P100和系统001,在获取目标用户的目标用户图像后,将目标用户图像输入至场景分类模型,以得到场景特征,该场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的分类模型,以及将目标用户图像和场景特征输入至目标活体检测模型,以得到目标用户的活体检测结果,并输出活体检测结果,该目标活体检测模型为所述场景特征所属的场景簇对应的活体检测模型;由于该方案中用于提取场景特征的场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的,使得场景分类模型可以学习到更加细粒度的场景特征,另外,考虑了不同场景之间的关联性,针对不同的场景簇(包含多个相似的场景)训练不同的活体检测模型,即避免针对每一个场景训练一个模型,也避免了采用同一模型在不同场景下进行活体检测,从而实现运维和性能的折中,进而在有限的运维资源下,充分提升活体检测模型的检测性能,因此,可以提升活体检测的准确率。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行活体检测的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的活体检测方法P100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (20)
1.一种活体检测方法,包括:
获取目标用户的目标用户图像;
将所述目标用户图像输入至场景分类模型,以得到所述目标用户对应场景特征,所述场景分类模型为通过教师模型对场景类别进行解耦蒸馏得到的分类模型;以及
将所述目标用户图像和所述场景特征输入至目标活体检测模型,以得到所述目标用户的活体检测结果,并输出所述活体检测结果,所述目标活体检测模型为所述场景特征所属的场景簇对应的活体检测模型。
2.根据权利要求1所述的活体检测方法,其中,所述场景分类模型的训练过程包括以下步骤:
获取背景图像样本,并将所述背景图像样本输入至所述教师模型,以得到所述场景类别对应的第一类别概率分布信息;以及
基于所述第一类别概率分布信息和所述背景图像样本,对预设场景分类模型进行解耦蒸馏,得到所述场景分类模型。
3.根据权利要求2所述的活体检测方法,其中,所述对预设场景分类模型进行解耦蒸馏,得到所述场景分类模型,包括:
将所述背景图像样本输入至所述预设场景分类模型,得到所述场景类别对应的第二类别概率分布信息和解耦蒸馏权重;
基于所述第二类别概率分布信息,确定所述背景图像样本的预测场景类别;以及
基于所述预测场景类别、所述第一类别概率分布信息、所述第二类别概率分布信息和所述解耦蒸馏权重,对所述预设场景分类模型进行蒸馏,得到所述场景分类模型。
4.根据权利要求3所述的活体检测方法,其中,所述预设场景分类模型包括特征编码网络、解耦蒸馏权重获取网络和场景分类网络;以及
所述将所述背景图像样本输入至所述预设场景分类模型,得到所述场景类别对应的第二类别概率分布信息和解耦蒸馏权重,包括:
采用所述特征编码网络对所述背景图像样本进行特征编码,得到样本场景特征,将所述样本场景特征输入至所述解耦蒸馏权重获取网络,以得到解耦蒸馏权重,将所述第一类别概率分布信息、所述样本场景特征和所述解耦蒸馏权重输入至所述场景分类网络,以得到所述场景类别对应的第二类别概率分布信息。
5.根据权利要求3所述的活体检测方法,其中,所述对所述预设场景分类模型进行蒸馏,得到所述场景分类模型,包括:
获取所述背景图样样本的标注场景类别,并将所述标注场景类别与所述预测场景类别进行对比,以得到场景分类损失信息;
基于所述解耦蒸馏权重,将所述第一类别概率分布信息和所述第二类别概率分布信息进行对比,以得到解耦蒸馏损失信息;以及
将所述场景分类损失信息和所述解耦蒸馏损失信息进行融合,并基于融合后的目标蒸馏损失信息对预设场景分类模型进行收敛,得到所述场景分类模型。
6.根据权利要求5所述的活体检测方法,其中,所述将所述第一类别概率分布信息和所述第二类别概率分布信息进行对比,以得到解耦蒸馏损失信息,包括:
对所述第一类别概率分布信息进行分布解耦,以得到目标类别对应的第一目标类别蒸馏分布和其他类别对应的第一其他类别蒸馏分布,所述其他类别为所述场景类别中除所述目标类别以外的类别;
对所述第二类别概率分布信息进行分布解耦,以得到所述目标类别对应的第二目标类别蒸馏分布和所述其他类别对应的第二其他类别蒸馏分布;以及
基于所述解耦蒸馏权重、所述第一目标类别蒸馏分布、所述第一其他类别蒸馏分布、所述第二目标类别蒸馏分布和所述第二其他类别蒸馏分布,确定所述解耦蒸馏损失信息。
7.根据权利要求6所述的活体检测方法,其中,所述对所述第一类别概率分布信息进行分布解耦,以得到目标类别对应的第一目标类别蒸馏分布和其他类别对应的第一其他类别蒸馏分布,包括:
在所述第一类别概率分布信息中解耦出所述目标类别对应的第一目标类别蒸馏分布和所述其他类别对应的初始其他类别蒸馏分布;以及
对所述初始其他类别蒸馏分布进行归一化,得到所述第一其他类别蒸馏分布。
8.根据权利要求7所述的活体检测方法,其中,所述在所述第一类别概率分布信息中解耦出所述目标类别对应的第一目标类别蒸馏分布和所述其他类别对应的初始其他类别蒸馏分布,包括:
在所述第一类别概率分布信息中提取出每一场景类别的类别概率,并基于所述类别概率,在所述每一场景类别中确定出所述目标类别和所述其他类别;
将所述其他类别对应的类别概率进行累加,并将累加后的类别概率与所述目标类别对应的类别概率进行组合,以得到第一目标类别蒸馏分布;以及
在所述第一类别概率分布信息中剔除所述目标类别对应的类别概率,得到所述初始其他类别蒸馏分布。
9.根据权利要求6所述的活体检测方法,其中,所述解耦蒸馏权重包括所述目标类别对应的第一蒸馏权重和所述其他类别对应的第二蒸馏权重;以及
所述确定所述解耦蒸馏损失信息,包括:
将所述第一目标类别蒸馏分布与所述第二目标类别蒸馏分布进行对比,以得到第一蒸馏损失信息,并将所述第一其他类别蒸馏分布与所述第二其他类别蒸馏分布进行对比,以得到第二蒸馏损失信息,
基于所述第一蒸馏权重对所述第一蒸馏损失信息进行加权,并基于所述第二蒸馏权重对所述第二蒸馏损失信息进行加权,以及
将加权后的第一蒸馏损失信息与加权后的第二蒸馏损失信息进行融合,得到所述解耦蒸馏损失信息。
10.根据权利要求1所述的活体检测方法,其中,所述将所述目标用户图像和所述场景特征输入至目标活体检测模型,以得到所述目标用户的活体检测结果,包括:
基于所述场景特征,获取所述目标用户图像对应的目标活体检测模型;
将所述目标用户图像和所述场景特征输入至所述目标活体检测模型,以得到所述目标用户的攻击概率;以及
在所述攻击概率大于预设攻击概率阈值时,确定所述目标用户的活体检测结果为攻击用户。
11.根据权利要求10所述的活体检测方法,其中,还包括:
在所述攻击概率小于所述预设攻击概率阈值时,确定所述目标用户的活体检测结果为活体用户。
12.根据权利要求10所述的活体检测方法,其中,所述基于所述场景特征,获取所述目标用户图像对应的目标活体检测模型,包括:
获取场景簇对应的活体检测模型集合,所述活体检测模型集合包括每一所述场景簇对应的活体检测模型;
在所述场景簇中查询所述场景特征对应的目标场景簇;
在所述场景簇中包括所述目标场景簇时,在活体检测模型集合中选取出所述目标场景簇对应的目标活体检测模型。
13.根据权利要求12所述的活体检测方法,其中,所述获取场景簇对应的活体检测模型集合之前,还包括:
获取背景图像样本集合,并采用所述场景分类模型对所述背景图像样本集合中每一图像样本进行特征提取,得到样本场景特征集合;
对所述样本场景特征集合中的场景特征进行聚类,以得到至少一个场景簇,并确定所述至少一个场景簇中每一场景簇的目标场景特征;
获取所述每一场景簇对应的用户图像样本,并基于所述用户图像样本对预设活体检测模型进行训练,得到所述每一场景簇对应的活体检测模型;以及
将所述每一场景簇对应的活体检测模型作为所述活体检测模型集合。
14.根据权利要求13所述的活体检测方法,其中,所述场景簇的数量为N个;以及
所述基于所述用户图像样本对预设活体检测模型进行训练,得到所述每一场景簇对应的活体检测模型,包括:
在所述用户图像样本中选取出第i个场景簇的目标用户图像样本,所述i为[1,N]之间的整数,
采用所述场景分类模型对所述目标用户图像样本进行特征提取,得到目标样本场景特征,以及
针对第i个场景簇:
将所述目标用户图像样本和所述目标样本场景特征输入至所述预设活体检测模型,以得到所述目标用户图像样本的预测活体类别,
获取所述目标用户图像样本的标注活体类别,并将所述标注活体类别与所述预测活体类别进行对比,以得到活体分类损失信息,以及
基于所述活体分类损失信息对所述预设活体检测模型进行收敛,得到训练后的所述活体检测模型。
15.根据权利要求14所述的活体检测方法,其中,所述预设活体检测模型包括图像特征编码网络、条件特征编码网络和活体分类网络;以及
所述将所述目标用户图像样本和所述目标样本场景特征输入至所述预设活体检测模型,以得到所述目标用户图像样本的预测活体类别,包括:
采用所述图像特征编码对所述目标用户图像样本进行特征编码,得到样本图像特征,
采用所述条件特征编码网络对所述目标样本场景特征进行特征转换,得到样本场景检测特征,以及
将所述样本图像特征和所述样本场景检测特征输入至所述活体分类网络,以得到所述目标用户图像样本的预测活体类别。
16.根据权利要求12所述的活体检测方法,其中,所述在所述场景簇中查询所述场景特征对应的目标场景簇之后,还包括:
在所述场景簇中未包括所述目标场景簇时,获取当前检测场景下的当前用户图像样本集合;
采用所述场景分类模型对所述当前用户图像样本集合中每一用户图像样本进行特征提取,并确定提取出的当前场景特征的均值,得到目标特征均值;
基于所述目标特征均值,在所述活体检测模型集合中选取出候选活体检测模型;以及
采用所述当前用户图像样本集合对所述候选活体检测模型进行更新,得到所述目标场景簇对应的目标活体检测模型。
17.根据权利要求16所的活体检测方法,其中,所述基于所述目标特征均值,在所述活体检测模型集合中选取出候选活体检测模型,包括:
获取所述活体检测模型集合中每一活体检测模型对应的场景簇的目标场景特征;
获取所述目标特征均值与所述目标场景特征之间的特征相似度;以及
基于所述特征相似度,在所述活体检测模型集合中选取出所述候选活体检测模型。
18.根据权利要求16所述的活体检测方法,其中,所述采用所述当前用户图像样本集合对所述候选活体检测模型进行更新,得到所述目标场景簇对应的目标活体检测模型,包括:
在所述当前用户图像样本集合中选取出预设数量的候选用户图像样本;
将所述候选用户图像样本发送至标注服务器,并接收所述标注服务器返回的标注用户图像样本,所述标注用户图像样本为对所述候选用户图像样本进行活体类别标注后的图像样本;以及
基于所述标注用户图像样本对所述候选活体检测模型进行训练,得到所述目标场景簇对应的目标活体检测模型。
19.根据权利要求10所述的活体检测方法,其中,所述将所述目标用户图像和所述场景特征输入至所述目标活体检测模型,以得到所述目标用户的攻击概率,包括:
采用所述目标活体检测模型对所述目标用户图像进行特征提取,得到目标图像特征;
对所述场景特征进行特征转换,得到所述目标用户对应的场景检测特征;以及
基于所述目标图像特征和所述场景检测特征,对所述目标用户进行活体分类,得到所述目标用户的攻击概率。
20.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-19中任一项所述的活体检测的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211730024.3A CN116189315A (zh) | 2022-12-30 | 2022-12-30 | 活体检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211730024.3A CN116189315A (zh) | 2022-12-30 | 2022-12-30 | 活体检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116189315A true CN116189315A (zh) | 2023-05-30 |
Family
ID=86437650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211730024.3A Pending CN116189315A (zh) | 2022-12-30 | 2022-12-30 | 活体检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116189315A (zh) |
-
2022
- 2022-12-30 CN CN202211730024.3A patent/CN116189315A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4137991A1 (en) | Pedestrian re-identification method and device | |
US20120114177A1 (en) | Image processing system, image capture apparatus, image processing apparatus, control method therefor, and program | |
KR20190106853A (ko) | 텍스트 인식 장치 및 방법 | |
CN115240280A (zh) | 人脸活体检测分类模型的构建方法、检测分类方法及装置 | |
CN113642639B (zh) | 活体检测方法、装置、设备和存储介质 | |
CN106462736A (zh) | 用于人脸检测的处理设备和方法 | |
CN116468113A (zh) | 活体检测模型的训练方法、活体检测方法和系统 | |
CN116311546A (zh) | 活体检测方法和系统 | |
CN116012612A (zh) | 内容检测方法和系统 | |
CN115984977A (zh) | 活体检测方法和系统 | |
CN115880530A (zh) | 对抗攻击的检测方法和系统 | |
CN114581978A (zh) | 人脸识别的方法和系统 | |
CN116189315A (zh) | 活体检测方法和系统 | |
Chen | Design and simulation of AI remote terminal user identity recognition system based on reinforcement learning | |
CN116110132A (zh) | 活体检测方法和系统 | |
CN116343346A (zh) | 活体检测方法和系统 | |
CN116110136A (zh) | 活体检测方法和系统 | |
CN116778534B (zh) | 图像处理方法、装置、设备和介质 | |
CN114882525B (zh) | 基于模态特定记忆网络的跨模态行人重识别方法 | |
CN116259116A (zh) | 活体检测方法和系统 | |
CN116665315A (zh) | 活体检测模型的训练方法、活体检测方法和系统 | |
CN116110135A (zh) | 活体检测方法和系统 | |
CN115909511A (zh) | 活体检测方法和系统 | |
US20230260323A1 (en) | System and method for recognizing an entity | |
CN116311551A (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 |