基于PCA和SVM分类的跨年龄人脸识别

2019-08-06 04:25汪雯琦高广阔
计算机时代 2019年7期

汪雯琦 高广阔

摘  要: 对不同年龄的人脸进行识别,以ORL人脸库作为数据来源进行特征提取,得到每幅图像对应的矩阵,然后建立PCA主成分分析模型,对人脸特征矩阵进行K-L降维得到基特征脸。最后基于SVM(支持向量机)分类器学习,用Matlab编程对模型进行求解,对人脸进行分类识别。测试仿真结果显示,基于ORL人脸库测得的识别准确率为83.5%,准确度较高,证明该方法有效。

关键词: 跨年龄人脸识别; K-L变换; SVM分类器; 人机交互界面

中图分类号:TP391.4          文献标志码:A     文章编号:1006-8228(2019)07-01-04

Abstract: This paper mainly discusses the cross-age face recognition, which extracts features from ORL face database as data source, obtains the corresponding matrix of each image, then establishes PCA principal component analysis model, and reduces the dimension of face feature matrix by K-L to get the base feature face. Based on SVM classifier learning, the model is solved by MATLAB programming, and the face is classified and recognized. The automatic recognition is basically realized. The test results show that the recognition accuracy is 83.5% based on ORL face database, which proves that the accuracy is high, and the method is effective.

Key words: cross-age face recognition; K-L transform; SVM classifier; human-computer interactive interface

0 引言

人脸识别的技术近年来被广泛用于金融、经济、交通、旅游、法律等行业,国内外学者也对其进行了深度研究。就目前我们了解到,美国和以色列等国家的人脸识别技术已经达到了世界领先等水平。对同一个人来说,如果不曾有过改变面容的疾病、面部外伤或外科手术等经历,年轻和年老时的面容总有很大的相似度。人们在生活中也往往能够分辨出来两张不同年龄段的照片是不是同一个人。当然,年龄段相差越大,识别起来也就越困难。

本研究的主要贡献:主成分分析法(PCA)是利用样本中部分主要元素效果替代整体元素效果,将复杂问题简化为简单问题。SVM训练原理是应用在小样本/非线性样本对分类问题中,取得了很好的分类效果。我们将这两种方法结合,设计出比较友好的人机交互界面GUI,可以一键测试准确率和人脸匹配识别,基本实现了自动识别,准确度较高。

1 研究背景

近年来在大量国内外各领域研究人员的努力下,人脸识别技术取得了很大的进步,识别率提高,但是这些研究多基于同一个人在同一时期,而很少考虑到年龄、姿态等因素的鲁棒性,这严重影响识别准确率,所以研究年龄因素对于人脸识别的影响是很有必要的,也是有一定难度的。当我们用肉眼识别两张不同年龄段的人脸照片时,并不能很容易的判断是否为同一个人,因为年龄相差越大,越难判断。人脸老化是一个不可避免的过程,随着年龄增长、岁月流逝,人脸外貌会产生很大的变化。这在学术和应用系统的设计中都是一个挑战。年龄问题成为人脸识别技术的瓶颈之一,至今未能有非常好的方法解决,如果这个问题得到解决,人脸识别可在更多方面得到应用。

2 方法流程

要判断两张面部照片是否为同一个人首先要对两个人的面部特征进行比对,通过比对,得出两个人的面部相似度,相似度高的即认为是同一个人。这里我们首先考虑用PCA法对人脸特征矩阵进行降维,得出特征脸。然后对降维后得到的矩阵进行SVM训练和分类,进而可以实现人脸库的自动检索和比对,从而得出比较结果。解决问题的思路如图1所示。

2.1.1 载入人脸库

在载入人脸库图像之前,我们对所有的图像进行几何归一化,将所有的图像的维数统一为相同维数设为,其中我们使用的ORL人脸库为112*92。每幅图像按行优先并按列向量存贮为行的列向量。可视为N空间中的一个点。这样可以得到存贮所有人脸库的训练样本的矩阵。

2.1.2 利用K-L变换得到人脸特征空间

根据K-L变换原理,所求的新坐标系即由矩阵WWT的非零特征值所对应的特征向量组成。由于,且一般N比较大,由于直接求C的特征值和正交归一化的特征向量是很困难的,因此我们引入奇异值分解[3](SVD)來解决维数的问题,也就是由求解WTW的特征值以及特征向量以获得WWT的特征向量。

我们可以得到差值图像,则的特征值可以通过得到。对WTW进行SVD分解得到其非零特征值(从小到大依次排序,)和对应的特征向量,则WWT正交归一化的特征向量为

2.1.3 把训练和待测图像投影到特征子空间

我们将每一张人脸图像向上述特征脸子空间进行投影,得到了一组坐标系数,对应于子空间的一个点。子空间内的任一点对应于一张图像。得到的一组系数则可作为人脸识别的依据,也就是这张人脸图像的特征脸特征。即任何一张人脸图像都可以表示成这组特征脸的线性组合,它们的各个加权系数也就是K-L变换的展开系数,这个可以作为我们图像识别的特征。然后将所有的训练样本图像X投影到这个空间上,就得到了每张图像在特征子空间内的坐标系数:

2.2 基于SVM分类器的模型

在多类SVM训练[4]阶段,我们用n=40类样本构建n(n-1)/2个分类器。在分类阶段,让测试集样本依次經过这些二分器,通过投票决定它的类别。

我们采用最为常用的径向基核函数[5](RBF),得到的支持向量机是一种径向基核函数分类器[6]。首先,取Gamma=0.02,C=100,对测试集中40个人的前5张人脸图像,一共两百个样本进行分类工作,结果显示,识别的正确率为83.5%。人脸识别过程中,核函数我们选用了径向基核函数(RBF),具体函数如下:

3 实验结果与分析

我们用Matlab编程实现了对图像的读取,PCA降维,设计SVM分类器对图像分类。为使操作界面更加友好,自动识别能力更强,设计了GUI界面。

读取ORL人脸库中400张照片,得到训练矩阵和测试矩阵。由于矩阵太大,此处只给出训练矩阵的1-5行1-10列的子式。

4 总结

本文结合PCA与SVM的特点,重点研究人脸预处理、人脸特征提取和人脸识别三大内容,提出用于人脸识别的PCA-SVM方法。PCA算法将原始图像投影到特征空间中,去掉了图像大量的冗余信息,同时保留了图像的有用信息。该算法既实现了PCA算法的特征压缩和提取,又用SVM训练多个分类器解决多分类器问题,与传统方法相比识别率较高。我们通过大量的实验,证明了其识别率较高的识别效果,可以满足实时性、跨年龄的要求。

本文创新点在于PCA算法可有效降低人脸图像样本的维数,简化分类计算率。方差贡献率高达90%时,由主成分向量重构的特征脸与原始的重构特征脸相比区别很小。自动识别算法设计成了友好的GUI人机交互界面,使得操作简便,基本实现自动化,方法可行高效。但人脸识别系统的各种环境复杂多变,比如对于光照的影响本文未曾考虑到,因此,在人脸识别领域,证明消除不同光线下以及强光的照射对人脸识别有怎样对影响仍是一个重要对研究问题。

参考文献(References):

[1] Rangsee P, Raja K B, Venugopal K R. Modified LocalTernary Pattern Based Face Recognition Using SVM[C]//2018 International Conference on Intelligent Informatics and Biomedical Sciences (ICIIBMS),2018.

[2] Zhang S, Zhang S, Wang B, et al. Machine Learning and Deep Learning Algorithms for Bearing Fault Diagnostics-A Comprehensive Review[J],2019.

[3] 李懿,刘晓东.一种新的模糊稀疏表示人脸识别算法[J].大连理工大学学报,2017.57(2):189-194

[4] 黄廷祝,钟守铭,李正良.矩阵理论[M].高等教育出版社,2003.

[5] 韩枫,李晓玲,孙秀雯等.智慧城市公共信息服务交互系统设计与实现[J].系统仿真学报,2018.30(5):277-283

[6] 田大东.支持向量机学习算法研究[D].苏州大学,2009.

[7] 孙大瑞,吴乐南.基于非线性特征提取和SVM的人脸识别算法[J].电子与信息学报,2004.26(2):307-311