指纹图像自动识别系统预处理算法的设计和实现

时间:2011-06-15

 

  指纹,由于其具有终身不变性、性和方便性,已几乎成为生物特征识别的代名词。指纹是指人的手指末端正面皮肤上凸凹不平产生的纹线。纹线有规律的排列形成不同的纹型。纹线的起点、终点、结合点和分叉点,称为指纹的细节特征点(minutiae)。

  指纹识别即指通过比较不同指纹的细节特征点来进行鉴别。由于每个人的指纹不同,就是同一人的十指之间,指纹也有明显区别,因此指纹可用于身份鉴定。其实,我国古代早就利用指纹(手印)来签押。1684年,植物形态学家Grew发表了篇研究指纹的科学论文。  指纹识别原理1809年Bewick把自己的指纹作为商标。1823年解剖学家Purkije将指纹分为九类。 1880年,Faulds在《自然》杂志提倡将指纹用于识别罪犯。1891年Galton提出着名的高尔顿分类系统。之后,英国、美国、德国等的警察部门先后采用指纹鉴别法作为身份鉴定的主要方法。随着计算机和信息技术的发展,FBI和法国巴黎警察局于六十年代开始研究开发指纹自动识别系统(AFIS)用于刑事案件侦破。目前,世界各地的警察局已经广泛采用了指纹自动识别系统。九十年代,用于个人身份鉴定的自动指纹识别系统得到开发和应用。

 

  我国在近10年来已陆续开展这方面的工作,现已进入实用阶段。本学科的技术用于指纹分析,有两方面的工作:

  (1)指纹特征提取与识别。这是比较成熟的工作,因为每个人都有固定的指纹类型,而指经纹纹线总的类型有限。因此,有可能把指纹经过预处理以后,提取特征,再用类聚分析方法进行判决分类。

  (2)指纹存储与归档。这是大容量存储的问题,试想每人有10个指纹,而全国十几亿人要存储上百亿个指纹,这需要多么巨大的存储容量。除了用激光存储等高密度的记录和存储手段外,还争切需要开展指纹的无失真、可恢复的压缩工作。

 

  现在的计算机应用中,包括许多非常机密的文件保护,大都使用“用户ID+密码”的方法来进行用户的身份和访问控制。但是,如果一旦密码忘记,或被别人窃取,计算机系统以及文件的安全问题就受到了威胁。随着科技的进步,指纹识别技术已经开始慢慢进入计算机世界中。目前许多公司和研究机构都在指纹识别技术领域取得了很大突破性进展,推出许多指纹识别与传统IT技术完美结合的应用产品,这些产品已经被越来越多的用户所认可。指纹识别技术多用于对安全性要求比较高的商务领域,而在商务移动办公领域颇具建树的富士通、三星及IBM等国际品牌都拥有技术与应用较为成熟的指纹识别系统。

  为了迅速展开指纹自动识别的研究,我们在微型机上进行了微型机指纹自动识别系统的尝试。该系统的输入部分把实际捺印指纹或现场指纹转换成数字化图像,经总线存入图像存储器,微机对输入的图像进行各种必要的处理和分类,其处理效果可由彩色显示器立即评价,或由打印机输出判别结果。

  一般指纹图像自动识别系统的原理如图1所示。

  指纹图像预处理的目的在于使指纹图像画面清晰,边缘明显,以便提取特征进行识别。预处理技术的主要目的是对一个给定的指纹,突出指纹图像中的某些信息,消弱或除去某些不需要的信息,使它的结果对后面的识别来说比原始指经纬度图像更合适。某预处理流程图如图2所示。

 

  只有经过预处理后的指纹图像,才能进入到下一步(指纹的识别预分类)去处理。预处理结果的好环直接关系到指纹识别率的高低。

  1 图像增强

  增强图象中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

  图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。

  我们采用了先平滑化,然后进行尖锐化两部处理。该方法可以进行自动处理指纹图像,且效较好。

  1.1 平滑处理

  指纹图像是通过扫描仪获得模拟信号,并经采样、量化后,以矩阵的形式存入计算机。由于图像的采集为纵列式方式,量化后的指纹图像有许多噪声。它们因其时间的不相干性,含有较高的空间频谱,且多呈点结构。

  平滑处理的任务就是去除这些干扰噪声,而又不使图像失真。图像平滑包括空域法和频域法两大类。由空域处理公式知,输出函数为:

  其中m=1,2…,H';n=1,2,…N';M'=M-L;N'=N-L。若令输入图像阵F为N×N,卷积阵H为L×L,输出阵G为M×M,则关系式:

  为了平滑噪声,卷积阵H需呈低通型。当H为3×3阵列时,选用:

  其中X为要处理的像素值,ai(i=1,2…,8)为其八邻域的数值。

  采用多图像平均法(即多遍输入叠加取均值的方法),可去除时间噪声。它以噪声干扰的统计学特征为基础。即如果一幅图像包含有噪声,可以假定这引起噪声相对于每一坐标点(x,y)是不相关的。其数字期望为零。设g(x,y)是有噪声η(x,y)和原始图像f(x,y)叠加而成的。即:

  g(x,y)=f(x,y)+η(x,y) (4)

  若噪音η(x,y)满足上述的假定,则可以通过将给定的一系列噪声图像{gi(x,y)叠加后取其平均值,以达到平滑图像的目的。

  因此,在获得一幅图像时,可用采集M次的方法去取平均值,即可达到要求。

  g(x,y)=1/M∑gi(x,y) (5)

  因为:

  E{g(x,y)}=f(x,y) (6)

  一般情况下,当n=4时,图像趋于稳定。

  实践表明,用这些方法去除噪声,可获得满意的效果。图3为去噪声后的指纹图像。

  1.2 锐化处理

  为强化指纹纹线间的界线,突出边缘信息,以利于二值化,锐化处理是必要的。锐化处理对于增强反差和检测边缘是很有用的。图像锐化的作用就是的补偿图像的轮廓,使图像较清晰。图像锐化可分为空间域图像锐化法和空间频率域图像锐化法两大类型。

  图像的模糊,是由于高的空间频率成分比低的空间频成分弱这一原因造成的。这一影响表现在均匀灰度区域间的边界部分(边缘)。因此,为了消除模糊,可以增强高的空间频率成分。

 

  作为在图像空间简单的高频增强滤波有:

  g(i,j)=f(i,j)-f(i,j)=5f(i,j)-[f(i+1,j)+f(i-1,j)+f(i,f+1)+f(i,j-1)]

  这里f(i,j)表示输入图像f(i,j)的二次微分的数字拉普接斯算子,被公平义为:

  f(i,f)=f(I+1,f)+f(i-1,j)+f(i,j+1)+f(i,j-1)-4f(i,j) (8)

  由于模糊的图像是感光过程中的扩散现象所致,因此,它必然满足线形扩散议程:

  аf(x,y,t)/аt=kf(x,y,t)=k(аf/аx2+аf/аy2) (9)

  其中f(x,y,t)是时间与空间的函数,k是扩散系数;f是f的拉普拉斯算子。如令t=0,且忽略其展开的泰勒级数的高次项,则输出函数:

  g(x,y)=f(x,y,t)-τkf(x,y,t) (10)

  其中τ为扩散时间间隔的长度。选取不同的τk值,可得到不同的拉普拉斯算子的没加权系数。经过多次实验知,7×7方阵的加权系数p为:

  p=8f(x,y)-f(x-3,y)-f(x-2,y+2)-f(x,y+3)-f(x,y-3)-f(x+2,y+2)-f(x+3,y)-f(x+2,y-2)-f(x-2,y-2) (11)

  时能更好地反映出泰勒级数展开时函数的连续性,用于指纹图像的锐化处理是适宜的。图4是锐化后的指纹图像。

  2 二值化处理

  二值图像是指整幅图像画面内仅黑(灰度值为0)白(灰度值为1)二值的图像,在它们上面不呈现出灰度的变化。在数字图像处理中,二值图像占有非常重要的地位。这是因为在实用的图像处理系统中,要求处理的速度高、成本低,信息量大的浓淡图像处理花销太大,不是上策。而且二值化后的图像能够用几何学中的概念进行分析和特征描述,比起灰度图像来说方便得多。因而二值图像处理目前已成为图像处理中的一个独立的、重要分支而获得广泛的应用。对于指纹的识别来说,有有的信息得包含有脊线和谷线的二值描述中。因而必须根据原始的灰度图像来确定图像上的每一点应属于客体区域还是背景区域,从而产生对应的二值图像。它不仅可以大大减少储存量,而且对使得后面的判别过程少受干扰,大大简化其后的处理方法。二值化后的图像是以后处理的基础,它的算法对后面的处理有直接的影响。一个好的算法可以得到一个高质量的二值图像。反之,如果该阶段引入噪声,就会直接降低图像质量,影响识别。

  位于(x,y)处的像素f(x,y)阈值V(x,y)是由以(x,y)为中心的指纹图像窗口(2m+1)×(2m+1)中诸点的灰度值来确定的。即:

  当(2m+1)×(2m+1)窗口落在两种不同区域将会引起误判:

  (1)当窗口较多地在谷线区时,将会使得一部分乃至大部分的像素点被判为脊线;

  (2)当窗口较多地落在脊线区时,将会使得一部分乃至大部分的像素点被判为谷线。

  借助于参数β和固定阈值可以解决这个问题。

  令ε为一个通过试验获得的正整数,即ε>0,故有:

  其中Vt,为参考阈值。

  令二值化后的图像为g(x,y),则:

  以上过程可用流程图5来表示。

  3 修饰处理

  指纹图像经过二值化后,由于量化等原因,纹线边缘凹凸不齐,受锐化的影响,画面出现离散点,为使图像整洁,边缘圆滑,需要进行修饰处理。

  用适宜的模板可去除纹沟中的离散黑点和填补纹线中的空缺白点。如令3×3模板中待处理的像素为x,其邻域ai∈白(i=1,2,…,8),则x=白;ai∈黑(i=2,4,6,8),则x=黑。

 

  修饰处理包括去除孤立点及填补空白点等操作它们各自的模板表征如下:

  4 细化处理

  由于我们所关心的不是纹线的粗细,而是纹线的有无。因此,在破坏图像连通性的情况下必须去掉多余的信息。在二值图像处理领域,细化是很重要的一个处理环节。如干涉条纹图像,由于条纹粗、宽二边缘弥散,不细化成线状就没有办法去地取数计算它。另一方面,一个连接成分如果能用线状结构去值图像的细化问题成为图像处理的一大热门,有不少人纹脊线的轮廓和有关的端点和交叉点。但是,二值化后的脊线有一定的宽度,这种表征它的特性,无论在图像识别还是在数据压缩方面都有重要意义。所以二宽度会给后面的识别增添很多麻烦。因而应先将指纹脊线的宽度采用逐渐剥离的方法,使得脊线成为只有一个象素宽的细线,这将非常有利于下一步的分析,这个过程叫细化。其目的是用一组细线来刻画一个连接成分,这不仅能达到压缩数据量的目的,而且易于对连接成分的特征提取。因而,这一操作过程必然需要删除某些象素。

  利用两种类型的模板进行细化处理的算法如下:

  图6即为通过算法(19)处理后得到的三种不同类型的指纹。

  指纹图像细化后,还可以根据指纹得到一般处理规律。进行后加工处理,如去掉无效的纹线搭桥及连接豁口等。还可以采用人机交互方式,对残缺指纹进行人工修补。

  本文给出了一套完整的指纹图像预处理算法,并在实验中获得了比较满意的结果。

 


  
上一篇:详解TMS320VC5410的McBSP串行接口技术与程序设计
下一篇:超高亮度LED的太阳能城市灯光系统

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料