一种指纹图像预处理算法探究
2015-12-31徐心怡
徐心怡
(江苏科技大学电子信息学院,镇江,212003)
0 引言
生物特征识别技术作为一种准确、安全快捷的识别技术,在现有的身份验证中有着至关重要的作用,指纹识别技术通过分析指纹的总体特征和局部特征,从指纹中抽取详尽的特征值(指纹具有惟一性),能可靠确认身份,是一种准确高效的生物特征识别技术。国外,指纹识别技术相对较成熟,其关键算法都有了较大发展,但国内仍有较大差距。
1 指纹识别技术介绍
指纹识别一般采用总体特征和局部特征来识别。总体特征是容易发现的明显特征,局部特征是指纹细节特征。研究表明,两个指纹的总体特征即使相似,但局部特征是不同的。指纹面积不大却蕴含着大量识别信息,指纹纹路的交叉点、断点称为“特征点”,可利用特征点的性质与指纹模版对比来验证身份。
指纹识别技术包括指纹图像采集、指纹预处理、特征提取与匹配三部分,如图1。
图1 指纹识别流程
本文主要针对指纹图像的预处理进行研究,在指纹图像归一化的基础上,利用图像的局部方差对指纹图像分割,并进行数字图像处理中的开运算和闭运算操作,克服噪声影响,同时提出了基于方向场的指纹图像二值化方法。指纹图像滤波采用的是基于水平滤波器和分离滤波器组合的上下文滤波算法,最后提出了基于改进OPTA 算法指纹图像细化方法,旨在消除传统OPTA 算法中两种模板不一致的问题。
2 指纹图像预处理
图像预处理是对原始图像的前期处理,指纹图像采集均存在质量问题,不被系统识别,所以图像预处理很有必要。预处理目的就是将识别所需的目标区域保留,去除背景区域和没有用的部分,同时根据目标区域中脊线的结构特征,采取滤波方法,提高指纹脊线清晰度,平滑脊线边缘的毛刺和空洞,抑制图像噪声,保证指纹特征的可靠提取,并使灰度图像转化成黑白的二值图像,最终得到脊线结构清晰的单像素宽的二值图像。本文预处理的主要流程如图2。
图2 指纹图像预处理流程
2.1 指纹图像归一化
指纹图像分割前首先要对指纹灰度图的灰度均值和方差进行调整,使得采集的指纹图像有预期的方差和均值,从而屏蔽噪声,即图像归一化,归一化不改变指纹质量。因为不同指纹区域的手指压力和强度不同,所以将指纹分为W*H 小块,设图像中像素点的灰度值为I(i,j),归一化后的图像用G(i,j)来表示,灰度平均值和方差分别用 和 来表示,则归一化算法如下:
(2)计算归一化后的图像G(i,j):
归一化后的图像如图3。
图3 归一化图像
2.2 指纹图像分割
图像分割是从图像中按规则将一些物体或区域加以分离,将有用的目标区域分割出来,避免背景区域的干扰,分割后的图像便于进一步分类、分析和识别处理。图像分割要在指纹二值化和滤波及细化之前进行。在指纹图像中,由脊线和谷线组成的较清晰部分为目标区域,没有用的部分为背景区域。指纹图像可分为四类区域:背景区、不可恢复区、可恢复区、清晰区,如图4。
图4 指纹图像四种区域
传统的分割算法是基于图像局部灰度方差的分割方法(即方差法)。指纹脊和谷的灰度差是较大的,所以局部灰度方差也较大,而图像背景区域,方差值则是较小的,可利用图像的局部方差对指纹图像分割。该方法优点是算法简单,计算速度快,如采集到的指纹质量好,则分割效果不错,缺点是对质量较差的指纹,分割效果不理想,可在方差法分割的基础上进行数字图像处理中的开运算和闭运算操作,克服易受噪声影响的缺陷。
把指纹的图像分成3*3 块,将归一化处理后的图像进行分割的具体步骤如下:
(1)利用式(1)和式(2)对指纹的小块求灰度平均值和方差,设定阈值T,在8 邻域中,T=4,若>4,则该小块作为目标留下,并把该块标示为1,存放于二值矩阵A 中;若<4,则该块作为背景去掉,并把该块标示为0,存在矩阵A 中;
(3)以 为结构元素对二值矩阵B 做闭运算,得到矩阵C,矩阵C 为一个二值矩阵(只包含1 和0),对应元素为1 的作为目标留下,对应元素为0 的作为背景去除。
该算法的第(1)步与方差法一致,第(2)、(3)步骤利用开运算与闭运算处理,其原理为:开运算(先腐蚀后膨胀)用来消除小物体、在纤细点处分离物体,去除被误当成目标的背景块;闭运算(先膨胀后腐蚀)用来填充物体内细小空洞、连接邻近物体,恢复指纹背景中被误当成背景而去除的目标块。分割后的图像如图5。
2.4 指纹图像二值化
2.4.1 方向图
许多二值化算法和增强滤波算法都用到了方向图。指纹图像有着自己独特和固有的特征,可看作一个流状模型,用方向图来表示。为方便认知,以指纹图像为模板,画一环形区域来表示指纹,其中,扇形区域中的小块表示指纹被分块后的小块。方向图计算的基本思想:在原灰度的指纹图像中计算每小块在每个方向上的统计量, 由这些统计量在每个小块方向上的差异来确定该小块的方向。指纹小块模型如图6。
图6 指纹小块模型
2.4.2 指纹图像二值化
二值化就是将图像上像素点的灰度值设置为0 或1,也就是将整个图像呈现出明显的黑白视觉效果。指纹图像中包括目标和背景还有众多噪声,要想从原始的指纹图像中提取出目标,一般用的方法是设定一个阈值T,用T 将图像中像素数据分成两部分,若输入灰度图像的函数为: 通过求解阈值T,从而把图像f(x,y)分成目标和背景两个区域,其中大于T 的像素群为目标区域,小于等于T 的像素群为背景区域,阈值的选取原则是:(1)尽可能的多保存图像信息;(2)尽可能的减少噪声。
2.4.3 基于方向场的二值化
采集到的指纹图像一般都有比较清晰的方向场,方向场估计得准确与否直接决定了图像二值化算法的效果。为估计方向场,把指纹脊线的走向分为如下8 个方向,如图7。
图7 一个像素处的8 个指纹脊线方向
为确定在该像素处的脊线方向,在以该像素为中心的9*9 窗口内,分别计算8 个方向上的经过处理后的灰度值,即将图7 中数字1 到8 的位置的像素灰度值去除其中最大值和最小值,若满足最大值和最小值与 4*I(x,y))之和大于 (3*最大值/8),则该像素点的脊线方向为最小值,否则为最大值,确定完脊线方向后再由该方向场对图像进行二值化,二值化后的图像如图8。
图8 指纹二值化
2.5 指纹图像滤波算法
图像采集不可避免会存在图像噪声,而噪声会造成指纹提取的困难,因此要在二值化和细化之前进行图像增强滤波,减弱原始噪声,增强脊线和谷线的对比度,获取清晰的指纹纹路结构,以保证指纹提取的可靠性。本文采取上下文滤波算法,基本增强滤波器主要由可将脊线中的断点连接起来的平均滤波器和可将脊线分叉点去除的分离滤波器组成。根据具体的某一块指纹脊线的方向从一系列的滤波器中选择一个合理的滤波器来进行指纹滤波,其它块的指纹图像滤波则通过已用的滤波器旋转得到。脊线中的断点要采用平均滤波器,断点处脊线的灰度值要比周围的灰度值小,经过平均滤波器的处理,灰度值就大约等于周围的灰度值,因此二值化后的指纹中断裂的脊线就能连起来。脊线中的分叉点采用分离滤波器,脊线分叉点的两端灰度值比中间的要大,经过分离滤波器的处理,灰度值会下降,分叉点就会被去除了。脊线的断裂和叉连点如图9。
图9 断裂与叉连
指纹图像中脊线的一个周期(即一脊一谷)可以决定增强滤波器的大小,一般地周期T=5,本文中选择5*5 的滤波器,平均滤波器在水平方向上的权值如图10,分离滤波器水平方向的权值如图11,增强滤波器的权值如图12。
图 10 平均滤波器水平方向权值
图11 分离滤波器水平方向权值
图12 上下文滤波器的权值
上下文滤波器中的平均滤波器的作用是去除空洞(图13),分离滤波器作用是去除毛刺(图14)。
图13 去除空洞
图14 去除毛刺
二值化后的指纹图像通过平均滤波器的处理,其每一点灰度值由它临近的二十四个像素的灰度值决定,因此可以用下式来对f(i,j)(第i 行和第j 列的灰度值)进行处理:
2.6 指纹图像细化
分割和滤波后的指纹图像再进行二值化处理后,脊线仍有一定宽度,会影响指纹识别的匹配,所以需对二值化图像作细化处理。细化目的是在不破坏指纹图像连通性的情况下去除掉多余像素点,将二值化的指纹图像的脊线采用逐层剥离,细化成单象素宽(实际为保存原图的骨架)。
传统OPTA 算法(基于模板的图象细化算法),原理为构造两个模板:一消除模板和一保留模板,将指纹图像二值化后与这两个模板相比较,来决定是否删除该像素,本文研究改进的OPTA 算法,其优点是消除了原OPTA 算法中两种模板不一致的问题。本算法采用统一4*4 模板,消除模板有八个,保留模板有六个,模板的结构如下图15,图16,图17 所示。
图15 OPTA 算法的改进模板(4*4)
图16 消除模板(八个)
图17 保留模板(六个)
改进OPTA 算法的细化原理是从图像(类似于4*4 的模板中)左上角开始进行抽取图中的各个像素(如图15,图中元素用P 表示)。如图所示的 总共十五个相邻像素,其中的八个相邻的像素( , )与图16 所示的消除模板相比较,若都不匹配,则P 保留,否则将抽取出来的元素和图17 的保留模板相比较,若与其中的一个匹配,则保留P,否则应该将P 删除。重复以上操作,将所有图像中的像素值进行比较直至不变。此算法是八连通的算法,基本都能够保证单像素的宽度。指纹图像细化结果如图18,细化图表明效果良好。
图18 指纹图像细化图
3 结束语
本文通过对指纹原图像的分割,二值化,滤波和细化算法的分析比较,得出了一套比较实用和便捷的指纹图像预处理方法,MATLAB 仿真结果表明,该方法结果良好,可为后续的特征提取和匹配研究提供实用性的参考。
[1] 李俊山,李旭.数字图像处理[M].北京:清华大学出版社,2007.4
[2] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001.1
[3] 胡士斌,杨卫平.指纹图像复合分割算法研究[J].计算机工程与应用,2006,40(12):71-73.
[4] 李建华,马小妹,郭成安.基于方向图的动态闽值指纹图像二值化方法[J].大连理工大学学报.2002,42(5):626-628
[5] 闵晶妍.方向图在指纹识别系统中的应用[J].自动化技术与应用.2008(06):47-49