毕业设计论文基于MATLABGUI的肤色特征人脸识别系统设计毕业论文.docx
《毕业设计论文基于MATLABGUI的肤色特征人脸识别系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于MATLABGUI的肤色特征人脸识别系统设计毕业论文.docx(38页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于MATLABGUI的肤色特征人脸识别系统设计毕业论文
毕业设计(论文)-基于MATLABGUI的肤色特征人脸识别系统设计【毕业论文】
毕业设计(论文)-基于MATLABGUI的肤色特征人脸识
别系统设计【毕业论文】
ANYANGINSTITUTEOFTECHNOLOGY
本科毕业设计
基于MATLAB/GUI的肤色特征人脸识别系统设计
TheDesignofHumanColourFatureFaceDetective
SystemBasedonMATLAB/GUI
系(院)名称:
电子信息与电气工程系
专业班级:
06级电子信息工程1班
学生姓名:
学生学号:
指导教师姓名:
指导教师职称:
讲师
2010年5月
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学
院及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日期:
指导教师签名:
日期:
使用授权说明
本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日期:
中文摘要、关键词?
英文摘要、关键词?
引言1
第一章基于肤色特征人脸识别算法3
1.1肤色预处理3
型3
肤概率4
1.2自适应阈值分割4
1.3应用面部特征判别人脸5
脸候选区域5
部特征定位出人脸区域6
1.4预期效果8
第二章用户界面(GUI)介绍102.1GUI开发方法简介10
2.2创建图形用户窗口的工具112.3GUI用户控件介绍13
第三章基于MATLAB/GUI的肤色特征人脸识别系统设计17
3.1肤色特征人脸识别算法流程173.2GUI界面的设计原则和一般步骤17则17
骤18
GUI设计流程18
3.3基于MATLAB/GUI的人脸识别系统设计18
总体设计思路18
选用的控件19
本系统的界面布局20
的编程实现21
现23
第四章设计总结分析27
4.1设计结果27
结果27
结果28
析30
4.2人脸识别系统设计中出现的不足30出人脸30
识别率低31
4.3改进人脸识别系统中出现的不足314.4系统设计中其他应注意的问题31结论33
致谢34
参考文献35
附录36
基于MATLAB/GUI的肤色特征人脸识别系统设计
摘要:
人脸是人类视觉交互中最重要的模式,人脸识别技术FRT是模式识
别和人工智能领域的一个前沿课题(它覆盖了模式识别、图像处理、神经网络等
许多学科的内容,具有非常广泛的应用前景。
近年来,人脸和面部表情识别已经
吸引了更多科研人员的注意。
人脸是一种具有复杂模式的非刚体,虽然人类能毫
不费力地识别出人脸及其表情,但人脸的自动机器识别却是一个难度极大的课
题。
MATLAB/GUI是一种新型的图形用户界面开发方式,特别适合提取出人脸的大
致框架,通过、,最后得到图片中人脸的比较精确的位置窗口、光标、按键、菜
单、文字说明等对象ObjectAbstract:
Faceisthemostimportantmodeamong
humanvisualinteraction,facerecognitiontechnologyFRTisafrontierareaamongthepatternrecognitionandartificialintelligence.Itcoversthepatternrecognition,imageprocessing,neuralnetworkandmanyotherdisciplines,theapplicationprospectofthecontentisverybroad.Inrecentyears,faceandfacialrecognitionhasattractedmoreandmoreattentionofresearchers.Faceisakindofcomplexpatternofhumanbody,althoughhumancaneasilyidentifyfacialexpression,buttheautomaticmachineoffacerecognitionisdifficult.MATLAB/GUIisanewkindofdevelopmentmodeforthegraphicaluserinterface,thesoftwaredesignedwithengineeringapplicationcharacteristics,especiallysuitablefordataprocessingoperationsandimageprocessing.
Thisthesismainlyincludestwoaspectsofcontent:
1determiningthefacerecognitionbasedoncolorfeaturesandrealizingalgorithmbased
onMATLABsimulation.Accordingtocurrentavailablefacerecognitionalgorithmandtheknowledgelearnedaboutimageprocessing,Ideterminetheoptimalalgorithmforthispaper,thekeytoestablishthealgorithmisthecoloroffacedetectionjudgmentaspretreatment,namelytheskinmodelselectionandresearch,colorsegmentationmethodandthefaceregion.Accordingtofacialfeatureswecangetthegeneralframeworkface,throughthefacearea,height-widthratioandeulerwecanjudgeeachotherforface,sowecangettheaccuratelocation.Iconsidermanyfactorsindeterminingthealgorithm,asfaraspossibletoimprovetheefficiencyoffacedetectionalgorithmoftime,improvetherateoffaultdetectionandavoidundetectionphenomenon.2theGUIinterfacedesignedcanachievefacerecognitionfunction.MATLAB/GUIbringmanytoolboxfunction,whichisconvenientandquick.TheGUIinterfaceexchangeinformationtocomputeronlythroughthemousetochooseasuitableprogram,realizingfastidentification.ThedesignoftheGUIinterfacehavewindows,cursor,buttons,menus,textsandotherobjectsObject,mainlyconsistsofreadingtheimage,convertcolorspace,theskinprobabilityimage,theskinthresholdandpositioningfivesections,whichuseswitchbuttonToggleButton,thestatictextboxStaticText,coordinatesystemAxesandpanelPanelbutton,tocarryoutitsrationaldistribution,itisembeddedtopayattentiontothecallbackfunction.InthedesignprocessIwouldbefamiliarwithMATLABprogrammingenvironment,payattention
tocontroltheselectionandparametersetting,thedesignrequirementsaccordingtothelayoutoftheGUIinterface,payattentiontothepyeparationofacallbackfunctiontoachievethedesiredresults.Thissystemcanachieveasinglefacerecognitionofaccuratepositioning.Butformanycomplicatedbackgroundandgroupsimage,willappearthephenomenonofmissedandthewrongundetection,needtobefurtherimproved.
Keywords:
colorfeature;facerecognition;MATLAB/GUI;imageprocessing
引言
人脸识别就是对于输入的人脸图像或者视频,首先判断其中是否存在人脸,如果存在人脸,则进一步给出每个人脸的位置、大小和各个主要面部器官的位置信息,并依据这些信息,进一步提取每个人脸中所蕴含的身份特征,并将其与已知人脸库中的人脸进行对比,从而识别每个人脸的身份。
人脸识别主要包含两个过程:
首先探测出图像中包含的人脸如果存在;然后提取该人脸特征,从而达到识别的目的。
早在20世纪70年代初,就有学者对人脸识别问题进行了初步的探索。
目前的研究也主要有两个方面:
其一是基于整体的研究方法;其二是基于特征分析的方法。
目前人脸识别的主要方法有基于特征脸的方法、基于模板匹配的方法、基于弹性匹配的方法、基于神经网络的方法、基于向量机的方法以及基于人脸几何特征的方法等。
虽说人脸识别技术在国内学术界也得到了较大的关注,并在20世纪末2l世纪初取得了较大的发展,但总体上仍处于起步阶段,研究大都基于几何特征或代数特征,与国际水平仍存在较大差距。
但随着JDL大规模人脸图像数据库的建立以及各种人脸识别会议的召开,我国人脸识别研究队伍正不断扩大,水平在不断提高,与国外差距也在不断缩小。
人脸识别技术具有广泛的应用领域和光明的应用前景。
具体来讲有:
(1)在国家安全公共安全领域有广泛用途:
如身份认证、智能门禁、各类银行卡的持卡人的认证、社会保险的身份认证等都具有重要的应用价值。
(2)网络信息安全领域:
利用人脸识别技术可以进行网络信息安全登陆控制,应用于程序安全使用,数据库安全访问、文件加密、局域网和电子商务安全控制等。
(3)家庭娱乐领域:
如能够识别主人身份的智能玩具。
(4)人---机交互领域:
人脸识别技术是当前“多模态”人---机交互的主要内容之一,其目的是使人与计算机交互如同人与人之间交互一样轻松自然。
(5)虚拟现实领域:
虚拟环境中有效的人脸识别与跟踪研究成果可以借助人脸库和三为人脸重建技术,构造更加逼真的人脸。
虚拟主持人便是其中之一。
(6)人脸的识别跟踪与重建也是MPEG-4标准中的重要内容,是先进的人---机界面、可视电话\会议电话、计算机动画领域的关键领域。
MATALAB是一种高效的工程计算语言,它在数值计算、数据处理、自动控制、图像处理、神经网络等方面有着广泛的应用。
MATALAB软件不但提供大量的涉及各个工程领域的工具箱来简化科学计算、工程设计和分析等工作,而且提供具有自身特点的编程语言,可以轻松的实现大量数据的分析、处理和显示任务。
一般而言,用户总希望将数据或设计结果用图形来表示,以使数据的特征或性能能够直观的体现出来。
对于一般的高级语言程序来说,绘制图形,尤其是根据计算结果所得的不规则的图形是一项较为复杂的工作,用户只有在对该语言有了较为深入的了解后才能迅速准确的绘制所需图形。
而MATALAB面向对象的图形技术使用户可以较轻松的实现自身数据或处理后数据的绘制任务。
MATLAB/GUI是一种新型的图形用户界面开发方式,MATALGUIGraphical
UserInterface,它是用户和计算机之间交流的工具。
MATLAB将所有GUI支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。
而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。
同时MATLAB具有串口操作,使得人们利用计算机和实际硬件相连接的半实物仿真梦想得以轻松实现。
人脸识别系统采样方便,可以不接触目标就进行识别,具有方便性和直观性,
从而具有开发研究的实际意义。
目前研究的难点是在进行识别时单单一张照片很难反映出人脸丰富的三维信息,而且人脸图像受到很多因素的干扰,如表情的多样性、光照、姿势变化等等,这些都给识别带来很大难度。
因此人脸识别是一项具有挑战性的模式识别,人脸系统的研究具有十分重要的理论意义和实用价值,得到二值化图像;然后在肤色分割的基础上,通过分析肤色区域的特征,采用基于面积、高宽比和孔的数目的方法,进一步剔除似肤色区域和裸露在外的身体其他部分,准确得到人脸定位结果。
1.1肤色预处理
肤色预处理就是通过某种方法判断出彩色图像中哪一点或哪一个区域是肤色,为进行自适应阈值处理和应用面部特征判别奠定基础。
这一步骤非常重要,我们应在保证不漏掉肤色区域的基础上尽量减少无关区域,在保证正确率的同时提高定位系统工作的效率。
型
所谓肤色模型,是用一种代数的解析的或查找表等形式来表达哪些像素的色彩属于肤色,或者表征出来某一像素的色彩与肤色的相似程度。
用肤色模型对肤色进行检测主要分为两个阶段:
模型的建立与模型的运用。
模型的建立主要是通过对大量肤色像素集进行统计分析,然后确定模型中的参数;对模型的运用,主要是通过已建立的肤色模型来判别所输入的像素或区域是否为肤色,或者给出其与肤色的相似程度.
目前主要的色彩空间有以下几种:
RGB、CMY、HIS、YIQ、YCbCr。
基于肤色的人脸定位,关键是颜色空间的选择以及肤色聚类的选取。
彩色图像中常用的RGB颜色表现肤色的特征并不合适。
RGB空间中的三个分量r,g,b不但表现了
像素的颜色,而且表现了像素的亮度。
人脸的亮度会由于周围光照条件的不同而改变,它并不是一个区分皮肤与非皮肤区域的可靠的量。
YCbCr颜色空间中,亮度信息包含在Y成分中,色度信息在Cb和Cr中,其受亮度变化的影响小,能较好地限制肤色分布区域,而且在YCbCr色彩空间中肤色聚类特性比较好。
RGB色彩空间变换到YCbCr色彩空间里,它们之间的变换公式:
1-1
RGB色彩空间到YCbCr色彩空间的MATLAB转换函数:
rgb2ycbcr。
YCbCr色彩空间是人脸检测最好的选择,已经发现,不同人的肤色在YCbCr空间中都成簇地分布于一个小区域内。
尽管不同人的肤色看起来在很大一个范围内变化,但在颜色上的差异远远小于在亮度上的差异。
换句话说,就是不同人群的肤色非常相近,他们的差别主要是亮度不同。
有了这一发现,便可以着手在YCbCr空间中开发一个肤色模型。
不同人群的肤色在YCbCr颜色空间中成簇分布,一组肤色分布可用一个高斯模型Nm,C来表示,有:
均值:
1-2
协方差:
1-3
实验证明高斯分布Nm,C与我们所得的数据相符。
将该模型作为人脸检测的预处理过程,可以快速去除复杂背景,将更多的运算能力集中在可能存在人脸的区域,从而提高人脸检测系统的执行速率和整体性能。
有了这些数据,我们便可放心的利用YCbCr颜色空间来进行肤色预处理。
设读入的原始彩色图像为,转换颜色空间再经过低通滤波后的图像为。
低通滤波器的模板如下:
肤概率
通过转换颜色空间得到YCbCr颜色空间图像,现在我们可以通过计算得到一副图像中任意像素为皮肤的概率。
通过肤色高斯分布可得到待测彩色图像中任意一个像素点属于皮肤的概率,如果一个像素从RGB颜色空间转换到了YCbCr颜色空间得到色度值,则该像素的肤色概率密度可通过公式1-4计算得到:
1-4
式中,C为协方差矩阵,m为均值。
上述高斯模型能较好的分析出肤色和非肤色像素。
对进行计算后的结果进行一次低通滤波以减轻样本中噪声带来的影响。
将一些毛刺噪声去掉后,便可以得到皮肤概率灰度图像。
1.2自适应阈值分割
阈值分割法是一种基于区域的图像分割技术,其基本原理是:
通过设定不同的特征阈值,把图像象素点分为若干类。
过低会使肤色的数量增加,过高则会使过多的肤色点被误认为背景,二者都会影响后续检测的效果。
因此,能够依据待检测图像本身自动优选阈值就显得非常重要和必要。
动态调节实现图像的二值化可动态观察其分割图像的具体结果。
通过使用合适的方法选取阈值,由公式可将图像分割为两部分,分割后的图像为1-5
对于本课题而言,的皮肤分割二值化图像。
1.3应用面部特征判别人脸
从自适应阈值分割之后的图像中可以看到,此时图像已被分割成为一块块分开的区域,我们便可以利用面部特征分别对这一块块分开的人脸候选区域进行判别,如果某块区域符合面部特征判别所要求的条件,我们便认为它就是人脸。
脸候选区域
为了更方便的分别对一块块分开的人脸候选区域进行特征判别,首先我们得对图像中的各个分离部分进行标记。
通过对图像的标记,我们还可以确定其中候选区域的数量,为进一步的利用面积进行判别奠定基础。
一块皮肤区域可被定义为是图像中的一块闭区域,里面可能会存在着一个或多个孔。
它的颜色边界在二值化图像中表现为值是一串像素。
我们可将皮肤区域视为图像中的一组连通分支。
在二值化图像中所有孔的像素值均为零即为黑色。
这里采用了8连通邻域像素的邻域即像素周围的八个点来确定某一像素所属的标签。
如果其相邻任一点已被标记标签,就将当前像素以该标签标记,否则,就采用一个新的标签来标记当前像素。
最后,通过计算标签的数目来确定分割图像中皮肤区域的个数N。
标记图像之后,还不能直接就运用面部特征对其中的标记皮肤图像进行判别,必须创建一副只包含一块特定区域的图像,然后再利用特征定位出人脸。
为了区分开这些区域,需要扫描正在寻找人脸的图像,选择标签为某一值的区域,并且在碰到此标签区域时创建一副包含该区域的新图像,此时其他区域的灰度值将会被置为0。
此后,对每一区域重复上述步骤,得到图像。
然后利用面部特征来判别该区域是否表示人脸正面。
在MATLAB7.0图像处理工具中提供了专门的函数bwselect,用于在二值图像中选择指定的对象。
在进行对象选择时,首先需要指定一些像素,然后bwselect函数才会返回包含指定像素的二值图像对象。
在这里可以利用bwselect函数对二值图像中各个分离部分进行标记。
部特征定位出人脸区域
由上面步骤可以得到一块块分开的人脸候选图像,接下来的这步最为关键:
根据先验知识,利用正常人脸的面积、高宽比、孔的数目、双眼之间的距离和眼与口之间的距离等等来判断每块区域是否为人脸。
如果第j块区域都符合这些特征的要求的话,我们就认为这块区域是人脸,把它的坐标储存起来,再用矩形将区域框出。
至此,人脸定位完毕。
具体方法可以如下:
(1)根据面积
人脸候选图像中的人脸往往有一定的大小,故可以求出候选区域的总面积S,用总面积S除以区域的数量N得到平均面积,当某块区域面积其中小于平均面积时,我们便可以认为此块区域并非人脸。
经过多幅图像的验证,证明经过以上步骤之后,小于平均面积的区域不可能为人脸。
1-6
MATLAB图像处理工具箱中提供了专门的函数bwarea对图像特征进行提取操作,可利用bwarea函数来获得二值图像的面积。
2根据高宽比
可以利用候选区域高宽比来改进人脸定位过程,某块候选区域高宽比其中的值可以由1-7得到。
1-7
式中为候选区域的高度,为候选区域的宽度,。
人脸的高宽比大致为1,然而,为了尽可能减小失误,本课题将高宽比的下限定为0.8。
将人脸方位垂直化以后,比例值低于0.8的区域不予考虑。
高宽比也应该有个上限。
经过实验分析,得出一个较好的上限值大致应该为1.4。
然而在一些情况下,比例值会高于1.4,当被检测的人穿着露出脖子及以下部分部位
的衣服时会出现这种情形,为了解决这一问题,在此将比例值设置为1.6并且裁掉超出这一比例的区域下部,具体计算见公式1-8、1-9和1-10。
或1-8
非人脸舍弃
1-9
可能为人脸保留
则1-10
可能为人脸保留
3根据孔的数目
在所有肤色区域中如果它包含了一个或多个孔那么它就可能是人脸区域,就是说至少在该区域要找到一个孔才能把它当可能人脸区域对待,没有孔的区域就被忽略。
我们通过计算区域的欧拉数来确定区域内孔的个数,欧拉数的定义由公式1-11给出如下:
1-11
式中:
E为欧拉数,C为连通分支的数目,H为一块区域内孔的个数。
在我们的例子中,已经设置好了连通分支(如皮肤区域)的数目为一,一次只需考虑一块皮肤区域。
此时可由公式1-12得到区域内孔的个数为:
1-12
式中:
H为一块区域内孔的数目,E为欧拉数。
一旦系统确定在某一皮肤区域内存在着多于一个的孔,便可以分析此特定区域的其他特征。
反之,则认为其不是人脸区域,将其排除。
MATLAB7.0提供了计算欧拉数的一种方法,利用bweuler函数计算二进制
图像的欧拉数,该函数支持4连通和8连通两种邻域连通方式,本次采用8连通。
(4)其他
此外还可以利用双眼和鼻与口之间的距离等特征进行判断。
例如可以基于以下准