数字图像报告_基于PCA算法的人脸识别_第1页
数字图像报告_基于PCA算法的人脸识别_第2页
数字图像报告_基于PCA算法的人脸识别_第3页
数字图像报告_基于PCA算法的人脸识别_第4页
数字图像报告_基于PCA算法的人脸识别_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、数字图像处理作业 姓名: XXXXXXX专业:信息与通信工程学号:201XXXXXXXXXX作业1:基于PCA算法的人脸识别1. PCA算法原理主成分分析(Principal Component Analysis, 简称PCA)是一种常用的基于变量协方差矩阵对信息进行处理、压缩和抽提的有效方法。PCA方法由于其在降维和特征提取方面的有效性,在人脸识别领域得到了广泛的应用。利用K-L变换抽取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。利用特征脸法进行人脸识别的过程由训练阶段和识别阶段两个阶段组成 其具体步骤如下: 第一步:训练集

2、有400个样本,由灰度图组成,每个样本大小为M*N写出训练样本矩阵: (1)其中向量xi为由第i个图像的每一列向量堆叠成一列的MN维列向量,即把矩阵向量化, 如:第i个图像矩阵为则xi为第二步:计算平均脸计算训练图片的平均脸(2) 第三步:计算差值脸计算每一张人脸与平均脸的差值 (3)第四步:构建协方差矩阵 (4) (5)第五步:求协方差矩阵的特征值和特征向量,构造特征脸空间协方差矩阵的维数为MN*MN,考虑其维数较大,计算量比较大,所以采用奇异值分解(SingularValue Decomposition ,SVD)定理,通过求解 的特征值和特征向量来获得 的特征值和特征向量。求出 的特征值

3、 及其正交归一化特征向量 根据特征值的贡献率选取前p个最大特征向量及其对应的特征向量贡献率是指选取的特征值的和与占所有特征值的和比,即:(6) 一般取 即使训练样本在前p个特征向量集上的投影有99%的能量(7)求出原协方差矩阵的特征向量(8)则“特征脸”空间为: 第六步将每一幅人脸与平均脸的差值脸矢量投影到“特征脸”空间,即(9)识别阶段则包括以下几个步骤:第一步:将待识别的人脸图像 与平均脸的差值脸投影到特征空间,得到其特征向量表示: (10)第二步:定义阈值 (11)第三步:采用欧式距离来计算 与每个人脸的距离 (12)为了区分人脸和非人脸,还需要计算原始图像 与由特征脸空间重建的图像 之

4、间的距离 (13)其中: (14)根据以下规则对人脸进行分类:1)若 ,则输入图像不是人脸图像;2)若 ,且 , 则输入图像包含未知人脸;3)若 ,且 , 则输入图像为库中第k个人的人脸。2.实验结果分析本实验是在人脸库ORL上的测试,该库包含40个不同人物,每人有10张图片,共400幅。标准人脸库在采集时考虑了多种因素,人脸图像比较标准,所以识别率达到100%,由于PCA只是一个算法,可以自建库进行识别,但效果较标准的ORL人脸库识别率较低,不过会随着自建库中图片数目的增多,而有所改善,进行直方图均衡化比灰度归一化的识别率高,预处理对识别的效果起着至关重要的作用。而此次实验的预处理还比较粗糙

5、,PCA也只是起到了简单的特征脸降维的作用,要有更好的效果,还必须寻找更好的特征表达,使得可以尽量消除光照、表情、遮掩和姿势的影响。下为测试流程截图: 图1 用户使用界面 图2 选择图片 图3 选择图片后 图4 检测到的图片3.总结以前听过GUI,也见过但从来没用过,这次我觉得用GUI用户界面来实现PCA算法的人脸识别较为直观,故花了点功夫学学了有关GUI的东西,只是一个算法,只要掌握算法,便可实现其他的像指纹图像识别,或我们自定义的其他图片,但人脸库是最标准最容易实现的,且采用其他的自定义的图像进行识别要进行其他灰度变换等一系列的处理,我的编程不好,再加上时间问题,故最后还是采用了最简单的基

6、于人脸库的人脸识别,采用此人脸库最终识别率可达。我相信此程序略加改动,只要改动其对应参数即可便可实现其自定义库的图像识别,由于时间问题我会在以后继续努力争取实现其自定义的图像识别。附录matlab 源码1.“读取图片”按钮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 wit

7、h handles and user data (see GUIDATA)% 读取待查找图片global im;%由于要在两个按钮函数中使用,故使用全局变量filename, pathname=. uigetfile(*.bmp,选择图片);str = pathname, filename;%合成路径+文件名im = imread(str);%读取图片axes( handles.axes1);%使用第一个axesimshow(im);title(待查找)%显示图片2.“开始查找”按钮function pushbutton2_Callback(hObject, eventdata, handle

8、s)% 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:40 for j=1:10 a=imread(strcat(E:MATLABLEORLs,num2str(i),num2str(j),.bmp); b=a(1:

9、112*92); % b是行矢量 1N,其中N10304 b=double(b); imgdata=imgdata; b; % imgdata 是一个M * N 矩阵,imgdata中每一行数据一张图片,M400 end;end;imgdata=imgdata; %每一列为一张图片imgmean=mean(imgdata,2); % 平均图片,N维列向量for i=1:400 minus(:,i) = imgdata(:,i)-imgmean; % minus是一个N*M矩阵,是训练图和平均图之间的差值end;covx=minus* minus; % M * M 阶协方差矩阵COEFF, la

10、tent,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% 将训练

11、样本对坐标系上进行投影,得到一个 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:400 temp= norm(object - reference(:,k); if (distance temp) which = k; distance = temp; end;end;%找出距离最近的图片所在的位置num1 =

12、 ceil(which/10);%第num1个文件夹num2 = mod(which,10);%第num2个图片文件if (num2 = 0) num2 = 10;end;I=imread(strcat(E:MATLABLEORLs,num2str(num1),num2str(num2),.bmp);%读取该图片axes( handles.axes2);%使用第2个axes imshow(I);title(检测到的);3.“退出”按钮function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pus

13、hbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% 退出close(gcf)作业2: x,y方向的匀速运动,图像模糊的退化函数1. 匀速直线运动模糊图像的退化模型原理在所有的运动模糊中,由匀速直线运动造成的模糊图像的复原问题更具有一般性和普遍意义。因为变速的、非直线运动在某些条件下可以被分解为分段匀速直线运动。将退化的点扩散函数记作h(x,y),在不考虑噪

14、声干扰的情况下,由目标与摄像机相对运动造成的图像模糊模型可以用图5来描述:图5匀速直线运动模糊图像的退化模型其中,原始图像f(x,y)在图像平面上做匀速直线运动,在x方向和y方向上的运动变化分量分别为和,在快门打开期间T内,底片上的像素(x,y)的总曝光量是图像在运动过程中照到该点的像点亮度作用的总和,即匀速直线运动模糊图像的连续函数模型为: (15)式中g(x,y)为模糊后的图像。对其进行傅里叶变换得: (16) 由傅立叶变换的位移性质可知: (17)令 (18)如果模糊图像是由景物在X方向上作匀速直线运动造成的,则模糊后图像任意点的值为: (19)式中是景物在X方向上的运动分量,若图像总的

15、位移量为a,总的时间为T,则运动的速率为=atT,则上式(15)变为: (20)则退化函数为: (21)2.结果分析(1)第一种下面是elain在x方向的移动距离是0.02,在y方向移动距离是0.01后的模糊图像 图6 原图像 图7 运动模糊后的图像源代码:I=imread(E:MATLABLE elain.bmp);figure;imshow(I)title(原图像)n1,n2=size(I);T=1;a=0.02;b=0.01;I=double(I);g=fft2(I);for k=1:n1 for j=1:n2 g(k,j)=T/(pi*(k*a+j*b)*sin(pi*(k*a+j*b)*exp(-i*pi*(k*a+j*b)*g(k,j); endendf=fft(I);h=g/f;g1=ifft2(g);g2=uint8(real(g1);figure;imshow(g2);title(运动模糊图像)其中g为运动模糊图像,f是原图像,其退化模型为h,因为g=f*h,故h=g/f;其程序中的h即为所求。(2)第二种这个用的是两个函数fspecial和imfilter图8 原图像 图9 模糊图像 I=imread(barbara.bmp);figure(1);imshow(I);LEN=30;THETA=75;PSF

温馨提示

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

评论

0/150

提交评论