指纹识别中的一种细节匹配算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指纹识别中的一种细节匹配算法
罗希平田捷*
(北京中国科学院自动化研究所人工智能实验室 100080)
摘要:指纹匹配是AFIS中最重要的问题之一。一般用象脊线末端和脊线分支点这样的细节点来表示一个指纹,并通过细节匹配来做指纹匹配。本文提出一种细
节匹配算法,这种算法对Anil Jain等人提出的细节匹配算法进行了修正。我们
采用了一种新的更简单的方法来进行指纹图像的校准,并以一种简单而有效的方
式将脊线信息引入匹配过程中,这样做的好处之一是以较低的计算代价有效地解
决了匹配中参照点对的选取问题。另外,我们采用了大小可变的限界盒来适应指
纹的非线性形变。我们的算法能更好地区分来自不同指纹的图像,并能更加有效
地处理来自同一个指纹的被匹配图像之间的非线性形变。对用活体指纹采集仪采
集的指纹图像集所做的实验显示我们的算法有较快的速度和较高的准确率。
关键词: 指纹识别, 细节匹配, 自动指纹识别系统(AFIS)
1. 背景介绍
自动指纹识别系统(即Automated Fingerprint Identification System,简称AFIS)有着广泛的应用背景。
指纹识别是要决定两幅指纹图像是否来自同一个手指。过去人们对指纹识别做了很多研究。D.K.Isenor等人[2]提出了一种用图匹配来对两幅指纹图像进行匹配的方法。Andrew K.Hrechak等人[3]用结构匹配来做指纹识别。但目前最常用的方法用是FBI提出的细节点坐标模型来做细节匹配。它利用脊末梢与脊线分支点这两种关键点来鉴定指纹。通过将细节点表示为点模式,一个自动指纹认证问题可以转化为一个点模式匹配(细节匹配)问题。一般的点模式匹配问题是模式识别中的一个有名的难题,人们对一般的点模式匹配问题提出过很多的算法,象sanjay Ranade等人[5]的松弛算法,Shih-hsu Chang等人[6]基于二维聚类的快速算法。Anil Jain等人在[4]针对指纹匹配中的点模式匹配问题提出了一种算法,该算法将直角坐标系中的细节点转换到极坐标系中,通过串匹配算法来进行点匹配。
本文的算法参考了Anil Jain等人[4]的算法。但与[4]中的算法有三个主要差别。首先,我们采用了一种更为简单而有效的指纹图像校准方法。其次,与[4]中仅在校准阶段使用脊线信息的做法不同,我们将脊线信息引入了随后的匹配过程中,在本文第三部分我们将讨论这样做的好处。最后,[4]中的方法在匹配过程中使用了一个固定大小的限界盒,而我们的算法采用了一个大小可变的限界盒,从而使算法能更有效地处理被匹配的两幅指纹图像之间的非线性形变,被匹配的两幅指纹图像之间的非线性形变是指纹匹配中最难解决的问题之一。
我们的自动指纹识别系统框图如图1所示,系统由离线部分和在线部分两个部分组成。在系统的离线部分,用指纹采集仪采集指纹,提取出细节点,然后将细节点保存到数据库中,形成指纹模板库。在系统的在线部分,用指纹采集仪采集指纹,提取出细节点,然后将这些细节点与保存在数据库中模板细节点进行匹配,判断输入细节点与模板细节点是否来自同一个手指的指纹。
本文受国家自然科学基金资助,课题号为:69875019
*:本文联系作者,e_mail:tian@, 电话:82618465
图1、自动指纹识别系统框图
本文第2部分简单介绍从灰度图像提取细节点的过程,这可以看成是细节匹配的预处理。第3部分详细介绍我们的细节匹配算法。第四部分给出实验结果,第五部分做总结和讨论。
图2.预处理的步骤
图3、细节点的对应脊线
2. 预处理
图2给出了一般的指纹匹配的步骤。首先要获取指纹图像。然后,要用增强算法来提高指纹图像的质量,指纹图像的增强是指纹识别中的一个重要也很困难的研究课题,人们提出过很多种指纹图像增强算法[8][9],但由于图像增强不是我们在本文中将要讨论的问题,我们不在此对增强做详细介绍。增强后的指纹图像随后被二值化,并细化成指纹脊线的骨架。从细化后的图像中就能提取出细节点来,但由于噪声的存在和图像质量等方面的原因,脊线骨架中必然存在的脊线断裂和毛刺等现象,还有可能在一小片区域内有很多不成形的短脊线,这些都造成提取出来的细节点中有很多的伪细节点,因而要进行细节点的后处理以尽可能地去掉伪细节点。
经过上述步骤之后就检测出了细节点。对检测出来的每一个细节点,我们记录如下信息:
1) 细节点的x,y坐标
2) 细节点的方向,这个方向定义为该细节点所在的局部脊线的方向。
3) 细节点的类型,即脊线末梢或脊线分支。
4) 细节点对应的脊线(d i,αi)。
细节点对应的脊线用在与该脊线上的采样点来表示,采样的距离约为脊线间的平均距离。脊线分支点对应的脊线是与该细节点的方向最近的那条。脊线末梢对应的脊线则就是该细节点所在的脊线。采样点用该点与对应细节点的距离di和连接该点与对应细节点的直线与对应细节点方向的夹角αi来表示, αi的取值范围是-180到180度。图3给出了细节点对应的脊线及脊线上的采样点的例子。在细节匹配中,对应脊线将被用来对两个平面点集进行校准,而且,校准的参数,也就是两个点集中任意一对脊线间的旋转角度,将被用来作为判断它们所对应的细节点能否看作匹配的细节点的条件。
自动指纹识别系统的应用中,在公安领域的应用一般是针对大规模数据库的,对存储空间的要求比较高,此时在细节点中加入脊线信息会加大系统的存储量,似乎显得不太合适,但硬件的发展正在不断降低对存储空间的要求。在一般的应用如网络安全,指纹门控系统,指纹考勤系统等中,数据库没有大到对存储空间提出严格要求的程度,而脊线信息的加入可以有效的处理指纹图像的校准并会带来后面将会讨论到的其它好处,我们认为是值得的。
3.
细节匹配
正如文[4]中指出的,在极坐标系中进行细节匹配有很多的优点。指纹图像的非线性形变往往呈放射状,在某个区域内的形变比较大,然后非线性地向外扩张,因而,在极坐标中能更好地描述非线性形变。另外,在极坐标系中,我们不需要考虑输入图像与模板图像的参照点之间的平移,因为输入图像与模板图像间的平移是固定的,也就是说另外一对对应点之间的平移与参照点之间的平移是一样的,这样,将另外一对对应点的坐标相对于参照点转换为极坐标时,平移就被抵消掉了。而且,在极坐标系中显然比在直角坐标系中更便于处理两幅图像间的旋转。综合上述原因,我们将在极坐标系中做细节匹配。
即使输入指纹图像与数据库中的模板图像来自同一个手指,两幅图像之间也还是会有象平移,旋转,尺度变化这样的形变。我们在对两幅图像进行匹配之前先要估计它们之间的形变参数,并以此对这两幅图像进行校准。由于两幅指纹图像是用同一个仪器采集的,可以假定它们间的尺度变化参数为1。另外,如前讨论的,在极坐标中可以不考虑两幅图像间的平移。因而需要作出估计的仅有输入图像与模板图像间的旋转参数。
另一方面,按指纹时由于用力的差异等多种原因必然会使两幅指纹图像间存在非线性形变。即使是经过校准,输入图像中的细节点也不可能与模板图像中的对应点完全重合。在加上采集过程中存在噪声等原因,使得两幅图像的对应点之间可能存在一定的偏差。这些都要求细节匹配算法具有一定的弹性,也就是说细节匹配算法应该能在一定程度上容忍由于提取出来的细节点位置不准确或图像的非线性形变造成的对应点位置的差异。Anil Jain 等人[4]通过对[10]中介绍的算法增加一种自适应性来处理弹性匹配问题。[10]中的方法在每一个模板细节点上加了一个限界盒(bounding box ),限定了与该模板细节点对应的输入细节点可能存在的区域。[4]文中给这种方法增加了一定的自适应性,当在匹配过程中检测到一个不精确的匹配时(对应点的位置有一定差异),在其后的匹配中对模板细节点的限界盒做一定的调整,从而使算法具有一定的处理局部细节点位置差异与非线性形变的能力。本文中我们将采用尺寸可变的限界盒来取代[4]中所用的大小固定的限界盒,使匹配算法对非线性形变更为鲁棒。
3.1 细节点集的校准
令
=)(,...,)111(,,,,θθp M p M p M p p p P y x y x T T 表示模板图像中的M 个细节点,
=)(,...,)111(,,,,θθQ N Q N Q N Q Q Q Q y x y x T T 表示输入图像中的N 个细节点,
为了把细节点转换到极坐标系中去,我们要在模板细节点集和输入细节点集中各选一个参照点作为相应的极坐标系中的原点,并算出其它细节点相对与参照点的极坐标。由于我们事先并不知道模板点集与输入点集的对应关系,我们将考虑所有可能的参照点对。