![基于matlab的人脸识别系统设计与仿真设计说明_第1页](http://file4.renrendoc.com/view/39badae5e1299fc95627f4f5bee2c24f/39badae5e1299fc95627f4f5bee2c24f1.gif)
![基于matlab的人脸识别系统设计与仿真设计说明_第2页](http://file4.renrendoc.com/view/39badae5e1299fc95627f4f5bee2c24f/39badae5e1299fc95627f4f5bee2c24f2.gif)
![基于matlab的人脸识别系统设计与仿真设计说明_第3页](http://file4.renrendoc.com/view/39badae5e1299fc95627f4f5bee2c24f/39badae5e1299fc95627f4f5bee2c24f3.gif)
![基于matlab的人脸识别系统设计与仿真设计说明_第4页](http://file4.renrendoc.com/view/39badae5e1299fc95627f4f5bee2c24f/39badae5e1299fc95627f4f5bee2c24f4.gif)
![基于matlab的人脸识别系统设计与仿真设计说明_第5页](http://file4.renrendoc.com/view/39badae5e1299fc95627f4f5bee2c24f/39badae5e1299fc95627f4f5bee2c24f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE34 / NUMPAGES35基于Matlab的人脸识别系统设计与仿真摘要人脸识别即指利用分析比对人脸视觉特征信息从而达到身份鉴别效果的计算机技术。人脸识别是一项当下十分热门的计算机技术的研究领域,该项技术可以人脸明暗侦测,并且自动调整动态曝光补偿,同时对人脸追踪侦测,并自动调整影像放大;这项技术属于生物特征识别技术的一种,是利用生物体(一般指人)本身的生物特征从而达到区分生物体个体的目的。人脸识别技术目前主要用做身份识别。由于视频监控的飞速普与,使这项应用迫切的需要一种能实现在用户非配合状态下、远距离的进行快速身份识别的技术,以求能在远距离之下快速识别人员身份,从而实现智能预警的功
2、能。最佳的选择无疑是人脸识别技术。采用快速人脸检测识别技术可以从视频监控图象中实时捕获到人脸信息,并与人脸数据库中的已存信息进行实时比对,从而达到快速身份识别的效果。报告利用MATLAB软件来实现人脸信息检测与识别,利用YCbCr空间以与灰度图像来实现人脸的边缘分割, 将真彩图像转换为灰度图像,并根据肤色在YCbCr色度空间上的分布围,来设定门限阀值,从而实现人脸区域与非人脸区域的分割,通过图像处理等一系列的操作来剔除干扰因素,再通过长宽比和目标面积等方法在图像中定位出人脸区域,经试验,该方法能够排除面部表情、衣着背景、发型等干扰因素,从而定位出人脸区域。关键词:Matlab软件;灰度图像;边
3、缘分割;人脸区域AbstractFace recognition especially use comparative analysis face visual feature information for identification of computer technology. Face recognition is a hot research field computer technology, face detection, light and shade can be automatically adjusted dynamically exposure compensatio
4、n, human face tracking detection, automatic adjustment of image magnification; It belongs to the biometric identification technology, it is of organisms (generally refers to a person) individual biological characteristics to distinguish between the organism itself.Face recognition is mainly used for
5、 identification. Because of the video monitoring is fast popularization, many of the video monitoring application is an urgent need to a long distance, the user not cooperate condition of rapid identification technology, in order . Face recognition technology is undoubtedly the best choice, the fast
6、 face detection technology to monitor in real-time video image search from face, and with real-time than face database, so as to realize rapid identification.Report using MATLAB software to realize face information detection and recognition, using YCbCr space and gray image to realize the face edge
7、segmentation, the true color image is converted to a grayscale image, and according to the color of skin in YCbCr chroma space distribution, to set the threshold threshold, so as to realize the segmentation of face region with the face region, through a series of operations such as image processing
8、to eliminate interference factors, and through such means as aspect ratio and the target area locate the face region in the image, the experiment, this method can eliminate facial expressions, clothes, hair background interference factors, so as to locate the face region.Keywords:Matlab;Gray image;e
9、dge segmentation;face region目录 TOC o 1-3 h z u HYPERLINK l _Toc422046173摘要 PAGEREF _Toc422046173 h 1HYPERLINK l _Toc422046174Abstract PAGEREF _Toc422046174 h 2HYPERLINK l _Toc422046175目录 PAGEREF _Toc422046175 h 3HYPERLINK l _Toc422046176第1章绪论 PAGEREF _Toc422046176 h 4HYPERLINK l _Toc4220461771.1 课题的
10、研究背景、目的与意义 PAGEREF _Toc422046177 h 4HYPERLINK l _Toc4220461781.1.1 课题的研究背景 PAGEREF _Toc422046178 h 4HYPERLINK l _Toc4220461791.1.2 研究目的与意义 PAGEREF _Toc422046179 h 5HYPERLINK l _Toc4220461801.2 本课题的主要容 PAGEREF _Toc422046180 h 5HYPERLINK l _Toc422046181第2章图像处理的Matlab实现 PAGEREF _Toc422046181 h 6HYPERLI
11、NK l _Toc4220461822.1 识别系统构成 PAGEREF _Toc422046182 h 6HYPERLINK l _Toc4220461832.2 人脸图像的读取与显示 PAGEREF _Toc422046183 h 7HYPERLINK l _Toc4220461842.3 图像类型的转换 PAGEREF _Toc422046184 h 7HYPERLINK l _Toc4220461852.4 图像增强 PAGEREF _Toc422046185 h 8HYPERLINK l _Toc4220461862.5 灰度图像平滑与锐化处理 PAGEREF _Toc4220461
12、86 h 9HYPERLINK l _Toc4220461872.6 边缘检测 PAGEREF _Toc422046187 h 11HYPERLINK l _Toc422046188第3章人脸识别计算机系统 PAGEREF _Toc422046188 h 12HYPERLINK l _Toc4220461893.1 系统基本构架 PAGEREF _Toc422046189 h 12HYPERLINK l _Toc4220461903.2 人脸检测定位算法 PAGEREF _Toc422046190 h 12HYPERLINK l _Toc4220461913.3 匹配与识别 PAGEREF _
13、Toc422046191 h 17HYPERLINK l _Toc422046192结论 PAGEREF _Toc422046192 h 24HYPERLINK l _Toc422046193致 PAGEREF _Toc422046193 h 25HYPERLINK l _Toc422046194参考文献 PAGEREF _Toc422046194 h 26HYPERLINK l _Toc422046195附录1 人脸识别的MATLAB源程序 PAGEREF _Toc422046195 h 27HYPERLINK l _Toc422046196附录2 外文参考文献与翻译 PAGEREF _To
14、c422046196 h 31第1章 绪论1.1 课题的研究背景、目的与意义1.1.1 课题的研究背景数字图像处理技术是20世纪60年代发展起来的一门新兴技术。近30多年来,在计算机科技和大规模集成电路技术的迅猛发展、离散数学理论创立和完善,以与工业、军事、医学等方面的应用需求在不断增长,人脸识别技术已经在人机交互、安全验证系统、系统公安(罪犯识别等)、医学、档案管理、信用卡验证、视频会议等方面的巨大应用前景而越来越成为当前模式识别和人工智能领域的一个研究热点。目前,人脸识别技术应用最广泛的地方就是各大公司、商场、政府机构的门禁考勤系统。20世纪90年代后期以来,一些商业性的人脸识别技术系统逐
15、渐进入市场。自美国遭遇恐怖分子袭击事件后,这一技术引起了社会各方的广泛关注。由于隐蔽性十分好,该项技术逐渐成为国际反恐与安全防的重要手段之一。人脸识别技术在中国也有迅猛发展的历史。国家“十一五”科技发展规划就将人脸识别技术的研究与发展列入其中,并明确指出“要在生物特征识别技术领域缩小与世界先进水平的差距,开展生物特征识别应用技术研究,开发具有高安全性、低误报率的出入口控制新产品。”在这种形势下,国一些科研院所在人脸识别技术上有了重大发展和突破。如清华大学、中科院计算机所、中科院自动化所等自主研发的人脸识别技术已经达到了国际先进的水平。经过多年的研发探索,在世界各大研究机构的研发人员的共同努力下
16、,人脸识别技术这一领域取得了丰硕的成果,这些研究成果的取得和科技的进步,更进一步推动了人类对人脸识别技术这一高端技术的深入研究。人脸识别技术,顾名思义,指利用采集、分析、比较人脸视觉特征信息来进行身份鉴别的计算机技术。广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以与身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。它是人们一直所追求的让机器智能化技术,就是让机器具备和人类一样的思考能力,识别能力以与处理事务的能力。而人脸识别技术的研究就是在这样的背景下发展起来的。1.1.2 研究目的与意义目前,人脸识别
17、技术已经广泛用于军队、政府、社会福利保障、银行、安全防务与电子商务等领域。而我们研究这项技术的目的就是让其更好地服务于人类社会,在这个生活快节奏的前提下,与人方便。例如京沪高铁三站将建立人脸识别系统,即使整容也能被识别。铁路部门发布计划时表示,将在京沪高铁段的西站、西站、虹桥站这三个站点,建立人脸识别系统工程,以此来协助公安部门甄别、抓捕在逃罪犯。利用这个系统,即使作案后的犯罪分子进行整容,也会被识别。研究人脸识别技术,在现实意义上具有重大意义:一是能进一步加强对人类视觉系统本身的认知;二是能够满足人类社会中对人工智能应用的广泛需要。同时人脸识别技术又有自然性、无侵犯性、成本低、智能化等几个显
18、著优势。人脸识别技术的研究也有重大的学术价值。由于人类有非常复杂的细节变化,例如眼镜、胡须、发型等附属物的干扰,这就给该项技术带来了巨大挑战。成功构造出人脸识别系统将为解决其他与之类似的复杂问题提供重要的启示。1.2 本课题的主要容本次课题主要讲述了人脸识别中应用Matlab对图像进行预处理,通过人脸检测、人脸跟踪、人脸比对来实现基于Matlab的人脸识别系统的仿真。利用Matlab实现一个集多种预处理方法于一体的通用的人脸识别仿真系统,将该系统作为图像预处理模块嵌入在人脸识别系统中,并利用灰度图像的直方图比对来实现人脸图像的识别判断。文中在研究人脸识别技术的仿真过程中,主要涉与了YCbCr空
19、间、灰度图像转换、噪声消除、图像填孔、图像重构、人脸区域确定、边缘检测等技术。通过多次实验并比对各个算法和技术的优缺点,有效地实现了基于Matlab的人脸识别系统的设计与仿真,并达到了预期目标和效果。第2章 图像处理的Matlab实现2.1 识别系统构成人脸识别技术系统主要可分为四个组成部分,分别为:人脸图像采集与检测、人脸图像预处理、人脸图像特征提取以与匹配与识别。一般人脸识别系统构架如图2.1所示:人脸图像采集与检测人脸图像预处理人脸图像特征提取匹配与识别图2.1 人脸识别系统构架(1)人脸图像采集与检测人脸图像采集:人脸图像信息都能通过摄像镜头采集记录下来,比如不同位置、不同表情、静态图
20、像、动态图像等方面都能得到很好的采集。当目标在采集设备拍摄的围时,采集设备会自动搜索并采集目标的人脸图像;人脸检测:在实际中主要应用于人脸识别的预处理,即在采集到的图像中准确定位出人脸的位置。人脸图像中包含的模式特征非常丰富,如模板特征、结构特征、直方图特征、颜色特征等。人脸检测就是挑出这其中有用的特征信息,并利用这些特征来实现人脸识别。(2)人脸图像预处理人脸图像预处理:所谓人脸图像预处理,就是基于人脸检测结果,并对人脸图像进行处理,最终服务于人脸特征提取的过程。系统获取的原始人脸图像由于受到随机干扰和各种条件的限制,通常不能直接使用,所以必须在人脸图像处理过程中要先对它进行灰度图像、噪声过
21、滤等图像预处理。而对于人脸图像,预处理的过程主要涉与灰度变换、人脸图像的光线补偿、几何校正、直方图均衡化、归一化、滤波以与锐化等。(3)人脸图像特征提取人脸图像特征提取:人脸识别系统通常会使用的特征分为视觉特征、人脸图像变换系数特征、像素统计特征以与人脸图像代数特征等。所谓人脸特征提取即针对人脸的某些特征进行的提取。人脸特征提取,也被称为人脸表征,是对人脸特征进行建模的过程。人脸特征提取的方法总结起来可以分为两大类:一种是基于统计学习或代数特征的表征方法;另一种是基于知识的表征方法。(4)匹配与识别人脸图像的匹配与识别:将提取到的图像特征数据与数据库中已存的特征模板进行搜索匹配,设定一个阈值,
22、当相似度超过这一阈值时,则把匹配所得到的结果输出。人脸识别就是将待识别的人脸特征与已存储的人脸特征模板进行比对,依据相似度对该人脸图像的身份信息进行判别。这一过程主要分为两步:第一步是确认,就是一对一进行图像比较的过程,第二步是辨认,就是一对多进行图像匹配对比的过程。2.2 人脸图像的读取与显示人脸图像的读取和显示可通过imread( )和imshow( )指令来实现;图像的输出可以用imwrite( )函数,很方便快捷的将图像输出到电脑硬盘上;另外还可以通过imcrop( )、imrisize( )、imrotate( )等函数来实现图像的裁剪、缩放与旋转等功能。2.3 图像类型的转换Mat
23、lab支持多种图像类型,在很多图像操作处理中,对图像的类型有要求,所以就涉与到了对图像的类型进行转换。Matlab7.0图像处理工具箱包含了不同图像类型之间相互转换的大量函数,如rgb2gray()可以将颜色映像表或RGB图像转换为灰度图像,通过mat2gray()函数能实现矩阵转换为灰度图像的功能。在类型转换的处理过程中,我们还会经常遇到数据类型不匹配的问题,针对这一问题,Matlab7.0工具箱中为我们提供了各种数据类型之间相互转换的函数,例如double()函数的功能就是将数据转换为双精度数据类型。因为后续的图像增强、边缘检测等都是针对灰度图像进行的,而原图像是RGB图像,所以我们首先要
24、对原图像进行类型转换。实现过程代码如下:i=imread(F:2.JPG);j=rgb2gray(i);imshow(j);imwrite(j,F:2.tif)转换后的灰度图像如图2.2所示:图2.2 灰度图像2.4 图像增强图像增强的目的是改善图像的视觉效果,或者使图像更适合于人或机器进行分析处理。通过图像增强,可以减少图像中的噪声,提高目标与背景的对比度,也可以强调或抑制图像中的某些细节。例如,消除照片中的划痕,改善光照不均匀图像,突出目标的边缘等。实现图像的灰度转换的方法有很多,其中最常用到的是直方图变换的方法,即直方图的均衡化。该种方法是使输出图像直方图近似服从均匀分布的变换方法。Ma
25、tlab7.0图像处理工具箱中为我们提供了图像直方图均衡化的函数histeq(),我们也可以通过imhist()函数计算和显示图像的直方图。通过原图与直方图均衡化后图像对比可以发现,图像变得更加清晰,并且均衡化后的直方图相对于原直方图的形状更为理想。实现过程代码如下:i=imread(F:2.tif);j=histeq(i);imshow(j);figure,subplot(1,2,1),imhist(i);subplot(1,2,2),imhist(j)执行后得到的图像如下所示:图2.3 均衡化后的灰度图像 图2.4 均衡化前后的直方图对比图2.5 灰度图像平滑与锐化处理平滑滤波器的作用是模
26、糊图像或者消除噪声,Matlab7.0图像处理工具箱为我们提供了wiener2()来实现对图像噪声的自适应滤波,medfilter2()函数用来实现中值滤波。在本文案例中,为使滤波效果更加明显,我们预先为人脸图像人为增加噪声,然后用自适应滤波方法对图像进行滤波处理。锐化处理的作用是用来强调图像中被模糊的细节,在本案例中,采用了预定义高斯滤波器的方法对图像进行锐化滤波。实现过程的代码如下:i=imread(F:2.tif);j=imnoise(i,gaussian,0,0.02);subplot(1,2,1),imshow(j);j1=wiener2(j);subplot(1,2,2),imsh
27、ow(j1);h=fspecial(gaussian,2,0.05);j2=imfilter(i,h);figure,subplot(1,2,1),imshow(i)subplot(1,2,2),imshow(j2)执行上述代码后得到的图像如下所示:图2.5 平滑滤波效果图图2.6 锐化滤波效果图图2.5中,第一个为加入噪声的图像,第二个为滤波后的图像;图2.6中,第一个为原灰度图像,第二个为锐化后的图像。2.6 边缘检测数字图像的边缘检测是目标区域识别、图像分割、区域形状提取等图像分析过程中十分重要的基础步骤,也是人脸图像识别中用来实现提取图像特征的一个重要步骤。通过计算一阶导数或二阶导数可
28、以快捷地检测出图像中每个像素在其邻域的灰度变化,从而检测出边缘。常用的有梯度算子, ,Roberts算子,canny算子,Log算子等。Matlab7.0工具箱中为我们提供的edge()函数可以用来进行边缘检测,同时也可以根据案例所需要的选择合适的算子与其参数。Matlab7.0图像处理工具箱中提供了edge()函数来实现图像边缘检测,还有各种方法算子供我们选择,在本案例中采用了canny算子来进行图像边缘检测,程序代码如下:i=imread(F:2.tif);j=edge(i,canny,0.04,0.25,1.5);imshow(j)执行上述程序后得到如下图像: 图2.1 原灰度图像 图2
29、.7 边缘检测效果图第3章 人脸识别计算机系统3.1 系统基本构架人脸识别是一个十分复杂的过程,一般人脸识别的计算机系统流程如图3.1所示。它包括几个步骤:进行图像采集,对于采集到的图像,首先进行人脸检测,得出有无人脸的结果;然后进行人脸定位,找出人脸的位置并提取出来。对于人脸定位,在输入的是图像序列时,一般也被称为人脸跟踪。通常检测和定位同步进行。借助人脸描述对提取出来的人脸就可以进行人脸识别,即通过提取人脸特征来确定其身份。开 始图像采集检测定位是否定位成功是否处理成功图像预处理人脸识别是否识别成功识别结果结 束是是是图3.1 基本框架图3.2 人脸检测定位算法人脸检测定位算法可分为两大类
30、:一类是基于隐式特征的方法;另一类是基于显式特征的方法所谓的显式特征,即指人类肉眼可以直观看到的特征,如肤色、脸部结构、脸部轮廓等。基于显式特征的方法是指通过肉眼的观察,总结概括出人脸区域区别于“非人脸”区域的特征,根据与被检测区域的对比,即是否满足这些人脸特征,从而判定该区域包含人脸与否。根据所选择的“人脸特征”,基于显式特征的方法可以分为三类:模板匹配的方法、基于肤色模型的方法、基于先验知识的方法。以上三类方法的优缺点概括见表3-1:表3-1 优缺点对比检测方法优 点缺 点模板匹配具有较强的直观性和较好的适应性对面部表情的变换敏感;对于模板的选择、参数的确定很困难肤色模型检测速度相对较快、
31、背景光线等会使人脸区域被分割,导致被漏检先验知识的方法对于复杂图像中的人脸检测有较大优势依赖于先验知识;工作量较大,运算时间较长基于隐式特征的方法就是将人脸区域看成一类模式,通过“人脸”、“非人脸”样本、构造分类器的使用,判别图像中全部可能区域是否符合“人脸模式”的一类方法来实现人脸的检测。这类方法可以分为:神经网络法、特征脸法、积分图像法、支持向量法。以上四种方法的优缺点比较见表3-2:表3-2 优缺点对比表检测方法优 点缺 点神经网络法效率较高,错误报警数较少,网络监测速度较快多样本训练所耗的费时间多,网络监测错误报警数较多本征脸法能抽象人脸全部信息,运算时间相对较短通过模板测效率较低,多
32、模板虽然增加了效率,但是检测时间较长积分图像分析法检测速度较快,满足实时检测的要求,检测效率相对较高错误报警数与检测率成反比支撑向量法具有更好的泛化能力“非人脸”的复杂造成支持向量数目较多,导致运算复杂度变大运用matlab软件仿真进行人脸检测定位实例:人脸检测定位程序:% Reading of a RGB image原始图像i=imread(F:2.JPG);I=rgb2gray(i);BW=im2bw(I);figure,imshow(BW)%灰度图像与均衡化灰度图像n1 n2=size(BW);r=floor(n1/10);c=floor(n2/10);x1=1;x2=r;s=r*c;f
33、or i=1:10 y1=1;y2=c;for j=1:10if (y2=9*c) | (x1=1 | x2=r*10) loc=find(BW(x1:x2, y1:y2)=0); o p=size(loc); pr=o*100/s;if prmx & (BB2(1,k)/BB2(1,k+1)1.8 mx=p; j=k;endendfigure,imshow(I);hold on;rectangle(Position,BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j),EdgeColor,r )1.原始图片 2.灰度图片 3.均衡化灰度图片 4.人脸定位3.3 匹配
34、与识别人脸人别系统的最后一步是人脸识别。人脸识别,即通过对所采集到的人脸图像进行一系列处理,提取待识别人脸图像的特征信息,通过与已存人脸数据库信息进行匹配识别,确定待识别人脸图像的基本信息。运行如下代码:function varargout = faceCore(varargin)% FACECORE M-file for faceCore.fig% FACECORE, by itself, creates a new FACECORE or raises the existing% singleton*.% H = FACECORE returns the handle to a new F
35、ACECORE or the handle to% the existing singleton*.% FACECORE(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in FACECORE.M with the given input arguments.% FACECORE(Property,Value,.) creates a new FACECORE or raises the% existing singleton*. Starting from the left, pro
36、perty value pairs are% applied to the GUI before faceCore_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to faceCore_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% inst
37、ance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help faceCore% Last Modified by GUIDE v2.5 28-May-2009 10:21:26% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name
38、, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, faceCore_OpeningFcn, . gui_OutputFcn, faceCore_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:
39、);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% Executes just before faceCore is made visible.function faceCore_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to
40、be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to faceCore (see VARARGIN)% Choose default command line output for faceCorehandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes
41、 faceCore wait for user response (see UIRESUME)% uiwait(handles.figure1);% Outputs from this function are returned to the command line.function varargout = faceCore_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eve
42、ntdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = handles.output;% Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, han
43、dles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global TrainDatabasePath ;TrainDatabasePath = uigetdir(strcat(matlabroot,work), 训练库路径选择. );% Executes on button press in pushbu
44、tton2.function pushbutton2_Callback(hObject, eventdata, handles)% 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)global TestDatabasePath;TestDatabasePath = uigetdir(strcat(matlabroo
45、t,work), 测试库路径选择.);% Executes on button press in pushbutton3.%function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%filename,pa
46、thname=uigetfile(*.jpg;*.bmp,);%str=pathname filename;%im=imread(str);%axes(handles.axes1);%imshow(im);% Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future versio
47、n of MATLAB% handles structure with handles and user data (see GUIDATA)global TrainDatabasePath ;global TestDatabasePath;global T;T = CreateDatabase(TrainDatabasePath);%m V_PCA V_Fisher ProjectedImages_Fisher = FisherfaceCore(T);% Executes on button press in pushbutton5.function pushbutton9_Callback
48、(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global im;filename,pathname=uigetfile(*.jpg;*.bmp,选择测试图片.);str=pathname filename;im=imread(str);axes(ha
49、ndles.axes1);imshow(im);% Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%T = Cre
50、ateDatabase(TrainDatabasePath);global T;global im;global TrainDatabasePath ;m V_PCA V_Fisher ProjectedImages_Fisher = FisherfaceCore(T);OutputName = Recognition(im, m, V_PCA, V_Fisher, ProjectedImages_Fisher);SelectedImage = strcat(TrainDatabasePath,OutputName);SelectedImage = imread(SelectedImage);
51、axes(handles.axes2);imshow(SelectedImage);%title(Equivalent Image);% Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with
52、handles and user data (see GUIDATA)clear all;clcclose(gcf);执行上述代码后效果如下图所示:如上图所示,当我们选择待识别照片后,点击图像匹配,可以快速匹配到与该测试图像特征信息相符合的训练库中的人脸图像,效果图如下:结论图像是人类日常生活和工作中获取和交换信息的重要来源,人脸图像的识别技术已经应用到了生活中的方方面面。基于Matlab的人脸识别系统的仿真的研究很有意义。目前到处可见摄像头,监控录像,这些的普与,使人脸识别具有重大商业价值。在本文图像处理时,用到如灰度变化、格式转换和滤波锐化等基本方法来实现图像处理。通过对一些算法,方法的比
53、较,选择了比较合理的方法进行图像预处理。在比较人脸识别的几种方法后,我们最终选择了通过人脸图像的直方图差值进行比较从而实现了人脸识别。事实证明,这种方法对人脸能更好的分类,但其对于人脸图像的像素质量等要求较高,而我们只是采用Orl标准的人脸数据库中的图像完成测试,因此可以得到较高的识别率。在对大量参考文献资料的阅读的基础上,本设计对基于Matlab的人脸识别这一技术做了详细的综述。然而,在现实生活中由于受到采集距离、光线明暗、人脸角度等因素的影响,采集到的人脸图像与人脸库进行匹配识别时,识别率很难可以达到测试要求。因此,在实际应用时还要根据具体情况进行分析。本次基于Matlab的人脸识别系统的
54、仿真设计到这里就结束了,在设计过程中,虽然对几种方法进行了对比选择,但是还是有很多不足,可能很多问题想的不够充分,设计中有些数据可能会有偏差,因此在今后的学习生活中要更加努力,不断地提高自己的科学文化水平和各方面素质。致在大学的学习生活即将结束,现在想想对母校还是有很多留恋。在做毕业设计的这段时间里,我的老师、同学们对我给予了非常多的帮助,在这里,谨向他们致以最真诚的感!尤为感的,是我的导师周经国老师。周老师学识渊博,思想敏锐,洞察力超强,治学态度严谨,平易近人。在我做毕业设计的这段时间里,常常会被一些难题所困扰,弄得焦头烂额。是周老师教导我,激励我,对我给予了细心地指导和悉心的教诲,让我摆脱
55、困境,重新找回自信心。同时,我也要感教导过我的所有老师。是你们毫无保留的指导和细致耐心的帮助,我才能顺利完成这次毕业设计。最后,我还要感身边的朋友和同学,在大学生活的四年里,我在你们的陪伴中成长,你们在做毕业设计这段日子里给予我的帮助。真心的感所有在生活、学习中帮助过我的良师益友,你们!参考文献何东健,耿楠,义宽.数字图像处理(第二版).电子科技大学,2008.5:1-325于万波.基于MATLAB的图像处理.清华大学,2008.3:1-218书海,傅录祥.实用数字图像处理.科学,2005屹.数字图像处理与应用.:电子工业,1997何东健,青.实用图像处理技术.科学技术,1998吕风军.溯溪图
56、像处理编程入门.清华大学,1999章毓晋.图像工程:图像处理和分析(上).清华大学,1999章毓晋.图像工程:图像分析(中).清华大学,2005章毓晋.图像工程:图像理解与计算机视觉(下).清华大学,2000朱秀昌,峰,胡栋.数字图像处理与图像通信.邮电大学,2002晓军.数字图像处理技术与应用M.:电子工业,2009刚.MATLAB数字图像处理M.:机械工业,2010徐倩,邓伟. 一种融合两种主成分分析的人脸识别方法J.计算机学报,2007郭文强,侯勇严.数字图像处理.电子科技大学,2009宜华.精通MATLAB5.清华大学,1999兆礼.现代图像处理技术与MATLAB实现.人民邮电,200
57、1Wangmeng Zuo,Kuanquan Wang,David Zhang,Hongzhi Zhang. Combination of two novel LDA-based methods for face recognitionC.Proceedings of the IEEE,2007何东风.人脸识别技术综述J.计算机学报,2003The Mathworks.MATLAB User GUIdesDB/OL.2009附录1 人脸识别的MATLAB源程序(1)色彩空间转换:function r,g=rgb_RGB(Ori_Face)R=Ori_Face(:,:,1);G=Ori_Face
58、(:,:,2);B=Ori_Face(:,:,3);R1=im2double(R); % 将uint8型转换成double型G1=im2double(G);B1=im2double(B);RGB=R1+G1+B1;row=size(Ori_Face,1); % 行像素column=size(Ori_Face,2); % 列像素for i=1:rowfor j=1:column rr(i,j)=R1(i,j)/RGB(i,j); gg(i,j)=G1(i,j)/RGB(i,j);endendrrr=mean(rr);r=mean(rrr);ggg=mean(gg);g=mean(ggg);(2)
59、找区域边界function left, right, up, down = bianjie(A)m n = size(A);left = -1;right = -1;up = -1;down = -1;for j=1:n, for i=1:m, if (A(i,j) = 0) left = j; break; end; end; if (left = -1) break; end;end;for j=n:-1:1,for i=1:m,if (A(i,j) = 0) right = j; break;end;end;if (right = -1) break; end;end;for i=1:m
60、,for j=1:n, if (A(i,j) = 0) up = i; break; end;end; if (up = -1) break; end;end;for i=m:-1:1, for j=1:n, if (A(i,j) = 0) down = i; break; end; end; if (down = -1) break; end;end;(3)模板匹配function ccorr, mfit, RectCoord = mobanpipei(mult, frontalmodel,ly,wx,cx, cy, angle)frontalmodel=rgb2gray(frontalmo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场施工防生物安全事故制度
- 小学生心理健康教育的校本课程设计研究
- DB4404T 72-2024电梯维修保养服务安全规范
- 不服合作合同争议仲裁起诉状范本
- 个人股权转让合作合同模板
- 两人合伙创业合同范本
- 个人股权转让合同简单范文
- 二手房买卖合同简易版
- 个人公寓租赁合同范本
- 产学研一体化硕士专班合作协议合同
- (康德一诊)重庆市2025届高三高三第一次联合诊断检测 英语试卷(含答案详解)
- 2025年福建泉州文旅集团招聘24人高频重点提升(共500题)附带答案详解
- 建筑行业砂石物资运输方案
- 肿瘤全程管理
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024风能发电系统风力发电场监控系统通信第71部分:配置描述语言
- 污泥处置合作合同模板
- 2024年高中一年级数学考试题及答案
- 《美的历程》导读课件
- 心电图 (史上最完美)课件
- 建设工程施工合同纠纷处理课件
评论
0/150
提交评论