CN116311551A - 活体检测方法和系统 - Google Patents
活体检测方法和系统 Download PDFInfo
- Publication number
- CN116311551A CN116311551A CN202310284432.9A CN202310284432A CN116311551A CN 116311551 A CN116311551 A CN 116311551A CN 202310284432 A CN202310284432 A CN 202310284432A CN 116311551 A CN116311551 A CN 116311551A
- Authority
- CN
- China
- Prior art keywords
- living body
- body detection
- target
- user
- detection model
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 391
- 238000007906 compression Methods 0.000 claims abstract description 121
- 230000006835 compression Effects 0.000 claims abstract description 115
- 238000000034 method Methods 0.000 claims description 53
- 238000004821 distillation Methods 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 32
- 238000001727 in vivo Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 27
- 238000013140 knowledge distillation Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 24
- 230000004927 fusion Effects 0.000 claims description 12
- 238000001574 biopsy Methods 0.000 claims description 7
- 238000002372 labelling Methods 0.000 claims description 7
- 238000005520 cutting process Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000003786 sclera Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
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
-
- 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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Analysis (AREA)
Abstract
本说明书提供的活体检测方法和系统,在获得目标用户的目标用户图像,并基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像之后,基于目标用户图像和K个压缩用户图像,生成K个差分用户图像,以及基于K个差分用户图像,对目标用户进行活体检测,得到目标用户的活体检测结果并输出;该方案可以提升活体检测的检测性能。
Description
技术领域
本说明书涉及活体检测领域,尤其涉及一种活体检测方法和系统。
背景技术
近年来,随着互联网技术的飞速发展,在人脸识别系统中活体检测已经成为不可缺少的一环,通过活体检测可以有效拦截非活体类型的攻击样本。活体检测方式的不断更迭,针对一般类型的活体攻击往往可以高效的检测出来,但是还存在一部分攻击类型无法解决,比如,高清屏幕攻击。在高清屏幕攻击中高清屏幕呈现的攻击线索很难被采集到。针对这一类的攻击,现有的活体检测方法往往通过多动作交互进行活体检测,或者,引入随机炫光进行活体检测。
在对现有技术的研究和实践过程中,本申请的发明人发现基于多动作交互和引入随机炫光的方式,在活体检测过程中均需要引入额外的信息(动作或炫彩光等),不仅降低了活体检测的检测效率,而且,还增加了对用户的打扰率,因此,在保证用户体验的前提下,就会导致活体检测的检测性能降低。
发明内容
本说明书提供一种检测性能更高的活体检测方法和系统。
第一方面,本说明书提供一种活体检测方法,包括:获得目标用户的目标用户图像,并基于K个压缩率,对所述目标用户图像进行压缩,得到K个压缩用户图像,所述K为大于0的整数;基于所述目标用户图像和所述K个压缩用户图像,生成K个差分用户图像;以及基于所述K个差分用户图像,对所述目标用户进行活体检测,得到所述目标用户的活体检测结果,并输出所述活体检测结果。
在一些实施例中,所述K个压缩率在排序后,相邻的压缩率之间的差值相同。
在一些实施例中,所述基于所述目标用户图像和所述K个压缩用户图像,生成K个差分用户图像,包括:基于所述K个压缩率,对所述目标用户图像和所述K个压缩用户图像进行排序,得到用户图像序列;以及对所述用户图像序列中相邻的图像进行差分,得到所述K个差分用户图像。
在一些实施例中,所述对所述目标用户进行活体检测,得到所述目标用户的活体检测结果,包括:将所述K个差分用户图像进行融合,得到融合用户图像;对所述融合用户图像进行特征提取,得到所述目标用户的图像活体特征;以及基于所述图像活体特征,对所述目标用户进行活体分类,得到所述目标用户的活体检测结果。
在一些实施例中,所述将所述K个差分用户图像进行融合,得到融合用户图像,包括:确定所述K个差分用户图像对应的注意力权重;以及基于所述注意力权重,对所述K个差分用户图像进行融合,得到所述融合用户图像。
在一些实施例中,所述对所述目标用户进行活体分类,得到所述目标用户的活体检测结果,包括:基于所述图像活体特征,确定所述目标用户的目标攻击概率;以及基于所述目标攻击概率,执行目标操作,所述目标操作包括第一操作或第二操作,其中:所述第一操作包括确定所述目标攻击概率大于预设概率阈值,确定所述目标用户的活体检测结果为攻击用户,以及所述第二操作包括确定所述目标攻击概率小于预设概率阈值,确定所述目标用户的活体检测结果为活体用户。
在一些实施例中,所述对所述目标用户进行活体检测,得到所述目标用户的活体检测结果,包括:将所述K个差分用户图像输入至目标活体检测模型,以得到多个攻击概率;确定所述多个攻击概率的均值,以得到所述目标用户的目标攻击概率;以及基于所述目标攻击概率,确定所述目标用户的活体检测结果。
在一些实施例中,所述多个攻击概率包括融合用户图像中每一像素对应的攻击概率,所述融合用户图像包括所述K个差分用户图像进行融合后的用户图像。
在一些实施例中,所述目标活体检测模型的训练过程包括以下步骤:获得第一差分用户图像样本组;基于所述第一差分用户图像样本组,对预设活体检测模型进行训练,得到训练后的活体检测模型;以及对所述活体检测模型进行压缩,得到所述目标活体检测模型。
在一些实施例中,所述对预设活体检测模型进行训练,得到训练后的活体检测模型,包括:将所述第一差分用户图像样本组输入至所述预设活体检测模型,得到第一预测活体类别;基于所述第一预测活体类别,确定所述第一差分用户图像样本组对应的第一活体分类损失;以及基于所述第一活体分类损失,对所述预设活体检测模型进行收敛,得到所述活体检测模型。
在一些实施例中,所述第一差分用户图像样本组包括K个第一差分用户图像样本,所述预设活体检测模型包括图像融合网络、特征编码网络和活体分类网络;以及所述将所述第一差分用户图像样本组输入至所述预设活体检测模型,得到第一预测活体类别,包括:将所述K个第一差分用户图像样本输入至所述图像融合网络,得到第一融合用户图像样本,将所述第一融合用户图像样本输入至所述特征编码网络,得到第一样本图像活体特征,以及将所述第一样本图像活体特征输入至所述活体分类网络,得到所述第一融合用户图像样本中每一像素对应的第一预测活体类别。
在一些实施例中,所述确定所述第一差分用户图像样本组对应的第一活体分类损失,包括:获得所述第一差分用户图像样本组对应的第一标注活体类别;将所述第一标注活体类别与所述第一预测活体类别进行对比,以得到所述第一融合用户图像样本中每一像素对应的初始活体分类损失;以及将所述初始活体分类损失进行累加,得到所述第一活体分类损失。
在一些实施例中,所述确定所述第一差分用户图像样本组对应的第一活体分类损失,包括:获得所述第一差分用户图像样本组对应的第一标注活体类别,并将所述第一标注活体类别与所述第一预测活体类别进行对比,以得到所述每一像素对应的初始活体分类损失;将所述每一像素对应的第一预测活体类别进行对比,得到预测一致性损失;以及将所述预测一致性损失与所述初始活体分类损失进行融合,得到所述第一活体分类损失。
在一些实施例中,所述对所述活体检测模型进行压缩,得到所述目标活体检测模型,包括:将所述活体检测模型作为教师模型,并基于所述教师模型和预设元网络,对所述活体检测模型进行知识蒸馏,所述预设元网络被配置为在模型压缩过程中平衡模型性能和模型体积之间的关系;以及对蒸馏后的活体检测模型进行通道裁剪,得到所述目标活体检测模型。
在一些实施例中,所述对所述活体检测模型进行知识蒸馏,包括:基于所述教师模型和所述预设元网络,对所述活体检测模型进行预设第一次数的知识蒸馏,得到蒸馏后的候选活体检测模型;将所述活体检测模型更新为所述候选活体检测模型,并基于所述候选活体检测模型和所述教师模型,对所述预设元网络进行预设第二次数的训练,得到当前元网络;以及将所述预设元网络更新为所述当前元网络,并返回执行所述对所述活体检测模型进行预设第一次数的知识蒸馏的步骤,直至所述活体检测模型收敛时为止,得到所述蒸馏后的活体检测模型。
在一些实施例中,所述预设第一次数大于所述预设第二次数,所述预设第一次数与所述预设第二次数之间的比值为预设比值。
在一些实施例中,所述对所述活体检测模型进行预设第一次数的知识蒸馏,得到蒸馏后的候选活体检测模型,包括:获得第二差分用户图像样本组,并将所述第二差分用户图像样本组输入至所述教师模型,得到第二预测活体类别;将所述第二差分用户图像样本组输入至所述活体检测模型,以得到第二样本图像活体特征和第三预测活体类别,所述第二样本图像活体特征包括至少一个特征通道对应的特征元素;将所述第三预测活体类别输入至所述预设元网络,得到模型压缩权重,并基于所述模型压缩权重、所述特征元素、所述第二预测活体类别和所述第三预测活体类别,对所述活体检测模型的网络参数进行更新,得到更新后的活体检测模型;以及将所述活体检测模型更新为所述更新后的活体检测模型,并返回执行所述获得第二差分用户图像样本组的步骤,直至所述网络参数的更新次数达到所述预设第一次数时为止,得到所述候选活体检测模型。
在一些实施例中,所述模型压缩权重包括模型性能权重和模型体积权重;以及所述对所述活体检测模型的网络参数进行更新,得到更新后的活体检测模型,包括:获得所述第二差分用户图像样本组的第二标注活体类别,并将所述第二标注活体类别分别与所述第二预测活体类别和所述第三预测活体类别进行对比,以得到第二活体分类损失;将所述第二预测活体类别与所述第三预测活体类别进行对比,以得到蒸馏损失,并基于所述模型性能权重对所述蒸馏损失进行加权,得到目标蒸馏损失;基于所述特征元素,确定所述至少一个特征通道对应的稀疏损失,并基于所述模型体积权重对所述稀疏损失进行加权,得到目标稀疏损失,以及将所述第二活体分类损失、所述目标蒸馏损失和所述目标稀疏损失进行融合,并基于融合后的目标压缩损失对所述活体检测模型的网络参数进行更新,得到更新后的活体检测模型。
在一些实施例中,所述基于所述特征元素,确定所述至少一个特征通道对应的稀疏损失,包括:基于所述特征元素,确定所述至少一个特征通道中每一特征通道的通道重要性值;基于所述通道重要性值,在所述至少一个特征通道中选取出候选特征通道,所述候选特征通道包括所述通道重要性值小于预设重要性阈值的特征通道;以及基于所述候选特征通道的数量,确定所述稀疏损失,所述稀疏损失在训练过程中约束候选特征通道的数量大于预设数量阈值。
在一些实施例中,所述对蒸馏后的活体检测模型进行通道裁剪,得到所述目标活体检测模型,包括:获得所述蒸馏后的活体检测模型中每一特征通道的目标通道重要性值;基于所述目标通道重要值,确定出需要裁剪的目标特征通道,并在所述蒸馏后的活体检测模型中选取出所述目标特征通道对应的目标卷积核;以及在所述蒸馏后的活体检测模型中,对所述目标特征通道和所述目标卷积核进行裁剪,得到所述目标活体检测模型。
第二方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的活体检测方法。
由以上技术方案可知,本说明书提供的活体检测方法和系统,在获得目标用户的目标用户图像,并基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像之后,基于目标用户图像和K个压缩用户图像,生成K个差分用户图像,以及基于K个差分用户图像,对目标用户进行活体检测,得到目标用户的活体检测结果并输出;由于该方案针对高清屏幕这类攻击,不仅无需引入额外的信息,而且,还可以通过对目标用户的用户图像进行压缩差分处理,有效放大异常的攻击检索,另外通过不同压缩率尽可能更多的提取出异常的攻击线索,从而提升活体检测的检测精度,因此,可以提升活体检测的检测性能。
本说明书提供的活体检测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测方法的流程图;
图4示出了根据本说明书的实施例提供的一种人脸识别场景下的活体检测方法的整体流程示意图;以及
图5示出了根据本说明书的实施例提供的一种对目标用户进行活体检测的流程示意图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
图像压缩:利用图像压缩技术(比如,JPEG技术或者其他压缩技术)对图像进行不同程度的压缩,得到不同的压缩结果;
压缩差分:指不同压缩率的图像之间的差分图像;
活体检测(活体防攻击):指利用利用人工智能模型检测、拦截活体攻击的技术,例比如,手机屏幕、打印纸张、面具或头套,等等。
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
本说明书提供的活体检测方法可以应用在任意的活体检测场景中,比如,在人脸支付场景中,可以通过本说明书的活体检测方法对采集的待支付用户的人脸图像进行活体检测;在身份验证场景中,可以通过本说明书的活体检测方法对采集的用户的身份图像进行活体检测;还可以应用在任意的人脸识别场景中,在此就不再一一赘述。
本领域技术人员应当明白,本说明书所述的活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
图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:获得目标用户的目标用户图像,并基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像。
其中,目标用户图像可以为包含目标用户的生物特征的至少一张用户图像。所述生物特征可以包括面部、躯体、虹膜、巩膜、指纹、掌纹、声纹或骨骼投影中的至少一个。
其中,K为大于0的整数。压缩率可以表征文件或内容的压缩程度或者压缩后的质量。通常可以为文件或内容压缩后的大小与压缩前的大小之比,是压缩算法中的一个重要的压缩参数。压缩率越高,也就表明压缩后的文件或者内容就越小,与之相应的,质量就越小。K个压缩率在排序后,相邻的压缩率之间的差值相同,比如,以K为4,则这4个压缩率在按照大小排序后,相邻的压缩率之间的压缩率差值相同,也就是说这个4个压缩率可以为组成等差数列,譬如,4个压缩率可以为包括[20,40,60,80]。
其中,压缩用户图像可以为对目标用户图像进行压缩后得到的用户图像。K个压缩率与K个压缩用户图像一一对应,也就是说一个压缩率对应一个压缩用户图像。
其中,获得目标用户的目标用户图像,并基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像的方式具体可以如下:
S111:获得目标用户的目标用户图像。
例如,处理器620可以直接接收用户100或目标用户通过客户端、终端或服务器上传的所述目标用户的至少一张用户图像,从而得到目标用户图像,或者,可以从网络或者图像数据库中获得包含目标用户的生物特征的图像,从而得到目标用户图像,或者,可以通过图像采集设备采集目标用户的至少一张包含生物特征的用户图像,从而得到目标用户图像,或者,在目标用户图像的数量较多或者内存较大时,还可以接收活体检测请求,该活体检测请求中包括目标用户的目标用户图像的存储地址,基于该存储地址,获得目标用户的目标用户图像,等等。
S112:基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像。
例如,处理器620可以确定压缩率区间,并在压缩率区间中均匀采样出K个压缩率,然后,基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像,或者,还可以直接获得K个压缩率,K个压缩率可以组成一个等差数列,然后,基于K个压缩率,对目标用户图像进行压缩,等等。
其中,压缩率区间可以为基于图像质量确定出的可以压缩的压缩率的取值范围,比如,以压缩后的图像质量区间为[0,100],则压缩率区间也就可以为[0,100],压缩率为0也就表明对目标用户图像不进行压缩,而压缩率100就可以为在图像压缩算法对目标用户图像进行最大程度的压缩。另外,还需要说明的是,压缩率区间还需要取决于压缩算法的压缩性能,最大的压缩率对应的是压缩算法的最大压缩性能。基于K个压缩率,对目标用户进行压缩的方式可以有多种,比如,处理器620可以采用JPEG压缩算法对目标用户图像按照K个压缩率分别进行压缩,从而可以得到K个压缩后的图像,将K个压缩后的图像作为K个压缩用户图像,或者,还可以采用其他图像压缩算法,对目标用户图像按照K个压缩率分别进行压缩,以得到K个压缩用户图像,等等。
其中,需要说明的是,对目标用户图像进行压缩过程中,由于采用了不同的压缩率,也可以理解为整个压缩过程为有损损失,将一些不需要的信息删除掉,并不是简单的格式转换(比如,将RAW格式抓换为JPEG格式、颜色空间的转换或者其他类型的格式转换)或者其他的不涉及到数据变化的无损压缩,等等。由于屏幕成像(尤其是高清屏幕成像)和真实的人脸图像在压缩后往往会在一些差异。这些差异的类型可以有多种,比如,可以包括摩尔纹、异常的光斑或者微小的畸变,等等。而不同的差异往往会在不同的压缩率下有着不同的放大效应,因此,可以通过对目标用户图像进行压缩,从而放大这些差异,并将这些差异以攻击线索的形式被提取出来。另外,通过多个(K个)压缩率就可以尽可能覆盖被放大到最大程度的情况,从而可以尽可能的提取到的更多的异常线索。这里的异常线索就可以为包含这些差异的线索信息。
S120:基于目标用户图像和K个压缩用户图像,生成K个差分用户图像。
其中,差分用户图像可以为对目标用户图像和压缩用户图像进行差分后得到的用户图像。差分的类型可以包括K个压缩用户图像之间的差分、以及K个压缩用户图像与目标用户图像之间的差分。
其中,基于目标用户图像和K个压缩用户图像,生成K个差分用户图像的方式可以有多种,具体可以如下:
例如,处理器620可以基于K个压缩率,对目标用户图像和K个压缩用户图像进行排序,得到用户图像序列,以及对用户图像序列中相邻的图像进行差分,得到K个差分用户图像。
其中,目标用户图像对应的压缩率可以为0。对目标用户图像和K个压缩用户图像进行排序的方式可以有多种,比如,处理器620可以确定目标用户图像对应的压缩率为0,然后,将目标用户图像和K个压缩用户图像按照压缩率的大小进行排序,从而就可以得到用户图像序列,此时,用户图像序列中就可以包括(K+1)张图像。用户图像序列中(K+1)张图像就可以构成一个图像压缩金字塔。
处理器620在得到用户图像序列之后,便可以对用户图像序列中相邻的图像进行差分,从而得到K个差分用户图像。对用户图像序列中相邻的图像进行差分的方式可以有多种,比如,处理器620可以在用户图像序列确定出直接相邻的图像对,从而得到K个相邻图像对,然后,确定出每个相邻图像对对应的差分图像,得到K个差分用户图像,或者,还可以在用户图像序列中确定出直接相邻或者间接相邻的相邻图像对,在图像对中随机或者按照预设规则选取出K个相邻图像对,然后,确定出每个相邻图像对对应的差分图像,得到K个差分用户图像,等等。
其中,确定出每个相邻图像对对应的差分图像的方式可以有多种,比如,处理器620可以确定相邻图像对中两个图像中对应像素位置的像素差值,从而得到每个相邻图像对对应的差分图像,或者,还可以基于其他差分算法,对每个相邻图像对中的图像进行差分处理,从而得到K个差分用户图像。
其中,需要说明的是,差分用户图像的格式和尺寸可以与相邻图像对中的图像的格式和尺寸相同,也可以不同。
其中,以相邻图像对中的图像为直接相邻为例,也就是说在用户图像序列中,相邻图像对中的图像直接相邻,此时,也就表明这两个图像的压缩率也直接相邻。通过相邻压缩率之间的图像差分,主要目的在与可以抑制噪声,如果压缩率差得太大,对于一些正常的图像也会造成一些差异,从而因此活体检测的准确率。另外,对图像进行压缩和差分,可以有效放大高清屏幕攻击中的攻击线索对应的微小异常的信号,进而提升活体检测的精度。
S130:基于K个差分用户图像,对目标用户进行活体检测,得到目标用户的活体检测结果,并输出活体检测结果。
其中,活体检测结果可以包括目标用户为攻击用户或者活体用户中的一种。所述攻击用户可以为存在攻击行为的用户,攻击的方式可以有多种,比如,纸张、屏幕/高清屏幕、面具或头套等各种攻击。所述活体用户可以为真实的用户,或者,具备真实生物特征的用户,也可以称之为正常用户。
其中,基于K个差分用户图像,对目标用户进行活体检测,得到目标用户的活体检测结果,并输出活体检测结果的方式可以有多种,具体可以如下:
S131:基于K个差分用户图像,对目标用户进行活体检测,得到目标用户的活体检测结果。
例如,处理器620可以将K个差分用户图像进行融合,得到融合用户图像,对融合用户图像进行特征提取,得到目标用户的图像活体特征,以及基于图像活体特征,对目标用户进行活体分类,得到目标用户的活体检测结果。
其中,融合用户图像可以为将K个差分用户图像进行融合后得到图像。将K个差分用户图像进行融合的方式可以有多种,比如,处理器620可以确定K个差分用户图像对应的注意力权重,以及基于注意力权重,对K个差分用户图像进行融合,得到融合用户图像,或者,还可以采用其他图像融合算法,将K个差分用户图像进行融合,从而得到融合用户图像,等等。
其中,注意力权重可以为表征K个差分用户图像中不同图像或不同区域在活体检测中的重要程度。处理器620可以通过注意力机制、注意力网络(attention)或者transformer网络(一种图像处理模型),确定出K个差分用户图像对应的注意力权重,然后,基于该注意力权重,对K个差分用户图像进行图像融合,从而得到融合用户图像。此时的融合用户图像的数量就可以为一张。
处理器620在将K个差分用户图像进行融合之后,便可以对融合后的融合用户图像进行特征提取,从而得到目标用户的图像活体特征。所述图像活体特征可以为融合用户图像中包含的与活体分类相关的特征信息,比如,可以包括图像的摩尔纹、异常的光斑或微小的畸变等类型的特征信息。对融合用户图像进行特征提取的方式可以有多种,比如,处理器620可以通过特征编码网络对融合用户图像进行特征编码,得到融合用户图像的图像特征,在图像特征中提取出与活体相关的特征信息,从而得到目标用户的图像活体特征,或者,还可以通过特征编码网络对融合用户图像特征进行活体特征的特征变化,从而得到目标用户的图像活体特征,等等。
其中,图像活体特征可以为融合用户图像全局对应的活体特征,还可以包括融合用户图像中每一像素对应的局部活体特征。
处理器620在对融合用户图像进行特征提取之后,便可以基于提取出图像活体特征,对目标用户进行活体分类,从而得到目标用户的活体检测结果。基于图像活体特征,对目标用户进行活体分类的方式可以有多种,比如,处理器620可以基于图像活体特征,确定目标用户的目标攻击概率,以及基于目标攻击概率,执行目标操作,所述目标操作可以包括第一操作或第二操作。
其中,目标攻击概率可以为目标用户为攻击用户的概率。基于图像活体特征,确定目标用户的目标攻击概率的方式可以有多种,比如,活体分类可以看作是一个二分类,处理器620可以将图像活体特征输入至分类器或分类网络,从而得到目标用户属于攻击用户的概率,将这个概率作为目标攻击概率,或者,处理器620还可以在图像活体特征中提取出融合用户图像中每一像素对应的目标图像活体特征,将目标图像活体特征输入至分类器或分类网络,从而得到每一像素对应的攻击用户的概率,将这个概率作为攻击概率,然后,确定所有攻击概率的均值,从而得到目标用户的目标攻击概率,等等。
其中,分类器或分类网络的类型可以有多种,比如,可以包括softmax网络(一种分类网络)、全连接网络(FC)或者其他分类网络,等等。
其中,所述第一操作包括处理器620确定目标攻击概率大于预设概率阈值,确定目标用户的活体检测结果为攻击用户。所述第二操作包括处理器620确定目标攻击概率小于预设概率阈值,确定目标用户的活体检测结果为活体用户。
在一些实施例中,处理器620还可以直接将K个差分用户图像输入至目标活体检测模型进行活体检测,以得到多个攻击概率,确定多个攻击概率的均值,以得到目标用户的目标攻击概率,以及基于目标攻击概率,确定目标用户的活体检测结果。
其中,多个攻击概率包括融合用户图像中每一像素对应的攻击概率,所述融合用户图像进行融合后的用户图像。也就是说,通过目标活体检测模型进行活体分类时,也可以将K个差分用户图像进行融合,从而得到融合用户图像,然后,对融合用户图像进行活体分类,进而得到目标用户的活体检测结果。另外,需要说明的是,处理器620通过目标活体检测模型对目标用户进行活体分类的过程可以与上文中所述的活体分类过程相同,也可以不相同。
其中,目标活体检测模型可以为对目标用户进行活体检测(分类)的模型。处理器620可以对预设活体检测模型进行训练,从而得到训练后的目标活体检测模型,然后,就可以基于目标活体检测模型对目标用户进行活体检测。目标活体检测模型的训练过程可以包括以下步骤:处理器620可以获得第一差分用户图像样本组,基于第一差分用户图像样本组,对预设活体检测模型进行训练,得到训练后的活体检测模型,以及对活体检测模型进行压缩,得到目标活体检测模型。
其中,第一差分用户图像样本组可以包括一个用户样本对应的K个第一差分用户图像样本,也可以包括N个用户样本中每一个用户样本对应的K个第一差分用户图像样本,N为大于0的整数。所述K个第一差分用户图像样本可以为基于用户图像样本和按照K个压缩率对用户图像样本进行压缩后的K个压缩用户图像样本,生成的K个第一差分用户图像样本。获得第一差分用户图像样本组的方式可以有多种,比如,处理器620可以直接获得用户100通过客户端200或终端上传的至少一个用户样本中每一用户样本的K个第一差分用户图像样本,从而得到第一差分用户图像样本组,或者,还可以获得用户图像样本,并基于K个压缩率,对用户图像样本进行压缩,得到K个压缩用户图像样本,基于用户图像样本和K个压缩用户图像样本,生成K个差分用户图像样本,将K个差分用户图像样本作为第一差分用户图像样本组,等等。
处理器620在获得第一差分用户图像样本组之后,便可以基于第一差分用户图像样本组,对预设活体检测模型进行训练,从而得到训练后的活体检测模型。对预设活体检测模型进行训练的过程可以有多种,比如,处理器620可以将第一差分用户图像样本组输入至预设活体检测模型,得到第一预测活体类别,基于第一预测活体类别,确定第一差分用户图像样本组对应的第一活体分类损失,以及基于第一活体分类损失,对预设活体检测模型进行收敛,得到活体检测模型。
其中,预设活体检测模型可以包括图像融合网络、特征编码网络和活体分类网络。所述图像融合网络被配置为将K个第一差分用户图像样本融合为第一融合用户图像样本,所述特征编码被配置为对第一融合用户图像样本进行特征编码,所述活体分类网络被配置为对第一样本图像活体特征进行活体分类。将第一差分用户图像样本组输入至预设活体检测模型,得到第一预测活体类别的方式可以有多种,比如,处理器620可以将K个第一差分用户图像样本输入至图像融合网络,得到第一融合用户图像样本,将第一融合用户图像样本输入至特征编码网络,得到第一样本图像活体特征,以及将第一样本活体特征输入至活体分类网络,得到第一融合用户图像样本中每一像素对应的第一预测活体类别。
处理器620在得到第一预测活体类别之后,便可以基于第一预测活体类别,确定第一差分用户图像样本组对应的第一活体分类损失。第一活体分类损失可以为对第一融合用户图像样本进行活体分类时产生的损失。第一活体分类损失可以包括第一融合用户图像样本中每一像素对应的初始活体分类损失,还可以包括预测一致性损失。所述分类损失在训练过程中约束第一预测活体类别与第一差分用户图像样本组对应的第一标注活体类别之间的差异小于预设第一差异阈值(或者,在第一预设差异范围内)。所述预测一致性损失信息在训练过程中约束不同像素对应的第一预测活体类别之间的差异小于第二差异阈值(或者,在第二预测差异范围内)。确定第一活体分类损失的方式可以有多种,比如,处理器620可以获得第一差分用户图像样本组对应的第一标注活体类别,将第一标注活体类别与第一预测活体类别与第一预测活体类别进行对比,以得到第一融合用户图像样本中每一像素对应的初始活体分类损失,以及将初始活体分类损失进行累加,得到第一活体分类损失;或者,还可以获得第一差分用户图像样本组对应的第一标注活体类别,将第一标注活体类别与第一预测活体类别与第一预测活体类别进行对比,以得到第一融合用户图像样本中每一像素对应的初始活体分类损失,将每一像素对应的第一预测活体类别进行对比,得到预测一致性损失,以及将预测一致性损失和初始活体分类损失进行融合,得到第一活体分类损失,等等。
其中,将第一标注类别与第一预测活体类别进行对比,以得到第一融合用户图像样本中每一像素对应的初始活体分类损失的方式可以有多种,比如,处理器620可以采用交叉熵损失函数,将所述第一标注类别表与第一预测活体类别进行对比,从而得到第一融合用户图像样本中每一像素对应的初始活体分类损失,或者,还可以采用其他类型的损失函数,将所述第一标注类别表与第一预测活体类别进行对比,从而得到第一融合用户图像样本中每一像素对应的初始活体分类损失,等等。
其中,将每一像素对应的第一预测活体类别进行对比,得到预测一致性损失的方式可以有多种,比如,处理器620可以将每一像素对应的第一预测活体类别进行对比,以得到每一像素对应的初始预测一致性损失,将初始预测一致性损失进行累加,从而得到预测一致性损失。确定初始预测一致性损失的方式与确定初始活体分类损失的方式类似,详见上文所述,在此就不再一一赘述。
处理器620在确定出初始活体分类损失或预测一致性损失之后,便可以将初始活体分类损失作为第一活体分类损失,或者还可以将初始活体分类损失和预测一致性损失进行融合,从而得到第一活体分类损失。
处理器620在得到活体分类损失之后,便可以第一活体分类损失,对预设活体检测模型进行收敛,得到活体检测模型。对预设活体检测模型进行收敛的方式可以有多种,比如,处理器620可以采用梯度下降算法,基于第一活体分类损失,对预设活体检测模型的网络参数进行更新,得到更新后的当前活体检测模型,将预设活体检测模型更新为当前活体检测模型,返回执行获得第一差分用户图像样本组的步骤,直至预设活体检测模型收敛时为止,从而得到训练后的活体检测模型,或者,还可以采用其他网络参数更新算法,基于第一活体分类损失,对预设活体检测模型的网络参数进行更新,得到更新后的当前活体检测模型,将预设活体检测模型更新为当前活体检测模型,返回执行获得第一差分用户图像样本组的步骤,直至预设活体检测模型收敛时为止,从而得到训练后的活体检测模型,等等。
处理器620在对预设活体检测模型进行训练之后,便可以对训练后的活体检测模型进行压缩,从而得到目标活体检测模型。对活体检测模型进行压缩的方式可以有多种,比如,处理器620可以将活体检测模型作为教师模型,并基于教师模型和预设元网络,对活体检测模型进行知识蒸馏,以及对蒸馏后的活体检测模型进行通道裁剪,得到目标活体检测模型。
其中,预设元网络被配置为在模型压缩过程中平衡模型性能和模型体积之间的关系。预设元网络的输入为活体检测模型(学生模型)的输出,其输出可以为模型压缩权重,所述模型压缩权重可以包括模型性能权重和模型体积权重。模型性能权重用于控制知识蒸馏所对应的活体检测模型的性能,模型体积权重用于控制通道裁剪(剪枝)对应的模型体积。通过输出模型性能权重和模型体积权重,从而实现模型性能和模型体积的平衡。
其中,教师模型和活体检测模型(学生模型)在初始化的过程中可以为同一个网络或模型,在知识蒸馏的过程中,教师模型保持不变,这种属于自蒸馏,还需要说明的是,教师模型还可以与学生模型的初始化的网络结构不同,即学生模型为轻量化的模型。基于教师模型和预设元网络,对活体检测模型进行知识蒸馏的方式可以有多种,比如,处理器620可以基于教师模型和预设元网络,对当前活体检测模型进行预设第一次数的知识蒸馏,得到蒸馏后的候选活体检测模型,将活体检测模型更新为所述候选活体检测模型,并基于候选活体检测模型和教师模型,对预设元网络进行预设第二次数的训练,得到当前元网络,以及将预设元网络更新为当前元网络,返回执行对活体检测模型进行预设第一次数的知识蒸馏的步骤,直至活体检测模型收敛时为止,得到蒸馏后的活体检测模型。
其中,预设第一次数大于预设第二次数,预设第一次数与预设第二次数之间的比值为预设比值,也就是说,在对活体检测模型进行知识蒸馏的过程中,对活体检测模型的训练次数大于对预设元网络的训练次数。以预设比值为10:1为例,则在活体检测模型的知识蒸馏过程中,每训练10轮活体检测模型(学生模型),训练一轮预设元网络。需要说明的是,预设比值可以根据实际应用进行设定,可以为任意比值。
其中,基于教师模型和预设元网络,对当前活体检测模型进行预设第一次数的知识蒸馏的方式可以有多种,比如,处理器620可以获得第二差分用户图像样本组,并将第二差分用户图像样本组输入至教师模型,得到第二预测活体类别,将第二差分用户图像组输入至活体检测模型,以得到第二样本图像活体特征和第三预测活体类别,第二样本活体图像特征包括至少一个特征通道对应的特征元素,将第三预测活体类别输入至预设元网络,得到模型压缩权重,并基于模型压缩权重、特征元素、第二预测活体类别和第三预测活体类别,对活体检测模型的网络参数进行更新,得到更新后的活体检测模型,以及将活体检测模型更新为更新后的活体检测模型,并返回执行获得第二差分用户图像样本组的步骤,直至网络参数的更新次数达到预设第一次数时为止,得到候选活体检测模型。
其中,获得第二差分用户图像样本组的方式与获得第一差分用户图像样本组的方式类似,详见上文所述,在此就不再一一赘述。另外,还需要说明的是,第一差分用户图像样本组与第二差分用户图像样本组可以相同,也可以不同。
其中,特征元素可以为特征通道中包含或者输出的至少一个特征值或者其他的特征信息。基于模型压缩权重、特征元素、第二预测活体类别和第三预测活体类别,对活体检测模型的网络参数进行更新的方式可以有多种,比如,处理器620可以获得第二差分用户图像样本组的第二标注活体类别,并将第二标注活体类别与第二预测活体类别和第三预测活体类别进行对比,以得到第二活体分类损失,将第二预测活体类别与第三预测活体类别进行对比,以得到蒸馏损失,并基于模型性能权重对蒸馏损失进行加权,得到目标蒸馏损失,基于特征元素,确定至少一个特征通道对应的稀疏损失,并基于模型体积权重对稀疏损失进行加权,得到目标稀疏损失,以及将第二活体分类损失、目标蒸馏损失和目标稀疏损失进行融合,并基于融合后的目标压缩损失对活体检测模型的网络参数进行更新,得到更新后的活体检测模型。
其中,第二活体分类损失可以为对第二差分用户图像样本组进行活体分类时产生的损失。第二活体分类损失可以包括第一初始分类损失、第二初始分类损失和分类损失中的至少一种,所述分类损失包括所述第一初始分类损失和第二初始分类损失。第一初始分类损失在训练过程中约束第二预测活体类别与第二标注活体类别之间的差异小于第三预设差异阈值(或者,在第三预设差异范围内),第二初始分类损失在训练过程中约束第三预测活体类别与第二标注活体类别之间的差异小于第四预设差异阈值(或者,在第四预设差异范围内)。确定第一初始分类损失的过程可以包括:处理器620将第二标注活体类别与预测第二活体类别进行对比,从而得到第一初始分类损失。确定第二初始分类损失的过程可以包括:处理器620将第二标注活体类别与预测第三活体类别进行对比,从而得到第二初始分类损失。确定第一初始分类损失和第二初始分类损失的方式与确定初始活体分类损失的方式类似,详见上文所述,在此就不再一一赘述。
其中,蒸馏损失可以为通过教师模型对活体检测模型进行知识蒸馏时产生的损失,也可以理解为教师模型的输出与活体检测模型(学生模型)的输出产生的差异对应的损失。蒸馏损失在训练过程(知识蒸馏)中约束第二预测活体类别与第三预测活体类别之间的差异小于第五预设差异阈值(或者,在第五预设差异范围内)。确定蒸馏损失的方式与确定初始活体分类损失的方式类似,详见上文所述,在此就不再一一赘述。处理器620在确定出蒸馏损失之后,便可以基于模型性能权重对蒸馏损失进行加权,从而得到目标蒸馏损失。
其中,需要说明的是,第一预设差异阈值、第二预设差异阈值、第三预设差异阈值、第四预设差异阈值和第五差异阈值可以相同,也可以不同。第一预设差异范围、第二预设差异范围、第三预设差异范围、第四预设差异范围和第五预设差异范围可以相同,也可以不同。确定蒸馏损失的方式与确定初始活体分类损失的方式类似,详见上文所述,在此就不再一一赘述。
其中,稀疏损失为活体检测模型中特征通道的稀疏性对应的损失,稀疏损失也可以看作是通道裁剪损失。稀疏损失在训练过程(知识蒸馏)中约束通道重要性值小于预设重要性阈值的特征通道的特征数量大于预设数量阈值,通俗来说,就是不重要的特征通道的数量的越大,整个模型中的特征通道的稀疏性就越好,相对来说,模型可以剪枝的通道就越大,对应的模型的体积就越小。基于特征元素,确定至少一个特征通道对应的稀疏损失的方式可以有多种,比如,处理器620可以基于特征元素,确定至少一个特征通道中每一特征通道的通道重要性值,基于通道重要性值,在至少一个特征通道中选取出候选特征通道,基于候选特征通道的数量,确定稀疏损失。
其中,候选特征通道包括通道重要性值小于预设重要性阈值的特征通道,也可以理解为可以裁剪或剪枝的特征通道。稀疏损失在训练过程中就可以约束候选特征通道的数量大于预设数量阈值。基于特征元素,确定至少一个特征通道中的通道重要性值的方式可以有多种,比如,处理器620可以在特征元素中选取出至少一个特征通道中每一特征通道的目标特征元素,确定目标特征元素的L1范数,从而得到该特征通道对应的通道重要性值。
处理器620在确定出至少一个特征通道中每一特征通道的通道重要性值之后,便可以基于通道重要性值,在至少一个特征通道中选取出候选特征通道。选取候选特征通道的方式可以有多种,比如,处理器620可以在至少一个特征通道中选取出通道重要性值小于预设通道重要性阈值的特征通道,从而得到候选特征通道。
处理器620在选取出候选特征通道之后,便可以基于候选特征通道的数量,确定稀疏损失。确定稀疏损失的方式可以有多种,比如,处理器620可以确定候选特征通道的数量与预设数量阈值的数量差值,以得到稀疏损失,或者,还可以采用其他函数,将候选特征通道的数量与预设数量阈值进行对比,以得到稀疏损失,等等。处理器620在确定出稀疏损失之后,便可以基于模型体积权重对稀疏损失进行加权,得到目标稀疏损失。
处理器620在确定出第二活体分类损失、目标蒸馏损失和目标稀疏损失之后,便可以将第二活体分类损失、目标蒸馏损失和目标稀疏损失进行融合,从而得到融合后的目标压缩损失。融合的方式可以有多种,比如,处理器620可以直接将第二活体分类损失、目标蒸馏损失和目标稀疏损失相加,从而得到目标压缩损失,具体可以如公式(1)所示:
Losstotal=Losspix-cls+a*LossKD+b*Losspruning (1)
其中,Losstotal为目标压缩损失,a为模型性能权重,LossKD蒸馏损失,b为模型体积权重,Losspruning为稀疏损失。
处理器620在将第二活体分类损失、目标蒸馏损失和目标稀疏损失进行融合之后,便可以基于融合后的目标压缩模型对活体检测模型的网络参数进行更新,得到更新后的活体检测模型。对活体检测模型的网络参数进行更新的方式可以有多种,比如,处理器620可以采用梯度下降算法,基于目标压缩损失对活体检测模型的网络参数进行更新,从而得到更新后的活体检测模型,或者,还可以采用其他网络参数更新算法,基于目标压缩损失对活体检测模型的网络参数进行更新,从而得到更新后的活体检测模型,等等。
处理器620在对活体检测模型的网络参数进行更新之后,便可以将活体检测模型更新为更新后的活体检测模型,并返回执行获得第二差分用户图像样本组的步骤,直至网络参数的更新次数达到预设第一次数时为止,从而就可以得到候选活体检测模型。
处理器620在得到候选活体检测模型之后,便可以将活体检测模型更新为候选活体检测模型,并基于候选活体检测模型和教师模型,对预设元网络进行预设第二次数的训练,得到当前元网络。对预设元网络进行训练方法的与对活体检测模型进行知识蒸馏的方式类似,详见上文所述,就是在知识蒸馏过程中,活体检测模型(学生模型)的网络保持不变,对预设元网络的网络参数更新,直至预设元网络收敛时为止,从而得到训练后的当前元网络。
处理器620在对预设元网络进行训练之后,便可以将预设元网络更新为当前元网络,并返回执行对活体检测模型进行预设第一次数的知识蒸馏的步骤,直至活体检测模型收敛时为止,得到蒸馏后的活体检测模型。
其中,以预设第一次数为10,预设第二次数为1为例,处理器620在对活体检测模型(学生模型)进行知识蒸馏时(训练时),每训练10轮学生网络,训练一轮预设元网络,依次循环,直至活体检测模型收敛时为止,从而就可以得到蒸馏后的活体检测模型。
处理器620在对活体检测模型进行知识蒸馏之后,便可以对蒸馏后的活体检测模型进行通道裁剪,从而得到目标活体检测模型。通道裁剪的方式可以有多种,比如,处理器620可以获得蒸馏后的活体检测模型中每一特征通道的目标重要性值,基于目标通道重要性值,确定出需要裁剪的目标特征通道,并在蒸馏后的活体检测模型中选取出目标特征通道对应的目标卷积核,以及在蒸馏后的活体检测模型中,对目标特征通道和目标卷积核进行裁剪,得到目标活体检测模型。
其中,目标重要性值可以为表征蒸馏后的活体检测模型中每一特征通道的重要程度的值。获得目标通道重要性值的方式可以有多种,比如,处理器620可以将第二差分用户图像样本组输入至蒸馏后的活体检测模型中,以获得蒸馏后活体检测模型中每一特征通道的特征元素集合,确定特征元素集合的L1范数,从而得到每一特征通道的目标重要性值,或者,还可以将其他的差分用户图像样本组输入至蒸馏后的活体检测模型,以获得蒸馏后活体检测模型中每一特征通道的特征元素集合,确定特征元素集合的L1范数,从而得到每一特征通道的目标重要性值,等等。
其中,目标卷积核可以为蒸馏后的活体检测模型中目标特征通道对应的卷积核。所述卷积核也可以理解为模型的网络层中的滤波器。处理器620在确定出目标特征通道和目标卷积核之后,便可以对目标特征通道和目标卷积核进行裁剪,这里的裁剪可以为剪枝,使得蒸馏后的活体检测模型中不再包含目标特征通道和目标卷积核,从而得到对蒸馏后的活体检测模型减少体积的作用,将裁剪掉目标特征通道和目标卷积核的蒸馏后的活体检测模型作为目标活体检测模型。
处理器620在得到训练后的目标活体检测模型之后,便可以将K个差分用户图像输入至目标活体检测模型,从而确定出目标用户的活体检测结果,确定活体检测结果的过程参见上文所述,在此就不再一一赘述。
S132:输出活体检测结果。
例如,处理器620可以直接将活体检测结果发送至用户100或目标用户对应的客户端200、终端或服务器,以便客户端200、终端或服务器基于活体检测结果对目标用户或目标用户对应的请求进行响应,或者,还可以直接可视化展示该活体检测结果,等等。
其中,可视化展示活体检测结果的方式可以有多种,比如,处理器620可以直接显示该活体检测结果,或者,可以通过声光等方式展示该活体检测结果(譬如,通过语音播报活体检测结果,或者,可以通过显式不同颜色的光显式不同类型的活体检测结果,或者,还可以通过声光联动的方式展示活体检测结果),或者,还可以针对特定类型的活体检测结果进行展示(譬如,仅针对攻击用户这一类型的活体检测结果进行展示,或者,仅针对正常用户这一类型的活体检测结果进行展示,等等),等等。
在一些实施例中,处理器620还可以在确定出目标用户的活体检测结果或者输出该活体检测结果之后,基于该活体检测结果对目标用户或者目标用户对应的请求进行响应,响应的方式可以有多种,比如,处理器620可以直接对目标用户或目标用户对应的请求进行拦截,或者,处理器620还可以直接对目标用户进行二次验证,并基于二次验证结果,对目标用户或目标用户对应的请求进行最终的响应,等等。
其中,在人脸识别场景下,本方案可以基于压缩差分的方式对高清屏幕进行活体检测。整体的检测流程可以包括:压缩金字塔、基于差分的活体检测模型训练、智能模型压缩和模型部署与活体检测等四部分,如图4所示,具体可以如下:
(1)压缩金字塔:采用用户人脸图像,得到未压缩的用户图像,在质量0-100之间均匀生成K个压缩率(比如,[20,40,60,80]),利用利用JPEG压缩算法,根据对应的压缩率,生成K个压缩图像;加之未压缩的图像,共构成K+1个图像压缩金字塔。
(2)基于差分的活体检测模型训练:利用K+1张图像组成的金字塔,利用压缩率低的图像和压缩率高的图像(图像压缩金字塔中相邻的图像)进行差分图像计算,得到K张差分图像,将K张差分图像输入作为输入,训练活体检测模型,具体的训练过程参见上文所述,在此就不再一一赘述。
(3)模型压缩:由于经过步骤(1)和(2)得到的活体检测模型的体积较大,为了可以部署到终端设备,还可以对活体检测模型采用知识蒸馏和通道裁剪的方式进行压缩,从而得到目标活体检测模型,具体的压缩过程可以参见上文所述。结合通道裁剪和知识蒸馏可以兼顾模型的轻量化和性能的提升,从而使得目标活体检测模型可以保持模型轻量化和性能的平衡。
(4)模型部署与活体检测:可以将目标活体检测模型部署在终端设备,通过终端设备采集用户的人脸图像,并基于K个压缩率,对用户的人脸图像进行压缩,得到压缩图像组,将压缩图像组输入至目标活体检测模型中,得到像素级别的攻击概率,求平均后得到攻击概率p,对于提前设备的阈值T,如果p大于T则确定为攻击用户,否则判断为活体,具体可以如图5所示。
其中,传统的针对高清屏幕攻击的活体检测方法,往往需要引入额外的信息,不可避免的让用户体验下降,使得在保证用户体验的前提,影响了活体检测的检测性能。本方案中,使用压缩差分图进行高清屏幕的攻击检测,不仅无需引入额外的信息,大大提升了用户体验,而且,利用屏幕成像和人脸成像在压缩后的差异,并构建多种压缩率来强化这种差异,然后,通过差分的方式放大这些差异对应的微小信号,从而大大提升了活体检测的检测准确率,因此,可以提升活体检测性能。
综上所述,本说明书提供的活体检测方法P100和系统001,在获得目标用户的目标用户图像,并基于K个压缩率,对目标用户图像进行压缩,得到K个压缩用户图像之后,基于目标用户图像和K个压缩用户图像,生成K个差分用户图像,以及基于K个差分用户图像,对目标用户进行活体检测,得到目标用户的活体检测结果并输出;由于该方案针对高清屏幕这类攻击,不仅无需引入额外的信息,而且,还可以通过对目标用户的用户图像进行压缩差分处理,有效放大异常的攻击检索,另外通过不同压缩率尽可能更多的提取出异常的攻击线索,从而提升活体检测的检测精度,因此,可以提升活体检测的检测性能。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行活体检测的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的活体检测方法P100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (21)
1.一种活体检测方法,包括:
获得目标用户的目标用户图像,并基于K个压缩率,对所述目标用户图像进行压缩,得到K个压缩用户图像,所述K为大于0的整数;
基于所述目标用户图像和所述K个压缩用户图像,生成K个差分用户图像;以及
基于所述K个差分用户图像,对所述目标用户进行活体检测,得到所述目标用户的活体检测结果,并输出所述活体检测结果。
2.根据权利要求1所述的活体检测方法,其中,所述K个压缩率在排序后,相邻的压缩率之间的差值相同。
3.根据权利要求1所述的活体检测方法,其中,所述基于所述目标用户图像和所述K个压缩用户图像,生成K个差分用户图像,包括:
基于所述K个压缩率,对所述目标用户图像和所述K个压缩用户图像进行排序,得到用户图像序列;以及
对所述用户图像序列中相邻的图像进行差分,得到所述K个差分用户图像。
4.根据权利要求1所述的活体检测方法,其中,所述对所述目标用户进行活体检测,得到所述目标用户的活体检测结果,包括:
将所述K个差分用户图像进行融合,得到融合用户图像;
对所述融合用户图像进行特征提取,得到所述目标用户的图像活体特征;以及
基于所述图像活体特征,对所述目标用户进行活体分类,得到所述目标用户的活体检测结果。
5.根据权利要求4所述的活体检测方法,其中,所述将所述K个差分用户图像进行融合,得到融合用户图像,包括:
确定所述K个差分用户图像对应的注意力权重;以及
基于所述注意力权重,对所述K个差分用户图像进行融合,得到所述融合用户图像。
6.根据权利要求4所述的活体检测方法,其中,所述对所述目标用户进行活体分类,得到所述目标用户的活体检测结果,包括:
基于所述图像活体特征,确定所述目标用户的目标攻击概率;以及
基于所述目标攻击概率,执行目标操作,所述目标操作包括第一操作或第二操作,其中:
所述第一操作包括确定所述目标攻击概率大于预设概率阈值,确定所述目标用户的活体检测结果为攻击用户,以及
所述第二操作包括确定所述目标攻击概率小于预设概率阈值,确定所述目标用户的活体检测结果为活体用户。
7.根据权利要求1所述的活体检测方法,其中,所述对所述目标用户进行活体检测,得到所述目标用户的活体检测结果,包括:
将所述K个差分用户图像输入至目标活体检测模型,以得到多个攻击概率;
确定所述多个攻击概率的均值,以得到所述目标用户的目标攻击概率;以及
基于所述目标攻击概率,确定所述目标用户的活体检测结果。
8.根据权利要求7所述的活体检测方法,其中,所述多个攻击概率包括融合用户图像中每一像素对应的攻击概率,所述融合用户图像包括所述K个差分用户图像进行融合后的用户图像。
9.根据权利要求7所述的活体检测方法,其中,所述目标活体检测模型的训练过程包括以下步骤:
获得第一差分用户图像样本组;
基于所述第一差分用户图像样本组,对预设活体检测模型进行训练,得到训练后的活体检测模型;以及
对所述活体检测模型进行压缩,得到所述目标活体检测模型。
10.根据权利要求9所述的活体检测方法,其中,所述对预设活体检测模型进行训练,得到训练后的活体检测模型,包括:
将所述第一差分用户图像样本组输入至所述预设活体检测模型,得到第一预测活体类别;
基于所述第一预测活体类别,确定所述第一差分用户图像样本组对应的第一活体分类损失;以及
基于所述第一活体分类损失,对所述预设活体检测模型进行收敛,得到所述活体检测模型。
11.根据权利要求10所述的活体检测方法,其中,所述第一差分用户图像样本组包括K个第一差分用户图像样本,所述预设活体检测模型包括图像融合网络、特征编码网络和活体分类网络;以及
所述将所述第一差分用户图像样本组输入至所述预设活体检测模型,得到第一预测活体类别,包括:
将所述K个第一差分用户图像样本输入至所述图像融合网络,得到第一融合用户图像样本,
将所述第一融合用户图像样本输入至所述特征编码网络,得到第一样本图像活体特征,以及
将所述第一样本图像活体特征输入至所述活体分类网络,得到所述第一融合用户图像样本中每一像素对应的第一预测活体类别。
12.根据权利要求10所述的活体检测方法,其中,所述确定所述第一差分用户图像样本组对应的第一活体分类损失,包括:
获得所述第一差分用户图像样本组对应的第一标注活体类别;
将所述第一标注活体类别与所述第一预测活体类别进行对比,以得到所述第一融合用户图像样本中每一像素对应的初始活体分类损失;以及
将所述初始活体分类损失进行累加,得到所述第一活体分类损失。
13.根据权利要求10所述的活体检测方法,其中,所述确定所述第一差分用户图像样本组对应的第一活体分类损失,包括:
获得所述第一差分用户图像样本组对应的第一标注活体类别,并将所述第一标注活体类别与所述第一预测活体类别进行对比,以得到所述每一像素对应的初始活体分类损失;
将所述每一像素对应的第一预测活体类别进行对比,得到预测一致性损失;以及
将所述预测一致性损失与所述初始活体分类损失进行融合,得到所述第一活体分类损失。
14.根据权利要求9所述的活体检测方法,其中,所述对所述活体检测模型进行压缩,得到所述目标活体检测模型,包括:
将所述活体检测模型作为教师模型,并基于所述教师模型和预设元网络,对所述活体检测模型进行知识蒸馏,所述预设元网络被配置为在模型压缩过程中平衡模型性能和模型体积之间的关系;以及
对蒸馏后的活体检测模型进行通道裁剪,得到所述目标活体检测模型。
15.根据权利要求14所述的活体检测方法,其中,所述对所述活体检测模型进行知识蒸馏,包括:
基于所述教师模型和所述预设元网络,对所述活体检测模型进行预设第一次数的知识蒸馏,得到蒸馏后的候选活体检测模型;
将所述活体检测模型更新为所述候选活体检测模型,并基于所述候选活体检测模型和所述教师模型,对所述预设元网络进行预设第二次数的训练,得到当前元网络;以及
将所述预设元网络更新为所述当前元网络,并返回执行所述对所述活体检测模型进行预设第一次数的知识蒸馏的步骤,直至所述活体检测模型收敛时为止,得到所述蒸馏后的活体检测模型。
16.根据权利要求15所述的活体检测方法,其中,所述预设第一次数大于所述预设第二次数,所述预设第一次数与所述预设第二次数之间的比值为预设比值。
17.根据权利要求15所述的活体检测方法,其中,所述对所述活体检测模型进行预设第一次数的知识蒸馏,得到蒸馏后的候选活体检测模型,包括:
获得第二差分用户图像样本组,并将所述第二差分用户图像样本组输入至所述教师模型,得到第二预测活体类别;
将所述第二差分用户图像样本组输入至所述活体检测模型,以得到第二样本图像活体特征和第三预测活体类别,所述第二样本图像活体特征包括至少一个特征通道对应的特征元素;
将所述第三预测活体类别输入至所述预设元网络,得到模型压缩权重,并基于所述模型压缩权重、所述特征元素、所述第二预测活体类别和所述第三预测活体类别,对所述活体检测模型的网络参数进行更新,得到更新后的活体检测模型;以及
将所述活体检测模型更新为所述更新后的活体检测模型,并返回执行所述获得第二差分用户图像样本组的步骤,直至所述网络参数的更新次数达到所述预设第一次数时为止,得到所述候选活体检测模型。
18.根据权利要求17所述的活体检测方法,其中,所述模型压缩权重包括模型性能权重和模型体积权重;以及
所述对所述活体检测模型的网络参数进行更新,得到更新后的活体检测模型,包括:
获得所述第二差分用户图像样本组的第二标注活体类别,并将所述第二标注活体类别分别与所述第二预测活体类别和所述第三预测活体类别进行对比,以得到第二活体分类损失;
将所述第二预测活体类别与所述第三预测活体类别进行对比,以得到蒸馏损失,并基于所述模型性能权重对所述蒸馏损失进行加权,得到目标蒸馏损失;
基于所述特征元素,确定所述至少一个特征通道对应的稀疏损失,并基于所述模型体积权重对所述稀疏损失进行加权,得到目标稀疏损失,以及
将所述第二活体分类损失、所述目标蒸馏损失和所述目标稀疏损失进行融合,并基于融合后的目标压缩损失对所述活体检测模型的网络参数进行更新,得到更新后的活体检测模型。
19.根据权利要求18所述的活体检测方法,其中,所述基于所述特征元素,确定所述至少一个特征通道对应的稀疏损失,包括:
基于所述特征元素,确定所述至少一个特征通道中每一特征通道的通道重要性值;
基于所述通道重要性值,在所述至少一个特征通道中选取出候选特征通道,所述候选特征通道包括所述通道重要性值小于预设重要性阈值的特征通道;以及
基于所述候选特征通道的数量,确定所述稀疏损失,所述稀疏损失在训练过程中约束候选特征通道的数量大于预设数量阈值。
20.根据权利要求14所述的活体检测方法,其中,所述对蒸馏后的活体检测模型进行通道裁剪,得到所述目标活体检测模型,包括:
获得所述蒸馏后的活体检测模型中每一特征通道的目标通道重要性值;
基于所述目标通道重要值,确定出需要裁剪的目标特征通道,并在所述蒸馏后的活体检测模型中选取出所述目标特征通道对应的目标卷积核;以及
在所述蒸馏后的活体检测模型中,对所述目标特征通道和所述目标卷积核进行裁剪,得到所述目标活体检测模型。
21.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-20中任一项所述的活体检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310284432.9A CN116311551A (zh) | 2023-03-17 | 2023-03-17 | 活体检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310284432.9A CN116311551A (zh) | 2023-03-17 | 2023-03-17 | 活体检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116311551A true CN116311551A (zh) | 2023-06-23 |
Family
ID=86818411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310284432.9A Pending CN116311551A (zh) | 2023-03-17 | 2023-03-17 | 活体检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116311551A (zh) |
-
2023
- 2023-03-17 CN CN202310284432.9A patent/CN116311551A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444744A (zh) | 活体检测方法、装置以及存储介质 | |
US20230334890A1 (en) | Pedestrian re-identification method and device | |
CN111985281B (zh) | 图像生成模型的生成方法、装置及图像生成方法、装置 | |
CN112862828B (zh) | 一种语义分割方法、模型训练方法及装置 | |
CN112836625A (zh) | 人脸活体检测方法、装置、电子设备 | |
CN114359225A (zh) | 图像检测方法、装置、计算机设备及存储介质 | |
CN114387548A (zh) | 视频及活体检测方法、系统、设备、存储介质及程序产品 | |
CN111967331B (zh) | 基于融合特征和字典学习的人脸表示攻击检测方法及系统 | |
CN113240598A (zh) | 人脸图像去模糊方法、人脸图像去模糊装置、介质与设备 | |
CN112464873A (zh) | 模型的训练方法、人脸活体识别方法、系统、设备及介质 | |
CN113674230B (zh) | 一种室内逆光人脸关键点的检测方法及装置 | |
CN113723310B (zh) | 基于神经网络的图像识别方法及相关装置 | |
CN116311551A (zh) | 活体检测方法和系统 | |
CN115731620A (zh) | 检测对抗攻击的方法和训练对抗攻击检测模型的方法 | |
CN115083006A (zh) | 虹膜识别模型训练方法、虹膜识别方法及装置 | |
CN114842411A (zh) | 一种基于互补时空信息建模的群体行为识别方法 | |
CN116636660B (zh) | 一种电子烟烟油信息处理方法、系统及电子烟 | |
CN116110132A (zh) | 活体检测方法和系统 | |
CN116704566A (zh) | 人脸识别、用于人脸识别的模型训练方法、装置及设备 | |
CN113572913B (zh) | 图像加密方法、装置、介质及电子设备 | |
CN116152935A (zh) | 活体检测模型训练方法、活体检测方法和系统 | |
CN116343346A (zh) | 活体检测方法和系统 | |
CN116152937A (zh) | 活体检测方法和系统 | |
CN115937992A (zh) | 活体攻击检测方法和活体攻击检测模型的训练方法 | |
CN116110134A (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 |