摘 要:TMS320VC5409是Ⅱ公司的推出一款数字信号处理器(DSP),具有良好的性能价格比。介绍一种基于该DSP的指纹识别系统。给出其设计方案、指纹识别算法设计思路度硬件结构,重点讨论对指纹预处理算法的改进,TMS320VC5409和F37S200的特性及CPLD逻辑设计。
关键字:指纹识别系统;识别算法;数字信号处理器;复杂可编程逻辑器件
1 引言
随着计算机与信息技术的不断发展,生物特征识别技术研究受到了广泛的关注。生物特征识别是用生物体本身的生物特征来区分生物个体的计算机技术,它所研究的生物特征包括脸形、指纹、手掌纹、虹膜、视网膜、声音、体形、个人习惯等,相应的识别技术包括人脸识别、指纹识别、掌纹识别、虹膜识别、视网膜识别、语音识别、体形识别、键盘敲击识别、签字识别等。本文介绍的指纹识别便是生物识别技术的一种,它相对其他识别系统(如虹膜、脸形)有很多优越性。首先指纹具有独特性和稳定性,并且信号容易采集,识别算法已经很成熟。目前,基于通用PC机进行指纹识别的技术已经开始大规模推广.但它造价高,系统复杂,体积庞大.只能用于固定场所,显然不适合在保安、网络、手机、门禁等系统中应用。随着DSP性能的不断提高和价格的大幅度下降,它的应用范围亦不断扩大。其中,重要的应用领域是实时信号处理。指纹识别系统对速度的要求高,计算量大,处理过程中的很多运算都是乘法和加法运算,这正是DSP的强项。
2 指纹识别系统的原理及组成
指纹识别技术使用取像设备读取指纹图像,通过识别软件提取指纹图像中的特征数据,然后根据匹配算法得到的结果鉴别指纹所有人身份。
指纹识别系统由离线和在线两个部分组成,主要涉及指纹图像采集、图像预处理、特征提取、特征匹配等过程。在系统的离线部分,用指纹采集仪采集指纹.提取出特征点,然后将特征点保存到数据库中.形成指纹模板库。在系统的在线部分,用指纹采集仪采集指纹.提取出特征点,然后将这些细节点与保存在数据库中的模板特征点进行匹配,判断输入特征点与模板特征点是否来自同一个手指的指纹。自动指纹识别系统框图如图1所示。
3 软件设计
3.1 图像预处理
由于受到各种因素的影响,采集到的指纹图像是一幅含噪音较多的灰度图像.需要先对此图像进行预处理。指纹图像预处理是指对采集到的低质量指纹图像依据一定的算法和处理过程使其纹线结构清晰化.尽量突出和保留固有的特征信息而避免产生伪特征信息。指纹图像预处理是指纹自动识别过程中的第一步,它的好坏直接影响着指纹自动识别系统的效果。图像预处理包括滤波、二值化、细化和去噪。
由于在局部范围内指纹图中纹线具有方向性一致,宽度基本相等,间距基本相同等特性,所以基于指纹的这些特性对传统算法加以改进。采用方向图滤波来对指纹图像进行处理。首先将指纹纹线的方向在O~π之间平均划分为K个基本方向,每个方向为π/K,这里取K=8.以每个像素点的方向来表示指纹图像,如图2所示。
然后按式(1)及式(2)分别求出8个方向的Sd的值。
其中f(i,j)是点(i,j)的灰度值,(ik,jk)是方向d上的第k点,N是所取的方向数,n是所取的邻点数,这里取n=4,d’代表与d垂直的方向。点(i,j)的方向是S4取值最小的方向d,即灰度变化最小的方向。然后,设N(d)是某一像素8邻域中方向为d的像素的个数,定义N(d)的最大值为N(D1),次大值为N(D2),其对应方向分别是D1和D2,C(i, j)是点(i,i)校正后的方向代码,按式(3)进行平滑,从而得到好的滤波效果。
然后进行二值化处理,二值化处理是指将整幅图像处理成仅存黑(灰度值为0)和白(灰度值为1)二值。本文采用动态阀值法,把指纹图像分成若干子块计算每一个子块的灰度均值,若该块内某一象素点的灰度值大于这个灰度值,那么这个点就取1,反之取0,依此法对每一个子块进行处理。二值化过程中难免引入噪音,所以,处理之后要进行取噪处理,其作用是填补二值化后纹线上的孔洞或者删除纹线上的毛刺和鼓励的值为1的象素。
然后对生成的二值图像进行细化处理,即在不影响图像连通性的基础上删除纹线的边缘象素,直到纹理线为单象素为止。笔者选取 逐层迭代算法,并把一次迭代分作两此扫描,由周边向中间逐层细化,使细化结果位于原图的中轴,然后依然要进行去噪处理。
图3示出指纹采集到的指纹图像经过预处理后的效果。
3.2 提取特征点
指纹识别算法最终归结为在指纹图像中找到并对比指纹的特正点。从预处理后的指纹图像中找出所有连通数为3的点,可以得到分叉点;而求取端点要用一种变通的方法将指纹分割图反相,再细化,然后提取分叉点,得到的分叉点就是实际的端点。这样得到的特征点大部分都是真的,但也包含因噪声影响而产生的伪特征点,这将使鉴定误识率上升,所以必须去除这些伪特征点。将边缘处的一些特征点及一些空洞和毛刺去除:计算已经选定的可能特征点与边缘的距离,当小于门限值的时候,认为该点不可靠,将其去除。用特征点与指纹中心点之间的纹线数以及特征点到中心点连线与指纹图像坐标的夹角来表征位置信息,将这些位置信息存入指纹库。
3.3 指纹的匹配
定位输入特征点集和已有的模版特征点集之间的匹配原点对,计算二个特征点集的旋转和平移参数.并根据这些旋转和平移参数校准输入点集,将校准后的特征点集转化到极坐标系中,然后比较特征点之间相互关系集合,得出指纹图像和模板之间的对应关系。
4 硬件结构
系统硬件结构如图4所示,系统核心选用.I'I公司的TMS320VC5409型DSP芯片,它是16 bit定点DSP,有着良好的性价比,其性能可以满足本指纹鉴定系统要求。它的主要特点如下:
●运算速度快,达100 MI/s;
●优化的CPU结构;
●智能外设,扩展方便;
●低功耗。
DSP从指纹传感器读取指纹图像数据并进行相应的算法处理,然后将处理结果送至液晶显示模块显示.利用DSP的并行存储器接口、多通道缓冲串口作为与指纹传感器、LCD显示屏和按键等的接口。为满足系统要求,给DSP配置了SRAM和EEPROM,并选用CPLD完成整个系统的逻辑设计。
笔者为DSP扩展了64 KB的CY7C1021型SRAM,但DSP最多支持外部扩展32 KB数据空间,需要通过CPLD中的逻辑电路来控制SRAM的A15地址线的电平,从而决定在同一时间是选择SRAM的高地址段32 KB存储空间还是低地址段32 KB存储空间。配置SST29EEOlO型EEPROM以满足DSP BOOTLOADER的需要,系统上电后DSP首先执行BOOTLOADER程序。将DSP外EEPROM中的程序装载到DSP片内的RAM中高速执行,这样,系统就可完全脱机工作,不仅可降低应用系统的硬件成本,还可以提高系统的整体抗干扰性能。
本系统选用美国ALTERA公司的MAX7000型CPLD,这是目前速度最快的高集成度可编程逻辑器件系列。笔者利用CPLD设计了很多系统协调工作所需要的逻辑,其中利用了很多DSP状态表征信号参与逻辑设计,而且可以把简单处理部分由协处理器来完成。
指纹采集装置采用美国VERIDICOM公司生产的FPS200型电路,它是一个接触式的高性能、低功耗、低价格电容式指纹传感器,主要特性如下:
●采用标准CMOS工艺制造,500 d/i高分辨率。
●封装尺寸:24 mm*24 mmx2.5 mm;
●传感区域:1.28 cm*1.50 cm;
●传感阵列:256x300;
●表面有超硬涂层保护;
●内置8位A/D转换器.可直接输出数字化图像信号.功耗不超过200 mW;
●具有自动指纹检测功能。
LCD模块采用FMl28641作为指纹图形和处理结果显示的用户界面。FMl28641是一种图形点阵液晶显示器.它主要由行驱动器/列驱动器及128x64全点阵液晶显示器组成,可完成图形显示,也可以显示8x4个(16x16点阵)汉字。为了便于调试,在电路设计上将DSP输出与LCD连接的控制性引脚先连入CPLD,以便于灵活地调整时序。
5 实验结果和调试
本指纹识别系统的外观小巧,工作性能稳定。算法开发前期使用C语言对算法进行功能性验证.验证成功后.使用面向TMS320VC5409 DSP的汇编语言在CCS环境中进行算法开发。
指纹图像的预处理和匹配程序先用软件仿真,仿真环境是SIMULATOR。在算法正确的情况下,再进行硬件仿真,直接采集指纹图像进行调试。硬件的各个模块单独编程调试,环境也是SIMULATOR.取得了良好的实时性。