劉曉敏, 李培華, 郭吉平
(1.佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江佳木斯154007;2.黑龍江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江哈爾濱150080;3.佳木斯大學(xué)公共計(jì)算機(jī)教研部,黑龍江佳木斯154007)
基于虹膜的生物特征識(shí)別技術(shù)具有識(shí)別精度高、無法偽造以及非侵犯性等優(yōu)點(diǎn),在門禁系統(tǒng)、海關(guān)出入境、機(jī)場和金融等許多領(lǐng)域中具有廣泛的應(yīng)用?,F(xiàn)代虹膜識(shí)別系統(tǒng)為了適應(yīng)各種復(fù)雜的應(yīng)用場景,應(yīng)對(duì)用戶有盡可能小的約束,使用戶感覺不到系統(tǒng)的存在,因此遠(yuǎn)距離、運(yùn)動(dòng)中虹膜識(shí)別成為必然的發(fā)展趨勢。然而在復(fù)雜的應(yīng)用場景中采集的虹膜圖像包括各種干擾和噪聲,如眼睛半閉或全閉,頭發(fā)、睫毛和眼瞼遮擋,光學(xué)眼鏡等,如UBIRIS.v2[1-4]數(shù)據(jù)庫。這樣的虹膜圖像上進(jìn)行虹膜預(yù)處理操作是非常困難的,因此開發(fā)適應(yīng)這樣虹膜圖像的預(yù)處理算法成為研究者研究熱點(diǎn)。
一個(gè)虹膜識(shí)別系統(tǒng)主要包括4個(gè)部分:虹膜圖像采集、虹膜的預(yù)處理、虹膜紋理分析和虹膜紋理匹配。而虹膜的預(yù)處理起到極其重要的作用,在這方面已經(jīng)出現(xiàn)很多成型的算法。Daugman[5-6]和Wildes[7]提出了經(jīng)典的虹膜內(nèi)外輪廓檢測方法。郝偉勇[8]在他的碩士論文中使用了改進(jìn)的環(huán)量積分算法對(duì)虹膜的外輪廓進(jìn)行分割。Preonca等人[9]研究了如何對(duì)虹膜圖像的質(zhì)量進(jìn)行評(píng)價(jià),根據(jù)評(píng)價(jià)結(jié)果可以對(duì)檢測到的虹膜內(nèi)外輪廓進(jìn)行重新檢測,這提高了虹膜識(shí)別的準(zhǔn)確性。Luo等人[10]提出了使用數(shù)學(xué)的形態(tài)學(xué)知識(shí)檢測眼瞼、眼睫毛等非虹膜區(qū)域。苑瑋琪等人[11]提出利用虹膜的外圓,用一個(gè)扇形區(qū)域表示眼睫毛遮擋方法,實(shí)驗(yàn)表明算法可有效檢測睫毛。Tan等人也提出了一種基于紋理分割的快速虹膜定位方法,該算法首先利用小波變換的低頻信息進(jìn)行圖像分割,然后利用積分微分操作檢測外輪廓[12]。來毅等人[13]分別針對(duì)眼瞼和睫毛遮擋的噪聲,利用其灰度和形狀信息提出了灰度形態(tài)學(xué)檢測算法。羅中亮等人[14]提出利用邊緣檢測和最小二乘擬合方法去除眼瞼,以及閾值法去除虹膜內(nèi)部噪聲。
以上提到的預(yù)處理方法很有效,但是這些研究者都沒有考慮將具有大量干擾和噪聲的虹膜數(shù)據(jù)庫中的閉眼虹膜圖像挑選出來,這使得他們的方法在復(fù)雜虹膜數(shù)據(jù)庫中不能得到更高的虹膜識(shí)別率。為了提高虹膜識(shí)別系統(tǒng)的識(shí)別率,本文提出判斷虹膜數(shù)據(jù)庫中閉眼圖像的方法。該方法首先使用圓的積分微分算子得到閉眼虹膜圖像的候選圖像,使用直方圖分析將候選圖像進(jìn)行二值化。采用圖像膨脹、邊緣檢測和連接得到邊緣圖像。使用最小二乘擬合算法擬合拋物線,通過拋物線開口方向判斷該圖像是否為閉眼虹膜圖像。
由于瞳孔內(nèi)部灰度值比虹膜圖像的其他部分低,因此本文使用一種漸進(jìn)的方法檢測虹膜內(nèi)外輪廓[15]。該方法首先使用矩形模板掃描虹膜圖像,計(jì)算矩形區(qū)域的均值和方差,找到均值和方差最小的模板,將該模板所在的位置作為瞳孔的粗略位置,然后使用Canny邊緣檢測加Hough變換檢測準(zhǔn)確的虹膜內(nèi)外邊緣;使用該方法檢測到的虹膜外輪廓圖像如圖1所示,圖1(a)表示正確檢測虹膜外輪廓的虹膜圖像,圖1(b)表示錯(cuò)誤檢測虹膜外輪廓圖像,而閉眼虹膜圖像通常都是檢測錯(cuò)誤的虹膜圖像,因此本文將檢測錯(cuò)誤的虹膜圖像看成閉眼虹膜圖像的候選圖像。
圖1 虹膜外輪廓的檢測
圖2 閉眼圖像的確定過程
外輪廓檢測錯(cuò)誤的虹膜圖像是通過判斷虹膜外輪廓的積分微分算子值確定的,如果虹膜外輪廓的積分微分算子值較小則認(rèn)為是外輪廓檢測錯(cuò)誤的虹膜圖像。在這些圖像上觀察可以發(fā)現(xiàn)閉眼圖像中眼睛輪廓的上邊緣可以擬合出一個(gè)開口向上的拋物線。本文提出在后選的閉眼虹膜圖像上進(jìn)行閉眼虹膜圖像判斷,過程如圖2所示,候選圖像上計(jì)算直方圖,使用高斯函數(shù)進(jìn)行平滑,則直方圖左側(cè)的第一個(gè)峰對(duì)應(yīng)灰度值較低的眼睫毛,如圖2(a)所示,選擇該峰右邊的谷作為閾值對(duì)圖像進(jìn)行二值化得到如圖2(b)所示;繼續(xù)對(duì)二值閉眼圖像進(jìn)行膨脹操作得到圖2(c)。然后使用邊緣連接算法找出邊緣圖像中的最長一條邊,取該邊上面部分進(jìn)行拋物線擬合。如圖3所示,圖3(a)為睜眼虹膜圖像虹膜上邊緣拋物線擬合過程,該拋物線開口向下,圖3(b)為閉眼虹膜圖像虹膜上邊緣拋物線的擬合過程,該拋物線開口向上,這樣可以判斷圖3(b)為閉眼虹膜圖像,下面幾節(jié)詳細(xì)介紹了這一過程。
圖3 虹膜上邊緣拋物線的擬合
如果該虹膜圖像是閉眼圖像則確定的虹膜外輪廓將是不準(zhǔn)確的,于是這里使用如下積分微分算子的值來評(píng)價(jià)外輪廓確定是否準(zhǔn)確
由圖4可以看出,虹膜圖像中眼睫毛的灰度值是非常低的,而皮膚的灰度值很高,因此可以對(duì)該虹膜圖像的直方圖進(jìn)行分析,然后對(duì)圖像進(jìn)行二值化,直方圖和二值化圖像如圖5(a)和圖5(b)所示。為了更好的找到直方圖的峰和谷虹膜圖像的直方圖必須進(jìn)行平滑,平滑過程中需要解決的一個(gè)問題是平滑到什么程度,如果平滑小了將會(huì)找到很多不準(zhǔn)確的峰和谷,平滑大了會(huì)將有意義的峰和谷平滑沒,因此本文通過做大量的實(shí)驗(yàn)選取了一個(gè)=2.0高斯函數(shù),并且在平滑過程中高斯函數(shù)的系數(shù)要保證大于0.0002,小于該值的系數(shù)可忽略不計(jì),于是可以確定高斯函數(shù)的窗寬為14,高斯函數(shù)平滑后虹膜圖像的直方圖如圖5(a)所示,通過尋找該直方圖導(dǎo)數(shù)為0的點(diǎn)很容易確定直方圖的峰和谷。從該圖可以看出,直方圖最左側(cè)的峰對(duì)應(yīng)的是灰度值較低的睫毛區(qū)域的像素值,因此本文將該峰右側(cè)的谷作為閾值對(duì)虹膜圖像進(jìn)行二值化得到圖5(b)。
圖4 候選圖像的外輪廓CID值
圖5 虹膜圖像的二值化
由于得到的二值圖像具有部分干擾點(diǎn)因此需要對(duì)該二值圖像進(jìn)行膨脹。膨脹是將像素點(diǎn)進(jìn)行加長或變粗操作,這使得一些不連續(xù)的像素點(diǎn)變得連續(xù)從而去除干擾點(diǎn)。其基本原理是將某一結(jié)構(gòu)元素平移過整個(gè)圖像區(qū)域(灰度值為0或1),如果輸入圖像與結(jié)構(gòu)元素至少重疊一個(gè)0值像素,則輸出圖像該結(jié)構(gòu)元素原點(diǎn)位置置為0。在實(shí)驗(yàn)中,結(jié)構(gòu)元素取為灰度值為0的矩形。由于閉眼圖像的眼睛輪廓通常是呈長條狀的,為了使得眼睫毛的上邊緣連續(xù)讓每一個(gè)像素橫向加長,因此將膨脹的結(jié)構(gòu)元素設(shè)計(jì)成長寬分別為7和5的矩形,膨脹結(jié)果如圖6(a)所示。
圖6 閉眼虹膜圖像上邊緣檢測
接下來使用Canny邊緣檢測得到圖6(b)。該算法包括5個(gè)步驟:圖像平滑、計(jì)算圖像的梯度幅值圖像、確定候選邊緣點(diǎn)、計(jì)算強(qiáng)邊緣點(diǎn)和弱邊緣點(diǎn)以及邊緣跟蹤。該算法中有3個(gè)參數(shù)需要確定,分別為:高斯平滑參數(shù)的確定、用于邊緣選擇的邊緣點(diǎn)百分比的確定和強(qiáng)邊緣點(diǎn)閾值與弱邊緣點(diǎn)閾值比例系數(shù)的確定。下面介紹這3個(gè)參數(shù)的確定:
(2)用于邊緣選擇的邊緣點(diǎn)百分比的確定:邊緣點(diǎn)選擇的實(shí)質(zhì)是給定像素點(diǎn)梯度幅值的閾值,大于該閾值的像素點(diǎn)為候選邊緣點(diǎn)。該閾值的確定是通過像素點(diǎn)梯度幅值直方圖的累積直方圖確定,如圖7所示,圖7(a)表示像素點(diǎn)梯度幅值直方圖,圖7(b)表示梯度幅值直方圖的累積直方圖確定。要確定該閾值還要得到一個(gè)先驗(yàn)知識(shí),即估計(jì)出整幅圖像邊緣點(diǎn)的百分比,則累積直方圖的值與該百分比相等的梯度幅值作為選擇邊緣點(diǎn)的閾值,同時(shí)候選邊緣點(diǎn)具有局部最大屬性。通過大量實(shí)驗(yàn)證明虹膜圖像中保留32%的候選邊緣點(diǎn)能夠使得邊緣檢測效果最佳。
圖7 Canny邊緣檢測算子閾值確定
(3)強(qiáng)邊緣點(diǎn)閾值與弱邊緣點(diǎn)閾值比例系數(shù)的確定:在Canny邊緣檢測中將候選邊緣點(diǎn)分為兩種:強(qiáng)邊緣點(diǎn)和弱邊緣點(diǎn)。強(qiáng)緣點(diǎn)也需要一個(gè)梯度幅值的閾值2,大于該閾值的候選邊緣點(diǎn)為強(qiáng)邊緣點(diǎn)。2與1成比例,有在候選邊緣點(diǎn)中除去強(qiáng)邊緣點(diǎn)的其他候選邊緣點(diǎn)都稱為弱邊緣點(diǎn)。某一強(qiáng)邊緣點(diǎn)是否是真正邊緣點(diǎn)是受弱邊緣點(diǎn)約束的(約束條件是如果一個(gè)真正的邊緣點(diǎn)是一個(gè)強(qiáng)邊緣點(diǎn),它的周圍保證有弱邊緣點(diǎn)),這時(shí)比例系數(shù)r嚴(yán)重影響邊緣檢測結(jié)果,在實(shí)驗(yàn)中算法取該比例系數(shù)為0.6,這使得邊緣檢測達(dá)到很好的效果。
然后使用邊緣連接算法將邊緣圖像中的小的邊緣去掉,邊緣連接過程包括:邊緣圖像的骨骼化、尋找連接點(diǎn),通過邊緣跟蹤得到邊緣圖像中的每一個(gè)連續(xù)邊緣。算法中取出包含像素點(diǎn)最多的一個(gè)連續(xù)邊緣,這個(gè)邊緣就是眼睫毛的完整輪廓,再取輪廓的上邊緣得到如圖6(c)所示的邊緣。
本文使用最小二乘擬合算法擬合眼睫毛上邊緣,基本原理是給定邊緣點(diǎn)(xi,yj)(i=1,2,…,N),其中N是邊緣點(diǎn)個(gè)數(shù),求拋物線方程y=ax2+bx+c使誤差達(dá)到最小
使Q達(dá)到最小的參數(shù)a,b,c應(yīng)滿足
通過式(3)可以得到如下的關(guān)于a,b,c的線性方程組
由式(4)可求得a,b,c。擬合結(jié)果如圖8所示,該虹膜圖像擬合出的拋物線開口是向上的,因此可以判斷該虹膜圖像是一個(gè)閉眼虹膜圖像,否則認(rèn)為外輪廓檢測不準(zhǔn)確,可使用其他方法再次檢測。
圖8 眼睫毛上邊緣擬合的拋物線
本文的算法使用C++編寫,在UBIRIS.v2[11-12]虹膜數(shù)據(jù)庫中的部分虹膜圖像上進(jìn)行了實(shí)驗(yàn),這些圖像包含大量干擾和噪聲,同時(shí)也包含了很多閉眼虹膜圖像。根據(jù)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)當(dāng)判斷候選閉眼圖像時(shí)選擇不同的CID閾值將會(huì)嚴(yán)重影響判斷閉眼圖像的檢測率和誤檢率,本文在大量的實(shí)驗(yàn)中得到了給定不同CID閾值的檢測率和誤檢率數(shù)據(jù),如表1所示。從表可以看出隨著閾值增大算法的檢測率逐漸增大并且達(dá)到最大值,然后當(dāng)閾值繼續(xù)增大時(shí),算法的檢測率開始下降同時(shí)誤檢率增高,算法選擇檢測率最高和誤檢率最低對(duì)應(yīng)的閾值作為最佳閾值。因此實(shí)驗(yàn)中CID閾值取的是2.0,雖然檢測率只有70%,但是誤檢率是0,所以可以準(zhǔn)確去除部分閉眼虹膜圖像,這使得一個(gè)虹膜識(shí)別系統(tǒng)具有更加可靠的識(shí)別性能。
表1 給定不同CID閾值的檢測率和誤檢率
圖9給出了幾個(gè)閉眼虹膜圖像及檢測結(jié)果,上面一組是原始虹膜圖像,下面一組是擬合的拋物線。從圖9(e)、(f)、(g)和(h)可以看出擬合出的拋物線開口是向上的,因此正確的判斷出了這些閉眼虹膜圖像。圖9(a)和圖9(b)擬合出的拋物線曲率接近于0,類似于一條直線。圖9(c)和圖9(d)擬合出的拋物線曲率小于0。因此實(shí)驗(yàn)中將拋物線曲率滿足小于等于0的虹膜圖像看作是閉眼虹膜圖像。
圖9 判斷出的閉眼圖像
從表1可以看出,該方法檢測率并不高,但是當(dāng)我們?cè)诒WC誤檢率為0時(shí),將會(huì)大大提高虹膜分割效果。2007年7月,葡萄牙貝爾大學(xué)計(jì)算科學(xué)學(xué)院SOCIA(softcomputingandimage analysis group)實(shí)驗(yàn)室發(fā)起了國際虹膜分割競賽NICE.I(noisy irischallengeevaluation,partI)[1]。在此競賽中,我們提出的虹膜分割算法獲得了第4名的好成績。在分割算法中使用了閉眼圖像判斷算法,得到了很好的效果。
NICE.I提出了如下虹膜分割誤差評(píng)價(jià)準(zhǔn)則,令I(lǐng)={I1,…,In}是輸入虹膜圖像集合,O={O1,…,On}是對(duì)應(yīng)的分割程序輸出的虹膜圖像集合,C={C1,…,Cn}是由NICE.I組委會(huì)提供的手工標(biāo)記出的真值圖像,其中所有圖像都有相同的維數(shù):r行和c列。對(duì)某一幅圖像Ii,令Ei表示算法輸出的虹膜圖像中的像素值和真值虹膜圖像中像素值不一致的個(gè)數(shù)占圖像中所有像素個(gè)數(shù)的百分比,即
式中:Oi(c',r')和Ci(c',r')——算法輸出的第i幅圖像和真值圖像r'行和c'列的像素值。所有測試圖像的總誤差率E1定義為
E1的取值范圍是在[0,1]之間,E1=1表示所有像素均不匹配,E1=0表示所有像素都匹配。NICE.I組委會(huì)主要使用這個(gè)評(píng)價(jià)方法對(duì)參賽算法進(jìn)行評(píng)價(jià)。
在組委會(huì)提供的學(xué)習(xí)集的虹膜庫中,我們將嵌入本文算法和未嵌入本文算法的虹膜分割結(jié)果進(jìn)行了比較,比較結(jié)果如表2所示,嵌入該算法的分割結(jié)果為0.022,未嵌入該算法的分割結(jié)果為0.028,可以看出我們的算法提高了競賽中的虹膜分割效果。
表2 兩種虹膜分割算法誤差率的比較
在復(fù)雜環(huán)境下采集的虹膜圖像具有大量閉眼虹膜圖像嚴(yán)重影響了虹膜識(shí)別系統(tǒng)的效率。本文提出了一種檢測閉眼虹膜圖像的方法,該方法使用環(huán)量積分微分算子、基于直方圖的二值化、邊緣檢測和連接以及最小二乘等方法擬合眼睫毛的上邊緣拋物線,通過判斷該拋物線的開口方向檢測其是否為閉眼虹膜圖像。該方法有效地提高了虹膜分割算法的誤差率,但是仍然有部分閉眼虹膜圖像不能檢測出來,將來我們會(huì)提出更好的算法檢測出更多閉眼虹膜圖像。
[1]Noisy iris challenge evaluation(NICE.I)[OL].http://nice1.di.ubi.pt/,2008.
[2]Proenca H,Alexandre L A.UBIRIS:A noisy iris image database[C].International Conference on Image Analysis and Processing,2005:970-977.
[3]Hugo Proen?a,Sí lvio Filipe,Ricardo Santos,et al.The UBIRIS.v2:A database of visible wavelength iris images captured on-the-move and at-a-distance[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,32(8):1529-1535.
[4]Hugo Proen?a,Luí s AAlexandre.Introductionto the special issue on the segmentation of visible wavelength iris images acquired at-a-distance and on-the-move[J].Elsevier Image and Vision Computing,2009,28(2):213-214.
[5]Daugman J.Probing the uniqueness and randomness of IrisCodes:Results from 200 billion iris pair comparisons[J].Proceedings of the IEEE,2006,94(11):1927-1935.
[6]Daugman J.New methods in iris recognition[J].IEEE Trans on Systems,Man,Cybernetics B,2007,37(5):1167-1175.
[7]Wildes R P.Iris recognition:an emerging biometric technology[J].Proceedings of IEEE,1997,85(9):1348-1363.
[8]郝偉勇.一種基于特征點(diǎn)的虹膜識(shí)別算法研究[D].北京:北京大學(xué)碩士學(xué)位論文,2004:14-17.
[9]Proenca H,Alexandre L A.Iris recognition:measuring feature's quality for the feature selection in unconstrained image capture environments[C].Alexandria,VA:IEEEInternational Conference on Computational Intelligence for Homeland Security and Personal Safety,2006:35-40.
[10]Luo Z,Lin T.Detection of non-iris region in the iris recognition[C].International Symposium on Computer Science and Computational Technology,2008:45-48.
[11]苑瑋琪,喬一勤.基于虹膜識(shí)別的眼睫毛檢測[J].微計(jì)算機(jī)信息,2008,24(28):311-312.
[12]Tan Tieniu,He Zhaofeng,Sun Zhenan.Efficient and robust segmentation of noisy iris images for non-cooperative iris recognition[J].Journal of Image and Vision Computing,2010,28(2):223-230.
[13]來毅,路陳紅,盧朝陽.用于虹膜識(shí)別的眼瞼及睫毛遮擋檢測[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2007,19(3):346-350.
[14]羅中亮,林土勝,賈應(yīng)彪,等.虹膜分割中的噪聲檢測[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(10):2447-2448.
[15]Li Peihua,Liu Xiaomin.An incremental method for accurate iris segmentation[C].Proceedings of the 19th International Conference on Pattern Recognition,2008:1-4.
計(jì)算機(jī)工程與設(shè)計(jì)2011年9期