《基于fisherfaces的人脸识别算法实现大学论文.doc》由会员分享,可在线阅读,更多相关《基于fisherfaces的人脸识别算法实现大学论文.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河北农业大学本科毕业论文(设计) 题目:基于Fisherfaces的人脸识别算法实现摘 要 人脸识别由于在身份认证、视觉监控以及人机接口等方面有着广泛的应用前景,从而成为目前模式识别和计算机视觉领域的一大研究热点。人脸识别涵盖了图像处理、模式识别、神经网络、计算机视觉、生理学以及数学等诸多学科,是一项非常综合的技术,它的应用正随着社会的进步与日俱增。人脸识别是生物测定学研究的内容之一, 是模式识别领域中的一个前沿课题。目前, 人脸识别逐渐成为模式识别和人工智能领域的一个研究热点。但由于复杂的光照条件下, 多变的人脸表情以及姿态的变化都增加了人脸自动识别的难度, 尽管人脸识别已经取得了较大的发展
2、, 但离实际应用仍有较大差距。作为一种经典的模式识别问题, 计算机人脸识别的成功离不开合理的特征提取和有效的分类器设计策略。在人脸识别及其他模式识别领域中,特征提取是一个非常有意义的研究方向。到目前为止,有很多相应的算法应用到人脸识别领域,其中比较著名是基于Fisher线性鉴别准则的Fisherface方法、LDA算法PCA算法。本文基于MATLAB的人脸识别环境,设计并实现了一个基于Fisherfaces的人脸识别算法实现系统,展示如何通过利用MATLAB 的工具函数和多种算法实现对人脸识别的各种处理。论述了利用设计的系统实现人脸识别进行打开、操作、保存、另存、打印、退出等功能操作。关键字人
3、脸识别;Fisherface;MATLABAbstractFace recognition has a wide range of applications due in authentication, visual surveillance , and human-machine interface, thus become a major research focus of pattern recognition and computer vision . Face covers image processing, pattern recognition, neural networks,
4、 computer vision, physiology and mathematics , and many other disciplines, is a very comprehensive technology, its applications are increasing with the progress of society . Face recognition is one of the elements of biometrics research in the field of pattern recognition is a leading subject . Curr
5、ently , face recognition is becoming a hot topic in the field of pattern recognition and artificial intelligence . However, due to the complex lighting conditions , facial expressions and posture change changing face have increased the difficulty of automatic face recognition , face recognition desp
6、ite great progress has been made , but there is still a large gap from practical application . As a classic pattern recognition problems , inseparable from the success of a reasonable feature extraction and face recognition classifier design effective strategies .In face recognition and other patter
7、n recognition , the feature extraction is a very interesting research direction . So far , there are many appropriate algorithm is applied to face recognition , which is based on the more famous Fisher linear discriminant criterion Fisherface method , LDA algorithm PCA algorithm. Face Recognition Ba
8、sed on MATLAB environment , design and implement a face recognition algorithm based on the realization of the system Fisherfaces demonstrate how various treatments for face recognition function through tools and a variety of algorithms using MATLAB s . Discusses the use of face recognition systems d
9、esigned be open , operate , save, save , print, exit and other functions.KeywordFace recognition ; Fisherface; MATLAB目录第一章 绪论11.1 人脸识别的历史和发展11.2 MATLAB的功能介绍4第二章 人脸识别算法的介绍52.1 人脸识别算法分类52.2几种常用的算法52.2.1基于几何特征的人脸识别算法52.2.2基于特征子空间(特征脸)算法5第三章PCA算法63.1 PCA降维63.1.1提取训练集图像T的平均值(平均人脸)63.1.2计算构造矩阵L73.1.3计算出协方
10、差矩阵C并计算其特征向量(主成分脸)83.2 PCA重构图像8第四章 Fisherfaces算法94.1 Fisher线性判别分析的基本原理94.2 LDA算法人脸识别系统的应用134.2.1 导入系统训练样本集和测试样本集134.2.2 Fisher最优判别向量的计算134.2.3 将测试样本与各类训练样本投影到特征子空间154.3 分类识别164.4 实验结果分析16第五章实验部分185.1提取训练值185.2实验结果21致谢24参考文献:251第一章 绪论1.1 人脸识别的历史和发展人脸识别的研究历史比较悠久。高尔顿(Galton)早在1888年和1910年就分别在Nature杂志发表了
11、两篇关于利用人脸进行身份识别的文章,对人类自身的人脸识别能力进行了分析。但当时还不可能涉及到人脸的自动识别问题。最早的AFR1的研究论文见于1965年陈(Chan)和布莱索(Bledsoe)在PanoramicResearchInc.发表的技术报告,至今已有四十年的历史。近年来,人脸识别研究得到了诸多研究人员的青睐,涌现出了诸多技术方法。尤其是1990年以来,人脸识别更得到了长足的发展。几乎所有知名的理工科大学和主要IT产业公司都有研究组在从事相关研究。人脸识别是一个被广泛研究着的热门问题,大量的研究论文层出不穷,在一定程度上有泛滥成“灾”之嫌。为了更好地对人脸识别研究的历史和现状进行介绍,本
12、文将AFR的研究历史按照研究内容、技术方法等方面的特点大体划分为三个时间阶段,如表1所示。该表格概括了人脸识别研究的发展简史及其每个历史阶段代表性的研究工作及其技术特点。下面对三个阶段的研究进展情况作简单介绍。第一阶段(1964年1990年)这一阶段人脸识别通常只是作为一个一般性的模式识别问题来研究,所采用的主要技术方案是基于人脸几何结构特征(Geometricfeaturebased)的方法。这集中体现在人们对于剪影(Profile)的研究上,人们对面部剪影曲线的结构特征提取与分析方面进行了大量研究。人工神经网络也一度曾经被研究人员用于人脸识别问题中。较早从AFR研究的研究人员除了布莱索(B
13、ledsoe)外还有戈登斯泰因(Goldstein)、哈蒙(Harmon以及金出武雄(Kanade Takeo)等。金出武雄于1973年在京都大学完成了第一篇AFR方面的博士论文,直到现在,作为卡内基-梅隆大学(CMU)机器人研究院的一名教授,仍然是人脸识别领域的活跃人物之一。他所在的研究组也是人脸识别领域的一支重要力量。总体而言,这一阶段是人脸识别研究的初级阶段,非常重要的成果不是很多,也基本没有获得实际应用。第二阶段(1991年1997年)这一阶段尽管时间相对短暂,但却是人脸识别研究的高潮期,可谓硕果累累:不但诞生了若干代表性的人脸识别算法,美国军方还组织了著名的FERET人脸识别算法测试
14、,并出现了若干商业化运作的人脸识别系统,比如最为著名的Visionics(现为Identix)的FaceIt系统。美国麻省理工学院(MIT)媒体实验室的特克(Turk)和潘特(Pentland)提出的“特征脸”方法无疑是这一时期内最负盛名的人脸识别方法。其后的很多人脸识别技术都或多或少与特征脸有关系,现在特征脸已经与归一化的协相关量方法一道成为人脸识别的性能测试基准算法。这一时期的另一个重要工作是麻省理工学院人工智能实验室的布鲁内里(Brunelli)和波奥Poggio)于1992年左右做的一个对比实验,他们对比了基于结构特征的方法与基于模板匹配的方法的识别性能,并给出了一个比较确定的结论:模
15、板匹配的方法优于基于特征的方法。这一导向性的结论与特征脸共同作用,基本中止了纯粹的基于结构特征的人脸识别方法研究,并在很大程度上促进了基于表观(Appearance-based)的线性子空间建模和基于统计模式识别技术的人脸识别方法的发展,使其逐渐成为主流的人脸识别技术。贝尔胡米尔(Belhumeur)等提出Fisherface人脸识别方法是这一时期的另一重要成果。该方法首先采用主成分分析(PrincipalComponentAnalysis,PCA,亦即特征脸)对图像表观特征进行降维。在此基础上,采用线性判别分析(LinearDiscriminantAnalysis,LDA)的方法变换降维后的
16、主成分以期获得“尽量大的类间散度和尽量小的类内散度”。该方法目前仍然是主流的人脸识别方法之一,产生了很多不同的变种,比如零空间法、子空间判别模型、增强判别模型、直接的LDA判别方法以及近期的一些基于核学习的改进策略。麻省理工学院的马哈丹(Moghaddam)则在特征脸的基础上,提出了基于双子空间进行贝叶斯概率估计的人脸识别方法。该方法通过“作差法”,人脸图像对的相似度计算问题转换为一个两类(类内差和类间差)分类问题,类内差和类间差数据都要首先通过主成分分析(PCA)技术进行降维,计算两个类别的类条件概率密度,最后通过贝叶斯决策(最大似然或者最大后验概率)的方法来进行人脸识别.脸识别中的另一种重
17、要方法弹性图匹配(ElasticGraphMatching,EGM)也是在这一阶段提出的。其基本思想是用一个属性图来描述人脸:属性图的顶点代表面部关键特征点,其属性为相应特征点处的多分辨率、多方向局部特征Gabor变换12特征,称为Jet;边的属性则为不同特征点之间的几何关系。对任意输入人脸图像,弹性图匹配通过一种优化搜索策略来定位预先定义的干面部关键特征点,同时提取它们的Jet特征,得到输入图像的属性图。最后通过计算其与已知人脸属性图的相似度来完成识别过程。该方法的优点是既保留了面部的全局结构特征,也对人脸的关键局部特征进行了建模。近来还出现了一些对该方法的扩展。局部特征分析技术是由洛克菲勒
18、大学(RockefellerUniversity)的艾提克(Atick)等人提出的。LFA在本质上是一种基于统计的低维对象描述方法,与只能提取全局特征而且不能保留局部拓扑结构的PCA相比,LFA在全局PCA描述的基础上提取的特征是局部的,并能够同时保留全局拓扑信息,从而具有更佳的描述和判别能力。LFA技术已商业化为著名的FaceIt系统,因此后期没有发表新的学术进展。由美国国防部反毒品技术发展计划办公室资助的FERET项目无疑是该阶段内的一个至关重要的事件。FERET项目的目标是要开发能够为安全、情报和执法部门使用的AFR技术。该项目包括三部分内容:资助若干项人脸识别研究、创建FERET人脸图
19、像数据库、组织FERET人脸识别性能评测。该项目分别于1994年,1995年1996年组织了3次人脸识别评测,几种最知名的人脸识别算法都参加了测试,极大地促进了这些算法的改进和实用化。该测试的另一个重要贡献是给出了人脸识别的进一步发展方向:光照、姿态等非理想采集条件下的人脸识别问题逐渐成为热点的研究方向。柔性模型(FlexibleModels)包括主动形状模型(ASM)和主动表观模型(AAM)是这一时期内在人脸建模方面的一个重要贡献。ASM/AAM将人脸描述为2D形状和纹理两个分离的部分,分别用统计的方法进行建模(PCA),然然后再进一步通过PCA将二者融合起来对人脸进行统计建模。柔性模型具有
20、良好的人脸合成能力,可以采用基于合成的图像分析技术来对人脸图像进行特征提取与建模。柔性模型目前已被广泛用于人脸特征对准(FaceAlignment)和识别中,并出现了很多的改进模型。总体而言,这一阶段的人脸识别技术发展非常迅速,所提出的算法在较理想图像采集条件、对象配合、中小规模正面人脸数据库上达到了非常好的性能,也因此出现了若干知名的人脸识别商业公司。从技术方案上看,2D人脸图像线性子空间判别分析、统计表观模型、统计模式识别方法是这一阶段内的主流技术。第三阶段(1998年现在)FERET96人脸识别算法评估表明:主流的人脸识别技术对光照、姿态等由于非理想采集条件或者对象不配合造成的变化鲁棒性
21、比较差。因此,光照、姿态问题逐渐成为研究热点。与此同时,人脸识别的商业系统进一步发展。为此,美国军方在FERET测试的基础上分别于2000年和2002年组织了两次商业系统评测。基奥盖蒂斯(Georghiades)等人提出的基于光照锥(IlluminationCones)模型的多姿态、多光照条件人脸识别方法是这一时期的重要成果之一,他们证明了一个重要结论:同一人脸在同一视角、不同光照条件下的所有图像在图像空间中形成一个凸锥即光照锥。为了能够从少量未知光照条件的人脸图像中计算光照锥,他们还对传统的光度立体视觉方法进行了扩展,能够在朗博模型、凸表面和远点光源假设条件下,根据未知光照条件的7幅同一视点
22、图像恢复物体的3D形状和表面点的表面反射系数(传统光度立体视觉能够根据给的3幅已知光照条件的图像恢复物体表面的法向量方向),从而可以容易地合成该视角下任意光照条件的图像,完成光照锥的计算。识别则通过计算输入图像到每个光照锥的距离来完。以支持向量机为代表的统计学习理论也在这一时期内被应用到了人脸识别与确认中来。支持向量机是一个两类分类器,而人脸识别则是一个多类问题。通常有三种策略解决这个问题,即:类内亦称窗口傅里叶变换或短时傅里叶(ShortTimeFourierTransformation,STFT),1946年Gabor提出。差/类间差法、一对多法(one-to-rest)和一对一法(one
23、-to-one)。布兰兹(Blanz)和维特(Vetter)等提出的基于3D变形(3D MorphableModel)模型的多姿态、多光照条件人脸图像分析与识别方法是这一阶段内一项开创性的工作。该方法在本质上属于基于合成的分析技术,其主要贡献在于它在3D形状和纹理统计变形模型(类似于2D时的AAM)的基础上,同时还采用图形学模拟的方法对图像采集过程的透视投影和光照模型参数进行建模,从而可以使得人脸形状和纹理等人脸内部属性与摄像机配置、光照情况等外部参数完全分开,更加有利于人脸图像的分析与识别。Blanz的实验表明,该方法在CMU-PIE(多姿态、光照和表情)人脸库和FERET多姿态人脸库上都达
24、到了相当高的识别率,证明了该方法的有效性。 2001年的国际计算机视觉大会(ICCV)上,康柏研究院的研究员维奥拉(Viola)和琼斯(Jones)展示了他们的一个基于简单矩形特征和AdaBoost的实时人脸检测系统,在CIF格式上检测准正面人脸的速度达到了每秒15帧以上。该方法的主要贡献包括:1)用可以快速计算的简单矩形特征作为人脸图像特征;2)基于AdaBoost将大量弱分类器进行组合形成强分类器的学习方法;3)采用了级联(Cascade)技术提高检测速度。目前,基于这种人脸/非人脸学习的策略已经能够实现准实时的多姿态人脸检测与跟踪。这为后端的人脸识别提沙苏哈(Shashua)等于2001
25、年提出了一种基于商图像13的人脸图像识别与绘制技术。该技术是一种基于特定对象类图像集合学习的绘制技术,能够根据训练集合中的少量不同光照的图像,合成任意输入人脸图像在各种光照条件下的合成图像。基于此,沙苏哈等还给出了对各种光照条件不变的人脸签名(Signature)图像的定义,可以用于光照不变的人脸识别,实验表明了其有效性。巴斯里(Basri)和雅各布(Jacobs)则利用球面谐波(SphericalHarmonics)表示光照、用卷积过程描述朗博反射的方法解析地证明了一个重要的结论:由任意远点光源获得的所有朗博反射函数的集合形成一个线性子空间。这意味着一个凸的朗博表面物体在各种光照条件下的图像
26、集合可以用一个低维的线性子空间来近似。这不仅与先前的光照统计建模方法的经验实验结果相吻合,更进一步从理论上促进了线性子空间对象识别方法的发展。而且,这使得用凸优化方法来强制光照函数非负成为可能,为光照问题的解决提供了重要思路。1.2 MATLAB的功能介绍MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB应用非常之广泛!MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。由美国mathworks公司发布的主要面
27、对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为
28、一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。第二章 人脸识别算法的介绍2.1 人脸识别算法分类生物特征鉴别技术是利用人体生物特征进行身份认证的一种技术,具有安全可靠、特征唯一、不易伪造、不可窃取等优点。在不同的生物识别方法中,人脸识别有其自身特殊的优势,例如,非侵扰性;采集设备简单,使用快捷;通过人人脸识别符合人类的习惯,正是由于这些良好的特性,人脸识别的相关研究越来越受到人们的重视,并取得了很好的成果。随着人脸识别技术的飞速发展,它被越来越多的应用于海关监控、企业安
29、全与管理、刑侦等领域。人脸识别按照信息的来源可以分为两类:基于静态人脸识别和基于动态的信息识别。对于动态识别研究的相关技术还比较欠缺,本文只对静态人脸识别的相关算法进行阐述。静态人脸识别系统主要有三个步骤:人脸的检测和定位、人脸的特征提取和人脸识别,在这些步骤之前还应有预处理这一步,即对采集到的图像先进行预处理以达到位置校准和灰度归一的目的然后寻找人脸,如果有则确定人脸的位置并提取人脸,然后提取人脸特征,最后根据提取的特征进行识别。下面对人脸识别中的常用算法进行介绍。2.2几种常用的算法2.2.1基于几何特征的人脸识别算法这类识别方法将人脸用个几何特征矢量来表示,用模式识别中的层次聚类的思想设
30、计分类器达到识别的目的,常采用的儿何特征有眼睛、鼻子、眉毛、嘴等重要的局部特征,脸型特征及五官在脸上分布的几何特征。识别所用的兀莉特征是以人脸器官的形状和儿何关系为基础的特征矢量。其分量通常包括人脸指定两点间的欧式距离、曲率、角度等。在这种基于几何特征的识别中,不同持征的相似性度量主要依赖于特征矢量的眄配情况进行判决。例如,基于欧氏距离的判决。基于几何特征的识别方法的优点有:符合人类的习惯,易于理解;对光照变化不是很敏感,具有一定的抗干扰能力。存在的问题:从图像中抽取稳定的特征比较蝌难,肖有遮挡时会出现误提取;当面部表情变化很大,或者姿态变化很大时,鲁棒性较差;几何特征模型的准则过于简单,一般
31、的儿何特征只描述了器官的基本形状与结构关系,忽略了细节特征,会使部分信息丢失。2.2.2基于特征子空间(特征脸)算法人脸识别算法特征脸方法是人脸识别技术中的一种典型方法,又称为主成分分析法(PCA)。SIROV ICH和KIRBY首先采用PCA算法来表示人脸。它根据一组人脸训练样本构造主特征向量空间,即特征子空间(特征脸),这特特征向最是由图像的生成矩阵的主特征值所对应的特征向量组成,这些主特征向量所占的是总能量的90(一般取这个数)以上。其余的小能量向量被剔除。生成矩阵可以是图像的协方差矩阵、总类内离散度矩阵等等。这个子空间降维的,维数比原数据空间要小得多,任何一幅待识别人脸图像都可以向此特
32、征空间投影并获得组坐标系数,这组系数表明了该图像在子空间中的位置。从而可以作为人脸识别的依据。任何幅人脸图像都可以表示为这组特征向量的线性组合。其加权系数(图像向空间投影得到的系数)称为该图像的代数特征。识别的时候,将待识别的图像投影到这个特征子空间,将得到的投影系数与各个已知人脸图像的系数进行比较,通过一定的准则,例如k一近邻法,取未知样本的k个近邻,看这k个近邻中多数属于哪一类,就把待识别的图像归人哪一类。特征脸方法比段简单易懂,得到了广泛的使用,但单独使用的计算量较大,所以PCA经常与其它方法配合使用,例如小波变换与PCA的结合,使PCA的降维效果得到改善。 第三章PCA算法3.1 PC
33、A降维3.1.1提取训练集图像T的平均值(平均人脸)公式: 在matlab中的代码为:m_database = mean(T,2); %获得训练集的平均值(平均人脸)其中T是训练集图像矩阵m_database就是我们得到的平均脸了。可以执行一下代码显示平均人脸:tmimg=uint8(m_database); img=reshape(tmimg,180,200); %转换成图片显示格式figure(1);imshow(img); %显示平均脸title(Mean Image,fontsize,18) %设计平均脸窗口的标题这就是平均人脸m_database。平均人脸代表着什么,所谓的平均人脸就
34、是说,训练集图像里的人脸平均都是这样的,可以说大家长得基本上如上图,都是人。3.1.2计算构造矩阵L所谓的PCA就是通过线性变换找到新的一组基,然后把样本数据(人脸数据)投影到这组基上,这组基就是我们要找的协方差矩阵C的特征向量V。当然,为什么非要找协方差矩阵呢?这里是根据最小平方误差理论得出的结论,就是要找到协方差矩阵C的特征向量V,协方差矩阵C公式: 令,则 提醒:有没有分母M,不响应计算。根据公式: 就能求得协方差矩阵C的特征向量和特征值。可是,往往协方差矩阵C维数比较大,所以很难直接求得C的特征向量,这时候这么办,有办法求得,接下来就用到了一下原理:原理:通过小矩阵计算大矩阵的特征向量
35、。小矩阵是: 称为构造矩阵。大矩阵是: 是我们要求的协方差矩阵。它两之间的关系是: (V是L的特征向量) 和公式 一样。由推出。结论就是:只有求出构造矩阵L的特征向量V,通过A*V就得到C的特征向量。所以清楚这小节的题目为什么是计算构造矩阵L了吧,当务之急就是计算构造矩阵L,代码如下:A = T - repmat(m_database,1,P); L = A*A; 可以看到,L大小为20*20.够小的了。如果直接计算协方差矩阵C(C大小为36000*36000)实在太麻烦。到这里L计算出来了,所以接下来要计算L的特征向量V,这样A*V就是协方差矩阵C的特征向量。计算L特征向量的代码如下:V D
36、 = eig(L); 这是结果:PCA是怎么降维的?得到的V只取前10最大的特征向量代码: L_eig_vec = ; for i = 1 : P-Class_number L_eig_vec = L_eig_vec V(:,i); end结果是这就起到了降低维的作用。3.1.3计算出协方差矩阵C并计算其特征向量(主成分脸)根据上式:,这个A*V呢,V已经出来了(是构造矩阵L的特征值,但已经降维成L_eig_vec了)代码如下:V_PCA = A * L_eig_vec; 3.2 PCA重构图像现在通过式: 重建训练集图像的第一张图片,首先我们要计算出,通过公式: 然后通过(3.2-1)式计算
37、出,就是通过特征向量重建的结果,是的近似值表示。 第四章 Fisherfaces算法 鉴别分析(Linear Discriminant Analysis, LDA),有时也称Fisher线性判别(Fisher Linear Discriminant ,FLD), 这种算法是Ronald Fisher 于 1936年发明的,是模式识别的经典算法。在1996年由Belhumeur引入模式识别和人工智能领域的。性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳
38、的可分离性。因此,它是一种有效的特征抽取方法。使用这种方法能够使投影后模式样本的类间散布矩阵最大,并且同时类内散布矩阵最小。就是说,它能够保证投影后模式样本在新的空间中有最小的类内距离和最大的类间距离,即模式在该空间中有最佳的可分离性。4.1 Fisher线性判别分析的基本原理基本思想是选择使得Fisher准则函数达到极值的向量作为最佳投影方向,从而使得样本在该方向上投影后,达到最大的类间离散度和最小的类内离散度1。可以考虑把d维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维。这在数学上总是容易办到的。然而,即使样本在d维空间里形成若干紧凑的相互分得开的集群,若把他们投影到一条任
39、意的直线上,也可能使几类样本混在一起而变得无法识别。但在一般情况下,总可以找到某个方向,使在这个方向的直线上,样本的投影能分开得最好,问题是如何根据实际情况找到这条最好的、最易于分类的投影线。这就是Fisher线性判别法所要解决的基本问题(见图1)。 图一 不同角度投影线的区别 首先,讨论从 d 维空间到一维空间的一般数学变换方法。假设有一集合包含N个d维样本x1,.,其中个属于类的样本记为子集,个属于类的样本记为。若对的分量作线性组合可得标量, 这样便得到N个一维样本组成的集合,并可分为两个子集和。从几何上看,如果|w |=1,则每个就是相对应到方向为w的线上的投影。实际上,w的绝对值是无关
40、紧要的,它仅使乘上一个比例因子,重要的是选择w的方向。w的方向不同,将使样本投影后的可分离程度不同,从而直接影响识别效果。因此,前述所谓寻找最好投影方向的问题,在数学上就是寻找最好的变换w*的问题。在定义Fisher判别准则之前,先定义几个必要的基本参量。假设有一组属于两个类的n个d维样本,其中前个样本属于类 ,后面个样本属于类,均服从同协方差矩阵的高斯分布。各类样本均值向量(i=1,2)如式(4.1-2): 样本类内离散度矩阵和总的类内离散度矩阵如式(4.1-3)、式(4.1-4): t样本类间离散度矩阵如式(4.1-5): 现寻找一最佳超平面将两类分开,则只需将所有样本投影到此超平面的法线
41、方向上,|w|=1: 得到n个标量,,R,这n个标量相应的属于集合和,并且和能很好的分开。为了能找到这样的能达到最好分类效果的投影方向w,Fisher规定了一个准则函数:要求选择的投影方向W能使降维后和两类具有最大的类间距离与类内距离比: 其中类间距离用两类均值和之间的距离表示,类内距离用每类样本距其类均值距离的和表示,在式中为。其中(i=1,2)为降维后各类样本均值: (i=1,2)为降维后每类样本类内离散度,+为总的类内离散度: =+ 类间离散度表示为。但式(4.1-10)Fisher准则函数并不是w的显示函数,无法根据此准则求解W,因此需要对Fisher准则函数形式进行修改:因 i=1,
42、n ,则 同样(i=1,2)也可推出与w的关系: 因此 则最终表示为: 根据式Fisher准则函数,要寻找一投影向量W,使最大化,则需对按变量W求导并使之为零: 则需 令,则 这是一个广义特征值问题,若非奇异,则 因此可以通过对进行特征值分解,将最大特征值对应的特征向量作为最佳投影方向W。以上Fisher准则只能用于解决两类分类问题,为了解决多类分类问题,Dudal提出了判别矢量集的概念,被称为经典的Fisher线性判别分析方法。Duda指出,对于c类问题,则需要c-1个上节的用于两类分类的Fisher线性判别函数,即需要由c-1个投影向量W组成一个投影矩阵W,将样本投影到此投影矩阵上,从而可
43、以提取c-1维的特征矢量。针对c类问题,则样本的统计特性需要推广到c类上。样本的总体均值向量: 样本的类内离散度矩阵: 样本的类间离散度矩阵: 将样本空间投影到投影矩阵W上,得到C-1维的特征矢量y: 其中,y。投影后的样本统计特性也相应的推广到c类:投影后总样本均值向量: 样本的类内离散度矩阵: 样本的类间离散度矩阵: Fisher准则也推广到c类问题: 为使Fisher准则取得最大值,类似两类分类问题,W需满足: 若非奇异,则,则W的每一列为的前c-1个较大特征值对应的特征向量。4.2 LDA算法人脸识别系统的应用 利用MATLAB语言实现了基于LDA算法的人脸识别系统,其基本过程包括:导入系统训练样本集和测试样本集、Fisher最优判别向量的计算、将测试样本与各类训练样本投影到特征子空间,以及分类识别。4.2.1 导入系统训练样本集和测试样本集实验采用的是英国剑桥大学Olivetti研究所制作的ORL(Olivetti Research Laboratory)人脸数据库。该数据库包括40个不同人、每人10幅图像,一共400幅。每幅原始图像256个灰度级,分辨率为11292。ORL人脸图像是在不同时间、不同视角、各种表情(闭眼/睁眼、微笑/吃惊/生气/愤怒/高兴)和不同脸部细节(戴眼镜/没戴眼镜、有胡子/没胡子、不同发型)的条