• 5.99 MB
  • 2022-04-22 11:26:29 发布

毕业论文基于Matlab的指纹识别.doc

  • 50页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'毕业论文基于Matlab的指纹识别姓名院(系)专业班级学号指导教师职称论文答辩日期45 学生承诺书本人郑重声明:所提交的学位论文,全部是本人在指导教师的指导下,和同学们的协助下独立完成的工作研究成果。文中除了特别标注和致谢的地方外,学位论文中不包含其他人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。签名:_____________日期:_______________ 45 摘要随着科学技术的不断发展,自动化的指纹识别技术如今已经被人们广泛地应用在银行、商业交易、公安部门、海关部门等需要对人的身份进识别的领域,而本文所描述的是对自动化指纹识别系统的研究现状以及自动化指纹识别系统的基本算法和流程,本实验是利用MATLAB2012来进行了指纹识别系统的仿真和实验的。然而在生物识别技术的快速发展的今天,人们通过研究发现了每一个人的指纹都具有唯一性和不变性。也正因为这样,指纹识别技术正在逐步的发展成为一种新的身份识别技术,并且凭借它良好的安全性以及可靠性,逐步有取代传统身份认证的方式趋势。本文简单的介绍了指纹识别图像的预处理的方法和步骤。指纹图像预处理之后将会得到一个宽度为统一像素的细化后的二值化图像,最后再根据特定的指纹图像的端点以及交叉点的特征进行对指纹自动匹配。本论文中采用MATLAB2012编程实现所有算法。关键词:指纹识别技术指纹图像预处理指纹识别MATLAB201245 目录1绪论11.1生物特征识别的意义11.2生物特征识别分类22指纹识别的原理和方法52.1指纹识别的基本原理52.2指纹识别系统工作流程52.3指纹识别技术的方法72.3.1神经网络指纹识别算法72.3.2滤波特征和不变矩指纹识别算法72.3.3指纹匹配算法93指纹识别算法的实现103.1指纹图像的预处理103.1.1图像的平滑103.1.2图像的归一化123.1.3图像的纹理方向133.1.4图像的二值化153.1.5纹线细化163.2指纹图像的特征提取和特征匹配193.2.1特征提取193.2.2特征点匹配204系统实现224.1仿真实验前期准备224.1.1仿真实验的实验软件224.1.2仿真实验数据的选取224.1.3仿真实验界面的设计234.1.4仿真实验算法244.2指纹图像的预处理254.3实验结果与分析3145 4.4实验结果分析与总结405小结41参考文献Abstract致谢仲恺农业工程学院毕业论文(设计)成绩评定表45 1绪论如今,生物特征识别领域中的最为成熟的应用技术之一--指纹识别技术。其实它已经有非常悠久的历史了。很久以前,指纹识别技术已经很早就应用于刑事侦查和司法鉴定领域了,很多人不知道的是。随着计算机网络和信息处理技术的快速发展,这门历史悠久的指纹识别技术也开拓了更多更广阔的市场,自动的指纹识别技术和与其相关的产品越来越多的应用在普通人的生活当中。1.1生物特征识别的意义生物识别技术(BiometricIdentificationTechnology)的定义是:利用人体的不同的生物特征来进行对人的身份进行认证的一种技术[1]。这是因为人的生物特征是唯一的,可以区分与他人不同的特征。并且我们还可以通过技术测量或者是自动识别来检验出生理特性以及行为方式,我们所说的这个特征分为生理特征、行为特征。我们对生物特性来进行提取并放入数据库,再将提取出来的人的唯一特征和它的身份一一对应起来。典型的生物识别系统的主要系统结构如图1.1所示:图1.1生物识别系统主要结构框图在当今世界的很多计算机系统中,其中包含了很多非常机密非常军方的系统,而这些系统都是简单的使用“账号户名+密码”的方式来进行对用户的身份的认证以及访问的控制。但事实上,这种设计方案却经常遇到一些很常见的问题。比如,设置的密码容易被人们忘记,密码太多一时容易混乱,而且与此同时,密码毕竟不会很长很复杂所以也很容易被他人所窃取。而最重要的一点是,如果用户一时间忘记了当初他设置的密码,他就不能进入系统了,当然忘记密码可以通过身份认证来重新设定密码来恢复45 工作,但是这样做很耗费时间,而且身份认证的手续麻烦,条件很多,这会给用户带来很多损失。很多有关机构通过调查,表明了因为用户忘记密码而产生的一连串问题已经成为阻碍人们生活的一个重要问题。人们而为了防止这类事件的频繁发生,一种新的身份认证手段便由此而生,这便是“人体的生物特征识别技术”。它的诞生是因为每一个人自身所具有的生物特征不同,而这种不同恰好可以对每个人的真实身份来进行识别和认证。然而我们的这些生物特征大部分都具备“人格各异”、“始终不变”和“随时携带”的这三个主要的特点,然而这也确保了我们的生物特征识别技术的精确性以及可靠性。1.2生物特征识别分类目前为止,有很多生物特征识别技术。但是,它们当中有的已经逐步得到应用和推广,而有的还仅仅处于实验研究的阶段。(1)虹膜识别虹膜识别技术:利用人眼虹膜终身不变性,虹膜差异,为人类识别的技术是虹膜识别技术。虹膜识别技术与其相对应的算法结合之后,可以达到很高的精度。(2)视网膜识别视网膜识别技术:是使用激光照射在人的眼球背面,从中获得具有唯一性的视网膜特征来进行身份的识别。 (3)面部识别面部识别技术:通过对人的面部表情特征,以及这些表情特征之间的相互关系,来进行对比和识别的就是脸部识别。(4)手写体识别手写体识别:所谓的手写体识别就是将手写的文字进行数字化的一个过程,通过测量图像本身以及写字的动作,以及在每个字母与字母之间,人们的用不同的速度、写字不同的顺序等来进行识别的,手写体识别和语音识别是一样的,都是一种人体行为测定学。(5)语音识别语音识别:语音识别的定义就是通过不断地测量、通过记录出语音的波形和声音的变化特征,再根据现场所采集到的语音样本和登记过的语音模板进行的匹配,最后再通过计算机来进行判断。45 语言识别和其他的行为识别技术一样,因为人的语音变化的范围太大,所以有时候而很难进行一些精准的匹配;同时语音还会随着发音的音量、发音的速度和不同的音质变化导致采集到语音会与要对比的模板有不同的结果。(6)基因识别  DNA基因识别:基因识别是当今世界最准确的生物识别方法之一。但实现该技术所需的设备非常复杂而且非常昂贵,而且还需要专业的技术人员来进行操作这些设备,而且基因识别所花费的时间会很长,所以DNA基因识别技术到目前为止还不能广泛的应用在日常生活中。(7)指纹识别指纹识别技术:对“全局特征”、“局部特征”进行分析的技术就是我们所说的指纹识别技术。而且我们每一个人的指纹都具有独一无二的特征点,而且这些特征点都是可以测量的。每一个特征点还会伴随着大概七个左右不同的特征。可想而知,我们有10个手指,将产生至少4900的独立功能并可以测量的数据。这将意味:指纹识别技术是一个门可靠的身份识别技术。根据不同的人的指纹也会有不同,即使是同一个人,也会有不同的指纹。而且纹线走向、纹线的断点、交叉点的不同更加决定了指纹都具有“唯一”的这种特性,这恰恰就是指纹识别技术的原理。不仅如此,我们的指纹也是不会随着我们年龄的增长而发生太大的变化,也就是说我们指纹是终生不变的。利用唯一性和稳定性这个指纹的特性,可以将一个人身份个人信息和他所对应的指纹联系起来。实现的方法就是:通过对他的指纹样本的预先保存,再和指纹模板进行配对和比较。再利用计算机对指纹图像进行快速的识别。这样就能很快的识别出指纹所对应的的人的真实身份了。从而达到一种身份认证和识别的功能。常用的几种生物特征识别技术的技术性能比较如表1.1所示:45 表1.1常用生物识别技术比较由表中很明显得可以知道,指纹识别已经是各种生物特征识别领域中综合性能最好的技术之一。正因如此,指纹识别技术在当今的身份认证系统中被人们广泛的应用了。45 2指纹识别的原理和方法2.1指纹识别的基本原理指纹识别技术其实是比较复杂的。自动识别技术与人工识别技术的方式不同,很多掌握生物识别技术的公司并不是直接对指纹图像进行存储的。而是多年来在各个公司及其研究机构产生了很多数字化的算法。指纹识别算法最终还是归结在指纹图象上找到并比对指纹的特征。1.指纹的特征总体特征和局部特征是我们用来定义指纹和识别指纹的两个重要的特征。总体特征:那些光靠人的眼睛就可以很直接的区分到的生物特征被我们称为是总体特征。环型、弓型、螺旋型这都是指纹的总体特征。而且其他的指纹螺纹图案也都是基于这三种基本的螺纹图案的。因此,仅仅依靠这三种基本的螺纹图案来区分指纹是远远不够的,但是,这样做只是为了做一个粗略的分类,因为这样就可以大大减少搜索数据库时的工作量。局部特征:所谓的局部特征就是指纹图像上的节点的特征,这些具有某种特征的节点我们称之为特征点。我们知道:一般特征,有时两个指纹是相同的,但我们正在谈论的代表局部特征点的特征,这将是不同的。2.指纹的特征点我们知道,手指的指纹的纹路并不是连续的,它们有些是打断的,有些是光滑的,有些是弯的,有些是直的,有些是分开的。而这些指纹的断点、分叉点还有转折点就被我们称作为“特征点”。正因为有了这些特征点,才保证了我们的指纹是唯一的。2.2指纹识别系统工作流程读取采集到指纹图象、提取特征点、保存特征点数据和对特征点数据进行比对是指纹识别技术主要的四个步骤。首先,指纹要通过指纹采集设备(Fingerprintacquisitiondevice),常见的采集设备有光学取像设备、超声波扫描取像设备、晶体传感器等。其中,运用的最多的是晶体传感器。接着,将采集到的指纹图像转换为计算机内可以识别的数字图像就是我们所说的灰度图。但是,由于我们在采集过程中,难以避免因为手指或者是仪器的原因,导致采集到45 图像存在比较多的噪声。所以,为了使我们采集到的图像变得更清晰,以便于后续特征提取的操作方便,对指纹图像进行增强和滤波处理,处理后的图像再进一步的二值化、细化[5],是我们必须要做的事情。而这些步骤就被称作是指纹图像的预处理。然后,在细化后的指纹点线图上提取出我们需要的特征值,删去我们不需要的伪特征值,最终得到我们用进行匹配的细节点。采集到的图像细节点与模板中的细节点进行比对,最终完成指纹匹配。本文着重研究了图像预处理和细节特征提取这两个关键部分。接着,一套用数字类型表示的指纹特征点数据就会录入到计算机指纹识别软件。这是一种只能由指纹信息转换成特征点数据的单方向的转换数据。对于不同的两枚指纹,也会产生两组不相同的特征数据。这就是识别软件的数据点。它代表的是指纹的纹路上的交叉点、断点或者纹路围圈处的位置坐标信息。这些数据点就有七种以上对应的的唯一特征。这些数据,就是模板,被保存为1K大小的记录下来。最后,把两个指纹的模板进行比较,通过计算机来完成。再计算出这两个指纹模板的相似程度。最终根据相似度得到两个指纹的匹配结果。指纹识别系统框图如图2.1所示。图2.1指纹识别系统工作原理框图45 2.3指纹识别技术的方法本文主要研究了:基于LVQ神经网络的识别算法。不变矩和滤波特征的指纹识别算法。指纹点模匹配算法这三种算法。根据我们已知的三种指纹识别算法,来进行仿真实验,实验通过Matlab2012软件完成,下面分别是这三种算法的优缺点。2.3.1神经网络指纹识别算法选用哪种特征是神经网络识别方法中的关键性问题。通过分析同种类型的指纹,我们发现了这两组指纹的差别主要体现在它们所对应的每个细节点上。因此我们就提取了指纹的细节点特征,将这些细节点特征作为识别特征,再将每个样本提取出来的细节点特征,构造成一个80×1维的向量。这个向量包含了20个特征点,而每个特征点又包含了4维的向量。矢量化的LVQ神经网络模型是我们对特征点计算的手段。基于这种方法的聚类特性和自组织特性,所以矢量化的LVQ神经网络模型可以很好地给出特性模式,通过多维空间的概率分布,来估算出指纹的匹配度。其识别模型如图2.2所示。图2.2基于神经网络的自动指纹识别模型2.3.2滤波特征和不变矩指纹识别算法本文所使用的主要算法是滤波特征和不变矩指纹识别算法。滤波特征识别算法:大小不变,不变的位置,方向不变,这是特征指纹图像必须满足的三个特点。大小不变性是很容易满足的。而在滤波特征提取算法中,位置不变性,45 则是通过确定指纹图像的中心点位置来实现的。通过在匹配阶段,建立起多个角度的旋转特征向量来实现指纹图像的方向不变性。而滤波特征的提取算法,包括了4个步骤。一是先确定指纹图像的中心点。作为需要处理的指纹区域的中心位置,记为R01区域;二是以中心位参考点,对R01区域来进行适当的划分,得到一定大小的块;三是运用一组Gabor滤波器,对R01区域做八个不同方向的滤波运算;四是对滤波后的图像,分别计算出每一块中。图像灰度值相对于均值的平均绝对偏差。进而得到特征向量或特征编码。这种指纹识别算法。首先要对指纹图像提取滤波特征,然后在特征向量上(由滤波特征值构成的)进行匹配。不变矩识别算法的基本思路是:1、搜索预处理后的二值化图像中,所有可能成为目标的区域。2、计算出R01区域中7个不变矩特征,求出与模板匹配程度最高的R01区域进行匹配。其中相似度度量采用欧式距离(Euclideandistance)。这里,搜索算法为系统使用的最简单的顺序查找方法。就是对数据库文件,逐一搜索。一张指纹数字图像图片被系统读入时,就会根据上述的方法,先对这一幅指纹数字图像进行特征值提取和编码,并保存到临时变量中去。系统的指纹数字图像数据库文件里同时也会保存一组指纹数字图像灰度偏差的特征。过程如下:1.申请内存空间。将匹配结果的临时变量进行保存,对输入系统的要匹配的指纹数字图像的编码进行保存。2.搜索系统的数据库文件。当数据库文件为空时,程序结束查找。3.当系统的数据库文件不为空时。由于在指纹数字图像在入库的时候,指纹数字图像是按一定排列顺序的编码。同样地,系统也将匹配的指纹数字图像的图象编码设置同样的顺序。这样系统就按照一定得顺序进行匹配。这样可以通过欧氏距离(ED)匹配算法,来判断两个指纹数字图像之间的欧氏距离。前面提到系统是对一张指纹数字图像进行两次编码的保存。将相对应的特征向量进行比较,取其中最小的一个作为系统比对的结果输出。这里是通过欧式距离来实现的对比数据库中模板图像和待测试图像相对应的特征点向量距离计算的。对于计算机计算出来的数据,如果匹配指数小于定值T,则被认为是匹配成功,否则匹配失败。简单的说,欧氏距离(Euclideandistance)就是将两组特征向量相减,然后求出他们对应之间的差的平方和,然后开根号。举个例子来说吧:A=(1,2,3)B=(4,5,6)则他们之间的距离就是d=sqrt((1-4)2+(2-5)2+(3-6)2)。接着识别系统就逐一搜索数据库45 中的数据文件,求的他们距离的最小数值。如果对比的两张指纹数字图像的特征向量之间的距离是0,则系统会认为这两张数字图像是同一张,或者说来自于同一手指。从而达到识别的功能。欧氏距离表示的是两张指纹数字图像的特征向量的相似程度。距离越近就越容易相互干扰,误码率也就越高,也就越相似。2.3.3指纹匹配算法指纹匹配算法:是指在调整过程中的指纹特征值。它要匹配的是指纹图像和预先存储图像特征值。英国的专家亨利认为,只要13共同特征点存在的两个指纹图像的比例,就可以认为这两个要比较指纹图像是相同的指纹。下图2.3为指纹匹配算法的流程图。图2.3指纹匹配算法的流程图45 3指纹识别算法的实现3.1指纹图像的预处理精确的指纹识别技术是非常依赖于脊的图案信息来识别特征的细节结构的。然而,在自动指纹识别过程中,由于各种因素的影响手指本身的图像,该指纹传感器采集的原始状态的指纹图像将受到不同程度的干扰,并且图像将通常包含大量的噪音,导致指纹图像质量严重下降。为了确保指纹图像可以进行有效的匹配过程。图像预处理是自动指纹识别系统中最重要的一步,图像预处理的好坏会直接影响到指纹识别的好坏。预处理的目的是为了在图像中除去噪声,使图像变成清晰的线,从而提高了指纹图像可以被识别的有效区域的清晰度,方便指纹特征提取。而图像的预处理大致可以划分为以下几步:灰度,平滑滤波,归一化,二值化,细化。主要流程如下图:图3.1预处理主要流程3.1.1图像的平滑指纹图像预处理的过程第一步是对原始指纹图像的灰度图进行平滑处理。所谓平滑化处理是通过在原始指纹图像滤波和处理选择适当的滤波处理中,图像过滤掉不必要的高频分量。光滑的主要作用是尽量保持边缘线的图像完好,除去原始指纹图象的离散的,孤立的高对比度的像素。而在后续的指纹图像处理过程中,这可能会造成的计算与分析误差,但与此同时也可以尽量的消除指纹图像中由于图像噪声的存在导致的纹路中脊线上会出现的很多的微小疵点[26]。本文是采取直方图均衡化的方法[27]来实现图象的增强。从原始图像直方图相对浓缩成灰色区中的所有直方图中的均衡处理的均匀灰度范围是中心思想。对于图像的空间域点增强过程是通过增强函数t=EH(s)来完成的。t、s分别代表着目标图像和原始图像上的像素点(x,y),在进行均衡化处理时,增强函数EH需要满足两个条件:[28][29](1)增强函数在EH(s)在0≤s≤L-1的范围内。45 (2)对于0≤s≤L-1应当有0≤EH(s)≤L-1,它保证了在变换过程中灰度值的动态范围是一致的。同理,对于反变换过程s=EH-1(t),在0≤t≤1时函数也必须满足上述两个条件。通过该函数可以完成s到t的均匀分布转换。具体方法是:(1)给出原始图像所有灰度级别Sk,k=0,1…,L-1。(2)统计原始图像各灰度级别的像素数nk。(3)计算原始图像的直方图。用式P(Sk)=nk/n,k=0,1…,L-1(3-1)(4)计算原始图像的累计直方图: tk=EH(Sk)=∑(ni/n)=∑Ps(si),(k=0,1,2……L-1)(3-2)(5)进行取整计算:tk=int[(N-1)tk+k/N](3-3)(6)确定映射关系Sk-tk。(7)统计出新的直方图以及各灰度级的像素数nk。(8)计算出新的直方图:Pl(tk)=nk/n(3-4)上述步骤的求和区间为0-k,根据该方程可以将原图像的各像素灰度值直接转换成直方图。图3.2给出了用Matlab2012处理后的一幅指纹图像直方图。分别均衡化前和均衡化后的指纹图像对应的直方图。45 图3.2直方图均衡化图像和直方图结论:通过对比前后的两组图像可以看出,经过均衡化处理之后很多在原始图像中原本看不清的细节也会变得十分清晰。3.1.2图像的归一化为平滑的指纹图像,这样做是为了进行平滑更高的强度分布获得的平均灰度。从频域分析的角度来看,判断为图像的低频分量的分布。归一化相应处理程序的数学模型可以用下列公式来描述:Gij=(3-5)45 公式中,I是平滑处理后的指纹图像,G是平滑处理后的灰度分布图。使用高强度化之后,根据该平均灰度地图进一步计算灰度的像素的平均值,与周围的像素的灰度的变化的平均值平滑处理,从而得到归一化的图像。该过程可由下列公式来描述:(3-6)(3-7)(3-8)(3-9)(3-10)公式中,平滑后的指纹图像I,高强度后的灰度分布图G,指纹灰度变化的梯度分布图V,归一化后的指纹图像R。图3.3所示为用Matlab2012处理后的高强度滤波指纹图像的灰度分布,图3.4所示为归一化处理后的指纹图像。图3.3高强度滤波后灰度分布图图3.4归一化后指纹图归一化处理后的图像具有相同的方差,具有相同的背景和前景的色彩,和归一化是不会改变的指纹脊图案信息的图像。45 3.1.3图像的纹理方向为了方便分析和处理方便,应该以沿指定区域或指定像素为中心,在window长为半径的参考邻域中,在3600方向上的灰度变化梯度最小的方向定义为该指定区域或指定像素的方向。在1987年,B.M.Mthre提出了方向图分解方法。采用的是以下这个公式来进行表示的:(3-11)而第二种方法则是通过对峰值点来识别纹线的存在性。这一方法对于清晰的纹线是十分理想的,但对于三角点或者是灰度均匀区域,这种峰值就不明显了。本文是通过八方向场法来进行计算的,参见图3.5图3.5像素八个方向示意图具体步骤是:先用以下所列的公式来分别求出指纹图像中各个像素的灰度变化的梯度值大小在D[0]00(1800)、D[1]450(2250)、D[2]900(2700)、D[3]1350(3150)八个方向上的分量:(3-12)式中,I表示的是指纹图像,window是参考邻与的窗口值。45 将灰度变化的梯度值在00(1800)方向上的分量变化计作:dh[0]=d[0]将灰度变化的梯度值在450(2250)方向上的分量变化计作:dh[1]=d[1]/将灰度变化的梯度值在900(2700)方向上的分量变化计作:dh[2]=d[2]灰度变化的梯度值在1350(3150)方向上的分量变化计作:dh[3]=d[3]/图3.6指纹图形块方向分布图3.1.4图像的二值化指纹图像的二值化是指从一个具有记录着纹理灰度变化的指纹图像生成另一个只有两种色调的黑白分明的指纹图像。使具有灰度的图像变化成为只有黑白两种色调的图像,这就是二值化图像,这种二值化图像的灰度层次从原来的256级减少到2级,相应地二值化后的图像也从8bit格式转成1bit的格式。迭代阈值方法如下:  (1)初始灰度阈值T是开始时设定的,R1和R2是指纹图像的两组灰度值。  (2)分别计算这两组指纹图像的平均灰度值u1和u2。  (3)然后再将灰度阈值T重新设置,并重新的定义T。此时T为:T=(u1+u2)/2。(3-13)  (4)再依据新的T对指纹图像来进行阈值分割。如图3.7所示。45 图3.7二值化后指纹图像3.1.5纹线细化指纹图像的细化在指纹识别预处理过程中也十分重要,这也是为提取指纹图像中特定区域的特征点做准备,而对指纹图像通常需要采用的方式是指纹图像的细化算法处理,细化后得到与原来指纹图像形状近似的,由简单的弧或曲线组成的图像,这些细线大多处在指纹的中心轴附近,这就是指纹图像的细化。根据细化方法不同,细化结果就会有所差异。这种方法是以某个像素的局部邻域(如3×3,5×5等)的图像特征来进行的处理,此外,也有还有采用边缘搜索编码[37] 、外轮廓计算[38]以及神经网络等细化的方法。对于任何形状的区域中,实际上是一个变型过程。通过对指纹图像的精炼,可以根据相邻八个点的各像素的情况以确定该点是否可以被删除或保留。图3.8八个相邻点可以看出:(1)表示不能删除,因为这个点是个内部点,我们细化指纹要求的是必须要形成骨架,如果连内部点都被删除了,骨架也就被掏空了;45 (2)表示也不能删除,也是同样的道理;(3)表示可以删除,因为这样的点不是骨架;(4)表示不能删除,因为删除掉后,原来所相连的部分也会断开;(5)表示可以删除,因为这样的点并不是骨架;(6)表示不能删除,因为这个点表示的是直线的端点,我们细化指纹要求的是必须要形成骨架,如果连端点都被删除了,骨架也就被掏空了;(7)表示不能删除,因为这是孤立点,孤立点的骨架就是它自身。总结上面的图,会得到以下的结论:(1)细化后的内部点不能删除;(2)细化后的孤立点不能删除;(3)细化后的直线端点不能删除;(4)细化后,如果P是边界点,则去掉P后;如果连通分量不增加,则P点可以删除。我们也可以根据上述结论,提前的情况作出一个查找表。将256个元素(0-255)标记为为0或1。然后,根据我们的调查表上的点的周围八个点,如果表1中的元素,则表示该点被删除,否则就要保留。查表方法是将白点设置为一个黑色点是0;对应于一个8位数字的第一位(最低显著位),只对应于所述第二位置的点之上,对应于右上第三,左相邻的点左上点对应于第四位置,对应于该点右邻是第五,左下点对应于第六位,以下对应于第七,右下点对应是第八。但鉴于在各个点附近的情况下,当前像素,就可以得到一个图像细化操作的查找表,这将在详细细化算法的图像中所表示出来  为了避免分裂指纹图像,导致实验失败。细化过程还需要两个步骤,第一步是标记操作,但它是有条件的。即那些像素被移除或未被标记将立即消除;第二步是将那些不可消除的点构造成一个3×3模板和细化查找表,再按照基本算法来实现。具体的算法实现步骤如下:(1)首先定义一个3×3模板和一个查找表,模板和查找表分别如表3.1和表3.9所示:表3.1:细化模板45 表3.9细化查找表(2)接着,从上到下、从左到右的对二值化的图像进行扫描;等到该过程结束后,再从左到右,从上到下对二值化图像进行的扫描;如果扫描后的图像灰度值为“0”,并且它上下左右两个像素点中有任意一个图像灰度值为"255"则转至步骤(3),否则重复步骤(2);(3)然后以该像素点为中心的3×3区域内的各个像素值和定义出来的模板中的权值进行卷积求和,得到查找索引值k;(4)接着再根据扫描后的图像灰度值的索引值k得到表中对应的数据,如果显示图像灰度值是“1”,那么将该像素点的灰度值重新设为“255”,如果显示的图像灰度值是“0”,则该像素点的灰度值任然为“0”。 (5)最后再将图像从头到尾扫描二遍后,如果这次扫描修改了图像中的点,则跳转至步骤二,开始新的一轮扫描。否则图像细化结束。45 图3.10细化处理后的指纹图像图3.10是一幅经过细化处理后的指纹图像,和原图像相比很明显可知,细化后的指纹图像的脊线宽度由5到8个像素被压缩成一个像素,以便于后续的特征提取的处理过程,通过细化能够对脊线的断点和分叉点进行精确定位。3.2指纹图像的特征提取和特征匹配3.2.1特征提取指纹识别系统的自动化水平,在很大程度上是依赖于系统提取的细节特征准确性。对于细化后的二值图像都要计算每个点值其交叉数(Cn)。一点R的交叉数Cn定义在一个3×3的模板上,模板如图3.11所示图3.11特征提取模板R表示的是待检验的点,如果R表示的是端点,则它的8邻域点就满足:(3-14)45 如果M表示的是分叉点,则它的8邻域点就满足:(3-15)这样就可以找到指纹图像的特征点,并记录了它们的类型和位置等特征。在获得的特征点,然后对特征点进行测试其有效性,然后取出假特征点,保留真特征点。然后细化图像特征点坐标(x,y)和提取出在d点方向的图像特征点,然后与它的相邻域,来形成的情况细节点的特征矢量组合。最后,所有的特征向量筛选,留下50-80特征向量构成的指纹特征模板。3.2.2特征点匹配算法步骤:(1)首先分别读取两个细节点集合;(2)然后再分别计算他们的r,e,ithetaangle(3-16)(3-17)(3-18)x,y表示的是细节点的x,y轴坐标,angle表示的是细节点的角度(3)接着跟据ithetaangle的大小按照从小到大排列两个细节点集合;(4)然后根据r,e,ithetaangle的值来计算出两细节点集合的匹配度,支持参数值editdistance[m][n];(5)然后再进行循环比较editdistance[m][n]与阈值T的大小(本程序T=10),大于T则匹配度参数加1。(6)最后计算特征点的匹配度:匹配度=匹配度参数*100/细节点数。如果匹配结果大于70,则表明超过70%的细节点匹配成功,则认为两细节点是匹配的。否则匹配不成功,细节点不匹配。特征匹配的流程如图3.12所示45 开始读取细节点集合1   读取细节点集合2   分别计算每个细节点的r,e,ithetaangle    分别升序排列两个细节点集合   计算两个细节点集合相关系数editdistance[m][n]   循环比较editdistance[m][n]与阈值T的大小,大于T则匹配度参数加1   两细节点集合不匹配 匹配度>阈值求匹配度  结束   两细节点集合匹配 图3.12细节点匹配算法程序45 4系统实现4.1仿真实验前期准备4.1.1仿真实验的实验软件这里我们选取了Matlab2012软件作为指纹识别的仿真软件图4.0Matlab2012仿真软件说明:MATLAB2012对系统的要求操作平台Windows2000及以上,windowsNT4.0处理器Pentiun3、4,Xeon,PentiumM,AthlonXP,AthlonMP存储空间345MB(仅仅包括帮助系统的MATLAB)内存256(最小),512(推荐)显卡16-bit,24-bit或32bit兼容OpenGL的图形适配卡4.1.2仿真实验数据的选取在仿真实验中,我们选取了10个指纹图像作为实验的模板。45 并随机选取了4个指纹图像作为仿真实验的样本进行配对的实验。特别说明:这里,Matlab系统对所选择的指纹图像模板加以了限制,并不是所有的图片都可以加入到系统的数据库文件中的,这里图片至少要满足以下这些要求:1.指纹的数字图像必须是黑白的;2.指纹的数字图像的大小必须是256×256大小的;3.指纹图像的文件类型必须是图中给定的文件类型;如图4.1所示:图4.1指纹识别的MATLAB仿真样本小结:10个指纹样本可以分别和自己匹配还有和其他9个指纹进行匹配,会产生100种不同的结果,不同的数据。从而保证了仿真实验结果的可靠性,可操作性。4.1.3仿真实验界面的设计利用MATLAB2012的GUI功能,建立起指纹仿真软件的仿真界面。程序的实现主要利用了MATLAB的imread,rgb2gray,dwt2,idwt2,imnoise等与图像处理相关的函数。还要通过一些Button控件来完成相应的功能,这些功能包括“打开指纹图像”,“图像增强”,“二值化”,“细化”和“特征提取”等构成。其中还用到了一些Axes控件来对处理后的指纹图像进行显示。45 一个完整的指纹数字图像识别系统界面应该包括:指纹数字图像采集、指纹入库、指纹图像匹配等功能,考虑到个人能力有限,因此在这个系统中,系统主要的功能包括:指纹数字图像的入库,比对,数据库重置和退出等功能。系统主界面包括以下功能按钮:1.创建检测样本数据库:主要实现指纹数字图像数据库的创建,这是指纹图像比对的前提;2.待识别样本:主要实现要匹配的指纹图像的匹配过程;3.重置样本数据库:清空指纹数字图像数据库;4.查看指纹样本图像;5.滤波可视化分析结果;6.退出系统界面如图4.2所示。图4.2指纹识别的MATLAB仿真4.1.4仿真实验算法仿真实验所使用的主要算法是滤波特征和不变矩指纹识别算法。45 因为前文有详细的介绍,这里就不再详细介绍了。这种算法的原理就是通过欧氏距离(ED)匹配算法,来判断两个指纹数字图像之间的欧氏距离。之后会提到系统是对一张指纹数字图像进行两次编码的保存。将相对应的特征向量进行比较,取其中最小的一个作为系统比对的结果输出。这里是通过欧式距离来实现对对比数据库中模板图像和待测试图像相对应的特征点向量距离计算的。对于计算机计算出来的数据,如果匹配指数小于定值T,则被认为是匹配成功,否则匹配失败。在仿真实验中,我们将T定值为1,如果相似度匹配距离超过1,则证明不是同一个指纹。如果相似度匹配距离小于1,则证明是同一个指纹。4.2指纹图像的预处理本次实验随机选取四个指纹图像分别进行“打开指纹图像”,“图像增强”,“二值化”,“细化”“特征提取”“录入数据库”等工作,具体说明上述文章中已说明,在这里就不详细描述了。如图4.3所示。(a)指纹图像一(b)指纹图像二45 (c)指纹图像三(d)指纹图像四图4.2原始指纹图像根据前一章节的内容可知,指纹识别的步骤第一步是预处理过程,首先我们通过系统分别对这四个指纹图像进行图像增强操作,效果如图4.3所示。(a)指纹图像一(b)指纹图像二45 (c)指纹图像三(d)指纹图像四图4.3图像增强结果图如图4.3所示,指纹图像都经过图像增强后,其黑色与白色区域更好的被区分开来,下面我们分别对四个指纹图像进行二值化处理,效果如图4.4所示。(a)指纹图像一(b)指纹图像二45 (c)指纹图像三(d)指纹图像四图4.4二值化处理效果图如图4.4所示,系统对指纹的二值化处理效果也相当不错,达到了识别的标准。由于二值化后的指纹纹理都不叫粗,不利于进行特征提取,因此还需要对指纹图像进一步进行细化处理,效果图如图4.5所示。(a)指纹图像一(b)指纹图像二45 (c)指纹图像三(d)指纹图像四图4.5指纹图像的细化处理在指纹图像细化的基础上进行特征提取操作,特征提取的效果图如图4.6所示。(a)指纹图像一(b)指纹图像二45 (c)指纹图像三(d)指纹图像四图4.6特征提取效果图将四张指纹图像的特征点数据录入到数据库中分别标号为1234.如图4.7所示:(a)指纹图像一(b)指纹图像二45 (c)指纹图像三(d)指纹图像四图4.7将特征值录入数据库4.3实验结果与分析通过上述一系列步骤可以看出,系统都能够对指纹识别的各个步骤得到理想的结果,下面我们对这四个图像分别随机和10个指纹模板进行比对,看下系统识别的准确度。从而分辨出样本指纹和模板指纹是否是同一个指纹。1、将指纹一和它自己进行对比,如图4.8所示。45 图4.8匹配成功仿真结果小结:识别库中提示的相似度匹配的距离是0,证明这两个指纹是同一个指纹。2、将指纹一和指纹二,指纹三,指纹四进行对比,如图4.9所示。45 45 图4.9匹配失败仿真结果小结:识别库中提示的相似度匹配的距离分别是1695,1673,1774。这代表着这些特征点的偏离程度大于1。证明指纹一和其他三个指纹都不是同一个指纹。3、将指纹二和他本身进行对比,如图4.10所示。45 图4.10匹配成功仿真结果小结:识别库中提示的相似度匹配的距离是0,证明这两个指纹是同一个指纹。4、将指纹二和指纹一,指纹三,指纹四进行对比,如图4.11所示。45 图4.11匹配失败仿真结果小结:识别库中提示的相似度匹配的距离分别是1695,1357,1977。这代表着这些特征点的偏离程度大于1。证明指纹二和其他三个指纹都不是同一个指纹。5、将指纹二和他本身进行对比,如图4.12所示。45 图4.12匹配成功仿真结果小结:识别库中提示的相似度匹配的距离是0,证明这两个指纹是同一个指纹。6、将指纹三和指纹一,指纹二,指纹四进行对比,如图4.13所示。45 图4.13匹配失败仿真结果小结:识别库中提示的相似度匹配的距离分别是1673,1357,2100。这代表着这些特征点的偏离程度大于1。证明指纹三和其他三个指纹都不是同一个指纹。7、将指纹四和他本身进行对比,如图4.14所示。45 图4.14匹配成功仿真结果小结:识别库中提示的相似度匹配的距离是0,证明这两个指纹是同一个指纹。8、将指纹四和指纹一,指纹二,指纹三进行对比,如图4.15所示。45 图4.15匹配失败仿真结果小结:识别库中提示的相似度匹配的距离分别是1770,1935,2042。这代表着这些特征点的偏离程度大于1。证明指纹四和其他三个指纹都不是同一个指纹。4.4实验结果分析与总结表4.1实验结果汇总表殴氏距离模板样本指纹一指纹二指纹三指纹四识别率指纹一0169516731774100%指纹二1695013571977100%指纹三1673135702100100%指纹四1770193520420100%合计100%45 本实验共选取了4组指纹样本,4组指纹模板,共进行了16次模拟匹配实验,其中4组匹配成功,12组匹配失败。16组实验中的实验结果均与实际情况相同,所以本实验的识别率为100%。实验结果无误可靠。通过这4组指纹共16组数据,共同表明:由于在指纹数字图像在入库的时候,指纹数字图像是按一定排列顺序的编码。同样地,系统也将匹配的指纹数字图像的图象编码设置同样的顺序。这样系统就按照一定得顺序进行匹配。这样可以通过欧氏距离(ED)匹配算法,来判断两个指纹数字图像之间的欧氏距离。前面提到系统是对一张指纹数字图像进行两次编码的保存。将相对应的特征向量进行比较,取其中最小的一个作为系统比对的结果输出。这里是通过对比数据库中模板图像和待测试图像相对应的特征点的欧式距离来实现的。对于需要对比的两组指纹图,如果匹配指数小于定值T,则认为匹配成功,否则失败。识别系统会逐一搜索数据库中的数据文件,求的他们距离的最小数值。如果对比的两张指纹数字图像的特征向量之间的距离是0,则系统会认为这两张数字图像是同一张,或者说来自于同一手指。从而达到识别的功能。欧氏距离表示的是两张指纹数字图像的特征向量的相似程度。距离越近就越容易相互干扰,误码率也就越高,也就越相似。5小结在生物识别技术的快速发展的今天,人们通过研究发现了每一个人的指纹都具有唯一性和不变性。也正因为这样,指纹识别技术正在逐步的发展成为一种新的身份识别技术,并且凭借它良好的安全性以及可靠性,逐步有取代传统身份认证的方式趋势。本文简单的介绍了指纹识别图像的预处理的方法和步骤。指纹图像预处理之后将会得到一个宽度为统一像素的细化后的二值化图像,最后再根据特定的指纹图像的端点以及交叉点的特征进行对指纹自动匹配。本论文中采用MATLAB2012编程实现所有算法。根据不同的人的指纹也会有不同,即使是同一个人,也会有不同的指纹。而且纹线走向、纹线的断点、交叉点的不同更加决定了指纹都具有“唯一”的这种特性,这恰恰就是指纹识别技术的原理。不仅如此,我们的指纹也是不会随着我们年龄的增长而发生太大的变化,也就是说我们指纹是终生不变的。利用唯一性和稳定性这个指纹的特性,可以将一个人身份个人信息和他所对应的指纹联系起来。实现的方法就是:指纹图像预处理之后将会得到一个宽度为统一像素的细化后的二值化图像,最后再根据特定的指纹图像的端点以及交叉点的特征进行对指纹自动匹配。接着把预先保存指纹样本,45 和指纹模板进行配对和比较。再利用计算机对指纹图像进行快速的识别。这样就能很快的识别出指纹所对应的人的真实身份了。从而达到一种身份认证和识别的功能。45 参考文献[1]杨强谭礼俊生物识别技术对比浅析大众科技  2005年02期[2]生物识别有望成为IT产业最重要技术革命安防科技  2005年02期[3]许峰都思丹高敦堂生物特征识别技术中的活体确认数据采集与处理 2005年01期[4]郭一博生物特征识别技术最新动向中国安防产品信息  2004年04期 [5]李徐周生物特征识别技术的发展与应用山东省青年管理干部学院学报 2004年01期[6]杨俊景疆浅谈生物认证技术—指纹识别计算机时代  2004年03期[7]赵丙辰嵌入式系统的核心——嵌入式处理器的分类与选型新乡师范高等专科学校学报  2005年05期[8]杨志强嵌入式系统设计与发展青海师范大学学报(自然科学版)2005年03期[9]周超.谢宗武.王建宇一种基于DSP的移动机器人嵌入式控制系统机械与电子 005年09期[10]指纹识别技术概述计算机安全2003.7[11]H.C.LeeandR.E.Gaensslen,AdvancesinFingerprintTechnology,Elsevier,NewYork1991[12]E.R.Henry,Classi_cationandusesof_ngerprints,GeorgeRoutledgeandSons[13Aminutia-basedpartialfingerprintrecognitionsystemTsai-YangJea*,andVenuGovindarajuCenterforUnifiedBiometricsandSensors,UniversityatBuffalo,StateUniversityofNewYork,Amherst,NYUSA14228[14]王波涛指纹图像识别技术及其应用计算机工程与应用2001.7[15]张光华肖强衷克仁指纹技术的研发与应用现代计算机总第125期45 TheMatlab-BasedFingerprintIdentificationChenZhihui(Networkengineering,AgronomyDepartmentZhongkaiUniversityofAgricultureandTechnology,Guangzhou510225,China)AbstractWiththedevelopmentoftheinformationage,theautomatedfingerprintidentificationtechnologyhasbeenwidelyusedinpublicsecurity,customs,banking,networksecurity,identityrecognition,textoverviewofthealgorithmflowoftheAutomatedFingerprintIdentificationSystemResearchandfingerprintidentificationsystems,andonthisbasis,theuseofMATLABforsystemdevelopmentandimplementation,andexperimentalverification.WiththecontinuousdevelopmentofBiometricIdentificationTechnology,Peoplefoundthateachperson"sfingerprinthasuniquenessandinvariant.ThereforeFingerprintIdentificationTechnologygraduallydevelopedasanewidentityrecognitionmode,andwithitsgoodsafetyandreliability,ithasreplacedthetraditionalidentificationwaytrends.ThispaperbrieflyintroducesthebasicstepofFingerprintIdentification,theyareFingerprintimagepreprocessing,Fingerprintcharacteristicextraction,Fingerprintmatching.IntheFingerprintimagepreprocessing,inturnintroducedthenormalizedprocessing,Imageenhancement,BinarytreatmentandRefiningprocessingmethod.Afterpretreatmentwillgetapictureforapixelwidthoftwenty-first-centurybinaryimage,thenthroughtheparticularendpointandintersectiononthecharacteristicsoftheFingerprintmatching.ThispaperusingMatlab2012programsallalgorithm.Keywords:networksecurity;fingerprintidentification;MATLAB201245 致谢毕业设计和论文到现在就即将完成了,经过自己的不断努力和导师杨继臣老师的辛苦教导下,我的毕业设计已经基本完成了。在这几个月里在杨继承的悉心指导、热情帮助下,我的专业知识有了很大的提高,老师对知识的热爱和对学生的关怀让我感动至深。经过这次毕业设计,使我对理论知识有了更加深刻的理解,自己编程的能力也有了很大的提高。在这次的毕业设计中,我发现了自己在知识结构中的不足,还不能够很好的把课堂上学习到的知识运用于实践当中,但是我以后会更加地努力学习,不断地完善自己的知识体系,增强自己的专业素养,以此来使自己的软件设计编码水平能够提升。 从毕业设计题目的选择一直到论文的最终完成,这当中包含了我的导师的辛勤汗水,而我之所以有这些知识也是依靠着学校各位老师的辛苦栽培。老师对我的悉心指导和谆谆教诲让我在专业上收获了很多。在毕业论文即将完成之际,我的心情激动难以平复,从毕业设计题目的正式确立一直到论文的顺利完成,老师和同学们给予我无限的关怀和帮助,在这里请接受我衷心的感谢! 最后谢谢学校和学院给予我良好的学习环境,感谢答辩组老师百忙之中对我设计的查阅和指导!45'