一种快速有效的指纹识别算法*
2016-07-02陈振伟赵亚琴蒋林权张益翔南京林业大学机械电子工程学院江苏南京210037
陈振伟,赵亚琴,蒋林权,张益翔(南京林业大学机械电子工程学院,江苏南京,210037)
一种快速有效的指纹识别算法*
陈振伟,赵亚琴,蒋林权,张益翔
(南京林业大学机械电子工程学院,江苏南京,210037)
指纹图像是由交错排列的脊线和谷线组成,包含了丰富的纹理信息。为了获得更为有效的纹理信息,首先将图像分解为3个级别的区域块,来校正小尺寸块的方向角,以确定指纹的中心点位置,进而提高算法的运算速度;然后利用小波变换将指纹图像由空间域转换到频率域,在频率域进行多尺度分析,提取指纹图像在不同频率和方向上的局部纹理信息,提高指纹识别的准确率。该算法在以ARM11为处理器的嵌入式系统中实现。实验结果表明,该算法能够快速有效地识别指纹图像。
指纹识别;小波变换;中心点;纹理信息
O 引言
指纹是生活中应用最多的生物特征,再加上它的唯一性以及不变性等这些独特的优点,并且指纹的采集获取方便,抗干扰性很强,使得指纹识别技术在嵌入式领域得到了广泛的应用。MAIO D与MALTIONID[1]提出了由脊线从灰度指纹图像提取指纹特征点的算法,去掉二值化和细化的过程;之后又由杨小冬[2]等人提出直接从灰度指纹图像中提取特征点信息,略过了二值化和细化的过程从而提高了运算速度;而KAWAGOE M和TOJO A提出的Poincare Index算法[3]是基于指纹的细节特征或者纹理特征提出的算法。
虽然研究者们在指纹识别算法方面做了大量的研究工作,然而上述几类算法对于某些不是很清晰的指纹,最终的测试结果都不是很理想,并且大多适用在PC上或者某些高端机上,不适合运用在嵌入式领域,因此,本文从提高算法运算速度的角度出发,提出一种快速有效的指纹识别算法,并将其应用在ARM11开发的嵌入式系统中。
1 指纹中心点区域提取
1.1 指纹图像增强和边缘处理
由于指纹原始图像的全数据计算量过大,不能移植在嵌入式系统中,而且指纹图像的边缘附近不够清晰,因此,本文对指纹原始图像提取中心点区域,不仅可以提高运算速度,而且可以达到更高的匹配精确度。常用的指纹图像中心点提取算法多数出于KAWAGOE M和TOJO A提出的Poincare Index算法,该算法以围绕一个点顺时针旋转一个闭环方向上的变化总和作为基准,当总和为180°为中心点,-180°为三角点,0°为一般点时提取指纹图像中心点的[4]。而本文设计是采用高斯低通滤波器对指纹图像增强,最后裁剪指纹图像中心点区域。中心点区域提取流程如图1所示。
指纹图像矩阵用A(i,j)表示,首先用高斯低通滤波器对指纹图像增强,二维高斯低通滤波(GLPF)的形式[4]:
其中,D(u,v)是距离傅里叶变换的距离,σ表示高斯曲线扩展的程度。本文利用高斯低通模板h(x,y)(低通滤波器的脉冲响应函数)对指纹图像进行去噪处理后得到指纹图像矩阵A′(i,j)。然后再利用Roberts算子模板对A′(i,j)处理,处理后得到方向矩阵A"(i,j)。Roberts算子模板[5]如下所示:
图1 中心点区域提取流程图
1.2 中心块的搜索步骤
(1)将方向矩阵A"(i,j)进行三级分割,划分为32× 32、16×16和8×8的三个尺寸级别的非重叠方向块;
(2)对每一级别的所有方向块,计算每一块的方向角θk;
(3)如果小尺寸块(如8×8)的方向角与它所在的上一级别块(如16×16)的方向角度的差大于阈值θh,则用大尺寸块的方向角代替小尺寸块方向角;
(5)将标记次数最多的位置设定为指纹图像的中心位置。
根据上面5个步骤得到的区域块所在方向就是中心点的方向图。然后用绿色圆圈标记出中心点位置,图2 为MBF200采集到的几幅大小为256×300像素的指纹图像运用这套算法的效果图,可以看到效果还是比较好的。
图2 定位指纹图像中心点
然后再对找到中心点的指纹图像进行裁剪,以中心点为中心裁剪100×100指纹图像块,作为指纹图像的有效区域进行指纹的特征值提取,指纹图像中心点预测位置部分矩阵数据如表1所示,指纹裁剪效果图如图3所示。
图3 最终裁剪的有效区域
2 指纹图像纹理特征提取
2.1 指纹图像的小波多尺度分解
现对一幅用MBF200采集到的大小为256×300像素的指纹图像进行小波3层分解。如图4所示,前者是采集到指纹图像的原始图像,后者是经过小波分解后的图像,后者左上角图像是原始图像最低频图像,与原始图像最为相似。从图4中可以看出,图像经3级分解后低频子图的能量要比同级其余的3个高频子图以及上一级三高频子图的能量大很多,可以看出原始图像的能量最终集中在左上角的图像中,而高频子图能量的细节系数幅度值比较小。进而提取出指纹图像的指纹特征向量。
表1 指纹图像中心点预测位置部分矩阵数据表
图4 指纹原始图像和小波分解图像
2.2 指纹图像局部纹理信息提取
图5 两幅指纹
经过计算的特征向量如表2所示。
3 指纹图像的特征值匹配
本文使用欧式距离计算空间之间的距离,设D1(x1,x2,…,x9)与D2(x1,x2,…,x9)分别表示两个指纹特征向量,则它们之间的相似度度量公式如下:
表2 A和B的指纹图像特征向量比较
设置一个合适的阈值Th,当Sim(D1,D2)≤Th时,则指纹图像匹配成功。
4 算法性能测试
本文采用FVC2004[7](国际标准测试库)进行测试,其中由110只不同的手指,每个手指采集8个样本,共包含了880幅指纹图像256个灰度级,并以TIF格式保存在指纹数据库中,从测试库中取出300个样本对算法性能进行验证。指纹匹配性能测试是通过FRR(Fa1se Rejection Rate)和FAR(Fa1se AccePtance Rate)对指纹识别算法性能进行评估。公式[7]如下:
式(4)中,NGRA是类内测试的总数,NIRA是类间测试的总数。NFR和NFA是错误拒绝次数和错误接受次数。利用不同的阈值,可以得到多组FRR和FAR数据,FRR和FAR的关系图如图6所示。当两个曲线相交时对应的横坐标或纵坐标就是EER(Equa1Error Rate),这时对应的阈值就是最优的阈值Th2。图7为匹配次数对应的时间图。
图6 FRR、FAR和EER(Equa1Error Rate)的关系图
5 结论
本文从应用于嵌入式系统的角度出发,提出了一种快速有效的指纹识别方法。首先提出了一种基于多级块划分的指纹图像中心位置确定方法,准确地确定了指纹图像的中心位置,截取指纹中心区域,提高算法的运算速度;其次对中心区域运用小波分解提取指纹特征向量,提高了算法的识别性能。
图7 匹配次数对应的时间图
[1]MAIO D,MALTIONI D.Direct gray-sca1e minutiae detection in fingerPirt[J].IEEE Transanction on Pattern Ana1ysis and Matching Inte11igence,1997,19(1):27-39.
[2]杨小冬,宁新宝,谭台哲.基于纹线跟踪的指纹细节提取算法[J].计算机应用,2004,24(3):1-2.
[3]梁连伟,赵红东,何平,等.指纹图像中心点提取算法[J].河北工业大学学报,2007,36(1):1-2.
[4]梁连伟.指纹图像增强与中心点的提取[D].天津:河北工业大学,2006.
[5]ROBERTS L D.Machine PercePtion of three-dimension so1ids in oPtica1 and e1ectr-oPtima1 information Processing[C].Cambridge,Massachusetts:Massachusette Institure of Techno1ogy Press,1966:157-197.
[6]刘伟,杨圣.基于haar小波的快速指纹识别算法[J].中国图象图形学报,2007,12(4):1-3.
[7]FVC2004:FingerPrint Verification ComPetition 2004[EB/ OL].(2004-07-10).[2016-03-05].httP://bias.csr.unibo.it/fvc2004 /.
陈振伟(1988 -),通信作者,男,硕士研究生,主要研究方向:智能控制。E-mai1:czwei2013@163.com。
赵亚琴(1973 -),女,博士,副教授,硕士研究生导师,主要研究方向:图像处理,智能控制。
蒋林权(1994 -),男,硕士研究生,主要研究方向:智能控制。
A fast and efficient fingerPrint recognition a1gorithm
Chen Zhenwei,Zhao Yaqin,Jiang Linquan,Zhang Yixiang
(Co11ege of Mechanica1&E1ectronic Engineering,Nanjing Forestry University,Nanjing 210037,China)
The fingerPrint image is comPosed of staggered ridges and va11eys,uhich contains rich texture information.In order to obtain more effective texture information,first1y,the image was decomPosed into 3 1eve1s of b1ock to correct the direction ang1e of the sma11 size b1ock.Thus the center Point Position of the fingerPrint was determined and the oPeration sPeed of the a1gorithm was imProved.Then the fingerPrint image was converted from the sPatia1 domain to the frequency domain by wave1et transform.Themu1ti-sca1e ana1ysis was used to extract 1oca1 texture information of the fingerPrint image in different frequencies and directions.So the accuracy rate of fingerPrint identification was imProved.The a1gorithm is imP1emented in the embedded system of ARM 11.The exPerimenta1 resu1ts show that the ProPosed a1gorithm cou1d quick1y and effective1y identify the fingerPrint image.
fingerPrint identification;wave1et transform;center Point;textures information
TP242.6
A
10.19358 /j.issn.1674-7720.2016.09.016
陈振伟,赵亚琴,蒋林权,等.一种快速有效的指纹识别算法[J].微型机与应用,2016,35(9):52-54.
国家自然科学基金项目(31200496)
2016-03-05)