人脸识别系统报告解析_第1页
人脸识别系统报告解析_第2页
人脸识别系统报告解析_第3页
人脸识别系统报告解析_第4页
人脸识别系统报告解析_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1122摘要文章具体讨论了主成分分析(PCA)人脸识别算法的原理及实现。它具有简单、快速和易行等特点,能从整体上反映人脸图像的灰度相关性具有一定的实用价值。,matlab作为工具平台,,100%,,,而利用神经目录引言 1需求分析 1课题的来源 1人脸识别技术的研究意义 2面部关键特征定位及人脸2D形状检测技术 2面部感知系统的重要内容 2人脸识别的国内外发展概况 3国外的发展概况 3国内的发展概况 4概要设计 5问题描述 5模块设计 5主成分的一般定义 6主成分的性质 7主成分的数目的选取 7详细设计--PCA算法的功能实现 8引言 8K-L变换 8PCA方法 9利用PCA进行人脸识别 10实验及结果分析 116. 总结 147.matlab 源码 15参考文献 19引言在实用应用中仍面临着很严峻的问题,因为人脸五官的分布是非常相似的,而且人脸本身又是一个柔现在人脸识别技术已经应用在许多领域中,并起到了举足轻重的作用,人脸识别研究开始于PRIBledsoe需求分析2.1 课题的来源90人脸识别技术的研究意义面部关键特征定位及人脸2D形状检测技术Hough变换、Snake基于Gabor可变形模板的主要思想是根据待检测人脸特征的先验的形状信息,定义一个参数描述的形状模型,该模型的参数反映了对应特征形状的可变部分,如位置、大小、角度等,它们最终通过模型与图像的边缘、峰、谷和灰度分布特性的动态地交互适应来得以修正。由于模板变形利用了特征区域的全局信息,面部感知系统的重要内容基于视觉通道信息的面部感知系统,包括人脸检测和跟踪、面部特征定位、面部识别、人脸归类(年龄、种族、性别等的判别)、表情识别、唇读等分系统,如图1-1所式,可以看出,PAGEPAGE11PAGEPAGE12视跟人面频踪脸部输检特入测征和定位人脸识别身份信息情感状态性别信息人脸识别身份信息情感状态性别信息种族信息年龄信息唇形类别人脸识别的国内外发展概况国外的发展概况见诸文献的机器自动人脸识别研究开始于1966年PRI的Bledsoe的工作,1990年日本研制的人像识别机,可在1秒钟内中从3500人中识别到你要找的人。1993(AdvancedResearchProjectsAgency)和美国陆军研究实验室(ArmyResearchLaboratory)成立了Feret(FaceRecognitionTechnology)项目组,建立了feret人脸数据库,用于评价人脸识别算法的性能。美国陆军实验室也是利用vc++开发,通过软件实现的,并且FAR为49%。在美国的进行的公开测试中,FAR,为53%。美国国防部高级研究项目署,利用半自动和全自动算法。这种算法需要人工或自动指出图像中人的两眼的中心坐标,然后进行识别。在机场开展的测试中,系统发出的错误警报太多,国外的一些高校(卡内基梅隆大学(CarnegieMellonUniversity)为首,麻省理工大学(MassachusettsInstituteofTechnology)等,英国的雷丁大学(UniversityofReading))和公司(Visionics公司Facelt人脸识别系统、Viiage的FaceFINDER身份验证系统、LauTech公司Hunter系统、德国的BioID系统等)的工程研究工作也主要放在公安、刑事方面,在考试验证系统的实现方面深入研究并不多。2.3.2 国内的发展概况863份有限公司在20022300人的正面照片,每人一张照片,使用相距1--7年、差别比较大的照片去查询,首选率可以达到50%,前20张输出照片中包含有与输入照片为同一人的照片的概率可达70%。2005年1月18日,由清华大学电子系人脸识别课题组负责人苏光大教授主持承担的国家 "十五"攻关项目《人脸识别系统》通过了由公安部主持的专家鉴定。鉴定委员会认为,该项技术处于国内领先水平和际先进水平。面的定位和识别工作。3 .概要设计问题描述N*N象素的图像可以视为长度为N2N2维空间中的一个点,这种图像的矢PCA算法并利用GUI实现。对同一个体进行多项观察时,必定涉及多个随机变量X1,X2,,Xp,它们都是的相关性,一时难以综合。这时就需要借助主成分分析来概括诸多信息的主要方面。我们希望有一个或几个较好的综合指标来概括信息,而且希望综合指标互相独立地各代表某一方面的性质。模块设计不统一一个比较通用的人脸识别流程如下图所示:输入图像

人脸检测/跟踪

特征降维匹配识别特征降维

结果输出特征提取→ → → →→特征提取2人脸识别流程图其主要步骤包括:人脸检测/跟踪,特征提取,特征降维,匹配识别.它们之间基本上是串行的关系。/(空间尺度归一化和光照归一化(灰度幅值归一化)等手段来调整不同的人脸图像,以利于用统一算法进行识别。已知人脸。通常的表示法包括几何特征(如欧氏距离、曲率、角度)(如矩阵或特征向量)、固定特征模板、特征脸等。特征降维。人脸是一个非刚性的自然物体(柔性体),从人脸图像中可提取很多不同特征,所以表征人脸的原始特征对应高维空间中的数据(M*NM*N)。直下来的匹配分类。知人脸进行匹配比较,建立它们的相关关系,并输出所作出的判断决策 /决定(识别结果)。与人脸检测不同,这里利用的主要是人脸个体差异的信息。有两种识别目的和情况需要区别:一种是对人脸图像的验证,即要确认输入人脸图像中的人是否在数据库中,属于有监督的识别;另一种对人脸图像的辨识,即要确认输入图像中的人的身份,属于无监督的识别。主成分的一般定义设有随机变量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个。主成分的性质主成分C1,C2,⋯,Cp具有如下几个性质:i和j,Ci和Cj的相关系数Corr(Ci,Cj)=0 ijaip)构成的向量为单位向量,Var(C1)≥Var(C2)≥⋯≥Var(Cp)Var(C1)+Var(C2)+⋯+Var(Cp)=Var(x1)+Var(x2)+⋯+Var(xp)=p量,也不减少总信息量。Corr(C,ixj)=aij=aij令Xp的相关矩阵为R,aip)则是相关矩阵R的第i个特征向量(eigenvector), i就是第i主成分的方差。主成分的数目的选取前已指出,设有p个随机变量,便有p个主成分。由于总方差不增不减,C1,C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较小,严格说来,只有前几个综合变量才称得上主(要)成份,后几个综合变量实为“次”(要)成份。实践中总是保留前几个,忽略后几个。保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比 (即累计贡献率),它标志着前几个主成分概括信息之多寡。实践中,粗略规定一个百分比便可决定保留几个主成分;如果留一个主成分,累积方差增加无几,便不再多留。--PCA算法的功能实现引言PCA,即PrincipalComponentAnalysis,主成分分析方法,是一种得到广泛应用的事实上的标人脸识别方法。传统主成分分析方法的基本原理是:利用 K-L变换抽取人脸的主要成分,K-L变换PCA方法是由Turk和Pentlad提出来的,它的基础就是Karhunen-Loeve变换(简称K-LK-L变换作一个简单介绍:X为nXn个基向量的加权和来表示:nanX=i1iφi式中:αi是加权系数,φi是基向量,此式可以用矩阵的形式表示:X=(φ1,φ2,φ3,,φn)(α1,α2,αn)=Φα系数向量为:α=ΦTX综上所述,K-L展开式的系数可用下列步骤求出:步骤一求随机向量X的自相关矩阵R=E[XTX]由,于没有类别信息的样本集的μ均值向量,常常没有意义,所以也可以把数据的协方差矩阵阵,这里μ是总体均值向量。

=E[(x-μ)(x-μ)T]作为K-L坐标系的产生矩R的本征值λiφi,Φ=(φ1,φ2,φ3,,φn)α=ΦTXK-L变换的实质是建立一个新的坐标系,将一个物体主轴沿特征矢息的坐标系以达到降低特征空间维数的目的PCA方法PCA方法,也被叫做特征脸方法(eigenfaces),是一种基于整幅人脸图像的识别算法,被广泛用于降维,在人脸识别领域也表现突出。一个N的二维脸部图片可以看成是N的一个一维向量,一张1192的图片可以看成是一个1,304维的向量,同时也可以看成是一个1,304维空间中一点。PCA的主要思想就是找到能够最好地说明图片在图片空N,描述一张N×N的M*N的人脸图像,将其每列相连构成一个大小为iD=M*NDnXjjijN(xj

u)(x

u)TSr=j1(1)其中u为训练样本的平均图像向量:nx1 jnxj1 (2)令A=[x1-ux2-u⋯⋯xn-u],则有Sr=AAT其,维数为D*D。根据K-L变换原理,需要求得的新坐标系由矩阵AAT的非零特征值所对应得特征向量组成。直接计算的计算量比较大,所以采用奇异值分解(SVD)定理,通过求解ATA的特征值和特征向量来获得AAT的特征值和特征向量。ui1lAviil(i=1,2,⋯⋯r)(3)则特征脸空间为:w=(u1,u2⋯⋯ur,)。依据SVD定理,令ui1lAviil(i=1,2,⋯⋯r)(3)则特征脸空间为:w=(u1,u2⋯⋯ur,)。将训练样本投影到“特征脸”空间,得到一组投影向量Ω=wTu在识别时,先将每一幅待是识别的人脸图像投影到“特征脸”空间,再利用最近邻分类器的比较其与库中人脸的位置,从而识别出该图像是否是库中的人脸,如果是,是哪一个人脸PCA进行人脸识别完整的PCA本课程设计采用matlab作为工具平台,实现了一个人脸自动识别的系统原型。实验在样本图库英ORL(OlivettiResearchLaboratory),ORL库包含40个人,每个人10副图像,共计400幅人脸正面图像每幅图像大小为9112,图,,1:图3ORL人脸数据库中的5幅图像该数据库提供了经过预处理的人脸训练集和测试集。选取前5张人脸图像作为训练样本,后5张人脸图像作为测试样本。本实验运行的环境是 IntelCeleronCPU2.00GHz处理器、512MB内存,WindowsXP操作系统,对ORL人脸库样本训练时间为70.91s,识别率为90%,训练本数目多增加人脸特征库的容量,会几何级增加人脸识别核心算法的时间和空间复杂度。在识别结果的显示窗口中,一共显示了在整个人脸图像库中最小的10个欧氏距离,它们的排列也是从小到大进行排列的,同,换句话说,这10个欧氏距离,也就分别代表了与实验中选取的待识别的人脸图像最相近的10幅人脸图像。距离最近,当然也就是我们实验所需识别的人脸图像。下面详细描述整个过程:(1)读入人脸库n*mN=n*mN维空间中的一个点,可以空过K-L变换用一个低维子空间描述这个图像(2)计算通过K-L变换的生成矩阵所有训练样本的协方差矩阵为(以下三个等价);Mxk.xkMC1=(k1T)/M-mx.mxTC1=(A.AT)/M(1)M(ximx)(ximx)TC1=[i1]/MA=(φ1φ2, ,φm),φi=xi-mx,其中mx是平均人脸,M是训练人脸数,协方差矩阵C1是一个N*N的矩阵,N是xi的维数。为了方便计算特征值和特征向量,一般选用第二个公式。根据 K-L变换原理,我们所求的A.ATN*NC1ATA的特征值和特征向量。(3)识别利用公式Y=UT*X,首先把所有图片进行投影,然后对于测试图片也进行同样的投影,采用判别函数对投影系数进行识别。5. 实验及结果分析实验在两个图库上测试,一个是自建人脸库,该库包含10个不同人物,每人有5张不同表情和姿50ORL4010400幅。用训练样本进行测试,识别率为100%。而随着训练样本的增加,识别率会有所提升,由于标准人也只是起到了简单的特征脸降维的作用,要有更好的效果,还必须寻找更好的特征表达,使得可以尽下图为测试流程截图:图4 用户使用界面图5 图片选择后6查找后6. 总结因为我以前自学过一部分GUI方面的知识,所以本次试题我采用了Matlab中的GUI(图形用户界面)为主要表现形式,我认为在这次的题目下GUI比单纯的M文件会有更强的应用、测试及表现效果,但由于之前对人脸识别算法不太了解,所以花了很长时间去分析理解,最终选择了较为简单且实用的PCA算法。从使用的角度考虑,我还为库中的每个人取了一个名字,最终查找到时会在标题处显其名字,下方显示库中与测试图片最接近的库图片。因为是利用了标准人脸库,并且识别的人数不是很多,所以最终的结果还是非常不错的,识别率可达 100%。7.matlab 源码“读取图片”按钮functionpushbutton1_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLABhandlesstructurewithhandlesanduserdata(seeGUIDATA)读取待查找图片globalim;%由于要在两个按钮函数中使用,故使用全局变量[filename,uigetfile({'*.bmp'},'选择图片');str[pathname,filename];% +文件名im=imread(str);%读取图片axes(handles.axes1);%使用第一个axesimshow(im);title('待查找')%显示图片“开始查找”按钮functionpushbutton2_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)PCAglobalim;%imgdata=[];%fori=1:10forj=1:5a=imread(strcat('C:\Users\Think\Desktop\orl\practice\',num2str(i),'\',num2str(j),'.bmp'));b=a(1:112*92);%b=double(b);

是行矢量1×N,其中N=10304imgdata=[imgdata;b];%imgdataM*NimgdataM=50end;end;imgdata=imgdata';每一列为一张图片imgmean=mean(imgdata,2);Nfori=1:50minus(:,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(i<=p&&latent(i)>0)base(:,i)=latent(i)^(-1/2)*minus*COEFF(:,i);%base投影,除以latent(i)^(1/2)是对人脸图像的标准化i=i+1;end

是N×p阶矩阵,用来进行%将训练样本对坐标系上进行投影,得到一个p*M阶矩阵为参考reference=base'*minus;%测试过程——在测试图片文件夹中选择图片,进行查找测试a=im;b=a(1:10304);b=double(b);b=b';object=base'*(b-imgmean);distance=100000;%最小距离法,寻找和待识别图片最为接近的训练图片fork=1:50temp=norm(object-reference(:,k));if(distance>temp)which=k;distance=temp;end;end;%找出距离最近的图片所在的位置num1=num1=ceil(which/5);%num1个文件夹num2mod

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论