張 敏,孟令軍
(中北大學 電子測試技術國防科技重點實驗室,太原 030051)
虹膜相比其他生物特征識別具有更高的唯一性、準確性[1]。當前,有3種最為常見的虹膜識別算法,即基于二維Gabor濾波器的虹膜紋理相位編碼算法[2],用高斯型濾波器在不同分辨率下分解虹膜圖像的算法[3]以及基于小波變換的虹膜識別算法[4]。盡管這3種算法構建的虹膜識別系統有著較高的識別率,但是具有計算量大、程序復雜度高、實時性差等缺點。
為解決攝像頭在可見光與紅外光轉換引起的虛焦、畫面模糊的現象[5],本文采用激光三角測距法實現自動對焦[6],同時結合DSP強大的數據處理能力[7],設計了一種改進的虹膜特征編碼方法,構建了基于激光三角法的虹膜識別系統。該系統運算量小、處理速度快、準確度高、功耗低,并且布線方便,已成功應用于某安防系統。
系統主要由激光自動對焦、虹膜圖像采集、處理與顯示部分、數據存儲部分、人機交互部分、WiFi網絡部分以及云端服務器組成。系統結構如圖1所示。

圖1 虹膜識別系統總體設計結構圖
系統的工作流程為:DSP控制紅外激光束投射至人眼虹膜,同時光點的像被攝像頭吸收呈現光斑,通過在不同離焦情況下采用激光三角法準確測出光斑的中心位置,調節對焦軸進行對焦,實現虹膜圖像的精確檢測,將對焦后采集到的虹膜圖像編碼后,傳輸至DSP中進行處理,并將處理得到的結果通過WiFi傳輸至云端。由于傳輸的是每個人相對應的識別碼,云端服務器接收到該識別碼后,調用云端數據庫,即可生成詳細的虹膜識別記錄表。同時,虹膜識別終端將采集到的圖像顯示并進行語音提示。
虹膜識別算法主要包括虹膜圖像的預處理、虹膜特征的提取和編碼、虹膜特征的匹配3個方面[8]。
虹膜識別的準確性對圖像采集技術提出較高的要求,采集到的虹膜圖像預處理工作主要包含虹膜圖像內圓與外圓的準確定位、虹膜圖像的歸一化以及采用設計的算法對虹膜圖像進行增強顯示。
對采集到的虹膜圖像進行直方圖統計,根據直方圖特性找到合適的閾值對瞳孔進行分割識別,并利用Canny算子對瞳孔的邊緣進行識別提取,然后用最小二乘法來擬合出所得虹膜圖像的內圓;對所得虹膜圖像的外圓進行定位時,采用應用范圍廣的微積分算子法來實現。虹膜圖像的內、外圓定位過程如圖2所示,圖3所示為定位的效果。
根據對虹膜圖像處理后所得的虹膜內、外圓定位結果,結合虹膜圖像的可被識別特征,對其進行坐標變換,將它所在的直角坐標系映射成極坐標系,系統中將圖像歸一化為512×64大小,并利用直方圖均衡化的方法來增強圖像對比度。虹膜圖像歸一化及增強如圖4所示。

圖2 虹膜內、外圓定位過程


圖3 虹膜定位效果

圖4 虹膜歸一化及增強圖像
為了避免不同尺度下的Gabor濾波器提取虹膜特征時產生的影響[9-10],設計采用24個濾波器組(4個方向、6個尺度)來對之前歸一化所得的圖像進行濾波,這樣就能得到所采集虹膜圖像的特征信息,在不同尺度上和方向上的濾波結果如圖5所示。同時考慮到相位信息可以有效地反映當前紋理的相位信息,但是卻不能反映其所具有的能量;而幅值均值可以有效反映紋理能量的大小,卻不能表征其相位信息。因此在降低信息冗余度而又不降低虹膜信息量的前提下,提出了一種改進的虹膜編碼方式。

pi/2-8虛部濾波結果pi/2-12虛部濾波結果pi/4-12虛部濾波結果Gabor實部 pi/2-8實部濾波結果pi/2-12實部濾波結果pi/4-12實部濾波結果Gabor虛部
圖5 不同尺度和方向的濾波結果對比圖

(1)
式中:μr為圖像塊Bi在濾波器下的實部均值;μi為圖像塊Bi在濾波器下的虛部均值。虹膜特征向量

(2)

虹膜特征向量編碼流程如圖6所示。

圖6 虹膜特征提取過程
為了消除特征向量中兩部分各自量綱的影響,需要將特征向量的前后兩部分分別計算歐氏距離和海明距離,然后將其各自歸一化處理,最后將兩個距離相加作為最終的識別距離。
在提取特征向量之后,系統中采用k-近鄰法(KNN)來計算兩個虹膜特征向量的相似度[11]。基于k-近鄰法的虹膜識別方式就是在已注冊好的N個樣本構成的庫中找出待識別樣本f的k個近鄰,當且僅當待識別虹膜圖像的特征向量和第k類特征向量之間的方差倒數加權歐氏距離(WED)最小時,待識別的虹膜圖像即被歸為第k類。WED的計算如下:
(3)

DSP系統的軟件設計部分主要包含驅動任務和應用程序這兩個大類[12-13]。在所設計的系統中,驅動任務主要是通過SPI協議對激光自動對焦及攝像頭、SDRAM存儲器、鍵盤控制芯片ZLG7290和語音編解碼芯片TLV320AIC23的配置和初始化工作;應用程序是在BIOS系統上設計了多任務的虹膜識別系統代碼。系統中設計添加了空閑任務、圖像采集并顯示的任務、圖像預處理任務、虹膜特征編碼、虹膜匹配任務,以及虹膜注冊任務。將所有任務的優先級均設置為2,通過信號量的使用情況來完成不同任務之間的切換。基于DSP/BIOS系統的多任務設計如圖7所示。

圖7 虹膜識別系統的多任務設計
圖像采集和顯示任務的主要功能是啟動和同步攝像頭,并把圖像數據搬移到圖像顯示緩沖區中以待顯示使用;圖像預處理任務是根據設計的預處理算法對虹膜圖像進行預處理,從而得到歸一化后的虹膜圖像;虹膜特征編碼任務主要是根據改進的算法完成虹膜特征提取及編碼,得到可用于識別的虹膜矩;虹膜匹配任務是根據k-近鄰算法實現兩個虹膜的匹配計算。
此外,由于后期涉及到虹膜注冊,因此需要設置一個外部硬件中斷,一旦外部中斷口捕獲到了中斷信號,系統就會立即進入該中斷來觸發虹膜注冊任務,將采得的虹膜特征數據存放至外擴的Flash虹膜特征庫中。
在DSP嵌入式虹膜識別系統設計中,考慮到系統整體設計和運行速度等因素,可把片內L2空間的前128 KB用于存放Bootloader代碼和Gabor模板,以此來提高系統和程序對于常用數據的快速讀取;后128 KB全部作為cache使用,這樣可大大提高系統的運行速率和效率。同時把外擴的SDRAM劃分為8塊,用于存放臨時變量、系統堆棧、虹膜圖像等信息。整個系統的內存劃分如表1所示。

表1 系統內存劃分
由于激光三角法具有非接觸、結構簡單、測量點小、準確度高及實時在線測量快速等特點[14],設計使用激光三角法對攝像頭的對焦進行優化處理。激光模塊主要由入射光路和反射光路兩部分組成,激光發射器位于和攝像頭同側的窗口,功率范圍10~50 mW,光譜為808 nm的紅外波段。激光光源能夠聚焦為兩部分,入射的光聚焦在樣本表面,反射光聚焦在CCD傳感器上呈現一個半圓光斑或者不規則的亮點,光斑的中心位置隨離焦情況的不同而不同。通過計算光斑的中心位置,設計根據光斑的中心位置和離焦的相關性來驅動對焦軸上下移動實現自動對焦。
為了在復雜環境下方便布線,減少電纜的使用,增大網絡的覆蓋范圍,設計采用了WiFi作為數據傳輸載體,從而實現數據的無線傳輸。
相比較ZigBee與藍牙傳輸方式,WiFi無線電波覆蓋范圍更廣,傳輸速率快,因其帶寬可自動調整,有效保障網絡的穩定性和可靠性,且對人體無害,組網成本更低[15]。設計將WiFi模塊與DSP采用SPI協議實現通信,可以將DSP處理后得到的數據直接發送至WiFi模塊的接收端,這樣數據便可順利準確的傳輸至云端。
該設計傳輸的只是每個人對應的識別碼,設計利用ESP8266芯片,將WiFi網絡通過路由器或AP設備連接至云端服務器的USB接口,當云端接收到虹膜識別碼之后,上位機調用云端數據庫,便可識別進行識別的個人。
云端服務器上的程序接收到識別碼并調用數據庫,所得結果如圖8所示。通過實驗計時,在處理大小為320×280像素的8 bit虹膜圖像時,此虹膜識別系統處理時間僅為0.8 s左右,滿足實時性要求。

圖8 云端服務器測試結果圖
選擇910張虹膜圖像,分別取k值為1、2、3、4來統計識別率,所識別的準確率分別為:79.5%,85.3%,96.8%,89.7%。實驗表明,當k=3時,系統識別率可以達到96.8%。即待識別的樣本f與已注冊的樣本的方差倒數加權歐氏距離WED,取未知樣本f的3個近鄰,并且識別這3個近鄰中的多數為哪一類,這樣就能把待識別的樣本歸為同一類。
結合激光三角法測距實現自動對焦以及WiFi無線傳輸的優勢,設計了虹膜識別系統,激光測距用來輔助相機實現更精準對焦,在光線昏暗環境或低對比度場景下對焦速度有著顯著提升。在Gabor濾波圖像的基礎上,利用分塊圖像的幅值均值和相位信息來提取虹膜特征量,并結合k-近鄰算法來完成虹膜識別功能,并將識別結果通過WiFi傳輸至云端服務器。該方法有效的解決了虹膜識別系統中結構復雜、計算量大、實時性差以及布線困難等問題。經過實際測試,系統運行穩定、響應速度快、識別率較高、布局方便,可廣泛應用于安全保密、電子商務等需要進行個人身份識別的領域。