CN116665315A - 活体检测模型的训练方法、活体检测方法和系统 - Google Patents
活体检测模型的训练方法、活体检测方法和系统 Download PDFInfo
- Publication number
- CN116665315A CN116665315A CN202310451903.0A CN202310451903A CN116665315A CN 116665315 A CN116665315 A CN 116665315A CN 202310451903 A CN202310451903 A CN 202310451903A CN 116665315 A CN116665315 A CN 116665315A
- Authority
- CN
- China
- Prior art keywords
- teacher
- living body
- model
- target
- assistant
- 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 409
- 238000012549 training Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims description 91
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 54
- 238000004821 distillation Methods 0.000 claims description 99
- 238000001727 in vivo Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000001574 biopsy Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 22
- 230000004927 fusion Effects 0.000 claims description 21
- 238000002372 labelling Methods 0.000 claims description 10
- 230000003287 optical effect Effects 0.000 claims description 8
- 238000004260 weight control Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 210000000554 iris Anatomy 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
- 210000003786 sclera Anatomy 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012014 frustrated Lewis pair Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- 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
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Air Conditioning Control Device (AREA)
- Image Analysis (AREA)
Abstract
本说明书提供的活体检测模型的训练方法、活体检测方法和系统,在对预设多专家教师模型进行训练,得到多专家教师模型后,基于多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组,以及基于目标教师模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型;该方案可以提升活体检测的准确率。
Description
技术领域
本说明书涉及图像识别领域,尤其涉及一种活体检测模型的训练方法、活体检测方法和系统。
背景技术
人脸识别相较于传统的密码校验和校验码等身份验证方式来说,更加高效和便捷。因此,被广泛应用于金融、出行和核身(核实用户真实身份)等场景。但是人脸识别也面临活体攻击等安全问题。为了能够检测各种类型的活体攻击,保障人脸识别系统的安全,活体检测成为了人脸识别系统中关键的环节。
目前,在活体检测中,采集到的用户图像还存在隐私泄露的风险。为了兼顾隐私安全,可以将活体模型部署在终端设备,受限于终端设备的存储和计算能力,部署在终端的活体检测模型都是简单的轻量级模型,使得活体检测模型的性能较差,进而导致活体检测的准确率较低。
因此,需要提供一种在保证隐私安全的前提下,准确率更高的活体检测模型的训练方法、活体检测方法和系统。
发明内容
本说明书提供一种准确率更高的活体检测模型的训练方法、活体检测方法和系统。
第一方面,本说明书提供一种活体检测模型的训练方法,包括:对预设多专家教师模型进行训练,得到多专家教师模型;基于所述多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组;以及基于所述目标教师助理模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型。
在一些实施例中,所述对预设多专家教师模型进行训练,得到多专家教师模型,包括:获得第一用户图像样本,并将所述第一用户图像样本输入至所述预设多专家教师模型,得到第一多专家检测结果;基于所述第一多专家检测结果,确定所述预设多专家教师模型的多专家检测损失;以及基于所述多专家检测损失,对所述预设多专家教师模型进行收敛,得到所述多专家教师模型。
在一些实施例中,所述预设多专家教师模型包括专家检测网络、融合检测网络和第一辅助任务对应的第一辅助任务网络,所述多专家检测网络包括多个活体检测子网络;以及所述将所述第一用户图像样本输入至所述预设多专家教师模型,得到第一多专家检测结果,包括:将所述第一用户图像样本输入至所述多个活体检测子网络,得到多个第一活体特征和所述多个第一活体特征中每个第一活体特征对应的第一预测活体类别,将所述多个第一活体特征和所述第一预测活体结果输入至所述融合检测网络,得到融合活体特征和所述融合活体特征对应的第二预测活体类别,将所述融合活体特征输入至所述第一辅助任务网络,得到所述第一辅助任务对应的第一预测任务结果,以及将所述多个第一活体特征、所述第一预测活体类别、所述融合活体特征、所述第二预测活体类别和所述第一预测任务结果作为所述第一多专家检测结果。
在一些实施例中,所述第一辅助任务包括深度估计任务、法向图估计任务或光流预测任务中的至少一种。
在一些实施例中,所述多专家检测损失包括教师分类损失或第一辅助任务损失中的至少一种;所述教师分类损失在训练过程中约束所述第一用户图像样本的预测活体类别与标注活体类别之间的差异;以及所述第一辅助任务损失在训练过程中约束所述第一辅助任务对应的第一预测任务结果与标注任务结果之间的差异。
在一些实施例中,所述教师分类损失包括多专家分类损失或融合分类损失中的至少一种;所述多专家分类损失在训练过程中约束所述第一预测活体类别与所述标注活体类别之间的差异;以及所述融合分类损失在训练过程中约束所述第二预测活体分类与所述标注活体类别之间的差异。
在一些实施例中,所述基于所述多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组,包括:获得所述多专家教师模型的第一计算复杂度和所述预设活体检测模型的第二计算复杂度;基于所述第一计算复杂度和所述第二计算复杂度,生成所述教师助理模型组,所述教师助理模型组包括多个计算复杂度不同的教师助理模型;以及基于所述多专家教师模型,对所述教师助理模型组中每一教师助理模型进行知识蒸馏,得到所述目标教师助理模型组。
在一些实施例中,,所述基于所述第一计算复杂度和所述第二计算复杂度,生成所述教师助理模型组,包括:基于所述第一计算复杂度和所述第二计算复杂度,确定所述教师助理模型组的模型数量;基于所述第一计算复杂度,确定所述教师助理模型组中每一教师助理模型对应的目标计算复杂度;以及基于所述目标计算复杂度,对预设教师助理模型进行参数配置,得到所述教师助理模型组。
在一些实施例中,所述对所述教师助理模型组中每一教师助理模型进行知识蒸馏,得到所述目标教师助理模型组,包括:基于所述教师助理模型组中每一教师助理模型的计算复杂度,对所述每一教师助理模型进行排序;基于排序结果在所述教师助理模型组中选取出目标教师助理模型,并基于所述多专家教师模型对所述目标教师助理模型进行知识蒸馏,得到蒸馏后的教师助理模型;以及将所述蒸馏后的教师助理模型作为所述多专家教师模型,并返回执行所述基于排序结果在所述教师助理模型组中选取出目标教师助理模型的步骤,直至所述每一教师助理模型均被选取时为止,得到所述目标教师助理模型组。
在一些实施例中,所述基于所述多专家教师模型对所述目标教师助理模型进行知识蒸馏,得到蒸馏后的教师助理模型,包括:获得第二用户图像样本,并将所述第二用户图像样本输入至所述多专家教师模型,得到第二多专家检测结果,将所述第二用户图像样本输入至所述目标教师助理模型,得到教师助理检测结果;以及基于所述第二多专家检测结果和所述教师助理检测结果,确定所述目标教师助理模型的教师助理检测损失,并基于所述教师助理检测损失对所述目标教师助理模型进行收敛,得到所述蒸馏后的教师助理模型。
在一些实施例中,所述目标教师助理模型包括第一活体检测网络、辅助任务权重确定网络和第二辅助任务对应的第二辅助任务网络;以及所述将所述第二用户图像样本输入至所述目标教师助理模型,得到教师助理检测结果,包括:将所述第二用户图像样本输入至所述第一活体检测网络,得到第二活体特征和所述第二活体特征对应的第三预测活体类别,将所述第二活体特征输入至所述辅助任务权重确定网络,得到所述第二辅助任务中每一辅助任务对应的辅助权重,将所述辅助权重和所述第二活体特征输入至所述第二辅助任务网络,得到所述第二辅助任务对应的第二预测任务结果,以及将所述第二活体特征、所述第三预测活体类别和所述第二预测任务结果作为所述教师助理检测结果。
在一些实施例中,所述第二多专家检测结果包括第三活体特征、所述第三活体特征对应的第四预测活体类别和所述第二辅助任务对应的教师预测任务结果,所述教师助理检测损失包括第一活体分类损失、教师蒸馏损失或第二辅助任务损失中的至少一种;所述第一活体分类损失在训练过程中约束所述第三预测活体类别和所述第四预测活体类别分别与所述第二用户图像样本的标注活体类别之间的差异;所述教师蒸馏损失在训练过程中约束所述多专家教师模型与所述目标教师助理模型之间蒸馏的知识的差异;以及所述第二辅助任务损失在训练过程中约束所述第二预测任务结果和所述教师预测任务结果分别与所述第二辅助任务的标注任务结果之间的差异。
在一些实施例中,所述教师蒸馏损失包括特征蒸馏损失、分类蒸馏损失或辅助任务蒸馏损失中的至少一种;所述特征蒸馏损失在训练过程中约束所述第二活体特征与所述第三活体特征之间的特征差异;所述分类蒸馏损失在训练过程中约束所述第三预测活体类别与所述第四预测活体类别之间的差异;以及所述辅助任务蒸馏损失在训练过程中约束所述第二预测任务结果与所述教师预测任务结果之间的差异。
在一些实施例中,所述目标教师助理模型组包括N个教师助理模型,所述N为大于0的整数;以及所述基于所述目标教师助理模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型,包括:在所述目标教师助理模型组中选取出K个教师助理模型,所述K为[0,N]中的整数,所述K个教师助理模型的计算复杂度与所述预设活体检测模型的计算复杂度之间的差值在预设差值范围内,将所述K个教师助理模型中每一教师助理模型作为教师模型,得到所述目标教师模型组,以及基于所述目标教师模型组对所述预设活体检测模型进行知识蒸馏,得到所述目标活体检测模型。
在一些实施例中,所述基于所述目标教师模型组对所述预设活体检测模型进行知识蒸馏,得到所述目标活体检测模型,包括:获得第三用户图像样本,并将所述第三用户图像样本输入至所述目标教师模型组,得到所述目标教师模型组中每一教师模型的教师检测结果;将所述第三用户图像样本输入至所述预设活体检测模型,得到学生检测结果和所述每一教师模型对应的蒸馏权重;基于所述教师检测结果、所述学生检测结果和所述蒸馏权重,确定所述预设活检测模型的目标活体检测损失;以及基于所述目标活体检测损失,对所述预设活体检测模型进行收敛,得到所述目标活体检测模型。
在一些实施例中,所述预设活体检测模型包括第二活体检测网络和蒸馏权重控制网络;以及所述将所述第三用户图像样本输入至所述预设活体检测模型,得到学生检测结果和所述每一教师模型对应的蒸馏权重,包括:将所述第三用户图像样本输入至所述第二活体检测网络,得到所述学生检测结果,以及将所述教师检测结果和所述学生检测结果输入至所述蒸馏权重控制网络,得到所述每一教师模型对应的蒸馏权重。
在一些实施例中,所述教师检测结果包括教师活体特征和所述教师活体特征对应的第五预测活体类别,所述学生检测结果包括学生活体特征和所述学生活体特征对应的第六预测活体类别;以及所述确定所述预设活检测模型的目标活体检测损失,包括:将所述第五预测活体类别和所述第六预测活体类别分别与所述第三用户图像样本的标注活体类别进行对比,得到第二活体分类损失,基于所述第五预测活体类别、所述第六预测活体类别、所述教师活体特征与所述学生活体特征,确定所述每一教师模型对应的蒸馏损失,基于所述蒸馏权重,对所述蒸馏损失进行加权,得到目标蒸馏损失,并将所述目标蒸馏损失与所述第二活体分类损失进行融合,得到所述目标活体检测损失。
第二方面,本说明书还提供一种活体检测方法,包括:获得目标用户的目标用户图像;将所述目标用户图像输入至目标活体检测模型,得到所述目标用户的攻击概率,所述目标活体检测模型包括多专家教师模型通过教师助理模型组逐步蒸馏后的活体检测模型;以及基于所述攻击概率,确定所述目标用户的活体检测结果,并输出所述活体检测结果。
在一些实施例中,所述基于所述攻击概率,确定所述目标用户的活体检测结果,包括:基于所述攻击概率,执行目标操作,所述目标操作包括第一操作或第二操作;所述第一操作包括:确定所述攻击概率大于预设概率阈值,确定所述目标用户的活体检测结果为攻击用户,以及所述第二操作包括:确定所述攻击概率小于所述预设概率阈值,确定所述目标用户的活体检测结果为活体用户。
第三方面,本说明书还提供一种活体检测模型的训练系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测模型的训练;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测模型的训练系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的活体检测模型的训练方法。
第四方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的活体检测方法。
由以上技术方案可知,本说明书提供的活体检测模型的训练方法、活体检测方法和系统,在对预设多专家教师模型进行训练,得到多专家教师模型后,基于多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组,以及基于目标教师模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型;由于该方案可以通过多个中间阶段的教师助理模型组成的目标教师助理模型组对预设活体检测模型进行知识蒸馏,从而降低了知识蒸馏的模型复杂度跨度,从而给实现逐步将知识从高性能的多专家教师模型传递值轻量级的预设活体检测模型,从而得到兼顾隐私安全的高性能的活体检测模型,进而提升活体检测的准确率。
本说明书提供的活体检测模型的训练方法、活体检测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测模型的训练方法、活体检测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测模型的训练方法的流程示意图;
图4示出了根据本说明书的实施例提供的一种活体检测方法的流程示意图;
图5示出了根据本说明书的实施例提供的一种人脸识别场景下的活体检测方法的流程示意图;以及
图6示出了根据本说明书的实施例提供的一种活体检测模型训练的整体流程示意图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
活体攻击:可以包括利用屏幕、纸张、面具等进行呈现,尝试绕过人脸识别系统的攻击手段;
活体检测(活体防攻击):指利用人工智能模型检测、拦截活体攻击的技术,攻击类型的有多种,比如,可以包括手机屏幕、打印纸张或者面具等等;
蒸馏学习:指利用高性能教师网络指导结构简单的学生网络进行学习,从而提升模型性能的方法;
多阶段蒸馏:根据教师网络和学生网络的算力和性能差异,训练中间模型(教师助理),进行阶段性的指导学习,最终能够最大幅度提升学生网络性能。
本说明书提供的活体检测模型可以应用在任意的生物识别过程中的活体检测场景中,比如,在人脸支付、门禁、考勤、核身等场景中。在活体检测场景中,还可以通过本说明书的活体检测方法对目标用户的目标用户图像进行活体检测。除了应用在上述的活体检测场景外,还可以应用在任意的活体检测场景中,在此就不再一一赘述。所述生物特征可以包括但不限于面部图像、虹膜、巩膜、指纹、掌纹、声纹、骨骼投影中的一种或多种。
本领域技术人员应当明白,本说明书所述的活体检测模型训练方法、活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
图1示出了根据本说明书的实施例提供的一种活体检测系统100的应用场景示意图。活体检测系统100(以下简称系统100)可以应用于任意场景的活体检测,比如,人脸支付、门禁、考勤、核身等场景下的活体检测,等等。如图1所示,系统100可以包括用户110、客户端120、服务器130以及网络140。
用户110可以为触发进行活体检测的用户,用户110可以在客户端120触发进行活体检测操作。用户110可以为待检测的目标用户,也可以为活体检测系统100的管理员。
客户端120可以为响应于用户110的活体检测操作对目标用户的目标用户图像进行活体检测的设备。在一些实施例中,所述活体检测方法可以在客户端120上执行。此时,客户端120可以存储有执行本说明书描述的活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端120可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图1所示,客户端120可以与服务器130进行通信连接。在一些实施例中,服务器130可以与多个客户端120进行通信连接。在一些实施例中,客户端120可以通过网络140与服务器130交互,以接收或发送消息等。在一些实施例中,客户端120可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实手柄、增强现实头盔、增强现实眼镜、增强现实手柄或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、VR等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端120可以是具有定位技术的设备,用于定位客户端120的位置。
在一些实施例中,客户端120可以安装有一个或多个应用程序(APP)。所述APP能够为用户110提供通过网络140同外界交互的能力以及界面。所述APP包括但不限于:网页浏览器类APP程序、搜索类APP程序、聊天类APP程序、购物类APP程序、视频类APP程序、理财类APP程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端120上可以安装有目标APP。所述目标APP能够为客户端120获得目标用户的目标用户图像或者对目标用户图像进行活体检测。在一些实施例中,所述用户110还可以通过所述目标APP触发针对目标用户的活体检测请求。所述目标APP可以响应于所述活体检测请求,执行本说明书描述的活体检测方法。所述活体检测方法将在后面的内容中详细介绍。
服务器130可以是提供各种服务的服务器,例如对客户端120获得的目标用户的目标用户图像进行活体检测的服务器,或者,还可以为客户端120进行活体检测时提供其他服务的服务器。在一些实施例中,所述活体检测搜索方法可以在服务器130上执行。此时,服务器130可以存储有执行本说明书描述的活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器130可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。服务器130可以与多个客户端120通信连接,并接收客户端120发送的数据。
网络140用以在客户端120和服务器130之间提供通信连接的介质。网络140可以促进信息或数据的交换。如图1所示,客户端120和服务器130可以同网络140连接,并且通过网络140互相传输信息或数据。在一些实施例中,网络140可以是任何类型的有线或无线网络,也可以是其组合。比如,网络140可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、大都市市区网(MAN)、广域网(WAN)、公用电话交换网(PSTN)、蓝牙网络TM、ZigBeeTM网络、近场通信(NFC)网络或类似网络。在一些实施例中,网络140可以包括一个或多个网络接入点。例如,网络140可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,客户端120和服务器130的一个或多个组件可以连接到网络140以交换数据或信息。
应该理解,图1中的客户端120、服务器130和网络140的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端120、服务器130和网络140。
需要说明的是,所述活体检测方法可以完全在客户端120上执行,也可以完全在服务器130上执行,还可以部分在客户端120上执行,部分在服务器130上执行。
其中,一种活体检测模型的训练系统的应用场景示意图可以参考图1所示,活体检测模型的训练系统可以训练出目标活体检测模型,通过目标活体模型在系统100中实现对目标用户进行活体检测,具体内容可以参考前文所述,在此就不再一一赘述。
其中,可以理解的是,在本申请的具体实施方式中,涉及到第一用户图像样本、第二用户图像样本、目标用户图像或者其他用户数据等相关数据,当本申请以下实施例运用到具体产品或技术中时,需要获得许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
图2示出了根据本说明书的实施例提供的一种计算设备200的硬件结构图。计算设备200可以执行本说明书描述的活体检测模型的训练方法和/或活体检测方法。所述活体检测模型的训练方法和/或活体检测方法在本说明书中的其他部分介绍。当所述活体检测模型的训练方法和/或活体检测方法在客户端120上执行时,计算设备200可以是客户端120。当所述活体检测模型的训练方法和/或活体检测方法在服务器130上执行时,计算设备200可以是服务器130。当所述活体检测模型的训练方法和/或活体检测方法可以部分在客户端120上执行,部分在服务器130上执行时,计算设备200可以是客户端120和服务器130。
如图2所示,计算设备200可以包括至少一个存储介质230和至少一个处理器220。在一些实施例中,计算设备200还可以包括通信端口240和内部通信总线210。同时,计算设备200还可以包括I/O组件250。
内部通信总线210可以连接不同的系统组件,包括存储介质230、处理器220和通信端口240。
I/O组件250支持计算设备200和其他组件之间的输入/输出。
通信端口240用于计算设备200同外界的数据通信,比如,通信端口240可以用于计算设备200同网络140之间的数据通信。通信端口240可以是有线通信端口也可以是无线通信端口。
存储介质230可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘232、只读存储介质(ROM)234或随机存取存储介质(RAM)236中的一种或多种。存储介质230还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的活体检测模型的训练方法和/或活体检测方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器220可以同至少一个存储介质230以及通信端口240通过内部通信总线210通信连接。至少一个处理器220用以执行上述至少一个指令集。当计算设备200运行时,至少一个处理器220读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的活体检测模型的训练方法和/或活体检测方法。处理器220可以执行的活体检测模型的训练方法和/或活体检测方法包含的所有步骤。处理器220可以是一个或多个处理器的形式,在一些实施例中,处理器220可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中心处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备200中仅描述了一个处理器220。然而,应当注意,本说明书中计算设备200还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备200的处理器220执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器220联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3示出了根据本说明书的实施例提供的一种活体检测模型的训练方法300的流程图。如前,计算设备200可以执行本说明书的活体检测模型的训练方法300。具体地,处理器220可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测模型的训练方法300。如图3所示,方法300可以包括:
S320:对预设多专家教师模型进行训练,得到多专家教师模型。
其中,预设多专家教师模型可以包括预先设定的用于进行活体检测的多专家教师模型。所述多专家教师模型可以包括多种专家网络组合进行活体检测的模型,多专家教师模型可以为高性能的活体检测模型。
其中,对预设多专家教师模型进行训练的方式可以有多种,具体可以如下:
例如,处理器220可以获得第一用户图像样本,并将第一用户图像样本输入至预设多专家教师模型,得到第一多专家检测结果,基于第一多专家检测结果,确定预设多专家教师模型的多专家检测损失,以及基于多专家检测损失,对预设多专家教师模型进行收敛,得到多专家教师模型。
其中,第一用户图像样本可以包括第一用户样本的生物特征的至少一张图像,所述生物特征可以包括但不限于面部图像、虹膜、巩膜、指纹、掌纹、声纹、骨骼投影中的一种或多种。获得第一用户图像样本的方式的可以有多种,比如,处理器220可以直接接收用户110上传的第一用户图像样本,或者,可以采用图像采集设备采集至少一个用户样本的用户图像,并对用户样本进行活体标注,从而得到第一用户图像样本,或者,还可以在网络或者图像数据库中获得第一用户图像样本,等等。
处理器220在获得第一用户图像样本之后,便可以将第一用户图像样本输入至预设多专家教师模型,从而得到第一多专家检测结果。所述预设多专家教师模型可以包括多专家检测网络、融合检测网络和第一辅助任务对应的第一辅助任务网络,所述多专家检测网络包括多个活体检测子网络。第一辅助任务网络的主要作用可以包括通过第一辅助任务来增强多专家教师模型的活体检测的性能。将第一用户图像样本输入至预设多专家检测模型,得到第一多专家检测结果的方式可以有多种,比如,处理器220可以将第一用户图像样本输入至多个活体检测子网络,得到多个第一活体特征和多个第一活体特征中每一活体特征对应的第一预测活体类别,将多个第一活体特征和第一预测活体类别输入至融合检测网络,得到融合活体特征和融合活体特征对应的第二预测活体类别,将融合活体特征输入至第一辅助任务网络,得到第一辅助任务对应的第一预测任务结果,以及将多个第一活体特征、第一预测活体类别、融合活体特征、第二预测活体类别和第一预测任务结果作为第一多专家检测结果。
其中,多个活体检测子网络中每一活体检测子网络的网络结构可以不同,比如,可以包括ResNet101(一种残差网络)、ViT-32-L(一种图像处理网络)或者其他可以进行活体检测的网络,等等。
其中,第一辅助任务可以包括深度估计任务、法向图估计任务或光流预测任务中的至少一种。所述深度估计任务可以包括预测第一用户图像样本中的深度信息,所述法向图估计任务可以包括预测第一用户图像样本中的法向数据,所述光流预测任务可以包括预测第一用户图像样本中的光流信息。
处理器220在将第一用户图像样本输入至预设多专家教师模型,得到第一多专家检测结果之后,便可以基于第一专家检测结果,确定预设多专家教师模型的多专家检测损失。所述多专家检测损失可以包括教师分类损失或者第一辅助任务损失中的至少一种。
其中,所述教师分类损失在训练过程中约束第一用户图像样本的预测活体类别与标注活体类别之间的差异,所述差异在预设差异范围内。所述教师分类损失可以包括多专家教师分类损失或融合分类损失中的至少一种。所述多专家分类损失在训练过程中约束第一预测活体类别与标注活体类别之间的差异。所述融合分类损失在训练过程中约束第二预测活体类别与标注活体类别之前的差异。确定教师分类损失的方式可以有多种,比如,处理器220可以获得第一用户图像样本的标注活体类别,将第一专家检测结果中的第一预测活体类别分别与标注活体类别进行对比,从而得到多个活体检测子网络中每一活体检测子网络对应的专家分类损失,并将专家分类损失进行累加,从而得到多专家分类损失;然后,将第一专家检测结果中的第二预测活体类别与标注活体类别进行对比,得到融合分类损失,将融合分类损失和多专家分类损失中的至少一个作为教师分类损失。
其中,所述第一辅助任务损失在训练过程中约束第一辅助任务对应的第一处于任务结果与标注任务结果之间的差异。所述差异在预设差异范围内。确定第一辅助任务损失的方式可以有多种,比如,处理器220可以获得第一辅助任务中每一辅助任务对应的标注任务结果,并将标注任务结果与对应的第一预测任务结果进行对比,从而得到每一辅助任务对应的初始辅助任务损失,将初始辅助任务损失进行融合,得到第一辅助任务。
处理器220在确定出第一辅助任务和教师分类损失之后,便可以将第一辅助任务和教师分类损失中的至少一个作为多专家检测损失。以多专家检测损失包括第一辅助任务和教师分类损失,教师分类损失包括多专家分类损失和融合分类损失为例,确定多专家检测损失就可以如公式(1)所示:
Losstotal=Losscls+Lossfusion+Lossaux (1)
其中,Losstotal为多专家检测损失,Losscls为教师分类损失,Lossfusion为融合分类损失,Lossaux为第一辅助任务损失。
处理器220在确定出多专家检测损失之后,便可以基于多专家检测损失,对预设多专家教师模型进行收敛,得到多专家教师模型。对预设多专家教师模型进行收敛的方式可以有多种,比如,处理器220可以基于多专家检测损失,采用梯度下降算法对预设多专家教师模型的网络参数进行更新,得到更新后的多专家教师模型,并将更新后的多专家教师模型作为预设多专家教师模型,并返回执行获得第一用户图像样本的步骤,直至预设多专家教师模型收敛时为止,从而得到多专家教师模型,或者,还可以基于多专家检测损失,采用其他网络参数更新算法对预设多专家教师模型的网络参数进行更新,得到更新后的多专家教师模型,并将更新后的多专家教师模型作为预设多专家教师模型,并返回执行获得第一用户图像样本的步骤,直至预设多专家教师模型收敛时为止,从而得到多专家教师模型,等等。
S340:基于多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组。
其中,教师助理模型组可以包括多个计算复杂度不同的教师助理模型。教师助理模型的计算复杂度小于多专家教师模型的计算复杂度。教师助理模型可以降低知识蒸馏的模型复杂度跨度,即可以通过教师助理模型进行过渡,从而使得在进行知识蒸馏时,降低教师模型和学生模型之间的复杂度,进而提升学生模型(预设活体检测模型)训练后的性能。
其中,基于多专家教师模型对教师助理模型组进行多阶段知识蒸馏的方式可以有多种,具体可以如下:
例如,处理器220可以获得多专家教师模型的第一计算复杂度和预设活体检测模型的第二计算复杂度,基于第一计算复杂度和第二计算复杂度,生成教师助理模型组,基于多专家教师模型,对教师助理模型组中每一教师助理模型进行知识蒸馏,得到目标教师助理模型组。
其中,计算复杂度可以表征模型的复杂程度,通常模型越复杂越大,对应的计算复杂度就越高。由于多专家教师模型为高性能的模型,在训练过程中对算力和模型体积没有限制,因此,多专家教师模型的计算复杂度就会远高于预设活体检测模型(学生模型)的计算复杂度。以多专家教师模型的第一计算复杂度为AFLOPs,预设活体检测模型的第二计算复杂度最高为B FLOPs为例,则A大于B。基于第一计算复杂度和第二计算复杂度,生成教师助理模型组的方式可以有多种,比如,处理器220可以基于第一计算复杂度和第二计算复杂度,确定教师助理模型组的模型数量,基于第一计算复杂度,确定教师助理模型中每一教师助理模型对应的目标计算复杂度,以及基于目标计算复杂度,对预设教师助理模型进行参数配置,得到教师助理模型组。
其中,基于第一计算复杂度和第二计算复杂度,确定教师助理模型组的模型数量的方式以有多种,比如,处理器220可以确定第一计算复杂度和第二计算复杂度之间的复杂度比值,基于复杂度比值,确定教师助理模型组的模型数量,具体可以如公式(2)所示:
N=ceil(log2(A/B)) (2)
其中,N为模型数量,ceil表示向上取证,A为第一计算复杂度,B为计算复杂度。
其中,需要说明的是,基于复杂度比值,从而确定出教师模型和学生模型之间的复杂度跨度,为了降低复杂度跨度,就可以在中间布局对应数量的教师助理模型进行复杂度过渡。数量N也可以理解为中间过渡的阶段,每一个阶段对应一个教师助理模型,每一个阶段对应一个过渡的计算复杂度,通过多阶段的过渡,就可以大大降低复杂度跨度,进而提升学生模型(预设活体检测模型)的性能。
处理器220在确定教师助理模型组的模型数量之后,便可以基于第一计算复杂度,确定教师助理模型组中每一教师助理模型对应的目标计算复杂度,以第一计算复杂度为A,模型数量为N为例,则确定第i个教师助理模型对应的目标计算复杂度C可以如公式(3)所示:
C=A*2-iFLOPs (3)
其中,C为目标计算复杂度,A为第一计算复杂度。
其中,通过公式(3)就可以发现教师助理模型组中的教师助理模型的计算复杂度依次变小。
处理器220在确定出每一教师助理模型对应的目标计算复杂度之后,便可以基于目标计算复杂度,对预设教师助理模型进行参数配置,得到教师助理模型组。对预设教师助理模型进行参数配置的方式可以有多种,比如,处理器220可以对预设教师助理模型配置不同的目标计算复杂度,从而就可以得到模型数量对应的教师助理模型,将模型数量对应的教师助理模型作为教师助理模型组。
其中,预设教师助理模型组内的每一教师助理模型的网络结构可以相同或者类似,计算复杂度不同。
处理器220在生成教师助理模型组之后,便可以基于多专家教师模型,对教师助理模型组中每一教师助理模型进行知识蒸馏,得到目标教师助理模型组。对教师助理模型组中每一教师助理模型进行知识蒸馏的方式可以有多种,比如,处理器220可以基于教师助理模型组中每一教师助理模型的计算复杂度,对每一教师助理模型进行排序,基于排序结果在教师助理模型中选取出目标教师助理模型,并基于多专家教师模型对目标教师助理模型进行知识蒸馏,得到蒸馏后的教师助理模型,以及将蒸馏后的教师助理模型作为多专家教师模型,并返回执行基于排序结果在教师助理模型组中选取出目标教师助理模型的步骤,直至每一教师助理模型均被选取时为止,得到目标教师助理模型组。
其中,基于排序结果在教师助理模型中选取出目标教师助理模型的方式可以有多种,比如,处理器220可以基于排序结果,在教师助理模型中抽取出计算复杂度最大的教师助理模型作为目标教师助理模型,将教师助理模型组更新为除目标教师助理模型以外的教师助理模型组。
处理器220在选取出目标教师助理模型之后,便可以基于多专家教师助理模型对目标教师助理模型进行知识蒸馏,得到蒸馏后的教师助理模型。对目标教师助理模型进行知识蒸馏的方式可以有多种,比如,处理器220可以获得第二用户图像样本,并将第二用户图像样本输入至多专家教师模型,得到第二多专家检测结果,将第二用户图像样本输入至目标教师助理模型,得到教师助理检测结果,以及基于第二多专家检测结果和教师助理检测结果,确定目标教师助理模型的教师助理检测损失,并基于教师助理检测损失对目标教师助理模型进行收敛,得到蒸馏后的教师助理模型。
其中,目标教师助理模型可以包括第一活体检测网络、辅助任务权重确定网络和第二辅助任务对应的第二辅助任务网络。第一辅助任务可以包括第二辅助任务中的至少一个辅助任务,也可以理解为第二辅助任务为第一辅助任务的真子集。所述辅助任务权重确定网络被配置为确定第二辅助任务中每一辅助任务的训练权重。将第二用户图像样本输入至目标教师助理模型,得到教师助理检测结果的方式可以有多种,比如,处理器220可以将第二用户图像样本输入至第一活体检测网络,得到第二活体特征和第二活体特征对应的第三预测活体类别,将第二活体特征输入至辅助任务权重确定网络,得到第二辅助任务中每一辅助任务对应的辅助权重,将辅助权重和第二活体特征输入至第二辅助任务网络,得到第二辅助任务对应的第二预测任务结果,以及将第二活体特征、第三预测活体类别和第二预测任务结果为教师助理检测结果。
其中,第二多专家检测结果可以包括第三活体特征、第三活体特征对应的第四预测活体类别和第二辅助任务对应的教师预测任务结果。教师助理检测损失可以包括第一活体分类损失、教师蒸馏损失或第二辅助任务损失中的至少一种。
其中,所述第一活体分类损失在训练过程中约束第三预测活体类别和第四预测活体类别分别与第二用户图像样本的标注活体类别之间的差异。所述差异在预设差异范围内。确定第一活体分类损失的方式可以有多种,比如,处理器220可以获得第二用户图像样本的标注活体类别,将第三预测活体类别和第四预测活体类别分别与标注活体类别进行对比,基于对比结果,确定第一活体分类损失。
其中,所述教师蒸馏损失在训练过程中约束多专家教师迷行与目标教师助理模型之间蒸馏的知识的差异。所述教师蒸馏损失可以包括特蒸馏损失、分类蒸馏损失或辅助任务蒸馏损失中的至少一种。所述特征蒸馏损失在训练过程中约束第二活体特征与第三活体特征之间的特征差异。所述分类蒸馏损失在训练过程中约束第三预测活体类别与第四预测活体类别之间的差异。所述辅助任务蒸馏损失在训练过程中约束第二预测任务结果与教师预测任务结果之间的差异。确定教师蒸馏损失的方式可以有多种,比如,处理器220可以确定第二活体特征与第三活体特征之间的特征距离或者特征相似度,基于特征距离或特征相似度,确定特征蒸馏损失,将第三预测活体类别与第四预测活体类别进行对比,以得到分类蒸馏损失,将第二预测任务结果与教师预测任务结果进行对比,以得到辅助任务蒸馏损失,将特征蒸馏损失、分类蒸馏损失或辅助任务蒸馏损失中的至少一个作为教师蒸馏损失。
其中,第二辅助任务损失在训练过程中约束第二预测任务结果和教师预测任务结果分别与第二辅助任务的标注任务结果之间的差异。确定第二辅助任务损失的方式可以有多种,比如,处理器220可以获得第二辅助任务的标注任务结果,将第二预测任务结果与标注任务结果进行对比,第一初始辅助任务损失,将教师预测任务结果与标注任务结果进行对比,得到第二初始辅助任务损失,并将第一初始辅助任务损失和第二初始辅助任务损失进行融合,得到第二辅助任务损失。
处理器220可以将第一活体分类损失、教师蒸馏损失或第二辅助任务损失中的至少一种作为教师助理检测损失。
处理器220在确定出教师助理检测损失之后,便可以基于教师助理检测损失对目标教师助理模型进行收敛,得到蒸馏后的教师助理模型。对目标教师助理模型进行收敛的方式可以与对预设多专家教师模型进行收敛的方式类似,详见上文所述,在此就不再一一赘述。
处理器220在对目标教师助理模型进行收敛之后,便可以将收敛后得到的蒸馏后的教师助理模型作为多专家教师模型,并返回执行基于排序结果在教师助理模型组中选取出目标教师助理模型的步骤,直至每一教师助理模型均被选取时为止,从而可以得到目标教师助理模型组。
其中,需要说明的是,以教师助理模型组包括N个教师助理模型为例,对教师助理模型组中的教师助理模型进行知识蒸馏的过程,可以根据计算复杂度排从高到低进行排序,从第1个开始训练,逐步训练到第N个,后一个的训练依赖于前一个的完成。对在第一个教师助理模型进行知识蒸馏时,教师模型为多专家教师模型,从第二个教师助理模型的知识蒸馏开始,教师模型就为前一个已经蒸馏好的教师助理模型,依次类推,从而完成N个教师助理模型的知识蒸馏,进而得到目标教师助理模型组。
S360:基于目标教师助理模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型。
其中,预设活体检测模型可以为预先设定的部署在端侧的轻量级的活体检测模型。
其中,基于目标教师助理模型组,对预设活体检测模型进行知识蒸馏的方式可以有多种,具体可以如下:
例如,以目标教师助理模型组包括N个教师助理模型,所述N为大于0的整数,处理器220可以在目标教师助理模型组中选取出K个教师助理模型,所述K为[0,N]中的整数,将K个教师助理模型中每一教师助理模型作为教师模型,得到目标教师模型组,以及基于目标教师模型组对预设活体检测模型进行知识蒸馏,得到目标活体检测模型。
其中,K个教师助理模型的计算复杂度与预设活体检测模型的计算复杂度之间的差值在预设差值范围内,也就表明K个教师助理模型的计算复杂度与预设活体检测模型的计算复杂度最为接近,从而使得预设活体检测模型作为学生模型可以更加容易从这些教师助理模型中学到知识,从而得到性能更强的学生模型。选取出K个教师助理模型的方式可以有多种,比如,处理器220可以基于排序结果,在目标教师助理模型组中选取出预设排序范围的教师助理模型,从而得到K个教师助理模型,或者,可以确定目标教师助理模型中每一教师助理模型与预设活体检测模型的计算复杂度的复杂度差值,在目标教师助理模型中选取出复杂度差值小于预设差值阈值的K个教师助理模型,或者,还可以基于排序结果,在目标教师助理模型组中选取出最后K个教师助理模型,等等。
处理器220在目标教师助理模型组中选取出K个教师助理模型之后,便可以将K个教师助理模型中每一教师助理模型作为教师模型,从而得到目标教师模型组,然后,基于目标教师模型组对预设活体检测模型进行知识蒸馏,得到目标活体检测模型。基于目标教师模型组对预设活体检测模型进行知识蒸馏的方式可以有多种,比如,处理器220可以获得第三用户图像样本,并将第三用户图像样本输入至目标教师模型组,得到目标教师模型组中每一教师模型的教师检测结果,将第三用户图像样本输入至预设活体检测模型,得到学生检测结果和每一教师模型对应的蒸馏权重,基于教师检测结果、学生检测结果和蒸馏权重,确定预设活体检测模型的目标活体检测损失,以及基于目标活体检测损失,对预设活体检测模型进行收敛,得到目标活体检测模型。
其中,获得第三用户图像样本的方式与获得第一用户图像样本的方式类似,详见上文所述,在此就不再一一赘述。另外,需要说明的是,第一用户图像样本、第二用户图像样本和第三用户图像样本可以为同一个用户样本的用户图像,也可以为不同用户样本的用户图像。
其中,预设活体检测模型可以包括第二活体检测网络和蒸馏权重控制网络。蒸馏权重控制网络被配置为评估K个教师助理模型在对预设活体检测模型的知识蒸馏过程中的重要程度。将第三用户图像样本输入至预设活体检测模型,得到学生检测结果和每一教师模型对应的蒸馏权重的方式可以有多种,比如,处理器220可以将第三用户图像样本输入至第二活体检测网络,得到学生检测结果,以及将教师检测结果和学生检测结果输入至蒸馏权重控制网络,得到每一教师模型对应的蒸馏权重。
其中,蒸馏权重可以用于评估目标教师模型组中每一教师模型在对预设活体检测模型进行知识蒸馏时的重要程度。教师检测结果可以包括教师活体特征、教师活体特征对应的第五预测活体类别。所述教师活体特征可以包括教师模型在第三用户图像样本中提取出的活体特征。学生检测结果可以包括学生活体特征和学生活体特征对应的第六预测活体类别,所述学生活体特征可以包括预设活体检测模型在第三用户图像样本中提取出的活体特征。基于教师检测结果、学生检测结果和蒸馏权重,确定预设活体检测模型的目标活体检测损失的方式可以有多种,比如,处理器220可以将第五预测活体类别和第六预测活体类别分别与第三用户图像样本的标注活体类别进行对比,得到第二活体分类损失,基于第五预测活体类别、第六预测活体类别、教师活体特征和学生活体特征,确定每一教师模型对应的蒸馏损失,基于蒸馏权重,对蒸馏损失进行加权,得到目标蒸馏损失,并将目标蒸馏损失与第二活体分类损失进行融合,得到目标活体检测损失。
其中,第二活体分类损失可以包括教师模型和预设活体检测模型对第三用户图像样本对应的用户样本进行活体分类时产生的损失。确定第二活体分类损失的方式可以有多种,比如,处理器220可以获得第三用户图像样本的标注活体类别,将第五预测活体类别与标注活体类别进行对比,得到教师活体分类损失,将第六预测活体类别与标注活体类别进行对比,得到学生活体分类损失,将教师活体分类损失和学生活体分类损失进行融合,得到第二活体分类损失。
其中,蒸馏损失可以包括基于教师模型对预设活体检测模型进行知识蒸馏时产生的损失。确定蒸馏损失的方式可以有多种,比如,处理器220可以将第五预测活体类别与第六活体特征进行对比,以得到每一教师模型对应的分类蒸馏损失,将教师活体特征与学生活体特征进行对比,以得到每一教师模型对应的特征蒸馏损失,将分类蒸馏损失和特征蒸馏损失进行融合,得到每一教师模型对应的蒸馏损失。
处理器220在确定出每一教师模型对应的蒸馏损失之后,便可以基于蒸馏权重,对蒸馏损失进行加权,得到目标蒸馏损失。然后,将目标蒸馏损失与第二活体分类损失进行融合,得到目标活体检测损失。将目标蒸馏损失与第二活体分类损失进行融合的方式可以有多种,比如,处理器220可以直接将目标蒸馏损失与第二活体分类损失相加,从而得到目标活体检测损失,或者,还可以获得损失权重,并基于损失权重分别对目标蒸馏损失和第二活体分类损失进行加权,并将加权后的目标蒸馏损失和加权后的第二活体分类损失相加,从而得到目标活体检测损失,等等。
处理器220在将目标蒸馏损失和第二活体分类损失融合之后,便可以基于融合后的目标活体检测损失,对预设活体检测模型进行收敛,从而得到目标活体检测模型。对预设活体检测模型进行收敛的方式与对预设多专家教师模型进行收敛的方式类似,详见上文所述,在此就不再一一赘述。
处理器220基于目标教师助理模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型之后,便可以基于目标活体检测模型对目标用户的目标用户图像进行活体检测。图4示出了根据本说明书的实施例提供的一种活体检测方法400的流程图。如前,计算设备200可以执行本说明书的活体检测方法400。具体地,处理器220可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测方法400。如图4所示,方法400可以包括:
S420:获得目标用户的目标用户图像。
其中,目标用户图像可以包括目标用户的生物特征的图像。
其中,获得目标用户的目标用户图像的方式可以有多种,具体可以如下:
例如,处理器220可以接收用户110通过客户端120或者终端上传的目标用户的至少一张用户图像,得到目标用户图像,或者,可以采用图像采集设备采集目标用户的至少一张用户图像,得到目标用户图像,或者,可以在网络或者图像数据库中获得目标用户的至少一个张用户图像,从而得到目标用户图像,或者,在目标用户图像的数量较多或者内存较多,还可以接收活体检测请求,所述活体检测请求包括目标用户图像的存储地址,基于存储地址,获得目标用户图像,等等。
S440:将目标用户图像输入至目标活体检测模型,得到目标用户的攻击概率。
其中,目标活体检测模型包括多专家教师模型通过教师助理模型组逐步蒸馏后的活体检测模型,具体的蒸馏过程可以参见上文所述,在此就不再一一赘述。
其中,攻击概率包括目标用户为攻击用户的概率,所述攻击用户可以包括非活体的用户,比如,可以包括屏幕、纸张或面具对应的非活体用户。
其中,将目标用户图像输入至目标活体检测模型,得到目标用户的攻击概率的方式可以有多种,具体可以如下:
例如,处理器220可以采用目标活体检测模型对目标用户图像进行特征提取,得到目标用户的用户活体特征,并基于用户特征,对目标用户进行活体分类,得到目标用户的攻击概率。
S460:基于攻击概率,确定目标用户的活体检测结果,并输出活体检测结果。
其中,活体检测结果可以包括目标用户为攻击用户或活体用户中的一种。
其中,基于攻击概率,确定目标用户的活体检测结果的方式可以有多种,具体可以如下:
例如,处理器220可以基于攻击概率,执行目标操作,从而得到目标用户的活体检测结果。
其中,目标操作包括第一操作或第二操作。第一操作可以包括确定攻击概率大于预设概率阈值,确定目标用户的活体检测结果为攻击用户。第二操作可以包括确定攻击概率小于预设概率阈值,确定目标用户的活体检测结果为活体用户。
处理器220在确定出目标用户的活体检测结果之后,便可以输出活体检测结果。输出活体检测结果的方式可以有多种,比如,处理器220可以直接将活体检测结果发送至用户110对应的客户端120、终端或服务器,以便客户端120、终端或服务器基于活体检测结果对目标用户或目标用户对应的请求进行响应,或者,还可以直接可视化展示该活体检测结果,等等。
其中,可视化展示活体检测结果的方式可以有多种,比如,处理器220可以直接显示该活体检测结果,或者,可以通过声光等方式展示该活体检测结果(譬如,通过语音播报活体检测结果,或者,可以通过显式不同颜色的光显式不同类型的活体检测结果,或者,还可以通过声光联动的方式展示活体检测结果),或者,还可以针对特定类型的活体检测结果进行展示(譬如,仅针对攻击用户这一类型的活体检测结果进行展示,或者,仅针对活体用户这一类型的活体检测结果进行展示,等等),等等。
在一些实施例中,处理器220还可以在确定出目标用户的活体检测结果或者输出该活体检测结果之后,基于该活体检测结果对目标用户或者目标用户对应的请求进行响应,响应的方式可以有多种,比如,处理器220可以直接对目标用户或目标用户对应的请求进行拦截,或者,处理器220还可以直接对目标用户进行二次验证,并基于二次验证结果,对目标用户或目标用户对应的请求进行最终的响应,等等。
其中,在人脸识别场景下,本方案可以基于多阶段教师助理蒸馏的方法训练出目标活体检测模型,并采用该目标活体检测模型部署在端侧进行活体检测,从而保证隐私安全和活体检测的精度,整体的活体检测过程可以如图5所示,可以包括多专家教师模型训练、多阶段教师助理模型的训练、活体检测模型训练以及模型部署与应用等四部分,具体可以如下:
(1)多专家教师模型训练:传统的蒸馏学习方法直接利用高性能高复杂度的教师网络对学生网络进行指导。由于教师网络和学生网络之间巨大的复杂度差异和性能差异,学生网络能够从教师网络学习到的知识十分有限,从而限制了学生网络从超强的教师网络学习知识。本方案中通过多个中间阶段的教师助理模型,降低了知识蒸馏的模型复杂度跨度,从而来逐步将知识从高性能教师网络传递到轻量级学生网络(目标活体检测模型),多专家教师模型的训练过程可以参见上文所述。
(2)多阶段教师助理模型的训练:根据多专家教师模型和预设活体检测模型(学生模型)之间的模型算力差异,来进行多阶段的教师助理模型的训练,并为每个教师助理模型搭配不一样的辅助权重,从而可以提升教师助理模型的性能,具体的训练过程可以参见上文所述。
(3)活体检测模型训练:利用前述N个辅助的教师助理模型中的最后K个教师助理模型对预设活体检测模型(学生模型)进行指导训练,这是由于最后K个教师助理模型的计算复杂度和学生模型最为接近,学生模型更容易从它们身上学到知识;相比于只使用一个教师模型的方法,多个教师模型可以更好对学生模型进行全面的指导,得到性能更强的目标活体检测模型,具体的训练过程可以参见上文所述。
(4)模型部署与应用:将训练得到的轻量级的目标活体检测模型可以部署到终端设备,通过终端设备采集目标用户的人脸图像,将人脸图像输入到目标活体检测模型中,得到攻击概率p,对于提前设定的阈值T,如果p大于T,则判断为攻击,否则判断为活体,从而得到目标用户的活体检测结果,并输出该活体检测结果。
其中,需要说明的是,在对预设活体检测模型进行训练的过程中,首先训练高精度的多专家教师模型,该教师模型对于算力和模型体积不做限制,其次,经过多个阶段的蒸馏,得到各种不同模型尺寸、不同性能的教师助理模型,然后,利用不同的教师助理模型和多专家教师模型,综合对预设活体检测模型(学生模型)进行指导,从而提升指导效果,具体可以如图5所示。本方案通过多阶段蒸馏学习的方式,逐步从云端高性能活体检测模型,一步步经过蒸馏,迁移到终端的轻量级高性能的目标活体检测模型,从而兼顾效率和性能。
综上所述,本说明书提供的活体检测模型的训练方法300、活体检测方法400和系统100,在对预设多专家教师模型进行训练,得到多专家教师模型后,基于多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组,以及基于目标教师模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型;由于该方案可以通过多个中间阶段的教师助理模型组成的目标教师助理模型组对预设活体检测模型进行知识蒸馏,从而降低了知识蒸馏的模型复杂度跨度,从而给实现逐步将知识从高性能的多专家教师模型传递值轻量级的预设活体检测模型,从而得到兼顾隐私安全的高性能的活体检测模型,进而提升活体检测的准确率。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行活体检测模型的训练和/或活体检测的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测模型的训练方法300和/或活体检测方法400的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备200上运行时,所述程序代码用于使计算设备200执行本说明书描述的活体检测模型的训练方法300和/或活体检测方法400的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备200上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备200上执行、部分地在计算设备200上执行、作为一个独立的软件包执行、部分在计算设备200上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (21)
1.一种活体检测模型的训练方法,包括:
对预设多专家教师模型进行训练,得到多专家教师模型;
基于所述多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组;以及
基于所述目标教师助理模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型。
2.根据权利要求1所述的活体检测模型的训练方法,其中,所述对预设多专家教师模型进行训练,得到多专家教师模型,包括:
获得第一用户图像样本,并将所述第一用户图像样本输入至所述预设多专家教师模型,得到第一多专家检测结果;
基于所述第一多专家检测结果,确定所述预设多专家教师模型的多专家检测损失;以及
基于所述多专家检测损失,对所述预设多专家教师模型进行收敛,得到所述多专家教师模型。
3.根据权利要求2所述的活体检测模型的训练方法,其中,所述预设多专家教师模型包括专家检测网络、融合检测网络和第一辅助任务对应的第一辅助任务网络,所述多专家检测网络包括多个活体检测子网络;以及
所述将所述第一用户图像样本输入至所述预设多专家教师模型,得到第一多专家检测结果,包括:
将所述第一用户图像样本输入至所述多个活体检测子网络,得到多个第一活体特征和所述多个第一活体特征中每个第一活体特征对应的第一预测活体类别,
将所述多个第一活体特征和所述第一预测活体结果输入至所述融合检测网络,得到融合活体特征和所述融合活体特征对应的第二预测活体类别,
将所述融合活体特征输入至所述第一辅助任务网络,得到所述第一辅助任务对应的第一预测任务结果,以及
将所述多个第一活体特征、所述第一预测活体类别、所述融合活体特征、所述第二预测活体类别和所述第一预测任务结果作为所述第一多专家检测结果。
4.根据权利要求3所述的活体检测模型的训练方法,其中,所述第一辅助任务包括深度估计任务、法向图估计任务或光流预测任务中的至少一种。
5.根据权利要求3所述的活体检测模型的训练方法,其中,所述多专家检测损失包括教师分类损失或第一辅助任务损失中的至少一种;
所述教师分类损失在训练过程中约束所述第一用户图像样本的预测活体类别与标注活体类别之间的差异;以及
所述第一辅助任务损失在训练过程中约束所述第一辅助任务对应的第一预测任务结果与标注任务结果之间的差异。
6.根据权利要求5所述的活体检测模型的训练方法,其中,所述教师分类损失包括多专家分类损失或融合分类损失中的至少一种;
所述多专家分类损失在训练过程中约束所述第一预测活体类别与所述标注活体类别之间的差异;以及
所述融合分类损失在训练过程中约束所述第二预测活体分类与所述标注活体类别之间的差异。
7.根据权利要求1所述的活体检测模型的训练方法,其中,所述基于所述多专家教师模型对教师助理模型组进行多阶段知识蒸馏,得到目标教师助理模型组,包括:
获得所述多专家教师模型的第一计算复杂度和所述预设活体检测模型的第二计算复杂度;
基于所述第一计算复杂度和所述第二计算复杂度,生成所述教师助理模型组,所述教师助理模型组包括多个计算复杂度不同的教师助理模型;以及
基于所述多专家教师模型,对所述教师助理模型组中每一教师助理模型进行知识蒸馏,得到所述目标教师助理模型组。
8.根据权利要求7所述的活体检测模型的训练方法,其中,所述基于所述第一计算复杂度和所述第二计算复杂度,生成所述教师助理模型组,包括:
基于所述第一计算复杂度和所述第二计算复杂度,确定所述教师助理模型组的模型数量;
基于所述第一计算复杂度,确定所述教师助理模型组中每一教师助理模型对应的目标计算复杂度;以及
基于所述目标计算复杂度,对预设教师助理模型进行参数配置,得到所述教师助理模型组。
9.根据权利要求7所述的活体检测模型的训练方法,其中,所述对所述教师助理模型组中每一教师助理模型进行知识蒸馏,得到所述目标教师助理模型组,包括:
基于所述教师助理模型组中每一教师助理模型的计算复杂度,对所述每一教师助理模型进行排序;
基于排序结果在所述教师助理模型组中选取出目标教师助理模型,并基于所述多专家教师模型对所述目标教师助理模型进行知识蒸馏,得到蒸馏后的教师助理模型;以及
将所述蒸馏后的教师助理模型作为所述多专家教师模型,并返回执行所述基于排序结果在所述教师助理模型组中选取出目标教师助理模型的步骤,直至所述每一教师助理模型均被选取时为止,得到所述目标教师助理模型组。
10.根据权利要求9所述的活体检测模型的训练方法,其中,所述基于所述多专家教师模型对所述目标教师助理模型进行知识蒸馏,得到蒸馏后的教师助理模型,包括:
获得第二用户图像样本,并将所述第二用户图像样本输入至所述多专家教师模型,得到第二多专家检测结果,
将所述第二用户图像样本输入至所述目标教师助理模型,得到教师助理检测结果;以及
基于所述第二多专家检测结果和所述教师助理检测结果,确定所述目标教师助理模型的教师助理检测损失,并基于所述教师助理检测损失对所述目标教师助理模型进行收敛,得到所述蒸馏后的教师助理模型。
11.根据权利要求10所述的活体检测模型的训练方法,其中,所述目标教师助理模型包括第一活体检测网络、辅助任务权重确定网络和第二辅助任务对应的第二辅助任务网络;以及
所述将所述第二用户图像样本输入至所述目标教师助理模型,得到教师助理检测结果,包括:
将所述第二用户图像样本输入至所述第一活体检测网络,得到第二活体特征和所述第二活体特征对应的第三预测活体类别,
将所述第二活体特征输入至所述辅助任务权重确定网络,得到所述第二辅助任务中每一辅助任务对应的辅助权重,
将所述辅助权重和所述第二活体特征输入至所述第二辅助任务网络,得到所述第二辅助任务对应的第二预测任务结果,以及
将所述第二活体特征、所述第三预测活体类别和所述第二预测任务结果作为所述教师助理检测结果。
12.根据权利要求11所述的活体检测模型的训练方法,其中,所述第二多专家检测结果包括第三活体特征、所述第三活体特征对应的第四预测活体类别和所述第二辅助任务对应的教师预测任务结果,所述教师助理检测损失包括第一活体分类损失、教师蒸馏损失或第二辅助任务损失中的至少一种;
所述第一活体分类损失在训练过程中约束所述第三预测活体类别和所述第四预测活体类别分别与所述第二用户图像样本的标注活体类别之间的差异;
所述教师蒸馏损失在训练过程中约束所述多专家教师模型与所述目标教师助理模型之间蒸馏的知识的差异;以及
所述第二辅助任务损失在训练过程中约束所述第二预测任务结果和所述教师预测任务结果分别与所述第二辅助任务的标注任务结果之间的差异。
13.根据权利要求12所述的活体检测模型的训练方法,其中,所述教师蒸馏损失包括特征蒸馏损失、分类蒸馏损失或辅助任务蒸馏损失中的至少一种;
所述特征蒸馏损失在训练过程中约束所述第二活体特征与所述第三活体特征之间的特征差异;
所述分类蒸馏损失在训练过程中约束所述第三预测活体类别与所述第四预测活体类别之间的差异;以及
所述辅助任务蒸馏损失在训练过程中约束所述第二预测任务结果与所述教师预测任务结果之间的差异。
14.根据权利要求1所述的活体检测模型的训练方法,其中,所述目标教师助理模型组包括N个教师助理模型,所述N为大于0的整数;以及
所述基于所述目标教师助理模型组,对预设活体检测模型进行知识蒸馏,得到目标活体检测模型,包括:
在所述目标教师助理模型组中选取出K个教师助理模型,所述K为[0,N]中的整数,所述K个教师助理模型的计算复杂度与所述预设活体检测模型的计算复杂度之间的差值在预设差值范围内,
将所述K个教师助理模型中每一教师助理模型作为教师模型,得到所述目标教师模型组,以及
基于所述目标教师模型组对所述预设活体检测模型进行知识蒸馏,得到所述目标活体检测模型。
15.根据权利要求14所述的活体检测模型的训练方法,其中,所述基于所述目标教师模型组对所述预设活体检测模型进行知识蒸馏,得到所述目标活体检测模型,包括:
获得第三用户图像样本,并将所述第三用户图像样本输入至所述目标教师模型组,得到所述目标教师模型组中每一教师模型的教师检测结果;
将所述第三用户图像样本输入至所述预设活体检测模型,得到学生检测结果和所述每一教师模型对应的蒸馏权重;
基于所述教师检测结果、所述学生检测结果和所述蒸馏权重,确定所述预设活检测模型的目标活体检测损失;以及
基于所述目标活体检测损失,对所述预设活体检测模型进行收敛,得到所述目标活体检测模型。
16.根据权利要求15所述的活体检测模型的训练方法,其中,所述预设活体检测模型包括第二活体检测网络和蒸馏权重控制网络;以及
所述将所述第三用户图像样本输入至所述预设活体检测模型,得到学生检测结果和所述每一教师模型对应的蒸馏权重,包括:
将所述第三用户图像样本输入至所述第二活体检测网络,得到所述学生检测结果,以及
将所述教师检测结果和所述学生检测结果输入至所述蒸馏权重控制网络,得到所述每一教师模型对应的蒸馏权重。
17.根据权利要求15所述的活体检测模型的训练方法,其中,所述教师检测结果包括教师活体特征和所述教师活体特征对应的第五预测活体类别,所述学生检测结果包括学生活体特征和所述学生活体特征对应的第六预测活体类别;以及
所述确定所述预设活检测模型的目标活体检测损失,包括:
将所述第五预测活体类别和所述第六预测活体类别分别与所述第三用户图像样本的标注活体类别进行对比,得到第二活体分类损失,
基于所述第五预测活体类别、所述第六预测活体类别、所述教师活体特征与所述学生活体特征,确定所述每一教师模型对应的蒸馏损失,
基于所述蒸馏权重,对所述蒸馏损失进行加权,得到目标蒸馏损失,并将所述目标蒸馏损失与所述第二活体分类损失进行融合,得到所述目标活体检测损失。
18.一种活体检测方法,包括:
获得目标用户的目标用户图像;
将所述目标用户图像输入至目标活体检测模型,得到所述目标用户的攻击概率,所述目标活体检测模型包括多专家教师模型通过教师助理模型组逐步蒸馏后的活体检测模型;以及
基于所述攻击概率,确定所述目标用户的活体检测结果,并输出所述活体检测结果。
19.根据权利要求18所述的活体检测方法,其中,所述基于所述攻击概率,确定所述目标用户的活体检测结果,包括:
基于所述攻击概率,执行目标操作,所述目标操作包括第一操作或第二操作;
所述第一操作包括:确定所述攻击概率大于预设概率阈值,确定所述目标用户的活体检测结果为攻击用户,以及
所述第二操作包括:确定所述攻击概率小于所述预设概率阈值,确定所述目标用户的活体检测结果为活体用户。
20.一种活体检测模型的训练系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测模型的训练;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测模型的训练系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-17中任一项所述的活体检测模型的训练方法。
21.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求18-19中任一项所述的活体检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451903.0A CN116665315A (zh) | 2023-04-23 | 2023-04-23 | 活体检测模型的训练方法、活体检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451903.0A CN116665315A (zh) | 2023-04-23 | 2023-04-23 | 活体检测模型的训练方法、活体检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116665315A true CN116665315A (zh) | 2023-08-29 |
Family
ID=87710229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310451903.0A Pending CN116665315A (zh) | 2023-04-23 | 2023-04-23 | 活体检测模型的训练方法、活体检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116665315A (zh) |
-
2023
- 2023-04-23 CN CN202310451903.0A patent/CN116665315A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113723238B (zh) | 一种人脸轻量网络模型构建方法和人脸识别方法 | |
CN109690556A (zh) | 人物中心特性特定照片匹配排名引擎 | |
CN116226785A (zh) | 目标对象识别方法、多模态识别模型的训练方法和装置 | |
CN115393606A (zh) | 图像识别的方法和系统 | |
CN116152938A (zh) | 身份识别模型训练和电子资源转移方法、装置及设备 | |
CN113591603A (zh) | 证件的验证方法、装置、电子设备及存储介质 | |
CN116012612A (zh) | 内容检测方法和系统 | |
CN116311546A (zh) | 活体检测方法和系统 | |
CN115984977A (zh) | 活体检测方法和系统 | |
CN115578768A (zh) | 图像检测网络的训练方法、图像检测方法和系统 | |
CN115880530A (zh) | 对抗攻击的检测方法和系统 | |
CN114581978A (zh) | 人脸识别的方法和系统 | |
CN115222047A (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN116665315A (zh) | 活体检测模型的训练方法、活体检测方法和系统 | |
CN115082873A (zh) | 基于通路融合的图像识别方法、装置及存储介质 | |
CN116246152A (zh) | 内容检测方法和系统 | |
CN116259116A (zh) | 活体检测方法和系统 | |
CN116758295B (zh) | 关键点检测方法及装置、电子设备和存储介质 | |
CN116343346A (zh) | 活体检测方法和系统 | |
CN116189315A (zh) | 活体检测方法和系统 | |
CN115953709A (zh) | 对抗攻击的检测方法和系统 | |
CN116152937A (zh) | 活体检测方法和系统 | |
CN116976418A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN116110136A (zh) | 活体检测方法和系统 | |
CN116433955A (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 |