1MATLAB人脸识别技术的实现2摘要随着国家社会的发展和信息技术的进步,身份识别技术逐渐在我国各行各业应用开来,有着广泛的市场需求。而这项技术的核心应用之一就是人脸识别技术。目前,对人脸识别技术理论和技术的研究已经逐步深入,它的研究有着较为关键的现实意义。它不仅能够推动人们对自身感官系统的认识,还能够进一步开发人工智能技术,实现各种满足现实需求的实际功能。众所周知,人脸识别技术的优势在于不需要人员与设备直接接触,具有主动获取相关信息的能力,并且在快速甄别和判断方面也有着出色的表现,这些特点都促进了人脸识别技术的应用和发展。因此,通过运用人脸识别技术,构建能够对人脸实现自动识别的信息采集系统,在未来的智能应用中有着广大的发展前景。本文在整理和分析了相关人脸识别系统常用图像处理技术的基础上,运用MATLAB方法完成了对人脸识别系统的仿真模拟。本系统以图像选取、图像定位、特征提取、图像处理和识别为主要分析步骤,最终凭借灰度图像的直方图实现了对人脸信息的识别。关键词:人脸识别,MATLAB,模拟仿真31绪论1.1人脸识别技术的研究背景所谓人脸识别技术,是一种以人的脸部特征信息为身份识别手段的人工智能技术。该技术以摄像机或照相机所采集的人脸特征信息为主要信息源,通过相关图像处理技术可以将所采集到的人脸信息与初始录入信息相对比,自动识别图像信息中的人脸特征,从而找出采集到的人脸信息和初始图片中人脸信息中间的差异和相同之处,最后得以对人脸的身份进行甄别与判断。因此,该项技术又可以称为人像识别或面部识别。从人脸识别技术的发展历程可以得知,该项技术的研究最早开始与上世纪六十年代,随着第三次技术革命所带来的计算机技术和信息化技术的最新成果,人脸识别技术在上世纪九十年代后,在以美国和日本为代表的技术强国中逐渐得到了深入发展。众所周知,人脸识别系统是集人工智能、模型构建、图像处理、信息识别等技术于一身的综合系统,是目前同指纹识别系统一样属于最新的生物特征识别系统。该项技术的成功应用,充分地展现了现阶段人类对于人工智能技术的运用成果。目前,随着信息技术的快速发展,人脸识别系统所应用的场所也越来越多,市场需求也不断扩大。该系统最大特点在于在身份信息的采集过程中,信息被采集者只需要简单的配合就可以满足信息采集和甄别的功能,灵活性强,方便快捷,受到了用户的广泛欢迎。而人脸识别系统正是在这样的热烈需求下而逐步兴起的,目前成为一门极具研究潜力和发展背景的技术手段。当然,任何一种信息技术的进步都离不开该领域相关理论成果和实践成果的进步,因此,人脸识别系统的构建仍然是一项极具挑战性和创造力的研究课题之一。在多数情况下,人脸信息的采集常常会受到诸多外界因素的影响,譬如光照,拍摄角度,人脸表情等等,都会对最终的检测效果产生影响。即便是同一个人,在不用的环境和装饰下其拍摄效果也会存在很大的不同,这些外界因素所造成的差异都直接或间接地增加了人脸识别系统的开发难度。因此,如何减少这些外界不良因素对人脸特征信息采集的干扰,增强有用信息的提取和处理,已成为该领域研究的热门。41.2人脸识别技术的应用前景现阶段,人脸识别技术已经广泛应用于银行、军队、商务、安保等方方面面,相对于指纹采集和虹膜采集技术而言,人脸识别技术更具发展潜力,因为它不需要信息被采集者与信息采集器的近距离接触,减少了使用场合的不便利性,使用起来更加快捷与灵活。并且在身份信息识别系统的构建和使用成本方面,人脸识别产品可操作性更强,成本也更为低廉,对于一些密保等级较高的领域,譬如军工、司法和航天领域,其使用年限更长,减少了设备更换的频率和次数,从而也极大地控制了信息和数据外泄的可能性。因此,随着人工智能技术的进一步发展和普及,人脸识别系统将拥有十分广大的发展前景,将会在越来越多的领域发挥积极作用。1.3本文的研究内容及研究步骤根据目前已有的研究成果,本文在研究内容上有以下几个方面的安排。首先,本文将简单介绍通过利用MATLAB对图像进行预处理,该内容的实现将有助于对某一图像中的人脸图像进行处理,以满足后续人脸特征信息提取的需要。其次,本文在整理和分析目前较为主流的图像预处理技术手段的基础上,采用多种处理方法相协同的预处理手段,利用灰度图像的直方图对比来实现对人脸特征信息的甄别和判断,该内容涉及了图像选取,人脸定位,信息处理和识别等关键环节。最后,本文将识别的相关结果进行了仿真模拟,并进行总结。1.4本文人脸识别系统主要结构从技术层面来看,要想实现对人脸特征信息的识别,首先该系统能够自动对所采集到的照片信息进行检测,检测其中是否有人脸图像,然后将该数据结果进行初步反馈;如果检测到了人脸信息,则该系统要能够对人脸信息进行进一步处理,提取主要特征信息,最后将该信息与预存人脸特征信息相比对,从而完成身份识别与检测,得出最后验证的结论。可见,该系统的顺利运行离不开各个环节的紧密配合,只有每一个环节都不出现差错,才能最终得到满意的结果。本文人脸识别系统的仿真模拟流程可见图1.1。5图1.1人脸识别流程图2应用Matlab处理图像2.1数字图像处理所谓数字图像处理技术,通常认为是通过计算机对所获得图像进行剔除无用信息、强化有用信息、模糊信息复原、关键信息定位、目标信息提取和处理的相关技术手段和处理环节。该技术能够准确而良好的完成直接关系到后续相关操作能否如设计所愿实现。2.2.1图像处理的基本操作在进行图像处理之前,第一步工作是利用imread()函数来实现进行照片读取,然后利用imshow()函数将所读取到的图片进行输出;第二步工作是利用save()函数将工作区域的变量加以存储,然后利用load函数将该变量顺利读到Matlab的工作区域中。在本文的实际设计过程中,还另外利用了imrisize()函数对图像的大小进行了裁剪,以满足图像尺寸方面的需要。62.2.2图像类型的转换Matlab能够实现对多种图像类型的处理,然而在具有操作过程中,一些环节图像的类型有着特殊的要求,因此完成对相关图像的转换就变得十分关键。在本文使用的Matlab7.0中,我们可以通过利用Matlab函数rgb2gray(),将彩色图像转换成灰度图像。另外,matlab中DIP工具箱函数im2bw使用threshold方法可以将灰度图像转换成只具有黑色和白色两种颜色的二值图像。2.2.3图像增强图像增强对于图像处理而言有着十分重要的意义,在采集图像信息的过程中,图像中的有用信息会存在或多或少的失真,而图像增强的目的就在于要提升图像的视觉感受,将图像中的某些信息有针对性的进行强化或者突出,改善它的清晰状况,减少无用信息的干扰,丰富有用信息的含量和质量,从而满足某种或某几种特定功能的需要。在本文所模拟的系统中,图像增强技术可以将画面不清晰的图像进行修复,提升图像和可辨识度。一般而言,图像增加技术可以分为两类,即频率域法和空间域法。前面的方法是将图像视为一类二维信号的组合,最后通过傅里叶变换来实现增强。而后面的方法中最为常用的是中值滤波法,它们可以有效将无用信息剔除。目前诸多方法都能够完成对图像的灰度变换,而使用频率最高的方法是直方图变换。该种方法一种将输出图像直方图模拟为近似均匀分布的变换方法。在Matlab7.0中,通过使用histeq()函数、imhist()函数来完成对直方图的计算和显示功能。2.2图像处理功能的Matlab实现实例为了能较为清晰地表现本系统的仿真模拟过程,本文将在后续的相关描述中列出实现系统预计功能的主要函数。(1)改变图像类型由于对人脸有无检测和人脸信息识别过程中所用到的图像信息都是灰度图片或者是二值图片,而采集到的图像信息一般都是RGB格式,因此就必须对所采集到的图像进行灰度处理。在实际操作过程中,本文采用了Matlab中的rgb2gray完成了图像灰度转换的功能,并又将灰度图片转换成为了二值图片。具7体操作过程的代码如下所示:ifndims(B)~=2%如果不是二值图像IM=rgb2gray(B);elseIM=B;End图2.1原始图像8图2.2灰度处理图像处理成二值图像:bw=im2bw(IM,graythresh(IM));%二值化图2.3二值化处理图像93人脸检测的实现3.1引言现阶段,人脸识别系统主要由人脸检测与定位、人脸图像预处理、人脸特征信息采集和特性信息甄别等部分构成。其中,对人脸图像进行预处理是采集人脸特征信息和识别的基础,也是实现后面人脸自动识别功能的核心步骤。该步骤的主要目的是去除无用信息,强化有用信息,对外界不良因素所造成的图像模糊和失真情况进行修复,从而满足后续人脸特征信息收集的要求。目前,不同的人脸识别系统由于图像源和识别技术的不同,在图像预处理方法也存在很大的差异。现阶段应用较为广泛的方法包括灰度变换、边缘检测、灰度归一等方法,在实际应用过程中,越来越多的设计者开始倾向于采用多种方法来进行协同配合,以完成准确预处理的需要。3.2系统基本机构人脸识别系统的构建是一个较为繁杂的过程,其具有构建步骤从图像信息采集开始,首先是通过图像信息采集设备对采集图像中有无人脸进行识别,反馈人脸有无结果;其次是对人脸进行定位,将人脸在图像中范围进行提取;最后是通过预设图像中已知人脸识别信息对提取出的人脸特征进行数据描述和识别,从而确定了人脸信息被采集者的身份。具体构建流程,可见图3.1。10结束图像采集人脸检测定位是否定位成功图像与处理是否处理成功人脸识别是否识别成功识别结果开始是否否是是否否是是否否图3.1基本框架图3.3人脸检测定位算法现阶段,对于人脸检测定位的算法一般可以分为两种,一种是基于显式特征的方法,另外一种是基于隐式特征的方法。我们一般所认同的显式特征是指人可以通过眼睛所获得的特征,这些特征主要包括人的脸型、肤色、面部特征等等。归结起来就是基于显式特征的方法能够区别是否是人脸,区别人脸与“非人脸”的相关特征区域,然后根据被检测区域是否符合人脸的相关特征,从而判断检测区域是否包含人脸。依据所需要的人脸特征信息,基于显式特征的方法可以细化为三个方面,即基于肤色模型的方法、模板匹配的方法、基于先验知识的方法,这三类方法在具体的使用过程中均有着自身的特点,具体情况如表3-1所示。表3.1基于显示特征方法的特点检测方法优点缺点与需要改进的地方肤色模型检测速度快光线和阴影会影响图像信息采集模板匹配较为直观,适应性强对人脸表情提出要求;模板参数选择困难11相比于基于显式特征的方法,基于隐式特征的方法则是将人脸区域视为一类模式,通过海量的人脸与“非人脸”训练,以模式判别的方法来确定检测区域中是否包含人脸。其中,特征脸法、人工神经网络法、支持向量机法等均属于这类方法,其具体特点如表3.2所示。表3.2基于隐式特征方法的特征检测方法优点缺点本征脸法标准模板信息全面,检测时间短模板少,识别率低;模板多,检测效率低;神经网络法检测效率高,误报数较少多样本训练耗时较多支撑向量机机法泛化能力更突出,可以实现有效分类“非人脸”样本繁杂多样下面本文通过利用matlab来实现对人脸检测定位的模拟仿真,具体过程可见下文所述。人脸检测定位结果:基于知识的方法复杂图像中的人脸检测效果较好检测时间长,依赖先验知识12图3.2人脸识别的结果人脸定位代码:ifndims(B)~=2%如果不是二值图像IM=rgb2gray(B);elseIM=B;endbw=im2bw(IM,graythresh(IM));%二值化[m,n]=size(bw);row=floor(m/10);%分成10大块,行wide=floor(n/10);%分成10大块,列a1=1;a2=row;%对应行初始化13s=row*wide;%块面积fori=1:10%整个循环表示把图像四周全部变成白色b1=1;b2=wide;%对应列初始化forj=1:10if(b2=wide||b2=9*wide)||(a1==1||a2==row*10)loc=find(bw(a1:a2,b1:b2)==0);[p,q]=size(loc);pr=p/s*100;%ifpr=