具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种人脸模型的训练方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取训练样本。
在具体实现中,训练样本包括训练图像数据和证件图像数据。
其中,证件图像数据为某个证件中存储的图像数据,例如,二代身份证、居住证、驾驶证等等,证件图像数据一般经过高强度的压缩,分辨率低,而且,数量一般很少,通常一个证件只有一副,背景较为纯净(如白色、蓝色、红色等)。
训练图像数据为与证件图像数据不同的图像数据,如视频图像数据,训练图像数据一般未经过高强度的压缩,分辨率比证件图像数据高,而且,可以通过摄像头等方式采集,数量一般比证件图像数据多,背景较为复杂(如包含环境信息)。
例如,如图2所示,最左侧的图像数据为证件图像数据,其余的图像数据为训练图像数据。
步骤102,根据所述训练图像数据和所述证件图像数据获得训练人脸图像和证件人脸图像。
在训练图像数据和证件图像数据中一般具有用户的人脸,从其中提取训练人脸图像和证件人脸图像,进行人脸特征模型的训练。
在本发明的一个实施例中,步骤102可以包括如下子步骤:
子步骤S11,在所述训练图像数据和所述证件图像数据中分别进行人脸检测,确定训练人脸图像和证件人脸图像;
子步骤S12,在所述训练人脸图像和所述证件人脸图像中分别进行人脸特征点定位,确定训练眼睛数据和证件眼睛数据;
子步骤S13,将所述训练眼睛数据的位置和所述证件眼睛数据的位置与预设模板位置进行对齐;
子步骤S14,对除所述训练眼睛数据之外的训练人脸图像,根据所述训练眼睛数据的位置关系进行相似变换,获得归一化后的训练人脸图像;
子步骤S15,对除所述证件眼睛数据之外的证件人脸图像,根据所述证件眼睛数据的位置关系进行相似变换,获得归一化后的证件人脸图像。
在本发明实施例中,可以采取AdaBoost(自适应提升方法)对训练样本进行人脸检测,在检测出的人脸图像(即训练人脸图像和证件人脸图像)上采用coase-to-fine(CF,级联深度模型)方法对人脸图像进行定位,并利用定位后眼睛数据的位置坐标,采用相似变换进行归一化,例如,归一化后人脸图像的大小为100×100。
步骤103,采用所述训练人脸图像训练人脸特征模型。
在具体实现中,训练的人脸模型包括人脸特征模型,该人脸特征模型可以为用于提取人脸特征的模型。
在本发明的一个实施例中,步骤103可以包括如下子步骤:
子步骤S21,采用所述训练人脸图像基于人脸识别对所述人脸特征模型进行训练,以训练出所述模型参数的初始参数值。
对于卷积神经网络等神经网络模型来说,训练数据的数量和质量往往直接影响模型提取特征的能力和分类的效果。
但是,由于身份证等证件的证件图像数据多为单样本,即一个身份证中只存储有一副人脸图像,在构造数据集时,会出现训练图像数据与证件图像数据的数量不平衡的问题。
因此,本发明实施例采用识别信号预训练和认证信号微调的方法训练模型,从而解决样本数量不平衡的问题。
在具体实现中,可以通过随机梯度下降的方式训练人脸特征模型,minibatch(训练批次)大小为64,冲量为0.9,目标是通过双信号有监督训练得到人脸特征模型的模型参数θc。
在第一个阶段使用训练人脸图像进行识别信号有监督训练得到模型参数θid,该参数为第二个阶段的初始参数。
在本发明的一个实施例中,子步骤S21可以包括如下子步骤:
子步骤S211,随机提取训练人脸图像;
子步骤S212,将随机提取的训练人脸图像输入预置的人脸特征模型中提取训练人脸特征;
子步骤S213,计算所述训练人脸特征用于人脸识别时的第一损失率;
子步骤S214,判断所述第一损失率是否收敛;若否,则执行子步骤S215,之后,返回执行子步骤S216;
子步骤S215,以当前迭代的所述模型参数的参数值作为初始参数值;
子步骤S216,采用所述第一损失率计算第一梯度;
子步骤S217,采用所述第一梯度与预设的学习率对所述模型参数的参数值进行下降,返回执行子步骤S211。
第一个阶段的参数值初始化为服从高斯分布N(0,σ
2)的随机参数,其中,
在第一阶段中,输入的训练数据集为{(xi,yi),i=1,2,…,N},其中xi表示训练人脸图像,yi是用户标签(即类别标签,表示属于哪个用户)。
在训练前,对人脸特征模型中的模型参数θid(其中,id表示初始参数值)、学习率η(t)、迭代次数t进行初始化,配置初始的值,如对学习率η(t)初始的值为0.1,t初始的值为0(t←0)。
训练过程如下:
在第t+1次迭代中(t←t+1),从训练数据集中随机提取训练样本{(xi,yi)}。
计算前向过程,获得训练人脸特征:
fi=Conv(xi,θid)
其中,Conv()表示人脸特征模型。
计算训练人脸特征用于人脸识别时的第一损失率,通过采用第一损失率对模型参数求偏导的方式计算第一梯度:
其中,IdentificationLoss表示训练人脸特征用于人脸识别时的第一损失率。
在具体实现中,通过多元回归的方式计算训练人脸特征fi属于预设的用户标签的概率。
采用概率计算训练人脸特征的用于人脸识别时的第一损失率IdentificationLoss。
其中,p
i为目标的概率分布(即目标的用户标签的概率分布),
为预测的概率分布(即预测的用户标签的概率分布)。
如果第一损失率未收敛(如多个连续的第一损失率之间的差异大于或等于预设的差异阈值),则更新人脸特征模型的模型参数,进行下一轮迭代:
反之,如果第一损失率收敛(如多个连续的第一损失率之间的差异小于预设的差异阈值),则结束训练,输出模型参数θid。
当然,除了第一损失率是否收敛作为迭代的判断条件之外,还可以采用其他条件作为迭代的判断条件,如第一梯度是否收敛、迭代的次数是否达到迭代阈值,等等,本发明实施例对此不加以限制。
步骤104,采用配对的训练人脸图像和证件人脸图像,对所述人脸特征模型进行调整。
在具体实现中,可以根据证件人脸图像的特性,对人脸特征模型进行适应性调整。
在本发明的一个实施例中,步骤104可以包括如下子步骤:
子步骤S31,采用所述配对的训练人脸图像和证件人脸图像基于人脸认证对所述人脸特征模型进行训练,以将所述模型参数从初始参数值调整为目标参数值。
第二阶段采用训练人脸图像和证件人脸图像配对样本进行认证信号有监督训练得到最终的模型参数θc=θve。
在本发明的一个实施例中,子步骤S31可以包括如下子步骤:
子步骤S311,将属于同一用户的训练人脸图像和证件人脸图像进行配对;
子步骤S312,随机提取配对的训练人脸图像和证件人脸图像;
子步骤S313,将随机提取的、配对的训练人脸图像和证件人脸图像输入所述人脸特征模型中提取训练人脸特征和证件人脸特征;
子步骤S314,计算所述训练人脸特征和所述证件人脸特征用于人脸认证时的第二损失率;
子步骤S315,判断所述第二损失率是否收敛;若是,则执行子步骤S316,若否,则执行子步骤S317;
子步骤S316,以当前迭代的所述模型参数的参数值作为目标参数值;
子步骤S317,采用所述第二损失率计算第二梯度;
子步骤S318,采用所述第二梯度与预设的学习率对所述模型参数的参数值进行下降,返回执行子步骤S312。
在具体实现中,可以通过随机梯度下降的方式训练人脸特征模型。
在第二阶段中,输入的训练数据集为{(Xij,lij),i=1,2,…,M,j=1,2,…,N},其中,Xij=(xi,xj)表示一对训练人脸图像和证件人脸图像,lij为二进制标签,lij为分类标签,lij=1表示训练人脸图像和证件人脸图像来源于同一个人,lij=-1表示训练人脸图像和证件人脸图像来自于不同人。
例如,如图2所示,第一幅的证件人脸图像和第二幅的训练人脸图像可以配对,第一幅的证件人脸图像和第三幅的训练人脸图像可以配对,第一幅的证件人脸图像和第四幅的训练人脸图像可以配对,等等。
在调整前,对人脸特征模型中的模型参数θve(其中,ve为目标参数值)、学习率η(t)、迭代次数t进行初始化,配置初始的值,如θve=θid,对学习率η(t)初始的值为0.1,t初始的值为0(t←0)。
调整过程如下:
在第t+1次迭代中(t←t+1),从训练数据集中随机提取训练样本{(Xij,lij)}。
计算前向过程,获得训练人脸特征和证件人脸特征:
fij=Conv(Xij,θve)
其中,Conv()表示人脸特征模型。
计算训练人脸特征和证件人脸特用于人脸认证时的第二损失率,通过采用第二损失率对模型参数求偏导的方式计算第二梯度:
其中,VerificationLoss表示人脸特征用于人脸认证时的第二损失率。
在具体实现中,可以计算训练人脸特征和证件人脸特征之间的距离。
采用距离计算训练人脸特征和证件人脸特征的用于人脸认证时的损失率VerificationLoss。
其中,
表示训练人脸特征f
i和证件人脸特征f
j之间的距离,σ表示权重,w表示斜率,b表示截距。
如果第二损失率未收敛(如多个连续的第二损失率之间的差异大于或等于预设的差异阈值),则更新人脸特征模型的模型参数,进行下一轮迭代:
反之,如果第二损失率收敛(如多个连续的第二损失率之间的差异小于预设的差异阈值),则结束调整,输出模型参数θc=θve。
当然,除了第二损失率是否收敛作为迭代的判断条件之外,还可以采用其他条件作为迭代的判断条件,如第二梯度是否收敛、迭代的次数是否达到迭代阈值,等等,本发明实施例对此不加以限制。
本发明实施例在训练图像数据和证件图像数据中提取训练人脸图像和证件人脸图像,采用训练人脸图像训练人脸特征模型,采用配对的训练人脸图像和证件人脸图像,对人脸特征模型进行调整,识别信号预训练和认证信号微调的方法训练模型,解决样本数量不平衡的问题,提高了模型的性能,从而提高了人脸认证的准确率。
并且,对人脸进行特征表达,不依赖于人工对特征的选择,并且对年龄,姿态和光照等因素表现出较好的鲁棒性。
参照图3,示出了本发明的另一种人脸模型的训练方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301,获取训练样本。
其中,所述训练样本包括训练图像数据和证件图像数据。
步骤302,在所述训练图像数据和所述证件图像数据中提取训练人脸图像和证件人脸图像。
步骤303,采用所述训练人脸图像训练人脸特征模型。
步骤304,采用配对的训练人脸图像和证件人脸图像,对所述人脸特征模型进行调整。
步骤305,采用配对的训练人脸图像和证件人脸图像,按照联合贝叶斯训练人脸认证模型。
在具体实现中,训练的人脸模型包括人脸认证模型,该人脸认证模型可以为用于计算人脸特征之间的相似度。
在本发明的一个实施例中,为进一步增强人脸特征的判别性并进行认证处理,可以采用训练人脸图像和证件人脸图像训练JointBayesian(JB,联合贝叶斯)分类器。
其中,联合贝叶斯是基于贝叶斯方法的一种分类器,通过两个后验概率的比值的对数对一对特征进行打分,可以增大类间误差,缩小类内误差。
在训练时,输入的训练数据集为{(fij,lij)}(i=1,2,…,mi,j=1,2,…,N),其中,fij=Conv(xij;θconv),Xij=(xi,xj)表示一对训练人脸图像和证件人脸图像,Conv()表示人脸特征模型,lij为分类标签,lij=1表示训练人脸图像和证件人脸图像来源于同一个人,lij=-1表示训练人脸图像和证件人脸图像来自于不同人。
训练过程如下:
子步骤S41,初始化协方差矩阵Sμ和Sε:
子步骤S42,计算矩阵F和G:
F=Sε -1
G=-(miSμ+Sε)-1SμSε -1
子步骤S43,计算μi和εij:
子步骤S44,更新协方差矩阵Sμ和Sε:
子步骤S44,判断Sμ和Sε是否收敛,若是,则执行子步骤S45,若否,则返回执行子步骤S42。
子步骤S45,按照如下公式分别计算矩阵F,G和A:
F=Sε -1
G=-(2Sμ+Sε)-1SμSε -1
A=(Sμ+Sε)-1-(F+G)
子步骤S46,输出人脸认证模型r(x1,x2)
在本发明实施例中,人脸特征模型包括卷积神经网络(Convolutional NeuralNetwork,CNN)、深层神经网络(Deep Neural Networks,DNN)等网路模型。
其中,卷积神经网络在人工神经网络中引入卷积结构,通过局部权重共享的方法,一方面可以减小计算量,另一方面可以抽取更加抽象的特征。
在具体实现中,卷积神经网络包括输入层、一个或多个卷积层、一个或多个采样层、输出层。
卷积神经网络的每一层一般由多个map组成,每个map由多个神经单元组成,同一个map的所有神经单元共用一个卷积核(即权重),卷积核往往代表一个特征,比如某个卷积核代表一段弧,那么把这个卷积核在整个图片上滚一下,卷积值较大的区域就很有可能是一段弧。
输入层:输入层没有输入值,有一个输出向量,这个向量的大小就是分块人脸图像的大小,如一个100×100的矩阵。
卷积层:卷积层的输入要么来源于输入层,要么来源于采样层,卷积层的每一个map都有一个大小相同的卷积核。
采样层(subsampling,Pooling):采样层是对上一层map的一个采样处理,采样方式是对上一层map的相邻小区域进行聚合统计。
在本发明实施例中,卷积神经网络的模型参数包括卷积核,其参数值为卷积核的值,即在人脸特征模型进行训练和调整时,可以对卷积核的值进行训练和调整。
参照图4,示出了本发明实施例的一种卷积神经网络的处理流程图,具体可以包括如下步骤:
步骤401,当所述卷积层属于第一深度范围时,采用指定的单个卷积核进行卷积操作。
在本发明实施例中,可以将人脸图像输入卷积神经网络中,人脸图像可以包括离线训练时的训练人脸图像、证件人脸图像,也可以包括在线人脸认证时的目标人脸图像,还可以包括其他人脸图像,等等。
在浅层(即第一深度范围)可以直接采用卷积核进行卷积,减少计算量。
在第一深度范围卷积完成之后,可以通过BN(BatchNormalization)算子、ReLU(Rectified LinearUnits)函数等方式进行规范化操作和激活操作。
步骤402,当所述卷积层属于第二深度范围时,采用分层线性模型Inception进行卷积操作。
其中,第二深度范围的层数大于第一深度范围的层数。
在本发明实施例中,在深层(即第二深度范围)可以采用Inception进行卷积,一方面,可以在计算量不变的情况下增加卷积神经网络的宽度和深度,从而增进卷积神经网络的性能;另一方面,由于使用不同大小的卷积核(如1×1、3×3、5×5)可以提取多尺度的人脸特征。
在本发明的一个实施例中,分层线性模型Inception包括并联的第一层、第二层、第三层、第四层,则在本发明实施例中,步骤402可以包括如下子步骤:
子步骤S51,在第一层中,采用指定的第一卷积核与第一步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第一特征图像数据;
在第一层中,可以通过BN算子等方式对第一特征图像数据进行规范化操作。
需要说明的是,由于输入卷积神经网络的人脸图像可以是离线训练时的训练人脸图像、证件人脸图像,也可以是在线人脸认证时的目标人脸图像,因此,输入分层线性模型Inception的图像数据也在这几种情况中有所不同。
子步骤S52,在第二层中,采用指定的第二卷积核与第二步长对所述分层线性模型Inception的图像数据进行卷积操作,获得第二特征图像数据;
在第二层中,可以通过BN算子、ReLU函数等方式对第二特征图像数据进行规范化操作和激活操作。
子步骤S53,采用指定的第三卷积核与第三步长对所述第二特征图像数据进行卷积操作,获得第三特征图像数据;
在具体实现中,可以BN算子等方式对所述第三特征图像数据进行规范化操作。
子步骤S54,在第三层中,采用指定的第四卷积核与第四步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第四特征图像数据;
在第三层中,可以通过BN算子、ReLU函数等方式对第四特征图像数据进行规范化操作和激活操作。
子步骤S55,采用指定的第五卷积核与第五步长对所述第四特征图像数据进行卷积操作,获得第五特征图像数据;
在具体实现中,可以通过BN算子等方式对第五特征图像数据进行规范化操作。
子步骤S56,在第四层中,采用指定的第六卷积核与第六步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第六特征图像数据;
在第四层中,可以通过BN算子等方式对第六特征图像数据进行规范化操作。
子步骤S57,对所述第六特征图像数据进行最大化下采样操作,获得第七特征图像数据;
在本发明实施例中,可以通过ReLU函数等方式对第八特征图像数据激活操作。
子步骤S58,连接所述第一特征图像数据、所述第三特征图像数据、所述第五特征图像数据和所述第七特征图像数据,获得第八特征图像数据。
需要说明的是,第一卷积核、第二卷积核、第三卷积核、第四卷积核、第五卷积核、第六卷积核的大小可以相同,也可以不同;第一步长、第二步长、第三步长、第四步长、第五步长、第六步长的大小可以相同,也可以不同,本发明实施例对比不加以限制。
此外,在分层线性模型Inception中,第一层的处理(子步骤S51),第二层的处理(子步骤S52与子步骤S53),第三层的处理(子步骤S54与子步骤S55),第四层的处理(子步骤S56与子步骤S57)可以并行执行,不分先后顺序。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中的Inception。
如图5所示,对于输入的图像数据(如分块人脸图像):
在第一层中,可以采用1×1的卷积核,以步长为1进行卷积操作,然后进行BN规范化。
在第二层中,可以采用1×1的卷积核,以步长为1进行卷积操作,然后进行BN规范化和ReLU激活。
再采用使用5×5的卷积核,以步长为1进行卷积操作,然后进行BN规范化。
在第三层中,可以采用1×1的卷积核,以步长为1进行卷积操作,然后进行BN规范化和ReLU激活。
再采用使用3×3的卷积核,以步长为1进行卷积操作,然后进行BN规范化。
在第四层中,可以采用1×1的卷积核,以步长为1进行卷积操作,再进行BN规范化,再进行最大化(Max)下采样。
将第一层至第四层输出的图像数据连接在一起,再进行ReLu激活,得到Inception的输出。
步骤403,在所述采样层中进行最大化下采样。
步骤404,根据所述卷积神经网络输出的多个图像数据获得特征向量,作为人脸图像的人脸特征。
需要说明的是,在本发明实施例中,步骤401、步骤402与步骤403之间并不具有固定的执行顺序,其执行顺序可以依据卷积神经网络的实际结构所决定。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中的卷积神经网络。
表1
在本示例中,如表1所示,卷积神经网络的卷积层与采样层共17层,其中,第1、3、4、6、7、9、10、11、12、13、15、16层为卷积层,第1、3、4为浅层、第6、7、9、10、11、12、13、15、16深层;第2、5、8、14、17层为采样层。
卷积层1:
假设输入一帧归一化后100×100的灰度分块人脸图像,首先采用5×5的卷积核,以步长为2对其进行卷积,得到64幅50×50的特征图像,然后对这64幅50×50的特征图像先进行BN规范化,再进行ReLU激活。
采样层1:
对卷积层1输出的64幅50×50的特征图像进行步长为2的3×3最大化下采样,得到64幅14×14的特征图像。
卷积层2:
对采样层1输出的64幅14×14的特征图像采用1×1的卷积核,以步长为1进行卷积操作,得到64幅14×14的特征图像,然后对这64幅14×14的特征图像先进行BN规范化,再进行ReLU激活。
卷积层3
对卷积层2输出的64幅14×14的特征图像采用3×3的卷积核,以步长为1进行卷积操作,得到92幅14×14的特征图像,然后对这92幅14×14的特征图像先进行BN规范化,再进行ReLU激活。
采样层2
对卷积层3输出的92幅14×14的特征图像进行步长为1的3×3最大化下采样,得到92幅14×14的特征图像。
卷积层4
对采样层2输出的92幅14×14的特征图像,应用如图5所示的Inception进行如下操作,得到256幅14×14的特征图像:
步骤1,对采样层2输出的92幅14×14的特征图像使用1×1的卷积核,以步长为1进行卷积操作,得到64幅14×14的特征图像,然后对这64幅14×14的特征图像进行BN规范化。
步骤2,对采样层2输出的92幅14×14的特征图像使用1×1的卷积核,以步长为1进行卷积操作,得到96幅14×14的特征图像,然后对这96幅14×14的特征图像先进行BN规范化,再进行ReLU激活。
接着使用3×3的卷积核,以步长为1进行卷积操作,得到128幅14×14的特征图像,然后对这128幅14×14的特征图像进行BN规范化。
步骤3,对采样层2输出的92幅14×14的特征图像使用1×1的卷积核,以步长为1进行卷积操作,得到16幅14×14的特征图像,然后对这16幅14×14的特征图像先进行BN规范化,再进行ReLU激活。
接着使用5×5的卷积核,以步长为1进行卷积操作,得到32幅14×14的特征图像,然后对这32幅14×14的特征图像进行BN规范化。
步骤4,对采样层2输出的92幅14×14的特征图像使用1×1的卷积核,以步长为1进行卷积操作,得到32幅14×14的特征图像,然后对这32幅14×14的特征图像进行BN规范化。
接着对这32幅14×14特征图像采用最大化下采样操作,得到32幅14×14的特征图像。
步骤5,将步骤1-步骤4输出的特征图像连接在一起,得到256幅14×14的特征图像,对连接后的256幅14×14的特征图像进行ReLu激活,得到卷积层4的输出。
对于卷积层5-卷积层12、采样层3-采样层5的操作,可以参考卷积层1-4、采样层1-2的过程。
最后,采样层15输出1024幅1×1的特征图像,将这1024幅1×1的特征图像顺序排列,拉成一个维度为1024维的特征向量,该向量即为一帧100×100的人脸图像通过该卷积网络运算的到的原始人脸特征。
参照图6,示出了本发明的一种基于人脸模型的人脸认证方法实施例的步骤流程图,所述人脸模型包括人脸特征模型,该方法具体可以包括如下步骤:
步骤601,当接收到人脸认证的指令时,采集目标图像数据。
在实际应用中,本发明实施例可以应用在人脸识别系统中,如门禁系统、监控系统、支付系统等等,对用户进行认证处理。
若在人脸识别系统中接收到人脸认证的指令时,可以通过摄像头等方式采集到目标图像数据。
步骤602,在所述目标图像数据中提取目标人脸图像。
在本发明的一个实施例中,步骤602可以包括如下子步骤:
子步骤S61,在所述目标图像数据中进行人脸检测,确定目标人脸图像;
子步骤S62,在所述目标人脸图像中进行人脸特征点定位,确定目标眼睛数据;
子步骤S63,将所述目标眼睛数据进行对齐;
子步骤S64,对除所述目标眼睛数据之外的目标人脸图像,根据所述目标眼睛数据的位置关系进行相似变换,获得归一化后的目标人脸图像。
在本发明实施例中,可以采取AdaBoost对目标图像数据进行人脸检测,在检测出的目标人脸图像上采用coase-to-fine方法对目标人脸图像进行定位,并利用定位后目标眼睛数据的位置坐标,采用相似变换进行归一化,例如,归一化后目标人脸图像的大小为100×100。
步骤603,将所述目标人脸图像输入预先训练的人脸特征模型中提取目标人脸特征。
应用本发明实施例,人脸特征模型可以通过如下方式进行训练:
子步骤6031,获取训练样本,所述训练样本包括训练图像数据和证件图像数据;
子步骤6032,在所述训练图像数据和所述证件图像数据中提取训练人脸图像和证件人脸图像;
子步骤6033,采用所述训练人脸图像训练人脸特征模型;
子步骤6034,采用配对的训练人脸图像和证件人脸图像,对所述人脸特征模型进行调整。
步骤604,根据所述目标人脸特征与指定的证件图像数据进行认证处理。
在本发明的一个实施例中,步骤604可以包括如下子步骤:
子步骤S71,获取指定的证件图像数据中证件人脸图像的证件人脸特征;
证件图像数据,可以为需要进行认证的用户证件中的图像数据。
例如,在支付系统中,指定提取账户所属用户的身份证的证件图像数据进行认证处理。
证件人脸图像的证件人脸特征可以预先提取,并存储在数据库中,待人脸认证时直接提取即可。
子步骤S72,将所述目标人脸特征和所述证件人脸特征输入按照联合贝叶斯训练的人脸认证模型,获得相似度;
在具体实现中,所述人脸模型还包括人脸认证模型,则可以将目标人脸特征和证件人脸特征输入按照联合贝叶斯训练的人脸认证模型,获得相似度。
应用本发明实施例,人脸认证模型可以通过如下方式进行训练:
子步骤S721,采用配对的训练人脸图像和证件人脸图像,按照联合贝叶斯训练人脸认证模型
子步骤S73,判断所述相似度是否大于或等于预设的相似度阈值;若是,则执行子步骤S74,若否,则执行子步骤S75;
子步骤S74,确定所述目标人脸图像和所述证件人脸图像属于同一个人;
子步骤S75,确定所述目标人脸图像和所述证件人脸图像不属于同一个人。
在本发明实施例中,可以预先设置一个相似度阈值T。
如果相似度≥T,则说明目标人脸图像与证件人脸图像较为相似,较大可能来自于同一个人,人脸认证成功。
如果相似度<T,则说明目标人脸图像与证件人脸图像相距较远,较大可能来自于不同人,人脸认证失败。
在本发明实施例中,由于人脸特征模型和人脸认证模型的训练方法与人脸模型的训练方法实施例的应用基本相似,所以描述的比较简单,相关之处参见人脸模型的训练方法实施例的部分说明即可,本发明实施例在此不加以详述。
本发明实施例在训练时使用的数据库为如图7A所示的NEU_Web数据库。
在测试时使用的数据库分别是三个身份证数据库ID_454、ID_55和ID_229,即在训练时使用的数据库与在测试时使用的数据库没有重叠。
其中,如图7B所示,ID_454为在室内环境下采集的445人视频图像与相应的身份证图像构造的数据库,对光照、姿态和表情的变化有较强的控制。
如图7C所示,ID_55为55人的身份证数据库,该数据库每个人包含9张不同姿态、不同表情的视频照与相应的身份证照片。
如图7D所示,ID_229为银行使用场景下采集的身份证数据库,具有更为复杂的光照,姿态和表情变化。
计算在等误率为1%时,三个数据库上的认证率,如表2所示
表2二代身份证人脸认证率(FRR=1%)
此外,本发明实施例分别对比EBGM、LGBP、BSF三种算法,在等误率为1%时,结果如表3所示,对应的ROC(receiver operating characteristic curve,受试者工作特征曲线)曲线如图8所示。
表3认证结果比较(FRR=1%)
其中,曲线801为本发明实施例的ROC曲线,曲线802为BSF的ROC曲线,曲线803为LGBP的ROC曲线,曲线804为EBGM的ROC曲线。
由图8可见,本发明实施例的ROC曲线相比EBGM、LGBP、BSF三种算法于的ROC曲线更靠近左上角,即相比EBGM、LGBP、BSF三种算法,本发明实施例的人脸认证的准确性更高。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图9,示出了本发明的一种人脸模型的训练装置实施例的结构框图,具体可以包括如下模块:
训练样本获取模块901,用于获取训练样本,所述训练样本包括训练图像数据和证件图像数据;
样本人脸图像提取模块902,用于根据所述训练图像数据和所述证件图像数据获得训练人脸图像和证件人脸图像;
人脸模型训练模块903,用于采用所述训练人脸图像训练人脸特征模型;
人脸模型调整模块904,用于采用配对的训练人脸图像和证件人脸图像,对所述人脸特征模型进行调整。
在本发明的一个实施例中,所述样本人脸图像提取模块902包括:
样本人脸检测子模块,用于在所述训练图像数据和所述证件图像数据中分别进行人脸检测,确定训练人脸图像和证件人脸图像;
样本人脸定位子模块,用于在所述训练人脸图像和所述证件人脸图像中分别进行人脸特征点定位,确定训练眼睛数据和证件眼睛数据;
样本人脸对齐子模块,用于将所述训练眼睛数据的位置和所述证件眼睛数据的位置与预设模板位置进行对齐;
训练人脸归一化子模块,用于对除所述训练眼睛数据之外的训练人脸图像,根据所述训练眼睛数据的位置关系进行相似变换,获得归一化后的训练人脸图像;
证件人脸归一化子模块,用于对除所述证件眼睛数据之外的证件人脸图像,根据所述证件眼睛数据的位置关系进行相似变换,获得归一化后的证件人脸图像。
在本发明的一个实施例中,所述人脸模型训练模块903包括:
识别训练子模块,用于采用所述训练人脸图像基于人脸识别对预置的人脸特征模型进行训练,以训练出所述模型参数的初始参数值。
在本发明的一个实施例中,所述人脸模型调整模块904包括:
认证训练子模块,用于采用配对的训练人脸图像和证件人脸图像基于人脸认证对所述人脸特征模型进行训练,以将所述模型参数从初始参数值调整为目标参数值。
在本发明的一个实施例中,所述识别训练子模块包括:
第一随机取样单元,用于随机提取训练人脸图像;
第一样本人脸特征提取单元,用于将随机提取的训练人脸图像输入预置的人脸特征模型中提取训练人脸特征;
第一损失率计算单元,用于计算所述训练人脸特征用于人脸识别时的第一损失率;
第一收敛判断单元,用于判断所述第一损失率是否收敛;若是,则调用初始参数值设置单元,若否,则调用第一梯度计算模块;
初始参数值设置单元,用于以当前迭代的所述模型参数的参数值作为初始参数值;
第一梯度计算单元,用于采用所述第一损失率计算第一梯度;
第一梯度下降子模块,用于采用所述第一梯度与预设的学习率对所述模型参数的参数值进行下降,返回调用所述第一随机取样子模块。
在本发明的一个实施例中,所述第一损失率计算单元包括:
概率计算子单元,用于计算所述训练人脸特征属于预设的用户标签的概率;
人脸识别损失率计算子单元,用于采用所述概率计算所述训练人脸特征的用于人脸识别时的第一损失率。
在本发明的一个实施例中,所述认证训练子模块,包括:
数据配对单元,用于将属于同一用户的训练人脸图像和证件人脸图像进行配对;
第二随机取样单元,用于随机提取配对的训练人脸图像和证件人脸图像;
第二样本人脸特征提取单元,用于将随机提取的、配对的训练人脸图像和证件人脸图像输入所述人脸特征模型中提取训练人脸特征和证件人脸特征;
第二损失率计算单元,用于计算所述训练人脸特征和证件人脸特征用于人脸认证时的损失率;
第二收敛判断单元,用于判断所述第二损失率是否收敛;若是,则调用目标参数值设置单元,若否,则调用第二梯度计算单元;
目标参数值设置单元,用于以当前迭代的所述模型参数的参数值作为目标参数值;
第二梯度计算单元,用于采用所述第二损失率计算第二梯度;
第二梯度下降子模块,用于采用所述第二梯度与预设的学习率对所述模型参数的参数值进行下降,返回调用所述第二随机取样子模块。
在本发明的一个实施例中,所述第二损失率计算子模块包括:
距离计算单元,用于计算所述训练人脸特征和证件人脸特征之间的距离;
第二认证损失率计算单元,用于采用所述距离计算所述训练人脸特征和证件人脸特征的用于人脸认证时的第二损失率。
在本发明的一个实施例中,还包括:
人脸认证模型训练模块,用于采用配对的训练人脸图像和证件人脸图像,按照联合贝叶斯训练人脸认证模型。
在本发明的一个实施例中,所述人脸特征模型包括卷积神经网络,所述卷积神经网络包括一个或多个卷积层、一个或多个采样层,所述卷积神经网络的模型参数包括卷积核;
所述卷积神经网络包括:
浅层卷积模块,用于在所述卷积层属于第一深度范围时,采用指定的单个卷积核进行卷积操作;
深层卷积模块,用于在所述卷积层属于第二深度范围时,采用分层线性模型Inception进行卷积操作,其中,所述第二深度范围的层数大于所述第一深度范围的层数;
最大化下采样模块,用于在人所述采样层中,进行最大化下采样;
特征获得模块,用于根据所述卷积神经网络输出的多个图像数据获得特征向量,作为人脸图像的人脸特征。
在本发明的一个实施例中,所述卷积神经网络还包括:
第一卷积辅助模块,用于在第一深度范围卷积完成之后,进行规范化操作和激活操作。
在本发明的一个实施例中,所述分层线性模型Inception包括第一层、第二层、第三层、第四层;
所述深层卷积模块包括:
第一卷积子模块,用于在第一层中,采用指定的第一卷积核与第一步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第一特征图像数据;
第二卷积子模块,用于在第二层中,采用指定的第二卷积核与第二步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第二特征图像数据;
第三卷积子模块,用于采用指定的第三卷积核与第三步长对所述第二特征图像数据进行卷积操作,获得第三特征图像数据;
第四卷积子模块,用于在第三层中,采用指定的第四卷积核与第四步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第四特征图像数据;
第五卷积子模块,用于采用指定的第五卷积核与第五步长对所述第四特征图像数据进行卷积操作,获得第五特征图像数据;
第六卷积子模块,用于在第四层中,采用指定的第六卷积核与第六步长对输入所述分层线性模型Inception的图像数据进行卷积操作,获得第六特征图像数据;
采样子模块,用于对所述第六特征图像数据进行最大化下采样操作,获得第七特征图像数据;
图像连接子模块,用于连接所述第一特征图像数据、所述第三特征图像数据、所述第五特征图像数据和所述第七特征图像数据,获得第八特征图像数据。
在本发明的一个实施例中,所述深层卷积模块还包括:
第二卷积辅助子模块,用于在第一层中,对所述第一特征图像数据进行规范化操作;
第三卷积辅助子模块,用于在第二层中,对所述第二特征图像数据进行规范化操作和激活操作;
第四卷积辅助子模块,用于对所述第三特征图像数据进行规范化操作;
第五卷积辅助子模块,用于在第三层中,对所述第四特征图像数据进行规范化操作和激活操作;
第六卷积辅助子模块,用于对所述第五特征图像数据进行规范化操作;
第七卷积辅助子模块,用于在第四层中,对所述第六特征图像数据进行规范化操作;
第八卷积辅助子模块,用于对所述第八特征图像数据激活操作。
参照图10,示出了本发明的一种基于人脸模型的人脸认证装置实施例的结构框图,人脸模型包括人脸特征模型,该装置具体可以包括如下模块:
目标图像数据模块1001,用于在接收到人脸认证的指令时,采集目标图像数据;
目标人脸图像提取模块1002,用于在所述目标图像数据中提取目标人脸图像;
目标人脸特征提取模块1003,用于将所述目标人脸图像输入预先训练的人脸特征模型中提取目标人脸特征;
认证处理模块1004,用于根据所述目标人脸特征与指定的证件图像数据进行认证处理;
在具体实现中,所述人脸模型调用如下模块训练:
训练样本获取模块,用于获取训练样本,所述训练样本包括训练图像数据和证件图像数据;
样本人脸图像提取模块,用于在所述训练图像数据和所述证件图像数据中提取训练人脸图像和证件人脸图像;
人脸模型训练模块,用于采用所述训练人脸图像训练人脸特征模型;
人脸模型调整模块,用于采用配对的训练人脸图像和证件人脸图像,对所述人脸特征模型进行调整。
在本发明的一个实施例中,所述目标人脸图像提取模块1002包括:
目标人脸检测子模块,用于在所述目标图像数据中进行人脸检测,确定目标人脸图像;
目标人脸定位子模块,用于在所述目标人脸图像中进行人脸特征点定位,确定目标眼睛数据;
目标人脸对齐子模块,用于将所述目标眼睛数据进行对齐;
目标人脸归一化子模块,用于对除所述目标眼睛数据之外的目标人脸图像,根据所述目标眼睛数据的位置关系进行相似变换,获得归一化后的目标人脸图像。
在本发明的一个实施例中,所述人脸模型还包括人脸认证模型,所述认证处理模块1004包括:
证件人脸特征获取子模块,用于获取指定的证件图像数据中证件人脸图像的证件人脸特征;
相似度计算子模块,用于将所述目标人脸特征和所述证件人脸特征输入按照联合贝叶斯训练的人脸认证模型,获得相似度;
相似度阈值判断子模块,用于判断所述相似度是否大于或等于预设的相似度阈值;若是,则调用第一确定子模块,若否,则调用第二确定子模块;
第一确定子模块,用于确定所述目标人脸图像和所述证件人脸图像属于同一个人;
第二确定子模块,用于确定所述目标人脸图像和所述证件人脸图像不属于同一个人。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种人脸模型的训练方法、一种基于人脸模型的人脸认证方法、一种人脸模型的训练装置和一种基于人脸模型的人脸认证装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。