CN116468113A - 活体检测模型的训练方法、活体检测方法和系统 - Google Patents
活体检测模型的训练方法、活体检测方法和系统 Download PDFInfo
- Publication number
- CN116468113A CN116468113A CN202310450231.1A CN202310450231A CN116468113A CN 116468113 A CN116468113 A CN 116468113A CN 202310450231 A CN202310450231 A CN 202310450231A CN 116468113 A CN116468113 A CN 116468113A
- Authority
- CN
- China
- Prior art keywords
- living body
- body detection
- mode
- detection model
- user
- 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 394
- 238000012549 training Methods 0.000 title claims abstract description 265
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 38
- 238000000605 extraction Methods 0.000 claims description 43
- 238000004821 distillation Methods 0.000 claims description 23
- 238000001727 in vivo Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 19
- 238000001574 biopsy Methods 0.000 claims description 18
- 238000001931 thermography Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 15
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000011521 glass Substances 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
- 238000004458 analytical method Methods 0.000 description 2
- 210000000988 bone and bone Anatomy 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
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000000835 fiber Substances 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
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
本说明书提供的活体检测模型的训练方法、活体检测方法和系统,获得多模态训练数据和主模态对应的单模态训练数据,所述多模态训练数据可以包括多个模态的训练数据,所述多个模态包括主模态和至少一个辅助模态,然后,基于多模态训练数据,对至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到每一辅助模态对应的辅助活体检测模型,以及基于多模态训练数据、单模态训练数据和辅助活体检测模型,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型;该方案可以提升主模态对应的目标活体检测模型的训练精度,进而提升活体检测的准确率。
Description
技术领域
本说明书涉及图像识别领域,尤其涉及一种活体检测模型的训练方法、活体检测方法和系统。
背景技术
人脸识别相较于传统的密码校验和校验码等身份验证方式来说,更加高效和便捷。因此,被广泛应用于金融、出行和核身(核实用户真实身份)等场景。但是人脸识别也面临活体攻击等安全问题。为了能够检测各种类型的活体攻击,保障人脸识别系统的安全,活体检测成为了人脸识别系统中关键的环节。
目前,采用多模态数据可以提升活体检测的准确率。然后,在一些应用场景下,往往只有单模态数据,采用单模态数据训练出的活体检测模型的精度较低,因此,导致活体检测的准确率较低。
因此,需要提供一种准确率更高的活体检测模型的训练方法、活体检测方法和系统。
发明内容
本说明书提供一种准确率更高的活体检测模型的训练方法、活体检测方法和系统。
第一方面,本说明书提供一种活体检测模型的训练方法,包括:获得多模态训练数据和主模态对应的单模态训练数据,所述多模态训练数据包括多个模态的训练数据,所述多个模态包括所述主模态和至少一个辅助模态;基于所述多模态训练数据,对所述至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到所述每一辅助模态对应的辅助活体检测模型;以及基于所述多模态训练数据、所述单模态训练数据和所述辅助活体检测模型,对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型。
在一些实施例中,所述多个模态包括色彩图像、深度图像、红外图像或热成像图像中的至少两种模态,所述主模态包括所述多个模态中的一种,所述至少一个辅助模态包括所述多个模态中除所述主模态以外的至少一个模态。
在一些实施例中,所述对所述至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到所述每一辅助模态对应的辅助活体检测模型,包括:获得所述每一辅助模态对应的预设第一活体检测模型;在所述多模态训练数据中选取出所述每一辅助模态对应的当前模态训练数据;以及基于所述当前模态训练数据,对对应的所述预设第一活体检测模型进行训练,得到所述每一辅助模态对应的辅助活体检测模型。
在一些实施例中,所述多模态训练数据包括至少一个第一用户样本在所述多个模态中每一模态下的第一用户图像样本;以及所述对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型,包括:采用所述辅助活体检测模型对对应模态的所述第一用户图像样本进行特征提取,得到所述每一辅助模态下的辅助模态用户特征,以及基于所述辅助模态用户特征、所述单模态训练数据和所述多模态训练数据,对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到所述目标活体检测模型。
在一些实施例中,所述辅助活体检测模型包括特征提取网络,所述特征提取网络包括多个网络层;以及所述采用所述辅助活体检测模型对对应模态的所述第一用户图像样本进行特征提取,得到所述每一辅助模态对应的辅助模态用户特征,包括:在所述第一用户图像样本中选取出所述辅助活体检测模型对应的候选第一用户图像样本,将所述候选第一用户图像样本输入至所述特征提取网络,以得到所述候选第一用户图像样本对应的用户特征集合,以及在所述用户特征集合中选取出所述多个网络层中的至少一个网络层输出的用户特征,以得到所述每一辅助模态对应的辅助模态用户特征。
在一些实施例中,所述单模态数据包括所述至少一个第二用户样本在所述主模态下的第二用户图像样本;以及所述对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到所述目标活体检测模型,包括:采用所述预设第二活体检测模型对所述第二用户图像样本进行特征提取,得到所述主模态对应的主模态用户特征,以及基于所述主模态用户特征、所述辅助模态用户特征、所述单模态训练数据和所述多模态训练数据,对所述预设第二活体检测模型进行混合训练,得到所述目标活体检测模型。
在一些实施例中,所述对所述预设第二活体检测模型进行混合训练,得到所述目标活体检测模型,包括:基于所述单模态训练数据对所述预设第二活体检测模型进行训练,得到第一候选活体检测模型;基于所述主模态用户特征、所述辅助模态用户特征和所述多模态训练数据,对所述第一候选活体检测模型进行特征知识蒸馏,得到第二候选活体检测模型;以及将所述第二候选活体检测模型作为所述预设第二活体检测模型,并返回执行所述基于所述单模态训练数据对所述预设第二活体检测模型进行训练的步骤,直至所述预设第二活体检测模型收敛时为止,得到所述目标活体检测模型。
在一些实施例中,所述对所述第一候选活体检测模型进行特征知识蒸馏,得到第二候选活体检测模型,包括:在所多模态训练数据中选取出所述主模态对应的训练数据,得到主模态训练数据;采用所述第一候选活体检测模型对所述主模态训练数据进行特征提取,得到用户活体特征;基于所述用户活体特征、所述主模态用户特征和所述辅助模态用户特征,确定特征蒸馏损失;以及基于所述特征蒸馏损失,对所述第一候选活体检测模型进行收敛,得到所述第二候选活体检测模型。
在一些实施例中,所述第一候选活体检测模型包括主模态特征提取网络和所述每一辅助模态对应的特征生成网络;以及所述采用所述第一候选活体检测模型对所述主模态训练数据进行特征提取,得到用户活体特征,包括:采用所述主模态特征提取网络对所述主模态训练数据进行特征提取,得到所述主模态对应的第一模态用户特征,基于所述第一模态用户特征和所述多模态训练数据,采用所述特征生成网络生成每一辅助模态对应的第二模态用户特征,以及将所述第一模态用户特征和所述第二模态用户特征作为所述用户活体特征。
在一些实施例中,所述特征蒸馏损失约束训练过程中所述主模态用户特征和所述辅助模态用户特征分别与所述用户活体特征中对应模态的特征对齐,所述特征蒸馏损失包括特征距离损失、实例关系损失和特征空间损失中的至少一种;所述特征距离损失约束训练过程中同一模态的模态用户特征之间的特征距离小于预设第一距离阈值,且不同模态的模态用户特征之间的特征距离大于预设第二距离阈值;所述实例关系损失约束训练过程中同一模态下实例对应的关系特征和不同模态下实例对应的关系特征;以及所述特征空间损失约束训练过程中同一模态下的特征空间之间的相似度大于预设第一相似度阈值,且不同模态下的特征空间之间的相似度小于预设第二相似度阈值。
在一些实施例中,所述对所述预设第二活体检测模型进行混合训练,得到所述目标活体检测模型,包括:基于所述主模态用户特征、所述辅助模态用户特征和所述多模态训练数据,对所述预设第二活体检测模型进行特征知识蒸馏,得到第一候选活体检测模型;基于所述单模态训练数据对所述第一候选活体检测模型进行训练,得到第二候选活体检测模型;以及将所述第二候选活体检测模型作为所述预设第二活体检测模型,并返回执行所述对所述预设第二活体检测模型进行特征知识蒸馏的步骤,直至所述预设第二活体检测模型收敛时为止,得到所述目标活体检测模型。
第二方面,本说明书还提供一种活体检测方法,包括:获得目标用户在单模态下的目标用户图像;基于所述单模态对应的目标活体检测模型,对目标用户图像进行特征提取,得到目标用户活体特征,所述目标用户活体特征包括多个模态下的用户活体特征,所述多个模态包括所述单模态;以及基于所述目标用户活体特征,确定所述目标用户的活体检测结果,并输出所述活体检测结果。
在一些实施例中,所述多个模态包括色彩图像、深度图像、红外图像或热成像图像中的至少两种模态,所述单模态包括所述多个模态中的一种模态。
在一些实施例中,所述目标活体检测模型包括所述单模态对应的特征提取网络和目标模态对应的特征生成网络,所述目标模态包括所述多个模态中除所述单模态以外的模态;以及所述对目标用户图像进行特征提取,得到目标用户活体特征,包括:将所述目标用户图像输入至所述特征提取网络,得到所述单模态对应的第一用户活体特征,基于所述目标用户图像和第一用户活体特征,采用所述特征生成网络生成所述目标模态对应的第二用户活体特征,以及将所述第一用户活体特征和所述第二用户活体特征进行融合,得到所述目标用户活体特征。
在一些实施例中,所述基于所述目标用户活体特征,确定所述目标用户的活体检测结果,包括:基于所述目标用户活体特征,确定所述目标用户的攻击概率;以及基于所述攻击概率,执行目标操作,所述目标操作包括第一操作或第二操作,其中:所述第一操作包括确定所述攻击概率大于预设概率阈值,确定所述目标用户的活体检测结果为攻击用户,以及所述第二操作包括确定所述攻击概率小于所述预设概率阈值,确定所述目标用户的活体检测结果为活体用户。
第三方面,本说明书还提供一种活体检测模型的训练系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测模型的训练;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测模型的训练系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的活体检测模型的训练方法。
第四方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的活体检测方法。
由以上技术方案可知,本说明书提供的活体检测模型的训练方法、活体检测方法和系统,获得多模态训练数据和主模态对应的单模态训练数据,所述多模态训练数据可以包括多个模态的训练数据,所述多个模态包括主模态和至少一个辅助模态,然后,基于多模态训练数据,对至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到每一辅助模态对应的辅助活体检测模型,以及基于多模态训练数据、单模态训练数据和辅助活体检测模型,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型;由于该方案可以采用多模态训练数据和单模态训练数据,将至少一个辅助模态的重要信息蒸馏到主模态对应的预设第二活体检测模型,从而使得单个模态的预设第二活体检测模型可以学习到其他模态的知识,因此,可以提升主模态对应的目标活体检测模型的训练精度,进而提升活体检测的准确率。
本说明书提供的活体检测模型的训练方法、活体检测方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测模型的训练方法、活体检测方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测模型的训练方法流程图;以及
图4示出了根据本说明书的实施例提供的一种对RGB活体检测模型进行知识蒸馏的应用场景的示意图;
图5示出了根据本说明书的实施例提供的一种对RGB对应的目标活体检测模型进行训练的流程示意图;
图6示出了根据本说明书的实施例提供的一种对蒸馏前后的特征进行可视化分析的示意图;以及
图7示出了根据本说明书的实施例提供的一种活体检测方法的流程示意图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
活体检测:生物识别中,判断用户是否为真人,而非打印照片、面具、头模等攻击的技术;
多模态知识蒸馏:利用知识蒸馏的方法,将多模态数据的重要信息蒸馏到单模态的活体检测模型中,从而使得单模态的活体检测模型在不增加任何计算量的前提下,拥有更强的能力。
本说明书提供的活体检测模型可以应用在任意的生物识别过程中的活体检测场景中,比如,在人脸支付、门禁、考勤、核身等场景中。在活体检测场景中,还可以通过本说明书的活体检测方法对目标用户的目标用户图像进行活体检测。除了应用在上述的活体检测场景外,还可以应用在任意的活体检测场景中,在此就不再一一赘述。所述生物特征可以包括但不限于面部图像、虹膜、巩膜、指纹、掌纹、声纹、骨骼投影中的一种或多种。
本领域技术人员应当明白,本说明书所述的活体检测模型训练方法、活体检测方法和系统应用于其他使用场景也在本说明书的保护范围内。
图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:获得多模态训练数据和主模态对应的单模态训练数据。
其中,多模态训练数据包括多个模态的训练数据,所述多个模态可以包括主模态和至少一个辅助模态。多个模态可以包括色彩图像、深度图像(Depth)、红外图像(NIR)或热成像图像中的至少两种。所述色彩图像可以包括至少一个颜色空间下的图像,比如,可以包括RGB图像、黑白图像、灰度图像或者其他色彩图像,等等。所述主模态可以包括多个模态中的一种,所述至少一个辅助模态可以包括多个模态中除主模态以外的至少一个模态。以多个模态包括RGB图像、Depth图像和NIR图像为例,如果主模态为RGB图像,辅助模态就可以包括Depth图像和NIR图像中的至少一种。所述多模态训练数据可以包括多模态环境下采集的用户样本的每一模态对应的用户图像样本。单模态训练数据可以包括在单个模态环境下采集的用户样本的用户图像样本。
其中,获得多模态训练数据和主模态对应的单模态训练数据的方式可以有多种,具体可以如下:
例如,处理器220可以接收用户110通过客户端120或终端上传的多模态训练数据和主模态对应的单模态训练数据,或者,通过多个模态的图像采集设备采集用户样本的用户图像,从而得到多模态训练数据,通过主模态对应的图像采集设备采集用户样本的用户图像,从而得到主模态对应的单模态训练数据,或者,可以在网络或者用户图像数据库中获得多模态训练数据和主模态对应的单模态训练数据,或者,在多模态训练数据和单模态训练数据的数量或者内存较大时,还可以接收到活体检测模型训练请求,所述活体检测模型训练请求可以包括多模态训练数据和单模态训练数据的存储地址,基于该存储地址,获得多模态训练数据和主模态对应的单模态训练数据,等等。
S340:基于多模态训练数据,对至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到每一辅助模态对应的辅助活体检测模型。
例如,处理器220可以获得每一辅助模态对应的预设第一活体检测模型,在多模态训练数据中选取出每一辅助模态对应的当前模态训练数据,以及基于当前模态训练数据,对对应的预设第一活体检测模型进行训练,得到每一辅助模态对应的辅助活体检测模型。
其中,当前模态训练数据可以为多模态训练数据中每一辅助模态对应的训练数据,比如,以辅助模态为NIR图像为例,则对应的当前模态训练数据就可以包括多模态训练数据中NIR图像对应的训练数据。基于当前模态训练数据,对对应的预设第一活体检测模型进行训练的方式可以有多种,比如,处理器220可以获得当前模态训练数据中每一用户样本的活体标签,基于活体标签和当前模态训练数据,以目标活体分类损失小于预设值为约束目标对对应的预设第一活体检测模型进行训练,从而得到每一辅助模态对应的辅助活体检测模型。
其中,目标活体分类损失在训练过程中约束预设第一活体检测模型输出的活体分类结果趋近于所述活体标签。
其中,需要说明的是,以辅助模态包括NIR图像和Depth图像为例,通过当前模态训练数据可以训练出的NIR对应的辅助活体检测模型和Depth对应辅助活体检测模型,对于训练出的NIR对应的辅助活体检测模型和Depth对应辅助活体检测模型可以分别包含Depth数据和NIR数据的全部重要信息或数据,也就表明这两个辅助活体检测模型可以学习到多模态数据中对应辅助模态的重要信息或数据。
S360:基于多模态训练数据、单模态训练数据和辅助活体检测模型,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型。
其中,多模态训练数据可以包括至少一个第一用户样板在多个模态中每一模态下的第一用户图像样本。
其中,多模态知识蒸馏可以理解为将辅助模态的知识蒸馏至主模态对应的预设第二活体检测模型中,使得预设第二活体检测模型可以学习到辅助模态的重要信息,从而在单模态部署环境下,仍然具备辅助模态的先验知识,因此,可以提升目标活体检测模型的性能,进而提升活体检测的准确率。
其中,基于多模态训练数据、单模态训练数据和辅助活体检测模型,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏的方式可以有多种,具体可以如下:
例如,处理器220可以采用辅助活体检测模型对对应模态的第一用户图像样本进行特征提取,得到每一辅助模态下的辅助模态用户特征,以及基于辅助模态用户特征、单模态训练数据和多模态训练数据,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型,具体可以如下:
S362:采用辅助活体检测模型对对应模态的第一用户图像样本进行特征提取,得到每一辅助模态下的辅助模态用户特征。
其中,辅助模态用户特征可以包括采用训练好的辅助活体检测模型提取出的对应模态的用户特征。辅助活体检测模型可以包括特征提取网络,所述特征提取网络可以包括多个网络层。
其中,采用辅助活体检测模型对对应模态的第一用户图像样本进行特征提取的方式可以有多种,具体可以如下:
例如,处理器220可以在第一用户图像样本中选取出辅助活体检测模型对应的候选第一用户图像样本,将候选第一用户图像样本输入至特征提取网络,以得到候选第一用户图像样本对应的用户特征集合,以及在用户特征集合中选取出多个网络层中的至少一个网络层输出的用户特征,以得到每一辅助模态对应的辅助模态用户特征。
S364:基于辅助模态用户特征、单模态训练数据和多模态训练数据,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型。
其中,单模态用户数据可以包括至少一个第二用户样本在主模态下的第二用户图像样本。第一用户样本和第二用户样本可以为同一用户,也可以为不同用户。
其中,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏的方式可以有多种,具体可以如下:
例如,处理器220可以采用预设第二活体检测模型对第二用户图像样本进行特征提取,得到主模态对应的主模态用户特征,以及基于主模态用户特征、辅助模态用户特征、单模态训练数据和多模态训练数据,对预设第二活体检测模型进行混合训练,得到目标活体检测模型。
其中,采用预设第二活体检测模型对第二用户图像样本进行特征提取的方式与采用预设第一活体检测模型对第一用户图像样本进行特征提取的方式类似,详见上文所述,在此就不再一一赘述。
处理器220在提取出主模态对应的主模态用户特征之后,便可以基于主模态用户特征、辅助模态用户特征、单模态训练数据和多模态训练数据就,对预设第二活体检测模型进行混合训练,得到目标活体检测模型。对预设第二活体检测模型进行混合训练的方式可以有多种,比如,处理器220可以基于单模态训练数据,对预设第二活体检测模型进行训练,得到第一候选活体检测模型,基于主模态用户特征、辅助模态用户特征和多模态训练数据,对第一候选活体检测模型进行特征知识蒸馏,得到第二候选活体检测模型,以及将第二候选活体检测模型作为预设活体检测模型,并返回执行基于单模态训练数据对预设第二活体检测模型进行训练的步骤,直至预设第二活体检测模型收敛时为止,得到目标活体检测模型。
其中,预设第二活体检测模型可以包括主模态对应的主模态特征提取网络、每一辅助模态对应的特征生成网络和活体分类网络。基于单模态训练数据对预设第二活体检测模型进行训练的方式可以有多种,比如,处理器220可以基于单模态训练数据对预设第二活体检测模型的主模态特征提取网络和活体分类网络的进行训练,从而得到第一候选活体检测模型,对预设第二活体检测模型的特征提取网络和活体分类网络的进行训练的方式与基于当前模态训练数据对对应的预设第一活体检测模型进行训练的方式类似,详见上文所述,在此就不再一一赘述。
处理器220在基于单模态训练数据对预设第二活体检测模型进行训练之后,便可以基于主模态用户特征、辅助模态用户特征和多模态训练数据,对第一候选活体检测模型进行特征知识蒸馏,从而得到第二候选活体检测模型。对第一候选活体检测模型进行特征知识蒸馏的方式可以有多种,比如,处理器220可以在多模态训练数据中选取出主模态对应的训练数据,得到主模态训练数据,采用第一候选活体检测模型对主模态训练数据进行特征提取,得到用户活体特征,基于用户活体特征、主模态用户特征和辅助模态用户特征,确定特征蒸馏损失信息,以及基于蒸馏损失信息,对第一候选活体检测模型进行收敛,得到第二候选活体检测模型。
其中,第一候选活体检测模型可以包括主模态特征特征提取网络和每一辅助模态对应的特征生成网络。采用第一候选活体检测模型对主模态训练数据进行特征提取的方式可以有多种,比如,处理器220可以采用主模态特征提取网络对主模态训练数据进行特征提取,得到主模态对应的第一模态用户特征,基于第一模态用户特征和多模态训练数据,采用特征生成网络生成每一辅助模态对应的第二模态用户特征,以及将第一模态用户特征和第二模态用户特征作为用户活体特征。
处理器220在提取出用户活体特征之后,便可以基于用户活体特征、主模态用户特征和辅助模态用户特征,确定特征蒸馏损失信息。所述特征蒸馏损失约束训练过程中主模态用户特征和辅助模态用户分别与用户活体特征中对应模态的特征对齐。特征蒸馏损失包括特征距离损失、实例关系损失和特征空间损失中的至少一种。
其中,所述特征距离损失约束训练过程中同一模态的模态用户特征之间的特征距离小于预设第一距离阈值,且不同模态的模态用户特征之间的特征距离大于预设第二距离阈值。确定特征距离损失的方式可以有多种,比如,处理器220确定第二模态用户特征与对应模态的辅助模态用户特征之间的特征距离,并基于特征距离,确定特征距离损失,或者,还可以确定第二模态用户特征与对应模态的辅助模态用户特征之间的特征相似度,并基于特征相似度,确定特征距离损失,等等。
其中,特征距离的类型可以有多种,比如,可以包括L2距离或者其他类型的特征距离,等等。
其中,所述实例关系损失约束训练过程中同一模态下实例对应的关系特征和不同模态下实例对应的关系特征。确定实例关系损失的方式可以有多种,比如,处理器220可以基于第一模态用户特征、第二模态用户特征、主模态用户特征和辅助模态用户特征,确定不同模态下的实际间的第一关系特征和同一模态下的实例间的第二关系特征,并基于第一关系特征和第二关系特征,确定实例关系损失。
其中,所述特征空间损失约束训练过程中同一模态下的特征空间之间的相似度大于预设第一相似度阈值,且不同模态下的特征空间之间的相似度小于预设第二相似度阈值。确定特征空间损失的方式可以有多种,比如,处理器220可以基于第一模态用户特征、第二模态用户特征、主模态用户特征和辅助模态用户特征,确定同一模态下的特征空间的第一相似度和不同模态下的特征空间的第二相似度,并基于第一相似度和第二相似度,确定特征空间损失。
处理器220可以将特征距离损失、实例关系损失和特征空间损失中的至少一个作为特征蒸馏损失。在确定特征蒸馏损失之后,便可以基于特征蒸馏损失,对第一候选活体检测模型进行收敛,从而得到训练后的第二候选活体检测模型。对第一候选活体检测模型进行收敛的方式可以有多种,比如,处理器220可以基于特征蒸馏损失,采用梯度下降算法对第一候选活体检测模型的网络参数进行更新,以得到训练后的第二候选活体检测模型,或者,还可以采用其他参数更新算法,基于特征蒸馏损失对第一候选活体检测模型的网络参数进行更新,以得到训练后的第二候选活体检测模型。
处理器220在对第一候选活体检测模型进行训练之后,便可以将训练后的第二候选活体检测模型作为预设第二活体检测模型,并返回执行基于单模态训练数据对预设第二活体检测模型进行训练的步骤,直至预设第二活体检测模型收敛时为止,得到目标活体检测模型。
在一些实施例中,处理器220对预设第二活体检测模型进行混合训练还可以包括:处理器220可以基于主模态用户特征、辅助模态用户特征和多模态训练数据,对预设第二活体检测模型进行特征知识蒸馏,得到第一候选活体检测模型,基于单模态训练数据对第一候选活体检测模型进行训练,得到第二候选活体检测模型,以及将第二候选活体检测模型作为预设第二活体检测模型,并返回执行对预设第二活体检测模型进行特征知识蒸馏的步骤,直至预设第二活体检测模型收敛时为止,得到目标活体检测模型。
其中,需要说明的是,对预设第二活体检测模型进行混合训练时,可以先采用单模态训练数据对预设第二活体检测模型进行训练,也可以先采用多模态训练数据预设第二活体检测模型进行特征知识蒸馏,两种混合训练方式中具体的训练过程相同。
其中,以主模态为RGB图像,辅助模态包括NIR图像和Depth图像为例,本方案中可以通过知识蒸馏方法,将NIR模态和Depth模态的重要信息蒸馏到RGB模态模型中,应用场景可以如图4所示,采集多模态应用环境下的多模态训练数据和纯RGB应用环境下的单模态训练数据,通过单模态训练数据和多模态训练数据,将NIR模态和Depth模态的重要信息蒸馏到RGB模态对应的目标活体模型。通过知识蒸馏方法对RGB对应的目标活体检测模型进行训练的过程可以如图5所示,具体可以如下:
(1)收集多模态应用环境数据(RGB图像,NIR图像和Depth图像),利用多模态训练数据分别训练Depth活体检测模型和NIR活体检测模型,此时,训练后的Depth活体检测模型和NIR活体检测模型分别包含了多模态数据中Depth数据和NIR数据的全部重要信息。
(2)采用训练后的Depth活体检测模型和NIR活体检测模型分别对多模态训练数据中的Depth数据和NIR数据进行特征提取,从而得到Depth数据对应的模态用户特征和NIR数据对应的模态用户特征,将Depth数据对应的模态用户特征和NIR数据对应的模态用户特征作为需要蒸馏的特征知识。
(3)在单RGB模态应用场景下,收集RGB模态下的环境数据(RGB模态下的用户图像),从而得到单模态训练数据。
(4)采用预设的RGB活体检测模型对单模态训练数据进行特征提取,得到提取出RGB数据对应的模态用户特征。
(5)利用多模态数据和单模态训练数据对预设的RGB活体检测模型进行混合训练。混合训练过程中,可以采用知识蒸馏算法将Depth模态信息和NIR模态信息蒸馏到单RGB模型中,让模型学习到其他两个模态的重要信息。在特征至少蒸馏的过程中,为了保证同一模态下的特征对齐,可以引入特征间的距离信息、实例间的关系信息、特征空间的变化信息等进行知识蒸馏,从而得到单RGB模态下的增强活体检测模型,将增强活体检测模型作为RGB模态对应的目标活体检测模型。通过引入这些信息,帮助学生网络(预设的RGB活体检测模型)去模仿教师网络(NIR活体检测模型和Depth活体检测模型),提高学生网络的学习能力,并让学生网络具备很好的鲁棒性。
其中,需要说明的是,在本方案中,可以利用多模态应用环境下采集的数据来蒸馏纯RGB应用环境下的模型,从而让纯RGB应用环境下的模型能力得到大幅度增强,另外,RGB模态对应的目标活体检测模型在不增加任何计算量的前提下,性能得到大幅度提升,优于只用单RGB模态数据训练得到的模型。在单RGB部署环境下,仍然能够具备一些Depth和NIR的先验知识。利用t-SNE可视化方法对蒸馏前后的特征进行了可视化分析,具体可以如图6所示,从可视化结果可以看出,在单RGB分类模型特征不可分的样本,在蒸馏后的模型获得很好的分类性能。同时误检难分样本大量减少,证明了跨模态特征蒸馏的有效性。
处理器220基于多模态训练数据、单模态训练数据和辅助活体检测模型,对主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型之后,便可以基于目标活体检测模型对目标用户的目标用户图像进行活体检测。图7示出了根据本说明书的实施例提供的一种活体检测方法400的流程图。如前,计算设备200可以执行本说明书的活体检测方法400。具体地,处理器220可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测方法400。如图7所示,方法400可以包括:
S420:获得目标用户在单模态下的目标用户图像。
其中,目标用户图像可以包括目标用户在单模态下的用户的生物特征的图像。所述生物特征可以包括但不限于面部图像、虹膜、巩膜、指纹、掌纹、声纹、骨骼投影中的一种或多种。所述单模态包括多个模态中的一种,所述多个模态可以包括色彩图像、深度图像、红外图像或热成像图像中的至少两种模态,具体的可以参见上文所述。
其中,获得目标用户在单模态下的目标用户图像的方式可以有多种,具体可以如下:
例如,处理器220可以接收用户110通过客户端120或者终端上传的目标用户在单模态下的目标用户图像,或者,通过单模态的图像采集设备采集目标用户的至少一张用户图像,从而得到目标用户图像,或者,可以从网络或图像数据库中选取出目标用户的至少一张单模态的用户图像,从而得到目标用户图像,或者,在目标用户图像的数量较多或者内存较多,还可以接收活体检测请求,所述活体检测请求包括目标用户在单模态下的目标用户图像的存储地址,基于存储地址,获得目标用户图像,等等。
S440:基于单模态对应的目标活体检测模型,对目标用户图像进行特征提取,得到目标用户活体特征。
其中,目标用户特征包括多个模态下的用户活体特征,所述多个模态包括单模态。
其中,目标活体检测模型可以包括单模态对应的特征提取网络和目标模态对应的特征生成网络,所述目标模态包括多个模态中除单模态以外的模态。
其中,基于单模态对应的目标活体检测模型,对目标用户图像进行特征提取的方式可以有多种,具体可以如下:
例如,处理器220可以将目标用户图像输入至特征提取网络,得到单模态对应的第一用户活体特征,基于目标用户图像和第一用户活体特征,采用特征生成网络生成目标模态对应的第二用户活体特征,以及将第一用户活体特征和第二用户活体特征进行融合,得到目标用户活体特征。
其中,第二用户活体特征可以包括目标用户图像中与目标模态相关的用户活体特征。基于目标用户图像和第一用户活体特征,采用特征生成网络生成目标模态对应的第二用户活体特征的方式可以有多种,比如,处理器220可以将目标用户图像和/或第一用户活体图像特征输入至特征生成网络,得到目标模态对应的第二用户活体特征,或者,将将目标用户图像和/或第一用户活体图像特征输入至特征生成网络,得到目标模态对应的候选用户图像,对候选用户图像进行特征提取,得到目标模态对应的第二用户活体特征,等等。
S460:基于目标用户活体特征,确定目标用户的活体检测结果,并输出活体检测结果。
其中,活体检测结果可以包括目标用户为攻击用户或活体用户中的一种。
其中,基于目标用户活体特征,确定目标用户的活体检测结果的方式可以有多种,具体可以如下:
例如,处理器220可以基于目标用户活体特征,确定目标用户的攻击概率,以及基于攻击概率,执行目标操作,从而得到目标用户的活体检测结果。
其中,攻击概率可以包括目标用户为攻击用户的概率。基于目标用户活体特征,确定目标用户的攻击概率的方式可以有多种,比如,处理器220可以将目标用户活体特征输入目标活体检测模型的活体分类网络,从而得到目标用户的攻击概率。
其中,目标操作包括第一操作或第二操作。第一操作可以包括确定攻击概率大于预设概率阈值,确定目标用户的活体检测结果为攻击用户。第二操作可以包括确定攻击概率小于预设概率阈值,确定目标用户的活体检测结果为活体用户。
处理器220在确定出目标用户的活体检测结果之后,便可以输出活体检测结果。输出活体检测结果的方式可以有多种,比如,处理器220可以直接将活体检测结果发送至用户110对应的客户端120、终端或服务器,以便客户端120、终端或服务器基于活体检测结果对目标用户或目标用户对应的请求进行响应,或者,还可以直接可视化展示该活体检测结果,等等。
其中,可视化展示活体检测结果的方式可以有多种,比如,处理器220可以直接显示该活体检测结果,或者,可以通过声光等方式展示该活体检测结果(譬如,通过语音播报活体检测结果,或者,可以通过显式不同颜色的光显式不同类型的活体检测结果,或者,还可以通过声光联动的方式展示活体检测结果),或者,还可以针对特定类型的活体检测结果进行展示(譬如,仅针对攻击用户这一类型的活体检测结果进行展示,或者,仅针对活体用户这一类型的活体检测结果进行展示,等等),等等。
在一些实施例中,处理器220还可以在确定出目标用户的活体检测结果或者输出该活体检测结果之后,基于该活体检测结果对目标用户或者目标用户对应的请求进行响应,响应的方式可以有多种,比如,处理器220可以直接对目标用户或目标用户对应的请求进行拦截,或者,处理器220还可以直接对目标用户进行二次验证,并基于二次验证结果,对目标用户或目标用户对应的请求进行最终的响应,等等。
综上所述,本说明书提供的活体检测模型的训练方法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 (17)
1.一种活体检测模型的训练方法,包括:
获得多模态训练数据和主模态对应的单模态训练数据,所述多模态训练数据包括多个模态的训练数据,所述多个模态包括所述主模态和至少一个辅助模态;
基于所述多模态训练数据,对所述至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到所述每一辅助模态对应的辅助活体检测模型;以及
基于所述多模态训练数据、所述单模态训练数据和所述辅助活体检测模型,对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型。
2.根据权利要求1所述的活体检测模型的训练方法,其中,所述多个模态包括色彩图像、深度图像、红外图像或热成像图像中的至少两种模态,所述主模态包括所述多个模态中的一种,所述至少一个辅助模态包括所述多个模态中除所述主模态以外的至少一个模态。
3.根据权利要求1所述的活体检测模型的训练方法,其中,所述对所述至少一个辅助模态中每一辅助模态对应的预设第一活体检测模型进行训练,得到所述每一辅助模态对应的辅助活体检测模型,包括:
获得所述每一辅助模态对应的预设第一活体检测模型;
在所述多模态训练数据中选取出所述每一辅助模态对应的当前模态训练数据;以及
基于所述当前模态训练数据,对对应的所述预设第一活体检测模型进行训练,得到所述每一辅助模态对应的辅助活体检测模型。
4.根据权利要求1所述的活体检测模型的训练方法,其中,所述多模态训练数据包括至少一个第一用户样本在所述多个模态中每一模态下的第一用户图像样本;以及
所述对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到目标活体检测模型,包括:
采用所述辅助活体检测模型对对应模态的所述第一用户图像样本进行特征提取,得到所述每一辅助模态下的辅助模态用户特征,以及
基于所述辅助模态用户特征、所述单模态训练数据和所述多模态训练数据,对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到所述目标活体检测模型。
5.根据权利要求4所述的活体检测模型的训练方法,其中,所述辅助活体检测模型包括特征提取网络,所述特征提取网络包括多个网络层;以及
所述采用所述辅助活体检测模型对对应模态的所述第一用户图像样本进行特征提取,得到所述每一辅助模态对应的辅助模态用户特征,包括:
在所述第一用户图像样本中选取出所述辅助活体检测模型对应的候选第一用户图像样本,
将所述候选第一用户图像样本输入至所述特征提取网络,以得到所述候选第一用户图像样本对应的用户特征集合,以及
在所述用户特征集合中选取出所述多个网络层中的至少一个网络层输出的用户特征,以得到所述每一辅助模态对应的辅助模态用户特征。
6.根据权利要求4所述的活体检测模型的训练方法,其中,所述单模态数据包括所述至少一个第二用户样本在所述主模态下的第二用户图像样本;以及
所述对所述主模态对应的预设第二活体检测模型进行多模态知识蒸馏,得到所述目标活体检测模型,包括:
采用所述预设第二活体检测模型对所述第二用户图像样本进行特征提取,得到所述主模态对应的主模态用户特征,以及
基于所述主模态用户特征、所述辅助模态用户特征、所述单模态训练数据和所述多模态训练数据,对所述预设第二活体检测模型进行混合训练,得到所述目标活体检测模型。
7.根据权利要求6所述的活体检测模型的训练方法,其中,所述对所述预设第二活体检测模型进行混合训练,得到所述目标活体检测模型,包括:
基于所述单模态训练数据对所述预设第二活体检测模型进行训练,得到第一候选活体检测模型;
基于所述主模态用户特征、所述辅助模态用户特征和所述多模态训练数据,对所述第一候选活体检测模型进行特征知识蒸馏,得到第二候选活体检测模型;以及
将所述第二候选活体检测模型作为所述预设第二活体检测模型,并返回执行所述基于所述单模态训练数据对所述预设第二活体检测模型进行训练的步骤,直至所述预设第二活体检测模型收敛时为止,得到所述目标活体检测模型。
8.根据权利要求7所述的活体检测模型的训练方法,其中,所述对所述第一候选活体检测模型进行特征知识蒸馏,得到第二候选活体检测模型,包括:
在所多模态训练数据中选取出所述主模态对应的训练数据,得到主模态训练数据;
采用所述第一候选活体检测模型对所述主模态训练数据进行特征提取,得到用户活体特征;
基于所述用户活体特征、所述主模态用户特征和所述辅助模态用户特征,确定特征蒸馏损失;以及
基于所述特征蒸馏损失,对所述第一候选活体检测模型进行收敛,得到所述第二候选活体检测模型。
9.根据权利要求8所述的活体检测模型的训练方法,其中,所述第一候选活体检测模型包括主模态特征提取网络和所述每一辅助模态对应的特征生成网络;以及
所述采用所述第一候选活体检测模型对所述主模态训练数据进行特征提取,得到用户活体特征,包括:
采用所述主模态特征提取网络对所述主模态训练数据进行特征提取,得到所述主模态对应的第一模态用户特征,
基于所述第一模态用户特征和所述多模态训练数据,采用所述特征生成网络生成每一辅助模态对应的第二模态用户特征,以及
将所述第一模态用户特征和所述第二模态用户特征作为所述用户活体特征。
10.根据权利要求8所述的活体检测模型的训练方法,其中,所述特征蒸馏损失约束训练过程中所述主模态用户特征和所述辅助模态用户特征分别与所述用户活体特征中对应模态的特征对齐,所述特征蒸馏损失包括特征距离损失、实例关系损失和特征空间损失中的至少一种;
所述特征距离损失约束训练过程中同一模态的模态用户特征之间的特征距离小于预设第一距离阈值,且不同模态的模态用户特征之间的特征距离大于预设第二距离阈值;
所述实例关系损失约束训练过程中同一模态下实例对应的关系特征和不同模态下实例对应的关系特征;以及
所述特征空间损失约束训练过程中同一模态下的特征空间之间的相似度大于预设第一相似度阈值,且不同模态下的特征空间之间的相似度小于预设第二相似度阈值。
11.根据权利要求6所述的活体检测模型的训练方法,其中,所述对所述预设第二活体检测模型进行混合训练,得到所述目标活体检测模型,包括:
基于所述主模态用户特征、所述辅助模态用户特征和所述多模态训练数据,对所述预设第二活体检测模型进行特征知识蒸馏,得到第一候选活体检测模型;
基于所述单模态训练数据对所述第一候选活体检测模型进行训练,得到第二候选活体检测模型;以及
将所述第二候选活体检测模型作为所述预设第二活体检测模型,并返回执行所述对所述预设第二活体检测模型进行特征知识蒸馏的步骤,直至所述预设第二活体检测模型收敛时为止,得到所述目标活体检测模型。
12.一种活体检测方法,包括:
获得目标用户在单模态下的目标用户图像;
基于所述单模态对应的目标活体检测模型,对目标用户图像进行特征提取,得到目标用户活体特征,所述目标用户活体特征包括多个模态下的用户活体特征,所述多个模态包括所述单模态;以及
基于所述目标用户活体特征,确定所述目标用户的活体检测结果,并输出所述活体检测结果。
13.根据权利要求12所述的活体检测方法,其中,所述多个模态包括色彩图像、深度图像、红外图像或热成像图像中的至少两种模态,所述单模态包括所述多个模态中的一种模态。
14.根据权利要求12所述的活体检测方法,其中,所述目标活体检测模型包括所述单模态对应的特征提取网络和目标模态对应的特征生成网络,所述目标模态包括所述多个模态中除所述单模态以外的模态;以及
所述对目标用户图像进行特征提取,得到目标用户活体特征,包括:
将所述目标用户图像输入至所述特征提取网络,得到所述单模态对应的第一用户活体特征,
基于所述目标用户图像和第一用户活体特征,采用所述特征生成网络生成所述目标模态对应的第二用户活体特征,以及
将所述第一用户活体特征和所述第二用户活体特征进行融合,得到所述目标用户活体特征。
15.根据权利要求12所述的活体检测方法,其中,所述基于所述目标用户活体特征,确定所述目标用户的活体检测结果,包括:
基于所述目标用户活体特征,确定所述目标用户的攻击概率;以及
基于所述攻击概率,执行目标操作,所述目标操作包括第一操作或第二操作,其中:
所述第一操作包括确定所述攻击概率大于预设概率阈值,确定所述目标用户的活体检测结果为攻击用户,以及
所述第二操作包括确定所述攻击概率小于所述预设概率阈值,确定所述目标用户的活体检测结果为活体用户。
16.一种活体检测模型的训练系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测模型的训练;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测模型的训练系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-11中任一项所述的活体检测模型的训练方法。
17.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求12-15中任一项所述的活体检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310450231.1A CN116468113A (zh) | 2023-04-20 | 2023-04-20 | 活体检测模型的训练方法、活体检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310450231.1A CN116468113A (zh) | 2023-04-20 | 2023-04-20 | 活体检测模型的训练方法、活体检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116468113A true CN116468113A (zh) | 2023-07-21 |
Family
ID=87178680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310450231.1A Pending CN116468113A (zh) | 2023-04-20 | 2023-04-20 | 活体检测模型的训练方法、活体检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116468113A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117831138A (zh) * | 2024-03-05 | 2024-04-05 | 天津科技大学 | 基于三阶知识蒸馏的多模态生物特征识别方法 |
-
2023
- 2023-04-20 CN CN202310450231.1A patent/CN116468113A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117831138A (zh) * | 2024-03-05 | 2024-04-05 | 天津科技大学 | 基于三阶知识蒸馏的多模态生物特征识别方法 |
CN117831138B (zh) * | 2024-03-05 | 2024-05-24 | 天津科技大学 | 基于三阶知识蒸馏的多模态生物特征识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10699103B2 (en) | Living body detecting method and apparatus, device and storage medium | |
CN107545241A (zh) | 神经网络模型训练及活体检测方法、装置及存储介质 | |
CN109034069B (zh) | 用于生成信息的方法和装置 | |
CN116468113A (zh) | 活体检测模型的训练方法、活体检测方法和系统 | |
CN111241873A (zh) | 图像翻拍检测方法及其模型的训练方法、支付方法及装置 | |
CN113642639B (zh) | 活体检测方法、装置、设备和存储介质 | |
CN112699811B (zh) | 活体检测方法、装置、设备、储存介质及程序产品 | |
CN112651333B (zh) | 静默活体检测方法、装置、终端设备和存储介质 | |
CN116152870A (zh) | 人脸识别方法、装置、电子设备及计算机可读存储介质 | |
CN110688878A (zh) | 活体识别检测方法、装置、介质及电子设备 | |
CN116311546A (zh) | 活体检测方法和系统 | |
CN116012612A (zh) | 内容检测方法和系统 | |
CN116524609A (zh) | 活体检测方法及系统 | |
CN115880530A (zh) | 对抗攻击的检测方法和系统 | |
CN115578768A (zh) | 图像检测网络的训练方法、图像检测方法和系统 | |
CN115984977A (zh) | 活体检测方法和系统 | |
CN114581978A (zh) | 人脸识别的方法和系统 | |
CN114067394A (zh) | 人脸活体检测方法、装置、电子设备及存储介质 | |
CN114639132A (zh) | 人脸识别场景下的特征提取模型处理方法、装置、设备 | |
CN116343346A (zh) | 活体检测方法和系统 | |
CN116665315A (zh) | 活体检测模型的训练方法、活体检测方法和系统 | |
CN116110136A (zh) | 活体检测方法和系统 | |
CN116188845A (zh) | 对抗攻击的检测方法及系统 | |
CN113569839B (zh) | 证件识别方法、系统、设备及介质 | |
CN116189315A (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 |