指纹识别是生物特征识别领域中应用最广泛的技术,具有悠久的历史。长期以来,指纹识别技术主要应用于刑事侦查与司法鉴定领域,不被大多数的人所了解。而计算机与信息处理技术的飞速发展,为这门历史悠久的技术开拓了广阔的应用前景,指纹考勤机系统就是该技术的一个应用。
本文总结了当今活体指纹识别技术的发展现状,分析了活体指纹识别技术的工作原理及指纹识别技术预处理的各个过程;在美国Uareu指纹识别开发包的基础上,加入了指纹自动分类功能,在大指纹库的情况下,指纹识别速度得到较大的提高;在已有的众多指纹处理算法中,利用指纹方向图来对指纹图像进行滤波和平滑,提出了一种简化而实用的方向图求取法,并在此基础上提取指纹的奇异点——中心点和三角点,通过大量的实验数据获取可信的阀值,优化了提取算法,再根据奇异点的相对位置对指纹进行分类研究,得到了较为高效的结果。
将活体指纹识别技术与考勤系统有机结合起来,实现了活体指纹考勤的所有功能,论文详细介绍了系统各模块的功能特点以及应用情况。该系统的成功应用,为指纹识别领域开辟了更为广阔的市场,进一步促进了指纹识别技术的民用化、产业化,取得良好的效果。
关键词:指纹识别、分类算法、指纹方向图、指纹考勤系统
I
ABSTRACT
Fingerprint recognition technology is one of the far-ranging application technologies in the biometrics, and has long history. In the past, it was mainly used in the criminal act and a count of justice and few people known this technology. With the development of computer science, fingerprint recognition has extensive outlook servicing people. The system of fingerprint attendance checking is an example that adopts this technology.
In thesis, the developments and applications of the fingerprint recognition technology is introduced, including the theory of fingerprint recognition system and the preprocessing of fingerprint image. By studying each step of fingerprint-image process and combining Uareu SDK developed by American Digital Persona Company, we add an improved algorithm of fingerprint classification which improve the speed of fingerprint identification efficiently on the case of large fingerprint database. We smooth the local orientation in order to reward the singular points and their relationship. We also get the novel parameters after a larger number of experiments. The algorithm has been tested on the NIST-4 fingerprint database.
We also analyses and designs a system of fingerprint attendance checking and introduces function of each module, design for software, and circumstantiality of application in practice. The successful application of the system develops the more vast market of fingerprint identification, and further leads the technology of fingerprint identification to the public and industry.
KEY WORDS: Fingerprint identification, Classification algorithm, Orientation Field, The system of fingerprint attendance checking.
II
目 录
摘 要............................................................................................................................ I ABSTRACT .................................................................................................................. II 目 录.......................................................................................................................... III 第一章 绪论.................................................................................................................. 1
1.1 生物识别技术................................................................................................ 1 1.2 指纹识别技术的基本内容............................................................................ 1 1.3 研究的目标和所作的工作............................................................................ 4 1.4 本文的框架.................................................................................................... 4 第二章 指纹识别系统设计.......................................................................................... 5
2.1 指纹识别系统概述........................................................................................ 5 2.2 系统设计以及可靠性.................................................................................... 7 第三章 改进的指纹分类算法.................................................................................... 10
3.1 指纹方向图的求取...................................................................................... 10 3.2 指纹特征的提取.......................................................................................... 14 3.3 指纹分类器算法.......................................................................................... 17 第四章 分类算法在指纹考勤系统中的应用............................................................ 19
4.1 指纹考勤系统的设计.................................................................................. 19 第五章 结论................................................................................................................ 22
5.1 工作总结...................................................................................................... 22 5.2 进一步研究方向.......................................................................................... 22 参考文献...................................................................................................................... 24 致 谢.......................................................................................................................... 25
III
第一章 绪论
1.1 生物识别技术
生物识别技术是依靠人体的身体特征来进行身份验证的一种解决方案。人体的生物特征包括指纹、声音、脸孔、视网膜、掌纹、骨架等等。所谓的生物识别的核心在于如何获取这些生物特征,并将之转换为数字信息,存储于计算机中,利用可靠的匹配算法来完成验证与识别个人身份的过程[1]。由于人体特征具有人体所固有的不可复制的唯一性,这一生物密钥无法复制、失窃或被遗忘。生物识别技术具有非凡的理论意义和广泛的应用领域,几十年来一直为各国科学家和政府所关注。生物识别技术包括面部识别技术、视网膜识别技术、亲子鉴定、签名识别技术、指纹识别技术[9]等等。
相对于其它身份识别技术,自动指纹识别是一种更为理想的身份确认技术,主要是因为:
①每个人的指纹是独一无二的,不存在完全相同的手指指纹且每个人的指纹是相对固定的,很难发生变化;
②便于获取指纹样本,易于开发识别系统,实用性强;
③一个人的十个手指指纹都不相同,可以方便地利用多个指纹构成多重口令,提高系统的安全性,且不会增加系统的设计负担;
④指纹识别中使用的模板并非最初的指纹图像,而是由指纹图像中提取的关键特征,系统对模板库的存储量较小。另外对输入的指纹图提取关键特征后,可以大大减少网络传输的负担,便于实现异地确认,支持计算机的网络功能。
1.2 指纹识别技术的基本内容 1.2.1 指纹识别技术的发展及现状
指纹是手指皮肤上特有的花纹,由皮肤上的隆起线构成。这些隆起线的起点、终点、分叉、结合等被称为细节特征点。隆起线的这种细节特征有无数种排列,
1
因此,每个人的指纹甚至一个指纹的每条隆起线都是独特的。人的指纹具有唯一性和稳定性,一直是身份鉴定的可靠手段。随着计算机技术及图像处理与模式识别方法的高速发展,使指纹的自动识别成为可能。
在西方,最早提出的用指纹鉴定罪犯的是英国医生亨利·福尔兹。1882年英国科学家弗朗西斯·加尔出版了他的专著《指纹》。其中影响力巨大的三个结论是:指纹终身不变;指纹可以识别;指纹可以分类。真正首次使用指纹识别技术是在1896年阿根廷警察局运用此技术顺利破获了一起案件。1963年美国首先开展了计算机指纹自动识别系统的研究,1975年日本也开始这方面的工作,我国在此领域的研究开展得较晚(约于1981年开始)[7]。近年来,有关指纹自动识别的研究已成为模式识别、图像理解及计算机视觉领域中广为关注的热点,国内也相续推出了自动化程序较高的系统。
目前指纹自动识别研究越来越受到广泛的重视,但由于缺乏统一的行业标准,国内外对指纹识别的处理方法各有不同,对指纹识别系统的描述与划分也不同。进入二十世纪九十年代,随着计算机技术,特别是图像处理技术、模式识别技术的迅速发展,以及大量快速有效的数字信号处理芯片的实现,指纹识别技术的应用越来越广泛,它不仅用于公安、司法等部门作为罪犯查证的一种手段,而且还广泛应用于银行、保密、信用等需要验证个人身份的场所及严格控制出入的地方。当今社会对技术发展的要求是先进、成本低廉、易用,为这个顺序发展,指纹识别技术作为身份识别工具,日益受到人们的欢迎。
1.2.2 指纹的验证与辨识
总体来说,指纹识别与鉴别都属于指纹识别范畴,识别通常又称为辨识,鉴别又叫验证或认证,它们在实际应用系统中的作用有所区别。
2
① 输入ID ② 出示指纹 ③ 计算特征值 ④ 保存ID与特征值 ⑤ 取出相应的指纹特征值 ⑥ 比较两个指纹特征值 用户ID ① 用户指纹② 指纹库 ④ 指纹特征值③ 指纹特征值⑤ ⑥ 对比 图1-1 一对一指纹登记与验证系统示意图
应用系统利用指纹识别技术可以分为两类,即验证(Verification)和辨别(Identification),系统分别可称为自动指纹识别系统(AFIS)和自动指纹认证系统(AFIS),其中前者又包含了后者。验证就是通过把一个现场采集到的指纹与登记的指纹进行“一对一的对比”,来确认身份的过程。作为验证的前提条件,他或她的指纹必须在指纹库中已经注册。指纹以一定的压缩格式储存,并与其姓名或其标识(ID,PIN)联系起来,然后,利用系统的指纹与现场采集的指纹比对来证明其标识是合法的,图1-1表示了验证处理过程。辨识则是把现场采集到的指纹同指纹数据库中的指纹逐一对比,从中找出与现场指纹相匹配的指纹,这就叫“一对多匹配”。图1-2表示了辨识处理过程。 ① 输入ID ② 出示指纹 ③ 计算特征值 ④ 保存ID与特征值 ⑤ 逐一对比 ⑥ 匹配时输出ID 用户ID
图1-2 一对多指纹登记与辨识系统示意图
3
用户ID ① 用户指纹② 指纹库 ④ ⑤ 指纹特征值③ 指纹特征值 ⑥ 对比 1.3 研究的目标和所作的工作
指纹分类的主要目的是方便大容量指纹库的管理,并减小搜索空间,加速指纹匹配过程。指纹分类是基于指纹脊或谷的整体流向以及指纹的核心点,在一对多的识别应用中尤为重要。很多研究者试图解决指纹分类问题,但至今分类算法的误识率仍较高。如何提高指纹分类的准确率在自动指纹识别研究中是一个较关键的问题。
本课题研究在Uareu开发包的基础上,运用数字图像处理和模式识别的方法,对提取的指纹加以分类,将分类特征码加入到原Uareu开发包指纹特征码中,在此基础上再进行指纹的识别,从而有较缩短指纹识别的时间,使误判率与拒识率都有所改善。对于传统的分类算法,分析了其在实际应用中的缺陷,在分类的各个步骤中提出了一种简化而有效的有向图求取算法和根据特征点划分指纹类型的算法,并通过国际标准指纹数据库的测试,得到两种方法的比较结果,证明了改进算法的正确性和优越性。我们将该算法实际应用于指纹考勤系统上,通过了相应的实际大容量测试,结果令人满意。
1.4 本文的框架
本文共分为六章,第一章为绪论,介绍了生物识别技术,其中着重介绍了指纹识别技术的现状和趋势,阐述了研究的目标和任务;第二章阐述了系统的设计原理和思想;第三章具体描述了改进的指纹分类算法及其各步骤的实现;第四章为算法的具体应用,将该算法应用到指纹考勤系统中,介绍了指纹考勤系统的模块和设计;第五章为结论,总结了所做的工作。
4
第二章 指纹识别系统设计
2.1 指纹识别系统概述 2.1.1 指纹识别系统的基本原理
指纹识别系统中的一个重要的理论工具及应用工具是模式识别。模式识别主要分为句法模式识别和统计模式识别。简单地说,统计模式识别的目标是解决分类 [2]。本文所讨论的指纹特征识别问题,属于有监督分类,它的中心问题是类内距离和类间距离。所谓类内距离,就是指同一个类中的样本的距离或差别。对应地,类间距离指不同类的样本的距离或差别。它们的关系是由识别类的所有样本的变量的自由度的个数所决定[5][6]。理想的情况是,类内距离相当小,类间距离相当大。把这一原理应用到指纹身份识别中,对于指纹特征,同一个人在不同时期不同条件下的取值差别极小,而不同的人即使在同一时期同一条件下的取值差别极大。
自动指纹识别主要包括指纹图像的采集、指纹图像预处理(图像分割、增强、二值化、滤波、平滑、细化)、指纹特征提取、指纹分类、指纹匹配(识别或鉴别)[11]。从而构成自动指纹识别的每一子系统(预处理、特征提取、指纹分类、指纹匹配),对整体来说都很关键。因此研究人员在传统算法的基础上又衍生出许多改进的算法,从而大大的提高了各步及整个系统的处理效率。
指纹自动识别系统的系统结构如图2-1所示:
指纹库 指纹输入 预处理逻辑 特征提取 指纹识别 输出结果 图2-1 自动指纹识别系统结构图
指纹识别技术主要的四个功能:读取指纹图像、提取特征、保存数据和比对。 通过指纹读取设备读取到人体指纹的图像,取到指纹图像后,要对原始图像进行初步的处理,使之更清晰。接下来,指纹识别软件建立指纹的数字表示——
5
特征数据,一种单方向的转换,即可以把指纹转换成特征数据但不能把特征数据转换成指纹,而不同的指纹不会产生相同的特征数据。软件从指纹上找到被称为“特征点”的点,也就是那些指纹纹路的分叉、终止或旋转处的坐标位置,这些点同时具有七种以上的唯一性特征。因为通常手指上平均具有70个节点,所以这种方法会产生大约490个数据[10],这些数据,通常称为模板或特征值。
最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。
2.1.2 指纹自动分类算法的设计概述
能够根据指纹的类型来加快指纹在大容量数据库中的识别的基本依据是:同一个指纹必定属于同一个指纹分类,因此,在分类正确的前提下,我们只需要在同类型指纹的数据库中匹配待辨识的指纹。
关于指纹自动分类问题,传统的算法有下面五条还需要遵循的原则[6]: (1)指纹分类后每类对应的指纹数量 (2)指纹在各类型中的分布 (3)分类的一致性和无二义性 (4)分类的准确性 (5)分类算法的计算量
综上所述,一个自动指纹识别算法要求能够在较短的时间内准确地将指纹划分到有一定数量且分布均匀的分类中去。
指纹分类是指纹识别的基础,分类的方法各有不同,有人按指纹基本纹路图案将其分为三类:环形,弓型,螺旋型,其他的指纹图案都基于这三种基本图案。但仅仅依靠这几种图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,通过分类使得在大数据库中搜寻指纹更为方便。
设计指纹分类算法的核心问题在于选择哪些特征作为指纹分类的基础并如何根据这些特征对指纹进行分类。根据特征选取的两大原则可以判断出纹形是指纹最基本的分类标志,它不随指纹图像的移动和旋转而变化,体现了指纹形状的本质特征。
指纹的绝大多数纹形是由中心花纹、外围线系统和根基线系统组成,三方面
6
纹线汇合之处形成三角区;按照中心花纹和三角区的基本形态,可将指纹分为上面所述的三种类型。对于研究指纹自动识别问题中的纹形分类而言,其目的是为了快速、准确的实现指纹的识别,虽然在理论上分析认为:所分类别越多则进行指纹检索时越快,但类别太多,类间距离相对变小,一旦分类错误必然导致识别错误,因此只需将指纹分为区别明显的几大类,而指纹的最终识别必须借助细节特征点进行唯一确认。故在本研究课题中只考虑将指纹做初步的分类,即将指纹分为螺旋形纹、左环形纹、右环形纹、拱形纹、帐形纹及其它形六大类,前五类的指纹参见图2-2。
左环形 右环形 帐形 螺旋形 拱形
图2-2 指纹的分类
我们分类的目的主要是为了得到一个快速的指纹检索机制,没有必要完全按照传统的分类要求来对指纹进行分类。目前普遍认为一个分类算法最基本的要求是:能够正确且无二义地将输入的指纹划分到类内距离小而类间距离大且分布较均匀的分类中去,设计该算法的中心问题在于选择作为指纹分类的基础并如何根据这些特征对指纹进行分类。对于指纹特征选择的选取应该有下面两条原则:
(1)对于移动和旋转的指纹具有不变性;
(2)能够体现指纹整体构架中内在的、固有的特征。
2.2 系统设计以及可靠性
指纹分类系统主要包括六个步骤: 1、提取指纹方向图
2、在指纹方向图的基础上进行滤波和增强; 3、对增强后的图像进行细化; 4、抽取纹脊并对纹脊进行分类; 5、提取奇异点;
7
6、根据纹脊的类型、奇异点数量和相对位置进行指纹分类。 图2-3为指纹分类系统的具体流程。
提取指纹方向图 奇异点的检出 细指纹图像 化 分类 纹脊的抽取 纹脊的增强 纹脊的分类 图2-3 指纹分类系统流程图
将指纹分类算法融合到Uareu开发包中形成新的指纹识别系统,改进后的指纹识别系统大大节省了指纹识别时的处理流程,降低了指纹误判的概率,取得了更好的识别效果[4]。
在匹配时,指纹库中的每一幅图像都与库中所有其它的图像做匹配,如果两幅图像的匹配分数比一个阈值高,就称它们是匹配得好的,即认为它们来自同一个手指。如果一幅图像与包含它自己的模板匹配得好,就产生了一个正确识别。如果一幅图像与来自不同手指的模板匹配得好,就产生了一个错误识别。如果一幅图像与它自己的模板匹配得不好,就产生了一次拒识。定义reject _ num为被拒识的图像数目,correct _ num为正确识别的次数,false _ num为错误识别的次数,识别率与拒识率用下式计算:
识别率=[ 正确识别的次数/(正确识别的次数+错误识别的次数)]×100% 拒识率=[ 被拒识的图像数目/(正确识别的次数+错误识别的次数+被拒识的图像数目)]×100%
指纹识别系统的特征应用的重要衡量标志是识别率。主要由两部分组成,拒判率(FRR)和误判率(FAR)。我们可以根据不同的用途来调整这两个值。FRR和FAR是成反比的。用0-1.0或百分比来表达这个数。ROC(Receiver Operating
8
Curve)-曲线(图2-4)给出FAR和FRR之间的关系。
图2-4 ROC-曲线
FRR实际也是系统易用性的重要指标。由于FRR和FAR是相互矛盾的,这就使得在应用系统的设计中,要权衡易用性和安全性。一个有效的办法是比对两个或更多的指纹,从而在不损失易用性的同时,极大地提高了系统安全性。
衡量指纹识别系统好坏的标准是看它的误识率和拒识率的大小。我们的目标是既要尽量降低误识率,又要尽量降低拒识率,而误识率与拒识率是呈反比的。因此,对于实际系统要根据客户的需要,要在误识率和拒识率之间选择一个平衡点。
9
第三章 改进的指纹分类算法
3.1 指纹方向图的求取
指纹分类是基于纹形特征的,目前有关抽取指纹全局特征普遍采用的方法是:运用指纹的方向图获得指纹的核心点、三角点及脊的形状等对指纹进行初步分类,再抽取细节特征点,进行匹配与识别
[6]
。
指纹方向图在指纹识别领域中具有如此高的研究价值是因为具有以下特点: (1)真实性: 指纹局部方向图真实地反映了指纹图像最本质的纹形特征,体现了指纹的中心花纹、外围包络线和根基线的形状和走势;
(2)渐变性: 由于纹线具有缓变性的特点,求出的方向图也不可能发生剧烈变化,利用这一特性可以对在有噪声的情况下求得的方向图进行平滑处理,从而可能对那些质量相对较低的原始指纹图像进行处理后得到效果较好的方向图。
(3)抽象性: 块方向图是对纹线形状的一种抽象的描述,因此使研究指纹的几何拓扑结构问题得以大大简化。
从预处理后的指纹图像的局部放大图中(图3-1),可以看到在局部范围内指纹图像具有以下两大特点[3];
①指纹纹线具有一致的方向性; ②指纹纹线间的距离基本相同。
(a) (b)
图3-1 局部指纹图像与理想模型图像
事实上,根据这两个特点,可以建立一个指纹局部的理想模型,即可以把局部的小块指纹看成是由固定方向和固定宽度的黑白条纹按等宽间隔所组成的图案,如图3-1(b)。方向图算法正是基于以上特点而发展起来的。目前的基于方向图的算法中获取方向图的原理都大体相同。
设g(x ,y)为经滤波、图像增强等处理之后的指纹图像,G(i ,j)为g(x ,y)的局部指纹图像,则局部指纹图像方向估算的算法如下[12]:
10
1、将图像G(i ,j)划分成大小为W×W的块
2、对每个块分别计算每个像素的梯度d x(I ,j),d y(I ,j)
dx(i,j)u1v111S(u1,v1)G(iu,iv) (3-1)
x11dy(i,j)u1v1S(u1,v1)G(iu,iv) (3-2)
y3、根据梯度值计算块方向
由(3-1)、(3-2)式中所求得的梯度依下面几式即可求出局部块的主方向:
iw/2Vx(i,j)uiw/2vjw/2iw/2jw/2jw/22dx(u,v)dy(u,v) (3-3)
Vy(i,j)12uiw/2vjw/22(dx2(u,v)dy(u,v)) (3-4)
(i,j)arctan(Vy(i,j)/Vx(i,j)) 若Vx(i,j)0 (3-5)
(i,j)/2 若Vx(i,j) 0 (3-6)
然后,将所得到的转换成方向数。 4、平滑方向图
由于指纹图像在局域区域内的纹线方向不会出现大的变化,可以在某一小区域中统计块方向,利用相邻块的矢量和作为本块的方向,以消除噪声。
5、重复(2)到(4)步骤,直到求出所有块的方向。
考虑该算法求一个W×W的块的时间复杂度为:0(w4)。设图像的大小为m
mn×n,则求整个图像的方向的时间复杂度为O (w4)。从算法的时间复
ww杂度来看,求取一个600×800指纹图像的块方向图,假设计算机速度为50MHZ,不同W值对应的运行时间如表3-1。
表3-1 不同W值下对应的计算时间
时间 W=9 1.76 W=7 1.265 W=5 1.14 因此,在实时的指纹识别应用中,指纹图像经滤波、图像增强、二值化、细
11
化之后再提取图像的方向场,需要更多的时间,更难在需要实时识别的大容量数据库中应用。
为了解决这一问题,首先我们考虑去掉二值化这一步,因为在二值化的过程中,无论采用何种先进的算法,都不可避免地产生新的图像噪声。其次,基于指纹方向图的基本原理和指纹的基本特征,由于在纹脊或纹谷上,其灰度值彼此接近,该点与其邻域的灰度值差的和值应为最小,则将所对应的方向指定为该点的局部方向。将原始的指纹图像划分为w×w个块的方向基元,运用统计的方法从指纹图像的局部像素求取方向图后,再求得各个块的方向[7]。
方向图是原始指纹图像的一种变换模式,其中的每一点代表原始图像中该点像素的局部纹理走向。我们用式3-7计算点(i,j)的方向。
Sd(i,j)minG(im,jm)G(i,j), d1N (3-7)
m1M式(3-7)中,G(i,j)为原始图像中位置(i,j)处的像素灰度值,G(im,jm)为点(i,j)沿方向d的第m个领域点的灰度值。M为用来计算方向的邻域点的个数,M的选取与指纹图像的分辨率有关,选取的原则是M大于二倍纹脊或纹谷的宽度,本文中取M=8;N是所取的方向数,一般取4个或8个方向,在本文中我们选取N=8,方向数对应的方向图3-2所示。在实际的应用中,如果仅仅是为了获取指纹的分类结果,可以将N取为4,以加快处理速度,当然要以牺牲误识率为代价。
图3-2 8方向数及对应的方向
求出各点的方向后,将点方向图分为L*L大小的若干块,对每块计算方向直方图,其峰值的方向即为该块方向。在程序上只需要统计八个方向中数据最多的方向即为该块的方向,算法的时间复杂度为遍历所有像素点一次的时间。
12
设图像的大小为U*V,块的大小为w×w,方向数为8,点(i,j)灰度值为
G(i,j),点方向图的结果保存在数组S(i,j)中。求点方向图的算法描述如下:
1、for i=0 to U-1 2、for j=0 to V-1 3、S(i,j)=0 4、for k=0 to 7 5、for i=0 to 7
6、xG(i*cos(k*/8)j*sin(k*/8),i*sin(k*/8)j*cos(k*/8)G(i,j) 7、next 1
8、if x>s(i , j) then s(i , j)=x 9、next k 10、nextj 11、next i
该方法具有算法简单、快速、有效的特点,由于计算量小,时间复杂度仅为0(k*U*V),在运算速度上大大优于原来的算法;另外该算法用小区域内的方向变化代替点方向的变化,具有一定的平滑、抗噪能力的作用,具有一定的鲁棒性。但一定范围内的噪声不可避免,还需要在其邻域内对噪声进行平滑,最后得到准确的指纹方向图。图3-3为用这种方法求得的几种不同纹形的指纹的方向图。
a、螺旋型原图 b、左旋型原图 c、帐型原图 d、拱型原图
a1、螺旋型方向图 b1、左旋型方向图 c1、帐型方向图 d1、拱型方向图
图3-3 算法求得的四种纹型的指纹方向图
13
3.2 指纹特征的提取 3.2.1 脊的滤波
一般的指纹处理算法对于质量好的指纹图像都能获得较好的比对结果,而对于质量较差的图像则可靠性很低,为了提高算法的鲁棒性,通常都要对图像进行滤波和增强,以提高输入指纹的质量,这是后面工作的基础。
由于我们这里讨论的是实时的指纹分类,要求算法的效率高,计算的复杂度相对较小,以达到实时分类的目的。相对分类研究,我们可以作一个简化的假设,即假定指纹的脊与脊之间在小区域内是平行的,在大区域中是相似的平滑曲线。根据这一假设,我们可以设计一个方向滤波器,将不符合这些特征的脊作为噪声去掉,从而最后得到一个质量较高的纹形图像。
将点方向图分为W*W大小的若干块,滤波的算法如下[8]: 1、根据块的方向k选取滤波器Q矩阵; 2、for i=0 to w-1 3、for j=0 to w-1 4、s=0
5、for n= -3 to +3 6、for m= -3 to +3
7、ssG(in,jm)Q((n3)*7m3) 8、next m 9、next n 10、G(i,j)=s ∕ 81
3.2.2 奇异点的提取
指纹的奇异点是指纹核心点和三角点,如图3-4所示。核心点位于指纹纹路的渐进中心,在方向图中,可以认为在该点的小邻域中周围点的方向呈半圆形趋势;三角点位于从核心点开始的第一个分叉点或断点,或两条纹路会聚处、孤立处、折转处,或者指向这些点,在方向图中,可以认为在该点的小邻域中,该点
14
周围的点的方向呈双曲线趋势[9]。
核心点 三角点
图3-4 指纹的奇异点
指纹图像中奇异点的提取是对指纹分类具有重要的意义,指纹分类的算法是通过判断奇异点位置来对指纹进行分类的。目前采用得较多的方法是曲率计算和求Poincare系数,由于Poincare系数可能判断出中心点和三角点,而曲率只能判断中心点,所以采用Poincare系数法。
点(i,j)的Poincare系数的计算公式如下:
1Poincare(i,j)2(k)
koNcif(k)/2(k),其中:(k)(k), if(k)/ 2
(k),if(k)/2Nd (k)o'(x(i'),y(i))o'(x(i),y(i)) i'(i1)moN表示环绕点(i,j)的闭合曲线上的图像点的个数,x(i), y(i)表示像素
点i的x,y坐标,O'是经过插值后的指纹方向图。所有角度的取值在,。
22Poincare系数的物理意义如图3-5所示。单中心点的Poincare系数表示围绕该中心点的闭曲线上的点的方向变化总和为π,纹线绕中心点的角度变化刚好为π,对双中心点来说则为2π。三角点的Poincare系数值表示围绕该三角点的闭曲线上的点的方向变化为-π,这是因为当该三角点的纹路方向1a,1b,1c满足:存在且仅存在两个纹路方向的夹角大于π∕2是,则表示该三个纹路确实是朝着三个差别较大的方向延伸,而不至于将分叉点判断为三角点。而对于普通点来说,Poincare系数的值为0,表示方向的变化为0。
15
图3-5 Poincare系数的物理意义
中心点和三角点的提取算法如下[3]:
1、计算指纹方向图O,经方向滤波平滑得到O'。
2、对O'中的每个像素点计算各点的Poincare系数值,将Poincare系数大于0的标记为1,小于0的点标记为2,将Poincare系数不为0的像素点组成图A。
3、对于图A计算其中每个点相邻的标记为1的像素点的个数Pc,当Pc>Pt时,则将该组像素点的重心作中心点,Pt为一经验阈值,实验所得取7或9较为合适,且当Pc大于20时,可以判定该组像素点中有两个中心点。
4、对于图A计算其中每个点相邻的标记为2的像素点的个数Pd,当Pd>Pt时,则将该组像素点的重心作为三角点。实验所得Pt取7或9较为合适Pt的取值是根据N的大小来确定的。
5、如果O'中检测到的中心点或三角点的个数在两个以上,则对O'再次进行平滑处理后返回第2步,否则算法结束。
3.2.3 脊纹特征的提取
脊的形状决定了指纹的全局构造,脊在指纹图像的构架中是具有显著特征的。一般地,在一幅完整指纹图像的外围线部分(上部),纹脊为一条光滑的单峰曲线;在指纹的根基线部分(图像的底部),纹脊为一条相对较平(即曲率较小)的曲线;而指纹的中心花纹(图像的中部),根据指纹的分类,纹脊一般有以下形式:单峰曲线模式、螺旋曲线模式、圆形曲线模式、平行重复模式、多重复模式等。纹脊的不同模式决定了指纹的类型。
我们在研究中按照文献中的方法将指纹的纹脊分为三类,无重复型、一类有
16
重复型、二类有重复型,如图3-6所示。
(a)无重复型 (b)一类有重复型 (c)二类有重复型
图3-6 纹脊的分类
定义一条长为n个像素点的纹脊为rr1,r2,r3rn,前后每对像素点之间
ne的八连接的,则可从r取样得到r'r1,r2e,r3erme,其中m=,e为取e样间隔,我们用下式计算纹脊r的累积方向:
1AO2(k)
k2m1if(k),(k),2(k), if(k)k)k( 1), (k)(2(k),otherw,ise其中(k)为从r'(k)到r'(k1)的角度变化。
根据文献可知,当r的累积方向AO小于150°时,可判断r为无重复型纹脊,当r的AO介于150°到270°之间时,r为一类有重复纹脊,当r的AO大于270°时,r为二类有重复纹脊。
3.3 指纹分类器算法
通过全局特征的提取,一般情况下可以根据中心点和三角点的数目和相对位置,辨识指纹的基本类型。指纹基本类型的模型如图3-7。
17
拱形 帐形 左环形 右环形 螺旋形
图3-7 指纹分类模型
设O为方向图,Nc和Nd为O区域中检测到的中心点和三角点的个数,N1、
N2为指纹中包含的一类有重复纹脊和二类有重复纹脊的个数。根据模型和文献
有以下算法:
1、如果N2>0,且Nc=2,且Nd=2,则为螺旋型指纹; 2、如果N1=0,且N2=0,且Nc=0且Nd=0,则为尖拱型指纹;
3、如果N1>0,且N2=0,且Nc=1且Nd=1,则按奇异点估计算法进行分类; 4、如果N2>T2,且Nc>0,则为螺旋型指纹;
5、如果N1>T1,且N2=0,且Nc=1则按奇异点估计算法进行分类; 6、如果Nc=2,则为螺旋型;
7、如果Nc=1,且Nd=1,则按奇异点估计算法进行分类; 8、如果N1>0,且Nc=1,则按奇异点估计算法进行分类; 9、如果Nc=0,且Nd=0,则为尖拱型; 10、如果上述条件全不满足,则拒认此指纹。
奇异点估计算法是用于判断左环、右环和尖拱型指纹中单中心点和单三角点的情况,具体算法如下:
1、计算通过核心点的对称轴;
2、计算核心点到三角点的连线与对称轴之间的夹角α;
3、计算在核心点到三角点连线上的纹脊的方向与该连线的夹角β; 4、计算经过核心点到三角点连线的纹脊的条数γ;
5、如果α大于10度,或β小于15度,且γ为0,则判断输入指纹为尖拱型;
6、如果三角点在对称轴的右边,则判断输入指纹为左环型; 7、如果三角点在对称轴的左边,则判断输入指纹为右环型。
18
第四章 分类算法在指纹考勤系统中的应用
4.1 指纹考勤系统的设计
指纹考勤系统分为指纹考勤签到软件和考勤管理软件两个相对独立的部分。指纹考勤签到软件作为日常考勤使用,验证员工的身份并记录准确的考勤时间;考勤管理软件的功能是登录员工的基本信息(包含指纹)、对考勤签到软件运行所得的考勤日常记录进行处理,设置考勤规则、假期、进行各种复杂的排版设置,最终根据全部的规则设置得到每一位员工的在考勤时间段中的考勤结果、统计打印考勤报表等[10]。具体软件系统的结构图见图4-1。
1、基本信息设置
该模块主要用来设置单位员工、部门的基本考勤基本信息。
①部门维护:该部门主要用于部门员工的设置,并能以部门为单元设定班次。 ②员工维护:该部分主要设定单位的员工信息,同时还处理员工登录考勤指纹、选定员工班次的操作。
指纹考勤管理系统 基本信息设置 考勤处理 查询/打印 系统维护 部门维护 员工维护 班次维护 员工排列 考勤规则 法定节假日 请假类型 员工公差 员工请假 员工加班 员工忘签到/退 异常考勤处理 请假类型 出勤记录查询 管理员设置 清除过期数据 异常查询 导入考勤数据 导出考勤数据 当前出勤查询 初始化系统 退出系统 考勤报表管理 图4-1 考勤管理系统结构图
③班次设定:该部分用来设定班次信息。
19
④员工考勤时间排定:该部分用于员工班次的设定,正常排班按班次顺序直接选择班次,对于员工倒班的情况选择倒班方案进行班次设定。
⑤倒班方案管理:倒班主要是针对一些单位特殊岗位的员工上班时间经常轮换,如班次轮换的顺序,起始时间,结束时间等。
⑥考勤规则设置:考勤规则设置主要是设定开始签到,结束签退的时间约束,上班后多长时间算迟到,下班前多长时间算早退,对迟到,早退等一些异常考勤的工资处理等等。
⑦法定节假日设置:对一些由国家法定假日规定的休息日的处理。 ⑧请假类型的设置:该部分主要设定一些特殊请假的类型。
⑨请假/加班规则设置:该部分用来输入不同的请假所涉及的扣工资额和单位员工加班所应加工资额。
2、考勤处理
系统结构的第二部分是考勤处理,主要由以下子模块组成。
①员工公差: 用来登记员工因公差的情况,包括员工ID号,出差起始和结束日期,所到城市等信息。
②员工请假:用来登记员工请假情况,包括员工ID号,请假类型,起始和结束日期,请假原因等信息。
③员工加班:用来登记员工的加班情况,包括员工ID号,加班起始和结束日期,加班原因等信息。
④员工排班:此模块用来对于员工忘记签到的特殊处理。 ⑤员工忘签退处理:该模块用来对于员工忘签退的特殊处理。
⑥集体迟到处: 该模块用来处理由于特殊的情况员工集体忘签到的处理,即人为的为每一个员工加入考勤签到记录。
⑦集体早退处理: 该模块用来处理由于特殊的情况员工集体没有签退的处理,即人为的为每一个员工加入考勤签到记录。
⑧预处理考勤记录:该部分主要在进行报表打印之前,对员工的考勤记录进行预处理,包括预览数据,并可对一些特殊情况进行校验,在此可人为进行数据更正,为报表的打印作最后的处理。
3、查询/打印
20
该部分是系统结构的核心部分,用于考勤结果的查询和考勤报表的打印输出。包括以下模块:
①考勤记录的查询:该部分主要查询员工出勤的情况,可单个员工查询,也可以以部门为单位查询集体出勤结果。
②异常查询:异常查询主要用来查询考勤中的特殊情况,如迟到、早退、缺勤、请假、加班等的查询。查询结果要求既能显示统计的异常结果,也能显示异常的明细清单,即发生异常的明细情况。
③当前员工出勤查询:该部分用于查询员工当前时间的出勤情况,结合员工的班次设置,可以统计出当前时间的员工在岗情况。
④员工在岗时间查询:该部分可以查询出员工应在岗时间。
⑤报表管理:结合员工的工资,正常考勤情况,请假,加班等异常出勤情况,可直接打印输出员工的工资单。还可以输出员工的基本信息情况,如部门表,员工表,员工考勤号,电话等人事管理的基本信息。
⑥考勤时间统计:以分钟为单位,统计实际工作时间。 4、系统维护
该模块主要对系统数据进行维护处理,并对系统操作人员和操作权限进行设置,分为以下子模块;
①管理员设置:该部分主要用于设置系统管理员及其操作密码。系统管理员可单独输入,也可以在员工表中选择。系统在没有管理员可进入系统,但提示设置管理员,一旦系统设置了管理员,则每次进入系统都必须验证管理员。
②清除过期数据:该部分主要用来清除系统过期不用的数据。
③导入考勤数据:对于单位有多个考勤点的系统,可以将各份考勤点的数据集中进行统计管理。
④导出考勤数据:对于单位有多个考勤点的系统,可以通过此功能将各份考勤点的数据导出,汇总到一个集中点进行统计管理。
⑤初始化系统:是对整个系统所有登录的数据进行清零处理,回到初始状态。 ⑥退出系统;
21
第五章 结论
5.1 工作总结
人类在追寻文档, 交易及物品的安全保护的有效性与方便性经历了三个阶段的发展。第一阶段也就是最初始的方法,是采用大家早已熟悉的各种机械钥匙。第二阶段是由机械钥匙发展到数字密钥如密码或条形码等。第三阶段是利用人体所固有的生物特征来辨识与验证身份。生物识别是当今数字化生活中高级别的安全密钥系统。
活体指纹识别技术是生物特征识别技术中最为成熟的一类,已广泛应用于各种场合的身份识别。本文对活体指纹识别技术研究的主要创新工作为:
(1)总结了当今活体指纹识别技术的发展现状,分析了活体指纹识别技术的工作原理,系统分析了指纹识别技术预处理的各个过程;
(2)在美国Uareu指纹识别开发包的基础上,加入了指纹自动分类功能,使指纹误识率得到改善,大指纹库的情况下,指纹识别速度得到较大的提高;
(3)在已有的众多指纹处理算法中,利用指纹方向图来对指纹图像进行滤波和平滑,提出了一种简化而实用的方向图求取法,并在此基础上提取指纹的奇异点——中心点和三角点,通过大量的实验数据获取可信的阈值,优化了提取算法,再根据奇异点的相对位置对指纹进行分类研究,得到了较为高效的结果;
(4)将活体指纹识别技术与考勤系统有机的结合起来,实现了活体指纹考勤的所有功能,并成功地应用到实际中,取得良好的效果。
5.2 进一步研究方向
由于人体特征具有人体所固有的不可复制的唯一性和终身不变性,这一生物密钥无法复制,失窃或被遗忘。而常见的口令、IC卡或钥匙则存在着丢失、遗忘及被盗诸多不利因素。因此采用生物“钥匙”,您可以不必携带大串的钥匙, 也不用费心去记或更换密码。而系统管理员更不必因忘记密码而束手无策。近年来无论是电子集成制造技术还是指纹识别算法的研究都取得了很大的发展。
进一步的研究主要包括:
22
(1)基于高性能数字信号处理(DSP)芯片的指纹自动识别系统研究 发展高性能DSP芯片的指纹自动识别系统是使指纹识别普及应用的方向,高性能DSP芯片具有很强的数字计算能力,可以加快指纹图像的处理;DSP芯片有很大的程序存储器和数据存储器,可以存储复杂的指纹识别算法程序和大批的指纹特征数据;还可以外接带TCP/IP协议的单片机,从网上传输数据,甚至可以做成无线传输指纹特征数据,由于这样的系统是功能强大,性能价格比高,对于指纹识别系统的推广应用特别是民用化非常有益。
(2)利用指纹识别进行身份认证在网络安全中的应用研究
由于TCP/IP协议的不安全,使得信息在网络上传输很容易遭到窃取和破坏,随着Internet的开放性、共享性、互联程度的不断扩大。为了确保信息在网络上的安全,信息的加密就成为网络安全信息系统的一个重要部分,但目前的加密一般是采用用户口令保存的方法。缺点:一方面口令容易忘掉,另一方面,容易被黑客通过各种方法破译,因此,急需一种更为安全方便的方法来保护密钥。
因此,将指纹自动识别技术融合到密码机制中,可以很好地解决用户密钥的保存和保护问题,使用户与外界安全地进行通信。主要思想是:将用户的密钥和用户指纹特征统一存储在密钥分配中心中,用户在使用密钥时通过自动指纹认证从密钥中心获取。
将指纹和密码相结合的加密机制还可以广泛地应用于互联网通信安全、电子商务、政府机构以及军事领域等。
23
参考文献
[1]Anil Jain, Lin Hong, Round Bole. On-Line fingerprint verification [J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 1997, 19(4): 302-314 [2]李晓昆.基于结构特征的指纹识别[J].计算机.工程与科学,1999,(2):25-29 [3]陈跃峰,肖自美,王植,方艳梅.指纹图像特征提取的新方法[J].计算机工程与应用,2001, (16):26-29
[4]李慧颖,傅德胜.微机指纹自动识别系统软件设计[J].计算机应用研究,2000,(12):75-76
[5]梁栋,洪力奋.一种指纹图像的特征提取方法[J].微电子学与计算机,1997,(1):35-38
[6]陈俊侠,李吉桂.一套有效的指纹图像预处理算法[J].华南师范大学学报(自然科学版),2000,(2):66-69
[7]朱霞辉,罗飞路,钱彦岭.一种有效的指纹图像的纹线细化处理法[J].计算机应用研究,1997, (10):18-19
[8]刘元宁,苑森森,朱晓冬.用于身份识别的指纹图像增强算法研究与应用[J].高技术通讯,2001,(1):26-28
[9]傅德胜,李慧颖.微机指纹自动识别系统的设计及实现[J].武汉交通科技大学学报,2000, 24(4):406--109
[10]陆颖,宋建中.模式识别理论在指纹自动识别中的应用[J].光学精密工程,1998, 6(1):31-35
[11]杨海军,梁德群.一种新的指纹图像预处理方法[J].西安交通大学学报,2000,34(6):40-43
[12」马笑潇,黄席越,周欣,黎星,刘涛.指纹自动识别系统中的关键技术——方向图[J].重庆大学学报(自然科学版),2001,24(3):91-94
24
致 谢
在四年的大学本科学习即将结束的时候,衷心地感谢乐洋老师在我大学的最后学习阶段——毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,他给了我耐心的指导和无私的帮助。他为本文倾注了大量的心血,他的这种无私奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意!同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意!
感谢我的朋友们对我的理解、支持、鼓励和帮助,正是因为有了他们,我所做的一切才更有意义;也正是因为有了他们,我才有了追求进步的勇气和信心。感谢我的父母,他们的支持是我完成学业的保证,是我不断前进的动力。
最后我还要感谢电子信息工程系和我的母校——河海大学四年来对我的栽培。
25
因篇幅问题不能全部显示,请点此查看更多更全内容