基于拉普拉斯金字塔降维的人脸识别算法

2016-01-11 07:59吴星驰
陕西科技大学学报 2015年1期
关键词:BP神经网络人脸识别

亢 洁, 林 欣, 吴星驰

(1.陕西科技大学 电气与信息工程学院, 陕西 西安 710021; 2.伊利诺伊理工大学 阿默工程学院, 美国 芝加哥 60616)



基于拉普拉斯金字塔降维的人脸识别算法

亢洁1, 林欣1, 吴星驰2

(1.陕西科技大学 电气与信息工程学院, 陕西 西安710021; 2.伊利诺伊理工大学 阿默工程学院, 美国 芝加哥60616)

摘要:针对传统的基于PCA(Principal Component Analysis)和BP(Back Propagation)神经网络的人脸识别算法运算维数高、容易出现震荡而导致识别率低等问题,提出了一种基于拉普拉斯金字塔降维的人脸识别算法,该算法首先通过对人脸图像进行拉普拉斯金字塔降维处理,在降维的同时保持了人脸图像的细节,然后用PCA进行特征提取,最后通过BP神经网络分类器进行人脸识别.利用ORL人脸图像数据库进行仿真实验,结果表明,该算法识别率较高.

关键词:人脸识别; 拉普拉斯金字塔; PCA; BP神经网络

0引言

人脸识别是计算机视觉和模式识别领域中的一个热门课题,有着非常广泛的应用背景.人脸识别的结果可以作为身份认证的依据,应用于医疗领域、三维重建等[1].近年来,越来越多的研究将人工智能和人脸识别进行结合.以神经网络做识别分类器就是其中一个研究热点.神经网络利用大量简单处理单元互联而构成复杂系统,以解决复杂模式识别与行为控制问题[2].它具有并行分布运算、高效学习等特点,因此适合于解决人脸识别这一类对于鲁棒性要求较高的问题.文献[3]中提出了一种改进型BP算法用于人脸识别问题的方法,通过改变学习速率的权值公式和Sigmoid函数来改善BP神经网络的收敛性,该方法在Yale人脸库中进行实验,得到的识别率为87.17%.文献[4]改进了BP神经网络权值调整的方法,将附加动量法和弹性梯度下降法联合,每次进行权值调整时迭代两次,如果两次迭代的梯度方向相同,则权值更新值增加,否则更新值减小.将该方法和PCA方法进行结合,在ORL人脸库中进行测试,识别率为90%,但是该方法的训练样本远远多于测试样本,因此数据量非常庞大.文献[5]的神经网络模型较为复杂,采用了将自组织神经网络和卷积神经网络结合起来的方法,相当于对第一次神经网络分类器的结果又做了一次分类.虽然其识别率较高,但运算量较大,使得算法模型复杂.文献[6]在人脸图像经过PCA降维后,分别用最近邻法和BP神经网络进行分类,得到两个识别率后,通过综合决策和阈值判断的方法进行最终的身份判别,得到的识别结果为88%.可见,神经网络在人脸识别方面的研究非常广泛,并且有一定的基础.但是神经网络运算量大,导致难以收敛、识别不准确的问题成为限制神经网络在模式识别中应用的主要原因.

对高维非线性结构的图像进行降维是提高识别率的关键环节[7],而神经网络的运算量大是由于输入数据维数较高引起的.以上列举的几篇文献和众多研究人员将解决该问题的重点放在改进神经网络分类器上.希望通过改良BP神经网络的敛散性及调整权值来获得更为稳定和准确的识别系统.而本文选择将研究重点放在神经网络分类器之前的特征提取部分,即如何降低BP神经网络分类器的输入维数.针对这一问题,本文提出了一种基于拉普拉斯金字塔降维的人脸识别算法.通过对图像进行拉普拉斯金字塔处理,既减少了图像维数,又在金字塔分解过程中去除冗余信息,保留了细节特征;再运用PCA算法进行特征提取,在进一步降维的基础上,去除了数据的相关性,得到了维数低的特征数据.该数据作为BP神经网络的输入值,可以避免由于输入值维数太高而使得系统识别率低的问题.

对ORL人脸库的仿真表明本文提出的方法在数据降维和特征提取等方面取得较好的结果,在BP神经网络训练过程中,不易出现震荡,且识别结果优于传统方法.

1基于拉普拉斯金字塔和PCA的特征提取

1.1图像的拉普拉斯金字塔分解

图像的拉普拉斯金字塔构成是在高斯金字塔变换基础上变换而来,因此,要先对图像进行高斯金字塔分解.

设原始图像为G0,作为金字塔的最底层(第0层).对原始图像进行下采样和高斯低通滤波,得到金字塔的第一层;再对第一层进行下采样和高斯低通滤波,得到金字塔的第二层;重复此过程,得到高斯金字塔[8].高斯金字塔序列的采样规则为:

1≤l≤N, 0

(1)

其中,Gl(i,j)为第l层高斯金字塔图像,G0为第0层,N是金字塔的总层数,Cl是高斯金字塔第l层子图像的列数,Rl是金字塔第l层子图像的行数,w(m,n)=h(m)×h(n)是5×5具有低通特性的窗口函数,其表达式可以通过计算得到:

(2)

由此得到由G0,G1,…,GN构成的高斯金字塔,每一层图像的大小都是前一层图像的1/4.

利用插值法对高斯金字塔进行插值膨胀,使第l层图像Gl膨胀后的尺寸与第l-1层图像Gl-1尺寸相同,其算法如下:

1≤l≤N,0

(3)

对高斯金字塔的每一层都进行差值膨胀,得到一个膨胀序列G0*,G1*,…,GN*.设LP1为拉普拉斯金字塔的第l层图像,则有:

(4)

由LP0,LP1,…,LPN构成的金字塔即为拉普拉斯金字塔,它的每一层子图像为高斯金字塔对应层图像与其上一层图像经插值膨胀之后所得的图像之差.也就是说拉普拉斯金字塔实际上是同级高斯金字塔的高频分量,即是图像的细节部分[9].在人脸识别工作中,细节的差异恰恰是最需要关注的,因此经过拉普拉斯金字塔处理得到的结果很好地保留了图像的细节特征.

图1是选择ORL中某张人脸图像进行拉普拉斯金字塔分解得到的分解图像,原始图像大小为112×92,一次分解后得到56×46大小的图像,二次分解后得到28×23大小的图像.在实际运用中,可以根据需要进行不同程度的分解.

(a)底层(第0层)图像(b)第1层图像  (c)第2层图像   (112×92)     (56×46)   (28×23)图1 经拉普拉斯金字塔分解得到的不同层图像

1.2基于拉普拉斯金字塔的PCA特征提取

通过以上分析可以知道,对图像进行拉普拉斯金字塔处理可以达到一定的降维效果,但其降维结果作为神经网络分类器的输入值,维数依然太高,因此还需进行进一步的特征提取工作.针对此问题,本文提出一种基于拉普拉斯金字塔降维的PCA特征提取算法.

PCA算法,即特征脸算法,是通过按能量系数保留部分由批量图像向量构成的矩阵的特征值与对应特征向量,构造与之维数相同的高维特征空间(即特征脸空间),再将原始图像投影至该空间内[10]来进行降维和特征提取工作的.因此选择先对图像进行拉普拉斯金字塔降维,再进行PCA特征提取.需要注意的是,在PCA特征提取过程中,构造出的特征空间维数是未知的,但是能量系数是已知的.选择的能量系数越大,特征空间维数越大,保留下的原始图片信息也就越完整,但是降维程度越低[11].

下面以ORL人脸图像数据库为例,该算法的具体步骤如下:

第一步,对ORL人脸图像数据库中40个身份共400张原始图像进行统一拉普拉斯金字塔分解,经过4次滤波和插值膨胀求差,将原图(112×92)分解到第4层,最终图像大小为7×5;

第二步,在所有经过拉普拉斯金字塔降维处理的人脸图像中选择每个身份的前5张人脸图像,共200个样本构成训练集,每个样本大小为7×5,写出训练样本矩阵:x=(x1,x2,…,x200)T,每个向量就是一张人脸信息,其中向量xi为由第i个人脸图像进行列堆叠得到的35×1(7×5×1)维的列向量,即把矩阵向量化,并且计算训练图片的平均脸Ψ;

(5)

第三步,计算每一张人脸与平均脸的差值脸,di=xi-Ψ,i=1,2,…,200,再用所求到的差值脸矩阵构建协方差矩阵,并且求其特征值和特征向量,用以构造特征脸空间.协方差矩阵构造如下:

(6)

这里协方差矩阵的维数为35×35,求出该矩阵的特征值λi及其正交归一化特征向量vi;

第五步,将每一幅人脸与平均脸的差值脸矢量投影到“特征脸”空间.总共200幅图片,因此得到的训练样本集Ωi的大小是17×200;

Ωi=wTdi(i=1,2,…,200)

(7)

第六步,将训练样本集输入BP神经网络分类器,对该网络进行训练.再对剩余的200张人脸图像进行与训练样本集同样的操作,得到17×200大小的测试样本集,将测试样本输入训练好的神经网络分类器进行人脸识别.在该神经网络中,输入为提取出的人脸图像的特征值,输出是已经确定好的身份ID.在训练阶段,如果输入训练样本的类别标号是i,则期望的输出为第i个节点输出为1,而其余输出节点均为0.在识别阶段,当一个未知类别的样本作用到输入端时,考察各输出节点的结果,并将该样本判定为具有最大值的输出节点所对应的类[12].在设计BP神经网络时,隐含层节点数由下列经验公式求得.

(8)

其中M为隐含层节点数,k为样本数.同时,选择样本采样训练和样本批量训练结合的训练策略对BP神经网络进行训练学习[13],以提高系统的识别率.

总结以上算法可知,拉普拉斯金字塔分解作为第一次降维,在其分解过程中,插值膨胀求差法保留下的细节信息有助于后续人脸识别工作的进行.而在PCA特征提取过程中,设定能量系数为99%,可以保证保留下的图像信息足够完整,且降维结果为17维,也达到了二次降维的目的.因此对人脸图像先进行拉普拉斯金字塔降维处理,然后再进行PCA特征提取后得到的特征不仅维数低,且更有利于人脸识别工作,适合作为BP神经网络分类器的输入值.

2仿真结果

本程序仿真环境为MATLAB7.0,选择剑桥大学的ORL人脸图像数据库作为仿真数据.该数据库的人脸图像大小为112×92,灰度级为256.共有40个身份,每个身份包含表情、姿态、角度、细节略有差异的十张图像.选择每个身份的前5张人脸图像作为训练集,一共200张图像.其余200张图像作为测试样本.在BP神经网络做分类器时,训练方案为先进行奇数样本采样训练,再进行偶数样本采样训练,最后进行样本完整训练.

原始的人脸图像经过拉普拉斯金字塔降维处理和PCA特征提取后,获得的特征值个数为17,因此BP网络的输入节点有17个;根据经验公式,取隐含层神经元为80个;输出节点等于ORL人脸库的身份类别,共40个.在BP神经网络做分类器时,样本完整训练误差限和批量训练误差限都取0.005,即误差值小于0.005时认为训练完成.初始权值取[-0.5,0.5]之间任意值.

表1为本文算法和拉普拉斯金字塔降维至第4层后直接由BP神经网络分类器进行识别(拉普拉斯金字塔降维+BP神经网络)、PCA特征提取后直接由BP神经网络分类器进行识别(PCA+BP神经网络)等几种传统人脸识别算法的仿真结果.表2为本文算法在选择不同拉普拉斯金字塔分解层数时的识别率.

表1 本文算法和传统人脸识别算法的仿真结果

表2 本文算法选择不同拉普拉斯

从表1可以看出,本文方法的识别率为93%,高于其他方法,且本文算法的MSE值,即均方差值最低,也表明本文算法对训练集的训练结果最优.另外,本文算法在时间上略大于PCA+BP神经网络算法,但时间短于拉普拉斯金字塔+BP神经网络算法,因此在效率上也有所保障.分析可知,原始图像经过拉普拉斯金字塔降维处理后,相当于进行了一次粗略的特征提取,在该过程中不仅有效降低了图像维数,也强化了图像特征;将经过了该处理的人脸图像再进行PCA特征提取,得到了更精确有效的人脸图像特征值.此时经过两次特征提取后最终得到的特征值不仅维数低于单独一次特征提取的结果,并且由于两次特征提取的精度越来越高,其识别结果也优于传统的人脸识别算法.

表2是选择不同分解层数的人脸图像的识别结果对比.当金字塔分解至3层时,其识别率仅为72.5%,远低于金字塔分解到顶层的识别结果.这个结果提供了两个信息,一个是在能量系数确定的前提下,分解层数越高,即金字塔分解程度越深时,BP神经网络的输入维数越低,识别结果越好;另一方面,由于拉普拉斯金字塔在金字塔分解的过程中是通过插值膨胀求差法构造高层图像,因此高层图像不仅完整的保留了图像细节,更去除了冗余信息,使得细节被突显出来.下采样程度越深,细节提取得越明显.所以,深程度的下采样并不会丢失过多的人脸图像信息,反而强化了人脸图像的细节,使得识别结果更优良.

3结束语

本文通过对人脸图像进行拉普拉斯金字塔降维和PCA特征提取以提取人脸特征信息,用BP神经网络做分类器进行人脸识别.仿真结果表明,该算法识别结果优于一般算法的识别结果.分析可知,拉普拉斯金字塔分解人脸图像时,在分解过程中保留和凸显了细节信息,再经过PCA特征提取后,可以得到维数低且更具代表性的特征数据,是一种高效的人脸识别的特征提取方法.由于输入的数据量较小,因此BP神经网络分类器的训练效果较好,训练过程不容易出现振荡,且识别率较高.

参考文献

[1] 闫海停,王玲,李昆明,等.融合的人脸识别[J].中国图象图形学报,2014,18(1):85-91.

[2] 辛斌, 陈杰, 彭志红.智能优化控制:概述与展望[J].自动化学报,2013,37(11):1 831-1 848.

[3] 伊力哈木·亚尔买买提,哈力旦.基于改进神经网络的人脸识别方法[J].计算机技术与发展,2010,20(12):129-132.

[4] 李康顺,李凯,张文生.一种基于改进BP神经网络的PCA人脸识别算法[J].计算机应用与软件,2014,31(1):158-161.

[5] Steve Lawrence,Lee Giles C,Ah Chung Tsoi,et al.Face recognition:A convolution neural-network approach[J].IEEE Trans.on Neural Networks,1997,8(1):98-113.

[6] 唐赫.基于PCA和神经网络的人脸识别算法研究[J].软件导刊,2013,12(6):33-34.

[7] 程强.图像降维及其在人脸识别中的应用[D].无锡:江南大学,2013.

[8] Se Hwan Yun,Jin Heon Kim,Suki Kim.Image enhancement using a fusion framework of histogram equalization and laplacian pyramid[J].IEEE Trans.on Consumer Electronics,2010,56(10):2 763-2 771.

[9] 邓小玲,孔晨,吴伟斌,等.基于主成分分析和神经网络的柑橘黄龙病诊断技术[J].光子学报,2014,43(4):16-22.

[10] 阮越,陈汉武,刘志昊,等.量子主成分分析算法[J].计算机学报,2014,36(3):666-676.

[11] 魏衍君,杨明莉.基于聚类建模的三维人脸识别技术研究[J].陕西科技大学学报(自然科学版),2012,30(2):77-81.

[12] 孙胜永,胡双演,李钊,等.基于粒子群优化算法的BP神经网络图像复原[J].无线电工程,2014,44(10):5-7,26.

[13] 苏超,肖南峰.基于集成BP网络的人脸识别研究[J].计算机应用研究,2012,28(11):4 334-4 337,4 341.

Face recognition algorithm based on

Laplacian pyramid decomposition

KANG Jie1, LIN Xin1, WU Xing-chi2

(1.College of Electrical and Information Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China; 2.Armour College of Engineering, Illinois Institute of Technology, Chicago 60616, USA)

Abstract:In view of the computing dimension of the traditional face recognition algorithm combine PCA with neural network is too high,and vulnerability to shocks of the algorithm leads to low recognition rate,a new face recognition algorithm based on Laplacian pyramid decomposition is proposed in this paper.This method first reduce dimension of face images by Laplacian pyramid,and keep the details of face images during dimension reduction,again extracted feature by PCA,finally do face recognition with BP neural network classifier.The simulate study results based on ORL face database demonstrate that the recognition rate is high.

Key words:face recognition; Laplacian pyramid; PCA; BP neural network

中图分类号:TP391.41

文献标志码:A

文章编号:1000-5811(2015)01-0165-04

作者简介:亢洁(1973-),女,陕西铜川人,副教授,博士,研究方向:模式识别、图像处理

基金项目:陕西省科技厅自然科学基础研究计划项目(2014JM8329); 咸阳市科技计划项目(2011K07-03); 陕西科技大学博士科研启动基金项目(BJ10-10); 陕西省教育厅专项科研计划项目(14JK1092)

收稿日期:*2014-10-12 *2014-09-20

猜你喜欢
BP神经网络人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
BP神经网络算法在数值预报产品释用中的应用
基于K-L变换和平均近邻法的人脸识别