文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.11.023
中文引用格式: 余成波,余玉洁,方军,等. 基于FPGA手指静脉图像采集系统的研制[J].电子技术应用,2015,41(11):81-84,88.
英文引用格式: Yu Chengbo,Yu Yujie,Fang Jun,et al. Development of finger vein image acquisition system based on FPGA[J].Application of Electronic Technique,2015,41(11):81-84,88.
0 引言
近几年,手指静脉识别方面的研究与应用越来越丰富,如在ATM机、门禁系统、电脑登录等领域的应用。国内手指静脉识别技术还处于研究阶段,相关产品比较少。国外手指静脉识别技术做得最好的是日本金立公司,已推出多款手指静脉识别应用产品,比如ATM机不需输入密码,直接进行手指静脉识别取款。手指静脉图像采集的效果直接影响手指静脉识别系统的性能,目前手指静脉图像采集系统广泛使用的控制器是ARM、DSP或PC机。现场可编程门阵列FPGA(Field Programmable Gate Array)是基于硬件的处理器,具有强大的并行处理能力,与DSP、ARM相比,FPGA能够实现硬件加速和流水线技术,因而在处理数据流量大的图像方面具有得天独厚的优势。因此,采用FPGA进行图像采集,其实时性和稳定性较好。为此,本文进行了基于FPGA的手指静脉图像采集技术的研究,以FPGA为控制芯片、SDRAM为缓存介质,结合具有功耗低、体积小等优点的MT9V034摄像头和TFT LCD显示器,研制了一种手指静脉图像采集系统。
1 手指静脉成像模型
人体血液中含有血红蛋白,血红蛋白对760 nm和850 nm附近的近红外光有较强的吸收作用[1]。当用该种近红外光照射手指时,会形成暗影的静脉图像。手指静脉成像原理模型如图1所示,实验采用峰值为850 nm的近红外光从手指背部照射手指,采用透射方式,手指正面的静脉血管吸收了一部分近红外光,而手指的骨骼和肌肉没有这种特性,摄像头从手指正面拍照,并在摄像头上加上红外滤光片,滤除可见光,这样会得到静脉暗影的手指静脉图像[2]。
2 手指静脉采集系统硬件研制
2.1 采集系统工作原理
手指静脉图像采集系统由近红外光源模块、摄像头、手指静脉采集装置、FPGA开发板、TFT LCD显示屏组成。其工作原理如图2所示,通过近红外光照射手指背面,摄像头采集到的静脉图像数据经过SDRAM缓存,通过TFT LCD液晶显示屏实时显示。在软件Quartus II 13.0中用Verilog语言设计系统中的图像采集控制模块、图像缓存控制模块、LCD显示控制模块[3]。
2.2 手指静脉图像采集硬件选型
2.2.1 FPGA开发板的选择
因为VIP_Board Full FPGA开发板价格低、体积小、FPGA和SDRAM芯片配置比较好、图像开发接口比较完善,所以本文选择VIP_Board Full作为手指静脉图像采集系统的FPGA开发板。它的FPGA处理器为Cyclone IV系列EP4CE15E17C8N,具有15 408个逻辑单元、166个用户接口,516 096 bit存储器、112个乘法器、4个PLL、20个全局时钟,其主时钟为50 MHz。它的SDRAM图像缓存器件为Hynix公司的HY57V283220T-6,具有4个Bank、12条行地址线、8条列地址线(行列地址线共用),单片总容量为128 Mbit,初始化时间100 s,速率为166 MHz。
2.2.2 光源的选择与模块设计
静脉成像原理说明静脉的成像效果受光源的影响非常大,本文选用厦门华联电子有限公司的HIR503XDX系列的红外二极管作为光源[4],因为该红外二极管发出红外光的峰值波长为850 nm,而且每一个二极管体积适中,适合并排在一起制作成近红外光源模块。本系统选用了24个红外二极管、2个130 的电阻制作了一个近红外光源模块。
2.2.3 摄像头和TFT LCD显示器的选择
摄像头是手指静脉图像采集系统的关键组成部分,直接影响手指静脉图像的成像效果。根据手指静脉成像原理,得到的静脉图像是黑白暗影图像,而且所选摄像头要对波长850 ns附近的近红外光敏感。MT9V034是美国Micron公司开发的COMS摄像头,分为彩色摄像头和黑白摄像头两种,其对波长850 ns附近的近红外光比较敏感,拥有752×480的感光阵列,支持752×480@60 Hz的图像输出,它一个像素点为8位信号,即其支持的LCD图像输出为60帧/s、36万像素。因此本文选择了MT9V034黑白摄像头来采集手指静脉图像。
TFT LCD显示器选用LW500AC9004,其大小为5.0寸,分辨率为800×480,为显示手指静脉图像提供了载体。
2.2.4 手指静脉采集装置的设计
根据人手指、MT9V034摄像头镜头、红外光源模块的形状和大小,设计了手指静脉采集装置,如图3所示。在采集装置壳体中上部开有手指孔,在壳体内与手指孔相对应的位置设计有指尖定位槽,手指由手指孔及指尖定位槽固定;将近红外光源模块固定在手指孔与定位槽的正上方,在手指孔与定位槽的正下方固定摄像头,在摄像头上贴红外滤光片,用于滤除可见光;摄像头的信号输出线与VIP_Board Full FPGA开发平台的摄像头接口相连[5-7]。
3 手指静脉图像采集
由于MT9V034寄存器中初始值满足本文手指静脉图像采集系统研制的要求,因此在设计图像采集控制模块时不需要对MT9V034进行初始化。在进行图像采集控制模块设计中,首先接收MT9V034视频图像信号,并进行同步化设计。由于MT9V034需要10帧延时,所以通过场计数延时等待MT9V034摄像头稳定,然后输出行场信号。图像采集控制模块流程图如图4所示。
该模块采用Verilog HDL语言编写,经过Quartus II 13.0综合生成的寄存器转换级电路(Register Transport Level,RTL)原理图如图5。clk_cmos为外部24 MHz时钟输入,由coms _xclk引出,作为MT9V034的驱动时钟,其中的24 MHz时钟由分频模块将50 MHz分频得到。cmos_pclk对应MT9V034输出像素时钟信号,cmos_vsync对应MT9V034输出场同步信号,coms_href对应MT9V034输出行有效信号,cmos_data对应MT9V034输出8 bit像素数据。coms_frame_data相对于coms_data延时了两个像素时钟。coms_frame_clken为FPGA采样后输出的数据捕获使能信号,外部模块通过该信号读取coms_frame_data。
MT9V034输出分辨率为752×480,其中coms_href信号为高电平有效,每一行有效像素为752个,cmos_vsync信号也为高电平有效,每一列显示有效像素是480个。cmos_vsync信号从高电平变成低电平表示一帧信号的完毕。每个黑白像素点是8 bit信号。
SignalTap II Logic Analyzer是一款方便且实用的FPGA片上调试软件,集成于Quartus II中,可以捕获和显示实时信号 。图6为下载图像采集模块工程的sof文件到FPGA中后,通过Signal II捕获MT9V034的部分图像采集数据。如图6所示,在行有效信号coms_href起始时,摄像头采集的像素数据coms_data同步从8’h00开始输出,在行有效信号结束时,coms_data同步从输出变成8’h00。
从图6中分析可知,当输出行有效信号时,coms_href从采样点574开始,到2 554结束。由于输入数据位的频率为24 MHz,设置的采样时钟为60 MHz,所以一个数据平均被采样2.5次,这样每行输出像素个数的计算如下:
NUM=(2 554-574)/2.5=752
即一行有752个像素点,则波形与设计预期完全符合。
4 手指静脉图像缓存与显示
4.1 图像缓存控制模块设计
在设计图像缓存控制模块时,参考了Terasic官方开发平台中SDRAM的Verilog HDL 开发例程,官方平台上用的是Sdram_Control_4Port这个SDRAM控制器,其宏定义参数列表、控制器封装等设计都比较完善,实际运用效果很好,它有2个读端口和2个写端口。而本文设计的SDRAM控制器只需要一个读端口和一个写端口。
本系统所选择的SDRAM的驱动时钟是100 MHz,在往SDRAM写视频图像数据的同时,需要从SDRAM读出数据在LCD上显示。本图像采集缓存控制模块设计了两个端口,一个读端口,一个写端口。写端口负责将写入DCFIFO中的数据写入SDRAM,读端口需要从SDRAM中读出图像数据写入DCFIFO中。在本设计中,SDRAM的读写均采用全页突发模式,一次可以读写256个数据[8]。由于摄像头的分辨率是752×480,所以图像数据存入SDRAM的地址空间是0~752×480。
由于所用FPGA开发板的LCD接口电路需要的图像数据信号是24位的RGB(R、G、B各8位)信号,而摄像头采集的是8位的黑白信号,为了能在LCD上显示黑白的手指静脉图像,需要R=G=B=coms_frame_data,这样SDRAM突发读写的每个数据是24位[9]。
4.2 LCD显示控制模块设计
摄像头MT9V034输出8位图像数据通过SDRAM缓存处理显示到LCD上。LCD显示控制模块经过综合生成的RTL原理图如图7所示。该模块的输入信号有时钟信号clk、复位信号rst_n、24位图像数据信号lcd_data,输出信号有RGB信号lcd_rgb、LCD使能信号lcd_en、LCD行同步信号lcd_hs、LCD场同步信号lcd_vs、LCD显示请求信号lcd_request、LCD驱动时钟信号lcd_dclk[10]。LCD的的驱动时钟为40 MHz,其由分频模块将50 MHz分频得到。
5 系统测试与效果分析
手指静脉图像采集系统的整体Verilog工程文件经综合生成的RTL图如图8所示,共有时钟分频、图像采集控制、图像缓存控制、LCD显示控制4个模块。
将手指静脉采集系统的整体Verilog工程编译下载到FPGA中,调好摄像头的焦距,把采集装置的盖子固定好,将需要采集的手指放在采集装置手指槽,通过调节给近红外光源模块供电的直流稳压电源的电压大小,从而改变近红外光源模块的发光亮度,观察在TFT LCD上显示的手指静脉图像的清晰度,发现当给近红外光源模块提供14.1 V的电压时,采集出的手指静脉图像最清晰,效果如图9。图中采集的是本文作者方军右手食指正面的静脉图像,从LCD中能清晰地看到静脉的纹路。图10为图9中的手指静脉图像。
6 结束语
本文研制了一种以FPGA为主控芯片的手指静脉采集系统,该系统由手指静脉采集装置、近红外光源模块、MT9V034摄像头、VIP_Board Full FPGA开发板、TFT LCD显示屏组成。经测试,该采集系统具有良好的稳定性,采集显示的手指静脉图像纹路清晰,采集显示的实时性强,系统体积小等优点,因而具有巨大的市场价值,并为后期进行基于FPGA的手指静脉识别技术的研究打下坚实的基础。
参考文献
[1] 刘秀颖.便携式血红蛋白浓度检测系统的研究[D].哈尔滨:哈尔滨工业大学,2012.
[2] 管凤旭,姜智超,吴秋雨,等.指静脉与折痕双模态图像采集系统设计[J].传感器与微系统,2013,32(2):124-127.
[3] 高战立,余桂英,唐玮.FPGA图像采集系统研究与设计[J].中国计量学院学报,2014,25(1):75-79.
[4] 杨数强,余成波.手指静脉智能采集装置的研制[J].计算机工程与设计,2009(21):4977-4979.
[5] N Venkata Vara Prasad,K Venkata Murali Mohan.A real time embedded finger vein recognition system for authenti-cation on mobile devices[J].International Journal of Engi-neering Trends and Technology,2014(2):105-108.
[6] C Praveen,G Magdalin joenita,S Yamuna devi.Enhanced security system using an embedded real-time finger-vein detection[J].International Journal of Applied Engineering Research,2015(8):21501-21507.
[7] Goh Kah Ong Michael,Tee Connie,Andrew Beng Jin Teoh. A contactless biometric system using multiple hand features[J].Journal of Visual Communication and Image Representation,2012(7):1068-1084.
[8] 陈建军.基于嵌入式技术的高精度组合导航技术的研究[D].哈尔滨:哈尔滨工业大学,2013.
[9] Stefan Langemeyer,Peter Pirsch,Holger Blume.Using SDRAM memories for high-performance accesses to two-dimensional matrices without transpose[J].International Journal of Parallel Programming,2013(2):331-354.
[10] 韩彬,于萧宇,张雷鸣.FPGA设计技巧与案例开发详解[M].北京:电子工业出社,2014:364-368.