人脸识别方法、装置、设备及存储介质与流程
未命名
07-12
阅读:114
评论:0
1.本技术涉及生物识别技术领域,具体而言,本技术涉及一种人脸识别方法、装置、设备及存储介质。
背景技术:
2.生物识别技术是指使用人体的部分生物特征,对用户身份进行标记和标识的一种技术。生物特征可分为两大类别:生理特征和行为特征。前者与身体外形相关,主要包括人脸识别、指纹扫描、虹膜扫描、静脉扫描等,后者与行为习惯相关,主要包括声纹识别、微表情识别等。
3.随着移动互联网的发展,身份验证场景(确定用户对象的真实性)在金融保险、银行证券等领域得到越来越多关注,金融机构在使用人脸识别技术的时候,假脸攻击对人脸活体检测的威胁也越来越大,而且假脸攻击手段越来越丰富,现有一般基于角点计算图像相似度的方式判断是否属于假脸攻击,但这种方式在复杂背景条件下经常会出现角点误匹配,导致人脸识别出错。
技术实现要素:
4.本技术的主要目的为提供一种人脸识别方法、装置、设备及存储介质,以辅助假脸攻击的筛查,用于辅助人脸活体检测,提高人脸识别的准确性。
5.为了实现上述发明目的,本技术提供一种人脸识别方法,包括:
6.获取人脸训练图像;
7.对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;
8.将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;
9.根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;
10.当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;
11.获取人脸图像对;
12.将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;
13.根据所述目标背景相似概率确定所述人脸图像对的识别结果。
14.优选地,所述将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率,包括:
15.将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行重复迭代预设次数的训练,输出每次训练后每对所述目标人脸训练图像的背景相似概率。
16.进一步地,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值之前,还包括:
17.计算训练后的所述孪生网络模型的学习率;
18.当确定所述学习率低于预设学习率时,再次对所述孪生网络模型进行重复迭代预设次数的训练。
19.进一步地,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值之后,还包括:
20.当确定所述损失值大于预设损失值时,基于所述损失值调整所述孪生网络模型的内部参数;
21.将每对所述目标人脸训练图像输入调整内部参数后的所述孪生网络模型进行再次训练,直至所述损失值小于或等于预设损失值为止。
22.优选地,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值,包括如下公式:
[0023][0024]
其中,所述p为损失值,所述y为背景相似概率,所述dw为所述孪生网络模型的输出之间的欧氏距离,所述max(0,m-dw)表示0和m-dw之间数值大的值,所述m是大于0的边际价值。
[0025]
优选地,所述对所述人脸训练图像进行预处理,得到多对目标人脸训练图像,包括:
[0026]
对所述人脸训练图像进行数据扩增和/或数据归一化处理,得到多对目标人脸训练图像;其中,所述数据扩增包括随机补边和随机颜色抖动。
[0027]
优选地,所述孪生网络模型的主干网络为mobilenetv2,所述mobilenetv2在最后一层的全连接层中接入多尺度卷积层。
[0028]
本技术还提供一种人脸识别装置,所述装置包括:
[0029]
第一获取模块,用于获取人脸训练图像;
[0030]
预处理模块,用于对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;
[0031]
训练模块,用于将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;
[0032]
计算模块,用于根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;
[0033]
第一确定模块,用于当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;
[0034]
第二获取模块,用于获取人脸图像对;
[0035]
输入模块,用于将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;
[0036]
第二确定模块,用于根据所述目标背景相似概率确定所述人脸图像对的识别结果。
[0037]
本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0038]
本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算
机程序,该计算机程序被处理器执行时实现上述任一项所述方法的步骤。
[0039]
本技术所提供的一种人脸识别方法、装置、设备及存储介质,通过获取人脸训练图像,对人脸训练图像进行预处理,得到多对目标人脸训练图像;将每对目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对目标人脸训练图像的背景相似概率,根据预设的损失函数及背景相似概率计算训练后的孪生网络模型的损失值;当确定损失值小于或等于预设损失值时,将训练后的孪生网络模型作为目标孪生网络模型;然后获取人脸图像对,将人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果,从而采用基于孪生网络提取人脸图像对的高阶背景特征,计算两者之间的目标背景相似概率,以确定人脸图像对是否属于相似的背景,从而针对复杂环境的背景具有更好的鲁棒性,以辅助假脸攻击的筛查,提高人脸识别的准确性。
附图说明
[0040]
图1为本技术一实施例的人脸识别方法的流程示意图;
[0041]
图2为本技术一实施例的人脸识别装置的结构示意框图;
[0042]
图3为本技术一实施例的计算机设备的结构示意框图。
[0043]
本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0044]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0045]
本技术提出的一种人脸识别方法,执行主体为计算机设备,该人脸识别方法用于解决目前基于角点计算图像相似度判断是否属于假脸攻击的方式,在复杂背景条件下经常会出现角点误匹配,导致人脸识别出错的技术问题。
[0046]
参考图1,其中一个实施例中,本技术提供一种人脸识别方法,所述方法包括:
[0047]
s11、获取人脸训练图像;
[0048]
s12、对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;
[0049]
s13、将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;
[0050]
s14、根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;
[0051]
s15、当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;
[0052]
s16、获取人脸图像对;
[0053]
s17、将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;
[0054]
s18、根据所述目标背景相似概率确定所述人脸图像对的识别结果。
[0055]
本实施例的计算机设备采集有含有人脸和背景信息的人脸训练图像,人脸训练图像用于训练孪生网络模型,且人脸训练图像的数量越多,则孪生网络模型的训练效果越好,一般设定为百万量级。背景信息包括背景的颜色及一些标识物。
[0056]
需要说明的是,本实施例获取的人脸训练图像可以是用户上传的图像,如用户通过手机拍摄得到的头像,也可以为截取手机屏幕内容的截屏图像等等。
[0057]
在获取到人脸训练图像后,还可对每张人脸训练图像进行预处理,得到多对目标人脸训练图像,如对人脸训练图像进行随机扩增处理、调整人脸训练图像的图像尺寸、亮度、清晰度、背景颜色、背景中的标识物等等。其中,每对目标人脸训练图像中都包括一张人脸训练图像及该张人脸训练图像预处理后得到的图像。
[0058]
此外,通常的人脸训练图像为彩色,具有多种颜色,为利于将人脸训练图像中的高阶背景特征提取出来,还可以对人脸训练图像进行二值化处理,将人脸训练图像转换为黑白图像,以凸显人脸训练图像中的高阶背景特征,避免人脸训练图像中的颜色干扰。
[0059]
在本实施例中,随机扩增处理的方式包括但不限于对图像进行翻转、平移、缩放、调整图像rgb各通道权重以及对图像进行旋转等。例如,可以对人脸训练图像进行翻转,然后对翻转后的人脸训练图像进行放大。
[0060]
本实施例将每对目标人脸训练图像输入孪生网络模型,孪生网络模型各有1024维向量,将两个列向量作为输入给到一个二元分类网络中,输出1表示是该对目标人脸训练图像的背景相似,0则表示该对目标人脸训练图像的背景不相似。通过训练,使分类器能够通过获得一个合适的权重,能够在运算后输出两张照片是相似背景的概率。
[0061]
其中,孪生网络(siamese network)是一种网络结构,通过一个nn将样本的维度降低到某个较低的维度。在低维空间中,对任意两个样本进行分析:
[0062]
如果它们是相同类别,空间距离尽量接近0;
[0063]
如果它们是不同类别,空间距离大于某个间隔。
[0064]
孪生网络就是“连体的神经网络”,包括network1和network2,神经网络的“连体”是通过共享权值来实现的,network1和network2两个神经网络的权重一样,甚至可以两者是同一个网络,不用实现另外一个,因为权值都一样。
[0065]
孪生网络有两个输入(input1 and input2),将两个输入进入两个神经网络(network1 and network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过损失值的计算,评价两个输入的相似度。
[0066]
在本实施例中,在对孪生网络模型每次训练后,可利用预设的交叉熵损失函数计算每次训练完成后的孪生网络模型的损失值,并在损失值满足预设阈值或小于预设损失值时,即孪生网络模型的训练结果满足要求,完成所述孪生网络模型的训练,将训练后的所述孪生网络模型作为目标孪生网络模型,用于辅助人脸识别,提高人脸识别的准确率。
[0067]
其中,交叉熵损失函数是用来评价神经网络模型的预测值和真实值不一样的程度,损失函数越好,通常目标孪生网络模型的性能越好。此外,交叉熵损失函数经常用于分类问题中,特别是在神经网络做分类问题时,也经常使用交叉熵作为损失函数,由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和sigmoid(或softmax)函数一起出现。此外,本实施例的损失函数不做具体限定,例如可以是均方差函数、协方差函数等等。
[0068]
另外,本实施例的预设损失值可以根据实际情况而定,而且该预设损失值与孪生网络模型最终训练好时对应的损失阈值不同,一般这里的预设损失值大于孪生网络模型最终训练好时对应的损失阈值。
[0069]
最后,本实施例获取需要识别的人脸图像对,人脸图像对包括两张人脸图像,将人
脸图像对输入目标孪生网络模型中,目标孪生网络模型提取出每张人脸图像的高阶背景特征,并计算两者之间高阶背景特征的相似度,得到人脸图像对的目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果。例如,当人脸图像对的目标背景相似概率较高时,则表明这两张人脸图像是在同一个背景下拍摄的,从而针对复杂环境的背景具有更好的鲁棒性,以辅助假脸攻击的筛查,提高人脸识别的准确性。
[0070]
例如,计算机设备采集到的人脸图像输入目标孪生网络模型,从中提取高阶背景特征得到a;人脸黑产攻击样本输入目标孪生网络模型,从中提取高阶背景特征b,利用相似度计算公式计算a与b之间的余弦相似度,公式如下:
[0071][0072]
本技术所提供的一种人脸识别方法,通过获取人脸训练图像,对人脸训练图像进行预处理,得到多对目标人脸训练图像;将每对目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对目标人脸训练图像的背景相似概率,根据预设的损失函数及背景相似概率计算训练后的孪生网络模型的损失值;当确定损失值小于或等于预设损失值时,将训练后的孪生网络模型作为目标孪生网络模型;然后获取人脸图像对,将人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果,从而采用基于孪生网络提取人脸图像对的高阶背景特征,计算两者之间的目标背景相似概率,以确定人脸图像对是否属于相似的背景,从而针对复杂环境的背景具有更好的鲁棒性,以辅助假脸攻击的筛查,提高人脸识别的准确性。
[0073]
在一实施例中,所述将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率,包括:
[0074]
将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行重复迭代预设次数的训练,输出每次训练后每对所述目标人脸训练图像的背景相似概率。
[0075]
本实施例可设置神经网络模型的迭代条件,迭代条件包括训练次数或训练时长等等,当神经网络模型满足迭代条件时,则结束训练,此时获取所述神经网络模型训练后的训练结果,判断训练结果是否满足要求,在判定训练结果满足要求时,则将训练后的所述神经网络模型作为文本识别模型,用于识别图像中的文本信息。
[0076]
在一实施例中,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值之前,还包括:
[0077]
计算训练后的所述孪生网络模型的学习率;
[0078]
当确定所述学习率低于预设学习率时,再次对所述孪生网络模型进行重复迭代预设次数的训练。
[0079]
每个机器学习都会面临调参过程的考验,而在调参过程中,学习率(learning rate)的调整则又是非常重要的一部分。学习率代表了神经网络中随时间推移,信息累积的速度。学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它。相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量,当学习率最优时,模型的有效容量最大。因此,为了训练神经网络,其中一个需要设置的关键超参数是学习率。
[0080]
选择最优学习率是很重要的,因为它决定了神经网络是否可以收敛到全局最小值。选择较高的学习率,它可能在你的损失函数上带来不理想的后果,因此几乎从来不能到达全局最小值,因为你很可能跳过它。所以,你总是在全局最小值附近,但是从未收敛到全局最小值。选择较小的学习率有助于神经网络收敛到全局最小值,但是会花费很多时间——因为你在网络的权重上只做了很少的调整。这样你必须用更多的时间来训练神经网络。较小的学习率也更可能使神经网络困在局部极小值里面,也就是说,神经网络会收敛到一个局部极小值,而且因为学习率比较小,它无法跳出局部极小值。为此,通过多次测试,本实施例将预设学习率设置为5-4
,以极大地减少网路损失。
[0081]
在本实施例中,学习率(learning rate)作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值,合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。本实施例可对孪生网络模型进行重复迭代20次时降低学习率至5-4
,继续重复迭代20次,当最终损失值小于或者等于预设损失值时,对人脸关键点定位模型的内部参数进行调整(内部参数为模型的权重、梯度等),直到所述最终损失值小于预设损失值时,输出目标深度孪生网络模型。
[0082]
在一实施例中,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值之后,还包括:
[0083]
当确定所述损失值大于预设损失值时,基于所述损失值调整所述孪生网络模型的内部参数;
[0084]
将每对所述目标人脸训练图像输入调整内部参数后的所述孪生网络模型进行再次训练,直至所述损失值小于或等于预设损失值为止。
[0085]
在本实施例中,当孪生网络模型的损失值不小于预设损失值时,则可根据损失值在孪生网络模型的神经网络结构中进行前向传递,调整孪生网络模型的相关内部参数,将每对所述目标人脸训练图像输入重新设置相关内部参数的孪生网络模型中进行再次训练,直至孪生网络模型的损失值小于预设损失值时为止,至此孪生网络模型训练结束,得到训练结果满足要求的目标孪生网络模型。
[0086]
在一实施例中,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值,包括如下公式:
[0087][0088]
其中,所述p为损失值,所述y为背景相似概率,所述dw为所述孪生网络模型的输出之间的欧氏距离,所述max(0,m-dw)表示0和m-dw之间数值大的值,所述m是大于0的边际价值。
[0089]
本实施例将每对目标人脸训练图像输入孪生网络模型,孪生网络模型各有1024维向量,将两个列向量作为输入给到一个二元分类网络中,输出1表示是该对目标人脸训练图像的背景相似,0则表示该对目标人脸训练图像的背景不相似。通过训练,使分类器能够通过获得一个合适的权重,能够在运算后输出两张照片是相似背景的概率。
[0090]
其中,dw欧式距离公式为:
[0091]
dw={gw(1)-w
(2)}2;
[0092]
其中,x1和x2是人脸图像对的高阶背景特征。
[0093]
在本实施例中,对于高阶背景特征之间相似度的衡量,常用的方式是计算高阶背景特征之间的余弦距离。余弦距离可以体现空间中两个向量间的差异性,将两个相近的语义关系进行聚集,以完成所有语义关系的聚集,并从中筛选出最聚集的语义关系作为高阶背景特征的语义识别结果,如当大多数的语义关系聚集在区域a时,则从区域a中选取距离区域a的中心最近的语义关系作为语义识别结果。
[0094]
在一实施例中,所述对所述人脸训练图像进行预处理,得到多对目标人脸训练图像,包括:
[0095]
对所述人脸训练图像进行数据扩增和/或数据归一化处理,得到多对目标人脸训练图像;其中,所述数据扩增包括随机补边和随机颜色抖动。
[0096]
在本实施例中,数据扩增是对数据进行扩充的方法,数据扩增可以增加训练集的样本,可以有效缓解模型过拟合的情况,也可以给模型带来的更强的泛化能力。数据扩增的目的就是使得训练数据尽可能的接近测试数据,从而提高预测精度。另外随机扩增处理可以迫使网络学习到更鲁棒性的特征,从而使模型拥有更强的泛化能力。
[0097]
本实施例对人脸训练图像进行数据扩增,如对人脸训练图像进行放大、缩小、裁剪、亮度调整、饱和度调整等等随机扩增处理方式,可以采用一种数据扩增方式,还可以是多种数据扩增方式结合使用。本实施例的图像扩增技术对深度学习中目标检测有着积极的作用,它能够增加各类别的数据量,使各类别保持平衡,避免样本不均衡带来的过拟合问题,同时也能够在一定程度上减少前期样本采集的数据量。
[0098]
数据归一化处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据归一化处理,以解决数据指标之间的可比性。原始数据经过数据归一化处理后,各指标处于同一数量级,适合进行综合对比评价。
[0099]
此外,本技术还考虑可以引入区块链结构,并充分利用区块链的相关特性(例如,区块链上的数据不可篡改等),在训练之前,将训练数据上传到区块链上进行存证;在训练过程中,将训练过程中的关联数据上传至区块链上进行存证,这样后续如果需要,被触发的监管服务器可以获取并根据保存在区块链上的相关数据进行回溯,以重建训练过程;再根据重建的训练过程检测出在训练过程中是否存在风险行为,以保护数据方的数据安全,提高训练过程的安全性和可信度。
[0100]
在一实施例中,所述孪生网络模型的主干网络为mobilenetv2,所述mobilenetv2在最后一层的全连接层中接入多尺度卷积层。
[0101]
孪生网络模型基于迁移学习技术,主干网络采用mobilenetv2,mobilenetv2去掉最后一层的全连接层,接入并接入自定义的卷积层、多尺度卷积层和全连接层,其输出为1024个神经元。
[0102]
mobilenetv2是对mobilenetv1的改进,是一种轻量级的神经网络。mobilenetv2保留了v1版本的深度可分离卷积,增加了线性瓶颈(linear bottleneck)和倒残差(inverted residual)。mobilenetv2主要使用6的扩展因子应用于输入张量的大小。例如,对于采用64通道输入张量并产生具有128通道的张量的瓶颈层,则中间扩展层为64
×
6=384通道。
[0103]
参照图2,本技术实施例中还提供一种人脸识别装置,所述装置包括:
[0104]
第一获取模块11,用于获取人脸训练图像;
[0105]
预处理模块12,用于对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;
[0106]
训练模块13,用于将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;
[0107]
计算模块14,用于根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;
[0108]
第一确定模块15,用于当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;
[0109]
第二获取模块16,用于获取人脸图像对;
[0110]
输入模块17,用于将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;
[0111]
第二确定模块18,用于根据所述目标背景相似概率确定所述人脸图像对的识别结果。
[0112]
本实施例的计算机设备采集有含有人脸和背景信息的人脸训练图像,人脸训练图像用于训练孪生网络模型,且人脸训练图像的数量越多,则孪生网络模型的训练效果越好,一般设定为百万量级。背景信息包括背景的颜色及一些标识物。
[0113]
需要说明的是,本实施例获取的人脸训练图像可以是用户上传的图像,如用户通过手机拍摄得到的头像,也可以为截取手机屏幕内容的截屏图像等等。
[0114]
在获取到人脸训练图像后,还可对每张人脸训练图像进行预处理,得到多对目标人脸训练图像,如对人脸训练图像进行随机扩增处理、调整人脸训练图像的图像尺寸、亮度、清晰度、背景颜色、背景中的标识物等等。其中,每对目标人脸训练图像中都包括一张人脸训练图像及该张人脸训练图像预处理后得到的图像。
[0115]
此外,通常的人脸训练图像为彩色,具有多种颜色,为利于将人脸训练图像中的高阶背景特征提取出来,还可以对人脸训练图像进行二值化处理,将人脸训练图像转换为黑白图像,以凸显人脸训练图像中的高阶背景特征,避免人脸训练图像中的颜色干扰。
[0116]
在本实施例中,随机扩增处理的方式包括但不限于对图像进行翻转、平移、缩放、调整图像rgb各通道权重以及对图像进行旋转等。例如,可以对人脸训练图像进行翻转,然后对翻转后的人脸训练图像进行放大。
[0117]
本实施例将每对目标人脸训练图像输入孪生网络模型,孪生网络模型各有1024维向量,将两个列向量作为输入给到一个二元分类网络中,输出1表示是该对目标人脸训练图像的背景相似,0则表示该对目标人脸训练图像的背景不相似。通过训练,使分类器能够通过获得一个合适的权重,能够在运算后输出两张照片是相似背景的概率。
[0118]
其中,孪生网络(siamese network)是一种网络结构,通过一个nn将样本的维度降低到某个较低的维度。在低维空间中,对任意两个样本进行分析:
[0119]
如果它们是相同类别,空间距离尽量接近0;
[0120]
如果它们是不同类别,空间距离大于某个间隔。
[0121]
孪生网络就是“连体的神经网络”,包括network1和network2,神经网络的“连体”是通过共享权值来实现的,network1和network2两个神经网络的权重一样,甚至可以两者是同一个网络,不用实现另外一个,因为权值都一样。
[0122]
孪生网络有两个输入(input1 and input2),将两个输入进入两个神经网络(network1 and network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过损失值的计算,评价两个输入的相似度。
[0123]
在本实施例中,在对孪生网络模型每次训练后,可利用预设的交叉熵损失函数计算每次训练完成后的孪生网络模型的损失值,并在损失值满足预设阈值或小于预设损失值时,即孪生网络模型的训练结果满足要求,完成所述孪生网络模型的训练,将训练后的所述孪生网络模型作为目标孪生网络模型,用于辅助人脸识别,提高人脸识别的准确率。
[0124]
其中,交叉熵损失函数是用来评价神经网络模型的预测值和真实值不一样的程度,损失函数越好,通常目标孪生网络模型的性能越好。此外,交叉熵损失函数经常用于分类问题中,特别是在神经网络做分类问题时,也经常使用交叉熵作为损失函数,由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和sigmoid(或softmax)函数一起出现。此外,本实施例的损失函数不做具体限定,例如可以是均方差函数、协方差函数等等。
[0125]
另外,本实施例的预设损失值可以根据实际情况而定,而且该预设损失值与孪生网络模型最终训练好时对应的损失阈值不同,一般这里的预设损失值大于孪生网络模型最终训练好时对应的损失阈值。
[0126]
最后,本实施例获取需要识别的人脸图像对,人脸图像对包括两张人脸图像,将人脸图像对输入目标孪生网络模型中,目标孪生网络模型提取出每张人脸图像的高阶背景特征,并计算两者之间高阶背景特征的相似度,得到人脸图像对的目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果。例如,当人脸图像对的目标背景相似概率较高时,则表明这两张人脸图像是在同一个背景下拍摄的,从而针对复杂环境的背景具有更好的鲁棒性,以辅助假脸攻击的筛查,提高人脸识别的准确性。
[0127]
例如,计算机设备采集到的人脸图像输入目标孪生网络模型,从中提取高阶背景特征得到a;人脸黑产攻击样本输入目标孪生网络模型,从中提取高阶背景特征b,利用相似度计算公式计算a与b之间的余弦相似度,公式如下:
[0128][0129]
本技术所提供的一种人脸识别装置,通过获取人脸训练图像,对人脸训练图像进行预处理,得到多对目标人脸训练图像;将每对目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对目标人脸训练图像的背景相似概率,根据预设的损失函数及背景相似概率计算训练后的孪生网络模型的损失值;当确定损失值小于或等于预设损失值时,将训练后的孪生网络模型作为目标孪生网络模型;然后获取人脸图像对,将人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果,从而采用基于孪生网络提取人脸图像对的高阶背景特征,计算两者之间的目标背景相似概率,以确定人脸图像对是否属于相似的背景,从而针对复杂环境的背景具有更好的鲁棒性,以辅助假脸攻击的筛查,提高人脸识别的准确性。
[0130]
如上所述,可以理解地,本技术中提出的所述人脸识别装置的各组成部分可以实现如上所述人脸识别方法任一项的功能,具体结构不再赘述。
[0131]
参照图3,本技术实施例中还提供一种计算机设备,其内部结构可以如图3所示。该
计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储所述人脸识别方法的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸识别方法。
[0132]
上述处理器执行上述的人脸识别方法,所述方法包括:
[0133]
获取人脸训练图像;
[0134]
对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;
[0135]
将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;
[0136]
根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;
[0137]
当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;
[0138]
获取人脸图像对;
[0139]
将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;
[0140]
根据所述目标背景相似概率确定所述人脸图像对的识别结果。
[0141]
本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种人脸识别方法,所述方法包括:
[0142]
获取人脸训练图像;
[0143]
对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;
[0144]
将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;
[0145]
根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;
[0146]
当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;
[0147]
获取人脸图像对;
[0148]
将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;
[0149]
根据所述目标背景相似概率确定所述人脸图像对的识别结果。
[0150]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram
(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0151]
综上所述,本技术的最大有益效果在于:
[0152]
本技术所提供的一种人脸识别方法、装置、设备及存储介质,通过获取人脸训练图像,对人脸训练图像进行预处理,得到多对目标人脸训练图像;将每对目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对目标人脸训练图像的背景相似概率,根据预设的损失函数及背景相似概率计算训练后的孪生网络模型的损失值;当确定损失值小于或等于预设损失值时,将训练后的孪生网络模型作为目标孪生网络模型;然后获取人脸图像对,将人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果,从而采用基于孪生网络提取人脸图像对的高阶背景特征,计算两者之间的目标背景相似概率,以确定人脸图像对是否属于相似的背景,从而针对复杂环境的背景具有更好的鲁棒性,以辅助假脸攻击的筛查,提高人脸识别的准确性。
[0153]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0154]
以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种人脸识别方法,其特征在于,包括:获取人脸训练图像;对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;获取人脸图像对;将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;根据所述目标背景相似概率确定所述人脸图像对的识别结果。2.根据权利要求1所述的方法,其特征在于,所述将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率,包括:将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行重复迭代预设次数的训练,输出每次训练后每对所述目标人脸训练图像的背景相似概率。3.根据权利要求2所述的方法,其特征在于,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值之前,还包括:计算训练后的所述孪生网络模型的学习率;当确定所述学习率低于预设学习率时,再次对所述孪生网络模型进行重复迭代预设次数的训练。4.根据权利要求1所述的方法,其特征在于,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值之后,还包括:当确定所述损失值大于预设损失值时,基于所述损失值调整所述孪生网络模型的内部参数;将每对所述目标人脸训练图像输入调整内部参数后的所述孪生网络模型进行再次训练,直至所述损失值小于或等于预设损失值为止。5.根据权利要求1所述的方法,其特征在于,所述根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值,包括如下公式:其中,所述p为损失值,所述y为背景相似概率,所述dw为所述孪生网络模型的输出之间的欧氏距离,所述max(0,m-dw)表示0和m-dw之间数值大的值,所述m是大于0的边际价值。6.根据权利要求1所述的方法,其特征在于,所述对所述人脸训练图像进行预处理,得到多对目标人脸训练图像,包括:对所述人脸训练图像进行数据扩增和/或数据归一化处理,得到多对目标人脸训练图像;其中,所述数据扩增包括随机补边和随机颜色抖动。7.根据权利要求1所述的方法,其特征在于,所述孪生网络模型的主干网络为mobilenetv2,所述mobilenetv2在最后一层的全连接层中接入多尺度卷积层。
8.一种人脸识别装置,其特征在于,包括:第一获取模块,用于获取人脸训练图像;预处理模块,用于对所述人脸训练图像进行预处理,得到多对目标人脸训练图像;训练模块,用于将每对所述目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对所述目标人脸训练图像的背景相似概率;计算模块,用于根据预设的损失函数及所述背景相似概率计算训练后的所述孪生网络模型的损失值;第一确定模块,用于当确定所述损失值小于或等于预设损失值时,将训练后的所述孪生网络模型作为目标孪生网络模型;第二获取模块,用于获取人脸图像对;输入模块,用于将所述人脸图像对输入所述目标孪生网络模型中,得到目标背景相似概率;第二确定模块,用于根据所述目标背景相似概率确定所述人脸图像对的识别结果。9.一种计算机设备,其特征在于,包括:处理器;存储器;其中,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的人脸识别方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-7任一项所述的人脸识别方法。
技术总结
本申请为生物识别技术领域,本申请提供了一种人脸识别方法、装置、设备及存储介质,其中,所述方法包括:获取人脸训练图像,对人脸训练图像进行预处理,得到多对目标人脸训练图像;将每对目标人脸训练图像输入预先构建的孪生网络模型中进行训练,得到每对目标人脸训练图像的背景相似概率,根据预设的损失函数及背景相似概率计算训练后的孪生网络模型的损失值;当确定损失值小于或等于预设损失值时,将训练后的孪生网络模型作为目标孪生网络模型;获取人脸图像对,将人脸图像对输入所述目标孪生网络模型,得到目标背景相似概率,根据目标背景相似概率确定人脸图像对的识别结果,以针对复杂环境的背景具有更好的鲁棒性,提高人脸识别的准确性。识别的准确性。识别的准确性。
技术研发人员:洪叁亮
受保护的技术使用者:平安银行股份有限公司
技术研发日:2023.04.07
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
