APP下载

基于深度学习的局部方向人脸识别算法研究∗

2019-06-01公维军吴建军李晓霞李晓旭

计算机与数字工程 2019年5期
关键词:识别率特征提取人脸

公维军 吴建军 李晓霞 李晓旭

(1.河西学院信息技术与传媒学院 张掖 734000)(2.兰州理工大学计算机与通信学院 兰州 730050)

1 引言

随着人工智能技术的不断普及和发展,身份识别得到了广泛的发展和应用。人脸识别作为生物识别技术其自然性和无侵犯性等优点得到了广泛的共识和应用,在众多领域的如人机交互、门禁系统、安防、交通驾驶安全、虚拟游戏互动、金融等领域应用越来越广泛,其重要性不言而喻。因此,对于人脸识别的研究越来越受到众多学者的重视,也是当前研究的一个热点。

传统识别算法如主成分分析(PCA)和线性判别分析(LDA)是人脸识别中上最常见的两个算法[1]。但对人脸特征的细节的把握和对外部因素的影响如光照、表情及姿态等的处理不够友好,局部性能不佳。近年来 LBP(Local binary patter)[2]算法由于具有良好的纹理描述,计算简单和运算速度快在人脸识别、表情识别中得到了广泛的应用。但该算法对光照变化和随机噪声适应能力不足。后续有学者提出了 MB-LBP、CSLBP 等改进算法[3~4]。学者Jabid在LBP基础上提出了LDP(Local Directional Patterns)[5]局部定向模式算法,该算法使用模板卷积获得边缘梯度信息,因此对于具有随机噪声和非一致性光照变化的人脸图像具有良好的特征提取能力。

最近,深度学习[6~7]作为机器学习领域热门的研究方向,由于可以模拟大脑的深度组织结构,通过组合低层特征形成更抽象、更有效的高层表示,被应用在视觉识别领域。由Hinton于2006年提出的典型的深度学习算法DBN(Deep Belief Network)[8]深度信念网络,通过不断的自上而下学习各层的抽象特征,进而最终得到特征的非线性描述。但是由于DBN忽略了图像的局部特性,若直接以像素级特征输入,受外部噪声影响很可能学习不到有效的特征。部分学者针对这些问题提出将LBP纹理特征作为DBN的输入,在人脸识别中能够取得一定的效果[9~10]。本文针对LBP作为对人脸特征具有光照和噪声不稳定性等特点及单一算法在识别率上的限制等问题,同时为了提取更具选择性的人脸特征和降低网络学习复杂度,提出更具有选择性的局部方向人脸特征算法LLDP(Local-LDP)对局部敏感特征进行分块式局部方向特征提取,最后将联合特征送入DBN进行深度学习和自动特征提取,实验证明本文提出的算法对细节和层次的把握能力更强,能够获得更好的识别率,鲁棒性更强。

2 基于深度学习的局部方向人脸识别算法

2.1 局部敏感信息

传统人脸识别算法在进行人脸识别前,只是进行简单的裁剪,进行全局特征提取,或将整体图像进行平均分块,在经过特征提取后在获取直方图后进行拼接,虽然增强了特征的局部性能,但也带来了处理时间长,冗余信息多,图像噪声影响识别率。本文在综合上述方法优缺点的基础上,提出基于敏感信息的人脸特征提取方法。人脸在识别当中最突出的特征在于眼睛、眉毛、鼻子、嘴巴及下巴,这部分的能量差异性尤其是眉形、眼形、鼻沟的深浅、鼻孔的变化、嘴型、下巴的形状等在各类人脸中都呈现尤为明显,这类差异性可以成为人脸判别的重要标准之一。因此,结合传统人脸识别的思想,同时为了进一步减小直接预处理后的图像的复杂度和冗余度较高的问题,我们采用将眼、眉、嘴、鼻、下巴这部分具有重要甄别特征的人脸敏感部位单元共同作用于人脸识别进行处理中,为下一步特征提取打好基础。文中采用adaboost[11]方法进行各部位的迅速定位,如图1所示。

图1 人脸敏感特征区域提取

2.2 LDP

LDP局部方向模式由Jabid等在2010年在LBP算法的基础上提出,继承了LBP算法计算速度块和适用范围广等特点,能够有效提取人脸图像的纹理特征。LBP算法是对于人脸图像中的任意一点p(xi,yi),定义一个以该像素点为中心的3×3的矩阵区域,顺时针读取其周围的8个像素点的值,通过式(1)得到该像素点的二进制编码。

其中,(i,j)代表像素坐标,gp和gc分别代表邻接像素和中心像素灰度值,s(x)为符号函数,对于基本LBP的邻接数为8。

图2 LBP编码

图2 中代表以中心像素115组成的3×3区域根据LBP算法得到的最终LBP二进制编码00101010,对应十进制为42。

但是LBP算法虽然对于一致性光照变化不敏感,但是对于包含随机噪声与非一致性光照变化的图像,在特征提取性能上反而变坏[12],而LDP算法却在这方面有自己独特的优势,如图5所示,该算法在细节和光照的处理明显比LBP具有优势,具有更强的特征提取能力。该方法通过计算像素点在8个方向上的边缘响应值来计算LDP值,选取Krisch算子进行卷积运算得到相应的边缘梯度值,构成了8位的二进制编码。

图3 Krisch算子模板集合

如图3所示,通过将每个像素分别与Krisch算子8个方向模板进行卷积运算,可得到8个LDP值,对这8个边缘梯度值取绝对值进行排序,取前k个最大的值作为特征值(通过实验论证本文中取k=3效果最佳),并赋值为1,其余(8-k)个赋值为0,最终得到一个8位的2进制LDP编码。如式(2)所示:

具体编码过程如图4所示。

图4 LDP编码

图中设置LDP编码取k=3个边缘梯度模值的绝对值为1,其余为0。最终的LDP对应2进制编码为:00010011,对应十进制为21。

图5 原始图、LBP、LDP编码特征图

2.3 深度信念网络(DBN)

深度信念网络(DBN)属于一种深度学习模型,是Hinton等学者在受限玻尔兹曼机(RBM)[13]基础上提出的学习模型。它实质上是将多个RBM叠堆,前一层作输出作为后一层的输入进而构成深度玻尔兹曼机RBMs,即深度信念网络。每个RBM由一层可视层单元和隐藏层单元组成的随机神经网络,在隐藏层中每一层从前一层的隐藏单元捕获高度的关联性,其中在可视层和隐藏层中每个神经元之间的状态是条件独立的。利用构建包括多层非线性映射的深度网络来模拟人脑结构与认知过程,采用非监督的方式实现对输入层逐层抽象的特征提取。在网络最后一层采用有监督BP网络实现对整体网络的参数调整与分类。

受限玻尔兹曼机(RBM)作为DBN的堆叠组成单元,它在一组给定状态 (v,h),实际参数θ=(ai,bj,wij)下的能量表达式为

m和n分别代表可见层和隐藏层的神经元个数,ai和bj分别表示可见层和隐藏层神经元的偏置值,hj和vi分别为可见层中第i个和隐藏层中第j个神经元的状态,wij表示连接可见层和隐藏层的各个神经元网络的权值。当θ确定时,随机变量(v,h)的联合概率分布为

在可见层概率分布给定的情况下,通过条件概率即可得出隐藏层第j个神经元hj的激活因子概率为

同理,对于隐藏层给定的条件下,可见层第i个神经元vi的激活因子概率为

其中σ(x)即Sigmoid函数,取值范围在[0,1]之间。

对于一个具有l层的DBN,可视层和隐藏层单元的联合分布为

根据上式,设k∈(1,2…l),则第k和k+1层隐藏单元的关系满足以下条件:

其中为第k和k+1层的权值为第k层的偏置。

DBN在具体学习过程可分为:预训练阶段和微调阶段两个阶段。预训练阶段是采用无监督训练方式对RBMs从第一层到最后一层逐层训练,前一层RBM的输出作为后一层RBM的输入;在微调阶段则是将RBMs训练得到的网络参数值作为整体网络参数对BP网络进行初始化,该阶段采用有监督的学习方法对BP网络进行训练。最终将BP网络训练的输出标签与实际标签产生的误差逐层反向传播,达到对整个DBN网络参数进行微调的目的。DBN的结构如图6所示。

图6 深度信念网络(DBN)示意图

2.4 LLDP+DBN算法描述

本文将局部敏感信息特别应用在局部方向算法当中,在利用深度学习算法DBN进行学习,最终获得识别结果。具体算法如下:

1)采用2.1中的方法对人脸图像中的关键敏感人脸特征进行分块处理,获得眼、眉、鼻、嘴和下巴局部关键区域;

2)利用LDP算法对以上5个局部敏感区域进行人脸特征提取,获得每一个子块的LDP特征,将该5个区域的直方图进行首尾相连,最终形成样本的局部敏感LDP特征即LLDP特征;

3)将训练样本的LLDP特征作为DBN的可视层的输入,通过对DBN网络进行逐层训练,在该算法当中,根据实验设置DBN的层数为2层,第一层迭代次数为45次,学习率为0.0025,第2层迭代次数为45次,学习率为0.003。

4)在深度网络训练完后,将测试样本的LLDP纹理特征作为DBN可视层输入,采用经过参数优化后的网络由下向上逐层次学习并最终提取测试样本的人脸特征,最终在网络顶层利用Softmax方法进行回归分类并获得测试样本的分类值,最终得到识别率。

3 实验过程及分析

3.1 实验过程

本文通过以下两个实验来对本文算法进行实验验证,并在实验中将本文算法与相关算法进行了性能比较,在实验前,所有的人脸图像在剪切和校准后,最终归一化到32×32,为下一步算法区域定位与提取做好准备。

实验一:在ORL人脸库[14]上进行实验测试。该人脸库包括40人,其中每个人存在不同时间拍摄的10张92×112大小的人脸灰度图像,包含不超过20度的人脸偏转,如图7所示。本文在实验中,分别对于每个人随机提取5张图片作为训练图片,其余5张作为测试图片。不同算法在不同隐藏单元中的识别率如表1所示。

表1 各种算法在ORL库中不同隐藏单元的识别率

图8 ORL中不同隐藏单元识别率

实验二:在MIT-CBCL人脸库进行实验验证。MIT-CBCL库是一组由10人构成的图像库,总共2000个图像序列,对于每个人都包含有200张115×115大小的一系列的人脸图像,最大转向达到30度,包含各类表情,实验数据十分丰富[15],如图9所示。算法选择其中10人进行测试实验,每人选取20张不同的人脸图像进行试验。选取其中每个人10张作为训练样本,另外10张作为测试样本。相对应不同隐藏单元的实验结果如表2所示。

图9 MIT-CBCL人脸数据库样本

表2 各种算法在MIT-CBCL库中不同隐藏单元的识别率

图10 MIT-CBCL中不同隐藏单元识别率

为了更好地体现本文算法在不同图库中与其他相应算法在性能上的表现差异,本文设计了不同算法对照实验,识别性能对照如表3所示。

表3 各种算法人脸库中识别性能对比

3.2 实验分析

从表1可知,当隐藏单元较少时,同样深度网络不能较为准确学习到人脸图像的判别信息,而当隐藏单元数不断增加,网络学习到的特征越来越充分和精确,当隐藏单元数达到5000时,该网络学习到的人脸图像特征具有更强的判别性。表2既体现了实验一算法的优势,由于MIT-CBCL图库相比ORL图库,尤其在光照的变化上幅度较大,由于应用了LLDP这类对光照更有鲁棒性的算法,局部特征的选择性更强,所以也体现出了良好的识别率。

如表3所示,通过算法对比两个图库,MIT-CBCL人脸中的图像表情更丰富,偏转幅度相对ORL库较大,所以实验二结果整体比实验一识别率略有下降。但从两个实验综合分析,本文提出的LLDP+DBN算法识别率要高于传统的PCA、LDP和DBN算法,比原始混合算法有更好的表现,算法尽可能地利用深度学习的优势通过模拟人脑大脑组织来学习最具甄别性的局部敏感人脸信息,减少了冗余信息,也对分类保留了最佳特性信息,实验很好地体现了该算法的有效性和优良性。

4 结语

本文提出了针对局部敏感信息的基于深度学习的局部方向人脸识别算法,利用LLDP算法定位最具辨别性的人脸局部敏感区域进行分块,借助算法良好的纹理和抗干扰特性对其进行特征提取,依次相互连接形成最大化特征脸后送入学习性能优秀的深度信念网络DBN进行学习,最终取得良好的分类效果。算法分别在ORL和MIT-CBCL人脸库上进行了实验验证,本文算法在光照、姿态、表情等各类因素下具有较好的识别性能,验证了本文所提算法的有效性和可行性。同时,对于今后的研究,将选取对于实际中具有更大的随机性和复杂性自然人脸的验证研究;同时对于有遮挡及偏转幅度较大补偿算法的研究。该问题的研究也是人脸识别当前的难点,也是当前亟待重点解决的问题之一。

猜你喜欢

识别率特征提取人脸
有特点的人脸
一起学画人脸
玻璃窗上的人脸
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别