CN116168453A - 活体检测方法及系统 - Google Patents
活体检测方法及系统 Download PDFInfo
- Publication number
- CN116168453A CN116168453A CN202310097341.4A CN202310097341A CN116168453A CN 116168453 A CN116168453 A CN 116168453A CN 202310097341 A CN202310097341 A CN 202310097341A CN 116168453 A CN116168453 A CN 116168453A
- Authority
- CN
- China
- Prior art keywords
- living body
- training
- network
- model
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/40—Spoof detection, e.g. liveness detection
- G06V40/45—Detection of the body part being alive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/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/778—Active pattern-learning, e.g. online learning of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本说明书提供一种活体检测方法及系统,将获得原始图像输入至活体检测模型,得到活体检测结果。其中,活体检测模型的参数包括第一参数和第二参数,第一参数包括基于源域的第一训练图像进行预训练得到的母模型在迁移至目标域时,其中的多个网络层对应的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数;第二参数包括母模型在迁移至目标域时,至少一个网络参数之外的其余网络参数经过目标域的第二训练图像进行更新训练后的参数。该方案能够对母模型的隐私保护能力进行留存,提高目标域的活体检测模型抵抗黑盒蒸馏攻击的能力。
Description
技术领域
本说明书涉及人工智能技术领域,尤其涉及一种活体检测方法及系统。
背景技术
人脸识别在刷脸支付、刷脸考勤和刷脸进站等诸多场景中被广泛应用,为人们的生活和生产带来了很大便利性。然而,一些攻击者会使用照片、打印纸张和面具等方式伪造人脸图像,从而尝试通过人脸识别,进而对用户的财产和信息安全造成损害。因此,在人脸识别前,有必要进行活体检测。
目前,可以采用深度学习的方式在源域训练得到活体检测模型,并将其迁移至目标域进行跨域自适应调整。跨域自适应的方式可以采用将源域数据和目标域数据在特征维度的分布进行对齐,或者通过一些损失函数设计和标签预测技巧将跨域自适应问题转化为目标域的分类问题来实现。但是,这些跨域自适应的方式均为关注如何提升模型的跨域性能,并没有考虑如何提升目标域模型的隐私保护能力,即目标域模型的抗攻击能力。
因此,需要提供一种既能够提升目标域模型的跨域性能,又能够提升其抗攻击能力的方式。
发明内容
本说明书提供一种活体检测方法及系统,不仅能够提升目标域模型的跨域性能,还能够提升其抗攻击能力。
第一方面,本说明书提供一种活体检测方法,包括:获得目标域的原始图像,所述原始图像包括用户的生物特征;以及将所述原始图像输入至活体检测模型,得到活体检测结果,其中,所述活体检测模型的参数包括第一参数和第二参数,所述第一参数包括基于源域的第一训练图像进行预训练得到的母模型在迁移至所述目标域时,其中的多个网络层对应的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数;所述第二参数包括所述母模型在迁移至所述目标域时,所述至少一个网络参数之外的其余网络参数经过所述目标域的第二训练图像进行更新训练后的参数。
在一些实施例中,所述活体检测模型采用如下方法步骤训练得到:获得所述第二训练图像和第i-1轮更新的所述母模型对应的多个网络参数,所述i为大于1的整数;将所述第二训练图像输入至所述第i-1轮更新的所述母模型,得到所述第二训练图像对应的第一活体分类训练结果;将所述多个网络参数输入至第i轮更新的预训练元网络中,得到所述多个网络参数对应的多个抗攻击能力;以及基于所述第一活体分类训练结果及对应的标注活体分类,以及所述多个抗攻击能力,确定第一综合损失信息,并基于所述第一综合损失对所述第i-1轮更新的所述母模型和所述第i轮更新的预训练元网络进行更新,直至训练结束,将训练结束时的母模型确定为所述活体检测模型。
在一些实施例中,所述第i轮更新的预训练元网络采用如下方法步骤得到:在所述多个网络参数中选取预设数量的网络参数,所述预设数量的网络参数中每个网络参数对应有标注抗攻击能力;将所述预设数量的网络参数输入至第i-1轮更新的元网络中,得到所述预设数量的网络参数对应的预设数量的训练抗攻击能力;以及基于所述预设数量的所述训练抗攻击能力及对应的所述标注抗攻击能力之间的差异,确定抗攻击损失信息,并基于所述抗攻击损失信息更新所述第i-1轮更新的所述元网络的网络参数,得到所述第i轮更新的所述预训练元网络。
在一些实施例中,所述标注抗攻击能力采用如下方法步骤确定:将所述多个网络参数中预设数量的网络参数置为0,得到多个处理后网络参数,并将所述多个处理后网络参数复制至第i-1轮更新的学生网络,得到第i轮更新的目标学生网络;将所述第二训练图像输入至所述目标学生网络,得到所述第二训练图像对应的第二活体分类训练结果;基于所述第二活体分类训练结果及对应的标注活体分类,确定所述目标学生网络的活体分类性能指标;以及基于所述第i-1轮更新的所述母模型的活体分类性能指标与所述目标学生网络的活体分类性能指标,确定所述预设数量的网络参数中每个网络参数对应的标注抗攻击能力。
在一些实施例中,所述基于所述第i-1轮更新训练的所述母模型的活体分类性能指标与所述目标学生网络的活体分类性能指标,确定所述预设数量的网络参数对应的标注抗攻击能力,包括:基于所述第i-1轮更新训练的所述母模型的活体分类性能指标与所述目标学生网络的活体分类性能指标,执行第一操作或第二操作,其中所述第一操作包括:所述第i-1轮更新训练的所述母模型的活体分类性能指标大于所述目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,确定所述预设数量的网络参数对应的标注抗攻击能力为第一抗攻击能力,所述第一抗攻击能力满足所述预设要求;所述第二操作包括:所述第i-1轮更新训练的所述母模型的活体分类性能指标小于所述目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,确定所述预设数量的网络参数对应的标注抗攻击能力为第二抗攻击能力,所述第二抗攻击能力不满足所述预设要求。
在一些实施例中,所述基于所述第一活体分类训练结果及对应的标注活体分类,以及所述多个抗攻击能力,确定第一综合损失信息,包括:基于多个网络参数对应的多个抗攻击能力,确定待更新参数的稀疏损失信息;基于第一活体分类训练结果及对应的标注活体分类之间的差异,确定第一活体分类损失信息;以及基于所述稀疏损失信息和所述第一活体分类损失信息的累加和,得到所述第一综合损失信息。
在一些实施例中,所述待更新参数的稀疏损失信息约束所述至少一个网络参数之外的其余网络参数的数量最小化。
在一些实施例中,第1轮更新训练的母模型为基于所述预训练得到的所述母模型,其采用如下方法步骤训练得到:获得所述第一训练图像,并将所述第一训练图像输入至目标教师网络,得到所述第一训练图像对应的第三活体分类训练结果;将所述第一训练图像输入至预设母模型,得到所述多个像素对应的多个像素级活体分类结果;以及基于所述多个像素级活体分类结果与所述标注活体分类之间的差异,和所述多个像素级活体分类结果与所述第三活体分类训练结果之间的差异,确定第二综合损失信息,并基于所述第二综合损失信息对所述预设母模型进行收敛,得到所述预训练得到的所述母模型。
在一些实施例中,所述预设母模型包括预设特征编码器和预设对抗训练模块;以及所述将所述第一训练图像输入至预设母模型,得到所述多个像素对应的多个像素级活体分类结果,包括:将所述第一训练图像输入至预设特征编码器,得到所述第一训练图像中多个像素对应的多个像素级特征;以及将所述多个像素级特征输入至预设对抗训练模块,得到所述多个像素对应的多个像素级活体分类结果。
在一些实施例中,所述基于所述多个像素级活体分类结果与所述标注活体分类之间的差异,和所述多个像素级活体分类结果与所述第三活体分类训练结果之间的差异,确定第二综合损失信息,包括:基于所述多个像素级活体分类结果及对应的标注活体分类之间的差异,确定所述多个像素对应的多个像素级活体分类损失信息,并基于所述多个像素级活体分类损失信息的加权和,得到第一训练图像对应的第二活体分类损失信息;基于所述多个像素级活体分类结果与所述第三活体分类训练结果之间的差异,确定所述多个像素对应的多个像素级对抗损失信息,并基于所述多个像素级对抗损失信息的加权和,得到所述第一训练图像对应的对抗损失信息;以及基于所述第二活体分类损失信息与所述对抗损失信息的加权和,得到所述第二综合损失信息。
在一些实施例中,所述对抗损失信息约束所述多个像素级活体分类结果与所述第三活体分类训练结果不一致。
在一些实施例中,所述获得所述第二训练图像,包括:获得加密训练图像,所述加密训练图像采用加密模型对原始第二训练图像进行加密得到;以及将所述加密训练图像输入至解密模型,得到重建训练图像,并将所述重建训练图像确定为所述第二训练图像。
在一些实施例中,所述加密模型和所述解密模型采用如下方法步骤训练得到:获得原始图像样本;将所述原始图像样本输入至预设加密模型,得到所述原始图像样本对应的隐私保护图像及对应的隐私保护损失信息;将所述隐私保护图像输入至预设解密模型,得到所述原始图像样本对应的重建图像样本及对应的图像重建损失信息;以及基于所述隐私保护损失信息和所述图像重建损失信息对所述预设加密网络进行收敛,得到所述加密模型和所述解密模型。
在一些实施例中,所述预设解密模型包括多个解密解码器,以及所述将所述隐私保护图像输入至预设解密模型,得到所述原始图像样本对应的重建图像样本及对应的图像重建损失信息,包括:采用多种预处理方式对所述隐私保护图像进行预处理,得到所述隐私保护图像对应的多个预处理隐私保护图像;将所述多个预处理隐私保护图像分别输入至所述多个解密解码器,得到多个预处理隐私保护图像对应的多个重建图像;以及基于所述多个重建图像与所述隐私保护图像之间的差异,确定多个子图像重建损失信息,并基于所述多个子图像重建损失信息的加权和,得到所述图像重建损失信息。
在一些实施例中,所述多种预处理方式包括模拟数据损失和模拟信道噪声中至少一项。
在一些实施例中,所述隐私保护损失信息根据所述原始图像样本及对应的隐私保护图像之间的差异确定。
第二方面,本说明书还提供一种活体检测系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行第一方面任一项所述的方法。
由以上技术方案可知,本说明书提供的活体检测方法及系统,获得目标域的原始图像后,将原始图像输入至活体检测模型,得到活体检测结果。其中,活体检测模型的参数包括第一参数和第二参数,第一参数包括基于源域的第一训练图像进行预训练得到的母模型在迁移至所述目标域时,其中的多个网络层对应的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数;所述第二参数包括所述母模型在迁移至所述目标域时,所述至少一个网络参数之外的其余网络参数经过所述目标域的第二训练图像进行更新训练后的参数。该方案中通过将在源域训练得到的母模型迁移至目标域时,对母模型的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数进行保留,并对除至少一个网络参数之外的其余网络参数进行更新,从而实现将母模型的隐私保护能力留存,提高目标域的活体检测模型抵抗黑盒蒸馏攻击的能力。
本说明书提供的活体检测方法及系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的活体检测方法及系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种活体检测系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种活体检测方法的流程图;
图4示出了根据本说明书的实施例提供的一种活体检测模型的训练过程的方法流程图;
图5示出了根据本说明书的实施例提供的预训练的母模型的训练过程的方法流程图;
图6示出了根据本说明书的实施例提供的预设加密模型和预设解密模型的结构的示意图;
图7示出了根据本说明书的实施例提供的活体检测跨域自适应方法的整体流程示意图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,首先对本说明书中出现的术语进行如下解释:
模型隐私保护:在本方案中,指模型具有抵抗黑盒蒸馏攻击(black box KD-basedattacks)的能力。
黑盒蒸馏攻击:指被攻击模型的模型参数无法获得,通过基于所获得的被攻击模型的输入和输出训练一个新模型。新模型能够模拟出被攻击模型的预测能力。
活体检测:在人脸识别系统中,检测照片、屏幕、打印纸张、3D面具等攻击手段的方法被称为活体检测。
跨域自适应:在本方案中,指活体检测模型从场景A部署到场景B时,模型需要根据场景B的数据进行跨域调整。跨域调整模型的方法被称为跨域自适应方法。
活体检测是人脸识别系统中必要的一个环节,能够防止人脸识别系统被攻击。随着用户和人脸识别系统对于隐私安全的要求越来越高,以及人脸识别系统所部署的场景越来越广泛,如何实现跨域自适应便显得尤为重要。
迁移学习是一种能够很好地解决跨域自适应问题的方法,其将基于任务A训练得到的模型作为初始点,并重新使用在为任务B训练模型的过程中,从而实现跨域自适应。举例来说,我们使用了支付场景下的大量训练数据和人工标注的真实标签训练得到活体检测模型,其能够很好地应用于支付场景下的活体检测。但是,现在我们需要在考勤或门禁等场景下进行活体检测。若从头开始训练一个新的模型,需要大量的带人工标注的标签的训练数据。而考勤或门禁场景下只有少量的训练数据,基于少量的训练数据从头训练新场景的活体检测模型,应用于新场景下活体检测性能并不好。为了解决上述问题,可以采用将支付场景下的活体检测模型迁移学习至新场景,并训练新场景的活体检测模型,以应用于新场景下的活体检测。
传统的基于迁移学习的活体检测方法,是使用简单的分类损失函数训练源域的母模型,这会导致源域的母模型抵抗攻击的能力较弱。使得在将源域的母模型迁移至目标域时,导致目标域的活体检测模型的抗攻击能力也相应地较差。因此,如何在兼顾隐私安全的条件下进行模型的跨域适配成为了亟需解决的问题。为了能够兼顾数据隐私、模型隐私保护和模型性能的问题,本方案提出了基于模型隐私保护能力留存的活体检测跨域自适应方法,通过在源域的训练图像上训练得到具有隐私保护能力的母模型,并在将母模型迁移至目标域时,对母模型的隐私保护能力进行留存,从而训练得到目标域的活体检测模型,以实现跨域自适应,增加迁移学习过程中对母模型的隐私保护能力的留存。下面对该方案的具体实现过程进行详细介绍:
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行如下介绍:
本说明书提供的活体检测方法可以应用在任意的需要进行身份验证的场景中,比如,线下零售门店的刷脸支付服务场景、人工智能(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可以响应于所活体检测请求,执行本说明书描述的活体检测方法。
服务器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。
如图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上传的原始图像,或者还可以基于接收到的携带有用户的生物特征的原始图像的存储地址的活体检测请求,从存储地址处获得原始图像。举例来说,当用户进行刷脸支付时,刷脸支付设备上安装的客户端200可以采集用户的生物特征的人脸图像,从而得到目标域的原始图像。或者当用户进行刷脸考勤时,刷脸考勤设备上安装的客户端200可以采集用户的生物特征的人脸图像,从而得到目标域的原始图像。
S120:将原始图像输入至活体检测模型,得到活体检测结果。
其中,活体检测模型的参数包括第一参数和第二参数。第一参数包括基于源域的第一训练图像进行预训练得到的母模型在迁移至目标域时,其中的多个网络层对应的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数。第二参数包括预训练的母模型在迁移至目标域时,至少一个网络参数之外的其余网络参数经过目标域的第二训练图像进行更新训练后的参数。
活体检测模型为将预训练得到的母模型迁移至目标域时,对预训练的母模型在优化训练时的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数进行保留(即不进行更新),并对至少一个网络参数之外的其余网络参数进行更新训练得到的模型。具体的,活体检测模型可以基于目标域的第二训练图像及对应的标注活体分类,和第一综合损失信息对预训练的母模型进行活体分类的迭代训练得到。第一综合损失信息约束每次迭代训练时,对预设活体检测模型的多个参数中的部分参数进行保留,并对部分参数之外的其余参数进行更新。部分参数为多个参数中抗攻击能力满足预设要求的参数,部分参数之外的其余参数为多个参数中抗攻击能力不满足预设要求的参数。部分参数之外的其余参数为多个参数中的少量参数。部分参数的数量在保证活体分类正确的基础上,需要越少越好。
预训练得到的母模型可以基于源域的第一训练图像及对应的标注活体分类,和第二综合损失信息对预设母模型进行活体分类的迭代训练得到。预训练母模型用于在目标域进行活体分类的跨域自适应的迭代训练,从而得到目标域的活体检测模型。针对预训练母模型的具体训练过程将在后面介绍。
每次更新训练时,通过识别第i-1轮更新训练的母模型的多个网络参数中对于隐私保护能力贡献较高(抗攻击能力满足预设要求)的至少一个网络参数。并且在第i轮的更新训练过程中,对第i-1轮更新训练的母模型的至少一个网络参数进行保留,即不对第i-1轮更新训练的母模型的至少一个网络参数进行更新,而对第i-1轮更新训练的母模型的多个网络参数中除至少一个网络参数之外的其他网络参数进行更新,以完成对母模型的第i轮更新训练。从而实现在跨域自适应过程中,对预训练得到的母模型的隐私保护能力进行留存,提高目标域的活体检测模型的抗黑盒蒸馏攻击能力的目的。
下面首先对活体检测模型的训练过程进行详细介绍:
图4示出了根据本说明书的实施例提供的一种活体检测模型的训练过程的方法流程图。如图4所示,步骤S120中的活体检测模型可以采用如下方法步骤训练得到:
S121:获得第二训练图像和第i-1轮更新的母模型对应的多个网络参数。
第二训练图像包括训练用户的生物特征。这里的训练用户为训练图像中生物特征的所属对象。关于生物特征的介绍可以参见前文的介绍,此处不再赘述。
第i-1轮更新的母模型对应有多个网络层。多个网络层中每个网络层对应至少一个网络参数。网络参数可以是权重等参数。本步骤中的i为大于1的整数。步骤S121至步骤S124示出的方法步骤为i>1时的更新训练过程中的一次更新训练过程。当i=1时,第i-1轮更新的母模型为基于源域的第一训练图像进行预训练得到的母模型。也就是说,在第1轮更新训练时,是从预训练得到的母模型对应的多个网络参数中挑选出抗攻击能力满足预设要求的至少一个网络参数进行保留,并对至少一个网络参数之外的其余网络参数进行更新,从而得到第1轮更新的母模型对应的多个网络参数。当i>1时,在第2轮及之后的更新训练过程中,是从第i-1轮更新的母模型对应的多个网络参数中,挑选出抗攻击能力满足预设要求的至少一个网络参数进行保留,并对至少一个网络参数之外的其余网络参数进行更新,从而得到第2轮及之后更新的母模型对应的多个网络参数。
S122:将第二训练图像输入至第i-1轮更新的母模型,得到第二训练图像对应的第一活体分类训练结果。
第二训练图像中包括多个像素。将第二训练图像输入至第i-1轮更新的母模型。母模型便基于第二训练图像进行pixel-wise(像素级)活体分类,得到多个像素对应的多个像素活体分类训练结果。其中,每个像素对应一个像素活体分类训练结果。将多个像素活体分类训练结果进行加权求和,可以得到第一活体分类训练结果。
S123:将多个网络参数输入至第i轮更新的预训练元网络中,得到多个网络参数对应的多个抗攻击能力。
需要说明的是,步骤S122和步骤S123在这里不限制先后执行顺序,可以是先执行步骤S122,再执行步骤S123,也可以是先执行步骤S123,再执行步骤S122,还可以是同时执行步骤S122和步骤S123。
其中,第i轮更新的元网络可以采用如下方法步骤训练得到:
S123-1:在多个网络参数中选取预设数量的网络参数。
在多个网络参数中选取预设数量的网络参数的实现方式可以有多种。比如,在多个网络参数中随机选取5%、8%、10%、12%、15%等等比例的网络参数。预设数量的网络参数中每个网络参数对应有标注抗攻击能力。标注抗攻击能力是基于第i轮训练得到的元网络对预设数量的网络参数进行标注得到的。标注抗攻击能力可以采用如下方法步骤确定:
S123-11:将多个网络参数中预设数量的网络参数置为0,得到多个处理后网络参数,并将多个处理后网络参数复制至第i-1轮更新的学生网络,得到第i轮的目标学生网络。
多个处理后网络参数包括多个网络中除预设数量之外的网络参数和预设数量的置0后网络参数。也就是说,多个处理后网络参数包括多个网络中除预设数量之外的网络参数和预设数量的0。其中,学生网络的网络结构与母模型的网络结构相同。网络结构可以包括网络层的层数、各网络层之间的连接关系及各网络层中神经元之间的连接关系等。目标学生网络的网络参数为第i-1轮更新的母模型的多个网络参数中的部分网络参数。比如,在第i-1轮更新的母模型的多个网络参数中随机选取了10%的网络参数置为0,并将置0后的多个网络参数(包括10%的0元素和剩余90%的网络参数)复制给第i-1轮更新的学生网络,从而得到相较于第i-1轮更新的母模型的多个网络参数缺失10%的网络参数的目标学生网络。
值得注意的是,当i取值为1时,第i-1轮更新的学生网络为初始学生网络。初始学生网络中各网络层没有对应的网络参数或者对应有随机初始化的网络参数。在基于预训练的源域模型的多个网络参数确定了预设数量的网络参数,并对预设数量的网络参数进行置0操作之后,便可以将置0之后的多个网络参数复制或加载至初始学生网络,得到第1轮更新的目标学生网络。
S123-12:将第二训练图像输入至目标学生网络,得到第二训练图像对应的第二活体分类训练结果。
目标学生网络被配置为对第二训练图像进行活体分类。将第二训练图像输入目标学生网络中,目标学生网络便基于第二训练图像进行活体分类,并输出第二活体分类训练结果。第二活体分类训练结果中包括第二训练图像对应的第二活体分类训练结果。第二活体分类训练结果表征攻击类别和活体类别的概率分布向量,即第二活体分类训练结果中包括攻击类别的概率和活体类别的概率。攻击类别的概率表征将第二训练图像识别为攻击类别的概率。活体类别表征将第二训练图像识别为活体类别的概率。
S123-13:基于第二活体分类训练结果及其对应的标注活体分类,确定目标学生网络的活体分类性能指标。
基于第二活体分类训练结果及其对应的标注活体分类,能够确定目标学生网络对第二训练图像是否分类正确。目标学生网络的活体分类性能指标可以采用活体类别的分类正确率或错误率、攻击类别的分类正确率或错误率、活体类别与攻击类别的总分类正确率、或者活体类别与攻击类别的总分类错误率等活体分类性能指标的评价方式。
这里,第二训练图像可以包括多个生物特征图像样本,可以采用将多个生物特征图像样本输入至目标学生网络,以获得多个生物特征图像样本对应的多个活体分类训练结果。
其中,活体类别的分类错误率可以基于多个生物特征图像样本中标注活体分类为活体类别的M个生物特征图像样本被错误分类的数量,与多个生物特征图像样本的总数量的比值确定。
攻击类别的分类错误率可以基于多个生物特征图像样本中标注活体分类为攻击类别的N个生物特征图像样本被错误分类的数量,与多个生物特征图像样本的总数量的比值确定。M和N均为大于0的整数,且M和N的总和等于第二训练图像中多个训练图像的数量。
活体类别与攻击类别的总分类错误率可以基于活体类别的分类错误率与攻击类别的分类错误率之和确定。
S123-14:基于第i-1轮更新训练的母模型的活体分类性能指标与目标学生网络的活体分类性能指标,确定预设数量的网络参数对应的标注抗攻击能力。
第i-1轮更新训练的母模型的活体分类性能指标可以基于如下方式确定:将第二训练图像输入至第i-1轮更新训练的母模型中,得到的活体分类结果确定。具体的确定方式可以参见目标学生网络的活体分类性能指标的确定方式,这里不再赘述。
其中,步骤S123-14的具体实现可以采用如下方式:比如,基于第i-1轮更新训练的母模型的活体分类性能指标与目标学生网络的活体分类性能指标,执行第一操作或第二操作。第一操作包括:第i-1轮更新训练的母模型的活体分类性能指标大于目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,确定预设数量的网络参数对应的标注抗攻击能力为第一抗攻击能力,第一抗攻击能力满足预设要求;第二操作包括:第i-1轮更新训练的母模型的活体分类性能指标小于目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,确定预设数量的网络参数对应的标注抗攻击能力为第二抗攻击能力,第二抗攻击能力不满足预设要求。
这里,是采用目标学生网络进行蒸馏学习,并基于蒸馏学习的活体分类性能指标来确定抗攻击能力。抗攻击能力表征抗攻击贡献度的大小。当第i-1轮更新训练的母模型的活体分类性能指标大于目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,则表明目标学生网络的活体分类性能指标相较于母模型的活体分类性能指标而言变差。相应地,也表明预设数量的网络参数的抗攻击贡献度越高。当第i-1轮更新训练的母模型的活体分类性能指标小于目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,则表明目标学生网络的活体分类性能指标相较于母模型的活体分类性能指标而言变好,相应地,也表明预设数量的网络参数的抗攻击贡献度越低。
其中,抗攻击能力可以采用如下方式确定:比如,基于第i-1轮更新训练的母模型的活体分类性能指标与目标学生网络的活体分类性能指标之间的差值,与第i-1轮更新训练的母模型的活体分类性能指标的比值确定。其可以表示为如下形式:基于第i-1轮更新训练的母模型的活体分类性能指标与目标学生网络的活体分类性能指标之间的差值/第i-1轮更新训练的母模型的活体分类性能指标。基于该公式可以将抗攻击能力量化为0-1之间的数值,从而表征抗攻击能力的大小。
S123-2:将预设数量的网络参数输入至第i-1轮更新的预训练元网络中,得到预设数量的网络参数对应的预设数量的训练抗攻击能力。
预设数量的网络参数中每个网络参数对应一训练抗攻击能力。第1轮训练时所采用的初始元网络可以是多个全连接层,比如3层的全连接层。当然,多个全连接层的数量还可以是其他数量,本领域技术人员可以根据实际需求确定全连接层的数量,本说明书对此不作限制。初始元网络的网络参数为随机初始化的网络参数。
第i-1轮更新的元网络被配置为学习预设数量的网络参数的抗攻击能力。将预设数量的网络参数输入至第i-1轮更新的元网络中,第i-1轮更新的元网络便基于预设数量的网络参数学习该预设数量的网络参数中每个网络参数的抗攻击能力,从而输出预设数量的网络参数中每个网络参数对应的训练抗攻击能力。
S123-3:基于训练抗攻击能力与标注抗攻击能力之间的差异,确定抗攻击损失信息,并基于抗攻击损失信息更新第i-1轮更新的元网络的网络参数,得到第i轮更新的预训练元网络。
抗攻击损失信息表征第i-1轮更新的元网络对于预设数量的网络参数对应的抗攻击能力的学习情况。基于抗攻击损失信息对第i-1轮更新的元网络的网络参数进行更新,便可以得到第i轮更新的预训练元网络。
在得到第i轮更新的预训练元网络之后,便可以将第i-1轮更新的母模型的多个网络参数输入至第i轮更新的预训练元网络,得到第i-1轮更新的母模型的多个网络参数对应的多个抗攻击能力。
S124:基于第一活体分类训练结果及对应的标注活体分类,以及多个抗攻击能力,确定第一综合损失信息,并基于第一综合损失对第i-1轮更新的母模型和第i轮更新的预训练元网络进行更新,直至训练结束,将训练结束时的母模型确定为活体检测模型。
其中,S124可以包括如下方法步骤:基于多个网络参数对应的多个抗攻击能力,确定待更新参数的稀疏损失信息,并基于第一活体分类训练结果与标注活体分类之间的差异,确定活体分类损失信息,以及基于稀疏损失信息和活体分类损失信息的累加和,得到第一综合损失信息。第一综合损失信息可以表示为如下公式(1):
Loss1=Loss-1+Losscls; (1)
其中,Loss1为第一综合损失信息;Loss-1为待更新参数的稀疏损失信息;Losscls为活体分类损失信息。
多个网络参数中每个网络参数分别对应一抗攻击能力。多个网络参数对应的多个抗攻击能力可以记为一参数矩阵。通过对该参数矩阵进行正则化,比如求L1范数或求L2范数,可以得到待更新参数的稀疏损失信息。待更新参数的稀疏损失信息Loss1的目的在于约束至少一个网络参数之外的其余网络参数的数量最小化。也就是约束多个网络参数中需要更新的网络参数的数量最小化。当Loss1优化到一定数值且不再发生变化时,即待更新参数的数量达到一定数值且不再发生变化时,则认为Loss1最小化。
当第一综合损失信息最小化或者训练次数达到预设次数,便可以获得训练完成的活体检测模型。在获得活体检测模型之后,便可以将目标活体检测模型输出至客户端,并将客户端采集的目标域的原始图像输入至活体检测模型,得到活体检测结果。其中,将原始图像输入至目标活体检测模型,得到活体检测结果,可以包括:将原始图像输入至活体检测模型,得到活体攻击概率P,基于活体攻击概率P,确定活体检测结果。比如,若活体攻击概率P大于设定的阈值T,识别该原始图像为攻击类别;若活体攻击概率P小于设定的阈值T,识别该原始图像为活体类别。
需要说明的是,针对活体攻击概率P等于设定的阈值T的情况,可以识别该原始图像为活体类别或攻击类别,本说明书对此不作限制。
如前介绍,第1轮更新训练的母模型为基于预训练得到的母模型。下面结合附图介绍预训练的母模型的训练过程:
图5示出了根据本说明书的实施例提供的预训练的母模型的训练过程的方法流程图。如图5所示,预训练的母模型可以采用如下方法步骤训练得到:
S200:获得第一训练图像,并将第一训练图像输入至目标教师网络,得到第一训练图像对应的第三活体分类训练结果。
其中,目标教师网络是基于多个第三训练图像及对应的多个标注活体分类,以及第四活体分类损失信息对预设教师网络进行训练得到的。比如,第三训练图像可以包括多个训练用户的生物特征对应的多个训练图像,每个训练图像对应有标注活体分类。标注活体分类表征每个训练图像对应的活体分类标签为活体类别或攻击类别。
预设教师网络可以是ResNet,比如ResNet18等活体检测网络。通过将多个第三训练图像输入至预设教师网络,可以得到多个第三训练图像对应的多个第四活体分类训练结果。基于多个第四活体分类训练结果及对应的多个标注活体分类之间的差异,可以确定多个第三训练图像对应的多个子活体分类损失信息。通过将多个子活体分类损失信息进行加权求和,可以得到多个第三训练图像对应的第四活体分类损失信息。之后,便可以基于第四活体分类损失信息对预设教师网络进行收敛,从而得到目标教师网络。收敛的条件可以是第四活体分类损失信息最小化或者训练次数达到预设次数。
S210:将第一训练图像输入至预设母模型,得到多个像素对应的多个像素级活体分类结果。
预设母模型可以包括预设特征编码器和预设对抗训练模块。预设特征编码器可以是ResNet网络等用于进行特征提取的网络结构,被配置为基于输入的训练图像进行像素级特征提取。预设对抗训练模块可以是多层的卷积层,多层可以是大于或等于2层的卷积层,比如3层。预设对抗训练模块被配置为基于所提取的像素级特征图进行活体分类,得到像素级活体分类结果。因此,在将第一训练图像输入至预设特征编码器,由预设特征编码器对第一训练图像中的多个像素中每个像素进行特征提取,从而得到多个像素对应的多个像素级特征。之后,再将多个像素级特征输入至预设对抗训练模块,由预设对抗训练模块基于多个像素级特征进行活体分类,得到多个像素对应的多个像素级活体分类结果。每个像素级活体分类结果表征每个像素对应的活体分类结果是活体类别的概率和是攻击类别的概率。
S220:基于多个像素级活体分类结果与标注活体分类之间的差异,和多个像素级活体分类结果与第三活体分类训练结果之间的差异,确定第二综合损失信息,并基于第二综合损失信息对预设母模型进行收敛,得到预训练的母模型。
步骤S220可以包括如下步骤:
S221:基于多个像素级活体分类结果及对应的标注活体分类之间的差异,确定多个像素对应的多个像素级活体分类损失信息,并基于多个像素级活体分类损失信息的加权和,得到第一训练图像对应的第二活体分类损失信息。
这里的标注活体分类为第一训练图像对应的活体分类的标签,表征第一训练图像是活体类别或攻击类别。若第一训练图像对应的活体分类的标签为活体类别,则第一训练图像的多个像素的标注活体分类均为活体类别。若第一训练图像对应的活体分类的标签为攻击类别,则第一训练图像的多个像素的标注活体分类均为攻击类别。
基于多个像素级活体分类结果中每个像素级活体分类结果与第一训练图像对应的活体分类的标签之间的差异,可以确定多个像素中每个像素对应的像素级活体分类损失信息。之后,再将多个像素对应的多个像素级活体分类损失信息进行加权求和,便可以得到第一训练图像对应的第二活体分类损失信息。
S222:基于多个像素级活体分类结果与第三活体分类训练结果之间的差异,确定多个像素对应的多个像素级对抗损失信息,并基于多个像素级对抗损失信息的加权和,得到第一训练图像对应的对抗损失信息。
步骤S222中可以基于多个像素级活体分类结果中每个像素级活体分类结果与第二活体分类训练结果之间的差异,得到多个像素中每个像素对应的像素级对抗损失信息。之后,再基于多个像素级对抗损失信息进行加权求和,从而得到第一训练图像对应的对抗损失信息。
需要说明的是,步骤S221和步骤S222在这里不限制先后执行顺序,可以是先执行步骤S221,再执行步骤S122,也可以是先执行步骤S222,再执行步骤S221,还可以是同时执行步骤S221和步骤S222。
S223:基于第二活体分类损失信息与对抗损失信息的加权和,得到第二综合损失信息。
第二综合损失信息可以表示为如下公式(2):
Loss2=Losscls+Losspixel-adv;(2)
式(2)中,Loss2为第二综合损失信息;Losscls为第二活体分类损失信息;Losspixel-adv为对抗损失信息。
Losscls旨在使得预训练的母模型具有正确分类的活体检测能力。
Losspixel-adv旨在约束多个像素级活体分类结果中每个像素级活体分类结果与第三活体分类训练结果不一致。由于目标教师网络预测的第三活体分类训练结果的概率往往较高,比如为大于0.9的攻击类别概率,以及小于0.1的活体类别概率。由于预测的概率值较高,基本趋近于1,从而使得目标教师网络的隐私保护能力较差,即抵抗黑盒蒸馏攻击的能力较弱。因此,通过约束多个像素级活体检测结果中每个像素级活体检测结果与第三活体分类训练结果不一致。比如,约束每个像素级活体分类结果中攻击类别概率大于0.5,即只要每个像素级活体分类结果中攻击类别概率位于0.5至1之间的区间范围内即可。大于0.5能够保证分类的正确性,而0.5至1的区间范围还能够保证预训练的母模型所预测的活体分类结果具有一定随机性,使得攻击者无法获得确定的输出,便无法轻易模拟出输入和输出之间的映射关系,从而提升抵抗黑盒蒸馏攻击的能力。
需要说明的是,公式(1)中的Losscls可以采用公式(2)中的Losscls的确定方式来确定。即公式(1)中的Losscls为基于第二训练图像中多个像素进行活体分类得到的多个像素级活体分类训练结果对应的多个像素级活体分类损失信息的加权和确定。
相关技术中,采用整体图像或图像块做训练,那么在攻击的时候就可以用比图像块更小的单元去做攻击。如此,训练得到的模型的抵抗攻击能力较差。本方案在源域的母模型和目标域的活体检测模型的训练过程中,是基于像素进行活体分类的。像素是图像最基本的单元,如果在最基本的单元上能够得到较好的隐私保护能力,那么基于像素得到的整体图像也会有较好的隐私保护能力。
在源域完成母模型的预训练之后,便可以在目标域进行活体检测模型的迁移训练。如上文中介绍,迁移训练需要依赖第二训练图像。相关技术中,是将客户端采集的第二训练图像不经加密,直接迁移至目标域进行训练,这样会忽略对目标域的第二训练图像的保护。目标域的第二训练图像一旦泄露,也会对目标域的活体检测模型的安全造成影响。为了避免上述问题,可以采用如下介绍的第二训练图像的获得方式:比如,获得加密训练图像,该加密训练图像可以采用加密模型对原始第二训练图像进行加密得到,以及将加密训练图像输入至解密模型,得到重建训练图像,以及将重建训练图像确定为第二训练图像。
原始第二训练图像可以通过部署在目标域的客户端采集的用户授权的原始图像得到。活体检测模型的训练过程通常在服务端实现,因此,需要将原始第二训练图像传输至服务端。然而,直接将原始第二训练图像传输至服务端会导致数据泄漏。本说明书通过在将原始第二训练图像传输至服务端之前,通过部署在客户端上的加密模型对原始第二训练图像进行加密,得到加密训练图像,并将加密训练图像传输至服务端。服务端接收到加密训练图像之后,采用服务端上部署的解密模型对加密训练图像进行图像重建,从而得到重建训练图像。
应理解,由于图像重建可能无法保证100%进行图像还原,或多或少都会存在损失。因此,该重建训练图像与原始第二训练图像为相同或接近的图像。
在应用加密模型进行加密和应用解密模型进行解密之前,需要训练得到加密模型和解密模型。加密模型和解密模型可以采用如下方法步骤训练得到:获得原始图像样本,将原始图像样本输入至预设加密模型,得到原始图像样本对应的隐私保护图像及对应的隐私保护损失信息,将隐私保护图像输入至预设解密模型,得到原始图像样本对应的重建图像样本及对应的图像重建损失信息,以及基于隐私保护损失信息和图像重建损失信息对预设加密网络进行收敛,得到加密模型和解密模型。
其中,原始图像样本为包括训练用户的生物特征的图像。训练用户为原始图像样本中生物特征所属的目标对象。关于生物特征的介绍可以参见前述内容的介绍,此处不再赘述。原始图像样本可以从公开数据集或通过客户端采集的方式得到,还可以通过人工合成的方式获得,本说明书对原始图像样本的获得方式不作限制。
图6示出了根据本说明书的实施例提供的预设加密模型和预设解密模型的结构的示意图。如图6所示,预设加密模型可以是单分支加密编码器,比如Unet网络结构,被配置为对原始图像样本进行隐私保护,其输入为原始图像样本,输出为原始图像样本对应的隐私保护图像。
预设解密模型可以是多分支解密解码器,比如Unet网络结构,被配置为基于隐私保护图像进行图像重建,其输入为隐私保护后的图像,输出为基于隐私保护后的图像进行图像重建。
当原始图像样本输入至预设加密模型时,预设加密模型便对原始图像样本进行图像隐私保护,生成原始图像样本对应的隐私保护图像。将隐私保护图像输入至预设解密模型时,预设解密模型便对隐私保护图像进行图像重建,以生成重建图像样本。
在得到隐私保护图像和重建图像样本之后,便可以基于原始图像样本及对应的隐私保护图像,以及原始图像样本及对应的重建图像样本确定第三综合损失信息。第三综合损失信息可以表示为如下公式(3):
Loss3=Lossprivacy+Lossreconstruction;(3)
式(3)中,Loss3为第三综合损失信息;Lossprivacy为隐私保护损失信息;Lossreconstruction为图像重建损失信息。
Lossprivacy表征隐私保护图像与原始图像样本之间的差异。Lossprivacy的优化目标为使得隐私保护图像与原始图像样本之间的差异最大化。如此,便能够使得隐私保护图像相较于原始图像样本而言,虽然在视觉上来看相差不大,但是对计算机来说被破解的难度较大,从而提高图像隐私保护性。
Lossreconstruction表征重建图像样本与原始图像样本之间的差异。Lossreconstruction的优化目标为使得重建图像样本与原始图像样本之间的差异最小化。如此,便能够使得重建图像样本相较于原始图像样本而言,尽量与原始图像样本相同或接近原始图像样本。从而达到尽量无失真地对原始图像样本进行图像还原。
Lossreconstruction的获得方式可以如下:比如,采用多种预处理方式对隐私保护图像进行预处理,得到隐私保护图像对应的多个预处理隐私保护图像,将多个预处理隐私保护图像分别输入至多个解密解码器,得到多个预处理隐私保护图像对应的多个重建图像,以及基于多个重建图像与隐私保护图像之间的差异,确定多个子图像重建损失信息,并基于多个子图像重建损失信息的加权和,得到图像重建损失信息。
如上文介绍,预设解密模型可以是多分支解密解码器,即包括多个解密解码器,例如n个解密解码器,n为1的整数。该多个解密解码器为并行的多个Unet网络结构。多个解密解码器分别连接至多个分支的预处理模块,而多个预处理模块与单分支加密编码器连接。多个预处理模块被配置为采用多种预处理方式对隐私保护图像进行多种预处理。多个预处理模块中每个预处理模块对应多种预处理方式中的其中一种预处理方式。多种预处理方式可以是模拟数据损失和模拟信道噪声中至少一项。
当采用预设加密模型获得隐私保护图像之后,可以将隐私保护图像输入至多个预处理模块。多个预处理模块中每个预处理模块采用对应的预处理方式对隐私保护图像进行预处理,从而得到多个预处理隐私保护图像。之后,再将多个预处理隐私保护图像输入至多个解密解码器。多个解密解码器中每个解密解码器基于接收到的其中一个预处理隐私保护图像进行图像重建,从而得到多个预处理隐私保护图像对应的多个重建图像。
在获得多个重建图像之后,便可以基于多个重建图像中每个重建图像与隐私保护图像之间的差异,确定多个预处理隐私保护图像对应的多个子图像重建损失信息,以及对多个子图像重建损失信息进行加权求和,得到图像重建损失信息。
在训练完成解密模型之后,便可以采用解密模型对加密训练图像进行解密,得到多个子重建训练图像,并基于多个自重建训练图像进行加权求和,比如加权平均,从而得到重建训练图像。
预处理能够模拟加密后的第二训练图像在传输和存储的过程中产生的一些数据损失和被噪声干扰的一些扰动。使得解密模型在解密过程中对这些可能存在的损失和感染具有一定的容忍度。每个分支会对一些特定的噪声有一定的鲁棒性,基于多个自重建训练图像进行加权求和得到的重建图像就会具有一定的鲁棒性。
在训练得到加密模型和解密模型之后,便可以将加密模型输出至客户端,以部署在客户端上。以及将解密模型部署在服务端,以对目标域场景下采集的图像进行加密并传输至服务端。服务端在接收到加密训练图像后,采用解密模型对加密训练图像进行解密,得到重建训练图像,并采用重建训练图像在目标域进行活体分类的迭代训练。
在一些场景中,还可以在服务端同时部署加密模型和解密模型。采用加密模型对目标域场景下采集的图像进行加密,并将加密后的加密训练图像存储在服务端。当需要进行目标域的活体检测模型的训练时,可以采用解密模型对加密训练图像进行解密,得到重建训练图像,并采用重建训练图像在目标域进行活体分类的迭代训练。
其中,本方案为了提升跨域自适应性能,使得在跨域自适应过程中,保留源域的母模型的隐私保护能力,提出了基于模型隐私保护能力留存的活体检测跨域自适应方法。该活体检测跨域自适应方法的整体流程示意图可以如图6所示,主要包括四个部分:具有隐私保护能力的母模型的训练、目标域数据的传输和存储、隐私保护能力留存的跨域自适应,以及模型部署和推理,具体可以如下:
(1)具有隐私保护能力的母模型的训练:其是基于源域的第一训练图像在源域上训练具有隐私保护能力的母模型。在源域上训练得到的具有隐私保护能力的母模型为预训练的母模型。
(2)目标域数据的传输和存储:在目标域的场景下进行基于深度学习模型进行数据加密,并基于加密后数据进行传输和存储,为后续目标域的跨域自适应做好数据基础。
(3)隐私保护能力留存的跨域自适应:通过将预训练的母模型迁移至目标域,并以预训练的母模型的多个网络参数为基础,实现对预训练的母模型的优化训练,从而获得目标域的活体检测模型。
下面将结合优化训练的迭代过程第1轮和第2轮的训练过程对跨域自适应进行介绍:
第1轮训练:
1.在预训练的母模型的多个网络参数中选取预设数量,比如10%的网络参数置为0,并将剩余的90%的网络参数和置为0的10%的0元素复制给初始学生网络,得到第1轮更新的目标学生网络。
2.将源域的第一训练图像输入至第1轮更新的目标学生网络,得到第一训练图像对应的第二活体分类训练结果。以及基于第一训练图像及对应的第二活体分类训练结果,确定第1轮更新的目标学生网络的活体分类性能指标。并基于第1轮更新的目标学生网络的活体分类性能指标与预训练的母模型的活体分类性能指标进行比较,从而确定10%的网络参数的标注抗攻击能力。
3.基于该10%的网络参数及其对应的标注抗攻击能力对初始元网络进行更新,得到第1轮更新的预训练元网络。
4.将预训练母模型的多个网络参数输入至第1轮更新的预训练元网络,得到多个网络参数对应的多个训练抗攻击能力。
5.将第二训练图像输入至预训练的母模型中,得到第一活体分类训练结果。
6.基于多个训练抗攻击能力确定待更新参数的稀疏损失信息,基于第一活体分类训练结果及第二训练图像对应的标注活体分类之间的差异,确定第一活体分类损失信息。以及基于稀疏损失信息和第一活体分类损失信息的累加和,得到第一综合损失信息,和基于第一综合损失信息对预训练母模型和第1轮更新的预训练元网络的网络参数进行更新,得到第1轮更新的母模型和第1轮更新的元网络。
在获得第1轮更新的母模型和第1轮更新的元网络之后,便可以基于第1轮更新的母模型和第1轮更新的元网络进行第2轮训练。
第2轮训练:
1.在第1轮更新的母模型的多个网络参数中选取预设数量,比如10%的网络参数置为0,并将剩余的90%的网络参数和置为0的10%的0元素复制给第1轮更新的学生网络,得到第2轮更新的目标学生网络。
2.将第二训练图像输入至第2轮更新的目标学生网络,得到第二训练图像对应的第一活体检测训练结果。以及基于第二训练图像及对应的第一活体检测训练结果,确定第2轮更新的目标学生网络的活体分类性能指标。并基于第2轮更新的目标学生网络的活体分类性能指标与第1轮更新的母模型的活体分类性能指标进行比较,从而确定10%的网络参数的标注抗攻击能力。
3.基于该10%的网络参数及其对应的标注抗攻击能力对第1轮更新的元网络进行更新,得到第2轮更新的预训练元网络。
4.将第1轮更新的母模型的多个网络参数输入至第2轮更新的预训练元网络,得到第1轮更新的母模型的多个网络参数对应的多个训练抗攻击能力。
5.将第二训练图像输入至第1轮更新的母模型中,得到第二训练图像对应的第二活体检测训练结果。
6.基于多个训练抗攻击能力确定待更新参数的稀疏损失信息,基于第二活体检测训练结果及第二训练图像对应的标注活体分类之间的差异,确定第一活体分类损失信息。以及基于稀疏损失信息和第一活体分类损失信息的累加和,得到第一综合损失信息,和基于第一综合损失信息对第1轮更新的母模型和第2轮更新的预训练元网络的网络参数进行更新,得到第2轮更新的母模型和第2轮更新的元网络。
在获得第2轮更新的母模型和第2轮更新的元网络之后,便可以基于第2轮更新的母模型和第2轮更新的元网络进行第3轮训练。以此类推,直至第一综合损失信息最小化或者训练次数达到预设次数,训练结束,训练结束时的母模型即为目标域的活体检测模型。
(4)模型部署与推理:将训练完成的目标域的活体检测模型部署到目标域的客户端,并基于活体检测模型对客户端采集的用户的生物特征的原始图像进行活体检测,得到活体检测结果。
综上所述,本说明书提供的活体检测方法P100和系统001,获得目标域的原始图像后,将原始图像输入至活体检测模型,得到活体检测结果。其中,活体检测模型的参数包括第一参数和第二参数,第一参数包括基于源域的第一训练图像进行预训练得到的母模型在迁移至所述目标域时,其中的多个网络层对应的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数;所述第二参数包括所述母模型在迁移至所述目标域时,所述至少一个网络参数之外的其余网络参数经过所述目标域的第二训练图像进行更新训练后的参数。该方案中通过将在源域训练得到的母模型迁移至目标域时,对母模型的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数进行保留,并对除至少一个网络参数之外的其余网络参数进行更新,从而实现将母模型的隐私保护能力留存,提高目标域的活体检测模型抵抗黑盒蒸馏攻击的能力。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行活体检测的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的活体检测方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备500上运行时,所述程序代码用于使计算设备500执行本说明书描述的活体检测方法P100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备500上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备500上执行、部分地在计算设备500上执行、作为一个独立的软件包执行、部分在计算设备500上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章、书籍、说明书、出版物、文件、物品等,除了与其相关的任何历史起诉文件、可能与本文件不一致或相冲突的任何相同的、或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的历史起诉文件,均可以通过引用结合于此,并用于现在或以后与本文件相关联的所有目的。此外,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (17)
1.一种活体检测方法,包括:
获得目标域的原始图像,所述原始图像包括用户的生物特征;以及
将所述原始图像输入至活体检测模型,得到活体检测结果,其中,所述活体检测模型的参数包括第一参数和第二参数,
所述第一参数包括基于源域的第一训练图像进行预训练得到的母模型在迁移至所述目标域时,其中的多个网络层对应的多个网络参数中抗攻击能力满足预设要求的至少一个网络参数;
所述第二参数包括所述母模型在迁移至所述目标域时,所述至少一个网络参数之外的其余网络参数经过所述目标域的第二训练图像进行更新训练后的参数。
2.根据权利要求1所述的方法,其中,所述活体检测模型采用如下方法步骤训练得到:
获得所述第二训练图像和第i-1轮更新的所述母模型对应的多个网络参数,所述i为大于1的整数;
将所述第二训练图像输入至所述第i-1轮更新的所述母模型,得到所述第二训练图像对应的第一活体分类训练结果;
将所述多个网络参数输入至第i轮更新的预训练元网络中,得到所述多个网络参数对应的多个抗攻击能力;以及
基于所述第一活体分类训练结果及对应的标注活体分类,以及所述多个抗攻击能力,确定第一综合损失信息,并基于所述第一综合损失对所述第i-1轮更新的所述母模型和所述第i轮更新的预训练元网络进行更新,直至训练结束,将训练结束时的母模型确定为所述活体检测模型。
3.根据权利要求2所述的方法,其中,所述第i轮更新的预训练元网络采用如下方法步骤得到:
在所述多个网络参数中选取预设数量的网络参数,所述预设数量的网络参数中每个网络参数对应有标注抗攻击能力;
将所述预设数量的网络参数输入至第i-1轮更新的元网络中,得到所述预设数量的网络参数对应的预设数量的训练抗攻击能力;以及
基于所述预设数量的所述训练抗攻击能力及对应的所述标注抗攻击能力之间的差异,确定抗攻击损失信息,并基于所述抗攻击损失信息更新所述第i-1轮更新的所述元网络的网络参数,得到所述第i轮更新的所述预训练元网络。
4.根据权利要求3所述的方法,其中,所述标注抗攻击能力采用如下方法步骤确定:
将所述多个网络参数中预设数量的网络参数置为0,得到多个处理后网络参数,并将所述多个处理后网络参数复制至第i-1轮更新的学生网络,得到第i轮更新的目标学生网络;
将所述第二训练图像输入至所述目标学生网络,得到所述第二训练图像对应的第二活体分类训练结果;
基于所述第二活体分类训练结果及对应的标注活体分类,确定所述目标学生网络的活体分类性能指标;以及
基于所述第i-1轮更新的所述母模型的活体分类性能指标与所述目标学生网络的活体分类性能指标,确定所述预设数量的网络参数中每个网络参数对应的标注抗攻击能力。
5.根据权利要求4所述的方法,其中,所述基于所述第i-1轮更新训练的所述母模型的活体分类性能指标与所述目标学生网络的活体分类性能指标,确定所述预设数量的网络参数对应的标注抗攻击能力,包括:
基于所述第i-1轮更新训练的所述母模型的活体分类性能指标与所述目标学生网络的活体分类性能指标,执行第一操作或第二操作,其中
所述第一操作包括:所述第i-1轮更新训练的所述母模型的活体分类性能指标大于所述目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,确定所述预设数量的网络参数对应的标注抗攻击能力为第一抗攻击能力,所述第一抗攻击能力满足所述预设要求;
所述第二操作包括:所述第i-1轮更新训练的所述母模型的活体分类性能指标小于所述目标学生网络的活体分类性能指标,且二者之间的差值大于预设差值,确定所述预设数量的网络参数对应的标注抗攻击能力为第二抗攻击能力,所述第二抗攻击能力不满足所述预设要求。
6.根据权利要求2所述的方法,其中,所述基于所述第一活体分类训练结果及对应的标注活体分类,以及所述多个抗攻击能力,确定第一综合损失信息,包括:
基于多个网络参数对应的多个抗攻击能力,确定待更新参数的稀疏损失信息;
基于第一活体分类训练结果及对应的标注活体分类之间的差异,确定第一活体分类损失信息;以及
基于所述稀疏损失信息和所述第一活体分类损失信息的累加和,得到所述第一综合损失信息。
7.根据权利要求6所述的方法,其中,所述待更新参数的稀疏损失信息约束所述至少一个网络参数之外的其余网络参数的数量最小化。
8.根据权利要求1所述的方法,其中,第1轮更新训练的母模型为基于所述预训练得到的所述母模型,其采用如下方法步骤训练得到:
获得所述第一训练图像,并将所述第一训练图像输入至目标教师网络,得到所述第一训练图像对应的第三活体分类训练结果;
将所述第一训练图像输入至预设母模型,得到所述多个像素对应的多个像素级活体分类结果;以及
基于所述多个像素级活体分类结果及对应的标注活体分类之间的差异,和所述多个像素级活体分类结果与所述第三活体分类训练结果之间的差异,确定第二综合损失信息,并基于所述第二综合损失信息对所述预设母模型进行收敛,得到所述预训练得到的所述母模型。
9.根据权利要求8所述的方法,其中,所述预设母模型包括预设特征编码器和预设对抗训练模块;以及
所述将所述第一训练图像输入至预设母模型,得到所述多个像素对应的多个像素级活体分类结果,包括:
将所述第一训练图像输入至预设特征编码器,得到所述第一训练图像中多个像素对应的多个像素级特征;以及
将所述多个像素级特征输入至预设对抗训练模块,得到所述多个像素对应的多个像素级活体分类结果。
10.根据权利要求8所述的方法,其中,所述基于所述多个像素级活体分类结果与所述标注活体分类之间的差异,和所述多个像素级活体分类结果与所述第三活体分类训练结果之间的差异,确定第二综合损失信息,包括:
基于所述多个像素级活体分类结果及对应的标注活体分类之间的差异,确定所述多个像素对应的多个像素级活体分类损失信息,并基于所述多个像素级活体分类损失信息的加权和,得到第一训练图像对应的第二活体分类损失信息;
基于所述多个像素级活体分类结果与所述第三活体分类训练结果之间的差异,确定所述多个像素对应的多个像素级对抗损失信息,并基于所述多个像素级对抗损失信息的加权和,得到所述第一训练图像对应的对抗损失信息;以及
基于所述第二活体分类损失信息与所述对抗损失信息的加权和,得到所述第二综合损失信息。
11.根据权利要求10所述的方法,所述对抗损失信息约束所述多个像素级活体分类结果与所述第三活体分类训练结果不一致。
12.根据权利要求2所述的方法,其中,所述获得所述第二训练图像,包括:
获得加密训练图像,所述加密训练图像采用加密模型对原始第二训练图像进行加密得到;以及
将所述加密训练图像输入至解密模型,得到重建训练图像,并将所述重建训练图像确定为所述第二训练图像。
13.根据权利要求12所述的方法,其中,所述加密模型和所述解密模型采用如下方法步骤训练得到:
获得原始图像样本;
将所述原始图像样本输入至预设加密模型,得到所述原始图像样本对应的隐私保护图像及对应的隐私保护损失信息;
将所述隐私保护图像输入至预设解密模型,得到所述原始图像样本对应的重建图像样本及对应的图像重建损失信息;以及
基于所述隐私保护损失信息和所述图像重建损失信息对所述预设加密网络进行收敛,得到所述加密模型和所述解密模型。
14.根据权利要求13所述的方法,其中,所述预设解密模型包括多个解密解码器,以及
所述将所述隐私保护图像输入至预设解密模型,得到所述原始图像样本对应的重建图像样本及对应的图像重建损失信息,包括:
采用多种预处理方式对所述隐私保护图像进行预处理,得到所述隐私保护图像对应的多个预处理隐私保护图像;
将所述多个预处理隐私保护图像分别输入至所述多个解密解码器,得到多个预处理隐私保护图像对应的多个重建图像;以及
基于所述多个重建图像与所述隐私保护图像之间的差异,确定多个子图像重建损失信息,并基于所述多个子图像重建损失信息的加权和,得到所述图像重建损失信息。
15.根据权利要求14所述的方法,其中,所述多种预处理方式包括模拟数据损失和模拟信道噪声中至少一项。
16.根据权利要求13所述的方法,其中,所述隐私保护损失信息根据所述原始图像样本及对应的隐私保护图像之间的差异确定。
17.一种活体检测系统,包括:
至少一个存储介质,存储有至少一个指令集,用于进行活体检测;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述活体检测系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行权利要求1-16任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310097341.4A CN116168453A (zh) | 2023-01-19 | 2023-01-19 | 活体检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310097341.4A CN116168453A (zh) | 2023-01-19 | 2023-01-19 | 活体检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116168453A true CN116168453A (zh) | 2023-05-26 |
Family
ID=86419502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310097341.4A Pending CN116168453A (zh) | 2023-01-19 | 2023-01-19 | 活体检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116168453A (zh) |
-
2023
- 2023-01-19 CN CN202310097341.4A patent/CN116168453A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102985933B (zh) | 区分真人面部与平坦表面 | |
US11687623B2 (en) | Anti-piracy framework for deep neural networks | |
CN107438854A (zh) | 使用移动设备捕获的图像执行基于指纹的用户认证的系统和方法 | |
WO2020115154A1 (en) | Anti-spoofing | |
CN112084917A (zh) | 一种活体检测方法及装置 | |
AU2019100349A4 (en) | Face - Password Certification Based on Convolutional Neural Network | |
CN112052830B (zh) | 人脸检测的方法、装置和计算机存储介质 | |
US11734570B1 (en) | Training a network to inhibit performance of a secondary task | |
CN112215180A (zh) | 一种活体检测方法及装置 | |
CN110674677A (zh) | 一种多模态多层融合的用于人脸反欺骗的深度神经网络 | |
Zhong et al. | Visible-infrared person re-identification via colorization-based siamese generative adversarial network | |
CN112052832A (zh) | 人脸检测的方法、装置和计算机存储介质 | |
KR20220123118A (ko) | 모션 센서 데이터에 기록된 사용자, 동작 및 장치에 특유한 특징을 구분하기 위한 시스템 및 방법 | |
Barni et al. | Iris deidentification with high visual realism for privacy protection on websites and social networks | |
CN116168453A (zh) | 活体检测方法及系统 | |
Radha Kumari et al. | Deep learning-based image watermarking technique with hybrid DWT-SVD | |
JP7360217B2 (ja) | ユーザのバイオメトリック特性を有する当該ユーザの物体の画像からデータを取得するための方法 | |
Alharbi et al. | Spoofing Face Detection Using Novel Edge-Net Autoencoder for Security. | |
CN112149631A (zh) | 图像处理的方法、装置、设备和介质 | |
Solomon | Face Anti-Spoofing and Deep Learning Based Unsupervised Image Recognition Systems | |
Sabri et al. | An effective facial spoofing detection approach based on weighted deep ensemble learning | |
CN117496601B (zh) | 基于细分类和对抗域泛化的人脸活体检测系统及方法 | |
CN113516107B (zh) | 一种图像检测方法 | |
CN115953849A (zh) | 活体检测模型的训练方法、活体检测方法及系统 | |
CN115002294B (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 |