




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字图像处理实验报告院 系: 计算机科学学院 班 级: 计科11303 小组成员: 成员学号: 实验名称: 基于MATLAB的人脸识别算法 实验时间: 2015.10.01 - 2015.10.19 实验地点: 东4教2号机房 目 录一、绪论2二、实验设计2(一)实验题目2(二)实验目的2三、实验准备2(一)环境准备2(二)知识准备3四、算法设计3(一)问题描述31. 主成分的一般定义32. 主成分的性质43. 主成分的数目的选取4(二)PCA算法的功能实现51. 人脸空间的建立52. 特征向量的选取53. 人脸识别54. 识别流程6五、程序实现6(一)人脸识别程序61. 用户界面62. 选择图片63. 图片选择后64. 查找后6(二)测试及结果分析6六、实验总结7七、参考文献7一、绪论 随着科技的发展,人类社会的进步,传统身份识别由于容易遗失,容易被破解已不能起到身份识别作用。人们需要更加安全可靠的身份识别技术。而生物特征的独一无二,不易丢失和被复制的特性很好满足了身份识别的需要。同时随着计算机科学技术和生物医学的发展使得利用生物特征识别成为了可能。在生物特征识别领域,由于人脸识别的操作快速简单,结果直观,准确可靠,不需要人的配合等优点已成为人们关注的焦点。主成分分析(PCA)通过提取高维度的人脸图像的主元,使得图像在低维度空间中被处理来降低了图像处理的难度。由于其有效的解决了图像空间维数过高的问题,已经成为人脸识别领域非常重要的理论,本实验研究的是基于MATLAB人脸识别算法的实现。二、实验设计(一)实验题目机器人视觉基于MATLAB的人脸识别算法(二)实验目的1. 初步了解人脸识别的特征法;2. 学会使用主成分分析算法(PCA);3. 通过功能模块实现人脸识别系统;4. 完成数字图像处理课程的作业要求。三、实验准备(一)环境准备MATLAB 7.0(二)知识准备1. MATLAB的优势特点:(1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;(2) 具有完备的图形处理功能,实现计算结果和编程的可视化;(3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;(4) 功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。2. 主成分分析(Principal Component Analysis,PCA),将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。PCA是数字图像处理中经常用到的降维方法,在处理有关数字图像处理方面的问题时,比如经常用的图像的查询问题,在一个几万或者几百万甚至更大的数据库中查询一幅相近的图像。这时,我们通常的方法是对图像库中的图片提取响应的特征,如颜色,纹理,sift,surf,vlad等特征,然后将其保存,建立响应的数据索引,再对要查询的图像提取相应的特征,与数据库中的图像特征对比,找出与之最近的图片。如果为了提高查询的准确率,通常会提取一些较为复杂的特征,如sift,surf等,一幅图像有很多个这种特征点,每个特征点又有一个相应的描述该特征点的128维的向量,设想如果一幅图像有300个这种特征点,那么该幅图像就有300*vector(128维)个,如果我们数据库中有一百万张图片,这个存储量是相当大的,建立索引也很耗时,所以用PCA将其降维。四、算法设计(一)问题描述1. 主成分的一般定义设有随机变量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个。2. 主成分的性质主成分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主成分的方差, 即 Var(Ci)= li 其中li为相关矩阵R的第i个特征值(eigenvalue) ll1l2lp03. 主成分的数目的选取前面已指出,设有p个随机变量,便有p个主成分。由于总方差不增不减,C1,C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较小, 严格说来,只有前几个综合变量才称得上主(要)成份,后几个综合变量实为“次”(要)成份。实践中总是保留前几个,忽略后几个。 保留多少个主成分取决于保留部分的累积方差在方差总和中所占百分比(即累计贡献率),它标志着前几个主成分概括信息之多寡。实践中,粗略规定一个百分比便可决定保留几个主成分;如果多留一个主成分,累积方差增加无几,便不再多留。(二)PCA算法的功能实现1. 人脸空间的建立假设一幅人脸图像包含N个像素点,它可以用一个N维向量表示。这样,训练样本库就可以用i(i=1,.,M)表示。协方差矩阵C的正交特征向量就是组成人脸空间的基向量,即特征脸。将特征值由大到小排列:12.r,其对应的特征向量为k。这样每一幅人脸图像都可以投影到由u1,u2,.,ur张成的子空间中。因此,每一幅人脸图像对应于子空间中的一点。同样,子空间的任意一点也对应于一幅图像。2. 特征向量的选取虽然协方差矩阵最多有对应于非零特征值的k(k远小于M)个特征向量,但是通常情况下,k仍然很大,而事实上,根据应用的要求,并非所有的特征向量都有需要保留,而特征空间投影的计算速度是直接与创建子空间所用的特征向量的数目相关,若考虑到计算时间的因素,可以适当的减去一些信息量少的特征向量,而且,去掉这些特征向量之后不一定不利于分类结果,有的情况下反而能够提高识别性能。3. 人脸识别有了这样一个由特征脸张成的降维子空间,任何一幅人脸图像都可以向其投影得到一组坐标系数,这组系数表明了该图像在子空间中的位置,从而可以作为人脸识别的依据。换句话说,任何一幅人脸图像都可以表示为这组特征脸的线性组合,其加权系数即是K-L变换的展开系数,也可以称为该图像的代数特征。因此,在获得特征脸之后,就可以对每一类别的典型样本进行投影,由此得到每个人脸的投影特征从而构成人脸特征向量,作为下一步识别匹配的搜索空间。输入图像及其在人脸空间上的投影(重构图像),人脸图像在人脸空间中的投影变化不明显而非人脸图像的投影变化明显。因此,检测一幅图像中是否存在人脸的基本思想是,计算该图像中任意位置处的局部图像与人脸空间之间的距离。其中,是局部图像是否为人脸的度量。因此,计算给定图像任意一点上的,就可以得到一映射图(x,y)。4. 识别流程五、程序实现(一)人脸识别程序1. 用户界面2. 选择图片3. 图片选择后4. 查找后(二)测试及结果分析实验在两个图库上测试,一个是自建人脸库,该库包含10个不同人物,每人有5张不同表情和姿态下的图片,总共50幅。另一个是ORL人脸库,该库包含40个不同人物,每人有10张图片,共400幅。用训练样本进行测试,识别率为100%。而随着训练样本的增加,识别率会有所提升,由于标准人脸库在采集时考虑了多种因素,人脸图像比较标准,所以识别率较自建人脸库识别率高,另外因为自建人脸库的图片太少,即训练样本太少,也会对结果产生影响,效果不是很好。进行直方图均衡化比灰度归一化的识别率高,预处理对识别的效果起着至关重要的作用。而此次实验的预处理还比较粗糙,PCA也只是起到了简单的特征脸降维的作用,要有更好的效果,还必须寻找更好的特征表达,使得可以尽量消除光照、表情、遮掩和姿势的影响。(三)程序源码1. “读取图片”按钮% 读取待查找图片global im;%由于要在两个按钮函数中使用,故使用全局变量filename, pathname=. uigetfile(*.bmp,选择图片);str = pathname, filename;%合成路径+文件名im = imread(str);%读取图片axes( handles.axes1);%使用第一个axesimshow(im);title(待查找)%显示图片2. “开始查找”按钮% PCA人脸识别global im;%使用全局变量imgdata=;%训练图像矩阵for i=1:10 for j=1:5 a=imread(strcat(C:UsersdellDesktopORLs,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;%最小距离法,寻找和待识别图片最为接近的训练图片for k=1:50 temp= norm(object - reference(:,k); if (distance temp) which = k; distance = temp; end;end;%找出距离最近的图片所在的位置num1 = ceil(which/5);%第num1个文件夹num2 = mod(which,5);%第num2个图片文件if (num2 = 0) num2 = 5;end;I=imread(strcat(C:UsersdellDesktopFaces,num2str(num1),num2str(num2),.bmp);%读取该图片axes( handles.axes2);%使用第2个axes%输出判断所最接近的训练样本的人脸图片并显示其人名switch num1 case 1 imshow(I);title(此人为 Peter);%显示图片及人名 case 2 imshow(I);title(此人为 Ben); case 3 imshow(I);title(此人为 Nick); case 4 imshow(I);title(此人为 Park); case 5 imshow(I);title(此人为 Linkin); case 6 imshow(I);title(此人为 Andy); case 7 imshow(I);title(此人为 Arthur); case 8 imshow(I);title(此人为 Lisa); case 9 imshow(I);title(此人为 Dana); case 10 imshow(I);title(此人为 Sara); end;3. “退出”按钮% 退出close(gcf);六、实验总结因为我以前学过Matlab,所以本次试题我采用了Matlab中的GUI(图形用户界面)为主要表现形式,我认为在这次的题目下GUI比单纯的M文件会有更强的应用、测试及表现效果,但由于之前对人脸识别算法不太了解,所以花了很长时间去分析理解,最终选择了较为简单且实用的PCA算法。从使用的角度考虑,我还为库中的每个人取了一个名字,最终查找到时会在标题处显示其名字,下方显示库中与测试图片最接近的库图片。因为是利用了标准人脸库,并且识别的人数不是很多,所以最终的结果还是非常不错的,识别率可达100%。七、参考文献1 张翠平,苏光大人脸识别技术综述J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电缆基本知识培训内容总结
- 小学班主任如何做好学生心理健康教育工作
- 电的基础知识培训课件
- 电煤知识培训总结课件
- 北京化学物理高考试卷及答案
- Pentyl-4-hydroxybenzoate-d11-Amylparaben-d-sub-11-sub-生命科学试剂-MCE
- Argininic-acid-13C6-L-Argininic-Acid-sup-13-sup-C-sub-6-sub-生命科学试剂-MCE
- N-Ethyl-3-4-methylenedioxy-aniline-d5-N-Ethyl-3H-1-2-benzodioxol-6-amine-d-sub-5-sub-生命科学试剂-MCE
- 软件开发合同(编号2)
- 护士公招考试题及答案
- 天津市南开区2023-2024学年六年级下学期期末数学试题
- 《全面质量管理》习题集(含答案)
- DB21T 3947-2024 普通公路装配式混凝土桥梁下部工程施工技术规范
- 高中数学选择性必修1 教材习题答案
- DL∕T 432-2018 电力用油中颗粒度测定方法
- 《水处理生物学》课件
- 人教版五年级下册数学选择题大全带答案解析
- 酒店开业客房筹备倒计时模板
- 2024中国保险发展报告-中南大风险管理研究中心.燕道数科
- ASTM 标准中文版 A和B系列2021
- GB/T 43681-2024生态系统评估区域生态系统调查方法
评论
0/150
提交评论