聶棟棟,葛新迪
(燕山大學 理學院,河北 秦皇島 066004)
圖像紋理平滑是圖像預處理領域中的重要工具之一.自然獲取的圖像中往往包含豐富的結構信息和紋理信息,在分析和理解圖像時,如何平滑或消除圖像紋理,識別和保存圖像自身的顯著性結構特征[1]具有重要的現實意義.
以雙邊濾波(Bilateral Filter,BLF)[2]、引導濾波(Guided Filter,GF)[3,4]、聯合雙邊濾波(Joint Bilateral Filter,JBLF)[5,6]、傳播濾波(Propagated Filtering,PF)[7,8]等為代表的局部保構濾波器,根據每個像素點在空間和灰度上與相鄰像素之間的差異計算權值,通過加權平均更新圖像像素值,獲得平滑圖像.其中雙邊紋理濾波(Bilateral Texture Filter,BTF)[9,10]、滾動引導濾波(Rolling Guidance Filter,RGF)[11]等更是專門為平滑圖像紋理而設計的局部濾波器,它們可以在平滑紋理細節時進行空間濾波,在一定程度上保持圖像自身顯著的邊緣結構.
但由于滾動引導濾波是先對紋理細節進行移除,再進行結構恢復,而現有的滾動引導濾波只是單純使用高斯濾波進行紋理移除,這就使它容易在移除紋理細節的同時也移除了圖像中的低對比度結構,進而導致紋理平滑后的圖像邊緣產生模糊.
本文改進了現有的滾動引導濾波器,并結合傳播濾波提出了一種新的圖像紋理平滑濾波器——滾動引導傳播濾波.首先,文中在圖像紋理移除時使用塊平移和改進相對全變差的方法替代了高斯函數,構造了新的引導圖像.然后借鑒傳播濾波的思想,定義通路上的像素相關性,構造滾動引導傳播濾波器進行圖像結構恢復.實驗結果表明相比其他幾種經典的紋理平滑方法,本文方法在平滑紋理的同時能更好的保留圖像自身的顯著性邊緣結構.
滾動引導濾波器主要由兩部分組成,首先用平滑濾波器做紋理移除,然后使用保構濾波器恢復結構.
對一輸入圖像I,輸出圖像B,令p和q表示圖像像素的空間坐標,σs表示空間標準差,高斯濾波器的表達式可以寫為如下形式:
(1)
其中B為高斯濾波后的輸出圖像,Kp為歸一化因子,Ωp是圖像中以像素點p為中心點的空間鄰域塊,其濾波尺度大小由σs決定.
高斯濾波通過調節σs的值去移除小于對應尺度下的所有圖像紋理,保留大于該尺度的圖像邊緣結構信息.但高斯濾波在平滑紋理的同時不可避免的模糊了圖像的邊緣結構,因此要想得到結構清晰的平滑圖像,還必須對圖像的邊緣結構進行恢復.
對一輸入圖像I,輸出圖像J,通過以下函數來恢復圖像結構:
(2)
其中Kp同樣為歸一化因子,σs、σr分別為空間域和灰度域的高斯函數的標準差.
令公式(1)中的輸出圖像B作為公式(2)中的初始值J1,Ji+1的值是通過給定輸入圖像I與之前第i-1迭代的值Ji做聯合雙邊濾波得到的.公式(2)也可以理解為輸入圖像I在第i-1次迭代圖像Ji引導下的濾波圖像.
為了進一步簡化,可以把紋理移除和結構恢復的兩個函數方程合并為一個函數方程,選擇從一個常量圖像C作為初始引導圖像J0.如果把公式(2)中的Ji用一個常量圖像C替換,公式(2)的表達式可以表示為:
(3)
所以如果用一個常量圖像C作為初始引導圖像J0,則由公式(2)得到的第一次迭代圖像J1就是公式(1)得到的紋理移除后的模糊圖像B.因此滾動濾波的兩個過程可以統一用公式(2)得到,其中第一次迭代J0→J1的過程可看成是紋理移除的過程,J1…Ji+1…的過程正好是結構恢復的過程.
在滾動引導濾波基礎上,本文定義了一種新的滾動引導傳播濾波方法.其定義如下:
(4)
其中,
(5)
(6)

比較本文提出的滾動引導傳播濾波的公式(4)和傳統的滾動引導濾波公式(2),可以發現本文算法沒有采用簡單的兩個像素點間的空間距離和像素值差異來計算濾波權值,而是定義了一條單向通路,以該通路上所有相鄰點的像素值差異和中心點s對通路上所有點的像素差異來計算權值.這就使得只有在通路上任意一點的像素值和中心點s的像素值都相似,而且通路上所有相鄰點的像素值也都比較相似時,計算得到的權值才會比較大.反之,若s到t的通路上存在差異較大的點(比如跨越某條邊緣),這樣即使像素s和t的空間距離很小,像素值差異也不大,計算得到的權值也會比較小.這也是本文算法比傳統的滾動引導濾波能夠在圖像紋理平滑后能夠保持更清晰的邊緣結構的原因之一.而且這樣利用通路上所有像素點的信息定義權值,而不直接使用空間核函數,也使得本文算法比傳統局部濾波器受預定義間鄰域大小的影響更小.
考慮到一個圖像塊的中心像素點s到其任意一個鄰域像素點t之間的單連通通路可能有多條,為了簡化問題,本文指定一種具體的通路模式:當s,t位置是水平或垂直時,連接兩像素的通路就是一條水平或垂直的直線.當兩像素不是簡單的水平或垂直連接時,我們通過曼哈頓距離來定義s到t的通路.
同時,為了改進傳統的滾動引導濾波器中單純使用高斯濾波器進行紋理移除容易造成圖像弱邊緣結構丟失的問題,本文提出了新的紋理移除方法,并以此生成新的結構恢復階段的初始引導圖像.
假定輸入圖像I,本文的紋理移除方法是在包含圖像I的任意一個像素p的k2個k×k大小的圖像塊中,尋找包含圖像自身顯著結構最少的塊,進而借鑒塊平移技術,在對圖像I進行k×k窗口的高斯濾波得到圖像B的基礎上,生成引導圖像G.
由于通常圖像中紋理部分的像素差異要小于結構邊緣部分,本文利用公式(7)定義的改進相對全變差的值,來度量圖像鄰域塊Ωq中包含顯著結構的可能程度:
(7)
且:
Δ(Ωq)=Imax(Ωq)-Imin(Ωq)
(8)
公式(7)中Ωq表示某個包含像素p的以q為中心的大小為k×k的圖像塊,|(?I)r|表示輸入圖像I中鄰域塊Ωq任一像素點r的梯度大小,而且ε是一個小的正常數,防止分母為零,本文取ε=10-9.公式(8)中Imax(Ωq)和Imin(Ωq)分別表示像素塊Ωq中的像素最大值和最小值.
由公式(7)可知,當mRTV(Ωq)越小,Ωq越平滑,它含有邊界的可能性就越小.因此可以通過對像素的逐點處理得到基于塊平移的紋理移除圖像G.即對任意一個像素p,都可以在輸入圖像I中包含像素p的k2個圖像塊中找到使改進相對全變差mRTV最小的塊Ωq,將模糊圖像B中該塊中心點對應的像素值Bq賦值給圖像G中像素p對應的像素值Gp.
由于改進相對全變差mRTV對噪聲干擾比較敏感,所以引入高斯濾波圖像B,對圖像G進行修正.以G′表示修正后的圖像,其中任一像素p的值為:
(9)
其中加權系數αp的取值范圍是[0,1],且:
(10)
這里Ωp表示以像素點p為中心的大小為k×k的空間鄰域塊,而Ωq表示包含像素p的k2個鄰域塊中相對全變差mRTV最小的塊,σα為經驗參數.
從公式(10)可以看出,當像素p點位于邊緣結構附近時,mRTV(Ωp)和mRTV(Ωq)間的差值較大,αp值接近于1;而當像素p點位于紋理區域時,mRTV(Ωp)和mRTV(Ωq)間的差值較小,αp的值接近于0.這樣就可以在初始結構圖像G和模糊圖像B線性加權時,根據各點所屬區域的不同,控制權系數,使得修正后的圖像G′在紋理區域受模糊圖像B的影響較大,而在結構區域受塊平移紋理移除圖像G的影響較大.這樣相比傳統的滾動引導濾波器簡單的使用高斯模糊圖像B進行紋理移除并作為后續結構恢復的引導圖像,本文構造的圖像G′綜合了圖像紋理區域和結構區域的特點,使用G′作為滾動引導傳播濾波在結構恢復階段的初始引導圖像不僅能更好地進行結構恢復而且也具有良好平滑紋理的能力.
因此對于給定的輸入圖像I,令J0=G′作為初始引導圖像,代入公式(4)得到第1次迭代輸出圖像J1,此后第i+1次迭代的輸出圖像Ji+1利用第i次迭代輸出圖像Ji作為引導圖像,對輸入圖像I進行局部加權均值濾波得到.
本文提出的滾動引導傳播濾波的處理過程如表1所示.
我們對本文方法與Tomasi等人[2]提出的雙邊濾波方法,Cho等人[9]提出的雙邊紋理濾波方法和Zhang等人[11]提出的滾動引導濾波進行實驗對比. 測試環境為Acer MS2360筆記本電腦,軟件環境為MatlabR2015b.
以標準′Fish′紋理圖像和′Pom Fish Mosaic′紋理圖像為例.其中圖1(a)和圖2(a)代表原始輸入圖像.各方法的處理結果分別對應圖1、圖2中的(b)(c)(d)(e).
表1 滾動引導傳播濾波
Table 1 Scroll guided propagation filtering

算法名稱:滾動引導傳播濾波1:輸入:圖像I,參數k,σ2:輸出:紋理平滑圖像Inew紋理移除:3:B←I的模糊圖像(自適應高斯濾波)4:對輸入圖像I中每一個像素p求mRTV根據公式(7)5:for all p∈I do6:尋找最小的mRTVq其中q∈Ωp7:Gp=Bq8:end for 9:α←對每一個像素p根據公式(10)10:G′←αG+(1-α)B根據公式(9)得到結構圖像G′結構恢復:11:J0←G′ 初始化J012:for i=0:nrdo,nr為迭代次數13:Ji+1=Popagated Bilateral(I,Ji,σ)14:end for15:Inew=Jnr
為了保證實驗的科學與公正性,本文對以上算法都做了參數調優,以使各方法的處理結果都達到該方法的最優效果.圖1中各方法的參數分別為: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中各方法的參數分別為: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為高斯參數,nr為迭代次數.

圖1 不同算法對圖像Fish紋理平滑的效果Fig.1 Image texture smoothing with different algorithm for Fish
在兩組實驗中,為了突出濾波效果,本文對圖像細節部分都做了突出放大,通過圖1、圖2可以直觀的看出,本文的方法在對圖像進行紋理平滑的同時能更好的保持圖像自身的結構細節,尤其是對一些較小或較弱的邊緣結構保持的較好.如圖1中魚嘴部分和圖2中魚鰭部分.
為了更客觀的說明問題,本文定義了一個新的邊緣清晰度函數,用于評價算法的結構保持能力.對任意一幅圖像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中邊緣位置上像素點的數量.由上式我們可以得到,當Q越大,圖像邊緣上的點與其鄰域內不是邊緣上點的差值越大,因此圖像邊緣越清晰,反之,Q越小,圖像邊緣越模糊.對圖1、圖2中不同方法得到的平滑后圖像進邊緣清晰度檢測,其實驗結果如表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
通過上面的兩組實驗得知,相對于當前主流的紋理平滑濾波器,本文算法在平滑圖像紋理時能更好的保持圖像自身的邊緣結構.
本文針對當前滾動引導濾波器對圖像結構保持方面存在的不足,結合傳播濾波,提出了一種新的滾動引導傳播濾波方法.本文首先使用塊平移和改進的相對全變差方法去除圖像的紋理信息,構造引導圖像,然后利用滾動引導傳播濾波恢復結構.在圖像濾波的過程中,通過利用通路上各像素點之間的相似性定義局部濾波的權值函數,這使得本文算法比傳統的紋理平滑和保構濾波器能更好的保持圖像自身的邊緣結構,尤其是對一些較小或較弱的邊緣結構保持的較好.