APP下载

基于分块2DPCA的人脸识别方法

2014-12-23邓亚平

计算机工程与设计 2014年9期
关键词:训练样本分块识别率

邓亚平,王 敏

(华中科技大学 自动化学院,湖北 武汉430074)

0 引 言

目前人脸识别的研究方法众多[1-6],主要分为基于几何特征的方法、基于特征脸的方法、局部特征方法、基于弹性模型方法和神经网络方法等。由Turk和Pentlad[7]提出的PCA 方法是一种基于特征脸的人脸识别方法,由于其简单易行而被广泛采用。

传统的PCA 算法是将样本图像矩阵转换成一个行向量,这样得到的矩阵维数较高,且在后面进行特征提取所丢失的特征信息较多,造成计算量大且提取出的主特征不够准确。2004年,Yang J等[8]提出2DPCA 方法进行特征提取,此方法将样本看作一个矩阵进行特征提取,可利用的行信息多,且维数大大减少,精确度较传统PCA 高。2009年,李晓东等[9]提出了基于类内平均分块2DPCA 的人脸识别方法,此方法先对图像矩阵进行分块,将进行类内平均归一化后的子图像块用于构造总体散布矩阵,再进行投影,能快速降低特征的维数,避免使用奇异值分解理论,同时缩小了类内样本识别距离。实验结果表明,该方法识别性能优于2DPCA 方法。

基于上述分析,本文提出了一种结合分块的2DPCA 和Vapnik[10]提出的SVM 人脸识别方法,有效结合各种方法的优点,提高了识别率并能减少计算量。

1 2DPCA算法原理

设训练样本共N 类,每类有L 个样本,训练样本集由Ai1,Ai2,Ai3...AiL(i=1...N)构成,每个样本由m×n矩阵表示

在训练中,对图像矩阵进行运算,求取均值矩阵A

式中:Aj——第j个训练样本矩阵,令M =N×L。由此可得训练样本图像行方向的总体散布矩阵Gt

对所得的矩阵Gt进行特征值分解,找到最大的R 个特征值,并得到所对应的特征向量,由这些特征向量组成投影空间P,P={p1,p2,p3...pR},由于最大特征值对应的特征向量最能反映图像的特征信息,所以此时P 是最优投影空间。

分别将训练样本矩阵向特征空间进行投影,得到能反映每个样本特征信息的投影权值矩阵Y ={Y1,Y2,Y3...YR},Y 为n×R 矩阵,其中Yi=Api(i=1...R)。

在识别过程中,将测试样本矩阵在得到的投影空间进行投影

式中:B——测试样本矩阵,投影得到权值矩阵X ={X1,X2,X3...XR}。采用F-范数进行判断,定义d 为测试图像特征矩阵和训练样本图像特征矩阵的距离

分别比较所有训练样本特征图像和测试样本特征图像的距离,最小距离的训练样本即为找到的与测试样本最相似的图像。

2 分块2DPCA

分块2DPCA 的主要思想是将m×n 的图像矩阵分成p×q个小矩阵,如式 (5)所示

式中:Akl——m1×n1矩阵,m1×p=m,n1×q=n。逐个对Akl矩阵进行2DPCA 找到最优投影特征矩阵,得到训练图像子图像的总体散布矩阵G

取R 个G 的最大特征值对应的特征向量组成投影特征矩阵Q ={Z1,Z2,Z3...ZR},则训练样本的特征矩阵为

同理,将测试样本矩阵向特征空间投影,得到测试样本的特征矩阵

分别求得B 和每一个训练样本特征矩阵的距离

距离最小的即为找到的与测试样本最接近的训练样本。

3 支持向量机

支持向量机是在统计学习理论基础上发展起来的新一代学习算法,其在文本分类、手写识别、图像分类等领域中获得了较好的应用[11]。它的主要思想是找到一个最优分类超平面,使其达到的分类间隔最大。对于线性可分,是寻求一个最优分类面,使其能最大限度分离两边数据区与之平行的平面。对于线性不可分,选择适当的核函数将其从低维空间映射到高维空间,寻求最优分类面。

3.1 线性可分最优分类面

设训练样本集为{xi,y},i=1,2,3...,其中x 为样本集,y 取1和-1。存在以下超平面wx+b=0能将样本最大限度地分为两类,即它们之间的距离最大。将超平面方程归一化,使其满足

此时分类间隔为2/|w|,为使分类间隔最大,则|w|2最小。构造拉格朗日函数求最优解

通过求导等方法求得最靠近超平面的量,即支持向量及相关参数后,可得最优最终判别函数

3.2 线性不可分最优分类面

在线性不可分中,在条件中引入了非负松弛项ξi,i=1,2...n,约束条件式 (10)变为yi(wxi+b)≥1-ξi,此时构造的拉格朗日函数为

最后经过计算得到的最优判别函数为

与线性可分不同的是提出采用满足条件的核函数来进行计算,达到最优分类的目的。

4 本文算法原理

4.1 算法原理

根据以上分析,本文采用了类内平均归一化分块2DPCA 与SVM 相结合的算法。

对散布矩阵进行特征值分解,找到最大的R 个特征值对应的特征向量组成的投影矩阵P =[X1,X2...XR]。

为使所有样本有同一的规范,将所有训练样本子块平均,进行规范化

将规范化后的训练样本子块在P 上进行投影,得到特征矩阵

同样,对分块规范化后的测试样本也进行矩阵投影,得到特征矩阵

最后将训练样本得到的特征矩阵和测试样本得到的特征矩阵转换为向量,用SVM 进行训练,预测与测试样本最匹配的训练样本。

4.2 类内平均归一化分块2DPCA图像重构

在特征脸方法中,可将提取出的图片主成分即投影得到的矩阵与特征空间结合,重构人脸图像,直观看出算法效果。当所取特征值数量等于训练样本总体散布矩阵的特征值个数时,重构脸可以无损地重构原图像,当小于总体散布矩阵的特征值个数时,重构图与原图像相似。同PCA和2DPCA 类似,类内平均归一化分块2DPCA 也可以进行人脸重构:

设Aj经过类内平均化后的每个小子块为a,投影得到的小子块矩阵为y,则有yk=aXk(k=1...R),P=[X1,X2...XR]为所取的R 个最大特征值对应的特征向量组成的投影矩阵,令V ={y1,...yR},得到V =aP 。则得到重构的图像为

将Aj的每个子图像块重构可得到一个与Aj同样大小的重构图。

5 实验结果与分析

本文在VS2010平台下进行实验,安装opencv2.3.1版本,采用ORL 人脸库中的人脸进行训练识别,此人脸库中,有40个人的人脸图,并且每个人分别有10 张从不同角度、不同光线下拍摄的10幅图片,共有400幅。在实验中,分别取不同数量的训练和测试样本,取不同的特征值即鉴别矢量个数进行测试,验证本文改进的分块2DPCA 算法对人脸进行重构的效果和人脸识别的准确率。

在人脸重构实验中,训练样本由人脸图片库中的400张图片组成。分别采用PCA、2DPCA 和类内平均分块2DPCA 方法对样本进行训练,得到各自总体散布矩阵的特征空间。图1为人脸库中任取的2张图片,图2至图7是将这2张图片分别投影到不同的特征空间进行重构的结果。

图1 原始图片

当取3个特征值时,重构脸如图2、图3、图4所示。

图2 PCA 重构脸

图3 2DPCA 重构脸

图4 类内平均分块2DPCA 重构脸

当取20个特征值时,重构脸如图5、图6、图7所示。

图5 PCA 重构脸

图6 2DPCA 重构脸

图7 类内平均分块2DPCA 重构脸

分别将图2和图5、图3和图6、图4和图7进行比较可知,当算法相同时,不同数量的鉴别矢量,重构出的效果不同。当取的特征值个数较少时,丢失的特征越多,重构的人脸与原图差别较大,反之取的特征值个数越多,就越接近原图。由图2至图7可看出,当取的特征值个数相同时,本算法得到的重构脸效果更接近原图,说明此算法得到的特征空间更能够反映图像的特征,优于其它算法。

从文献 [8]可知2DPCA 算法在识别率和时间消耗上优于PCA 算法,所以本文着重对2DPCA 和分块2DPCA 相关算法进行分析比较。

取ORL人脸库中每个人的前5张图片作为训练样本,余下5张作为测试图片,共40×5=200张训练样本和40×5=200张测试样本。其测试时的算法运行环境为:Intel-Core2-T6400-2.0GHz,2.0GB-DDR3内存。

表1比较了2DPCA、分块2DPCA、2DPCA 与SVM 结合及分块2DPCA 与SVM 结合算法在取最佳鉴别矢量个数时的时间消耗。在测试中,当分块2DPCA 取的块数较少时,消耗时间小于2DPCA,随着分块数逐渐增多时,所消耗的特征抽取时间和样本识别时间均随着增大;当分块2DPCA 与SVM 结合时,较分块2DPCA 时间消耗增加。

表1 不同算法取最佳特征维数的时间消耗

与2DPCA 相比,分块2DPCA 可以提取出更低的特征维数,如对ORL 人脸库,2DPCA 得到的最佳鉴别矢量为736 (92×8),而2×2 分块2DPCA 提取出的特征维数是552 (92×6),故在特征提取方面,所消耗时间较少;随着分块数增多,运算量逐渐增加,消耗时间随着增大。当算法与SVM 结合时,用于SVM 分类的时间增加,故样本识别时间增加。

图8 比较了2DPCA、2×2 分块2DPCA、2DPCA 与SVM 结合以及4×4分块2DPCA 与SVM 结合等4种算法在鉴别矢量取1到24时的识别率。在这些算法中,图8可看出,当鉴别矢量个数取不同值时,2DPCA 和2×2 分块2DPCA 算法的识别率在90%左右,将这2种算法与SVM结合,则可提高识别率,本文提出的算法识别效果最好。

将算法与SVM 结合,利用SVM 可用于多类分类的特点,将训练样本得到的特征矩阵转换为向量形式用于训练,得到多个SVM 二分器,再将测试样本得到的特征矩阵转换为向量依次经过训练得到的二分器,通过投票决定其最终归属,准确率较高。

图8 各算法鉴别矢量-识别率曲线

表2比较了本文算法在分块数不同时,选取不同鉴别矢量个数的识别率。从表2 看出,4×4 分块识别率最高,其次为4×2分块,4×2分块在鉴别矢量个数较小时优于2×4,在鉴别矢量个数较大时与2×4分块识别率相当。分块2DPCA 随着分块个数不同识别率发生变化。当分块数较多时,可利用样本特征较多,有利于分类。

由上述分析可知,将本文提出的类内平均分块2DPCA与SVM 相结合的算法用于人脸识别,具有较高的识别率。

6 结束语

本文提出了一种新的基于分块2DPCA 的人脸识别方法。所提出方法有效地将二维主成分分析算法与支持向量机算法结合,利用支持向量机在线性和非线性分类的优势,提高了识别率。此外,运用类内平均归一化后的子块构造散布矩阵,缩短类内样本间的距离,更好地利用了图像的局部信息,提高运算速度。由于实验中所使用的是标准数据库的图片,对实际情况分析考虑得较少,因此如何使用其它特征配合识别使其应用更加广泛有待进一步研究。

表2 不同块数不同鉴别矢量个数时识别率

[1]Youyi J,Xiao L.A method for face recognition based on wavelet neural network [C]//Second WRI Global Congress on Intelligent Systems.IEEE,2010:133-136.

[2]Liao S,Chung A C S.A novel Markov random field based deformable model for face recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2010:2675-2682.

[3]Assadi A,Behrad A.A new method for human face recognition using texture and depth information [C]//10th Symposium on Neural Network Applications in Electrical Engineering.IEEE,2010:201-205.

[4]Li X,Song A.Fuzzy MSD based feature extraction method for face recognition [J].Neurocomputing,2013,122:266-271.

[5]Li S,Gong D,Yuan Y.Face recognition using Weber local descriptors[J].Neurocomputing,2013,122:272-283.

[6]Luan X,Fang B,Liu L,et al.Face recognition with contiguous occlusion using linear regression and level set method[J].Neurocomputing,2013,122:386-397.

[7]Turk M,Pentland A.Face recognition using eigenfaces[C]//Proc IEEE Conf on Comp Vision and Patt Recog,1991:586-591.

[8]Yang J,Zhang D,Frangi A F,et al.Two-dimensional PCA:A new approach to appearance-based face representation and recognition [J].IEEE Trans Pattern Analysis and Machine Intelligence(S0162-8828),2004,26 (1):131-137.

[9]LI Xiaodong,FEI Shumin.New face recognition method based on improved modular 2DPCA [J].Journal of System Simulation,2009,21 (15):4672-4675 (in Chinese).[李晓东,费树岷.一种改进的模块2DPCA 人脸识别新方法 [J].系统仿真学报,2009,21 (15):4672-4675.]

[10]Cortes C,Vapnik VN.Support-vector networks [J].Machine Learning,1995,20 (3):273-297.

[11]ZHANG Zheng,WANG Yanping.Digital image processing and machine vision-Visual C++and Matlab to achieve[M].Beijing:Post &Telecom Press,2012 (in Chinese).[张铮,王艳平.数字图像处理与机器视觉-Visual C++与Matlab实现 [M].北京:人民邮电出版社,2012.]

猜你喜欢

训练样本分块识别率
基于类图像处理与向量化的大数据脚本攻击智能检测
分块矩阵在线性代数中的应用
人工智能
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
宽带光谱成像系统最优训练样本选择方法研究
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法
反三角分块矩阵Drazin逆新的表示
高速公路机电日常维护中车牌识别率分析系统的应用