一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人脸活体识别网络训练方法、系统及电子设备与流程

2022-05-08 08:08:59 来源:中国专利 TAG:


1.本发明涉及人脸活体识别网络技术领域,特别涉及一种人脸活体识别网络训练方法、系统及电子设备。


背景技术:

2.人脸活体检测(face anti-spoofing)是应用计算机图像处理技术来应对伪造人脸攻击的方法,目的是捕捉到真实的人脸,防止攻击的人脸入侵而带来的损害,目前,人脸攻击的方法大致分为几种:纸质攻击、屏幕攻击和3d面具攻击,具体可细分成更多(如a4纸、海报、pc、pad等等)。活体人脸和非活体人脸在图像上存在微小的差异,如颜色纹理、非刚性运动变形等,早期的方法都是基于这些图像特征进行特征设计,最后通过机器学习分类器做决策分析。
3.随着互联网和大数据的发展,人脸识别已经被应用到各行各业,特别是在门禁、金融支付以及其他一些安全性较高的行业,不但对人脸的识别率有较高的要求,而且面对较复杂的人脸攻击,传统的基于图像特征设计的人脸活体检测方法已经无法满足要求,随着近年来深度学习的快速发展,越来越多的特征工程已经逐渐被深度卷积网络所替代。
4.人脸活体检测是一个二分类问题,传统的卷积神经网络二分类方法一般使用softmax loss来做监督函数,而传统的softmax loss为:
[0005][0006]
其中fi是最后的全连接层的第i个样本,以上采用softmax loss来做监督函数会导致不同的样本间差距过大,对活体识别的准确度较低。


技术实现要素:

[0007]
为了克服目前现有的人脸活体检测准确度较低的问题,本发明提供人脸活体识别网络训练方法、系统及电子设备。
[0008]
本发明为解决上述技术问题,提供一种人脸活体识别网络训练方法,包括如下步骤:
[0009]
获取经过预处理的图像;
[0010]
将图像进行特征提取,检测图像中的人脸特征,获得分类预测结果;
[0011]
基于分类预测结果,采用am-softmax loss函数计算对应的损失函数值;
[0012]
基于损失函数值,采用梯度下降算法反向求取梯度,更新识别网络的模型参数。
[0013]
优选地,所述am-softmax loss函数具体为:
[0014][0015]
优选地,式中,缩放因子s设定为1,m设定为0.5。
[0016]
优选地,图像的预处理包括图像增强和/或图像缩放处理。
[0017]
本发明还提供一种人脸活体识别网络系统,包括:
[0018]
图像预处理单元,用于获取经过预处理的图像;
[0019]
预测单元,用于将图像进行特征提取,检测图像中的人脸特征,获得分类预测结果;
[0020]
损失监督单元,用于基于分类预测结果,采用am-softmax loss函数计算对应的损失函数值;
[0021]
模型更新单元,用于基于损失函数值,采用梯度下降算法反向求取梯度,更新识别网络的模型参数。
[0022]
本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被设置为运行时执行上述任一项中所述的人脸活体识别网络训练方法;所述处理器被设置为通过所述计算机程序执行上述任一项中所述的人脸活体识别网络训练方法。
[0023]
与现有技术相比,本发明提供的一种人脸活体识别网络训练方法、系统及电子设备,具有以下优点:
[0024]
通过在人脸识别的神经网络中引入am-softmax loss作为损失函数以监督梯度下降,能够在不同的样本间建立一个角度边界,在不同样本之间形成一个大角度的间隔监督函数,能更大的拉开样本之间的差别,增强了类间距离,使得训练后的识别网络在面对多种攻击人脸时具有更高的识别精度,准确区分人脸活体,提高识别准确度。
附图说明
[0025]
图1为本发明第一实施例提供的一种人脸活体识别网络训练方法的整体流程图。
[0026]
图2为本发明第二实施例提供的一种人脸活体识别网络训练系统的模块图。
[0027]
图3为本发明第三实施例提供的一种电子设备的模块图。
[0028]
附图标记说明:
[0029]
1、图像预处理单元;2、预测单元;3、损失监督单元;4、模型更新单元;10、存储器;20、处理器。
具体实施方式
[0030]
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0031]
请参阅图1,本发明第一实施例提供一种人脸活体识别网络训练方法,包括以下步骤:
[0032]
步骤s1:获取经过预处理的图像;
[0033]
步骤s2:将图像进行特征提取,检测图像中的人脸特征,获得分类预测结果;
[0034]
步骤s3:基于分类预测结果,采用am-softmax loss函数计算对应的损失函数值;
[0035]
步骤s4:基于损失函数值,采用梯度下降算法反向求取梯度,更新识别网络的模型参数。
[0036]
可以理解,在步骤s1中预设的用于识别人脸活体的网络获取经过预处理后的图像,预处理的方式包括现有常见的图像增强、图像缩放处理(resize、image augmentation)等方式,使得图像便于网络的识别,提高准确度。
[0037]
可以理解,在步骤s2中,识别网络对图像中的人脸进行特征提取和识别,在一些特殊的实施例中,识别网络还可以针对人脸角度的偏转进行预测,也即分为对人脸特征的识别以及人脸角度偏转的预测。在获取活体人脸的图像时,由于用户拍摄的角度有差别,无法做到完全正对拍摄角度,故针对人脸角度偏转也进行检测。当然还可以针对其他情况进行识别,在此不再赘述。
[0038]
可以理解,在步骤s3中,识别网络在进行特征提取和识别,其基于softmax层可输出输入图像属于活体(live)或者非活体(spoof)的置信度,进而获得识别结果,在输出结果后对照真实结果,计算预测结果与真实结果的损失函数值。本实施例中,采用am-softmax loss(additive margin softmaxloss)作为损失函数,其在softmax loss的基础上增加一个ψ(θ)=cos(θ)-m,在输入之前首先将特征和权重归一化得到在推理过程中只需要计算ψ(x)=x-m,所以对ψ(x)求得的倒数为ψ

(x)=1,具体地,在本实施例中,完整的am-softmax loss如下:
[0039][0040]
在上式子中,s是一个缩放因子(超参数),引用超参数s缩放余弦值,经过多次验证测试,通过在反向传播时来学习超参数s并不会太多改变该值,并且收敛的速度较慢,所以超参数s直接设定为1,m设定为0.5,能加速模型的收敛。
[0041]
可以理解,在步骤s4中,在获得基于am-softmax loss监督的损失函数值后,通过
梯度下降算法反向求取梯度,以更新人脸活体识别网络的模型参数,且模型参数的更新,取决于用于采用图像进行训练的样本类型以及样本数量,也即本技术提供的人脸活体识别网络训练方法可基于用户选择进行多次重复的训练,以期获得需要的识别精度。
[0042]
可以理解,在本实施例中,采用常见的卷积神经网络(cnn)进行识别,一个cnn网络主要包含卷积层,池化层(pooling),全连接层及损失层,本实施例的cnn其基于am-softmax loss用于监督梯度的下降,而常见的用于人脸识别的cnn只是设置了softmax loss作为梯度下降的监督。
[0043]
可以理解,在本实施例中,引入的am-softmax loss作为损失函数,能在不同的样本间建立一个角度边界,在不同样本之间形成一个大角度的间隔监督函数,能更大的拉开样本之间的差别,增强了类间距离,使得训练后的识别网络对活体检测的准确度更高,降低了攻击人脸的干扰。
[0044]
请参阅图2,本发明第二实施例还提供一种人脸活体识别网络训练系统。用于执行上述第一实施例中人脸活体识别网络训练方法,该人脸活体识别网络训练系统可以包括:
[0045]
图像预处理单元1,用于实施上述步骤s1,用于获取经过预处理的图像;
[0046]
预测单元2,用于实施上述步骤s2,用于将图像进行特征提取,检测图像中的人脸特征,获得分类预测结果;
[0047]
损失监督单元3,用于实施上述步骤s3,用于基于分类预测结果,采用am-softmax loss函数计算对应的损失函数值;
[0048]
模型更新单元4,用于实施上述步骤s4,用于基于损失函数值,采用梯度下降算法反向求取梯度,更新识别网络的模型参数。
[0049]
请参阅图3,本发明第三实施例提供一种用于实施上述人脸活体识别网络训练方法的电子设备,所述电子设备包括存储器10和处理器20,所述存储器10中存储有运算机程序,所述运算机程序被设置为运行时执行上述任一项人脸活体识别网络训练方法实施例中的步骤。所述处理器20被设置为通过所述运算机程序执行上述任一项人脸活体识别网络训练方法实施例中的步骤。
[0050]
可选地,在本实施例中,上述电子设备可以位于运算机网络的多个网络设备中的至少一个网络设备。
[0051]
与现有技术相比,本发明提供的一种人脸活体识别网络训练方法、系统及电子设备,具有以下优点:
[0052]
通过在人脸识别的神经网络中引入am-softmax loss作为损失函数以监督梯度下降,能够在不同的样本间建立一个角度边界,在不同样本之间形成一个大角度的间隔监督函数,能更大的拉开样本之间的差别,增强了类间距离,使得训练后的识别网络在面对多种攻击人脸时具有更高的识别精度,准确区分人脸活体,提高识别准确度。
[0053]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。
[0054]
在该计算机程序被处理器执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术所述的计算机存储器可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机存储器例如可以是——但不限于——电、磁、光、电磁、
红外线、或半导体的系统、装置或器件,或者任意以上的组合。
[0055]
计算机存储器的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读信号介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等,或者上述的任意合适的组合。
[0056]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0057]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0058]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括图像预处理单元、预测单元、损失监督单元及模型更新单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,图像预处理单元还可以被描述为“用于获取经过预处理的图像的单元”。
[0059]
作为另一方面,本技术还提供了一种计算机存储器,该计算机存储器可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机存储器承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取经过预处理的图像;将图像进行特征提取,检测图像中的人脸特征,获得分类预测结果;
基于分类预测结果,采用am-softmax loss函数计算对应的损失函数值;基于损失函数值,采用梯度下降算法反向求取梯度,更新识别网络的模型参数。
[0060]
以上仅为本发明较佳实施例而已,并不用以限制本发明,凡在本发明原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献