(廣東肇慶學院教育技術與計算機中心,廣東 肇慶 526061)
隨著我們邁入信息時代,信息安全成為當今必須解決的一個關鍵社會問題,特別是隨著近些年恐怖事件的不斷發生,社會各界對安全性的要求也越來越高,因而對生物特征識別技術的需求量也越來越大。據統計[1],到目前為止,虹膜識別的錯誤率是各種生物特征(指紋,人臉,聲音等)識別中最低的。由于人的虹膜具有唯一性、穩定性、可采集性、非侵犯性等優點,所以被認為是最有前途的生物識別技術之一。虹膜識別是剛剛興起的前沿方向,目前虹膜識別算法主要有以下幾種:
Daugman[2]提出利用2D-Gabor濾波器對虹膜紋理進行局部相位量化和編碼,這種算法識別準確性高,速度快,是目前虹膜識別商用系統的基礎。但這種算法需要處理紋理的二維信息,增加了特征提取的運算時間。Wildes[3]采用高斯型濾波器在不同分辨率下分解虹膜圖象,并把結果進行存儲比較,計算量比較大。Boles[4]提出了一種新穎的基于小波變換過零檢測的虹膜識別算法,只在小樣本集里取得了有限的結果。這種算法對灰度值變化比較敏感,因而識別率比較低。
本文提出一種基于Gabor與瑞利分布型濾波器的虹膜識別算法。實驗結果表明,該算法識別錯誤率低,效率高,適合安全性要求較高的場合。
一個虹膜識別系統通常有虹膜圖象的預處理(圖象獲取,虹膜定位,歸一化),特征提取,認證識別3部分組成。虹膜識別系統示意圖如圖1所示。

圖1 虹膜識別系統示意圖
虹膜定位就是要找到瞳孔與虹膜,虹膜與鞏膜之間的兩個邊界即內邊界和外邊界,通常我們把這兩條邊界近似為兩個圓,只要知道圓心和半徑,那么就可以唯一地確定一個圓,也就是說:虹膜定位就是在人眼圖像中確定兩對圓心和半徑。
首先,根據人眼圖像的灰度特點(虹膜區域灰度值較小),采用灰度投影的方法大致確定瞳孔的圓心c(Xc,Yc),計算公式如下:

式中,I(x,y)為圖像的灰度值。
再對圖像采用Canny算子[5]進行邊緣檢測,其敏感度閾值選取為0.9。對虹膜庫中圖像進行實驗,結果表明可得到較清晰、完整的瞳孔邊緣圖像。在圓心c附近(避免睫毛和眼瞼的影響)水平地掃描邊緣圖像數次,得到瞳孔邊緣點,求出它們的中心即為瞳孔的圓心,所有點到中心的平均距離就是瞳孔的半徑r。一般情況下,虹膜內外邊界的圓心并不重合,但其偏差不到4個像素,故本文把瞳孔的圓心近似認為是虹膜外邊界的圓心對最終定位結果影響不大。采用Daugman的圓形檢測算子[2],直接以一個參數r進行搜索,計算如式(2):

式中,R就是虹膜外邊界的半徑,虹膜定位后的最終結果如圖2(c)所示。

圖2 虹膜定位
不同人眼圖像定位出的虹膜區域大小不同,即使是同一人,由于光照和其它因素的影響也可能造成虹膜區域的大小變化,為了便于識別必須將虹膜按同樣的維數展開。因為虹膜圖像具有良好的極坐標特性,故本文采用極坐標轉換方法。沿虹膜內邊界向外,取n個同心圓,n對所有的虹膜都保持不變。在每個同心圓上取m個采樣點,這樣得到一個n×m的矩陣n,m是常數,在所有的圖像中保持不變,這樣就做到虹膜區域的歸一化,原理如圖3所示。

圖3 虹膜歸一化
由于上眼皮會部分地遮擋虹膜頂端,為了排除這一部分,以瞳孔為中心,按逆時針方向截取150°到 210°與 330°到 390°的虹膜區域,如圖 4(a)。然后將截取的虹膜區域在極坐標系中展開成大小為40×256矩形,如圖 4(b)所示。

圖4 虹膜展開
目前已有的虹膜識別算法大多用Gabor小波變換來提取虹膜特征[5~6],但考慮到盡量簡化編碼過程,縮短編碼時間,本文選用所有已知小波中最簡單的Haar小波。如圖5所示是虹膜圖像的Haar小波分解示意圖,L表示低頻,H表示高頻,下標1,2表示一級或二級分解。LL代表了圖像在水平低頻和垂直低頻下的信息;LH代表了圖像在水平低頻和垂直高頻下的信息;HL代表了圖像在水平高頻和垂直低頻下的信息;HH代表了圖像在水平高頻和垂直高頻下的信息。

圖5 虹膜特征提取
通過大量樣本實驗,確定虹膜紋理特征分量主要集中在尺度23上,故對歸一化的虹膜紋理圖像(40×256)進行三層小波分解,選取第三層的對角細節HH3(5×32)進行虹膜特征編碼(相當于160個特征)。
再將40×256的虹膜紋理圖像分成8段 (每段40×32),分別對其進行3層小波分解,取其中大小為5×4的HL和LH子圖各4幅,它們很好地體現了虹膜的局部紋理特征。結合前面的5×32HH3分量,一同組成320位(5×32+8×5×4=320)特征碼。它既考慮了全局特征又考慮了局部特征,并且結合了HL和LH分量,能夠很好地標示虹膜紋理。320維虹膜特征碼的所有元素都是區間[-1,1]上的實數,取0為閾值將其二值化(0或1)為320位虹膜碼。
通過Haar算法我們得到了虹膜的特征編碼,接下來的工作便是選擇合適的分類算法對編碼進行訓練分類。目前,在虹膜識別算法中普遍采用基于海明距離和歐氏距離的分類方法。本文將運用支持向量機(Support Vector Machine,SVM)方法完成對虹膜碼的訓練分類。SVM是一種基于結構風險最小化原理的兩分類方法,由于其良好的性能,已被廣泛應用到模式識別的許多領域。
支持向量機是一種基于結構風險最小化(StructuralRiskMinimization,SRM)[7]原理的通用學習方法.。如圖6所示,實心點和空心點代表線性可分的兩類樣本。按照SRM的要求,SVM學習的結果是最優超平面P,該平面不僅能將兩類訓練樣本正確分開,而且要使分類間隔最大。在這兩類中離P最近的樣本就是所謂的支持向量(Support Vector),正是它們確定了最優分類超平面。

圖6虹膜最優超平面
假定訓練集{xi,yi},i=1,…,lyiε{-1,1},xiεRπ在線性可分情況下被一個超平面ω×x+b=0,ωεRπ,bεR,分開,這樣SVM可以看成是對如下問題的求解:

該約束優化問題可以用Lagrange方法求解:



SVM的訓練算法本質上就是解一個有大量約束的二次規劃問題,訓練結束后就獲得了SVM的參數。考慮到目前對虹膜識別的應用主要是借鑒模式,即判斷聲稱是xi的x是否為真。輸入x的類別判別函數就是式中的f(x),如果f(x)=1,則認為是同一人的虹膜;如果f(x)=-1,則認為不是同一個人。
本文采用CASIA虹膜圖像數據庫[8],包括80人(其中男62人,女18人),108只不同眼睛的虹膜圖像樣本,每只眼睛有7幅8位灰度圖像,分辨率為320×280。
身份鑒別系統有兩個重要的統計性能指標:錯誤拒絕率FRR(漏報)和錯誤接受率FAR(虛警)。錯誤接受是指將冒充者識別為真正的生物特征擁有者;錯誤拒絕是指生物特征擁有者被系統拒絕。
本文選取徑向基函數(RBF)作為SVM的核函數,在其它條件相同的情況下,分別比較了SVM與海明距離,歐氏距離的識別效果如圖7所示,SVM取得了最好的識別結果。

圖7 EER基向量數目分布曲線
由上述實驗結果可以看出,本文提出的基于支持向量機的虹膜識別方法在識別率和識別速度方面都有較明顯地改進,它能有效地應用于虹膜身份鑒別系統中。
[1]T Mansfield,G Kelly,D Chandler et.Biometric Product Testing Final Report[R].issue 1.0,National Physical Laboratory of UK,2001.
[2]JDaugman.High confidence recognition of person by rapid video analysis of iris texture[C].European Convention on Security and Detection,Brighton,UK:NSPEC,1995.
[3]PWildes.Iris recognition:An emerging biometric technology[C].In Proceeding of the IEEE,1997.
[4]W W Bobles.A human identification technique using image of the irisand wavlet transform[C].IEEETransaction on Signal Processing.1998.
[5]JDaugman.StatisticalRichnessof Visual Phase Information:Update on Recongnizing Person by Iris Patterns[J].International JournalofComputer Vision,2001;45(1):25-38.
[6]Tie-niu Tan.Iris Recongnition Based on Multichannel Gabor Filtering[C].The 5th Asian Conference on Computer Vision,Mellbourne,Australis,2002.
[7]Cortes C,Vapnik V,Support-vector networks[J].Machine Learning,1995(20):273-297.
[8]Chinese Academy of Sciences-Institute of Automation Database of756 Greyscale Eye Images[EB/OL].http://www.sinobiometries.com.Version 1.0 2003.