基于DSP的自动指纹识别系统

2013-07-05 01:06刘德方陈海燕王戴木
滁州学院学报 2013年2期
关键词:脊线指纹图纹线

刘德方,陈海燕,王戴木,邓 明

指纹识别技术[1]是一项高新技术。指纹识别是利用人体指纹的唯一性与不变性生理特征,将指纹作为人的一种“活的身份证”或一个随身携带的特殊印章来进行身份识别的一种技术。

数字信号处理器[2](Digital Signal Processor,DSP)是一种专门为实时、快速实现各种数字信号处理算法而设计的具有特殊结构的微处理器。DSP芯片的发展突飞猛进,其功能日益强大,性能价格比不断上升,开发手段不断改进。DSP芯片已成为集成电路中发展最快的电子产品之一。DSP芯片迅速成为众多电子产品的核心器件,DSP系统也被广泛地应用于当今技术革命的各个领域——通信电子、信号处理、自动控制、雷达、军事、航空航天、医疗、家用电器、电力电子,而且新的应用领域还在不断地被发现、拓展。可以说,基于DSP技术的开发应用正在成为数字时代应用技术领域的潮流。

本课题提出了一种基于DSP TMS320VC5509A和指纹传感器 MBF310的自动指纹识别系统[3],指纹传感器芯片集成了A/D转换、顺序流程控制、通信等功能于单一封装内,具有自动指纹检测功能,可支持多种接口模式,设计方便。该系统可用于便携式指纹数据采集系统、智能卡系统、数据库、网络和当地存储的安全进入系统,以及其它安全访问控制系统。

1 系统硬件设计

TMS320VC5509A是TI公司生产的高性能、低功耗16位定点数字信号处理器。其处理速度400MIPS,最高工作频率200MHz;双核结构;片上RAM256KB、ROM64KB;RAM存储区又分为SARAM192KB和DARAM64KB;丰富的片上外设:时钟发生器、通用定时器、通用I/O口、外部存储器接口EMIF、多通道缓冲串口 McBSP、摸/数转换器ADC、看门狗定时器、I2C模块;其中EMIF可以和外扩的SDRAM、FLASH实现无缝连接。系统的结构框图如图1所示。系统的硬件功能模块主要包括指纹采集模块、DSP指纹图像处理识别模块、存储模块、以及电源模块。

图1 硬件系统结构框图

系统工作原理:DSP 5509A通过SPI接口实现对指纹采集传感器MBF310的控制,MBF310将采集的模拟指纹图像信号转换成数字信号后,由DSP 5509A的多通道缓冲串口 McBSP传送给DSP 5509A进行处理识别,最后将匹配识别成功的指纹图像上传到5509A的集成开发环境CCS中显示。

2 系统软件设计

系统的软件设计如图2所示。系统上电以后,DSP在程序的引导下完成指纹的获取,并按照算法执行获得特征点,然后存储起来,最后在DSP程序控制下实现指纹图像的匹配,从而完成指纹的识别。

图2 指纹特征值得提取及匹配过程

指纹传感器MBF310有多种接口方式及多种图像获取形式,这些都是通过内部功能寄存器的设置来完成的。

首先要对传感器进行初始化:主要是启动内部ADC并对特殊功能寄存器CTRLB的第2位置位,以确定ADC后的地址是否自动增加,同时设置芯片时钟源并使能传感器。

其次是调整参数,设置放电时间寄存器(DTR),设置放电电流速率的寄存器(DCR),设置可编程增益控制寄存器(PGC),主要用来设置放大器的增益。

最后就是获取指纹图象数据。芯片内部提供有6个寄存器,可用来设置图像数据捕获的位置。其中RAL是行地址低位,RAH是行地址高位,CAL是列地址,REL是行末地址低位,REH是行末地址高位,CEL是列末地址。按照这个流程在完成指纹参数的设置后即可实现对指纹的图像采集操作。DSP与指纹传感器的通信采用SPI模式,其流程图如图3所示:

图3 DSP与MBF310通信及传感器使能和参数调整流程图

3 指纹识别算法的实现

指纹图像的识别过程如图4所示,首先通过指纹传感器获取图像,然后对图像进行预处理(分割、增强、二值化、细化)并进行指纹图像的特征点提取和匹配,最后输出匹配结果。下面详细说明特征点的提取和匹配实现过程。

图4 指纹图像的识别过程

3.1 指纹特征值的判断

常见的指纹特征点类型如下:

端点:一条纹路在此终结。

分叉点:指纹纹线在某一处分开成两条或更多的纹路。

孤立点:指纹纹线很短以至看做一个点。

3.1.1 指纹特征点判断算法

指纹特征点的提取是经过指纹图像预处理后,经过细化处理,最后得到单像素指纹纹线,通过指纹特征判断算法将一些指纹纹线某些位置的特征值提取出来。

指纹特征值的判断方法[4],O表示指纹脊线上的点,X1,,X8是它的八个邻域点。

3.1.2 指纹图像的奇异点检测[5]

指纹奇异点的提取是为了提高指纹匹配速度,奇异点检测算法种类很多,但是较常用的是基于Poincare index[6]算法。该算法是通过计算围绕一个点的封闭曲线上的方向变化累计量来确定该点的Poincare index值,当值为1/2、-1/2时分别对应于core点和delta点。core点为最内部弯曲纹线处的最高点或最低点,delta点为三条不同纹线汇合形成的三角区域。方法如下:

(xk,yk)是以给定点(i,j)为中心的具有 N 个像素的封闭曲线L上沿第k个点的坐标,k=0,1,2,…N-1,在L上沿顺时针递增。若Poincare index值为1/2,则给定点(i,j)为core点,若值为-1/2,则给定点(i,j)为delta点。

3.2 指纹图像匹配算法

指纹匹配主要是通过比对指纹特征点的特征值。若配对成功,则说明是同一个人的指纹。指纹匹配先通过指纹特征值数进行匹配,若不相同,则直接进行判断处理。若特征值数相同,则依次对特征值进行匹配。本文采用基于指纹基线差异度的匹配算法,它具有良好的稳健性。

指纹脊线差异度检测算法[6]主要是根据其原指纹和输入指纹进行指纹的相似性匹配,如果它们通过角度旋转,能够找到在一个角度下,它们纹线间走向误差很小,则说明指纹识别可能是同一个指纹;否则认为不是同一个人的指纹。R表示特征点Mi对应脊线,r表示特征点Nj对应脊线,则两个脊线的差异度的计算方法如下:

其中,L表示采样点数;(x,y)是被跟踪的坐标点;(xi,yi)是跟踪点;R(di)是脊线上点与输入指纹特征点Mi差值,r(di)是脊线r上点与输入指纹特征点Nj差值;R(ai)是表示连接脊线R上采样点i与特征点Mi的直线同该特征点的方向的夹角;r(ai)表示连接脊线r上采样i与特征点Ni的直线同该特征点的方向的夹角。当间距Dd很小且夹角Da很小,说明两条脊线相似,则它们可作为特征点对,否则就有理由说明这两条脊线彼此不相似,不能作为特征点对。

3.3 实验结果

系统的实验结果如图5所示。算法主要由DSP和MBF310协同工作实现的。实验过程如下:首先,搭建实验环境:将自动指纹识别系统板卡通过仿真器和PC机连接并建立正常的通信;其次,设置CCS硬件仿真环境并进行初始化操作,如:初始化DSP 5509A时钟(设置5509A主频100MHz)、EMIF及相关控制寄存器;设置McBSP控制寄存器;初始化中断向量和定时器;初始化指纹采集传感器MBF310;最后,运行指纹脊线差异度检测算法。可编程指纹传感器芯片MBF310完成对指纹的A/D采集,形成8位的图象,供顺序读取使用。DSP通过总线可以多次连续读取指纹传感芯片中的图象数据。程序开始运行后在指纹检测传感器上自上至下缓缓移动手指,当程序采集完320行指纹数据后会自动停止。此时需要稍等片刻让匹配成功的指纹数据从DSP传到CCS中显示。数据传输结束后可以在观察窗中看到指纹图像。

图5 CCS中显示的指纹图像

4 结束玉器

本文采用了先进的DSP 5509A技术和指纹脊线差异度检测算法相结合的设计方案,实现了自动指纹识别系统,该系统可应用在便携式指纹数据采集系统、智能卡系统、数据库、网络和当地存储的安全进入系统,以及其它安全访问控制系统。不足之处在于,被移植到DSP中的算法还可以进一步优化来提高算法的效率并降低DSP 5509A存储空间的开销,进而提高系统的实时性,这将是后续的科研工作内容。实验表明,该系统具有良好的稳定性和鲁棒性,具有广阔的应用前景。

[1] 田启川,张润生.生物特征识别综述[J].计算机应用研究,2009(26):4401-4410.

[2] 赵洪亮,卜凡亮.TMS320C55xDSP应用系统设计[M].北京航空航天大学出版社,2008.

[3] 魏先明.自动指纹识别算法在嵌入式系统上的优化实现[J].信息工程,2006(5).

[4] 时 鹏,田 捷,苏 琪.基于奇异点邻近结构的快速指纹识别[J],软件学报,2008,19(12):3134-3146.

[5] 聂贵军,吴 陈,叶锡君,等.基于连续分布方向图和改进的Pofncarehidex的指纹分类[J].电子学报,2006,34(5):947-952.

[6] 詹小四,孟祥旭,尹义龙.基于纹理分析的指纹图像分割算法[J].计算机工程与应用,2008,44(21).

猜你喜欢
脊线指纹图纹线
螺旋水纹线铣削加工方法研究
数值范围用浪纹线
指纹图像干湿度评价及亮度自动调节方法研究
现场手印中指头部位印痕的分析研究
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
树状结构引导下的脊线层次划分方法研究
2型糖尿病患者肠道菌群两种分子指纹图谱分析研究
指纹图像预处理对指纹特征点的影响
基于相位法的密集小波公共脊线提取方法