吳國龍,陸 軍
(黑龍江大學 計算機科學技術學院,黑龍江 哈爾濱150080)
虹膜作為人體的重要生物特征,具有高度唯一性、穩(wěn)定性、非侵入性等特點[1]。虹膜識別技術近幾十年獲得工業(yè)界與學術界的廣泛關注,并在眾多生物特征識別技術中被公認為是識別率最高和最有前途的方法之一[2,3]。
虹膜是位于瞳孔與鞏膜間近似圓形的環(huán)狀部分,虹膜定位即計算出虹膜內外圓的位置和半徑。作為虹膜識別技術的關鍵環(huán)節(jié),虹膜定位的準確度對整個虹膜識別系統(tǒng)的識別率有著重大的影響。傳統(tǒng)的虹膜定位算法研究主要針對理想條件下采集的質量清晰的虹膜圖像[2],而大部分方法均采用邊緣信息檢測虹膜內外圓輪廓,其中,最經典的算法分別是Daugman 博士[1]提出的環(huán)量積分微分算法和Wilds博士等[2]提出的虹膜定位算法。Daugman博士提出的環(huán)量積分微分算法的主要思想是采用圓形檢測子定位虹膜內外邊緣,雖然定位精度高,但計算過程涉及多次微分和卷積操作,計算效率較低。Wilds博士等提出的算法采用聯(lián)合邊緣檢測和Hough變換的方法進行虹膜定位,該方法同樣存在計算量較大,且閾值化要求嚴格,定位準確度嚴重依賴于邊緣檢測中邊界點的問題。在此基礎上,周俊等[4]提出采用圓切點定位虹膜內邊緣和微分積分算子定位外圓的方法。He等[5]提出了一種迭代分層的分類器方法檢測虹膜內外圓。鄭沁風等[6]提出采用結合形態(tài)學和最小二乘法擬合虹膜內外圓的方法。邵宇[7]提出采用分塊統(tǒng)計灰度平均值的方法確定虹膜內圓位置,利用不變矩的方法定位虹膜內外圓。Jan等[8]提出基于灰度統(tǒng)計和二維形狀特征,結合Hough 變換的方法進虹膜內外圓定位。王中旭等[9]提出采用主動輪廓或Snake模型的方法進行虹膜定位。
然而在非理想成像條件下采集的虹膜圖像,采集的圖像質量很難得到保證,存在睫毛或眼鏡遮擋、光照不均、高光亮點、位置偏移、瞳孔收縮、模糊等因素干擾,導致傳統(tǒng)的虹膜定位方法[1-3]效果降低,出現(xiàn)定位錯誤,時間復雜度劇增等問題,因此有效提升和增強虹膜定位算法的魯棒性就顯得尤為重要。
本文提出一種針對非理想成像條件下的虹膜定位方法,該方法采取由粗到精的定位策略,結合Hough變換方法和微分積分算子分別進行虹膜內外圓的定位。在虹膜定位前,首先運用基于AdaBoost的人眼檢測子粗略定位人眼子圖像,然后對候選子圖像進行直方圖閾值化生成二值圖像,并采用形態(tài)學中的開運算和二值投影法聯(lián)合預估瞳孔大致位置,再對截取的子圖像采用Canny邊緣檢測生成邊緣圖像,本文提出的虹膜定位方法的流程如圖1所示。
圖1 本文提出的虹膜定位方法流程
一般情況下,虹膜圖像有2個特點:①虹膜內圓即瞳孔區(qū)域灰度值相對較低,與周圍區(qū)域對比度較強,邊界輪廓清晰;②虹膜與鞏膜之間的過渡帶較寬,且易受睫毛和眼瞼影響,邊界比較模糊。因此,根據(jù)以上兩個特點,本文首先采用人眼檢測確定瞳孔位置 (虹膜內圓區(qū)域),然后計算直方圖并閾值化生成二值圖像,最后,再利用二值投影方法粗略定位虹膜內圓位置。
為避免盲目的對虹膜內外圓邊界進行大規(guī)模搜索,提高虹膜定位的準確率和效率,本文采用文獻 [10]中的基于AdaBoost的人眼檢測方法,該方法基于Viloa和Jones在人臉檢測中的AdaBoost機器學習框架,采用級聯(lián)的層次模式,分別訓練出16層的左眼和右眼檢測器。本文通過利用虹膜數(shù)據(jù)庫和互聯(lián)網資源獲取大量人眼圖像和非人眼圖像,采用人工標注的方式分別獲取正例樣本和反例樣本,同樣也訓練出16層的左眼和右眼的檢測器。
在實驗中,首先采用左眼檢測器進行檢測,如果檢測失敗,再使用右眼檢測器進行重新檢測。圖2顯示了在實驗中人眼檢測的部分結果。而如果兩次人眼檢測均失敗,則根據(jù)虹膜圖像眼瞼及睫毛遮擋通常情況下遮擋虹膜上側區(qū)域的客觀規(guī)律,以原始圖像中心為基準,裁剪原始圖像尺寸的3/4 作為子圖像,圖2 顯示了人眼檢測的部分結果圖像。
圖2 人眼檢測結果圖像示例
首先對候選子圖像計算灰度直方圖,在計算前,需采用尺度較小的高斯濾波器對子圖像進行平滑,然后再對直方圖進行高斯函數(shù)平滑,結果如圖1 (a)所示,則直方圖左側的第一個峰對應灰度值較低的瞳孔,選取該峰右側的波谷作為閾值進行二值化,得到二值圖像,如圖1(b)所示。
而為了更好的獲取閾值,在對直方圖進行高斯函數(shù)平滑時涉及到一個重要參數(shù)σ,σ值的大小直接決定高斯函數(shù)平滑的程度,若取值過小,則發(fā)揮不出抑制由于噪聲引起的不準確的波峰與波谷的出現(xiàn)的作用,若取值過大,則會導致正常有意義的波峰和波谷被平滑掉。因此,通過大量實驗分析,本文經驗性的選取σ=2.4,窗口寬度為15的高斯函數(shù)作為平滑窗口。
在候選子圖像中,受光照不均、眼鏡遮擋、眼瞼、部分睫毛等干擾,且上述噪聲區(qū)域的灰度值與瞳孔的灰度值相近,則在閾值化的二值圖像中,除了生成正常瞳孔部位的高亮區(qū)域外,還會產生不規(guī)則分布的離散高亮點和光斑,因此在進行二值投影操作之前,需對二值圖像進行凈化操作,即抑制不規(guī)則分布的高亮點和光斑的干擾。
本文采用形態(tài)學中的開運算操作進行處理[11],即采用結構化元素先對二值圖像進行腐蝕操作,然后再對結果進行膨脹操作,從而使圖像輪廓更加光滑清晰,隔斷狹窄的間斷點和消除細小的變化點。在實驗中,本文采用10×10的矩陣結構元 (組成元素為1)對二值圖像進行腐蝕操作,去除圖像中的離散點,如圖3 (b)所示,再采用膨脹操作進行擴充歸并,如圖3 (c)所示,從而突顯出虹膜內圓的連通區(qū)域,有利于下一步橫縱向投影的準確操作。
圖3 二值投影法粗定位虹膜內圓
設定處理后的二值圖像B(x,y),高亮像素點的灰度值為1,反之為0。二值投影即二維矩陣B(x,y)沿著某一維坐標軸像依次累積求和的操作。將B(x,y)分別沿著x維坐標軸 (縱向)和y 維坐標軸 (橫向)進行投影操作,分別可以得到對應的投影直方圖的一維向量X 和Y ,如圖3(d)和圖3 (e)所示,其中,X =[x1,x2,…,xM],M 表示x 維坐標軸長度;Y =[y1,y2,…,yN],N 表示y 維坐標軸長度。從圖3 (d)和圖3 (e)可以看出,投影直方圖是由峰值 (peak)和間距 (interval)組成的分布。假定向量X存 在 候 選 峰 集 合ξ(x)={(,(k)(k))},k =1,2,…,K,其中,K 表示存在的峰的個數(shù),與分別表示第k個峰的峰值和區(qū)間,(k)和(k)分別表示峰的起點和終點;同理,向量Y 存在候選峰的集合ξ(y)={(,,(l),(l))},l=1,2,…,L,其 中L 表 示 存 在 的 峰 的 個數(shù),與分別表示第l個峰的峰值和區(qū)間,(l)和(l)分別表示峰的起點和終點。
需要注意的是,雖然大部分圖像的二值圖像經過形態(tài)學的腐蝕和膨脹操作后可以去掉大部分噪聲影響,但由于少部分圖像存在較大范圍的遮擋或者人眼檢測失敗,不能保證閾值化后的二值圖像很完美的將瞳孔區(qū)域的高亮區(qū)域凸顯出來,仍存在其它的雜質部分,這就導致二值投影時產生參差不齊的虛假峰,嚴重干擾了從候選峰集合中選取最優(yōu)峰的準確性。
因此,本文采用設定參數(shù)范圍的方式作為補充方法,對候選峰進行篩選,去除那些峰值過高或過低,或者區(qū)間過寬或過窄的峰,保證所有的候選峰均是符合要求的。本文通過在實驗中的訓練集上進行大量實驗驗證,對峰涉及的兩個重要參數(shù),即峰值和區(qū)間,進行條件約束,假定原始圖像的寬度為w,高度為h,在峰集合ξ(x)和ξ(y)中,對于ξ(x)的任何一個峰要求并設定峰值的合理高度范圍為(40,250),區(qū) 間的 合 理 寬 度 范 圍 為(30,150),ξ(y)中所有峰的峰值的合理高度范圍為(40,220),區(qū)間的合理寬度范圍為(30,150),從而有效的保證并提升算法的準確性和魯棒性。
依據(jù)1.2節(jié)中虹膜內圓粗定位的結果,首先從候選子圖像中截取以坐標(x0,y0)為中心,邊長為2r0的正方形虹膜子圖像,如圖1 (d)和圖3 (f)所示,并對截取后的子圖像進行Canny邊緣檢測[11],主要分為以下4個步驟:高斯平滑圖像、計算梯度幅值圖像、候選邊緣點篩選和邊緣追蹤,然后再對邊緣點進行連接得到邊緣圖像,如圖1 (e)所示,虹膜內圓的輪廓邊緣清晰明顯,接下來,就可以通過改進的基于圓的Hough變換方法[12]進行精確擬合內圓輪廓,定位結果如圖1 (f)所示。
假 定邊緣 圖 像 上 邊 界 點 坐 標 為(xi,yi),i=1,2,...,n,n為邊界點總數(shù)。在以圓心坐標為(xc,yc),半徑為r的圓的參數(shù)空間上,Hough變換投票法的優(yōu)化公式為
其中,f(xi,yi,xc,yc,r)=(xi-xc)2+(yi-yc)2-r2。Hough變換方法實質上就是邊界點集合對候選三元組(x,y,r)參數(shù)遍歷投票,得票最多的參數(shù)即為最佳參數(shù)。為減少搜索時間和降低搜索內圓范圍,本文根據(jù)實驗分析,設定內 圓 中 心(xinner,yinner)的 搜 索 范 圍(x0±0.2r0,y0±0.2r0),半徑rinner的搜索范圍 (r0,2r0)。
由于虹膜的外側邊緣容易受到上下眼瞼及睫毛干擾,外邊緣清晰度較差,不利于邊緣檢測。與之相反,
積分微分算子不需要邊緣檢測生成的二值圖像,因此,本文采用環(huán)狀積分微分算子[1]代替Hough變換方法精確擬合虹膜外圓輪廓。微分積分算子的定義如下所示
式中:* ——卷積,Gω(r)——一個尺度為的高斯平滑函數(shù),積分符號表示沿著以(xτ,yτ)為圓心、r為半徑的圓弧Γr,xτ,yτ的積分。在虹膜外圓定位前,可利用先前內圓定位的先驗知識,降低微分積分算子搜索范圍,本文選擇在截取以 (xinner,yinner)中心,邊長為6rinner的正方形的子圖像中進行區(qū)域搜索。
眾多研究結果表明[1-3,11],雖然瞳孔中心和虹膜中心存在一定差距,但二者偏差較小。根據(jù)虹膜內圓的定位結果,可以設定外圓圓心和半徑的參數(shù)范圍,從而降低計算代價和提高定位效率。通過實驗分析,設定外圓半徑router的取值范圍是內圓半徑rinner的1.5~3.5,而外圓的圓心位置(xouter,youter)中xouter的 取 值 范 圍 (xinner-5,xinner+5) ,youter的取值范圍 (yinner-5,yinner+5) ,外圓定位結果如圖1 (g)所示。
本文算法是在Visual Studio 2005環(huán)境下采用C++編寫實現(xiàn),運行設備采用主頻為2.4G,內存為4G 的個人計算機。實驗采用的數(shù)據(jù)庫來源于中國科學院自動化所發(fā)布的公共虹膜數(shù)據(jù)庫-CASIA-IrisV4Thousand庫[13],一共包含5000 幅虹膜圖像,虹膜圖像采集設備是中科虹霸(IrisKing)公司生產的IKEMB-100攝影機,采集的圖像包含高光亮點、眼瞼及睫毛遮擋、眼鏡遮擋和模糊噪聲等復雜因素干擾,非常適合非理想條件下的虹膜定位算法研究,圖4顯示了本文提出算法的部分定位結果。
圖4 本文提出算法的部分定位結果
為了進一步驗證文本提出的算法的性能,本文分別與環(huán)量積分微分算子方法 (Daugman方法)[1]和Hough變換方法[12]從虹膜定位時間和準確率兩個方面進比較。評價標準依據(jù)檢測結果與手工標注的虹膜圖像內外圓的位置和半徑進行匹配,誤差允許范圍在±2個像素。
表1顯示了在CASIA-IrisV4Thousand虹膜數(shù)據(jù)庫上本文提出的算法與Daugman方法、Hough變換方法在虹膜定位上的準確率與定位時間的比較結果。從表1中可以看出,提出的方法無論是在準確率還是在定位時間上都遠遠優(yōu)于其它兩種方法。在虹膜內圓和外圓定位的精度上,本文所提出的定位方法獲得最高的準確率,分別達到99.2%和98.5%,與Daugman方法和Hough 變換方法相比,在內圓定位上的準確率分別提高了13.8%和17.2%,在外圓定位準確率上分別提高了11.4%和18.2%;同時在定位時間上也具有明顯優(yōu)勢,在內圓定位上,所提出算法分別提高了0.49s和0.3s,在外圓定位上,分別提高約1.8s和1.3s。實驗結果表明,與Daugman方法和Hough 變換方法相比,本文提出算法定位準確兼具效率高的優(yōu)勢,具備滿足實時虹膜識別系統(tǒng)的要求。
表1 3種算法在實驗數(shù)據(jù)庫上的性能比較
本文提出一種非理想成像條件的虹膜定位方法。該方法針對虹膜圖像特性,在人眼檢測子定位后的子圖像上采用結合形態(tài)學中的腐蝕和膨脹操作和二值投影法粗定位虹膜內圓,最后采用Hough變換方法和環(huán)量積分微分算子進行虹膜定位。在CASIA-IrisV4Thousand數(shù)據(jù)庫上進行算法性能驗證,實驗結果表明,與傳統(tǒng)的虹膜定位方法相比,所提出的虹膜定位方法在準確率和時間效率上具備較大優(yōu)勢。
在非理想成像條件下采集的虹膜圖像質量不佳且存在復雜噪聲干擾,在虹膜定位提取邊緣信息的同時,利用人眼圖像的紋理層次信息和圖像統(tǒng)計的方法[14],可有效提升虹膜定位性能,因此我們將來的研究方向是在由粗到精的策略下融合人眼紋理信息,進一步提升虹膜定位算法的準確性和魯棒性。
[1]Daugman J.New methods in iris recognition [J].IEEE Trans Systems,Man,Cybernetics B,2007,37 (5):1167-1175.
[2]Bowyer K W,Hollingsworth K,F(xiàn)lynn P J.Image understanding for iris biometrics:A survey [J].Computer Vision and Image Understanding,2008,110 (2):281-307.
[3]Burge M,Bowyer K.Handbook of iris recognition [M].New York:Springer Verlag,2013:20-48.
[4]ZHOU Jun,LI Wanghui,LUO Ting,et al.Fast and accurate algorithm for iris boundaries locations [J].Computer Engineering and Design,2010,31 (18):4058-4063 (in Chinese).[周俊,李王輝,羅挺,等.快速而準確的虹膜定位算法 [J].計算機工程與設計,2010,31 (18):4058-4063.]
[5]He Z,Tan T,Sun Z.Iris Localization via Pulling and Pushing[C]//International Conference on Pattern Recognition.HongKong:IEEE Computer Society,2006:557-561.
[6]ZHENG Qinfeng,LI Xiaoning.Fast iris recognition algorithms based on Gabor filtering [J].Computer Engineering and Design,2011,32 (3):976-980 (in Chinese). [鄭沁風,李曉寧.基于Gabor濾波的快速虹膜識別算法 [J].計算機工程與設計,2011,32 (3):976-980.]
[7]SHAO Yu.Rapid and accurate iris location algorithm [J].Computer Engineering and Applications,2012,48 (12):183-188 (in Chinese). [邵宇.一種快速而精確的虹膜定位方法[J].計算機工程與應用,2012,48 (12):183-188.]
[8]Jan F,Usman I,Agha S.Reliable iris localization using Hough transform,histogram-bisection,and eccentricity [J].IEEE Transaction on Signal Processing,2013,93 (1):230-241.
[9]WANG Zhongxu,LI Weisheng.Improved algorithm for iris location based on active contour [J].Computer Engineering and Design,2009,30 (16):3840-3846 (in Chinese).[王中旭,李偉生.基于改進主動輪廓線的虹膜定位方法 [J].計算機工程與設計,2009,30 (16):3840-3846.]
[10]Li P,Liu X,Xiao L,et al.Robust and accurate iris segmentation in very noisy iris images[J].Image and Vision Computing,2010,28 (2):246-253.
[11]Gonzalez RC.Digital image processing,second edition [M].2nd.Beijing:Publishing House of Electronics Industry,2008:20-240 (in Chinese). [岡 薩 雷 斯.數(shù) 字 圖 像 處 理[M].2版.北京:電子工業(yè)出版社,2008:20-240.]
[12]Masek L.Recognition of human iris patterns for biometric identification [D].Austra-lia:University of Western Australia,2003:26-40.
[13]Chinese Academy of Sciences.CASIA-iris-thousand [DB/OL].http://biometrics.idealtest.org/,2010.
[14]Sahmoud SA,Abuhaiba IS.Efficient iris segmentation method in unconstrained environments [J].Pattern Recognition,2013,46 (12):3174-3185.