基于PCA的人脸识别研究报告样本_第1页
基于PCA的人脸识别研究报告样本_第2页
基于PCA的人脸识别研究报告样本_第3页
基于PCA的人脸识别研究报告样本_第4页
基于PCA的人脸识别研究报告样本_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

课程设计设计课程: 模式辨认题目基于PCA办法人脸辨认学生姓名 学号 学院 专业 指引教师年12月目录摘要课程设计目…..….…………3课程设计规定….………….….3题目分析…………….………..3总体设计……………….…………….……….3详细设计……………..…….…46.1、创立数据库…………..…………46.2、计算特性脸…………………..…56.3、人脸辨认......................................................................................6成果分析….……....................9心得体会…………….………9参照文献…………….………10摘要随着人类社会进步,以及科技水平提高,某些老式身份认证办法逐渐暴露出各种问题,因而人们需要采用一种更加可靠安全身份认证办法。毫无疑问人体生物特性独一无二,特别是其不容易丢失及复制特性较好满足了身份辨认需要。并且随着计算机科学技术和生物医学发展使得运用生物特性辨认成为了也许。因而基于指纹、人脸、视网膜等生物特性辨认办法也越来越多。由于人脸辨认操作迅速简朴,成果直观,精确可靠,不需要人配合等长处已成为人们关注焦点。主成分分析(PCA)法通过提取高维度人脸图像主元,使得图像在低维度空间中被解决来减少了图像解决难度。由于其有效解决了图像空间维数过高问题,已经成为人脸辨认领域非常重要理论。本次研究就是基于PCA人脸辨认算法实现。本文按照完整人脸辨认流程来分析基于PCA人脸辨认算法实现性能。一方面使用惯用人脸图像获取办法获取人脸图像。本文为了更好分析基于PCA人脸辨认系统性能分别选用了Essex人脸数据库和ORL人脸库,并在后期采用了自建人脸库。接下来是人脸图像预解决办法。由于采用人脸图像质量较好,并且已经做过相应预解决,因此本文实验中只使用灰度解决。接着使用PCA提取人脸特性,使用奇异值分解定理计算协方差矩阵特性值和特性向量以及使用近来邻法分类器欧几里得距离来进行人脸鉴别分类。在实验中咱们发现基于PCA人脸辨认系统辨认率很高,并且具备一定鲁棒性,因此基于PCA人脸辨认算法实现研究还是故意义。【核心词】人脸辨认PCA算法欧几里得课程设计目简介基于PCA人脸辨认算法实现,先简介PCA算法理论基本,另一方面简介了其在数字图像领域应用,最后结合详细研究详述了研究过程。课程设计规定

1:一张新图片也表达为d向量,记为D,D大小1×n2:D乘以上面训练得到T,得到这个图片向量D在T下投影向量P,p大小1×k。

3:计算p与上面所有pn向量距离,与p最小那个向量所相应人脸图片跟这张新人脸图片最像。题目分析应用程序功能需求分析该软件最重要功能就是要能辨认出人脸,一方面该系统需要对通过摄像头拍照而获取到原始人脸图片进行一系列解决才可进行下一步工作,该解决过程也称图像预解决。预解决这个模块在整个人脸辨认系统开发过程中占有很重要地位,只有预解决模块做好,才也许较好完毕背面人脸定位和特性提取这两大核心模块。因而本设计中所要完毕重要功能如下所述:1)图像获取功能:该模块重要是从摄像头拍照后进行获取图片,也可以从图片库中获取,获取后图片可以在软件界面中显示出来以便进行辨认。2)图像预解决功能:该模块重要涉及图像光线补偿、图像变成灰色、高斯平滑、均衡直方图、实现图像对比度增强、二值化变换等。3)人脸定位功能:该模块重要是将解决后人脸图片进行定位,将眼睛、鼻子、嘴巴标记出来,以便进行特性提取。4)特性提取功能:该模块是在定位后人脸图片中将眼睛、鼻子、嘴巴特性值提取出来。5)辨认功能:该模块是将从图片中提取特性值和后台数据库中值进行比较来完毕辨认功能。四、总体设计主成分分析为一种记录学中特性提取办法,在实际中应用非常广泛。PCA是通过提取原始数据主元来减少数据冗余,使数据在低维度空间中被解决,同步它还能较好保持了原始数据绝大某些信息,有效解决了由于空间维数过高而导致一系列问题。如下将详细简介如何使用PCA算法进行人脸辨认。五、详细设计1、创立数据库在本环节中重要分为两个阶段,分别为:读入系统人脸数据库,并将图像变换为相应灰度图像(a)(b)图(a)图像为系统人脸数据库中原始人脸图像,(b)图像为通过灰度转换后人脸图像(2)同步将变换后二维人脸灰度图像变换为一维人脸向量矩阵一种大小为M*N二维人脸图像可以当作长度为MN人脸图像列向量。为了将二维人脸图像变为觉得列向量,咱们采用办法为:一方面计算出人脸图像大小,然后将人脸图像经行转置,最后按列依次取出取出所有灰度值形成大小为MN一维向量,其实整个阶段效果相称于将图像灰度值按行取出依次连接成一维图像向量。本环节完毕后将会产生由一维图像向量构成矩阵T。2、计算特性脸本环节重要涉及三个阶段,分别为:1)对图像矩阵T进行规范化一方面计算出图像矩阵中一维列向量平均值m,然后对图像矩阵每一列都减去平均值形成规范化图像矩阵A。2)计算特性脸人脸训练图像协方差矩阵为,其中人脸训练样本为,维度为,则协方差矩阵C维度为。这就浮现问题,C维度过高,在实际中直接计算它特性值和特性向量非常困难。因而,本文使用奇异值分解定理来解决这个问题。奇异值分解定理:假设B为维秩为p矩阵,则存在两个正交矩阵和一种对角矩阵:正交矩阵为 (4.23) (4.24)其中 (4.25) (4.26)对角矩阵为则可以得到,并且和有共同非零特性值,和分别为和相应特性值正交特性向量。由上述定理可以得到 (4.27)则可以由协方差矩阵,构造出矩阵,从而容易求出L特性值和特性向量,再依照上述(4-27)式可以求得协方差C特性值和特性向量。事实上咱们并不需要协方差所有特性值和特性向量,m个(m<M,M为特性值数目)个特性值足够用于人脸辨认。因此,实际操作中,只取L前m个最大特性值相应特性向量用于计算特性脸。在本环节,本文通过直接构造,来计算出L特性值,再挑选L特性值不不大于100作为C特性值,最后通过C特性值计算出它特性向量,从而形成特性脸。3、人脸辨认人脸辨认过程分为训练和测试两个阶段。在训练阶段,重要是提取数据库人脸图像特性,并形成特性库。在测试阶段,重要是提取待辨认图像特性和计算提取特性和特性库中特性之间距离测度,并输出最小距离测度相应人脸图像作为成果。详细环节如下:1)训练阶段将规范化图像矩阵A中每一列向量投影到特性子空间,形成特性库。2)测试阶段eq\o\ac(○,1)假设测试人脸图像为Y,在人脸辨认前,先对其进行原则化,即。eq\o\ac(○,2)把原则化后人脸图像向特性子空间进行投影得到向量。eq\o\ac(○,3)本文使用近来邻法分类器欧几里德距离[14,15]进行判决分类。测试图像与每个人脸图像间距离为(k=1,2,…,P),并将最小距离相应训练图像作为测试图像匹配图像。可以看出,在人脸姿态、表情有略微变化状况下仍旧可以成功辨认出对的人脸。人脸姿态发生变化下人脸辨认成果人脸表情变化下人脸辨认成果之后咱们运用ORL人脸库和自建人脸库分别进行了测试。在ORL人脸库辨认过程中,咱们选用了20个人,每人4张照片作为训练样本。并对这20个人每人另取了一张照片作为测试样本。每个人测试后最后记录成功辨认17个人,辨认失败3人。由于咱们采用是近来邻法分类器欧几里德距离进行判决分类,因而对于辨认失败人同样会显示与其距离最小照片。为理解决这个问题,咱们决定在该判决分类基本上加上阈值限制,当最小欧几里德距离高于某个值时,不再显示近来邻照片,而是显示“无法辨认”提示。成功辨认如下:当用训练集以外人图像进行测试时,欧几里德距离不不大于阈值,显示无法辨认。接下来咱们对欧几里得距离阈值进行了一定选用测试。如下图所示当阈值选用较大时(阈值取9*10^15),图像可以更好辨认出来,但是此时不可避免就是减少人脸辨认精确率,因而个别测试图像由于不原则而与训练库中某些图像距离更小,就导致了辨认错误。如下图所示,此时由于两幅图像欧几里得距离更小,因而系统显示辨认对的,其实是错误。以测试图像3.jpg为例。而当阈值设定比较小时(阈值取4.5*10^15),可以看到上面测试图像3.jpg无法再辨认成功,由于没有足够近距离训练样本。尽管17.jpg训练样本与3.jpg测试图像欧几里得距离最小,但因不在阈值范畴内故表白不是匹配图像。同样当阈值减小后,之前成功辨认11.jpg图像无法再成功辨认出来。六、成果分析在选定欧几里得近来距离鉴定距离时要考虑不能选用过大,减少成功率。因而我以为在建立人脸库时,尽量使所有图像在相似背景下进行采样,这样可以时每个人测试图像和训练图像间欧几里得距离均处在较小范畴内,可以提高精确率。此外,咱们尝试用稍微侧斜和表情夸张样本照片进行人脸辨认。当侧脸和表情夸张照片作为测试样本时,程序仍旧可以成功辨认出相应人脸照片,然而当这些侧脸和表情夸张照片作为训练样本中图像时,也许会影响其她测试图像辨认成功率,由于咱们没有对侧脸进行研究,因而将问题放在后续工作中解决。七、心得体会本文研究是基于PCA人脸辨认算法实现。在实验中采用人脸数据库为Essexfaces94人脸数据库和自建人脸数据库,人脸特性提取算法为PCA算法,分类办法采用是最小距离分类法。通过实验发当前无光照变换,正面姿态,少量遮挡状况下,基于PCA人脸辨认系统辨认率很高,并且反映很迅速。固然也存在着某些问题,例如本文对图像光照变化,其她姿态没有进行考虑,但实际中这是无法忽视问题,有也许会导致人脸辨认辨认率减小。为了进一步提高基于PCA人脸辨认系统性能和适应性,咱们可以通过如下几种方面进行改进:改进图像获取办法:咱们可以通过使用人脸检测和跟踪算法,在图像获取时候,动态跟踪和检测人脸,只采集最佳姿态下人脸图像。这在一定限度可以解决姿态所引起问题,但也同步对系统检测和跟踪人脸反映时间提出较严格规定。如果反映时间较长,对于迅速移动人脸也许错过采集最佳姿态图像,而导致系统无法辨认人脸。改进人脸辨认分类器:近来邻法分类器属于一种线性分类器。在实际中可以运用神经网络此类学习能力强非线性分类器对高维人脸辨认也许会获得更好效果。综合不同人脸辨认办法:在当前,仅仅单独采用一种既有人脸辨认办法普通都不会获得较好辨认效果。各种技术和办法均有自己不同适应环境和各自特点。如果咱们想进一步提高人脸辨认系统辨认率,可以考虑使用数据融合理论,将不同办法综合起来,互相补充,来获得较好人脸辨认效果。这也是为人脸辨认研究趋势之一。八、参照文献程自龙,雷秀玉.基于K-L变换(PCA)特性脸人脸辨认办法综述[J].中华人民共和国图像图形学报,,20(22):15-18.倪世贵,白宝刚.基于PCA人脸辨认研究[J].当代计算机,,23(42):20-22.徐飞.Matlab应用图像解决[M].西安:西安电子科技大学出版社,.王映辉.人脸辨认:原理,办法与技术[M].北京:科学出版社,.田印中,董志学,黄建伟.基于PCA人脸辨认算法研究及实现[J].内蒙古科技与经济,,4(208):15-18.刘学胜.基于PCA和SVM算法人脸辨认[J].计算机与数字工程,,14(3):56-58.陈惠明.图像欧氏距离在人脸辨认中应用研究[J].计算机工程与设计,,3(14):22-25.附程序代码:main.mclearallclccloseallTrainDatabasePath=('E:\train');TestDatabasePath=('E:\test');prompt={'Entertestimagename:'};dlg_title='InputofPCA-BasedFaceRecognitionSystem';num_lines=1;def={'1'};TestImage=inputdlg(prompt,dlg_title,num_lines,def);TestImage=strcat(TestDatabasePath,'\',char(TestImage),'.jpg');im=imread(TestImage);T=CreateDatabase(TrainDatabasePath);[m,A,Eigenfaces]=EigenfaceCore(T);[OutputName,Euc_dist_min]=Recognition(TestImage,m,A,Eigenfaces);SelectedImage=strcat(TrainDatabasePath,'\',OutputName);SelectedImage=imread(SelectedImage);if(Euc_dist_min<=4.5*10^15)imshow(im)title('TestImage');figure,imshow(SelectedImage);title('EquivalentImage');str=strcat('Matchedimageis:',OutputName);disp(str)Euc_dist_minendif(Euc_dist_min>4.5*10^15)str=strcat('ÎÞ·¨Ê¶±ð.×î½Ó½üµÄÊÇ£º',OutputName);disp(str)Euc_dist_minEndCreateDatabase.mfunctionT=CreateDatabase(TrainDatabasePath)TrainFiles=dir(TrainDatabasePath);Train_Number=0;fori=1:size(TrainFiles,1)ifnot(strcmp(TrainFiles(i).name,'.')|strcmp(TrainFiles(i).name,'..')|strcmp(TrainFiles(i).name,'Thumbs.db'))Train_Number=Train_Number+1;endendT=[];fori=1:Train_Numberstr=int2str(i);str=strcat('\',str,'.jpg');str=strcat(TrainDatabasePath,str);img=imread(str);img=rgb2gray(img);[irowicol]=size(img);temp=reshape(img',irow*icol,1);T=[Ttemp];endEigenfaceCore.mfunction[m,A,Eigenfaces]=EigenfaceCore(T)m=mean(T,2);Train_Number=size(T,2);A=[];fori=1:Train_Numbertemp=double(T(:,i))-m;A=[Atemp];endL=A'*A;[VD]=eig(L);L_eig_vec=[];fori=1:size(V,2)if(D(i,i)>1)L_eig_vec=[L_eig_vecV(:,i)

温馨提示

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

评论

0/150

提交评论