聶棟棟,葛新迪
(燕山大學(xué) 理學(xué)院,河北 秦皇島 066004)
圖像紋理平滑是圖像預(yù)處理領(lǐng)域中的重要工具之一.自然獲取的圖像中往往包含豐富的結(jié)構(gòu)信息和紋理信息,在分析和理解圖像時,如何平滑或消除圖像紋理,識別和保存圖像自身的顯著性結(jié)構(gòu)特征[1]具有重要的現(xiàn)實意義.
以雙邊濾波(Bilateral Filter,BLF)[2]、引導(dǎo)濾波(Guided Filter,GF)[3,4]、聯(lián)合雙邊濾波(Joint Bilateral Filter,JBLF)[5,6]、傳播濾波(Propagated Filtering,PF)[7,8]等為代表的局部保構(gòu)濾波器,根據(jù)每個像素點在空間和灰度上與相鄰像素之間的差異計算權(quán)值,通過加權(quán)平均更新圖像像素值,獲得平滑圖像.其中雙邊紋理濾波(Bilateral Texture Filter,BTF)[9,10]、滾動引導(dǎo)濾波(Rolling Guidance Filter,RGF)[11]等更是專門為平滑圖像紋理而設(shè)計的局部濾波器,它們可以在平滑紋理細節(jié)時進行空間濾波,在一定程度上保持圖像自身顯著的邊緣結(jié)構(gòu).
但由于滾動引導(dǎo)濾波是先對紋理細節(jié)進行移除,再進行結(jié)構(gòu)恢復(fù),而現(xiàn)有的滾動引導(dǎo)濾波只是單純使用高斯濾波進行紋理移除,這就使它容易在移除紋理細節(jié)的同時也移除了圖像中的低對比度結(jié)構(gòu),進而導(dǎo)致紋理平滑后的圖像邊緣產(chǎn)生模糊.
本文改進了現(xiàn)有的滾動引導(dǎo)濾波器,并結(jié)合傳播濾波提出了一種新的圖像紋理平滑濾波器——滾動引導(dǎo)傳播濾波.首先,文中在圖像紋理移除時使用塊平移和改進相對全變差的方法替代了高斯函數(shù),構(gòu)造了新的引導(dǎo)圖像.然后借鑒傳播濾波的思想,定義通路上的像素相關(guān)性,構(gòu)造滾動引導(dǎo)傳播濾波器進行圖像結(jié)構(gòu)恢復(fù).實驗結(jié)果表明相比其他幾種經(jīng)典的紋理平滑方法,本文方法在平滑紋理的同時能更好的保留圖像自身的顯著性邊緣結(jié)構(gòu).
滾動引導(dǎo)濾波器主要由兩部分組成,首先用平滑濾波器做紋理移除,然后使用保構(gòu)濾波器恢復(fù)結(jié)構(gòu).
對一輸入圖像I,輸出圖像B,令p和q表示圖像像素的空間坐標,σs表示空間標準差,高斯濾波器的表達式可以寫為如下形式:
(1)
其中B為高斯濾波后的輸出圖像,Kp為歸一化因子,Ωp是圖像中以像素點p為中心點的空間鄰域塊,其濾波尺度大小由σs決定.
高斯濾波通過調(diào)節(jié)σs的值去移除小于對應(yīng)尺度下的所有圖像紋理,保留大于該尺度的圖像邊緣結(jié)構(gòu)信息.但高斯濾波在平滑紋理的同時不可避免的模糊了圖像的邊緣結(jié)構(gòu),因此要想得到結(jié)構(gòu)清晰的平滑圖像,還必須對圖像的邊緣結(jié)構(gòu)進行恢復(fù).
對一輸入圖像I,輸出圖像J,通過以下函數(shù)來恢復(fù)圖像結(jié)構(gòu):
(2)
其中Kp同樣為歸一化因子,σs、σr分別為空間域和灰度域的高斯函數(shù)的標準差.
令公式(1)中的輸出圖像B作為公式(2)中的初始值J1,Ji+1的值是通過給定輸入圖像I與之前第i-1迭代的值Ji做聯(lián)合雙邊濾波得到的.公式(2)也可以理解為輸入圖像I在第i-1次迭代圖像Ji引導(dǎo)下的濾波圖像.
為了進一步簡化,可以把紋理移除和結(jié)構(gòu)恢復(fù)的兩個函數(shù)方程合并為一個函數(shù)方程,選擇從一個常量圖像C作為初始引導(dǎo)圖像J0.如果把公式(2)中的Ji用一個常量圖像C替換,公式(2)的表達式可以表示為:
(3)
所以如果用一個常量圖像C作為初始引導(dǎo)圖像J0,則由公式(2)得到的第一次迭代圖像J1就是公式(1)得到的紋理移除后的模糊圖像B.因此滾動濾波的兩個過程可以統(tǒng)一用公式(2)得到,其中第一次迭代J0→J1的過程可看成是紋理移除的過程,J1…Ji+1…的過程正好是結(jié)構(gòu)恢復(fù)的過程.
在滾動引導(dǎo)濾波基礎(chǔ)上,本文定義了一種新的滾動引導(dǎo)傳播濾波方法.其定義如下:
(4)
其中,
(5)
(6)
比較本文提出的滾動引導(dǎo)傳播濾波的公式(4)和傳統(tǒng)的滾動引導(dǎo)濾波公式(2),可以發(fā)現(xiàn)本文算法沒有采用簡單的兩個像素點間的空間距離和像素值差異來計算濾波權(quán)值,而是定義了一條單向通路,以該通路上所有相鄰點的像素值差異和中心點s對通路上所有點的像素差異來計算權(quán)值.這就使得只有在通路上任意一點的像素值和中心點s的像素值都相似,而且通路上所有相鄰點的像素值也都比較相似時,計算得到的權(quán)值才會比較大.反之,若s到t的通路上存在差異較大的點(比如跨越某條邊緣),這樣即使像素s和t的空間距離很小,像素值差異也不大,計算得到的權(quán)值也會比較小.這也是本文算法比傳統(tǒng)的滾動引導(dǎo)濾波能夠在圖像紋理平滑后能夠保持更清晰的邊緣結(jié)構(gòu)的原因之一.而且這樣利用通路上所有像素點的信息定義權(quán)值,而不直接使用空間核函數(shù),也使得本文算法比傳統(tǒng)局部濾波器受預(yù)定義間鄰域大小的影響更小.
考慮到一個圖像塊的中心像素點s到其任意一個鄰域像素點t之間的單連通通路可能有多條,為了簡化問題,本文指定一種具體的通路模式:當(dāng)s,t位置是水平或垂直時,連接兩像素的通路就是一條水平或垂直的直線.當(dāng)兩像素不是簡單的水平或垂直連接時,我們通過曼哈頓距離來定義s到t的通路.
同時,為了改進傳統(tǒng)的滾動引導(dǎo)濾波器中單純使用高斯濾波器進行紋理移除容易造成圖像弱邊緣結(jié)構(gòu)丟失的問題,本文提出了新的紋理移除方法,并以此生成新的結(jié)構(gòu)恢復(fù)階段的初始引導(dǎo)圖像.
假定輸入圖像I,本文的紋理移除方法是在包含圖像I的任意一個像素p的k2個k×k大小的圖像塊中,尋找包含圖像自身顯著結(jié)構(gòu)最少的塊,進而借鑒塊平移技術(shù),在對圖像I進行k×k窗口的高斯濾波得到圖像B的基礎(chǔ)上,生成引導(dǎo)圖像G.
由于通常圖像中紋理部分的像素差異要小于結(jié)構(gòu)邊緣部分,本文利用公式(7)定義的改進相對全變差的值,來度量圖像鄰域塊Ωq中包含顯著結(jié)構(gòu)的可能程度:
(7)
且:
Δ(Ωq)=Imax(Ωq)-Imin(Ωq)
(8)
公式(7)中Ωq表示某個包含像素p的以q為中心的大小為k×k的圖像塊,|(?I)r|表示輸入圖像I中鄰域塊Ωq任一像素點r的梯度大小,而且ε是一個小的正常數(shù),防止分母為零,本文取ε=10-9.公式(8)中Imax(Ωq)和Imin(Ωq)分別表示像素塊Ωq中的像素最大值和最小值.
由公式(7)可知,當(dāng)mRTV(Ωq)越小,Ωq越平滑,它含有邊界的可能性就越小.因此可以通過對像素的逐點處理得到基于塊平移的紋理移除圖像G.即對任意一個像素p,都可以在輸入圖像I中包含像素p的k2個圖像塊中找到使改進相對全變差mRTV最小的塊Ωq,將模糊圖像B中該塊中心點對應(yīng)的像素值Bq賦值給圖像G中像素p對應(yīng)的像素值Gp.
由于改進相對全變差mRTV對噪聲干擾比較敏感,所以引入高斯濾波圖像B,對圖像G進行修正.以G′表示修正后的圖像,其中任一像素p的值為:
(9)
其中加權(quán)系數(shù)αp的取值范圍是[0,1],且:
(10)
這里Ωp表示以像素點p為中心的大小為k×k的空間鄰域塊,而Ωq表示包含像素p的k2個鄰域塊中相對全變差mRTV最小的塊,σα為經(jīng)驗參數(shù).
從公式(10)可以看出,當(dāng)像素p點位于邊緣結(jié)構(gòu)附近時,mRTV(Ωp)和mRTV(Ωq)間的差值較大,αp值接近于1;而當(dāng)像素p點位于紋理區(qū)域時,mRTV(Ωp)和mRTV(Ωq)間的差值較小,αp的值接近于0.這樣就可以在初始結(jié)構(gòu)圖像G和模糊圖像B線性加權(quán)時,根據(jù)各點所屬區(qū)域的不同,控制權(quán)系數(shù),使得修正后的圖像G′在紋理區(qū)域受模糊圖像B的影響較大,而在結(jié)構(gòu)區(qū)域受塊平移紋理移除圖像G的影響較大.這樣相比傳統(tǒng)的滾動引導(dǎo)濾波器簡單的使用高斯模糊圖像B進行紋理移除并作為后續(xù)結(jié)構(gòu)恢復(fù)的引導(dǎo)圖像,本文構(gòu)造的圖像G′綜合了圖像紋理區(qū)域和結(jié)構(gòu)區(qū)域的特點,使用G′作為滾動引導(dǎo)傳播濾波在結(jié)構(gòu)恢復(fù)階段的初始引導(dǎo)圖像不僅能更好地進行結(jié)構(gòu)恢復(fù)而且也具有良好平滑紋理的能力.
因此對于給定的輸入圖像I,令J0=G′作為初始引導(dǎo)圖像,代入公式(4)得到第1次迭代輸出圖像J1,此后第i+1次迭代的輸出圖像Ji+1利用第i次迭代輸出圖像Ji作為引導(dǎo)圖像,對輸入圖像I進行局部加權(quán)均值濾波得到.
本文提出的滾動引導(dǎo)傳播濾波的處理過程如表1所示.
我們對本文方法與Tomasi等人[2]提出的雙邊濾波方法,Cho等人[9]提出的雙邊紋理濾波方法和Zhang等人[11]提出的滾動引導(dǎo)濾波進行實驗對比. 測試環(huán)境為Acer MS2360筆記本電腦,軟件環(huán)境為MatlabR2015b.
以標準′Fish′紋理圖像和′Pom Fish Mosaic′紋理圖像為例.其中圖1(a)和圖2(a)代表原始輸入圖像.各方法的處理結(jié)果分別對應(yīng)圖1、圖2中的(b)(c)(d)(e).
表1 滾動引導(dǎo)傳播濾波
Table 1 Scroll guided propagation filtering
算法名稱:滾動引導(dǎo)傳播濾波1:輸入:圖像I,參數(shù)k,σ2:輸出:紋理平滑圖像Inew紋理移除:3:B←I的模糊圖像(自適應(yīng)高斯濾波)4:對輸入圖像I中每一個像素p求mRTV根據(jù)公式(7)5:for all p∈I do6:尋找最小的mRTVq其中q∈Ωp7:Gp=Bq8:end for 9:α←對每一個像素p根據(jù)公式(10)10:G′←αG+(1-α)B根據(jù)公式(9)得到結(jié)構(gòu)圖像G′結(jié)構(gòu)恢復(fù):11:J0←G′ 初始化J012:for i=0:nrdo,nr為迭代次數(shù)13:Ji+1=Popagated Bilateral(I,Ji,σ)14:end for15:Inew=Jnr
為了保證實驗的科學(xué)與公正性,本文對以上算法都做了參數(shù)調(diào)優(yōu),以使各方法的處理結(jié)果都達到該方法的最優(yōu)效果.圖1中各方法的參數(shù)分別為:Tomasi等人k=5,σs=3,σr=0.3;Cho等人k=5,nr=3,σs=1,σr=0.1;Zhang等人k=5,nr=3,σs=2,σr=0.05;本文的方法k=5,nr=3,σ=0.1.圖2中各方法的參數(shù)分別為:Tomasi等人k=5,σs=3,σr=0.4;Cho等人k=5,nr=3,σs=1,σr=0.1;Zhang等人k=5,nr=3,σs=2.5,σr=0.05;本文的方法k=5,nr=3,σ=0.1.其中k為窗口的大小,σ,σs,σr為高斯參數(shù),nr為迭代次數(shù).
圖1 不同算法對圖像Fish紋理平滑的效果Fig.1 Image texture smoothing with different algorithm for Fish
在兩組實驗中,為了突出濾波效果,本文對圖像細節(jié)部分都做了突出放大,通過圖1、圖2可以直觀的看出,本文的方法在對圖像進行紋理平滑的同時能更好的保持圖像自身的結(jié)構(gòu)細節(jié),尤其是對一些較小或較弱的邊緣結(jié)構(gòu)保持的較好.如圖1中魚嘴部分和圖2中魚鰭部分.
為了更客觀的說明問題,本文定義了一個新的邊緣清晰度函數(shù),用于評價算法的結(jié)構(gòu)保持能力.對任意一幅圖像I邊緣清晰度的定義為:
(11)
圖2 不同算法對圖像Pompeii Fish Mosaic紋理平滑的效果Fig.2 Image texture smoothing with different algorithm for Pompeii Fish Mosaic
其中Ωp表示以邊緣像素點p為中心的空間鄰域塊,Iq為鄰域塊Ωp中不包含像素點p的其他像素點的像素值,k為鄰域塊Ωp的大小,N為圖像I中邊緣位置上像素點的數(shù)量.由上式我們可以得到,當(dāng)Q越大,圖像邊緣上的點與其鄰域內(nèi)不是邊緣上點的差值越大,因此圖像邊緣越清晰,反之,Q越小,圖像邊緣越模糊.對圖1、圖2中不同方法得到的平滑后圖像進邊緣清晰度檢測,其實驗結(jié)果如表2所示.
表2 不同方法圖像的邊緣清晰度
Table 2 Edge definition of image with different methods
圖片算法TomasiChoZhangOurFish27.242130.1673 34.758537.0241Pompeii Fish Mosaic34.9856 35.5228 38.844247.3164
通過上面的兩組實驗得知,相對于當(dāng)前主流的紋理平滑濾波器,本文算法在平滑圖像紋理時能更好的保持圖像自身的邊緣結(jié)構(gòu).
本文針對當(dāng)前滾動引導(dǎo)濾波器對圖像結(jié)構(gòu)保持方面存在的不足,結(jié)合傳播濾波,提出了一種新的滾動引導(dǎo)傳播濾波方法.本文首先使用塊平移和改進的相對全變差方法去除圖像的紋理信息,構(gòu)造引導(dǎo)圖像,然后利用滾動引導(dǎo)傳播濾波恢復(fù)結(jié)構(gòu).在圖像濾波的過程中,通過利用通路上各像素點之間的相似性定義局部濾波的權(quán)值函數(shù),這使得本文算法比傳統(tǒng)的紋理平滑和保構(gòu)濾波器能更好的保持圖像自身的邊緣結(jié)構(gòu),尤其是對一些較小或較弱的邊緣結(jié)構(gòu)保持的較好.