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