吳國(guó)龍,陸 軍
(黑龍江大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,黑龍江 哈爾濱150080)
虹膜作為人體的重要生物特征,具有高度唯一性、穩(wěn)定性、非侵入性等特點(diǎn)[1]。虹膜識(shí)別技術(shù)近幾十年獲得工業(yè)界與學(xué)術(shù)界的廣泛關(guān)注,并在眾多生物特征識(shí)別技術(shù)中被公認(rèn)為是識(shí)別率最高和最有前途的方法之一[2,3]。
虹膜是位于瞳孔與鞏膜間近似圓形的環(huán)狀部分,虹膜定位即計(jì)算出虹膜內(nèi)外圓的位置和半徑。作為虹膜識(shí)別技術(shù)的關(guān)鍵環(huán)節(jié),虹膜定位的準(zhǔn)確度對(duì)整個(gè)虹膜識(shí)別系統(tǒng)的識(shí)別率有著重大的影響。傳統(tǒng)的虹膜定位算法研究主要針對(duì)理想條件下采集的質(zhì)量清晰的虹膜圖像[2],而大部分方法均采用邊緣信息檢測(cè)虹膜內(nèi)外圓輪廓,其中,最經(jīng)典的算法分別是Daugman 博士[1]提出的環(huán)量積分微分算法和Wilds博士等[2]提出的虹膜定位算法。Daugman博士提出的環(huán)量積分微分算法的主要思想是采用圓形檢測(cè)子定位虹膜內(nèi)外邊緣,雖然定位精度高,但計(jì)算過(guò)程涉及多次微分和卷積操作,計(jì)算效率較低。Wilds博士等提出的算法采用聯(lián)合邊緣檢測(cè)和Hough變換的方法進(jìn)行虹膜定位,該方法同樣存在計(jì)算量較大,且閾值化要求嚴(yán)格,定位準(zhǔn)確度嚴(yán)重依賴于邊緣檢測(cè)中邊界點(diǎn)的問(wèn)題。在此基礎(chǔ)上,周俊等[4]提出采用圓切點(diǎn)定位虹膜內(nèi)邊緣和微分積分算子定位外圓的方法。He等[5]提出了一種迭代分層的分類器方法檢測(cè)虹膜內(nèi)外圓。鄭沁風(fēng)等[6]提出采用結(jié)合形態(tài)學(xué)和最小二乘法擬合虹膜內(nèi)外圓的方法。邵宇[7]提出采用分塊統(tǒng)計(jì)灰度平均值的方法確定虹膜內(nèi)圓位置,利用不變矩的方法定位虹膜內(nèi)外圓。Jan等[8]提出基于灰度統(tǒng)計(jì)和二維形狀特征,結(jié)合Hough 變換的方法進(jìn)虹膜內(nèi)外圓定位。王中旭等[9]提出采用主動(dòng)輪廓或Snake模型的方法進(jìn)行虹膜定位。
然而在非理想成像條件下采集的虹膜圖像,采集的圖像質(zhì)量很難得到保證,存在睫毛或眼鏡遮擋、光照不均、高光亮點(diǎn)、位置偏移、瞳孔收縮、模糊等因素干擾,導(dǎo)致傳統(tǒng)的虹膜定位方法[1-3]效果降低,出現(xiàn)定位錯(cuò)誤,時(shí)間復(fù)雜度劇增等問(wèn)題,因此有效提升和增強(qiáng)虹膜定位算法的魯棒性就顯得尤為重要。
本文提出一種針對(duì)非理想成像條件下的虹膜定位方法,該方法采取由粗到精的定位策略,結(jié)合Hough變換方法和微分積分算子分別進(jìn)行虹膜內(nèi)外圓的定位。在虹膜定位前,首先運(yùn)用基于AdaBoost的人眼檢測(cè)子粗略定位人眼子圖像,然后對(duì)候選子圖像進(jìn)行直方圖閾值化生成二值圖像,并采用形態(tài)學(xué)中的開運(yùn)算和二值投影法聯(lián)合預(yù)估瞳孔大致位置,再對(duì)截取的子圖像采用Canny邊緣檢測(cè)生成邊緣圖像,本文提出的虹膜定位方法的流程如圖1所示。
圖1 本文提出的虹膜定位方法流程
一般情況下,虹膜圖像有2個(gè)特點(diǎn):①虹膜內(nèi)圓即瞳孔區(qū)域灰度值相對(duì)較低,與周圍區(qū)域?qū)Ρ榷容^強(qiáng),邊界輪廓清晰;②虹膜與鞏膜之間的過(guò)渡帶較寬,且易受睫毛和眼瞼影響,邊界比較模糊。因此,根據(jù)以上兩個(gè)特點(diǎn),本文首先采用人眼檢測(cè)確定瞳孔位置 (虹膜內(nèi)圓區(qū)域),然后計(jì)算直方圖并閾值化生成二值圖像,最后,再利用二值投影方法粗略定位虹膜內(nèi)圓位置。
為避免盲目的對(duì)虹膜內(nèi)外圓邊界進(jìn)行大規(guī)模搜索,提高虹膜定位的準(zhǔn)確率和效率,本文采用文獻(xiàn) [10]中的基于AdaBoost的人眼檢測(cè)方法,該方法基于Viloa和Jones在人臉檢測(cè)中的AdaBoost機(jī)器學(xué)習(xí)框架,采用級(jí)聯(lián)的層次模式,分別訓(xùn)練出16層的左眼和右眼檢測(cè)器。本文通過(guò)利用虹膜數(shù)據(jù)庫(kù)和互聯(lián)網(wǎng)資源獲取大量人眼圖像和非人眼圖像,采用人工標(biāo)注的方式分別獲取正例樣本和反例樣本,同樣也訓(xùn)練出16層的左眼和右眼的檢測(cè)器。
在實(shí)驗(yàn)中,首先采用左眼檢測(cè)器進(jìn)行檢測(cè),如果檢測(cè)失敗,再使用右眼檢測(cè)器進(jìn)行重新檢測(cè)。圖2顯示了在實(shí)驗(yàn)中人眼檢測(cè)的部分結(jié)果。而如果兩次人眼檢測(cè)均失敗,則根據(jù)虹膜圖像眼瞼及睫毛遮擋通常情況下遮擋虹膜上側(cè)區(qū)域的客觀規(guī)律,以原始圖像中心為基準(zhǔn),裁剪原始圖像尺寸的3/4 作為子圖像,圖2 顯示了人眼檢測(cè)的部分結(jié)果圖像。
圖2 人眼檢測(cè)結(jié)果圖像示例
首先對(duì)候選子圖像計(jì)算灰度直方圖,在計(jì)算前,需采用尺度較小的高斯濾波器對(duì)子圖像進(jìn)行平滑,然后再對(duì)直方圖進(jìn)行高斯函數(shù)平滑,結(jié)果如圖1 (a)所示,則直方圖左側(cè)的第一個(gè)峰對(duì)應(yīng)灰度值較低的瞳孔,選取該峰右側(cè)的波谷作為閾值進(jìn)行二值化,得到二值圖像,如圖1(b)所示。
而為了更好的獲取閾值,在對(duì)直方圖進(jìn)行高斯函數(shù)平滑時(shí)涉及到一個(gè)重要參數(shù)σ,σ值的大小直接決定高斯函數(shù)平滑的程度,若取值過(guò)小,則發(fā)揮不出抑制由于噪聲引起的不準(zhǔn)確的波峰與波谷的出現(xiàn)的作用,若取值過(guò)大,則會(huì)導(dǎo)致正常有意義的波峰和波谷被平滑掉。因此,通過(guò)大量實(shí)驗(yàn)分析,本文經(jīng)驗(yàn)性的選取σ=2.4,窗口寬度為15的高斯函數(shù)作為平滑窗口。
在候選子圖像中,受光照不均、眼鏡遮擋、眼瞼、部分睫毛等干擾,且上述噪聲區(qū)域的灰度值與瞳孔的灰度值相近,則在閾值化的二值圖像中,除了生成正常瞳孔部位的高亮區(qū)域外,還會(huì)產(chǎn)生不規(guī)則分布的離散高亮點(diǎn)和光斑,因此在進(jìn)行二值投影操作之前,需對(duì)二值圖像進(jìn)行凈化操作,即抑制不規(guī)則分布的高亮點(diǎn)和光斑的干擾。
本文采用形態(tài)學(xué)中的開運(yùn)算操作進(jìn)行處理[11],即采用結(jié)構(gòu)化元素先對(duì)二值圖像進(jìn)行腐蝕操作,然后再對(duì)結(jié)果進(jìn)行膨脹操作,從而使圖像輪廓更加光滑清晰,隔斷狹窄的間斷點(diǎn)和消除細(xì)小的變化點(diǎn)。在實(shí)驗(yàn)中,本文采用10×10的矩陣結(jié)構(gòu)元 (組成元素為1)對(duì)二值圖像進(jìn)行腐蝕操作,去除圖像中的離散點(diǎn),如圖3 (b)所示,再采用膨脹操作進(jìn)行擴(kuò)充歸并,如圖3 (c)所示,從而突顯出虹膜內(nèi)圓的連通區(qū)域,有利于下一步橫縱向投影的準(zhǔn)確操作。
圖3 二值投影法粗定位虹膜內(nèi)圓
設(shè)定處理后的二值圖像B(x,y),高亮像素點(diǎn)的灰度值為1,反之為0。二值投影即二維矩陣B(x,y)沿著某一維坐標(biāo)軸像依次累積求和的操作。將B(x,y)分別沿著x維坐標(biāo)軸 (縱向)和y 維坐標(biāo)軸 (橫向)進(jìn)行投影操作,分別可以得到對(duì)應(yīng)的投影直方圖的一維向量X 和Y ,如圖3(d)和圖3 (e)所示,其中,X =[x1,x2,…,xM],M 表示x 維坐標(biāo)軸長(zhǎng)度;Y =[y1,y2,…,yN],N 表示y 維坐標(biāo)軸長(zhǎng)度。從圖3 (d)和圖3 (e)可以看出,投影直方圖是由峰值 (peak)和間距 (interval)組成的分布。假定向量X存 在 候 選 峰 集 合ξ(x)={(,(k)(k))},k =1,2,…,K,其中,K 表示存在的峰的個(gè)數(shù),與分別表示第k個(gè)峰的峰值和區(qū)間,(k)和(k)分別表示峰的起點(diǎn)和終點(diǎn);同理,向量Y 存在候選峰的集合ξ(y)={(,,(l),(l))},l=1,2,…,L,其 中L 表 示 存 在 的 峰 的 個(gè)數(shù),與分別表示第l個(gè)峰的峰值和區(qū)間,(l)和(l)分別表示峰的起點(diǎn)和終點(diǎn)。
需要注意的是,雖然大部分圖像的二值圖像經(jīng)過(guò)形態(tài)學(xué)的腐蝕和膨脹操作后可以去掉大部分噪聲影響,但由于少部分圖像存在較大范圍的遮擋或者人眼檢測(cè)失敗,不能保證閾值化后的二值圖像很完美的將瞳孔區(qū)域的高亮區(qū)域凸顯出來(lái),仍存在其它的雜質(zhì)部分,這就導(dǎo)致二值投影時(shí)產(chǎn)生參差不齊的虛假峰,嚴(yán)重干擾了從候選峰集合中選取最優(yōu)峰的準(zhǔn)確性。
因此,本文采用設(shè)定參數(shù)范圍的方式作為補(bǔ)充方法,對(duì)候選峰進(jìn)行篩選,去除那些峰值過(guò)高或過(guò)低,或者區(qū)間過(guò)寬或過(guò)窄的峰,保證所有的候選峰均是符合要求的。本文通過(guò)在實(shí)驗(yàn)中的訓(xùn)練集上進(jìn)行大量實(shí)驗(yàn)驗(yàn)證,對(duì)峰涉及的兩個(gè)重要參數(shù),即峰值和區(qū)間,進(jìn)行條件約束,假定原始圖像的寬度為w,高度為h,在峰集合ξ(x)和ξ(y)中,對(duì)于ξ(x)的任何一個(gè)峰要求并設(shè)定峰值的合理高度范圍為(40,250),區(qū) 間的 合 理 寬 度 范 圍 為(30,150),ξ(y)中所有峰的峰值的合理高度范圍為(40,220),區(qū)間的合理寬度范圍為(30,150),從而有效的保證并提升算法的準(zhǔn)確性和魯棒性。
依據(jù)1.2節(jié)中虹膜內(nèi)圓粗定位的結(jié)果,首先從候選子圖像中截取以坐標(biāo)(x0,y0)為中心,邊長(zhǎng)為2r0的正方形虹膜子圖像,如圖1 (d)和圖3 (f)所示,并對(duì)截取后的子圖像進(jìn)行Canny邊緣檢測(cè)[11],主要分為以下4個(gè)步驟:高斯平滑圖像、計(jì)算梯度幅值圖像、候選邊緣點(diǎn)篩選和邊緣追蹤,然后再對(duì)邊緣點(diǎn)進(jìn)行連接得到邊緣圖像,如圖1 (e)所示,虹膜內(nèi)圓的輪廓邊緣清晰明顯,接下來(lái),就可以通過(guò)改進(jìn)的基于圓的Hough變換方法[12]進(jìn)行精確擬合內(nèi)圓輪廓,定位結(jié)果如圖1 (f)所示。
假 定邊緣 圖 像 上 邊 界 點(diǎn) 坐 標(biāo) 為(xi,yi),i=1,2,...,n,n為邊界點(diǎn)總數(shù)。在以圓心坐標(biāo)為(xc,yc),半徑為r的圓的參數(shù)空間上,Hough變換投票法的優(yōu)化公式為
其中,f(xi,yi,xc,yc,r)=(xi-xc)2+(yi-yc)2-r2。Hough變換方法實(shí)質(zhì)上就是邊界點(diǎn)集合對(duì)候選三元組(x,y,r)參數(shù)遍歷投票,得票最多的參數(shù)即為最佳參數(shù)。為減少搜索時(shí)間和降低搜索內(nèi)圓范圍,本文根據(jù)實(shí)驗(yàn)分析,設(shè)定內(nèi) 圓 中 心(xinner,yinner)的 搜 索 范 圍(x0±0.2r0,y0±0.2r0),半徑rinner的搜索范圍 (r0,2r0)。
由于虹膜的外側(cè)邊緣容易受到上下眼瞼及睫毛干擾,外邊緣清晰度較差,不利于邊緣檢測(cè)。與之相反,
積分微分算子不需要邊緣檢測(cè)生成的二值圖像,因此,本文采用環(huán)狀積分微分算子[1]代替Hough變換方法精確擬合虹膜外圓輪廓。微分積分算子的定義如下所示
式中:* ——卷積,Gω(r)——一個(gè)尺度為的高斯平滑函數(shù),積分符號(hào)表示沿著以(xτ,yτ)為圓心、r為半徑的圓弧Γr,xτ,yτ的積分。在虹膜外圓定位前,可利用先前內(nèi)圓定位的先驗(yàn)知識(shí),降低微分積分算子搜索范圍,本文選擇在截取以 (xinner,yinner)中心,邊長(zhǎng)為6rinner的正方形的子圖像中進(jìn)行區(qū)域搜索。
眾多研究結(jié)果表明[1-3,11],雖然瞳孔中心和虹膜中心存在一定差距,但二者偏差較小。根據(jù)虹膜內(nèi)圓的定位結(jié)果,可以設(shè)定外圓圓心和半徑的參數(shù)范圍,從而降低計(jì)算代價(jià)和提高定位效率。通過(guò)實(shí)驗(yàn)分析,設(shè)定外圓半徑router的取值范圍是內(nèi)圓半徑rinner的1.5~3.5,而外圓的圓心位置(xouter,youter)中xouter的 取 值 范 圍 (xinner-5,xinner+5) ,youter的取值范圍 (yinner-5,yinner+5) ,外圓定位結(jié)果如圖1 (g)所示。
本文算法是在Visual Studio 2005環(huán)境下采用C++編寫實(shí)現(xiàn),運(yùn)行設(shè)備采用主頻為2.4G,內(nèi)存為4G 的個(gè)人計(jì)算機(jī)。實(shí)驗(yàn)采用的數(shù)據(jù)庫(kù)來(lái)源于中國(guó)科學(xué)院自動(dòng)化所發(fā)布的公共虹膜數(shù)據(jù)庫(kù)-CASIA-IrisV4Thousand庫(kù)[13],一共包含5000 幅虹膜圖像,虹膜圖像采集設(shè)備是中科虹霸(IrisKing)公司生產(chǎn)的IKEMB-100攝影機(jī),采集的圖像包含高光亮點(diǎn)、眼瞼及睫毛遮擋、眼鏡遮擋和模糊噪聲等復(fù)雜因素干擾,非常適合非理想條件下的虹膜定位算法研究,圖4顯示了本文提出算法的部分定位結(jié)果。
圖4 本文提出算法的部分定位結(jié)果
為了進(jìn)一步驗(yàn)證文本提出的算法的性能,本文分別與環(huán)量積分微分算子方法 (Daugman方法)[1]和Hough變換方法[12]從虹膜定位時(shí)間和準(zhǔn)確率兩個(gè)方面進(jìn)比較。評(píng)價(jià)標(biāo)準(zhǔn)依據(jù)檢測(cè)結(jié)果與手工標(biāo)注的虹膜圖像內(nèi)外圓的位置和半徑進(jìn)行匹配,誤差允許范圍在±2個(gè)像素。
表1顯示了在CASIA-IrisV4Thousand虹膜數(shù)據(jù)庫(kù)上本文提出的算法與Daugman方法、Hough變換方法在虹膜定位上的準(zhǔn)確率與定位時(shí)間的比較結(jié)果。從表1中可以看出,提出的方法無(wú)論是在準(zhǔn)確率還是在定位時(shí)間上都遠(yuǎn)遠(yuǎn)優(yōu)于其它兩種方法。在虹膜內(nèi)圓和外圓定位的精度上,本文所提出的定位方法獲得最高的準(zhǔn)確率,分別達(dá)到99.2%和98.5%,與Daugman方法和Hough 變換方法相比,在內(nèi)圓定位上的準(zhǔn)確率分別提高了13.8%和17.2%,在外圓定位準(zhǔn)確率上分別提高了11.4%和18.2%;同時(shí)在定位時(shí)間上也具有明顯優(yōu)勢(shì),在內(nèi)圓定位上,所提出算法分別提高了0.49s和0.3s,在外圓定位上,分別提高約1.8s和1.3s。實(shí)驗(yàn)結(jié)果表明,與Daugman方法和Hough 變換方法相比,本文提出算法定位準(zhǔn)確兼具效率高的優(yōu)勢(shì),具備滿足實(shí)時(shí)虹膜識(shí)別系統(tǒng)的要求。
表1 3種算法在實(shí)驗(yàn)數(shù)據(jù)庫(kù)上的性能比較
本文提出一種非理想成像條件的虹膜定位方法。該方法針對(duì)虹膜圖像特性,在人眼檢測(cè)子定位后的子圖像上采用結(jié)合形態(tài)學(xué)中的腐蝕和膨脹操作和二值投影法粗定位虹膜內(nèi)圓,最后采用Hough變換方法和環(huán)量積分微分算子進(jìn)行虹膜定位。在CASIA-IrisV4Thousand數(shù)據(jù)庫(kù)上進(jìn)行算法性能驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的虹膜定位方法相比,所提出的虹膜定位方法在準(zhǔn)確率和時(shí)間效率上具備較大優(yōu)勢(shì)。
在非理想成像條件下采集的虹膜圖像質(zhì)量不佳且存在復(fù)雜噪聲干擾,在虹膜定位提取邊緣信息的同時(shí),利用人眼圖像的紋理層次信息和圖像統(tǒng)計(jì)的方法[14],可有效提升虹膜定位性能,因此我們將來(lái)的研究方向是在由粗到精的策略下融合人眼紋理信息,進(jìn)一步提升虹膜定位算法的準(zhǔn)確性和魯棒性。
[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).[周俊,李王輝,羅挺,等.快速而準(zhǔn)確的虹膜定位算法 [J].計(jì)算機(jī)工程與設(shè)計(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). [鄭沁風(fēng),李曉寧.基于Gabor濾波的快速虹膜識(shí)別算法 [J].計(jì)算機(jī)工程與設(shè)計(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].計(jì)算機(jī)工程與應(yīng)用,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ìn)主動(dòng)輪廓線的虹膜定位方法 [J].計(jì)算機(jī)工程與設(shè)計(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.