本发明涉及人脸识别方法,特别涉及一种结合图像质量分析与度量学习的人脸特征识别方法。
背景技术:
现今的人脸识别系统大多将人脸图像数据进行预处理后,利用卷积神经网络训练,得到网络的权重;根据训练所得网络的权重计算得到人脸特征向量,通过对特征向量进行处理获得人脸识别的结果。由于参与训练的人脸数据之间的图像质量有较大差异,一些低质量的人脸图片,如低分辨率、模糊、光照过强或过暗、面部偏转较大等,会影响参数的学习效果,进而降低识别系统的性能。现有的结合图片质量进行人脸特征识别的技术如下:
a.人脸区域+人工标注图片质量信息训练卷积神经网络,用于提取人脸特征进行识别:
缺点:人工标注耗费大量人力物力,且对图片质量的量化标准不统一。
b.单独训练网络量化图片质量+人脸区域训练卷积神经网络,用于提取人脸特征进行识别:
缺点:需要单独训练网络处理质量的网络,需要的参数更多,识别速度慢。
c.直接剔除质量较差的人脸图片,剩余图片训练网络用于提取人脸特征识别:
缺点:数据的利用率低,对低分辨率等质量不高的图片识别效果差。
本发明通过定义一种通过人脸特征直接获取量化后的人脸图片质量的运算方式,用很小的计算量获取图片质量的量化值,节省了标注的人力物力,并制定了统一的量化标准;通过将量化后的图片质量作为辅助信息输入到网络中进行训练,提高了网络的表达能力,并增强了网络对低质量图片的适应性。
技术实现要素:
本发明要解决的技术问题是,本发明的目的是提供一种人脸识别方法,通过该方法能对人脸图像的质量进行量化,并结合量化后的人脸图像的质量,获取更高效的人脸身份特征表达,优化人脸比较判别单元的性能,从而提高人脸识别的准确率。
解决上述技术问题,本发明提供了一种结合图像质量分析与度量学习的人脸特征识别方法,包括:
通过将人脸图像ii(i=1,2,,…,ntrain)经过处理后加入卷积神经网络中训练,获得训练集中所有人脸图像的初级特征fi(i=1,2,,…,ntrain),其中ntrain为训练集imgtrain的图像数量;
根据所述训练集中所有人脸图像的初级特征fi的l2范数得到所述人脸图像的质量量化值μ;
添加全连接参数层将所述初级特征fi进行降维处理得到最终特征
根据所述最终特征
通过所述损失函数监督训练过程,得到卷积神经网络的最终参数θf,作为最终的人脸特征提取模型,根据所述人脸特征提取模型对人脸图像进行人脸特征识别。
进一步的,如前述的方法,所述将人脸图像经过处理具体包括:对于每一张输入的人脸图像ii(i=1,2,,…,ntrain),进行人脸检测与关键点标注,再根据关键点对所述每一张输入的人脸图像进行对齐处理,将所述所有输入的人脸图像划归为同一尺度,并得与所述每一张输入的人脸图像对应的处理后人脸图像i‘i(i=1,2,…,ntrain),将所述人脸图像i’加入到卷积神经网络中进行初步训练,得到相应的卷积神经网络参数θ。
更进一步的,如前述的方法,在所述获得训练集中所有人脸图像的初级特征fi(i=1,2,,…,ntrain)后还包括:
利用所述卷积神经网络参数θ提取训练集imgtrain中相应的人脸图像的初级特征fi(i=1,2,,…,ntrain),所述初级特征的特征维数为512维,fi=θ1·ii,其中fi={xi,0,xi,1,xi,2,…,xi,511},xi,j为训练集imgtrain中图像ii(i=1,2,,…,ntrain)的第j+1维特征维数数值。
更进一步的,如前述的方法,所述人脸图像质量的量化值μ得出方法具体为:
其中μi为人脸图像ii的质量量化值,即图像ii对应的初级特征的l2范数。
更进一步的,如前述的方法,所述特征定义ra(sa)的获取方法为:
获取同一身份的n张人脸图像构成的身份集合sa:sa={i1,i2,…,in},a∈{t1,t2,…,tl},ik∈imgtrain,其中l为所有人脸身份标签的数量,t={t1,t2,…,tl}为身份标签的集合;
根据所述身份集合sa内的n张图片的特征获得的身份集合sa的特征定义ra(sa),即
更进一步的,如前述的方法,所述将所述初级特征fi进行降维处理得到最终特征
得到所述最终特征
更进一步的,如前述的方法,所述将所述人脸图像的质量量化值μ作为附加权重信息得出加权平均值,具体为:
结合所述人脸图像的质量量化值μ,将所述特征定义ra(sa)定义为:集合sa内所有图片对于其图像质量的加权平均值,且所述加权平均值如下式进行计算:
其中μi为人脸图像ii的质量量化值,即图像ii对应的初级特征的l2范数。
更进一步的,如前述的方法,所述通过所述损失函数监督训练过程,得到卷积神经网络参数θf,具体方法为:
每一轮的训练随机取出3个身份集合sa,sp,sn,共3n张图片,并使得a=p,a≠n,即a与p取自同一个身份,a与n取自不同的身份;得到度量学习的损失函数:
ltriplet=‖ra(sa)-ra(sp)‖2-‖ra(sa)-ra(sn)‖2+δ
利用所述损失函数监督神经网络的训练过程,训练一定的轮次后,得出并保存所述卷积神经网络的最终参数θf。
本发明还提供如前任一项所述的方法的人脸特征识别系统,包括:特征点标注单元、人脸对齐单元、模型单元、计算比较单元及判别单元;
所述特征点标注单元用于对导入系统的多张人脸图像分别进行人脸检测和并识别出关键点;
所述人脸对齐单元用于根据所述关键点对人脸图像进行人脸对齐;
所述模型单元用于根据所述人脸特征提取模型得到与每个人脸图像对应的最终特征;
所述计算比较单元用于计算不同人脸图像对应的最终特征间的欧氏距离d;并将d与判别阈值th进行比较;
所述判别单元用于根据欧氏距离d与判别阈值th大小判定两张测试图片的人脸是否属于同一个人;若d≤th,则判定两张测试图片的人脸属于同一个人;反之不是。
本发明的有益效果:
本发明通过定义一种通过人脸特征直接获取量化后的人脸图片质量的处理方法,用很小的计算量获取图片质量的量化值,节省了标注的人力物力,并制定了统一的量化标准;通过将量化后的图片质量作为辅助信息输入到网络中进行训练,提高了网络的表达能力,并增强了网络对低质量图片的适应性。
附图说明
图1是本发明一种实施例的流程示意图;
图2是本发明一种方法实施例的流程示意图;
图3是本发明一种方法实施例中进行训练的流程示意图;
图4是本发明一种实施例中提取初级特征的流程示意图;
图5是使用本发明一种方法实施中得到损失函数以及最终卷积神经网络权值的流程图;
图6是使用本发明一种方法实施例对应的模型的测试流程图;
图7是使用本发明一种实施例中系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如图1所示,本发明一种实施例如下所述:
s100、通过将人脸图像ii(i=1,2,,…,ntrain)经过处理后加入卷积神经网络中训练,获得训练集中所有人脸图像的初级特征fi(i=1,2,,…,ntrain),其中ntrain为训练集imgtrain的图像数量;
s200、根据所述训练集中所有人脸图像的初级特征fi的l2范数得到所述人脸图像的质量量化值μ;
s300、添加全连接参数层将所述初级特征fi进行降维处理得到最终特征
s400、根据所述最终特征
s500、通过所述损失函数监督训练过程,得到卷积神经网络的最终参数θf,作为最终的人脸特征提取模型,根据所述人脸特征提取模型对人脸图像进行人脸特征识别。
如图2所示,本发明一种方法实施例的流程如下所述:
本发明可以分两个阶段阐述。下文所述的人脸图像与人脸图片为等同描述。在训练阶段,我们首先通过将人脸图像/图片进行人脸识别与特征点标注,然后根据人脸特征点进行人脸对齐处理;经过处理后加入卷积神经网络中训练,获得人脸图像的初步特征表示,并通过对初步特征的进行处理和计算,得到图像质量的量化值。训练的过程如图3所示。设训练集为,imgtrain,训练集图像数量为ntrain,对于每一张输入的人脸图像,ii(i=1,2,,…,ntrain),我们对其进行人脸检测与关键点标注,之后根据关键点对人脸图像进行对齐处理,将人脸图像划归为同一尺度,作为卷积神经网络的训练输入。将所述人脸图像i’加入到卷积神经网络中进行初步训练,得到相应的卷积神经网络参数θ,用于提取人脸的初步特征。
在网络训练完成后,利用其提取对于训练集中每张人脸图像的初级特征的网络参数,特征维数为512维,并以此计算人脸图像质量的量化值μ。具体步骤如图4所示。首先处理图片,得到对齐后的人脸图像。我们记训练集中的图片ii(i=1,2,,…,ntrain)的对应初级特征为fi(i=1,2,,…,ntrain),其中fi={xi,0,xi,1,xi,2,…,xi,511},xi,j为训练集imgtrain中图像ii(i=1,2,,…,ntrain)的第j+1维特征维数数值。则有:fi=θ1·ii;
其中·表示与神经网络的运算关系。
接下来,通过对fi处理获得人脸质量的量化值。对人脸特征fi计算其l2范数,即:
经过计算比较发现,对于质量高的人脸图像,即分辨率高、清晰度好、光照均匀的正脸图像,其对应的初级特征的l2范数较大;而对于分辨率较低、过暗或过亮、严重侧脸的图像,其对应的初级特征的l2范数较小。因此,以图像的初级特征的l2范数作为人脸图像的质量量化值μ,即:
得到人脸图像的质量量化值后,对卷积神经网络继续进行训练,使用度量学习的方法,定义损失函数监督训练过程,添加全连接参数层将初级特征进一步做降维处理,得到更高效的特征表达,得到最终特征;并将得到的人脸图像的质量量化值μ作为附加权重信息得出加权平均值,将所述加权平均值加入训练,得到度量学习的损失函数,以监督训练过程。具体过程如图5所示:记所有人脸身份标签的数量为l,身份标签的集合为:t={t1,t2,…,tl}。另记由同一身份的n张人脸图像构成的身份集合为sa={i1,i2,…,in},a∈{t1,t2,…,tl},ik∈imgtrain,则对于身份集合sa的特征定义ra(sa)可以由集合内的n张图片的特征去获得,即
其中
μi=l2(fi)=l2(θ1·ii)
其中μi为图像ii的质量量化值,即图像ii对应的初级特征的l2范数。
在训练过程中,每一轮的训练随机取出3个身份集合sa,sp,sn,共3n张图片,并使得a=p,a≠n,即a与p取自同一个身份,与n取自不同的身份。最后度量学习通过定义损失函数为:
ltriplet=‖ra(sa)-ra(sp)‖2-‖ra(sa)-ra(sn)‖2+δ
度量学习的目标是使损失函数最小。利用上述的损失函数,训练一定的轮次后,保存卷积神经网络的最终参数θf,作为最终的人脸特征提取模型;θf中的f表示final,表示模型的最终参数,是图像质量得分和图像特征结合损失函数联合训练卷积神经网络得到的参数。
测试阶段,具体如图6所示,为使用本方法实施例对应的模型的测试流程图:
对于测试图片1和测试图片2,首先对其进行人脸检测和特征点识别,并根据特征点对图片进行人脸对齐,构成神经网络输入x1和x2,经过与卷积神经网络参数θf的计算,得到两个128维特征向量y1和y2。之后计算y1和y2间的欧氏距离为d。将d与判别阈值th进行比较,若d≤th,则判定两张测试图片的人脸属于同一个人;否则两个人脸测试图片不属于同一个人。其中,判别阈值th的确定按以下方法:得到大量含有人脸标签信息的人脸图像中任意两个128位最终特征向量,并根据计算得到所有特征向量的欧氏距离,根据欧氏距离得到最佳判别阈值th。
如图7所示,采用上述任一方法实施例的人脸特征识别系统,包括:特征点标注单元1、人脸对齐单元2、模型单元3、计算比较单元4及判别单元5;
所述特征点标注单元1用于对导入系统的多张人脸图像分别进行人脸检测和并识别出关键点;
所述人脸对齐单元2用于根据所述关键点对人脸图像进行人脸对齐;
所述模型单元3用于根据所述人脸特征提取模型得到与每个人脸图像对应的最终特征;
所述计算比较单元4用于计算不同人脸图像对应的最终特征间的欧氏距离d;并将d与判别阈值th进行比较;
所述判别单元5用于根据欧氏距离d与判别阈值th大小判定两张测试图片的人脸是否属于同一个人;若d≤th,则判定两张测试图片的人脸属于同一个人;反之不是。
所属领域的普通技术人员应当理解:以上,所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。与该发明方法或等同的技术原理都属保护范围之内。