《基于eigenfaces的人脸识别算法实现大学论文.doc》由会员分享,可在线阅读,更多相关《基于eigenfaces的人脸识别算法实现大学论文.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河北农业大学 本科毕业论文(设计)题 目: 基于Eigenfaces的人脸识别算法实现 摘要随着科技的快速发展,视频监控技术在我们生活中有着越来越丰富的应用。在这些视频监控领域迫切需要一种远距离,非配合状态下的快速身份识别,以求能够快速识别所需要的人员信息,提前智能预警。人脸识别无疑是最佳的选择。可以通过人脸检测从视频监控中快速提取人脸,并与人脸数据库对比从而快速识别身份。这项技术可以广泛应用于国防,社会安全,银行电子商务,行政办公,还有家庭安全防务等多领域。本文按照完整人脸识别流程来分析基于PCA(Principal Component Analysis)的人脸识别算法实现的性能。首先使用常
2、用的人脸图像的获取方法获取人脸图像。本文为了更好的分析基于PCA人脸识别系统的性能选用了ORL人脸数据库。然后对人脸数据库的图像进行了简单的预处理。由于ORL人脸图像质量较好,所以本文中只使用灰度处理。接着使用PCA提取人脸特征,使用奇异值分解定理计算协方差矩阵的特征值和特征向量以及使用最近邻法分类器欧几里得距离来进行人脸判别分类。关键词:人脸识别 PCA算法 奇异值分解定理 欧几里得距离ABSTRACTWith the rapid development of technology, video surveillance technology has become increasingly
3、diverse applications in our lives. In these video surveillance urgent need for a long-range, with rapid identification of non-state, in order to be able to quickly identify people the information they need, advance intelligence warning. Face recognition is undoubtedly the best choice. Face detection
4、 can quickly extract human faces from video surveillance, and contrast with the face database to quickly identify identity. This technology can be widely used in national defense, social security, bank e-commerce, administrative offices, as well as home security and defense and other areas.In accord
5、ance with the full recognition process to analyze the performance of PCA-based face recognition algorithm. The first to use the method of access to commonly used face images for face images. In order to better analysis is based on the performance of the PCA face recognition system selected ORL face
6、database. Then the image face database for a simple pretreatment. Because ORL face image quality is better, so this article uses only gray scale processing. Then use the PCA for face feature extraction using singular value decomposition theorem to calculate the covariance matrix of the eigenvalues a
7、nd eigenvectors, and use the Euclidean distance of the nearest neighbor classifier to the classification of human face discrimination.KEYWORDS: face recognition PCA algorithm SVD Euclidean distance目录摘要2ABSTRACT31 人脸识别概述51.1 人脸识别的研究概况和发展趋势51.1.1 人脸识别的研究概况51.1.2 人脸识别的发展趋势61.2 人脸识别的主要难点71.3 人脸识别的流程71.3
8、.1 人脸图像采集81.3.2 预处理81.3.3 特征提取81.4 本章小结92 人脸图像102.1 人脸图像获取102.2 人脸图像数据库102.3 人脸图像预处理112.3.1 灰度变化112.3.2 二值化122.3.3 图像锐化122.4 本章小结133 人脸识别143.1 PCA算法理论143.2 PCA人脸识别算法的实现153.2.1 K-L变换153.2.2 SVD 定理153.2.3 PCA算法163.2.4 人脸识别过程173.3 程序运行效果173.4 程序代码183.4.1 代码类关系183.4.2 代码的OpenCV相关193.4.3 关键函数代码193.5 本章小结
9、23结论24致谢25参考文献26251 人脸识别概述1.1 人脸识别的研究概况和发展趋势1.1.1 人脸识别的研究概况人脸识别的研究开始于上世纪七十年代,当时的研究主要是基于人脸外部轮廓的方法。到现在为止,人脸识别主要经历了三个阶段的发展。对于人脸识别的研究历史可分为三个阶段:第一阶段(1964-1990)这个阶段主要采取的技术是基于人脸几何结构的。研究的重点主要在剪影上。研究人员做了大量关于如何提取面部剪影曲线的结构特征的研究。这个阶段属于人脸识别的初级阶段,突出的研究成果不多,也没有获得的实际应用。第二阶段(1991-1997)这个阶段虽然时间相对较短,但是硕果累累,出现了若干具有代表性的
10、算法和几个商业化的人脸识别系统,如Identix(原为Visionics)公司的FaceIt系统。这个时期最具盛名的人脸识别方法是MIT媒体实验室的Turk和Pentland提出的的“特征脸”方法。后来很多人脸识别技术都与特征脸有关,现在特征脸已与归一化的协相关量方法一起成为了人脸识别性能测试的基准算法。这个时期的主要成果有:1992年左右,Brunelli和Poggio做了一个基于结构特征的方法和基于模板匹配的方法性能对比的实验,并得出了模块匹配的方法优于基于特征的方法的结论。这个结论和特征脸的共同作用,基本上停止了纯粹基于结构特征人脸识别的研究,并且很大的促进了基于表观的线性子空间建模和基
11、于统计模式识别技术的发展,使其逐渐成为主流技术。Belhumeur等人的Fisherface方法也是此阶段一个重要的成果。该方法目前依然是主流人脸识别方法中的一种,产生了很多变种,比如子空间判别模型等。其先使用PCA即特征脸对人脸图像表现特征进行降维,并使用线性判别分析方法对降维后的主成分进行变换以获得“尽量大的类间散度和尽量小的类内散度”。弹性匹配技术为另一个重要方法。它用一个属性图来描述人脸:属性的顶点代表面部关键特征点,它的属性为相应特征点处的多分辨率,多方向局部特征Gabor变换,称为Jet;边的属性为不同特征点间的几何关系。对于输入的图像,其通过一种优化搜索策略来定位预先定位的若干面
12、部关键特征点,同时提取它们的Jet特征,得到输入人脸图像的属性图。最后通过计算其与已知人脸属性图的相似度来完成识别过程。弹性匹配方法的优点是既保留了面部的全局结构特征,也对人脸关键局部特征进行了建模。局部特征分析由Atick等提出。其在本质上是基于统计的低维对象描述方法,与PCA相比,局部特征分析在全局主成分分析的基础上提取的是局部特征。它既保留了全局拓扑信息,有提取了局部特征,使其具有了更好的描述和识别能力。局部特征分析技术已商业化为著名FaceIt系统。柔性模型,包括主动形状模型和主动外观模型。它是人脸建模方面的一个新的进步。其主要将人脸描述为2D形状和纹理两个分离的部分,分别用PCA建模
13、,然后再通过PCA将两者合成来对人脸建模。柔性模型具有良好的人脸合成能力,可以使用基于合成的图像分析技术对人脸图像进行特征提取和建模。这个阶段所提出的算法在理想图像采集条件,人员配合,中小规模正面人脸数据库上达到了非常好的性能。,也诞生几个著名的人脸识别系统。第三阶段(1998年现在)这个时期关于人脸识别的研究非常热门。有大量的研究人员从事这方面的研究。主要针对的是主流的人脸识别技术在采集条件不理想和用户不配合下鲁棒性差的问题。光照和姿态问题成为了研究焦点。这个时期主要成果有:Georghiades等人基于光照锤模型的多姿态,多光照条件人脸识别方法。Blanz和Vetter等人基于3D变形模型
14、的多姿态,多光照的人脸识别方法。Shashua等人基于上图像的人脸图像识别与绘制技术。总体而言,目前非理想成像条件下(尤其是光照和姿态),对象不配合,大规模人脸数据库上的人脸识别已逐渐成为研究的重点。而非线性建模方法,统计学习理论,基于Boosting的学习技术,基于3D模型的人脸建模与识别方法等逐渐成为备受重视的技术发展趋势。从整个人脸识别的研究历史来看,基于PCA的特征脸识别方法占据了非常重要的地位,也对后来的人脸识别技术产生甚远的影响。在后来很多的人脸识别技术,我们或多或少都会发现它的影子。人脸图像维数都很高,PCA方法不但很好表征人脸而且通过去除相关性,减少冗余,解决了在人脸识别过程中
15、图像为数过高的问题。并且随着现代社会的发展,快速人脸识别的需求越来越大。所以研究基于PCA的人脸识别算法的实现还是有实际意义。1.1.2 人脸识别的发展趋势人脸识别至今虽然取得了丰硕的研究成果,但是还有很多问题需要解决。人脸识别的难度在于:人脸是非刚性物体,并且会随着年龄的增长而改变,特征难以完全描述;人脸常常有许多遮挡物,如:眼镜,帽子等;环境的光照和人脸的姿态等。人脸识别的未来主要的发展趋势如下:1) 多数据融合与方法综合人脸识别技术经过这几十年的发展,已取得非常不错的成果。但是各种技术和方法都有自己不同的适应环境和各自的特点。如何使用数据融合理论,将不同的方法综合起来,相互补充,来取得较
16、好的人脸识别效果,便成为人们的研究热点之一。2) 动态跟踪人脸识别系统目前的静态人脸识别技术只能满足一般身份识别场合如门禁系统,考勤系统等,无法进行人脸的动态跟踪与识别。随着现在社会的发展,目前对动态人脸的跟踪与识别的需求越来越大,尤其是在一些安全领域。3) 基于小波神经网络的人脸识别小波自提出以来,其理论和应用得到了长足的发展。它被认为是傅里叶分析的突破性的发展。随着神经网络的理论研究的深入,与小波,混沌,模糊集等非线性理论相结合已成为一个非常重要的发展方向。小波变换具有时频特性和变焦特性,神经网络具有自学习,自适应,鲁棒性,容错性和推广能力。如果能结合两者的优势,将会取得人脸识别不错的效果
17、。4) 三维人脸识别 目前许多人脸识别成果是建立在二维人脸基础上的,而实际的人脸是三维的。三维人脸相比较于二维图像提供了更加完整的人脸信息。随着现在三维人脸采集技术的逐步发展,如何利用三维人脸进行人脸识别已成为一个新的研究热点。5) 适应各种复杂背景的人脸分割技术现在在复杂背景下的人脸分割已经取得了一定的成果,如弹性匹配,但检测速度和效果还无法令人满意。在复杂背景下快速有效检测和分割人脸技术还需进一步的研究。6) 全自动人脸识别技术全自动人脸识别技术目前还处于初级研究阶段,识别效果和速度离实际的要求还相差甚远。具体原因是人脸是非刚体,无法得到准确完整的描述人脸特征。如何有效的表达人脸特征将是其
18、研究的重点。1.2 人脸识别的主要难点目前的人脸识别技术在人员配合,较理想采集条件下可以取得比较满意的结果。但在人员不配合,采集条件不理想下,系统的性能陡然下降。目前的主要的难点为:1) 人的脸部结构相似,甚至人的五官结构、脸部纹理和外形都很相似。由于不同个体之间的区别不大,这样的特点对于检测人脸的存在有利,但是对用人脸区分人的身份不利。2) 人可以通过脸部变化产生丰富的表情,同时通过不同的视角观察人脸,其视觉图像差别很大,甚至会出现同一个人在不同情况下的脸内差异大于不同人脸之间的脸间差异,因此人脸的外部形态很不稳定给识别带来很大的困难。3) 背景的变化及复杂程度在很大程度上会影响人脸检测的准
19、确度,例如将人脸判断为非人脸或将非人脸误判为人脸等。而视频监控系统往往设置在背景较复杂的场所,所以解决背景干扰问题成为一个重要问题,同时也是一个难点问题。4) 视频监控区域往往出现一个以上的人脸,如何将所有人脸都准确地进行定位是一个比较困难的地方。5) 与姿势和观察角度的变化相似不同的光照条件也会造成识别的困难。即使是同一个人,在相同的表情和视角情况下,人脸的区别也很大。6) 人脸遮挡物的不同,同样会给识别带来很大的难度。而且,同一个人随着年龄的变化,人脸特色会出现很大的不同,因此会出现采集到的人脸与人脸库中的同一个人的人脸差异很大。其中第一类的变化是个体间的变化,称之为类间变化:第二类变化是
20、同一个 体间不同情况下的变化,称之为类内变化。很多情况下,类内变化甚至会大于类 间变化,从而使受类内变化干扰情况下的人脸识别准确率大大降低。1.3 人脸识别的流程图1-1 人脸识别流程图1.3.1 人脸图像采集采集人脸图像是通过传感器采集人脸图像,并将其转换为计算机可以处理的数字信号。这是人脸识别的第一步。在采集人脸图像时,要注意用户人脸姿态,脸部有无遮挡,周围光照是否满足要求及设备采集图像的质量是否能满足要求。1.3.2 预处理预处理是为了除去噪声和对测量仪器或其他因素对人脸图像造成退化现象进行复原。从传感器采集到图像除了包含人脸特征信息,还包含背景信息,所以必须从原始人脸图像分割出我们要处
21、理的部分。如何分割就需要定位和分割算法。他们一般以人脸图像在图像结构和人脸信号分布的先验知识为依据。常用的人脸预处理有人脸图像灰度化,人脸图像二值化,人脸图像归一化,直方图修正,图像滤波和图像锐化。1.3.3 特征提取特征提取就是计算机通过提取人脸图像中能够凸显个性化差异的的本质特征,进而来实现身份识别。本文讲解如何使用PCA算法提取人脸特征,进而实现人脸识别。特征主要包括三种类型:物理特征,结构特征和数学特征。由于物理特征和结构特征容易被察觉,触觉以及其他感觉器官所感知,所以人类常常是利用这些特征来对对象进行识别。对于计算机而言,模拟人类的感觉器官是很难实现的,但计算机在处理数学特征的能力上
22、要比人类强得多,因此我们通过诸如协方差矩阵,统计平均值和相关系数等数学特征来构建人脸识别系统。特征提取和选择的根本任务就是从许多特征中找出那些最有效的特征。在样本数不是很多的情况下,可以利用这些特征进行分类器的设计,但是在大多数情况下,由于测量空间的维数很高,不能直接进行分类器的设计。因此,如何把高维测量空间压缩到低维特征空间,以便有效的设计分类器,便成为了一个值得思考的问题。为了获得有效的特征,一般需要经过特征形成,特征提取和特征选择等步骤。1)特征形成特征形成是根据被识别对象产生出一组基本特征的过程,当被识别的对象是波形或数字图像时,这些特征可以通过计算得来;当被识别对象是实物或某种过程时
23、,这些特征可以用仪表或传感器测量来得到。通过上面方法获得特征被称为原始特征。2)特征提取原始数据组成的空间被称为测量空间。由于测量空间的维数一般都很高,不易设计分类器,所以在分类器设计之前,需要从测量空间变换到维数很少的特征空间,由特征向量表示。通过映射或变换方法用低纬空间来表示样本的过程被称为特征提取。映射后的特征称为二次特征,它们是原始特征的某种组合,通常是线性组合。3)特征选择从一组特征中挑出一些最有效的特征从而达到降低特征空间维数目的的过程称为特征选择。由于在许多实际问题中常常不容易找到那些最重要的特征,或者由于条件限制而不能对这些重要特征进行测量。从而使得特征选择和特征提取的任务复杂
24、化。特征提取和特征选择在有些情况下并不是截然分开的,因为从一定意义上来讲,二者都是要达到对数据进行降维的目的,只是实现的途径不同。特征提取是通过某种变换的方法组合原有的高维特征,从而得到一组低维的特征。而特征选择是根据专家的检验知识或评价准则来挑选对分类最有影响的特征。比如可以先将原始特征空间映射到维数较低的空间,在这个空间中在进一步选择特征来进一步降低维度;也可以先去除那些明显不含有分类信息的特征,而后再进行映射以降低维度。4)特征匹配特征匹配是计算两个人脸图像特征样本的特征模块间的相似度即将采集到的人脸图像的特征模版与系统中已存储的特征模版进行比对,并输出最佳匹配对象。在本文主要讲解使用最
25、近邻法分类器欧几里得距离来判别人脸图像,在实际广泛使用的还有基于SVM即支持向量机,基于神经网络和图匹配的方法。1.4 本章小结本章由人脸识别的研究概况和发展趋势,人脸识别技术的主要难点,和人脸识别流程三个小节构成。在人脸识别的研究概况和发展趋势小节主要讲解人脸识别的研究概况及基于PCA人脸识别算法实现的研究意义还有人脸识别技术未来的走向。在人脸识别技术的主要难点小节主要讲解人脸识别的主要技术难点。人脸识别小节讲解本文人脸识别的流程。2 人脸图像2.1 人脸图像获取着计算机科技和微电子的发展,现在人脸图像采集设备也越来越多。常用的采集设备有数码相机,数码摄影机等。但是采集设备成像原理各异,有些
26、设备对某类人脸图像的采集效果比较好,进而人脸识别率高,对不同类的人脸图像采集效果差,进而人脸识别率低。不过随着现在科技的发展,这个问题已基本上被解决。另外,人脸图像采集的形式不同也会影响识别率。人脸图像的采集形式主要有两种:一为静态人脸图像,二位动态人脸图像。静态人脸图像的采集相对比较简单,用数码相机即可获取。动态人脸图像相比静态人脸图像获取难度较大,但其更加贴近实际需求,应用场合更加广阔。2.2 人脸图像数据库人脸数据库是人脸识别研究,开发和评测不可缺少的。每个人脸识别系统都需要一个人脸数据库。人脸图像数据库的设计对人脸识别系统的识别率有着非常大影响。设计一个在所有变化情况下都能正确识别的系
27、统是非常困难的,而且也没有必要。所有人脸识别系统都是在一定的约束条件进行的。所以有必要建立满足不同需要的人脸数据库。常用人脸数据库如下:国外人脸数据库的有FERET人脸数据库, MIT人脸数据库,YALE人脸数据库,PIE人脸数据库,ORL人脸数据库,AR人脸数据库和Essex人脸数据库。FERET人脸数据库是人脸识别中最常用的数据库,包含多姿态和多光照的人脸灰度图像,但其多为西方人脸图像,每个人的人脸图像变化较少。MIT人脸数据库有麻省理工大学媒体实验室建立,由16位志愿者的2592副多姿态,多光照和不同大小的图像组成。PIE人脸数据库有卡内基梅隆大学建立,由68位志愿者的41368副不同姿
28、态,多光照和不同表情的图像组成。ORL人脸数据库由剑桥大学AT&T实验室建立由40位志愿者的400幅图像组成,其中部分志愿者的图像还有姿态,表情和光照的变化。由于其人脸变化模式较少,现已很少使用。AR人脸数据库为西班牙巴塞罗那计算机视觉中心建立,由116人的3228幅图像构成。采集是在严格控制摄像机参数,光照变化,摄像机距离等条件下进行的。Essex人脸数据库是英国埃塞克斯大学的人脸数据库。任何人都可以下载它的人脸数据库,但是你不能发布,打印,销售或发行这些图像。这个人脸数据库由Libor Speacek博士主持的计算机视觉研究项目在维护。这个数据库由faces94,faces95,faces
29、96,grimace四个库组成。这样做的目的是为了增加难度。Faces96和grimace是这个数据库最难识别的。它们的背景和比例是变化的,人脸表情是极度变化的。英国埃塞克斯大学计算机视觉研究项目鼓励研究者公布使用这个数据库取得人脸识别结果。我们在本文采用的是它的face94数据库。faces94数据库中人脸图像是在受试者坐在距离相机固定位置,并要求讲话的情况下采集而成。讲话的目的是为了采集面部表情的变化。每个图像的大小为180*200,图像的背景是蓝色的。有轻微的姿态变换,无光照变换。国内人脸数据库有中科院计算技术研究所银晨科技面向识别联合实验室建立的CASPEAL人脸数据库。该数据库是基于
30、目前的人脸数据库大多都较小或图像变化因素单一,人脸图像的多为西方人,其面部特征与东方人存在一定的差别,需要建立一个大规模,多因素的东方人脸数据库的需求建立的,共采集了1040位志愿者(595名男性,445名女性)的99450幅图像。该数据库根据不同的变化因素又分为7种模式子库。这7种变化因素为姿态,表情,饰物,光照,背景,距离和时间跨度,其中以姿态,表情,饰物和光照为主,故称为PEAL(pose,expression,accessory和lighting的简写)。CASEPEALR1为CASEPEAL的共享版,可以提供给研究人员用以研究使用。其中研究人员指的是研究生导师或其他固定职位的研究员,
31、不包括学生。2.3 人脸图像预处理一般,系统采集到的原始图像都会受到各种各样的噪声的影响而失真。并且由于各种条件的限制,采集到的原始图像不能直接进行使用,必须做预处理,即消除噪声,校正失真,将图像变化为标准形式。这样才有利于稳定的进行特征提取。常用的人脸预处理有:灰度变化,二值化,图像锐化等。2.3.1 灰度变化人脸识别的研究常以灰度图像为处理对象。因为彩色图像的颜色信息常常受到复杂背景的影响。利用彩色图像进行人脸识别存在较多缺陷,而灰度图像为一种最简单有效的对比增强方法。彩色图像有红绿蓝三原色组合而成,灰度图像只含有亮度信息,并且灰度图像的亮度为连续变化的,所以灰度图像要对亮度值进行量化,为
32、0-255,共256个等级。0为全黑,255为全亮。常用的经验公式为gray=0.39*R+0.5*G+0.11*B.常用变换的方法如下:线性变换:假设图像为灰度变化范围为,变换后的图像为灰度变化范围为,则它们之间关系为 (2-1)分段线性变换:假设图像为灰度变化范围为,变换后的图像为,目标的灰度变化范围为,想使灰度变化到,则对应关系为 (2-2)非线性变换:使用非线性函数作为映射函数如对数函数,进行灰度变换。对数变换和指数变换分别为 (2-3) (2-4)其中a, b, c用来调整曲线的位置和形状。指数变换能对图像的高灰度区以较大的拉伸。对数变换可以使图像低灰度区有较大拉伸而高灰度区进行压缩
33、。对数变换可以使图像灰度分布相匹配于人的视觉特性。2.3.2 二值化二值化是通过选取适当的阀值将灰度图像的灰度值从0到255变换为只有0和255的黑白图像。在人脸识别中二值化用来把人的头发,眼睛,脸的轮廓及背影与人脸的亮域分开。在图像二值化过程中选择合适的阀值非常重要。常用的图像二值化选择方法如下:整体阀值法:在二值化时候只使用一个全局阀值t。假设图像为,灰度范围为,t为和之间选择的一个合适的灰度值,转换后的图像为,则转换关系为 (2-5)局部阀值法:它是根据当前像素的灰度值和此像素周围点局部灰度特征值来共同决定阀值。动态阀值法:它的阀值不仅和该像素和周围像素有关,还和该像素的坐标位置有关。整
34、体阀值法适合图像质量比较好的情况,此时图像在直方图一般有两个峰值。局部阀值法可以处理比较复杂的情况,但有些情况会发生失真。动态阀值法适应性和性能都比较好,实际中对于人脸识别常采用此法进行二值化。2.3.3 图像锐化图像锐化用于解决图像提取,图像传输及相关处理过程受到某些因素影响而变得模糊。图像模糊是图像遭受了平均或积分运算造成,可以通过对图像进行逆运算来使图像变得清晰。但是图像锐化存在一个前提条件,图像必须要有较高的信噪比,否则会造成信噪比更低,图像噪声增加比图像信号更多。在实际中,一般先滤除噪声后在进行图像锐化处理。常用的图像锐化方法为拉普拉斯锐化。假设拉普拉斯算子为即 (2-6)离散数字图
35、像为,其一阶偏导数为 (2-7)则其二阶偏导数为 (2-8)所以 (2-9)对于扩算现象引起的人脸图像模糊,可通过进行图像锐化,其中k为扩算效应的相关系数。k值要选择合理,若k过大,图像轮廓边缘会过冲。若k过小会导致锐化效果不明显。2.4 本章小结本小结主要介绍了常用的人脸图像采集方式,国内外常用的人脸数据库和常用的人脸预处理有:灰度变化,二值化,图像锐化。3 人脸识别3.1 PCA算法理论主成分分析(Principal Component Analysis)是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高维数据
36、投影到较低维空间。给定n个变量的m个观察值,形成一个n*m的数据矩阵,n通常比较大。对于一个由多个变量描述的复杂事物,认识难度会很大,于是我们可以抓住事物主要方面进行重点分析,如果事物的主要方面刚好体现在几个主要变量上,那么我们只需要将体现事物主要方面的较少的几个主要变量分离出来,对此进行详细分析。但是在一般情况下,我们并不能直接找出这样的关键变量。这时我们可以用原有变量的线性组合来表示事物的主要方面,PCA就是这样一种分析方法。PCA主要用于数据降维,对于由一系列特征组成的多维向量,其中某些元素本身没有区分性,比如某个元素在所有的样本中都相等,或者彼此差距不大,那么这个元素本身就没有区分性,
37、如果用它做特征来区分,贡献会非常小。所以我们的目的是找那些变化大的元素,即方差大的那些维,而去除掉那些变化不大的维,从而使特征留下的都是“精品”,使得计算量也相应变小。对于一个k维的特征来说,相当于它的每一维特征与其他维都是正交的(相当于在多维坐标系中,坐标轴都是垂直的),那么我们可以变化这些维的坐标系,从而使这个特征在某些维上方差大,而在某些维上方差很小。例如,一个45度倾斜的椭圆,在第一坐标系,如果按照x,y坐标来投影,这些点的x和y的属性很难用于区分他们,因为他们在x,y轴上坐标变化的方差都差不多,我们无法根据这个点的某个x属性或y属性来判断这个点是哪个,而如果将坐标轴旋转,以椭圆长轴为
38、x轴,则椭圆在长轴上的分布比较长,方差大,而在短轴上的分布短,方差小,所以可以考虑只保留这些点的长轴属性,来区分椭圆上的点,这样区分性比x,y轴的方法要好! 所以我们的做法就是求得一个k维特征的投影矩阵,这个投影矩阵可以将特征从高维降到低维。投影矩阵也可以叫做变换矩阵。新的低维特征必须每个维都正交,特征向量都是正交的。通过求样本矩阵的协方差矩阵,然后求出协方差矩阵的特征向量,这些特征向量就可以构成这个投影矩阵了。特征向量的选择取决于协方差矩阵的特征值的大小。经过PCA分析,一个多维变量的复杂问题被简化为低维空间的简单问题。PCA的目标是寻找r(rn)个新变量,使它们反映事物的主要特征,压缩原有
39、数据矩阵的规模。每个新变量是原有变量的线性组合,体现原有变量的综合效果,具有一定的实际含义。这r个新变量称为“主成分”,它们可以在很大程度上反映原来n个变量的影响,并且这些新变量是互不相关的,也是正交的。通过主成分分析,可以压缩数据空间,将多元数据的特征在低维空间里直观地表示出来。举一个例子:对于一个训练集,100个对象模板,特征是10维,那么我们可以建立一个10*100的矩阵作为样本。求这个样本的协方差矩阵,得到一个10*10的协方差矩阵,然后求出这个协方差矩阵的特征值和特征向量,应该有10个特征值和10个特征向量,我们根据特征值的大小,取前四个特征值所对应的特征向量,构成一个10*4(投影
40、矩阵)的矩阵,这个矩阵就是我们要求的特征矩阵,100*10的样本矩阵乘以这个10*4的特征矩阵,就得到了一个100*4的新的降维之后的样本矩阵,每个特征的维数下降了。当给定一个测试的特征集之后,比如1*10维的特征,乘以上面得到的10*4的特征矩阵,便可以得到一个1*4的特征,用这个特征去分类。所以做PCA实际上是求得这个投影矩阵,用高维的特征乘以这个投影矩阵,便可以将高维特征的维数下降到指定的维数。3.2 PCA人脸识别算法的实现3.2.1 K-L变换PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称K-L变换),是一种常用的正交变换。首先对K
41、-L变换作一个简单介绍:假设X为n维的随机变量,X可以用n个基向量的加权和来表示:X= ii (3-1)式中:i是加权系数,i是基向量,此式可以用矩阵的形式表示:X =(1 ,2,3 ,n)( 1, 2 , n)= (3-2)系数向量为:=TX (3-3)综上所述,K-L展开式的系数可用下列步骤求出:1) 求随机向量X的自相关矩阵R=EXTX,由于没有类别信息的样本集的均值向量,常常没有意义,所以也可以把数据的协方差矩阵=E(x-)(x-)T作为K-L坐标系的产生矩阵,这里是总体均值向量。2) 求出自相关矩阵或者协方差矩阵R的本征值i和本征向量i =(1 ,2,3 ,n)3) 展开式系数即为=
42、TXK-L变换的实质是建立一个新的坐标系,将一个物体主轴沿特征矢量对齐的转变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。3.2.2 SVD 定理人脸训练图像的协方差矩阵为,其中人脸训练样本为,维度为,则协方差矩阵C的维度为。这就出现问题,C的维度过高,在实际中直接计算它的特征值和特征向量非常困难。因此,本文使用SVD定理(奇异值分解定理)来解决这个问题。假设B为维秩为p的矩阵,则存在两个正交矩阵和一个对角矩阵:正交矩阵为 (3-4) (3-5)其中 (3-6) (3-7)对角矩阵为 则可以得到,而且和有共同的非零特征值
43、,和分别为和对应特征值的正交特征向量。由上述定理可以得到 (3-8)则可以由协方差矩阵,构造出矩阵,从而容易求出L的特征值和特征向量,再根据上述式可以求得协方差C的特征值和特征向量。3.2.3 PCA算法在人脸识别中PCA方法是一种基于整幅人脸图像的识别算法用于降维。一个NN的二维脸部图片可以看成是N的一个一维向量,一张11292的图片可以看成是一个10304维的向量,同时也可以看成是一个10304维空间中一点。图片映射到这个巨大的空间后,由于人脸的构造相对来说比较接近,因此,可以用一个相应的低维子空间来表示。我们把这个子空间叫做“脸空间”。PCA的主要思想就是找到能够最好地说明图片在图片空间
44、中的分布情况的那些向量。这些向量能够定义“脸空间”,每个向量的长度为N,描述一张NN的图片,并且是原始脸部图片的一个线性组合。对于一副M*N的人脸图像,将其每列相连构成一个大小为D=M*N维的列向量。D就是人脸图像的维数,也即是图像空间的维数。设n是训练样本的数目;Xj表示第j幅人脸图像形成的人脸向量,则所需样本的协方差矩阵为:Sr= (3-9)其中u为训练样本的平均图像向量:u = (3-10)令A=x1-u x2-uxn-u,则有Sr=AAT,其维数为D*D。根据K-L变换原理,需要求得的新坐标系由矩阵AAT的非零特征值所对应得特征向量组成。直接计算的计算量比较大,所以采用奇异值分解(SV
45、D)定理,通过求解ATA的特征值和特征向量来获得AAT的特征值和特征向量。依据SVD定理,令li(i=1,2,r)为矩阵ATA的r个非零特征值,vi为ATA对应于li的特征向量,则AAT的正交归一特征向量ui为:(i=1,2,r) (3-11)则特征脸空间为:w=(u1 ,u2 ur,)3.2.4 人脸识别过程人脸识别过程分为训练和测试两个阶段。在训练阶段,主要是提取数据库人脸图像的特征,并形成特征库。在测试阶段,主要是提取待识别图像的特征和计算提取的特征和特征库中特征之间的距离测度,并输出最小距离测度对应的人脸图像作为结果。具体步骤如下:(1) 训练阶段将规范化的图像矩阵A中的每一列向量投影
46、到特征子空间,形成特征库。(2) 测试阶段1. 假设测试人脸图像为Y,在人脸识别前,先对其进行标准化,即。2. 把标准化后的人脸图像向特征子空间进行投影得到向量。3. 本文使用最近领法分类器欧几里德距离进行判决分类。测试图像与每个人脸图像间的距离为 (k=1,2,P),并将最小距离对应的训练图像作为测试图像的匹配图像。3.3 程序运行效果(1) 训练的人脸数据库为下列20张人脸图像图3-1 训练人脸数据库(2) 读入待识别的人脸图像图3-2 读入带识别人脸图像(3) 输出识别结果图3-3 输出识别结果3.4 程序代码3.4.1 代码类关系图3-4 代码类关系图FacePca类主要实现PCA人脸的训练计算出人脸特征子空间FaceRec类主要实现对带识别人脸进行计算欧几里得距离进行识别MainWindow类主要实现界面和带识别人脸图像的录入3.4.2 代码的