基于局部二值模式与深度置信网络的人脸识别
2020-05-21满忠昂刘纪敏孙宗锟
满忠昂 刘纪敏 孙宗锟
摘 要:针对现在的大多算法在提取人脸特征时直接提取整个人脸,而忽略局部的细节特征,提出一种将人脸图像进行分块局部运用LBP算子然后与深度置信网络结合的人脸识别算法(BPBN)。首先,将人脸图像进行分块,对分块后的图像提取LBP进行统计,将生成的LBP直方图按照一定秩序组合连接成新的特征向量。其次,将得到的LBP特征作为深度置信网络(DBN)的输入,采用贪婪算法逐层进行训练,然后用反向传播(BP)算法对训练得到的深度置信网络进行优化。最后,用训练好的深度置信网络对人脸进行识别。在ORL人脸数据库上进行实验,识别率达到96.0%,然后与传统的主成分分析(PCA)算法集成支持向量机(SVM)的方法进行相比,识别率有较为显著的提升,说明该方法具有更好的人脸识别效果。
关键词:局部二值模式;人臉识别;受限波尔兹曼机;深度置信网络
中图分类号:TP183 文献标识码:A
Abstract: In view of the fact that most current algorithms directly extract the entire face when extracting face features, and ignore local detailed features, this paper proposes BPBN, a face recognition algorithm that uses the LBP operator to divide the face image into blocks and then combines it with deep belief networks algorithm. First, the face image is divided into blocks, and the LBP is extracted from the divided images for statistics, and the generated LBP histograms are combined in a certain order to form a new feature vector. Secondly, the obtained LBP features are used as the input of Deep Belief Network (DBN), and the greedy algorithm is used to train layer by layer, and then the back propagation (BP) algorithm is used to optimize the trained deep confidence network. Finally, the trained deep belief network is used to recognize faces. Experiments on the ORL face database show that the recognition rate reaches 96.0%, significantly improved compared with the traditional principal component analysis (PCA) algorithm integrated support vector machine (SVM) method, which indicates that the method has better face recognition results.
Keywords: local two value model; face recognition; restricted Boltzmann machine; Deep Belief Network (DBF)
1 引言(Introduction)
人脸识别是计算机视觉领域的重点研究课题,人脸识别的实际应用:由人脸识别衍生出来的人脸检索、人脸校验等应用被广泛用于家居安防、人机交互、公安部门等重要行业。随着计算机计算速度的增加和人工智能的发展,人脸识别算法发展迅速[1-6],对各行各业的影响都非常大,能够积极提高人们生活各方面的方便性和安全性等。
人脸识别就是对人脸图像的特征信息进行识别的技术,在这个过程中,对人脸图像进行信息的提取和检测,进而来进行身份识别。人脸识别的传统方法比较常见的是基于几何结构方法,该方法通过对人脸面部的几何信息进行提取为相应的几何结构,对结构进行详细分析和处理,通过几何特征矢量来反映面部几何信息,从而进行相应的信息匹配。此传统方法难点在于如何精确地对特征信息进行匹配,要求比较高也使得该方法适应性不足[7-9]。因此,Sirovich等人提出了PCA应用和基于主成分分析的特征脸方法[10,11],该方法保留了人脸图像信息之间的几何关系和部分局部特征,在整体人脸特征信息提取的情况下,还具有计算量小、描述能力强、可分性好等优点。基于局部特征方法:该方法主要包括局部二值模式(LBP)、Gabor变换[12]。这两种局部特征方法各有优劣,局部二值模式算法能够快速计算,对光照强度的改变等感应不敏感,不足之处在于位置方向的改变以及声音方面的敏感性都不是很突出。而Gabor变换算法与局部二值模式算法有很大不同,该算法具有对光照改变的不敏感,以及更全面提取特征信息的特点,但是计算量大且耗时,产生的冗余度比较大。
本文根据上述不足,提出BPBN模型,该模型通过分块提取人脸图像的LBP特征统计生成LBP直方图,然后将得到的LBP特征作为深度置信网络(DBN)的输入,采用贪婪算法逐层进行训练,然后用反向传播(BP)算法对训练得到的深度置信网络进行优化;最后,用训练好的深度置信网络对人脸进行识别。在ORL人脸数据库上进行实验,通过实验表明该方法比PCA+SVM的方法具有更好的人脸识别效果。
2 LBP算子和深度学习理论(LBP operator and deep learning theory)
2.1 LBP算子
LBP是一种纹理描述算子。在LBP算子定义中,是通过选取一个3×3的区域,在这个区域中包含一个中心像素,将阈值用中心像素来进行设置,这个区域内的其他像素与阈值进行对比,进一步得到二进制码,得到的二进制码可以描述图像的局部特征。二进制码的具体步骤为:大于阈值的,用1表示,反之用0表示。按照这种步骤得出的结果,通过顺时针的方式进行放置,得出一个8位的二进制码,为了得到中心像素的LBP值,通过换为十进制的方式实现。
在大小为3×3的区域上的LBP模式在实际应用中受到了一定程度的限制,主要原因在于:
(1)对于3×3这个区域大小,在实际应用的图像中显得太小,不能更好地描述局部特征;
(2)在选取的那个区域系统上,不容易旋转不变特征的处理。
为了解决上述问题(1),通过将3×3的区域扩展为任意邻域的方式,得到可变区域LBP。如果用P表示邻域点的个数,R表示圆形邻域的半径,新的LBP算子表示为。
从LBP算子的定义能够得出,通过比较得出二进制模式的个数与邻域集中的采样个数密切相关,例如会产生种模式。通过增加邻域采样点个数,二进制模式的个数是几何增长的。针对这个问题,对二进制模式进行改进,提出等价模式,也称为均匀LBP。等价模式的原理就是将LBP算子所得的二进制序列进行首尾连接,当存在序列从0到1或是从1到0的变化不超过2次的情况。例如:00000000(0位转变)、01110000(2位转变)、11001111(2位轉变)是等价模式,而11001001(4位转变)、01010010(6位转变)这种就不能叫作等价模式。通过优化的二进制模式,种数变为,在一定程度上降低了特征信息的维数,经过统计,均匀LBP在整个的LBP特征中占85%—90%,所以不会对数据信息的遗漏,还会减少高频噪声的影响。
提取整个图像的LBP信息形成直方图来描述人脸特征时,只能得到图像的整体纹理和轮廓特征,而图像的具体特征细节得不到充分地描述。针对这个问题,分块思想被提出,将图像分块的基本思想是,在图像的局部区域运用LBP算子,然后把在每一个局部区域产生的直方图进行组合形成一个新的特征向量。通过这种方式,整个图像就由很多个统计直方图来进行表示。分块LBP直方图的提取过程如下:
(1)对实验数据进行分块处理,将实验图像分为(N×N),如图2所示。
(2)分块处理之后对每一部分进行LBP提取,从而生成LBP直方图,如图3所示。
(3)通过(1)(2)得到多个直方图,按照得到的顺序进行排列,形成一个新的特征向量。
2.2 受限玻尔兹曼机
受限玻尔兹曼机(RBM)是一种特殊形式的玻尔兹曼机,从本质上说,它是一个随机的二值化对称连接的神经网络。能够把无向图的所有节点划分成两层,在一层中的节点之间是不相连的,层与层之间的节点互相连接。其结构如图4所示。
RBM网络结构是由两层构成的,通过向量表示层。第一层通过可见单元(显元)构成的可视层,记为v,这可以成为数据的输入;第二层通过可见隐单元(隐元)构成的隐藏层,记为h,这可以在数据的特征提取中发挥作用。第一层和第二层的节点之间的连接权重矩阵为W,权重为对称连接,即Wij=Wji。
其中,是RBM的参数,这些参数均为实数。其中Wij表示第i个显元与第j个隐元之间的连接权重,ci表示第i个单元的偏置,bj表示第j个单元的偏置。通过无向图能够看出,(v,h)的联合概率密度用式子可表示为:
2.3 深度置信网络
深度置信网络(Deep Belief Network, DBN)是一种深度神经网络模型,这个模型是用概率来对数据进行输出结果的。模型在训练初期,要得到每个神经元的初始权重,运用无监督学习方法来进行计算,得到初始值之后,在这基础上运用监督学习方法来对数据进行学习,从而得到整个神经网络的权值。
DBN由多层的受限玻尔兹曼机(RBM)累叠而成,每个隐藏层都RBM的一个可视层和一个隐层构成。层跟层的神经元是全部连接的,在每层中的神经元是不联系的。在网络中,最上面两层的神经元连接是无向的,剩下的层中连接是有向的,在最下面一层对数据向量进行表示,有多少个神经元就代表该数据向量有多少维度。用联合概率分布表示输入向量v和隐含向量h之间的关系:
在深度置信网络工作时,第一步进行预训练,得到初始权重;第二步在网络后期学习中,进行参数的调整。
网络工作的具体流程为:首先在可见层输入数据,产生一个向量v然后传递给隐层。隐层由多个RBM组成,首先由最底层的RBM的隐藏单元对可视单元重新构造,然后对下一层的RBM的隐藏单元进行传递,通过无监督的贪婪训练方法逐层训练获得整个DBN的模型,然后对模型进行参数的调整,从而优化完成,得到最终的网络模型。可以把具体流程分为两个部分:预训练和参数调整。
3 实验结果及分析(Experimental results and analysis)
3.1 BPBN模型
BPBN模型主要功能包括了局部二值模式和置信网络,模型先将图片分块,之后对分块进行特征提取,统计分块直方图,之后组成全局特征向量,并将其作为模型输入数据放入置信网络进行参数训练,之后根据后向传播算法对参数进行误差调整,后通过输出层分类,模型框架如图5所示。
3.2 实验环境和结果分析