指纹识别的原理和方法

指纹识别的原理和方法

一.概述

    指纹识别技术主要涉及四个功能:读取指纹图象、提取特征、保存数据和比对。

    在一开始,通过指纹读取设备读取到人体指纹的图象,取到指纹图象之后,要对原始图象进行初步的处理,使之更清晰。

    接下来,指纹辨识软件建立指纹的数字表示--特征数据,一种单方向的转换,可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特征数据。软件从指纹上找到被称为"节点"(minutiae)的数据点,也就是那些指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。因为通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。

    有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间的关系,也有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为1K大小的记录。无论它们是怎样组成的,至今仍然没有一种模板的标准,也没有一种公布的抽象算法,而是各个厂商自行其是。

    最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。

二. 取得指纹图象

1. 取象设备原理
    取像设备分成两类:光学、硅晶体传感器和其他。
光学取像设备有最悠久的历史,可以追溯到20世纪70年代。依据的是光的全反射原理(FTIR)。光线照到压有指纹的玻璃表面,反射光线由CCD去获得,反射光的数量依赖于压在玻璃表面指纹的脊和谷的深度和皮肤与玻璃间的油脂。

    光线经玻璃设到谷后反射到CCD,而设到脊后则不反射到CCD(确切的是脊上的液体反光的)。

    由于最近光学设备的革新,极大地降低了设备的体积。最近90年代中期,传感器可以装在6x3x6英寸的盒子里,在不久的将来更小的设备是3x1x1英寸。这些进展取决于多种光学技术的发展而不是FTIR的发展。例如:纤维光被用来捕捉指纹图象。纤维光束垂直射到指纹的表面,他照亮指纹并探测反射光。另一个方案是把含有一微型三棱镜矩阵的表面安装在弹性的平面上,当手指压在此表面上时,由于脊和谷的压力不同而改变了微型三棱镜的表面,这些变化通过三棱镜光的反射而反映出来。

    应用晶体传感器是最近在市场上才出现的,尽管它在传奇文学作品中已经出现近20年。这些含有微型晶体的平面通过多种技术来绘制指纹图象。电容传感器通过电子度量被设计来捕捉指纹。电容设备能结合大约100,000导体金属阵列的传感器,其外面是绝缘的表面,当用户的手指放在上面时,皮肤组成了电容阵列的另一面。电容器的电容值由于金属间的距离而变化,这里指的是脊(近的)和谷(远的)之间的距离。压感式表面的顶层是具有弹性的压感介质材料,他们依照指纹的外表地形(凹凸)转化为相应的电子信号。温度感应传感器被设计为感应压在设备上的脊和远离设备的谷温度的不同。

    超声波扫描被认为是指纹取像技术中非常好的一类。很象光学扫描的激光,超声波扫描指纹的表面。紧接着,接收设备获取了其反射信号,测量他的范围,得到脊的深度。不象光学扫描,积累在皮肤上的脏物和油脂对超音速获得的图象影响不大,所以这样的图象是实际脊地形(凹凸)的真实反映。 由于巨大的指纹辨别市场,如果想指纹识别在商业上的巨大成功,三个因素中的两个因素是非常重要的,它们是低价格和紧凑的体积(另外一个是上面谈到的识别率)。90年代初到后期,取像设备的价格已经剧烈的下降,制造商最近又承诺,在最近几年后,又要进行大幅度降价。至于体积,上面已经提到光学传感器的体积从6x3x3英寸降到3x1x1英寸。应用晶体的传感器的体积差不多是这样或者更小。在晶片上,集成电路的技术越来越高(如:数字化电路把指纹信号转化为数字信号强度),系统体积将越来越小,晶体传感器的体积接近与手指大小所需要的体积,其长宽大约是1x1英寸高不到1英寸。

    在晶体传感器之前,一些没有用到的机能是局部调整、软件控制、自动获取控制(AGC)技术。对于大多数光学设备,只能通过人工调整来改变图象的质量。然而,晶体传感器提供自动调节象素,行以及局部范围的敏感程度,从而提高图象的质量。AGC在不同的环境下结合反馈的信息产生高质量的图象。例如,一个不清晰(对比度差)的图象,如干燥的指纹,能够被感觉并增强灵敏度,在捕捉的瞬间产生清晰的图象(对比度好);由于提供了局部调整的能力,图象不清晰(对比度差)的区域也能够被检测到(如:手指压得较轻的地方)并在捕捉的瞬间为这些象素提高灵敏度。 光学扫描也有自己的优势。其中之一在较大的模型可以做较大指纹取像区域。而制造较大的应用晶体传感器的指纹取像区域是非常昂贵的,所以应用晶体传感器的指纹取像区域小于1平方英寸,而光学扫描的指纹取像区域等于或大于1平方英寸。然而这个对于较小的光学扫描设备并不是优势。较小的光学扫描也是较小指纹取像区域,这是因为较大的指纹取像区域需要较长的焦点长度,所以要有较大包装,否则如果较大的取像区域使用较小的包装,则光学扫描设备会受到图象边缘线形扭曲的影响。 晶体传感器技术最重要的弱点在于,它们容易受到静电的影响,这使得晶体传感器有时会取不到图象,甚至会被损坏,另外,它们并不象玻璃一样耐磨损,从而影响了使用寿命。

    总之,各种技术都具有它们各自的优势,也有各自的缺点。我们在下面给出三种主要技术的比较。

三. 指纹识别技术的基本原理

     指纹其实是比较复杂的。与人工处理不同,许多生物识别技术公司并不直接存储指纹的图象。多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图象属于个人隐私,因此不能直接存储指纹图象)。但指纹识别算法最终都归结为在指纹图象上找到并比对指纹的特征。

指纹的特征

     我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。总体特征是指那些用人眼直接就可以观察到的特征,包括:基本纹路图案

  环型(loop), 弓型(arch), 螺旋型(whorl)。其他的指纹图案都基于这三种基本图案。仅仅依靠图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。


  模式区(Pattern Area)

    模式区是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于那一种类型的。有的指纹识别算法只使用模式区的数据。 Aetex 的指纹识别算法使用了所取得的完整指纹而不仅仅是模式区进行分析和识别。


核心点(Core Point)

    核心点位于指纹纹路的渐进中心,它用于读取指纹和比对指纹时的参考点。


三角点(Delta)

    三角点位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。三角点提供了指纹纹路的计数和跟踪的开始之处。 式样线(Type Lines)

    式样线是在指包围模式区的纹路线开始平行的地方所出现的交叉纹路,式样线通常很短就中断了,但它的外侧线开始连续延伸。

纹数(Ridge Count)

    指模式区内指纹纹路的数量。在计算指纹的纹数时,一般先在连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。

局部特征

    局部特征是指指纹上的节点。两枚指纹经常会具有相同的总体特征,但它们的局部特征——节点,却不可能完全相同 节点(Minutia Points)

  指纹纹路并不是连续的,平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为“节点”。就是这些节点提供了指纹唯一性的确认信息。


指纹上的节点有四种不同特性:


1. 分类 – 节点有以下几种类型,最典型的是终结点和分叉点

A. 终结点(Ending) -- 一条纹路在此终结。

B. 分叉点(Bifurcation) -- 一条纹路在此分开成为两条或更多的纹路。

C. 分歧点(Ridge Divergence) -- 两条平行的纹路在此分开。

D. 孤立点(Dot or Island) -- 一条特别短的纹路,以至于成为一点 E. 环点(Enclosure) -- 一条纹路分开成为两条之后,立即有合并成为一条,这样形成的一个小环称为环点

F. 短纹(Short Ridge) -- 一端较短但不至于成为一点的纹路,


2. 方向(Orientation) -- 节点可以朝着一定的方向。


3. 曲率(Curvature) -- 描述纹路方向改变的速度。


4. 位置(Position) -- 节点的位置通过(x,y)坐标来描述,可以是绝对的,也可以是相对于三角点或特征点的。

四.系统问题


    有效的指纹辨识系统不仅仅依赖于辨识算法,还有其他的一些重要因素,这里称之为“系统问题”。包括注册和辨识过程,速度和工作学、用户信息的反馈、排斥欺骗和安全考虑。

    为了得到较好的识别率,重要的是在注册时尽量获得最好的指纹图象,这是因为注册一般只进行一次,而以后的辨识是经常的。一个较好的指纹识别系统应要求用户的指纹在登记指纹时多次获取指纹,然后,把最好的指纹或每次获得的指纹的综合的结果作为注册的指纹。

    又一个方法可以作为指纹系统设计时的考虑,即我们可以多次取像直到得到一个确定的匹配,但这个过程在降低了拒判率的同时,提高了误判率。辨识不仅仅只用一个手指的指纹,可以用两个或更多的手指的指纹,这样可以增强识别率,当然这样一来会浪费用户的许多时间。 系统的工作学是很重要的。例如:在个人识别系统中,人们愿意等待时间的极限,这个极限时间根据特定的应用而不同,依赖于在处理的过程中人们正在做什么。例如:刷卡或输入ID号的过程,从0.5-1.5秒被认为是可接受的时间;另外,拒判而重复次数不应超过3次。

    验证和辨识的过程、取像设备的设计拒判率和误判率关系的设定,为了尽可能的获得高质量的指纹图象而提示用户手指该怎样放置,正确的反馈信息是非常有用的。如“手指放得太高”,“手指按得不够重”等。 在指纹识别系统中,反欺骗的措施用来阻止人造指纹、死指纹和残留指纹。残留指纹是由于皮肤油或其他原因残留在传感器上。传感器应建立反欺对策,使得有能力识别真实的皮肤温度、阻力或电容。

    既然指纹识别系统是为安全而考虑的,例如,节点模板数据库必须是安全的,以防止一个冒名顶替的人将自己的指纹存进数据库而成为合法的用户。指纹匹配的结果是“YES”或“NO”,以此获得访问权。如果有人简单地绕过指纹匹配而能去直接发送一个“YES”,那么系统就是不安全的。这个问题的解决是确保主机接收的识别结果是来自真正的合法用户,如通过数字信号发送给主机。 总之,在一个完整的指纹识别应用系统中有许多问题值得考虑,解决好这些问题有助于成功地建立有效的系统,相反,则有可能会使得高明的技术被束之高阁,甚至导致应用系统最后的失败。

 

 

 

指纹识别技术通过分析指纹的局部特征,从中抽取详尽的特征点,从而可靠地确认个身份。指纹识别的优点指纹作为人体独一无二的特征,它的复杂度可以提供用于鉴别的足够特征,具有极高的安全性。相对于其他身份认证技术,指纹识别是一种更为理想的身份认证技术,指纹识别不仅具有许多独到的信息安全优点,更重要的是具有很高的实用性、可行性,已经广泛应用于金融、电子商务以及安全性能要求教高的行业中。

目前多数指纹识别系统是将指纹图象采集到计算机中,利用计算机进行识别。外一些公司生产的独立指纹识别系统,价格比较高昂。些都限制了指纹识别技术的普及。因此,研究开发快速、识别率高、廉价的独立指纹识别系统具有很大的市场前景和重要的科学研究价值。

本文提出了一种新型基于DSP的指纹识别系统,硬件上利用DSP的高速处理能力,构建高速的数据处理平台,软件上考DSP和硬件逻辑的处理特点,对传统的指纹算法进行改进,满足实时性和可靠性要求。

2 硬件系统结构

系统的原理框图如图(1)所示:



图(1)系统结构框图

本系统整体上可以分为图像采集模块、图像处理及识别模块以及输出模块三部分组成。

2.1 图像采集模块

图像采集模块中,由于指纹识别系统中并不需要实时观察图像,所以对传感器要求不是很高,一般的黑白数字CMOS传感器都能满足要求。本系统中采用了一款300万象素的高清晰度黑白传感器作为图像获取器件,非常适合作为指纹图像传感器使用。主要考虑到CMOS器件成本低、分辨率高、可靠性好的优点。缺点为当手指汗液多或干裂时成像质量可能变差。在图像识别过程中,采用了基于GABOR的增强算法,基本上可以克服由此造成的影响。

2.2 图像处理及识别模块

图像处理及识别模块的结构关系到系统的性能的总体水平,采用FPGA+DSP的体系结构有利于构建高效的数据处理流程和方便处理任务的分配,提高系统的并行程度和资源利用率。系统中的SRAM、SDRAM、FLASH直接连到DSP上供其使用:FLASH用于存放程序和一些固定的表格数据;SDRAM作为DSP的系统内存,用于系统程序的运行;SRAM是高速的数据存储区,用于存放程序运行是产生的临时变量。而DDR SDRAM是专门用于存放采集到的指纹数据以及预处理过程中计算得到的象素点梯度数据等一些大容量的数据块,直接连接到FPGA,是系统中最高速的内存区域。FPGA除了作为DSP处理器的扩展总线接口外,还分担了部分数据处理任务,因为仅仅靠一块DSP是不能胜任所有的运算和控制任务的,指纹数据处理时,经常会遇到一些繁琐的加减运算和比逻辑运算,通常这部分都是由FPGA代为处理的,考虑到指纹处理算法的特殊性,同时还要兼顾实现DDR控制功能。

由于指纹识别过程中数学运算量大,因此程序设计不可避免的需要较大的存储空间,为了提高整体性能,需要把繁重的运算任务交给DSP处理,而图像采集部分则要尽可能少的占用DSP时间。另外,利用图像采集的间隙,或是图像采集的同时,由硬件完成一部分简单而繁琐的运算可以分担DSP的处理任务,提高处理的并行度,满足对实时性的要求。本系统采用了TMS320VC5402,其运算速度快,并且具有很高的性价比。系统中采集到的8bits灰度指纹图像,每个像素占用一个字节,图像尺寸为512×512个像素大小,存储一帧图像需要256k字节存贮空间。DSP单元是整个指纹处理系统的核心,负责对指纹进行实时处理。

2.3 输出模块

作为独立的指纹识别系统,经过系统识别的数据可以通过LCD直接显示出来。系统在设计时,也可以将系统作为终端使用,即通过FPGA扩展出以太网接口,作为需要通过网络传送指纹库数据的大型指纹识别系统终端。

3 指纹识别算法

指纹识别算法是指纹识别的核心,本系统中采用的指纹识别算法流程如图(2)所示。



图(2)指纹识别算法流程

图像增强是指纹图像预处理需要解决的核心问题,指纹图像增强的主要目的是为了消除噪声,改善图像质量,便于特征提取。由于指纹纹理由相间的脊线和谷线组成。这些纹理蕴涵了大量的信息,如纹理方向、纹理密度等等。在指纹图像的不同区域,这样的信息是不同的。指纹图像增强算法就是利用图像信息的区域性差异来实现的。传统的指纹图像增强就是利用图像的纹理方向信息,构造方向滤波器模板来实现滤波的。滤波器构造的简单性和指纹图像复杂性的矛盾限制了其作用的有效性。本系统中采用的是参考了指纹图像纹理频率信息,并且以GABOR变换这个能够同时对图像局部结构的方向和空域频率进行解析的最优滤波器作为滤波器的模板,因而极大的改善了增强算法的效果。

3.1 脊线方向

除奇异区外,指纹图像在一个足够小的区域内,纹理近似于相互平行的直线,这就是指纹图像的方向性特征。方向性特征是指纹图像中最为明显的特征之一,它以简化的形式直观的反映指纹图像的基本形态特征,因而被广泛应用于指纹图像的分类、增强、特征提取等方面。

提取脊线方向方法为:

⑴ 将指纹图像分割成足够小的子块,以满足块中纹理近似平行的条件。



3.2 脊线频率

指纹纹理除了具有稳定的方向性特征外,还具有稳定的频率性特点。在指纹图像的一个局部区域内,脊线和谷线的纹理走向平行,同时沿脊谷方向的灰度分布近似于正弦包络。

脊线频率被定义为两条脊线之间间距的倒数。通过定位该包络中极大、极小值点,就能得到相应的脊线间距和谷线间距,进而计算出脊线频率。



3.3 GABOR滤波器

GABOR变换由于具有最佳时域和频域连接分辨率的特点,能够同时对图像局部结构的方向和空域频率进行解析,可以很好地兼顾指纹图像的脊线方向和脊线频率信息。

本系统中采用GABOR滤波器函数的实部作为模板,以与子块纹线方向垂直的方向作为滤波器方向,以脊线频率作为滤波器频率来构建滤波器。滤波过程如下式所示:



其中, 为原始图像灰度, 是GABOR滤波后的图像灰度,W为滤波器模板大小,S为模板系数和, 为子块的域方向值。需要注意的是GABOR滤波器中的 与指纹文理方向垂直。对 和 的取值需要进行折衷,取值越大,则滤波器的抗噪性能越好,但也容易声成假的脊线。这里取 和 。

3.4 指纹匹配

本系统中指纹匹配采用基于特征点集合匹配的校准算法,该算法多为简单的比较逻辑和加减运算,不需要用到DSP处理单元。

4 系统处理流程

整个系统的处理的过程分为四个步骤:

⑴ 从图像传感器输出的指纹图像首先送到FPGA缓冲,同时运用设计好的预处理模块对数据进行处理,得到各像素点的梯度值以及子块中极大值点的坐标,所有这些数据连同原始数据以突发模式存入DDR SDRAM中;

⑵ DSP通过FPGA从DDR SDRAM中读取所有相关数据,计算出脊线方向和脊线频率,然后利用GABOR对原始数据进行滤波,处理后的图像数据再通过FPGA存入DDR SDRAM中,因此在DDR SDRAM的输入输出端都需要进行缓冲;

⑶ 根据DSP处理的指令要求,从DDR SDRAM中读出滤波后的数据,由FPGA内部的比较逻辑提取出指纹图像中每行(每列)中的极大值点,送到DSP进行进一步处理,完成指纹图像脊线提取;

⑷ 由DSP完成匹配识别算法,并输出处理结果。

5 结论

以上设计方案综合考虑了各方面因素,兼顾了DSP处理器和FPGA协处理器的性能状况和资源需求来分配任务,而且在数据采集的同时完成了指纹方向和频率提取的部分运算,减少了内存操作的次数,采用的根据系统特点优化的基于GABOR的增强算法,提高了系统的实时性,满足应用要求。

参考文献:
[1] Texas Instruments Incorporate TMS320C54XUser’s Guide [Z] 2002.
[2] 罗西平,田捷.自动指纹识别中图像增强和匹配算法[J].软件学报,2002,13(5):946~956.
[3] Lin Hong ,Yifei Wan,Anil Jain. Fingerprint Image Enhancement : Algorithm and Performance Evaluation [J]. IEEE Transaction on Pattern Analysis and Machine Intelligence,1998,8(20):777~789.
[4] 吴建明,施鹏飞.一种基于方向场和细节特征匹配的指纹识别方法[J].计算机工程与应用,2003,(2):91~93.

  • 3
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值