基于6416和FPGA的手部三模态识别装置设计与实现*
2012-06-03汤永华苑玮琦
汤永华,苑玮琦
(沈阳工业大学 视觉检测研究所,辽宁 沈阳110023)
基于单一模态的生物特征识别技术普遍存在“短板现象”,没有任何一种生物特征是完美无缺的。因此,采用多模态,即同时采集和识别验证人体的两种及以上特征能够优势互补,全面、有效地提高生物特征识别系统的整体性能,提高系统鲁棒性,降低检测复杂度和对系统的性能要求,能够达到单一生物特征识别无法或很难达到的品质。
手掌静脉不易复制仿造,保密性强,活体采集,很难被仿制。但由于个体的差异性,如皮肤厚度、精密性、脂肪厚度等的差异,很难确保所有人都能够采集到比较清晰的手掌静脉图像。手形属于手部外轮廓,既是一种手部生物特征识别方式,同时也是进行掌纹和手掌静脉识别的重要基础和条件,实验证明在高曝光下可以比较容易得到高对比度的手形图像。而掌纹由于存在于手掌表面,图像采集比较容易,一般都可以采集到清晰的掌纹图像,但相对容易仿制,保密性相对较弱。本文介绍的装置同时采用手形、掌纹和手掌静脉作为进行身份验证的依据,可以扬长避短、优势互补,保证装置具有较高的安全性。
本装置硬件系统主要由可见光和红外光补光模块、双图像传感器成像模块、双视频处理模块、FPGA图像采集及逻辑控制模块、DSP数据处理特征识别模块,以及电源等其他辅助模块等构成。系统结构如图1所示。
1 补光模块
根据本实验室先前已经取得的对手部三种模态成像的研究成果,即通过高曝光方式获得良好的手形轮廓图像(见图6(a)),通过蓝色补光系统可以获取比较清晰的、能够满足识别算法要求的掌纹图像[1](见图6(b)),通过850 nm近红外补光系统可以获取手掌静脉图像[2](见图6(c))。但需要注意的是,为了取得均匀的手部各种模态图像,需要光源光照尽可能地均匀,因此装置所采用蓝光和红外光源同时分布在一块圆形光源板上[3],蓝光与红外光相间成同心圆形均匀分布,同时在光源前方放置匀光板,如图2所示。
2 图像传感器的选择
传感器作为对手形,特别是掌纹和手掌静脉的直接成像部件,在系统中起到至关重要的作用。为了得到尽可能清晰的三种模态,特别是掌纹和手掌静脉图像,在选择传感器时着重考虑所用传感器对可见光(蓝光)和近红外光有较好的敏感性(即感光特性),以便对掌纹和手掌静脉都能够呈现较好的、能够满足识别处理要求的图像。传感器感光特性曲线如图3所示。
3 图像采集模块
图像采集模块主要由图像传感器、视频处理器和由FPGA构成的图像数据保存电路等构成。图像传感器主要将手掌反射的包含掌纹和手掌静脉信息的光信号转换为与之对应的电信号(即模拟视频信号)。视频处理器则主要是对模拟视频信号进行一系列的处理(即对模拟信号进行放大和抗混叠滤波),然后从中分离出图像行场、像素时钟等同步信息以及图像像素信息,并将所有信号转换成数字信号输出,再利用硬件描述语言对FPGA进行功能模块设计,按照行场同步信号和像素时钟的状态准确地将所有像素数据存储到指定位置,为后续的图像显示和处理提供数据源。图像采集模块设计的重点是:利用FPGA实现对视频处理器初始化时序的设计,以及用于图像数据准确采集的时序的设计。
3.1 视频处理器初始化时序模块
所采用视频处理器的各种工作特性,如视频输出格式、图像尺寸、数据输出速度、图像对比度等都是通过IIC总线[3]进行设定。在本系统中,通过硬件描述语言编程实现视频处理器的IIC总线协议,并进而实现对视频处理器的初始化控制。IIC总线由数据线SDA和时钟线SCL两条连接线构成。时序主要由起始(start)、从器件地址及应答位、子地址及应答位、数据及应答位、停止(stop)等构成,如图 4 所示[4]。
IIC总线协议模块实体如下:
3.2 图像数据采集模块
视频解码器输出的图像数据属于二维数字图像数据。为了保证数据的可靠性和图像的完整性,图像数据伴随有像素时钟和行场图像信号输出。因此,图像数据采集模块需要根据行场同步信号和像素时钟的状态准确地采集和存储数字图像数据。由于对于手形、掌纹和手掌经脉识别是针对灰度图像进行的,因此图像采集模块只采集和保存图像亮度分量(即Y分量),并存储到在FPGA中开辟的数据缓存中。而且每存储完一行数据后触发DSP通过EDMA方式存储到DSP的外存储器中,以便进行识别处理。本系统通过在FPGA中构建三套相同的图像采集模块,实现对三种手部模态图像的同步采集。图像数据采集时序如图5所示,所采集手部图像如图6所示。
图 5中,Tclk是像素时钟, 一般在 74 ns左右;Tsu是HREF建立时间,最大为 15 ns;Thd是 HREF保持时间,最大为 15 ns。
图像采集模块实体如下:
图像采集时序如图7所示。
4 图像处理模块
图像处理模块以DSP为核心,辅以复位、晶振、外部存储器等辅助电路,主要用于实现对通过FPGA采集的三种手部模态图像的分析和处理。该模块的核心在于对手部三种模态图像处理算法、融合算法以及处理过程中的空间的分配等问题,本文重点介绍硬件方面的空间分配问题。系统所采用的DSP为TMS320C6416芯片,其主频为600 MHz,内部RAM为1 MB[6]。由于针对三种手部模态进行处理,程序空间和数据空间需求都比较大,单纯依靠DSP自带的内部存储器无法满足系统需要,因此,DSP的外部存储器A端口外扩了一片4 MB(4×1 MB)×32 bit的SDRAM。系统所采集的三种手部模态图像大小都为640×480×8 bit,故同步采集三种模态图像同时需要902 KB的存储空间。系统将三种图像分段存储到SDRAM中, 存储地位范围分别为0x80000000~0x8004B000、0x8004B000~0x80096000、0x80096000~0x800E1000。 根 据系统程序的具体情况,系统为程序分配 0x30000×8 bit的空间。堆栈分配在内部存储器中,容量为0x30000×8 bit,地址起始由系统自动指定。由于系统数据存储空间比较充足,且要保证系统允许的稳定,因此在图像数据处理过程中,不使用动态存储器分配方式,而是采用所有所需的中间存储空间均明确固定指定存储位置的方式,以避免出现空间多次分配、释放后出现空间分配失败或叠加等可能出现的问题。由于访问内部存储器相对于外部存储器无论在速度还是可靠性上都具有很大优势,为了提高系统允许效率,将部分使用频率较高的中间数据分配在内部存储器中,而将使用频率较低的数据分配到外部的SDRAM中。
5 其他辅助模块
5.1 语音提示模块
语音模块主要在系统使用过程中,针对用户手所放置的位置等现场情况,对用户给出相应的语音提示信息。如手放置位置距离摄像头过近,无法拍摄到完整的手部图像时给出“请将手稍微远离摄像头”等的提示。语音模块采用WT588D-U芯片,利用电脑通过USB接口将实现编辑好的语音片断下载到语音模块中。在系统运行过程中,FPGA根据DSP对图像的初步处理结果,利用硬件描述语言设计的语音模块放音驱动控制语音模块进行相应的语音提示。FPGA中语音模块放音驱动采用一线模式,其时序如图8所示。
5.2 液晶显示模块
液晶显示屏用于实时显示装置拍摄到的用户手部图像,便于用户直观地感知手部放置的状态和位置,以及手部图像拍摄情况等,同时还通过显示屏给出一些相关信息。液晶屏控制时序同样在FPGA中通过硬件描述语言实现。
本文所介绍的手部三模态身份识别装置,可以一次获取手部的手形、掌纹和手掌静脉三种模态的生物特征图像。获取时间不超过40 ms,系统采用主频为600 MHz的多媒体处理器DM642作为专用的图像处理模块,保证了图像处理的实时性。通过嵌入相应的生物特征处理识别算法和融合算法,可以实现高接收性能、高可靠性、高实时性的身份识别功能。
[1]孙洪.手掌图像采集与识别系统研究[D].沈阳:沈阳工业大学,2010.
[2]苑玮琦,万文博.掌脉图像采集系统设计[J].电子技术应用,2010,36(3):24-30.
[3]左铁东.手掌静脉识别系统的研究与设计[J].计算机测量与控制,2009,17(11):2243-2248.
[4]广州周立功单片机发展有限公司.I2C总线规范[EB/OL].[2003-05-02].http://www.zlgmcu.com/philips/iic/xuanxing/I2Cgiufan.pdf.
[5]Philips Semiconductor.SAA7113H 9-bit video input processor[M].1999
[6]Texas Instruments Incorporated.TMS320C6416 fixed-point digital signal processors[EB/OL].[2005-05-01].http://www.ti.com/lit/ds/symlink/tms320c6416.pdf.