版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章基于PCA方法的人脸识别系统建模与实现1项目概述人脸识别系统以人脸识别技术为核心, 是一项新兴的生物识别技术,是当今 国际科技领域攻关的高精尖技术。它广泛采用区域特征分析算法,融合了计算机 图像处理技术与生物统计学原理于一体,利用图像处理技术从人脸图像中提取人 像特征点,利用生物统计学的原理进行分析建立数学模型,具有广阔的发展前景。本项目通过一个简单的实例和主成分分析(principal components analysis , PCA技术来理解人脸识别的整个流程,逐步掌握化复杂问题为简单 的模块来解决实际问题,并深入浅出的领会PCA理。2人脸识别系统2.1系统框图本项目设计一套实时人
2、脸识别的系统,其中包括人脸提取和人脸识别两个子 系统,如图31所示来集图像图3 1人脸识别系统人脸提取子系统(如图3-2所示)是利用肤色识别分割找出可能的肤色区 域,然后进行感兴趣区域标定初步定位人脸,再以阈值控制得到人脸的主要部分, 最后将提取的人脸经过统一处理后传给人脸识别部分和构建特征库。人脸识别子 系统使用改进的PCM法,在提高识别效率的基础上,求出一个特征脸空间后, 将整张人脸投影到特征脸空间中,然后通过降维,秩的求取等运算构建出人脸重 向量特征库,再以欧氏距离的结果对人脸进行判断、识别。3d初 步 人 脸 定 位获得人脸A优化统一处理不符合人脸提取预义理国选控制二图32人脸提取子系
3、统2.2 PCAa 论主成分分析(principal components analysis , PCA 又称主分量分析,它 是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化。正如它的名字:主元分析,这种方法可以有效的找出数据中最“主要”的元素和结构,去 除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。它的优点是简单,而且无参数限制,可以方便的应用与各个场合。因此应用极其 广泛,从神经科学到计算机图形学都有它的用武之地。被誉为应用线形代数最具 价值的结果之一。弹簧振子模型我们将从一个简单的例子来说明 PC肥用的场合以及想法的由来,从而进行 一个比较直观的解释,
4、然后加入数学的严格推导,引入线形代数,进行问题的求 解。随后将揭示PCAf SVD(Singular Value Decomposition) 之间的联系以及如 何将之应用于真实世界,分析PCA!论模型的假设条件以及针对这些条件可能进 行的改进,最后将之应用于人脸识别中。在实验科学中我们常遇到的情况是,使用大量的变量代表可能变化的因素,3d 例如频率、电压、速度等等。但是由于实验环境和观测手段的限制,实验数据往 往变得极其的复杂、混乱和冗余的。如何对数据进行分析,取得隐藏在数据背后 的变量关系,是一个很困难的问题。在神经科学、电子信息学科中,假设的变量 个数可能非常之多,但是真正的影响因素以及
5、它们之间的关系可能又是非常之简 单。实验科学的精髓就是从大量混杂的实验数据中统计挖掘出隐藏在背后的理论 规律,再用建立起来的理论模型去指导生产实践从而大大提高生产效率。下面的模型取自一个物理学中的实验。它看上去比较简单,但足以说明问题。 如图3-3所示,这是一个理想弹簧运动规律的测定实验。假设一根无质量无摩 擦的弹簧上连接一个球并水平放置于光滑平面上,从平衡位置沿x轴拉开一定的 距离然后释放。图33简谐运动模型对一个具有先验知识的实验者来说,实验结果完全预知且实验也非常容易的 执行。球的运动只会在x轴向上发生,只需要记录下x轴上的运动序列并加以分 析即可。但是,在真实世界中,对于第一次实验的探
6、索者来说(这也是实验科学 中最常遇到的一种情况),是不可能进行这样的假设。那么,一般来说,必须记录球的三维位置(xo, yczo)。这一点可以通过在不同角度放置三个摄像机实现(如 图1所示),假设以200Hz的频率拍摄画面,就可以得到球在空间中的运动序列。 但是,由于实验的限制,这三台摄像机的角度可能比较任意,并不是正交的。事实上,在真实世界中也并没有所谓的x,y,z轴,每个摄像机都记录下有自己空 间坐标系的一幅二维图像,因此球的空间位置是由一组二维坐标(xA,yA),(xB, yB),(xc,yc)记录。经过实验,系统产生了球的位置序列。怎样从这 些数据中得到球是沿着某个 x轴运动的且符合简
7、谐运动规律呢?怎样将实验数3d 据中的冗余变量剔除,化归到这个潜在的 X轴上呢?这是一个真实的实验场景,收集数据时引入的噪音是必须面对的因素。在这个实验中噪音可能来自空气、摩擦、摄像机的误差以及非理想化的弹簧等等。 噪 音使数据变得混乱,掩盖了变量间的真实关系。如何去除噪音是实验者每天所要 面对的巨大考验。上面提出的两个问题就是PCATJ法的目标。PCATJ法是解决此类问题的一个 有力的武器。下文将结合以上的例子提出解决方案, 逐步叙述PCM法的思想和 求解过程。线形代数从线形代数的角度来看,PCA勺目标就是使用另一组基去重新描述得到的数 据空间。而新的基要能尽量揭示原数据间的关系。在这个例子
8、中,沿着 x轴上的 运动是最重要的。这个维度即最重要的“主元”。PCA勺目标就是找到这样的“主 元”,最大程度的去除冗余和噪音的干扰。标准正交基为了引入推导,需要将上文的数据进行明确的定义。 在上面描述的实验过程 中,在每一个采样时间点上,每个摄像机记录了一组二维坐标 (Xava),综合三 台摄像机数据,在每一个时间点上得到的位置数据对应于一个六维列向量。YaX xBX = B |ybXc.Yc j如果以200Hz的频率拍摄10分钟,将得到10M60M 200 = 120000个这样的向 量数据。请注意,每个摄像机的(x,Y)值的参考点是不同的,如Xa=5.2与Xb=5.2 不表示他们在沿X轴
9、上在同一位置。抽象一点来说,每一个采样点数据 X都是在m维向量空间(此例中m = 6) 内的一个向量,这里的 m是牵涉的变量个数。由线形代数知识可知在m维向量3d空间中的每一个向量都是一组正交基的线形组合。最普通的一组正交基是标准正交基,实验采样的结果通常可以看作是在标准正交基下表示的。举例来说,上例中每个摄像机记录的二维数据坐标为(xa-a),这样的基便是(1,0),(0,1)。那为 什么不取正交基(9,告入(4,)或是其他任意的正交基呢?原因是这样 的标准正交基反映了人们常用的一种数据采集方式。假设采集数据点是(2,2)(在 (1,0),(0,1)基下),一般并不会记录(2无,0)(在(?
10、,?),(二2,?)基下), 因为一般的观测者都是习惯于取摄像机的屏幕坐标,即向上和向右的方向作为观测的基准。也就是说,标准正交基表现了人们对数据观测的一般方式。在线形代数中,这组标准正交基表示为行列向量线形无关的单位矩阵。-b/l 一 1III 01基变换从更严格的数学定义上来说,PCA0答的问题是:如何寻找到另一组正交基, 它们是标准正交基的线性组合,但能最好的表示数据集?这里提到了 PCA方法的 一个最关键的假设:线性。这是一个非常强的假设条件。它使问题得到了很大程 度的简化:1)数据被限制在一个向量空间中,能被一组正交基表示;2)隐含的假设了数据的连续性。这样一来数据就可以被表示为各种
11、基的线性组合。令X表(31)示原数据集。X是一个mn的矩阵,它的每一个列向量都表示一个时间采样点 上的数据X ,在上面的例子中,m=6,n=120000。Y表示变换以后的新的数据 集表示。P是他们之间一个mm的线性转换方阵。Y = PX有如下定义:Pi表示p的行向量。为表示x的列向量(或者X )。x表示丫 的列向量。公式(3 1)表示不同基之间的转换,在线性代数中,它有如下的含义: (1) P是从X到Y的转换矩阵,几何上来说,P对X进行旋转和拉伸得到Y;3dP的行向量R,|,PmT是一组新的基,而Y是原数据X在这组新的基表示 下得到的重新表示。下面是对最后一个含义的显式说明:PlR X1 II
12、I Pi XnPX= : |lxi Xn, Y=:工 ;(3- 2) Pm j-Pm X 川 Pm XnJ注意到Y的列向量:P XiV=:=PXi(3- 3):Pm X _可见向量yi中的每一元素yj是p中的对应行Pj与向量x的点积,也就是相 当于第i时间点上数据向量为在对应向量上的投影,而X在P的所有行向量上的 投影就构成新的数据向量yi,所以p的行向量事实上就是一组新的基。它对原数 据X进行重新表示。在一些文献中,将数据 X成为“源”,而将变换后的y称为 “信号”。这是由于变换后的数据更能体现信号成分的原因。问题在线性的假设条件下,问题转化为寻找一组变换后的基,也就是P的行向量 PiJIL
13、Pm,这些向量就是PCA中所谓的“主元”。问题转化为如下的形式:(1) 怎样才能最好的表示原数据 X ? (2) P的基怎样选择才是最好的?解决问题的 关键是如何体现数据的特征。那么什么是数据的特征,如何体现呢?方差和目标“最好的表示”是什么意思呢?下面我们将给出一个较为直观的解释,并增 加一些额外的假设条件。在线性系统中,所谓的“混乱数据”通常包含以下三种 成分:噪声、旋转(线性失真或扭曲)以及冗余。下面将对这三种成分做出数学 上的描述并针对目标作出分析。噪声与旋转噪声对数据的影响是巨大的,如果不能对噪声进行区分,就不可能抽取数据 中有用的信息。噪声的度量有多种方式,最常见的定义是信噪比SN
14、R3d(signal-to-noise ratio)或方差;:.-2_ 2八_ signal,、SNR = T(3- 4)、-noise比较大的信噪比表示数据的准确度高,而信噪比低则说明数据中的噪声成分 大。那么怎样区分混杂数据中哪些是信号,哪些是噪音呢?这里假设真正的信号 总是变化较大,而噪声(由空气、摩擦、摄像机的误差以及非理想化的弹簧等引 入的)的变化总是较小的。事实上这也是一种标准的去噪准则。而变化的大小由 方差来描述(这里的定义是个一致估计量)。(3- 5)它表示了采样点在平均值两侧的分布, 对应于图3 4 (a)中采样点云的“胖瘦”。显然方差较大的方向,也就是较“宽”(“胖”)的分
15、布,表示采样点的主要分布趋势,是主信号或主要分量(如图 3-4 (a)中的长实线方向);而方差较小的分布则被认为是噪声或次要分量(如图3-5 (a)中的短实线方向)(a)摄像机A的采样数据(黑线是任意一组正交基)(b)对P的基向量进行旋转使 SNRt大图3 5 方差与SNR由于实验前对球的运动无任何先验知识,故对摄像机的摆放也无任何指导 图3-5 (a)中(Xa0a)只是摄像机A采集数据时的所参考的标准正交基,而采集数据的真正分布由于摄像机的摆放、摄像机的线性扭曲与拍摄时的抖动等引起 了旋转。若要在(Xa, yA)坐标系下区分信号和噪声,则是非常的困难。在二维空问中,变换矩阵P只有两个二维向量
16、。通过旋转基向量P,使得数据在沿P3d方向取得最大的方差,对上述实验来说沿 P的正交方向上方差会最小,因为运 动理论上是只存在于一条直线上,所以偏离直线的分布都属于噪声。在新的正交 基P (如图3-5 (a)的长短黑实线,假设为(?,?),(,?)下,则认 为采样点云在长线方向上分布的方差是仃:gnal ,而在短线方向上分布的方差是2Onoise,此时SNR也达到最大。此时的SNR描述的就是米样点云在某对正交方向 上的概率分布的比值。那么,最大限度的揭示原数据的结构和关系, 找出某条潜 在的最优的x轴等价于寻找一个正交基 P,使得信噪比尽可能最大。容易看出, 本例中潜在的x轴就是图上的较长黑线
17、方向。那么怎样寻找这样一组方向呢?直 接的想法是对基向量进行旋转。如图3 5(b)所示了随着这组基的转动SNR以及 万差的变化情况。对应于SNR最大值的一组基p ,就是最优的“主元”方向。 利用数学进行求取这组基的推导之前,冉介绍另一个影响因素。冗余有时在实验中引入了一些不必要的变量。可能有两种情况:(1)该变量对结果没有影响,完全是多余的;(2)该变量可以用其它变量表示,从而造成数据冗 余。下面对这样的冗余情况进行分析和分类。low redundancyhigh redundancy图3-6可能冗余数据的频谱图表示(最佳拟合线r2=kr1用虚线表示)如图3 6是观测变量R和2的数据集的分布图
18、,比如本案例中的变量 Xa, yB,它揭示了这两个观测变量之间的关系。(a)图所示的情况是低冗余的,从统 计学上说,这两个观测变量是相互独立的,它们之间的信息没有冗余。而相反的 极端情况如(C) ,1和2是高度相关的(或线性相关的),2完全可以用1表示(如3d2=匕),也即已知ri后,上就完全确定。一般来说,这种情况发生可能是因为 摄像机A和摄像机B放置的位置太近或是数据被重复记录了, 也可能是由于实验 设计的不合理所造成的。那么对于观测者而言,这个变量的观测数据就是完全冗 余的,应当去除,只用一个变量就可以表示了。这也就是PCA中“降维”思想的本源。协方差矩阵对于上面二维的情况下可以通过简单
19、的线性拟合b M的方法来判断各观测变量之间是否出现冗余的情况。 同理对三维变量,若记录的数据均匀分布在一 个球体内,则也认为三个变量是完全独立的, 若分布在一个曲面上,则有一个变 量是冗余的(z=f(x, y),若分布在一根直线上,则有两个变量是多余的。而 对于更复杂的多变量(三维以上)情况,则需要借助协方差来进行衡量和判断, 它的一致估计定义如下:(3- 6)、y(ai a)(bi -b)A=ai,a2,.,an , B =bi,=,.,bn分别表示了两个观测变量的n个记录数. 1/ 一 1 .n -.一据,a = ai , b = 一 bi是每个观测变量的均值。在统计学中,由协方差的 n
20、yn i m性质可以得到:(1) 0Ab之0,且当观测变量A, B不相关时,仃Ab=00(2)当A=B时,:.AB 二n -1协方差的向量表示:仃Ab三,ABt。那么,对于具有m个观测变量,每个 变量采样n个时间点的数据矩阵 X来说,这n个变量之间的互相关性可定义如 下:将每个观测变量的n个值写为行向量,可以得到一个 mn的矩阵X。一 xj(3- 7)则互相关矩阵如下:(请注意,互相关与协方差之间只相差一个常数,两者具有完全相同的物理意义:EXY =cov(X,Y) XY ,协方差矩阵是除去均值的3d互相关矩阵,正因为如此,所以下文将两者的名字不加与区别)(3- 8)1 TCx XXn - 1
21、容易发现协方差矩阵Cx性质如下:(1) Cx是一个mHm的平方对称矩阵。(2) Cx对角线上的元素是对应观测变量的方差, 反映了该变量数据采样点的噪音程度。非对角线上的元素是对应的观测变量之间的协方差,反映了观测变量问的冗余程度。CX2X1X|2X2X12X1X22X2X2IIIIII二2X1Xm2X2Xm(3- 9)二2XmX1二2XmX2III二 2Xm Xm协方差矩阵Cx包含了所有观测变量之间的相关性度量,在对角线上的元素 越大,表明信号越强,变量的重要性越高或主元,元素越小则表明可能是存在的 噪音或是次要变量。一般情况下,初始数据的协方差矩阵总是不太好的, 表现为 信噪比不高(由于实验
22、中引入了噪声)且变量间相关度大(实验者对实际模型的 未知性)。PCA勺目标就是通过基变换对协方差矩阵进行优化协方差矩阵的对角化协方差矩阵优化的原则是:(1)最小化变量冗余,对应于协方差矩阵的非对 角元素要尽量小或为零;(2)最大化信号,对应于要使协方差矩阵的对角线上的 元素尽可能的大。因为协方差矩阵的每一项都是正值,最小值为0,所以优化的目标矩阵Cy的非对角元素应该都是 0,对应于冗余最小,故目标矩阵 Cy应该是 个对角阵,即只有对角线上的元素可能是非零值。同时,PC网贸设P所对应的一组变换基P1,IM,PmT必须是标准正交的,而优化的目标矩阵 Cy对角线上的元素越大,就说明信号的成分越大,换
23、句话就是对应于越重要的“主元”。对协方差矩阵进行对角化的方法有很多。根据上面的分析,最简单最直接的算法就是在多 维空间内进行搜索,和图3-5 (a)的例子中旋转P的方法类似:(1)在m维空问中进行遍历,搜索到一个向量 P1 ,使得n个观测向量为?2,., Xn在P1方向上3d方差最大。(2)在与Pi垂直的向量空间中进行遍历,找出次大的方差对应的向 量,记作P2 0 (3)对以上过程循环,直到找出全部的 m个向量。它们生成的顺序也就是“主元”的排序。这个理论上成立的算法说明了 PCA的主要思想和过程。在这中间,牵涉到两个重要的特性:(1)转换基是一组标准正交基。这给 PCA 的求解带来了巨大的好
24、处,它可以运用线性代数的相关理论进行快速有效的分解。(2)在PCA的过程中,可以同时得到新的基向量所对应的“主元排序,禾I 用这个重要性排序可以方便的对数据进行取舍、简化处理或压缩。PCA的假设和局限性PCA真型中存在诸多的假设条件,决定了它存在一定的限制,在有些场合可 能会不利或甚至失效。对于学习和掌握 PCA说,理解这些内容是非常重要的, 同时也有利于理解基于改进这些限制条件的PCAB一些扩展算法。PCA勺假设条件包括:(1)线形性假设。如同弹簧运动的例子,PCA的内部 模型是连续的线性空间。这也就决定了它能进行的主元分析之间的关系也是线性 的。现在比较流行的kernel-PCA的一类方法
25、就是使用非线性的权值对原有 PCA 技术的拓展。(2)使用均值和方差进行充分统计。使用均值和方差二阶统计量对 概率分布模型进行充分的描述只限于指数型概率分布模型(例如高斯分布),也就是说,如果我们考察的数据的概率分布并不满足指数型概率分布,那么 PCA 将会失效。在这种模型下,不能使用方差和协方差来很好的描述噪音和冗余,对优化之后的协方差矩阵并不能得到很合适的结果。事实上,去除冗余最基础的方 程是:P(y1,y2)= P(y1)P(y2),其中P()代表概率分布的密度函数。基于这个方 程进行冗余去除的 方法被称作独 立分量分析方 法(Independent Component Analysis
26、 , ICA)。不过,所幸的是,根据中央极限定理(大量起微小作用的任意 分布的独立随机变量之和的分布近似高斯分布),现实生活中所遇到的大部分采 样数据的概率分布都是遵从高斯分布的。 所以PCA仍然是一个使用于绝大部分领 域的稳定且有效的算法。(3)大方差向量具有较大重要性。PCA方法隐含了这样 的假设:数据本身具有较高的信噪比,所以具有最高方差的那个向量就可以被看 作是主元,而方差较小的则被认为是噪音。(4)主元正交。PCA方法假设主元向 量之间都是正交的,从而可以利用线形代数的一系列有效的数学工具进行求解,3d大大提高了效率和应用的范围。PCA求解(特征根分解)在线形代数中,PCA诃题可以描
27、述成以下形式:寻找一组正交基组成的矩阵1P ,有丫 = PX ,使得Cy三YY是对角阵。则P的仃向重(也就是 m个正父 n - 1基)就是数据X的主元向量。对Cy进行数学推导: TOC o 1-5 h z 1T 1T 1CY =YYT =PX(PX)T =PX(XTPT) nn-1(310)111二pxxtpt )P(XXT)PT 二papt n -1n -1n -1定义A三XXT,则A是一个mm维的对称方阵。任意一个实对称阵都可以 化成A=EDET形式,其中D是一个对角阵,而E是个标准正交矩阵,并且是对 称阵A的特征根所对应的特征向量排成的矩阵(请注意:对角阵D的第一个元素 对应特征矩阵E的
28、第一列,第二个对角元素对应的特征向量构成 E的第二列,依次排列下去)。对称阵A有r(r Em)个特征向量,其中r是矩阵A的秩。如果r m ,则A为退化阵。此时分解出的特征向量不能覆盖整个 m维空间,只需要在保证基 的正交性的前提下,在剩余的空间中任意取得 m-r维正交向量填充E的空格即可。它们将不对结果造成影响。因为此时对应于这些特征向量的特征值, 也就是 方差值为零。求出特征向量矩阵后我们取 P三Et,则A=PTDP,由线形代数可知标准正交矩阵P有性质p,=pT ,从而有(PPT)D(PPT)(311)1T 1 T T TOC o 1-5 h z Cy =PAP =P(P DP)P n -1
29、n111二(PP )D(PP )二Dn -1n -1可知此时的P就是我们需要求得变换基,至此我们可以得到PCA勺结果:(1)X的主元即是XXT的特征向量,也就是矩阵P的行向量。(2)矩阵Cy对角线上第i个元素是数据X在方向Pi的方差。我们可以得到PCAe解的一般步骤:(1)采集数据形成mn的矩阵。m为观测变量个数,n为采样点个数。(2)在每个观测变量(矩阵行向量)上减去该观测变量的平均值得到去均 值的矩阵X。(3)对XX T进行特征分解,求取特征向量以及所对应的特征根并按其绝对 值大到小排序。3d有了上述基础,我们再简约回顾一下前面的弹簧振子的实验数据处理问题: 在对6X6维矩阵XXT对角化后
30、,将会只有第一个特征根很大,其余特征根将很 小或接近零(将6维降到1维,去除5个多余的冗余变量)。在这个由新的正交 基E张成的空间坐标系中,最大特征根所对应的特征向量(即E的第一列)将朝 向小球真实运动的方向(在这个方向上数据有最大的方差和SNR去除了实验噪声和系统线性扭曲的影响)。2.3 PCA&计算机视觉领域的应用PCAT法是一个具有很高普适性的方法,被广泛应用于多个领域。这里要特 别介绍的是它在计算机视觉领域的应用,包括如何对图像进行处理以及在人脸识 别方面的特别作用。数据表示如果要将PCA方法应用于视觉领域,最基本的问题就是图像的表达。如果是幅N父N大小的图像,它的数据将被表达为一个N
31、 2维的向量:X=(xi X2 III Xn2)t,在这里图像的结构将被打乱,每一个像素点被看作是维,最直接的方法就是将图像的像素一行一行的从头到尾相接成一个一维向量模式识别假设数据源是20幅的图像序列,每幅图像都是 NMN大小,那么它们都可以表示为一个N2维的向量。将它们排成一个矩阵:ImagesMatrix = (ImageVecI ImageVec2ImageVe(20)(312)然后对它们进行PCA处理,找出主元。为什么这样做呢?根据人脸识别的例 子来说,数据源是20幅不同的人脸图像,PCA方法的实质是寻找这些图像中的 相似的维度,因为人脸的结构有极大的相似性(特别是同一个人的人脸图像
32、),则使用PCM法就可以很容易的提取出人脸的内在结构,也及时所谓“模式” , 如果有新的图像需要与原有图像比较,就可以在变换后的主元维度上进行比较, 则可衡量新图与原有数据集的相似度如何。对这样的一组人脸图像进行处理,提 取其中最重要的主 元,即可大致描述人脸的结构信息,称作“特征 脸” (EigenFace)。这就是人脸识别中的重要方法“特征脸方法”的理论根据。近些3d 年来,基于对一般PCAT法的改进,结合ICA、kernel-PCA等方法,在主元分析 中加入关于人脸图像的先验知识,则能得到更好的效果。图像信息压缩使用PCA7J法进行图像压缩,又被称为Hotelling 算法,或者Karh
33、unen and Leove(KL)变换。这是视觉领域内图像处理的经典算法之一。具体算法与上述过 程相同,使用PCM法处理一个图像序列,提取其中的主元。然后根据主元的排 序去除其中次要的分量,然后变换回原空间,则图像序列因为维数降低得到很大 的压缩。例如弹簧振子例中取出最主要的 1个维度,则数据就压缩了 5/6。但是 这种有损的压缩方法同时又保持了其中最“重要”的信息,是一种非常重要且有 效的算法。3基于PCA勺人脸识别方法所有模式识别的问题都分为两步:训练步(分类)和测试步(识别)。所谓训练就是从先验的大量实验数据中统计抽取出某类模式的特征,然后将该特征标注为该模式类,测试就是在实践中,已知
34、一个样本,用相同或不同于训练步的方 法抽取它的特征,再将该特征与模式类进行相似度度量并进行识别。特征脸法是一种基于人脸全局特征的识别方法。所谓人脸全局特征是指所提取的特征与整幅 人脸图像甚至与整个训练样本集相关, 这种特征未必具有明确的物理意义, 但却 适合于分类。在人脸识别中我们首先需要采集人脸样本库来训练得到人脸模式的 特征,在获得人脸图像库的前提下,我们可以进行如下操作步骤。(1)将MX N象素的人脸排成一列向量 X:又MX N, D行1列(用D个像素点描 述一张人脸存在大量的冗余像素点,这个D正是需要降维的)。(2)将同一人脸的n个采样脸,即n个训练样本构成n个列向量X1,X2,.,X
35、n (这n个采样脸数据都存在大量的噪声,我们需要去除噪声,从中抽取出真正的1能代表人脸本质特征的主元分量,即特征脸),计算矢量均值u=, Xi和去n id中心化的矩阵 A=Xi -u,X2-u,. ,Xn -u。(3)构造协方差矩阵S = AAT,注意到S是个DM D维的半正定实对称方阵,并且它的秩(或非零特征根的个数)r minsize(A),对S进行对角化分解,根据3d上述原理,最大特征根对应的特征矢量,抽取了S的最主要的成分(低频信号, 包含了S最主要的信息),依次类推,最小的特征根对应的特征矢量包含了S的 最不重要成分(高频信息)。需要指出的是特征矩阵E是个 DX r维的标准正交阵,
36、E中最大特征根所对应特征矢量的第一个分量是矩阵S中第一行数据的共同特 征(即第一个像素点在n次采样中的最主要成分),该特征矢量的第二个分量是 S矩阵中第二行数据的共同特征(即第二个像素点在n次采样中的最主要成分), 依次类推。同理E中第二大特征根所对应的特征向量的第一个分量代表了矩阵S 中第一行数据的第二重要成分(第二次要特征),该特征向量的第二个分量代表 了矩阵S中第二行数据的第二重要成分(第二次要特征),依次类推。若取kr, 即只取k个最大特征根所对应的特征向量(即主要分量)来描述方阵So(4)再用这k个相互正交的D维特征矢量(E的前 k歹1)作为一正交基张成一 个大小为k的子空间T,即T
37、 =spanE1, E2,,Ek(请注意:空间T的维数 仍然是D维,它是D维空间中的一个子空间,因为它只有 k (kD)个矢量的全 部线性组合矢量集构成的空间,即T是一个DX k维的投影矩阵)。最后将每一张 人脸DX 1维矢量投影到这个空间上去,得到一降维(从 D维降到了 k维)的特 -A T征脸Xi =TTXi (k X1维)。平均n张训练样本的特征脸库最终得到一类人脸的A n *特征脸X = Xi ,存入特征脸样本库。 i 1(4)将测试人脸同样投影到空间 T上,得到一测试脸的特征,再和样本库中的 模式类进行相似度量(如欧氏距离)找出最小距离的模式就是识别的人脸。4程序分析人脸数据库的构建
38、人脸库的采集参考代码如下filelist=dir(*.bmp);FileNum=length(filelist);for j=1:FileNuminFilename = filelist(j).name;fa=imread(inFilename);fa=fa(:);i=ceil(j/2);if mod(j,2) = 1k=1;else k=2;3dendStuFaceLab(:,k,i)=double(fa); endsave StuFaceLab;% face lab end, save to FaceLab.mat file基于PCA勺人脸识别10ad(ORLFace.mat);% bas
39、ic information dim=size(Iv,1);tal=size(Iv,2);class=size(Iv,3);ell=5; % ell training sample;ellsample=5; % ellsample test sample;t=1e7; % Similarity matrix 的参数order=1;dita=1e7;NumTotal=ell*class;lpp=NumTotal-class;lda=class-1;polynomial=1;pca=30;%step 1 KPCA %Itr=zeros(dim,ell,class); % Training samp
40、le feature vector for classnum=1:class for e=1:ellItr(:,e,classnum)=Iv(:,e,classnum); % end endIt=zeros(dim,ellsample,class);% Testing sample feature vector for classnum=1:classfor e=1:ellsampleIt(:,e,classnum)=Iv(:,e+ell,classnum); % end end %倒入向量Iv(dim,ell)%样本类数classImean=zeros(dim,1);for classnum
41、=1:classfor i=1:ellImean=Imean+Itr(:,i,classnum); end endImean=(1/(ell*class)*Imean;% 求平均向量Q=zeros(dim,ell*class);for classnum=1:classfor num=1:ellQ(:,num+(classnum-1)*ell)=Itr(:,num,classnum)-Imean(:,1);3dend endR=zeros(ell*class,ell*class);R=Q*Q;% Rs size is ell * elld=rank(R);d=pca;U,L=eigs(R,d,L
42、M);% 求出 R 的 eigenvector and eigenvalueWpca=zeros(dim,d);for p=1:dWpca(:,p)=(1/(sqrt(L(p,p)*Q*U(:,p);end%程序至此得到了线形变换的矩阵W .Iy=zeros(d,ell,class); % training feature vector %for classnum=1:classfor num=1:ellY=zeros(d,1);Iy(:,num,classnum)=Wpca*Itr(:,num,classnum);endend%Tldalpp=zeros(d,ellsample,class)
43、;for classnum=1:classfor num=1:ellsampleTldalpp(:,num,classnum)=Wpca*It(:,num,classnum);endend%dimension=size(Tldalpp,1);%算法性能测试% r=zeros(ellsample,ellsample);CorrectMatrix=zeros(1,class*ellsample);Glda=zeros(class,ellsample, class);for cl=1:classfor img=1:ellsample%循环体开始%X=Tldalpp(:,img,cl); % Xinp
44、ut samplevector%以下为改进算法,求每个类的Z1的平均值 Iymean=zeros(dimension,class);for classnum=1:class% Z1 : the mean of Z1for i=1:ellIymean(:,classnum)=Iymean(:,classnum)+Iy(:,i,classnum);endIymean(:,classnum)=(1/ell)*Iymean(:,classnum); end%进行匹配%此处可以进行修改,利用其他 simlarity measure%G2=zeros(1,class);for classnum=1:cla
45、ss3dG2(1,classnum)=(X*Iymean(:,classnum)/(norm(X)*norm(Iymean(:,classnum); endGlda(:,img,cl)=G2;Sclass=max(G2);%得出最后的结果 for classnum=1:classif Sclass=G2(1,classnum) lastresult=classnum; end end lastresult %进行最后结果的评估 %if lastresult=clCorrectMatrix(1,img+(cl-1)*ellsample)=1;% 如果正确,则置为 1;否 则,保持不变为0; endrate=sum(CorrectMatrix)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度建筑工程材料采购与施工合同范本
- 04年网络安全维护合同
- 汽水制造机市场发展现状调查及供需格局分析预测报告
- 2024年度幼儿园特色课程开发合同
- 2024年度技术服务合同标的为云计算服务
- 2024年度保障性住房租赁合同优惠政策
- 编码和解码装置市场发展现状调查及供需格局分析预测报告
- 2024年度企业形象设计及推广合同
- 2024年度供应链管理系统开发及运维合同
- 04版智能托盘研发与租赁合同
- 【正版授权】 ISO 6583:2024 EN Methanol as a fuel for marine applications - General requirements and specifications
- 期中综合测试卷(试题)-2024-2025学年人教PEP版英语四年级上册
- 上海教育出版社:六年级英语上册(三年级起点)单词表(带音标)
- 硕博研究生英语综合教程完整版电子课件
- Unit7SectionA(3a-3c)教学设计人教版英语九年级全册
- MOOC 3D工程图学-华中科技大学 中国大学慕课答案
- 第5.3课《联系生活实际弘扬工匠精神》(课件)-【中职专用】高二语文同步课件(高教版2023·职业模块)
- JJG 443-2023燃油加油机(试行)
- 义务教育(道德与法治)新课程标准(2022年修订版)
- 西宁市房屋租赁合同通用范本_0
- 港口理货业务PPT课件
评论
0/150
提交评论