一种改进的指纹识别算法与研究
2015-03-21杨得国吕怿萌
杨得国, 吕怿萌
(西北师范大学 计算机科学与工程学院, 兰州 730070)
一种改进的指纹识别算法与研究
杨得国*, 吕怿萌
(西北师范大学 计算机科学与工程学院, 兰州 730070)
提出了一种改进了的指纹图像增强算法和指纹图像二值化算法—分块阈值法.分块阈值法利用了固定阈值算法的思想对图像中的每一小块确定一个大致范围的阈值,然后利用区域自适应的思路对设定阈值进行适当的调整,即当阈值的取值范围合适时,指纹图像的纹线是平滑的不会有黑洞的出现.通过实验证明这种算法能够很好的去除块效应,使得处理后的指纹图像边缘更平滑.
指纹; 图像; 分割
指纹是人类手指末端指腹上凹凸不平的皮肤所形成的纹路.指纹特征总体分为两大类,一类是指纹的总体特征,另一类是指纹的局部特征.在分析匹配指纹的过程中最后都归结于这两大特征上,即先对比总体特征若相似则进行局部特征的对比,若相似度满足一定的阈值那么认为指纹匹配成功[1].指纹的识别要经过图像采集、预处理、特征提取和匹配[2].
1 一种基于Gabor滤波的指纹图像增强算法
Gabor函数是一个经过复数正弦函数调制而成的高斯函数.用高斯函数的实部对图像进行滤波,将得到的一个平滑的指纹图像,而其虚部则是一个有效的边缘检测算子,这样可以方便的对图像进行处理.
算法的过程如下:
1)把指纹图像进行方向图的求解;
2)把指纹图像分割成N×N块,然后对其中的每一块进行块内纹线的频率信息求解;
3)运用Gabor函数对指纹图像中的每一点进行函数运算.
通过这3步处理后,就可方便的实现了指纹图像的自动增强,且效果比较明显.
2 改进的指纹图像增强算法
基于Gabor滤波的算法虽然简单易行,但是,它存在块效应,块效应的存在必然会影响后续的指纹特征提取,本文运用最小二乘原理方便的解决了这一问题.首先要得到一个均衡频率f,然后利用该均衡频率对指纹图像进行增强处理[3].
具体过程如下:
1)把指纹图像分成平均且互不重叠的若干子块,即16×16块;
2)以像素点(i,j)为中心点,其中(i,j)是指纹图像子块中的像素点,再以子块中的指纹方向为轴,做一个32×16的长方形区域块;
3)因为把指纹图像分割成了16×16块,所以对于每块的中心像素点(i,j)做垂直于局部纹理方向的线,并计算其灰度离散信号X(k).其计算公式如下:
(1)
其中,u和v为长方形窗口中平行于w方向的直线上的点(d,k)转换到指纹图像坐标系下的坐标值,G(u,v)为像素点(u,v)的灰度值.通过计算正弦波波峰A的平均值A0,得到正弦波的频率f0,即为该小块的脊线频率[4].
4)求16×16小块的频率f1,f2,…,fn;
通过上述过程后计算方程:(f-f1)2+(f-f2)2+…+(f-fn)2=0中的f值,即为所要求的滤波频率.
此算法可以有效的改进Gabor算法中的块效应,增强指纹图像的效果,使得指纹图像具有更加平滑的边缘.
图1所示的是基于改进算法的指纹图像增强效果对比图,从图中可以看出,此算法有效的增强了图像的效果.
图1 算法改进前后指纹图像效果对比图Fig.1 Effect comparison of the fingerprint image with the algorithm
下面来判断指纹图像增强的效果,这里一般使用GI来计算判定的指标,如下所示是质量指标GI的定义:
(2)
其中,r代表指纹图像被平均分成的小块数量,qi代表第i个小块的图像质量(质量好为4,质量中等为2,质量差为1),pi代表第i块中匹配的节点数目,ai代表第i块中丢失的节点数目,bi代表第i块中伪节点数目,ti代表第i块的真实节点数目.GI代表增强效果,值越大表示增强效果越好,最大值为1.表1给出了20幅指纹图像的样本,从表中的数值可以看出本文改进的算法方便可行,所得图像质量比较好.
表1 20幅指纹图像的改进前后的GI值
3 指纹图像二值化算法
指纹图像的二值化指的是将其转变成只具有黑白两种色调的图像,其过程是将图像中颜色较浅的部分转化成白色,相对较深的部分转化成黑色,即只有白色和黑色,这样的转化主要是方便后续的指纹处理与匹配[5].在后文中将介绍一种改进了的指纹图像二值法,这种方法有效的结合了固定阈值法和区域自适应阈值法的优点,避免了二者的弊端.
公式(3)是一般的灰度二值化函数,其中x为灰度值,T为指定的阈值,
(3)
3.1 固定阈值二值化
在指纹图像中颜色深的部分是脊线,颜色浅的部分是谷线,一副指纹图像中往往都是由脊线和谷线相互间隔构成的,在把图像进行二值化处理后,把颜色深的部分也就是脊线部分当做前景区域,二值化后使其变成1,作为黑像素,同时把颜色浅的部分也就是谷线部分当做背景,二值化后使其变成0,作为白像素.由于脊线比谷线的灰度值要小,也就是说在图像扫描的过程中脊线部分要比谷线部分的颜色深,而研究的正是脊线上的特征点纹路细节.在采集指纹图像之后,对指纹图像进行了二值化处理,经过二值化处理后的指纹图像只有黑白俩种像素点,且这俩种像素点的比例为1∶1,下面所介绍的固定阈值算法便是利用指纹图像黑白像素比例相等的这一特点,在该算法中,将得到一个合适的灰度值T,使黑白像素在整个指纹图中所占的比例接近相等.
固定阈值算法的步骤如下:
假设图像中的某个实验物体的宽度为D,当T=T0时,使待测物体的宽度接近于D,即可选定此时的T0为分割阈值.
设图像大小为m×n,其灰度值为L1≤L2≤…≤Ln,用离散随机变量Xij(0≤i≤m-1,0≤j≤n-1)来表示图像中任一像素的灰度.
设各灰度级的概率分别为:P1=P(L1) ,P2=P(L2),…,PK=P(LK),…,PN=P(Ln).
详细过程如下:
1)求指纹灰度图像的总像素个数,设一副大小为m×n的灰度图像,m×n为总像素的个数;
3)先假设好阈值设为T,如果像素灰度值大于或者等于T,就将此值设为255,若灰度值小于T,就将此像素的灰度值设为0.
3.2 区域自适应阈值法
区域自适应阈值法是把指纹图像先进行分块,对每块的灰度值计算其阈值,然后在分别对每块进行固定阈值二值化处理.区域自适应阈值法与固定阈值二值化算法的思想比较相类似,主要是根据块内的黑白像素点的数目大致相等的特征,计算其平均值,求得的平均值最后作为阈值T在进行块内像素的二值化处理.
具体方法如(4)、(5)两式所示:
(4)
(5)
对比于固定阈值二值化算法,区域自适应阈值法有着较为明显的优势,因为此方法对指纹图像进行了分块,然后进行二值化处理.然而,此方法的二值化处理之后也有其不足,那就是图像中指纹线条不够平滑,图像会出现毛刺的问题,毛刺在块与块的边缘二值化后更加的严重,需要在后续过程中进行毛刺处理.
3.3 改进的分块阈值算法
以上所述两种算法各有其优势与不足,因而本文将采用两种算法结合的思路进行指纹图像的二值化,这样能够有效地进行二值化处理并得到清晰的图像.这种改进的指纹图像二值化算法即分块阈值法.
首先把指纹图像分为若干个w×w方块,然后每一块根据自己的阈值进行二值化处理.经过处理后,指纹图像的纹线是平滑的不会有黑洞的出现.
分块阈值算法的过程如下:
1)在得到指纹图像后,现将指纹图像进行划分,如同前面所介绍的区域自适应阈值算法,把图像划分为w×w块,且这w×w相互不能重叠[6],对区域内所有的指纹像素点求取灰度平均值.在本文的实验中将图像分割成8×8块,因为这样在算法的速度和效率上比较适用.下式是分块阈值算法所用到的公式,其中,T是块的灰度平均值,
(6)
2)计算块内的Nh和Ni的值,其中,Nh为灰度值大于或等于T的像素的个数,Ni为灰度值小于T的像素的个数;
3)如果|Nh-Ni|≤a(a=w×w×0.1),则T为阈值;
4)如果Nh﹥Ni,则T=T+1,否则T=T-1,均返回2).
算法的流程图如图2所示:
图2 分块阈值二值化算法的流程图Fig.2 Flow chart of two valued algorithm of block threshold
利上述的三种算法的指纹图像二值化方法处理指纹图像的效果对比如图3所示.
图3 指纹图像二值化处理效果对比图Fig.3 Two value of fingerprint image processing effect comparison chart
5 总结
本文在原有算法的基础上提出了一种新的思路,对算法进行了合理的改进,使得改进后的算法比以往的算法有着明显的优势,使得指纹识别的效率有着很大程度的提高.
[1] 秦 枫. 基于MATLAB的指纹识别系统的设计与实现[D].成都:电子科技大学, 2011:11-15.
[2] 张明治. 基于微特征的指纹识别算法研究[D].福建:厦门大学, 2009:10-12.
[3] 刘灵丽, 李丽娟. 指纹图像预处理和特征提取[J].计算机工程, 2006, 32(16):190-192.
[4] 毛克明, 王国仁, 于长永, 等. 一种改进的基于Gabor小波的指纹增强算法[J].东北大学学报:自然科学版, 2009, 30(1):46-49.
[5] 田 鹏. 指纹识别技术的研究[J].科学技术与工程, 2007, 18(7):476-547 .
[6] 何东宇, 蔡远利. 基于方向图的指纹预处理方法研究[J].计算机工程与应用, 2004, 1(4):77-80 .
Research on an improved algorithm for fingerprint identification and research
YANG Deguo, LV Yimeng
(College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070)
An improved fingerprint image enhancement algorithm and fingerprint image two value based algorithm, block threshold method, is proposed. Block threshold method uses the fixed threshold algorithm of image in every bit of identified a broad range of threshold, and then adjusts threshold using the idea of region adaption, namely that in the suitable range of threshold, the fingerprint image ridge is smooth and not black hole. Experiments show that the algorithm can remove the block effect, which makes the processing of the fingerprint image edge more smooth.
fingerprint; image; division
2015-02-12.
国家自然科学基金项目(61165002).
1000-1190(2015)05-0668-04
TP391.41
A
*E-mail:yangdeguo@nwnu.edu.cn.