近年来,随着人们对信息安全问题和身份欺诈行为的普遍关注,指纹识别技术在社会生活各领域得到日益普遍的应用。二值化是指纹识别系统中至关重要的一部分。结合方向信息的指纹二值化方法同时考虑了指纹方向信息和灰度信息来判断指纹脊线上的点和谷线上的点,取得了良好的效果。但这种方法严重地依赖于指纹方向图的准确性。
指纹方向图描述了指纹图像中每一点所在脊线或谷线在该点处沿切线的方向。计算指纹方向图的基本思想是:在原灰度图像中计算每一点(或每一块)在各个方向上的某个统计量(如梯度、灰度差等),根据这些统计量在各个方向上的差异确定该点(或该块)的方向。常用的计算方法有切缝法[3]和梯度法[4]等。然而,切缝法所使用的8方向9×9方向模板中,每个方向采集的像素点较少,且有4个方向不准确。此外,由于原始指纹图像存在裂痕和噪声等,直接用这两种方法计算出的方向图都含有大量的噪声,这将严重影响方向图的使用。指纹连续分布方向图[5]选用切缝法计算指纹的方向图,然后分别以每一像素点为中心选择一个矩形块,求取矩形块中方向直方图的峰值方向作为当前点方向,以此进行滤波处理。这种方法计算量大且分块单一:分块越大,对块中噪声越不敏感,得到的纹线方向越可靠,但在纹线曲率较大的区域不能求得准确的方向;分块越小,对纹线方向的拟合程度越高,但易受噪声的干扰。何晶等人提出了多层次分块滤波的思想。该方法在切缝法计算方向图的基础上,选用矩形块内方向直方图的峰值和次峰值的差为判断依据进行多层次分块滤波。这种算法将纹线方向一致区域中的噪声区和纹线方向变化剧烈区一样对待,都采用了小分块进行滤波,因而得到的方向图并不准确。
针对以上问题,本文对切缝法进行了改进,增加了每个方向的采样点数,矫正了方向模板中4个不正确的方向;然后分别对纹线方向一致的区域和纹线曲率较大的区域采用不同尺度的分块进行滤波;最后,结合方向图信息对指纹图像进行二值化处理。
1 计算指纹点方向图
切缝法计算指纹方向图时使用了一个8方向9×9方向模板,如图1所示,用0,1,2,…,7来分别表示方向i×?仔/8,其中i=0,1,2,…,7。但1、3、5、7的实际方向与其所表示的方向并不一致,且每个方向只采集了4个像素点作统计,没能充分利用沿每个方向的像素信息。
为此,本文在每个方向取8个像素点作统计,用三角关系准确地计算了1、3、5、7 四个方向上的像素点,对于没有落在整数位置上的点,采用邻域插值的方法得到,如图2所示。其中,对于落在整数位置上的点分别用数字表示,对于没有落在整数位置上的1、3、5、7方向上的点用黑点表示。接下来按照切缝法[3]步骤使用改进的方向模板计算指纹点方向图。
下面给出一幅指纹图像,将切缝法和改进切缝法计算指纹方向图进行对比,结果如图3和图4所示。为了说明改进方法的效果,本文还给出了结合方向信息的指纹图像二值化[2]结果。图3和图4中的(a)图为同一幅原始指纹图像,(b)图为指纹点方向图,(c)图为指纹二值化图像。可以看出,在图3(b)右上端有一个明显的噪声区域;而图4(b)较前者连续、平滑,在同一位置上没有出现噪声。在指纹二值化图像上,可以明显看出改进的方法优于原来的方法(见矩形框内部分)。
2 基于多尺度分块的方向图滤波
切缝法计算得到的指纹方向图由于含有大量的噪声一般不能直接使用,通常对其进行滤波处理。在进行滤波操作时,选用单一大小的滤波块,不能同时兼顾消除噪声和保证纹线方向变化剧烈区域纹线方向准确性之间的矛盾。本文提出一种多尺度分块滤波的方法对指纹方向图进行处理。
观察原始指纹图像可以发现:在指纹四周纹线方向变化缓慢,而在奇异点附近及纹线方向变化的临界区域纹线方向变化剧烈。为了同时达到滤除噪声和保证纹线变化剧烈区域纹线方向准确性的目的,本文在指纹四周采用较大的滤波块进行滤波,而在纹线方向变化剧烈的区域采用较小的滤波块进行滤波。具体计算步骤如下。
(1) 将指纹点方向图分成大小为9×9的小块,对每个小块取以它为中心、大小为17×17的大块。
(2) 统计每个大块的方向直方图,将直方图峰值所对应的方向作为大块中小块各点的方向,得到块方向图。
(3)对块方向图中纹线方向发生改变的临界块中的每一点,由点方向图重新估计纹线方向。以临界块中每一点在点方向图中的对应点为中心取9×9大小的块,计算块内纹线方向的直方图,将直方图峰值所对应的方向作为块方向图中当前点的方向。
3 指纹图像二值化
在得到了指纹的方向图之后,采用结合方向信息的二值化方法[2]对指纹进行二值化处理。具体计算步骤如下。
(1) 给定一幅指纹图像G,对其中的每一像素点(i, j),令其为p,取以p为中心、大小为17×17的矩形块,计算块内所有像素点的灰度平均值T,并调整T的大小使落在它左右两边的像素点个数大致相等。
(2) 根据纹线方向求取二值化的两个判断依据:①以p点为中心沿纹线方向像素点集合中(这里集合长度为9)灰度值大于T的像素点数目S;②上述像素点集合对p点进行平滑处理后的像素值dp。
4 实验结果分析
在MATLAB 2012a编程环境下实现了该算法的基本思想,针对中科院自动化研究所的指纹数据库对该算法进行了大量的测试,验证了本文算法的优越性。这里选择了两幅典型指纹图像作为示例,将其与连续分布方向图算法[5]和参考文献[6]算法进行对比。在3种方向图的基础上,给出了结合方向信息的指纹图像二值化结果(直接在原始指纹图像上二值化),以便对本文算法进行更直观的说明。结果如图5、图6所示。
从算法的实际处理结果可以看出,本文算法要明显优于连续分布方向图算法和参考文献[6]算法。无论在指纹四周还是在奇异点附近,本文算法计算得到的方向图都能保证良好的连续性和平滑度,纹线方向准确,噪声较少。从指纹图像二值化的结果可以更清楚地看出本文算法的优势。选用17×17块滤波的连续分布方向图算法得到的二值化图像在纹线曲率较大的区域不能得到准确的纹线,而选用9×9块滤波的连续分布方向图算法得到的二值化图像在纹线方向一致的区域(含有噪声)不能得到准确的纹线。这是因为较大尺寸的滤波块对噪声具有良好的抑制能力,但在纹线曲率较大区域对纹线方向的拟合性不好;较小尺寸的滤波块在纹线曲率较大区域对纹线方向拟合性好,但对噪声的抑制能力不佳。参考文献[6]算法得到的二值化图像在这里表现出最差的效果,这是因为其算法对噪声区和纹线曲率较大区域不加区分,并且选用的滤波块最小尺寸为4×4,对噪声抑制力不佳。本文算法在纹线方向一致区域直接用较大的滤波块而在纹线曲率较大的区域直接用较小的滤波块,因而对上述问题显示出较强的处理能力,在这两种区域中都可以得到连续、平滑的纹线。
本文分析了滤波块大小对指纹方向图的影响,对传统切缝法的方向模板进行了改进,然后提出了一种新的基于多尺寸分块的指纹方向图滤波方法,最后,结合方向图信息对指纹图像进行二值化处理。实验结果表明,本文算法具有良好的抗噪性、连续性和方向矫正能力,有效地提高了指纹方向图的准确度;结合方向信息的二值化指纹图像纹线准确、清晰,在去除裂痕和噪声方面取得良好的效果。当噪声出现在纹线曲率较大区域时,如何准确地计算指纹方向图将是下一步研究的方向。