一种应用于多生物特征识别的智能身份认证通道的指纹比对方法
【技术领域】
[0001]本发明涉及指纹比对领域,特别涉及一种应用于多生物特征识别的智能身份认证通道的指纹比对方法。
【背景技术】
[0002]现代社会中,随着计算机及网络技术的高速发展,信息安全显示出前所未有的重要性,身份鉴定是保证系统安全的必要前提。在金融、国家安全、司法、电子商务、电子政务等应用领域,都需要准确的身份鉴定。目前广泛使用的依靠证件、个人识别号码、口令等传统方法来确认个人身份的技术面临着严峻的挑战,越来越不适应现代科技的发展和社会的进步。生物特征识别是通过利用个体特有的生理和行为特征来进行身份识别和/或个体验证的一门科学,基于生物特征识别技术的个人身份识别系统具有更好的安全性、可靠性和有效性,正越来越受到人们的重视,并开始进入我们社会生活的各个领域。
[0003]基于指纹的生物识别技术是应用得最早的。每个人都有自己唯一的、持久不变的指纹,它通常由交替出现的宽度大致相同的脊和谷组成。指纹识别具有很好的可靠性,目前在刑侦领域、特殊人群管理、人口安全系统以及驾照注册等方面应用十分广泛。
[0004]其中,特殊人群管理包括出入境管理、监狱人员管理等。特殊人群识别,通常采用指纹图片1:N指纹比对的指纹识别方法进行;常用的指纹图片1:N指纹比对的指纹识别方法有以下几种:
[0005]1、遍历式指纹比对:一次从数据库或磁盘中读取一枚指纹图片后,与待匹配的一枚指纹进行1:1指纹比对;比对完后,再从数据库或磁盘中读取另一枚指纹图片,再与待匹配的一枚指纹进行1:1比对,如此类推地进行,直至比对成功。
[0006]2、通过ID编号绑定对应指纹:将指纹用独特的ID编号标识,如待匹配的指纹有ID编号,则只需知道其ID即可找到数据库中相应ID号的指纹图片;对于没有标识ID编号的陌生指纹,则按照遍历式指纹比对方法执行。
[0007]但上述方式存在以下问题:
[0008]对于第I种方式:遍历式从磁盘或数据库中获取指纹特征进行1:1比对,局限于磁盘读取速度,导致比对数量过多时比对速度很慢。遍历式指纹比对过程中指纹特征在本地物理磁盘上存储,安全性较差。遍历式读取数据库指纹特征,需要维持本地与数据库之间的连接时间很长,从而加重服务器负担。
[0009]对于第2种方式:在数量很大的指纹比对应用中,尤其是在百万级指纹库中,因为一个陌生指纹没有标识ID编号,为了识别这一枚指纹,必须将这一枚指纹与指纹库中的每一枚指纹图片进行1:1比对。所需耗费的时间是难以让人接受的。
【发明内容】
[0010]本发明目的是为了克服现有技术的不足,提供一种应用于多生物特征识别的智能身份认证通道的指纹比对方法,能提高指纹比对速率,较为省时并保证准确性,而且安全性尚O
[0011]为了达到上述目的,本发明采用以下技术方案:
[0012]一种应用于多生物特征识别的智能身份认证通道的指纹比对方法,包括以下步骤:
[0013]a、获取数据库中的多个指纹图片数据至内存,将每个指纹图片数据转换成指纹特征数据,全部指纹特征数据划分为η个指纹特征集合Cl?Cn:
[0014]al、设置指纹特征集合Cl?Cn,η为自然数;
[0015]a2、每获取数据库中的一个指纹图片数据,即将其转换成指纹特征数据,并将该指纹特征数据分配入指纹特征集合Cn,存储入内存;同时,释放掉已转换为指纹特征数据的指纹图片数据所占据的内存空间;
[0016]当一指纹特征集合Cn内的指纹特征数据达到设定数量时,之后的指纹特征数据分配入另一个指纹特征集合Cn中;
[0017]a3、每获取一个指纹图片数据,都将该指纹图片数据完成a2步骤后,才继续获取另一个指纹图片数据,直至获取完多个指纹图片数据;
[0018]b、获取待比对指纹的指纹特征数据;
[0019]C、采用多线程将待比对指纹的指纹特征数据同时与X个指纹特征集合(X〈n)在内存中进行比对;
[0020]d、若比对成功,则退出;
[0021]e、若待比对指纹的指纹特征数据与X个指纹特征集合中的全部指纹特征数据进行比对后没有比对成功,则分以下两种情况进行:
[0022]el:当待比对指纹的指纹特征数据没有与全部指纹特征集合都比对过,则回到步骤C,此时与待比对指纹的指纹特征数据比对的指纹特征集合与之前比对的指纹特征集合不同;
[0023]e2:当待比对指纹的指纹特征数据已经与全部指纹特征集合的全部指纹特征数据都比对过,则退出。
[0024]作为优选,步骤a中,不同指纹特征集合含有的指纹特征数据数量相同。
[0025]作为优选,步骤a中,从数据库中获取出来的指纹图片数据为二进制格式数据。
[0026]作为优选,步骤a中,设置指纹特征集合Cl?Cn的方式为:应用η个.net框架中的list实例,一个list实例代表一个指纹特征集合,该list实例用于存储该指纹特征集合的指纹特征数据;所应用的list实例为同种数据类型list实例;
[0027]将指纹特征数据分配入指纹特征集合Cn的方式为:将指纹特征数据存储入一个list实例中;不同指纹特征集合里的指纹特征数据的数量相同。
[0028]作为优选,步骤a中,通过指纹特征提取函数将指纹图片数据转换成指纹特征数据。
[0029]作为优选,所述指纹特征提取函数为基于8邻域编码逐像素跟踪法的指纹细节特征提取算法。
[0030]作为优选,所述指纹特征提取函数为基于场结构的指纹图像细节特征提取算法。
[0031]与现有技术相比,本发明具有以下有益效果:
[0032]本发明所述的应用于多生物特征识别的智能身份认证通道的指纹比对方法的整个过程都在内存中进行,不存在硬盘储存的安全风险。获取出来的指纹图片数据为二进制格式数据,并且采用多线程进行比对,提高获取指纹图片数据及比对的速度。本发明所述的应用于多生物特征识别的智能身份认证通道的指纹比对方法,指纹比对速度快,并且准确性及安全性高。在远程数据库中只保存指纹图片的情况下,本发明所述的指纹比对方法使一对多的指纹比对速度得到提高。
【附图说明】
[0033]图1是本发明的流程图。
【具体实施方式】
[0034]现结合附图与具体实施例对本发明作进一步说明。
[0035]参阅图1,本发明所述的一种应用于多生物特征识别的智能身份认证通道的指纹比对方法,包括以下步骤:
[0036]a、从数据库中获取多个指纹图片数据,获取出来的指纹图片数据为二进制格式数据,将获取出来的指纹图片数据存入内存;将每个指纹图片数据转换成指纹特征数据,全部指纹特征数据划分为η个指纹特征集合Cl?Cn:
[0037]al、设置指纹特征集合Cl?Cn,η为自然数;
[0038]a2、每获取数据库中的一个指纹图片数据,即将其通过指纹特征提取函数转换成指纹特征数据,并将该指纹特征数据分配入指纹特征集合Cn,存储入内存;同时,释放掉已转换为指纹特征数据的指纹图片数据所占据的内存空间;
[0039]当指纹特征集合Cn内的指纹特征数据达到一定数量(数量按实际情况设定)时,之后的指纹特征数据分配入另一个指纹特征集合Cn中;
[0040]a3、每获取一个指纹图片数据,都将该指纹图片数据完成a2步骤后,才继续获取另一个指纹图片数据,直至获取完多个指纹图片数据;
[0041]步骤“设置指纹特征集合Cl?Cn,将指纹特征数据分配入指纹特征集合Cn”的作用在于将全部指纹特征数据分为η个小集合(不同小集合除数据数量可能不同外,相互之间无差别)。
[0042]设置指纹特征集合Cl?Cn的方式为:应用.net框架中的η个list实例,一个list实例代表一个指纹特征集合,该list实例用于该存储指纹特征集合的指纹特征数据;所应用的list实例为同种数据类型list实例;将指纹特征数据分配入指纹特征集合Cn的方式为:将指纹特征数据存储入一个list实例中;不同指纹特征集合里的指纹特征数据的数量相同。List是C#编程语言中可以直接使用的基本数据类型。
[0043]数据库为指纹数据库,指纹数据库中的指纹图片数据是与待比对指纹比对的样品指纹的指纹图片数据。
[0044]若在数据库中获取出来的指纹图片数据不是二进制格式数据,那么就需要先将获取出来的指纹图片数据转换为二进制格式的图片数据,例如采用二进制转bmp格式图片数据,再采用指纹特征提取函数转换成指纹特征数据。
[0045]指纹特征提取函数是由指纹仪厂家提供,不同指纹仪厂家提供的指纹特征提取函数可能不同,但是都能将指纹图片数据转换为指纹特征数据。所应用的指纹特征提取函数例如有:基于8邻域编码逐像素跟踪法的指纹细节特征提取算法,基于场结构的指纹图像细节特征提取算法。
[0046]指纹特征值是指纹算法的基础数据,是指纹算法最重要的数据结构。指纹一般通过两类特征来进行验证:总体特征和局部特征。局部特征是指指纹上的节点的特征,这些具有某种特征的节点称为特征点。两枚指纹经常会具有相同的总体特征,但它们的局部特征(即细节特征),却不可能完全相同,通常将这两个数据结合起来,就足以描述指纹的唯一性。对于局部特征的提取,8邻域编码逐像素跟踪法是在指纹图像(即指纹图片数据)的行列矩阵中,用8邻域编码来表示当前点的类型和8邻域像素的状态,局部特征的坐标直接表示该指纹,根据这些局部特征信息,细化后的指纹图像就可以利用3x3的模板来判断局部特征,从而得到特征点的局部特征值。该方法为指纹识别领域的一个常见算法,具体可见《基于8邻域编码逐像素跟踪法的指纹细节特征提取算法》(《电脑知识与技术:学术交流》2008年第11期I陈艳平赵磊)一文中公开的相关内容,此处不在赘述。
[0047]基于场结构的指纹图像细节特征提取是根据图像局部区域所固有的方向特性和频率特性,构建方