苑瑋琦,金 爽
(沈陽(yáng)工業(yè)大學(xué)視覺(jué)檢測(cè)技術(shù)研究所,遼寧沈陽(yáng) 110870)
為了能夠清晰便捷地觀察到虹膜的情況,人們對(duì)虹膜采集技術(shù)的研究一直在進(jìn)行。一個(gè)優(yōu)秀的虹膜圖像采集系統(tǒng)能夠大大提高虹膜診斷的正確率,為醫(yī)生觀察虹膜特征提供極大的方便。
現(xiàn)有的虹膜圖像采集裝置還存在各種不足,例如有的裝置會(huì)在檢測(cè)時(shí)受到各方面影響,造成被測(cè)者眨眼或轉(zhuǎn)動(dòng)眼球,檢測(cè)難以準(zhǔn)確;有的裝置過(guò)于龐大、復(fù)雜和昂貴,使得使用范圍受到限制。另外,光源強(qiáng)度過(guò)大傷害人眼,存在光斑等都是目前虹膜檢測(cè)領(lǐng)域存在的問(wèn)題。
文中所設(shè)計(jì)的是一種便攜式的虹膜采集裝置,通過(guò)USB接口即可將圖像顯示在電腦上,攜帶方便,使用方法簡(jiǎn)單。該裝置根據(jù)虹膜特點(diǎn)以及醫(yī)療診斷的要求選取合適的光源和鏡頭,設(shè)計(jì)了抗干擾性強(qiáng)、對(duì)人眼無(wú)損傷的光學(xué)結(jié)構(gòu)。數(shù)據(jù)傳輸電路以USB2.0接口芯片CY7C68013A為主控芯片,圖像的處理分析均在上位機(jī)進(jìn)行,響應(yīng)速度快,圖像質(zhì)量好,可滿足大部分虹膜醫(yī)療診斷的要求。
虹膜圖像采集裝置以人眼虹膜為采集對(duì)象,由光學(xué)系統(tǒng)、圖像傳感器、USB接口芯片等組成。光學(xué)系統(tǒng)采集用戶的虹膜圖像,圖像信息由圖像傳感器進(jìn)行數(shù)字化處理。處理后的數(shù)據(jù)進(jìn)入U(xiǎn)SB接口芯片,快速上傳至計(jì)算機(jī)主機(jī)端進(jìn)行顯示、存儲(chǔ)等操作,如圖1所示。
圖1 虹膜圖像的采集過(guò)程
在虹膜圖像的采集過(guò)程中,光學(xué)系統(tǒng)提供光源和鏡頭,并配以輔助的遮擋裝置。設(shè)計(jì)時(shí)需要考慮以下幾個(gè)主要問(wèn)題:
(1) 光源強(qiáng)度適中、顯色性好、位置合理。既能滿足圖像質(zhì)量的要求又不給被采集者的眼睛造成傷害。
(2) 選擇合適的鏡頭,充分考慮各方面因素使圖像質(zhì)量達(dá)到最佳。
(3) 遮擋裝置一方面要消除外界雜光干擾,一方面又起到固定拍攝位置的作用。
虹膜診斷需要觀察虹膜的形態(tài)變化,如顏色、色斑,結(jié)構(gòu)和瞳孔變化等[1]。單色光的顯色性很差,會(huì)極大地影響觀察到的物體顏色,而白光顯色性很好[2],作為光源時(shí)能最大程度地還原虹膜顏色信息。
設(shè)計(jì)選用的是一款高指向性白光LED。目前市場(chǎng)上同類虹膜采集設(shè)備的光源發(fā)光強(qiáng)度多在2 500~3 500 mcd范圍內(nèi),而本裝置的光源發(fā)光強(qiáng)度為1 500~1 800 mcd,低于大部分同類產(chǎn)品,被采集者并無(wú)不適感。另外,CMOS傳感器要求的最低照度一般在6~15 Lux范圍內(nèi),該光源照度遠(yuǎn)高于該值。
采集過(guò)程中光線要盡量避免直射瞳孔,因此需要根據(jù)虹膜直徑和瞳孔直徑來(lái)確定拍攝距離、光源的安裝位置與角度。除此之外光源方向性、體積、發(fā)光角度等均需要考慮。
光源安裝位置如圖2所示,兩燈位于主光軸兩側(cè),直線距離L=30 mm,照射方向與光軸夾角φ=60°。人眼虹膜直徑約為10~12 mm,瞳孔直徑2~4 mm.光源直射位置要在瞳孔之外,虹膜之內(nèi)。取虹膜直徑R=10 mm,瞳孔直徑r=4 mm。已知光源直徑1 mm,由于拍攝距離很近,且高指向性光源的散射角很小,光斑直徑r′可視為與光源直徑一致,即r′=1 mm.計(jì)算裝置允許的最遠(yuǎn)拍攝距離:
(1)
最近拍攝距離:
(2)
將拍攝位置固定在S=6.5 mm處,光線照射在距瞳孔中心約3.75 mm處,不會(huì)直射入瞳孔。
圖2 光源安裝位置
當(dāng)有光線照射在虹膜上時(shí),會(huì)在虹膜區(qū)域上反光,形成位于虹膜區(qū)內(nèi)的光斑,造成該部分虹膜區(qū)域信息被破壞。該裝置光源形成的光斑位于瞳孔兩側(cè)的虹膜上,直徑1 mm左右。為消除光斑干擾,照明裝置(圖3)中兩個(gè)LED發(fā)光管的開啟可以分別控制。使用時(shí)依次打開左燈、右燈,采集兩幅圖像,即可觀察到光斑遮擋的區(qū)域。
若被測(cè)人眼睛受到自然光或景物影響,會(huì)眨眼或轉(zhuǎn)動(dòng)眼球[3],影響檢測(cè)效果。因此設(shè)計(jì)添加了遮擋裝置,用于避免外界干擾,而且遮擋裝置與被測(cè)人接觸,起到固定拍攝位置的作用。
圖3 照明裝置平面示意圖
光學(xué)鏡頭在虹膜采集裝置中具有非常重要的作用。虹膜直徑僅10 mm左右,必須使用光學(xué)鏡頭放大虹膜圖像。焦距決定了放大倍數(shù),分辨率則影響圖像的清晰度[4]。另外景深、視場(chǎng)角、拍攝距離等也決定圖像的質(zhì)量。選取鏡頭時(shí)要充分考慮各種因素,保證虹膜圖像滿足醫(yī)療分析的要求。
如圖4所示,當(dāng)已知被攝物體的大小及該物體到鏡頭距離,則可根據(jù)下式計(jì)算所選取配鏡頭的焦距:
(3)
式中:f為鏡頭焦距;D為被攝物體到鏡頭的距離;W和H為被攝物體的寬度和高度;w和h為被攝物體在傳感器靶面上成像寬度和高度。
圖4 鏡頭成像示意圖
鏡頭是否能拍攝到完整的虹膜圖像由視場(chǎng)角決定。計(jì)算公式如下:
(4)
(5)
帶入各值進(jìn)行計(jì)算,得水平視角θah=22.62°,垂直視角θav=17.06°。鏡頭的視場(chǎng)角要大于該值,且鏡頭尺寸要與圖像傳感器靶面大小匹配。綜合以上計(jì)算,選擇靶面大小為1/4英寸,焦距9 mm,視場(chǎng)角25.0°×18.5°的鏡頭。
該裝置為接觸式采集設(shè)備,使用時(shí)將遮擋裝置緊貼眼眶,即可固定人眼到鏡頭的距離,但虹膜在視場(chǎng)中的位置并不能精確固定,因此將整個(gè)眼部納入到成像范圍內(nèi)。
光源、鏡頭、傳感器和遮擋裝置的位置關(guān)系如圖5。遮擋裝置將人眼固定在距光源約6.5 mm的拍攝區(qū)域內(nèi),使眼部基本布滿整個(gè)視場(chǎng)。鏡頭距拍攝位置約50 mm,根據(jù)鏡頭焦距,將圖像傳感器放置在距鏡頭9 mm處。
圖5 光學(xué)系統(tǒng)結(jié)構(gòu)示意圖
圖像數(shù)據(jù)的傳輸由USB接口芯片完成。本裝置使用EZ-USB FX2LP系列中的CY7C68013A芯片作為核心處理器。數(shù)據(jù)傳輸通常需要微處理器通過(guò)固件訪問(wèn)接口芯片的端點(diǎn)FIFO和外圍設(shè)備接口,固件程序執(zhí)行較慢會(huì)限制數(shù)據(jù)傳輸速率,而CY7C68013A提供了一種獨(dú)特的“量子FIFO”架構(gòu),USB接口和應(yīng)用環(huán)境直接共享FIFO存儲(chǔ)器,無(wú)需執(zhí)行固件程序便可實(shí)現(xiàn)端點(diǎn)FIFO與外部的數(shù)據(jù)交換[6]。端點(diǎn)FIFO可工作在5~48 MHz時(shí)鐘頻率下,而圖像傳感器的信號(hào)輸出頻率為24 MHz,CY7C68013A符合要求。
硬件電路如圖6所示,圖像傳感器輸出8位數(shù)字視頻信號(hào),并提供行信號(hào)、場(chǎng)信號(hào)及像素時(shí)鐘信號(hào)對(duì)端點(diǎn)FIFO進(jìn)行外部邏輯控制。IIC總線用于圖像傳感器與USB接口芯片的通信。整個(gè)裝置由USB總線提供5 V電壓源,電壓經(jīng)轉(zhuǎn)換后為各部分供電。接口芯片內(nèi)部無(wú)程序存儲(chǔ)器,需要外部程序存儲(chǔ)器裝載固件程序。LED光源的開關(guān)由I/O接口控制。
圖6 虹膜采集裝置硬件電路
3.2.1 硬件連接
圖7是圖像傳感器OV7725與USB2.0接口芯片CY7C68013A的連接方式。接口芯片的時(shí)鐘輸出引腳CLKOUT為傳感器提供24 MHz時(shí)鐘信號(hào)。圖像傳感器像素時(shí)鐘輸出PCLK為CY7C68013A提供外部參考時(shí)鐘。將OV7725設(shè)置為每個(gè)PCLK的上升沿輸出一個(gè)像素點(diǎn)。每當(dāng)檢測(cè)到FIFO時(shí)鐘接口IFCLK信號(hào)的上升沿時(shí)(端點(diǎn)FIFO寫使能情況下)圖像傳感器就將一個(gè)8位數(shù)據(jù)寫入U(xiǎn)SB端口FIFO緩沖區(qū)中,達(dá)到圖像傳感器與USB控制器同步傳輸?shù)男Ч?/p>
圖7 圖像傳感器與USB接口芯片的連接
系統(tǒng)設(shè)置為從屬FIFO模式,即將外設(shè)作為主控方,控制端點(diǎn)FIFO與外設(shè)間的數(shù)據(jù)傳輸。信號(hào)時(shí)序如圖8所示,圖像傳感器輸出的行信號(hào)(HREF)控制端點(diǎn)FIFO的寫信號(hào)(SLWR),行信號(hào)高電平期間使端點(diǎn)FIFO寫有效,保證傳輸有效的圖像數(shù)據(jù)。場(chǎng)信號(hào)(VSYNC)與外部中斷引腳(INT0)連接,當(dāng)一幀數(shù)據(jù)到來(lái)時(shí)觸發(fā)中斷服務(wù)子程序,通知USB控制器新一幀圖像的到來(lái)以達(dá)到與CMOS圖像場(chǎng)同步的目的。在中斷程序中進(jìn)行從屬FIFO模式轉(zhuǎn)換,系統(tǒng)便可在PC機(jī)命令下開始采集傳輸。
圖8 圖像傳感器輸出信號(hào)時(shí)序圖
對(duì)圖像傳感器的配置通過(guò)I2C總線(SCL與SDA)實(shí)現(xiàn)。傳感器的數(shù)據(jù)輸出管腳Y[7:0] 和接口芯片的FD[7:0] 相連,傳輸實(shí)際的圖像數(shù)據(jù)。
3.2.2 數(shù)據(jù)傳輸方式選擇
若圖像傳感器輸出YUV4:2:2格式圖像,則每?jī)蓚€(gè)像素點(diǎn)占用四字節(jié)存儲(chǔ)空間,圖像大小為640×480像素,每秒輸出30幀,計(jì)算有效圖像數(shù)據(jù)傳輸速度為:
640×480×2×30≈17.6 MB/s
(6)
USB2.0協(xié)議規(guī)定USB總線速度上限為60 MB/s,考慮各種通信協(xié)議開銷后,理論傳輸速度如表1[7],其中每微幀為125 μs.由表1可知中斷傳輸、批量傳輸、同步傳輸?shù)膫鬏斔俣染笥趫D像傳感器的17.6 MB/s.但實(shí)際應(yīng)用中傳輸速度受其他因素的影響會(huì)大大降低,為確保圖像數(shù)據(jù)正常傳送,選擇傳輸速度為53.248 MB/s,最接近總線速度上限的批量傳輸方式。
表1 USB2.0數(shù)據(jù)最大傳輸速度
接口芯片CY7C68013A工作在Auto-In(自動(dòng)打包)機(jī)制下,數(shù)據(jù)在“量子FIFO”中以數(shù)據(jù)包而非字節(jié)的形式傳輸,即對(duì)端點(diǎn)FIFO進(jìn)行寫操作時(shí),寫滿協(xié)議規(guī)定的數(shù)據(jù)封包容量后便自動(dòng)啟動(dòng)一次數(shù)據(jù)傳輸過(guò)程。工作時(shí),圖像數(shù)據(jù)經(jīng)由通用接口進(jìn)入端點(diǎn)緩沖區(qū),再以數(shù)據(jù)包的形式進(jìn)行傳送。USB串行接口引擎(SIE)通過(guò)USB總線將數(shù)據(jù)上傳至主機(jī)端。一般情況下使用雙重或三重、四重緩沖在通用接口與串行接口間輪換,如圖9所示。
圖9 圖像數(shù)據(jù)傳輸示意圖
虹膜采集裝置的軟件系統(tǒng)由3部分組成:固件程序、驅(qū)動(dòng)程序、應(yīng)用程序。
固件程序是指USB接口芯片CY7C68013A的片內(nèi)程序。為減少設(shè)計(jì)人員的工作量,Cypress公司提供了一個(gè)固件框架firmware,大部分與USB協(xié)議相關(guān)的工作都已在固件中完成了。固件程序主要實(shí)現(xiàn)以下3方面功能:對(duì)USB端口和FIFO進(jìn)行初始化配置;完成對(duì)圖像傳感器的編程配置;其他自定義功能的設(shè)定。
進(jìn)行固件開發(fā)時(shí),首先要根據(jù)設(shè)備情況來(lái)定義USB描述符。然后進(jìn)行端點(diǎn)配置和操作模式設(shè)定,該設(shè)計(jì)使用slave FIFO模式,數(shù)據(jù)自動(dòng)打包,批量傳輸,設(shè)置四重緩沖區(qū),每個(gè)緩沖區(qū)大小1 024字節(jié)。
對(duì)圖像傳感器進(jìn)行配置時(shí),主機(jī)向OV7725傳輸?shù)挠行?shù)據(jù)分為三個(gè)部分,依次為芯片的ID地址、目地寄存器地址和要寫的數(shù)據(jù)。使用時(shí)不必配置所有的寄存器,只針對(duì)設(shè)計(jì)中需要的寄存器進(jìn)行配置即可,主要包括圖像分辨率、輸出格式、時(shí)鐘、攝像頭和影像處理功能等。
驅(qū)動(dòng)程序使用Cypress公司提供的通用USB驅(qū)動(dòng)程序CYUSB.SYS。相應(yīng)地,主機(jī)則使用CyAPI控制函數(shù)類庫(kù)方法進(jìn)行編程。
CyAPI控制函數(shù)類庫(kù)為EZ-USB系列接口芯片提供了精細(xì)的控制接口。進(jìn)行應(yīng)用程序編程時(shí),以Cypress提供的驅(qū)動(dòng)程序?yàn)榛A(chǔ),在主機(jī)程序中加入頭文件CyAPI.h和庫(kù)文件CyAPI.lib即可調(diào)用CyAPI函數(shù)庫(kù)中的基礎(chǔ)函數(shù)。
為提高數(shù)據(jù)傳輸速率,主程序中單獨(dú)開啟一個(gè)批量傳輸線程。在該線程中使用設(shè)備控制類下的Open()函數(shù)打開USB設(shè)備,然后調(diào)用3個(gè)函數(shù)BeginDataXfer()、WaitForXfer()、FinishDataXfer()讀取FIFO中的數(shù)據(jù),最后調(diào)用Close()函數(shù)結(jié)束程序。圖像數(shù)據(jù)存放于計(jì)算機(jī)內(nèi)存中,設(shè)計(jì)中圖像傳感器輸出YUV422格式的數(shù)據(jù),不能直接在計(jì)算機(jī)顯示,需先轉(zhuǎn)化為RGB24數(shù)據(jù)格式。轉(zhuǎn)化公式如下:
R=Y+1.042×(V-128)
(7)
G=Y-0.344 14×(U-128)-0.714 14×(V-128)
(8)
B=Y+1.772×(U-128)
(9)
傳輸過(guò)程中達(dá)到一幀數(shù)據(jù)量并完成格式轉(zhuǎn)化后即開始顯示圖像,直到下一幀數(shù)據(jù)傳輸轉(zhuǎn)換完成,進(jìn)行刷新,實(shí)現(xiàn)實(shí)時(shí)顯示。圖像以BMP格式保存。采集虹膜圖像時(shí),觀察上位機(jī)顯示的視頻,滿足要求時(shí)即可拍照并保存圖像,應(yīng)用程序流程如圖10。
圖10 應(yīng)用程序流程圖
文中設(shè)計(jì)了一個(gè)基于USB2.0接口芯片的虹膜圖像采集裝置,輸出VGA格式(30萬(wàn)像素)圖像,速度達(dá)到30 fps,具備實(shí)時(shí)顯示、拍照、存儲(chǔ)等功能。該虹膜圖像采集裝置光源強(qiáng)度較小,抗干擾性強(qiáng),為虹膜醫(yī)療診斷提供了良好的硬件基礎(chǔ)。圖11為該裝置采集到的虹膜圖像。
圖11 裝置采集的虹膜圖像
參考文獻(xiàn):
[1] 王齡.觀察虹膜知健康.沈陽(yáng):遼寧科學(xué)技術(shù)出版社,2010:2.
[2] 曾華陽(yáng),劉寶林,黃文達(dá),等.發(fā)光二極管的色度分析.光電器件與材料,2009,24(2):40-43.
[3] 楊思蘊(yùn).一種虹膜檢測(cè)裝置:中國(guó),200910039113.1[P] .2009-04-30.
[4] 胡宗星.虹膜采集關(guān)鍵問(wèn)題的研究與實(shí)踐:[學(xué)位論文] .長(zhǎng)春:吉林大學(xué),2011.
[5] OmniVision Technologies,lnc.OV7725_CSP2_DS_(1.5) [DB/OL]. (2008-08-04).[2013-11-03] .http://www.ovt.com/products/category.php?id=15.
[6] 焦斌亮,韓志學(xué).基于EZ-USB FX2實(shí)現(xiàn)的高速數(shù)據(jù)采集系統(tǒng).儀表技術(shù)與傳感器,2005(7):21-22.
[7]劉思久,趙蔚.實(shí)現(xiàn)USB2.0高速數(shù)據(jù)傳輸?shù)膯?wèn)題探討.計(jì)算機(jī)工程與應(yīng)用,2007,43(2):75-77.