基于matlab的人脸识别系统设计与仿真毕业设计.docx

上传人:b****6 文档编号:8499993 上传时间:2023-01-31 格式:DOCX 页数:15 大小:367.21KB
下载 相关 举报
基于matlab的人脸识别系统设计与仿真毕业设计.docx_第1页
第1页 / 共15页
基于matlab的人脸识别系统设计与仿真毕业设计.docx_第2页
第2页 / 共15页
基于matlab的人脸识别系统设计与仿真毕业设计.docx_第3页
第3页 / 共15页
基于matlab的人脸识别系统设计与仿真毕业设计.docx_第4页
第4页 / 共15页
基于matlab的人脸识别系统设计与仿真毕业设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于matlab的人脸识别系统设计与仿真毕业设计.docx

《基于matlab的人脸识别系统设计与仿真毕业设计.docx》由会员分享,可在线阅读,更多相关《基于matlab的人脸识别系统设计与仿真毕业设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于matlab的人脸识别系统设计与仿真毕业设计.docx

基于matlab的人脸识别系统设计与仿真毕业设计

(此文档为word格式,下载后您可任意编辑修改!

 

佳木斯大学毕业论文

基于Matlab的人脸识别系统设计与仿真

 

学院信息电子技术

专业电子信息工程

班级11级1班

姓名杨雷

指导教师周经国

佳木斯大学

2015年6月10日

摘要

人脸识别即指利用分析比对人脸视觉特征信息从而达到身份鉴别效果的计算机技术。

人脸识别是一项当下十分热门的计算机技术的研究领域,该项技术可以人脸明暗侦测,并且自动调整动态曝光补偿,同时对人脸追踪侦测,并自动调整影像放大;这项技术属于生物特征识别技术的一种,是利用生物体(一般指人)本身的生物特征从而达到区分生物体个体的目的。

人脸识别技术目前主要用做身份识别。

由于视频监控的飞速普及,使这项应用迫切的需要一种能实现在用户非配合状态下、远距离的进行快速身份识别的技术,以求能在远距离之下快速识别人员身份,从而实现智能预警的功能。

最佳的选择无疑是人脸识别技术。

采用快速人脸检测识别技术可以从视频监控图象中实时捕获到人脸信息,并与人脸数据库中的已存信息进行实时比对,从而达到快速身份识别的效果。

报告利用MATLAB软件来实现人脸信息检测与识别,利用YCbCr空间以及灰度图像来实现人脸的边缘分割,将真彩图像转换为灰度图像,并根据肤色在YCbCr色度空间上的分布范围,来设定门限阀值,从而实现人脸区域与非人脸区域的分割,通过图像处理等一系列的操作来剔除干扰因素,再通过长宽比和目标面积等方法在图像中定位出人脸区域,经试验,该方法能够排除面部表情、衣着背景、发型等干扰因素,从而定位出人脸区域。

关键词:

Matlab软件;灰度图像;边缘分割;人脸区域

 

Abstract

Facerecognitionespeciallyusecomparativeanalysisfacevisualfeatureinformationforidentificationofcomputertechnology.Facerecognitionisa,lightandshadecanbeautomaticallyadjusteddynamicallyexposurecompensation,facetrackingdetection,automaticadjustmentofimagemagnification;Itbelongstothebiometricidentificationtechnology,itisoforganisms(generallyreferstoaperson)individualbiologicalcharacteristicstodistinguishbetweentheorganismitself.

Facerecognitionismainlyusedforidentification.Becauseofthevideomonitoringisfastpopularization,manyofthevideomonitoringapplicationisanurgentneedtoalongdistance,theusernotcooperateconditionofrapididentificationtechnology,inorder.Facerecognitiontechnologyisundoubtedlythebestchoice,thefastfacedetectiontechnologytomonitorinreal-timevideoimagesearchfromface,andwithreal-timethanfacedatabase,soastorealizerapididentification.

ReportusingMATLABsoftwaretorealizefaceinformationdetectionandrecognition,usingYCbCrspaceandgrayimagetorealizethefaceedgesegmentation,thetruecolorimageisconvertedtoagrayscaleimage,andaccordingtothecolorofskininYCbCrchromaspacedistribution,tosetthethresholdthreshold,soastorealizethesegmentationoffaceregionwiththefaceregion,throughaseriesofoperationssuchasimageprocessingtoeliminateinterferencefactors,andthroughsuchmeansasaspectratioandthetargetarealocatethefaceregionintheimage,theexperiment,thismethodcaneliminatefacialexpressions,clothes,.

Keywords:

Matlab;Grayimage;edgesegmentation;faceregion

目录

摘要1

Abstract2

目录3

第1章绪论4

1.1课题的研究背景、目的及意义4

1.1.1课题的研究背景4

1.1.2研究目的及意义5

1.2本课题的主要内容5

第2章图像处理的Matlab实现6

2.1识别系统构成6

2.2人脸图像的读取与显示7

2.3图像类型的转换7

2.4图像增强8

2.5灰度图像平滑与锐化处理9

2.6边缘检测11

第3章人脸识别计算机系统12

3.1系统基本构架12

3.2人脸检测定位算法12

3.3匹配与识别17

结论24

致谢25

参考文献26

附录1人脸识别的MATLAB源程序27

附录2外文参考文献及翻译31

第1章绪论

1.1课题的研究背景、目的及意义

1.1.1课题的研究背景

数字图像处理技术是20世纪60年代发展起来的一门新兴技术。

近30多年来,在计算机科技和大规模集成电路技术的迅猛发展、离散数学理论创立和完善,以及工业、军事、医学等方面的应用需求在不断增长,人脸识别技术已经在人机交互、安全验证系统、系统公安(罪犯识别等)、医学、档案管理、信用卡验证、视频会议等方面的巨大应用前景而越来越成为当前模式识别和人工智能领域的一个研究热点。

目前,人脸识别技术应用最广泛的地方就是各大公司、商场、政府保密机构的门禁考勤系统。

20世纪90年代后期以来,一些商业性的人脸识别技术系统逐渐进入市场。

自美国遭遇恐怖分子袭击事件后,这一技术引起了社会各方的广泛关注。

由于隐蔽性十分好,该项技术逐渐成为国际反恐及安全防范的重要手段之一。

人脸识别技术在中国也有迅猛发展的历史。

国家“十一五”科技发展规划就将人脸识别技术的研究与发展列入其中,并明确指出“要在生物特征识别技术领域缩小与世界先进水平的差距,开展生物特征识别应用技术研究,开发具有高安全性、低误报率的出入口控制新产品。

”在这种形势下,国内一些科研院所在人脸识别技术上有了重大发展和突破。

如清华大学、中科院计算机所、中科院自动化所等自主研发的人脸识别技术已经达到了国际先进的水平。

经过多年的研发探索,在世界各大研究机构的研发人员的共同努力下,人脸识别技术这一领域取得了丰硕的成果,这些研究成果的取得和科技的进步,更进一步推动了人类对人脸识别技术这一高端技术的深入研究。

人脸识别技术,顾名思义,指利用采集、分析、比较人脸视觉特征信息来进行身份鉴别的计算机技术。

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。

它是人们一直所追求的让机器智能化技术,就是让机器具备和人类一样的思考能力,识别能力以及处理事务的能力。

而人脸识别技术的研究就是在这样的背景下发展起来的。

1.1.2研究目的及意义

目前,人脸识别技术已经广泛用于军队、政府、社会福利保障、银行、安全防务及电子商务等领域。

而我们研究这项技术的目的就是让其更好地服务于人类社会,在这个生活快节奏的前提下,与人方便。

例如京沪高铁三站将建立人脸识别系统,即使整容也能被识别。

铁路部门发布计划时表示,将在京沪高铁段的天津西站、济南西站、上海虹桥站这三个站点,建立人脸识别系统工程,以此来协助公安部门甄别、抓捕在逃罪犯。

利用这个系统,即使作案后的犯罪分子进行整容,也会被识别。

研究人脸识别技术,在现实意义上具有重大意义:

一是能进一步加强对人类视觉系统本身的认知;二是能够满足人类社会中对人工智能应用的广泛需要。

同时人脸识别技术又有自然性、无侵犯性、成本低、智能化等几个显著优势。

人脸识别技术的研究也有重大的学术价值。

由于人类有非常复杂的细节变化,例如眼镜、胡须、发型等附属物的干扰,这就给该项技术带来了巨大挑战。

成功构造出人脸识别系统将为解决其他与之类似的复杂问题提供重要的启示。

1.2本课题的主要内容

本次课题主要讲述了人脸识别中应用Matlab对图像进行预处理,通过人脸检测、人脸跟踪、人脸比对来实现基于Matlab的人脸识别系统的仿真。

利用Matlab实现一个集多种预处理方法于一体的通用的人脸识别仿真系统,将该系统作为图像预处理模块嵌入在人脸识别系统中,并利用灰度图像的直方图比对来实现人脸图像的识别判断。

文中在研究人脸识别技术的仿真过程中,主要涉及了YCbCr空间、灰度图像转换、噪声消除、图像填孔、图像重构、人脸区域确定、边缘检测等技术。

通过多次实验并比对各个算法和技术的优缺点,有效地实现了基于Matlab的人脸识别系统的设计与仿真,并达到了预期目标和效果。

第2章图像处理的Matlab实现

2.1识别系统构成

人脸识别技术系统主要可分为四个组成部分,分别为:

人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。

一般人脸识别系统构架如图2.1所示:

图2.1人脸识别系统构架

(1)人脸图像采集及检测人脸图像采集:

人脸图像信息都能通过摄像镜头采集记录下来,比如不同位置、不同表情、静态图像、动态图像等方面都能得到很好的采集。

当目标在采集设备拍摄的范围内时,采集设备会自动搜索并采集目标的人脸图像;人脸检测:

在实际中主要应用于人脸识别的预处理,即在采集到的图像中准确定位出人脸的位置。

人脸图像中包含的模式特征非常丰富,如模板特征、结构特征、直方图特征、颜色特征等。

人脸检测就是挑出这其中有用的特征信息,并利用这些特征来实现人脸识别。

(2)人脸图像预处理人脸图像预处理:

所谓人脸图像预处理,就是基于人脸检测结果,并对人脸图像进行处理,最终服务于人脸特征提取的过程。

系统获取的原始人脸图像由于受到随机干扰和各种条件的限制,通常不能直接使用,所以必须在人脸图像处理过程中要先对它进行灰度图像、噪声过滤等图像预处理。

而对于人脸图像,预处理的过程主要涉及灰度变换、人脸图像的光线补偿、几何校正、直方图均衡化、归一化、滤波以及锐化等。

(3)人脸图像特征提取人脸图像特征提取:

人脸识别系统通常会使用的特征分为视觉特征、人脸图像变换系数特征、像素统计特征以及人脸图像代数特征等。

所谓人脸特征提取即针对人脸的某些特征进行的提取。

人脸特征提取,也被称为人脸表征,是对人脸特征进行建模的过程。

人脸特征提取的方法总结起来可以分为两大类:

一种是基于统计学习或代数特征的表征方法;另一种是基于知识的表征方法。

(4)匹配与识别人脸图像的匹配与识别:

将提取到的图像特征数据与数据库中已存的特征模板进行搜索匹配,设定一个阈值,当相似度超过这一阈值时,则把匹配所得到的结果输出。

人脸识别就是将待识别的人脸特征与已存储的人脸特征模板进行比对,依据相似度对该人脸图像的身份信息进行判别。

这一过程主要分为两步:

第一步是确认,就是一对一进行图像比较的过程,第二步是辨认,就是一对多进行图像匹配对比的过程。

2.2人脸图像的读取与显示

人脸图像的读取和显示可通过imread()和imshow()指令来实现;图像的输出可以用imwrite()函数,很方便快捷的将图像输出到电脑硬盘上;另外还可以通过imcrop()、imrisize()、imrotate()等函数来实现图像的裁剪、缩放与旋转等功能。

2.3图像类型的转换

Matlab支持多种图像类型,在很多图像操作处理中,对图像的类型有要求,所以就涉及到了对图像的类型进行转换。

Matlab7.0图像处理工具箱包含了不同图像类型之间相互转换的大量函数,如rgb2gray()可以将颜色映像表或RGB图像转换为灰度图像,通过mat2gray()函数能实现矩阵转换为灰度图像的功能。

在类型转换的处理过程中,我们还会经常遇到数据类型不匹配的问题,针对这一问题,Matlab7.0工具箱中为我们提供了各种数据类型之间相互转换的函数,例如double()函数的功能就是将数据转换为双精度数据类型。

因为后续的图像增强、边缘检测等都是针对灰度图像进行的,而原图像是RGB图像,所以我们首先要对原图像进行类型转换。

实现过程代码如下:

i=imread('F:

\2.JPG');j=rgb2gray(i);

imshow(j);imwrite(j,'F:

\2.tif')

转换后的灰度图像如图2.2所示:

图2.2灰度图像

2.4图像增强

图像增强的目的是改善图像的视觉效果,或者使图像更适合于人或机器进行分析处理。

通过图像增强,可以减少图像中的噪声,提高目标与背景的对比度,也可以强调或抑制图像中的某些细节。

例如,消除照片中的划痕,改善光照不均匀图像,突出目标的边缘等。

实现图像的灰度转换的方法有很多,其中最常用到的是直方图变换的方法,即直方图的均衡化。

该种方法是使输出图像直方图近似服从均匀分布的变换方法。

Matlab7.0图像处理工具箱中为我们提供了图像直方图均衡化的函数histeq(),我们也可以通过imhist()函数计算和显示图像的直方图。

通过原图与直方图均衡化后图像对比可以发现,图像变得更加清晰,并且均衡化后的直方图相对于原直方图的形状更为理想。

实现过程代码如下:

i=imread('F:

\2.tif');

j=;

rectangle('Position',[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j)],'EdgeColor','r')

1.原始图片2.灰度图片

3.均衡化灰度图片4.人脸定位

3.3匹配与识别

人脸人别系统的最后一步是人脸识别。

人脸识别,即通过对所采集到的人脸图像进行一系列处理,提取待识别人脸图像的特征信息,通过与已存人脸数据库信息进行匹配识别,确定待识别人脸图像的基本信息。

运行如下代码:

functionvarargout=faceCore(varargin)

%FACECOREM-fileforfaceCore.fig

%FACECORE,byitself,createsanewFACECOREorraisestheexisting

%singleton*.

%

%H=FACECOREreturnsthe*.

%

%FACECORE('CALLBACK',namedCALLBACKinFACECORE.Mwiththegiveninputarguments.

%

%FACECORE('Property','Value',...)createsanewFACECOREorraisesthe

%existingsingleton*.Startingfromtheleft,propertyvaluepairsare

%appliedtotheGUIbeforefaceCore_OpeningFunctiongetscalled.An

%unrecognizedpropertynameorinvalidvaluemakespropertyapplication

%stop.AllinputsarepassedtofaceCore_OpeningFcnviavarargin.

%

%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone

%instancetorun(singleton)".

%

%Seealso:

GUIDE,GUIDATA,GUIHANDLES

%Edittheabovetexttomodifytheresponsetoinitializationcode-DONOTEDIT

gui_Singleton=1;

gui_State=struct('gui_Name',mfilename,...

'gui_Singleton',gui_Singleton,...

'gui_OpeningFcn',@aceCore_OpeningFcn,...

'gui_OutputFcn',@aceCore_OutputFcn,...

'gui_LayoutFcn',[],...

'gui_Callback',[]);

ifnargin&&ischar(varargin{1})

gui_State.gui_Callback=str2func(varargin{1});

end

ifnargout

[varargout{1:

nargout}]=gui_mainfcn(gui_State,varargin{:

});

else

gui_mainfcn(gui_State,varargin{:

});

end

%Endinitializationcode-DONOTEDIT

%---ExecutesjustbeforefaceCoreismadevisible.

functionfaceCore_OpeningFcn()

%Thisfunction.

%afutureversionofMATLAB

%commandlineargumentstofaceCore(seeVARARGIN)

%ChoosedefaultcommandlineoutputforfaceCore

arereturnedtothecommandline.

functionvarargout=faceCore_OutputFcn(afutureversionofMATLAB

%buttonpressinpushbutton1.

functionpushbutton1_Callback(afutureversionofMATLAB

%buttonpressinpushbutton2.

functionpushbutton2_Callback(afutureversionofMATLAB

%buttonpressinpushbutton3.

%functionpushbutton3_Callback(afutureversionofMATLAB

%buttonpressinpushbutton4.

functionpushbutton4_Callback(afutureversionofMATLAB

%buttonpressinpushbutton5.

functionpushbutton9_Callback(afutureversionofMATLAB

%buttonpressinpushbutton6.

functionpushbutton6_Callback(afutureversionofMATLAB

%(im,m,V_PCA,V_Fisher,ProjectedImages_Fisher);

SelectedImage=strcat(TrainDatabasePath,'\',OutputName);

SelectedImage=imread(SelectedImage);

axes(buttonpressinpushbutton7.

functionpushbutton7_Callback(afutureversionofMATLAB

[1]%Wang,DavidZhang,HongzhiZhang.CombinationoftwonovelLDA-basedmethodsforfacerecognition[C].ProceedingsoftheIEEE,2007

[2]何东风.人脸识别技术综述[J].计算机学报,2003

[3]TheMathworks.MATLABUserGUIdes[DBOL].2009

附录1人脸识别的MATLAB源程序

(1)色彩空间转换:

function[r,g]=rgb_RGB(Ori_Face)

R=Ori_Face(:

:

1);

G=Ori_Face(:

:

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);%列像素

fori=1:

row

forj=1:

column

rr(i,j)=R1(i,j)RGB(i,j);

gg(i,j)=G1(i,j)RGB(i,j);

end

end

rrr=mean(rr);

r=mean(rrr);

ggg=mean(gg);

g=mean(ggg);

(2)找区域边界

function[left,right,up,down]=bianjie(A)

[mn]=size(A);

left=-1;

right=-1;

up=-1;

down=-1;

forj=1:

n,

fori=1:

m,

if(A(i,j)~=0)

left=j;

break;

end;

end;

if(left~=-1)break;

end;

end;

forj=n:

-1:

1,

fori=1:

m,

if(A(i,j)~=0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1