專利名稱:提高水平集計算速度的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種提高水平集計算速度的方法。
背景技術(shù):
文獻(xiàn)“Fronts propagating with curvature dependent speedalgorithms based onHamilton-Jacobi formulation《Journal of Computational Physics》,1988,第79期第4頁”公開了一種水平集方法。該方法將圖像空間中的二維曲線嵌入到三維空間曲面中,作為曲面的零水平集,借助三維空間曲面的進(jìn)化隱含的求解曲線的進(jìn)化。雖然上述的求解過程看似被復(fù)雜化了,但在求解問題上卻帶來了一些優(yōu)點。如能夠很容易的處理曲線拓?fù)浣Y(jié)構(gòu)的變化——分裂或合并、對奇異點不敏感等。正是由于這些優(yōu)點,近年來并被成功的應(yīng)用于圖像分割、圖像平滑、運動跟蹤、立體視覺、圖像恢復(fù)、火焰的擴(kuò)散、流體的模擬、液體分界面的提取以及晶體生長等。
所述水平集方法將二維計算擴(kuò)展到三維計算,三維計算擴(kuò)展到四維計算,而維數(shù)的增多必然導(dǎo)致計算量的增加,并且水平集方程屬于偏微分方程,其數(shù)值求解是一個反復(fù)迭代的過程,從而導(dǎo)致計算速度慢。
發(fā)明內(nèi)容
為了克服現(xiàn)有水平集方法計算速度慢的不足,本發(fā)明提供一種提高水平集計算速度的方法,將待處理圖像映射到對數(shù)極坐標(biāo)系下,通過對圖像中感興趣區(qū)域進(jìn)行重點處理,對次要區(qū)域進(jìn)行粗略處理,實現(xiàn)加快水平集演化速度的目的。本方法可以降低圖像的冗余信息、減少數(shù)據(jù)量、提高其計算速度。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案一種提高水平集計算速度的方法,其特點是包括下述步驟(a)選取對數(shù)極坐標(biāo)模型log(ρ/ρ0)(ρ是采樣半徑,ρ0是最小采樣半徑);(b)按照公式ρ0=N/2π確定最小采樣半徑ρ0,對小于ρ0的區(qū)域不再進(jìn)行對數(shù)映射(其中,N為采樣數(shù));(c)按照反向算法的公式(1)~(5)對待處理圖像進(jìn)行對數(shù)極坐標(biāo)變換,ρ=exp(ξ/k) (1)θ=ψ/k (2)x=ρcosθ+Center_x (3)
y=ρsinθ+Center_y (4)B(ξ,ψ)=I([x],[y])(5);(d)根據(jù)水平集公式(6)~(7)對步驟(c)中得到的圖像進(jìn)行水平集全局迭代運算,Φijn+1=Φijn+ΔtV0(max(gij,0)▿++min(gij,0)▿-)+b{max((gx)ij,0)Dij-x+min((gx)ij,0)Dij+x+max((gy)ij,0)Dij-y+min((gy)ij,0)Dij+y}+ϵgijkijn(Dij0x2+Dij0y2)1/2---(6)]]>g(I)=11+||▿G0*I(x,y)/L||m---(7)]]>其中,L為梯度閾值;曲率kijn用中心差分格式逼近,Dij-x、Dij+x和Dij0x分別是Φ函數(shù)關(guān)于x的后向、前向和中心差分,gx是x方向上g(I)的導(dǎo)數(shù);+和-的形式▿+=[max(Dij-x,0)2+min(Dij+x,0)2+max(Dij-y,0)2+min(Dij+y,0)2]1/2]]>▿-=[max(Dij+x,0)2+min(Dij-x,0)2+max(Dij+y,0)2+min(Dij-y,0)2]1/2]]>(e)采用反向算法對步驟(d)中得到的圖像進(jìn)行對數(shù)極坐標(biāo)反變換。
本發(fā)明的有益效果是由于將待處理圖像映射到對數(shù)極坐標(biāo)系下進(jìn)行水平集迭代運算,利用對數(shù)極坐標(biāo)的非均勻采樣性將原圖像的大小由原先的256*256減小為84*160,圖像的大小約為原圖像的1/5,提高了現(xiàn)有水平集方法的計算速度。
下面結(jié)合附圖和實施例對本發(fā)明作詳細(xì)說明。
圖1是本發(fā)明提高水平集計算速度的方法流程圖。
圖2是本發(fā)明提高水平集計算速度的方法所涉及坐標(biāo)系對比示意圖,(a)是笛卡爾坐標(biāo)系,(b)是對數(shù)極坐標(biāo)系。
圖3是本發(fā)明提高水平集計算速度的方法經(jīng)對數(shù)極坐標(biāo)變換前后的圖像大小變化示意圖,(a)是變換前的圖像,(b)是經(jīng)對數(shù)極坐標(biāo)變換后的圖像。
具體實施例方式
參照圖1,本發(fā)明通過對獲取的數(shù)字圖像中感興趣區(qū)域,如目標(biāo)進(jìn)行重點處理,而對于次要區(qū)域,如背景部分進(jìn)行粗略處理,來加快水平集演化速度。
具體實施如下1.對數(shù)極坐標(biāo)模型的選取人眼視覺中的變分辨率理論在數(shù)學(xué)上通常用對數(shù)極坐標(biāo)來模擬。即若以笛卡爾坐標(biāo)代表視網(wǎng)膜坐標(biāo)位置,則對數(shù)極坐標(biāo)對應(yīng)視皮層坐標(biāo)位置。但對數(shù)極坐標(biāo)變換在坐標(biāo)原點不解析,存在著坐標(biāo)原點這一變換“盲點”。同時在接近“盲點”的區(qū)域,對數(shù)變換對該區(qū)域像素過采樣而產(chǎn)生大量冗余像素,很多情況下這些冗余像素對圖像處理、識別沒有作用。
log(ρ/ρ0)模型通過設(shè)置最小采樣半徑ρ0,對小于半徑ρ0的圖像窩區(qū)不進(jìn)行對數(shù)映射,仍在笛卡爾坐標(biāo)系下處理,僅對周邊區(qū)域進(jìn)行對數(shù)變換。因此,log(ρ/ρ0)模型不僅可以使窩區(qū)具有很高的分辨率,而且在周邊區(qū),由于對數(shù)變換對數(shù)據(jù)的壓縮作用,也可以使數(shù)據(jù)量大大的減少。因此,本發(fā)明選用log(ρ/ρ0)模型來對待處理的均勻圖像進(jìn)行映射處理,ρ是采樣半徑。
2.確定最小采樣半徑由前可知,使用log(ρ/ρ0)模型對圖像數(shù)據(jù)進(jìn)行映射變換,需要確定一個最小采樣半徑ρ0。ρ0的計算公式為ρ0=N/2π(1)其中,N為采樣數(shù)。
3.對數(shù)極坐標(biāo)變換在笛卡爾坐標(biāo)系描述圖像,即z=reiθ=x+iy(2)式中,z是一個復(fù)變量。
上式中的坐標(biāo)可用極坐標(biāo)表示為ρ=(x2+y2)θ=actag(y/x)---(3)]]>對式(3)作對數(shù)變換可得ξ=logρψ=θ---(4)]]>由式(3)~(4),變換前后笛卡爾坐標(biāo)和對數(shù)極坐標(biāo)的對應(yīng)關(guān)系為x=eξcos(ψ)y=eξsin(ψ)---(5)]]>該映射可將一個圓形區(qū)域映射成一個矩形區(qū)域;將圓環(huán)映射成對數(shù)極坐標(biāo)下的直線(見圖2)。
但如果直接用(2)~(5)式對圖像進(jìn)行變換會導(dǎo)致變換后圖像中出現(xiàn)空閑位置。而采用反向算法可以避免變換陣出現(xiàn)空閑位置。下面給出計算公式ρ=exp(ξ/k)(6)式中ξ=[klgρ],[·]表示取整運算。
θ=ψ/k (7)式中ψ=[kθ],θ∈
。
圖像的笛卡爾坐標(biāo)x=ρcosθ+Center_x (8)y=ρsinθ+Center_y (9)式中Center_x,Center_y表示圖像I的注視點。即所選圖像感興趣區(qū)域的中心點。對變換后的圖像像素賦值B(ξ,ψ)=I([x],[y]) (10)通過對比圖3中的兩幅圖像可以看出,經(jīng)對數(shù)極坐標(biāo)變換后圖像的尺寸與原圖像相比大大的減小了,也就是說經(jīng)過對原圖像的非均勻采樣,圖像的冗余信息以及數(shù)據(jù)量被大大的減小了,所以把變換后的圖像作為水平集運算的輸入圖像,其計算速度會大大提高。
4.給定水平集執(zhí)行次數(shù)n=50005.水平集迭代運算水平集計算公式為Φijn+1=Φijn+ΔtV0(max(gij,0)▿++min(gij,0)▿-)+b{max((gx)ij,0)Dij-x+min((gx)ij,0)Dij+x+max((gy)ij,0)Dij-y+min((gy)ij,0)Dij+y}+ϵgijkijn(Dij0x2+Dij0y2)1/2---(11)]]>其中曲率kijn用中心差分格式逼近,Dij-x、Dij+x和Dij0x分別是Φ函數(shù)關(guān)于x的后向、前向和中心差分,gx是x方向上g(I)的導(dǎo)數(shù),V0、b、ε為方程系數(shù),計算中取V0=2,b=3,ε=-0.5。
+和-的形式▿+=[max(Dij-x,0)2+min(Dij+x,0)2+max(Dij-y,0)2+min(Dij+y,0)2]1/2]]>▿-=[max(Dij+x,0)2+min(Dij-x,0)2+max(Dij+y,0)2+min(Dij-y,0)2]1/2]]>(12)g(I)的形式g(I)=11+||▿G0*I(x,y)/L||m---(13)]]>其中,L為梯度閾值,m為方程系數(shù),計算中取L=14.42,m=3。
6.對數(shù)極坐標(biāo)反變換反變換過程仍然采用(6)~(10)式,將式(10)變?yōu)镮([x],[y])=B(ξ,ψ)。
對數(shù)極坐標(biāo)變換下的水平集運算的計算量主要包括對數(shù)極坐標(biāo)變換的計算量和水平集迭代過程的計算量。雖然在對數(shù)極坐標(biāo)變換過程中也需要不少時間,但是一般由同一圖像采集卡所獲取的圖像大小是相同的,又由于對數(shù)極坐標(biāo)變換前后象素的對應(yīng)位置不變,因此映射時可以建立一個映射表,通過查表來得到各個象素變換前后所對應(yīng)的值,故這部分計算量幾乎可以忽略不計。因此采用建立映射表的方法來實現(xiàn)對數(shù)極坐標(biāo)變換能夠大大提高算法的計算速度。
若對圖像處理的實時性要求很高的話,還可以將本發(fā)明與窄帶法、快速步進(jìn)法和AOS法等相結(jié)合來進(jìn)一步提高算法的執(zhí)行效率。如將該方法與窄帶法相結(jié)合的方法;將對數(shù)極坐標(biāo)變換與神經(jīng)網(wǎng)絡(luò)相結(jié)合的硬件方法;將對數(shù)極坐標(biāo)變換與GPU方法相結(jié)合的硬件法來實現(xiàn)進(jìn)一步提高算法執(zhí)行效率的目的。
權(quán)利要求
1.一種提高水平集計算速度的方法,其特征包括下述步驟(a)選取對數(shù)極坐標(biāo)模型log(ρ/ρ0)(ρ是采樣半徑,ρ0是最小采樣半徑);(b)按照公式ρ0=N/2π確定最小采樣半徑ρ0,對小于ρ0的區(qū)域不再進(jìn)行對數(shù)映射(其中,N為采樣數(shù));(c)按照反向算法的公式(1)~(5)對待處理圖像進(jìn)行對數(shù)極坐標(biāo)變換,ρ=exp(ξ/k)(1)θ=ψ/k (2)x=ρcosθ+Center_x (3)y=ρsinθ+Center_y (4)B(ξ,ψ)=I([x],[y]) (5);(d)根據(jù)水平集公式(6)~(7)對步驟(c)中得到的圖像進(jìn)行水平集全局迭代運算,Φijn+1=Φijn+ΔtV0(max(gij,0)▿++min(gij,0)▿-)+b{max((gx)ij,0)Dij-x+min((gx)ij,0)Dij+x+max((gy)ij,0)Dij-y+min((gy)ij,0)Dij+y}+ϵgijkijn(Dij0x2+Dij0x2)1/2···(6)]]>g(I)=11+||▿G0*I(x,y)/L||m···(7)]]>其中,L為梯度閾值;曲率kijn用中心差分格式逼近,Dij-x、Dij+x和Dij0x分別是Φ函數(shù)關(guān)于x的后向、前向和中心差分,gx是x方向上g(I)的導(dǎo)數(shù);+和-的形式▿+=[max(Dij-x,0)2+min(Dij+x,0)2+max(Dij-y,0)2+min(Dij+y,0)2]1/2]]>▿-=[max(Dij+x,0)2+min(Dij-x,0)2+max(Dij+y,0)2+min(Dij-y,0)2]1/2]]>(e)采用反向算法對步驟(d)中得到的圖像進(jìn)行對數(shù)極坐標(biāo)反變換。
全文摘要
本發(fā)明公開了一種提高水平集計算速度的方法,首先選取待處理的均勻采樣的圖像映射到對數(shù)極坐標(biāo)下得到非均勻采樣圖像,再對非均勻采樣圖像進(jìn)行水平集演化運算,其特點是選取對數(shù)極坐標(biāo)模型log(ρ/ρ
文檔編號G06F7/548GK101055642SQ20071001792
公開日2007年10月17日 申請日期2007年5月24日 優(yōu)先權(quán)日2007年5月24日
發(fā)明者余瑞星, 呂梅柏, 張科, 李言俊, 邢超 申請人:西北工業(yè)大學(xué)