基于查表结构的指纹增强电路设计

2013-08-13 08:13张连举庄圣贤廖鹏飞
电子技术应用 2013年1期
关键词:脊线指纹图像素点

张连举 ,庄圣贤 ,廖鹏飞

(1.西南交通大学 信息与科学技术学院,四川 成都 610031;2.电子科技大学 微电子与固体电子学院,四川 成都 610031)

指纹识别技术是当今最流行、最方便、最可靠的个人身份认证技术之一。指纹增强是指纹预处理过程中的核心算法,其目的有:消除图像中的噪声,增加指纹图像中的脊线与谷线的对比度,对指纹断点进行修复,对可修复模糊区域进行恢复,提高后续指纹特征点的提取以及指纹比对的正确率。因此,一个高效的指纹增强算法对指纹识别系统起着至关重要的作用。

目前,常用的指纹增强算法有:Lin Hong等人提出利用块方向的Gabor滤波器[1]增强指纹图像,该算法不仅要计算指纹图像的方向图,还要计算脊线的频率方向,故算法复杂、费时,且准确地计算脊线方向也是一个难点;O’Gorman提出方向滤波器[2],通过计算出指纹图像的方向图,依据方向值选择相应的滤波模板对像素点增强,其算法相对简单,处理速度快,增强效果显著。本文在后者的基础上加以改进,构造一种查表结构的硬件电路,节约了硬件资源,且比传统的处理算法[3-5]至少快10倍。

1 电路结构与设计

1.1 点方向计算电路设计

基于方向图滤波的指纹增强要先算出指纹图像的方向图,最常用的有基于Sobel梯度算子[6]的算法和基于点方向模板的算法。其中,梯度算法含加、减、乘、除、反正切运算,算法相对复杂,同时电路在实现除法、反正切运算时比较费时且消耗大量硬件资源。

图1所示为求像素点的方向模板。将中心像素点(以*表示)周边划分为 8个方向,其中:0~7分别代表0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°方向,则具体的点方向计算步骤为:

(1)求出方向模板中的每个方向上的4个像素点灰度值的平均值M。

(2)将8个方向按照两两垂直的方向分成4组(0&4、1&5、2&6、3&7),并计算每组均值 DMi,即:

取DMi中值最大一组中的两个方向 j或j+4,j为当前点方向,j∈i。

(3)按照式(3)求出当前像素点*的脊线方向:

其中,M*代表像素点*的灰度值,D*代表该点的方向符号。

(4)按照步骤(1)~(3)将方向模板从左到右、从上到下遍布整个指纹图像。

(5)将边界行列像素点方向全部置为方向0。

考虑到指纹图像纹理结构的特点:脊线(或谷线)点沿着脊线(或谷线)方向灰度值相近,而沿着非脊线(或非谷线)方向上灰度值相差较大,因而像素点在脊线(或谷线)方向的方差最小。因此,本文采用基于方向模板的最小方差法来计算点方向。其硬件电路框图如图2所示,其中各部件的功能如表1所述。

表1 计算点方向硬件电路功能描述

1.2 块方向计算、滤波与增强电路设计

将求得的指纹点方向图按8×8分割,计算块方向规则为:统计8×8块中各方向的直方图,块方向为直方图的峰值方向;计算完成后进行块方向滤波,滤波方案为基于3×3滤波模板的直方图统计,更新块方向为直方图的峰值方向。

方向滤波器[7]的构造原则为:

(1)滤波器模板尺寸要合适,模板过小则难以达到去噪、清晰纹理效果,过大则可能会破坏曲率较大的纹线结构。本文采用7×7大小的模板;

(2)模板边长为奇数,模板相对中心点对称;

(3)为提高脊线与谷线之间灰度反差、达到边缘锐化效果,在垂直于纹线方向,中央部分系数为正,两边系数为负数;

(4)滤波结果与原图的平均灰度无关,模板系数代数和为 0。

按照上述原则设计的水平模板如图3所示,其他方向模板系数求解的具体实现方法可以参考文献[7]。方向滤波增强算法的实现过程为:首先计算像素点(或像素块)的方向,然后再进行像素块与模板系数卷积运算,以完成点像素的增强。由参考文献[7]可知,其他方向模板系数的求解公式有正弦、余弦参数,其算法复杂,且在线计算一次模板系数就要计算294个系数,不仅费时,而且占用大量资源。因此,本文提出一种基于查表结构的算法,将8个方向的模板系数全部在线下计算得出并存储在电路内部,以供方向查表调用;并将增强后的像素点直接二值化处理,以简化指纹预处理步骤,减少计算时间,节约硬件资源。

图4所示为硬件电路框图。其中,RAM4为块方向存储器,块方向统计完成8×8直方图统计,选择器确定写块方向模式,写地址计算块方向写地址,读地址计算块方向读地址,多路器选择增强、滤波模式,滤波运算实现3×3直方图统计,ROM1为模板系数查找表,MULT4与ADD7实现增强卷积运算,判断器将增强后的像素值二值化,FIFO10为数据输出缓冲。

2 RTL级建模与联合仿真验证

2.1 电路的RTL级模型

电路的设计基于硬件描述语言Verilog[8]编写完成。采用自下而上的设计方法,先规划整个电路结构,将整个电路划分为点方向计算模块、块方向计算与滤波模块、指纹图增强模块三个部分;然后设计每一个基本模块,往上设计总体模块,顶层采用原理图方式。整体芯片仿真部分信号时序如图5所示。

2.2 联合仿真验证

编写Verilog仿真模型,在Modelsim中进行功能测试仿真,将电路计算的输出数据均用文本输出保存,然后联合Matlab工具,将最终电路处理输出的结果通过Matlab直观地显示出来以供分析。图6为指纹原图,图7、图8所示为实际仿真测试图,表2为本文算法处理时间与其他算法处理时间的比较。

表2 不同增强算法处理时间的比对

图7为Matlab工具实现算法的仿真图,图8为硬件电路处理后的指纹数据。由Matlab工具显示的图可见,硬件电路的实现效果良好;滤波后的指纹方向图更加平滑,映射指纹纹理方向,修正了图7(a)方向的跃变;增强指纹图像修复了原图脊线断点,增强了纹线结构。另外,从增强后的细化图(如图9所示)可以看出,增强算法有效减少了因指纹质量而产生的伪特征值。

本文设计了一款用于指纹图像增强的硬件电路,从仿真结果可以看出,电路能较好地对低质量指纹图像的纹理结构进行修复,并可以为指纹预处理过程省去自适应二值化这一复杂步骤,有较高的实用价值,可以应用在指纹识别专用集成电路中。

尽管该电路有着不错的处理效果,但也可以看出在指纹边界处,特别在指纹方向跃变的交界处,其周边指纹信息变化剧烈时,增强效果不是十分良好,容易引入噪声。精确地计算指纹方向图与好的指纹分割算法是一个好的增强算法的前提,这也将是以后研究的重点。

[1]Ling Hong,Anil Jain.Fingerprint enhancement[C].Third IEEE Workshop on Applications of Computer Vision,1996:202-207.

[2]O’Gorman L,NICKERSON J V.An approach to fingerprint filter design[J].Pattern Recognition,1989,22(1):29-38.

[3]罗军,肖芳,毛雪莹,等.基于FPGA的方向滤波指纹图像增强算法实现[J].电子技术应用,2010,6(1):13-20.

[4]张烽.基于FPGA嵌入式指纹识别系统研究[D].重庆:重庆大学,2007.

[5]乔治宏,吴晴,乔雨峰.基于方向滤波的指纹图像增强算法研究[J].计算机工程与应用,2004(35):87-89.

[6]Zhang Hong,Wang Xinsheng.A new fingerprint enhancement algorithm[C].IEEE International Conference Broadband Network and Multimedia Technology,2005:1222-1225.

[7]郭娟.基于FPGA硬件方式实现的指纹识别系统研究[D].上海:上海微系统与信息技术研究所,2007.

[8]夏闻宇.Verilog数字系统设计教程(第二版)[M].北京:北京航空航天大学出版社,2008.

猜你喜欢
脊线指纹图像素点
基于局部相似性的特征匹配筛选算法
基于5×5邻域像素点相关性的划痕修复算法
指纹图像干湿度评价及亮度自动调节方法研究
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
2型糖尿病患者肠道菌群两种分子指纹图谱分析研究
基于相位法的密集小波公共脊线提取方法
一种改进的基于细节点的脊线追踪算法