摘 要: 傳統(tǒng)的Snake模型在圖像邊緣檢測時定位、分割的結(jié)果依賴于初始節(jié)點的選取,當(dāng)初始輪廓線超出圖像邊界時,會導(dǎo)致分割定位失敗。針對該問題,對Snake算法進(jìn)行改進(jìn),詳細(xì)介紹了改進(jìn)算法的原理和實現(xiàn),并用遺傳算法" title="遺傳算法">遺傳算法對結(jié)果進(jìn)行優(yōu)化。
關(guān)鍵詞: Snake模型 虹膜定位 能量函數(shù)" title="能量函數(shù)">能量函數(shù) 區(qū)域信息 遺傳算法
1 研究現(xiàn)狀
虹膜識別" title="虹膜識別">虹膜識別是近幾年發(fā)展起來的新興生物特征識別技術(shù)。由于虹膜是內(nèi)部器官,受外界的影響小而且不易改變。與生活中的鑰匙和密碼相比,人的虹膜不易被修改和盜用。虹膜圖像的采集是非接觸式的,具有極高的應(yīng)用性。虹膜定位就是虹膜內(nèi)外邊緣的定位,是虹膜識別技術(shù)的關(guān)鍵環(huán)節(jié)。精確定位是有效進(jìn)行虹膜識別的前提。傳統(tǒng)的定位方法大部分采用Hough變換和Daugman的圓形檢測算子。前者需要在參數(shù)空間內(nèi)對三個參數(shù)(圓心坐標(biāo)和半徑)進(jìn)行搜索,計算量和存儲量較大,后者雖然速度快,但前提條件是用一個穩(wěn)健的方法來確定瞳孔的圓心。
Kass等人1988年提出了一種基于能量函數(shù)的主動輪廓線(Active contour models)的Snake算法[1~2],并已經(jīng)證明是一種高效的輪廓探測法[4],但傳統(tǒng)的Snake模型存在著許多不足:(1)不能依據(jù)圖像的目標(biāo)形態(tài)自動分配蛇點;(2)定位、分割的結(jié)果依賴于初始節(jié)點;(3)容易受局部噪聲的影響收斂于局部噪聲極值點;(4)弱邊界圖像求解效果較差;(5)初始輪廓線若超出圖像邊界時,分割定位會失敗;(6)收斂的速度還不夠快等。針對這些缺點,本文提出了一系列改進(jìn)方法來重新構(gòu)造Snake模型,研究能量函數(shù)的構(gòu)造和蛇點的自適應(yīng)分布,在定位結(jié)束后引入遺傳算法優(yōu)化所得結(jié)果。
2 Snake原始模型
傳統(tǒng)的Snake模型實際上是一條參數(shù)化的樣條曲線,設(shè)v(s)=[x(s),y(s)],其中s是曲線的弧長,其范圍為s∈[0,1],Snake模型[3~5]的能量函數(shù)為:

其中Eint(
(s)),Eext(
(s))分別為內(nèi)部能量和外部能量。內(nèi)部能量函數(shù)Eint(
(s))能保持樣條曲線的彈性和光滑。外部能量函數(shù)Eext(
(s))主要決定輪廓收斂于圖像特征點。
3 對Snake模型的改進(jìn)
3.1 內(nèi)部能量函數(shù)的改進(jìn)
改進(jìn)后的內(nèi)部能量函數(shù)為:

式中Ed為目標(biāo)中心點對蛇點的拉動能量;Ec為輪廓的二階導(dǎo)數(shù); K為常量;vi-1、vi、vi+1為3個相鄰的蛇點;pc為蛇點估計的形心;α、β為能量函數(shù)的權(quán)值" title="權(quán)值">權(quán)值。
函數(shù)的優(yōu)點是間接擴(kuò)大了蛇點的搜索范圍,第一個形心由人為選定,在以后的每次迭代中,都由蛇點來估計新的形心。在蛇點運動的起始階段,也就是剛開始的第10~15次迭代過程中,由于蛇點的起始位置與目標(biāo)的實際輪廓相差很大,此時用蛇點對形心的估計往往誤差較大,可以保持形心的起始位置不變,在經(jīng)過一段時間的迭代之后,各蛇點的輪廓開始逼近目標(biāo)輪廓,此時形心將隨著蛇點的分布而運動,運動方式為:

其中,vi為蛇點的位置,為了防止形心越界,在運動時,形心將要受到邊緣梯度力的控制,滿足:
Ecp=max(mEcd+n/Ecg)
式中,Ecp為形心的能量,Ecd為蛇點對形心的拉動能量,Ecg為形心的梯度能量,m、n為系數(shù)。
3.2 離散化Snake模型
把結(jié)合貪婪算法的Snake模型離散化,表示為:

式中i=0,1,…N-1,vi為Snake上的控制點,簡稱“蛇點”,N為蛇點的總數(shù)目,vij為蛇點及其8鄰域的點。Econt(vij)、Ecurv(vij)、Eimg(vij)、Econs(vij)分別為對應(yīng)點的連續(xù)性能量、彎曲性能量、圖像能量和約束能量,前兩項屬于內(nèi)部能量,后兩項屬于外部能量。α、β、γ、δ分別為各能量項的權(quán)值,用以調(diào)節(jié)各能量項在總能量中的比重,為了平衡各項的影響,各能量項全都?xì)w一化為區(qū)間[0,1]內(nèi)的數(shù)。
連續(xù)性能量采用如下形式:

式中I(vi,j)為點vi,j處的灰度值,minGray和maxGray分別為8鄰域內(nèi)的最小灰度值和最大灰度值。
本文的約束能量采用蛇點到Snake形心的距離勢能,采用如下形式:

3.3 引入?yún)^(qū)域信息來構(gòu)造圖像力
在進(jìn)行虹膜邊界定位時,由于虹膜不具有強(qiáng)邊界,有時在獲取虹膜圖像時帶有很強(qiáng)的噪音,傳統(tǒng)的Snake模型在處理虹膜圖像時,僅使用邊界信息,容易使曲線陷入局部最優(yōu),本文引入一個區(qū)域信息[5]來改善該問題。
取得初始曲線V(0)所包括的區(qū)域
統(tǒng)計特征,
的沖擊特征可以近似看作待分割目標(biāo)的統(tǒng)計特征,記為{SF0,j|1≤j≤m},其中m表示區(qū)域統(tǒng)計特征的個數(shù),SF0,1是該區(qū)域內(nèi)像素的灰度均值,SF0,2是該區(qū)域內(nèi)像素的灰度方差。取得
的特征后,考察V(t)上的點Vi為中心,K×K區(qū)域的特征,一般取K=3。計算統(tǒng)計特征{SFi,j|1≤j≤m},得到該區(qū)域和
的統(tǒng)計相似度:

其中m表示統(tǒng)計特征個數(shù),SFi,k為Vi所在區(qū)域的統(tǒng)計特征,SF0,k為?覣0的統(tǒng)計特征,在得到兩者的相似度后,可以定義圖像力為:

式中μ為正數(shù),0≤μ≤1。當(dāng)XSi≤T時(T為閾值),說明Vi所在的區(qū)域可以近似看作目標(biāo)內(nèi)部區(qū)域,此時曲線繼續(xù)沿外法線方向運動(膨脹);相反XSi≥T時,說明Vi所在的區(qū)域可以近似看作背景區(qū)域,曲線沿內(nèi)法線方向運動(收縮)。
4 實驗結(jié)果
本文采用CASIA虹膜圖像數(shù)據(jù)庫(版本1.0) ,其中包括80人(男62人,女18人)108只不同眼睛的虹膜圖像樣本,每只眼睛有7幅8位灰度圖像,分辨率為320×280。
選取一幅虹膜圖像,Snake模型的具體參數(shù)設(shè)置為:初始節(jié)點選取15個,連續(xù)性能量函數(shù)系數(shù)為α=1.0,彎曲性能量函數(shù)系數(shù)為β=0.5,圖像能量函數(shù)系數(shù)為γ=1,約束能量函數(shù)系數(shù)為δ=-7.0,閾值T=97,遺傳算法[6]的種群染色體數(shù)目為M=50,交叉概率為Pc=0.24,變異概率為Pm=0.02,迭代次數(shù)為R′=60。
由于虹膜外邊界上眼瞼的睫毛噪音難以消除,作者采用先定位虹膜內(nèi)邊界,得到形心的位置后,以瞳孔的半徑為虹膜外邊界的初始半徑,使用簡化的Daugman算法定位下半個虹膜輪廓,然后鏡像出整個虹膜外邊界。

實驗結(jié)果如圖1所示。其中,圖1(a)為初始曲線的位置,為了證明本文方法的優(yōu)點和穩(wěn)定性,因此本文在選取初始點時使初始點沒有完全位于虹膜內(nèi)邊界的內(nèi)部。圖1(b)為傳統(tǒng)Snake模型基于邊界信息的外力定位的結(jié)果,根據(jù)此圖可以看到,在傳統(tǒng)Snake模型的定位下,若初始節(jié)點超出目標(biāo)邊界,則最后定位的曲線會超出邊界的區(qū)域,不能再縮回到正確的邊界位置,并受到噪聲的影響,導(dǎo)致定位失敗。圖1(c)是改進(jìn)后的Snake模型基于區(qū)域信息的定位結(jié)果,即使初始節(jié)點位于目標(biāo)輪廓的外部,仍能受到外力的拉伸,漸漸向真實的邊界靠攏,達(dá)到較優(yōu)的定位效果。圖1(d)是使用遺傳算法對改進(jìn)后Snake模型的求解進(jìn)行優(yōu)化的結(jié)果??梢钥闯觯瑑?yōu)化后的曲線更加趨近于虹膜邊界,而且更加光滑,效果更好。
圖中的“十”字形交點為形心,在定位時間上與其他算法比較如表1所示,原始Snake模型定位失敗,定位的結(jié)果并沒有真實反應(yīng)虹膜內(nèi)邊界的輪廓,改進(jìn)后的Snake算法耗時最少,精度較高。由于有部分初始點落在虹膜內(nèi)邊界以外,因此耗費的時間并沒有體現(xiàn)出很明顯的優(yōu)勢。

本文就改進(jìn)的Snake模型在虹膜邊緣定位中的應(yīng)用進(jìn)行了分析,改進(jìn)了Snake模型的內(nèi)部能量函數(shù),并結(jié)合貪婪算法對Snake模型進(jìn)行離散化;然后引入?yún)^(qū)域信息來構(gòu)造圖像力,使得改進(jìn)后的Snake模型減小了噪音的干擾;最后,使用遺傳算法對Snake模型的求解進(jìn)行優(yōu)化。實驗結(jié)果證明,上述算法與傳統(tǒng)的Snake模型算法相比,具有更好的定位效果,定位出來的虹膜內(nèi)邊界更加光滑,并且接近虹膜邊界,魯棒性更強(qiáng)。此方法也適用于連續(xù)圖像的分割及追蹤,對凹凸性變化較強(qiáng)烈的圖形也有很好的分割效果,作者將對此做更進(jìn)一步的研究。
參考文獻(xiàn)
1 Kass M,Witkin M,Terzopoulos D.Snakes:Active contour models[J].International Journal of Computer Vision,1987;1(4):321~331
2 Cohen L D,Cohen I.Finite-element methods for active contour models and balloons for 2D and 3D images[J].Pattern Analysis and Machine Intelligence,1993;15(11):1131~1147
3 趙保軍,李 棟.對復(fù)雜邊緣檢測的Snake改進(jìn)算法[J].北京理工大學(xué)學(xué)報,2004;24(2):162~165
4 苑瑋琦,馬軍防,狄文彬.基于主動輪廓線的虹膜定位算法[J].計算機(jī)工程與應(yīng)用,2003;40(34):104~107
5 陳允杰,張建偉.一種新的圖像力在Snake模型中的應(yīng)用[J].計算機(jī)應(yīng)用" title="計算機(jī)應(yīng)用">計算機(jī)應(yīng)用,2004;24(12):28~30
6 陳允杰,張建偉.遺傳算法在Snake模型中的應(yīng)用[J].計算機(jī)應(yīng)用,2004;24(5):80~84
