基于matlab的指纹识别系统
随着科学技术的不断发展,自动化的指纹识别技术如今已经被人们广泛地应用在银行、商业交易、公安部门、海关部门等需要对人的身份进识别的领域,而本文所描述的是对自动化指纹识别系统的研究现状以及自动化指纹识别系统的基本算法和流程,本实验是利用MATLAB2012来进行了指纹识别系统的仿真和实验的。 然而在生物识别技术的快速发展的今天,人们通过研究发现了每一个人的指纹都具有唯一性和不变性。也正因为这样,指纹识别技术正在逐步的发展成为一种新的身份识别技术,并且凭借它良好的安全性以及可靠性,逐步有取代传统身份认证的方式趋势。本实验简单的介绍了指纹识别图像的预处理的方法和步骤。指纹图像预处理之后将会得到一个宽度为统一像素的细化后的二值化图像,最后再根据特定的指纹图像的端点以及交叉点的特征进行对指纹自动匹配。本论文中采用MATLAB2012编程实现所有算法。关键词:指纹识别技术 指纹图像预处理 指纹识别 MATLAB20121.1 指纹及其识别如今,生物特征识别领域中的最为成熟的应用技术之一--指纹识别技术。其实它已经有非常悠久的历史了。很久以前,指纹识别技术已经很早就应用于刑事侦查和司法鉴定领域了,很多人不知道的是。随着计算机网络和信息处理技术的快速发展,这门历史悠久的指纹识别技术也开拓了更多更广阔的市场,自动的指纹识别技术和与其相关的产品越来越多的应用在普通人的生活当中。生物识别技术(Biometric Identification Technology)的定义是:利用人体的不同的生物特征来进行对人的身份进行认证的一种技术[1]。这是因为人的生物特征是唯一的,可以区分与他人不同的特征。并且我们还可以通过技术测量或者是自动识别来检验出生理特性以及行为方式,我们所说的这个特征分为生理特征、行为特征。我们对生物特性来进行提取并放入数据库,再将提取出来的人的唯一特征和它的身份一一对应起来。指纹识别技术:对 “全局特征”、“局部特征”进行分析的技术就是我们所说的指纹识别技术。而且我们每一个人的指纹都具有独一无二的特征点,而且这些特征点都是可以测量的。每一个特征点还会伴随着大概七个左右不同的特征。可想而知,我们有10个手指,将产生至少4900的独立功能并可以测量的数据。这将意味:指纹识别技术是一个门可靠的身份识别技术。根据不同的人的指纹也会有不同,即使是同一个人,也会有不同的指纹。而且纹线走向、纹线的断点、交叉点的不同更加决定了指纹都具有“唯一”的这种特性,这恰恰就是指纹识别技术的原理。不仅如此,我们的指纹也是不会随着我们年龄的增长而发生太大的变化,也就是说我们指纹是终生不变的。利用唯一性和稳定性这个指纹的特性,可以将一个人身份个人信息和他所对应的指纹联系起来。实现的方法就是:通过对他的指纹样本的预先保存,再和指纹模板进行配对和比较。再利用计算机对指纹图像进行快速的识别。这样就能很快的识别出指纹所对应的的人的真实身份了。从而达到一种身份认证和识别的功能。1.2 指纹识别算法概述本实验所使用的主要算法是滤波特征和不变矩指纹识别算法。滤波特征识别算法:大小不变,不变的位置,方向不变,这是特征指纹图像必须满足的三个特点。大小不变性是很容易满足的。而在滤波特征提取算法中,位置不变性,则是通过确定指纹图像的中心点位置来实现的。通过在匹配阶段,建立起多个角度的旋转特征向量来实现指纹图像的方向不变性。而滤波特征的提取算法,包括了4 个步骤。一是先确定指纹图像的中心点。作为需要处理的指纹区域的中心位置,记为R01 区域;二是以中心位参考点,对R01 区域来进行适当的划分,得到一定大小的块;三是运用一组 Gabor 滤波器,对R01 区域做八个不同方向的滤波运算;四是对滤波后的图像,分别计算出每一块中。图像灰度值相对于均值的平均绝对偏差。 进而得到特征向量或特征编码。这种指纹识别算法。首先要对指纹图像提取滤波特征,然后在特征向量上(由滤波特征值构成的)进行匹配。不变矩识别算法的基本思路是:搜索预处理后的二值化图像中,所有可能成为目标的区域。计算出R01区域中7个不变矩特征,求出与模板匹配程度最高的R01区域进行匹配。其中相似度度量采用欧式距离( Euclidean distance)。 这里,搜索算法为系统使用的最简单的顺序查找方法。就是对数据库文件,逐一搜索。一张指纹数字图像图片被系统读入时,就会根据上述的方法,先对这一幅指纹数字图像进行特征值提取和编码,并保存到临时变量中去。系统的指纹数字图像数据库文件里同时也会保存一组指纹数字图像灰度偏差的特征。过程如下:1.申请内存空间。将匹配结果的临时变量进行保存,对输入系统的要匹配的指纹数字图像的编码进行保存。2. 搜索系统的数据库文件。当数据库文件为空时,程序结束查找。3. 当系统的数据库文件不为空时。由于在指纹数字图像在入库的时候,指纹数字图像是按一定排列顺序的编码。同样地,系统也将匹配的指纹数字图像的图象编码设置同样的顺序。这样系统就按照一定得顺序进行匹配。这样可以通过欧氏距离( E D)匹配算法,来判断两个指纹数字图像之间的欧氏距离。前面提到系统是对一张指纹数字图像进行两次编码的保存。将相对应的特征向量进行比较,取其中最小的一个作为系统比对的结果输出。这里是通过欧式距离来实现的对比数据库中模板图像和待测试图像相对应的特征点向量距离计算的。对于计算机计算出来的数据,如果匹配指数小于定值 T,则被认为是匹配成功,否则匹配失败。简单的说,欧氏距离( Euclidean distance)就是将两组特征向量相减,然后求出他们对应之间的差的平方和,然后开根号。举个例子来说吧:A=(1,2,3)B=(4,5,6)则他们之间的距离就是 d=sqrt((1-4)2+(2-5)2+(3-6)2)。接着识别系统就逐一搜索数据库中的数据文件,求的他们距离的最小数值。如果对比的两张指纹数字图像的特征向量之间的距离是 0,则系统会认为这两张数字图像是同一张,或者说来自于同一手指。从而达到识别的功能。欧氏距离表示的是两张指纹数字图像的特征向量的相似程度。距离越近就越容易相互干扰,误码率也就越高,也就越相似。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的系统。 总之,随着许多指纹识别产品已经开发和生产,指纹识别技术的应用已经开始进入民用市场,并且发展迅猛,相信这一技术的普及应用已经指日可待。
随着科学技术的不断发展,自动化的指纹识别技术如今已经被人们广泛地应用在银行、商业交易、公安部门、海关部门等需要对人的身份进识别的领域,而本文所描述的是对自动化指纹识别系统的研究现状以及自动化指纹识别系统的基本算法和流程,本实验是利用MATLAB2012来进行了指纹识别系统的仿真和实验的。
然而在生物识别技术的快速发展的今天,人们通过研究发现了每一个人的指纹都具有唯一性和不变性。也正因为这样,指纹识别技术正在逐步的发展成为一种新的身份识别技术,并且凭借它良好的安全性以及可靠性,逐步有取代传统身份认证的方式趋势。
本实验简单的介绍了指纹识别图像的预处理的方法和步骤。指纹图像预处理之后将会得到一个宽度为统一像素的细化后的二值化图像,最后再根据特定的指纹图像的端点以及交叉点的特征进行对指纹自动匹配。本论文中采用MATLAB2012编程实现所有算法。
关键词:指纹识别技术 指纹图像预处理 指纹识别 MATLAB2012
1.1 指纹及其识别
如今,生物特征识别领域中的最为成熟的应用技术之一--指纹识别技术。其实它已经有非常悠久的历史了。很久以前,指纹识别技术已经很早就应用于刑事侦查和司法鉴定领域了,很多人不知道的是。随着计算机网络和信息处理技术的快速发展,这门历史悠久的指纹识别技术也开拓了更多更广阔的市场,自动的指纹识别技术和与其相关的产品越来越多的应用在普通人的生活当中。
生物识别技术(Biometric Identification Technology)的定义是:利用人体的不同的生物特征来进行对人的身份进行认证的一种技术[1]。这是因为人的生物特征是唯一的,可以区分与他人不同的特征。并且我们还可以通过技术测量或者是自动识别来检验出生理特性以及行为方式,我们所说的这个特征分为生理特征、行为特征。我们对生物特性来进行提取并放入数据库,再将提取出来的人的唯一特征和它的身份一一对应起来。
指纹识别技术:对 “全局特征”、“局部特征”进行分析的技术就是我们所说的指纹识别技术。而且我们每一个人的指纹都具有独一无二的特征点,而且这些特征点都是可以测量的。每一个特征点还会伴随着大概七个左右不同的特征。可想而知,我们有10个手指,将产生至少4900的独立功能并可以测量的数据。这将意味:指纹识别技术是一个门可靠的身份识别技术。
根据不同的人的指纹也会有不同,即使是同一个人,也会有不同的指纹。而且纹线走向、纹线的断点、交叉点的不同更加决定了指纹都具有“唯一”的这种特性,这恰恰就是指纹识别技术的原理。不仅如此,我们的指纹也是不会随着我们年龄的增长而发生太大的变化,也就是说我们指纹是终生不变的。利用唯一性和稳定性这个指纹的特性,可以将一个人身份个人信息和他所对应的指纹联系起来。实现的方法就是:通过对他的指纹样本的预先保存,再和指纹模板进行配对和比较。再利用计算机对指纹图像进行快速的识别。这样就能很快的识别出指纹所对应的的人的真实身份了。从而达到一种身份认证和识别的功能。
1.2 指纹识别算法概述
本实验所使用的主要算法是滤波特征和不变矩指纹识别算法。
滤波特征识别算法:大小不变,不变的位置,方向不变,这是特征指纹图像必须满足的三个特点。大小不变性是很容易满足的。而在滤波特征提取算法中,位置不变性,则是通过确定指纹图像的中心点位置来实现的。通过在匹配阶段,建立起多个角度的旋转特征向量来实现指纹图像的方向不变性。而滤波特征的提取算法,包括了4 个步骤。一是先确定指纹图像的中心点。作为需要处理的指纹区域的中心位置,记为R01 区域;二是以中心位参考点,对R01 区域来进行适当的划分,得到一定大小的块;三是运用一组 Gabor 滤波器,对R01 区域做八个不同方向的滤波运算;四是对滤波后的图像,分别计算出每一块中。图像灰度值相对于均值的平均绝对偏差。 进而得到特征向量或特征编码。这种指纹识别算法。首先要对指纹图像提取滤波特征,然后在特征向量上(由滤波特征值构成的)进行匹配。
不变矩识别算法的基本思路是:
- 搜索预处理后的二值化图像中,所有可能成为目标的区域。
- 计算出R01区域中7个不变矩特征,求出与模板匹配程度最高的R01区域进行匹配。其中相似度度量采用欧式距离( Euclidean distance)。
这里,搜索算法为系统使用的最简单的顺序查找方法。就是对数据库文件,逐一搜索。一张指纹数字图像图片被系统读入时,就会根据上述的方法,先对这一幅指纹数字图像进行特征值提取和编码,并保存到临时变量中去。系统的指纹数字图像数据库文件里同时也会保存一组指纹数字图像灰度偏差的特征。过程如下:
1.申请内存空间。将匹配结果的临时变量进行保存,对输入系统的要匹配的指纹数字图像的编码进行保存。
2. 搜索系统的数据库文件。当数据库文件为空时,程序结束查找。
3. 当系统的数据库文件不为空时。由于在指纹数字图像在入库的时候,指纹数字图像是按一定排列顺序的编码。同样地,系统也将匹配的指纹数字图像的图象编码设置同样的顺序。这样系统就按照一定得顺序进行匹配。这样可以通过欧氏距离( E D)匹配算法,来判断两个指纹数字图像之间的欧氏距离。前面提到系统是对一张指纹数字图像进行两次编码的保存。将相对应的特征向量进行比较,取其中最小的一个作为系统比对的结果输出。这里是通过欧式距离来实现的对比数据库中模板图像和待测试图像相对应的特征点向量距离计算的。对于计算机计算出来的数据,如果匹配指数小于定值 T,则被认为是匹配成功,否则匹配失败。
简单的说,欧氏距离( Euclidean distance)就是将两组特征向量相减,然后求出他们对应之间的差的平方和,然后开根号。举个例子来说吧:A=(1,2,3)B=(4,5,6)则他们之间的距离就是 d=sqrt((1-4)2+(2-5)2+(3-6)2)。接着识别系统就逐一搜索数据库中的数据文件,求的他们距离的最小数值。如果对比的两张指纹数字图像的特征向量之间的距离是 0,则系统会认为这两张数字图像是同一张,或者说来自于同一手指。从而达到识别的功能。欧氏距离表示的是两张指纹数字图像的特征向量的相似程度。距离越近就越容易相互干扰,误码率也就越高,也就越相似。
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的系统。 总之,随着许多指纹识别产品已经开发和生产,指纹识别技术的应用已经开始进入民用市场,并且发展迅猛,相信这一技术的普及应用已经指日可待。