您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 机器学习概述课程设计报告(MATLAB人脸识别)
山东大学威海机器学习概述课程设计报告题目:MATLAB人脸识别系统姓名:**学号:**专业:**时间:2015/8/7山东大学威海目录一、课程设计的目的..............................................................................二、设计的内容与要求..........................................................................三、详细设计..........................................................................................四、课程设计的总结..............................................................................五、参考文献..........................................................................................山东大学威海一.课程设计的目的人脸识别作为一项新兴的科学研究项目,有着广泛的应用前景,而且随着计算机技术的更新发展,它的科学研究价值也越发凸显。经过几十年的研发探讨,世界各大研究结构的研发人员的不断努力下,人脸识别技术一已取得丰硕的成果,可在一定限制条件下完成人脸的自动识别。这些成果的取得更促进了人们对人脸识别这一课题的深入研究。在电子商务飞速发展的今天,人脸识别系统的范畴一不足以涵括人脸识别的应用范围,在数字图像处理、视频领域、基于内容的检索等方面有着重要的应用价值。。二.设计的内容及要求1、选择KNN,聚类或SVM方法中的一种或其他机器学习方法的一种进行课程设计2、要求能完成具体的识别任务:如图像分割、语音识别、人脸识别3、要求识别的对象中有自己生活元素,比如图像中包括学校的图片或语音时本人的语音等。三.详细设计YCbCr空间——灰度图像转换——噪声消除——图像填孔——图像重构——人脸区域确定——边缘检测(原图-涉及个人隐私,未呈现原图)山东大学威海(YCbCr空间转换)(噪声消除)山东大学威海(图像填孔)(图像重构)山东大学威海(人脸区域的确定)山东大学威海(涉及个人隐私)四.课程设计的总结通过三天的学习以及课后学习,我利用SVM算法进行人脸识别,由于光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每张图片都具有自身的特色,将人脸区域从背景、衣着、发型等非人类区域中分割出来。一般使用的RGB图片不适合于建立人脸皮肤模型,因为在RGB空间中,使用三基色(r,g,b)表示图片的亮度以及颜色。在不同的环境下光照条件的改变,很难将肤色点从非肤色点中分离出来,如果在RGB图像上进行处理,将产生离散的肤色点,图片中间嵌有很多的非肤色点,提高了人脸检测的难度,容易产生不可靠的肤色分割。解决方法是隔离颜色表达式中的亮度信息与色度信息,充分利用色度空间中肤色所表示出来的聚类性。为此需要创造这样一个色彩空间,这个空间能把R、G、B所代表的色度信息与亮度信息分开表示。色彩空间常用的的转换颜色模型主要有:YIQ、YCbCr、HSV等。这里,采用YCrCb色彩空间作为报告的设计空间。经过颜色转换后大大缩减了人脸的搜索范围,为SVM算法提供更有效的方法。本次课程设计,我学会了很多有用的算法,并能够初步实现,了解机器语言的过程以及了解MATLAB强大的功能。五.参考文献山东大学威海[1]姚敏.数字图像处理[M].机械工业出版社,2006:2.[2]王爱民,沈兰荪.图像分割研究综述[J].测控技术,2000,19(5):1-5.[3]张德丰.详解MATLAB数字图像处理[M].北京:电子工业出版社,2010,7:249.[4]杨杰.数字图像处理及MATLAB实现[M].北京:电子工业出版社,2010,2:149-150.[5]张洪刚,陈光,郭军编著.图像处理与识别[M].北京:北京邮电大学出版社,2006:102-103.[6]韩晓军.数字图像处理技术与应用[M].北京:电子工业出版社,2009,7:38.[7]张化光,刘鑫蕊,孙秋野编著.MATLAB/SIMULINK实用教程[M].北京:人民邮电出版社,2009,3:235.[8]何东健.数字图像处理[M].西安:西安电子科技大学出版社,2008,5:86.[9]刘刚.MATLAB数字图像处理[M].北京:机械工业出版社,2010,5:199-200.附录:程序sum=0;iptsetpref('ImshowBorder','tight')%%%设置图像处理工具箱的参数f=imread('333.jpg');Ori_Face=f;copy=f;img=f;f=rgb2ycbcr(f);%rgb空间转换为ycbcr空间f_cb=f(:,:,2);f_cr=f(:,:,3);f=(f_cb=100)&(f_cb=127)&(f_cr=138)&(f_cr=170);%皮肤颜色在ycbcr色度空间的分布范围为:100=cb=127,138=cr=170figure(1);imshow(f);se=strel('square',3);%%构建一个3*3单位矩阵作为结构元素f=imopen(f,se);%%图片开运算f=imclose(f,se);%%图片闭运算figure(2),imshow(f);%%消除噪声f=imfill(f,'holes');%%%填孔处理figure(3),imshow(f);se1=strel('square',8);f=imerode(f,se1);f=imdilate(f,se1);figure(4),imshow(f);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%区域连通[L,num]=bwlabeln(f,4);设定操作的邻域类型为4-领域fori=1:num;[r,c]=find(L==i);r_temp=max(r)-min(r);c_temp=max(c)-min(c);temp=size(r);sum=sum+temp(1);area_sq=r_temp*c_temp;山东大学威海area=size(find(L==i),1);ratio=area/area_sq;if(r_temp/c_temp1.54)|(r_temp/c_temp2.4)|temp(1)14000|ratio0.55%利用脸部宽长比的大概上下限(1.54-2.4)来确定一个人脸范围.%脸部区域14000的去掉,一般为手或其他干扰.%矩形面积area_sq=目标区长度*宽度,目标区面积为area,若area/area_sq0.55,认为不是人脸区,删除之.forj=1:temp(1);L(r(j),c(j))=0;endelsecontinue;endendL=bwperim(L,8);%边缘检测,检测出人脸的边缘区域L=uint8(L);z=find(L(:)0);L(z)=255;figure(5),imshow(L);L_r=L;L_g=L;L_b=L;L_rgb=cat(3,L_r,L_g,L_b);%在原图上加框img1_r=min(L_r+img(:,:,1),255);img1_g=min(L_g+img(:,:,2),255);img1_b=min(L_b+img(:,:,3),255);img1=cat(3,img1_r,img1_g,img1_b);figure(6),imshow(img1);
本文标题:机器学习概述课程设计报告(MATLAB人脸识别)
链接地址:https://www.777doc.com/doc-2325371 .html