Computer Science and Application
Vol.4 No.05(2014), Article ID:13468,9 pages
DOI:10.12677/CSA.2014.45014

Rotation Correction and Classification of Fingerprint Image

Wanlin Yin1, Hua Ye1,2, Yanlan Yang1,2

1School of Automation, Southeast University, Nanjing

2Key Laboratory of Measurement and Control of Complex Systems of Engineering of Ministry of Education, Southeast University, Nanjing

Email: zhineng@seu.edu.cn

Copyright © 2014 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received: Apr. 8th, 2014; revised: May 1st, 2014; accepted: May 8th, 2014

ABSTRACT

In order not only to improve the speed and accuracy of fingerprint recognition in the large-capacity database, but also to extract more detailed features, this paper presents a classification algorithm by using the features of cores, which are extracted from a corrected fingerprint. In the first phase, according to the smallest external ellipse and rectangle, the declining fingerprint is corrected by the affine transformation. In the second phase, to heighten anti-noise capability of traditional Poincare index, an improved algorithm is proposed, and then false points are denoised by summarizing the human recognition experience. Finally, the absolute direction, the diameter of screw and other features are the basis for fingerprint classification. 400 fingerprint images collected by FPC1011F fingerprint sensor are used for an experimental test, and the accuracy rate on classification is 91.25%. The experimental results show its effectiveness and robustness.

Keywords:Fingerprint Identification, Fingerprint Classification, Rotation Correction, Core

指纹图像的旋转校正与分类

尹婉琳1,叶  桦1,2,仰燕兰1,2

1东南大学自动化学院,南京

2东南大学复杂工程系统测量与控制教育部重点实验室,南京

Email: zhineng@seu.edu.cn

收稿日期:2014年4月8日;修回日期:2014年5月1日;录用日期:2014年5月8日

摘  要

为了提高在大容量指纹数据库中指纹识别率的速度和正确率,也为了提取出更多的细节特征,提出了一种旋正图像并使用中心点特征进行指纹分类的方法。首先,根据指纹图像的最小外接椭圆和矩形,获得旋转角度并对指纹进行仿射变换以校正图像;然后,针对现有Poincare index方法存在伪点的问题,通过对其改进实现中心点的确定,并总结人眼识别的经验对采集到的中心点去噪;最后,利用中心点的绝对方向角度、螺径等细节特征对指纹进行分类。对于无法分类或分类不正确的图像,采取二次匹配保证正确率。在从电容式指纹传感器FPC1011F采集到的400幅图像上,分类的准确率为91.25%,实验结果验证了该方法的有效性和鲁棒性。

关键词

指纹识别,指纹分类,旋转校正,中心点

1. 引言

近年来,指纹识别技术正在日常生活的个人身份识别方面得到日益广泛的应用,譬如智能指纹门锁、手机、指纹硬盘等。指纹的匹配在指纹识别系统(AFIS)中占据重要地位,但其实现往往需要在大规模的数据库上进行计算,整个识别过程是极其耗时的,因此,利用全局信息对指纹进行粗分类,提取出更多的细节特征,这样查询只需要在指纹数据库中的一个相应子集中进行,从而节省运算时间和降低运算复杂度。

目前的指纹分类算法大致分为两类:一类是模型方法,主要基于指纹特征点的数目和相对位置分类,这类方法更接近人的思维习惯,是一种“智能化”的方法。另一类是全局方法,根据整个图像脊线形状或方向信息进行分类[1] 。文献[2] [3] 提出了一种基于指纹奇异点数目和相对位置进行分类的算法,但在有限大小的指纹图像中很难采集到三角点,并且当图像质量较差时,文献中给出的提取奇异点方法很难精确提取中心点;文献[4] 则是利用基于频域计算指纹纹线间距进行分类;文献[5] 采用纹线跟踪方法获得方向走势,再对指纹分类;文献[6] -[8] 提出了改进的Poincare index方法求取奇异点。这些方法都存在无法解决噪声影响或计算较为复杂的问题。

为了能又快又好地完成指纹匹配工作,本文对指纹粗匹配中的分类及特征提取进行了进一步的研究。鉴于手指按压过程中的旋转、拉伸等因素造成的变形,需要根据指纹的全局特征进行旋转校正,使其中心对称轴近似处于竖直方向,这样处理的目的有两点:一是在旋正后的图片中,可以直接根据中心点方向和y轴方向的夹角对指纹进行粗分类。在此基础上,以夹角大小、螺径等作为中心点的细节特征,还可以继续细分类,进而显著地提高搜索速度;二是在指纹匹配的过程中无须大范围地旋转配准,可以方便地对两幅图像进行平移对齐,以中心点为中心对原图像进行截图,将原图像截取成为以中心点为基准的较小图像,进一步提高匹配速度,满足实时性要求。同时,考虑到采集到的指纹可能存在大量噪声或者残缺不全,不可能全部正确地分类,所以对于无法识别的图像将进行二次匹配。

2. 指纹类别

常见的指纹分类包括:斗(Whorl)、左簸箕(Left Loop)、右簸箕(Right Loop)、双旋(Twin Loop)、尖拱(Tented Arch)五类,如图1。从应用角度看,类数分得越多,当然对提高处理速度就越有利。但实际情况是指纹很难进行准确分类。类间相似性大,类内相似性小,从模式空间上看,就是类内距离大,类间距离小。很多指纹图像往往可以同时属于几个类别,连人工都很难准确判断,这给算法设计带来了一些困难。考虑到有些指纹没有中心点或者多于两个中心点,所以将指纹分为以下五类:斗、双旋、左簸箕、右簸箕、其他。

就指纹分类而言,我们只对具有奇异点的中心区域感兴趣,所以通过观察图1可以发现,方向摆正的指纹图像存在非常明显的对称性,其对称轴如图中红色实线标注,竖直对称轴如黑色虚线标注,通过比较对称轴方向与垂直方向的夹角就能帮助实现指纹分类,分类的关键就在于图像是否旋正和奇异点的个数及方向走势。算法流程如图2

3. 指纹分类方法

3.1. 图像旋转校正

在录入指纹的过程中可能存在手指放置不与采集仪平行的情况,得到的指纹图像发生旋转倾斜,以致无法正确找到图像的对称轴。图3中的(a)就是因为旋转而无法判断种类的指纹。Cao和Yang等[9] 根据指纹图像通常呈现长方形这一特点,提出了首先提取指纹图像前景区域的边界曲线,然后选择包含该边界曲线的所有矩形中面积最小者,较长边即对应手指的放置方向。但是这种方法基于一个前提,即指纹采集仪的传感器面积必须足够大,这样才能够保证呈现细长形状,所以此方法不具有普遍性。文献[10] 则描述了一种拟合前景区中位点,通过计算所得直线的斜率获得倾斜角度的方法,但应用于实际情况时,往往误差较大,且无法获得精确地倾斜角。

我们在以上方法的基础上做了一些改进,针对包含边界曲线的最小矩形并不总是正确表示指纹倾斜角度的矩形这一问题,使用OpenCV自带函数cvFitEllipse2和cvBoxPoints[11] 找到最小外接椭圆和矩形,当矩形存在一定的倾斜角度时,无需判断椭圆即可确定指纹发生了偏转;当矩形未偏转时,若椭圆是倾斜的,并且其长径远远大于短径,则说明指纹需要进行旋转校正。

Figure 1. Five kinds of classification of fingerprint

图1. 指纹的五种分类

Figure 2. The process of fingerprint classification algorithm

图2. 指纹分类算法流程

(a)原图(b)最小外接椭圆(c)区域划分(d)旋正后的图像

Figure 3. Calculation method for axial symmetric process

图3. 计算对称轴方法过程图示

图3的(c)中,我们将指纹图像的最大外接正矩形划分成1、2、3、4标注的四个区域,若发生了偏转,必然会存在某两个对称区域存在相对较多的背景点,我们可以利用这一特点验证椭圆校正方法是否判断正确。比如(2,3)中灰度值为255的像素点明显高于(1,4),则可以粗略地认为是一幅左旋图像。在实际应用中若遇到指纹图像几乎充满整个所在矩形,只有四个方向中的某一个存在很多背景点,则无论椭圆是否有偏转都不需要校正图像。

得到了指纹的偏转角度后,调用OpenCV库中的cvWarpAffine[11] 函数对整个指纹区域进行仿射变换,进而完成指纹图像的旋转校正。在此基础上利用文献[3] 的方法计算指纹的方向场,角度范围在[0~π] 之间。算法流程如图4

3.2. 提取中心点

在指纹图像中,奇异点是一种不同于细节点的宏特征,其数目和相对位置可以帮助判别指纹的类别。根据奇异点邻域内的脊线分布情况,可分为中心点和三角点,如图5

奇异点提取是指纹图像处理中的一个重要部分,它可以作为指纹分类和识别过程中的定位基准点,根据其分布特性可以对指纹图像做粗分类,故提取的准确性直接影响到指纹分类和细节匹配的准确率。

Figure 4. The flow-process diagram of rotation correction

图4. 图像旋转算法流程图

Figure 5. Singular points in fingerprint

图5. 指纹中的奇异点

其中,中心点存在于大部分的指纹图像当中,但是三角点由于指纹形状、采集面积等的限制不具有普遍性,所以我们主要提取中心点。

3.2.1. 传统的提取方法

目前,基于Poincare index的方法是指纹中心点提取方法中的主流,其主要依据指纹图像的方向旋转特性:在某点邻域内,围绕该点的闭合曲线顺时针旋转一周,计算这一周内经过的像素点的方向变化量总和,对于不同特性的点,这种旋转变化的角度和是不同的。中心点的方向变化量为−180˚,三角点的方向变化量为180˚,普通点的方向变化量为0˚[1] 。

我们求得的方向场在[0~π]上,点处的Poincare index值可按式(1)计算(假设该闭合曲线上有m个元素):

(1)

(2)

(3)

其中,是以给定点为中心的封闭曲线上第k个点的方向,mod表示求模运算。如果Poincare index值

,那么该给定点就被确定为中心点,如果Poincare index值为,那么该给定点就被确

定为三角点。

传统的Poincare index方法存在很多缺点,如计算过程中需要遍历图像中所有的像素点,这大大降低了检测效率;计算索引时只用一条封闭曲线,提取出大量的伪中心点;计算一个点周围的方向改变累积

量时,求得的index值并不是准确地等于,而是在附近的一个很小的邻域内:。这

些都导致抗噪性较差,存在大量伪特征点或者无法提取出真正的中心点等问题。

3.2.2. 本文采用的方法

我们在前人的成果基础上提出了一整套提取中心点并去噪的方法。

步骤一首先采用文献[6] 中归域化的方法,将方向场归域化为四个方

向范围,如图6,红色框中是中心点附近的方向场,四个方向范围是均匀分布的,所以为了提高算法搜索速率,可以通过指纹图像分成互不重叠大小为40 × 40的块,判断每个图像块是否符合归域化规律来粗定位中心点候选区。

步骤二考虑到中心点基本分布在前景区的中心附近,所以首先判断当前点的9 × 9区域内80个像素点是否存在分布在背景区的点,有则继续判断中心点候选区的下一个像素点。为了克服传统Poincare index方法提取不准确的缺点,采取两条长度分别为3 × 3和5 × 5的封闭曲线顺时针计算每个点的索引值。以中心点为例,只有当两次的Poincare index索引值均满足式(4),并且符合文献[7] 中的规律,该点才是粗提取的中心点。

(4)

步骤三在真正的中心点候选区附近可能会有多个中心点满足条件,这是奇异点区形成的聚类,但是

Figure 6. The grey-scale map around the core

图6. 中心点附近方向灰度图

我们只需要一个特征最明显的点,所以每得到一个粗提取的中心点,就需要计算其与已存储的所有中心点之间的欧氏距离,当距离小于16时,就将这两个点的坐标平均值存入中心点集。

3.2.3. 中心点角度

中心点附近往往呈现“∪”形或者“∩”形方向趋势特征[12] ,尽管由于图像扭曲的影响,不同指纹图像可能表现出一些差异,但总体上仍会保持这种特性。“∪”形的出口方向即可定义为中心点的方向,也就是中心点附近的对称轴方向,如图7

根据2.2.2节定位某一个中心点,为了避免噪声污染并提高扫描速度,我们以一个纹线间距7个像素步长从左向右扫描中心点两侧的3对像素点的方向场角度,若满足条件1,则继续以10个像素步长从上到下扫描10对像素点的方向场角度,若满足条件2,则根据公式(5)统计∪形开口方向的10个角度与竖直方向的平均偏差,最终利用公式(6)获得中心点角度方向,方向示意图如图8

(5)

(6)

条件1:左侧方向角与相应的右侧方向角近似呈现对称分布(由于图像扭曲,有时两侧并非呈现严格的“∪”形,允许存在的偏差),即一对一地满足与水平方向夹角近似相同。

条件2:若为“∪”形,则上方所有像素点角度呈现竖直方向发散的趋势,即中心点上方与夹角

为锐角,下方相匹配的点的角度则趋于水平,变化较为缓慢;相反,若为“∩”形,则呈现相反的趋势。

(a) 双旋           (b)斗

Figure 7. The “∪” and “∩” trend around the core

图7. 中心点附近的“∪”形及“∩”形

Figure 8. The vertical and horizontal direction of core

图8. 中心点附近竖直方向和水平方向示意图

3.2.4. 去伪中心点

由于噪声影响、方向场求解不精确等影响,中心点集中仍可能存在为数不多的伪点,本文将人的一些常识经验总结指纹的纹线变化规律以完成去噪工作:

1) 指纹前景区的边缘区域方向场变化迅速,纹线一致性较差,易存在伪中心点。我们通过判断中心点附近10 × 10水平和竖直方向的十字模板中是否存在背景点来达到去除边界伪点的效果。

2) 考虑到中心点附近归域化的特性,所以通过判断每个中心点附近60 × 60大小模板范围内的点是否符合平均分布在归域化的四个方向场范围内,可以去除1)中未去掉的边界点和噪声点。

3) 利用3.2.3中求解中心点的方向,若不满足其中的条件1和条件2,也可以认为是伪中心点并去除。若中心点集数量为2,则检查两个点的方向角度是否一致,若不满足,则去除曲率相对较小的点。

4) 实际应用中会遇到“∪”形严重倾斜的情况,但是其切线方向上的点仍然保持对称分布的规律,所以在得到了中心点角度后,我们在笛卡尔坐标系下计算中心点的二元一次切线方程,遍历这条线上近似像素点的方向是否满足角度一对一对称的条件,即可获得最终的中心点集。

去噪算法可以有效地去除Poincare index方法中由于方向场的误差导致的伪中心点,方法的流程图如图9

衡量指纹中心点检测定位的主要标准是定位的精度以及漏检率(MDR)和误检率(FDR)。将指纹采集仪采到的400张图像作为实验对象,人工标记得到535个中心点,本文算法成功检测到了523个,有11幅图像出现了遗漏现象,漏检率为2.80%。另外,有15幅图像检测出了15个伪点,误检率为3.75%。通过表1可知,与文献[6] [7] 相比,本文算法在漏检率和错误率、定位精度和算法鲁棒性方面都有了很大提高。

3.3. 指纹分类方法

本文提出了一种简单易行的粗分类方法,鉴于图像已经经过旋转校正和中心点提取等操作,可依据以下两个规则进行判断:

规则1 簸箕型纹通常只有一个中心点,且中心点方向与竖直对称轴存在一定的夹角,比如左簸箕纹型相对于竖直方向顺时针旋转,右簸箕纹型相对于竖直方向逆时针旋转。

Figure 9. Core denoising process

图9. 中心点去噪过程

Table 1. The results of core extraction

表1. 本文算法统计中心点的结果

规则2 若为斗型或者双旋型,则需要进一步的判断。图10给出了两种纹型的特点图,不难发现,中心点的方向基本保持一致,且双旋型的两个中心点水平间距X明显大于斗型中心点水平间距,可以利用这一特性粗略区分两种纹型。

规则3 若中心点多于2个或者不存在中心点,则判别为其他。

整个分类结构如图11

进一步可以继续细分类,对于斗型指纹,同一手指的指纹其螺径是在一个较小范围内变化的,计算某待测指纹螺距为dis ,则搜索斗型指纹库中螺径在范围内的模板图像;对于簸箕型指纹,其中心点方向与y轴方向存在一定的夹角θ,在已知其正负的基础上在两种簸箕纹型中比对夹角在范围内的模板图像。

4. 实验结果及分析

本实验采用电容式指纹传感器FPC1011F从15个人的不同手指上随机采集指纹,共400幅图像。为了模拟实际应用环境,指纹图像80%处于旋转状态,50%质量较好。其中,斗型:100枚;双旋型:50枚;左簸箕:100枚;右簸箕:100枚;其他:50枚。正确率:91.25%,若人为干预采集过程,则错误率可以降低为一半。分类结果如表2

实验结果证明该算法可以对指纹进行正确分类,并达到了一定的精度。在实际应用中指纹的质量并不总是能够满足分类的基本要求,所以针对因没有正确分类而无法识别的图像,本文采用二次匹配方法,即与指纹库所有图像分别配准后统计特征相似度,根据预先制定的打分方法判断最终匹配的指纹。二次匹配的方法能够较为准确地得到匹配结果,但速度相对缓慢。

(a) 双旋              (b)斗

Figure 10. The diagram of whorl and twin loop

图10. 双旋型和斗型区别图示

Figure 11. The diagram of fingerprint classification

图11. 指纹粗分类结构

Table 2. Fingerprint classification results

表2. 指纹粗分类结果

5. 结论

本文提出了一种基于旋转校正后的指纹进行分类的方法。该算法分为三个阶段:第一阶段是对对称轴不在竖直方向的指纹图像进行旋转校正,进而获得指纹的全局方向特征;第二阶段是将人的识别经验总结成相应的规则,对提取出的中心点去噪,通俗易懂,可行性高;第三阶段是基于中心点特征对指纹进行分类,并提出如何提取出更具体的细节特征,对粗分类的结果进行细分类。与几种经典算法对比,本文算法直接基于二值化图像处理,无需增强和细化,节省时间,并且提出了去噪规则,具有较好的鲁棒性。但方向场求取耗时较长,需要进一步的改进;特征匹配没有充分利用中心点特征,可以以中心点为参考点截取中心部分图像进而加速匹配过程。

参考文献 (References)

  1. [1]   刘通 (2001) 自动指纹分类算法研究. 清华大学, 北京.

  2. [2]   Karu, K. and Jain, A.K. (1996) Fingerprint classification. Pattern Recognition, 29, 389-404.

  3. [3]   杨利敏, 杨杰, 等 (2003) 基于指纹分类的模式匹配. 电子学报, 7, 1031-1033.

  4. [4]   耿国光, 殷建平, 等 (2014) 使用局部纹线距离进行指纹分类. 计算机科学与探索, 1, 74-76.

  5. [5]   杨小冬, 宁新宝, 等 (2005) 基于纹线跟踪的指纹分类方法. 计算机工程, 7, 170-173.

  6. [6]   张祖泷, 杨永明, 等 (2012) 指纹奇异点精确定位新方法. 计算机工程与应用, 32, 203-206.

  7. [7]   翁大伟, 尹义龙, 等 (2008) 基于Gaussian-Hermite矩和改进的PoincareIndex的指纹奇异点提取. 计算机研究与发展, 11, 1975-1977.

  8. [8]   梅园, 孙怀江, 等 (2008) 一种有效的指纹奇异点提取方法. 计算机工程与应用, 28, 1-3.

  9. [9]   Cao, K., Yang, X., Tao, X., Li, P., Zhang, Y. and Tian, J. (2010) Combining features for distorted fingerprint matching. Journal of Network and Computer Applications, 33, 258-267.

  10. [10]   李双梅 (2007) 指纹自动分类技术的研究与实现. 南京理工大学计算机科学与技术学院, 南京.

  11. [11]   Bradski, G. and Kaebler, A. (2009) 学习OpenCV. 清华大学出版社, 北京.

  12. [12]   陈晖 (2011) 结合方向场特征的扭曲指纹图像识别技术研究. 国防科学技术大学计算机科学与技术学院, 长沙.

期刊菜单