科普:虹膜識別的工作原理
2015-11-26 20:44:58 n虹膜識別的方法最早由美國的眼科醫生Leonard Flom 和 Arin Safir在1987年提出來的。虹膜識別的算法是由劍橋大學John Dargman博士研究出來的。他提出了對虹膜進行編碼、比較的數學算法。
虹膜是瞳孔周圍的環狀顏色組織,它有豐富而各不相同的紋理圖案,構成了虹膜識別的基礎。虹膜識別技術是通過一種近似紅外線的光線對虹膜圖案進行掃描成像,并通過圖案象素位的異或操作來判定相似程度。虹膜識別過程首先需要把虹膜從眼睛圖像中分離出來,再進行特征分析。理論上找到兩個完全相同的虹膜的概率是120萬分之一。這也是目前已知的所有生物識別技術中最為精確的。
虹膜識別因為設備復雜,掃描距離短(一般要求在7英寸范圍以內),以及使用者心理上對健康的擔心,而未能在民用市場大量使用。
一個人的虹膜在發育成熟后終生不變,且具有極高的唯一性,因此,是一種安全性(密切量)極高的人體生物特征。虹膜是與視網膜不同的概念,它存在于眼的表面(角膜下部),是瞳孔周圍的有色環行薄膜,人眼的顏色就是由虹膜決定的,不受眼球內部疾病的影響。
虹膜讀取裝置主要是攝像機,只要眼睛正視攝像頭就可完成信息讀取。它的特點是不需要接觸識讀設備,但也需人體配合(不能閉眼,側面對攝像機)才能攝取有用信息,因不便嚴格規定人的位置,系統的誤識率很低,拒識率則較高。
虹膜作為特征的另一優勢是不易仿造,但環境條件的限制,在安全防范系統中應用尚不普遍。
二、基于虹膜的人體特征識別方法研究
虹膜識別技術的一般過程
虹膜識別技術的過程一般來說分為:虹膜圖像獲取、圖像預處理、特征提取和特征匹配四個步驟。
虹膜圖像獲取是指使用特定的數字攝像器材對人的整個眼部進行拍攝,并將拍攝到的圖像通過圖像采集卡傳輸到計算機中存儲。
圖像預處理是指由于拍攝到的眼部圖像包括了很多多余的信息,并且在清晰度等方面不能滿足要求,需要對其進行包括圖像平滑、邊緣檢測、圖像分離等預處理操作。
特征提取是指通過一定的算法從分離出的虹膜圖像中提取出獨特的特征點,并對其進行編碼。
最后,特征匹配是指根據特征編碼與數據庫中事先存儲的虹膜圖像特征編碼進行比對、驗證,從而達到識別的目的。
獲取眼部圖像
本文的虹膜圖像攝取裝置如所示,采用的是卓為(SOVIC)SP-313 攝像頭。該攝像頭采用的是最新CCD效果的CMOS感光芯片,圖像分辨率為 35萬像素(640×480 無軟件插值),內置低照度的輔助光源,能最大限度減少對人眼的刺激,使用時配以人工暗室,使人的眼部圖像更清晰、明亮。是本設計采用的攝像頭獲取到的人眼部圖像。
虹膜圖像攝取裝置
獲取到圖片數據后,只需要將其按照一定的圖片格式寫入文件,即可完成需要的眼部圖像在計算機中的存儲。本文程序中采用的是BMP格式的圖像文件,因為BMP圖像文件存儲的圖像數據沒有經過壓縮,方便以后對圖像進行的預處理。
人的眼部圖像
眼部圖像的預處理
BMP圖像文件格式主要有1、4、8、16、24和32位等圖像格式。32位BMP圖像文件格式表示該圖像有232種顏色,圖像中的每個像素用32位表示,一般情況下該文件格式沒有調色版,32位中的最高8位保留,其余8位表示紅色,8位表示綠色,8位表示藍色。8位BMP圖像文件表示該圖像有256種顏色。圖像中的每個像素用8位表示,并用這8位作為索引在彩色表中查找該像素的顏色,8位BMP圖像一般也叫做灰度圖像。
在本文獲取到的圖像是32位的彩色BMP圖像。32位的彩色圖像存儲的圖像色彩數據較多,圖像文件的尺寸也較大。但是從本文圖像識別的要求來看,這些都是不必要的,因此有必要將其轉換為8位的灰度圖像。
轉換公式如下所示。
其中Gray (i, j)為轉換后的黑白圖像在(i, j)點處的灰度值,由于公式中綠色所占的比重最大,所以轉換時可以自接使用G值作為轉換后的灰度。轉換后的灰度圖像如所示。從圖像上看與 32 位RGB 圖像沒有大的不同,但是圖像文件的尺寸從1.17Mb縮小到了301Kb。
人眼部圖像的灰度圖像
將獲取到的眼部圖像轉換為灰度圖像之后,還需要對灰度圖像進行去噪聲處理。本文采用的是空域法中的加權均值濾波,它是用一個有奇數點的滑動窗口在圖像上滑動,將窗口中心點對應的圖像像素點的灰度值用窗口內的各個點的灰度值的平均值代替,如果滑動窗口規定了在取均值過程中窗口各個像素點所占的權重,也就是各個像素點的系數。
提取虹膜圖像
此過程需要讀取眼部圖像的數據,檢測虹膜圖像的內外邊緣,提取內圓圓心坐標及短半徑,再求出虹膜長半徑,建立極坐標系,分離虹膜圖像,最后進行特征提取。
和眼睛的其他部分相比,瞳孔的灰度值要小得多,也就是顏色要暗得多,而且在灰度級上有一個明顯的突變,也就是說在瞳孔的灰度級要比其他部分的灰度級“黑得多”。因此,可以充分利用這個特性,對圖 2進行直方圖分析,結果如圖 4所示。
灰度直方圖
對計算結果可以得出,圖像灰度值從 62 開始,且圖中存在若干個峰值點。我們已知瞳孔的顏色最暗,因此可以判定第一個波峰為瞳孔的灰度分布。具體觀察第一個峰值,其基本呈正弦函數狀分布,以72為波峰(值:884),左側62(值:0)為波谷,1/4 周期為10。據此,我們確定右側的波谷為 82。根據分析結果,對圖 4進行二值化,閾值為 82,可以求出虹膜的長半徑,如所示。
虹膜長半徑
三、手機虹膜識別
手機應用虹膜解鎖是否實用
既然前面網友問到了是否靠譜的問題,那么我們就接著這個問題來延伸著談一談,不考慮技術問題,如果虹膜解鎖能夠克服環境的影響,那么將其應用在手機中還是比較實用的。
如果可以實現百分百的識別,從生物特性來說,虹膜解鎖,要比指紋掃描、Touch ID更加安全,理論上來說,只有DNA才能超過它。在人體生物特征識別領域,認假率是十分重要的指標,它的數值越低,就代表識別越精確,也就越能減少出錯的可能性。虹膜識別的認假率為1/1500000,而TouchID的認假率為1/50000。而從唯一性來說,當人到兩歲以后,人類眼睛的虹膜就幾乎不會再發生變化,所以將虹膜作為“密碼”有著更好的“長期安全性”。
能否取代指紋識別
既然虹膜解鎖認假率如此之高,看起來如此安全,那么可能就會有很多朋友提問了,虹膜解鎖究竟能否取代指紋識別呢?其實這是一個開放性的問題,畢竟目前在手機領域,指紋識別都還沒有真正的普及,對于識別率還沒有真正達標的虹膜解鎖,我們更不好去為它的未來下定論。