郑秋梅,谢换丽,王风华,苏 政,刘 真
(中国石油大学计算机与通信工程学院,山东 青岛 266580)
近年来,人脸识别技术在国防安全、考试系统、交通管理等方面得到广泛应用。人脸识别的准确度与选取的特征提取算法密不可分。传统的特征提取算法有基于全局模式和基于局部邻域的特征描述2种。全局模式的特征提取算法主要有主成分分析(Principal Component Analysis, PCA)[1-2]、线性鉴别分析[3](Linear Discriminant Analysis,LDA)等。Kirby和Shakunaga等人[1-2]提出的“特征脸”(PCA)算法是基于子空间的,利用低维的线性空间进行人脸描述、表达,从而进行人脸识别,但识别率较低。1997年Belhumeur等人[3]提出的Fisher LDA方法,主要利用Fisher准则使类间与类内之间的散度比值最大化,在小样本中也可以很好地识别,但也丢失了样本内的一些鉴别信息。这些基于全局的特征描述方法受光照、噪声的影响较大,识别率明显低于局部特征提取算法。局部模式特征描述方法有Gabor小波[4]、局部二值模式(Local Binary Pattern,LBP)[5]等。Gabor小波通过多方向和多尺度选择,能够很好地提取图像特征,但提取的特征维度过高,识别率较低。2004年出现的LBP[6-7]算法,通过计算中间像素与周围像素间的灰度差值表达图像纹理特征的差异。算法具有灰度、旋转不变的特点,但特征提取相对困难,当光照角度生成变化时识别效果并不令人满意。后来,研究人员在LBP的基础上提出LTP(Local Ternary Pattern)[8-9]。该方法通过修改LBP的阈值函数定义方式,使得对纹理特征的描述更加详细。LTP继承了LBP的优点但比LBP对光照变化和噪声因素的影响小,在人脸识别方面的识别率更高,但其在特征提取过程中对主观因素的依赖性较强,无法自动学习提取特征。
近年来,深度学习成为计算机视觉领域的一个研究重点[10-11]。它从低到高依次训练每层网络,以实现图像分类等功能,其思想意在模仿人脑学习过程。Deepface[12]对图像分析采用67个基点将二维图像转化为3D形状,使用3D模型来将人脸对齐,使用CNN(Convolutional Neural Network)进行特征提取,然后用9层深度网络训练获得识别结果,但这种算法需要训练大量的图片,训练时间长。深度信念网络(Deep Belief Network,DBN)[13]通过从下到上自动学习人脸特征,可以不依赖人工自动提取特征。传统的DBN网络直接以像素级特征为输入,网络对光照等因素较敏感,无法对小区域的图像特征进行描述。LTP的阈值扩展到了0,1,-1的模式,使得对像素灰度差异变化的影响变小,较LBP提取的特征更加清晰,对光照、噪声等因素更不敏感,加强了图像的局部特征[14]。把取得的LTP特征输入到该网络中,可有效解决传统DBN算法忽略局部特征的缺点,避免网络学习到不利的特征,使提取的特征更加清晰,从而提高识别率。
本文提出一种基于LTP和深度学习的算法(LTDBN)。算法先对人脸图做LTP运算,而后将其输入到深度信念网络的入口,采用逐层贪婪学习法对整个网络进行训练,得到相应的参数,再进行测试训练,在最顶层获得分类。LTDBN算法既解决了DBN忽略局部特征的问题,又能避免过多地依赖人工选择,自动获取图像特征。LTDBN方法在公开数据集上的实验表明该方法的识别率获得了提高,特别是与文献[18]的算法对比,LTDBN算法不会因样本值的改变使识别效果发生大的波动,有更好的适应性。
LBP是由Heikkila提出的特征描述符,通过图像中心点像素值和邻域点像素值差值与阈值进行比较获得,但把该区域中心点的像素值作为阈值使得算子对噪声相对敏感[15],缺乏对图像整体信息的粗粒度把握,无法保证识别的鲁棒性[16]。而LTP对图像的特征描述更加清楚,性能有了很大提高。因此,本文采用LTP算子进行图像特征提取。LTP由Tan[9]提出,更改了阈值函数的定义方式,扩展了阈值区间,由原来LBP的0,1扩大到0,1,-1。LTP算子由LBP的一个阈值增加到了一个数值范围[-t,t],通过计算中间点像素值gc与四周邻域像素值gb的差,再和阈值范围进行比较,邻域像素点与中心像素点的差值的绝对值在阈值范围内记为为0,两者的差值大于阈值范围,则记为1,小于则记为-1。LTP编码取值如公式(1):
(1)
其中t是设定的阈值,gc是区域内的中心像素点,gb是均匀分布在半径R的圆域内的邻域像素点。LTP公式由公式(2)表示:
(2)
LTP详细的处理过程如图1所示,经过在邻域内的比对后,将对比好的0,1值以邻域左上角为起始端记录下为0011(-1)010。
图1 LTP编码过程
经过LTP编码后会产生-1部分,为了降低复杂度,将LTP的编码拆分成上层和下层部分。上层部分是把编码中的所有为-1的值用0代替,其余的不变;下层部分是把所有为1的值用0代替,-1的值用1代替,剩下的不改变。分解过程如图2所示,0011(-1)010被分解为上层部分(00110010)和下层部分(0000100)。
图2 LTP分解编码
为了获得图像小区域中更清晰的纹理特征,将图像划分成不同的子块,然后各自提取LTP特征,再将得到子块的直方图特征进行加权连接,从而获得最后的图像特征。如图3所示,图3(a)~图3(c)分别为原图、LBP和LTP提取后的特征。LTP算法能详细地描述出图像的亮暗点、边缘等信息,提取的纹理愈加清晰,编码过程简单易懂,具有更好的鉴别能力[17],但LTP算子在特征提取过程中过多依赖主观因素(带眼睛、帽子、拍摄角度多大等因素)。而DBN网络能够不过多地依赖于主观因素,所以本文通过融合深度学习自主学习能力,提出了LTDBN算法。
(a) 原图
(b) LBP特征提取
(c) LTP特征提取图3 LBP和LTP特征提取
2006年,Hinton提出了一种可以自上而下的自动学习图像特征的方法,通过训练可视层和隐藏层神经元权值,获得最好训练数据的概率模型(DBN模型)。DBN包括多个隐藏层(h表示)和可视层(v表示)。可视层主要是显性神经元,负责处理网络的输入数据;隐藏层主要是隐性神经元,负责对信息处理后的特征表达。DBN的核心是受限玻尔兹曼机(Restricted Boltzman Machine,RBM)[18],其训练过程是按顺序一层层地训练RBM,先训练v,然后把v获得的数据向量作为下一个h的输入,按照这种方式获取每一层的数据向量,以此来提高网络训练时间。
RBM由一层v层和h层连接组成,但2层各自之间的单元又是互相独立的。如v层包含m个显性神经元,h层包含n个隐性神经元,这m个可视神经元每一个都指向n个隐层神经元,同样每个隐层n个神经元也与m个可视神经元连接,但m个显性神经元和n个隐性神经元各自之间是没有连接的,如图4所示。
图4 RBM结构模型
v层和h层组成的RBM作为能量模型其定义如公式(3)所示:
(3)
式(3)中,vi代表显性神经元,hj代表隐性神经元,Wij∈R表示vi和hj之间的权值,aj∈R表示hj的偏置,bi∈R表示vi的偏置,其联合概率密度函数可以用公式(4)表示:
(4)
其中Z可以表示为:
由式(3)和式(4)可知,若已知显性神经元v,隐性神经元h的激活概率P为:
(5)
(6)
根据这2个条件概率公式,在已知一层数据的情况下,可以计算下一层的数据,这也是RBM的关键所在。
DBN是一个由无人监督的RBM组成的多层判别模型,且最顶层连接的2个RBM是双向连接,最底层的为特征的输入端。整个网络包含可观测数据、可视层、隐藏层(可以是多层)、输出。其训练过程包括2个部分,一是将提取的图像特征作为v层的输入数据,自下而上迭代进行无监督的训练整个神经网络,得到相应的参数;二是利用第一步获得的参数通过监督方法对整个网络进行全局训练,获得最终的网络参数,在最顶层进行分类识别,计算正确率。
DBN作为一种可以自动学习输入数据特征的深度学习网络,避免了过多地依赖于主观因素,节省了大量的人工劳动力。但是若直接以像素级作为输入数据,网络不仅对光照等因素较敏感,对图像的小区域的纹理特征无法提取,学习不到图像局部结构特征,而且识别率较低[13]。而LTP算子是一种可以提取图像局部纹理的方法,针对这种情况本文提出一种基于LTP和深度学习(LTDBN)的人脸识别算法。
结合DBN在特征提取过程中不依赖于主观因素、易忽略局部特征的特点和LTP算法可以提取图像更完整的图像信息,对光照、噪声因素的影响力较低等的特点,本文提出LTDBN方法。LTDBN算法是以LTP提取的图像特征作为DBN网络的输入,然后利用DBN网络进一步自动学习有效的特征,LTP特征输入到输入层后,采用逐层贪婪学习法对整个网络进行训练,得到相应的参数,再在顶层实现人脸的分类识别。以LTP纹理特征作为输入数据可以更好地学习网络,强化网络学习能力,同时结合DBN可以自动学习图像特征,保留图像小区域的特征,提取更加清晰的特征,降低对光照、噪声等因素的影响力。本文的LTDBN人脸识别算法的识别过程图5所示。
图5 LTDBN识别过程
为了获取更详细的图像特征,本文将图像均分为4×4小块(通过在ORL人脸数据库上实验,当分块为4×4时识别效果最佳,所以本文采用4×4对图像进行分块),然后对各个子块运用LTP算子获得相应的LTP编码图像,最后加权连接直方图,实现LTP算子的人脸图像局部特征提取。提取过程如图6所示。
图6 LTP特征提取过程
在获得LTP局部特征后,将其作为DBN网络的输入数据,此时网络的联合分布函数为:
p(H,h(1),h(2),…,h(m))=
P(H|h(1))P(h(1)|h(2))…P(h(m-1)|h(m))
(7)
在公式(7)中,H不再是图像的原始像素,而是LTP提取后的特征,h(1),h(2),…,h(m),表示深度网络每层训练得到的高级特征,而学习到的高级特征的优劣直接影响最终的识别效果。本文在特征提取时采用LTP算法,它能够有效地提取图像的局部纹理特征,并且对噪声有一定的鲁棒性。网络训练的优劣程度决定了网络对LTP特征的学习准确度。LTDBN神经网络的具体训练过程为:1)将提取的图像LTP特征作为第一层RBM的输入,对RBM进行无监督训练,获得第一层RBM训练的隐层参数;2)将第一层获得的参数作为第二层RBM的输入数据,学习得到第三层的隐层参数,以此类推对整个网络进行训练学习;3)运用BP算法自上而下进行有监督的训练,微调整个网络,并在网络的最顶层运用softmax回归进行分类,计算网络输出。
本文算法具体实验步骤分为以下5步:
1)对训练图像和测试图像的分辨率统一化为92×112,并进行直方图均衡化处理。
2)对训练和测试的图像进行4×4的分块LTP特征提取,获得子块的直方图,然后连接各个子块直方图组成LTP特征。其中,LTP特征采样区域为半径为1的圆形区域,采样点数P为8。
3)将获得的训练图像特征数据放入DBN网络,而不是用原始数据作为可视层输入,进行无监督训练,得到各层的参数,用BP反向传播算法微调DBN网络,其中在微调过程中参数用fmincg函数,最后取得网络的最优解。LTDBN网络采用可视层-隐藏层(2层)-输出层的神经网络,可视层和隐藏层每层包含50个隐含子,输出层输出神经单元数为40,即分类数,学习率为0.001,迭代次数为30(通过在ORL数据获得当迭代30次时效果最佳。从而选择迭代30次)。
4)把测试数据集提取的特征作为网络的输入,然后用获得的最优网络自下而上地学习获取测试数据集的特征。
5)在网络的顶层利用softmax进行回归分类,计算本文算法的识别率。
为了测试LTDBN算法的性能,首先选取ORL,Yale,Yale-B等数据库的全部或部分图片作为实验的训练和测试样本;然后在相同的实验条件下将本文提出的LTDBN与其他算法进行比较,表明本文算法性能更好,最后分析总结实验结果。实验硬件环境为:2.67 GHz Intel Core i5 CPU,4 G内存,64位操作系统。在Matlab2014a上进行仿真实验。
ORL人脸标准库包含40位采集者,每位采集者包含10幅人脸图片,包含表情变化、人脸姿态变化以及部分角度变化等特征。其中,人脸的细节也不同,比如有笑容的、无笑容的、睁眼的、闭眼的等。在实验中,训练集由每人的8幅图像组成,测试集由剩余的2幅图像组成。
表1 在ORL人脸库上与经典算法的对比实验
算法识别率/%PCA82.50LBP83.75LTP86.25DBN93.75LBP+DBN95.00本文提出算法98.75
表1为在ORL数据库上与经典算法的对比实验。从表1可以看出运用深度学习网络的识别率高于传统的方法,较传统的识别方法至少高出14%。特别是本文提出的LTDBN算法能考虑到图像的局部细小纹理特征,使提取的图像纹理特征更加清晰,识别率比文献[18]提出的LBP+DBN算法还要高出3.75%。
Yale人脸库是由耶鲁大学提出的一个公开数据库,被许多研究人员应用进行实验测试。有15位采集者参加,其中每位采集者有11幅图片,每位采集者的图片也包含了不同的光照、姿态等特征。为探讨不同样本数对算法识别率的影响,在实验中通过选取1~10幅图像作为训练集,其余图像作为测试集进行测试,结果如图7所示。通过图7可以看出PCA,LBP,LTP这些传统的算法识别效果并不理想,随着样本数量的变化识别效果跌宕起伏,运用了深度学习算法的LBP+DBN算法在识别性能上虽有了很大的提高,但识别性能仍受样本变化影响较大。而本文提出的算法识别效果更稳定,识别率也较高,尤其是在5个和6个训练样本(含有包括戴眼睛、眯眼的人脸图像)的时候,当其他的算法识别率明显下降时,本文提出的算法依然能够保持较高的识别率。
图7 Yale数据库上不同算法在不同样本上的识别效果
Yale-B标准数据库总共21888幅图像,包含38个人,每人有9种姿态、64种光照,可以说是在光照、表情等变化中较典型的一个人脸数据库。考虑到实际应用中,光照角度大于85时图像不适用,把数据集中光照角度大于85的人脸图像去除保留每人35幅图像,从中分别选择15,20,25幅图像作为训练集。剩余的20,15,10幅图像作为测试集,不同算法在不同训练样本数上的识别效果如图8所示,其中结果只保存到小数点后两位。从图8可以看出在多角度照射的人脸图像中,本文提出的算法较PCA,LTP,DBN,LBP+DBN算法在识别率上有了很大提高,说明本文提出的算法不仅识别效果好,对于光照等因素影响力小,且提取的图像局部特征更加地清晰,更注重细节的提取,特征提取过程中不过多依赖主观因素,自动学习图像抽象特征。
图8 在Yale-B人脸库上不同算法对比结果
表2 在FERET人脸标准库中算法的对比结果
算法识别率/%PCA75.40LBP82.67LTP85.69DBN90.04LBP+DBN91.72本文提出算法92.21
FERET人脸标准库是由美国国防部为促进人脸识别方法的研究而创建的一个通用人脸库,包含1196位采集者的14051张人脸图,每位采集者都有不同姿势、不同表情、不同光照强度和角度的图像,是一个通用的人脸测试库。它有fa,fb这2个集。fa为训练数据,fb为测试数据。在FERET人脸标准库中各种方法的对比结果如表2(结果保留小数点后两位)所示。通过表2可以看出,本文提出的算法识别率高于其他算法,进一步说明结合LTP算子的应用,提升了DBN的分类准确率。
本文提出了一种LTDBN算法,主要是把图像划分子块,对其进行LTP特征提取,获得图像细节的局部特征,然后作为DBN输入进行训练识别。LTDBN算法能够提取图像局部区域的细小特征,获得更加清晰的图像特征,同时也克服了传统图像特征的提取过多地依赖于人工选择的特点,自动获取图像特征。通过在ORL等数据库上对比实验可知,LTDBN算法识别效果优于其他现有算法,且受光照、姿态等因素的影响也有所降低,能对人脸图像准确识别。
[1] Kirby M, Sirovich L. Application of the Karhunen-Loeve procedure for the characterization of human faces[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1990,12(1):103-108.
[2] Shakunaga T, Shigenari K. Decomposed eigenface for face recognition under various lighting conditions[C]// Proceedings of 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. 2001,1:I-864-I-871.
[3] Belhumeur P N, Hespanha J, Kriegman D J. Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1997,19(7):711-720.
[4] 张娟,詹永照,毛启容,等. 基于Gabor小波和稀疏表示的人脸表情识别[J]. 计算机工程, 2012,38(6):207-209.
[5] 宋克臣,颜云辉,陈文辉,等. 局部二值模式方法研究与展望[J]. 自动化学报, 2013,39(6):730-744.
[6] Ahonen T, Hadid A, Pietikainen M. Face description with local binary patterns: Application to face recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2006,28(12):2037-2041.
[7] Ahonen T, Hadid A, Pietikainen M. Face recognition with local binary patterns[C]// The 8th European Conference on Computer Vision(ECCV). 2004:469-481.
[8] 赵灵芝,李伟生. 一种基于LTP特征的图像匹配方法[J]. 计算机应用研究, 2009,26(10):3983-3985.
[9] Tan X, Triggs B. Enhanced local texture feature sets for face recognition under difficult lighting conditions[J]. IEEE Transactions on Image Processing, 2010,19(6):1635-1650.
[10] Arel I, Rose D C, Karnowski T P. Deep machine learning——A new frontier in artificial intelligence research[Research Frontier][J]. IEEE Computational Intelligence Magazine, 2010,5(4):13-18.
[11] 孙志军,薛磊,许阳明,等. 深度学习研究综述[J]. 计算机应用研究, 2012,29(8):2806-2810.
[12] Taigman Y, Yang M, Ranzato M, et al. DeepFace: Closing the gap to human-level performance in face verification[C]// IEEE Conference on Computer Vision and Pattern Recognition. 2014:1701-1708.
[13] 梁淑芬,刘银华,李立琛. 基于LBP和深度学习的非限制条件下人脸识别算法[J]. 通信学报, 2014,35(6):154-160.
[14] Tan Xiaoyang, Triggs B. Enhanced local texture feature sets for face recognition under difficult lighting conditions[J]. IEEE Transactions on Image Processing, 2010,19(6):1635-1650.
[15] 薛红,李晗,王瑜. 基于局部二值模式与K-均值的人脸识别[J]. 计算机工程与设计, 2014,35(11):3879-3882.
[16] 张万贺,刘凯. 基于MB-LBP和Fishefaces的人脸识别[J]. 计算机工程与应用, 2015,51(17):173-176.
[17] Ojala T, Harwood I. A comparative study of texture measures with classification based on feature distributions[J]. Pattern Recognition, 1996,29(1):51-59.
[18] 吴进,严辉,王洁. 采用局部二值模式与深度信念网络的人脸识别[J]. 电讯技术, 2016,56(10):1119-1123.