什么是指纹算法,一种快速有效的指纹识别算法介绍?

营销圈公众号引导关注

指纹图像是由交错排列的脊线和谷线组成,包含了丰富的纹理信息。为了获得更为有效的纹理信息,首先将图像分解为3个级别的区域块,来校正小尺寸块的方向角,以确定指纹的中心点位置,进而提高算法的运算速度;然后利用小波变换将指纹图像由空间域转换到频率域,在频率域进行多尺度分析,提取指纹图像在不同频率和方向上的局部纹理信息,提高指纹识别的准确率。该算法在以ARM11为处理器的嵌入式系统中实现。实验结果表明,该算法能够快速有效地识别指纹图像。

0引言

指纹是生活中应用最多的生物特征,再加上它的唯一性以及不变性等这些独特的优点,并且指纹的采集获取方便,抗干扰性很强,使得指纹识别技术在嵌入式领域得到了广泛的应用。MAIO D与MALTIONI D[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]:

H(u,v)=e-D2(u,v)/2σ2(1)

其中,D(u,v) 是距离傅里叶变换的距离,σ表示高斯曲线扩展的程度。本文利用高斯低通模板h(x,y)(低通滤波器的脉冲响应函数) 对指纹图像进行去噪处理后得到指纹图像矩阵A′(i,j)。然后再利用Roberts算子模板对A′(i,j)处理,处理后得到方向矩阵A″(i,j)。Roberts算子模板[5]如下所示:

1.2中心块的搜索步骤

(1)将方向矩阵A″(i,j)进行三级分割,划分为32×32、16×16和8×8的三个尺寸级别的非重叠方向块;

(2)对每一级别的所有方向块,计算每一块的方向角θk;

(3)如果小尺寸块(如8×8)的方向角与它所在的上一级别块(如16×16)的方向角度的差大于阈值θh,则用大尺寸块的方向角代替小尺寸块方向角;

(4)从每个8×8的方向块开始,搜索θk<π2的方向块,直到θk≥π2停止,标记停止位置(i,j) [6];

(5)将标记次数最多的位置设定为指纹图像的中心位置。

根据上面5个步骤得到的区域块所在方向就是中心点的方向图。然后用绿色圆圈标记出中心点位置,图2为MBF200采集到的几幅大小为256×300像素的指纹图像运用这套算法的效果图,可以看到效果还是比较好的。

什么是指纹算法,一种快速有效的指纹识别算法介绍?

然后再对找到中心点的指纹图像进行裁剪,以中心点为中心裁剪100×100指纹图像块,作为指纹图像的有效区域进行指纹的特征值提取图3最终裁剪的有效区域 ,指纹图像中心点预测位置部分矩阵数据如表1所示,指纹裁剪效果图如图3所示。

什么是指纹算法,一种快速有效的指纹识别算法介绍?

2指纹图像纹理特征提取

2.1指纹图像的小波多尺度分解

现对一幅用MBF200采集到的大小为256×300像素的指纹图像进行小波3层分解。如图4所示,前者是采集到指纹图像的原始图像,后者是经过小波分解后的图像,后者左上角图像是原始图像最低频图像,与原始图像最为相似。从图4中可以看出,图像经3级分解后低频子图的能量要比同级其余的3个高频子图以及上一级三高频子图的能量大很多,可以看出原始图像的能量最终集中在左上角的图像中,而高频子图能量的细节系数幅度值比较小。进而提取出指纹图像的指纹特征向量。

什么是指纹算法,一种快速有效的指纹识别算法介绍?
什么是指纹算法,一种快速有效的指纹识别算法介绍?

2.2指纹图像局部纹理信息提取

三层小波分解共得到9幅高频子图,设高频子图的系数为Dln,其中n=1,2,3分别表示水平、垂直和对角方向的高频系数,l=1,2,3表示分解的层数。对每一幅高频子图的系数进行归一化处理,因此,每个子图包含1个特征值,9幅子图得到一个9维的特征向量。现在对MBF200采集到的两幅指纹图提取的特征向量进行比图5两幅指纹对(如图5所示),以证明用特征向量作为指纹匹配的正确性和高效性。

什么是指纹算法,一种快速有效的指纹识别算法介绍?

经过计算的特征向量如表2所示。

什么是指纹算法,一种快速有效的指纹识别算法介绍?

3指纹图像的特征值匹配

本文使用欧式距离计算空间之间的距离,设D1(x1,x2,…,x9)与D2(x1,x2,…,x9)分别表示两个指纹特征向量,则它们之间的相似度度量公式如下:

设置一个合适的阈值Th,当Sim(D1,D2)≤Th时,则指纹图像匹配成功。

4算法性能测试

本文采用FVC2004[7](国际标准测试库)进行测试,其中由110只不同的手指,每个手指采集8个样本,共包含了880幅指纹图像256个灰度级,并以TIF格式保存在指纹数据库中,从测试库中取出300个样本对算法性能进行验证。指纹匹配性能测试是通过FRR(False Rejection Rate)和FAR(False Acceptance Rate)对指纹识别算法性能进行评估。公式[7]如下:

式(4)中,NGRA是类内测试的总数,NIRA是类间测试的总数。NFR和NFA是错误拒绝次数和错误接受次数。利用不同的阈值,可以得到多组FRR和FAR数据,FRR和FAR的关系图如图6所示。当两个曲线相交时对应的横坐标或纵坐标就是EER(Equal Error Rate),这时对应的阈值就是最优的阈值Th2。图7为匹配次数对应的时间图。

什么是指纹算法,一种快速有效的指纹识别算法介绍?

5结论

本文从应用于嵌入式系统的角度出发,提出了一种快速有效的指纹识别方法。首先提出了一种基于多级块划分的指纹图像中心位置确定方法,准确地确定了指纹图像的中心位置,截取指纹中心区域,提高算法的运算速度;其图7匹配次数对应的时间图次对中心区域运用小波分解提取指纹特征向量,提高了算法的识别性能。

什么是指纹算法,一种快速有效的指纹识别算法介绍?

参考文献

[1] MAIO D, MALTIONI D. Direct grayscale minutiae detection in fingerpirt[J].IEEE Transanction on Pattern Analysis and Matching Intelligence,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 solids in optical and electroptimal information processing [C].Cambridge,Massachusetts:Massachusette Institure of Technology 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/.

好了,这篇文章的内容营销圈就和大家分享到这里,如果大家对网络推广引流和网络创业项目感兴趣,可以添加微信:Sum8338 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战的推广引流技术和网络创业项目课程分享,当然是免费学!

版权声明:本站部分文章来源互联网用户自发投稿,主要目的在于分享信息,版权归原作者所有,不承担相关法律责任。如有侵权请联系我们反馈邮箱yingxiaoo@foxmail.com,我们将在7个工作日内进行处理,如若转载,请注明本文地址:https://www.yingxiaoo.com/172039.html