李 鵬,曹 兵
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇南京210094)
虹膜具有唯一性、不易變性、易采集等優(yōu)點(diǎn)[1],虹膜身份識(shí)別在生物特征識(shí)別技術(shù)領(lǐng)域中具有越來越來重要的作用。通常采集到的虹膜圖像包含除虹膜以外其他部分,為了使虹膜識(shí)別技術(shù)能夠正常進(jìn)行,需要對(duì)采集到的圖像進(jìn)行虹膜分割。
目前存在很多的虹膜分割算法,文獻(xiàn)[2]提出的環(huán)形積分微分算法和文獻(xiàn)[3-4]提出的通過邊緣檢測(cè)和Hough變換相結(jié)合的算法是最具有代表性的兩種定位人眼虹膜區(qū)域的方法。文獻(xiàn)[5-8]提出了改進(jìn)的Hough變換對(duì)虹膜分割,文獻(xiàn)[9]提出的一種基于圖像對(duì)齊的虹膜分割方法,文獻(xiàn)[10]提出一種應(yīng)用于虹膜圖像粗分類的自仿射擬合紋理分割算法,實(shí)現(xiàn)虹膜腸環(huán)外邊界檢測(cè),文獻(xiàn)[11]采用基于幾何灰度投影的方法粗定位虹膜內(nèi)邊界,文獻(xiàn)[12-13]提出了基于水平集算法的虹膜分割算法,文獻(xiàn)[14]采取聚類法來對(duì)虹膜圖像閾值分割,文獻(xiàn)[15]提出Log-Gabor濾波的虹膜識(shí)別算法。虹膜分割算法雖然很多,國內(nèi)外學(xué)者也提出了不少改進(jìn)的算法,但主流算法一般是基于固定閾值的圖像二值化、邊緣檢測(cè)、Hough變換等,而且沒有考慮瞳孔中心與虹膜中心并不重合這個(gè)因素。這樣的方法需要人為設(shè)定參數(shù),虹膜分割精度受到一定影響,魯棒性不強(qiáng)。
文中在上述研究的基礎(chǔ)上,提出了一種魯棒性較好的虹膜分割算法,即通過自適應(yīng)閾值的方法對(duì)圖像進(jìn)行二值化,找出最大連通區(qū)域,然后通過一階中心矩計(jì)算連通域的中心點(diǎn)位置,進(jìn)而分割出瞳孔區(qū)域;以瞳孔中心為圓心,以不同半徑和不同角度的扇形掃描圖像,計(jì)算不同扇形圓弧所在位置的灰度值和之差的最大值所對(duì)應(yīng)的半徑,根據(jù)返回的半徑值和角度可以得到若干點(diǎn),再對(duì)這些點(diǎn)進(jìn)行圓擬合。實(shí)驗(yàn)表明,該算法相比較而言,虹膜分割精度高,魯棒性強(qiáng)。
瞳孔是眼部區(qū)域最黑的區(qū)域,相對(duì)于虹膜區(qū)域較容易分割,所以一般情況下都是對(duì)圖像進(jìn)行二值化。對(duì)于不同的圖像,固定的二值化閾值容易導(dǎo)致瞳孔分割失敗[16]。用Hough變換尋找圓形區(qū)域,定位精度易受到輸入?yún)?shù)的影響。針對(duì)以上問題,提出了一種自適應(yīng)閾值的二值化以及用一階中心矩求瞳孔圓心的算法,進(jìn)而分割出瞳孔區(qū)域。
閾值的恰當(dāng)與否對(duì)于瞳孔的識(shí)別至關(guān)重要,受到廣泛應(yīng)用的自適應(yīng)閾值的二值化方法主要有最大類間方差法、雙峰法、P參數(shù)法、最大熵閾值法、迭代法等,用這些方法得到的二值化圖像不能很好地分割出瞳孔區(qū)域,容易受到睫毛、眉毛的影響。本文提出的自適應(yīng)閾值的二值化方法,能夠較好地分割出瞳孔區(qū)域。
首先,對(duì)灰度圖像進(jìn)行中值濾波,以消去噪聲的影響。因?yàn)橥讌^(qū)域的灰度值相對(duì)與整幅圖像明顯要低,故利用灰度圖像的小平和垂直積分投影對(duì)瞳孔區(qū)域粗定位。然后以粗定位點(diǎn)為中心,求邊長(zhǎng)為a的矩形區(qū)域的灰度均值,并將其作為二值化閾值。粗定位點(diǎn)計(jì)算公式為:
式(1)、(2)中,n、m為圖像的寬高,m1=1/4m,m2=3/4m,n1=2/5n,n2=3/5n。找出粗定位點(diǎn)后,計(jì)算出二值化閾值,如式(3)所示:
利用式(3)計(jì)算出的閾值,對(duì)圖像進(jìn)行二值化,因?yàn)閳D像中存在眉毛、眼睫毛的影響,故還需要進(jìn)一步對(duì)二值化圖像進(jìn)行開運(yùn)算和內(nèi)孔填充,然后計(jì)算每個(gè)連通域的面積并得到最大連通域,最大連通區(qū)域就是瞳孔所在的位置。
經(jīng)過上述步驟,得到自適應(yīng)二值化圖像。圖1是幾組采用上述步驟得到的二值化圖像,圖像數(shù)據(jù)來源CASIA虹膜數(shù)據(jù)庫。由以上二值化圖像可以看出,瞳孔區(qū)域基本能夠完整的分割出來。對(duì)于瞳孔邊緣有白色亮點(diǎn)的二值化圖像,瞳孔邊緣會(huì)有小部分缺口;對(duì)于眼睫毛部分遮擋瞳孔的二值化圖像,邊緣不是很圓,但這并不影響瞳孔中心點(diǎn)的定位。下面將通過二值化圖像進(jìn)一步計(jì)算瞳孔的參數(shù)。
圖1 自適應(yīng)閾值二值化
傳統(tǒng)的瞳孔識(shí)別一般是通過邊緣檢測(cè)和Hough變換來定位瞳孔區(qū)域,需要人為輸入初始參數(shù),而參數(shù)的合適與否決定了瞳孔定位精度。為此,本文將在二值化圖像的基礎(chǔ)上通過一階中心矩求出瞳孔中心點(diǎn)位置,然后計(jì)算多個(gè)最遠(yuǎn)非零點(diǎn)到中心點(diǎn)距離的平均值,從而得到瞳孔的半徑。
經(jīng)過自適應(yīng)閾值二值化后,瞳孔區(qū)域基本已經(jīng)被分割出來,接下來就是要得到瞳孔的具體參數(shù),為后面的虹膜識(shí)別做好基礎(chǔ)。首先需要對(duì)瞳孔中心定位,即通過一階中心矩計(jì)算質(zhì)心的方式找出連通域的中心位置。采用的公式如下:
由公式(4)、(5)可計(jì)算出瞳孔的中心,其中,m、n—圖像寬高;BW—二值化圖像。瞳孔中心點(diǎn)定位結(jié)果如圖2所示。
圖2 瞳孔中心定位
在瞳孔中心定位的基礎(chǔ)上,沿圓周每隔30度找出中心點(diǎn)位置與非零點(diǎn)位置的最大距離,然后求出最大距離的平均值,該平均值即為瞳孔半徑。
利用上述方法對(duì)瞳孔區(qū)域分割,瞳孔識(shí)別的最終效果如圖3所示。
圖3 瞳孔分割
虹膜區(qū)域的顏色相對(duì)較淺,所以通過二值化是很難將其分割出來。還有重要的一點(diǎn)是,一般情況下瞳孔中心與虹膜中心并不是重合的,如果將瞳孔中心與虹膜中心視為重合,則虹膜分割會(huì)產(chǎn)生較大誤差。為此,提出了一種檢測(cè)虹膜外邊界多個(gè)點(diǎn),并根據(jù)這些點(diǎn)進(jìn)行圓心擬合的算法。
雖然虹膜區(qū)域的顏色相對(duì)較淺,但是虹膜邊界線的內(nèi)外灰度值之差是比較明顯的,所以根據(jù)這個(gè)特性可以找出若干個(gè)邊界點(diǎn)。主要思路是:
虹膜外邊界與眼白的灰度值有明顯的變化,從灰度值求和的角度出發(fā),以瞳孔中心為圓心,以一定角度的扇形(扇形半徑呈遞增狀態(tài))掃描虹膜及眼白區(qū)域,計(jì)算每個(gè)方向不同半徑圓弧線位置灰度和之差的最大值,最大值對(duì)應(yīng)的半徑即為瞳孔中心點(diǎn)到虹膜邊界點(diǎn)的距離,根據(jù)半徑及瞳孔中心可以獲得邊界點(diǎn)的坐標(biāo),以相同的方式獲取多個(gè)邊界點(diǎn),最后根據(jù)邊界點(diǎn)進(jìn)行圓擬合。具體計(jì)算過程如下:
為了提高邊界點(diǎn)定位的準(zhǔn)確性,必須對(duì)灰度圖像進(jìn)行預(yù)處理。首先對(duì)灰度圖像中值濾波,削除噪聲影響,然后進(jìn)行直方圖均衡化,增強(qiáng)對(duì)比度。為了減少計(jì)算量并考慮到扇形掃描虹膜區(qū)域會(huì)受到上下眼瞼的影響,所以只獲取8個(gè)虹膜邊界點(diǎn),且只掃描虹膜區(qū)域左右各40度,8個(gè)邊界點(diǎn)的位置方向如圖4所示。
圖4 虹膜外邊界點(diǎn)位置方向示意圖
由圖4可知,要定位虹膜邊界點(diǎn),必須先求出每個(gè)10度扇形區(qū)內(nèi)不同半徑所對(duì)應(yīng)圓弧線位置圖像的灰度值之和。求和過程為:以瞳孔中心為圓心,以半徑不斷遞增(范圍為瞳孔半徑的1.5倍到3倍)的扇形掃描圖4中的每個(gè)10度區(qū)域,用公式(6)~(8)計(jì)算不同半徑扇形圓弧線所在位置的圖像灰度值之和,然后計(jì)算相鄰半徑對(duì)應(yīng)灰度值和的差,最后找出差值最大的半徑,根據(jù)這個(gè)半徑和瞳孔中心定位虹膜邊界點(diǎn)。重復(fù)以上過程便可以定位多個(gè)虹膜邊界點(diǎn)。
式(6)、(7)中,x、y是瞳孔中心坐標(biāo),θ是扇形角,式(8)求出最大灰度值之差g,然后可以得出其對(duì)應(yīng)的半徑。虹膜邊界點(diǎn)定位的具體算法如表1所示:
經(jīng)過上述步驟后,可以定位出虹膜邊界點(diǎn),效果如圖5所示。
虹膜邊界點(diǎn)的位置確定后,接下來就要對(duì)邊界點(diǎn)進(jìn)行圓擬合。目前圓擬合常用也最有效的方法是最小二乘法,本文也將采用該方法對(duì)虹膜邊界點(diǎn)進(jìn)行擬合。
表1 虹膜邊界定位偽代碼
圖5 虹膜邊界點(diǎn)定位
對(duì)于最小二乘法的圓擬合,其誤差平方的優(yōu)化目標(biāo)函數(shù)為:
式中:(xi,yi)i=1,2,3…n為虹膜邊界上的特征點(diǎn)坐標(biāo);n為參與擬合的特征點(diǎn)數(shù)。最終的目標(biāo)是得到使S的值最小的點(diǎn)(x0,y0)及半徑r。通過最小二乘法對(duì)虹膜外邊界點(diǎn)擬合后的效果如圖6所示,虹膜外邊界確定后,可以很容易得到虹膜區(qū)域,效果如圖7所示。
圖6 虹膜外邊界點(diǎn)擬合
由圖7可以看出,瞳孔中心位置與虹膜中心位置有一定的偏差,通過虹膜外邊界點(diǎn)擬合,既能定位虹膜邊界區(qū)域又能解決瞳孔與虹膜不同心而給虹膜分割帶來的困難。
圖7 虹膜分割
為了驗(yàn)證本算法的正確性和有效性,本文的仿真實(shí)驗(yàn)在CPU為Intel Core i5-5200U 2.20 GHz,內(nèi)存為4 GB,操作系統(tǒng)為Windows 10,環(huán)境為MATLAB R2015b的計(jì)算機(jī)上進(jìn)行的。選擇CASIA[15]虹膜數(shù)據(jù)庫中的CASIA-Iris-Lamp作為實(shí)驗(yàn)素材,其中包含50個(gè)不同人的左右眼圖像各20張。為了驗(yàn)證本文算法的有效性,將與Hough變換虹膜分割算法進(jìn)行比較。
圖8 Hough變換與本文算法定位虹膜區(qū)域
圖8展示了幾組Hough變換定位虹膜區(qū)域與本文算法定位虹膜區(qū)域的對(duì)比。使用Hough變換定位瞳孔區(qū)域,其準(zhǔn)確性對(duì)于大部分樣本來說還是挺高的,但是定位虹膜邊界區(qū)域,其準(zhǔn)確性受到初始輸入?yún)?shù)的影響。本文提出的算法不僅能準(zhǔn)確的分割瞳孔區(qū)域,而且能較好地定位瞳孔邊界。表2是5組(每組10人)Hough變換方法與本文算法對(duì)虹膜分割的錯(cuò)誤定位百分比。由實(shí)驗(yàn)結(jié)果可以看出,本文提出的算法相對(duì)Hough變換分割虹膜區(qū)域,其準(zhǔn)確性有很大提高。但第三組的虹膜錯(cuò)誤定位百分比Hough變換要高,分析原因,是由于圖像中出現(xiàn)瞳孔半徑相對(duì)虹膜半徑過小,干擾了扇形的區(qū)域掃描,針對(duì)這種特殊情況,手動(dòng)調(diào)整扇形半徑,使掃描區(qū)域處于正常范圍,則可以正確地分割出虹膜區(qū)域。
表2 Hough變換與本文算法對(duì)虹膜區(qū)域的錯(cuò)誤定位百分比
本文針對(duì)傳統(tǒng)二值化方法的局限性及Hough變換需要人為輸入較多參數(shù)的缺點(diǎn),提出了一種改進(jìn)的算法,即通過自適應(yīng)閾值對(duì)圖像二值化,分割出瞳孔區(qū)域,采用扇形掃描灰度圖像并計(jì)算灰度值的方法定位虹膜邊界點(diǎn),最后進(jìn)行圓擬合。本文提出的算法不需要人為設(shè)定初始值,對(duì)于不同圖像有較好的魯棒性。實(shí)驗(yàn)結(jié)果表明,本文算法能夠適應(yīng)不同的圖像,虹膜區(qū)域分割的準(zhǔn)確性也有所提高。
參考文獻(xiàn):
[1]LI S Z,Jain A K.Encyclopedia of biometrics[M].Berlin,Germany:Springer,2010.
[2]Daugman J G.How iris recognition works[J].IEEE Transactions on Circuits and Systems for Video Technology,2004,14(1):21-30.
[3]Wildes R P.Iris recognition:an emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348-1363.
[4]Wildes R P,Asmuth J C,Green G L,et al.A system for automated iris recognition [C]//Applications of Computer Vision,1994.Proceedings of the Second IEEE Workshop on IEEE,1994:121-128.
[5]Hilal A,Daya B,Beauseroy P.Hough transform and active contour for enhanced iris segmentation[J].International Journal of Computer Science Issues,2012,9(2):1-10.
[6]Sahmoud S A,Abuhaiba I S.Efficient iris segmentation method in unconstrained environments[J].Pattern Recognition,2013,46(46):3174-3185.
[7]Uhl A,Wild P.Weighted adaptive hough and ellipsopolar transforms for real- time iris segmentation[C]//Biometrics(ICB),2012 5th IAPR International Conference on.IEEE,2012:283-290.
[8]Bendale A,Nigam A,Prakash S,et al.Iris segmentation using improved hough transform[C]//International Conference on Intelligent Computing.Springer Berlin Heidelberg,2012:408-415.
[9]曽葉,蔡碧野,宋云.一種基于圖像對(duì)齊的虹膜分割方法[J].計(jì)算機(jī)工程,2015,41(7):269-273.
[10]黃靜,苑瑋琦.自仿射擬合的虹膜紋理分割及粗分類[J].儀器儀表學(xué)報(bào),2015(4):758-767.
[11]許威,權(quán)芳芳,姜媛媛.改進(jìn)的算法在虹膜識(shí)別中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(3):34-37.
[12]范立南,歐文杰,孫申申,等.基于圓形保持水平集方法的虹膜分割研究[J].計(jì)算機(jī)應(yīng)用研究,2014,31(4):1229-1231.
[13]張荷萍,徐效文.基于變分水平集模型的虹膜圖像分割方法[J].計(jì)算機(jī)工程,2013(10):251-253.
[14]王延年,姬樂樂.基于閾值分割及邊緣檢測(cè)的虹膜定位算法[J].微處理機(jī),2016(6):34-37.
[15]張旭.一種改進(jìn)Log-Gabor濾波的虹膜識(shí)別算法[J].計(jì)算機(jī)仿真,2012(5):283-286.
[16]Xu G,Zhang Z,Ma Y.Automatic iris segmentation based on local areas[J].2006,4:505-508.