周 俊,羅 挺,李 敏,余叢斌
(1.后勤工程學(xué)院 信息工程系,重慶 401331;2.后勤工程學(xué)院 訓(xùn)練部模擬中心,重慶 401331)
虹膜識(shí)別是利用虹膜豐富的紋理信息對(duì)人的身份進(jìn)行認(rèn)證的生物特征識(shí)別技術(shù),不同個(gè)體之間虹膜相同的概率為1/1072[1],相對(duì)于指紋識(shí)別、人臉識(shí)別等典型生物特征識(shí)別技術(shù),虹膜識(shí)別的準(zhǔn)確率是最高的[2]。
由于虹膜識(shí)別系統(tǒng)在采集圖像時(shí)是非侵犯性的,因此虹膜圖像采集的噪聲主要存在眼瞼、睫毛和光斑的干擾[3],如果不將這些噪聲清除,將會(huì)被誤認(rèn)為虹膜紋理特征,從而對(duì)虹膜識(shí)別系統(tǒng)性能產(chǎn)生影響。光斑區(qū)域灰度值比周圍灰度高很多[4],一般采用固定閾值將光斑分離。
目前眼瞼檢測(cè)算法主要有:①邊緣檢測(cè)與Hough空間變換相結(jié)合的拋物線檢測(cè)法[5];②基于拋物線路徑求灰度積分和差分檢測(cè)法[6];③基于最小二乘法的拋物線擬合[7]。第①類方法能最大限度提取虹膜紋理,但是由于在三維空間搜索而速度較慢;第②類方法采用類似Daugman的經(jīng)典圓積分/微分算子定位,該類方法也存在三維空間搜索而導(dǎo)致速度較慢的問題;第③類方法提取一定的眼瞼邊緣點(diǎn),然后利用最小二乘法擬合眼瞼,相比前兩類方法精度較低,但是在一維空間搜索速度較快。
人眼圖像中睫毛的情況最為復(fù)雜,準(zhǔn)確檢測(cè)難度最大[8],據(jù)報(bào)道較有效的算法是KONG的基于一維Gabor濾波器和鄰域標(biāo)準(zhǔn)差的睫毛檢測(cè)法,一維Gabor濾波器對(duì)檢測(cè)稀疏分散的睫毛比較有效,鄰域標(biāo)準(zhǔn)差對(duì)濃密成塊的睫毛比較有效,但該算法需設(shè)置較多的參數(shù)。由于睫毛分布的多樣性,現(xiàn)在還沒有特別全面有效的睫毛檢測(cè)算法。
針對(duì)以上算法的不足,提出了一種新的上、下眼瞼檢測(cè)算法和睫毛檢測(cè)算法。首先對(duì)眼瞼區(qū)域進(jìn)行灰度形態(tài)學(xué)運(yùn)算去除睫毛、光斑的影響;然后根據(jù)眼瞼邊緣的灰度特點(diǎn)提取邊緣點(diǎn),用最小二乘法對(duì)邊緣點(diǎn)進(jìn)行上、下眼瞼邊緣擬合;最后對(duì)眼瞼邊緣精確定位。根據(jù)虹膜區(qū)域圖像灰度自適應(yīng)生成閾值對(duì)睫毛進(jìn)行分割。實(shí)驗(yàn)結(jié)果表明:眼瞼算法能有效、快速地檢測(cè)眼瞼,抗干擾性強(qiáng);睫毛檢測(cè)算法能有效、簡(jiǎn)便和最大限度地檢測(cè)出睫毛。
通過文獻(xiàn)[9]中算法確定虹膜內(nèi)中心(xp,yp),半徑 rp;虹膜外邊緣中心(xi,yi),半徑 ri。同時(shí)根據(jù)文獻(xiàn)[10]中算法確定上眼瞼邊緣區(qū)域,上眼瞼的檢測(cè)步驟為分割上眼瞼邊緣區(qū)域及預(yù)處理、尋找邊緣點(diǎn)集和上眼瞼邊緣擬合。
(1)分割上眼瞼邊緣區(qū)域及預(yù)處理。虹膜圖像中存在眼皮區(qū)域干擾,如圖1所示。為提高檢測(cè)速度,利用虹膜內(nèi)外邊緣參數(shù)進(jìn)行上眼瞼邊緣區(qū)域的分割。為防止瞳孔被分割出來,上眼瞼邊緣區(qū)域內(nèi)點(diǎn)(xt,yt)應(yīng)滿足:xt∈[xi- ri,xp- rp-5],yt∈[yi-ri,yi+ri],在虹膜圖像中分割出的上眼瞼邊緣區(qū)域如圖2(a)所示。后續(xù)的上眼瞼檢測(cè)過程都在該區(qū)域進(jìn)行。
圖1 虹膜圖像
由于睫毛和小塊光斑的影響,選取5×5元素值都為1的圓盤形灰度形態(tài)學(xué)結(jié)構(gòu)元素b,對(duì)分割的上眼瞼邊緣區(qū)域進(jìn)行形態(tài)學(xué)灰度閉-開運(yùn)算。進(jìn)行一次形態(tài)學(xué)閉運(yùn)算,能消除睫毛等暗色細(xì)節(jié)的影響,閉運(yùn)算結(jié)果如圖2(b)所示。形態(tài)學(xué)開運(yùn)算削弱比結(jié)構(gòu)元素尺寸小的明亮細(xì)節(jié),并且相對(duì)保持整體灰度級(jí)和大塊的明亮區(qū)域不變。再進(jìn)行一次開運(yùn)算后結(jié)果如圖2(c)所示。
圖2 上眼瞼區(qū)域分割及預(yù)處理過程
(2)尋找邊緣點(diǎn)集。對(duì)上眼瞼邊緣區(qū)域每列的灰度值進(jìn)行分析,如圖3所示,共顯示了上眼瞼邊緣區(qū)域8列的灰度分布,橫坐標(biāo)為行坐標(biāo),縱坐標(biāo)為灰度值,由左至右每列間隔20列。圖中每列灰度分布上都有“谷”點(diǎn),“谷”點(diǎn)對(duì)應(yīng)的是眼瞼邊緣點(diǎn),靠左右端的眼瞼邊緣點(diǎn)在眼瞼邊緣區(qū)域最底端,因此在分布圖上表現(xiàn)為一段灰度最低值。
根據(jù)以上分析,上眼瞼邊緣點(diǎn)(xt,yt)滿足以下條件:
其中:I為灰度函數(shù);arg minx[·]為取括號(hào)內(nèi)最小值的x。式(1)含義為眼瞼邊緣點(diǎn)為每列灰度最小值對(duì)應(yīng)點(diǎn),而每列灰度最小值點(diǎn)往往不唯一,設(shè)第j列上檢測(cè)到n個(gè)灰度最小值點(diǎn){x1,…,xn},則在第j列上的眼瞼邊緣點(diǎn)行坐標(biāo)為:
圖3 上眼瞼區(qū)域每列灰度分布
對(duì)圖2(a)提取上眼瞼邊緣點(diǎn),結(jié)果如圖4所示。
(3)上眼瞼邊緣擬合。由于噪聲影響,圖4上眼瞼邊緣出現(xiàn)了不連續(xù)現(xiàn)象,為了獲得完整光滑的上眼瞼邊緣,筆者采用最小二乘法[11]對(duì)檢測(cè)到的邊緣點(diǎn)進(jìn)行拋物線擬合。對(duì)上眼瞼邊緣擬合結(jié)果如圖5所示。
圖4 上眼瞼邊緣點(diǎn)
圖5 上眼瞼邊緣擬合結(jié)果
下眼瞼的檢測(cè)步驟與上眼瞼相似,包括分割下眼瞼邊緣區(qū)域及預(yù)處理、尋找邊緣點(diǎn)集和下眼瞼邊緣擬合。
(1)分割下眼瞼邊緣區(qū)域及預(yù)處理。下眼瞼邊緣區(qū)域分割與上眼瞼區(qū)域類似,下眼瞼邊緣區(qū)域內(nèi)點(diǎn)(xb,yb)滿足:xb∈[xp+rp+5,xi- ri],yb∈[yi-ri,yi+ri],對(duì)虹膜圖像分割的下眼瞼區(qū)域如圖6(a)所示。后續(xù)的下眼瞼定位過程都在該區(qū)域上進(jìn)行。從圖6(a)可以看出,眼瞼邊緣存在小塊光斑的影響,選用半徑為3值都為1的圓盤形形態(tài)學(xué)結(jié)構(gòu)元素,進(jìn)行一次灰度形態(tài)學(xué)開運(yùn)算去除光斑,結(jié)果如圖6(b)所示。從結(jié)果來看,眼瞼邊緣較好地保留下來,且光斑區(qū)域被消除了。
(2)尋找邊緣點(diǎn)集。筆者對(duì)下眼瞼區(qū)域進(jìn)行梯度變換,求最大梯度和區(qū)間確定下眼瞼邊緣點(diǎn)。虹膜邊緣梯度大于眼瞼邊緣梯度,為防止虹膜邊緣和內(nèi)部神經(jīng)圈的干擾,首先需將虹膜區(qū)域排除在灰度梯度變換區(qū)域之外,筆者的算法是將虹膜區(qū)域賦予較高的灰度值T,其他區(qū)域灰度不變。
圖6 下眼瞼區(qū)域分割及預(yù)處理過程
由于虹膜區(qū)域是過渡區(qū)域,因此將虹膜外邊緣半徑延長(zhǎng)一定像素tr,所確定的圓形區(qū)域?yàn)榉腔叶忍荻茸儞Q區(qū)域,以最大限度消除虹膜的影響。(xi,yi)為虹膜外邊緣中心,ri為虹膜外邊緣半徑,I(xb,yb)為點(diǎn)(xb,yb)處灰度,這里 T=255,tr=6?;叶茸儞Q結(jié)果如圖7(a)所示。
接著對(duì)下眼瞼邊緣區(qū)域進(jìn)行灰度梯度變換,考慮到一般人眼圖像中,眼皮灰度大于鞏膜灰度,鞏膜灰度大于虹膜灰度,定義下眼瞼邊緣區(qū)域中點(diǎn)(xb,yb)處灰度梯度 G(xb,yb)為:
梯度變換結(jié)果如圖7(b)所示,眼瞼邊緣處具有較大的梯度。
最后對(duì)梯度變換結(jié)果的每列在固定區(qū)間內(nèi)求梯度積分,積分區(qū)間選為6個(gè)像素,對(duì)于離散像素點(diǎn)求梯度積分即為求梯度累加和,求出積分最大值A(chǔ)max(i)。
其中:Amax(i)為第i列上6個(gè)像素區(qū)間的梯度積分最大值;M為下眼瞼邊緣區(qū)域的行數(shù)。設(shè)梯度積分最大值所在區(qū)間為[(xb,yb),(xb+5,yb)],則眼瞼邊緣區(qū)域第i列下眼瞼邊緣點(diǎn)坐標(biāo)為:
最后得到下眼瞼邊緣點(diǎn)如圖7(c)所示。
(3)下眼瞼邊緣擬合。采用類似上眼瞼邊緣擬合所用的方法對(duì)下眼瞼邊緣點(diǎn)進(jìn)行拋物線擬合,最后得到下眼瞼邊緣擬合結(jié)果如圖8所示。
圖7 尋找下眼瞼邊緣點(diǎn)過程
因?yàn)樾螒B(tài)學(xué)灰度運(yùn)算使得邊緣過渡帶變寬,所以擬合得到的眼瞼邊緣并不準(zhǔn)確,需要在眼瞼擬合結(jié)果基礎(chǔ)上進(jìn)行精確定位。與虹膜的灰度相比,眼瞼邊緣偏暗,灰度值較小,因此在鄰域內(nèi)上下移動(dòng)眼瞼拋物線的過程中,拋物線上的像素灰度累加值在眼瞼邊緣處會(huì)出現(xiàn)跳變,根據(jù)跳變最大值出現(xiàn)的位置,即可精確定位眼瞼邊緣。拋物線方程x=ay2+by+c中c為決定拋物線位置的參數(shù),則真實(shí)眼瞼邊緣位置參數(shù)c0應(yīng)滿足式(7):
通過對(duì)拋物線上的像素灰度值積分,再對(duì)c求差分,使式(7)輸出達(dá)到最大的c為c0,設(shè)c1為眼瞼擬合拋物線方程參數(shù),則拋物線方程參數(shù)c上下移動(dòng)范圍為[c1-15,c1+15]。上、下眼瞼精確定位結(jié)果如圖9所示。
圖8 下眼瞼邊緣擬合結(jié)果
圖9 眼瞼精確定位結(jié)果
經(jīng)過眼瞼定位后分割出的虹膜有效區(qū)域往往在上眼瞼邊緣存在睫毛干擾,一些稀疏且短的睫毛可能會(huì)被誤認(rèn)為虹膜紋理[12],但睫毛的檢測(cè)不會(huì)像虹膜內(nèi)外緣定位那樣會(huì)對(duì)虹膜識(shí)別產(chǎn)生重大影響[13],為提高睫毛檢測(cè)速度,利用睫毛灰度比虹膜灰度低的特點(diǎn),采取自適應(yīng)閾值法對(duì)虹膜區(qū)域的睫毛進(jìn)行分割。如圖10(a)所示,在采用文獻(xiàn)[9]的算法對(duì)虹膜進(jìn)行定位的基礎(chǔ)上,利用上述眼瞼定位算法對(duì)上下眼瞼定位。該人眼圖像來源于中科院CASIA(version 2.0)虹膜數(shù)據(jù)庫(kù),分辨率為640×480像素。圖10(b)為根據(jù)虹膜定位結(jié)果和眼瞼定位結(jié)果分割出的虹膜區(qū)域。圖10(c)為睫毛檢測(cè)結(jié)果。
將上眼瞼拋物線下移一定像素Δc,同時(shí)拋物線與瞳孔區(qū)域無(wú)交點(diǎn),通過對(duì)拋物線上像素點(diǎn)灰度值的分析,如圖10(d)所示,顯示Δc取不同值時(shí)拋物線上像素點(diǎn)灰度的分布,因?yàn)榻廾啾戎車缒せ叶戎档?,所以在分布圖中的極小值點(diǎn)對(duì)應(yīng)睫毛像素點(diǎn)。設(shè)Δc所對(duì)應(yīng)的灰度分布圖極小值序列為{T1,T2,…,Tn},極小值與相鄰波峰之間的灰度差應(yīng)大于ΔT,則Δc所對(duì)應(yīng)的睫毛檢測(cè)閾值為 TΔc,TΔc取{T1,T2,…,Tn}中的最大值。當(dāng) Δc取不同值時(shí),{Δc1,Δc2,…,Δcn}對(duì)應(yīng)一系列睫毛檢測(cè)閾值{TΔc1,TΔc2,…,TΔcn},最終睫毛檢測(cè)閾值Teyelash取{TΔc1,TΔc2,…,TΔcn}中的最大值,這里 ΔT=15,從圖10(c)睫毛檢測(cè)結(jié)果可知,睫毛被最大限度地分割出來了,但是一些細(xì)微的睫毛末梢未被檢測(cè)出。
圖10 眼睫毛檢測(cè)過程
為測(cè)試算法的性能,采用中科院自動(dòng)化所虹膜圖像庫(kù) CASIA[14-15](version 2.0)進(jìn)行實(shí)驗(yàn),CASIA(version 2.0)包括 device1和 device2兩個(gè)虹膜庫(kù),每個(gè)庫(kù)包含1 200幅灰度人眼圖像,采自60只眼睛,每只眼睛采集20幅圖像,由非接觸式的虹膜采集設(shè)備完成,采集距離約為4~5 cm,圖像大小為 640×480像素。與 CASIA(version 1.0)虹膜庫(kù)相比,該虹膜庫(kù)尺寸比較大,有效虹膜區(qū)域比較小,大部分圖像受眼瞼(主要是上眼瞼)及睫毛遮擋,而且光照不均勻,給虹膜定位帶來一定的難度[16]。實(shí)驗(yàn)平臺(tái)為Matlab 7+WIN XP+Intel Core 2.0G CPU。將筆者的眼瞼檢測(cè)算法與Hough算法,以及筆者的眼睫毛檢測(cè)算法與文獻(xiàn)[8]算法,從主觀準(zhǔn)確率、耗費(fèi)時(shí)間兩個(gè)方面進(jìn)行比較,結(jié)果如表1和表2所示,每次眼瞼檢測(cè)中只要上眼瞼或下眼瞼檢測(cè)失敗則認(rèn)為該次眼瞼檢測(cè)失敗。
表1 眼瞼檢測(cè)算法比較
表2 眼睫毛檢測(cè)算法比較
從表1可以看出,筆者的算法對(duì)CASIA(version 2.0)虹膜庫(kù)中絕大多數(shù)人眼圖像都能快速、準(zhǔn)確地檢測(cè)出眼瞼邊緣,避免了文獻(xiàn)[5]算法在三維空間搜索而速度較慢的問題,筆者的算法定位眼瞼邊緣失敗的原因主要是上眼瞼嚴(yán)重遮擋虹膜區(qū)域,有的遮擋面積超過虹膜區(qū)域面積的50%。從表2看出,筆者的睫毛檢測(cè)算法與文獻(xiàn)[8]算法在主觀準(zhǔn)確率和速度上相當(dāng),但是筆者的算法是根據(jù)虹膜區(qū)域圖像自適應(yīng)生成的閾值,與文獻(xiàn)[8]相比并不需過多地設(shè)置參數(shù),更具操作的簡(jiǎn)便性。
眼瞼和睫毛檢測(cè)對(duì)虹膜識(shí)別率的提高具有重要意義,筆者利用眼瞼邊緣灰度的特點(diǎn)確定眼瞼邊緣點(diǎn),利用最小二乘法對(duì)邊緣點(diǎn)進(jìn)行上、下眼瞼邊緣擬合,最后精確定位上、下眼瞼。該眼瞼檢測(cè)算法將傳統(tǒng)算法的搜索空間由三維降為一維,速度明顯提高;眼瞼毛檢測(cè)算法自適應(yīng)生成睫毛分割閾值,相比傳統(tǒng)算法不需設(shè)置較多的參數(shù),體現(xiàn)了簡(jiǎn)便性,并且能有效、最大限度地分割出睫毛。筆者算法有待改進(jìn)的方面:①尋找自適應(yīng)結(jié)構(gòu)元素,在灰度形態(tài)學(xué)運(yùn)算中更好地清除上眼瞼睫毛干擾。②改進(jìn)閾值自適應(yīng)生成算法,更好地檢測(cè)出細(xì)微的睫毛末梢。
[1] FLOM L,SAHR A.Irisrecognitionsystem[P].US:4641394.1987.
[2] 田啟川,張潤(rùn)生.生物特征識(shí)別綜述[J].計(jì)算機(jī)應(yīng)用研究,2009,26(12):4404 -4407.
[3] DORAIRAJ V,SCHMID N,F(xiàn)AHMY G.Performance evaluation of non-ideal iris based recognition system implementing global ICA encoding image processing[M].Italy:IEEE Int Conf,2005:285 -288.
[4] 來毅,路陳紅,盧朝陽(yáng).用于虹膜識(shí)別的眼瞼及眼睫毛遮擋檢測(cè)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2007,19(3):346 -348.
[5] KANG B J,PARK K P.A robust eyelash detection based on iris focus assessment[J].Pattern Recognition,2007(28):1630-1639.
[6] WILDES R.Iris recognition:an emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348 -1363.
[7] MASEK L.Recognition of human iris patterns for biometric identification[R].Western Australia:School of Computer Science and Software Engineering,University of Western Australia,2003.
[8] DAUGMAN J.How iris recognition works[J].IEEE Transactions on Circuits and Systems for Video Technology,2004,14(1):21 -30.
[9] LI M,TAN T N,WANG Y H,et al.Personal identification based on iris texture analysis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(12):1519 -1533.
[10] KONG W,ZHANG D.Accurate iris segmentation based on novel reflection and eyelash detection model[C]//Proceedings of 2001 International Symposium on Intelligent Multimedia,Video and Speech Processing.Hong Kong:[s.n.],2001:263 -266.
[11] 田啟川.不完美虹膜的定位分割特征提取與分類識(shí)別[D].西安:西北工業(yè)大學(xué)圖書館,2005.
[12] 周俊,羅挺.一種基于幾何特征的虹膜定位算法[J].后勤工程學(xué)院學(xué)報(bào),2010,26(3):81 -85.
[13] 馬爭(zhēng),黃煒.曲線擬合的虹膜定位算法研究[J].電子科技大學(xué)學(xué)報(bào),2009,38(3):427 -429.
[14] 林忠華.基于人眼自然睜開狀態(tài)下的虹膜識(shí)別方法研究[D].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué)圖書館,2008.
[15] Institute of Automation,Chinese Academy of Sciences.CASIA iris image database(ver 1.0)[DB/OL].[2010 - 11 - 02].http://www.sinobiometrics.com.2004.
[16] 姚鵬.復(fù)雜條件下虹膜識(shí)別算法[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué)圖書館,2008.