1.本技术属于图像处理技术领域,特别是涉及一种检测模型的训练方法、装置及计算机可读存储介质。
背景技术:2.针对人脸识别技术的应用近年来应用到越来越多的智能化设备上面,比如闸机门禁、上班考勤机、手机刷脸支付等等。目前人脸识别技术存在巨大的安全问题,比如当用户的人脸信息被盗取后,被投放到手机屏幕、打印成照片或者制作成面具伪装用户人脸进行识别认证,对身份认证系统进行攻击。如果人脸认证系统对伪装的人脸信息没有准确检测,会给用户带来不可估量的损失,因此针对待认证的人脸进行活体检测很有必要。
3.目前针对活体检测的研究越来越成为人脸识别中重要的研究任务,但是活体数据相对比较集中,非活体数据的攻击类型越来越多,比如,使用黑白打印照片、彩色图片套袋以及使用不同材质制作的3d头模,因此活体检测系统除了需要针对常见的非活体数据进行检测外,还需要针对没有见过的未知数据进行检测。
技术实现要素:4.本技术提供一种检测模型的训练方法、装置及计算机可读存储介质,能够提高活体检测的准确率。
5.本技术实施例第一方面提供一种检测模型的训练方法,所述训练方法包括:按照如下方式对所述检测模型进行迭代处理,直至所述检测模型收敛:获取本次迭代处理所对应的多个样本图像,并按照攻击类型,将多个所述样本图像中的非活体图像划分为多个第一图像组;获取本次对检测模型进行迭代处理所对应的当前活体特征;分别确定每个所述第一图像组的样本特征与所述当前活体特征的第一距离值;分别根据每个所述第一图像组对应的所述第一距离值以及对应的度量值,确定每个所述第一图像组对应的第一评估值,其中,响应于所述第一图像组对应的所述第一距离值大于或者等于对应的所述度量值,所述第一图像组对应的所述第一评估值等于零,否则对应的所述第一评估值大于零;根据每个所述第一图像组对应的所述第一评估值,确定第一损失值,其中,所述第一图像组对应的所述第一评估值越小,所述第一损失值越小;根据所述第一损失值,对所述检测模型的参数进行调整。
6.本技术实施例第二方面提供一种训练装置,所述训练装置包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述方法中的步骤。
7.本技术实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。
8.有益效果是:本技术设置响应于第一图像组对应的第一距离值大于或者等于对应的度量值,第一图像组对应的第一评估值等于零,否则对应的第一评估值大于零,且第一损
失值与第一评估值正相关,从而在训练过程中尽量使第一图像组的样本特征与当前活体特征的第一距离值大于或者等于第一图像组对应的度量值,保证第一图像组的样本特征与当前活体特征之间的距离足够大,拉远第一图像组的非活体特征与当前活体特征之间的距离,从而在经过训练后,即使是攻击类型不明的非活体图像,检测模型也会将其准确识别为是非活体,可以提高检测模型检测的准确率。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
10.图1是本技术检测模型的训练方法一实施方式的流程示意图;
11.图2是图1中步骤s130的流程示意图;
12.图3是图1中步骤s140在一应用场景中的流程示意图;
13.图4是图1中步骤s140在另一应用场景中的流程示意图;
14.图5是图4中步骤s1412的流程示意图;
15.图6是图1中步骤s140在又一应用场景中的流程示意图;
16.图7是图6中步骤s1421的流程示意图;
17.图8是图1中步骤s150的流程示意图;
18.图9是本技术训练装置一实施方式的结构示意图;
19.图10是本技术训练装置另一实施方式的结构示意图;
20.图11是本技术计算机可读存储介质一实施方式的结构示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
22.参阅图1,图1是本技术检测模型的训练方法一实施方式的流程示意图,该方法包括:
23.按照重复以下步骤s110-s150,直至检测模型收敛:
24.s110:获取本次迭代处理所对应的多个样本图像,并按照攻击类型,将多个样本图像中的非活体图像划分为多个第一图像组。
25.具体地,非活体图像区别于活体图像,活体图像指的是直接对活体进行拍摄的图像,此时图像中的待认证对象是活体,而非活体图像则相反,其指的是图像中待认证对象不是活体的图像,例如,非活体图像中的待认证对象是纸张打印的对象,或者非活体图像中的待认证对象是2d面具、3d面具或者3d头模等。
26.其中,攻击类型指的是非活体图像中待认证对象的类型,例如,若非活体图像中待认证对象是纸张打印的对象,则该非活体图像的攻击类型为纸张打印攻击,若非活体图像
中待认证对象是2d面具,则该非活体图像的攻击类型为2d面具攻击,若非活体图像中待认证对象是3d头模,则该非活体图像的攻击类型为3d头模攻击。
27.在获取到多个样本图像后,将多个样本图像中的非活体图像进行分组:将攻击类型相同的样本图像划分到一组中去,攻击类型不同的样本图像划分到不同的组中去,从而得到多个第一图像组。例如,将攻击类型为纸张打印攻击的非活体图像划分到一组中去,将攻击类型为2d面具攻击的划分为另一组中去,将攻击类型为3d面具攻击的划分到又一组中去,将攻击类型为3d头模攻击的划分到再一组中去。
28.可以理解的是,在经过分组后,每个第一图像组都对应一个攻击类型,不同第一图像组对应的攻击类型不同。
29.需要说明的是,在不同的应用场景中,可以按照不同的规则对多个样本图像中的非活体图像进行分组,例如,非活体图像a中待认证对象是2d面具,非活体图像b中待认证对象是3d面具,在一应用场景中,可以将非活体图像a和非活体图像b的攻击类型确定为相同,均为面具攻击,而在另一应用场景中,将非活体图像a和非活体图像b的攻击类型确定为不相同:非活体图像a的攻击类型为2d面具攻击,非活体图像b的攻击类型为3d面具攻击。
30.总而言之,对于判定两种非活体图像的攻击类型是否相同的标准可以结合实际需求设定,在此不做限制。
31.s120:获取本次对检测模型进行迭代处理所对应的当前活体特征,并分别确定每个第一图像组的样本特征与当前活体特征的第一距离值。
32.具体地,每次在对检测模型进行训练后,当前活体特征就会更新。且对检测模型进行训练的目的,可以理解为是让当前活体特征更加接近真实活体的特征。其中步骤s120获取的是最新的当前活体特征,等下一次执行步骤s120时,获取的当前活体特征或本次获取的当前活体特征不同。
33.其中,每个第一图像组都会存在一个对应的样本特征,该样本特征与第一图像组中的样本图像相关。其中,第一图像组的样本特征是利用当前待训练的检测模型对第一图像组中的样本图像进行特征提取而得到的,也就是说,利用最新的检测模型对第一图像组中的样本图像进行特征提取,得到第一图像组的样本特征。
34.在一应用场景中,确定第一图像组的样本特征的过程可以是:利用当前待训练的检测模型对第一图像组中的每个样本图像进行特征提取,得到每个样本图像的图像特征,然后融合第一图像组中所有样本图像对应的图像特征,得到第一图像组对应的样本特征。其中,可以采用现有技术中任一种融合技术融合第一图像组中所有样本图像对应的图像特征,关于该融合过程,在此不做详述。
35.在另一应用场景中,确定第一图像组的样本特征的过程还可以是:利用当前待训练的检测模型对第一图像组中任意一个样本图像进行特征提取,然后将该样本图像的图像特征作为该第一图像组的样本特征。
36.总而言之,本技术对确定第一图像组的样本特征的具体过程不做限制,只要保证是利用当前待训练的检测模型进行特征提取的即可。
37.其中,检测模型在对样本图像进行特征提取时,可以提取样本图像高维的图像特征。其中,本技术对于检测模型的结构不做限制,例如其可以是resnet、vgg等基础网络,或者相关演变的网络。
38.其中,第一图像组的样本特征与当前活体特征的第一距离值越小,表明第一图像组的样本特征与当前活体特征的相似度越高。
39.其中,为了便于说明,假设从1开始对多个第一图像组进行标号,并将标号为i的第一图像组记为第一图像组i,第一图像组i的样本特征与当前活体特征的第一距离值记为dli,此处i的取值范围为[1,n],n为第一图像组的数量。
[0040]
在一应用场景中,将第一图像组i的样本特征与当前活体特征之间的欧式距离,确定为第一图像组i的样本特征与当前活体特征的第一距离值dli,即利用如下公式确定第一图像组i的样本图像与当前活体特征的第一距离值dli:
[0041]
其中,c
live
是当前活体特征,xi是第一图像组i的样本特征。
[0042]
当然在其他实施方式中,还可以采用其他公式确定第一图像组的样本特征与当前活体特征的第一距离值,本技术对确定第一距离值的具体不做限制。
[0043]
s130:分别根据每个第一图像组对应的第一距离值以及对应的度量值,确定每个第一图像组对应的第一评估值,其中,响应于第一图像组对应的第一距离值大于或者等于对应的度量值,第一图像组对应的第一评估值等于零,否则对应的第一评估值大于零。
[0044]
具体地,每个第一图像组都对应一个度量值,且每个第一图像组对应的度量值均为正数,其可以由设计人员预先设置。其中,将第一图像组i对应的度量值记为mi。其中,不同第一图像组对应的度量值可以相同,也可以不同。
[0045]
针对每个第一图像组而言,针对其对应的第一距离值、度量值,确定第一图像组对应的第一评估值,也就是说,每个第一图像组都会对应一个第一评估值。其中,将第一图像组i对应的第一评估值记为pi。
[0046]
其中,在确定第一图像组对应的第一评估值时,如果第一图像组对应的第一距离值大于或者等于对应的度量值,则确定对应的第一评估值等于零,否则确定对应的第一评估值大于零。
[0047]
参阅图2,在本实施方式中,对每个第一图像组都执行如下步骤s131-s134,从而确定每个第一图像组对应的第一评估值:
[0048]
s131:确定第一图像组对应的度量值减去对应的第一距离值的差值,得到第一图像组对应的第一差值。
[0049]
即,第一图像组i对应的第一差值为m
i-dli。
[0050]
s132:将第一差值与零组成第一数组。
[0051]
即,第一图像组i对应的第一数组为(0,m
i-dli)。
[0052]
s133:对第一数组进行取最大值操作,得到第一图像组对应的最大值。
[0053]
具体,在经过步骤s133后,第一图像组i对应的最大值等于max(0,m
i-dli)。
[0054]
s134:根据第一图像组对应的最大值,确定第一图像组对应的第一评估值。
[0055]
具体地,在得到第一图像组i对应的最大值后,可以直接将该最大值,确定为第一图像组i对应的第一评估值pi,即pi=max(0,m
i-dli),或者,可以对该最大值进行平方操作或者立方操作等操作,得到第一图像组i对应的第一评估值pi。
[0056]
在本实施方式中,对第一图像组i对应的最大值进行平方操作,得到第一图像组i对应的第一评估值pi,即pi=max(0,m
i-dli)2。其中为了便于说明,以下均以第一图像组i对
应的第一评估值为max(0,m
i-dli)2进行说明。
[0057]
从第一图像组i对应的第一评估值为max(0,m
i-dli)2可以看出,当m
i-dli≤0时,第一图像组i对应的第一评估值等于零,否则等于m
i-dli,也就是说,当第一图像组i对应的第一距离值dli大于或者等于对应的度量值mi时,第一图像组i对应的第一评估值等于零,否则对应的第一评估值大于零。
[0058]
需要说明的是,在其他实施方式中,还可以采用其他方法确定第一图像组对应的第一评估值,只要保证第一图像组对应的第一距离值大于或者等于对应的度量值时,第一图像组对应的第一评估值等于零,否则对应的第一评估值大于零即可。
[0059]
从上述内容可以看出,第一图像组对应的第一评估值最小等于零。
[0060]
s140:根据每个第一图像组对应的第一评估值,确定第一损失值,其中,第一图像组对应的第一评估值越小,第一损失值越小。
[0061]
具体地,第一损失值与第一评估值相关,第一评估值越小,第一损失值也越小。也就是说,第一损失值与第一评估值正相关。
[0062]
s150:根据第一损失值,对检测模型的参数进行调整。
[0063]
具体地,在步骤s150之后,再获取新的多个样本图像,并基于新的多个样本图像,执行步骤s110-s150,直至检测模型收敛。
[0064]
在上述实施方式中,设置响应于第一图像组对应的第一距离值大于或者等于对应的度量值,第一图像组对应的第一评估值等于零,否则对应的第一评估值大于零,且第一损失值与第一评估值正相关,从而在训练过程中尽量使第一图像组的样本特征与当前活体特征的第一距离值大于或者等于第一图像组对应的度量值,保证第一图像组的样本特征与当前活体特征之间的距离足够大,拉远第一图像组的非活体特征与当前活体特征之间的距离,从而在经过训练后,即使是攻击类型不明的非活体图像,检测模型也会将其准确识别为是非活体,可以提高检测模型检测的检测准确率。
[0065]
在一应用场景中,步骤s140利用如下公式确定第一损失值l
multimargin
:
[0066]
即将第一评估值的平均值,确定为第一损失值,此时可以满足第一图像组i对应的第一评估值越小,第一损失值越小的条件。可以理解的是,当pi=max(0,m
i-dli)2时,
[0067]
在另一应用场景中,参阅图3,步骤s140确定第一损失值的过程包括:
[0068]
s1401:确定第二图像组的样本特征与当前活体特征的第二距离值,其中,第二图像组包括多个样本图像中的活体图像。
[0069]
具体地,将多个样本图像中的活体图像分到一组中,得到第二图像组。可以理解的是,第二图像组的图像组数量为一个。
[0070]
且在得到第二图像组后,确定第二图像组的样本特征,其中,确定第二图像组的样本特征的过程与上述确定第一图像组的样本特征的过程类似,在此不再赘述。
[0071]
其中,确定第二图像组对应的第二距离值的过程,与上述确定第一图像组对应的第一距离值的过程类似,详见可参见上述内容,在此不再赘述。
[0072]
可以理解的是,第二图像组的样本特征与当前活体特征的第二距离值越小,表明第二图像组的样本特征与当前活体特征的相似度越高。
[0073]
s1402:根据第二距离值,确定第二评估值,其中,第二距离值越小,第二评估值越小。
[0074]
其中为了便于说明,将第二距离值记为dl
x
,将第二评估值记为k。其中,可以直接将第二距离值确定为第二评估值,即此时k=dl
x
,也可以将第二距离值进行平方或者立方等其他操作,从而得到第二评估值。
[0075]
在本实施方式中,对第二距离值进行平方操作,得到第二评估值,即k=dl
x2
。其中为了便于说明,以下均以第二评估值等于dl
x2
进行说明。
[0076]
s1403:根据第二评估值以及每个第一图像组对应的第一评估值,确定第一损失值,其中,第二评估值越小,第一损失值越小。
[0077]
具体地,第一损失值与第一评估值、第二评估值均相关,第一评估值越小,第一损失值越小,第二评估值越小,第一损失值也越小。也就是说的,第一损失值与第一评估值、第二评估值均正相关。
[0078]
其中,可以将所有第一评估值和第二评估值进行求和处理,得到第一损失值,或者也可以利用如下公式,确定第一损失值:
[0079]
其中,n+1为第一图像组的图像组数量与第二图像组的图像组数量的第一和值;为对所有第一评估值以及第二评估值进行求和处理而得到的第二和值;为第一和值的倒数与第二和值的第一乘积。
[0080]
可以理解的是,当pi=max(0,m
i-dli)2,k=dl
x2
时,
[0081]
需要说明的是,在上述应用场景中,直接将第一乘积确定为第一损失值,但是在其他应用场景中,在得到第一乘积后,还可以对第一乘积进行例如平方或者立方等其他操作而得到第一损失值。
[0082]
上述方案除了设置第一损失值与第一评估值正相关外,还设置第一损失值与第二评估值也正相关,从而在训练过程中尽量使第二图像组的样本特征与当前活体特征的距离小,可以拉近第二图像组的活体特征与当前活体特征之间的距离,从而进一步提高检测模型的检测准确率。
[0083]
在本实施方式中,第一图像组对应的攻击类型与活体的相似度越高,第一图像组对应的度量值越小。
[0084]
具体地,第一图像组对应的攻击类型越接近活体,第一图像组对应的度量值越小。
[0085]
为了更好地理解,在此结合实例进行说明:第一图像组1的攻击类型是纸张打印攻击,第一图像组2的攻击类型是2d面具攻击,第一图像组3的攻击类型是3d面具攻击,第一图像组4的攻击类型是3d头模攻击。根据常识可知,按照与活体的相似度从高到低进行顺序,
得到的排序结果为:第一图像组4、第一图像组3、第一图像组2、第一图像组1,则设置各个第一图像组之间度量值的大小关系为:m4《m3《m2《m1。
[0086]
上述根据第一图像组的攻击类型与活体之间的相似度,设置度量值,可以保证不同攻击类型的第一图像组的样本特征在特征空间的合理约束关系,进一步提高检测模型的检测准确率。
[0087]
在又一应用场景中,参阅图4,步骤s140确定第一损失值的过程包括:
[0088]
s1411:分别确定至少一个第一目标图像组对应的第一距离值减去第一目标图像组各自对应的第二目标图像组对应的第一距离值,得到每个第一目标图像组对应的第二差值,其中,第一目标图像组对应的度量值小于对应的第二目标图像组对应的度量值。
[0089]
具体地,第一目标图像组可以是任意一个第一图像组,且第一目标图像组对应的第二目标图像组可以是,对应的度量值大于第一目标图像组对应的度量值的任意一个第一图像组。
[0090]
例如,假设对于第一图像组1、第一图像组2、第一图像组3、第一图像组4,其度量值大小关系为:m1《m2《m3《m4,则若将第一图像组1作为第一目标图像组,则与该第一目标图像组对应的第二目标图像组可以是第一图像组2、第二图像组3或者第一图像组4。
[0091]
其中,步骤s1411可以是确定不同的第一目标图像组对应的第一距离值减小第一目标图像组各自对应的第二目标图像组对应的第一距离值,也可以是确定同一个第一目标图像组对应的第一距离值分别减小该第一目标图像组对应的多个第二目标图像组对应的第一距离值,或者还可以同时包括:确定不同的第一目标图像组对应的第一距离值减小第一目标图像组各自对应的第二目标图像组对应的第一距离值,以及确定同一个第一目标图像组对应的第一距离值分别减小对应的多个第二目标图像组对应的第一距离值。
[0092]
在本应用场景中,按照对应的度量值从小到大,对第一图像组进行排序,其中,第一目标图像组对应的第二目标图像组与第一目标图像组相邻。
[0093]
具体地,按照对应的度量值从小到大,对多个第一图像组进行排序后,对于任意一个第一目标图像组而言,其对应的第二目标图像组指的是与该第一目标图像组相邻且度量值大于第一目标图像组对应的度量值的第一图像组。
[0094]
为了便于说明,在将多个第一图像组按照对应的度量值从小到大的顺序进行排序后,按照从前到后的顺序,将多个第一图像组从1开始进行标号,此时m1《m2、m2《m3,
…
,mi《m
i+1
…
,m
n-1
《mn。
[0095]
此时若第一图像组i为第一目标图像组,则该第一目标图像组对应的第二目标图像组为第一图像组i+1,此时第二差值等于dl
i-dl
i+1
,此处i的取值范围为[0,n-1]。
[0096]
在该应用场景中,可以设置第二差值的数量为n-1个,即此时步骤s1411具体包括:计算所有第一目标图像组对应的第一距离值减去对应的第二目标图像组对应的第一距离值,即分别确定dl
1-dl2的值,dl
2-dl3的值,以此类推,直到dl
n-1-dln的值,从而得到n-1个第二差值。
[0097]
在其他应用场景中,还可以设置第二差值的数量小于n-1个,也就是说,只分别确定部分第一目标图像组对应的第一距离值减去第一目标图像组对应的第二目标图像组对应的第一距离值,但是为了便于说明,以下均以第二差值的数量为n-1个进行说明。
[0098]
s1412:确定每个第二差值对应的第三评估值,其中,响应于第二差值小于或者等
于零,第二差值对应的第三评估值等于零,否则对应的第三评估值大于零。
[0099]
具体地,在确定第二差值对应的第三评估值时,如果第二差值小于或者等于零,确定对应的第三评估值等于零,否则确定对应的第三评估值大于零。
[0100]
其中,将第二差值dl
i-dl
i+1
对应的第三评估值记为qi。
[0101]
参阅图5,在本应用场景,对于每个第二差值都执行如下步骤s14121-s14123,得到每个第二差值对应的第三评估值:
[0102]
s14121:将第二差值与零组成第二数组。
[0103]
具体地,第二差值dl
i-dl
i+1
与零组成的第二数组记为(0,dl
i-dl
i+1
)。
[0104]
s14122:对第二数组进行取最大值操作,得到第二差值对应的最大值。
[0105]
具体地,第二差值dl
i-dl
i+1
对应的最大值等于max(0,dl
i-dl
i+1
)。
[0106]
s14123:根据第二差值对应的最大值,确定第二差值对应的第三评估值。
[0107]
具体地,在得到第二差值对应的最大值后,可以直接将该最大值,确定为第二差值对应的第三评估值,即qi=max(0,dl
i-dl
i+1
),也可以对该最大值进行平方或者立方操作等操作,得到第二差值对应的第三评估值。
[0108]
在本实施方式中,对第二差值对应的最大值进行平方操作,得到第二差值对应的第三评估值,即qi=max(0,dl
i-dl
i+1
)2。其中为了便于说明,以下均以第三评估值为qi=max(0,dl
i-dl
i+1
)2进行说明。
[0109]
s1413:根据每个第一图像组对应的第一评估值以及每个第二差值对应的第三评估值,确定第一损失值,其中,第一差值对应的第三评估值越小,第一损失值越小。
[0110]
具体地,第一损失值与第一评估值、第三评估值均相关,第一评估值越小,第一损失值越小,第三评估值越小,第一损失值也越小。
[0111]
其中,可以将所有第一评估值和第三评估值进行求和处理,得到第一损失值,或者也可以利用如下公式,确定第一损失值:
[0112][0113]
具体地,第一评估值的数量为n,第三评估值的数量为n-1,则将第一评估值的数量与第三评估值的数量之和定义为第三和值,该第三和值为(2n-1);将所有第一评估值以及所有第三评估值进行求和处理而得到第四和值等于第三和值的倒数与第四和值的第二乘积等于
[0114]
上述公式直接将第二乘积,确定为第一损失值,但是在其他应用场景中,在得到第二乘积后,还可以对第二乘积进行例如平方或者立方等其他操作而得到第一损失值。
[0115]
可以理解的是,当pi=max(0,m
i-dli)2,qi=max(0,dl
i-dl
i+1
)2时,上述公式可以为
[0116]
在上述应用场景中,除了拉远第一图像组的样本特征与当前活体特征之间的距离外,还根据攻击类型与活体的相似度,在不同的第一图像组对应的第一距离值之间进行约
束,更加符合实际,可以进一步提高检测模型的检测准确率。
[0117]
在又一应用场景中,参阅图6,步骤s140确定第一损失值的步骤,包括:
[0118]
s1421:根据第二评估值、每个第一图像组对应的第一评估值、每个第二差值对应的第三评估值,确定第一损失值。
[0119]
其中,可以对第二评估值、所有的第一评估值以及所有的第三评估值进行求和处理,并将求和处理得到的值,确定为第一损失值。
[0120]
或者,参阅图7,步骤s1421可以具体包括:
[0121]
s14211:确定第一评估值的数量、第二评估值的数量以及第三评估值的数量之和,得到第五和值。
[0122]
可以理解的是,第五和值等于
[0123]
s14212:对所有第一评估值、第二评估值以及第三评估值进行求和处理,得到第六和值。
[0124]
具体地,第一评估值的数量为n个,第二评估值的数量为一个,第三评估值的数量为n-1个,则第六和值等于n+1+n-1,最终结果为2n个。
[0125]
s14213:确定第五和值的倒数与第六和值的第三乘积。
[0126]
具体地,第三乘积等于
[0127]
s14214:根据第三乘积,确定第一损失值。
[0128]
具体地,可以将第三乘积直接确定为第一损失值,也可以对第三乘积进行平方或者立方等操作,得到第一损失值。
[0129]
例如,将第三乘积,确定为第一损失值时,第一损失值的计算公式为:
[0130][0131]
其中,当k=dl
x2
,pi=max(0,m
i-dli)2,以及qi=max(0,dl
i-dl
i+1
)2时,上述公式为:
[0132]
在本应用场景中,一方面拉远第一图像组的样本特征与当前活体特征之间的距离,另一方面拉进第二图像组的样本特征与当前活体特征之间的距离,同时还根据对应攻击类型与活体的相似度,在不同的第一图像组对应的第一距离值之间进行约束,更加符合实际,可以进一步提高检测模型的检测准确率。
[0133]
以上介绍的是确定第一损失值的具体过程,下面介绍根据第一损失值,对检测模型进行训练的过程:
[0134]
在一应用场景中,可以仅利用第一损失值对检测模型进行训练。
[0135]
在另一应用场景中,参阅图8,步骤s150包括:
[0136]
s151:利用检测模型分别对多个样本图像进行活体检测,得到多个检测结果。
[0137]
具体地,利用检测模型分别对每个样本图像进行活体检测,得到每个样本图像对应的检测结果。
[0138]
其中,检测模型可以是一个二分类的检测模型,即将所接收到的图像判定为活体图像,还是非活体图像,或者检测模型还可以是一个多分类的检测模型,即将所接收到的图像判定为活体图像,还是非活体图像,且当判定为非活体图像,还会判定非活体图像对应的攻击类型,例如是纸张打印攻击、2d面具攻击或者3d头模攻击。
[0139]
s152:根据多个检测结果,确定第二损失值。
[0140]
具体地,将第二损失值记为l
cls
,其中,可以利用交叉熵损失函数,确定第二损失值,也可以利用其他损失函数,确定第二损失值。
[0141]
其中根据多个检测结果,确定第二损失值的过程属于现有技术,在此不做详述。
[0142]
s153:根据第一损失值以及第二损失值,确定总损失值。
[0143]
其中,可以对第一损失值与第二损失值进行求和处理,得到总损失值,也可以对第一损失值与第二损失值进行求和处理后,将求和的结果除以二,得到总损失值。
[0144]
或者,还可以对第一损失值与第二损失值进行加权求和处理,得到总损失值,即按照如下公式确定总损失值lc:
[0145]
lc=γ1×
l
cls
+γ2×
l
multimargin
,其中,l
cls
为第二损失值,γ1为第二损失值对应的权重,l
multimargin
为第一损失值,γ2为第一损失值对应的权重。
[0146]
其中,γ1、γ2可由设计人员预先设置,在此不做限制。
[0147]
s154:根据总损失值,对检测模型的参数进行调整。
[0148]
根据最终得到的总损失值,对检测模型的参数进行调整。
[0149]
在上述方案中,融合第一损失值和第二损失值,得到总损失值,其中,确定第一损失值和确定第二损失值的过程不同,从而基于总损失值对检测模型进行训练,可以进一步提高检测模型的准确率。
[0150]
参阅图9,图9是本技术训练装置一实施方式的结构示意图。该训练装置200包括处理器210、存储器220以及通信电路230,处理器210分别耦接存储器220、通信电路230,存储器220中存储有程序数据,处理器210通过执行存储器220内的程序数据以实现上述任一项实施方式方法中的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
[0151]
其中,训练装置200可以是电脑、手机等任一项具有图像处理能力的装置,在此不做限制。
[0152]
参阅图10,图10是本技术训练装置另一实施方式的结构示意图。该训练装置300包括获取模块310、第一确定模块320、第二确定模块330、第三确定模块340以及训练模块350。
[0153]
获取模块310用于在获取到多个样本图像后,按照攻击类型,将多个样本图像中的非活体图像划分为多个第一图像组。
[0154]
第一确定模块320与获取模块310连接,用于分别确定每个第一图像组的样本特征与当前活体特征的第一距离值,其中,每次在对检测模型进行训练后,当前活体特征得到更新。
[0155]
第二确定模块330与第一确定模块320连接,用于分别根据每个第一图像组对应的第一距离值以及对应的度量值,确定每个第一图像组对应的第一评估值,其中,响应于第一图像组对应的第一距离值大于或者等于对应的度量值,第一图像组对应的第一评估值等于零,否则对应的第一评估值大于零。
[0156]
第三确定模块340与第二确定模块330连接,用于根据每个第一图像组对应的第一
评估值,确定第一损失值,其中,第一图像组对应的第一评估值越小,第一损失值越小。
[0157]
训练模块350与第三确定模块340连接,用于根据第一损失值,对检测模型进行训练。
[0158]
其中,训练装置300在工作时执行上述任一项实施方式中的方法步骤,详细的方法步骤可参见上述内容,在此不再赘述。
[0159]
其中,训练装置300可以是电脑、手机等任一项具有图像处理能力的装置,在此不做限制。
[0160]
参阅图11,图11是本技术计算机可读存储介质一实施方式的结构示意图。该计算机可读存储介质400存储有计算机程序410,计算机程序410能够被处理器执行以实现上述任一项方法中的步骤。
[0161]
其中,计算机可读存储介质400具体可以为u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储计算机程序410的装置,或者也可以为存储有该计算机程序410的服务器,该服务器可将存储的计算机程序410发送给其他设备运行,或者也可以自运行该存储的计算机程序410。
[0162]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:1.一种检测模型的训练方法,其特征在于,所述方法包括:按照如下方式对所述检测模型进行迭代处理,直至所述检测模型收敛:获取本次迭代处理所对应的多个样本图像,并按照攻击类型,将多个所述样本图像中的非活体图像划分为多个第一图像组;获取本次迭代处理所对应的当前活体特征;分别确定每个所述第一图像组的样本特征与所述当前活体特征的第一距离值;分别根据每个所述第一图像组对应的所述第一距离值以及对应的度量值,确定每个所述第一图像组对应的第一评估值,其中,响应于所述第一图像组对应的所述第一距离值大于或者等于对应的所述度量值,所述第一图像组对应的所述第一评估值等于零,否则对应的所述第一评估值大于零;根据每个所述第一图像组对应的所述第一评估值,确定第一损失值,其中,所述第一图像组对应的所述第一评估值越小,所述第一损失值越小;根据所述第一损失值,对所述检测模型的参数进行调整。2.根据权利要求1所述的方法,其特征在于,所述分别根据每个所述第一图像组对应的所述第一距离值以及对应的度量值,确定每个所述第一图像组对应的第一评估值的步骤,包括:分别确定每个所述第一图像组对应的所述度量值减去对应的所述第一距离值的差值,得到每个所述第一图像组对应的第一差值;分别将每个所述第一差值与零组成数组,得到多个第一数组;分别对每个所述第一数组进行取最大值操作,得到每个所述第一图像组对应的最大值;分别根据每个所述第一图像组对应的最大值,确定每个所述第一图像组对应的所述第一评估值。3.根据权利要求2所述的方法,其特征在于,所述分别根据每个所述第一图像组对应的最大值,确定每个所述第一图像组对应的所述第一评估值的步骤,包括:分别对每个所述第一图像组对应的最大值进行平方操作,得到每个所述第一图像组对应的所述第一评估值。4.根据权利要求1所述的方法,其特征在于,所述根据每个所述第一图像组对应的所述第一评估值,确定第一损失值的步骤,包括:确定第二图像组的样本特征与所述当前活体特征的第二距离值,其中,所述第二图像组包括多个所述样本图像中的活体图像;根据所述第二距离值,确定第二评估值,其中,所述第二距离值越小,所述第二评估值越小;根据所述第二评估值以及每个所述第一图像组对应的所述第一评估值,确定所述第一损失值,其中,所述第二评估值越小,所述第一损失值越小。5.根据权利要求4所述的方法,其特征在于,所述根据每个所述第一图像组对应的所述第一评估值以及所述第二距离值,确定所述第一损失值的步骤,包括:确定所述第一图像组的图像组数量与所述第二图像组的图像组数量的第一和值;对所有所述第一评估值以及所述第二评估值进行求和处理,得到第二和值;
确定所述第一和值的倒数与所述第二和值的第一乘积;根据所述第一乘积,确定所述第一损失值。6.根据权利要求1所述的方法,其特征在于,所述第一图像组对应的所述攻击类型与活体的相似度越高,所述第一图像组对应的所述度量值越小。7.根据权利要求6所述的方法,其特征在于,所述根据每个所述第一图像组对应的所述第一评估值,确定第一损失值的步骤,包括:分别确定至少一个第一目标图像组对应的所述第一距离值减去所述第一目标图像组各自对应的第二目标图像组对应的所述第一距离值,得到每个所述第一目标图像组对应的第二差值,其中,所述第一目标图像组对应的所述度量值小于对应的所述第二目标图像组对应的所述度量值;确定每个所述第二差值对应的第三评估值,其中,响应于所述第二差值小于或者等于零,所述第二差值对应的所述第三评估值等于零,否则对应的所述第三评估值大于零;根据每个所述第一图像组对应的所述第一评估值以及每个所述第二差值对应的所述第三评估值,确定所述第一损失值,其中,所述第三评估值越小,所述第一损失值越小。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:按照对应的所述度量值从小到大,对多个所述第一图像组进行排序;其中,所述第一目标图像组对应的所述第二目标图像组与所述第一目标图像组相邻。9.根据权利要求7所述的方法,其特征在于,所述确定每个所述第二差值对应的第三评估值的步骤,包括:分别将每个所述第二差值与零组成数组,得到多个第二数组;分别对每个所述第二数组进行取最大值操作,得到每个所述第二差值对应的最大值;分别根据每个所述第二差值对应的最大值,确定每个所述第二差值对应的所述第三评估值。10.根据权利要求9所述的方法,其特征在于,所述分别根据每个所述第二差值对应的最大值,确定每个所述第二差值对应的所述第三评估值的步骤,包括:分别对每个所述第二差值对应的最大值进行平方操作,得到每个所述第二差值对应的所述第三评估值。11.根据权利要求7所述的方法,其特征在于,所述根据每个所述第一图像组对应的所述第一评估值以及每个所述第二差值对应的所述第三评估值,确定所述第一损失值的步骤,包括:确定所述第一评估值的数量与所述第三评估值的数量之和,得到第三和值;将所有所述第一评估值以及所有所述第三评估值进行求和处理,得到第四和值;确定所述第三和值的倒数与所述第四和值的第二乘积;根据所述第二乘积,确定所述第一损失值。12.根据权利要求1所述的方法,其特征在于,所述根据所述第一损失值,对所述检测模型的参数进行调整的步骤,包括:利用所述检测模型分别对多个所述样本图像进行活体检测,得到多个检测结果;根据多个所述检测结果,确定第二损失值;根据所述第一损失值以及所述第二损失值,确定总损失值;
根据所述总损失值,对所述检测模型的参数进行调整。13.根据权利要求12所述的方法,其特征在于,所述根据所述第一损失值以及所述第二损失值,确定总损失值的步骤,包括:对所述第一损失值与所述第二损失值进行加权求和处理,得到所述总损失值。14.一种训练装置,其特征在于,所述训练装置包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现如权利要求1-13任一项所述方法中的步骤。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-13任一项所述方法中的步骤。
技术总结本申请公开了一种检测模型的训练方法、装置及计算机可读存储介质,该训练方法包括:获取本次迭代处理所对应的多个样本图像,并按照攻击类型,将多个样本图像中的非活体图像划分为多个第一图像组;获取本次对检测模型进行迭代处理所对应的当前活体特征;分别确定每个第一图像组的样本特征与当前活体特征的第一距离值;分别根据每个第一图像组对应的第一距离值以及对应的度量值,确定每个第一图像组对应的第一评估值;根据每个第一图像组对应的第一评估值,确定第一损失值;根据第一损失值,对检测模型的参数进行调整。本申请所提供的训练方法能够提高活体检测的准确率。法能够提高活体检测的准确率。法能够提高活体检测的准确率。
技术研发人员:李永凯 朱树磊 王宁波 郝敬松 殷俊
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:2022.06.20
技术公布日:2022/11/1