毕业基于matlab的指纹识别系统设计.docx
《毕业基于matlab的指纹识别系统设计.docx》由会员分享,可在线阅读,更多相关《毕业基于matlab的指纹识别系统设计.docx(39页珍藏版)》请在冰豆网上搜索。
![毕业基于matlab的指纹识别系统设计.docx](https://file1.bdocx.com/fileroot1/2023-6/10/69ffa7c0-70ec-4ebf-b993-4c513beccd79/69ffa7c0-70ec-4ebf-b993-4c513beccd791.gif)
毕业基于matlab的指纹识别系统设计
大连民族学院本科毕业设计(论文)
基于MATLAB的指纹识别系统设计
摘要
生物识别技术已经成为身份识别和网络安全的发展技术之一,其中指纹识别技术是目前公认的安全,准确,方便的身份认证技术之一,使之成为人们研究的热点。
本文主要设计一个基于matlab的指纹识别系统。
首先主要介绍了指纹识别技术研究的背景,意义,及现状。
其次,实现了指纹识别系统,描述了指纹识别系统的基本结构,并且对指纹图像的预处理、特征提取、特征匹配这三个必要的环节的算法进行了详细地研究,在指纹图像预处理阶段,本文使用基于灰度的算法对图像进行了分割,同时,针对二值化后图像中仍存在的噪声,也进行了相应的修整处理,尽可能的为以后指纹特征的提取打好基础,从而成功地实现了对指纹数字图像的处理、特征提取、保存和匹配等功能。
最后,对指纹识别系统进行了仿真,仿真结果表明该系统可以较好的进行识别,准确率达到了95.1%。
关键词:
指纹识别;预处理;二值化;特征提取;特征匹配
Abstract
Biometrictechnologyhasbecomeoneofthedevelopingtechnologiesforidentityrecognitionandnetworksecurity.Andfingerprintidentificationtechnologyisnowrecognizedasoneofthemostsafe,accurateandconvenientauthenticationtechnologies,anditisafocusforresearchers.
Thispaperdesignsamatlab-basedfingerprintrecognitionsystem.Thefirstintroducesthefingerprintrecognitiontechnologyresearchbackground,significance,andthestatusquo.Secondly,toachievefingerprintidentificationsystem,describesthebasicstructureofthefingerprintidentificationsystem,andthefingerprintimagepreprocessing,featureextraction,featurematchingthesethreeessentialaspectsofthealgorithmisstudiedindetailinthefingerprintimagepre-processingstagethisarticleusesanalgorithmbasedongrayimagesegmentationcarriedoutatthesametime,fortheimageafterbinarizationnoisestillexists,butalsoforthecorrespondingtrimmingprocess,asmuchaspossibleforthefuturelaythefoundationforfingerprintfeatureextractionandthussuccessfullyachievedfingerprintdigitalimageprocessing,featureextraction,storageandmatchingfunctions.Finally,thefingerprintidentificationsystemforsimulation,simulationresultsshowthatthesystemcanidentifyabetteraccuracyratereached95.1%.
KeyWords:
FingerprintRecognition;Processing;Binarization;FeatureExtraction;FeatureMatching
1绪论
1.1本课题背景和意义
指纹识别技术的应用十分广泛,指纹因具有终生不变性及稳定性,而且不同人指纹相同的概率几乎为零,因此指纹自动识别系统被广泛应用于案例分析、商业活动中的身份鉴别等领域.目前有很多的生物测定技术可用于身份认证,包括虹膜识别技术、视网膜识别技术、面部识别、签名识别、声音识别技术、指纹识别等,具有安全、可靠的特点,其中自动指纹识别系统是目前研究最多、最有应用前景的生物识别系统。
指纹识别技术的发展得益于现代电子集成制造技术的进步和快速可靠的算法的研究。
指纹门禁系统通过将用户的指纹特征与指纹特征数据库中的数据进行对比实现用户身份的鉴别,并不直接保存和使用用户的指纹图像信息,不会侵犯到用户的隐私信息,是当前技术最先进、应用最广泛的门禁系统。
对生物识别(指纹识别)技术来说,被广泛应用意味着它能在影响亿万人的日常生活的各个地方使用。
通过取代个人识别码和口令,生物识别(指纹识别)技术可以阻止非授权的“访问”,可以防止盗用ATM、蜂窝电话、智能卡、桌面PC、工作站及其计算机网络;在通过电话、网络进行的金融交易时进行身份认证;在建筑物或工作场所生物识别技术(指纹识别)可以取代钥匙、证件、图章等。
生物识别(指纹识别)技术的飞速发展及其广泛应用将开创个人身份鉴别的新时代。
指纹所具有的唯一性、不变性、及易于获取、分类存储有规律等特性使其成为生物鉴定学中最为成熟的方式。
1.2指纹识别技术研究现状
指纹识别技术从早期的人工比对到现在采用计算机技术实现自动指纹识别,指纹对比更加准确,识别效率得到极大提高。
自动指纹识别过程通常由指纹图像滤波增强、二值化、细化、特征提取以及指纹匹配等几个环节构成。
指纹图像滤波增强的目的是将有噪声干扰的指纹图像变得更加清晰,使得指纹图像的脊线更黑,谷线更白,当前在实际指纹图像增强算法的应用中一般是几种滤波增强方式结合起来使用,主要的方案是基于傅里叶变换结合滤波和指纹图像点方向场的下上下滤波器;指纹图像二值化,是将指纹图像变成灰度值只有0和255两种颜色的图像,当前,在自动指纹识别中常采用的是根据指纹图像的点方向场在指纹纹线方向和指纹纹线垂直方向上对指纹图像进行二值化处理;指纹图像细化是指删除指纹纹线的边缘像素,使之只有一个像素宽度,目前在自动指纹识别技术中常用的是OPTA算法的改进的图像模板细化算法;指纹特征提取,是将细化后使用计算机数字图像处理技术采集指纹图像中奇异点、端点、叉点等指纹特征数据,目前常用的特征提取算法是先对细化后的指纹图像进行初步去噪,然后提取特征点,再根据阈值去除伪特征点;指纹匹配,是指纹预留模板图像与输入样板图像中的所有特征点的匹配,目前在自动指纹识别系统中常采用可变大小的界限盒的指纹特征匹配算法。
目前指纹识别技术还有诸多困难,例当三维的指纹被指纹录入设备扫描成二维的数字图像时,就会丢失一部分信息,手指划破、割伤、弄脏、不同干湿程度以及不同的按压方式,还会导致指纹图像的变化,这就给可靠的特征提取带来了困难;例如传统的基于细节点的识别方法,是依靠提取指纹脊线上的细节点,然后对其位置和类型进行匹配,来识别指纹的,而噪声会影响特征提取准确度,增加错误的特征点或丢失真正的特征点。
当噪声很大时,就要增加图像增强算法来改善图像的质量,但很难找到一种增强算法能够适应所用的噪声,多种增强算法又会大幅增加算法运行时间,不好的增强算法又会增加人为特征。
当噪声增大时,提取了许多虚假细节点,还有可能丢失细节点,这就是传统的基于细节点识别算法的不足之处之一,因为它只利用了指纹图像中的一小部分信息(细节点位置和方向)作为特征进行匹配,丢失了蕴涵在图像中的其他丰富的结构信息。
不难想象,基于这种方法的识别算法,很难全面适应指纹的变化。
人的指纹含有天然的密码信息,它们具有几点重要特特点。
①广泛性,指每一个正常的人都有指纹。
②唯一性,指每一个人的指纹都不同。
指纹的细节由细微纹点和纹线的起点、终点、分叉等组成。
正是这些无穷无尽的细节特征组合构成了指纹的唯一性.事实上,甚至包括双胞胎,世界上两个指纹相同的概率小于1/109,几乎为零,这就构成了指纹的第一大特点。
③终生不变性,指纹终身不变即指纹的图案永远不会改变,从人的出现到死后的分解为止(除非指纹受到伤害)。
④指纹与主体的不可分离性:
即指纹不存在丢失、遗忘、被窃取的可能。
指纹的使用比起其它证卡来说更快捷、安全、准确、无干扰,可实现快速登录注册,系统兼容性好,也就是说可以独立或者通过联网构成系统并且很容易并入各类证卡和定义识别系统中。
因此,指纹识别技术的应用范围极广。
1.3本文的章节安排
本文以研究指纹识别中指纹图像分割、细化、特征提取、匹配等若干问题为研究主体,针对指纹识别技术中分割、细化和匹配进行了仿真和修正。
其中分割部分采用了方差均值的方法,细化选取了一种伪特征较少的模板,匹配时以分叉点和端点信息进行匹配。
具体的章节和各章的内容安排如下:
第一章:
在介绍本论文的研究背景及意义,在指纹识别技术的现状和特点的基础上,确定了本文所做的主要工作。
第二章:
本章主要介绍了指纹识别系统设计原理,为后续的研究工作奠定基础,介绍了均值方差的基础知识和基本理论以及仿真中具体的分割运用算法;指纹图像细化的方法;指纹图像细化后的特征提取,需要哪些特征,去除哪些伪特征,以方便和正确地进行匹配工作;指纹图像匹配的概念、匹配问题的困难所在和常用方法。
第三章:
指纹识别系统的仿真结果及分析。
结论:
总结本文所取得的一些研究成果,并对课题发展进行了展望。
2指纹识系统设计
2.1指纹识别系统设计基本结构
指纹识别系统主要由指纹图像读取,图像预处理,特征提取,特征匹配四大步骤组成。
首先,我们要提取需要处理的指纹识别的原始图片。
其次,进行图像预处理。
通常图像预处理包括分割、归一化、二值化和细化, 图像预处理的目的就是去除图像中的噪声,将图像变成清晰点线图,这样才能提取到正确的指纹特征,从而达到正确匹配的目的。
它的好坏直接影响到指纹识别的效果。
在此基础上, 接下来就是要对细化后的数字图像进行关键特征提取,从而达到识别不同的志文数字图像的目的。
普遍采用的特征提取是提取细节点。
最后,我们将处理后的图像进行匹配,指纹图像的特征匹配主要是对所提取的细节特征进行匹配,将要比对的图像与库中图像的细节特征进行比对,并将比对结果输出,这是指纹识别系统设计中最重要的一个环节,这也是指纹识别系的最终目的。
2.2指纹图像分割
2.2.1指纹图像分割介绍
指纹图像分割在指纹识别系统中作为图像与处理的一部分,指纹图像分割的基本依据是图像的某些特征及特征的集合。
如灰度值,邻域关系,纹线的扭曲程度等。
图像特征是指纹图像的固有属性。
通过提取图像特征,可将原始图像映射到特征空间,使图像特征在特征空间中呈现一定的分布[6]。
因此根据以上的的灰度值领域关系,纹线的扭曲程度,指纹图像分割大致分为三类:
基于像素的图像分割,基于块特征的图像分割以及基于全局的图像分割。
基于像素的指纹图像分割中目前流行多尺度小波变换和阈值法。
小波变换和傅里叶变换的出发点都是将信号表示成基函数的线性组合。
所不同的是傅里叶变换采用时间属于(一∞,+∞)的谐波函数
作为基函数,
计算机中的图像信息是以离散信号形式存放的,在信号处理中,特别是在数字信号处理和数值计算等方面,为了计算机实现的方便,连续小波必须进行离散化,而最基本的离散化方法就是二进制离散,一般将这种经过离散化的小波及其变换叫做二进小波和二进变换。
小波变换的特点是压缩比高,压缩速度快,压缩后能保持信号与图象的特征不变,且在传递中可以抗干扰。
在指纹识别识别中使用小波变换有助于噪声的滤除以及有利于检测奇异点。
但是小波变换的明显缺点是它计算复杂,计算效果也取决于函数的选择。
另一种阈值分割就是简单地用一个或几个阈值将图像的灰度直方图分成几个类,认为图像中灰度在同一个灰度类内的像素属同一物体。
它是图像分割中最基本的方法。
其原理是先定一个阈值,大于此值为1,小于则认为为0;多阀值则可以利用多维函数。
此原理在匹配中也可以运用。
其优点是计算简单,仅需比较灰度值即可;运算效率较高,速度快;它的缺陷在于仅考虑图像的灰度信息,而忽略了图像的空间信息,对于图像中不存在明显灰度差异或各物体的灰度值范围有较大熏叠的图像分割问题难以得到准确的结果。
代表块特征的指纹图像分割目前研究趋势为多种块基本特征如灰度均值、块灰度方差[9]、块方向图等综合运用和重新定义块特征。
其中块指的是将图像分个成一个个小的图像块。
图像均值就是对每一个单位块的灰度值取均值,方差则反映该块中各点与均值的偏差性,方向[10]这可以很好的反映纹理的变化趋势。
一般来说,常见的方向场的计算分为掩模法和公式法两大类。
LinHong等人开发的基于最小均方估计算法,即公式法。
(3.1)
它是利用正交坐标系下,原点到它们组成的坐标点的有向线段与X的正半轴的夹角可来表示该子块的块方向。
这种方法最大的优点是易实现,很好体现出纹理,但缺点是对于变化太快的部分出错。
此方法的实现是利用方向滤波器。
基于全局的图像分割则是根据情况特别是某些特殊场合的利用,如残缺指纹。
全局的图像分割可以是人工选定几个特定点后再根据全局的特点来处理,此法也可运用于匹配。
基于全局的指纹识别仍处于实验室探索阶段,应用领域中尚不广泛。
2.2.2均值方差法
在图像分割概述中,已经提到基于块特征的指纹图像分割。
在这部分将重点介绍均值法差法的计算方法和在仿真中的运用。
该算法基于背景区灰度方差小,而指纹区方差大的思想,将指纹图像分成块,计算每一块的方差,如果该块的方差小于阈值为背景,否则为前景。
具体步骤分以下三步:
(1)将低频图分成M×M大小的无重叠方块,方块的大小以一谷一脊为宜。
(2)计算出每一块的均值和方差。
(3.2)
(3)如果计算得到的方差几乎接近于0就认为是背景,对于方差不为零的区域在进行阈值分割算法,这种算法主要是根据计算得到的方差来决定其是否为背景区。
在使用方差均值法之前还要使用归一法将图变为低频图。
归一化的目的是把不同原图像的对比度和灰度调整到一个固定的级别上,为后续处理提供一个较为统一的图像规格。
指纹图像的归一化公式如式所示。
其中
和
为期望的灰度均值和方差。
但是小波变换的明显缺点是它计算复杂,计算效果也取决于函数的选择。
(3.3)
在使用方差均值法之前还要使用归一法将图变为低频图。
归一化[11]的目的是把不同原图像的对比度和灰度调整到一个固定的级别上,为后续处理提供一个较为统一的图像规格。
2.3指纹图像的细化
2.3.1指纹图像细化的预处理
这部分预处理主要为二值化。
由于指纹图像脊、谷相间,因此指纹图像的处理常是将指纹图像二值化。
灰度图像二值化是将灰度图变换为只有黑和白两种灰度的图像。
这样不仅可以压缩原指纹图像的数据量,而且也方便后面的细节特征的提取。
灰度图二值化的基本思想是选取适当的灰度阂值,将灰度图像转化为二值图像,阈值的选择是关键,对于阈值的选择,有多种方法,如熵法,Ostu法等。
根据是否将图像分块处理,又分全局阈值算法和局部阈值算法两种,全局阈值算法是将整幅图像以一个阈值处理,而局部阈值算法则把原图分成若干个子图,在每个子图中确定闽值,在进行二值化,由于指纹图像在不同区域的亮度和对比度是有差别的,因而全局阈值算法不适用。
灰度图二值化的基本思路是选取适当的灰度阈值,将灰度图像转化为二值图像。
一般的图像处理中的二值化算法主要是计算整幅图像的灰度平均值,然后将该值作为门限,高于该门限的像素点就置1,反之置0。
我们通过研究发现,这种方法虽然简单,但是对噪声较大,图像质量不好的指纹会产生较大的二值化噪声。
所以最好选用局部阈值法作为二值化算法。
论文中采用了一种动态局部阈值,满足这种条件下的灰度值为128,不满足则灰度值为255。
再根据前面判断的是否为背景即Icc值的来修正Icc值:
灰度值为128且Icc为1时(非背景指纹纹线时),Icc值为0,像素值置为0。
背景和灰度值为255的纹线像素置为1,这做法的目的是去除不确切的点。
此时背景为白,纹线为黑。
二值化后的图像中的点还要进行修改,修改条件为:
当像素为1时,它周围点不大于3个为像素1点则修改为0;当像素为0时,它周围不小于7个点为像素1的点,则修改为1。
这种修改是为了使图像连续圆滑。
2.3.2指纹图像细化方法计算
由于灰度过渡区[12]的存在,指纹细化是指纹图像预处理中的一个重要环节,因为一般的特征提取都是在细化的基础上进行的,如果细化不好,将无法使用常规的特征提取算法提取细节特征信息[13]。
细化可以便我们得到绞线的单像素的骨架。
所谓“骨架”,是指图像中央的骨骼部分,是描述图像几何及拓扑性质的重要方法之一。
获取一个图像骨架的过程通常称为对图像“细化”的过程。
在文字识别、地质构造识别、工业零件形状识别或图像理解中,先对被处理图像进行细化有助于突出形状特点和减少冗余信息。
细化处理是指在指纹图像二值化以后,在不影响纹线连通性的基础上,删除纹线的边缘像素,直到纹线为单像素宽为止。
理想细化后的纹线骨架应该是原始纹线的中间位置,并保持纹线的连通性、拓扑结构和细节特征。
一种好的细化算法应该满足下列条件[14]:
(1)收敛性:
迭代必须是收敛的。
(2)连通性;不破坏纹线的连接性。
(3)拓扑性:
不引起纹线的逐步吞食,保持原图像的基本结构特性。
(4)保持性:
保护指纹的细节特征。
(5)细化性:
骨架纹线的宽度为1个像素,即单像素宽。
(6)中轴性:
骨架尽可能接近条纹中心线。
(7)快速性:
算法简单,速度快。
已有的算法迭代按迭代方式的不同分为串行算法和并行算法。
在串行细化算法中,当前迭代的结果不仅取决于前一次的迭代迭代图像,而且与当前处理情况有关;而在并行方式中,当前迭代仅仅是由前一次的迭代情况决定,串行细化算法的处理结果依赖于对像素处理的先后顺序,因而像素点的消除或保留不可预测。
并行细化算法对图像进行细化时利用相同的条件同时检测所有像素点,其结果具有各向同性,因此从算法原理上并行算法优于串行算法。
由于并行细化算法具有快速而准确的特性,因此他一直是人们研究的热点,并且相应的提出了许多并行细化算法,如OPTA细化算法,R.W.Hall细化算法,Rosenfeld细化算法,Zhang&Suen细化算以及ZR细化算法等等。
性能上这些算法各有所长。
不同的文献上有不同的关于细化方法,如王家隆等[16]以及王业琳等[17]的细化模板。
制约细化的直观表现在计算速度、毛刺和断点上。
因而细化中选择一个好的模板很关键。
模板分为保留模板和消除模板,消除模板就是根据条件判定这点去除作为背景的模板;保留模板则是根据条件判定这点保留作为前景的模板。
这样就可以将较粗的图像曲线细化成很细的以像素为单位的线,大大减少了图像的信息量,有利于匹配的高效进行。
方法步骤:
(1)建立3维数组,第一组数据为预处理后的图像信息,定义每一个像素点它周围点像素参数。
(2)对于满足6种情况的模板,赋值为2,其实为像素1情况。
对于满足后六种情况的模板赋值为3,别的情况点值不做改变。
(3)16种消去模板是在不满足上述情况下衍生的模板,对于满足这些模板的点像素全为0,以上都未涉及的点不做改变。
(4)循环进行上述过程,到所有点值不改变为止,最多进行20次细化。
2.4指纹图像的特征提取
2.4.1指纹特征提取概述
特征提取就是对细化后的指纹图像提取表示其特征的信息的操作。
我们前面所叙述的指纹图像预处理目的就是为指纹的特征提取和最终识别建立一个良好的基础,以保证整个系统识别率比较高。
对于自动指纹识别技术而言,选择一种合适的、能表达指纹唯一性的特征量是非常关键的。
一般说来,这种特征应有以下性质:
(1)单一性:
要求这种特征能够充分体现指纹的唯一性。
(2)可测试性:
适用于指纹匹配算法,便于在匹配算法中应用。
(3)紧凑性:
要求提取的特征不应包含指纹唯一性以外的冗余信息,并且信息量要尽量小,便于存储、管理和计算。
(4)鲁棒性:
要求这种特征对噪声的存在与指纹形变不敏感。
为了比较两个指纹是否相同,需要从指纹图像中提取出能表示指纹唯一性的特征。
Galton提出的指纹细节点是人工指纹匹配中最常用的特征。
指纹由脊线和谷线交替构成,在大多数地方纹线连续且相互平行,而某些局部不连续的地方构成了细节点。
Galton定义了4种细节点类型:
分叉点,端点,环、岛,并指出细节点具有唯一性,可以用于指纹匹配。
目前已定义的特征类型己达150多种,但是这些扩展的特征往往不易提取相互区分,并且它们都可以由端点和分叉点的组合进行描述,这使得端点和分叉点成为最常用的结构特征,也称为细节特征,它被认为是最稳定、最容易检查的,而且占全部特征点的80%以上。
提取出的特征点还必须经过伪特征点的去除,尽可能地去除掉由于二值化、细化处理等过程引入的伪特征点。
最后确定出特征点的类型、位置、方向。
本章就是根据端点和分叉点是最常用的结构特征,提取满足一定条件接近的点,再去除不是端点和分叉点的伪特征点,最终实现特征值的提取,有利于后面匹配的展开。
2.4.2指纹特征提取和去伪特征
目前在细化二值图像中提取细节特征多是用8邻域法,该方法比较简单,在得到可靠的细化二值图像后,只需要一个3×3的模板便可将端点和分叉点提取出来。
对于细化二值图像,像素点的灰度值只有2种情况。
在提取指纹图像的细节特征中,由于图像质量和噪声的干扰,存在大量的伪特征点,实验表明一幅质量较差的图像在经过预处理,细节特征提取后可能产生多达一、两万个细节特征点,其中包含了大量的伪特征点,这些伪特征点的存在,不但使匹配的速度大大降低,还使指纹识别性能急剧下降,造成识别系统的拒真率和误识率的上升,因此在进行指纹匹配之前,应对细节特征进行验证,尽可能将伪特征点去除,同时保留真特征点。
去除伪特征点是特征提取要解决的一个重要问题。
对整个图像进行特征提取后得到的特征点并非全部都是真实的分叉点和端点,由于指纹质量,细化、特征提取过程引入的噪声造成了很多伪特征点,特别是图像边缘有很多图像分割产生的边界伪端点。
本章中将特征建立为一个3维数组,前两组用于记录端点和分叉点。
第3足则专门记录伪特征最终可以除去。
端点和分叉点的判断都是运用了上述的8邻域法。
其中
(1)端点的判断条件为:
周围的8邻域两两相邻当且仅当存在2个不同值。
此时的处理为记录数组2,记录点的个数,并将该点记为0,而它的8邻域点记为1。
(2)分叉点的判断条件为:
周围的8邻域两两相邻当且仅当存在6个不同值。
此时的处理为记录数组1,在上述基础上记录点的个数,并将该点记为0,而它的8邻域点记为1。
处理方式类同上面。
(3)伪特征的判断比较多,全部计入数组3。
第一类:
超出一定边界,仿真中用了17。
此时把它和周围8点记为0,并在上述基础上减去不是特征点的个数。
第二类:
对于直线12点的和不超过1的点也被视为伪特征点,处理方式类同。
第三类为断点:
在上述的范围内,特征值为2。
此时在更小12的上半范围或下半范围,特征仍为2则认为为断点。
处理方式为把它和周围8点置为0,在上述基础上减去2倍的断点数。
第四类为毛刺,毛刺的判断类似于短点。
因为指纹变化多的部分为中间,所以处理的范围比断点来的范围小,并且在特征值为2的情况下仅仅是缩