一种基于LGBPHS和CNN的大规模人脸识别方法转让专利

申请号 : CN201810960628.4

文献号 : CN110858280A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏雪平陈宁任小玲张晓丹董免

申请人 : 西安工程大学

摘要 :

本发明公开了一种基于LGBPHS和CNN的大规模人脸识别方法,具体按照以下顺利进行:使用人眼检测器对所有训练图像和测试图像进行归一化处理;通过LGBPHS方法对经步骤1归一化处理后的训练图像和测试图像进行提取,得到K维人脸特征;通过卷积神经网络对经步骤1归一化处理后的训练图像和测试图像进行提取,得到128维人脸特征;将步骤2得到的K维人脸特征和步骤3得到的128维人脸特征进行融合,得到K+128维人脸特征;训练多类SVM对测试图像进行识别。该方法提高了图像旋转和噪声的鲁棒性,改善对宏观纹理和大的外观变化的有效性,提高非实验室环境下人脸识别的准确率。

权利要求 :

1.一种基于LGBPHS和CNN的大规模人脸识别方法,其特征在于,具体按照以下步骤进行:步骤1,使用人眼检测器对所有训练图像和测试图像进行归一化处理;

步骤2,通过LGBPHS方法对经步骤1归一化处理后的训练图像和测试图像进行提取,得到K维人脸特征;

步骤3,通过卷积神经网络对经步骤1归一化处理后的训练图像和测试图像进行提取,得到128维人脸特征;

步骤4,将步骤2得到的K维人脸特征和步骤3得到的128维人脸特征进行融合,得到K+

128维人脸特征;

步骤5,通过步骤4处理得到的训练图像,训练多类SVM;

步骤6,通过步骤5训练好的多类SVM识别步骤4得到的测试图像。

2.根据权利要求1所述的基于LGBPHS和CNN的大规模人脸识别方法,其特征在于:所述步骤2具体为:步骤2.1,分别使用M个不同方向、不同尺度的Gabor滤波器与归一化处理后的训练图像或测试图像进行卷积,取卷积结果的幅值部分,得到Gabor幅值图谱;

步骤2.2,通过局部二值模式将每幅Gabor幅值图谱转换为局部Gabor二值模式图谱;

步骤2.3,将每个Gabor二值模式图谱分成N*N的非重叠的k区域,分别提取该k区域的直方图,直方图表示为:Hi=[Hi1Hi2...Hik],其中Hi表示第i个Gabor二值模式图谱的直方图,Hik表示第i个Gabor二值模式图谱的第k区域的直方图;

步骤2.4,融合所有Gabor二值模式图谱的直方图,得到最终直方图H=[H1H2...HM];

步骤2.5,采用核主成分分析降低特征维数,得到K维人脸特征。

3.根据权利要求2所述的基于LGBPHS和CNN的大规模人脸识别方法,其特征在于:步骤3中的卷积神经网络为:使用一个开源的基于TensorFlow的Keras框架,参考AlexNet的网络结构,并加以简化搭建了一个包含w1个卷积核均为m*m大小的二维卷积层、w1个池化运算尺度为n*n大小的最大池化层以及1个输出维度为128的全连接层的卷积神经网络,其中在卷积层和全连接层中均采用纠正线性单元作为激活函数;在训练卷积神经网络的阶段,使用遍历的方法依次将各个子目录下的经归一化处理后的训练图像或测试图像转换成矩阵的形式读取到内存中,划分出训练集和测试集,并分别对训练集和测试集添加标签,再将处理好的数据按照集合标签传入卷积神经网络中,进行迭代训练,共计迭代B次。

4.根据权利要求3所述的基于LGBPHS和CNN的大规模人脸识别方法,其特征在于:进行训练卷积神经网络,使用随机梯度下降法作为优化器,设置学习率为ε,每次更新后的学习率衰减值为μ,动力为β。

5.根据权利要求4所述的基于LGBPHS和CNN的大规模人脸识别方法,其特征在于:所述步骤5具体如下:步骤5.1,经步骤4融合到得到的训练图像和测试图像组成的数据集包含X个人,将X个人的人名作为人名字典,每个人名有其对应的索引号,设置人名索引号为类的索引号。对于每个人名,使用其α1(α1<1)的人脸图像作为训练集,剩余1-α1的人脸图像作为测试集;

步骤5.2,对于每个人名,其训练集图像作为正例样本集,随机从剩余图像集中挑选一些人脸图像集作为反例样本集,同样也分配类的索引号,使用正例样本集和反例样本集训练多类SVM,得到训练好的多类SVM。

说明书 :

一种基于LGBPHS和CNN的大规模人脸识别方法

技术领域

[0001] 本发明属于图像处理技术领域,特别是涉及一种基于LGBPHS和CNN的大规模人脸识别方法。

背景技术

[0002] 人脸识别是模式识别、人机交互以及生物特征识别等领域涉及的重要研究方向,目前已成为国内外研究的热点。由于人脸面部可以产生多种表情、不同的观察角度可产生多种姿势、不同的光照条件(白天、晚上、室内和室外等)、面部遮挡物(胡须、头发、口罩、眼镜等)等诸多因素影响,使得人脸的形状非常不稳定,这些使得人脸特征描述成为难题。
[0003] 很多学者将LBP(Local Binary Pattern,局部二值模式)及其各种变形用于描述人脸面部特征,在人脸识别上取得了优异的表现。此外,Gabor函数与人的初级视觉皮层感知非常相似,Gabor特征也常用来描述人脸特征。融合LBP与Gabor的LGBPHS((Local Gabor Binary Pattern Histogram Sequence,局部Gabor二值模式直方图序列))是结合多分辨率空间直方图和局部密度分布的空间信息表示方法,它对于外观变化(旋转、噪声等)的影响具有强鲁棒性,但是对于宏观纹理和大型外观变化时,性能明显下降。
[0004] 近年来,CNN(Convolutional Neural Network,卷积神经网络)在图像识别领域大放异彩,尤其是在国际知名的ImageNet图像分类大赛上,更是证明了深度神经网络有着良好的识别效率,2012年Hinton的研究小组采用深度学习方法拿到第一名,准确率比第二名高出10%以上。CNN不仅仅是在图像识别领域,在人脸识别、语音识别、自然语言分析等方面均有突破。CNN需要大量的培训数据,能够从数据中学习多个尺度的纹理描述符,对于宏观纹理和大的外观变化均有良好的识别率,但是对图像旋转和噪声不太稳健。

发明内容

[0005] 本发明的目的是提供一种基于LGBPHS和CNN的大规模人脸识别方法,用以提高人脸识别的准确率。
[0006] 为了达到上述目的,本发明所采用的技术方案是,一种基于LGBPHS和CNN的大规模人脸识别方法,具体按照以下步骤进行:
[0007] 步骤1,使用人眼检测器对所有训练图像和测试图像进行归一化处理;
[0008] 步骤2,通过LGBPHS方法对经步骤1归一化处理后的训练图像和测试图像进行提取,得到K维人脸特征;
[0009] 步骤3,通过卷积神经网络对经步骤1归一化处理后的训练图像和测试图像进行提取,得到128维人脸特征;
[0010] 步骤4,将步骤2得到的K维人脸特征和步骤3得到的128维人脸特征进行融合,得到K+128维人脸特征;
[0011] 步骤5,通过步骤4处理得到的训练图像,训练多类SVM;
[0012] 步骤6,通过步骤5训练好的多类SVM识别步骤4得到的测试图像。
[0013] 本发明的技术方案,还具有以下特点:
[0014] 所述步骤2具体为:
[0015] 步骤2.1,分别使用M个不同方向、不同尺度的Gabor滤波器与归一化处理后的训练图像或测试图像进行卷积,取卷积结果的幅值部分,得到Gabor幅值图谱;
[0016] 步骤2.2,通过局部二值模式将每幅Gabor幅值图谱转换为局部Gabor二值模式图谱;
[0017] 步骤2.3,将每个Gabor二值模式图谱分成N*N的非重叠的k区域,分别提取该k区域的直方图,直方图表示为:Hi=[Hi1Hi2...Hik],其中Hi表示第i个Gabor二值模式图谱的直方图,Hik表示第i个Gabor二值模式图谱的第k区域的直方图;
[0018] 步骤2.4,融合所有Gabor二值模式图谱的直方图,得到最终直方图H=[H1H2...HM];
[0019] 步骤2.5,采用核主成分分析降低特征维数,得到K维人脸特征。
[0020] 步骤3中的卷积神经网络为:使用一个开源的基于TensorFlow的Keras框架,参考AlexNet的网络结构,并加以简化搭建了一个包含w1个卷积核均为m*m大小的二维卷积层、w1个池化运算尺度为n*n大小的最大池化层以及1个输出维度为128的全连接层的卷积神经网络,其中在卷积层和全连接层中均采用纠正线性单元作为激活函数;在训练卷积神经网络的阶段,使用遍历的方法依次将各个子目录下的经归一化处理后的训练图像或测试图像转换成矩阵的形式读取到内存中,划分出训练集和测试集,并分别对训练集和测试集添加标签,再将处理好的数据按照集合标签传入卷积神经网络中,进行迭代训练,共计迭代B次。
[0021] 进行训练卷积神经网络,使用随机梯度下降法作为优化器,设置学习率为ε,每次更新后的学习率衰减值为μ,动力为β。
[0022] 所述步骤5具体如下:
[0023] 步骤5.1,经步骤4融合到得到的训练图像和测试图像组成的数据集包含X个人,将X个人的人名作为人名字典,每个人名有其对应的索引号,设置人名索引号为类的索引号。对于每个人名,使用其α1(α1<1)的人脸图像作为训练集,剩余1-α1的人脸图像作为测试集;
[0024] 步骤5.2,对于每个人名,其训练集图像作为正例样本集,随机从剩余图像集中挑选一些人脸图像集作为反例样本集,同样也分配类的索引号,使用正例样本集和反例样本集训练多类SVM,得到训练好的多类SVM。
[0025] 本发明的有益效果是:本发明的基于LGBPHS和CNN的大规模人脸识别方法以近年CNN及LBP的人脸识别研究结果为基础,结合LGBPHS和CNN的优势,提高了图像旋转和噪声的鲁棒性,改善对宏观纹理和大的外观变化的有效性,提高非实验室环境下人脸识别的准确率,通过对MegaFace人脸数据库上的实验表明,本发明的方法最终求得人脸识别率为98.78%。

附图说明

[0026] 图1是本发明的一种基于LGBPHS和CNN的大规模人脸识别方法的工作原理图;
[0027] 图2是本发明的一种基于LGBPHS和CNN的大规模人脸识别方法中提取K维人脸特征的工作原理图;
[0028] 图3是本发明的一种基于LGBPHS和CNN的大规模人脸识别方法中提取128维人脸特征。

具体实施方式

[0029] 以下结合附图说明和具体实施例对本发明的技术方案作进一步地详细说明。
[0030] 如图1-图3所示,本发明的一种基于LGBPHS和CNN的大规模人脸识别方法,具体按照以下步骤进行:
[0031] 步骤1,使用人眼检测器对所有训练图像和测试图像进行归一化处理;
[0032] 步骤2,通过LGBPHS方法对经步骤1归一化处理后的训练图像和测试图像进行提取,得到K维人脸特征;
[0033] 步骤3,通过卷积神经网络对经步骤1归一化处理后的训练图像和测试图像进行提取,得到128维人脸特征;
[0034] 步骤4,将步骤2得到的K维人脸特征和步骤3得到的128维人脸特征进行融合,得到K+128维人脸特征;
[0035] 步骤5,通过步骤4处理得到的训练图像,训练多类SVM,具体为:
[0036] 步骤5.1,经步骤4融合到得到的训练图像和测试图像组成的数据集包含X个人,将X个人的人名作为人名字典,每个人名有其对应的索引号,设置人名索引号为类的索引号。对于每个人名,使用其α1(α1<1)的人脸图像作为训练集,剩余1-α1的人脸图像作为测试集;
[0037] 步骤5.2,对于每个人名,其训练集图像作为正例样本集,随机从剩余图像集中挑选一些人脸图像集作为反例样本集,同样也分配类的索引号,使用正例样本集和反例样本集训练多类SVM,得到训练好的多类SVM;
[0038] 步骤6,通过步骤5训练好的多类SVM识别步骤4得到的测试图像。
[0039] 如图2所示,所述步骤2获取K维人脸特征的过程具体为:
[0040] 步骤2.1,分别使用M个不同方向、不同尺度的Gabor滤波器与归一化处理后的训练图像或测试图像进行卷积,取卷积结果的幅值部分,得到Gabor幅值图谱;
[0041] 步骤2.2,通过局部二值模式将每幅Gabor幅值图谱转换为局部Gabor二值模式图谱;
[0042] 步骤2.3,将每个Gabor二值模式图谱分成N*N的非重叠的k区域,分别提取该k区域的直方图,直方图表示为:Hi=[Hi1Hi2...Hik],其中Hi表示第i个Gabor二值模式图谱的直方图,Hik表示第i个Gabor二值模式图谱的第k区域的直方图;
[0043] 步骤2.4,融合所有Gabor二值模式图谱的直方图,得到最终直方图H=[H1H2...HM];
[0044] 步骤2.5,采用核主成分分析降低特征维数,得到K维人脸特征。
[0045] 如图3所示,步骤4中的卷积神经网络使用一个开源的基于TensorFlow的Keras框架,参考AlexNet的网络结构,并加以简化搭建了一个包含w1个卷积核均为m*m大小的二维卷积层、w1个池化运算尺度为n*n大小的最大池化层以及1个输出维度为128的全连接层的卷积神经网络,其中在卷积层和全连接层中均采用纠正线性单元作为激活函数;在训练卷积神经网络的阶段,使用遍历的方法依次将各个子目录下的经归一化处理后的训练图像或测试图像转换成矩阵的形式读取到内存中,划分出训练集和测试集,并分别对训练集和测试集添加标签,再将处理好的数据按照集合标签传入卷积神经网络中,进行迭代训练,共计迭代B次,进行训练卷积神经网络时,使用随机梯度下降法作为优化器,设置学习率为ε,每次更新后的学习率衰减值为μ,动力为β。
[0046] 以MegaFace人脸数据库使用本发明的基于LGBPHS和CNN的大规模人脸识别方法进行人脸识别测试,该数据集包含530个人,人脸图像总计91712幅。具体操作为:
[0047] 步骤1,使用遍历的方法依次将各个子目录下的人脸图像进行归一化处理,得到大小为200*200*3的图像;
[0048] 步骤2.1,分别使用40个不同方向、不同尺度的Gabor滤波器与归一化后的人脸图像进行卷积,取卷积结果的幅值部分,即Gabor幅值图谱(Gabor Magnitude Pictures,GMP);
[0049] 步骤2.2,LBP将每幅Gabor幅值图谱转换为局部Gabor二值模式图谱(Local Gabor Binary Pattern,LGBP)
[0050] 步骤2.3,将每个LGBP分成40*40的非重叠的25个区域,并计算25个区域的直方图;
[0051] 步骤2.4,融合所有LGBP的直方图,得到18000维人脸特征;
[0052] 步骤2.5,采用核主成分分析(Kernel Principle Component Analysis,KPCA)降低特征维数,最终得到180维人脸特征;
[0053] 步骤3.1,搭建卷积池化层,卷积神经网络的模型由3个卷积层、3个最大池化层和1个全连接层组成,第一层的输入数据为200*200*3的归一化图像,采用3*3*3的卷积核与归一化的图像进行卷积运算,卷积核沿图像的x轴方向和y轴方向两个方向移动,移动的步长为1个像素,共使用64个卷积核,则生成198*198*64个像素层数据,使用ReLU函数作为激活函数,这些像素层经过ReLU单元的处理,生成激活像素层,这些激活像素层经过MaxPooling运算(最大池化运算)的处理,使用池化运算的尺度为2*2,运算步长默认为2,则池化之后的图像的尺寸为99*99*64;反向传播时,每个卷积核对应一个偏差值,即第一层的64个卷积核对应上层输入的64个偏差值;
[0054] 在接下来的卷积层和最大池化层中,与第一层的卷积层和最大池化层类似,第二层使用32个3*3*64卷积核,经过卷积运算后生成97*97*32个像素层,这些像素层经过ReLU单元的处理,生成激活像素层,这些激活像素层经过MaxPooling运算的处理,则池化之后的图像的尺寸为48*48*32,然后经过Dropout层更新参数时以25%的概率随机断开输入神经元来更新参数,用来防止过拟合,在这一层中的反向传播中,每个卷积核对应一个偏差值,即第一层的64个卷积核对应上层输入的32个偏差值;
[0055] 同理,第三层使用32个3*3*32卷积核,经过卷积运算后生成46*46*32像素层,这些像素层经过ReLU单元的处理,生成激活像素层,这些激活像素层经过MaxPooling运算的处理,则池化之后的图像的尺寸为23*23*32,然后经过Dropout层进行以25%的概率随机断开输入神经元来更新参数;
[0056] 最后使用Faltten层(压平层)将多维的输入一维化,经过“压平”处理后,输出的是一组一维的像素数组,总计包含16928个数据,然后将这些像素作为输入传入全连接层进行下一步运算处理;
[0057] 步骤3.2,搭建全连接层,全连接层(Dense)将输入的16928个数据对128个神经元进行全连接,然后经过ReLU激活函数处理后生成128个数据,再经过Dropout处理后输出128个数据,作为人脸特征;
[0058] 步骤3.3,训练卷积神经网络,在训练阶段使用遍历的方法依次将各个子目录下的归一化的人脸图像转换成矩阵的形式读取到内存中,依照一定的规则划分出训练集和测试集,并分别对训练集和测试集添加标签;将处理好的数据按照集合标签传入神经网络中,进行迭代训练,共计迭代50次;选择使用随机梯度下降法作为优化器,设置学习率为0.01,每次更新后的学习率衰减值为0.000001,动力为0.9,进行训练卷积神经网络;
[0059] 步骤4,将步骤2得到的180维人脸特征和步骤3得到的128维人脸特征进行融合,得到308维人脸特征;
[0060] 步骤5.1,由于该数据集包含530人,共91,712张人脸图像,将530人的人名作为人名字典,每个人名有其对应的索引号,设置人名索引号为类的索引号,对于每个人名,使用其90%的人脸图像作为训练集,剩余10%的人脸图像作为测试集;
[0061] 步骤5.2,对于每个人名,其训练集图像作为正例样本集,随机从剩余图像集中挑选一些人脸图像集作为反例样本集,同样也分配类的索引号。使用正例样本集和反例样本集训练多类SVM,得到训练好的多类SVM;
[0062] 步骤6,通过步骤5训练好的多类SVM识别步骤4得到的测试图像。
[0063] 本发明的基于LGBPHS和CNN的大规模人脸识别方法以近年CNN及LBP的人脸识别研究结果为基础,结合LGBPHS和CNN的优势,提高了图像旋转和噪声的鲁棒性,改善对宏观纹理和大的外观变化的有效性,提高非实验室环境下人脸识别的准确率,通过对MegaFace人脸数据库上的实验表明,本发明的方法最终求得人脸识别率为98.78%。