指纹图像预处理算法的研究与实现
2013-09-04沈朝平张亚君
沈朝平,张亚君,陈 龙
(杭州电子科技大学电子信息学院,浙江杭州310018)
0 引言
指纹识别是一种利用人体固有的生物特征进行身份识别的技术。近年来,国内外不少研究指纹识别的学者已取得了不少成果。国外,研究成果有:利用方向傅里叶滤波器、Gabor滤波器等对指纹图像进行滤波增强算法[1、2];基于方向滤波并采用阈值的二值化算法;基于纹理结构、能量自适应混合、人工神经网络、遗传算法等匹配算法[3、4]。国内,研究成果有:利用Log-Gabor滤波器、圆形Gabor滤波器等对指纹图像进行滤波增强算法[5];结合方向信息的指纹图像的二值化算法[6];基于相似度直方图的指纹混合匹配算法。指纹识别技术主要包括指纹预处理、特征提取和匹配。在实际应用中,因众多因素的干扰,使得采集到的图像质量较差。因此,指纹图像预处理的效果直接关系到指纹识别系统性能的好坏。本文结合了指纹图像的特点,采用MFC编程技术开发了一套实用性很强的指纹图像预处理方法。
1 指纹图像预处理算法
1.1 指纹图像的分割
指纹图像分为前景和背景两部分,从指纹图像中分离出指纹对象的目的就是针对性地进行处理,从而节约处理时间。分割的方法是,将整幅图像分块,求取每个分块图像内各点的最大、最小灰度值、灰度的中值以及各块的灰度值方差。选定一个分割阈值T,若该块的灰度值方差大于T则设置该块为前景,否则设置该块为背景。
1.2 指纹图像的均衡
失衡的图像在某一段灰度范围内对比度差,不利于分辨。对图像进行均衡处理,加大图像的反差,增强图像的对比度,有利于分辨。
对于均衡算法,灰度拉伸和直方图修正两种模型比较常用,本文采用灰度直方图修正的模型算法。其统计了图像的灰度分布,根据灰度分布统计某灰度级,计算该灰度级上的象素数量,再除以面积,重新转换该灰度级获得新的灰度分布统计。
1.3 指纹图像的收敛
反映失真的指纹图像,某点的象素都呈现一定范围的正态随机分布,那么这些象素可用正态分布收敛方法得到一定程度的收敛。无论随机变量的分布如何,若干个独立随机变量抽样值之和总是满足高斯分布的,因此可用采用高斯函数对指纹图像进行正态收敛。
指纹图像收敛算法描述如下。
(1)二维高斯函数描述的指纹图像x和y轴上发散点的收敛函数为:
(2)高斯模板算子
设m是高斯模板的矩阵维度,矩阵维度的计算公式为:m=2×2δ2+1。Gm高斯模板算子的计算公式为:
1.4 指纹图像的平滑
在指纹图像采集过程中,传感器表面污渍等采集进来形成污染点。为了去除指纹图像上的噪声点,必须参考周围象素,用指纹对象周围相关象素平均模板对它进行平滑处理。
指纹图像平滑算法描述如下。
(2)卷积运算定义为:
(3)平滑模板算子是表示卷积过程中权重的矩阵,常用的模板如平滑模板、变异检测模板等都是对称的,因而这种邻域运算就是卷积运算,其对应于指纹图像就是平滑。
1.5 指纹图像的增强
在指纹图像采集过程中,可能会受到噪声干扰等多种因素的影响,因此需要进行指纹增强,从而可以保证信息提取的准确度和可靠性。二维Gabor滤波器函数表示为:
式中,x'=xsinθ+ycosθ,y'=xcosθ-ysinθ,θ代表滤波器的方向因子,f为指纹纹线在θ角度上频率度的参数,即为(λ为平均脊线宽度),δx'和δy'分别表示高斯函数在x'和y'轴上的标准差,通常两者均取值为4。
对图像的滤波采用如下公式:
式中,R=16,为Gabor滤波器模板的大小。
Gabor滤波器是二维卷积运算,当滤波窗口比较大时,运算的时间是较长的。所以本文对滤波算法进行了改进,改进后的公式如下:
当Gauss窗口为M×M时,如果采用式5对每个象素做运算时,运算量为M×M次乘法和M×M-1次加法,而使用式6运算时,运算量为4M次乘法和4M-2次加法。由此可以看出对于较大的窗口式6能够有效地减小运算量,从而提高了效率。
1.6 指纹图像的二值化
二值化的目的是把灰度指纹图像变成0和1取值的二值图像。对一幅图像进行二值化,首先必须选取阈值,把高于阈值的象素点判为1,低于阈值的象素点判为0。对于指纹图像的象素点,如果一个象素点切向灰度和小于法向灰度和,则可以判定该点在脊线上,反之则该点在谷线上。为了提高精度,在求灰度和时,对每个点都设置权值,采用加权平均的方法。
1.7 指纹图像的细化
细化是将二值化后的图像中去掉一些象素点,但保持指纹图像中纹线的中轴线不变。那么怎样判断一个点是否去掉呢?根据它的8个相邻点的情况来判断,几个例子如图1所示:
图1 根据某点的8个相邻点的情况来判断该点是否删除
2 实验结果
本文以VC++6.0为平台实现的指纹图像预处理算法,实验结果如图2、3所示。本文结合指纹纹理特点和图像处理技术实现了一套指纹预处理方法,并改进了部分算法。从图2、3可以看出,该算法对指纹图像的处理取得了良好的效果,并且具有很强的实用性。
图2 分割、均衡和收敛算法的测试结果
图3 平滑、增强、二值化和细化算法测试结果
3 结束语
为了验证预处理算法的有效性,本文对预处理后的指纹图像设计了特征点提取和基于中心点、端点以及三角点特征匹配算法。最后采用自制的MBF200指纹图像传感器模块采集了30个人的指纹样本进行实验。其中1人的指纹特征点与匹配结果如图4所示,图4可以看出该算法可以精确的匹配,从而验证了算法的有效性。另外通过软件定时器等实验测试,实验结果表明实现的预处理的算法具有速度快等特点。综上所述,本文开发的指纹图像预处理算法具有实用性强、速度快、处理效果好等一系列优点。
图4 特征点标记与匹配测试结果
[1]Sherlock B G,Munro D M,Millard K.Fingerprint enhancement by directional Fourier filter[J].IEEE Proceeding of Vision Image and Signal Processing,1994,141(2):87 -94.
[2]Hong L,Wan Y,Jain A K.Fingerprint image enhancement:Algorithms and performance evaluation[J].IEEE Transactions on Pattern Analysis Machine Intelligence,1998,(20):777 -789.
[3]Jain A K,Lin Hong,Bolle R.On-line fingerprint verification[J].IEEE Transactions on Pattern Analysis Machine Intelligence,1997,19(4):302 -314.
[4]Jain A K,Prabhakar S,Hong L,etal.Filterbank-based fingerprint matching[J].IEEE Transaction on Image Processing,2000,9(5):846 -859.
[5]Wang W,Li J,Huang F.Design and implementation of Log-Gabor filter in fingerprint image enhancement[J].Pattern Recognition Letters,2008,29(3):301 -308.
[6]楚亚蕴,詹小四,孙兆才,等.一种结合方向信息的指纹图像二值化算法[J].中国图像图形学报,2006,11(6):855-859.