基于PCA的人脸识别研究报告

上传人:沈*** 文档编号:109333243 上传时间:2022-06-16 格式:DOC 页数:14 大小:1.25MB
收藏 版权申诉 举报 下载
基于PCA的人脸识别研究报告_第1页
第1页 / 共14页
基于PCA的人脸识别研究报告_第2页
第2页 / 共14页
基于PCA的人脸识别研究报告_第3页
第3页 / 共14页
资源描述:

《基于PCA的人脸识别研究报告》由会员分享,可在线阅读,更多相关《基于PCA的人脸识别研究报告(14页珍藏版)》请在装配图网上搜索。

1、 . . 课程设计设计课程:模式识别 题 目 基于PCA方法的人脸识别 学生学 号 学 院专 业指导教师 2013 年12 月25日 目 录摘要一、 课程设计目的.3二、 课程设计要求.3三、 题目分析.3 四、 总体设计.3五、 具体设计.46.1、创建数据库.46.2、计算特征脸.56.3、人脸识别.6六、 结果分析.9七、 心得体会.9八、 参考文献.1013 / 14 . . 摘 要 随着人类社会的进步,以与科技水平的提高,一些传统的身份认证的方法逐渐暴露出各种问题,因此人们需要采用一种更加可靠安全的身份认证方法。毫无疑问人体的生物特征的独一无二的,特别是其不容易丢失与复制的特性很好满

2、足了身份识别的需要。并且随着计算机科学技术和生物医学的发展使得利用生物特征识别成为了可能。因此基于指纹、人脸、视网膜等生物特征的识别方法也越来越多。由于人脸识别的操作快速简单,结果直观,准确可靠,不需要人的配合等优点已成为人们关注的焦点。主成分分析(PCA)法通过提取高维度的人脸图像的主元,使得图像在低维度空间中被处理来降低了图像处理的难度。由于其有效的解决了图像空间维数过高的问题,已经成为人脸识别领域非常重要的理论。此次研究的就是基于PCA的人脸识别算法的实现。本文按照完整人脸识别流程来分析基于PCA的人脸识别算法实现的性能。首先使用常用的人脸图像的获取方法获取人脸图像。本文为了更好的分析基

3、于PCA人脸识别系统的性能分别选用了Essex人脸数据库和ORL人脸库,并在后期采用了自建的人脸库。接下来是人脸图像预处理方法。由于采用的人脸图像质量较好,而且已经做过相应的预处理,所以本文试验中只使用灰度处理。接着使用PCA提取人脸特征,使用奇异值分解定理计算协方差矩阵的特征值和特征向量以与使用最近邻法分类器欧几里得距离来进行人脸判别分类。在实验中我们发现基于PCA的人脸识别系统的识别率很高,而且具有一定鲁棒性,所以基于PCA的人脸识别算法的实现的研究还是有意义。关键词人脸识别 PCA算法 欧几里得一、 课程设计的目的 介绍基于PCA的人脸识别算法的实现,先介绍PCA算法的理论基础,其次介绍

4、了其在数字图像领域的应用,最后结合具体研究详述了研究过程。二、 课程设计的要求 1:一新的图片也表示为d的向量,记为D,D的大小1n 2: D乘以上面训练得到的T, 得到这个图片向量D在T下的投影向量P,p的大小1k。 3: 计算p与上面所有的pn的向量距离,与p最小的那个向量所对应的人脸图片跟这新人脸图片最像。三、 题目分析应用程序的功能需求分析 该软件最主要的功能就是要能识别出人脸,首先该系统需要对通过摄像头拍照而获取到的原始的人脸图片进行一系列处理才可进行下一步的工作,该处理过程也称图像预处理。预处理这个模块在整个人脸识别系统的开发过程中占有很重要的地位,只有预处理模块做的好,才可能很好

5、的完成后面的人脸定位和特征提取这两大关键模块。因此本设计中所要完成的主要功能如下所述:1)图像获取功能:该模块主要是从摄像头拍照后进行获取图片,也可以从图片库中获取,获取后的图片可以在软件的界面中显示出来以便进行识别。2)图像预处理功能:该模块主要包括图像光线补偿、图像变成灰色、高斯平滑、均衡直方图、实现图像对比度增强、二值化变换等。3)人脸定位功能:该模块主要是将处理后的人脸图片进行定位,将眼睛、鼻子、嘴巴标记出来,以便进行特征提取。4)特征提取功能:该模块是在定位后的人脸图片中将眼睛、鼻子、嘴巴的特征值提取出来。5)识别功能:该模块是将从图片中提取的特征值和后台数据库中的值进行比较来完成识

6、别功能。四、总体设计主成分分析为一种统计学中特征提取方法,在实际中应用的非常广泛。PCA是通过提取原始数据的主元来减少数据的冗余,使数据在低维度的空间中被处理,同时它还能很好保持了原始数据的绝大部分信息,有效的解决了由于空间维数过高而导致的一系列问题。如下将详细介绍如何使用PCA算法进行人脸识别。五、具体设计1、创建数据库在本环节中主要分为两个阶段,分别为:(1) 读入系统人脸数据库,并将图像变换为相应的灰度图像 (a) (b)图 (a)图像为系统人脸数据库中的原始人脸图像,(b)图像为经过灰度转换后的人脸图像(2)同时将变换后的二维人脸灰度图像变换为一维人脸向量矩阵一个大小为M*N的二维人脸

7、图像可以看成长度为MN的人脸图像列向量。为了将二维人脸图像变为以为列向量,我们采取的措施为:首先计算出人脸图像的大小,然后将人脸图像经行转置,最后按列依次取出取出所有灰度值形成大小为MN的一维向量,其实整个阶段的效果相当于将图像的灰度值按行取出依次连接成一维图像向量。本环节完成后将会产生由一维图像向量组成的矩阵T。2、计算特征脸本环节主要包括三个阶段,分别为:1)对图像矩阵T进行规化首先计算出图像矩阵中一维列向量的平均值m,然后对图像矩阵的每一列都减去平均值形成规化的图像矩阵A。2)计算特征脸人脸训练图像的协方差矩阵为,其中人脸训练样本为,维度为,则协方差矩阵C的维度为。这就出现问题,C的维度

8、过高,在实际中直接计算它的特征值和特征向量非常困难。因此,本文使用奇异值分解定理来解决这个问题。奇异值分解定理:假设B为维秩为p的矩阵,则存在两个正交矩阵和一个对角矩阵:正交矩阵为 (4.23) (4.24)其中 (4.25) (4.26)对角矩阵为 则可以得到,而且和有共同的非零特征值,和分别为和对应特征值的正交特征向量。由上述定理可以得到 (4.27)则可以由协方差矩阵,构造出矩阵,从而容易求出L的特征值和特征向量,再根据上述(4-27)式可以求得协方差C的特征值和特征向量。实际上我们并不需要协方差所有的特征值和特征向量, m个(mM,M为特征值的数目)个特征值足够用于人脸识别。所以,实际

9、操作中,只取L的前m个最大特征值对应的特征向量用于计算特征脸。在本环节,本文通过直接构造,来计算出L的特征值,再挑选L特征值大于100的作为C的特征值,最后通过C的特征值计算出它的特征向量,从而形成特征脸。3、人脸识别人脸识别过程分为训练和测试两个阶段。在训练阶段,主要是提取数据库人脸图像的特征,并形成特征库。在测试阶段,主要是提取待识别图像的特征和计算提取的特征和特征库中特征之间的距离测度,并输出最小距离测度对应的人脸图像作为结果。 具体步骤如下:1)训练阶段将规化的图像矩阵A中的每一列向量投影到特征子空间,形成特征库。2)测试阶段假设测试人脸图像为Y,在人脸识别前,先对其进行标准化,即。把

10、标准化后的人脸图像向特征子空间进行投影得到向量。本文使用最近邻法分类器欧几里德距离14,15进行判决分类。测试图像与每个人脸图像间的距离为 (k=1,2,P),并将最小距离对应的训练图像作为测试图像的匹配图像。可以看出,在人脸姿态、表情有略微变化的情况下依旧可以成功识别出正确的人脸。人脸姿态发生变化下的人脸识别结果人脸表情变化下的人脸识别结果之后我们利用ORL人脸库和自建人脸库分别进行了测试。在ORL人脸库的识别过程中,我们选取了20个人,每人4照片作为训练样本。并对这20个人每人另取了一照片作为测试样本。每个人测试后最终统计成功识别17个人,识别失败3人。因为我们采用的是最近邻法分类器欧几里

11、德距离进行判决分类,因此对于识别失败的人同样会显示与其距离最小的照片。为了解决这个问题,我们决定在该判决分类的基础上加上阈值限制,当最小欧几里德距离高于某个值时,不再显示最近邻的照片,而是显示“无法识别”的提示。成功识别如下:当用训练集以外的人的图像进行测试时,欧几里德距离大于阈值,显示无法识别。接下来我们对欧几里得距离的阈值进行了一定的选取测试。如以下图所示当阈值选取较大时(阈值取9*1015),图像可以更好的识别出来,但是此时不可避免的就是降低人脸识别的准确率,因此个别测试图像因为不标准而与训练库中某些图像的距离更小,就造成了识别错误。如以下图所示,此时由于两幅图像的欧几里得距离更小,因而

12、系统显示识别正确,其实是错误的。以测试图像3.jpg为例。而当阈值设定比较小时(阈值取4.5*1015),可以看到上面的测试图像3.jpg无法再识别成功,因为没有足够近距离的训练样本。尽管17.jpg训练样本与3.jpg测试图像欧几里得距离最小,但因不在阈值围故说明不是匹配的图像。同样当阈值减小后,之前成功识别的11.jpg图像无法再成功识别出来。六、结果分析 在选定欧几里得最近距离判定距离时要考虑不能选取过大,降低成功率。因此我认为在建立人脸库时,尽量使所有的图像在相同的背景下进行采样,这样可以时每个人的测试图像和训练图像间的欧几里得距离均处在较小的围,可以提高准确率。 此外,我们尝试用稍微

13、侧斜和表情夸的样本照片进行人脸识别。当侧脸和表情夸照片作为测试样本时,程序依旧可以成功识别出对应的人脸照片,然而当这些侧脸和表情夸的照片作为训练样本中的图像时,可能会影响其他测试图像的识别成功率,因为我们没有对侧脸进行研究,因此将问题放在后续工作中解决。七、心得体会 本文研究的是基于PCA的人脸识别算法的实现。在试验中采用的人脸数据库为Essex faces94人脸数据库和自建的人脸数据库,人脸特征提取算法为PCA算法,分类方法采用的是最小距离分类法。通过实验发现在无光照变换,正面姿态,少量遮挡情况下,基于PCA的人脸识别系统的识别率很高,而且反应很迅速。当然也存在着一些问题,例如本文对图像的

14、光照变化,其他姿态没有进行考虑,但实际中这是无法忽略的问题,有可能会导致人脸识别识别率减小。为了进一步提高基于PCA的人脸识别系统的性能和适应性,我们可以通过以下几个方面进行改进:改进图像获取方法:我们可以通过使用人脸检测和跟踪算法,在图像获取的时候,动态跟踪和检测人脸,只采集最正确姿态下的人脸图像。这在一定程度可以解决姿态所引起的问题,但也同时对系统的检测和跟踪人脸的反应时间提出较严格的要求。如果反应时间较长,对于快速移动的人脸可能错过采集最正确姿态的图像,而导致系统无法识别人脸。改进人脸识别的分类器:最近邻法分类器属于一种线性分类器。在实际中可以利用神经网络这类学习能力强的非线性分类器对高

15、维人脸识别可能会取得更好的效果。综合不同的人脸识别方法:在目前,仅仅单独采用一种现有的人脸识别方法一般都不会取得很好的识别效果。各种技术和方法都有自己不同的适应环境和各自的特点。如果我们想进一步提高人脸识别系统的识别率,可以考虑使用数据融合理论,将不同的方法综合起来,相互补充,来取得很好的人脸识别效果。这也是为人脸识别的研究趋势之一。八、参考文献1 程自龙,雷秀玉基于K-L变换(PCA)的特征脸人脸识别方法综述J中国图像图形学报,2010,20(22):15-182 倪世贵,白宝刚基于PCA的人脸识别研究J现代计算机,2011,23(42):20-223 徐飞Matlab应用图像处理M. :电

16、子科技大学,20054 王映辉人脸识别:原理,方法与技术M. :科学,20105 田印中,董志学,黄建伟基于PCA的人脸识别算法研究与实现J科技与经济,2010,4(208):15-186 学胜基于PCA和SVM算法的人脸识别J计算机与数字工程,2011,14(3):56-587 惠明图像欧氏距离在人脸识别中的应用研究J计算机工程与设计,2008,3(14):22-25附程序代码:main.mclear allclcclose allTrainDatabasePath = (E:train);TestDatabasePath = (E:test);prompt = Enter test ima

17、ge name :;dlg_title = Input of PCA-Based Face Recognition System;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);Output

18、Name, Euc_dist_min = Recognition(TestImage, m, A, Eigenfaces);SelectedImage = strcat(TrainDatabasePath,OutputName);SelectedImage = imread(SelectedImage);if(Euc_dist_min4.5*1015) str = strcat(.,OutputName); disp(str) Euc_dist_minEndCreateDatabase.mfunction T = CreateDatabase(TrainDatabasePath)TrainFi

19、les = dir(TrainDatabasePath);Train_Number = 0;for i = 1:size(TrainFiles,1)if not(strcmp(TrainFiles(i).name,.)|strcmp(TrainFiles(i).name,.)|strcmp(TrainFiles(i).name,Thumbs.db) Train_Number = Train_Number + 1; endendT = ;for i = 1 : Train_Number str = int2str(i); str = strcat(,str,.jpg); str = strcat

20、(TrainDatabasePath,str); img = imread(str); img = rgb2gray(img); irow icol = size(img); temp = reshape(img,irow*icol,1); T = T temp; endEigenfaceCore.mfunction m, A, Eigenfaces = EigenfaceCore(T)m = mean(T,2);Train_Number = size(T,2);A = ; for i = 1 : Train_Number temp = double(T(:,i) - m; A = A tem

21、p; endL = A*A; V D = eig(L); L_eig_vec = ;for i = 1 : size(V,2) if( D(i,i)1 ) L_eig_vec = L_eig_vec V(:,i);endendEigenfaces = A * L_eig_vec; Recognition.mfunction OutputName, Euc_dist_min = Recognition(TestImage, m, A, Eigenfaces)ProjectedImages = ;Train_Number = size(Eigenfaces,2);for i = 1 : Train

22、_Number temp = Eigenfaces*A(:,i); ProjectedImages = ProjectedImages temp; endInputImage = imread(TestImage);%temp = InputImage;temp = rgb2gray(InputImage);%temp = InputImage(:,:,1);irow icol = size(temp);InImage = reshape(temp,irow*icol,1);Difference = double(InImage)-m;ProjectedTestImage = Eigenfaces*Difference; Euc_dist = ;for i = 1 : Train_Number q = ProjectedImages(:,i); temp = ( norm( ProjectedTestImage - q ) )2; Euc_dist = Euc_dist temp;endEuc_dist_min , Recognized_index = min(Euc_dist);OutputName = strcat(int2str(Recognized_index),.jpg);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!