指纹识别报告_第1页
指纹识别报告_第2页
指纹识别报告_第3页
指纹识别报告_第4页
指纹识别报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于matlab的指纹识别系统电子信息科学与技术专业课程设计任务书20 12 20 13学年 第 2 学期 第 17 周 19 周 题目指纹识别内容及要求1、对采集的指纹图像做各种处理方便寻找特征点进行识别。如:像素的扩大、二值化、细化等。2、从处理过的指纹图像中寻找特征点3、通过特征点与中心点的相对位置来判断此特征点是否与模板特征点相符。 4、最后通过相符特征点的数量来判别采集的指纹与模板的指纹是否出自同一人。进度安排学生姓名:指导时间 2013年月日至年月日指导地点: 任务下达20 年 月 日任务完成20 年 月 日考核方式1.评阅 2.答辩 3.实际操作 4.其它指导教师系(部)主任注:

2、1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。摘要指纹识别技术是生物识别技术的一种,正因为指纹具备唯一性和不变性等特征使得指纹识别技术已经被广泛的应用于身份鉴证等多种领域。一般而言,一个指纹数字图像识别系统通常由指纹数字图像预处理、特征提取、保存指纹数字图像及指纹数字图像匹配等四部分过程构成。本文对指纹数字图像识别系统的原理和基本过程进行了较为深入的分析与研究。首先对指纹数字图像的分类、基本特征与识别原理进行了详细的论述。其次,在指纹数字图像预处理部分,本文主要对预处理的各个步骤:数字图像分割、数字

3、图像增强、二值化、图像细化等含义及过程进行了详细的分析,并设计了一种合适的指纹数字图像预处理方案。然后详细的论述了指纹数字图像的特征提取与匹配过程,其中指纹数字图像的特征提取是从细化后的指纹数字图像图中提取出端点和分叉点,即细节特征点,此特征点会包含大量的伪特征,这样会非常耗时并且降低匹配的精度,而采用边缘去伪和距离去伪的方法能使伪特征点减少近1/3,然后再提取可靠特征点信息,从而实现指纹数字图像匹配,本文采用了基于matlab实现的指纹数字图像细节特征提取方式。在指纹数字图像匹配部分,本文采用基于细节点的指纹数字图像匹配算法,并进行了深入研究。最后,通过对指纹数字图像识别系统算法的详细研究,

4、本文利用matlab工具设计并实现了一个指纹数字图像识别系统,完成了对指纹数字图像的处理、特征提取,保存和匹配等功能,利用编码对指纹数字图像进行入库、匹配等操作,从而完成图像的识别来判断是否同一指纹,其比对结果令人满意。【关键词】:指纹识别、特指点匹配。目录摘要2目录3第一章 设计要求41.1 功能要求41.2 平台要求4第二章 系统组成及设计原理52.1 功能基本概述52.1.1扩大像素52.1.2二值化62.1.3细化72.1.4、中心点的提取82.1.5、特征点的提取82.1.6、特征点匹配92.2 预处理方案92.3方向调整102.4 识别方案的选择10第三章 实验总结143.1 优缺

5、点分析143.2 实验收获14参考文献15附录 部分核心代码及结果16第1章 设计要求1.1 功能要求通过对采集指纹的处理提取特征点与模板比较,判断是否属于同一人之手。在处理时为了提取特征点方便,应该把指纹像素增大,细化二值化等。在对指纹识别时采取多种方法并且比较每种方法的优缺点。最后总结出最佳方案。掌握指纹识别的概念与实现过程框图;熟练掌握指纹图像的特征、特征提取、指纹识别方法。构建指纹识别完整模型,包括图像获取、图形预处理、特征提取、图像识别各环节的软件算法;在图像预处理过程中,充分考虑图像去噪、图像增强等有关算法;同时,设计基于指纹识别的用户管理界面。在消化吸收国内外研究成果的基础上,探

6、讨指纹识别模型与算法的快速性、鲁棒性。同时,针对构建的简单指纹图像数据库具有较好的识别效果,并考虑指纹门禁控制系统的实时性。参照国内外同行取得的研究成果,不断改进算法模型。针对实际应用,探讨该模型算法的优点;讨论指纹图像数据库的大小、系统容量、训练样本随机变化、以及选择不同算法时对识别率的影响;得出具有一般性指导意义的结论。1.2 平台要求学会matlab的基本使用。通过matlab软件完成指纹识别的各部分功能。熟练掌握图像处理原理与模式识别原理。熟练掌握matlab软件及该软件中的imageprocessingtoolbox及其编程技巧。第2章 系统组成及设计原理指纹识别系统2.1 功能基本

7、概述扩大 像素 二值化细化特征点的提取特征点匹配中心点的提取图2-1 功能框图2.1.1扩大像素由于图像太小会使指纹的纹路不清晰影响特这点匹配所以把各个像素点都扩充到4倍的区域。如图2.2在第一个点处赋同样的值把各个值赋好只要在其它三个点处赋值,值为相邻已知像素大小的点平均ab cda(a+b)/2b.(a+c)/2(a+b+c+d)/4(b+d)/2.c(c+d)/2d.图2-1-1 像素扩大2.1.2二值化为了便于区分纹路把中间的过渡像素的二值化处理,这样只存在于255和0便于处理相关数据。1将图像分成大小为n×n的小块,用上述方向图改进方法计算各小块的方向;2对图像中的每一点,

8、以其所在块的方向作为该像素点的方向,并以该点为中心在其法方向上取(一般为奇数)的矩形窗,计算矩形窗内指纹方向每一列中像素点在法方向上的加权平均,具体公式为: (3.11)其中coefficent为加权平均系数,满足 ,是k列上的第d个像素的位置。3对中极大点或极小点附近的波动做平滑处理;4找出极大点和极小点位置及对应的值,对极大值极小值求平均,将此平均值作为该点二值化门限,称其为动态阀值。5将当前像素点的加权平均灰度值(即)与动态阀值进行比较,若小于动态阀值,同时,当前像素点在波形图极小点一个有限的邻域内,则当前像素点为脊线点,否则即为谷点,即: (3.12)其中的取值与指纹读入器的分辨率有关

9、,通常取为指纹周期的四分之一,本文取。若的起伏很不明显,说明该区域属于无效区域或背景区域,整个区域的像素值置为255。本算法在具体实现中可利用同一块中所有像素有同样方向的条件,推导出快速算法,防止一些点的重复扫描,大大缩短处理时间。2.1.3细化用于要辨别准确地纹路所以要使用一条细线代替原先纹路,可以更加准确地辨别与处理图2-1-3统一模块如图2-1-3所示,左上角的方窗(即)为消除模板。即,一黑色象素八临域与消除模板中的一个相匹配的话,该点被认为是可消除的点。消除模板具体如下: (a) (b) (c) (d) (e) (f) (g) (h) 图2.10消除模块 图2-1-4 消除模块图(a)

10、(d) 4个模板能有效去除边缘上的突出物,保证了细化后的指纹骨架处于指纹脊线中心,避免了细化后的指纹骨架出现毛刺。除消除模板外,还需构造保留模板,保持纹线的连通性。保持模板内容如下图所示: (a) (b) (c) (d) (e) (f) 图2.-1-5保留模块具体算法如下:从图像的左上角元素开始进行,每个像素(图中为)均抽取出如图3-1-3所示的15个相邻像素,并且把其中8个邻域像素()与图3-1-4中的8个模板比较,如果和8个消除模板中的任意一个都不匹配时,保留;如果与8个中的任一个匹配,则抽取的元素再和上图中的6个保留模板进行比较,如果与其中任一个匹配的话,则保留,否则删去。重复这个过程,

11、直到没有一个像素的值被改变。这种算法的具体实现可引入查表法,即对所要处理的像素周围模板内前15个点预先进行编码(用双字节15个位来表示,双字节的最低位存放的值,依此类推,次最高位存放的值),把编码值作为存储地址,按上述细化法则,预先在存储地址上存入相应的细化值(可用0、1表示,0表示保留,1表示删去)。细化时,移动4x4的方窗内象素的编码地址去查找相应的细化值,用细化值替换当前像素值。2.1.4、中心点的提取对于特征点的匹配时要找一个基准点来对照比较这样更如意处理识别问题,所以取每个指纹上的中心点来作为基准点。2.1.5、特征点的提取对于纹路上的分差点和端点提取可以通过其的特点提取。及在一个9

12、宫格中一般只有一头进入一头出去。如果发现有一头进入两头出去及分叉点,只有一头进入无出去及端点。如此可以发现纹路覆盖9宫格三个格子的正常,覆盖4个格子的及分叉点,只覆盖2个格子的及端点。特征提取一般是指提取指纹图像的局部特征,也就是细节点特征。在基于细节点的指纹自动识别系统中,特征提取是在细化后的指纹图像上进行的。特征提取的首要问题是确定细节点和它的位置,细节点的位置和细节点间的相对位置很重要,尽管每个指纹中包括将近80个细节,只要确定十几个细节点就己经足够用来识别了。探测细节点的算法很简单。m是待检测的点,是它的八邻域,沿顺时针方向排列。是细化后图像在处的灰度。如果m是端点,则它的八邻域满足:

13、, (3.13) 如果m是分叉点,则它的八邻域满足:, (3.14)这样我们就可以在细化后的图像中找到细节点(端点和分叉点),并记录它们在图中的相对位置。2.1.6、特征点匹配在匹配时可以采取特征点类型匹配,与中心点的距离匹配,与中心点的角度匹配。用pointofmodel存取模板特征点的类型,相对中心点的距离,相对中心点的相位。类型存在pointofmodel(i,1)=1表示为端点;0为分叉点。距离的计算则为 其中px,py为特征点x,y坐标。xofcenter和yofcenter为中心点坐标。2.2 预处理方案预处理是将输入的(直接采集进来的)低质量、有噪音的指纹源图象处理成已细化了的清

14、晰的二值图像3。它的目的是减少低质量的图像对分类识别结果的影响,预处理中一般包括图像增强、滤波、二值化、细化等步骤。预处理的方法通常有两种:方法一:先求方向图,后求频率图,最后由此得到的gabor滤波器对图像进行滤波。这种方法计算量比较大,在求频率图容易产生偏差,不利于单片机的实现。方法二:结合指纹图像自身的特点以及其源图像像素来确定该点是否为脊,直接准确地得到黑白二值的指纹脊图像。这 种方法对于从不同渠道获得的图像均有不错的效果。在以上两种方法都要用到方向图,方向图是一种可直接从原灰度图像中得到的有用信息,在预处理、特征提取、指纹分类中有着重要意义。我们总是在准确求得方向图的基础上运用各种滤

15、波方法或直接找脊的方法来进行预处理。方向图描述了指纹图像中每一像素点所在脊线或谷线在该点的切线方向,也可看作是指纹源图像的一种变化表示方法,既用纹线的方向来表示该纹线。方向图分为两种:一种是点方向图,表示源指纹图像中每一点脊线的方向:另一种是块方向图,表示源指纹图像中每一块脊线的大致方向。计算方向图的基本思想是:在原灰度图像中每一点(或每一块在各个方向上的某个统计量(如灰度差、梯度等),根据这些统计量在各个方向上的差异,确定该点(块)的方向。2.3方向调整图2-3 点方向示意图设是指纹图像中点的灰度值,要计算该点的方向,需要先求出(该点临域沿d方向的灰度变化)。 =, d=1,2,·

16、··,n (3.1)其中:是方向d上的第k个点;是该点的灰度值,n是所取的方向数,n为每个方向上所取的邻点数。这两个数的具体取值与图像的分辨率有关,一般取n=16,即取16个方向,n=8,即一个方向上取8个邻点。 点的方向为取值最小的方向。对图像中的每一点求取点方向,这样便形成了指纹点方向图。此方向求得的方向特点:1方向取值不是02中的任意值,而是有限的几个数。2这种方向计算出的方向范围是02,有利于求取指纹的走势。(与认为是不同方向)2.4 识别方案的选择方案一:提取完特征点对模板中的一点在采集指纹中找一点与其相对中心点距离相差小于2,角度相差在-pi/4-pi/4且类型

17、一样。但发现在采集指纹中能找到20个与模板中的特征点相符的点则表明采集的指纹与模板指纹出自同一人之手。在比较时要求对两指纹的角度是相同的。及采样指纹满足pointofmatch(i,2)<r的个数为count1;及模板指纹满足pointofmodel(i,2)<r的个数count2;两者只差|count1-count2|<3部分代码见附录。流程图如下 图2-4-1开始 取圆半径从第一个特征点开始是否处于圆内 n y记录符合特征点数量下一特征点特征点是否全部找到 n取另一圆半径 结 束图2-4-1 方案一流程图方案二:为了减少由于角度时系统算法变复杂则以中心点为中心画圆计算出处

18、于此圆中的特征点个数。但同一类型的特征点个数基本相符时则继续增大此圆的半径。只要大部分圆内特征点基本符合则表明两指纹为同一人。通过分析两种方案的优缺点,我采取同时使用两种方案。使两种方案结合在一起这样可以更加准确地处理指纹识别的问题。及特征点与中心点距离之差 |pointofmodel(i,2)-pointofmatch(i,2)|<2 相位之差|pointofmodel(i,3)- pointofmatch(i,3)|<pi/4部分代码见附录。流程如下图2-4-2:开 始取模板中第一点特征点去采样指纹中第一点 是否相符n取采样指纹中下一点y取模板中下一点记录相符数量数量大于20n

19、结束y图2-4-2 方案二流程图最后总结出使用方案一和方案二的结合是系统的准确率和速率提高及当满足方案一时在调用方案二,只有两方案都通过则指纹通过。第3章 实验总结3.1 优缺点分析对于方案一来说准确率不高且算法复杂执行效率不高。但比起方案二准确率相对较高。方案二算法简单执行效率高。当两者结合会使准确率提高。遇到大多数指纹执行效率也大大提高。3.2 实验收获通过对本次课程设计的制作。我学会了用matlab软件的简单操作。同时提高了我的c语言的编写能力。对本次课设的主题有了相当的了解。对指纹识别系统的基本思路有了清晰的认识。从对其感到陌生到熟悉的过程有很到的收获,对我下次遇到陌生的问题是有了相当

20、的适应能力与自信。知道了遇到陌生的问题只要静下心来思考就会发现也就这么简单。不用想的太复杂。参考文献【1】王建永.指纹图像的特征点提取与匹配【d】大连理工大学.2003。【2】董日荣.指纹识别系统核心算法的研究【d】华南师范大学.2004。【3】 查振元、朱华炳电子门禁系统组成.机电产品开发与创新.2003.【4】刘 莎、姜长生构建基于intel pxa255的指纹识别系统.微处理机.2005.【5】李建华,马小妹,郭成安,基于方向图的动态闽值指纹图像二值化方法.大连理工大学学报. 2002【6】冯星奎,李林艳,颜祖泉. 一种新的指纹图像细化算法.中国图像图形学报.1999【7】吕凤军.数字图

21、象处理编程入门一一做一个自己的photoshop.北京:清华大学出版社,1999【8】刘文星,王雄沂,母国光.纹线跟踪及其在细化指纹后处理中的应用.光电子·傲光,2002【9】刘家锋,唐降龙,赵泉.一个基于特征点匹配的联机指纹鉴别系统.哈尔滨工业大学学报,2002【10】简兵,庄镇泉等.基于脊线跟踪的指纹图细节提取算法.电路与系统学报,2001 【11】 罗希平,田捷.自动指纹识别的图像增强和细节匹配算法.软件学报,2002-5【12】乔治宏.基于细节结构的指纹特征提取及匹配算法研究.北京:北京工业大学硕士学位论文,2004-5. 附录 部分核心代码及结果1、记录模板在相应圆内的特征

22、点个数for j=10:10:200 count(j/10)=0; count2(j/10)=0; for i=1:pointofmodelcount if(pointofmodel(i,2)<j&pointofmodel(i,2)>j-10) if pointofmodel(i,1)=1 count(j/10)=count(j/10)+1; plot(dpy(i),dpx(i),'or'); else count2(j/10)=count2(j/10)+1; plot(fpy(i-size(dpx,2),fpx(i-size(dpx,2),'og&

23、#39;); end end endend2、记录采样指纹在相应圆内的特征点个数for j=10:10:200 countt(j/10)=0; countt2(j/10)=0; for i=1:pointofmatchcount if(pointofmatch(i,2)<j&pointofmatch(i,2)>j-10) if pointofmatch(i,1)=1 countt(j/10)=countt(j/10)+1; else countt2(j/10)=countt2(j/10)+1; end end endend3、判断在相应圆内特征点数量是否一致counto=0

24、;for j=10:10:200 disp(count(j/10); disp(count2(j/10); disp(countt(j/10); disp(countt2(j/10); if(abs(countt(j/10)-count(j/10)<3&abs(countt2(j/10)-count2(j/10)<3) counto=counto+1; endend4、当圆内特征点数量符合则进行比较单个特征点是否符合if counto>15 for i=1:8 countt(i)=1; end for i=1:pointofmodelcount for j=1:poi

25、ntofmatchcount if (pointofmodel(i,1)=pointofmatch(j,1)&(abs(pointofmodel(i,2)-pointofmatch(j,2)<2)5、找寻不同相位上的符合特征点数 if(abs(pointofmodel(i,3)-pointofmatch(j,3)<pi/4|abs(pointofmodel(i,3)-pointofmatch(j,3)=pi/4) model(1,countt(1)=i; countt(1)=countt(1)+1; end if(abs(pointofmodel(i,3)-pointofm

26、atch(j,3)-pi/4)<pi/4|abs(pointofmodel(i,3)-pointofmatch(j,3)-pi/4)=pi/4) model(2,countt(2)=i; countt(2)=countt(2)+1; end if(abs(pointofmodel(i,3)-pointofmatch(j,3)-pi/2)<pi/4|abs(pointofmodel(i,3)-pointofmatch(j,3)-pi/2)=pi/4) model(3,countt(3)=i; countt(3)=countt(3)+1; end if(abs(pointofmodel

27、(i,3)-pointofmatch(j,3)-3*pi/4)<pi/4|abs(pointofmodel(i,3)-pointofmatch(j,3)-3*pi/4)=pi/4) model(4,countt(4)=i; countt(4)=countt(4)+1; end if(abs(pointofmodel(i,3)-pointofmatch(j,3)-pi)<pi/4|abs(pointofmodel(i,3)-pointofmatch(j,3)-pi)=pi/4) model(5,countt(5)=i; countt(5)=countt(5)+1; end if(abs(pointofmodel(i,3)-pointofmatch(j,3)-5*pi/4)<pi/4|

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论