周衛(wèi)斌,胡陽(yáng)陽(yáng),夏雅楠,趙子龍,吳嘉奕,李建良
(1. 天津科技大學(xué)電子信息與自動(dòng)化學(xué)院,天津 300222;2. 天津科技大學(xué)機(jī)械工程學(xué)院,天津 300222)
目前市場(chǎng)上大部分指靜脈識(shí)別設(shè)備都是在芯片上運(yùn)行的裸板程序,優(yōu)點(diǎn)是啟動(dòng)速度快,但是開發(fā)難度較大、交互性差[1].相比裸板開發(fā),系統(tǒng)級(jí)開發(fā)則無(wú)需考慮底層硬件驅(qū)動(dòng)[2].楊金鋒等[3]利用嵌入式設(shè)備進(jìn)行指靜脈圖像的采集;余成波等[4]以FPGA為主控芯片實(shí)現(xiàn)指靜脈圖像的采集;楊數(shù)強(qiáng)等[5]采用基于模糊控制和多傳感器融合的參數(shù)調(diào)節(jié)算法解決指靜脈采集中個(gè)體差異的問(wèn)題.但是,上述研究均沒有涉及指靜脈圖像采集核心部件(光源、濾光片、攝像頭)之間的精確定位,以及指靜脈圖像的遠(yuǎn)距離無(wú)線傳輸.
本文著眼于解決指靜脈圖像采集裝置核心部件精確定位、圖像遠(yuǎn)距離無(wú)線傳輸問(wèn)題,設(shè)計(jì)了一套基于Debian系統(tǒng)的指靜脈圖像采集系統(tǒng).
指靜脈圖像采集系統(tǒng)采用 Debian系統(tǒng)開發(fā),其基于 Linux內(nèi)核,具有豐富的開源資源,并集成了Opencv(3.0版本)庫(kù)函數(shù),極大便利了圖像的提取、保存和后期識(shí)別算法的實(shí)現(xiàn)[6].指靜脈圖像采集系統(tǒng)主要由硬件平臺(tái)、嵌入式操作系統(tǒng)和應(yīng)用軟件構(gòu)成,其架構(gòu)如圖1所示.
當(dāng)通過(guò)采集裝置內(nèi)的觸摸開關(guān)啟動(dòng)系統(tǒng)后,指靜脈采集裝置在圖像采集軟件的控制下開始采集指靜脈圖像,圖像經(jīng) USB接口傳輸?shù)角度胧介_發(fā)平臺(tái),再經(jīng)無(wú)線網(wǎng)絡(luò)傳輸?shù)缴衔粰C(jī).
圖1 指靜脈圖像采集系統(tǒng)架構(gòu)Fig. 1 Architecture of finger vein image acquisition system
圖像采集裝置由光源、觸摸開關(guān)、濾光片、CMOS成像模塊、殼體構(gòu)成.整個(gè)裝置為垂直結(jié)構(gòu),當(dāng)觸摸開關(guān)感應(yīng)到手指放入時(shí)打開光源,光源同時(shí)發(fā)出紅外光和可見光.紅外光透射過(guò)手指,并經(jīng)濾光片過(guò)濾掉可見光,在 CMOS成像模塊中形成指靜脈圖像.指靜脈圖像采集裝置原理如圖2所示.
圖2 指靜脈圖像采集裝置原理圖Fig. 2 Schema of the finger vein image acquisition device
光源是指靜脈成像裝置的中重要組成部分,光照強(qiáng)度、光源的波長(zhǎng)和照射角度對(duì)指靜脈圖像的采集都有較大的影響[7].根據(jù)文獻(xiàn)[8],當(dāng)波長(zhǎng)大于 880,nm時(shí),水分和脂肪對(duì)光的吸收能力增強(qiáng),影響成像的效果,所以選擇波長(zhǎng)為850,nm的近紅外LED燈作為主要光源.由于紅外光是肉眼無(wú)法觀察到的,所以使用1個(gè)綠色可見光 LED燈作為輔助光源,指示其工作狀態(tài),以方便系統(tǒng)的調(diào)試和故障的排查.
經(jīng)實(shí)驗(yàn)確定系統(tǒng)光源采用 3個(gè)近紅外LED燈;同時(shí),為獲取較好的成像質(zhì)量,避免光源過(guò)于集中造成指靜脈局部信息的丟失,設(shè)計(jì)了一個(gè)遮光罩用于分散光.
為消除可見光的影響,指靜脈圖像采集裝置中使用濾光片消除可見光對(duì)成像產(chǎn)生的噪聲.IR780濾光片對(duì)800,nm以上的紅外光有90%,的透光率,大部分可見光(400~680,nm)不會(huì)通過(guò).經(jīng)實(shí)驗(yàn)證明,選擇此濾光片可采集到高質(zhì)量的指靜脈圖像.
目前,圖像傳感器主要有CCD和CMOS兩種,由于制作工藝不同,兩者在靈敏度、功耗方面有較大的差異[9].從成本和反應(yīng)速度方面考慮,CMOS傳感器的性能優(yōu)于CCD,所以選擇了CMOS傳感器.
CMOS成像模塊主要是由 OV9712圖像傳感器和光學(xué)鏡頭構(gòu)成.圖像傳感器的有效像素為 100萬(wàn),同時(shí)支持 YUV和 RGB格式的輸出.鏡頭的焦距為2.5,mm,視角為 130°,最大畸變小于 10%,,光圈為F2.5.模塊內(nèi)集成了用于圖像處理的DSP芯片,極大提高了圖像的采集速率.
采用 TTP223觸摸開關(guān)作為指靜脈采集系統(tǒng)的開關(guān).當(dāng)檢測(cè)到手指放入時(shí),I/O接口的電平發(fā)生變化(默認(rèn)高電平有效),用此電平信號(hào)作為整個(gè)指靜脈采集系統(tǒng)的開關(guān)信號(hào).
TTP223是基于 arduino的電容式觸摸開關(guān),通過(guò)更改模塊上觸點(diǎn)的連接方式,可以切換不同的工作模式.具體有點(diǎn)動(dòng)高電平輸出、自鎖高電平輸出、點(diǎn)動(dòng)低電平輸出和自鎖低電平輸出.
根據(jù)圖 2可知,光源、濾光片、CMOS成像模塊是垂直放置的,確定其相互間的距離是系統(tǒng)的關(guān)鍵.
指靜脈認(rèn)證、識(shí)別的準(zhǔn)確率和精度是由指靜脈原始圖像的清晰度決定的.如果手指位置偏移量過(guò)大會(huì)導(dǎo)致局部靜脈信息丟失;當(dāng)近紅外光源的照射強(qiáng)度較低時(shí),采集的指靜脈圖像會(huì)有一定的噪聲,不利于后期的圖像處理[10];當(dāng)近紅外光源照射強(qiáng)度過(guò)高時(shí),采集的指靜脈圖像會(huì)出現(xiàn)細(xì)小靜脈丟失的現(xiàn)象.所以指靜脈原始圖像的質(zhì)量主要取決于手指及核心部件的精確定位.
為實(shí)現(xiàn)精確定位,設(shè)計(jì)了用于調(diào)節(jié)光源、濾光片、攝像頭之間相對(duì)距離的定位裝置,見圖 3.定位裝置的立柱上設(shè)有凹槽,以保證3個(gè)懸臂在同一個(gè)平面內(nèi),3個(gè)懸臂上設(shè)有刻度.首先分別調(diào)節(jié) 3個(gè)懸臂上的滑塊,使光源、濾光片、攝像頭的中心在一條直線上,然后通過(guò)滑動(dòng)懸臂1和懸臂2來(lái)調(diào)節(jié)三者之間的相對(duì)位置,實(shí)時(shí)觀察計(jì)算機(jī)屏幕上顯示的指靜脈圖像,直至獲取清晰、穩(wěn)定的指靜脈圖像,此時(shí)固定懸臂 1和懸臂 2.經(jīng)多次試驗(yàn),確定光源與濾光片間的距離 d1=(27±3)mm,濾光片與攝像頭底部的距離d2=(35±3)mm.
圖3 定位裝置Fig. 3 Positioning device
指靜脈圖像采集需要一個(gè)相對(duì)密閉的環(huán)境.參考定位裝置的測(cè)量結(jié)果,考慮小型化、便攜化實(shí)際應(yīng)用背景,利用 Rhino3D NURBS進(jìn)行殼體的設(shè)計(jì).殼體結(jié)構(gòu)如圖4所示.
圖4 殼體結(jié)構(gòu)圖Fig. 4 Structure diagram of the shell
主控芯片采用基于 Cortex-A9架構(gòu)的四核處理器S5P4418(主頻1.4,GHz),內(nèi)存為1,G DDR3,再加上其豐富的外設(shè)資源,構(gòu)成了一套小型化、便于攜帶的嵌入式開發(fā)平臺(tái),見圖5.
圖5 嵌入式開發(fā)平臺(tái)硬件資源Fig. 5 Hardware resources of embedded development platform
裝置的硬件資源主要包括:
(1)SD卡,用于存放Debian系統(tǒng);
(2)LCD顯示屏,用于顯示采集到的指靜脈圖像和軟件的調(diào)試;
(3)USB接口,用于傳輸采集到的指靜脈圖像;
(4)WiFi模塊,用于嵌入式平臺(tái)與上位機(jī)的通信以及指靜脈圖像的傳輸和遠(yuǎn)程監(jiān)測(cè);
(5)串口,用于軟件的調(diào)試;
(6)GPIO接口,用于連接觸摸開關(guān)和光源.
指靜脈圖像采集軟件的開發(fā)環(huán)境是 Linux+Windows,首先在 Linux系統(tǒng)下實(shí)現(xiàn)軟件的編譯和鏈接,然后再結(jié)合 Windows系統(tǒng)中的串口終端進(jìn)行軟件的調(diào)試和完善.軟件功能主要包括指靜脈圖像的采集、存儲(chǔ)和無(wú)線傳輸.
進(jìn)行指靜脈采集軟件開發(fā)多采用在 Windows下安裝帶有Linux系統(tǒng)的虛擬機(jī)方式.此方法雖然節(jié)約硬件資源,但是由于計(jì)算機(jī)配置的限制,編譯、調(diào)試軟件會(huì)耗費(fèi)大量時(shí)間.為了縮短開發(fā)周期,利用一臺(tái)計(jì)算機(jī)安裝 Windows系統(tǒng),另一臺(tái)計(jì)算機(jī)安裝Ubuntu14.04系統(tǒng),并在兩臺(tái)計(jì)算機(jī)之間搭建 Samba服務(wù)器,便于文件的共享.嵌入式開發(fā)平臺(tái)和上位機(jī)間搭建Samba和NFS服務(wù)器.Samba服務(wù)器用于嵌入式開發(fā)平臺(tái)與 Windows系統(tǒng)之間共享文件.NFS服務(wù)器用于嵌入式開發(fā)平臺(tái)與Ubuntu系統(tǒng)之間共享文件和軟件的燒寫.軟件開發(fā)架構(gòu)如圖6所示.
圖6 軟件開發(fā)架構(gòu)Fig. 6 Architecture for software development
上位機(jī) 1安裝 Windows系統(tǒng),用于輔助上位機(jī)2實(shí)現(xiàn)軟件的調(diào)試和數(shù)據(jù)傳輸.通過(guò)觀察軟件運(yùn)行時(shí)串口顯示的信息,對(duì)指靜脈圖像采集軟件進(jìn)行調(diào)試和完善;通過(guò)遠(yuǎn)程桌面連接嵌入式開發(fā)平臺(tái)在線調(diào)試軟件;利用Samba服務(wù)器實(shí)現(xiàn)指靜脈圖像的存儲(chǔ).
上位機(jī) 2安裝 Ubuntu系統(tǒng).Ubuntu系統(tǒng)和Debian系統(tǒng)都是基于Linux的操作系統(tǒng),其開源資源比較豐富,所以,本系統(tǒng)也采用 Ubuntu來(lái)搭建上位機(jī)開發(fā)環(huán)境.并在系統(tǒng)中安裝版本為 arm-Linux-gcc-4.9.3的交叉編譯器,用于軟件的編譯、鏈接和調(diào)試,再利用其對(duì) Opencv源碼(與 Debian系統(tǒng)集成的Opencv版本一致)進(jìn)行交叉編譯,生成適用于嵌入式平臺(tái)的Opencv庫(kù).
指靜脈采集程序主要由觸發(fā)函數(shù)、圖像采集函數(shù)、圖像傳輸函數(shù)組成.圖像采集是通過(guò) C++程序調(diào)用 Opencv庫(kù)實(shí)現(xiàn)的.圖像傳輸則是采用基于 UDP傳輸協(xié)議的Socket技術(shù)[11].在TCP協(xié)議及ISO 7層協(xié)議的基礎(chǔ)上,實(shí)現(xiàn)了一套基于 UDP的可靠圖像傳輸協(xié)議,以確保大圖像遠(yuǎn)距離傳輸?shù)姆€(wěn)定性[12].
3.2.1 圖像的采集和保存
圖像采集是利用 Debian系統(tǒng)集成的 Opencv庫(kù)函數(shù)實(shí)現(xiàn)的.Opencv是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺庫(kù),集成了多種圖像處理算法,可以運(yùn)行在多種操作系統(tǒng)上.其支持C和 C++編程語(yǔ)言,同時(shí)還支持 Python、Matlab等語(yǔ)言的接口[13].因?yàn)镺epncv庫(kù)對(duì)函數(shù)和接口有較好的封裝,與直接在 Linux系統(tǒng)中利用 v4l2操作 USB接口的圖像采集裝置相比,利用 Opencv庫(kù)函數(shù)更容易實(shí)現(xiàn).圖像采集流程見圖7.
采集的指靜脈圖像是用于識(shí)別,圖像質(zhì)量及其穩(wěn)定性很重要.識(shí)別算法的主要流程是:采集→比對(duì)→輸出結(jié)果.比對(duì)就是用采集的指靜脈圖像同指靜脈模板庫(kù)中的圖像作對(duì)比,當(dāng)其相似度大于某一個(gè)閾值的時(shí)候,可以認(rèn)為識(shí)別成功[14].為了提高識(shí)別的準(zhǔn)確率和精度,同一個(gè)手指將被采集 3次,作為指靜脈模板.指靜脈采集序列如圖8所示.
圖7 指靜脈圖像采集流程Fig. 7 Flow chart of finger vein image acquisition
圖8 指靜脈采集序列圖Fig. 8 Sequence of finger vein acquisition
3.2.2 觸發(fā)函數(shù)
觸發(fā)函數(shù)的作用是作為整個(gè)系統(tǒng)的開關(guān).當(dāng)觸摸開關(guān)感應(yīng)到手指放入時(shí),會(huì)引起觸摸開關(guān)輸出電平的變化,此電平被觸發(fā)函數(shù)監(jiān)測(cè)到,隨后打開光源,然后再調(diào)用Opencv函數(shù)模塊即可實(shí)現(xiàn)指靜脈圖像的采集和保存.觸發(fā)函數(shù)的流程如圖9所示.
圖9 觸發(fā)函數(shù)流程Fig. 9 Flow chart of trigger functio n
3.2.3 圖像傳輸函數(shù)
采用 Socket技術(shù)傳輸采集到的指靜脈圖像[15],在通信過(guò)程中,上位機(jī)作為服務(wù)器端,對(duì)通信端口進(jìn)行監(jiān)聽,并準(zhǔn)備接收數(shù)據(jù).嵌入式開發(fā)板作為客戶端,主動(dòng)連接服務(wù)器,進(jìn)行圖像的傳輸.圖像傳輸函數(shù)的流程如圖10所示.
圖10 圖像傳輸函數(shù)流程Fig. 10 Flow chart of image transfer function
系統(tǒng)采集到的指靜脈圖像是24位深度的彩色圖像,大小為 600像素×480像素,分辨率為 96,DPI,并以bmp格式保存,經(jīng)識(shí)別算法測(cè)試,滿足指靜脈識(shí)別的要求.圖 11為在嵌入式開發(fā)平臺(tái)采集到的指靜脈圖像及傳輸?shù)缴衔粰C(jī)后的圖像.對(duì)比可知,傳輸過(guò)程中的圖像質(zhì)量是可以保證的.
圖11 在開發(fā)平臺(tái)上采集及傳輸?shù)缴衔粰C(jī)的指靜脈圖像Fig. 11 Finger vein image sampled from the development platform and in host computer after transmission
本文設(shè)計(jì)了基于Debian系統(tǒng)的嵌入式指靜脈圖像采集系統(tǒng)及定位裝置,準(zhǔn)確地確定了指靜脈成像裝置中核心部件間的光學(xué)距離;通過(guò)嵌入式平臺(tái)和上位機(jī)軟件配合,實(shí)現(xiàn)了指靜脈圖像的采集和遠(yuǎn)距離傳輸.系統(tǒng)可采集到清晰可見的指靜脈圖像,基本實(shí)現(xiàn)指靜脈采集裝置的便攜化和遠(yuǎn)程化,為后期的深入研究奠定了基礎(chǔ).
[1] 楊國(guó)慶. 基于ARM和WinCE的手指靜脈識(shí)別系統(tǒng)設(shè)計(jì)[D]. 哈爾濱:哈爾濱工程大學(xué),2011.
[2] 胡翌博. 基于 ARM 的嵌入式系統(tǒng)平臺(tái)及其移植性研究[D]. 杭州:浙江大學(xué),2004.
[3] 楊金鋒,孟凡勝,史玉坤,等. 嵌入式手指多模態(tài)特征同步采集系統(tǒng)設(shè)計(jì)[J]. 中國(guó)民航大學(xué)學(xué)報(bào),2016,34(1):40-44.
[4] 余成波,余玉潔,方軍,等. 基于 FPGA 手指靜脈圖像采集系統(tǒng)的研制[J]. 電子技術(shù)應(yīng)用,2015,41(11):81-84.
[5] 楊數(shù)強(qiáng),余成波,崔 喆焱 ,等. 手指靜脈智能采集裝置的研制[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2009(21):4977-4979.
[6] 李志欣,卓亞琦. 基于 OpenCV 的數(shù)字圖像處理實(shí)驗(yàn)教學(xué)研究[J]. 大學(xué)教育,2013(9):42-43.
[7] Pham T D,Park Y H,Nguyen D T,et al. Nonintrusive finger-vein recognition system using NIR image sensor and accuracy analyses according to various factors[J].Sensors,2015,15(7):16866-16894.
[8] 楊金鋒,劉源山. 多光譜手指靜脈成像與采集系統(tǒng)設(shè)計(jì)[J]. 中國(guó)民航大學(xué)學(xué)報(bào),2012,30(2):24-29.
[9] 黃建元,趙新榮,張長(zhǎng)順,等. 基于 CMOS成像器件的手指靜脈圖像采集方法及裝置[J]. 紅外技術(shù),2009,31(1):51-56.
[10] 楊數(shù)強(qiáng),王軍強(qiáng),周濤. 手指靜脈采集控制板的研制[J]. 計(jì)算機(jī)工程與應(yīng)用,2011,47(27):80-82.
[11] 郝曉玲,趙剛,靳海英,等. 基于 Socket的無(wú)線網(wǎng)絡(luò)傳輸研究[J]. 中國(guó)西部科技,2008,7(29):23-24.
[12] 王玨,何秋燕,王露凱. 基于 UDP改進(jìn)的可靠傳輸協(xié)議研究與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù),2015,11(9):71-73.
[13] He Y M,Du J Q. Segment of tongue and tongue's venation based on OpenCV[J]. Advanced Materials Research,2013,718-720:2276-2280.
[14] 羅敏. 手指靜脈認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué),2016.
[15] 徐朋. 基于SOCKET的跨平臺(tái)通訊系統(tǒng)的研究與設(shè)計(jì)[D]. 大連:大連理工大學(xué),2015.