李星野, 劉新亮
(上海理工大學管理學院,上海 200093)
虹膜識別
李星野, 劉新亮
(上海理工大學管理學院,上海 200093)
系統(tǒng)闡述了虹膜識別的原理和實現(xiàn)方法,提出將小波變換與Hough變換相結(jié)合定位虹膜外邊界,采用同心圓漸變展開虹膜圖像為矩形圖像,根據(jù)紋理分布方差對分類距離加權(quán).新算法在保持平移和縮放不變性的同時,有效地實現(xiàn)了虹膜識別.
虹膜識別;小波變換;分類
隨著社會經(jīng)濟的進步,網(wǎng)絡化和信息化技術(shù)的深入發(fā)展,人們對身份識別提出了更高的要求.生物特征識別技術(shù)相對傳統(tǒng)識別技術(shù),具有不易遺忘、防偽性能好、隨身“攜帶”和隨時可用等優(yōu)點,因此受到人們的高度關注[1].虹膜識別技術(shù)是生物識別技術(shù)中的一個主要發(fā)展方向.虹膜位于人眼表面黑色瞳孔和白色鞏膜之間,是圓環(huán)狀區(qū)域,由相當復雜的纖維組織構(gòu)成,在紅外光下可以看到豐富的紋理信息,如斑點、條紋、細絲、隱窩等細節(jié)特征,其內(nèi)部結(jié)構(gòu)在出生之前就以隨機組合方式?jīng)Q定下來.對于每個人來說,虹膜的結(jié)構(gòu)各不相同,并且這種獨特的虹膜結(jié)構(gòu)在人的一生中幾乎不發(fā)生變化[2].自從Daugman提出特征描述和相似性判別算法之后[3-4],人們對虹膜識別進行了大量的研究.大部分工作都是在運算速度方面對Daugman算法進行改進;Wildes使用基于梯度的邊緣檢測算子和三維空間搜索算法實現(xiàn)了虹膜識別[5],該算法的計算開銷較大,過于耗時;Boles提出了基于小波變換的過零檢測識別算法[6],該算法丟失了大量二維信息,在大范圍內(nèi)尚未取得滿意的效果.目前比較成熟的算法是先由Canny算子結(jié)合Hough變換定位虹膜,之后經(jīng)矩形展開、多通道Gabor濾波以及Hamming距離分類實現(xiàn)虹膜識別.這些算法普遍具有較高的時間復雜度和空間復雜度,且不能很好地濾除虹膜圖像中的無關信息,直接影響虹膜的定位以及后續(xù)的分類識別.本文對流行的虹膜識別算法做了較大規(guī)模改進.首先在虹膜定位部分,用小波變換替代Canny算子,使虹膜外邊界的定位具備一定的自適應性;其次,用同心圓漸變展開虹膜,更好地保持了像素的灰度分布信息;在此基礎上根據(jù)灰度分布對圖像進行了增強;最后根據(jù)小波變換提取的紋理特征能量分布重新定義了用標準差加權(quán)的分類距離,成功地實現(xiàn)了具有旋轉(zhuǎn)、平移和尺度伸縮不變性的虹膜特征提取及分類.
虹膜是位于黑色瞳孔與白色鞏膜之間的環(huán)狀組織,如圖1所示,通常情況下其內(nèi)外邊界均會發(fā)生一定的位移,所以要對其內(nèi)外邊界分別進行定位和配準.
圖1 原始虹膜圖像Fig.1 Original iris image
1.1 虹膜內(nèi)邊界定位
所謂虹膜內(nèi)邊界,就是瞳孔的邊界.由于瞳孔的灰度值遠小于其周圍眼組織的灰度值,而且其像素點分布密集,所以便于分割.基于以上特點,使用閾值分割方法對圖像進行二值化,將瞳孔從圖像中分離,精確得到虹膜內(nèi)邊界的圓心和半徑.
具體操作步驟如下:
a.繪出人眼圖像的灰度分布直方圖(圖2).
b.確定閾值,對圖像進行二值化分割.記灰度分布直方圖函數(shù)為f(Ⅰ),f(Ⅰ)是灰度值為Ⅰ的像素點個數(shù),則f(Ⅰ)應有若干局部極大值.由于瞳孔內(nèi)的像素灰度非常集中,所以,在直方圖中,這些灰度的f(Ⅰ)值明顯大于其他灰度的f(Ⅰ)值.根據(jù)直方圖,首先從0灰度遍歷灰度軸(橫軸)至100灰度,記=max{Ⅰ|f(Ⅰ)>3 000},然后在的后續(xù)灰度值上對f(Ⅰ)做差分
當c>5時,記T=Ⅰ+1.
圖2 虹膜圖像灰度分布直方圖Fig.2 Gray level histogram of iris image
將瞳孔投影到X軸和Y軸上,定義(x,y)處像素灰度為
則可得二值化圖像.對此二值圖像進行形態(tài)學閉操作,去掉睫毛和噪聲的干擾,使瞳孔的邊界變得更為平滑,如圖3所示.
圖3 瞳孔邊界定位Fig.3 Locating pupillary boundary
c.確定瞳孔在X軸、Y軸上投影的最大、最小坐標xmax,xmin,ymax和ymin及瞳孔的圓心坐標(x0,y0)[7].此時x0=(xmax+xmin)/2,y0=(ymax+ymin)/2;進一步可得瞳孔半徑為r0=max[(xmaxxmin)/2,(ymax-ymin)/2].
1.2 虹膜外邊界定位
雖然虹膜同鞏膜的灰度值相差得也比較大,但是從虹膜的像素點到鞏膜的像素點的過渡相對平緩,同值像素分布不如瞳孔像素分布那樣集中,直接用直方圖來進行閾值分割,效果不理想.采用小波變換初步確定虹膜外邊界輪廓,虹膜外邊界的精確定位仍然要用Hough變換.
虹膜外邊界的初步提取:
在原始虹膜圖像中,睫毛和噪聲處于圖像的最高頻部分,紋理特征也最明顯,而且經(jīng)常掩蓋虹膜外邊界的紋理特征.通過低通濾波可以消除睫毛和噪聲的主要影響.本文采用標準差σ=10的Gauss低通濾波器對虹膜圖像進行二維Gauss低通濾波,濾波后的低頻圖像在保留虹膜外邊緣輪廓的同時,較好地消除了睫毛等無關組織的影響,如圖4所示.
圖4 高斯低通濾波的虹膜圖像平滑F(xiàn)ig.4 Iris image smoothed by Gaussian lowpass filter
小波變換是常用的圖像分析手段,在紋理識別中有較多的應用.二維圖像的一級小波分解將得到4部分系數(shù):LL1、LH1、HL1和HH1.其中,LL1為雙向低頻系數(shù),LH1為水平低頻、垂直高頻系數(shù),HL1為垂直低頻、水平高頻系數(shù),HH1為雙向高頻系數(shù),如圖5所示.當圖像在某一方向上具有較明顯的紋理特征時,與之對應的高頻系數(shù)就比較大.以此類推,可以對低頻系數(shù)LL1進一步分解,得到圖像的多級小波分解,如圖6中的三級小波分解.
圖5 圖像一級小波分解Fig.5 Image decomposed by 1-level discrete wavelet
圖6 圖像三級小波分解Fig.6 Image decomposed by 3-level discrete wavelet
通過小波變換可以從濾波后的虹膜圖像中初步提取虹膜外邊界.在對整個虹膜圖像做小波變換之前,先截取一塊64×64大小、含有虹膜外邊界的圖像,對其進行三級小波分解,提取絕對值最大的雙向高頻系數(shù)wmax;然后對整幅圖像進行三級小波分解,κ倍提升幅值在(wmax-p,wmax+p)和(-wmax-p,-wmax+p)范圍內(nèi)的雙高頻系數(shù),其中,p值待定,同時將其他小波變換系數(shù)置0.事實上,上述過程相當于對虹膜圖像進行帶通濾波,同時提升虹膜外邊界紋理的頻率和強度.這種經(jīng)過帶通濾波和頻率強度提升的圖像顯示出比較清晰的虹膜外邊界輪廓.實驗表明p=10、κ=40時,虹膜外緣輪廓最為明顯.
虹膜外邊界的精確提取:
基于Hough變換的邊界定位算法用于二值圖像更有效[8].為此二值化處理前述帶通濾波虹膜圖像.實驗證明,二值化的灰度門限取在區(qū)間(50,100)內(nèi),可以進一步突出虹膜外邊界.
現(xiàn)用Hough變換精確定位虹膜外邊界.Hough變換將求最優(yōu)解歸結(jié)為求最大計數(shù)值,而且這樣得到的最優(yōu)解是全局最優(yōu)解.該算法的固有缺點是計算量大.此處根據(jù)虹膜的特殊性對算法略加改進.
通過實驗發(fā)現(xiàn),即使在最極端的情況下,虹膜外邊界的圓心也會全部落在瞳孔的內(nèi)部.而且,由于虹膜圖像的采集裝置同被采集對象之間的距離相對恒定,虹膜外圓的半徑一般都在90~120個像素之間.因此,設計如下算法:
a.將二值邊緣圖像按比例縮小,以降低計算量.
b.以瞳孔圓心(x0,y0)為中心,依圖像坐標系,將π/3~2π/3和4π/3~5π/3這兩個扇形區(qū)域內(nèi)的灰度置0,以進一步消除睫毛、眼瞼及噪聲的影響,同時進一步減少計算量.
c.根據(jù)Hough變換的原理,使用圓形檢測方法.
對于瞳孔內(nèi)像素點(x m,y m)和(rmin,rmax)的r l,定義計數(shù)器
一般來說rmin≈90,rmax≈120.但是,本文為了減少計算量,收縮了圖像,因此,這兩個值更小一些.門限d為r l的取值間隔一半.
d.按比例還原所有圖像和參數(shù)值,得到精確的虹膜外邊界,如見圖7所示.
圖7 虹膜外邊界的定位Fig.7 Locating the outer edge of iris
在以往算法中,大多使用Canny算子提取紋理特征后用Hough變換定位虹膜外邊界[9].該方法很難有效抑制睫毛和眼瞼的影響,可能導致分割失敗.圖8是Canny算子定位失敗的一個例子,而圖9顯示用小波變換定位同一虹膜成功了.在大樣本情況下,Canny算子參數(shù)值的選取往往需要調(diào)整,導致算法的自適應程度較低.
圖8 Canny算子的定位效果Fig.8 Location effects of Canny operator
圖9 小波變換的定位效果Fig.9 Location effects of wavelet transform
目前成熟的圖像處理算法都針對矩形圖像.因此,將前面提取出來的環(huán)狀虹膜圖像轉(zhuǎn)換成矩形圖像是很自然的想法.對這種轉(zhuǎn)換的一個基本要求是其能夠保持虹膜的紋理分布,極坐標變換在一定程度上實現(xiàn)了這一目標.然而極坐標變換會不可避免地破壞虹膜的紋理分布.本文設計了基于同心圓漸變的虹膜展開算法,該算法更簡單直觀,而且更好地保持了虹膜的紋理分布.
理想的虹膜圖像應為兩個同心圓界定的圓環(huán)(見圖10(a)).圓環(huán)的圓心為(x0,y0),內(nèi)圓半徑為r0,外圓半徑為r1.如果認為該圓環(huán)由無數(shù)個同心圓形成,那么這些圓的圓心均為(x0,y0),半徑則從r0逐漸增至r1.實際提取的虹膜圖像會發(fā)生偏移,本文將這一現(xiàn)象視為所有同心圓相對外圓的同向均勻偏移結(jié)果(見圖10(b)).
圖10 虹膜展開示意圖Fig.10 Iris spreading sketch map
此時只要確定了內(nèi)外圓之間各圓的圓心和半徑,就可以用一次保角映射把圓環(huán)均勻地變換為矩形.如圖10(b)所示,假定內(nèi)圓相對外圓發(fā)生偏移后,內(nèi)圓圓心為(x0,y0),外圓圓心為(x1,y1),半徑均不變.因為內(nèi)外圓之間的所有圓都均勻地同向偏移,所以內(nèi)外圓之間所有圓的圓心都在(x0,y0)與(x1,y1)的連線上.
任取內(nèi)外圓之間的一個圓,如圖10(b)中虛線圓,并假定其圓心為(x c,y c),半徑為r c,則(x c,y c)在(x0,y0)與(x1,y1)的連線上,r0≤r c≤r1.記(x0,y0)與(x1,y1)連線的延長線與內(nèi)圓、外圓、虛線圓的焦點為A、B、C(圖10(b)),則在均勻偏移的條件下應有
又由(x c,y c)在(x0,y0)與(x1,y1)的連線上可知
上述算法是根據(jù)A、B、C這3點確定(x c,y c)和r c.
事實上,任取(x0,y0)與(x1,y1)連線上一點(x c,y c),如果內(nèi)圓向外圓的偏移是均勻的,那么以(x c,y c)為圓心的(虛線)圓半徑就應為
如此得到的圓經(jīng)一次保角映射就可以變換為直線.將虹膜環(huán)中每個圓都變換為直線,并按原相對位置組合成矩形圖像就是虹膜的展開圖像.需要注意的是:為了保證展開后的虹膜圖像是矩形,虹膜環(huán)內(nèi)每個圓上的像素個數(shù)要相同.
本文給出的虹膜展開算法比其它展開算法更直觀快捷,同時還更好地保持了虹膜的紋理分布.展開后的虹膜圖像厚度大都在60~70像素之間.因為眼睛的閉合程度不同,上下睫毛和多余眼瞼的影響差異較大,并且虹膜外邊緣附近紋理比較稀疏,大部分有效紋理信息都集中在靠近瞳孔的區(qū)域[10],所以本文只保留了虹膜內(nèi)圓一側(cè)對應的32×1 024大小矩形(見圖11和圖12).為了進一步加大紋理的作用,通過灰度直方圖增強了虹膜展開圖像的反差后面的實驗,對這種增強的效果作了對比.
圖11 分割提取出的虹膜圖像Fig.11 Iris image extracted from original image
圖12 展開后的虹膜圖像靠近瞳孔一側(cè)部分Fig.12 Pupillary side half iris texture after spreading sketch map
對展開后的虹膜圖像,可以進行標準的圖像處理操作,以便提取虹膜的紋理特征.考慮到圖像紋理的空間分布相對復雜,難以把握;大多數(shù)算法都是從變換域提取圖像特征;而離散余弦變換和離散Fourier變換的混疊作用會模糊某些特征,使這些特征不足以用來分類.因此小波變換就成為比較好的選擇.小波變換能在維持紋理分布的同時提取出紋理特征[11].為了有效分類虹膜,合理選取特征值很重要.特征值過多,則計算量較大,難以滿足實時要求;特征值過少,則不能有效分類.本文采用各尺度小波變換系數(shù)的平均能量作為特征值,這也是計算復雜度和有效分類之間的折衷,同時采用這種特征值還能保證提取出來的紋理特征不受平移和伸縮的影響.
鑒于虹膜展開后的矩形圖像為32×1 024,最多可以進行5級二維離散小波分解.變換得到的小波系數(shù)分4類:HH、LH、HL、LL(參見圖6和圖7).其中,HH類系數(shù)分為5個尺度,由1尺度HH1到5尺度HH5的系數(shù)個數(shù)依次為16×512、8×256、4×128、2×64、1×32(在小波變換結(jié)果中,這些系數(shù)按矩陣形式排列);類似地,LH類系數(shù)和HL類系數(shù)也都分為5個尺度,由1尺度到5尺度的系數(shù)個數(shù)同樣依次為16×512、8×256、4×128、2×64、1×32;另外,還有1×32個LL5系數(shù).逐個計算各類、各尺度系數(shù)的平均能量,可得16個特征值.例如,LH2系數(shù)的平均能量為
式中,a ij(i=1,2,…,8,j=1,2,…,256)為LH2小波變換系數(shù)(也就是2尺度水平低頻、垂直高頻系數(shù),在小波變換結(jié)果中,這些系數(shù)排成8行256列).
類似計算其他特征值.
有了特征值,就可以根據(jù)特征值進行分類.實驗發(fā)現(xiàn),16個特征值差別很大.而不同虹膜間的差別并不一定體現(xiàn)在較大的特征值上.因此本文設計了基于標準化方差的加權(quán)分類距離.
假設訓練樣本來自M個虹膜,每個虹膜有N個樣本(每個虹膜的樣本數(shù)也可能不同,但是對算法沒有本質(zhì)影響,所以這種假設不失一般性),從每個樣本提取L個特征值(本文的L=16).
記從第i個虹膜之第j個樣本提取的特征向量(含L個特征值)為χij,則第i個虹膜的平均特征向量為
σ2k刻畫了第k個特征值的分散程度.因為經(jīng)過了標準化,所以不同特征值的方差具有可比性.很明顯,特征值的方差越大,它在分類中的作用就越大.
定義用標準化方差加權(quán)的分類距離
5.1 實驗內(nèi)容說明
為了便于比較和說明,本文采用CASIA虹膜圖像數(shù)據(jù)庫進行算法測試.CASIA虹膜圖像數(shù)據(jù)庫(1.0版)包括108人,共758只眼睛的虹膜圖像樣本,每只眼睛有7幅8位的灰度圖像,分辨率為320×280.首先用數(shù)據(jù)庫中每組第二階段的虹膜圖像作為訓練樣本,然后用每組中第一階段的虹膜圖像測試.分別采用Haar型和Daubechies 4型小波進行實驗.實驗結(jié)果如表1所示.
5.2 實驗結(jié)果分析
對于Haar小波變換后的特征提取方法,去除雙低頻系數(shù)LL對識別準確率沒有影響,而去除雙高頻系數(shù)HH或水平低頻、垂直高頻系數(shù)LH與垂直低頻、水平高頻系數(shù)HL會帶來識別準確率的下降,說明雙高頻系數(shù)、水平低頻、垂直高頻系數(shù)及垂直低頻、水平高頻系數(shù)特征值對于分類效果的影響較大.而在對虹膜展開圖像進行直方圖灰度增強后,可以使識別準確率略有上升,最好的識別準確率達到94%.
表1 Haar小波和Daubechies 4小波分類效果比較Tab.1 Classification effect based on Haar wavelet and Daubechies 4 wavelet
無論是否對虹膜展開圖像進行直方圖灰度增強,只要使用同樣的特征值,db4小波的識別準確率都比使用Haar小波高,最好的識別準確率達到96%.實驗表明,雙低頻系數(shù)LL對于虹膜識別無明顯貢獻,所以在虹膜識別過程中,應該以雙高頻系數(shù)HH、水平低頻、垂直高頻系數(shù)LH以及垂直低頻、水平高頻系數(shù)HL作為特征值.事實上,圖像紋理是灰度的快變化造成的,它只能體現(xiàn)在變換域的高頻部分.
對虹膜識別算法進行了全方位的改進.首先是在虹膜外邊界定位方面,用小波變換替代Canny算子,通過帶通濾波和紋理頻率強度提升實現(xiàn)的虹膜外邊界定位不僅具有一定的自適應性,還提高了定位精度;其次是使用同心圓漸變展開虹膜圖像,既簡單直觀,又能更好地保持紋理分布;第三是根據(jù)特征值的標準差定義了加權(quán)分類距離,實現(xiàn)更有效的分類.通過直方圖灰度增強提高識別準確率也是本文的一個成功嘗試.
本文的研究重點是虹膜特征提取和分類距離設計,所提出的同心圓漸變展開結(jié)合小波變換提取特征使整個識別算法不受虹膜圖像的平移和伸縮影響,所提出的分類距離在達到一定識別精度的同時具有較小的在線計算量.為使本文提出的算法達到可以實用的程度,還需要進行一些非本質(zhì)的加工.例如,為了使識別算法不受旋轉(zhuǎn)影響,應該同時識別虹膜圖像及其旋轉(zhuǎn)若干個角度的圖像,對于本文提出的算法,只需左、右平移展開后的虹膜圖像若干次(平移3個像素大致相當于旋轉(zhuǎn)1°).為了達到理想的識別精度,通常的做法是對已有虹膜樣本進行所謂的訓練,即分別求得同一虹膜的不同圖像間距離之分布密度曲線、不同虹膜圖像間距離之分布密度曲線,以兩條密度曲線交點的橫坐標作為分類的臨界距離,按此臨界距離識別,基本上都可以達到100%的識別精度,關鍵是要適當選取特征值和分類距離,以便在保證識別精度的前提下盡可能提高識別速度.本文使用的特征值不超過16個,明顯少于同類識別算法,但是所用加權(quán)距離的計算復雜度高于Hamming距離,如何在特征值和分類距離之間取得最佳折中是一個值得不斷深入研究的問題.
[1] 王蘊紅,朱勇,譚鐵牛.基于虹膜識別的身份鑒別[J].自動化學報,2002,28(1):1-10.
[2] 孫哲南,譚鐵牛.虹膜識別研究與應用綜述[J].自動化博覽,2005(2):25-26.
[3] DAUGMAN J G.How iris recognition works[J].IEEE Trans on Circuit and Systems for Video Technology,2004,14(1):21-30.
[4] DAUGMAN JG.High confidence visual recognition of persons by a test of statistical independence[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1993,15(11):1148-1161.
[5] WILDESR P.Iris recognition:an emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348-1363.
[6] BOLESW,BOASHAH B.A human identification technique using images of the iris and wavelet transform[J].IEEE Trans on Signal Processing,1998,46(4):1185-1188.
[7] 薛白,劉文耀,王金濤,等.虹膜圖像預處理算法研究[J].光電子·激光,2003,14(7):741-744.
[8] 張超,袁曉燕,施鵬飛.虹膜內(nèi)外邊緣的快速定位算法[J].計算機工程與應用,2005(27):60-61.
[9] Canny J.Finding a computational approach to edge detection[J].IEEE Trans.Pattern Analysis and Machine Intelligence,1986,8(1):679-697.
[10] 王利志.虹膜瞳孔區(qū)的形態(tài)及其與重瞼的關系[J].中華整形燒傷外科雜志,1993,9(4):298-299.
[11] 孟愛國,劉國彥,李峰.基于多層小波分解的虹膜識別算法[J].計算機工程與應用,2005(22):59-61.
Iris recognition
LIXing-ye, LIUXin-liang
(Business School,University of Shanghai for Science and Technology,Shanghai 200093,China)
The principle and algorithm of iris recognition were expounded systematically.Three new ideas were presented:locating the outside edge effectively by combining wavelet transform and Hough transform,spreading the iris image to the rectangular image by gradually changing concentric circles,and weighting the classification distance based on the distribution variance of texture feature.This algorithm retains the characteristics of rotation,translation and scale invariants and realizes the iris recognition effectively.
iris recognition;wavelet transform;classification
TP 391.4
A
1007-6735(2011)04-0384-07
2011-01-10
國家自然科學基金資助項目(71071098);上海市重點學科建設資助項目(S30501)
李星野(1958-),男,教授.研究方向:數(shù)字圖像處理、時間序列分析、控制系統(tǒng)建模.E-mail:lixingye@usst.edu.cn