1、基于MATLAB的指纹图像特征提取I基于MATLAB的指纹图像特征提取摘要随着社会的发展,传统的基于信物或口令的安全系统显得越来越脆弱,不能够满足现代安全系统的需要。指纹具有唯一性和稳定性,因此被人们用来当作鉴别个人身份的主要依据。相对于其它生物特征鉴定技术,指纹识别是一种理想的身份鉴别技术。在指纹识别技术中,指纹特征提取是其中一个非常重要的部分。许多学者对指纹特征提取方法进行了探讨,本文是在前人的基础上利用MATLAB对经过预处理的指纹图像进行特征提取。指纹特征提取主要运用了两大类方法,即依据指纹灰度图像直接提取指纹特征的方法和依据二值化细化后的指纹图像邻域特征提取的方法。实验表明,基于二值
2、化细化指纹图像邻域特征提取的方法所提取到的特征更全面、质量更高,为后续指纹特征匹配提供了更好的效果。关键词指纹识别特征提取MATLAB基于MATLAB的指纹图像特征提取IIFINGERPRINTFEATUREEXTRACTIONBASEDONMATLABABSTRACTWITHTHEDEVELOPMENTOFSOCIETY,THETRADITIONALSECURESYSTEMHASAPPEAREDTOBEMOREANDMOREWEAKWHICHISBASEDONCORRESPONDENCEORCATCHWORD,ANDITCANNOTSATISFYTHENEEDSOFTHESECURESYST
3、EMINTHEMODERNTIMESFINGERPRINTISPROVIDEDWITHUNIQUEQUALITYANDSTABILITY,SOFINGERPRINTISUSEDTOBETHEMAINFOUNDATIONTOEVALUATESUBJECTIVEIDENTIFYABOUTTOOTHERBIOMETRICCHARACTERISTICIDENTIFYTECHNOLOGY,FINGERPRINTONLINEISREGARDEDASAKINDOFIDEALIDENTIFYAPPROVINGTECHNOLOGYINTHEFINGERPRINTONLINETECHNOLOGY,THEFINGE
4、RPRINTFEATUREEXTRACTIONISONEOFTHEMOSTIMPORTANTPARTSMANYSCHOLARSOFTHEFINGERPRINTFEATUREEXTRACTIONMETHODSAREDISCUSSED,INTHISPAPERAREBASEDONPREVIOUSUSEOFMATLABONTHEFINGERPRINTIMAGEFEATUREEXTRACTIONAFTERPRETREATMENTFINGERPRINTFEATUREEXTRACTIONMETHODMAINLYUSEDTWOMETHODS,NAMELY,DIRECTEXTRACTIONOFGRAYIMAGE
5、SBASEDONFINGERPRINTCHARACTERISTICSOFTHEMETHODANDBASISOFTHEFINGERPRINTBINARIZEDANDTHININGFINGERPRINTIMAGEFEATUREEXTRACTIONEXPERIMENTSSHOWTHATTHEBINARYFINGERPRINTIMAGEFEATUREEXTRACTIONMETHODTOEXTRACTTHEFEATURESOFAMORECOMPREHENSIVE,HIGHERQUALITY,THEFINGERPRINTFEATUREMATCHINGFORTHEFOLLOWUPPROVIDESBETTER
6、RESULTSKEYWORDSFINGERPRINTONLINEFEATUREEXTRACTIONMATLAB基于MATLAB的指纹图像特征提取目录中文摘要I英文摘要II1绪论111引言112指纹识别技术113指纹识别技术的研究现状314主要内容42指纹图像识别的基本原理和方法521指纹的类型522指纹图像的采集723指纹图像的预处理824指纹图像的特征选取103指纹图像的特征提取1231指纹特征的内容12311全局特征13312局部特征1332指纹特征点提取算法概述14321基于灰度图像的直接提取法14322基于细化图像的邻域法16323指纹特征点提取算法比较1733伪特征点的剔除19331
7、伪特征点的分类及特点19332伪特征点剔除的算法20基于MATLAB的指纹图像特征提取4总结与展望25致谢26参考文献27附录28附录1特征点的提取程序源代码28附录2伪特征点的剔除程序源代码30基于MATLAB的指纹图像特征提取11绪论11引言在现实生活中经常要对人的身份进行识别,例如登飞机时要识别登机者的身份,在银行取钱时要核实取钱者是否是指定账户的合法拥有者,使用计算机时要检查操作者的权限等等。随着国民经济和社会信息化的飞速发展,金融机构、政府机关、企业以及个人之间通过互联网日益紧密地联系在一起,一方面为信息的共享提供了条件,另一方面也为心怀叵测的人试图非法获取他人信息提供了机会。因此,
8、如何自动、高效和准确地识别人的身份是信息安全领域的重要问题。传统的自动身份识别方式主要有基于密码的方式和基于令牌的方式,这些方式存在容易遗忘、容易丢失、容易被破译或仿制等缺点,不能满足当今信息化社会对安全性的更高要求。为克服传统身份识别方法的缺点,人们提出了生物识别方式。生物识别是指根据人所拥有的生理或行为特征来进行身份识别1。生理特征是人身体上某一部分的属性,而行为特征是指人器官的习惯运动所产生的结果。生物识别依赖于人体的固有属性,不存在遗忘、丢失问题,且生物特征具有唯一性,因此生物识别在理论上可以实现很高的安全性。目前主要的生物识别技术2有人脸识别、指纹识别、手型识别、虹膜识别、视网膜识别
9、、声音识别、签名识别等等。相比较而言,指纹识别具有准确性高、速度快、采集指纹方便、对指纹特性的认识较充分、获得法律认可、容易被人们接受、市场份额较大等优点,因此,指纹识别的研究和应用是当前生物识别领域的热点问题。12指纹识别技术指纹识别具有广阔的应用前景,它最早应用于司法刑侦领域。到二十世纪九十年代初,随着社会信息化的发展,指纹识别开始在民用领域获得应用,例如指纹门禁、指纹考勤、指纹加密、指纹在银行中的应用、指纹在社会保障中的应用、指纹在居民身份证中的应用等等,可以毫不夸张地说,凡是以往使用密码或令牌方式进行身份识别的领域都可以使用指纹识别技术进行替换或加强。民用领域的应用对指纹识别提出了比司
10、法领域应用更高的要求,主要体现在要求自动化程度更高、识别基于MATLAB的指纹图像特征提取2准确性更高以及识别速度更快。这些要求给指纹识别技术的研究带来了更大的挑战。指纹识别的研究3包括识别算法的研究和应用系统研究。识别算法研究主要有两个目的提高识别的准确性和速度。主要研究内容包括指纹图像预处理、指纹特征提取、指纹特征匹配以及指纹分类。应用系统研究的目的是构建经济实用、抗攻击性强、与各种应用无缝集成的指纹识别系统,如基于指纹的计算机登陆系统、基于指纹的文件加密系统等等。应用系统研究需要解决指纹图像压缩、指纹特征加密存储及传输等问题。尽管指纹识别的研究和开发已取得重要进展,并获得了不少应用,但是
11、指纹识别的应用在目前并没有获得普及,原因在于指纹识别在识别准确性和识别速度方面还远远不能满足很多实际应用的要求。造成指纹识别性能4很难提高的主要原因有以下方面(1)缺少高性能的指纹采集设备。指纹图像的质量对指纹识别的性能具有非常重要的影响,目前的采集设备对手指的干湿度、清洁度等要求很高,在实际中很难保证指纹图像的质量较好。(2)缺少有效的指纹图像增强方法。指纹图像增强的目的是从较差质量的指纹图像中恢复出真实、清晰的指纹纹路结构,然而,设计能处理各种噪声的指纹增强算法非常困难。(3)缺少可靠的指纹特征提取方法。指纹识别依赖于指纹的特征,如细节点、奇异点等,提取出的特征是否可靠直接影响指纹识别的性
12、能。设计对较差质量的图像具有鲁棒性的特征提取方法具有很大的挑战性。(4)缺少高效、准确的指纹细节点匹配方法。指纹匹配通过细节点匹配实现,而细节点提取算法会产生虚假细节点和遗漏真实细节点,此外指纹图像还存在各种变形,如何既快速又准确地进行细节点匹配也是一项非常艰巨的任务。在基于细节点特征的指纹自动识别系统中,能否准确地提取出指纹图像的细节特征是最为关键的一步。但在实践中,由于受手指本身的因素和采集条件的影响,采集到的指纹图像会不同程度地受到各种噪声的干扰。如果在对指纹图像提取特征之前,不对指纹图像进行预处理,这些噪声会造成大量的虚假特征而其中真实的特征却被忽略。因此,这就需要在提取特征之前进行图
13、像增强,以获得可靠的、真实的特征点位置。本文重点研究基于细节点特征的指纹自动识别系统的指纹图像细节特征的提取。基于MATLAB的指纹图像特征提取313指纹识别技术的研究现状目前,指纹识别技术仍是国内外科研人员研究的热点,这是因为市场上的指纹产品有很强的针对性,只能在某一专门系统得到应用,其它许多应用场合仍然缺乏合适的产品;出于知识产权保护和商业利益的原因,指纹识别的核心技术仍然只被少数企业和技术机构所拥有,为了获得自主产权和绝对安全的系统,必须自主开发;随着市场的扩大和要求的提高,设计开发速度更快、性价比更高的系统势在必行。早期的指纹识别工作是人工方式进行的,由于指纹结构的复杂性以及对指纹识别
14、要求的严格性,导致人工识别指纹工作难度大、速度慢和识别准确率受到制约,远远不能适应实际工作的需要。计算机技术的诞生与发展,为复杂的科学计算和指纹自动识别提供了可能。20世纪70年代,美、日等发达国家开始先后研究指纹自动识别系统5。现在己经出现的一些行业标准,如生物特征接口标准BI0APLL1、FBI指纹图像压缩标准、美国国家标准研究所指纹数据库等。DMIAO领导的博洛尼亚大学生物系统实验室BIOMETRIESYSTEMSLAB和ANILKJAIN6领导的密歇根州州立大学模式识别和图像处理实验室PRIP对指纹识别技术做了大量的研究,并由这两个实验室和圣何塞州立大学的生物测试中心BIOMETRIC
15、TESTCENTER联合举办的指纹验证竞赛FVC对指纹识别系统产生了很大的影响。我国利用指纹来识别身份的历史非常悠久,但是我国指纹自动识别系统研究7开发的历史是从20世纪80年代初开始的,北京大学信息中心,清华大学自动化系,北京邮电大学,中科院,长春光机所等都在此领域作了一定工作,并取得了一定的成果,其中较为突出的是清华大学自动化系和北京大学信息中心两家。北京大学两位著名院士一程民德和石青云率先开展了这方面的研究工作,1982年至1985年,在石青云院士主持的国家自然科学基金项目中,在国内率先对数字图像的离散几何性质进行了深入研究,提出了从指纹灰度图像精确计算纹线局部方向、进而提取指纹特征信息
16、的理论与算法,具有很高的学术价值和独创性。随后,在她主持的国家七五科技攻关项目中,研究成功了适于民用身份鉴定的全自动指纹鉴定系统,以及适于公安刑事侦破的指纹鉴定系统,从而开创了我国指纹自动识别系统应用的先河。清华大学自动化系研究成功的犯罪指纹识别系统己经被北京市公安局使用。田捷4博士领导的中国科学院自动化研究所FINGERPASS指纹识别试验室,对指纹识别技术基于MATLAB的指纹图像特征提取4及其应用领域的一些关键问题进行广泛的理论研究和应用开发。14主要内容指纹识别系统主要包括指纹图像的预处理、指纹细节特征点的提取、指纹图像特征点的匹配,本文主要研究指纹细节特征点的提取。指纹细节特征点的提
17、取主要包括特征点的提取和伪特征点的剔除,特征点的提取选定基于细化图像的邻域法,选定脊线跟踪及对比特征点的方法来进行伪特征点的删除。本文研究的难点是指纹特征向量的构建。如何构建一套有效的特征向量一直是特征提取的核心工作。本文构建的特征向量是基于局部中心特征点和局部邻域特征点,综合考虑了特征点的类型、方向、位置以及邻域内的拓扑关系。通过局部中心特征点的特征和局部邻域特征点的特征共同构建一个充分反映指纹特征的特征向量。本文的结构安排,先对指纹图像的识别进行了解,简单介绍了指纹图像预处理的流程归一化、方向图、图像增强、二值化、细化。然后对指纹的特征提取进行介绍,首先介绍如何对指纹特征进行表征,即通过何
18、种特征来标识一个指纹,具体方法有全局特征和局部特征。接着介绍常用的特征提取方法,以及它们的优缺点。最后给出了本文的指纹特征提取方法,并根据各种伪特征点的形成原因、特点,采用了富有针对性的剔除伪特征点算法,并通过MATLAB进行算法仿真验证。最后,总结全文,总结回顾指纹特征提取的算法,对后续工作做进一步的展望。基于MATLAB的指纹图像特征提取52指纹图像识别的基本原理和方法指纹特征是人终身不变的特征之一,而且不同人的指纹特征相同的可能性几乎为零,因此,指纹识别技术从19世纪80年代开始就成为最早投入应用于实践的生物识别技术。到20世纪60年代,计算机辅助的指纹自动识别系统开始得到应用,并逐渐成
19、为应用最为广泛的生物识别技术。长期以来,指纹识别技术仅仅在刑事侦缉领域受到重视,并且它的发展受到庞大、缓慢的指纹采集设备和昂贵的数字图像处理设备的限制。近年来,一方面随着信息技术的飞速发展,高速廉价的计算机设备的出现使得指纹识别技术应用在更加广阔的领域成为可能;另一方面,随着网络的飞速发展特别是大量INTERNET事务、交易的出现,急需一种可以决速、低花费并且效果好的认证技术来保证事务的安全性,因此,指纹识别技术在20世纪末得到了迅猛的发展,在银行、股市和电子商务等行业作为身份鉴别得到更广泛的应用。21指纹的类型历史事实表明,我国是世界上应用指纹最早的国家。据记载,我国早在唐代的时候已有箕、斗
20、之说,但尚无具体的考证。早在宋元时代官府就依据指印审理案件,这表明在当时已经能够识别出个人的指印。这时,在我国出现了对指纹的初步分类2,如首相术中的“螺”的概念,以及后来的“箕”、和“斗”的分类,这可能是指纹分类最早的记载。目前我国指纹的分类主要有以下几种一是基于指纹管理需要的十指指纹管理分类法8;二是刑事技术理论层面的分类9;三是计算机指纹管理10的分类。(1)十指指纹分类法公安部于1956年统一规定了十指指纹二步分析法。该分类方法将指纹分为弓、箕、斗三种类型,并将箕型纹分为反箕和正箕以及中心点、外角点和追迹线的计线法。弓型纹弓型纹由弓形线组成,弓型纹可分为弧形和帐形纹。弧形纹是有许多弓形线
21、所组成的指纹类型。帐形纹是由弓形线和比较突出的弓形线所组成的。在指纹的中心有一个以上的垂直或者稍微倾斜的纹线构成好像三角形的形状,像是支撑基于MATLAB的指纹图像特征提取6着外围线系统。在弓型纹中,有些能看到两种系统的纹线,即外围线和根基线;有些很难区分两种纹线系统;有些好像具有第三种系统的开端,但是因为纹线的结构比较单一,不能真正成为第三种系统的纹线。箕型纹箕型纹分为反箕和正箕,反箕的箕枝两端对着拇指,正箕的箕枝两端对着小指。箕型纹的内部花纹由一条以上的箕形线组成,具备纹线三种系统,一般有三个三角位置在箕枝两端的相对侧,三角的上下两条支流,永远包括着内部花纹。依据箕的两枝的流向的不同又有不
22、同的定义,流向拇指方向的为反箕形纹,流向小指的为正箕形纹。斗型纹斗型纹由一条以上的环形线、螺形线或者曲形线等组成,至少有两个三角,否者不能归为斗型纹。三角的上部支流或者下部支流可能参与到内部花纹的系统中去。斗型纹包括螺形、囊形、双箕形和杂形等类指纹。过渡型指纹过度型指纹指的是纹线所组成的纹线系统只具有某种类型的形态,而不具备这种指纹类型的必要特征的指纹。例如箕型纹的内部花纹,如果至少必须具备一条完全的、不折不断的箕形线,这条箕形线的箕头部分或者靠近三角的箕枝部分如果与其他纹线结合,而将纹线引向或者引入外围的系统中去,则应该列为弓型纹。(2)刑事技术理论层面的分类箕型纹指的是由箕形线构成的,花纹
23、中心必须有一个三角。包括三角在左侧和右侧的指纹类型。箕形线必须有三条以上。由拳形、叶形、花形等不规则的环螺形线组成的纹型均归为箕型。斗型纹指的是由环、螺、曲形线组成的纹线系统。花纹中至少有两个三角。包括斗、曲、杂型纹。曲型纹指的是由两条箕形线或者正反双箕线构成。纹线系统中至少有一条完整的正反双箕线。杂型纹指的是只要是不符合前面五种指纹分类的纹线系统,都归入杂型纹。(3)计算机指纹管理的分类简介对于指纹自动识别系统来说,计算机必须对所输入的指纹图像进行处理,以实现指纹的分类、定位、提取形态和细节特征,然后再根据所提取的特征进行指纹的比对和识别,而对指纹图像的分类则是指纹自动识别技术中比较基础而又
24、十分重要的环节。基于MATLAB的指纹图像特征提取7指纹自动识别系统一般把指纹纹型分为弓、左箕、右箕、斗和杂型五大类,其分类的规则与十指指纹分析法基本一致,其代号为A、弓型纹;B、左箕型纹;C、右箕型纹;D、斗型纹;E、杂型纹。弓型纹主要由弓形线和横直线层叠而成,纹线由一方流向另一方,中部向上弯曲呈弓状或者帐篷状,无三角。弓型纹又分为弧形、帐形、左倾弓形和右倾弓形。弧形弓主要由弓形线组成,纹线曲率较小,中心部位无明显花纹。帐形弓主要由弓形线组成,纹线曲率比较大,中心部分有“人”形线或者“人”形线支撑,形似帐篷。箕型纹中心花纹由一条或者一条以上的箕形线组成,存在有一个三角(而且只有一个三角)。箕
25、型纹根据中心花纹的不同形态分为左箕和右箕,箕口朝向左方的叫左箕,箕口朝向右方的叫做右箕。斗型纹指纹中心部位有一条以上的螺形线、环形线或者曲形线组成绕旋的内部花纹,并受到外围线和根基线包围,并且至少有两个三角。杂型纹有严重伤疤或者指纹模糊的无法确定类型的。22指纹图像的采集指纹采集是指从手指上获取计算机能够处理的数字指纹图像。它是自动指纹识别系统的第一个环节,所获取的数字指纹图像是自动指纹识别11所依赖的原始数据,图像质量的好坏直接影响到自动指纹识别算法的设计难度和自动指纹识别系统的精度,因此,指纹采集在自动指纹识别系统中具有非常重要的地位。传统的指纹采集方法为油墨转印法。其做法是先将指纹按在纸
26、上,然后用扫描仪转化为数字图像。这种方法的优点是所获得的指纹图像具有较好的清晰度,指纹的有效区域较大,包含的信息完整,有利于进行指纹识别;缺点是过程非常麻烦,速度很慢,无法满足实时、方便的要求,因此通常只用于司法领域。活体指纹采集法直接从手指上获取数字指纹图像12,这种方法既方便又快捷,且对手指没有任何伤害,因此适用于对自动化程度和响应速度要求高的自动指纹识别系统。根据所依据的原理,目前的活体指纹采集设备主要有如下几种(1)光电式的指纹采集设备。目前最成熟且应用最广泛的是光电式指纹采集器,它的基本原理如下将手指按压在玻璃平面的一侧,在玻璃的另一侧安装有LED光源和CCD摄像头,LED发出的光束
27、以一定的角度照射向玻璃,摄像头用于接收从基于MATLAB的指纹图像特征提取8玻璃表面反射回的光线。手指上的脊线与玻璃表面接触,谷线不与玻璃表面接触,因此照射在指纹脊线所接触部分的玻璃表面的光线被漫反射,而照射在指纹谷线所对应的玻璃表面的光线被全反射,从而在由CCD摄像头捕获的图像中,对应指纹脊线的部分颜色较深,对应指纹谷线的部分颜色较浅。光电指纹采集器的优点是技术成熟、工作温度范围较大、分辨率可高到500DPI、价格较便宜,它的缺点是体积较大。(2)电容式指纹采集器。电容式指纹采集器的基本原理是传感器由一个电极阵列构成,当手指皮肤与其表面接触时,构成了一个微型电容器阵列,由于接触紧密程度不同,
28、指纹脊线对应部分的电容和谷线对应部分的电容大小不同,将电容大小进行量化,就可以获得指纹图像。电容式指纹采集器的优点是体积很小,便于集成在笔记本电脑上、手机上等。其缺点是耐用性差,易受手指上静电的伤害。(3)超声波指纹采集器。超声波指纹采集器根据超声波测距的原理获得指纹图像。其优点是超声波能穿透手指或设备表面的油污,因此即使手指较脏,也能得到较为清晰、细致的指纹图像。其缺点是价格较高,因此目前获得的应用不多。以上的活体指纹采集设备大多存在以下共同缺点(1)手指的干湿度、清洁度对图像质量影响较大;(2)由于设备表面面积较小,采集的指纹图像不完整,其中可能只包含很少的特征信息,不足以为识别提供足够的
29、依据。为了获得丰富的、有代表性的信息,对手指按压的位置有一定的要求,一般要求将指纹特征信息丰富的中心部分对准设备表面,这给使用者带来一定的不便。23指纹图像的预处理对于一幅指纹采集头采集的原始图像,为了使后续特征提取的操作能够正常有效的进行,必须对原始指纹图像进行一定的处理13。通常这样的处理过程包括归一化、图像增强、二值化和细化等过程。由于实际采集的过程中,因为具体的拍摄环境和成像方法等原因,指纹图像不可避免的有噪声,这使得待识别的指纹图像通常是不规范的,直接对这些图像进行特征提取会导致大量伪特征的产生从而大大影响到指纹识别的准确率,因此,实际过程中对指纹图像进行特征提取之前,通常要对指纹图
30、像进行增强、二值化等一系列的处理,这称之为对指纹图像的预处理。预处理的目的就是去除图像中的噪音,基于MATLAB的指纹图像特征提取9把它变成一幅清晰的点线图,以便于提取正确的指纹特征。预处理是指纹自动识别系统中非常重要的一步,它的好坏直接影响着指纹识别的效果。指纹预处理的一般工作过程如下图21所示。图21指纹图像处理步骤由图21可以看出,预处理是分五步进行即归一化、图像增强、二值滤波、细化、细化后的去噪。由于在指纹采集的过程中,采集的指纹图像灰度不均,即有的指纹图像偏暗,有的偏亮的现象。这给建立统一的、有效的后续指纹图像处理算法带来了极大的不便。因此有必要将每幅指纹图像都通过归一化又叫“规格化
31、”,“均一化”处理,方便后续的处理。指纹图像的归一化主要是通过求取指纹图像的灰度均值和方差,将灰度均值和方差调整到一个期望的范围。从而在不改变图像的灰度特性指灰度均值和方差的前提下,实现所有指纹图像的灰度都分布在同一个期望的范围内,实现指纹图像的归一化的目的。由于在指纹采集过程中,指纹图像的质量受外界影响非常大,比如,若手指过干、手指按压压力不够、手指携带的灰尘杂物等原因都将导致采集的指纹图像质量降低、指纹图像的噪声增多。为了为后续的二值化、细化等处理有清晰的指纹图像,在此之前,非常有必要对指纹图像进行滤波、增强处理。图像增强是利用基于方向滤波器的图像增强等算法,从而实现指纹图像的增强。二值化
32、是将灰度图像变成一幅二值指纹图像。由于灰度去噪的不完全性及二值化时又可能引入噪音,所以对二值化后的指纹图像还要进行一次去噪操作,得到清晰的二值指纹图像,这就是二值化滤波。基于MATLAB的指纹图像特征提取10细化则是把二值指纹图像变为点线图,即指纹图中的脊线都以点线宽度为单位1的线的方式表示。由于前面滤波去噪的不完全性及细化算法本身可能引入的噪音,因此,细化后的指纹图还需进行一次滤波操作,以得到一幅清晰的点线图。本章指纹预处理的内容运用MATLAB来进行图像的处理结果如下所示AB图22对指纹图像进行预处理后的结果A归一化后的指纹图像;B细化后的指纹图像。由MATLAB仿真后的结果可看出,指纹图
33、像通过预处理后,图像变得更细、更清晰,指纹图像的脉络清晰可见。这也方便了后续指纹图像特征提取工作的进行,为整个图像处理过程打下了良好的基础。24指纹图像的特征选取指纹识别技术中,指纹特征提取技术是一个非常重要的部分。如果指纹特征得不到准确有效的提取,将直接影响指纹特征匹配的质量。许多学者对指纹特征提取方法进行了探讨。其中,主要包括有两大类方法,即依据指纹灰度图像直接提取指纹特征的方法和依据预处理细化后指纹图像提取特征的方法。实验表明,基于MATLAB预处理14后指纹图像提取特征的方法所提取到的特征更全面、质量更高。这些方法均为通过对指纹图像进行局域分析来估计指纹方向图,而后对图像进行滤波增强。
34、当系统中输入的指纹源图像质量较低时,其分辨率会大大降低,这些方法难以准确得到局域的方向图估计值,将无法进行有效的滤波增强。实质上,司法领域中所需识别的指纹图像大多遭到严重污染,分辨率较低,因此,现有的特征提取算法大多难以在该领域发挥大的作用。特征是指在模式识别系统中能够唯一反映输入对象本质的数据量,因此特征的选取是模式识别中的重要问题,直接影响分类器的设计和性能,同时也将影响特征基于MATLAB的指纹图像特征提取11的提取过程。为了使指纹能够用于身份鉴别系统15,指纹特征描述应具有如下性质(1)保持指纹的独特性;(2)易于进行匹配;(3)对噪声具有一定的鲁棒性,对旋转、平移和非线性形变具有不变
35、性;(4)对不完整指纹具有鲁棒性。为增强指纹自动识别系统提取低质量指纹图像细节特征的能力,本文在总结相关研究成果的基础上,提出了一种提取指纹图像细节特征点的改进算法。通过这些算法所提取到的指纹端点和分叉点等细节特征克服了低质量指纹图像的影响,从而获取到了质量较高的细节特征,相对于其他算法更显示出该算法的优越性。基于MATLAB的指纹图像特征提取123指纹图像的特征提取特征点提取一般分为两个阶段特征点的提取16和伪特征点的剔除。许多学者都在这方面做出了深入的研究。最早提出特征点提取算法的是美国联邦调查局FBI的自动指纹识别技术研究人员。他们采用了一种二级算法,用自适应“编辑”方法将指纹图像二值化
36、,再从二值化后的指纹图像中提取特征点。该算法的提出在指纹识别领域具有开拓性的意义,并且该算法在相当一段时间内被广泛地用作细节特征点的标准算法,获得了广泛的应用。指纹的特性是由指纹内在的特定的质的规定性所决定的区别于其他事物的特定的属性。指纹特征体现在以下几个方面(1)各人各指不同。每个人手指的乳突花纹的结构形态、特征数量以及相互之间的关系所反映出来的指纹一般结构和细节特征点的总和具有特定性。世界上没有两枚完全相同的指纹。根据数学和统计学的统计,历代指纹学者均借助于排列组合的原理,对指纹特定性进行了论证。由于指纹结构复杂,纹线细节及特征极其多,数量庞大,用数学方法所获得的概率比较小,人与人之间指
37、纹重复的概率在几千万分之一以上。“例如,1920年巴黎大学教授悖太柴氏用数学方法对指纹的特定性做出了证明。此外,加拿大的学者和我国的一些学者也先后尝试了用数理方法来推断、论证指纹的不可重复性,所以每个指纹与其自身同一。”(2)指纹特征终身不变。从胚胎发育的第六个月指纹就开始形成,经过出生、生长、死亡至到手指真皮乳突层腐烂时候为止,在此期间,指纹始终保持它原来的形态特征和基本的细节特征,反映了指纹各人各指不同的特定性在相对条件下的静止的状态,而且指纹特征的稳定性比人体其他部分的稳定性更大、更加明显。指纹终身不变的特性反映了指纹特定性的相对稳定性,这是我们了解并利用指纹识别人身不可缺少的前提条件。
38、近百年来,在司法实践中,利用指纹识别人身时从未发现因为时间、年龄的变化而导致指纹总体特性改变的事例。31指纹特征的内容指纹特征的提取是对指纹形态特征与细节特征的提取。基于指纹图像分辨率的不同位阶,指纹特征主要分为以下两个层次的内容。基于MATLAB的指纹图像特征提取13311全局特征全局特征17是指可以直接观察到的宏观特征,必须通过图像整体获得。目前最常见的表示指纹图像的全局特征是按照指纹的脊线总体结构来确立的,具体包括指纹的纹形、模式区、核心点CORE、三角点DELTA和脊线数五个特征。(1)纹形,是指指纹脊线整体走向,主要有五大类涡形、拱形、弓形、左箕形和右箕形。(2)模式区,是指包含了指
39、纹图像的大部分总体特征的区域,通过这个区域也能够分辨出指纹是属于哪个类型的。(3)核心点CORE,是指指纹脊线的渐进中心点。(4)三角点DELTA,一般是指从中心点开始的第一个分叉点、断点、孤立点等等,常与核心点一起称为奇异点。(5)脊线数,指的是模式区内指纹脊线的数量。全局特征一般用在大规模指纹库中,实现快速分类,也可以用在特征匹配中的粗匹配阶段。312局部特征局部特征17是指指纹拓扑图中的几种有效的特征,比如指纹纹路是不是连续的,方向是不是一致,具体到细节特征就表现为断点、分叉点、交叉点、桥、环等等,这些通常称为特征点。这些特征点之间,特征点与周围脊线之间等等都包含了丰富的信息,比如特征点
40、的类型、方向、位置等等。特征匹配就是利用这些信息进行的。据统计,这几类特征点占特征点的比率如图31所示。从表中可以发现,端点和分叉点占特征点91,而交叉形、桥形以及环形三类总共只占9左右。这一方面说明了几乎所有的指纹都有端点和分叉点,而且数量丰富;另一方面也反映了不是所有的指纹都有桥形、环形等特征点,而且即使有数量也比较少。基于MATLAB的指纹图像特征提取14图31特征点类型及所占比例图31为我们展示了几种特征点的类型,以及各特征点的走势、所占比例。由上图可知,端点和分叉点占了很大的比例,所以一般只研究端点和分叉点的特性。因此为了能普遍的表征指纹图像,一般选用端点和分叉点作为指纹图像特征点。
41、一幅质量比较好的指纹图像,一般有40100个特征点,但真正匹配时,由于受指纹采集时外界影响比较大,不可能实现100匹配。英国司法界认为有12个细节点匹配,就可以认为两幅指纹相同,美国FBI认为8个细节点匹配就足够了,所以本文取闭值为10,即若有10个特征点匹配就可以认为两幅指纹是同一指纹。32指纹特征点提取算法概述目前对指纹特征点提取的算法多种多样,各有不同,如基于直接从指纹灰度图像的特征提取算法、基于细化的图像特征提取算法、基于纹线方向滤波的指纹特征提取算法、基于二值化的指纹特征提取算法等等。但总体上,最常用的特征点提取算法有两类一是从灰度图像直接提取特征点18;二是对预处理细化后的图像进行
42、提取特征点。下面将对这两种特征点提取算法进行介绍比较,并确立本文将要采用的特征点提取算法。321基于灰度图像的直接提取法由于对于一幅灰度指纹图像,其根据方向图的定义可知沿着脊线方向的,在这个方向的垂直方向上,即法线方向上,其端点处就是脊线末端与背景图像交界的地方,端点就是在这一交界处灰度最大的一点。灰度图像直接提取法就是利用这一特基于MATLAB的指纹图像特征提取15性来构建算法的。具体算法如下19(1)计算指纹图像的方向图,一般以块方向作为指纹的方向。(2)从初始点出发,根据指纹图像的方向信息,在该处的法线方向上,半个指纹周期内,求取灰度分布的最大值和最小值,并以该最大值处的像素点作为新的出
43、发点。(3)从新的出发点出发,沿指纹图像的方向图的方向前进一定步长(算法最开始是按固定步长进行跟踪的,后来发展到自适应步长跟踪),继续在发现方向求取灰度分布的最大值和最小值,仍然以最大值处的像素点作为新的出发点。(4)不断重复步骤3,实现脊线跟踪,直到求取的灰度分布的最大值出现明显的变小,与最小值差不多,甚至相等时,停止跟踪,说明己经到脊线的末端,此处即为特征点端点处。若跟踪到的脊线与先前己经跟踪过的脊线相交,停止跟踪,求取两条脊线交点位置,此处即特征点分叉点。脊线跟踪算法19的目的在于在指纹图像预处理的基础上,首先定位一条新的未作处理过的脊线,从该脊线当前的像素点开始,沿着该条脊线方向搜索所
44、有的像素点,并对以上处理的脊线加以标记,避免重复处理,对所提取到的候选端点和交叉点加以判断,最后得到该条脊线上的特征点。第一,定位未处理的脊线。以该像素点为中心,将360度空间分为8个方向,分别沿着这8个方向搜索未作处理过的像素点,使用以最短距离搜索到的未作处理的像素点为新的一条脊线的起始点。第二,定义集合P。首先定义一个包含像素点M的集合P,该集合所包含的范围为设通过M且与M方向平行的两条直线为矩形的两边,与法线方向一致且通过M的一条直线以及与该直线平行的另一条直线组成矩形区域的另外两边,该矩形内所有像素点的集合则为P,矩形区域如图32所示基于MATLAB的指纹图像特征提取16图32脊线跟踪
45、示意图第三,像素点标记。该步骤的目的在于对该矩形区域内的所有像素点进行标记。把像素点M的8邻域范围内并且包含在集合P中的所有未处理过的像素点进行预标记,并在标记的像素点中记录标记距离为1。其次是采用同样的方法,对刚才被预标记的所有像素点的8邻域范围内,并且也包含在集合P中的所有未处理过的像素点进行预标记,并在标记的像素点中记录标记距离为2,通过以上方法把集合P中所有与M像素点连通的像素点进行预标记。通过对各个标记点的确定来实现脊线跟踪。322基于细化图像的邻域法基于细化图像的邻域法,是先将指纹图像经过图像归一化、增强、二值化和细化等一系列的预处理得到细化的指纹图像,再通过构建像素的33邻域如图
46、所示提取指纹图像的特征点。图中P为待测像素点,PL、P29为P的邻域,CNP为这8个邻域像素的相邻像素的灰度值此时己二值化,所以灰度值只可能为0或L变为1,或者从1变为0的次数。SNP为8邻域像素中为1的像素的个数,具体按下式计算19811PPPPPCIIIN其中(31)81IINPPS(32)通过分析可知,细化后的指纹图像的邻域状态如图32所示。基于MATLAB的指纹图像特征提取17AB图32细化后的指纹图像的邻域状态A邻域示意图;B细化后的指纹图像。对于脊线上的像素,可根据其邻域的CNP和SNP数值判定此时P像素点的状态。通过分析可以发现CNP和SNP数值仅存在以下三种情况(1)若P点为脊
47、线上的点,且CNP2,SNPL,则可判定像素点P为端点,如图33中E点;(2)若P点为脊线上的点,且CNP4,SNP2、3或者4,则可判定像素点P为脊线上的连续点,即不是特征点,如图33中的CL点、C2点、C3点、C4点;(3)若P点为脊线上的点,且CNP6,SNP3,则可判定像素点P为分叉点,如图33中点B点。对指纹图像中的所有像素进行处理,分别记录下所有检测到的端点和分叉点,即完成了特征提取的第一步特征的提取。323指纹特征点提取算法比较以上即是常用的两种特征点提取算法,通过比较不难发现基于灰度直接提取算法原理比较简单,简化了图像增强、二值化步骤,直接求取脊线并得到特征点。并且由于步骤的简
48、化一定程度上降低了伪特征点出现的概率。这两点是该算法的最大优点。但是该算法对图像的质量要求比较高,仅适合图像质量非常好,脊线清晰基于MATLAB的指纹图像特征提取18的指纹图像,对于较模糊的指纹图像则无能为力。另外,该算法脊线跟踪的步长不好确定,即使采用自适应步长也只是稍微降低丢失特征点的情况,没有从根本上改观。加上是利用灰度分布直方图来确定特征点的,因此特征点的位置信息并不十分精确,有可能与实际的位置出现偏差,尤其是在图像模糊的情况下,更是相差甚远。基于细化图像的邻域法,算法稍微复杂一下,跟前一种算法相比,多了图像增强和二值化。但是由于邻域法采用的是遍历原则,即对所有像素都进行特征点判定,所
49、以不会出现第一种算法那样的特征点丢失的问题。另外由于在预处理阶段增加了图像增强和二值化,所以在算法的鲁棒性方面比第一种算法更好。所以考虑到指纹识别系统的鲁棒性,以及特征点提取算法的可靠性本文采用第二种算法。利用MATLAB进行仿真后得到指纹图像的特征提取点,圈为端点,叉为交叉点,如下图33所示050100150200250050100150200250图33提取特征点如图33所示即为特征点示意图,由上图我们可以看到图像的边缘部分有很多端点,这类端点实际上是因为接触面积而产生的,虽然它们不属于上述伪特征点,但是也应该删除。还有一些分叉点、短线、桥等被标记的点实际上是不属于特征点的,所以这些伪特征点也需要进行删除处理。下面我们将介绍短脊、桥等伪特征点的剔除算法。基于MATLAB的指纹图像特征提取1933伪特征点的剔除在指纹采集过程中,由于汗渍、干燥、压力轻重不均匀等因素的影响,使得输入到指纹自动识别系统中的指纹图像变得模糊、灰度不均匀、纹线中断等问题。实验表明,一幅质量较差的图像在经过预处理、细节特征提取后可能产生多达一、两百个细节特征点,其中包含了大量的伪特征点,因此在细化二值图像中提取到的细节特征点往往不真实。如果伪特征点的数量达到一定数量,将会严重影响后续操作,进而影响指纹特征的识别效率,增加指纹识别的拒识率。所以在进行指纹匹配之前,伪特征点的去除是非常