一种指纹识别系统及其控制方法

文档序号:7686382阅读:162来源:国知局

专利名称::一种指纹识别系统及其控制方法
技术领域
:本发明涉及生物特征识别
技术领域
,具体涉及指紋识别系统及其控制方法。
背景技术
:指紋识别,每个人包括指紋在内的皮肤紋路在图案、断点和交叉点上各不相同,呈现唯一性且终生不变。据此就可以把一个人同他的指紋对应起来,通过将他的指紋和预先保存的指紋数据进行比较,就可以验证它的真实身份,这就是指紋识别技术。指紋识别主要根据人体指紋的紋路、细节特征等信息对操作或被操作者进行身份鉴定,得益于现代电子集成制造技术和快速而可靠的算法研究,已经开始走入我们的日常生活,成为目前生物检测学中研究最深入,应用最广泛,发展最成熟的技术。可用于识别的指紋的特征分为两大类,即总体特征和局部特征。总体特征主要是指那些用人眼直接就可以观察到的特征,如基本紋路图案、模式区、核心点、三角点、式样线、紋线数量等。而局部特征则是指紋上的节点,如终结点、分叉点、孤立点极其方向和位置等。指紋识别技术主要涉及四个功能读取指紋图像、提取特征、保存数据和比对。在一开始,通过指紋读取设备读取到人体指紋的图像,取到指紋图像之后,要对原始图像进行初步的处理,使之更清晰。接下来,指紋辨识软件建立指纹的数字表示——特征数据。最后,通过计算机模糊比较方法,把两个指紋的模板进行比较,计算它们的相似程度,从而得到匹配结果。指紋识别作为一项利用人体固有的生物特征信息来识别个体真实身份的技术手段引起了国内外学术界和工业界的广泛关注,并逐渐成为了计算机辅助身份识别领域中的一个研究热点。同时,它在商业方面的一些成功应用使得软件开发商不断研制和开发出新的指紋识别产品和技术。由于国内的科研院所和企业在这方面的研究起步较晚、基础也比较薄弱,无法确定指紋识别系统项目的投入风险和预期的收益,加上目前的在指紋识别系统中仍然有许多还没有被解决好的技术难点,以及各行业对部署指紋识别系统的投资力度不够,这些原因都使得国内的指紋识别应用进展十分緩慢。目前的指紋识别相关产品的核心技术大多都是由国外的著名高校和大型企业提供,如美国的密歇根州立大学、Microsoft和IBM等;国内也只有少数企业开发了自主知识产权指纹识别算法,而购买和使用这些核心技术需要用户花费大量的人力和物力。这些指紋识别系统一般面向单一的功能应用而设计,如指紋考勤系统、指紋门控系统和电子指紋锁等,市场上还没有出现一种基于多应用集成的指紋识别系统软件。这使得对指紋识别产品有需求的企业在选购、部署系统时难免会降低使用效率、增加客户投资总额,因此常常会给客户带来诸多不便。目前国内工业界较为有名的指紋识别系统为中科院的Fingerpass嵌入式指紋识别系统、深圳中控科技的ZKFinger、杭州中正的指紋系列产品,以及IBM、SUN、IDTECK、索尼、Compaq等公司的产品,这些产品都已经在市场上得到了较好的推广,但也有一定的缺陷和需要继续完善的地方。这些指紋识别产品的不足方面主要表现在1、都是针对特点功能开发,缺乏其它功能的扩展性,一次购买难以应对多种应用情况;2、软件系统仅支持特定的指紋采集仪器,对硬件设备不具有通用性;3、算法升级困难,难以实现算法模块的无缝加载;4、接口非公开,难于实现柔性的二次开发。
发明内容本发明所要解决的技术问题是一种指紋识别系统及其控制方法,该系统克服现有技术的缺陷,提供在线\离线的、基础算法库可以无缝扩展的、功能可以选配的指紋识别系统服务,可以使用户在不需要投入大量资金的情况下,获得高质量的身份识别和认证服务。本发明所提出的技术问题是这样解决的提供一种指紋识别系统,包括指紋数据库、中心服务器和客户端三大部分,其特征在于,指紋数据库主要用来存储经过数字编码后的指紋特征信息,中心服务器主要负责验证客户端合法性、接收指紋特征数据、特征比对和回送指紋识别结果,客户端主要负责采集指紋、提取并上传指紋特征数据;中心服务器包括合法性验证模块、系统管理模块、特征比对模块、二次开发接口模块、算法加载模块、流程定制模块、状态监控模块和识别服务模块,客户端包括指紋采集模块、指紋预处理模块、特征提取模块和模式分类模块,数据通信模块连接中心服务器和客户端,其中合法性验证模块服务器对请求服务的客户端进行使用权限验证,防止非授权用户向中心服务器提出指紋识別服务请求。指紋采集模块客户端离线采集指紋图像或者在线采集活体指紋图像,其中离线采集指紋主要采集BMP格式和JPG格式的图片,JPG格式文件先对其进行数据分解,从压缩数据分离出的码表和量化表分解文件,在对其进行离散余弦反变换得到图像数据;指紋预处理模块对客户端所采集的指紋进行增强,包括对指紋有效区域分割装置和指紋的方向场装置以及利用M-PCNN网络对预处理以后的图像进行滤波的装置;特征提取模块提取客户端所采集指紋的全局特征和细节特征,包括指紋的模式类型,客户端点、分叉点位置及其坐标值,包括提取全局特征的傅里叶频i普特征提取装置和细节特征提取装置;模式分类模块主要负责对指紋的模式进行分类,将指紋模式分为六类漩涡、左环、右环、双环、拱型和尖拱;特征比对模块将客户端上传的指纹特征和数据库中存储的指纹特征进行比对,计算两者之间的特征相似度,包括指紋对齐装置和相似度计算装置;二次开发接口模块提供二次开发接口,为用户构造新业务逻辑;算法加载模块对完成的新算法模块进行加载、管理算法模块的标识和接口信息;流程定制斗莫块维护已有的流程、新增流程、为流程各阶段配置算法;状态监控模块监管各在线、离线客户端的服务请求及运行情况;识别服务模块处理客户端请求的服务,主要包括指紋注册、指紋识别、指紋-验证和连接请求;系统管理模块:管理基本算法的加载、指紋识别的基本算法选配、指紋客户端授权管理、指紋识别应用系统组装和算法运行结果评估;数据通信模块在客户端和服务器之间建立通信连接、发送和接收指紋特征数据以及指紋识别结果信息。按照本发明所提供的指紋识别系统,其特征在于,所述二次开发接口模块主要是要提供下表中的二次开发接口函数<table>tableseeoriginaldocumentpage11</column></row><table>这些接口函数封装在用户可以编程调用的名为FIG—NN_API的动态链接库中。一种指紋识别控制方法,其特征在于,包括一下步骤(1)客户端通过通信接口连接中心服务器,客户端身份经过的合法性验证以后,获得相应的服务请求授权;(2)采集待识别指紋数据,进行模式分类和初步处理;(3)将步骤(2)经过初步处理的指紋数据进行指紋预处理,包括以下几个小步骤①指紋有效区域分割将指紋图像分成一系列16x16非交叉的图像块,各块分别标记为B(l,l),B(l'2),…,B(i,j),然后利用下列公式v(i,j)<formula>formulaseeoriginaldocumentpage12</formula>来计算各图像块的像素灰度值方差,其中、和5分别表示该图快中像素的灰度值,N表示图块中包含的像素数量,设置分割阈值^-11.5,分别将各图块的方差值与Vp比较,如果v(i,j^v^则该图块B(ij)被判定为有效的指紋区域,否则被判定为指紋背景;②指紋的方向场计算分别计算图块B(i,j)中每一个像素在x和y方向上的梯度《和G,利用公式d(i,j)<formula>formulaseeoriginaldocumentpage12</formula>计算图块B(ij)的局部方向,式中",乂)表示图块中像素的坐标,w表示图块的像素宽度,计算得到的图块局部方向值只取四个分量值O、71/4、兀/3和3兀/4中最近似的一个值,图块最终的局部方向d(z',力e(0,4;r/4,7r,3;r/4),通过方向场的一致性特征修正方向场计算结果,在图块B(i,j)的5x5的邻域D范围内,计算其一致性值C(ij)<formula>formulaseeoriginaldocumentpage12</formula>此公式中有<formula>formulaseeoriginaldocumentpage12</formula>如果C(ij)0.35,则将图块B(i,j)的局部方向调整为邻域D内局部方向最显著的方向,否则图块B(g)的局部方向保持不变;③使用M-PCNN网络对预处理以后的图像进行滤波;(4)将步骤(3)中经过处理后的指紋图像进行特征提取,包括全局特征提取和细节特征提取①全局特征提取为傅里叶频谱特征首先将输入的指纹图像分割成32x32的图像块,并对图块做二维离散傅里叶变换,公式为C(附,")=^ZZ"exp(-/2;r(:+^)))公式中,(m,n)是像素的值域坐标,(i,k)是4象素对应的频域坐标,每个子图块经过傅立叶变换以后,便得到了全图的傅立叶频语图,将其按规则量化成指紋的全局特征向量;②细节特征提取,包括核心点、分叉点和端点;(5)向中心服务器发送经过步骤(4)所提取的指紋图像的特征数据;(6)中心服务器接收并分解上传的特征数据,保存于待匹配特征数据队列;(7)指紋特征比对模块根据系统当前选配的匹配算法检索数据库,记录每次比对得到的相似度数据;(8)中心服务器确定当前识别结果,并回送对应的客户端;(9)客户端接收处理结果,并据此执行后续动作;其中步骤(l)中,中心服务器响应客户端的服务请求的处理步骤如下①通信模块接收来自客户端的指紋识别服务请求,并验证其合法性;②中心服务器通过通信模块向客户端发送请求允许信号,示意当前的请求已经被核准,能发送指紋特征数据。按照本发明所提供的指紋识别的控制方法,其特征在于,步骤(3)中M-PCNN网络对预处理以后的图像进行滤波包括以下步骤①初始化时,依据图像的尺寸构造PCNN网络,且PCNN神经元与图像像素点——对应;②在方向场和分割结果的配合下,让PCNN运行,并不断地修改点火神经元的负载信号强度,当神经元的活性大于给定阈值时,神经元发生点火,将像素的灰度值进行更新;③设定神经元运行规则,让PCNN不断运行,网络中点火的神经元触发对像素灰度值进行修改,当PCNN网络稳定时,从各神经元的负载信号值就得到了被滤波增强以后的图像。按照本发明所提供的指紋识别的控制方法,其特征在于,步骤(4)中细节特征提取步骤中,核心点^是在指紋指紋方向场的基础上,利用poincare方1w炉法提取的,该值?(")=+2厶(",其中A(k)符合if|吝(*》|<!雄H龙+柳,if柳£—!,2豕一^(it乂otherwise在(《=(,*'))—0'C^咏伊,('*>),计算结束后,再判断p(ij)的值,如果P(i,j)K).5,则为核心点;分叉点和端点的提取是通过滑动模板法检测得到的,首先定义分叉点和端点的像素结构模板,分别将该模板按从左到右、从上到下的顺序遍历全图。模板每滑动一次,便计算模板与图像对应区域的符合程度,当符合值大于0.7时,就判定图像的当前像素与使用模板对应的细节特征一致,即如果符合分叉模板,则该像素点是分叉点,如果符合端点纟莫板,则该像素就是端点。按照本发明所提供的指紋识别的控制方法,其特征在于,步骤(7)中,指紋特征对比包括以下步骤①指紋对齐输入指紋特征点集合Vi={vl,v2,.."Vn},其中vi=(x,y,e),Tj^tl,t2,…tm)为模板指紋的特征点集合,首先对核心点对齐,对齐以后,Vi点集的坐标做如下变换二A+(A。一A。)和y';=X+(X。—乂。),其中(X。,X。)和(A。,乃。)分别模板指紋和输入指紋的核心点;然后再旋转对齐,而旋转对齐则是通过求一个反射变换t而得到的<formula>formulaseeoriginaldocumentpage15</formula>在上述变换中,核心点对齐,Ax和Ay已经确定,"通过j吏表达式vf一"v,.)l2<P成立,求Vi和Vt匹配点对数最大来得到的,其中e是一个设定的阈值,设置为0.05;②相似度计算对于全局特征匹配,其输入指紋和模板指紋的特征是傅立叶频谱特征,特征向量就是频谱图像素串行化结果,两者之间的相似度是通过计算不等长向量之间的欧氏距离来实现的,其中的相似度按下列公式计算_s=(l--^_)xl00%max(v,.,v,)公式中,dis是两者的欧氏距离值,max(v,.,v,)表示取输入向量和模板向量中最大的向量长度;对于细节特征匹配,是以模板为基准,将输入点集Vi按(Ajc,Ay,a)变换投影到模板点集Vt上后,计算在距离误差小于5个像素位置内,所有的匹配点对数量来确定的,此时的相似度值按下列公式计算S=exlooo/omax(v,.,v,)公式中,。一表示成功配对的点的数量,max(巧,v,)仍然表示输入点集和模板点集中最大的细节点数目;③指紋识别计算得出输入指紋和模板指乡丈之间的相似度数据S以后,再将s与预设的识别阈值y;比较,这里的j;是根据不同的安全性要求加以调整,如果s^;则判定两个指紋成功匹配,即来自于同一手指,否则判定两个指紋不是来自于同一手指。本发明的功能按处理阶段分别驻留于客户端和中心服务器,基础算法库可以不断加载新的指紋处理算法模块,指紋识别过程可以选配不同的处理算法单元,以适应不同性能要求的应用环境,系统以中心服务器对各客户端集中控制,能有效防止未经系统使用授权的客户端接入该系统并发起非法服务请求,其对第三方提供了完备的二次开发接口,方便使用者据此构建新的基于指紋识别的应用系统软件,系统基于神经网络模型开发,如脉冲耦合神经网络(PCNN)、支持向量机(SVM)等,具有很好的并发能力和模糊识别能力,系统内置的指紋设备适配中间件模块使该平台能兼容市场上大多数厂家生产的指紋釆集仪器。本发明将指紋识别应用和算法测试评估集于一体,既可以部署为常规的指紋识别应用软件,也可以配置成为新开发的指紋基本算法模块的试验测试评估平台。能够集中地对所有指紋客户端用户提供便利的身份识别和认证服务,只需购买客户端使用权即可获得快速高效的指紋识别服务,以利于用户节省投资。系统中客户端和服务器之间的通信,都通过目前广泛分布的互联网进行,充分利用现有资源以节约通信成本。客户端可以选配指紋增强算法、细化算法、特征提取算法等,服务器也可以选配指紋数据库检索算法,指紋特征匹配算法等基础的处理算法,也可以实时调整相似度决策规则。用户可以通过封锁某些功能后将其配置成功能单一的应用系统软件,也可以配置成算法测试评估平台。本发明最多可以支持500个客户端,使小型用户在不需要投入大量资金购买并部署整套系统的情况下,即可获得高质量的指紋识别服务,从而为公司和企业的身份认证需求提供强力支持。本发明是在互联网上为用户提供统一的指紋识别服务用户通过注册后可以使用系统提供的各种处理算法模块(如指紋图像增强、方向场计算、模式分类等)。用户也可以在授权范围内,针对各自的应用特点选配合适的处理算法,如选择Gabor滤波增强算法或RNN增强算法。同时,出于对用户的数据安全和数据隐私的保护考虑,整个系统只记录指紋特征it据,不记录釆集到的任何原始指紋图像,有利于实现个人隐私的保护。本发明所提供的指紋识别系统集成平台软件功能十分强大,涵盖了当前指紋识别研究领域大多数的成熟算法;系统采用分布式架构,可以使系统的应用部署突破地域限制和消除瓶颈实现较好的负栽均衡,从而提高系统总体吞吐能力。本发明是在Net平台上用C弁语言行开发的,整个系统采用三层体系结构模型。其中指紋客户端层主要包括指紋采集设备、仪器接口适配中间件,指紋增强模块、特征提取模块、通信模块等对象;中心服务器主要包括数据库检索模块、特征比对模块、系统管理模块等;数据库主要由MSSQLSERVER2000构成。本系统虽然在逻辑上是基于分布式系统开发的,但整套系统在物理上也可以部署在同一台计算机上,节省硬件投资。指紋识别系统集成平台软件的开发过程完全按照国家软件工程标准进行,并且采用面向对象的分布式组件开发方式,在设计阶段充分考虑了系统的可扩展性和移植性和数据安全性,从而确保了该软件系统具有了较好的扩展性、数据安全性和广泛的适应性。本发明的主要特点归纳如下1、系统采用分布式的三层体系结构模型,按照软件工程规范开发,客户端和应用服务器逻辑分离,从而均衡了客户端处理机和服务器的工作负载,大大提高了系统可支持客户端数量的上限。2、系统集成的指紋算法库内容十分丰富,几乎涵盖了目前所有主流的指紋处理算法,用户还可以根据实际情况开发新的处理算法并增加到相应的基本算法库,以供用户根据应用特点进行合理选配、使用。3、系统集成的指紋采集设备接口中间件使得该系统能够支持市场上大多数的指紋釆集设备,该中间件模块还可以不断得到扩展,使系统能支持更多的设备,提高了系统对硬件环境的适应能力。4、系统的功能实现基于分布式,多线程思想。处理的指紋特征数据的来源是分布和透明的,用户无需知道系统中应用服务器和数据库服务器的具体部署位置,整套系统即可以部署在同一台计算机上,也可以部署在网络中不同的计算机上。此外,应用服务器针对每一个提出服务请求的客户端开启一个服务线程与其对应,提高了系统的并发处理能力。5、系统采用客户端身份验证策略,可以确保非授权客户端对本系统的非法使用,且服务器传输和处理的仅是指紋特征数据,从而起到保护用户资源、保证数据安全和保护个人隐私的目的。6、系统提供了灵活的配置策略,用户视具体情况封锁冗余功能后,可以将本系统配置成单一的指紋识别应用系统,也可以配置成新增算法的实验测试、性能评估平台。随着网络在中国的逐渐普及,以前应用领域的千变万化,目前功能单一的指紋识别系统软件正向分布式、通用性、集成型综合平台软件方向发展。可以预测未来的指紋识别软件发展方向是面向互联网络、面向分布式架构、功能丰富、自由灵活。本系统以在线和离线方式为用户提供完整的指紋识别服务,其算法库可以自由扩展,能适应多种指紋采集仪器,可以并发地响应多个客户端的服务请求;同时本系统通过对客户端进行严格的使用授权和身份验证,以及仅处理提取到的特征数据,这样既能防止非法使用也确保了系统的安全性,同时也能对个人隐私进行有效保护。图l是本发明的体系结构图2是本发明的功能层次分布图3是本发明的客户端的功能模块图4是本发明的中心服务器的功能模块图5是本发明的控制流程图6是本发明的算法加载模块控制流程图7是本发明的指紋识别流程选配控制流程图8是本发明的合法性验证流程图9是本发明的JPG算法流程图IO是本发明的在线采集活体指紋功能实现原理图;图11是本发明的PCNN网络的神经元结构图。具体实施例方式以下结合实施例对本发明进一步说明。本发明所提供的指紋识别系统集成平台软件严格地按照标准指紋识别工作流程来设计系统的各个功能模块,基于系统的可扩展性考虑,在设计时使各个模块独立化、接口标准化,这样每个模块内部的变化不会引起其它模块大的改动,这样的模块独立化有利于系统的快速更新和扩展升级,以适应指紋识别技术的飞速发展。该系统总体结构如图1所示,其部署包括四个部分,分别是指紋数据库,中心服务器,通信网和客户端。其中指紋数据库的系统平台为windowsserver2003,数据库平台为MSSQLserver2005(Enterprise);中心服务器(识别服务器)的系统平台为windowsServer2003;通信网为普通internet或intranet环境;客户端的运行平台为windows2000/XP,附标准配置的"乙木"XYZ-1型指紋采集仪器。,本系统的核心识别模块运行在中心识别服务器上,而其它处理模块则运行于客户端上。整个网络以中心识别服务器为中心,若干客户端与之呈星型模式连接,在系统正常运行的时候,由客户端负责离线或者在线地釆集指紋图像,并将处理得到的指紋特征码通过网络发送到中心服务器,并由中心服务器上的核心处理模块进行识别(1:N)或验证(1:1),中心服务器对当前指紋处理结束后向工作站返回处理结果。本发明所提供的指紋识别系统功能层次分布如图2所示,最下层为软硬件运行平台(计算机硬件设备、操作系统、指故仪器),在下层之上是集成平台软件系统,包括了指紋识别所需的若干处理过程,比如平台的管理、指紋釆集、预处理、特征提取、指紋比对等处理过程。图3和图4从软件组成功能方面显示了本平台软件系统的两个核心部分,即中心服务器和工作站(客户端)子系统软件包括的功能模块。如附图3所示,客户端包括的功能模块分别是通信模块,指紋采集模块,指紋预处理模块,模式分类模块,特征提取模块,显示模块。其中通信模块主要与"中心服务器,,上的对应模块交换数据,发送客户端身份信息、上传指紋特征数据,接收所请求服务的处理结果;指紋采集模块主要完成指紋的在线或离线输入,以及简单的预处理等功能;预处理模块主要完成指紋图像增强、计算方向场、细化等功能;模式分类模块主要负责对指紋的模式进行分类(分六类漩涡、左环、右环、双环、拱型和尖拱);特征提取模块主要完成对指紋的全局特征或者细节点特征进行提取,并按串格式编码,等待通信模块向服务器发送;显示模块主要显示工作站的工作状态、工作模式、连接状态、注册或识别(含验证)结果等。"中心服务器"子系统包括的功能模块分别是通信模块,系统管理模块,算法加载模块,流程定制模块,状态监控模块,识别服务模块。其中通信模块主要负责接收客户端发送的合法性验证信息、也接收上传的服务请求类型(注册或识别)及相应的指紋特征数据,以及向客户端回送处理结果;系统管理主要负责配置系统运行参数、管理后台的基础数据、客户端工作站管理和平台安全性控制等;算法加载模块完成对新的算法模块进行加载、管理算法模块的标识、接口信息等;流程定制模块负责维护已有的流程、新增流程、为流程各阶段配置算法等;状态监控主要负责监管各在线(离线)客户端的服务请求及运行情况;识别服务模块负责处理客户端请求的服务,主要包括指紋注册、指紋识别(1:N)、指紋验证(l:l)、连接请求等核心服务内容。下面对几个重点模块进行说明合法性验证模块服务器对请求服务的客户端进行使用权限验证,防止非授权用户向中心服务器提出指紋识别服务请求。这部分的实现原理如图8所示,这里为了叙述方便,将客户端的IP地址记为IPc,中心服务器的IP地址记为IPs,端口号为n_port。在中心服务器启动的时候,自动创建一个端口号为n_port的服务程序。客户端需要向中心服务器请求合法性验证之前,需先与中心服务器建立连接,本模块中客户端通过套接字(socket)提出连接请求,参数为(IPs,njport)。服务器响应了客户端的连接请求以后(如图连接确认),客户端便和服务器建立了通信连接。通信连接建立以后,客户端按数据结构格式(Term—code,IPc,Mac—addr,User_name,User—PSW,Authorized)组装身份信息,这里Term_code指客户端代码,IPc和Mac一addr分别是客户端的IP地址和物理地址,User_name和User_PSW分别是操作员帐号和口令。身份信息组装完成以后,客户端将此身份信息经由通信连接向服务器发送。服务器收到此身份信息后,与后台数据库中保存的合法客户端信息相比较,如果不存在此身份的客户端,则判定当前客户端为非授权客户端,并立刻断开其通信连接。如果判定当前客户端合法,则随机产生一组长度为8的字符串STR—USER作为客户端识別码返回给客户端。在后续的指紋识别、验证请求服务中,客户端凭借此识别码str一user表明自己是经过服务器授权的合法使用者身份。指紋采集模块客户端离线采集指紋图像或者在线采集活体指紋图像。本模块的子模块构成情况如表所示指紋采集模块离线采集BMP、JPG在线采集活体指紋设备扩充加载设备驱动创建配置表项本模块离线采集支持BMP、JPG格式的图片,对于离线采集的JPG指紋图,模块对其进行JPG解码并转换成位图数据。釆用的JPG解码算法流程如9所示,其中,JPG压缩数据通过分解文件得到,而然后再根据它得到解码所需要的码表和量化表,IDCT是对图像进行离散余弦反变换。通过JPG解码以后,得到YcbCr色彩系统的数据,并对其进行灰度转换,得到输入JPG指紋图像的256阶灰度数据。如果离线输入的是BMP格式指紋图像,则通过分解BMP位图文件,直接得到DIB图像数据。如果不是该DIB图像数据还没有经过灰度变换,则也要对其进行灰度变换,最终得到256阶灰度数据,这些灰度数据将会作为指紋处理模块的基准输入数据。如果是通过指紋采集设备在线采集的活体指紋,则设备的输出数据直接就是256阶灰度数据,因此只需要从设备接口指示的内存緩冲区中读取即可,不需要再进行其它处理。本软件系统目前已经集成了中控科技1110;2000指紋釆集器和乙木科技XYZ-1指紋采集仪,理论上可支持市场上所有的指紋采集设备。在线采集活体指紋这部分的功能实现原理如图IO所示,图中由模块中的检测子模块检测客户端上安装的指紋设备,并根据检测结果读取相应的配置表,从配置表中获得该设备的驱动接口信息(INT—FUNCTION—NAME),再根据这些信息确定采集动作触发信号(CAP一FLAG)。在采集指紋的时候,模块则根据此CAP_FLAG信号判定是否有指紋采集动作发生,如果有则根据接口传送的指紋数据緩沖区首地址和数据量读取采集到的指紋数据。模块中是通过后述过程来实现指紋设备扩充的首先加载指紋设备的驱动程序,然后为该新设备创建配置表项。配置文件表项包括的基本字段为设备编号(DEV一ID)、设备名称(DEV—NAME)、接口函数名(INT—FUNCTION—NAME)、路径(INT—PATH)等。指紋预处理模块客户端对所采集的指紋图进行增强。本模块釆用两个步骤对低质量的指紋图像进行增强,第一个步骤对原始指紋图像进行预处理,第二个步骤是用M-PCNN网络对预处理以后的图像进行滤波。其中第一步又分为两个过程,分别是指紋有效区域分割和指紋的方向场计算,对原始指紋图像进行预处理的步骤中,先将输入的原始指紋图像分成一系列16x16非交叉的图像块,各块分别标记为B(l,l),B(l,2),…,B(i,j),然后利用下列公式v(i,j)(Xj—x)+(x2—7)+...+(X—X)来计算各图像块的像素灰度值方差。公式中、和5分别表示该图快中像素的灰度值,N表示图块中包含的像素数量。设置分割阈值^=11.5,分别将各图块的方差值与^比较,如果v(i,j)〉Vp,则该图块B(i,j)被判定为有效的指纹区域,否则被判定为指紋背景。此处理过程结束以后,指紋有效区域便从背景中分割出来了。然后再用灰度下降法计算分割以后的指紋有效区域对应的方向场。模块中采用的具体算法流程如下(1)分别计算图块B(i,j)中每一个像素在x和y方向上的梯度《和A(2)利用公式d(i,j)"..、1d(',/)=一arctan2乂"l_"i、=i计算图块B(i,j)的局部方向,公式中《")表示图块中像素的坐标,w表示图块的像素宽度。利用公式计算得到的图块局部方向值只取四个分量值O、7i/4、兀/3和37T/4中最近似的一个值,因此图块最终的局部方向d(/,_/)e{0,4;r/4,;z",3;r/4};(3)通过方向场的一致性特征修正方向场计算结果。在图块B(i,j)的5x5的邻域D范围内,计算其一致性值C(i,j):此公式中有j如果cK丌,这里d=mod(c(/',')-c0',/)+2")d_;r其他情况如果C(U)0.35,则将图块B(i,j)的局部方向调整为邻域D内局部方向最显著的方向,否则图块B(i,j)的局部方向保持不变。在指紋增强中,使用的是PCNN滤波方法。PCNN网络的神经元结构图11所示,神经元的活性U(m,,n,)服从下列规则<formula>formulaseeoriginaldocumentpage23</formula>在初始化的时候,依据图像的尺寸构造PCNN网络,且PCNN神经元与图像像素点——对应。图像的增强实际上就是在方向场和分割结果的配合下,让PCNN运行,并不断地修改点火神经元的负载信号强度。为PCNN滤波设计的四个矩阵如下<formula>formulaseeoriginaldocumentpage24</formula>当神经元的活性大于给定阈值时,神经元发生点火,则像素的灰度值按下列公式进行更新<formula>formulaseeoriginaldocumentpage24</formula>其中有的系数5按下列规则确定:<formula>formulaseeoriginaldocumentpage24</formula>通过上述规则,PCNN不断运行,网络中点火的神经元触发对像素灰度值进行修改。当PCNN网络稳定时,从各神经元的负载信号值就得到了被滤波增强以后的图像。特征提取模块客户端提取指紋的全局特征和细节特征,包括指紋的模式类型,客户端点、分叉点位置及其坐标值。本系统中使用的全局特征为傅里叶频镨特征,使用的细节特征包括核心点、分叉点和端点,在本模块中分两个步骤提取指紋特征傅里叶频i普特征的提取首先将输入的指紋图像分割成32x32的图像块,并对图块做二维离散傅里叶变换,公式为(抓"exp(".2《+公式中,(m,n)是像素的值域坐标,(i,k)是像素对应的频域坐标。每个子图块经傅立叶变换以后,便得到了全图的傅立叶频镨图,这个频谱图按规则量化成指紋的全局特征向量。细节特征的提取本模块中涉及的指紋细节特征是核心点、分叉点和端点,其中核心点是在指紋方向场的基础上,利用poincare方法提取的,该值Pa力-丄gA()t),其中A(k)符合麟-—广柳,if聰-f,K一S(jfc),otherwise在仪)-0'C^O),伊,(0),:-'=(i'+l)modW,,计算结束后,再判断p(i,j)的值,如果P(i,j)岣.5,则为核心点。指紋中的分叉点和端点是通过滑动模板法检测得到的,分别为分叉点和端点定义使用如下的像素结构模板<table>tableseeoriginaldocumentpage25</column></row><table>检测分叉的模板检测端点的才莫板定义了这两个特征模板以后,分别将该模板按从左到右、从上到下的顺序遍历全图。模板每滑动一次,便计算模板与图像对应区域的符合程度,当符合值大于0.7时,就判定图像的当前像素与使用模板对应的细节特征一致,即如果符合分叉模板,则该像素点是分叉点,如果符合端点模板,则该像素就是端点。傅立叶滤波得到的频谱特征,直接将频谱图中像素的灰度值按从左到右、从上到下的顺序进行串行编码,得到特征向量,检测到的细节特征,按数据结构(特征点序号,细节点类型,X坐标,Y坐标,方向角)进行编码,特到细节特征数据。数据通信模块负责在客户端和中心服务器之间建立通信连接、发送和接收指紋特征数据以及指紋识别结果信息。本模块是通过SOCKET技术实现的,详细情况如后。在服务器端,用标准函数socket(AF—INET,SOCK—STREAM,IPPROTO—TCP);创建一个服务性SOCKET,再用bind函数将其与服务器IP地址进行绑定,并在制定端口(nj50rt)上进行监听。在客户端,利用SOCKET创建一个以客户端IP地址和服务器端口n_port为参数的SOCKET对象,该对象便在指定端口上与服务器进行通信。系统管理模块本模块的主要功能是负责基本算法库的加载、指紋识别各基本算法选配、客户端端授权管理、指紋识别应用系统组装、算法运行结果评估,(1)算法加载子模块。先将不同算法封装成单独的DLL(动态链接库),一个算法封装成一个DLL,且唯一命名。然后用COPY函数复制到算法库文件夹,实现算法DLL上传到系统。然后为DLL创建配置表项,该配置表项的结构如下StructureAlgorithm_ConfigAL—TYPE:算法类别AL_CODE:算法编号ALNAME:算法名称AL—FUNC:算法对应DLL的入口函数FUNC—IN:算法入口函数的输入参数说明FUNC—OUT:算法入口函数的输出参数说明算法的类别包括四个大类,分别是指紋增强(类别码0)、特征提取(类别码1)、指紋匹配(类别码2)、指紋分类(类别码3)。算法编号的数据格式是类别码+序号。(2)客户端管理子模块。客户端管理包括信息维护和客户端授权管理,其中信息维护主要是对客户端设备信息和客户端使用者信息进行增加、删除、修改等操作,客户端设备信息结构是(Term_code,IPc,Mac—addr,User—name,User—PSW,Authorized),这里Term_code指客户端代码,IPc和Mac_addr分别是客户端的IP地址和物理地址,User_name和User一PSW分别是主管操作员帐号和口令,Authorized是授权标志。客户端授权是利用SQL的UPDATE操作,为客户端信息表中的Authorized字段设置TRUE值,表明该客户端已经获服务器授权,可以向服务器提出服务请求。(3)应用系统组装子模块。包括两大部分,一是定制系统流程,二是设置算法参数。本模块针对不同特性的指紋识别系统,定制其处理流程,按指紋处理流程分别选择不同的增强算法、特征提取算法、匹配算法、指紋分类算法,并将选择结果保存。设置算法参数主要是在流程中各算法选择确定以后,分别为每个算法设置相应的参数,如增强滤波窗口的尺寸大小、匹配算法的阈值e、指紋分类的类别数量等等。(4)系统性能评估子模块。在这个模块中,主要是从三个方面评测给定指紋识别系统在给定的指紋样本上得到的性能结果,分别是FAR(错误接受率)FRR(错误拒绝率)、ROC综合曲线、响应时间特性T。特征比对模块将客户端上传的指紋特征和数据库中存储的指紋特征进行比对,计算两者之间的特征相似度。这部分功能由以下三个处理阶段来实现的(1)指紋对齐为了使匹配算法具有对旋转和平移稳定性,为了叙述方便假设点集Vi={vl,v2,...,Vn}为输入指紋的特征点集合,其中vi=(x,y,e),Tj^tl,t2,…tm)为模板指紋的特征点集合。为了实现Vi和Tj的整体对齐,首先对核心点对齐,对齐以后,Vi点集的坐标做如下变换x=+Of。—x,。)和_y','=乃+(X。-X。),其中(X。,X。)和(X。,乃。)分别模板指紋和输入指紋的核心点。然后再旋转对齐,而旋转对齐则是通过求一个反射变换t而得到的<formula>formulaseeoriginaldocumentpage28</formula>在上述变换中,因为已经进行了核心点对齐,因此Ax:和Ay已经确定,实际上只需要再确定旋转角度"即可,而"又是通过使表达式v,—《v》|2<6>成立,求Vi和Vt匹配点对数最大来得到的,其中e是一个设定的阈值,设置为0.05。(2)相似度计算对于全局特征匹配,其输入指紋和模板指紋的特征是傅立叶频i普特征,特征向量就是频语图像素串行化结果,此时两者之间的相似度是通过计算不等长向量之间的欧氏距离来实现的,此时相似度是按下列公式计算的s《--^)X100%max(v,.,v》公式中,dis是两者的欧氏距离值,max(",v,)表示取输入向量和模板向量中最大的向量长度。对于细节特征点集之间的相似度,是以模板为基准,将输入点集Vi按(Ax,A少,a)变换投影到模板点集Vt上后,计算在距离误差小于5个像素位置内,所有的匹配点对数量来确定的,此时的相似度值按下列公式计算:max(v,-,v》公式中,"e。一表示成功配对的点的数量,max(",v,)仍然表示输入点集和模板点集中最大的细节点数目。(3)指紋识别结果计算得出输入指紋和模板指紋之间的相似度数据S以后,再将S与预设的识别阈值y;比较,这里的7;是可以根据不同的安全性要求加以调整,如果5^7;则判定两个指紋成功匹配,即来自于同一手指,否则判定两个指紋不是来自于同一手指。二次开发接口^^莫块提供功二次开发接口,方便用户构造新业务逻辑。本模块中,主要提供了以下的二次开发接口,这些接口函数都封装在名为FIG一NN一API的动态链接库中,用户可以编程调用。<table>tableseeoriginaldocumentpage29</column></row><table>本发明所提供的指紋识别系统集成平台软件其最基本的功能是提供可靠的指紋识别服务,在本软件中为一次指紋识别处理的过程设计如图5所示。总体上,单次指紋识别处理划分为四个相对独立的单元,分别是指紋采集单元、指紋注册单元、指紋匹配单元、指紋存储单元。指紋采集单元在线采集活体指紋时,这部分功能由专用的指紋采集设备实现,目前此类设备比较多,指紋采集设备的输出一般是分辨率不小于500DPI(DotPerInch)的256级灰度指紋图像,有时图像质量会随指紋设备的不同而略有差异;而在离线采集指紋时,输入的则是通过人工辅助方式选择的静态指紋灰度图片集。指紋注册单元这部分与"指紋匹配单元"有一部分功能是相同。无i仑是在线采集到的活体指紋,还是离线输入的静态指紋图像,都要先经过有效区分割、脊线增强、计算方向场、细化等指紋预处理操作,再进行指紋模式分类、提取特征、特征编码保存,从而完成一次完整的指紋注册过程。指紋匹配单元这部分与"指紋注册单元"也存在一部分相同的功能。对于从指紋釆集器输入的待识别指紋图像,就如同注册单元那样,仍然要进行预处理、二值化、细化等操作,然后进行分类、提取特征、特征编码,最后在已注册的指紋模板库中按指紋类型进行搜索比对,并给出最终的指紋匹配结论。指紋存储单元为方便管理与保证数据的安全性,本系统所涉及的数据全部采用数据库方式存储。主要包括的功能是数据写入、数据检索、数据读出、数据更新、数据删除等基本的数据操纵功能。本发明所提供的指紋识别系统集成平台软件,其中的算法加载核心功能模块的操作控制流程和指紋识别流程选配控制流程如附图6和7所示。在加载算法时,先要选择算法对应的动态连接库(DLL)文件,然后再输入算法名称、DLL名称、入口函数名称、输入输出参数、函数返回值等算法的属性信息,然后再将这些信息保存如数据库。在选配指紋识别流程时,先确定流程名称,再为该流程选配各处理阶段的具体算法,如指紋增强阶段、特征提取阶段、匹配阶段等。本发明所提供的指紋识别系统集成平台软件,集成了国内外著名的指紋算法,总体上算法库包括了五个大类,分别是"指紋仪器选择"、"指紋图像增强"、"方向场计算"、"脊线细化"、"指紋模式分类"、"特征提取"、"指紋比对"等,各类包括的算法如下表示<table>tableseeoriginaldocumentpage31</column></row><table>本发明所提供的指紋识别系统集成平台软件,既可以封锁冗余功能,将系统配置成功能单一的指紋识别软件,也可以配置成为新增算法的测试实验平台。在测试实验中,主要从"特征提取时间"、"细节点误检率"、"错误接受率(FAR,FalseAcceptRate),,、"错误拒绝率(FRR,FalseRejectRate),,、"等错误率(EER,EqualErrorRate)"和"获得的运行性能曲线(ROC,ReceiveOperatingCharacteristicCurve)"这样一些量化的指标来综合评估新增算法模块的性能。权利要求1、一种指纹识别系统,包括指纹数据库、中心服务器和客户端三大部分,其特征在于,指纹数据库主要用来存储经过数字编码后的指纹特征信息,中心服务器主要负责验证客户端合法性、接收指纹特征数据、特征比对和回送指纹识别结果,客户端主要负责采集指纹、提取并上传指纹特征数据;中心服务器包括合法性验证模块、系统管理模块、特征比对模块、二次开发接口模块、算法加载模块、流程定制模块、状态监控模块和识别服务模块,客户端包括指纹采集模块、指纹预处理模块、特征提取模块和模式分类模块,数据通信模块连接中心服务器和客户端,其中合法性验证模块服务器对请求服务的客户端进行使用权限验证,防止非授权用户向中心服务器提出指纹识别服务请求。指纹采集模块客户端离线采集指纹图像或者在线采集活体指纹图像,其中离线采集指纹主要采集BMP格式和JPG格式的图片,JPG格式文件先对其进行数据分解,从压缩数据分离出的码表和量化表分解文件,在对其进行离散余弦反变换得到图像数据;指纹预处理模块对客户端所采集的指纹进行增强,包括对指纹有效区域分割装置和指纹的方向场装置以及利用M-PCNN网络对预处理以后的图像进行滤波的装置;特征提取模块提取客户端所采集指纹的全局特征和细节特征,包括指纹的模式类型,客户端点、分叉点位置及其坐标值,包括提取全局特征的傅里叶频谱特征提取装置和细节特征提取装置;模式分类模块主要负责对指纹的模式进行分类,将指纹模式分为六类漩涡、左环、右环、双环、拱型和尖拱;特征比对模块将客户端上传的指纹特征和数据库中存储的指纹特征进行比对,计算两者之间的特征相似度,包括指纹对齐装置和相似度计算装置;二次开发接口模块提供二次开发接口,为用户构造新业务逻辑;算法加载模块完成新的算法模块进行加载、管理算法模块的标识和接口信息;流程定制模块维护已有的流程、新增流程、为流程各阶段配置算法;状态监控模块监管各在线、离线客户端的服务请求及运行情况;识别服务模块处理客户端请求的服务,主要包括指纹注册、指纹识别、指纹验证和连接请求;系统管理模块管理基本算法的加载、指纹识别的基本算法选配、指纹客户端授权管理、指纹识别应用系统组装和算法运行结果评估;数据通信模块在客户端和服务器之间建立通信连接、发送和接收指纹特征数据以及指纹识别结果信息。2.根据权利要求1所述的指紋识别系统,其特征在于,所述二次开发接口模块主要是要提供下表中的二次开发接口函数:<formula>formulaseeoriginaldocumentpage3</formula>这些接口函数封装在用户可以编程调用的名为FIG一NN一API的动态链接库中。3、一种指紋识别控制方法,其特征在于,包括以下步骤(1)客户端通过通信接口连接中心服务器,客户端身份经过的合法性验证以后,获得相应的服务请求授权;3.(2)采集待识别指紋数据,进行模式分类和初步处理;(3)将步骤(2)经过初步处理的指紋数据进行指紋预处理,包括以下几个小步骤①指紋有效区域分割将指紋图像分成一系列16x16非交叉的图像块,各块分别标记为B(l,l),B(l,2)'…,B(i,j),然后利用下列公式v(i,j)<formula>formulaseeoriginaldocumentpage2</formula>来计算各图像块的像素灰度值方差,其中x和$分别表示该图快中像素的灰度值,N表示图块中包含的像素数量,设置分割阈值^=11.5,分别将各图块的方差值与^比较,如果v(i,j)〉^,则该图块B(ij)被判定为有效的指紋区域,否则被判定为指紋背景;②指紋的方向场计算分别计算图块B(i,j)中每一个像素在x和y方向上的梯度《和G"利用公式d(ij)<formula>formulaseeoriginaldocumentpage4</formula>计算图块B(i,j)的局部方向,式中(i,乂)表示图块中像素的坐标,w表示图块的像素宽度,计算得到的图块局部方向值只取四个分量值O、7u/4、兀/3和3兀/4中最近似的一个值,图块最终的局部方向t/0',刀e(0,4;r/4,;r,3;r/4b通过方向场的一致性特征修正方向场计算结果,在图块B(i,j)的5x5的邻域D范围内,计算其一致性值C(i,j)此公式中有<formula>formulaseeoriginaldocumentpage4</formula>其他情况如果C(g)0.35,则将图块B(i,j)的局部方向调整为邻域D内局部方向最显著的方向,否则图块B(ij)的局部方向保持不变;③使用M-PCNN网络对预处理以后的图像进行滤波;(4)将步骤(3)中经过处理后的指紋图像进行特征提取,包括全局特征提取和细节特征提取①全局特征提取为傅里叶频谱特征首先将输入的指紋图像分割成32x32的图像块,并对图块做二维离散傅里叶变换,公式为一,")=+mi"exp(-/2;r(^+$)))公式中,(m,n)是像素的值域坐标,(i,k)是像素对应的频域坐标,每个子图块经傅立叶变换以后,便得到了全图的傅立叶频谱图,将其按规则量化成指紋的全局特征向量;②细节特征提取,包括核心点、分叉点和端点;(5)向中心服务器发送经过步骤(4)所提取的指紋图像的特征数据;(6)中心服务器接收并分解上传的特征数据,保存于待匹配特征数据队列;(7)指紋特征比对模块根据系统当前选配的匹配算法检索数据库,记录每次比对得到的相似度数据;(8)中心服务器确定当前识别结杲,并回送对应的客户端;(9)客户端接收处理结果,并据此执行后续动作;其中步骤(l)中,中心服务器响应客户端的服务请求的处理步骤如下①通信模块接收来自客户端的指紋识别服务请求,并验证其合法性;②中心服务器通过通信模块向客户端发送请求允许信号,示意当前的请求已经被核准,能发送指紋特征数据。4、根据权利要求3所述的指紋识别的控制方法,其特征在于,步骤(3)中M-PCNN网络对预处理以后的图像进行滤波包括以下步骤①初始化时,依据图像的尺寸构造PCNN网络,且PCNN神经元与图像像素点——对应;②在方向场和分割结果的配合下,让PCNN运行,并不断地修改点火神经元的负载信号强度,当神经元的活性大于给定阈值时,神经元发生点火,将像素的灰度值进行更新;③设定神经元运行规则,让PCNN不断运行,网络中点火的神经元触发对像素灰度值进行修改,当PCNN网络稳定时,从各神经元的负栽信号值就得到了被滤波增强以后的图像。5、根据权利要求3所述的指紋识别的控制方法,其特征在于,步骤(4)中细节特征提取步骤中,其核心点是在指紋方向场的基础上,利用poincare方<formula>formulaseeoriginaldocumentpage2</formula>法提取的,该值<formula>formulaseeoriginaldocumentpage6</formula>)符合<formula>formulaseeoriginaldocumentpage6</formula>计算结束后,再判断p(i,j)的值,如果P(ijH).5,则为核心点;分叉点和端点的提取是通过滑动模板法检测得到的,首先定义分叉点和端点的像素结构模板,分别将该才莫板按从左到右、从上到下的顺序遍历全图。才莫板每滑动一次,便计算模板与图像对应区域的符合程度,当符合值大于0.7时,就判定图像的当前像素与使用模板对应的细节特征一致,即如果符合分叉模板,则该像素点是分叉点,如果符合端点模板,则该像素就是端点。6、根据权利要求3所述的指紋识别的控制方法,其特征在于,步骤(7)中,指紋特征对比包括以下步骤①指紋对齐输入指紋特征点集合Vi-(vl,v2,…,Vn),其中vi=(x,y,e),刀={^12,...1!11}为模板指紋的特征点集合,首先对核心点对齐,对齐以后,Vi点集的坐标做如下变换<formula>formulaseeoriginaldocumentpage6</formula>其中(A。,X。)和"。,X。)分别才莫板指紋和输入指紋的核心点;然后再旋转对齐,而旋转对齐则是通过求一个反射变换t而得到的<formula>formulaseeoriginaldocumentpage7</formula>在上述变换中,核心点对齐,Ax和Ay已经确定,a通过使表达式vf—《")|2<^成立,求Vi和vt匹配点对数最大来得到的,其中e是一个设定的阈值,设置为0.05;②相似度计算对于全局特征匹配,其输入指紋和才莫板指紋的特征是傅立叶频谱特征,特征向量就是频谙图像素串行化结果,两者之间的相似度是通过计算不等长向量之间的欧氏距离来实现的,其中相似度按下列公式计算<formula>formulaseeoriginaldocumentpage7</formula>公式中,dis是两者的欧氏距离值,maxO;,v,)表示取输入向量和模板向量中最大的向量长度;对于细节特征匹配,是以模板为基准,将输入点集Vi按(Ax,Ay,a)变换投影到才莫板点集Vt上后,计算在距离误差小于5个像素位置内,所有的匹配点对数量来确定的,此时的相似度值按下列公式计算<formula>formulaseeoriginaldocumentpage7</formula>公式中,"c,,e表示成功配对的点的数量,max(巧,v,)仍然表示输入点集和模板点集中最大的细节点数目;③指紋识别计算得出输入指紋和模板指紋之间的相似度数据S以后,再将S与预设的识别阔值7;比较,这里的7;是根据不同的安全性要求加以调整,如果S》7;则判定两个指紋成功匹配,即来自于同一手指,否则判定两个指紋不是来自于同一手指。全文摘要一种指纹识别系统,包括指纹数据库、中心服务器和客户端三大部分,指纹数据库主要用来存储经过数字编码后的指纹特征信息,中心服务器主要负责验证客户端合法性、接收指纹特征数据、特征比对和回送指纹识别结果,客户端主要负责采集指纹、提取并上传指纹特征数据。该系统克服现有技术的缺陷,提供在线\离线的、基础算法库可以无缝扩展的、功能可以选配的指纹识别系统服务,可以使用户在不需要投入大量资金的情况下,获得高质量的身份识别和认证服务。文档编号H04L9/32GK101414351SQ20081004643公开日2009年4月22日申请日期2008年11月3日优先权日2008年11月3日发明者刘贵松,杨成福,毅章,纪禄平,蒲晓蓉申请人:章毅;纪禄平;蒲晓蓉
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1