CN115953849A - 活体检测模型的训练方法、活体检测方法及系统 - Google Patents
活体检测模型的训练方法、活体检测方法及系统 Download PDFInfo
- Publication number
- CN115953849A CN115953849A CN202310096975.8A CN202310096975A CN115953849A CN 115953849 A CN115953849 A CN 115953849A CN 202310096975 A CN202310096975 A CN 202310096975A CN 115953849 A CN115953849 A CN 115953849A
- Authority
- CN
- China
- Prior art keywords
- training
- living body
- loss information
- images
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本说明书提供一种活体检测模型的训练方法、活体检测方法及系统,获得目标域的多个第一训练图像及其对应的多个伪标签,并基于多个第一训练图像及其对应的多个伪标签,以及第一综合损失信息对训练前活体检测模型进行活体分类的迭代训练,第一综合损失信息在训练中对迭代训练的训练结果进行信息最大化约束和/或伪标签中心约束,以及输出训练完成后得到的目标活体检测模型。该方法和系统利用第一综合损失信息对训练前活体检测模型在迭代训练时的训练结果进行信息最大化约束和/或伪标签中心约束,从而能够提高伪标签的预测准确度,进而在指导训练前活体检测模型的训练时,能够提高目标检测模型的活体检测性能和活体跨域自适应的性能。
Description
技术领域
本说明书涉及人工智能技术领域,尤其涉及一种活体检测模型的训练方法、活体检测方法及系统。
背景技术
近年来,人脸识别技术已经被广泛应用。然而,人脸识别也容易受到活体攻击,一些攻击者使用照片、打印纸张、面具等方式伪造人脸图像,从而尝试通过人脸识别,对用户财产和信息安全造成损害。因此,在进行人脸识别前,有必要进行活体检测。
目前,可以采用深度学习的方式来训练得到活体检测模型,并应用于实际场景中进行活体检测。活体检测模型虽然能够很好地解决活体攻击的问题,但是在将一个场景下训练得到的活体检测模型部署到另一个新的场景下时,就会出现人脸识别系统性能下降的现象。为了解决上述问题,现有技术采用基于人工标注新场景数据的标签对已训练得到的活体检测模型进行微调,或者基于已训练得到的活体检测模型标注新场景数据的标签,并进行训练,得到应用于新场景的活体检测模型。然而,现有技术中训练得到的新场景的活体检测模型活体检测性能均较差,往往无法满足新场景的需求,即跨域自适应性能较差。
因此,需要提供一种跨域自适应性能较好的活体检测模型。
发明内容
本说明书提供一种活体检测模型的训练方法、活体检测方法及系统,能够提高活体检测模型的跨域自适应性能。
第一方面,本说明书提供一种活体检测模型的训练方法,包括:获得目标域的多个第一训练图像及其对应的多个伪标签,每个所述第一训练图像包括用户的生物特征,所述伪标签为表征所述第一训练图像是活体类别或攻击类别的非人工标注信息;基于所述多个第一训练图像及其对应的多个伪标签,以及第一综合损失信息对训练前活体检测模型进行活体分类的迭代训练,所述第一综合损失信息在所述训练中对所述迭代训练的训练结果进行信息最大化约束和/或伪标签中心约束;以及输出训练完成后得到的目标活体检测模型。
在一些实施例中,所述多个第一训练图像对应有所述活体类别与所述攻击类别的标注分布规律;以及每次所述迭代训练包括:将所述多个第一训练图像输入至所述训练前活体检测模型,确定所述多个第一训练图像对应的多个第一活体分类训练结果;将所述多个第一训练图像在上一次迭代训练时的多个第一活体分类训练结果,确定为当前次迭代训练时所述多个第一训练图像对应的多个伪标签;基于所述多个第一活体分类训练结果,确定所述多个第一训练图像对应的所述活体分类的训练分布结果,以及基于多个第一活体分类训练结果和所述多个伪标签,以及所述训练分布结果和所述标注分布规律确定所述第一综合损失信息,以对所述迭代训练的所述训练结果进行信息最大化约束。
在一些实施例中,所述训练前活体检测模型包括训练前第一特征编码器和训练前第一活体分类器;以及所述将所述多个第一训练图像输入至所述训练前活体检测模型,确定所述多个第一训练图像的多个第一活体分类训练结果,包括:将所述多个第一训练图像输入至所述训练前第一特征编码器,得到所述多个第一训练图像对应的多个第一训练特征;以及将所述多个第一训练特征输入至所述训练前第一活体分类器,得到所述多个第一训练图像对应的多个第一活体分类训练结果。
在一些实施例中,所述基于所述多个第一活体分类训练结果,确定所述多个第一训练图像对应的所述活体分类的训练分布结果,包括:基于所述多个第一活体分类训练结果中活体类别和攻击类别的分布情况,确定所述训练分布结果。
在一些实施例中,所述基于多个第一活体分类训练结果和所述多个伪标签,以及所述训练分布结果和所述标注分布规律确定所述第一综合损失信息,包括:基于所述多个第一活体分类训练结果及对应的所述多个伪标签之间的差异,确定第一活体分类损失信息;基于所述训练分布结果和所述标注分布规律之间的差异,确定活体分类的分布损失信息,并将所述活体分类的分布损失信息确定为信息最大化约束损失信息;以及基于所述第一活体分类损失信息与所述信息最大化约束损失信息的累加和,得到所述第一综合损失信息。
在一些实施例中,所述活体分类的分布损失信息约束所述训练分布结果趋近于所述标注分布规律。
在一些实施例中,所述第一活体分类训练结果包括所述活体分类的预测概率;以及所述基于多个第一活体分类训练结果和所述多个伪标签,以及所述训练分布结果和所述标注分布规律确定所述第一综合损失信息,包括:基于所述多个第一活体分类训练结果及对应的所述多个伪标签之间的差异,确定第一活体分类损失信息;基于所述多个第一训练图像对应的多个活体分类预测概率,确定所述多个第一活体分类训练结果对应的多个预测置信度;基于所述训练分布结果和所述标注分布规律,以及所述多个预测置信度,确定信息最大化约束损失信息;以及基于所述第一活体分类损失信息与所述信息最大化约束损失信息的累加和,得到所述第一综合损失信息。
在一些实施例中,所述基于所述训练分布结果和所述标注分布规律,以及所述多个预测置信度,确定信息最大化约束损失信息,包括:基于所述训练分布结果和所述标注分布规律之间的差异,确定活体分类的分布损失信息;基于所述多个预测置信度,确定所述多个伪标签对应的预测损失信息;以及基于所述活体分类的分布损失信息与所述预测损失信息的累加和,得到所述信息最大化约束损失信息。
在一些实施例中,所述活体分类的分布损失信息约束所述训练分布结果趋近于所述标注分布规律;所述预测损失信息约束所述多个第一活体分类训练结果的置信度趋近于预设置信度。
在一些实施例中,所述第一综合损失信息还包括伪标签中心约束损失信息;以及每次迭代训练时,所述伪标签中心约束损失信息约束所述多个第一训练特征中M个活体类别对应的M个第一训练特征靠近活体中心特征,以及N个攻击类别对应的N个第一训练特征靠近攻击中心特征,所述M和所述N均为大于0,且小于或等于所述伪标签的数量的整数。
在一些实施例中,所述活体中心特征为基于上一次迭代训练得到的所述多个伪标签中,表征活体类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。
在一些实施例中,所述攻击中心特征为基于上一次迭代训练得到的所述多个伪标签中,表征攻击类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。
在一些实施例中,所述伪标签中心约束损失信息采用如下方法步骤确定:基于所述多个第一训练特征中M个活体类别对应的M个第一训练特征与所述活体中心特征之间的距离,以及N个攻击类别对应的N个第一训练特征与所述N个第一训练特征对应的攻击中心特征之间的距离,得到所述伪标签中心约束损失信息。
在一些实施例中,初次迭代训练时,所述多个伪标签采用如下方法步骤获得:将所述多个第一训练图像输入至预训练源域模型,得到所述初次迭代训练时的多个伪标签。
在一些实施例中,所述预训练源域模型采用如下方法步骤训练得到:获得源域的多个第二训练图像及其对应的真实标签,每个所述第二训练图像包括用户的生物特征,所述真实标签为表征所述第二训练图像是活体类别或攻击类别的人工标注信息;以及基于所述多个第二训练图像及对应的所述真实标签,以及第二综合损失信息对训练前源域模型进行活体分类的迭代训练,得到所述预训练源域模型,所述第二综合损失信息在所述训练中对所述迭代训练的训练结果进行域无关约束。
在一些实施例中,所述训练前源域模型包括训练前第二特征编码器、训练前第二活体分类器和训练前域分类器;以及每次所述迭代训练包括:将所述多个第二训练图像输入至所述训练前第二特征编码器,得到所述多个第二训练图像对应的多个第二训练特征;将所述多个第二训练特征输入至所述训练前第二活体分类器,得到所述多个第二训练特征对应的多个第二活体分类训练结果;将所述多个第二训练特征输入至所述训练前域分类器,得到所述多个第二训练特征对应的多个域分类结果;以及基于所述多个第二活体分类训练结果及对应的真实标签之间的差异,所述多个域分类结果及对应的标注域类别之间的差异,确定第二综合损失信息,以对所述迭代训练的所述训练结果进行域无关约束。
在一些实施例中,所述基于所述多个第二训练活体分类结果及对应的活体类别标签之间的差异,所述域分类结果及对应的标注域类别之间的差异,确定第二综合损失信息,包括:基于所述多个第二活体分类训练结果及对应的真实标签之间的差异,确定活体分类损失信息;基于所述多个域分类结果及对应的标注域类别之间的差异,确定域相关分类损失信息,并对所述域相关分类损失信息进行梯度反转,得到域无关分类损失信息;以及基于所述活体分类损失信息与所述域无关分类损失信息的累加和,得到所述第二综合损失信息。
在一些实施例中,所述获得多个第一训练图像,包括:获得目标域的多个原始图像对应的多个压缩特征;将所述多个压缩特征输入至训练后图像重建模块,得到所述多个压缩特征对应的多个重建图像;以及基于所述多个重建图像,得到所述多个第一训练图像。
在一些实施例中,所述获得目标域的多个原始图像对应的多个压缩特征,包括:从客户端接收目标域的多个原始图像对应的多个压缩特征,所述多个压缩特征为所述客户端通过训练后图像压缩模块对所述多个原始图像进行压缩得到的。
在一些实施例中,所述获得目标域的多个原始图像对应的多个压缩特征,包括:从客户端接收目标域的多个原始图像对应的目标压缩特征,所述目标压缩特征为所述客户端通过训练后图像压缩模块对所述多个原始图像进行压缩,得到中间压缩特征,并采用压缩算法对所述中间压缩特征进行压缩得到的;采用解压缩算法对所述目标压缩特征进行解压缩,得到所述多个压缩特征。
在一些实施例中,所述训练后图像重建模块和所述训练后图像压缩模块采用如下方法步骤训练得到:获得原始图像样本;将所述原始图像样本输入至训练前图像压缩模块,得到所述原始图像样本对应的训练压缩特征;将所述训练压缩特征输入至训练前图像重建模块,得到所述训练压缩特征对应的重建图像样本;以及基于所述原始图像样本、所述重建图像样本和所述训练压缩特征,确定第三综合损失信息,并基于所述第三综合损失信息对所述训练前图像压缩模块和所述训练前图像重建模块进行迭代训练,得到所述训练后图像压缩模块和所述训练后图像重建模块。
在一些实施例中,所述基于所述原始图像样本、所述重建图像样本和所述训练压缩特征,确定第三综合损失信息,包括:基于所述原始图像样本与所述重建图像样本之间的差异,确定图像重建损失信息;基于所述训练压缩特征中目标元素的数量和预设数量之间的差异,确定特征稀疏损失信息;基于所述原始图像样本与所述训练压缩特征之间的差异,确定样本关系约束信息;以及基于所述图像重建损失信息、所述特征稀疏损失信息和所述样本关系约束信息的累加和,得到所述第三综合损失信息。
第二方面,本说明书还提供一种活体检测模型的训练系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行所述活体检测模型的训练;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行第一方面所述的方法。
第三方面,本说明书还提供一种活体检测方法,包括:获得用户的生物特征的原始图像;将所述原始图像输入至目标活体检测模型,得到活体检测结果,所述活体检测模型为采用如第一方面所述的方法训练得到的模型。
第四方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行第三方面所述的活体检测方法。
由以上技术方案可知,本说明书提供的活体检测模型的训练方法、活体检测方法及系统,在获得目标域的多个第一训练图像及其对应的多个伪标签后,基于多个第一训练图像及其对应的伪标签,以及第一综合损失信息对训练前活体检测模型进行活体分类的迭代训练,并使用第一综合损失信息在训练过程中对迭代训练的训练结果进行信息最大化约束和/或伪标签中心约束,从而得到训练完成后的目标活体检测模型并输出。该方案中,由于第一综合损失信息能够对训练前活体检测模型在迭代训练过程中的训练结果进行信息最大化约束和/或伪标签中心约束,因此,能够提高伪标签的预测准确度,进而作为监督信号指导训练前活体检测模型的训练过程,提高训练得到的目标检测模型的活体检测性能,提升活体跨域自适应的性能和泛化能力。
本说明书提供的活体检测模型的训练方法、活体检测方法及系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测模型的训练方法、活体检测方法及系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测模型的训练方法的流程图;
图4示出了根据本说明书的实施例提供的训练前活体检测模型的每次迭代训练的方法流程图;
图5示出了根据本说明书的实施例提供的训练前源域模型的网络结构的示意图;
图6示出了活体检测方法的整体流程框图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,首先对本说明书中出现的术语进行如下解释:
信息最大化:指在无监督学习时,尽可能多样化和均衡化各种类别样本的预测结果。在无监督学习时,训练样本没有人工标注的真实标签。因此,并不知道训练样本真实的标签是什么。但是在训练时又希望将每个训练样本分类到一个类别中,那么在无监督学习时,就希望所有训练样本输出的概率在整个训练样本集上是均衡的,即被分类为每个类别的样本数量尽量一致。比如,假设输入数据包括100个训练样本,该100个训练样本对应10个类别,每10个样本对应1个类别。那么则希望训练的目标是能够将该100个训练样本尽量平均分配至每个类别。
活体检测:指在人脸识别系统中判断图像是活体图像还是攻击图像的算法。
跨域自适应:在本方案中,指将活体检测算法从一个场景应用到另一个场景时(例如从刷脸支付场景到刷脸考勤场景),需要进行的调整和适配工作。
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
本说明书提供的活体检测方法可以应用在任意的需要进行身份验证的场景中,比如,线下零售门店的刷脸支付服务场景、人工智能(Artificial Intelligence,AI)售货机、门禁机具或其他需要刷脸支付的场景。当确定检测对象的活体检测检测结果为活体时,才进行下一步的身份验证。比如,在支付场景中,可以通过本说明书提供的活体检测方法对用户进行活体检测,当确定用户为活体时,才对该用户进行人脸识别,以及在确定该用户为合法用户时,允许执行刷脸支付的操作。或者在门禁场景中,可以通过本说明书提供的活体检测方法对用户进行活体检测,当确定用户为活体时,才对该用户进行人脸识别,以及在确定该用户为合法用户时,才允许通行。或者在信息查询类场景中,可以通过本说明书提供的活体检测方法对用户进行活体检测,并在确定用户为活体时,才对该用户进行人脸识别,以及在确定该用户为合法用户时,才允许对用户进行信息查询。
本领域技术人员应当明白,本说明书的活体检测方法应用于其他使用场景也在本说明书的保护范围内。
图1示出了根据本说明书的实施例提供的一种活体检测系统001的应用场景示意图。如图1所示,活体检测系统001(以下简称系统001)可以包括:用户100、客户端200、服务器300和网络400。客户端200、服务器300均连接至网络400。
其中,用户100可以为需要进行活体检测的用户,或者正在进行活体检测的用户。用户100可以在客户端200触发活体检测功能,以对用户进行活体检测。用户100可以是系统001检测的对象。用户100可以发起活体检测识别程序,从而触发对用户100的活体检测。例如,用户100可以在支付服务中,通过一系列操作进入到刷脸支付环节。或者在门禁场景中,通过将人脸置于人脸检测范围内。或者在信息查询类场景中,通过一系列操作进入到刷脸验证环节,从而触发活体检测功能。
客户端200可以为响应于用户100的活体检测操作对包括用户生物特征的原始图像进行活体检测的设备。在一些实施例中,所述活体检测模型的训练方法和活体检测方法可以在客户端200上执行。此时,客户端200可以存储有执行本说明书描述的活体检测模型的训练方法和活体检测方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端200可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图1所示,客户端200可以与服务器300进行通信连接。在一些实施例中,服务器300可以与多个客户端200进行通信连接。在一些实施例中,客户端200可以通过网络400与服务器300交互,以接收或发送消息等。在一些实施例中,客户端200可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、VR等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端200可以包括图像采集设备,用于采集用户的生物特征的原始图像。在一些实施例中,所述图像采集设备可以是二维图像采集设备(比如RGB摄像头、IR摄像头,等等),也可以是二维图像采集设备(比如RGB摄像头、IR摄像头,等等)和深度图像采集设备(比如3D结构光摄像头、激光探测器,等等)。在一些实施例中,客户端200可以是具有定位技术的设备,用于定位客户端200的位置。
在一些实施例中,客户端200可以安装有一个或多个应用程序(APP)。所述APP能够为目标用户100提供通过网络400同外界交互的能力以及界面。所述APP包括但不限于:网页浏览器类APP程序、搜索类APP程序、聊天类APP程序、购物类APP程序、视频类APP程序、理财类APP程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端200上可以安装有目标APP。所述目标APP能够为客户端200采集包括用户的生物特征的原始图像等。在一些实施例中,所述目标对象100还可以通过所述目标APP触发活体检测请求。所述目标APP可以响应于所活体检测请求,执行本说明书描述的活体检测方法。在一些实施例中,所述用户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示出了根据本说明书的实施例提供的一种计算设备500的硬件结构图。计算设备500可以执行本说明书描述的活体检测模型的训练方法和活体检测方法。活体检测模型的训练方法和活体检测方法在本说明书中的其他部分介绍。当活体检测方法在客户端200上执行时,计算设备500可以是客户端200。当活体检测方法在服务器300上执行时,计算设备500可以是服务器300。当活体检测方法可以部分在客户端200上执行,部分在服务器300上执行时,计算设备500可以是客户端200和服务器300。而当活体检测模型的训练方法在客户端200上执行时,计算设备500可以是客户端200。当活体检测模型的训练方法在服务器300上执行时,计算设备500可以是服务器300。当活体检测模型的训练方法可以部分在客户端200上执行,部分在服务器300上执行时,计算设备500可以是客户端200和服务器300。
如图2所示,计算设备500可以包括至少一个存储介质530和至少一个处理器520。在一些实施例中,计算设备500还可以包括通信端口550和内部通信总线510。同时,计算设备500还可以包括I/O组件560。
内部通信总线510可以连接不同的系统组件,包括存储介质530、处理器520和通信端口550。
I/O组件560支持计算设备500和其他组件之间的输入/输出。
通信端口550用于计算设备500同外界的数据通信,比如,通信端口550可以用于计算设备500同网络400之间的数据通信。通信端口550可以是有线通信端口也可以是无线通信端口。
存储介质530可以包括数据存储装置。数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,数据存储装置可以包括磁盘532、只读存储介质(ROM)534或随机存取存储介质(RAM)536中的一种或多种。存储介质530还包括存储在数据存储装置中的至少一个指令集。指令是计算机程序代码,计算机程序代码可以包括执行本说明书提供的活体检测方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器520可以同至少一个存储介质530以及通信端口550通过内部通信总线510通信连接。至少一个处理器520用以执行上述至少一个指令集。当计算设备500运行时,至少一个处理器520读取至少一个指令集,并且根据至少一个指令集的指示,执行本说明书提供的活体检测模型的训练方法和活体检测方法。处理器520可以执行活体检测模型的训练方法和活体检测方法包含的所有步骤。处理器520可以是一个或多个处理器的形式,在一些实施例中,处理器520可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中心处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书的计算设备500中仅描述了一个处理器520。然而,应当注意,本说明书中计算设备500还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备500的处理器520执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器520联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3示出了根据本说明书的实施例提供的一种活体检测模型的训练方法P100的流程图。如前,计算设备500可以执行本说明书的活体检测模型的训练方法P100。具体地,处理器520可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的活体检测模型的训练方法P100。如图3所示,方法P100可以包括:
S110:获得目标域的多个第一训练图像及其对应的伪标签。
目标域(target domain)是指要学习的知识。与目标域相对应的是源域(sourcedomain)。源域是指已有的知识。源域和目标域可以通过训练图像的数量,和/或训练图像是否对应有人工标注的活体类别或攻击类别的标签来区分。举例来说,一开始我们使用了支付场景下的大量训练数据和人工标注的真实标签训练得到活体检测模型,其能够很好地应用于支付场景下的活体检测。但是,现在需要在考勤或门禁等场景下进行活体检测。而考勤或门禁场景下只有少量的训练图像,且由于人工对训练图像标注标签的方式过于耗时,来不及通过人工对训练图像标注真实标签等因素,使得考勤或门禁场景下的训练图像为无人工标注的标签。而由于从支付场景到考勤或门禁场景,同一个用户在支付场景和门禁场景下的成像条件和成像场景不一样,会产生不同的成像效果,以及采集条件和设备搭建的环境发生变化,这些变化都会导致训练图像的域发生变化。因此,将支付场景下的活体检测模型部署到考勤或门禁等场景下进行活体检测时,活体检测模型面临跨域现象,会出现活体检测性能下降的现象。这里支付场景就可以理解为源域,考勤或门禁场景目标域就可以理解为目标域。
第一训练图像包括用户的生物特征。这里的用户为待进行活体检测的用户。生物特征为人体固有的生理特性,其可以包括人脸、虹膜、巩膜、指纹、掌纹、声纹、骨骼投影中的至少一种,也可以包括其他能够进行人脸识别的人体固有的生理特性。为了方便描述,本说明书中将以生物特征为人脸为例进行描述。本领域技术人员应当明白,生物特征为其他特征也在本说明书的保护范围内。当触发活体检测模型的训练请求时,处理器520可以接收通过客户端200上传的用户的原始图像,或者还可以基于接收到的携带有用户的生物特征的原始图像的存储地址的活体检测模型的训练请求,从存储地址处获得原始图像。这些原始图像将作为第一训练图像,并用于训练活体检测模型。具体的,多个第一训练图像的获得方式可以如下:比如,获得目标域的多个原始图像对应的多个压缩特征,将多个压缩特征或者多个压缩特征对应的多个解压缩特征输入至训练后的图像重建模块,得到多个压缩特征对应的多个重建图像,以及基于多个重建图像,得到多个第一训练图像。
其中,获得目标域的多个原始图像对应的多个压缩特征的方式有多种,具体可以如下:比如,在一些可能的实现方式中,可以从客户端接收目标域的多个原始图像对应的多个压缩特征,或者获得服务端预先存储的目标域的多个原始图像对应的多个压缩特征。其中,多个压缩特征可以为客户端通过训练后图像压缩模块对多个原始图像进行压缩和脱敏得到的。
在另一些可能的实现方式中,获得目标域的多个原始图像对应的多个压缩特征,包括:从客户端接收目标域的多个原始图像对应的目标压缩特征,并采用解压缩算法对目标压缩特征进行解压缩,得到多个压缩特征。其中,目标压缩特征为客户端通过训练后图像压缩模块对多个原始图像进行压缩,得到中间压缩特征,并采用压缩算法对中间压缩特征进行压缩得到的。
压缩算法能够对原始图像进一步压缩,进一步减小数据传输量,并且能够实现无损压缩。也就是说,客户端通过训练后图像压缩模块对多个原始图像进行压缩得到多个中间压缩特征,并将多个中间压缩特征确定为多个压缩特征。或者,客户端通过训练后图像压缩模块对多个原始图像进行压缩得到多个中间压缩特征,并采用压缩算法对多个中间压缩特征进行文件压缩,得到多个目标压缩特征。压缩算法可以是zip压缩算法、rar压缩算法、7-zip压缩算法和lzw压缩算法等无损压缩算法,将多个中间压缩特征压缩为zip格式、rar格式、7-zip格式和lzw格式。
多个解压缩特征为采用压缩算法对应的解压缩算法对多个目标压缩特征进行解压缩得到的。解压缩算法可以是zip解压缩算法、rar解压缩算法、7-zip解压缩算法和lzw解压缩算法等无损解压缩算法。
如上所述,多个原始图像可以从客户端接收所得到。相关技术中,是直接将客户端采集的没有加密的明文图像传输到服务端,以作为训练图像集训练得到活体检测模型。然而,这种方式会存在隐私泄露的风险,且数据量较大时,还会严重依赖网络带宽,造成数据传输失败的现象。为了保护用户隐私,以及减小数据传输量,可以在客户端上部署一图像压缩模块。当客户端采集到多个原始图像时,将多个原始图像输入至客户端上部署的训练后图像压缩模块。由训练后图像压缩模块对多个原始图像分别进行压缩,从而得到多个原始图像对应的多个压缩特征,每个原始图像对应一个压缩特征。之后,由客户端将压缩后的多个压缩特征传输至服务端。服务端接收多个压缩特征,并将多个压缩特征输入至训练后图像重建模块。训练后图像重建模块便基于多个压缩特征分别进行图像重建,得到多个重建图像。该多个重建图像便作为目标域的多个第一训练图像。
或者,由训练后图像压缩模块对多个原始图像分别进行压缩,得到中间压缩特征。再由客户端采用压缩算法对中间压缩特征进行压缩得到目标压缩特征。之后,由客户端将压缩后的多个目标压缩特征传输至服务端。服务端接收多个目标压缩特征,并将多个目标压缩特征进行解压缩,得到解压后的压缩特征。以及将解压后的压缩特征输入至训练后图像重建模块。训练后图像重建模块便基于多个压缩特征分别进行图像重建,得到多个重建图像。该多个重建图像便作为目标域的多个第一训练图像。压缩特征相较于原始图像而言,维度更低。也就是说,压缩特征中所包含的信息量与原始图像样本所包含的信息量相同或接近,但是压缩特征所需要的存储空间更小了。并且采用深度学习的方式进行压缩,相较于图像压缩算法而言,破解的难度更大,使得压缩特征具有脱敏的效果,安全性更高。既能够对用户的原始图像进行脱敏,实现隐私保护,另一方面还能够降低传输的数据量。
另外,在一些场景下,多个原始图像在服务端进行存储的过程中也会存在隐私泄露的风险。针对该种情况,可以在服务端部署训练后图像压缩模块。并由服务端上部署的训练后图像压缩模块对客户端传输的多个原始图像进行分别进行压缩,从而得到多个原始图像对应的多个压缩特征并存储在服务端。当需要进行活体检测模型的训练时,服务端可以获得多个压缩特征,并将多个压缩特征输入至训练后图像重建模块。训练后图像重建模块便基于多个压缩特征分别进行图像重建,得到多个重建图像。该多个重建图像便作为目标域的多个第一训练图像。
应理解,该多个重建图像为与多个原始图像相同或接近的图像。也就是说每个原始图像经过压缩和图像重建后,可以得到与原始图像对应的重建图像。由于图像重建可能无法100%还原出来原始图像,因此,该重建图像为与对应的原始图像相同或相接近的图像。
上文介绍了训练后图像压缩模块和训练后图像重建模块的应用过程。在应用训练后图像压缩模块对多个原始图像进行压缩,以及应用训练后图像重建模块对多个解压缩特征进行图像重建之前,需要先训练得到训练后图像压缩模块和训练后图像重建模块。下面将介绍训练后图像压缩模块和训练后图像重建模块的训练过程。
训练后图像压缩模块和训练后图像重建模块可以采用如下方法步骤训练得到:比如,获得原始图像样本,将原始图像样本输入至训练前图像压缩模块,得到原始图像样本对应的训练压缩特征,并将训练压缩特征输入至训练前图像重建模块,得到训练压缩特征对应的重建图像样本,以及基于原始图像样本、重建图像样本和训练压缩特征,确定第三综合损失信息,并基于第三综合损失信息对训练前图像压缩模块和训练前图像重建模块进行迭代训练,得到训练后图像压缩模块和训练后图像重建模块。
其中,原始图像样本中包括训练用户的生物特征。训练用户为原始图像样本中生物特征所属的目标对象。关于生物特征的介绍可以参见前述内容的介绍,此处不再赘述。原始图像样本的获得方式可以来自公开的数据集,也可以来自真实场景下采集到的包括训练用户的生物特征的图像样本,还可以是其他的获得方式,本说明书对此不作具体限制。
训练前图像压缩模块的网络结构可以是Resnet,比如Resnet18,其被配置为对原始图像样本进行压缩,其输入为原始图像样本,输出为原始图像样本对应的压缩特征。将原始图像样本输入至训练前图像压缩模块之后,训练前图像压缩模块对原始图像样本进行压缩,以得到原始图像样本对应的训练压缩特征。
训练前图像重建模块的网络结构可以是Unet,被配置为对压缩特征进行图像重建,其输入为压缩特征,输出为重建的原始图像。将训练压缩特征输入至训练前图像重建模块之后,训练前图像重建模块对训练压缩特征进行图像重建,以得到重建图像样本。这里的重建图像样本即为重建后的原始图像样本。
在得到训练压缩特征和重建图像样本之后,便可以基于原始图像样本、重建图像样本和训练压缩特征,确定第三综合损失信息。第三综合损失信息的确定方式具体可以如下:比如,基于原始图像样本与重建图像样本之间的差异,确定图像重建损失信息,基于训练压缩特征中目标元素的数量和预设数量之间的差异,确定特征稀疏损失信息,基于原始图像样本与训练压缩特征之间的差异,确定样本关系约束函数;以及基于图像重建损失信息、特征稀疏损失信息和样本关系约束函数的累加和,得到第三综合损失信息。第三综合损失信息可以表示为如下公式(1):
Lossdata=Lossrecon+Losssparse+Lossrelation;(1)
式(1)中,Lossdata为第三综合损失信息,Lossrecon为图像重建损失信息,Losssparse为特征稀疏损失信息,Lossrelation为样本关系约束函数。
Lossrecon表征原始图像样本与重建图像样本之间的差异,可以基于原始图像样本与重建图像样本之间的欧式距离得到。Lossrecon旨在使得原始图像样本与重建图像样本之间的差异最小化,以使得训练后图像重建模块能够不失真地进行图像还原。
Losssparse表征训练压缩特征对应的向量中目标元素的个数。目标元素可以为非零元素或为零元素。训练压缩特征中非零元素或零元素的个数可以采用对训练压缩特征求L1范数或L2范数得到。Losssparse旨在限制压缩特征中非零元素或零元素的个数,当Losssparse最小化时,表明压缩特征中非零元素的个数较少或零元素的个数较多,便可以达到对压缩特征的体积进行约束的效果,进而达到降低数据传输量的效果。Losssparse最小化可以是基于迭代训练结果对Losssparse进行优化,当Losssparse在变小的过程中,稳定在一个数值附近而不再发生变化,则可以认为Losssparse达到最小化。
Lossrelation表征原始图像样本与训练压缩特征之间的差异,可以基于原始图像样本与训练压缩特征之间的余弦相似度确定。Lossrelation旨在使得原始图像样本与训练压缩特征之间的余弦相似度最大化,从而使得原始图像样本的余弦距离与训练压缩特征的余弦距离尽量一致。也就是说,原始图像样本与训练压缩特征的余弦夹角为0或接近于0(余弦值为1或趋近于1),从而实现使得原始图像样本与训练压缩特征之间的余弦相似度最大化。Lossrelation旨在减小压缩过程中数据失真的现象,尽可能实现无失真压缩。
当第三综合损失函数达到最小化或者迭代训练次数达到预设次数时,训练结束,便可以得到训练后图像压缩模块和训练后图像重建模块,并将训练后图像压缩模块输出至客户端,以及将训练后图像重建模块保存至服务端。或者,将训练后图像压缩模块和训练后图像重建模块均输出至服务端。在将训练后图像压缩模块和训练后图像重建模块均输出至服务端的情况下,当训练过程、图像压缩过程和图像重建过程在同一服务端执行时,则是将训练后图像压缩模块和训练后图像重建模块进行保存即可。而当训练过程与图像压缩过程、图像重建过程在不同的服务端执行时,则需要将训练后图像压缩模块和训练后图像重建模块输出至进行活体检测模型训练的服务端。
多个第一训练图像中每个第一训练图像还对应有伪标签。伪标签为表征第一训练图像是活体类别或攻击类别的非人工标注信息,可以通过非人工标注的方式对训练图像标注活体类别或攻击类别可以得到。非人工标注的方式可以为模型标注的方式或其他方式。伪标签能够节省人工标注多个第一训练样本的标签存在的耗时和成本较高等问题,帮助训练前活体检测模型从无人工标注的多个第一训练图像中进行简单且有效地半监督学习训练,得到适用于新场景下的活体检测模型。伪标签可以采用预训练源域模型对多个第一训练图像对应的活体分类进行预测得到。预训练源域模型可以利用具有人工标注的活体类别标签的多个第二训练图像训练得到。关于预训练源域模型的训练过程和使用过程将在下文详细介绍。
S120:基于多个第一训练图像及其对应的多个伪标签,以及第一综合损失信息对训练前活体检测模型进行活体分类的迭代训练。
其中,第一综合损失信息在训练中对迭代训练的训练结果进行信息最大化约束和/或伪标签中心约束。信息最大化约束包括基于多个第一训练图像的标注分布规律,对训练过程中多个第一训练图像对应的训练分布结果进行约束,使得训练分布结果趋近于标注分布规律;和/或基于对多个第一训练图像对应的多个活体分类预测概率进行最大化约束,使其趋近于预设置信度。伪标签中心约束是利用伪标签的特征中心与伪标签的特征之间的距离,约束伪标签的特征靠近伪标签的特征中心。下面将分别对信息最大化约束和伪标签中心约束进行详细介绍:
其中,多个第一训练图像对应有活体类别与攻击类别的标注分布规律。标注分布规律可以为多个第一训练图像中活体类别对应的第一训练图像的数量与攻击类别对应的第一训练图像的数量的比例,即多个第一训练图像中活体类别与攻击类别各自对应的第一训练图像的分布比例。分布比例可以是100:1、50:1或者其他分布比例,本说明书对此不作限制。
图4示出了根据本说明书的实施例提供的训练前活体检测模型的每次迭代训练的方法流程图。图4对应步骤S120。如图4所示,步骤S120中训练前活体检测模型的每次迭代训练,可以包括:
S121:将多个第一训练图像输入至训练前活体检测模型,确定多个第一训练图像对应的多个第一活体分类训练结果。
训练前活体检测模型可以包括训练前第一特征编码器和训练前第一活体分类器。训练前第一特征编码器被配置为对第一训练图像进行特征提取,其输入为第一训练图像,输出为第一训练图像对应的第一训练特征。训练前第一活体分类器被配置为基于训练前第一特征编码器提取的第一训练特征进行活体分类,其输入为第一训练特征,输出为第一训练图像对应的第一活体分类训练结果。第一活体分类训练结果表征第一训练图像是活体类别或攻击类别。将多个第一训练图像输入至训练前第一特征编码器,可以得到多个第一训练图像对应的多个第一训练特征,每个第一训练图像对应一个第一训练特征。将多个第一训练特征输入至训练前第一活体分类器,进一步可以得到多个第一训练图像对应的多个第一活体分类训练结果,每个第一训练图像对应一个第一活体分类训练结果。
S122:将多个第一训练图像在上一次迭代训练时的多个第一活体分类训练结果,确定为当前次迭代训练时多个第一训练图像对应的多个伪标签。
其中,在初次迭代训练时,多个第一训练图像对应的多个伪标签是基于预训练源域模型得到的。比如,将多个第一训练图像输入至预训练源域模型,得到初次迭代训练时的多个伪标签。之后,在第i次迭代训练时,都是以第i-1次迭代训练时多个第一活体分类训练结果作为第i次迭代训练时的多个伪标签,并基于第i次迭代训练时的多个第一活体分类训练结果与对应的第i次迭代训练时的多个伪标签之间的差异,确定第i次迭代训练时的第一活体分类损失信息。i为大于2的整数。
预训练源域模型是基于源域的多个第二训练图像和人工标注的表征第二训练图像是活体类别或攻击类别的真实标签进行迭代训练得到的,且用于在训练前活体检测模型的初次迭代训练时预测多个第一训练图像对应的多个伪标签的模型。伪标签是与第一训练图像的真实标签较为接近的标签,可以节省人工标注第一训练图像的真实标签的时间和成本。
需要说明的是,步骤S121和步骤S122在这里不限制先后执行顺序,可以是先执行步骤S121,再执行步骤S122,也可以是先执行步骤S122,再执行步骤S121,还可以是同时执行步骤S121和步骤S122。
S123:基于多个第一活体分类训练结果,确定多个第一训练图像对应的活体分类的训练分布结果。
每个第一活体分类训练结果表征当前次迭代训练中第一训练图像的活体分类是活体类别或攻击类别。多个第一活体分类训练结果对应有活体类别和攻击类别的分布情况。基于多个第一活体分类训练结果中活体类别和攻击类别的分布情况,便可以确定训练分布结果。比如,确定多个第一活体分类训练结果中活体类别的数量和攻击类别的数量,并基于活体类别的数量与攻击类别的数量的比值,确定训练分布结果。确定多个第一活体分类训练结果中活体类别的数量和攻击类别的数量,可以采用如下方式实现:比如,当第一活体分类训练结果表征第一训练图像对应的活体分类为活体类别,将该第一活体分类训练结果标识为“1”;当第一活体分类训练结果表征第一训练图像对应的活体分类为攻击类别,将该第一活体分类训练结果标识为“0”。通过分别统计“1”和“0”的数量,便可以得到多个第一活体分类训练结果中活体类别的数量和攻击类别的数量。应理解,这里将活体类别标识为“1”,和将攻击类别标识为“0”为示例性说明,本领域技术人员可以根据实际需求采用其他的标识方式。
S124:基于多个第一活体分类训练结果和多个伪标签,训练分布结果和标注分布规律确定第一综合损失信息,以对迭代训练的所述训练结果进行信息最大化约束。
其中,步骤S124的实现方式有多种,具体可以如下:
在一种可能的实现方式中,步骤S124可以采用如下方式实现:基于多个第一活体分类训练结果及对应的多个伪标签之间的差异,确定第一活体分类损失信息,基于训练分布结果和标注分布规律之间的差异,确定活体分类的分布损失信息,并将活体分类的分布损失信息确定为信息最大化约束损失信息,以及基于第一活体分类损失信息与信息最大化约束损失信息的累加和,得到第一综合损失信息。第一综合损失信息可以表示为如下公式(2):
Loss_data’=Loss_cls+Loss_im1;(2)
式(2)中,Loss_data’为第一综合损失信息;Loss_cls为第一活体分类损失信息;Loss_im1为活体分类的分布损失信息。
由于预训练源域模型的预测精度不会达到100%正确,即预训练源域模型针对第一训练图像预测的伪标签的准确度无法达到100%。因此,在第一综合损失信息中使用Loss_im1约束训练分布结果趋近于标注分布规律。通过约束训练分布结果趋近于标注分布规律,能够提高迭代训练时伪标签的预测精度,使得伪标签与第一训练图像的真实标签相同或尽量接近。
Loss_cls用于最小化第一活体分类训练结果及对应的伪标签之间的差异,旨在使得训练完成的目标活体检测模型具有良好的活体检测性能,即提高训练完成的目标活体检测模型活体检测准确度。
第一综合损失信息中采用Loss_im1和Loss_cls结合的方式,能够提高伪标签的预测精度。并且将伪标签作为监督信号指导活体分类的迭代训练时,能够更好地指导活体分类的迭代训练,进而提高活体检测的精度。
在另一种可能的实现方式中,第一活体分类训练结果包括活体分类的预测概率。活体分类包括活体类别和/或攻击类别。步骤S124还可以采用如下方式实现:基于多个第一活体分类训练结果及对应的多个伪标签之间的差异,确定第一活体分类损失信息;基于多个第一训练图像对应的多个活体分类预测概率,确定多个第一活体分类训练结果对应的多个预测置信度;基于训练分布结果和标注分布规律,以及多个预测置信度,确定信息最大化约束损失信息;以及基于第一活体分类损失信息与信息最大化约束损失信息的累加和,得到第一综合损失信息。
在第一轮迭代训练时,是基于多个第一活体分类训练结果与基于预训练源域模型确定的多个伪标签之间的差异,确定第一活体分类损失信息。在第i次迭代训练时,是基于多个第一活体分类训练结果与第i-1次迭代训练时的多个第一活体分类训练结果之间的差异,确定第一活体分类损失信息。
将多个第一训练图像输入至训练前活体检测模型中,可以得到多个第一训练图像对应的活体分类的预测概率。多个第一训练图像对应的活体分类的预测概率表征多个第一训练图像对应的活体分类为活体类别和/或攻击类别的概率,可以将多个第一训练图像对应的多个活体分类的预测概率确定为多个预测置信度。
其中,基于训练分布结果和标注分布规律,以及多个预测置信度,确定信息最大化约束损失信息,包括:基于训练分布结果和标注分布规律之间的差异,确定活体分类的分布损失信息,基于多个预测置信度,确定多个伪标签对应的预测损失信息,以及基于活体分类的分布损失信息与预测损失信息的累加和,得到信息最大化约束损失信息。
在基于活体分类的分布损失信息与预测损失信息的累加和,得到信息最大化约束损失信息后,便可以基于第一活体分类损失信息与信息最大化约束损失信息的累加和,得到第一综合损失信息。第一综合损失信息还可以表示为如下公式(3):
Loss_data’=Loss_cls+Loss_im1+Loss_im2;(3)
式(3)中,Loss_data’为第一综合损失信息;Loss_cls为第一活体分类损失信息;Loss_im1为活体分类的分布损失信息;Loss_im2为预测损失信息;Loss_im1+Loss_im2可以理解为是信息最大化约束损失信息。
关于Loss_cls和Loss_im1可以参见公式(2)对应的内容介绍,此处不再赘述。Loss_im1用于约束训练分布结果趋近于标注分布规律。Loss_im2旨在约束多个第一活体分类训练结果的置信度趋近于预设置信度。比如,预设置信度可以是1,当第一活体分类训练结果的置信度维持在接近于1的一个稳定状态时,则认为多个第一活体分类训练结果的置信度趋近于预设置信度。这里,当训练前活体检测模型对输出的活体类别拥有很大的置信度,而其它的类别(比如攻击类别)置信度很小,则表明训练前活体检测模型对活体分类的预测结果很有信心。因此,通过预测损失信息的约束,能够提高训练前活体检测模型对多个第一活体分类结果以及作为伪标签的第一活体分类结果的预测精度。
伪标签对应的预测损失信息的作用还在于:由于活体分类的分布损失信息的约束可能存在误差。比如,当针对其中两个第一训练图像的分类混判,即第一训练图像A的真实标签为活体类别,第一训练图像B的真实标签为攻击类别,而预测的第一训练图像A的伪标签为攻击类别,第一训练图像B的伪标签为活体类别,同样能够达到约束训练分布结果趋近于标注分布规律的效果,但实际上训练得到的活体检测模型的预测精度并不高。因此,通过预测损失信息约束多个第一活体分类训练结果的置信度趋近于预设置信度,能够减少混判的现象,进一步提高训练前活体检测模型的活体检测精度。
如步骤S120中介绍,第一综合损失信息还可以在训练前活体检测模型的训练中对迭代训练的训练结果进行伪标签中心约束。下面对伪标签中心约束进行详细介绍:
第一综合损失信息还可以包括伪标签中心约束损失信息。每次迭代训练时,伪标签中心约束损失信息约束多个第一训练特征中M个活体类别对应的M个第一训练特征靠近活体中心特征,以及约束N个攻击类别对应的N个第一训练特征靠近攻击中心特征。M和N均为大于0,且小于或等于伪标签的总数量的整数。
其中,活体中心特征为基于上一次迭代训练得到的多个伪标签中,表征活体类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。具体的,在训练前活体检测模型的初次迭代训练时,活体中心特征是基于多个第一训练图像输入至预训练源域模型得到的多个伪标签中,表征活体类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。在训练前活体检测模型的第i次迭代训练时,活体中心特征是基于多个第一训练图像在第i-1次迭代训练时得到的多个第一活体分类训练结果中,表征活体类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。
攻击中心特征为基于上一次迭代训练得到的多个伪标签中,表征攻击类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。具体的,在训练前活体检测模型的初次迭代训练时,攻击中心特征是基于多个第一训练图像输入至预训练源域模型得到的多个伪标签中,N个攻击类别对应的N个第一训练特征的特征平均值确定的。在训练前活体检测模型的第i次迭代训练时,攻击中心特征是基于多个第一训练图像在第i-1次迭代训练时得到的多个第一活体分类训练结果中,N个活体类别对应的N个第一训练特征的特征平均值得到的。
在确定活体中心特征和攻击中心特征之后,便可以基于活体中心特征和攻击中心特征确定伪标签中心约束信息。其中,伪标签中心约束损失信息可以采用如下方法步骤确定:基于多个第一训练特征中M个活体类别对应的M个第一训练特征与M个第一训练特征对应的活体中心特征之间的距离,以及N个攻击类别对应的N个第一训练特征与N个第一训练特征对应的攻击中心特征之间的距离,得到伪标签中心约束损失信息。
在得到伪标签中心约束损失信息后,便可以基于第一活体分类损失信息、信息最大化约束损失信息和伪标签中心约束损失信息确定第一综合损失函数。当第一综合损失信息在训练中对迭代训练的训练结果进行信息最大化约束或伪标签中心约束时,第一综合损失信息可以包括第一活体分类损失信息和信息最大化约束损失信息,或者包括第一活体分类损失信息和伪标签中心约束损失信息。当第一综合损失信息在训练中对迭代训练的训练结果进行信息最大化约束和或伪标签中心约束时,第一综合损失信息还可以表示为如下公式(4):
Loss_data’=Loss_cls+Loss_im1+Loss_im2+Loss_center;(4)
式(4)中,Loss_data’为第一综合损失信息;Loss_cls为第一活体分类损失信息;Loss_im1为活体分类的分布损失信息;Loss_im2为伪标签预测损失信息;Loss_center为伪标签中心约束损失信息。
关于Loss_cls、Loss_im1和Loss_im2可以参见前述内容公式(3)部分的介绍,此处不再赘述。
Loss_center能够滤除噪声样本对分类的影响。以活体类别为例,活体类别所对应的若干第一训练图像可以视为一个簇。该簇具有簇中心,当一些第一训练图像远离簇中心时,表明针对该些第一训练图像所提取的第一训练特征的准确度较低。因此,通过Loss_center约束活体类别对应的第一训练图像的特征靠近簇中心,能够进一步提高预训练源域模型针对伪标签的预测准确度。
当第一综合损失函数达到最小化或者迭代训练次数达到预设次数时,训练结束,便可以得到目标活体检测模型。
如上所述,预训练源域模型能够产生多个第一训练图像在训练前活体检测模型的初次迭代训练时的伪标签。而在应用预训练源域模型产生训练前活体检测模型的初次迭代训练时的伪标签之前,需要训练得到预训练源域模型。下面将介绍预训练源域模型的训练过程:
预训练源域模型采用如下方法步骤训练得到:获得源域的多个第二训练图像及其对应的真实标签,基于多个第二训练图像及对应的真实标签,以及第二综合损失信息对训练前源域模型进行活体分类的迭代训练,得到预训练源域模型,第二综合损失信息在训练中对迭代训练的训练结果进行域无关约束。
源域的多个第二训练图像中每个第二训练图像包括训练用户的生物特征,关于生物特征的介绍具体可参见前述内容的介绍,此处不再赘述。真实标签为表征第二训练图像是活体类别或攻击类别的人工标注信息。
其中,每个第二训练图像包括用户的生物特征,关于生物特征的具体介绍可参见前述内容的介绍,此处不再赘述。源域的第二训练图像对应的真实标签,是通过人工标注的表征第二训练图像是活体类别或是攻击类别的活体分类的标注信息。
多个第二训练图像可以采用如下方式获得:比如,采集训练用户授权的多个场景下的原始图像,和/或收集多个场景对应的多个公开学术数据集,每个公开学术数据集对应一种场景,且包括多个场景下用户的原始图像。每个公开学术数据集可以基于不同的场景进行域类别的标注。值得注意的是,所采集到的原始图像和多个公开学术数据集中均包括训练用户的生物特征。针对获得的多个原始图像,可以将其标注为源域,并基于不同的场景将其标注为不同的域,以及基于活体/攻击的类别对其标注活体分类标签。多个第二训练图像中每个第二训练图像对应有源域标签、域类别标签和活体分类标签。
在获得第二训练图像之后,便可以基于第二训练图像及对应的活体分类标签对训练前源域模型进行训练了。
图5示出了根据本说明书的实施例提供的训练前源域模型的网络结构的示意图。如图5所示,训练前源域模型包括训练前第二特征编码器、训练前第二活体分类器和训练前域分类器;训练前第二特征编码器可以是Resnet网络,被配置为对第二训练图像进行特征提取。训练前第二活体分类器可以是全连接层,被配置为基于训练前第二特征编码器所提取的第二训练图像的第二训练特征进行活体分类,从而输出第二活体分类训练结果。训练前域分类器可以是全连接层,被配置为基于训练前第二特征编码器所提取的第二训练图像的第二训练特征进行域分类,从而输出域分类结果,域分类结果表征第二训练图像来自于哪个域(或者域类别是什么)。
在将多个第二训练图像输入至训练前第二特征编码器,便可以得到多个第二训练图像对应的多个第二训练特征。之后,再将多个第二训练特征输入至训练前第二活体分类器,得到多个第二训练特征对应的多个第二活体分类训练结果,并将多个第二训练特征输入至训练前域分类器,得到多个第二训练特征对应的多个域分类结果,以及基于多个第二活体分类训练结果及对应的真实标签之间的差异,多个域分类结果及对应的标注域类别之间的差异,确定第二综合损失信息,以对迭代训练的训练结果进行域无关约束。
其中,基于多个第二训练活体分类结果及对应的活体类别标签之间的差异,域分类结果及对应的标注域类别之间的差异,确定第二综合损失信息,包括:基于多个第二活体分类训练结果及对应的真实标签之间的差异,确定第二活体分类损失信息;基于多个域分类结果及对应的标注域类别之间的差异,确定域分类损失信息,并对域分类损失信息的梯度进行梯度反转,得到域无关分类损失信息,以及基于第二活体分类损失信息与域无关分类损失信息的累加和,得到第二综合损失信息。第二综合损失信息可以表示为如下公式(5):
Loss_src=Loss_cls’+Loss_domain;(5)
式(4)中,Loss_src为第二综合损失信息;Loss_cls’为第二活体分类损失信息;Loss_domain为域无关分类损失信息。
在得到第二综合损失信息之后,便可以在反向传播过程中,基于第二综合损失函数对训练前第二特征编码器的网络参数进行更新。下面结合附图对反向传播过程进行详细介绍:
继续参阅图5,可以看到,训练前第二特征编码器与训练前域分类器之间通过梯度反转层(Gradient reversal layer,GRL)连接。GRL可以是一个对角矩阵。在前向传播过程中,GRL的作用为实现恒等变换,即GRL对输入的第二训练特征不作处理,直接输出第二训练特征。而在反向传播过程中,通常情况下,是将损失(预测值和真实值的差距,即误差)逐层向后传递,然后每层网络都会根据传回来的损失计算梯度,进而更新本层网络的参数。在加入GRL之后,GRL会将传到本层的误差乘以一个负数,比如-λ,将域分类损失的从域相关梯度反转为域无关梯度,从而使得训练前第二特征编码器与训练前域分类器的训练目标相反。在未接入GRL之前,训练前域分类器的优化目标是尽可能区分出训练前特征编码器所提取出来的第二训练特征是来自哪个域。训练前第二特征编码器的优化目标是尽可能生成易于区分第二训练特征是来自哪个域的特征,训练前第二特征编码器与训练前域分类器的优化目标一致。而在接入GRL之后,训练前第二特征编码器的优化目标就会与域分类器的优化目标相反,训练前第二特征编码器的优化目标需要满足如下两个条件:(1)生成能够进行正确地活体分类的第二训练特征;(2)使训练前特征编码器逐渐弱化对域信息的关注,生成使得域分类器尽可能无法判别出是来自哪个域的第二训练特征。
上述训练过程在第二综合损失信息最小化或训练次数达到预设次数时,训练结束,即可得到预训练源域模型。该预训练源域模型为域无关约束的模型,即对域类别信息不敏感,对于所输入的训练图像是来自于哪个域不敏感,仅关注活体分类的准确度。这样,将预训练源域模型应用于目标域时,就能够降低域信息对预训练源域模型的预测所产生的干扰,提高所预测的目标域的第二训练图像的伪标签的准确度,进而提高预训练源域模型的跨域自适应性。
S130:输出训练完成后得到的目标活体检测模型。
在完成训练前活体检测模型的训练,得到目标活体检测模型之后,便可以将目标活体检测模型输出至客户端,并在客户端执行活体检测方法的步骤。活体检测方法的步骤包括:获得用户的生物特征的原始图像后,将原始图像输入至目标活体检测模型,得到活体检测结果。
其中,将原始图像输入至目标活体检测模型,得到活体检测结果,可以包括:将原始图像输入至目标活体检测模型,得到活体攻击概率P,基于活体攻击概率P,确定活体检测结果。比如,若活体攻击概率P大于设定的阈值T,识别该原始图像为攻击类别;若活体攻击概率P小于设定的阈值T,识别该原始图像为活体类别。
需要说明的是,针对活体攻击概率P等于设定的阈值T的情况,可以识别该原始图像为活体类别或攻击类别,本说明书对此不作限制。
本方案为了提高源域模型在目标域的跨域自适应性,提出了基于信息最大化的无标签活体跨域自适应方法。该跨域自适应方法的整体流程示意图可以如图6所示,主要包括四个部分:源域数据采集和模型训练、目标域数据采集、基于信息最大化和伪标签生成的跨域自适应和活体检测。每个部分的具体介绍如下:
(1)源域数据采集和模型训练:首先进行源域数据的数据采集、标注以及源域模型的训练工作。
(2)目标域数据采集:在客户端进行目标域数据的数据采集(兼顾隐私保护问题)。
(3)基于信息最大化和伪标签生成的跨域自适应:通过。信息最大化约束以及伪标签生成技术,进行跨域自适应的模型训练。
(4)活体检测:将训练得到的模型部署到客户端进行活体检测。
综上所述,本说明书提供的活体检测模型的训练方法、活体检测方法及系统,在获得目标域的多个第一训练图像及其对应的多个伪标签后,基于多个第一训练图像及其对应的伪标签,以及第一综合损失信息对训练前活体检测模型进行活体分类的迭代训练,并使用第一综合损失信息在训练过程中对迭代训练的训练结果进行信息最大化约束和/或伪标签中心约束,从而得到训练完成后的目标活体检测模型并输出。该方案中,由于第一综合损失信息能够对训练前活体检测模型在迭代训练过程中的训练结果进行信息最大化约束和/或伪标签中心约束,因此,能够提高伪标签的预测准确度,进而作为监督信号指导训练前活体检测模型的训练过程,提高训练得到的目标检测模型的活体检测性能,提升活体跨域自适应的性能和泛化能力。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行页面处理的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测模型的训练方法、活体检测方法的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备500上运行时,所述程序代码用于使计算设备500执行本说明书描述的活体检测模型的训练方法、活体检测方法的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备500上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备500上执行、部分地在计算设备500上执行、作为一个独立的软件包执行、部分在计算设备500上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章、书籍、说明书、出版物、文件、物品等,除了与其相关的任何历史起诉文件、可能与本文件不一致或相冲突的任何相同的、或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的历史起诉文件,均可以通过引用结合于此,并用于现在或以后与本文件相关联的所有目的。此外,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (25)
1.一种活体检测模型的训练方法,包括:
获得目标域的多个第一训练图像及其对应的多个伪标签,每个所述第一训练图像包括用户的生物特征,所述伪标签为表征所述第一训练图像是活体类别或攻击类别的非人工标注信息;
基于所述多个第一训练图像及其对应的多个伪标签,以及第一综合损失信息对训练前活体检测模型进行活体分类的迭代训练,所述第一综合损失信息在所述训练中对所述迭代训练的训练结果进行信息最大化约束和/或伪标签中心约束;以及
输出训练完成后得到的目标活体检测模型。
2.根据权利要求1所述的方法,其中,所述多个第一训练图像对应有所述活体类别与所述攻击类别的标注分布规律;以及
每次所述迭代训练包括:
将所述多个第一训练图像输入至所述训练前活体检测模型,确定所述多个第一训练图像对应的多个第一活体分类训练结果;
将所述多个第一训练图像在上一次迭代训练时的多个第一活体分类训练结果,确定为当前次迭代训练时所述多个第一训练图像对应的多个伪标签;
基于所述多个第一活体分类训练结果,确定所述多个第一训练图像对应的所述活体分类的训练分布结果,以及
基于多个第一活体分类训练结果和所述多个伪标签,以及所述训练分布结果和所述标注分布规律确定所述第一综合损失信息,以对所述迭代训练的所述训练结果进行信息最大化约束。
3.根据权利要求2所述的方法,其中,所述训练前活体检测模型包括训练前第一特征编码器和训练前第一活体分类器;以及
所述将所述多个第一训练图像输入至所述训练前活体检测模型,确定所述多个第一训练图像的多个第一活体分类训练结果,包括:
将所述多个第一训练图像输入至所述训练前第一特征编码器,得到所述多个第一训练图像对应的多个第一训练特征;以及
将所述多个第一训练特征输入至所述训练前第一活体分类器,得到所述多个第一训练图像对应的多个第一活体分类训练结果。
4.根据权利要求2所述的方法,其中,所述基于所述多个第一活体分类训练结果,确定所述多个第一训练图像对应的所述活体分类的训练分布结果,包括:
基于所述多个第一活体分类训练结果中活体类别和攻击类别的分布情况,确定所述训练分布结果。
5.根据权利要求2所述的方法,其中,所述基于多个第一活体分类训练结果和所述多个伪标签,以及所述训练分布结果和所述标注分布规律确定所述第一综合损失信息,包括:
基于所述多个第一活体分类训练结果及对应的所述多个伪标签之间的差异,确定第一活体分类损失信息;
基于所述训练分布结果和所述标注分布规律之间的差异,确定活体分类的分布损失信息,并将所述活体分类的分布损失信息确定为信息最大化约束损失信息;以及
基于所述第一活体分类损失信息与所述信息最大化约束损失信息的累加和,得到所述第一综合损失信息。
6.根据权利要求5所述的方法,其中,所述活体分类的分布损失信息约束所述训练分布结果趋近于所述标注分布规律。
7.根据权利要求2所述的方法,其中,所述第一活体分类训练结果包括所述活体分类的预测概率;以及
所述基于多个第一活体分类训练结果和所述多个伪标签,以及所述训练分布结果和所述标注分布规律确定所述第一综合损失信息,包括:
基于所述多个第一活体分类训练结果及对应的所述多个伪标签之间的差异,确定第一活体分类损失信息;
基于所述多个第一训练图像对应的多个活体分类预测概率,确定所述多个第一活体分类训练结果对应的多个预测置信度;
基于所述训练分布结果和所述标注分布规律,以及所述多个预测置信度,
确定信息最大化约束损失信息;以及
基于所述第一活体分类损失信息与所述信息最大化约束损失信息的累加和,
得到所述第一综合损失信息。
8.根据权利要求7所述的方法,其中,所述基于所述训练分布结果和所述标注分布规律,以及所述多个预测置信度,确定信息最大化约束损失信息,包括:
基于所述训练分布结果和所述标注分布规律之间的差异,确定活体分类的分布损失信息;
基于所述多个预测置信度,确定所述多个伪标签对应的预测损失信息;以及
基于所述活体分类的分布损失信息与所述预测损失信息的累加和,得到所述信息最大化约束损失信息。
9.根据权利要求8所述的方法,其中,所述活体分类的分布损失信息约束所述训练分布结果趋近于所述标注分布规律;
所述预测损失信息约束所述多个第一活体分类训练结果的置信度趋近于预设置信度。
10.根据权利要求3所述的方法,其中,所述第一综合损失信息还包括伪标签中心约束损失信息;以及
每次迭代训练时,所述伪标签中心约束损失信息约束所述多个第一训练特征中M个活体类别对应的M个第一训练特征靠近活体中心特征,以及N个攻击类别对应的N个第一训练特征靠近攻击中心特征;
所述M和所述N均为大于0,且小于或等于所述伪标签的数量的整数。
11.根据权利要求10所述的方法,其中,所述活体中心特征为基于上一次迭代训练得到的所述多个伪标签中,表征活体类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。
12.根据权利要求10所述的方法,其中,所述攻击中心特征为基于上一次迭代训练得到的所述多个伪标签中,表征攻击类别的至少一个伪标签对应的至少一个第一训练特征的特征平均值确定的。
13.根据权利要求10所述的方法,其中,所述伪标签中心约束损失信息采用如下方法步骤确定:
基于所述多个第一训练特征中M个活体类别对应的M个第一训练特征与所述活体中心特征之间的距离,以及N个攻击类别对应的N个第一训练特征与所述N个第一训练特征对应的攻击中心特征之间的距离,得到所述伪标签中心约束损失信息。
14.根据权利要求2所述的方法,其中,初次迭代训练时,所述多个伪标签采用如下方法步骤获得:
将所述多个第一训练图像输入至预训练源域模型,得到所述初次迭代训练时的多个伪标签。
15.根据权利要求14所述的方法,其中,所述预训练源域模型采用如下方法步骤训练得到:
获得源域的多个第二训练图像及其对应的真实标签,每个所述第二训练图像包括用户的生物特征,所述真实标签为表征所述第二训练图像是活体类别或攻击类别的人工标注信息;以及
基于所述多个第二训练图像及对应的所述真实标签,以及第二综合损失信息对训练前源域模型进行活体分类的迭代训练,得到所述预训练源域模型,所述第二综合损失信息在所述训练中对所述迭代训练的训练结果进行域无关约束。
16.根据权利要求15所述的方法,其中,所述训练前源域模型包括训练前第二特征编码器、训练前第二活体分类器和训练前域分类器;以及
每次所述迭代训练包括:
将所述多个第二训练图像输入至所述训练前第二特征编码器,得到所述多个第二训练图像对应的多个第二训练特征;
将所述多个第二训练特征输入至所述训练前第二活体分类器,得到所述多个第二训练特征对应的多个第二活体分类训练结果;
将所述多个第二训练特征输入至所述训练前域分类器,得到所述多个第二训练特征对应的多个域分类结果;以及
基于所述多个第二活体分类训练结果及对应的真实标签之间的差异,所述多个域分类结果及对应的标注域类别之间的差异,确定第二综合损失信息,以对所述迭代训练的所述训练结果进行域无关约束。
17.根据权利要求16所述的方法,其中,所述基于所述多个第二训练活体分类结果及对应的活体类别标签之间的差异,所述域分类结果及对应的标注域类别之间的差异,确定第二综合损失信息,包括:
基于所述多个第二活体分类训练结果及对应的真实标签之间的差异,确定第二活体分类损失信息;
基于所述多个域分类结果及对应的标注域类别之间的差异,确定域相关分类损失信息,并对所述域相关分类损失信息进行梯度反转,得到域无关分类损失信息;以及
基于所述第二活体分类损失信息与所述域无关分类损失信息的累加和,得到所述第二综合损失信息。
18.根据权利要求1所述的方法,其中,所述获得多个第一训练图像,包括:
获得目标域的多个原始图像对应的多个压缩特征;
将所述多个压缩特征输入至训练后图像重建模块,得到所述多个压缩特征对应的多个重建图像;以及
基于所述多个重建图像,得到所述多个第一训练图像。
19.根据权利要求18所述的方法,其中,所述获得目标域的多个原始图像对应的多个压缩特征,包括:
从客户端接收目标域的多个原始图像对应的多个压缩特征,所述多个压缩特征为所述客户端通过训练后图像压缩模块对所述多个原始图像进行压缩得到的。
20.根据权利要求18所述的方法,其中,所述获得目标域的多个原始图像对应的多个压缩特征,包括:
从客户端接收目标域的多个原始图像对应的目标压缩特征,所述目标压缩特征为所述客户端通过训练后图像压缩模块对所述多个原始图像进行压缩,得到中间压缩特征,并采用压缩算法对所述中间压缩特征进行压缩得到的;
采用解压缩算法对所述目标压缩特征进行解压缩,得到所述多个压缩特征。
21.根据权利要求19或20所述的方法,其中,所述训练后图像重建模块和所述训练后图像压缩模块采用如下方法步骤训练得到:
获得原始图像样本;
将所述原始图像样本输入至训练前图像压缩模块,得到所述原始图像样本对应的训练压缩特征;
将所述训练压缩特征输入至训练前图像重建模块,得到所述训练压缩特征对应的重建图像样本;以及
基于所述原始图像样本、所述重建图像样本和所述训练压缩特征,确定第三综合损失信息,并基于所述第三综合损失信息对所述训练前图像压缩模块和所述训练前图像重建模块进行迭代训练,得到所述训练后图像压缩模块和所述训练后图像重建模块。
22.根据权利要求21所述的方法,其中,所述基于所述原始图像样本、所述重建图像样本和所述训练压缩特征,确定第三综合损失信息,包括:
基于所述原始图像样本与所述重建图像样本之间的差异,确定图像重建损失信息;
基于所述训练压缩特征中目标元素的数量和预设数量之间的差异,确定特征稀疏损失信息;
基于所述原始图像样本与所述训练压缩特征之间的差异,确定样本关系约束信息;以及
基于所述图像重建损失信息、所述特征稀疏损失信息和所述样本关系约束信息的累加和,得到所述第三综合损失信息。
23.一种活体检测模型的训练系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行所述活体检测模型的训练;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-22任一项所述的方法。
24.一种活体检测方法,包括:
获得用户的生物特征的原始图像;
将所述原始图像输入至目标活体检测模型,得到活体检测结果,所述目标活体检测模型为采用如权利要求1-22中任一项方法训练得到的模型。
25.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求24所述的活体检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310096975.8A CN115953849A (zh) | 2023-01-19 | 2023-01-19 | 活体检测模型的训练方法、活体检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310096975.8A CN115953849A (zh) | 2023-01-19 | 2023-01-19 | 活体检测模型的训练方法、活体检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115953849A true CN115953849A (zh) | 2023-04-11 |
Family
ID=87287695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310096975.8A Pending CN115953849A (zh) | 2023-01-19 | 2023-01-19 | 活体检测模型的训练方法、活体检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115953849A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118053047A (zh) * | 2024-04-11 | 2024-05-17 | 浙江公路水运工程咨询集团有限公司 | 基于伪标签的无监督重构网络异常检测方法及系统 |
-
2023
- 2023-01-19 CN CN202310096975.8A patent/CN115953849A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118053047A (zh) * | 2024-04-11 | 2024-05-17 | 浙江公路水运工程咨询集团有限公司 | 基于伪标签的无监督重构网络异常检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yinka-Banjo et al. | A review of generative adversarial networks and its application in cybersecurity | |
US10474929B2 (en) | Cyclic generative adversarial network for unsupervised cross-domain image generation | |
US10691909B2 (en) | User authentication method using fingerprint image and method of generating coded model for user authentication | |
US11836249B2 (en) | System and method for counteracting adversarial attacks | |
US20230021661A1 (en) | Forgery detection of face image | |
Walia et al. | Secure multimodal biometric system based on diffused graphs and optimal score fusion | |
US20210150240A1 (en) | Face spoofing detection using a physical-cue-guided multi-source multi-channel framework | |
CN112052830B (zh) | 人脸检测的方法、装置和计算机存储介质 | |
EP4320606A1 (en) | Personalized biometric anti-spoofing protection using machine learning and enrollment data | |
CN115953849A (zh) | 活体检测模型的训练方法、活体检测方法及系统 | |
Moradi et al. | A real‐time biometric encryption scheme based on fuzzy logic for IoT | |
KR102505303B1 (ko) | 이미지 분류 방법 및 장치 | |
Kopčan et al. | Anomaly detection using Autoencoders and Deep Convolution Generative Adversarial Networks | |
Zanddizari et al. | Generating black-box adversarial examples in sparse domain | |
CN116152938A (zh) | 身份识别模型训练和电子资源转移方法、装置及设备 | |
CN115880530A (zh) | 对抗攻击的检测方法和系统 | |
CN116071804A (zh) | 人脸识别的方法、装置和电子设备 | |
CN113239852B (zh) | 一种基于隐私保护的隐私图像处理方法、装置及设备 | |
Majeed et al. | A novel method to enhance color spatial feature extraction using evolutionary time-frequency decomposition for presentation-attack detection | |
CN114913404A (zh) | 模型训练、人脸图像活体检测方法、电子设备及存储介质 | |
CN114677611A (zh) | 数据识别方法、存储介质及设备 | |
Malik et al. | A Novel Deep Learning-Based Method for Real-Time Face Spoof Detection | |
CN116721315B (zh) | 活体检测模型的训练方法、装置、介质及电子设备 | |
Saxena et al. | Semantic image completion and enhancement using gans | |
KUMAR | A COMPARATIVE ANALYSIS ON FACE ANTI SPOOFING DETECTION APPROACHES |
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 |