当前位置:文档之家› 指纹图像预处理毕业论文

指纹图像预处理毕业论文

目录

摘要............................................................................ II Abstract ....................................................................... III 第一章概述.. (4)

1.1 指纹及其识别 (4)

1.2 指纹识别算法概述 (4)

1.3采集指纹图像的技术 (5)

1.4 指纹预处理 (6)

1.5 指纹图像预处理过程及一般算法 (7)

1.6特征拾取、验证和辨识 (8)

1.7 指纹识别的主要应用 (9)

1.8本次设计的任务要求 (10)

第二章设计方案 (11)

2.1 平滑处理 (11)

2,1.1 增强对比度 (11)

2.1.2 指纹图像规格化和滤波 (11)

2.2 锐化处理 (12)

2.3 二值化 (13)

2.4 细化 (14)

2.5 特征值的提取 (15)

2.6 伪特征点的去除 (16)

2.7本章小结 (17)

第三章 MATLAB软件设计 (18)

3.1MATLAB的简介 (18)

3.2 程序调试 (20)

3.2.1设计思路 (20)

3.3图像处理 (21)

3.4本章小结 (31)

结束语 (32)

致谢 (33)

参考文献 (34)

摘要

指纹图像预处理是指纹识别的前提,它的好坏直接影响到指纹识别的成败,但由于指纹图像降质带来的困难,并根据指纹图像的特征提出了合理的假设,再根据假设提出了增强指纹图像对比度的算法、提取指纹有效区域的算法、根据方向信息分割图像的算法以及去除图像中气泡噪声的算法,这些算法处理效果好,能有效地解决指纹图像的预处理问题。

用Matlab实现这种方法,既能分步对指纹图像预处理算法进行仿真测试,又可以很直观地看到图像预处理算法的效果。实验证明,用Matlab实现的处理结果比较理想,满足识别的应用性。本文介绍用matlab实现了指纹图像的对比度增强、有效区域的选取、指纹图像的二值化、指纹的特征值提取等。并选取较好的处理步骤和算法参数解决指纹图像预处理的问题。

关键字指纹图像预处理,二值化,对比度,特征点提取

Abstract

Fingerprint image pre-processing is a prerequisite of fingerprint recognition, it will have a direct impact on the success of fingerprint recognition, fingerprint image degradation because of the difficulties caused by the characteristics of fingerprint images based on reasonable assumptions made, and made under the assumption that contrast enhancement algorithm for fingerprint images, fingerprint extraction algorithm effective area, according to the direction of the image segmentation algorithm and the information to remove noise in the image bubble algorithms deal with the effect, It can effectively solve the problem of fingerprint image preprocessing.

Every part of fingerprint images preprocessing algorithms can be simulated and testd by matlab,and the effect of images processing algorithms can be observed intuitively.The experimental results show that Matlab can get ideal processing result,and can meet the requirement of recognition.We introduce the use of matlab to achieve a fingerprint image contrast enhancement, the effective selection of the region, the fingerprint image binarization in this text. And to select the best of processing steps and algorithm parameters to solve the fingerprint image pre-processing problems.

Key word Fingerprint image preprocessing,Binarization,Contrast,Feature point extraction

第一章概述

1.1指纹及其识别

指纹是人类手指末端指腹上由凹凸的皮肤所形成的纹路。指纹能使手在接触物件时增加摩擦力,从而更容易发力及抓紧物件。是人类进化过程式中自然形成的。目前尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是独一无二[1]。由于指纹是每个人独有的标记,近几百年来,罪犯在犯案现场留下的指纹,均成为警方追捕疑犯的重要线索[2],使得指纹识别技术得到了飞快的发展。现今鉴别指纹方法已经电脑化,使鉴别程序更快更准。

指纹识别技术源于19世纪初,科学家依靠指纹纹脊式样的唯一性和式样终生不改变的特性[7],把某个人同他的指纹对应起来,通过采集他的指纹并与预先保存的指纹进行比较来验证其真实身份。随着现代科技的不断进步与广泛应用,可靠高效的个人身份识别变得越来越需要,每个人的指纹具有惟一性,终身不变,难以伪造,因此指纹识别是替代传统身份识别手段的最安全、最可靠、最方便的方法[1]。指纹图像本身的信息量和数据量是很大的因此直接基于指纹图象的匹配识别是不可取的,而要采用专门高教的指纹识别与处理方法。

指纹识别的一般过程是指纹图象预处理、指纹特征提取和特征匹配。但由于采集设备噪声干扰、指纹采集时手指皮肤的干燥程度、汗渍、污渍等原因使待分析的指纹图像噪声较多并对细节点有较强干扰,影响指纹的特征提取[16]。指纹图像是通过将模拟信号采样量化后,以矩阵形式存入计算机,图像平滑处理指纹图像生成方向数组后,为了消除较强烈的局部噪声干扰,需要对生成的方向数组图像进行预处理。预处理是指纹识别的前提,也是整个工作的基础,因此指纹图象预处理工作的好坏直接关系到指纹特征提取的可行性和准确性。

1.2 指纹识别算法概述

指纹是手指末端正面皮肤上凹凸不平产生的纹路,这些纹路就是通常所说的脊和谷[4]。指纹虽小,但它蕴涵了大量信息。其中,包括纹型在内的全局特征,为指纹的分类提供了基础;同样,指纹还有许多局部特征(根据美国国家标准局规定,包括脊末梢、分岔点、复合特征和未定义四种),称为细节点(Minutia)。不同人的指纹的细节点是唯一的、稳定不变的,这为指纹识别提供了可能。目前,最常用的方法是用FBI提出的指纹细节点模型来做细节匹配[2]。而最常用的细节

特征有脊末梢和分支点两种。

基于点模式匹配的自动指纹识别系统(AFIS)的基本流程一般由图像采集、图像预处理、细节点提取和指纹匹配几部分组成。

首先,指纹要通过指纹采集设备(常见的有光学取像设备、超声波扫描取像设备、晶体传感器,现在广泛使用的是晶体传感器)转化为计算机内的数字图像(一般为灰度图)。由于采集过程中难免因手指或仪器的原因而使图像存在较多的噪声,所以为了使图像更清晰以便于后续特征提取,必须对采集到的图像进行增强和滤波,并进一步二值化、细化[5]。

之后,在细化后的点线图上提取特征值,删除伪特征值,最终得到用于匹配的细节点。采集到的图像细节点与模板中的细节点进行比对,最终完成指纹匹配。各个环节环环相扣,对整个系统都起着十分重要的作用。本文着重研究了图像预处理和细节特征提取这两个关键部分。

1.3采集指纹图像的技术

获得良好的指纹图像是一个十分复杂的问题。因为用于测量的指纹仅是相当小的一片表皮,所以指纹采集设备应有足够好的分辨率以获得指纹的细节。目前所用的指纹图像采集设备,基本上基于三种技术基础:光学技术、半导体硅技术、超声波技术。

1.光学技术[10]

借助光学技术采集指纹是历史最久远、使用最广泛的技术。将手指放在光学镜片上,手指在内置光源照射下,用棱镜将其投射在电荷耦合器件(CCD)上,进而形成脊线(指纹图像中具有一定宽度和走向的纹线)呈黑色、谷线(纹线之间的凹陷部分)呈白色的数字化的、可被指纹设备算法处理的多灰度指纹图像。

光学的指纹采集设备有明显的优点:它已经过较长时间的应用考验,一定程度上适应温度的变异,较为廉价,可达到500DPI的较高分辨率等。缺点是:由于要求足够长的光程,因此要求足够大的尺寸,而且过分干燥和过分油腻的手指也将使光学指纹产品的效果变坏。

2.硅技术(CMOS技术)[10]

20世纪90年代后期,基于半导体硅电容效应的技术趋于成熟。硅传感器成为电容的一个极板,手指则是另一极板,利用手指纹线的脊和谷相对于平滑的硅传感器之间的电容差,形成8bit的灰度图像。

硅技术优点是可以在较小的表面上获得比光学技术更好的图像质量,在1cm ×1.5cm的表面上获得200~300线的分辨率(较小的表面也导致成本的下降和能被集成到更小的设备中)。缺点是易受干扰,可靠性相对差。

3.超声波技术[10]

为克服光学技术设备和硅技术设备的不足,一种新型的超声波指纹采集设备已经出现。其原理是利用超声波具有穿透材料的能力,且随材料的不同产生大小不同的回波(超声波到达不同材质表面时,被吸收、穿透与反射的程度不同),因此,利用皮肤与空气对于声波阻抗的差异,就可以区分指纹脊与谷所在的位置。

超声波技术所使用的超声波频率为1×104Hz~1×109Hz,能量被控制在对人体无损的程度(与医学诊断的强度相同)。超声波技术产品能够达到最好的精度,它对手指和平面的清洁程度要求较低,但其采集时间会明显地长于前述两类产品。

1.4 指纹预处理

而在指纹采集过程中,不可避免的会引入各种噪声,如图像中的叉连、断点等,这些噪声对指纹特征信息的提取造成一定的影响,甚至会产生许多伪特征点。因此在提取指纹特征之前,需要对指纹图像进行滤波处理,以去除无用信息,增强有用信息。在得到增强的灰度图后,需要将其进一步二值化,便于后续过程的处理。指纹图像预处理是去除指纹图像中的噪声,使指纹图像清晰、边缘明显,以便于提高提取和存储特征点的准确率。包括指纹区域检测、图像质量判断、方向图和频率估计、图像增强、指纹图像二值化和细化等[9]。

指纹图像获取是通过专门的指纹采集仪可以采集活体指纹图像。目前,指纹采集仪主要有活体光学式、电容式和压感式。对于分辨率和采集面积等技术指标,公安行业已经形成了国际和国内标准,但其他还缺少统一标准。根据采集指纹面积大体可以分为滚动捺印指纹和平面捺印指纹,公安行业普遍采用滚动捺印指纹。另外,也可以通过扫描仪、数字相机等获取指纹图像。

指纹图像只有脊和谷之分,因此完全可以由二值图象来描述,也就是指纹图像的二值化。目前指纹的二值化不外乎两种方法[13],一种是固定门限法,另一种是动态门限法。固定门限法是对整幅图象用一个灰度门限值,它对输入图象要求高,要求整幅图象灰度分布均匀。因此我们把均衡增强后的图象作为它的输入图象。

动态门限法是根据不同区域取不同门限值,一般采用平均域值法。它对输入图象照射要求不高。因此我们把方向性滤波后图象作为输入图象。

指纹图像的细化是找出指纹纹线的轴心线来代替纹线的过程。目前采用的细化方法就是迭代一一轮廓剥离法。每次垒图象扫描迭代一次[8],就剥掉边界象素中不影响连通性的象素,直至纹线宽度为1个象素为止。这样一来,如果被细化的纹线宽度越厚,迭代次数就越多,细化时间就越长,这是我们不希望的。

指纹形态特征包括中心(上、下)和三角点(左、右)等,指纹的细节特征点主要包括纹线的起点、终点、结合点和分叉点。将这些点进行自动选择从而完成指纹形态和细节特征提取的工作[14]。

指纹比对是将可以根据指纹的纹形进行粗匹配,进而利用指纹形态和细节特征进行精确匹配,给出两枚指纹的相似性得分。根据应用的不同,对指纹的相似性得分进行排序或给出是否为同一指纹的判决结果。

1.5 指纹图像预处理过程及一般算法

在指纹图象处理的流程中,预处理是第一个处理环节.它对原始灰度图像进行平滑、锐化、增强、二值化等处理,从而使细化、特征抽取等操作能够有效进行。

在常见的图象处理技术中,通常按处理目的把预处理过程分为平滑、增强、二值化等步骤。每一步骤都有一些常用算法,如用于平滑的均值滤波法、中值滤波法、迭代加权法等,用于增强的规格化法、自适应算法、拉普拉斯法、Wdlis 滤波、Lee滤波等[5]。

经过很长时间的深入研究和反复实践,发现这些常用的算法应用在指纹图象处理中有下列的问题:

(1)这些算法对于指纹图象处理的效果并不理想,尽管从视觉上有一定改善,但对于后续的细化和特征抽取处理效果来看,不能有效地提高特征的准确率。

(2)不能较好地处理指纹的背景部分,严重影响特征抽取和识别。

(3)不能根据指纹图象的质量差别进行特殊处理,通常获得的指纹图象,会有部分区域质量较差,无法抽取特征,在这些算法中,无法找到一个判别标准[5]。

对此,则需要我们对算法原理的进一步了解及改进。

方向图算法正是基于以上特点在80年代初期,就已经开始有把方向图引入到指纹图的一些成功的尝试。这时候所使用的方向图是从二值图中直接提取,得到的处理效果并不完全令人满意。

从1987年开始,B M.Mehtre等人成功地得到了在灰度图上直接获取方向图的有效算法,并陆续提出了一系列的预处理方法来处理指纹灰度图[15]。使用这些算法使指纹图象的处理效果达到了一个新的水平,从而使基于方向图的算法成为指纹图象处理方法研究中的一个热点在以后的研究中,出现了很多改进和发展,

如Kallen Karu等1996 年提出的把方向图用于纹型分类。Linghong等1998年提出的基于方向图的纹线增强等都取得了较好的效果[24]。这使得方向图成为指纹图象处理技术的关键技术之一。

目前的基于方向图的算法中,从灰度图中获取方向图的原理都大体相同,其基本原理是:从图象的灰度矩阵C(I,J)中计算在各个方向上的某个统计量如灰度差或灰度平均等,根据这些统计量在各个方向上的差异,确定在一个小临域内纹线的主方向。针对每象素得到的方向则形成点方向图[23]。为了保持点方向的有效性使用方便,对点方向在一小块内聚类则得到块方向图。

1.6特征拾取、验证和辨识

一个高质量的图像被拾取后,需要许多步骤将它的特征转换到一个复合的模板中,这个过程被称为特征拾取过程,它是手指扫描技术的核心。当一个高质量的图像被拾取后,它必须被转换成一个有用的格式。如果图像是灰度图像,相对较浅的部分会被删除,而相对较深的部分被变成了黑色。脊的像素有5~8个被缩细到一个像素,这样就能精确定位脊断点和分岔了。微小细节的图像便来自于这个经过处理的图像[18]。在这一点上,即便是十分精细的图像也存在着变形细节和错误细节,这些变形和错误细节都要被滤除。

除细节的定位和夹角方法的应用以外,也可通过细节的类型和质量来划分细节。这种方法的好处在于检索的速度有了较大的提高,一个显著的、特定的细节,它的惟一性更容易使匹配成功。还有一些生产商采用的方法是模式匹配方法,即通过推断一组特定脊的数据来处理指纹图像。

就应用方法而言,指纹识别技术可分为验证和辨识[20]。

验证就是通过把一个现场采集到的指纹与一个已经登记的指纹进行一对一的比对来确定身份的过程。指纹以一定的压缩格式存储,并与其姓名或其标识(ID,PIN)联系起来。随后在对比现场,先验证其标识,然后利用系统的指纹与现场采集的指纹比对来证明其标识是合法的。验证其实回答了这样一个问题:"他是他自称的这个人吗?"这是应用系统中使用得较多的方法。

辨识则是把现场采集到的指纹同指纹数据库中的指纹逐一对比,从中找出与现场指纹相匹配的指纹。这也叫"一对多匹配"[16]。辨识其实是回答了这样一个问题:"他是谁?"

指纹是人体独一无二的特征,其复杂度足以提供用于鉴别的特征。随着相关支持技术的逐步成熟,指纹识别技术经过多年的发展已成为目前最方便、可靠、非侵害和价格便宜的生物识别技术解决方案,对于广大市场的应用有着很大的发展潜力。

1.7 指纹识别的主要应用

指纹识别键盘现在的计算机应用中,包括许多非常机密的文件保护,大都使用“用户ID+密码”的方法来进行用户的身份认证和访问控制。但是,如果一旦密码忘记,或被别人窃取,计算机系统以及文件的安全问题就受到了威胁[11]。

随着科技的进步,指纹识别技术已经开始慢慢进入计算机世界中。目前许多公司和研究机构都在指纹识别技术领域取得了很大突破性进展,推出许多指纹识别与传统IT技术完美结合的应用产品,这些产品已经被越来越多的用户所认可。指纹识别技术多用于对安全性要求比较高的商务领域,而在商务移动办公领域颇具建树的富士通、三星及IBM等国际知名品牌都拥有技术与应用较为成熟的指纹识别系统,下面就对指纹识别系统在笔记本电脑中的应用进行简单介绍。

众所周知,在两年前就有部分品牌的笔记本采用指纹识别技术用于用户登录时的身份鉴定第一代光学式指纹读取器,但是,当时推出的指纹系统属于光学识别系统,按照现在的说法,应该属于第一代指纹识别技术。光学指纹识别系统由于光不能穿透皮肤表层(死性皮肤层),所以只能够扫描手指皮肤的表面,或者扫描到死性皮肤层,但不能深入真皮层。

在这种情况下,手指表面的干净程度,直接影响到识别的效果。如果,用户手指上粘了较多的灰尘,可能就会出现识别出错的情况。并且,如果人们按照手指,做一个指纹手模,也可能通过识别系统,对于用户而言,使用起来不是很安全和稳定。

因此出现了第二代电容式传感器,电容传感器技术是采用了交替命令的并排列和传感器电板,交替板的第二代电容式传感器形式是两个电容板,以及指纹的山谷和山脊成为板之间的电介质。两者之间的恒量电介质的传感器检测变化来生成指纹图像。但是由于传感器表面是使用硅材料容易损坏,导致使用寿命降低,还有它是通过指纹的山谷和山脊之间的凹凸来形成指纹图像的,所以对脏手指、湿手指等困难手指识别率低。

发展到今天,出现第三代生物射频指纹识别技术,射频传感器技术是通过传感器本身发射出微量射频信号,穿透手指的表皮层去控测里层的纹路,来获得最佳的指纹图像。因此对干手指,汉手指等困难手指通过可高达99%,防伪指纹能力强,指纹敏感器的识别原理只对人的真皮皮肤有反应,从根本上杜绝了人造指纹的问题,宽温区:适合特别寒冷或特别酷热的地区。因为射频传感器产生高质量的图像,因此射频技术是最可靠,最有力有解决方案。除此之外,高质量图像还允许减小传感器,无需牺牲认证的可靠性,从而降低成本并使得射频传感器思想的应用到可移动和大小不受拘束的任何领域中。

指纹识别技术还可以通过几种方法应用到许多方面。可以想象如果计算机上的所有系统和应用程序都可以使用指纹验证的话,人们使用计算机就会非常方便和安全,用户不再讨厌必要的安全性检查,而IT开发商的售后服务工作也会减轻许多。IBM公司已经开发成功并广泛应用的Global Sign On软件通过定义唯一的口令,或者使用指纹,就可以在公司整个网络上畅行无阻。把指纹识别技术同IC卡结合起来,是目前最有前景的一个方向之一[12]。该技术把卡的主人的指纹(加密后)存储在IC卡上,并在IC卡的读卡机上加装指纹识别系统,当读卡机阅读卡上的信息时,一并读入持卡者的指纹,通过比对卡上的指纹与持卡者的指纹就可以确认持卡者的是否卡的真正主人,从而进行下一步的交易。在更加严格的场合,还可以进一步同后端主机系统数据库上的指纹作比较。指纹IC卡可以广泛地运用于许多行业中,例如取代现行的ATM卡、制造防伪证件(签证或护照、公费医疗卡、会员卡、借书卡等)。目前ATM提款机加装指纹识别功能在美国已经开始使用。持卡人可以取消密码 (避免老人和孩子记忆密码的困难)或者仍旧保留密码,在操作上按指纹与密码的时间差不多。

近年来,自动发送信息的互联网络,带给人们的方便与利益,正在快速增长之中,但也因此产生了很多的问题,尤其在信息安全方面。无论是团体或者个人的信息,都害怕在四通八达的网络上传送而发生有损权益的事情。由于指纹特征数据可以通过电子邮件或其他传输方法在计算机网络上进行传输和验证,通过指纹识别技术,限定只有指定的人才能访问相关信息,可以极大地提高网上信息的安全性,这样,包括网上银行、网上贸易、电子商务的一系列网络商业行为,就有了安全性保障。在SFNB(Security First Network Bank安全第一网络银行)[22],就是通过互联网络来进行资金划算的,他们目前正在实施以指纹识别技术为基础的保障安全性的项目,以增强交易的安全性。

在医院里,指纹识别技术可以验证病人身份,例如输血管理。指纹识别技术也有助于证实寻求公共救援、医疗及其他政府福利或者保险金的人的身份确认。在这些应用中,指纹识别系统将会取代或者补充许多大量使用照片和ID的系统。 总之,随着许多指纹识别产品已经开发和生产,指纹识别技术的应用已经开始进入民用市场,并且发展迅猛,相信这一技术的普及应用已经指日可待。

1.8本次设计的任务要求

本次设计,主要为了学习图像处理的相关知识,弄懂指纹图像的格式,读取各象素点的颜色信息。将图像转换成灰度图像,根据指纹图像各个部分灰度的不同,将指纹图像二值化。细化二值化后的指纹图像,提取纹线的骨架。对指纹图像进行修补,弥补纹线断裂、指头皮肤受伤等缺陷。寻找指纹的特征点,确定特

征点的位置和方向。对此,本文将通过MATLAB 平台进行对指纹图像的预处理,

并得到对指纹特征值提取的图片。

第二章 设计方案

图像预处理的目的是去除图像中的噪声,使指纹图像清晰、边缘明显,以便

于提高提取和存储特征点的准确率.分为平滑处理、二值化、细化、特征值提取、

特征值去除等几个步骤[12]。

2.1 平滑处理

2.1.1 增强对比度

图像增强的方法分空域法和频域法[4],空域法是增强图像的像素,空域处理

可用下式定义:

g( X ,Y)=T (F(X ,Y)) 公式(2.1) 式中F(X ,Y)是输入的原始指纹图像,灰度范围是[m ,M ],g( X ,Y)为处

理后的图像,灰度变换增强可以用下式描述: n n

M m Y X F n N Y X g +---=),()(),( 公式(2.2) 可以提高指纹图像脊与谷的对比度.

2.1.2 指纹图像规格化和滤波

指纹图像经过规格化后,才能将该图的均值和方差控制在给定范围内。即对

指纹的每个像素进行操作,采用公式如下: N(x,y)=?????????--≥-+其他,)),((;),(,)),((200200V M V M V M V M ar ar aro ar y x G M y x G y x G 公式(2.3)

式中:N( x ,y)是规格化后的图像,G(x ,y)是原图像,表示第 x 行第j

列象素点对应的灰度值,V ar 和M 是图像G 的方差和均值,V ar0和M 0是期望方差和

期望均值[15]。

通过观测很小局部邻域内脊的方向,可以得出该脊的方向,设脊线的方向向

量为▽f ,α (x ,y)为▽f ,在( x ,y)处的方向角,有)arctan(),(H H

x y

y x =α[19],

Hy 、Hx 为梯度分量。由上式可以求得此像素点的指纹脊线方向,然后将此连续

的方向在0~180°范围内离散化成8个方向,各方向之间的夹角为,π/8,求出

每一块的整体方向的平均作为此块中所有点的方向,如图2.l 。

(a)8个方向 (b )8邻块

图 2.1 方向的选取

取N 块的8邻块(图l.1(b))出现最多的方向为N 块的主方向。在该小邻域内

与脊方向不同的点往往正是附加了噪声的点。根据这一特性设计7 ×7自适应滤

波器,对图像进行方向滤波。使在指纹脊线方向上的像素点得到加强,在其他方

向受到不同的削弱,从而不但使指纹图像的噪声得到抑制,也保留了指纹的细节

特征。经过方向滤波后的指纹图像效果较好[17]。

2.2 锐化处理

为增强指纹纹线间的界线,突出边缘信息,以利于二值化,要对指纹图像进

行锐化处理.用空间微分来完成锐化处理。由于微分算子的响应强度与图像在该

点的突变程度有关,所以锐化可以增强指纹边缘并削弱灰度变换缓慢的区域.二

阶微分形成增强细节的能力优于一阶微分,对灰度级阶梯变化产生双响应,因此

用拉普拉斯单一掩模进行锐化[14]。

由二元图像的拉普拉斯变换离散形式的定义:

),(4)]1,()

1,(),1(),1([2y x f y x f y x f y x f y x f f --+++-++=? 公式(2.4)

可推出单一掩模的系数

)]1,()1,()

,1(),1([),(5),(4)]1,()

1,(),1(),1([),(),(-+++-++-=+-+++-+--=y x f y x f y x f y x f y x f y x f y x f y x f y x f y x f y x f y x g 公式(2.5)

图(2.2) 掩模

拉普拉斯单一掩模锐化变换后使图像中小的脊线部分得到增强。

2.3 二值化

对于指纹识别系统,有用的信息包含在脊线(指纹中突起的)和谷线(凹下的)

的二值描述中.因而必须根据原始的灰度图像来确定图像上的每一个点应属于客

体区域还是背景区域,从而产生对应的二值图像,它不仅可大大减少存储量,还

可以根据指纹的形状(环型、弓型、螺旋型等信息)将指纹分类,这样可以大大提

高指纹识别的速度[20]。

在基于模糊集理论的增强算法基础上提出广义度阈点的方法 .阈值的正确

选择在二值化中是很重要的,直接影响着分割的精度及图像描述分析的正确

性.在此采用动态自适应阈值进行二值化,并根据脊线扩散张量特点,分解扩散

4n 个方向的和.即位于(x ,y)处的像素g( x ,y)的阈值V( x ,y)是由以(x ,

y)为中心的指纹图像窗口(2n+1)×(2n+1)中所有点的灰度值来确定。即

∑∑+-=-=+=

n n x n n y y x g y x V n η),(1),()12(2 公式(2.6)

由于当(2n+1)×(2n+1)窗口落在下面2种不同区域将会引起错误判别: 1)当(2 +1)×(2n+1)窗口较多地落在谷线区,将会使一部分乃至大部分象素

点被判为脊线;

2)当(2 +1)×(2n+1)窗口较多地落在脊线区,将会使一部分乃至大部分象素点被判为谷线。

借助于参数δ和参考阈值Vt 可以得到修正。 令δ为一个通过试验获得的正整数,即令δ>0,有: ∑∑+-=-==n n x n n y y x g y x V n ),(1

),()12(2

公式(2.7)

则 ???≥-?+=V V V V V V t

t y x y x y x y x y x V ),(,),(),(,),(),(1111δδ 公式(2.8)

其中V t 为参考阈值。

令二值化后的图像为r (x ,y ),则:

????≥=)

,(),(,0),(),(,1),(y x V y x g y x V y x g y x r 公式(2.9)

此算法有点事不改变脊线连续性和奇异点的前提下,可以有效连接断裂脊线。

2.4 细化

细化是在不改变图像像素拓扑连接关系的条件下,连续擦除图像的边缘像素,

把纹线粗细不均匀的指纹图像转化成线宽仅为一个像素的条纹中心线图像的过

程。细化可以去除不必要的纹线粗细信息,使得指纹图像的数据量及连接结构更

加突出,便于从指纹图像中提取细节特征,如图2.2从而在指纹特征提取和匹配

环节上提高图像的处理速度和效率[21]。

图2.2 纹线特征分类

在此先在脊线的端点用二次曲线来拟合局部脊线,在沿该端点的方向延伸得

到的拟合曲线,并根据端点附近的脊线信息建立不同的处理规则来处理不同的情

况,如对简单的脊线结构,即明显的断线、脊线间明显的桥以及作为短纹存在的

毛刺等做初步处理,去除图像的边缘像素。为了克服指纹形变,用图示模板进行

细化处理:

从而得到最终的细化的指纹图像,这样提取出的指纹细节点、特征点和脊线才更为可靠和有效。

2.5 特征值的提取

指纹图像特征提取的方法有两种:(1)从指纹的原灰度图像上识别细节特征;

(2)从指纹的细化图像上识别细节特征。提取的特征主要有两类:① 奇异点指纹

奇异点 有三种类型:核形(Core)、三角形(Delta)和涡轮形(Whor1);②结构特 。

它包括端点(Endpoint)、叉点(Bifurcation)、歧点、孤立点(Dot)、环点(Loop)、

短纹(short Ridge)等及其方向、曲率、位置等信息。端点及叉点(图2.3(b))是

指纹细化图像的主要特征,本文采用这两种主要特征构造指纹特征向量[18]。它的

提取方法为:设C n(P)为交叉数,S n(P)为像素8-邻域(图2.3(a))纹线点数:

)(21)(1

9811p p p p C i i i n p =-=∑=- 公式(2.10) ∑==8

1)(i i n p S

p 公式(2.11)

图2.3 特征提取

对于一幅彻底细化的指纹图像来说,只有三种纹线点:(1)C n(P)=1,S n(P)=1,称为端点;(2)Cn(P)=2,Sn(P)=2,3,4,称为连续点;(3)C n(P)=3,S n(P)=3,

称为叉点。设提取的特征点集用P(P1,P2,?,Pn )表示,其中n 为所提取的特

征点的个数,Pi=(Xi ,Yi ,Ti ,Ai),Xi ,Yi 表示特征点的坐标;Ti 表示特征

点的类型,当特征点为端点时Ti=1,当特征点为端点时Ti =2;a 表示特征点的

角度,端点的角度取从端点为起点的端线的角度,又点的角度取图 2.3(b)中角

度a ,b ,c 中最小者相对的分支的角度。端线及分支的角度求法为:从特征点开

始搜索连续点直到搜到另一个特征点或步长达到7,设搜索到的最后一点为(X ,

Y),有:

X Y A i

i i X Y --=arctan 公式(2.12)

2.6 伪特征点的去除

造成伪特征的原因有很多,指纹提取、二值化及细化等过程均可能引入伪特

征。伪特征的存在将影响指纹的比对,降低识别率.(1)伪特征的分析。对于取

端点及叉点作为特征算法,伪特征主要指图4中的五种:(a)毛刺;(b)假桥;(c)

岛屿;(d)断脊;(e)短脊。对于这些伪特征的消除,文献[10]提出了基于纹线跟

踪的后处理方法,文献[13]提出了基于知识的指纹后处理方法,将指纹后处理与

指纹原灰度图联系了起来,文献[14]提出了基于统计与结构的指纹后处理方法。 分析这五种伪特征,它们带来的伪特征点总是成对在近距离内出现而且除断

脊外均有短脊线相连接。毛刺、短脊及岛屿均为从一个特征点出发经过很小的步

长到达另一个特征点,可以采用沿脊线搜索特征点的方法去除伪特征对。假桥、

断脊则要考虑伪特征的角度关系。图2.4为理想化的伪特征,各伪特征的角度关

系非常明显,假桥连线与脊线垂直,断脊连线则与脊线平行,实际情况则有偏差。

设Pi ,Pj 为假桥或断脊带来的特征点对,v 为小的角度阈值,且设A 为Pi ,与

Pj 连接线的角度:

Y X Y Y j i j i

A --=arctan 公式(2.13)

则对于假桥,A 与Ai ,及a 近于垂直,即90°-v

A j A -<90°+v ;对于断脊,Pi 与Pj 之间没有脊线,而且A 与Ai 或Aj 的差小

于v ,即A i A -

征,它与图 2.4(c)的岛屿的区别是连接两叉点的脊线较长,这在现实中是可能

存在的结构,所以被保留。

图2.4 五种伪特征

(2)伪特征的去除[13]。由于提取的特征集合P(P1,P2...,P n)全为端点与叉点,端点的伪形态有毛刺端点、短脊端点与断脊端点;叉点的伪形态有毛刺叉点、假桥叉点与岛屿叉点。我们可以分别从端点与叉点出发搜索其邻域,判断其真伪,全部伪特征被分为伪端点与伪叉点予以去除。根据上面的分析,伪特征可按如下规则去除:

①去除孤立点与边界点,边界点定义为掩膜值为0的任何区域的距离小于阈

值的特征点;

②对于各端点Pi,从该特征点出发沿脊线搜索,若经过很小的步长到达另一个特征点即搜索到一个脊线点满足C n(P)!=2或S n(P)!=2则分别当作短脊、毛刺所带来的伪特征点予以去除;若该端点不是毛刺、短脊引起的伪端点,则搜索其邻域是否有端点Pj满足Pi与P j之间没有脊线,A与Ai或Aj的差小于30°,

A-<30°,据此来判断该端点是否为断脊;

即A i

A-<30°或A j

③对于各叉点Pi,从该特征点出发沿脊线搜索其中一个分支,若有两个分支经过很小的步长均到达同一个叉点则当作岛屿予以去除;若有一个分支经过很小

A-<110°,则的步长到达另一个叉点P且满足70°A i

A-<110°或70°

则可当作毛可当作假桥剔除;若有一个分支经过很小的步长到达另一个端点P

j

刺剔除。

2.7本章小结

本章节介绍了MATLAB进行指纹处理的整个过程,同时也给出了每个步骤的

原理和算法,通过对指纹图像平滑处理、二值化、细化、特征值提取、特征值去

除等步骤的详细介绍,使得我们可以清晰了解到实验过程的进行,为下文的软件

设计提供了理论依据。

第三章MATLAB软件设计

3.1MATLAB的简介

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。他具有以下诸多的优点[23]:

(1)友好的工作平台和编程环境

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

(2)简单易用的程序语言

Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极

强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

(3)强大的科学计算机数据处理能力

MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

(4)出色的图形处理功能

图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

(5)应用广泛的模块集合工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

(6)实用的程序接口和发布平台

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

(7)应用软件开发(包括用户界面)

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。

本次设计中使用的是MATLAB7.6,属于最新的版本之一,功能强大,有利于对实验进行简易操作,更能提高设计实验的准确性。

3.2 程序调试

3.2.1设计思路

采集到的指纹图像受各种原因的影响,是一幅含较多噪声的灰度图像。预处理的目的就是去除图像中的噪声,把它变成一幅清晰的点线图,这样才能提取正确的指纹特征,从而达到后边的正确匹配。预处理过程主要包括指纹规格化,平滑滤波处理,方向增强处理,二值化,细化等,它是指纹自动识别系统中极为关键的一步,它的好坏将直接影响着指纹识别的效果。在此基础上,提取指纹特征信息,得到输入指纹特征模板,然后用输入指纹特征模板与已登记的指纹特征模

相关主题
文本预览
相关文档 最新文档