您好,欢迎访问三七文档
实验1:模式识别预处理实验实验目的:使学生掌握模式识别预处理的常用方法,包括去噪、锐化、增强、形态学运算等。在Matlab环境下,让学生熟练掌握去噪、锐化、增强、形态学等处理的代表性函数。实验内容:对图像进行去噪、锐化、增强、形态学运算等预处理操作,并研究相应函数的参数选择,得到最优预处理效果。通过help函数名进行查询相应的函数说明。实验方法:基于Matlab软件,采用相应的函数进行预处理操作。实验步骤:题目1:对“lena.bmp”图添加密度为0.05的椒盐噪声,并对图像进行中值滤波,分别采用3×3的窗口和7×7进行中值滤波,比较他们效果的优劣,并说明理由。图为0.05的椒盐噪声图3*37*7答:3*3的窗口进行中值滤波比7*7的效果好,图像特征更加明显,因为3*3正方体窗口更加细致,对二维卷积效果更好。题目2:对“rice.tif”图添加均值为0、方差为0.005的高斯噪声,为0.05的椒盐噪声,并采用edge命令中的’canny’方法进行锐化,分别阈值为0.1、0.2、0.3阈值进行锐化提取边缘,比较他们效果的优劣。原图0.10.20.3答:阈值越高,边缘提取效果越优秀,阈值低,背景,噪声影响存在,不能完全显示目标边缘。代码如下:A=imread('rice.tif');I=imnoise(A,'gaussian',0,0.005);%对图像加高斯噪声imshow(I);BW1=edge(I,'canny',0.3);%Sobel算子figureimshow(BW1);题目3:采用imadjust函数,对“pout.jpg”图像进行灰度分段线性变换,从而对图像进行增强,首先将图像在0.4*255~0.6*255灰度之间的值通过线性变换映射到0~255之间,效果如何?如果不好,请找出一个更优的线性映射方式。以下是效果图:灰度值集中,目标与背景色调一致,比较模糊,分辨困难。下面是0.3*255到0.7*255灰度之间的值线性变换映射到0到255之间的效果。效果明显较好,灰度值跨度大,目标特征鲜明,与背景色调对比明显,突出目标重点细节。代码如下:B=imread('pout.jpg');%读入图像A=rgb2gray(B);imshow(A);%显示图像figureimhist(A);%显示图像的直方图J1=imadjust(A,[0.30.7],[]);%函数将图像在0.3*255~0.7*255灰度之间的值通过线性变换映射到0~255之间figure,imshow(J1);%输出图像效果图figureimhist(J1)%输出图像的直方图题目4:对“fingerprint.bmp”图像先进行一次开运算,对开运算的结果上再进行一次闭运算,开、闭运算的结构采用“se=strel('square',3)”(同时对比采用“se=strel('square',4)”的结果)。答:se=strel('square',3)的对目标特征有损坏,而se=strel('square',4)的效果整体较好。closeallclearA=imread('fingerprint.bmp');J=rgb2gray(A);figureimshow(J)se=strel('square',3);%开、闭运算结构fo=imopen(J,se);%开运算figureimshow(fo)fo1=imclose(J,se);%闭运算figureimshow(fo1)se1=strel('square',4);%开、闭运算结构fo2=imopen(J,se1);%开运算figureimshow(fo2)fo3=imclose(J,se1);%闭运算figureimshow(fo3)实验心得:本次实验比较简单,进行比较顺利,没有出现太大的问题,希望能再接再厉。实验2:基于PCA的人脸特征提取实验目的:使学生了解模式识别数据降维的主要思想,并以PCA为例,将其应用于人脸特征提取和降维,让学生掌握采用PCA进行图像降维和特征提取。实验内容:学习PCA方法的基本原理,并对PCA方法进行应用。实验方法:基于Matlab软件,掌握PCA方法的基本原理与应用。题目1:运行PCA文件夹下的main函数,基于函数中的说明,进行学习理解,并完成以下任务:(1)基于PCA将数据降至20维(即k=20),对比当人数为20人与当人数为40人的时候,20个主成分脸的差别,并给出两种情况下的20个主成分脸的结果;(2)给出当人数为40人,将数据降至10维的主成分脸结果(提示:当k不是20的时候,visualize_pc函数会出错,故要重写该函数)。答:(1)(40人)(20人)虽然两种情况,人脸都挺模糊,但20人的脸部特征出现了基本轮廓,比40人的效果好一点。(2)将数据降至10维的主成分脸结果:题目2:运行PCA文件夹下的main1函数,基于函数中的说明,进行学习理解,并完成以下任务:(1)对第一个人脸,请分别给出原图,以及使用50、100、150个主分量进行图像近似的结果,并给出近似误差;(2)对第二个人脸,请给出原图,以及使用200个分量进行图像近似的结果,并给出近似误差。(1)从左往右,从上往下分别是:原图,50,100,150的近似结果近似误差如下:(2)第二个人的图片和200分量近似结果:近似误差分析:实验心得体会:visualize_pc函数会出错,重写该函数的时候有点问题,不知道从何下手,经过一步步的实践和调试,分析出了原因也解决了问题。实验时候要认真细致才能减少错误。实验3:基于PCA和SVM的人脸识别系统实验目的:本实验目的是让学生了解模式识别系统的主要思想,并以PCA进行特征提取和降维,并用SVM进行分类,让学生掌握特征提取和机器学习的典型方法,并能进行推广应用。实验内容:主要使用PCA算法和SVM分类器设计人脸识别算法,从ORL人脸图像数据库中,构建自建人脸训练数据库和测试数据库,采用PCA进行特征脸提取,并实现人脸识别。通过PCA变换和SVM在人脸识别中的应用,加深对所学内容的理解和认识,进一步加深理解模式识别的算法。实验方法:基于Matlab软件,掌握PCA方法和SVM的基本原理与应用。题目:(1)一个完整的识别结果如图2所示,请进行多次识别实验,并给出3组不同的识别结果图;(2)阅读train.m文件,并将PCA维数分别降到10、15、20维,并给出相应的主成分脸(提示:要重写visualize_pc(W)函数;每次修改降到不同维数时,需要重新训练,即要再次点击“训练”按钮)以及每个给出一组识别实验结果;(3)进行测试实验,当降到20维时候,识别率是多少?阅读test.m文件,查出识别错误的有哪几个类(给出类别号码就可以),并给出2个例子,即原图以及被错分成哪一类的图;(4)当维数分别为5、10、15、20时,测试所有的样本,识别率分别为多少?(1)3组不同的识别结果图;(2)给出相应的主成分脸(10维)(15维)(20维)(3)进行测试实验,当降到20维时候,识别率是多少?识别率为84.5%查出识别错误的有哪几个类(给出类别号码就可以)错误识别为第一类。(4)识别率5维10维15维20维实验心得:查找识别错误哪一类有点困难,通过询问查找后解决困难,还是比较开心的。有成就感。
本文标题:数字人脸识别
链接地址:https://www.777doc.com/doc-2387629 .html