不变。自胚胎六个月到出生至死亡腐败之前,始终是没有很大变化的。指纹的确定性,还表现在它具有一定的复原性和难于毁灭的特性。
(2)唯一性:由于指纹脊线的连接关系千变万化,因此,即使两个不同的指纹有着相同的轮廓和相同数量的细节特征,它们的细节位置也是不可能完全相同的。
(3)可分类性:指纹可根据脊线和谷线的走向进行分类,一般可分为如图1-2所示的弓形、环形和螺旋形。
(a)弓形 (b) 环形 (c)螺旋形
图1-2 指纹类型
(4)留痕性:指纹接触物体后会留下痕迹。指纹的这个特点,是与手掌表面附着面的污垢的性能紧密相关的。
正是因为这些独特的性质,指纹被国内外的刑侦界称为“证据之首”。一切指纹的自动识别系统,都是根据这些独特的性质,进行身份的识别和确认的。
脊线是指纹的一个非常突出的特征,指纹的脊线一般由弓形线、环形线、箕形线、螺形线、曲形线和棒形线等脊线组成,每种脊线具有不同的细节和长度,如图1-3所示[2]。
6
(a)弓形线(b)环形线(c)箕形线(d)螺形线(e)曲形线(f)棒形线
图1-3 脊线的一般形态
1.2.2 指纹识别的原理及应用
在指纹识别的技术中, 一般都采用总体特征和局部特征来进行识别。总体特征是那些很容易就能看出来的非常明显的特征, 局部特征则是一小块指纹中的细节特征。指纹纹路一般都会有断点和分叉点, 因此会形成一些独特的节点。根据研究,两个指纹的总体特征有时候会很相似,但是局部特征是不会相同的,即没有两个指纹的纹路是相同的。英国学者E.G.Herry认为, 只要有13个特征点能重合, 就可以确认这两枚指纹是同一指纹[3]。指纹的面积虽然不大但却蕴含着大量的识别信息。这些皮肤的纹路会在交叉点,断点上有很大的区别。在指纹识别的过程中将其称为“特征点”,利用特征点的性质,我们可以把一个人的指纹同预先存储起来的指纹模版对比来验证他的真实身份。
指纹识别技术主要包括三大部分:指纹图像采集、指纹预处理、特征提取与匹配。如图1-4所示。
7
指纹预处理指纹图像采集增强滤波指纹特征提取指纹匹配匹配结果
分割二值化细化图1-4 指纹识别流程 指纹作为人类与生俱来的特征,因为其独有的特性而成为具有法律地位的有力证据。一切需要身份确认的场所,都有它的踪影,如金融证券类的ATM指纹终端、指纹保险箱等、IT类的计算机的系统密码验证、网络安全等、安防类的门禁系统等、医疗类的个人医疗档案验证等、福利类的医疗确认、福利确认等,因此指纹识别在许多行业的应用系统中都具有广阔的应用前景。
1.3 Matlab在指纹识别中的应用
Matlab是一种高级的计算机语言, 具有独特的数学运算能力是matlab语言最突出的优点。许多在其他语言中描述起来很复杂的问题在matlab语言编程中却只需要一条专用的指令就可以完成。Matlab语言的所有计算都是基于矩阵的,所以matlab中的所有变量都被定义为矩阵, 它是一种解释型语言, 因此几乎没有语法格式上的限制。基于matlab实现指纹图像算法及仿真验证不仅有较高的准确率, 而且减小了仿真难度。
8
第2章 指纹图像预处理
图像预处理是对原始图像进行的一种前期处理,方便后续的模块识别。无论采用何种方式获取的指纹图像, 都有一部分由于质量原因, 不能被系统直接识别,因此图像的预处理就显得非常有必要。
指纹图像的预处理目的就是将自己感兴趣的目标区域保留下来,去除背景区域和没有用的部分,同时根据指纹目标区域中脊线的结构特征,采取较好的滤波方法,提高指纹脊线清晰度,平滑脊线边缘的毛刺和空洞,抑制图像噪声,保证指纹特征的可靠提取,并使灰度图像转化成黑白的二值图像,最终得到脊线结构清晰的单像素宽的二值图像。本文预处理的主要流程如图2-1所示。
指纹分割二值化滤波增强细化 图2-1 预处理流程
2.1图像的分割
图像分割是从一幅图像中按一定规则将一些物体或区域加以分离,划分出我们感兴趣的部分或区域。经过分割后的图像更容易进行进一步的分类、分析和识别处理。图像分割要在指纹二值化和滤波及细化之前进行,如此可以减少计算的冗余量,提高指纹检测速度。
采集到的指纹内容分为目标区域和背景区域。在指纹图像中,由脊线和谷线组成的较清晰的部分,称之为目标区域;没有用的部分我们称之为背景
9
区域。指纹识别中的分割就是将有用的目标区域分割出来,去掉没用的背景区域,以避免背景区域的各种干扰。指纹图像可分为四类区域:背景区、不可恢复区、可恢复区、清晰区,如下图2.2所示。
背景区清晰目标区不可恢复区可恢复区
图2-2 指纹图像的四种区域
2.1.1 图像归一化
对指纹图像进行分割处理,消除剩下的背景区域前,首先要进行图像归一化。
对采集好的指纹图像进行归一化处理,是对指纹灰度图的灰度均值和方差做一次调整,使得不论用什么设备采集的指纹图像都可以有预期的方差和均值,从而屏蔽不必要的噪声。指纹归一化不改变指纹质量,只是方便指纹的后续处理并保证程序运行时收敛加快。
由于不同指纹区域的手指压力和强度不同,所以将指纹分为W*H小块,设图像中像素点的灰度值为I(i,j),归一化后的图像G(i,j)来表示,灰度平均值和方差分别用Mi和Vi来表示,则归一化算法如下[4]:
(1)先计算出图像灰度的平均值和方差:
1 Mi?WH ??I(i,j) (2-1)
i?0j?0H?1W?1 10