文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.023
中文引用格式: 余成波,余玉潔,方軍,等. 基于FPGA手指靜脈圖像采集系統(tǒng)的研制[J].電子技術應用,2015,41(11):81-84,88.
英文引用格式: Yu Chengbo,Yu Yujie,F(xiàn)ang 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機、門禁系統(tǒng)、電腦登錄等領域的應用。國內手指靜脈識別技術還處于研究階段,相關產(chǎn)品比較少。國外手指靜脈識別技術做得最好的是日本金立公司,已推出多款手指靜脈識別應用產(chǎn)品,比如ATM機不需輸入密碼,直接進行手指靜脈識別取款。手指靜脈圖像采集的效果直接影響手指靜脈識別系統(tǒng)的性能,目前手指靜脈圖像采集系統(tǒng)廣泛使用的控制器是ARM、DSP或PC機?,F(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)是基于硬件的處理器,具有強大的并行處理能力,與DSP、ARM相比,F(xiàn)PGA能夠實現(xiàn)硬件加速和流水線技術,因而在處理數(shù)據(jù)流量大的圖像方面具有得天獨厚的優(yōu)勢。因此,采用FPGA進行圖像采集,其實時性和穩(wěn)定性較好。為此,本文進行了基于FPGA的手指靜脈圖像采集技術的研究,以FPGA為控制芯片、SDRAM為緩存介質,結合具有功耗低、體積小等優(yōu)點的MT9V034攝像頭和TFT LCD顯示器,研制了一種手指靜脈圖像采集系統(tǒng)。
1 手指靜脈成像模型
人體血液中含有血紅蛋白,血紅蛋白對760 nm和850 nm附近的近紅外光有較強的吸收作用[1]。當用該種近紅外光照射手指時,會形成暗影的靜脈圖像。手指靜脈成像原理模型如圖1所示,實驗采用峰值為850 nm的近紅外光從手指背部照射手指,采用透射方式,手指正面的靜脈血管吸收了一部分近紅外光,而手指的骨骼和肌肉沒有這種特性,攝像頭從手指正面拍照,并在攝像頭上加上紅外濾光片,濾除可見光,這樣會得到靜脈暗影的手指靜脈圖像[2]。
2 手指靜脈采集系統(tǒng)硬件研制
2.1 采集系統(tǒng)工作原理
手指靜脈圖像采集系統(tǒng)由近紅外光源模塊、攝像頭、手指靜脈采集裝置、FPGA開發(fā)板、TFT LCD顯示屏組成。其工作原理如圖2所示,通過近紅外光照射手指背面,攝像頭采集到的靜脈圖像數(shù)據(jù)經(jīng)過SDRAM緩存,通過TFT LCD液晶顯示屏實時顯示。在軟件Quartus II 13.0中用Verilog語言設計系統(tǒng)中的圖像采集控制模塊、圖像緩存控制模塊、LCD顯示控制模塊[3]。
2.2 手指靜脈圖像采集硬件選型
2.2.1 FPGA開發(fā)板的選擇
因為VIP_Board Full FPGA開發(fā)板價格低、體積小、FPGA和SDRAM芯片配置比較好、圖像開發(fā)接口比較完善,所以本文選擇VIP_Board Full作為手指靜脈圖像采集系統(tǒng)的FPGA開發(fā)板。它的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 光源的選擇與模塊設計
靜脈成像原理說明靜脈的成像效果受光源的影響非常大,本文選用廈門華聯(lián)電子有限公司的HIR503XDX系列的紅外二極管作為光源[4],因為該紅外二極管發(fā)出紅外光的峰值波長為850 nm,而且每一個二極管體積適中,適合并排在一起制作成近紅外光源模塊。本系統(tǒng)選用了24個紅外二極管、2個130 的電阻制作了一個近紅外光源模塊。
2.2.3 攝像頭和TFT LCD顯示器的選擇
攝像頭是手指靜脈圖像采集系統(tǒng)的關鍵組成部分,直接影響手指靜脈圖像的成像效果。根據(jù)手指靜脈成像原理,得到的靜脈圖像是黑白暗影圖像,而且所選攝像頭要對波長850 ns附近的近紅外光敏感。MT9V034是美國Micron公司開發(fā)的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 手指靜脈采集裝置的設計
根據(jù)人手指、MT9V034攝像頭鏡頭、紅外光源模塊的形狀和大小,設計了手指靜脈采集裝置,如圖3所示。在采集裝置殼體中上部開有手指孔,在殼體內與手指孔相對應的位置設計有指尖定位槽,手指由手指孔及指尖定位槽固定;將近紅外光源模塊固定在手指孔與定位槽的正上方,在手指孔與定位槽的正下方固定攝像頭,在攝像頭上貼紅外濾光片,用于濾除可見光;攝像頭的信號輸出線與VIP_Board Full FPGA開發(fā)平臺的攝像頭接口相連[5-7]。
3 手指靜脈圖像采集
由于MT9V034寄存器中初始值滿足本文手指靜脈圖像采集系統(tǒng)研制的要求,因此在設計圖像采集控制模塊時不需要對MT9V034進行初始化。在進行圖像采集控制模塊設計中,首先接收MT9V034視頻圖像信號,并進行同步化設計。由于MT9V034需要10幀延時,所以通過場計數(shù)延時等待MT9V034攝像頭穩(wěn)定,然后輸出行場信號。圖像采集控制模塊流程圖如圖4所示。
該模塊采用Verilog HDL語言編寫,經(jīng)過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像素數(shù)據(jù)。coms_frame_data相對于coms_data延時了兩個像素時鐘。coms_frame_clken為FPGA采樣后輸出的數(shù)據(jù)捕獲使能信號,外部模塊通過該信號讀取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的部分圖像采集數(shù)據(jù)。如圖6所示,在行有效信號coms_href起始時,攝像頭采集的像素數(shù)據(jù)coms_data同步從8’h00開始輸出,在行有效信號結束時,coms_data同步從輸出變成8’h00。
從圖6中分析可知,當輸出行有效信號時,coms_href從采樣點574開始,到2 554結束。由于輸入數(shù)據(jù)位的頻率為24 MHz,設置的采樣時鐘為60 MHz,所以一個數(shù)據(jù)平均被采樣2.5次,這樣每行輸出像素個數(shù)的計算如下:
NUM=(2 554-574)/2.5=752
即一行有752個像素點,則波形與設計預期完全符合。
4 手指靜脈圖像緩存與顯示
4.1 圖像緩存控制模塊設計
在設計圖像緩存控制模塊時,參考了Terasic官方開發(fā)平臺中SDRAM的Verilog HDL 開發(fā)例程,官方平臺上用的是Sdram_Control_4Port這個SDRAM控制器,其宏定義參數(shù)列表、控制器封裝等設計都比較完善,實際運用效果很好,它有2個讀端口和2個寫端口。而本文設計的SDRAM控制器只需要一個讀端口和一個寫端口。
本系統(tǒng)所選擇的SDRAM的驅動時鐘是100 MHz,在往SDRAM寫視頻圖像數(shù)據(jù)的同時,需要從SDRAM讀出數(shù)據(jù)在LCD上顯示。本圖像采集緩存控制模塊設計了兩個端口,一個讀端口,一個寫端口。寫端口負責將寫入DCFIFO中的數(shù)據(jù)寫入SDRAM,讀端口需要從SDRAM中讀出圖像數(shù)據(jù)寫入DCFIFO中。在本設計中,SDRAM的讀寫均采用全頁突發(fā)模式,一次可以讀寫256個數(shù)據(jù)[8]。由于攝像頭的分辨率是752×480,所以圖像數(shù)據(jù)存入SDRAM的地址空間是0~752×480。
由于所用FPGA開發(fā)板的LCD接口電路需要的圖像數(shù)據(jù)信號是24位的RGB(R、G、B各8位)信號,而攝像頭采集的是8位的黑白信號,為了能在LCD上顯示黑白的手指靜脈圖像,需要R=G=B=coms_frame_data,這樣SDRAM突發(fā)讀寫的每個數(shù)據(jù)是24位[9]。
4.2 LCD顯示控制模塊設計
攝像頭MT9V034輸出8位圖像數(shù)據(jù)通過SDRAM緩存處理顯示到LCD上。LCD顯示控制模塊經(jīng)過綜合生成的RTL原理圖如圖7所示。該模塊的輸入信號有時鐘信號clk、復位信號rst_n、24位圖像數(shù)據(jù)信號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 系統(tǒng)測試與效果分析
手指靜脈圖像采集系統(tǒng)的整體Verilog工程文件經(jīng)綜合生成的RTL圖如圖8所示,共有時鐘分頻、圖像采集控制、圖像緩存控制、LCD顯示控制4個模塊。
將手指靜脈采集系統(tǒng)的整體Verilog工程編譯下載到FPGA中,調好攝像頭的焦距,把采集裝置的蓋子固定好,將需要采集的手指放在采集裝置手指槽,通過調節(jié)給近紅外光源模塊供電的直流穩(wěn)壓電源的電壓大小,從而改變近紅外光源模塊的發(fā)光亮度,觀察在TFT LCD上顯示的手指靜脈圖像的清晰度,發(fā)現(xiàn)當給近紅外光源模塊提供14.1 V的電壓時,采集出的手指靜脈圖像最清晰,效果如圖9。圖中采集的是本文作者方軍右手食指正面的靜脈圖像,從LCD中能清晰地看到靜脈的紋路。圖10為圖9中的手指靜脈圖像。
6 結束語
本文研制了一種以FPGA為主控芯片的手指靜脈采集系統(tǒng),該系統(tǒng)由手指靜脈采集裝置、近紅外光源模塊、MT9V034攝像頭、VIP_Board Full FPGA開發(fā)板、TFT LCD顯示屏組成。經(jīng)測試,該采集系統(tǒng)具有良好的穩(wěn)定性,采集顯示的手指靜脈圖像紋路清晰,采集顯示的實時性強,系統(tǒng)體積小等優(yōu)點,因而具有巨大的市場價值,并為后期進行基于FPGA的手指靜脈識別技術的研究打下堅實的基礎。
參考文獻
[1] 劉秀穎.便攜式血紅蛋白濃度檢測系統(tǒng)的研究[D].哈爾濱:哈爾濱工業(yè)大學,2012.
[2] 管鳳旭,姜智超,吳秋雨,等.指靜脈與折痕雙模態(tài)圖像采集系統(tǒng)設計[J].傳感器與微系統(tǒng),2013,32(2):124-127.
[3] 高戰(zhàn)立,余桂英,唐瑋.FPGA圖像采集系統(tǒng)研究與設計[J].中國計量學院學報,2014,25(1):75-79.
[4] 楊數(shù)強,余成波.手指靜脈智能采集裝置的研制[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].哈爾濱:哈爾濱工業(yè)大學,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設計技巧與案例開發(fā)詳解[M].北京:電子工業(yè)出社,2014:364-368.