基于Gabor滤波器的指纹图像增强算法的研究

2016-05-14 04:04金国伦
数字技术与应用 2016年5期

金国伦

摘要:在指纹识别预处理中,指纹增强效果对于后续的匹配和识别具有很重要作用。本文主要详细的介绍了基于Gabor滤波的指纹图像增强算法,并通过研究和加以实现传统的增强算法,然后在原有的基础上改进了Gabor滤波器,最终,相对于传统的滤波器,取得了较好的增强结果,从而尽可能减少了噪声干扰以及块现象,为以后的指纹匹配打下了良好的基础。

关键词:规格化 方向角 频率场 Gabor滤波器

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2016)05-0000-00

指纹识别技术是目前国内外生物识别技术领域研究的一个热点,同时也是当前运用最为成熟、可靠和广泛的生物技术之一。由于各种不可避免的因素干扰,使得采集到的指纹图像很难得到准确提取和匹配,使得一个良好的指纹增强算法,不仅要具有快速性,还要具有良好的鲁棒性和稳定性,从而提高特征提取及特征匹配的准确率。Gabor滤波器具有方向选择特性和频率选择特性的带通滤波器,并且能够达到时域和频域的最佳结合,可以很好地兼顾时域和频域信息,因此是实现指纹增强一个很不错的方法。

目前,针对指纹图像增强的算法一般可以分为3大类:频率滤波、空间域的方向滤波和Gabor滤波。其中,在Hong[1]等人提出的利用局部纹线方向和频率,使用Gabor函数增强指纹图像的方法,以及后面出现的一些改进的Gabor滤波算法等,使得Gabor增强具有更好的鲁棒性和适应性,成为目前指纹增强的主流方法。其主要思想是在指纹图像的一个局部区域(一般是指纹中互不重叠的分块),提取指纹脊线上各点的方向和频率信息,构造适当的滤波器模板进行滤波增强处理。其主要步骤包括:(1)规格化处理;(2)方向场估算;(3)频率场估算;(4)图像分割;(5)Gabor滤波。

1 规格化处理

图像规格化主要是将原始图像的灰度值的均值和方差调到所期望的均值和方差,进而减弱图像中由于噪声所产生的灰度差异,改善图像的灰度对比度,为后续处理工作做准备。公式如下:

其中,c(i, j)表示当图像当前第i行,第j列的灰度值,N(i, j)表示规格化的对应位置的灰度值,M0, σ0分别表示灰度图像的期望均值和均方,M,σ分别表示当前灰度图像的均值和均方差。其中原始图像和规格化图像分别如图1和图2所示。

2 方向场估算

由于指纹图像的脊线走向比较平缓,对应的方向场也不会有剧烈的走向,因此脊线方向也表明着指纹的内在特性。而方向图分为点方向图和块方向图,前者是求出每个像素点的方向,方向图精确但计算量较大;后者是求出图像中每个局域中的纹线主导方向,计算量相对前者较少,抗噪性更强。本文中采用的是基于灰度梯度的方法求块方向图,其主要思路是根据纹线方向在局部区域内基本一致的特点,先把指纹图像分块,然后计算每一子块的纹线走向,最后用该方向代表对应子块内的各个像素的方向。方法如下:

(1)将规格化的指纹图像N分成W×W的无重叠的子块;

(2)利用Sobel算子分别计算每个子块中,对应的每个像素点的梯度分量值Gx,Gy;

(3)使用公式(2)计算每个分块中心像素点的纹线方向

这里θ(i, j)表示的就是以像素点(i, j)为中心的子块的局部方向,即纹线方向。得到的方向图如图3所示。

3 频率场的估算

目前主要的脊线频率计算方法是:由于指纹纹线具有很强的方向性,沿着脊线方向看,指纹脊线和谷线像素点灰度值大致形成一个二维的正弦波,定义纹线频率近似为正弦波的频率,即为相邻的两个波峰或波谷之间的像素点个数的倒数。计算频率场的方法如下:

(1)在求出某一个块中心像素的方向角θ(i, j)基础上,以当前像素的脊线方向为短轴,作一个尺寸为N×S的长方形窗口,如图4所示。

(2)用公式(3)—(5)计算当前窗口内沿方向角方向的S个像素灰度的平均值,也即幅度值。

(3)在公式中,M(k)形成一个离散的正弦波,如果M(k)中存在连续的峰值,则说明当前窗口的指纹是有效的,设hi为第一个峰值与第i个峰值的间距,脊线平均距离L,则脊线频率为:

4 图像分割

从图像场的角度看,梯度场可以用来分割指纹图像,因为指纹对象部分的梯度场值较高,

而背景部分的梯度场值较低,所以一般把求出的梯度进行高度平滑,去掉梯度图像的噪声,然后利用适当阈值就可以判断该点为前景还是背景,确定阈值步骤如下:

(1)阈值的选择跟图像质量有关。对于光学图像,因为比较平滑,所以阈值比较小,通常取30~40。如果图像不够平滑,则必须先对图像进行平滑处理,并且阈值大约取50左右。

(2)用单位区域上的梯度阈值作为灰度梯度特征,需要计算单位区域上的平均梯度作为该单位区域阈值。具体方法见文献[2]。

(3)设A为分割域值。T(i, j)为位置(i, j)的梯度。

若T(i, j)>A,则当前点在指纹图像的前景上。

若T(i, j)

5 Gabor滤波器

由于Gabor滤波器具有频率选择和方向选择的特性,因此利用Gabor滤波器的窗函数沿着指纹脊线方向加强图像,使得指纹的脊线信息得到增强,而且可以去噪把指纹信息不失真的保留下来。

Gabor滤波器函数表示为:

其中,(x, y)表示当前点像素的位置,θ表示Gabor核函数的方向角,f表示当前点对应的脊线频率,σx,σy分别表示沿着x和y轴的高斯包络线的空间常数。

在Gabor滤波器3个参数中,方向角θ和脊线频率f已经在前文计算过,可以不予考虑,但高斯包络的标准偏差σx,σy不能直接设置,取不同的值会对滤波结果产生不同的影响:值越大,去噪能力越强,同时产生伪特征的可能性也越大;值越小,则相反。基于经验和实验,σx,σy取值均为4.0时,滤波效果较为理想。

利用Gabor滤波器进行滤波的公式为:

其中G(i, j)为滤波后得到的图像,N(i, j)为规格化后的图像,W=13,是Gabor滤波器的模板大小,效果如图5。

6改进的Gabor滤波器

虽然Gabor滤波器作为一种当前十分有效的图像增强方法,但是并不是对所有的图像都具有良好的滤波效果,尤其是低质量的图像在经过Gabor增强后仍针存在脊线结构模糊的情况。同时由于滤波器固定的方形窗口,使得增强后的图像很容易产生较多的块效应。介于传统的Gabor滤波器的局限性,在这里采用祝恩提出的减少Gabor增强产生块效应的方法:就是将Gabor滤波器的形状改为圆形[3]。如下:

其中滤波器的半径为τ=3L/4,L为脊线平均距离。

另外Gabor滤波器的带宽是由参σx,σy数共同决定。传统的滤波器中该参数均是根据经验值选取的一个固定值,对于脊线形状非常不规则时,滤波器就不能对图像进行有效的增强。所以在这里引用文献[4]中通过Gabor滤波器的频率带宽参数来指导搜索最佳滤波器的方法,使高斯常数随着脊线频率的变化而变化,尽而得到最佳滤波器。在文献中可得到公式如下:

根据半峰带宽的概念可以估计出σ和脊线频率F的关系,即

式中f为脊线频率。

改进后的Gabor滤波器增强公式如下,效果如图6。

7实现结果分析

详细地介绍了指纹图像增强算法各个步骤:规格化、方向图、脊线频率、图像分割以及滤波器,对各个步骤并加以实现,并改进了Gabor滤波器。实验结果相比较表明,改进后的滤波,对低质量的图像处理效果有所提高,并减少了块效应,保留了更多的细节,使图像增强效果有所提升;但对于脊线频率的计算,仍不是太理想;另外,由于高斯常量是随着脊线频率的变化而变化,而不是固定的值,因此,在处理图像时需要花费更多的时间。

参考文献

[1] Hong L, Wan Y, Jain AK.Fingerprint image enhancement: Algorithms and performance evaluation[J].IEEE Transactions on Pattern Analysis Machine Intelligence, 1998, 20: 777-789.

[2] 夏振华,石玉,于盛林.基于Gabor滤波器的指纹图像增强[J].工程学学报,2006(5):80-85.

[3] 祝恩.低质量指纹图像的特征提取与识别技术的研究[D].长沙:国防科学技术大学,2005.

[4] 吴高洪,章毓晋,林行刚.分割双纹理图像的最佳Gabor滤波器设计方法[J].电子学报,2001,29(1):48-50.