喻 恒 胡海峰 耿則勛
(平頂山學(xué)院信息工程學(xué)院 河南 平頂山 467000)
在自然場景中,不同的空間尺度都包含有不同意義的視覺元素。小元素通常表示紋理、小對象和噪聲,而大尺度結(jié)構(gòu)通常表示對象或區(qū)域邊界、空間顏色轉(zhuǎn)換或均勻區(qū)域??臻g濾波是圖像處理和計算機視覺中的常見操作,通常用于降低噪聲或消除小的諸如細碎紋理等的虛假細節(jié),同時突出圖像中的主要特征并增強圖像對比度。在圖像空間濾波中,濾波后圖像在某一位置的像素值,是輸入圖像上同樣位置周圍小鄰域內(nèi)若干像素值的函數(shù)。比如線性高斯低通濾波中,這個函數(shù)就是鄰域內(nèi)像素值的加權(quán)平均[1],每個像素的權(quán)值與該像素到鄰域中心的距離成反比。雖然可以給出這種權(quán)值下降的正式和定量的解釋,但直觀意義是圖像灰度值通常在空間范圍上變化是緩慢的,因此,鄰近像素很可能具有相似的值,這樣用鄰域內(nèi)像素的平均值作為濾波后的輸出像素值是合適的。相比之下,對圖像造成影響的噪聲之間的相關(guān)性就比信號之間的相關(guān)性小得多,因此在加權(quán)平均的過程中就會平均掉(或濾除)噪聲。然而,由于邊緣附近的像素其灰度值不滿足這種慢變化的假定,所以這種平均處理(實際上等于強制要求局部小范圍內(nèi)像素灰度值相近)就“抹平”了邊緣附近突變的像素灰度值,相當(dāng)于平滑了邊緣,丟失了諸如邊緣、點、線等對于圖像的應(yīng)用很重要的其他細節(jié)特征。因此人們開始研究既能有效抑制噪聲,又能對重要的邊緣等特征信息進行保留的平滑濾波器。
關(guān)于非線性邊緣保持平滑濾波器的研究有很多,例如各向異性擴散濾波[2]、魯棒平滑[3]和雙邊濾波器[4]。非線性雙邊濾波器(bilateral filter, BF)為每個像素分配其相鄰像素的加權(quán)平均值,權(quán)重隨位置上的空間距離和強度值方面的差異而減小。雖然BF在平滑低強度變化方面非常有效,同時具有較強邊緣保持能力,但是它也易于在較大的空間尺度上模糊邊緣,從而限制了其在多尺度圖像分解方案中的應(yīng)用價值[5]。在邊緣保持方面效果比較好的是引導(dǎo)濾波算法和L0范數(shù)圖像平滑算法。引導(dǎo)濾波器[6]是基于局部線性模型的,計算高效、邊緣保持較好的平移變分算子,避免了雙邊濾波和其他先前方法的缺點。當(dāng)輸入圖像也用作引導(dǎo)圖像時,GF的行為類似于邊緣保持BF。然而,作為局部濾波方法,GF也不可避免在顯著邊緣附近產(chǎn)生光暈現(xiàn)象。文獻[7]提出圖像L0范數(shù)平滑的方法,該濾波器是一種全局平滑濾波器,算法基于稀疏策略,通過去除一些比較小的紋理,實現(xiàn)圖像平滑,并且進一步顯著邊緣。
使用雙邊濾波平滑去噪,在噪聲水平較低時有著良好的去噪性能,但是當(dāng)圖像出現(xiàn)高強度噪聲時,噪聲使得邊緣結(jié)構(gòu)受到一定程度的破壞,雙邊濾波算法信號域核函數(shù)權(quán)值的計算也會受到影響,導(dǎo)致在重噪聲區(qū)域受保持邊緣的權(quán)重影響,抑制能力下降,甚至邊緣部分也出現(xiàn)了“梯度翻轉(zhuǎn)”現(xiàn)象[1]。為使雙邊濾波在噪聲強度較高圖像區(qū)域,在保持較好邊緣信息同時有效地去除噪聲,國內(nèi)外部分研究考慮使用一幅和原始輸入圖像相關(guān)的具有明確結(jié)構(gòu)的圖像來引導(dǎo)雙邊濾波核函數(shù)的計算。在聯(lián)合(或交叉)雙邊濾波器[8](Joint Bilateral filter)中,第二圖像或引導(dǎo)圖像用于引導(dǎo)邊緣停止范圍濾波器,從而防止邊緣附近過模糊或欠模糊。文獻[9]提出了二次迭代濾波,算法將雙邊濾波后的圖像,通過計算權(quán)值引導(dǎo)第二次雙邊濾波,因為算法效率的問題,只進行了一次迭代,對于邊緣保持和噪聲抑制的效果有限。文獻[11]提出了加權(quán)雙邊濾波(Weighted Bilateral Filtering),該方法是通過均值濾波先對圖像進行預(yù)處理,再用預(yù)處理后的圖像引導(dǎo)使用雙邊濾波和魯棒的雙邊濾波進行加權(quán)濾波去噪。這種方法采用的引導(dǎo)圖像通過均值濾波會丟失弱邊緣和細小紋理,出現(xiàn)模糊現(xiàn)象,導(dǎo)致處理后的圖像丟失了一些紋理結(jié)構(gòu)信息。這種方法采用的濾波窗口形狀是固定的,當(dāng)窗口值較大的時候雖然可以獲取很好的去噪效果,但是邊緣保持的效果就會隨之變差。
縱觀已有的圖像濾波方法,無論常規(guī)的圖像濾波處理,還是近幾年提出的雙邊濾波、引導(dǎo)濾波、加權(quán)最小二乘濾波等。在濾波處理過程中均未考慮到濾波窗口形狀關(guān)于邊緣的自適應(yīng)性,其局部濾波模板窗口形狀都是規(guī)則的矩形,并且在遍歷圖像濾波過程中,都是濾波模板的兩邊分別平行于圖像像素坐標(biāo)系的兩個坐標(biāo)軸。但圖像中重要的邊緣特征、顯著紋理結(jié)構(gòu)等卻會沿任意的方向出現(xiàn),未必都平行于圖像坐標(biāo)軸,這使得這些方法(包括雙邊濾波、引導(dǎo)濾波等)在濾波過程中不可避免地會出現(xiàn)“跨邊緣”濾波問題,從而造成邊緣模糊和邊緣光暈效應(yīng)。因此,本文提出了一種可以有效進行邊緣保持的濾波算法。該濾波算法在雙邊濾波算法基礎(chǔ)上,采用邊緣梯度方向圖作為引導(dǎo)圖像,對輸入圖像上的任一像素而言,首先根據(jù)梯度方向圖上對應(yīng)位置處的梯度方向信息,計算出該像素處的邊緣方向;然后確定該像素濾波計算過程中模板窗口的形狀(決定參與濾波計算的像素),使模板窗口的兩邊分別平行或垂直于當(dāng)前像素處的局部邊緣方向,也就是實現(xiàn)“沿邊緣”平均而不是“跨邊緣”平均,從而更好地保持邊緣。實驗結(jié)果證明,本文算法在濾除或抑制噪聲平滑細節(jié)的同時,能更好地保持明顯邊緣等結(jié)構(gòu)信息。
對于一副含有噪聲的圖像I(x,y),其數(shù)學(xué)表達式可表示為:
I(x,y)=J(x,y)+n(x,y)
(1)
式中:J(x,y)表示清晰圖像;n(x,y)表示加性白噪聲,為了盡可能地消除噪聲,雙邊濾波采用模型公式為:
(2)
式中:Wx,y表示濾波窗口,即中心點位置為(x,y)的(2N+1)×(2N+1)大小的鄰域;ω(i,j)由兩個權(quán)重系數(shù)構(gòu)成:
ω(i,j)=ωd(i,j)ωr(i,j)
(3)
(4)
(5)
由公式模型可知,在灰度變化平緩非邊緣區(qū)域,I(i,j)和中心像素I(x,y)值比較接近,ωr接近于1,此時空間域核函數(shù)起主要作用,雙邊濾波器對圖像進行低通濾波去噪。而在圖像紋理和邊緣部分,由于窗口像素I(i,j)和中心像素I(x,y)差異較大,此時ωr要遠大于ωd,信號域濾波系數(shù)起主要作用。
雙邊濾波的主要特點就是對中心像素點距離近的、灰度差值比較小的像素賦予比較大的權(quán)值,有較大的平滑效果,對于距離遠、灰度差值比較大的像素權(quán)值較小。雙邊濾波仍然是基于高斯型的“跨邊緣”濾波算法,在補償或抑制噪聲的同時不可避免地對邊緣造成一定程度的平滑或模糊。本文提出的基于邊緣梯度角的“沿邊緣”自適應(yīng)窗口形狀濾波算法,在濾除噪聲的同時更好地保持邊緣特征。
為了克服噪聲抑制和邊緣保持的矛盾,出現(xiàn)了大量的窗口尺寸的優(yōu)化研究。大部分研究都是根據(jù)濾波窗口覆蓋范圍的像素情況,自動改變窗口的大小,當(dāng)窗口像素變化比較平緩時候,即像素的分布性比較平均的采用較大尺寸的濾波窗口以期獲得較高的噪聲抑制能力;而對于細節(jié)紋理較多的區(qū)域,采用較小的窗口,使得濾波更為細致,從而保持更多的邊緣細節(jié)。大部分算法都是基于條件與方法的窗口尺寸自適應(yīng)變化,很少見到窗口形狀基于邊緣自適應(yīng)變換的圖像濾波研究。本文提出了一種新的基于梯度角的窗口形狀自適應(yīng)算法。首先通過計算中心像素的梯度角,根據(jù)梯度角的方向計算邊緣方向。然后將傳統(tǒng)平行于圖像坐標(biāo)軸的濾波模板旋轉(zhuǎn)成平行于該像素邊緣方向,自適應(yīng)地改變窗口形狀,由正方形的濾波窗口,改為按照梯度角垂直的方向拉長的矩形窗口(即平行于邊緣的矩形窗口),同時降低窗口尺寸,從而最大限度地保持邊緣細節(jié)和紋理。
對于圖像I(x,y),利用Sobel梯度算子計算像素的梯度角θ,分別計算x軸方向梯度Gx和y軸方向梯度Gy:
(6)
(7)
式中:A表示輸入圖像。每一個像素點的梯度值可以通過以下公式計算梯度值G和梯度角θ:
(8)
(9)
根據(jù)計算的梯度角旋轉(zhuǎn)濾波模板,只需要根據(jù)梯度角的大小和方向做出形變,即可獲得自適應(yīng)的濾波窗口位置,從而得到與輸入圖像對應(yīng)的邊緣角度圖像E。
文獻[13]提出自適應(yīng)窗口形變的方式改進中值濾波,通過計算像素的前梯度和后梯度方式,建立沿梯度方向n×1大小的濾波模板序列,實現(xiàn)對車輪裂縫CT圖像的濾波。如圖1所示,本文根據(jù)圖像計算濾波模板中心像素I(x,y)的梯度角θ,然后獲取每一點像素垂直于梯度的方向,旋轉(zhuǎn)濾波窗口。同時按照梯度方向拉伸窗口,由原來的正方形尺寸,拉伸為矩形窗口,使窗口盡可能“沿邊緣”平均而不是“跨邊緣”平均,矩形窗口的長邊與邊緣方向平行。
(a) 傳統(tǒng)濾波 (b) 窗口形狀自適應(yīng)濾波圖1 基于梯度角的窗口自適應(yīng)形變
為了保證變形后濾波窗口與未變形窗口的濾波效果的延續(xù)性和一致性,設(shè)置變形前后的窗口面積相同,濾波窗口覆蓋像素坐標(biāo)個數(shù)一致。即原窗口尺寸為r×r,引入長寬比參數(shù)λ(0≤λ≤1),變形后窗口長l′,寬w′,計算公式如下:
l′=λr0≤λ≤1
(10)
(11)
確定窗口旋轉(zhuǎn)角度和長寬值后,即可確定變形后窗口覆蓋像素坐標(biāo)。設(shè)原窗口內(nèi)坐標(biāo)P(x1,y1),中心像素Q(x0,y0)。
x1=x0-l′/2+kk∈[0,l′]
(12)
y1=y0-w′/2+kk∈[0,w′]
(13)
圍繞中心像素Q(x0,y0)逆時針旋轉(zhuǎn)θ角度,其中,θ∈[-π/2,π/2],當(dāng)θ>0窗口逆時針旋轉(zhuǎn),當(dāng)θ<0為順時針旋轉(zhuǎn),旋轉(zhuǎn)后獲得新的坐標(biāo)P′(x,y)如圖2所示。
圖2 基于圖像坐標(biāo)系的像素旋轉(zhuǎn)
在圖像中坐標(biāo)和笛卡爾坐標(biāo)系不同,左上角為原點坐標(biāo),經(jīng)推導(dǎo)證明圖像旋轉(zhuǎn)后坐標(biāo)可由以下公式計算:
x=(x1-x0)cosθ-(y0-y1)sinθ+x0
(14)
y=y0-(x1-x0)sinθ-(y0-y1)cosθ
(15)
因此可獲取變形后的濾波窗口覆蓋的像素坐標(biāo)。這樣就由濾波窗口經(jīng)過拉伸旋轉(zhuǎn)映射到一個新的濾波窗口,再通過雙邊濾波算法,對圖像進行濾波處理。
基于梯度角的濾波窗口形變,因為需要計算圖像每個像素點的梯度角,同時又進行了濾波窗口的拉伸和旋轉(zhuǎn)計算,因此會增加改進后雙邊濾波的計算量。而對于大部分圖像來說,除了邊緣信息和紋理信息外,主要部分還是像素變化平緩的非邊緣區(qū)域,該部分區(qū)域像素的梯度值為小值,因為不存在邊緣信息,采用傳統(tǒng)的雙邊濾波,即可得到很好的濾波效果。因此本文算法在邊緣像素點采用自適應(yīng)形變窗口方法確定濾波模板,非邊緣區(qū)域仍然采用傳統(tǒng)濾波窗口,從而可以極大降低算法的計算量,提高濾波效率。
首先通過傳統(tǒng)的邊緣提取算法獲取原始圖像的二值化邊緣圖像。傳統(tǒng)的邊緣提取算法有很多,本文采用Sobel算子對尺寸為w×h原始圖像計算邊緣圖Ig(x,y)。邊緣圖像像素坐標(biāo)可分為兩個集合,邊緣像素點坐標(biāo)集合A和非邊緣像素點坐標(biāo)集合B:
(x,y)∈AIg(x,y)=1 1≤x≤w1≤y≤h
(16)
(x,y)∈BIg(x,y)=0 1≤x≤w1≤y≤h
(17)
根據(jù)引導(dǎo)圖像確定的坐標(biāo)集合,對原始圖像的像素點進行分類,對于邊緣像素點坐標(biāo)又可分為90°梯度角像素和非90°梯度角像素。對于90°梯度角像素因為和原濾波窗口高邊平行,因此不再對窗口進行變形,只做沿邊緣模板位移,同時滿足非直角梯度邊緣的像素點坐標(biāo),根據(jù)梯度角對濾波窗口進行拉伸變形。
考慮到在實際應(yīng)用中接近90°梯度角的邊緣,采用傳統(tǒng)雙邊濾波即可獲得較好的邊緣保持效果,本文引入權(quán)值δ,則確定可進行窗口形變像素坐標(biāo)集合A滿足:
(18)
式中:θ(x,y)是坐標(biāo)為(x,y)點梯度角;δ值限制在0≤δ≤0.1范圍,即將梯度角范圍在接近90°范圍的坐標(biāo)劃歸為集合B的范疇,即非邊緣坐標(biāo)集合。由邊緣引導(dǎo)圖來確定窗口自適應(yīng)形變,從而提高濾波效率,同時獲得較好的邊緣保持效果。
綜合以上算法,具體算法流程如下:
(1) 通過Sobel算子求出原始圖像I(x,y)二值化邊緣圖Ig,作為窗口形變引導(dǎo)圖。
(2) 計算原圖像各像素點梯度角θ(x,y),根據(jù)公式判斷邊緣點像素坐標(biāo)集合A。
(3) 遍歷圖像坐標(biāo),當(dāng)中心像素坐標(biāo)不屬于集合A,直接跳轉(zhuǎn)至步驟(5)。
(4) 當(dāng)中心坐標(biāo)(x,y)屬于集合A,則拉伸窗口窗長寬比,按照坐標(biāo)點梯度角θ(x,y)旋轉(zhuǎn)濾波窗口,確定中心坐標(biāo)一側(cè)的沿邊緣窗口覆蓋范圍,即確定旋轉(zhuǎn)后變形窗口覆蓋坐標(biāo)區(qū)域。
(5) 根據(jù)雙邊濾波公式確定權(quán)重系數(shù)ωr和ωd的值,再計算中心像素J(x,y)。
(6) 進行PNSR和SSIM指標(biāo)評價,效果好,直接輸出結(jié)果圖;效果不好,將J(x,y)作為原始圖像I(x,y)重復(fù)步驟(1)。
實驗環(huán)境采用Intel CORE i7雙核2.4 GHz,內(nèi)存4 GB內(nèi)存PC機,在MATLAB R2016a平臺下完成。
傳統(tǒng)的雙邊濾波采用的高斯核的濾波算法,通過考慮像素點與周圍像素相似性和距離關(guān)系來對高斯噪聲進行有效平滑的同時保持圖像邊緣。但當(dāng)噪聲比較嚴(yán)重時,為了提高平滑去噪效果需要增大濾波窗口的大小,這使得去噪能力增強的同時,邊緣會出現(xiàn)模糊和光環(huán)效應(yīng),因此理論上使用改進算法可以有效去除噪聲并且保留邊緣。為了驗證算法效果,圖3給出了均值濾波、高斯濾波、雙邊濾波和本文改進算法對噪聲圖像的處理結(jié)果對比,采用標(biāo)準(zhǔn)圖像lena,添加均值為0,方差為0.01的高斯噪聲,進行去噪對比。
(e) 雙邊濾波 (f) 本文算法圖3 4種算法去噪圖像對比
為了驗證結(jié)果的真實效果,濾波算法都采用尺寸為5×5濾波窗口,如圖3所示,具有噪聲的測試圖片在經(jīng)過濾波處理后,都一定程度抑制了噪聲,其中雙邊濾波和本文算法都具有較好的邊緣保持效果,而且效果一致。表1、表2針對4種算法進行了峰值信噪比PSNR和結(jié)構(gòu)相似性SSIM的數(shù)值對比,模板窗口的大小都選擇5×5,雙邊濾波和改進算法的信號域參數(shù)和空間域參數(shù)分別為0.3和5。
表1 圖像去噪后4種算法PSNR對比
表2 圖像去噪后4種算法SSIM對比
可以看出:均值算法PSNR值比較穩(wěn)定但是SSIM值明顯在各個階段的噪聲中都比較低;高斯濾波相比較改進算法和雙邊濾波算法的SSIM值稍高,但是隨著高斯噪聲方差增大,兩種指標(biāo)數(shù)值下降比較明顯。本文算法比較其他3種算法,PSNR值比較高而且降低幅度小,SSIM值也比較穩(wěn)定。因此可以得出本文算法相比較于雙邊濾波算法在具有更好的去噪能力。
為了驗證本文算法在去噪同時具有很好的邊緣保持的能力,采用兩幅標(biāo)準(zhǔn)噪聲測試圖,分別是被噪聲污染的規(guī)則邊緣圖和不規(guī)則邊緣圖。用均值濾波、本文算法與雙邊濾波對圖像進行濾波測試,濾波窗口選擇9×9,效果對比如圖4所示。
(a) 測試原圖 (b) 均值濾波
(c) 雙邊濾波 (d) 本文算法圖4 測試圖去噪效果對比
根據(jù)圖4的濾波效果比較,均值濾波在去除噪聲的同時,邊緣出現(xiàn)了明顯模糊現(xiàn)象,邊緣保持能力比較差。本文算法和雙邊濾波都具有去除高斯噪聲的能力,同時對于規(guī)則和不規(guī)則的邊緣也具有較好的保持能力。為了驗證在提高去噪能力的同時,雙邊濾波和本文算法的邊緣保持能力,分別采用5×5、15×15、30×30、50×50四組不同尺寸的濾波窗口大小,對測試圖像進行濾波,如圖5所示,左側(cè)為雙邊濾波算法,右側(cè)為本文算法。
(a) 窗口5×5
(b) 窗口15×15
(c) 窗口30×30
(d) 窗口50×50圖5 不同尺寸濾波窗口測試圖濾波效果對比
可以看出,隨著濾波窗口尺寸的增加,雙邊濾波和本文算法去除噪聲的能力逐漸增強,噪聲被抑制,在窗口尺寸30×30時,可以看出大部分噪聲已經(jīng)被去除。但是雙邊濾波窗尺寸的增大使得的圖像的邊緣逐漸模糊,邊緣出現(xiàn)光暈效應(yīng),保持能力逐漸降低。如圖6所示,取窗口30×30濾波效果進行細節(jié)對比可以明顯看到,本文算法在保持較好去噪能力的同時,大大抑制了邊緣光暈效應(yīng),濾波后的邊緣清晰。通過實驗可知,本文改進的窗口自適應(yīng)形變?yōu)V波算法在濾波效果增強的同時仍然具有很好邊緣保持能力。
(a) 雙邊濾波
(b) 本文算法濾波圖6 兩種算法濾波邊緣保持細節(jié)效果
為了進一步驗證針本文算法去除噪聲和邊緣保持的能力,實驗選用標(biāo)準(zhǔn)圖像Peppers和Blueeye圖,大小為512×512,采用具有較好邊緣保持能力的引導(dǎo)濾波算法、L0范數(shù)平滑濾波算法(后簡稱L0算法)、雙邊濾波與本文改進算法進行比較。分別給出了4種算法對加入椒鹽噪聲和高斯噪聲測試圖的處理效果,并獲取濾波后圖像的PSNR和SSIM值。其中引導(dǎo)濾波窗口參數(shù)選擇為30,雙邊濾波和本文算法都采用30×30濾波窗口,信號域參數(shù)和空間域參數(shù)分別為0.8和5,并給出濾波相應(yīng)的結(jié)構(gòu)相似性分布圖,比較保邊效果。
圖7為4種算法對無噪聲污染的Pepers圖像進行濾波,并對比其結(jié)構(gòu)相似性局部值的分布圖,像素點數(shù)值越小,表示與原圖差別越大。表現(xiàn)在分布圖中,黑色部分越多,代表濾波后的圖像灰度值與原圖像差別越大,因此通過結(jié)構(gòu)相似性分布圖對比可以判斷邊緣保持形況和濾波效果的優(yōu)劣??梢钥闯?,4種算法在濾波的同時均擁有較好的保邊性能,其中引導(dǎo)濾波和L0算法在平滑和邊緣保持方面具有更好的表現(xiàn)。
(a) 原圖 (b) 引導(dǎo)濾波 (c) L0平滑濾波
(d) 雙邊濾波 (e) 本文算法 圖7 噪聲未污染圖片濾波效果
圖8為加入3種強度的噪聲污染圖,分別為密度5%椒鹽噪聲與方差0.05高斯噪聲、密度10%椒鹽噪聲與方差0.1高斯噪聲、密度20%椒鹽噪聲和方差0.15高斯噪聲,噪聲污染情況逐步加強。圖9、圖10所示分別為4種算法對不同噪聲強度的Peppers圖和Blueeye圖濾波效果比較??梢钥闯?,L0算法和引導(dǎo)濾波算法結(jié)構(gòu)相似性局部值的分布圖90%是深色區(qū)域,只有邊緣部分顏色稍淺,可以判斷雖然這兩種算法在對噪聲未污染圖像處理中具有較好的平滑和邊緣保持效果,但是對于噪聲污染的圖像噪聲抑制能力比較差,并且隨著噪聲強度的增強,噪聲濾除效果越差。雙邊濾波在低噪聲強度、抑制噪聲和邊緣保持都有不錯的效果,但是隨著噪聲強度增大,邊緣光暈現(xiàn)象逐漸嚴(yán)重。本文算法在各種噪聲強度下的濾波效果均好于其他算法,結(jié)構(gòu)相似性局部值的分布圖整體顏色都好于其他算法,并且在噪聲很強的情況下,本文算法仍然具有較好的噪聲濾除效果和邊緣保持效果。
圖8 3種噪聲強度污染圖
(b) 噪聲密度10%方差0.1
(c) 噪聲密度20%方差0.15圖9 不同噪聲強度下各種算法對Peppers圖的處理比較
(a) 噪聲密度5%方差0.05
(b) 噪聲密度10%方差0.1
為了量化本文算法去噪保邊能力,實驗分別給出4種算法對不同方差大小高斯噪聲和不同密度椒鹽噪聲污染的Pepper圖和Blueeye圖去噪后對應(yīng)的PSNR和SSIM計算值的折線示意圖,如圖11、圖12所示。噪聲由高斯噪聲和椒鹽噪聲污染,強度分別為方差0.05密度5%、方差0.1密度10%、方差0.15密度20%、方差0.2密度40%、方差0.2密度60%,為了制圖方便折線圖X軸僅以椒鹽噪聲密度對應(yīng)值表示。綜合PSNR和SSIM數(shù)值可以看出,雖然4種算法對于沒有噪聲的圖片濾波效果和保邊能力相差不多,但是隨著噪聲強度增大,引導(dǎo)濾波和L0平滑濾波濾波效果性能下降速度很快,而雙邊濾波和改進算法性能下降比較慢,同時改進算法整體性能又優(yōu)于雙邊濾波算法。改進算法PSNR值和SSIM值在噪聲密度5%~10%之間相比較傳統(tǒng)雙邊濾波平均提升2.4%和2.8%,在噪聲密度10%~20%之間平均提升了8.6%和2.9%,在噪聲密度20%~40%之間平均提升了13%和8.3%,綜合性能PSNR值平均提升8%,SSIM值平均提升4.6%。因此可以得出本文提出的算法在濾波效果和保變邊能力上都優(yōu)于其他3種算法,特別是隨著噪聲強度的增大,本文算法仍有著優(yōu)良的表現(xiàn),這一數(shù)據(jù)也和主觀視覺感受相一致。
(a) PSNR
(b) SSIM圖11 Peppers對應(yīng)的PSNR和SSIM折線圖
(a) PSNR
(b) SSIM圖12 Blueeye對應(yīng)的PSNR和SSIM折線圖
傳統(tǒng)的雙邊濾波在濾除噪聲的同時對邊緣有一定的保持能力,但這種保持能力僅僅局限于噪聲強度不高的情況。當(dāng)噪聲變大時,噪聲會對原輸入圖像的結(jié)構(gòu)造成嚴(yán)重的破環(huán),從而影響噪聲抑制的能力。綜合各種邊緣保持算法,本文提出了一種基于邊緣引導(dǎo)圖像的窗口自適應(yīng)形變的雙邊濾波算法,使其對于噪聲比較強的圖像區(qū)域也具有好的濾波性能和邊緣保持的能力。
算法在MATLAB平臺下進行了實驗分析,從主觀視覺和客觀數(shù)據(jù)兩方面驗證了本文算法的濾波保邊性能。實驗共對100幅圖像處理領(lǐng)域常用的標(biāo)準(zhǔn)圖片和測試圖片進行了濾波處理,實驗結(jié)果表明,在不同等級方差的高斯噪聲和不同密度椒鹽噪聲污染的情況下與經(jīng)典邊緣保持較好的引導(dǎo)濾波、L0濾波算法和傳統(tǒng)雙邊濾波相比,本文算法濾波性能和保邊能力更好,PSNR平均值提升13%左右,SSIM平均值提升4.6%左右,且對受到高強度的高斯噪聲和椒鹽噪聲污染的圖像具有較好的邊緣保持能力。本文算法雖然可以在去除噪聲的同時有效地保持原圖的邊緣特征,但算法的計算量還是有所增加,特別是對于PSNR和SSIM值處理不符合要求的情況下,進行了迭代處理,使得算法復(fù)雜度提升。后期可以針對算法效率做進一步的優(yōu)化,例如濾波窗口在邊緣區(qū)域的形變由現(xiàn)行的像素平移轉(zhuǎn)換改為區(qū)域轉(zhuǎn)換,規(guī)則邊緣不再進行形變,控制迭代次數(shù)等方法進一步提高算法的效率和實時性。