張 敏,孟令軍
(中北大學(xué) 電子測試技術(shù)國防科技重點實驗室,太原 030051)
虹膜相比其他生物特征識別具有更高的唯一性、準(zhǔn)確性[1]。當(dāng)前,有3種最為常見的虹膜識別算法,即基于二維Gabor濾波器的虹膜紋理相位編碼算法[2],用高斯型濾波器在不同分辨率下分解虹膜圖像的算法[3]以及基于小波變換的虹膜識別算法[4]。盡管這3種算法構(gòu)建的虹膜識別系統(tǒng)有著較高的識別率,但是具有計算量大、程序復(fù)雜度高、實時性差等缺點。
為解決攝像頭在可見光與紅外光轉(zhuǎn)換引起的虛焦、畫面模糊的現(xiàn)象[5],本文采用激光三角測距法實現(xiàn)自動對焦[6],同時結(jié)合DSP強(qiáng)大的數(shù)據(jù)處理能力[7],設(shè)計了一種改進(jìn)的虹膜特征編碼方法,構(gòu)建了基于激光三角法的虹膜識別系統(tǒng)。該系統(tǒng)運算量小、處理速度快、準(zhǔn)確度高、功耗低,并且布線方便,已成功應(yīng)用于某安防系統(tǒng)。
系統(tǒng)主要由激光自動對焦、虹膜圖像采集、處理與顯示部分、數(shù)據(jù)存儲部分、人機(jī)交互部分、WiFi網(wǎng)絡(luò)部分以及云端服務(wù)器組成。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 虹膜識別系統(tǒng)總體設(shè)計結(jié)構(gòu)圖
系統(tǒng)的工作流程為:DSP控制紅外激光束投射至人眼虹膜,同時光點的像被攝像頭吸收呈現(xiàn)光斑,通過在不同離焦情況下采用激光三角法準(zhǔn)確測出光斑的中心位置,調(diào)節(jié)對焦軸進(jìn)行對焦,實現(xiàn)虹膜圖像的精確檢測,將對焦后采集到的虹膜圖像編碼后,傳輸至DSP中進(jìn)行處理,并將處理得到的結(jié)果通過WiFi傳輸至云端。由于傳輸?shù)氖敲總€人相對應(yīng)的識別碼,云端服務(wù)器接收到該識別碼后,調(diào)用云端數(shù)據(jù)庫,即可生成詳細(xì)的虹膜識別記錄表。同時,虹膜識別終端將采集到的圖像顯示并進(jìn)行語音提示。
虹膜識別算法主要包括虹膜圖像的預(yù)處理、虹膜特征的提取和編碼、虹膜特征的匹配3個方面[8]。
虹膜識別的準(zhǔn)確性對圖像采集技術(shù)提出較高的要求,采集到的虹膜圖像預(yù)處理工作主要包含虹膜圖像內(nèi)圓與外圓的準(zhǔn)確定位、虹膜圖像的歸一化以及采用設(shè)計的算法對虹膜圖像進(jìn)行增強(qiáng)顯示。
對采集到的虹膜圖像進(jìn)行直方圖統(tǒng)計,根據(jù)直方圖特性找到合適的閾值對瞳孔進(jìn)行分割識別,并利用Canny算子對瞳孔的邊緣進(jìn)行識別提取,然后用最小二乘法來擬合出所得虹膜圖像的內(nèi)圓;對所得虹膜圖像的外圓進(jìn)行定位時,采用應(yīng)用范圍廣的微積分算子法來實現(xiàn)。虹膜圖像的內(nèi)、外圓定位過程如圖2所示,圖3所示為定位的效果。
根據(jù)對虹膜圖像處理后所得的虹膜內(nèi)、外圓定位結(jié)果,結(jié)合虹膜圖像的可被識別特征,對其進(jìn)行坐標(biāo)變換,將它所在的直角坐標(biāo)系映射成極坐標(biāo)系,系統(tǒng)中將圖像歸一化為512×64大小,并利用直方圖均衡化的方法來增強(qiáng)圖像對比度。虹膜圖像歸一化及增強(qiáng)如圖4所示。
圖2 虹膜內(nèi)、外圓定位過程
圖3 虹膜定位效果
圖4 虹膜歸一化及增強(qiáng)圖像
為了避免不同尺度下的Gabor濾波器提取虹膜特征時產(chǎn)生的影響[9-10],設(shè)計采用24個濾波器組(4個方向、6個尺度)來對之前歸一化所得的圖像進(jìn)行濾波,這樣就能得到所采集虹膜圖像的特征信息,在不同尺度上和方向上的濾波結(jié)果如圖5所示。同時考慮到相位信息可以有效地反映當(dāng)前紋理的相位信息,但是卻不能反映其所具有的能量;而幅值均值可以有效反映紋理能量的大小,卻不能表征其相位信息。因此在降低信息冗余度而又不降低虹膜信息量的前提下,提出了一種改進(jìn)的虹膜編碼方式。
pi/2-8虛部濾波結(jié)果pi/2-12虛部濾波結(jié)果pi/4-12虛部濾波結(jié)果Gabor實部 pi/2-8實部濾波結(jié)果pi/2-12實部濾波結(jié)果pi/4-12實部濾波結(jié)果Gabor虛部
圖5 不同尺度和方向的濾波結(jié)果對比圖
(1)
式中:μr為圖像塊Bi在濾波器下的實部均值;μi為圖像塊Bi在濾波器下的虛部均值。虹膜特征向量
(2)
虹膜特征向量編碼流程如圖6所示。
圖6 虹膜特征提取過程
為了消除特征向量中兩部分各自量綱的影響,需要將特征向量的前后兩部分分別計算歐氏距離和海明距離,然后將其各自歸一化處理,最后將兩個距離相加作為最終的識別距離。
在提取特征向量之后,系統(tǒng)中采用k-近鄰法(KNN)來計算兩個虹膜特征向量的相似度[11]?;趉-近鄰法的虹膜識別方式就是在已注冊好的N個樣本構(gòu)成的庫中找出待識別樣本f的k個近鄰,當(dāng)且僅當(dāng)待識別虹膜圖像的特征向量和第k類特征向量之間的方差倒數(shù)加權(quán)歐氏距離(WED)最小時,待識別的虹膜圖像即被歸為第k類。WED的計算如下:
(3)
DSP系統(tǒng)的軟件設(shè)計部分主要包含驅(qū)動任務(wù)和應(yīng)用程序這兩個大類[12-13]。在所設(shè)計的系統(tǒng)中,驅(qū)動任務(wù)主要是通過SPI協(xié)議對激光自動對焦及攝像頭、SDRAM存儲器、鍵盤控制芯片ZLG7290和語音編解碼芯片TLV320AIC23的配置和初始化工作;應(yīng)用程序是在BIOS系統(tǒng)上設(shè)計了多任務(wù)的虹膜識別系統(tǒng)代碼。系統(tǒng)中設(shè)計添加了空閑任務(wù)、圖像采集并顯示的任務(wù)、圖像預(yù)處理任務(wù)、虹膜特征編碼、虹膜匹配任務(wù),以及虹膜注冊任務(wù)。將所有任務(wù)的優(yōu)先級均設(shè)置為2,通過信號量的使用情況來完成不同任務(wù)之間的切換。基于DSP/BIOS系統(tǒng)的多任務(wù)設(shè)計如圖7所示。
圖7 虹膜識別系統(tǒng)的多任務(wù)設(shè)計
圖像采集和顯示任務(wù)的主要功能是啟動和同步攝像頭,并把圖像數(shù)據(jù)搬移到圖像顯示緩沖區(qū)中以待顯示使用;圖像預(yù)處理任務(wù)是根據(jù)設(shè)計的預(yù)處理算法對虹膜圖像進(jìn)行預(yù)處理,從而得到歸一化后的虹膜圖像;虹膜特征編碼任務(wù)主要是根據(jù)改進(jìn)的算法完成虹膜特征提取及編碼,得到可用于識別的虹膜矩;虹膜匹配任務(wù)是根據(jù)k-近鄰算法實現(xiàn)兩個虹膜的匹配計算。
此外,由于后期涉及到虹膜注冊,因此需要設(shè)置一個外部硬件中斷,一旦外部中斷口捕獲到了中斷信號,系統(tǒng)就會立即進(jìn)入該中斷來觸發(fā)虹膜注冊任務(wù),將采得的虹膜特征數(shù)據(jù)存放至外擴(kuò)的Flash虹膜特征庫中。
在DSP嵌入式虹膜識別系統(tǒng)設(shè)計中,考慮到系統(tǒng)整體設(shè)計和運行速度等因素,可把片內(nèi)L2空間的前128 KB用于存放Bootloader代碼和Gabor模板,以此來提高系統(tǒng)和程序?qū)τ诔S脭?shù)據(jù)的快速讀??;后128 KB全部作為cache使用,這樣可大大提高系統(tǒng)的運行速率和效率。同時把外擴(kuò)的SDRAM劃分為8塊,用于存放臨時變量、系統(tǒng)堆棧、虹膜圖像等信息。整個系統(tǒng)的內(nèi)存劃分如表1所示。
表1 系統(tǒng)內(nèi)存劃分
由于激光三角法具有非接觸、結(jié)構(gòu)簡單、測量點小、準(zhǔn)確度高及實時在線測量快速等特點[14],設(shè)計使用激光三角法對攝像頭的對焦進(jìn)行優(yōu)化處理。激光模塊主要由入射光路和反射光路兩部分組成,激光發(fā)射器位于和攝像頭同側(cè)的窗口,功率范圍10~50 mW,光譜為808 nm的紅外波段。激光光源能夠聚焦為兩部分,入射的光聚焦在樣本表面,反射光聚焦在CCD傳感器上呈現(xiàn)一個半圓光斑或者不規(guī)則的亮點,光斑的中心位置隨離焦情況的不同而不同。通過計算光斑的中心位置,設(shè)計根據(jù)光斑的中心位置和離焦的相關(guān)性來驅(qū)動對焦軸上下移動實現(xiàn)自動對焦。
為了在復(fù)雜環(huán)境下方便布線,減少電纜的使用,增大網(wǎng)絡(luò)的覆蓋范圍,設(shè)計采用了WiFi作為數(shù)據(jù)傳輸載體,從而實現(xiàn)數(shù)據(jù)的無線傳輸。
相比較ZigBee與藍(lán)牙傳輸方式,WiFi無線電波覆蓋范圍更廣,傳輸速率快,因其帶寬可自動調(diào)整,有效保障網(wǎng)絡(luò)的穩(wěn)定性和可靠性,且對人體無害,組網(wǎng)成本更低[15]。設(shè)計將WiFi模塊與DSP采用SPI協(xié)議實現(xiàn)通信,可以將DSP處理后得到的數(shù)據(jù)直接發(fā)送至WiFi模塊的接收端,這樣數(shù)據(jù)便可順利準(zhǔn)確的傳輸至云端。
該設(shè)計傳輸?shù)闹皇敲總€人對應(yīng)的識別碼,設(shè)計利用ESP8266芯片,將WiFi網(wǎng)絡(luò)通過路由器或AP設(shè)備連接至云端服務(wù)器的USB接口,當(dāng)云端接收到虹膜識別碼之后,上位機(jī)調(diào)用云端數(shù)據(jù)庫,便可識別進(jìn)行識別的個人。
云端服務(wù)器上的程序接收到識別碼并調(diào)用數(shù)據(jù)庫,所得結(jié)果如圖8所示。通過實驗計時,在處理大小為320×280像素的8 bit虹膜圖像時,此虹膜識別系統(tǒng)處理時間僅為0.8 s左右,滿足實時性要求。
圖8 云端服務(wù)器測試結(jié)果圖
選擇910張虹膜圖像,分別取k值為1、2、3、4來統(tǒng)計識別率,所識別的準(zhǔn)確率分別為:79.5%,85.3%,96.8%,89.7%。實驗表明,當(dāng)k=3時,系統(tǒng)識別率可以達(dá)到96.8%。即待識別的樣本f與已注冊的樣本的方差倒數(shù)加權(quán)歐氏距離WED,取未知樣本f的3個近鄰,并且識別這3個近鄰中的多數(shù)為哪一類,這樣就能把待識別的樣本歸為同一類。
結(jié)合激光三角法測距實現(xiàn)自動對焦以及WiFi無線傳輸?shù)膬?yōu)勢,設(shè)計了虹膜識別系統(tǒng),激光測距用來輔助相機(jī)實現(xiàn)更精準(zhǔn)對焦,在光線昏暗環(huán)境或低對比度場景下對焦速度有著顯著提升。在Gabor濾波圖像的基礎(chǔ)上,利用分塊圖像的幅值均值和相位信息來提取虹膜特征量,并結(jié)合k-近鄰算法來完成虹膜識別功能,并將識別結(jié)果通過WiFi傳輸至云端服務(wù)器。該方法有效的解決了虹膜識別系統(tǒng)中結(jié)構(gòu)復(fù)雜、計算量大、實時性差以及布線困難等問題。經(jīng)過實際測試,系統(tǒng)運行穩(wěn)定、響應(yīng)速度快、識別率較高、布局方便,可廣泛應(yīng)用于安全保密、電子商務(wù)等需要進(jìn)行個人身份識別的領(lǐng)域。