指纹识别技术在整个生物特征识别领域占据着重要地位,目前传统的指纹识别系统在指纹匹配准确度上也已经达到了比较理想的效果。然而,随着数据信息的膨胀,在很多应用场合下指纹数据库的规模越来越大,当系统需要处理大容量的指纹数据库时,如果采用传统的一对一的指纹识别模式,则将消耗相当长的时间。这对于实时性要求较强的应用系统而言,显然是不可接受的。为了提高大容量数据库下指纹识别的效率,一种基于指纹检索策略的快速搜索方案被提出,这一方案将有效降低整个指纹识别过程的耗时量。
此外,在嵌入式技术高速发展的今天,市场对于高度集成化、便携化、智能化的嵌入式指纹系统有着强烈的需求。考虑到嵌入式指纹系统需要进行现场指纹采集、指纹查找和验证等过程,则更需要合理的策略来保证系统的实时性和可靠性。因此,设计高效的嵌入式指纹检索算法,并在具有大容量指纹数据库的嵌入式系统下实现指纹的快速检索与匹配,有着重要的研究意义和广泛的商业价值。
1.自动指纹识别系统研究
随着计算机和信息技术的发展,FBI和法国巴黎警察局于上世纪六十年代开始了对自动指纹识别系统AFIS(Automatic Fingerprint Identification System)的研究。自动指纹识别系统(AFIS)最初使用于刑事案件侦破之中,到了九十年代,被广泛用于个人身份的鉴定。
自动指纹识别系统(AFIS)是一个典型的生物特征识别系统,它包括了指纹图像采集模块、图像预处理模块、指纹特征分析与提取模块、指纹对比匹配模块等几个部分。在实际应用中,一个完整的自动指纹识别系统一般可以实现指纹注册和指纹匹配两大功能。在进行指纹注册时,系统首先通过指纹图像采集模块采样得到待注册用户的指纹图像数据;随后将这些数字化的图像信息传入主控制器,并由图像预处模块进行预处理加工;接着由指纹特征分析与提取模块提取出需要的指纹特征,并生成指纹特征模板;最后将特征模板存放到指纹数据库中。在进行指纹匹配时,首先依然是采集待鉴定用户的指纹图像数据;接着同样进行图像预处理和指纹特征提取;然后利用提取到的待测指纹特征与指纹库中的指纹特征模板进行对比;最后给出认证结果以确认身份是否匹配。
为了应对某些大容量指纹数据库下自动指纹识别系统运行效率低下的问题,目前学术界也提出了相关优化措施,其中以指纹分类策略和指纹检索策略最具代表性。指纹分类技术的不足之处在于人体指纹并非均匀的分布在各个指纹类中,在很大的数据库下并不能很有效的减小对比范围;另外对于模糊指纹,并不能起到准确的分类效果。而指纹检索技术则能较好的避免以上问题,在缩小对比范围的同时,也克服了模糊指纹分类不确定的缺陷。
2.指纹检索算法与程序设计
2.1指纹图像预处理算法
指纹检索的首要环节就是进行指纹图像的预处理工作,其目的是为了去除图像无效区域、降低噪声,从而提高指纹检索的效率。在利用指纹采集器获取到灰度化的原始指纹图像后,首先是进行指纹图像的分割,提取出指纹前景区;然后再通过计算平均像素灰度的方法对图像进行标准化处理,使指纹图像的灰度和对比度调整到一个统一标准的范围内。
预处理的第二环节是图像的滤波增强,本文采用基于方向场和频率场特性的Gabor滤波增强算法对指纹图像进行增强处理。在滤波前首先需要计算指纹图像的脊线方向场图像和频率特性图,对于指纹脊线方向场信息,采用经典的Sobel算子求取像素的梯度值,然后利用求出的像素横向梯度矢量Gx和纵向梯度矢量Gy计算方向角度值;对于指纹频率信息,则通过计算某一区域指纹脊线间平均像素距离而得到。获得以上信息后,再利用Gabor滤波函数对指纹图像做增强处理。
得到增强的指纹图像后,还要对图像进行二值化和细化处理。二值化是使灰度图像变成黑白图像,将图像在灰度层次上从原来的256色降为黑白2色,对指纹图像信息量进行了压缩;细化则是在不改变原有图像像素拓扑连接关系的条件下,保留了纹线的主要信息,使指纹图像的脊线分布变得简单明了,为指纹特征的提取和索引做准备,因此也是图像预处理中非常重要的一步。
2.2指纹特征提取算法
指纹特征提取的主要目的是计算指纹核心点(Core)和细节点(Minutia)的特征信息。在提取指纹核心点时,采用的是Poincare Index算法,该算法的思路是在指纹图像某像素点区域内,按围绕该点的闭合曲线逆时针方向旋转一周,计算方向角度旋转变化量的和,最后以计算结果来寻找核心点。计算过程中如果某像素点的Poincare Index值为π则判定为核心点,然后便提取该点的坐标与方向场信息,记为P(Cx, Cy,θc)。
对于指纹的细节点特征,在本设计中只要求提取指纹脊线端点(Ending)和脊线分叉(Bifurcation)两种细节点。
2.3 指纹索引与检索算法
在得到一系列的指纹特征后,接下来就是设计指纹综合索引因子。索引因子以多维向量的形式表示,概括了一枚指纹图像的综合特征。指纹检索时通过将待查询指纹的索引因子与数据库中指纹的索引因子相比较,可快速计算得出与目标指纹相似度较高的一批候选指纹,达到有效缩减匹配范围的目的。指纹综合索引因子的设计描述如下
:
公式2中Θm×n 代表将指纹图像划分为m×n块以后,由指纹图像每一子块局部脊线方向场组成的角度矩阵;Fm×n代表指纹的局部脊线频率矩阵;D代表以指纹核心点P(Cx,Cy)为中心,固定半径R内所有细节点到核心点距离的平均值;Δ则代表离核心点最近的三个细节点(设M1, M2, M3)的方向角与核心点方向角的差值,记作Δ={ω1, ω2, ω3}(ωi=θi-θc,且-π《ωi《π)。
检索开始时,设待查询指纹的综合索引因子为S{Θm×n,Fm×n,D,Δ}, 指纹数据库中的指纹综合索引因子为S’{Θ’m×n,F’m×n,D’,Δ’}。然后计算以下各项相似度分数:
2.4 软件程序设计
软件程序是整个指纹检索算法的映射与实现,它将算法的各个理论环节转化为实际的函数,并封装成可以在嵌入式系统下执行的功能模块。本文中嵌入式指纹检索程序实现用户指纹注册和指纹检索匹配两大功能,涵盖了指纹采集程序、指纹图像预处理程序、指纹特征提取程序、指纹索引与检索程序、指纹匹配程序等部分,其执行流程如图5所示。软件进入到执行状态后,首先按照用户指令参数进行模式判断,选择进入到指纹注册或者指纹检索状态。当选择指纹注册入库时,软件会先进行指纹图像采集,然后对图像进行预处理,接着提取出指纹的细节特征并建立指纹索引因子,最后将指纹特征模板和对应的索引因子入库保存。而当需要进行指纹检索时,系统同样会先进行指纹采集、图像预处理、特征提取和索引因子建立,然后利用索引因子进行指纹库检索,找出与查询指纹最相似的一批待匹配指纹,最后利用匹配程序对这部分指纹逐一对比,给出匹配结果。
3.1嵌入式硬件系统设计
本文所设计的用于指纹检索算法实现与验证的嵌入式硬件平台以东南大学自主研发的高性能微处理器SEP6200为核心控制单元。SEP6200是一颗32位的高性能应用处理器,主频达到800Mhz,有着高效的运算和控制能力,能够较好的执行指纹检索程序。主控制器配合DDR、Nand Flash、LCD、USB指纹采集器等外围设备,搭建成了完整的嵌入式指纹检索硬件平台,图6是所设计的嵌入式指纹检索系统的硬件框架结构图。系统中主控制器SEP6200用于控制指纹采样和进行任务调度;DDR模块用来临时存储指纹图像数据和执行软件程序;Nand Flash用以存放算法软件代码和指纹数据库;LCD显示屏在执行算法时用于提供良好的GUI用户界面;USB指纹采集器则是用来采集原始指纹图像,并将图像数据经USB接口传送至核心控制单元。