




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要文章具体讨论了主成分分析( PCA)人脸识别算法的原理及实现。它具有简单、快速和易行等特点,能从整体上反映人脸图像的灰度相关性具有一定的实用价值。人脸识别是目前较活跃的研究领域, 本文详细给出了基于主成分分析的人脸特征提取的原理与方法。并使用matlab 作为工具平台, 实现了一个人脸自动识别的系统原型。实验结果表明, 该系统识别率为100%, 达到预期的效果。如果想进一步提高人脸识别率, 可以考虑与其他方法结合。仅单独使用任何一种现有的方法一般都不会取得很好的识别效果, 将其他人脸识别方法组合是今后研究的一种趋势。也可以考虑改进分类决策的方法。本系统采用的最小距离分类法属于线性的分类器, 而利用神经网络这类学习能力更强的非线性分类器对高维人脸识别问题可能会有更好的解决。目录1.引言12需求分析12.1 课题的来源12.2人脸识别技术的研究意义22.2.1 面部关键特征定位及人脸2D形状检测技术22.2.2面部感知系统的重要内容22.3人脸识别的国内外发展概况32.3.1国外的发展概况32.3.2国内的发展概况43概要设计53.1问题描述53.2模块设计53.3主成分的一般定义63.4主成分的性质73.5主成分的数目的选取74. 详细设计-PCA算法的功能实现84.1引言84.2 K-L变换84.3 PCA方法94.4利用PCA进行人脸识别105.实验及结果分析116. 总结147. matlab 源码15参考文献19181.引言人脸识别是机器视觉和模式识别领域最富有挑战性的课题之一,同时也具有较为广泛的应用意义。人脸识别技术是一个非常活跃的研究领域,它覆盖了数字图像处理、模式识别、计算机视觉、神经网络、心理学、生理学、数学等诸多学科的内容。如今,虽然在这方面的研究已取得了一些可喜的成果,但是FRT在实用应用中仍面临着很严峻的问题,因为人脸五官的分布是非常相似的,而且人脸本身又是一个柔性物体,表情、姿态或发型、化妆的千变万化都给正确识别带来了相当大的麻烦。如何能正确识别大量的人并满足实时性要求是迫切需要解决的问题。现在人脸识别技术已经应用在许多领域中,并起到了举足轻重的作用,人脸识别研究开始于1966年PRI的Bledsoe的工作,经过三十多年的发展,人脸识别技术取得了长足的进步, 现在就目前国内外的发展情况来进行展述。2需求分析2.1 课题的来源随着安全入口控制和金融贸易方面应用需要的快速增长,生物统计识别技术得到了新的重视。目前,微电子和视觉系统方面取得的新进展,使该领域中高性能自动识别技术的实现代价降低到了可以接受的程度。而人脸识别是所有的生物识别方法中应用最广泛的技术之一,人脸识别技术是一项近年来兴起的,但不大为人所知的新技术。人们更多的是在电影中看到这种技术的神奇应用:警察将偷拍到的嫌疑犯的脸部照片,输入到电脑中,与警方数据库中的资料进行比对,并找出该嫌犯的详细资料和犯罪记录。这并非虚构的情节。在国外,人脸识别技术早已被大量使用在国家重要部门以及军警等安防部门。在国内,对于人脸识别技术的研究始于上世纪90年代,目前主要应用在公安、金 融、网络安全、物业管理以及考勤等领域。2.2人脸识别技术的研究意义2.2.1 面部关键特征定位及人脸2D形状检测技术在人脸检测的基础上,面部关键特征检测试图检测人脸上的主要的面部特征点的位置和眼睛和嘴巴等主要器官的形状信息。灰度积分投影曲线分析、模板匹配、可变形模板、Hough变换、Snake算子、基于Gabor小波变换的弹性图匹配技术、主动性状模型和主动外观模型是常用的方法。可变形模板的主要思想是根据待检测人脸特征的先验的形状信息,定义一个参数描述的形状模型,该模型的参数反映了对应特征形状的可变部分,如位置、大小、角度等,它们最终通过模型与图像的边缘、峰、谷和灰度分布特性的动态地交互适应来得以修正。由于模板变形利用了特征区域的全局信息,因此可以较好地检测出相应的特征形状。由于可变形模板要采用优化算法在参数空间内进行能量函数极小化,因此算法的主要缺点在于两点:一、对参数初值的依赖程度高,很容易陷入局部最小;二、计算时间长。针对这两方面的问题,我们采用了一种由粗到细的检测算法:首先利用人脸器官构造的先验知识、面部图像灰度分布的峰谷和频率特性粗略检测出眼睛、鼻子、嘴、下巴的大致区域和一些关键的特征点;然后在此基础上,给出了较好的模板的初始参数,从而可以大幅提高算法的速度和精度。眼睛是面部最重要的特征,它们的精确定位是识别的关键。基于区域增长的眼睛定位技术,该技术在人脸检测的基础上,充分利用了眼睛是面部区域内脸部中心的左上方和右上方的灰度谷区这一特性,可以精确快速的定位两个眼睛瞳孔中心位置。该算法采用了基于区域增长的搜索策略,在人脸定位算法给出的大致人脸框架中,估计鼻子的初始位置,然后定义两个初始搜索矩形,分别向左右两眼所处的大致位置生长。该算法根据人眼灰度明显低于面部灰度的特点,利用搜索矩形找到眼部的边缘,最后定位到瞳孔的中心。实验表明,本算法对于人脸大小、姿态和光照的变化,都有较强的适应能力,但在眼部阴影较重的情况下,会出现定位不准。佩戴黑框眼镜,也会影响本算法的定位结果。2.2.2面部感知系统的重要内容基于视觉通道信息的面部感知系统,包括人脸检测和跟踪、面部特征定位、面部识别、人脸归类(年龄、种族、性别等的判别)、表情识别、唇读等分系统,如图1-1所式,可以看出,继人脸检测和跟追之后,面部特征定位通常是面部感知的一个必备环节,是后续工作的基础,具有重要的意义。尽管人脸识别不能说是其他面部感知模块的必备功能,但是, 可以肯定的是,利用已知的身份信息,结合特定人的先验知识,可以提高表情分析、唇读和语音识别、手势识别乃至手写体识别的可靠性。而计算机对使用者身份确认的最直接的应用就是基于特定使用者的环境设置:如使用者的个性化工作环境,信息的共享和隐私保护等等。视频输入人脸检测和跟踪面部特征定位人脸识别表情分析性别判断种族判断年龄判别唇 读身份信息情感状态性别信息种族信息年龄信息唇形类别 图1面部感知系统结构图2.3人脸识别的国内外发展概况2.3.1国外的发展概况见诸文献的机器自动人脸识别研究开始于1966年PRI的Bledsoe的工作,1990年日本研制的人像识别机,可在1秒钟内中从3500人中识别到你要找的人。1993年,美国国防部高级研究项目署 (Advanced Research Projects Agency)和美国陆军研究实验室(Army Research Laboratory)成立了Feret(Face Recognition Technology) 项目组,建立了feret 人脸数据库,用于评价人脸识别算法的性能。美国陆军实验室也是利用vc+开发,通过软件实现的,并且FAR为49%。在美国的进行的公开测试中,FAR,为53%。美国国防部高级研究项目署,利用半自动和全自动算法。这种算法需要人工或自动指出图像中人的两眼的中心坐标,然后进行识别。在机场开展的测试中,系统发出的错误警报太多,国外的一些高校(卡内基梅隆大学(Carnegie Mellon University)为首,麻省理工大学(Massachusetts Institute of Technology )等,英国的雷丁大学(University of Reading)和公司(Visionics 公司Facelt 人脸识别系统、Viiage 的FaceFINDER 身份验证系统、Lau Tech 公司Hunter系统、德国的BioID 系统等)的工程研究工作也主要放在公安、刑事方面,在考试验证系统的实现方面深入研究并不多。2.3.2国内的发展概况 人脸识别系统现在在大多数领域中起到举足轻重的作用,尤其是用在机关单位的安全和考勤、网络安全、银行、海关边检、物业管理、军队安全、智能身份证、智能门禁、司机驾照验证、计算机登录系统。我国在这方面也取得了较好的成就,国家863项目“面像检测与识别核心技术”通过成果鉴定并初步应用,就标志着我国在人脸识别这一当今热点科研领域掌握了一定的核心技术。北京科瑞奇技术开发股份有限公司在2002年开发了一种人脸鉴别系统,对人脸图像进行处理,消除了照相机的影响,再对图像进行特征提取和识别。这对于人脸鉴别特别有价值,因为人脸鉴别通常使用正面照,要鉴别的人脸图像是不同时期拍摄的,使用的照相机不一样。系统可以接受时间间隔较长的照片,并能达到较高的识别率,在计算机中库藏2300人的正面照片,每人一张照片,使用相距1-7年、差别比较大的照片去查询,首选率可以达到50%,前20张输出照片中包含有与输入照片为同一人的照片的概率可达70% 。2005年1月18日,由清华大学电子系人脸识别课题组负责人苏光大教授主持承担的国家十五攻关项目人脸识别系统通过了由公安部主持的专家鉴定。鉴定委员会认为,该项技术处于国内领先水平和国际先进水平。本课程设计主要对该人脸识别系统进行模块划分,并介绍各模块的功能,重点介绍图像预处理模块,对其内的子模块的功能和算法进行详细讲述,主要介绍光线补偿、图像灰度化、高斯平滑、均衡直方图、图像对比度增强,图像预处理模块在整个系统中起着极其关键的作用,图像处理的好坏直接影响着后面的定位和识别工作。3概要设计3.1问题描述对于一幅图像可以看作一个由像素值组成的矩阵,也可以扩展开,看成一个矢量,如一幅N*N 象素的图像可以视为长度为N2 的矢量,这样就认为这幅图像是位于N2 维空间中的一个点,这种图像的矢量表示就是原始的图像空间,但是这个空间仅是可以表示或者检测图像的许多个空间中的一个。不管子空间的具体形式如何,这种方法用于图像识别的基本思想都是一样的,首先选择一个合适的子空间,图像将被投影到这个子空间上,然后利用对图像的这种投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。因此,本次试题采用PCA算法并利用GUI实现。对同一个体进行多项观察时,必定涉及多个随机变量X1,X2,Xp,它们都是的相关性, 一时难以综合。这时就需要借助主成分分析来概括诸多信息的主要方面。我们希望有一个或几个较好的综合指标来概括信息,而且希望综合指标互相独立地各代表某一方面的性质。 任何一个度量指标的好坏除了可靠、真实之外,还必须能充分反映个体间的变异。如果有一项指标,不同个体的取值都大同小异,那么该指标不能用来区分不同的个体。由这一点来看,一项指标在个体间的变异越大越好。因此我们把“变异大”作为“好”的标准来寻求综合指标。3.2模块设计完成人脸识别的工作需要一系列的步骤,它们结合起来构成一个完整的流程。由于研究人员来自不同的学科、具有不同的背脊,而且不同的人脸识别应用中对识别的目标也不同,所以人脸识别的流程并不统一一个比较通用的人脸识别流程如下图所示:结果输出输入图像人脸检测/跟踪 特征提取特征降维匹配识别 图2 人脸识别流程图其主要步骤包括:人脸检测/跟踪,特征提取,特征降维,匹配识别.它们之间基本上是串行的关系。(1) 人脸检测/跟踪。人脸检测是完成人脸识别工作的自动系统的第一个步骤。该步骤的目的是在输入的图像中寻找人脸区域。具体来说:给定意一幅任图像,人脸检测的目的是确定是否图像州有人脸存在,如果存在,给出每个人脸的具体位置和范围。实际应用中人脸图像的采集或获取常在非受控的条件下进行,这样所得到的图像中的人脸在尺寸、朝向、明暗、遮挡、分辨率等方面都有很多不同,使同一的人脸出现各种变形,并有可能导致各种误识、漏识等失败的情况。为校正人脸在尺度、光照和旋转等方面的变化,常需采用一些包括几何归一化(空间尺度归一化)和光照归一化(灰度幅值归一化)等手段来调整不同的人脸图像,以利于用统一算法进行识别。(2) 特征提取。 为区分不同的人脸,需提取各种人脸的独特性质。也就是要从人脸图像中映射提取一组反映人脸特征的数值表示样本。这里首先需要采取某种表示方式来表示检测出的人脸和数据库中的已知人脸。通常的表示法包括几何特征(如欧氏距离、曲率、角度)、代数特征(如矩阵或特征向量)、固定特征模板、特征脸等。(3) 特征降维。 人脸是一个非刚性的自然物体(柔性体),从人脸图像中可提取很多不同特征,所以表征人脸的原始特征对应高维空间中的数据(对一幅M*N的图像,空间维数可达M*N)。直接利用这样高维的数据进行识别除需要很多的匹配计算量外,由于很难对各高维数据的描述能力做有效的判断,故还不能保证基于这么多数据进行的识别结果的正确性。在特征提取后,需采用紧凑的人脸表征方式,将原始特征进行筛选组合,集中信息,降低维数,使这些低维空间的有效性的到提高,以有利于接下来的匹配分类。(4) 匹配识别。 在特征提取的基础上,选择使当的匹配策略,可将待识别的人脸与数据库中的已知人脸进行匹配比较,建立它们的相关关系,并输出所作出的判断决策/决定(识别结果)。与人脸检测不同,这里利用的主要是人脸个体差异的信息。有两种识别目的和情况需要区别:一种是对人脸图像的验证,即要确认输入人脸图像中的人是否在数据库中,属于有监督的识别;另一种是对人脸图像的辨识,即要确认输入图像中的人的身份,属于无监督的识别。3.3主成分的一般定义 设有随机变量X1,X2,Xp, 其样本均数记为 , , ,样本标准差记为S1,S2,Sp。首先作标准化变换,我们有如下的定义: (1) 若C1=a11x1+a12x2+ +a1pxp,且使 Var(C1)最大,则称C1为第一主成分; (2) 若C2=a21x1+a22x2+a2pxp, ,(a21,a22,a2p)垂直于(a11,a12,a1p),且使Var(C2)最大,则称C2为第二主成分; (3) 类似地,可有第三、四、五主成分,至多有p个。 3.4主成分的性质 主成分C1,C2,Cp具有如下几个性质: (1) 主成分间互不相关,即对任意i和j,Ci 和Cj的相关系数 Corr(Ci,Cj)=0 ij(2) 组合系数(ai1,ai2,aip)构成的向量为单位向量,(3) 各主成分的方差是依次递减的, 即 Var(C1)Var(C2)Var(Cp) (4) 总方差不增不减, 即 Var(C1)+Var(C2)+ +Var(Cp) =Var(x1)+Var(x2)+ +Var(xp) =p 这一性质说明,主成分是原变量的线性组合,是对原变量信息的一种改组,主成分不增加总信息量,也不减少总信息量。 (5) 主成分和原变量的相关系数 Corr(Ci,xj)=aij =aij (6) 令X1,X2,Xp的相关矩阵为R, (ai1,ai2,aip)则是相关矩阵R的第i个特征向量(eigenvector),而且,特征值li就是第i主成分的方差。 3.5主成分的数目的选取 前已指出,设有p个随机变量,便有p个主成分。由于总方差不增不减,C1,C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较小, 严格说来,只有前几个综合变量才称得上主(要)成份,后几个综合变量实为“次”(要)成份。实践中总是保留前几个,忽略后几个。 保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。4. 详细设计-PCA算法的功能实现4.1引言 PCA,即Principal Component Analysis,主成分分析方法,是一种得到广泛应用的事实上的标准人脸识别方法。传统主成分分析方法的基本原理是:利用K-L变换抽取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。这种方法使得压缩前后的均方误差最小,且变换后的低维空间有很好的分辨能力。4.2 K-L变换PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称K-L变换),是一种常用的正交变换。首先对K-L变换作一个简单介绍:假设X为n维的随机变量,X可以用n个基向量的加权和来表示: X= ii式中:i是加权系数,i是基向量,此式可以用矩阵的形式表示: X =(1 ,2,3 ,n)( 1, 2 , n)= 系数向量为: =TX综上所述,K-L展开式的系数可用下列步骤求出:步骤一 求随机向量X的自相关矩阵R=EXTX,由于没有类别信息的样本集的均值向量,常常没有意义,所以也可以把数据的协方差矩阵=E(x-)(x-)T作为K-L坐标系的产生矩阵,这里是总体均值向量。步骤二 求出自相关矩阵或者协方差矩阵R的本征值i和本征向量i,=(1 ,2,3 ,n)步骤三 展开式系数即为=TXK-L变换的实质是建立一个新的坐标系,将一个物体主轴沿特征矢量对齐的转变换,这个变换解除了原有数据向量的各个分量之间相关性,从而有可能去掉那些带有较少信息的坐标系以达到降低特征空间维数的目的。4.3 PCA方法PCA方法,也被叫做特征脸方法(eigenfaces),是一种基于整幅人脸图像的识别算法,被广泛用于降维,在人脸识别领域也表现突出。一个NN的二维脸部图片可以看成是N的一个一维向量,一张11292的图片可以看成是一个10,304维的向量,同时也可以看成是一个10,304维空间中一点。图片映射到这个巨大的空间后,由于人脸的构造相对来说比较接近,因此,可以用一个相应的低维子空间来表示。我们把这个子空间叫做“脸空间”。PCA的主要思想就是找到能够最好地说明图片在图片空间中的分布情况的那些向量。这些向量能够定义“脸空间”,每个向量的长度为N,描述一张NN的图片,并且是原始脸部图片的一个线性组合。对于一副M*N的人脸图像,将其每列相连构成一个大小为D=M*N维的列向量。D就是人脸图像的维数,也即是图像空间的维数。设n是训练样本的数目;Xj表示第j幅人脸图像形成的人脸向量,则所需样本的协方差矩阵为: Sr= (1)其中u为训练样本的平均图像向量: u = (2)令A=x1-u x2-uxn-u,则有Sr=AAT,其维数为D*D。根据K-L变换原理,需要求得的新坐标系由矩阵AAT的非零特征值所对应得特征向量组成。直接计算的计算量比较大,所以采用奇异值分解(SVD)定理,通过求解ATA的特征值和特征向量来获得AAT的特征值和特征向量。依据SVD定理,令li(i=1,2,r)为矩阵ATA的r个非零特征值,vi为ATA对应于li的特征向量,则AAT的正交归一特征向量ui为: (i=1,2,r) (3)则特征脸空间为:w=(u1 ,u2 ur,)。将训练样本投影到“特征脸”空间,得到一组投影向量=wTu,构成人脸识别的数据库。在识别时,先将每一幅待是识别的人脸图像投影到“特征脸”空间,再利用最近邻分类器的比较其与库中人脸的位置,从而识别出该图像是否是库中的人脸,如果是,是哪一个人脸。4.4利用PCA进行人脸识别完整的PCA人脸识别的应用包括几个步骤:人脸图像预处理;读入人脸库,训练形成特征子空间;把训练图像和测试图像投影到上一步骤中得到的子空间上;选择一定的距离函数进行识别。本课程设计采用matlab作为工具平台, 实现了一个人脸自动识别的系统原型。实验在样本图库英国剑桥大学的ORL( Olivetti Research Laboratory) 人脸库上进行,它为网上下载的国外标准人脸数据库。ORL 库包含40 个人,每个人10副图像,共计400 幅人脸正面图像,每幅图像大小为92112,图像是在不同时间,光线轻微变化的条件下摄制的,其中包括姿态、光照和表情的差别。其中部分如图1 所示:图3ORL 人脸数据库中的 5幅图像该数据库提供了经过预处理的人脸训练集和测试集。选取前5 张人脸图像作为训练样本,后5 张人脸图像作为测试样本。本实验运行的环境是IntelCelero n CPU 2.00GHz 处 理器、512MB 内 存,Window s XP 操作系统,对ORL 人脸库样本训练时间为70. 91s,识别率为90% ,训练样本数目多增加人脸特征库的容量,会几何级增加人脸识别核心算法的时间和空间复杂度。在识别结果的显示窗口中, 一共显示了在整个人脸图像库中最小的10 个欧氏距离,它们的排列也是从小到大进行排列的,同时, 换句话说,这10 个欧氏距离,也就分别代表了与实验中选取的待识别的人脸图像最相近的10 幅人脸图像。距离最近, 当然也就是我们实验所需识别的人脸图像。下面详细描述整个过程: (1) 读入人脸库归一化人脸库后,将库中的没人选择一定数量的图像构成训练集,其余的构成测试集。设归一化后的图像时n*m维,按列相连就构成N=n*m维矢量,可视为N维空间中的一个点,可以空过K-L变换用一个低维子空间描述这个图像。(2)计算通过K-L变换的生成矩阵所有训练样本的协方差矩阵为(以下三个等价);C1=( T)/M-mx.mxTC1=(A.AT)/M (1)C1= /MA=(12,m), i=xi-mx,其中mx是平均人脸,M是训练人脸数,协方差矩阵C1是一个N*N的矩阵,N是xi的维数。为了方便计算特征值和特征向量,一般选用第二个公式。根据K-L变换原理,我们所求的新坐标即由矩阵A.AT的非零特征值所对应的特征向量组成。直接求N*N大小矩阵的C1的特征值和正交归一特征向量是很困难的,根据奇异值分解原理,可以通过求解ATA的特征值和特征向量来获得AAT的特征值和特征向量。(3)识别利用公式Y=UT*X,首先把所有图片进行投影,然后对于测试图片也进行同样的投影,采用判别函数对投影系数进行识别。5.实验及结果分析实验在两个图库上测试,一个是自建人脸库,该库包含10个不同人物,每人有5张不同表情和姿态下的图片,总共50幅。另一个是ORL人脸库,该库包含40个不同人物,每人有10张图片,共400幅。用训练样本进行测试,识别率为100%。而随着训练样本的增加,识别率会有所提升,由于标准人脸库在采集时考虑了多种因素,人脸图像比较标准,所以识别率较自建的人脸库识别率高,另外因为自建人连库的图片太少,即训练样本太少,也会对结果产生影响,效果不是很好。进行直方图均衡化比灰度归一化的识别率高,预处理对识别的效果起着至关重要的作用。而此次实验的预处理还比较粗糙,PCA也只是起到了简单的特征脸降维的作用,要有更好的效果,还必须寻找更好的特征表达,使得可以尽量消除光照、表情、遮掩和姿势的影响。下图为测试流程截图:图4 用户使用界面图5 图片选择后图6 查找后6. 总结 因为我以前自学过一部分GUI方面的知识,所以本次试题我采用了Matlab中的GUI(图形用户界面)为主要表现形式,我认为在这次的题目下GUI比单纯的M文件会有更强的应用、测试及表现效果,但由于之前对人脸识别算法不太了解,所以花了很长时间去分析理解,最终选择了较为简单且实用的PCA算法。从使用的角度考虑,我还为库中的每个人取了一个名字,最终查找到时会在标题处显示其名字,下方显示库中与测试图片最接近的库图片。因为是利用了标准人脸库,并且识别的人数不是很多,所以最终的结果还是非常不错的,识别率可达100%。7. matlab 源码“读取图片”按钮function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%读取待查找图片global im;%由于要在两个按钮函数中使用,故使用全局变量filename, pathname=. uigetfile(*.bmp,选择图片);str = pathname, filename;%合成路径+文件名im = imread(str);%读取图片axes( handles.axes1);%使用第一个axesimshow(im);title(待查找)%显示图片“开始查找”按钮function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% PCA人脸识别global im;%使用全局变量imgdata=;%训练图像矩阵for i=1:10 for j=1:5 a=imread(strcat(C:UsersThinkDesktoporlpractice,num2str(i),num2str(j),.bmp); b=a(1:112*92); % b是行矢量 1N,其中N10304 b=double(b); imgdata=imgdata; b; % imgdata 是一个M * N 矩阵,imgdata中每一行数据一张图片,M50 end;end;imgdata=imgdata; %每一列为一张图片imgmean=mean(imgdata,2); % 平均图片,N维列向量for i=1:50 minus(:,i) = imgdata(:,i)-imgmean; % minus是一个N*M矩阵,是训练图和平均图之间的差值end;covx=minus* minus; % M * M 阶协方差矩阵COEFF, latent,explained = pcacov(covx); %PCA,用协方差矩阵的转置来计算以减小计算量% 选择构成95%的能量的特征值i=1;proportion=0;while(proportion 95) proportion=proportion+explained(i); i=i+1;end;p=i-1;% 训练得到特征脸坐标系i=1;while (i0) base(:,i) = latent(i)(-1/2)*minus * COEFF(:,i); % base是Np阶矩阵,用来进行投影,除以latent(i)(1/2)是对人脸图像的标准化 i = i + 1;end% 将训练样本对坐标系上进行投影,得到一个 p*M 阶矩阵为参考reference = base*minus;%测试过程在测试图片文件夹中选择图片,进行查找测试a=im;b=a(1:10304);b=double(b);b=b;object = base*(b-imgmean);distance=100000;%最小距离法,寻找和待识别图片最为接近的训练图片fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省2025年成人高考化学复习题库及答案
- 公司消防安全培训标语课件
- 公司法纠纷课件
- 2025餐饮企业行政总厨聘用合同样本
- 2025压路机租赁合同范本
- 2025塑料制品生产加工合同
- 2025如何避免购销合同的法律风险
- 2025探讨合同责任保险合同之原则
- 2025房屋租赁合同备案授权书
- 隐患大排查大整治工作总结
- 《集成电路技术导论》课件
- 医疗机构药品管理法
- 弹幕游戏主播培训
- 医疗器械经营质量管理制度和工作程序目录
- DB51∕T 990-2020 小型泵站设计规程
- 基于知识图谱的应急事件解析与研判
- 医院消防系统维护保养服务投标方案(图文版)(技术方案)
- 实验小学二年级体育集体备课教案
- 网络游戏内容审核与监管标准
- 化学与垃圾分类
- 李白课件教学课件
评论
0/150
提交评论