年炳坤,丁建睿,史夢(mèng)蝶,黃子晨
(哈爾濱工業(yè)大學(xué)(威海)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 威海 264209)
隨著生物識(shí)別技術(shù)的發(fā)展,人們逐漸將某些具有區(qū)分能力的生物特征運(yùn)用到身份識(shí)別中。其中虹膜是所有生物識(shí)別系統(tǒng)中應(yīng)用最為廣泛的生物特征。虹膜是位于黑色瞳孔和白色鞏膜之間的圓環(huán)狀部分[1],擁有高于人臉和指紋識(shí)別幾個(gè)數(shù)量級(jí)的精確性,被廣泛應(yīng)用在身份識(shí)別的各個(gè)領(lǐng)域,如:美國(guó)-墨西哥邊境控制,2004年雅典奧運(yùn)會(huì)身份鑒定,阿聯(lián)酋驅(qū)逐人員的管理等[2]。
20世紀(jì)90年代Daugman[3]在假設(shè)瞳孔與虹膜為同心圓的前提下提出了虹膜分割算法,取得了一定的效果。而后針對(duì)各種不同的情況,許多學(xué)者針對(duì)某一種特殊情況(瞳孔的中心偏離[4-5]、遮擋[6-7]、鏡面反射[6]),提出了特定的分割方法。為了進(jìn)一步提高分割準(zhǔn)確度,Daugman[8]又提出了基于傅里葉變換并假設(shè)瞳孔與虹膜為非同心的Snake主動(dòng)輪廓模型,隨后Sutra等[9]徹底拋棄掉了同心以及輪廓外形為圓的假設(shè),提出基于Viterbi的主動(dòng)輪廓探測(cè)算法,可以較為精確地探測(cè)虹膜與瞳孔,但是算法對(duì)非虹膜區(qū)域(睫毛、眼瞼)的干擾較為敏感。Llano等[10]利用主成分分析(principal component analysis,PCA)進(jìn)行圖像融合,隨后提出了基于拉普拉斯金字塔的融合方式(modified Laplacian pyramid,MLP)[11],進(jìn)一步提高了虹膜系統(tǒng)的性能。但Daugman的算法將瞳孔與虹膜看作同心圓,這就會(huì)導(dǎo)致?lián)p失大量的有效信息;而Snake主動(dòng)輪廓模型和Viterbi算法雖然拋棄了非圓、非同心的假設(shè),但是算法本身受睫毛、眼瞼等噪聲影響較大;而PCA融合算法和MLP融合算法雖然有效地提高了系統(tǒng)的識(shí)別性能,但其本質(zhì)上是對(duì)已有分割算法進(jìn)行融合,讓分割結(jié)果更容易被特征提取和編碼,因此其性能受分割算法的制約。
同時(shí)國(guó)內(nèi)學(xué)者劉琳等[12]對(duì)于主動(dòng)輪廓算法進(jìn)一步研究,提出了結(jié)合KL散度和RSF模型的主動(dòng)輪廓圖像分割方法[12],提高了圖像分割的精度,可以一定程度上提高識(shí)別精度。
本文基于CLBP(completed local binary patterns)思想[13],提出一種形狀敏感的成分分析算法,可以有效檢測(cè)虹膜區(qū)域,同時(shí)減少其他成分(如:睫毛與眼瞼區(qū)域)的干擾,從而避免分割過(guò)程中虹膜的信息丟失,提高整體的分割精度,進(jìn)而提高虹膜識(shí)別系統(tǒng)的性能。
本文提出的算法由粗分割與精細(xì)分割兩部分組成,整個(gè)流程見(jiàn)圖1,在分割基礎(chǔ)上利用Daugman[13]提出的方法進(jìn)行匹配。
圖1 本文方法流程圖Fig.1 Flow chart of proposed method
首先利用瞳孔灰度值低于其他區(qū)域的生理特性,對(duì)圖片進(jìn)行二值化。直接使用二值圖像進(jìn)行后續(xù)處理存在以下問(wèn)題:1)二值化圖像存在噪聲點(diǎn),并不是所有像素點(diǎn)都屬于瞳孔,見(jiàn)圖2(a);2)由于拍攝條件和瞳孔本身具有反光的生理特性,屬于瞳孔的像素點(diǎn)在局部區(qū)域會(huì)出現(xiàn)異常,致使二值化圖像中瞳孔可能出現(xiàn)斷裂現(xiàn)象,不利于后續(xù)處理,見(jiàn)圖2(b)。
由于噪聲點(diǎn)大多孤立,或者小部分局部聚集;同時(shí)瞳孔局部灰度值異常面積不會(huì)太大。為解決上述噪聲問(wèn)題,本文對(duì)二值圖像進(jìn)一步進(jìn)行形態(tài)學(xué)操作,去除噪聲的同時(shí),可以在一定程度上對(duì)瞳孔斷裂區(qū)域進(jìn)行連接。形態(tài)學(xué)腐蝕、膨脹、閉操作分別見(jiàn)式(1)~(3)[14]:
A?B={z|(B)z∩Ac=?}
(1)
(2)
A·B=(A⊕B)?B
(3)
式中A為輸入的二值化圖像,B為結(jié)構(gòu)元。由于本文所處理的形狀多為圓形,所以選擇3*3的結(jié)構(gòu)元。處理結(jié)果見(jiàn)圖2(c)。
圖2 二值化圖像示例Fig.2 Examples of binary images
通過(guò)上述操作,可以認(rèn)定圖像中的像素值為0的點(diǎn)絕大多數(shù)屬于瞳孔。先假定瞳孔為圓,首先利用式(4)計(jì)算圖像中黑色點(diǎn)集的幾何中心,如下所示:
(4)
式中:I(xk,yk)為坐標(biāo)點(diǎn)(xk,yk)的像素灰度值,N為圖像中灰度值為0的像素個(gè)數(shù),(x,y)為黑色點(diǎn)集的幾何中心,為瞳孔內(nèi)一點(diǎn)。
對(duì)具有最大面積的連通區(qū)域補(bǔ)全后,求得其最小外接矩形,該矩形的內(nèi)接圓邊界即為瞳孔的粗邊界,該邊界用于補(bǔ)全晶狀體、眼鏡等反光介質(zhì)導(dǎo)致的局部灰度值異常所帶來(lái)的瞳孔斷裂問(wèn)題。
利用連通域分析,找到最大連通域,并標(biāo)記出其邊界,這是瞳孔的精確邊界,記作A(I)。進(jìn)一步采取如下規(guī)則將瞳孔粗邊界R(I)和瞳孔細(xì)邊界A(I)進(jìn)行融合,以解決由于瞳孔自身局部灰度值異??赡軐?dǎo)致的問(wèn)題。
1)如果粗邊界完全包含在精確邊界之內(nèi),則采用精確邊界;
2)如果粗邊界部分包含在精確邊界之內(nèi),則最終邊界為粗邊界和精確邊界的并集。
其數(shù)學(xué)描述如式(5)所示:
F(I)=
(5)
式中:I代表輸入的原始虹膜圖像,R(I)為瞳孔粗邊界,A(I)為瞳孔精邊界,F(xiàn)(I)代表融合后的掩碼圖,融合后的邊界即為瞳孔的最終外邊界,結(jié)果見(jiàn)圖3(a)。
在假設(shè)虹膜外邊界為圓形的分割算法中,大多采用Daugman的球形積分算子,在理想情況下,即沒(méi)有眼瞼、睫毛遮擋,虹膜完整呈現(xiàn)在眼球當(dāng)中時(shí),該方法的準(zhǔn)確度較高,如圖3(b)-(1)所示。
但是大多數(shù)情況下,虹膜圖像大多存在遮擋問(wèn)題,此時(shí),球形積分算子達(dá)不到預(yù)期效果,如圖3(b)-(2)所示。
經(jīng)過(guò)分析,影響精度最大的因素是上眼瞼的存在。另外,球形積分算子本質(zhì)上是探測(cè)梯度變化,當(dāng)檢測(cè)到眼皮和眼球分界線時(shí),邊界線灰度值變化遠(yuǎn)比虹膜和鞏膜分界線的要大,所以影響較為顯著,從而導(dǎo)致算子檢測(cè)錯(cuò)誤,如圖3(b)-(3)所示。
圖3 過(guò)程化分割結(jié)果示例Fig.3 Examples of procedural segmentation
針對(duì)以上問(wèn)題,本文對(duì)其進(jìn)行改進(jìn)。根據(jù)眼球的生理特性可知:眼瞼、睫毛的遮擋只會(huì)發(fā)生在瞳孔的上下區(qū)域,而左右區(qū)域一般不會(huì)被遮擋,只存在鞏膜和虹膜的分界,而這有利于我們的探測(cè),利用此先驗(yàn)知識(shí)為Daugman的球形積分算子增加約束,得到新的弧形積分算子,如式(6)所示:
(6)
式中:r為所求虹膜的半徑,(x0,y0)為瞳孔幾何中心的坐標(biāo),I(xk,yk)為圖像中坐標(biāo)為(xk,yk)的像素點(diǎn)的灰度值。
利用式(6)可以得到粗分割的虹膜外邊界,同時(shí)可以有效解決不同程度的遮擋問(wèn)題,結(jié)果見(jiàn)圖3(c)。
根據(jù)CLBP中的思想[13],一幅圖像可以初步處理成dp,將原圖像劃分成多個(gè)3*3的區(qū)域集合,dp的定義如式(7)所示:
dp=gp-gc
(7)
其中g(shù)c為3*3區(qū)域的中心點(diǎn),gp為其相鄰的點(diǎn),而dp可以進(jìn)一步被分解為兩部分,sp和mp,定義如式(8)所示:
(8)
文獻(xiàn)[13]中同時(shí)證明了mp中含有圖像絕大部分信息,而sp中含有較少的信息。本文認(rèn)為:mp中的信息為結(jié)構(gòu)信息,而sp中的信息為關(guān)系信息。為充分利用兩種信息,提出以下規(guī)則對(duì)其進(jìn)行融合,起到類似濾波的效果,但比傳統(tǒng)意義上的濾波更加具有導(dǎo)向性,能夠在探測(cè)指定形狀的同時(shí),減小其他噪聲成分的干擾,同時(shí)可以提高精度。
式(1)中,Ai為不同濃度樣品與DPPH溶液的混合液的吸光度;Aj為不同濃度樣品與無(wú)水乙醇的混合液的吸光度;A0為DPPH溶液與無(wú)水乙醇的混合液的吸光度。
1)如果需要檢測(cè)的形狀為橫向長(zhǎng)條形,則采用上下4連通域,如果為豎向長(zhǎng)方形,則采用左右2連通域;
2)如果需要檢測(cè)的形狀為圓形,則采用8連通域;
3)如果想擴(kuò)大搜索區(qū)域,則可以擴(kuò)大連通域。
1.4.1 睫毛分割
睫毛不同于眼瞼,可以近似看成一個(gè)各向異性的長(zhǎng)方體,由此可以構(gòu)造一個(gè)對(duì)四周敏感的融合式。本文構(gòu)造了一個(gè)8連通域區(qū)域,中心區(qū)域的坐標(biāo)點(diǎn)為(0,0),集合G={(1,0),(0,1),(-1,0),(0,-1),(1,1),(1,-1),(-1,1),(-1,-1)}。為了減少計(jì)算量,本文定義先前虹膜外圓粗分割時(shí)得到區(qū)域?yàn)镽OI區(qū)域,在此區(qū)域內(nèi)進(jìn)行運(yùn)算。對(duì)ROI區(qū)域中所有c∈C和ε∈G使用式(9)、(10)
(9)
(10)
得到濾波后的結(jié)果作為睫毛的掩碼圖層,見(jiàn)圖3(d)。
圖3(d)-(1)證明本文提出的算法可以檢測(cè)出較為稀疏的睫毛,而圖3(d)-(2)和圖3(d)-(3)則證明算法對(duì)于密集的睫毛同樣具有很好的檢測(cè)效果。在ROI區(qū)域內(nèi),無(wú)論是上眼瞼的睫毛,還是下眼瞼的睫毛,都被完整的檢測(cè)。同時(shí),結(jié)果也符合先前的構(gòu)造規(guī)則。
采用較高運(yùn)算量的長(zhǎng)條狀8連通域進(jìn)行檢測(cè),檢測(cè)結(jié)果基本都是長(zhǎng)條狀物體,而上下眼瞼邊緣處陰影由于拍攝原因,可以近似認(rèn)為是黑色的不連續(xù)陰影,算法也可以準(zhǔn)確檢測(cè),這進(jìn)一步證明了式(9)和式(10)對(duì)于給定形狀的敏感性和穩(wěn)定性,能夠較大程度上去掉其他噪聲點(diǎn)干擾。
通過(guò)虹膜外圓粗分割,可以得到虹膜ROI區(qū)域,但是這個(gè)ROI區(qū)域包含了大量不需要的信息,例如:眼球以外的眼瞼區(qū)域。探測(cè)出整個(gè)眼皮區(qū)域的難度很大,可以探測(cè)眼球和眼瞼的邊界區(qū)域,然后和虹膜和鞏膜邊界一起構(gòu)成一個(gè)閉合區(qū)域,這個(gè)區(qū)域就是去除眼瞼后的掩碼圖層。
從灰度值來(lái)看,這個(gè)邊界區(qū)域不一定是連續(xù)的,可能存在眼淚等反光物質(zhì),在邊界線的某一點(diǎn)處,存在灰度值異常,從而斷裂開(kāi)來(lái);同時(shí)眼瞼的探測(cè)還需解決如何在睫毛的干擾下,有效探測(cè)出準(zhǔn)確邊緣。
根據(jù)眼瞼的生理學(xué)特點(diǎn)可知,人的眼瞼邊界可以近似看成一個(gè)橫向長(zhǎng)條狀,同時(shí)為了和睫毛區(qū)分,提高探測(cè)精度,本文選擇上下4連通域,只探測(cè)橫向的相關(guān)區(qū)域,來(lái)屏蔽豎向睫毛的干擾。構(gòu)造一個(gè)4連通域,連通域中心點(diǎn)的坐標(biāo)為(0,0),G={(0,1),(0,2),(0,-1),(0,-2)}。對(duì)所有c∈C在ROI區(qū)域中的像素點(diǎn)使用式(9)和(10)。
通過(guò)連通域分析后,結(jié)果見(jiàn)圖3(e)??梢钥闯?,新構(gòu)造的算式,能夠準(zhǔn)確地探測(cè)出眼瞼的邊界區(qū)域,如圖3(e)-(1)結(jié)果所示,邊界上存在局部反光導(dǎo)致的灰度值異常區(qū)域可以被準(zhǔn)確避開(kāi),最終形成一個(gè)閉合區(qū)域;圖3(e)-(2)中,在如此多睫毛的干擾下,仍能準(zhǔn)確地檢測(cè)出邊界;圖3(e)-(3)中,算法可以有效避開(kāi)睫毛密集的地方,雖然損失了睫毛間隔之間小部分屬于虹膜的區(qū)域,但成功避免了大量睫毛帶來(lái)的誤差。
最后將多個(gè)掩碼圖進(jìn)行合并,可以得到最終的虹膜分割結(jié)果,對(duì)其進(jìn)行特征編碼并識(shí)別。
本實(shí)驗(yàn)采用開(kāi)放數(shù)據(jù)集CASIA-IrisV3-Interval和CASIA-IrisV1[15-16]。虹膜區(qū)域分割后,采用OSIRIS 4.1版[17]的匹配模塊進(jìn)行識(shí)別,它是在Biecure項(xiàng)目框架下的一個(gè)開(kāi)源虹膜識(shí)別系統(tǒng)。
兩種數(shù)據(jù)集中照片格式均為BMP,同時(shí)數(shù)據(jù)集中的圖像質(zhì)量并不相同。本文所提出的算法采用的是傳統(tǒng)分割技術(shù),不涉及到機(jī)器學(xué)習(xí)內(nèi)容,不存在過(guò)擬合等現(xiàn)象。
CASIA-IrisV3-Interval數(shù)據(jù)集中包含了來(lái)自247個(gè)不同的個(gè)體,共計(jì)2 639張圖片;CASIA-IrisV1數(shù)據(jù)集中包含了來(lái)自104個(gè)個(gè)體,共計(jì)709張圖片。數(shù)據(jù)集中的圖像示例見(jiàn)圖4。
圖4 虹膜數(shù)據(jù)集示例Fig.4 Examples of iris datasets
考慮到虹膜識(shí)別本質(zhì)上是一個(gè)分類問(wèn)題,本文采取衡量分類性能的指標(biāo),PGAR(正確接受率)在PFAR(錯(cuò)誤接受率)為10-4時(shí)的值,PEER(等誤差率)以及PFRR(拒識(shí)率)的值,如公式(11)~(13)所示。對(duì)于一個(gè)二分類模型的單個(gè)樣本一共有4種預(yù)測(cè)結(jié)果:RTP(true positive)、RFP(false positive)、RFN(false negative)、RTN(true negative)。
(11)
(12)
(13)
PEER值為PFRR與PFAR相等時(shí)的值。同時(shí)采用ROC曲線下的面積(AAUC)來(lái)衡量算法的分類性能。
圖5選取了對(duì)比實(shí)驗(yàn)中涉及到分割的算法:CHT[18](以同心圓為假設(shè)并部分改進(jìn)的算法)、Viterbi以及本文所提出算法的內(nèi)外虹膜分割結(jié)果樣例。然后將分割結(jié)果基于Daugman提出的匹配方式輸入到OSIRIS Version 4.1[15]系統(tǒng)中,得到任意兩幅圖片的相似程度,然后設(shè)定閾值,計(jì)算出本閾值下的PGAR、PEER值,并求出對(duì)應(yīng)的AAUC值,實(shí)驗(yàn)結(jié)果見(jiàn)表1。
從表1中可以看出,CHT分割算法的性能最低,原因是這個(gè)算法基于圓假設(shè),包含了一部分無(wú)用區(qū)域或者少包含了一部分有用區(qū)域,如圖5(b)-(2),去掉了眼瞼遮擋區(qū)域的同時(shí),也去掉了很大一部分有用的虹膜區(qū)域,如圖5(c)-(2)中所示。Viterbi算法很大程度上提高了準(zhǔn)確性,對(duì)于數(shù)據(jù)集CASIA-IrisV3-Interval,Viterbi算法將PGAR在PFAR=10-4的值從95.32%提升到了97.04%。這表明Viterbi算法具有更好的分割性能,提升的原因在于Viterbi算法采用了主動(dòng)探測(cè)輪廓,能夠較為精確地定位出瞳孔、虹膜的外邊界區(qū)域,而不是寬泛的規(guī)定和去掉某些區(qū)域,從而有效區(qū)域損失和無(wú)用區(qū)域的包含遠(yuǎn)比CHT算法要小的多,但Viterbi算法也存在缺點(diǎn),如圖5(d)-(3)中顯示,算法對(duì)于眼瞼邊界部分檢測(cè)不夠準(zhǔn)確,當(dāng)邊界不太明顯且存在局部灰度值異常的時(shí)候,存在較大范圍誤差,同時(shí)如圖5(c)-(3)圖像中所示,由于假設(shè)分割區(qū)域灰度值成正態(tài)分布,在給定2.35個(gè)σ(標(biāo)準(zhǔn)差)外都認(rèn)為是雜質(zhì),并加以去除,所以導(dǎo)致丟失了部分虹膜信息,影響了分類性能。
表1 在數(shù)據(jù)集CASIA-IrisV3-Interval上的結(jié)果Tab.1 Results on database CASIA-IrisV3-Interval
圖5 分割結(jié)果示例Fig.5 Examples of segmentation results
基于PCA主成分分析和MLP的融合算法,融合了CHT和Viterbi算法的分割結(jié)果,一定程度上彌補(bǔ)了缺陷,但是受CHT影響較大,并不能很好地提高算法性能,甚至有可能會(huì)下降。PCA主成分分析的原理是利用數(shù)學(xué)上的PCA降維手段,將兩個(gè)對(duì)象的數(shù)據(jù),轉(zhuǎn)換到K個(gè)特征向量構(gòu)成的新空間中,而MLP融合算法采用拉普拉斯金字塔進(jìn)行融合,本質(zhì)上合成新的特征向量,這就導(dǎo)致融合結(jié)果強(qiáng)烈依賴于融合對(duì)象,也就是分割算法的性能,如果兩個(gè)分割算法能夠互相彌補(bǔ)自身不足,那么融合表現(xiàn)就好,反之如果缺陷都較大,那么融合算法一定程度上也會(huì)放大缺陷。如在表2中,PCA融合后的PEER值反而上升。而本文提出的算法對(duì)于同種結(jié)構(gòu)的圖片,有較強(qiáng)的魯棒性,可以根據(jù)不同目的構(gòu)造不同的算子,將睫毛、眼瞼等虹膜特有噪聲檢測(cè)出來(lái),在精確分割的同時(shí),減少虹膜信息的損失。
表2 在數(shù)據(jù)集CASIA-IrisV1上的結(jié)果Tab.2 Results on database CASIA-IrisV1
從表2中可以看出,表現(xiàn)最好的MLP融合算法和本文的算法結(jié)果相差不大,PGAR、PEER值基本一致,而AAUC值也只是略高一點(diǎn)。通過(guò)分析CASIA-IrisV1數(shù)據(jù)集的特點(diǎn),得出原因在于數(shù)據(jù)集CASIA-IrisV1拍攝條件較好,數(shù)據(jù)集中的虹膜圖像,無(wú)論是眼瞼、睫毛等遮擋均比CASIA-IrisV3-Interval中要少,圖片整體質(zhì)量較高。所以Viterbi和CHT算法的缺陷(對(duì)于睫毛、眼瞼的探測(cè)精度不足)被彌補(bǔ)。PCA和MLP融合算法融合了Viterbi和CHT的優(yōu)點(diǎn),一定程度上特征被增強(qiáng),使得融合后的圖像更利于分辨。導(dǎo)致本文提出的算法在新性能上并沒(méi)有顯著的提高。同時(shí)這也說(shuō)明了本文提出的算法,在分割性能上具有優(yōu)越性,在沒(méi)有融合的情況下達(dá)到了相似的性能,這也意味著如果將PCA與MLP融合算法的融合對(duì)象CHT換成本文算法,那么精度會(huì)進(jìn)一步提高。
算法在保證精度的同時(shí),時(shí)間復(fù)雜度較低。算法中的大部分運(yùn)算可以表示為簡(jiǎn)單的加減運(yùn)算。這大大提高了算法的性能。表3給出了本文算法與CHT和Viterbi算法的運(yùn)行時(shí)間比較。這些算法在帶有Intel(R)Core(TM)i7-7700hq、16 GB內(nèi)存、GTX1060顯卡的計(jì)算機(jī)上運(yùn)行。在Windows 10上使用C++編程語(yǔ)言和OpenCV4.1.0。
表3 算法平均運(yùn)行時(shí)間Tab.3 Average running time of different algorithms s
本文基于CLBP思想,提出了一種成分分析算法,并且在開(kāi)源數(shù)據(jù)集CASIA-IrisV3-Interval與CASIA-IrisV1上進(jìn)行了實(shí)驗(yàn),與CHT、Viterbi、PCA和MLP融合算法進(jìn)行了比較,從實(shí)驗(yàn)數(shù)據(jù)上看,本文所提出的算法,在兩個(gè)數(shù)據(jù)集上都具有較高的AAUC值和較低的PEER值,說(shuō)明本文算法具有更優(yōu)秀的分割性能。
同時(shí),在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)本文所提算法對(duì)于低質(zhì)量的圖片,如有模糊、散焦等問(wèn)題的圖片分割效果略差,并且算法較強(qiáng)依賴于進(jìn)行二值化的閾值,這導(dǎo)致算法對(duì)于不同攝像設(shè)備所拍攝的不同結(jié)構(gòu)的虹膜圖像效果不顯著。如何根據(jù)圖像質(zhì)量自動(dòng)化確定合理的閾值,是今后算法改進(jìn)的主要方向,可以借助深度學(xué)習(xí)方法,自主決定閾值,來(lái)提高算法的魯棒性。