APP下载

基于PCA-GA-DBNs的人脸识别算法研究

2016-09-13伍忠东

关键词:权值人脸人脸识别

伍忠东,王 飞

(兰州交通大学电子与信息工程学院,甘肃兰州 730070)



基于PCA-GA-DBNs的人脸识别算法研究

伍忠东,王飞

(兰州交通大学电子与信息工程学院,甘肃兰州730070)

针对人脸图像数据量大和DBNs初始化权值具有指向性以及非凸目标函数易陷入局部最优的问题,提出将主分量分析(PCA)、遗传算法(GA)、深度信念网络(DBNs)相结合的新算法,并将其应用在人脸识别中.首先通过PCA对人脸图像进行处理,以减小人脸图像的数据量,然后利用GA算法对DBNs进行逐层预训练以优化其网络权值,再利用BP算法对DBNs进行微调并构造分类器.以ORL数据库为实验数据通过与其他经典人脸识别算法的比较得出,该算法不仅可以减少人脸图像数据量,而且可以克服初始权值的指向性和局部最优问题,更重要的是可以提高识别精度和识别速度.

主分量分析法;遗传算法;深度信念网络;人脸识别

生物识别技术是指通过某人的生理特征来确定其身份的技术.与人体的其他生理特征相比,人脸具有唯一,且携带大量个人特征信息的特点,因而备受生物识别专家的青睐,人脸识别成为生物识别的一个重要研究方向.

人脸识别的关键是人脸特征的提取和分类器的构造,目前人脸识别的主要研究方法有3种[1].① 基于模板匹配的方法[2].模板匹配是指固定模板匹配和形变模板匹配.固定模板匹配是通过计算人脸图像和分布模型之间特征向量的差值来识别人脸.形变模板匹配是通过参数化的简单人脸图元模型来识别人脸;② 基于主分量分析的方法[3].主分量分析的实质是对人脸图像进行压缩,用一个低维向量来代替人脸图像,该向量包含原始图像的重要信息即特征脸,利用该方法可以重建和识别人脸;③ 基于神经网络的方法[4].神经网络是一种基于样本统计模型的方法,通过监督学习方法对人脸样本进行训练,并根据提取的特征构建分类器,从而对测试样本进行人脸识别.

深度学习是一种解决复杂分类问题的新方法,于2006年提出的深度信念网络(DBNs)是深度学习的典型代表,它能够从输入数据中提取出重要的特征信息,具有极强的非线性映射能力,广泛用于分类、预测等领域,但该算法具有两个缺陷.首先,深度信念网络由于初始权值的随机赋值而使初始权值带有指向性,经过层层训练指向性扩展影响识别精度.其次,多层深度网络在学习过程中容易使非凸目标函数陷入局部最优从而导致网络学习困难.针对这些缺陷,研究者提出了不同的改进方法[5-15].其中文献[1]通过实验来调整深度信念网络中各个网络参数大小,从而使得网络最优;文献[8,13]采用Restricted Boltzmann Machine方法来分层训练深度学习的多层网络;文献[9]提出通过GB-RBM来重新构建DBNs的基础模型,改变网络结构,使其成为最优网络;文献[11]提出在网络各层之间进行运算时采用随机部分连接参数的方法,减少了网络参数,消除了指向性;文献[14]采用Auto-Encoder方法来逐层训练多层网络.不同的研究者利用不同的方法来改进深度学习网络,在一定程度上都使算法更加完善,提高识别精度.本文在前人的基础上[1,8,13],结合文献[5]的结论,提出利用吉布斯和遗传算法强大的全局搜索能力来逐层优化网络,将主分量分析、遗传算法和深度信念网络的优势结合起来用于人脸识别,减少了人脸图像的数据量,克服了DBNs初始化权值时带有的指向性和容易陷入局部最优的缺陷,提高了识别速度和识别精度.该算法首先利用主分量分析法处理人脸图像并将处理结果作为深度信念网络的输入,然后利用吉布斯-遗传算法对网络进行逐层训练,再利用BP算法对整个网络进行微调并构建分类器.通过ORL数据库的实验,该算法与其他经典人脸识别算法相比具有更高的识别精度和更快的识别速度.

1 基于PCA的人脸图像处理

人脸图像处理的目的是对其进行数据压缩并从中提取人脸特征.人脸特征有多种提取方法,不同的提取方法具有不同的人脸识别效果[6].本文利用主分量分析法来压缩处理人脸图像,该方法用一个向量来表征人脸,数据量小,但最大程度地保持了该人脸特征[7].

1.1小波变换的数据压缩处理

小波变换的目的是对图像进行压缩,它不仅压缩比高,而且压缩后能保持图像的特征不变.经过小波变换的人脸图像,无用信息被完全弱化,充分突出图像的人脸特征,非常适合人脸特征的提取.

1.2特征脸空间的构造

将第i幅经过小波变换的人脸图像向量用Xi表示,则Xi的协方差矩阵可表示为:

(1)

如果直接求解协方差矩阵C的特征值,特征向量计算量很大.为了简化计算,本文利用奇异值分解对其进行降维,将其转化为对角阵.按照奇异值分解定理,可以求出该协方差矩阵的特征向量,即

(2)

对每一副人脸图像的协方差矩阵进行奇异值分解,在λ1≥λ2≥,…,≥λk>0的条件下,奇异值分解是唯一的,即该人脸图像的特征向量也是唯一的.这些特征向量代表人脸的代数特征,构成特征脸空间.

将人脸图像向量Xi利用奇异值分解求出其特征向量Ui,然后将Xi在Ui上的投影记为PUi,即有PUi=UiXi.

(3)

由(3)式得,人脸图像在其特征向量上的投影方差恰好是该特征向量所对应的特征值,即特征值越大,该特征值对应的特征向量所携带的人脸信息也越多.

(4)

因此,选取前s个特征值所对应的特征向量,构成特征脸空间w.

1.3人脸图像的特征提取

人脸图像的主要特征用该图像在特征脸空间的投影来表示,即将人脸图像向特征脸空间w投影,利用公式Q=WTX得到的系数向量作为深度信念网络的输入.

2 深度信念网络

深度信念网络(DBNs)是由Hinton于2006年提出[8],他通过贪婪逐层预训练算法解决了深度学习的网络优化问题,如今DBNs在分类和信息检索等领域应用广泛.

2.1深度信念网络模型

DBNs是一种基于统计学习的非线性反馈神经网络,由多个结构单元叠加而成,结构单元通常为受限玻尔兹曼机(RBM),每个RBM都是一个两层结构.DBNs由一个可见层和多个隐含层组成,可见层和隐含层之间由权值相互连接,但可见层和隐含层内部互不相连,可见层作为输入数据单元,其结构见图1.根据深度学习理论,通过输入数据训练第一层RBM单元,利用其输出训练第二层,以此类推,通过无监督算法对各个RBM模块进行预训练,并通过对整个网络微调来增强其学习能力,使其成为最优网络[9].

图1 DBNs结构示意图Fig 1DBNs structure sketh map

2.2受限玻尔兹曼机模型

受限玻尔兹曼机(RBM)是DBNs网络的构成基础,它是一种经典的二值化对称神经网络,其结构见图2.该网络可见层和隐含层之间由权值相连,但层内不连.RBM权值的学习通过无监督算法来实现,其过程为:首先将可见层向量经过编码映射到隐含层,隐含层经过解码对可见层进行重构,这些新可见层再次映射给隐含层,这样就获取了新的隐含层单元,反复执行这一过程叫做吉布斯采样.

图2 RBM的结构示意Fig 2Schematic diagram of RBM

在给定参数集合θ={w,b,c}的条件下,RBM的能量函数可表示为[11]

(5)

其中,x为可见层的输入向量;h为隐含层向量;b,c为可见层和隐含层的偏置向量;w为可见层和隐含层之间的连接权值矩阵.

它的联合概率函数为

(6)

其中Z(θ)为配分函数(即所有参数情况下的能量和),即

(7)

RBM可见层的边界函数为

(8)

由于RBM同层节点之间无连接,是相互独立的,故有

(9)

(10)

又由于RBM可见层和隐含层都是二值状态(即xj∈{0,1},hi∈{0,1}),因此由(10)式可得隐含层和可见层的输出条件概率为

(11)

(12)

其中,i表示隐含层中第i个神经元;j表示可见层中第j个神经元;sigmoid表示激活函数,即

(13)

根据(11)和(12)式可得到RBM权值和偏置参数的更新公式

(14)

(15)

(16)

其中,α为学习率;Δw为更新后的权值矩阵;Δb,Δc为可见层和隐含层更新后的偏置向量,在初始化阶段w,b,c为较小的随机值.

3 基于PCA-GA-DBNs模型的建立

PCA-GA-DBNs模型由三部分构成,第一部分是利用吉布斯-遗传算法对DBNs逐层预训练;第二部分是利用BP算法对整个DBNs网络进行微调;第三部分是利用BP算法构建分类器.

3.1DBNs网络的预训练

遗传算法(Geneticalgorithm)是一种通过模拟自然进化过程搜索最优解的方法.该算法直接对结构对象进行操作,没有太多的函数限定,具有内在的稳定性和超强的全局寻优能力.由于遗传算法的以上优点,将遗传算法和吉布斯采样相结合,构成吉布斯-遗传算法,并利用该算法来对DBNs进行预训练.

算法的主要步骤如下[5]:

1)初始化种群.将RBM的每个连接权值作为种群的个体,按照实数编码方式进行编码.

2)构造适应度函数.将RBM可见层和吉布斯采样重构的可见层的绝对误差和定义为适应度函数.

(17)

3)选择操作.将优良个体i从种群中选出遗传到下一代的概率定义为

(18)

其中,c为种群总数目;Fi为个体i的适应度值.

4)交叉操作.将配对个体通过交叉产生新个体遗传到下一代,其操作为

(19)

其中,gk1j,gk2j分别为k1和k2个体在第j位的基因;r为[0,1]的随机数.

5)变异操作.将个体的某些基因以变异概率发生变异,其操作方法为

(20)

其中,gmax和gmin为基因gij的上、下界;r1和r2为随机数;s为当前迭代次数;smax为最大进化次数.

6)计算适应度函数值.若满足结束条件,则根据(14)~(16)式来修正RBM的权值和偏置参数.若不满足则返回第3)步.

7)从可见层开始对DBNs逐层进行预训练,直到全部预训练完成.

3.2DBNs网络微调和分类器构造

BP算法是一种误差反向传播的多层前馈网络,它利用最速下降法快速减小误差、修正权值,非常适合DBNs的网络微调,同时BP算法是一个天然的分类器,可以对不同人脸进行分类.因此,我们选择BP算法来对DBNs网络进行微调并构造分类器,其结构见图3.

2)BP算法分类器的构造.DBNs网络微调结束后,利用BP算法构造人脸识别分类器,同时计算分类权wn,使网络从可见层到分类层构成一个网络系统.其过程为:先计算分类权值wn,从可见层输入数据,通过层层运算最终得到顶层隐含层hn,通过计算hn*wn得到一个输出(该输入数据的类型值),求出该输出与输入数据的真实类型的误差,通过调整分类权值减小误差,直到误差在可信范围内,权值wn计算完成.对包括分类层在内的DBNs进行整体调整,从可见层输入数据,经过层层运算最终得到该输入数据的类标,计算该类标与真实类标的误差,利用BP算法修正权值,直到误差在限定范围内,调整完成.

图3 DBNs的微调和分类器构造Fig 3OBNs fine tuning

4 实验结果及分析

从ORL数据库中选取20人,每人10幅共200幅作为实验对象,将这200幅人脸图像全部作为训练集,在训练完成后从中随机选取10人每人10幅共100幅人脸图像作为测试集.

4.1人脸识别过程简介

1)参数设定.利用文献[10]中介绍的方法,将遗传算法的种群数目、进化代数、交叉概率和变异概率分别设定为65,100,0.25,0.05.

选取的人脸图像经过PCA处理后,得到的人脸特征为一个13维的向量.该向量将作为DBNs网络的输入,故DBNs可见层神经元个数设定为13.由于该网络是对随机选取的10个人进行身份识别,故分类层神经元的个数设定为10.根据前人的经验[1]以及我们在实验中的测试,设定3个隐含层,且每层的神经元个数为50,RBM迭代次数为50,分类反馈次数为50,微调次数为20,学习率为0.7,目标误差为0.06.

2)人脸识别过程.首先利用主分量分析法来压缩处理人脸图像,并将处理结果作为DBNs的输入.然后利用遗传算法和吉布斯采样,对DBNs逐层进行预训练,训练完成后再通过BP算法对DBNs进行微调并构建分类器,最后对人脸图像进行识别.其过程见图4.

图4 人脸识别过程Fig 4Face recognition process

4.2实验数据分析

为了证明方法的高效性,本文选取三种人脸识别经典算法与其进行对比,为了避免实验的偶然性,实验结果为10次识别的平均结果.对测试样本进行人脸识别时,各算法的识别时间列于表1.

表1 各算法人脸识别时间比较

从图5可以看出,PCA-GA-DBNs和DBNs的识别速度明显高于2DPCA+BP和Curvelet+BP,表明深度学习算法识别速度高于浅层学习算法.而在深度学习方法中(PCA-GA-DBNs和DBNs),PCA-GA-DBNs的识别速度更快.正如表1所示,PCA-GA-DBNs的识别时间是DBNs的78%,是2DPCA+BP的38%,是Curvelet+BP的36%,从而进一步表明PCA-GA-DBNs具有更快的识别速度.对测试样本进行人脸识别,各算法的识别精度见2.

图5 各算法人脸识别时间比较Fig 5 Comparison of face recognition timeof each algorithm表2 各算法人脸识别精度比较Tab 2Comparison of the accuracy of face recognition

测试样本PCA-GA-DBNsDBNs2DPCA+BP[15]Curvelet+BP[15]193.25%88.67%92.25%87.50%294.8%89.63%90.50%92.50%393.53%90.86%87.50%95.50%495.65%88.63%93.33%87.75%593.63%93.49%87.50%90.15%697.70%95.93%89.17%95.75%795.28%92.71%91.20%93.35%895.1%95.40%87.50%95.00%995.00%89.68%89.17%93.25%1094.86%94.00%95.00%89.30%平均94.88%92.30%90.31%92.01%

从表2可以看出,对测试样本进行人脸识别时,各识别算法的平均识别精度都达到90%以上,而PCA-GA-DBNs网络的平均人脸识别精度达到94.88%,明显高于其他算法,具有较强的泛化能力.从图6可以看出PCA-GA-DBNs网络与其他算法相比,其变化趋势相对稳定,具有较好的鲁棒性.分析其原因发现,DBNs网络在初始化权值时,由于权值的随机赋值使得权值具有指向性,在经过层层训练后指向性扩展,影响了识别精度.同时直接以图像的灰度值作为输入,而未经PCA处理,造成数据量庞大,网络结构复杂,并且多层深度网络在训练过程中易使非凸目标函数陷入局部最优影响识别速度.而PCA-GA-DBNs网络先利用PCA处理人脸图像以减少网络输入,提高识别速度,再利用吉布斯-遗传算法来对网络进行逐层预训练,消除权值的指向性并摆脱局部最优,改善了网络的总体性能,进一步提高识别精度和识别速度.

图6 各算法人脸识别精度比较Fig 6 Comparison of face recognition accuralyof each algorithm

5 结束语

针对人脸识别提出了PCA-GA-DBNs的新算法,该算法利用PCA处理人脸图像,压缩了图像,减少了网络输入,从而简化了网络结构,使识别速度明显提高.利用遗传算法结合吉布斯采样逐层训练网络,克服了网络初始的权值指向性和非凸目标函数易陷入局部最优的问题,通过BP算法微调网络并构造分类器,使整个网络成为一个人脸识别的网络系统.实验表明,该算法具有更高的识别精度和更快的识别速度.

[1]高德坤.基于深层结构学习的视频人脸识别[D].哈尔滨:哈尔滨工业大学,2013.

[2]YUILLEAL,HALLINANPW,COHENDS.Featureextractionfromfacesusingdeformabletemplates[J].International Journal of Computer Vision,1992,8(2):99.

[3]YEJP,JANARDANR,LIQ.Two-dimensionallineardiscriminantanalysis[C]//SAULLK,WEISSY,BOTTOUL.Advances in Neural Information Processing Systems.Cambridge,MA:TheMITPress,2004:1569.

[4]CHAUVINY,RUMELHARTDE.Backpropagation:Theory,Architectures,and Applications[M].London:PsychologyPress,1995.

[5]王飞.基于主分量分析GA-BP神经网络的人脸识别算法[J].中国西部科技,2015(6):73.

[6]高庆华.人脸自动识别方法的研究[D].大连:大连理工大学,2007.

[7]赵立强,张晓华,高振波,等.基于 BP 神经网络的主分量分析人脸识别算法[J].计算机工程与应用,2007,43(36):226.

[8]HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504.

[9]周长建,司震宇,邢金阁,等.基 DeepLearning 网络态势感知建模方法研究[J].东北农业大学学报,2013,44(5):144.

[10]何大阔,王福利,张春梅.基于均匀设计的遗传算法参数设定[J].东北大学学报(自然科学版),2003,24(5):409.

[11]王璟尧.基于SDCNN的人脸识别研究[D].杭州:浙江大学,2015.

[12]陆俊,张琼,杨俊安,等.嵌入深度信念网络的点过程模型用于关键词检出[J].信号处理,2013,29(7):865.

[13]尹宝才,王文通,王立春.深度学习研究综述[J].北京工业大学学报,2015(41):48.

[14]LANGE S,RIEDMILLER M.Deep auto-encoder neural networks in reinforcement learning[C]//Proceedingsofthe2010InternationalJointConferenceonNeuralNetworks.New York:IEEE,2010:1623.

[15]胡丹.一种改进的BP网络人脸识别方法[D].南昌:江西师范大学,2014.

(责任编辑孙对兄)

Face recognition algorithm based on PCA-GA-DBNs deep belief network

WU Zhong-dong,WANG Fei

(School of Electronic and Information Engineerin,Lanzhou Jiaotong University,Lanzhou 730070,Gansu,China)

Aiming at the problem that the data volume of face image and DBNs initialization weight are pointed and the non convex objective function is easy to fall into local optimum,a new algorithm combining principal component analysis(PCA),genetic algorithm(GA) and deep belief network(DBNs) is proposed,which is applied to face recognition.Firstly,the face image is processed by PCA to reduce the amount of data.Then the GA is trained by DBNs algorithm to achieve the purpose of optimizing the weights.Then the BP algorithm is used to fine tune the DBNs and construct the classifier.According to the experimental results of ORL database,the proposed algorithm can not only reduce the amount of human face image data,but also overcome the initial weight of the directional and local optimization problems.More important,it is to improve the recognition accuracy and convergence speed.

principal component analysis;genetic algorithm;deep belief network;face recognition

10.16783/j.cnki.nwnuz.2016.03.009

2015-10-20;修改稿收到日期:2016-01-15

甘肃省科技支撑计划资助项目(1204FKCA025);甘肃省高校基本科研业务费资助项目(1213056)

伍忠东(1968—),男,湖南醴陵人,教授,硕士研究生导师.主要研究方向为信息安全算法.

E-mail:125092995@qq.com

TP 391.41

A

1001-988Ⅹ(2016)03-0043-06

猜你喜欢

权值人脸人脸识别
一种融合时间权值和用户行为序列的电影推荐模型
人脸识别 等
有特点的人脸
一起学画人脸
CONTENTS
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
基于MATLAB的LTE智能天线广播波束仿真与权值优化
三国漫——人脸解锁
人脸识别在高校安全防范中的应用