陳葉飛 趙廣社 李國齊 王鼎衡
噪聲是正確辨識圖像信息的一個障礙,在對圖像進行識別、復原或者分割等操作之前,需要對噪聲圖像進行去噪以提供清晰、準確的圖像.目前,已有大量的圖像去噪算法[1?2]被提出,圖像的去噪效果和去噪時間也在不斷的改善.一般來說,根據具體的去噪算法所在計算域的不同,可以將去噪算法分為變換域方法和空間域方法.
變換域方法是將直觀的圖像灰度值域信息通過某種方法變換到目標域內,然后對目標域中的信息進行操作,最后再通過逆變換將信息轉換回圖像本身所在的空間域,如傅里葉變換、小波變換等.雖然變換域方法可以有效去除噪聲,保留圖像的邊緣和紋理信息,但它們也引入了由吉布斯現象[3]造成的振鈴偽影,嚴重影響了圖像的主觀視覺質量.然而,空間域方法在抑制噪聲的同時,幾乎很少產生振鈴偽影.近些年,Buades 等[4]提出的非局部均值的圖像去噪算法,充分利用了圖像內容的自相似性,通過像素點間相似性權重的加權平均達到去噪的目的.非局部均值算法在去除噪聲的同時,較好地保持了原始無失真圖像的細節信息,但是NLM 算法仍存在一些不足:比如算法的時間復雜度過高,導致運行時間過長而無法應用到實際場景;去噪效果過度依賴算法參數的選擇等.具體而言,近年來基于非局部均值去噪(Non-local means,NLM) 算法的改進,主要集中在優化算法的時間復雜度和算法的去噪效果這兩個角度.
1) 針對算法時間復雜度的改進,大致可以劃分為以下4 類:a) 減少不相似鄰域塊權重的計算.Mahmoudi 等[5]通過計算圖像子塊的平均灰度和平均梯度進行預分類,剔除不相似的鄰域塊.雖然平均梯度可以反映圖像的細節信息,但是對噪聲過于敏感.于是,Coupe 等[6]采用圖像子塊的平均灰度和局部方差對鄰域進行選擇,此方法雖然可以反映像素灰度值的變化,但仍無法表達圖像的邊緣、紋理等信息.上述兩種方法雖然在一定程度上減少了時間復雜度,但是降低了鄰域塊預選擇的有效性,影響了圖像去噪的效果.因而,Vignesh 等[7]研究采用了概率統計的方法濾除不相似的圖像子塊,改善了鄰域估計的可靠性.b) 減少圖像數據的維度.Tasdizen[8]提出的基于主成分分析的非局部均值圖像去噪算法,將圖像子塊投影至低維特征向量空間,并選取一定維數的特征向量計算相似權重系數,在減少計算量的同時提高了去噪效果,缺點在于圖像的向量化操作在一定程度上損失了圖像空域結構的信息.c) 蒙特卡洛隨機采樣的思想.Chan 等[9]利用蒙特卡洛隨機采樣的思想,根據設定的模型隨機選取鄰域塊的距離,通過計算鄰域塊距離的小子集來加速算法,對于高維度的圖像數據的加速尤為明顯;進一步,Karam 等[10]利用蒙特卡洛隨機卷積核代替固定的值域核,求取多個NLM 的平均輸出,大幅度降低了算法在處理高維度圖像時的時間復雜度.d)此外,Wang 等[11]利用快速傅里葉變換和積分圖來加速圖像鄰域塊間距離的計算,提升了去噪的速度.
2) 針對算法去噪效果的改進,大致可以劃分為以下3 類:a) 采用更合理、魯棒性更強的鄰域塊間的相似度度量.Chaudhury 等[12]采用歐氏中值替代歐氏均值作為鄰域塊距離的度量,克服了NLM 算法易模糊圖像邊緣的缺點,尤其適用于噪聲較大的情況;Wu 等[13]提出的PNLM (Probabilistic nonlocal means)采用卡方分布的概率密度函數代替傳統NLM 算法的權重,更好地表示鄰域塊間的相似性;Deledalle 等[14]針對不同特征的區域,采用不同幾何形狀的圖像鄰域塊代替原先的矩形鄰域塊,在減少時間復雜度的同時提升了去噪的效果;Grewenig等[15]利用旋轉不變性在塊匹配的過程中將候選塊旋轉一定的角度來與中心鄰域塊匹配,提升了算法的魯棒性.除了利用鄰域塊的幾何特性,Wu 等[16]和Nguyen 等[17]分別從不同的角度修正了鄰域塊中心像素的權重,提升了去噪的效果.b) 算法參數的優化.Salmon[18]提出一種雙參數優化方法,對非局部均值算法的搜索窗大小和中心鄰域塊的權重進行優化;Van 等[19]利用斯坦無偏風險估計[20]作為圖像內容的度量來擬合均方差(Mean square error,MSE)的變化趨勢,從而通過搜索SURE 最小值時所對應的參數來選擇非局部均值算法的濾波參數.c) 結合稀疏表示、低秩分解等理論.Dong 等[21]聯合局部稀疏性,提出一種基于非局部的中心稀疏表示模型,利用圖像的自相似性獲得原始無失真圖像稀疏編碼的估計系數,然后使得降質圖像的稀疏編碼系數不斷地逼近這些估計系數,取得了很好的去噪效果;May 等[22]聯合低秩分解理論,提出了一種通過計算非局部均值算子的低階近似值,提升了去噪效果;Dabov 等[23]結合頻域濾波提出了塊匹配三維(Block-matching and 3D filtering,BM3D)協同濾波算法,具有較強的紋理細節保持能力,是目前常被用來作為性能對比的基準算法,然而,BM3D算法在噪聲等級較大時,易引入振鈴偽影,嚴重影響去噪圖像的視覺質量;Li 等[24]結合小波分析理論提出了無偏距離的自適應非局部均值算法,進一步提升了去噪的效果.
然而,上述算法并沒有解決以下兩個問題:
1)在高斯噪聲等級較大時,由于噪聲對鄰域塊計算的影響,NLM 算法對圖像中不相似的鄰域塊分配了過大的權重,容易模糊圖像的邊緣,極大地影響了圖像的去噪效果.
2)同時,對于不同噪聲等級的噪聲圖像,NLM算法選取的參數,比如搜索窗的大小、鄰域塊的大小和濾波系數等通常是固定且無法根據圖像的內容變化做出自適應的調整.
針對上述問題,本文首先引入基于可微分硬閾值函數的非局部均值算法,并結合快速傅里葉變換,初步提升算法的去噪效果和速度;然后,提出一種多重可微分硬閾值函數的非局部均值算法的融合方式,即采用蒙特卡洛隨機搜索的思想,以一定的概率隨機變換搜索窗和鄰域塊等組合參數,得到多個去噪結果并對其隨機線性組合,而后采用基于SURE 特征加權的移動平均濾波算法,抑制組合圖像數據的隨機浮動;最后,利用噪聲圖像和移動平均濾波后圖像的SURE 值來無監督地優化不同去噪結果的線性組合系數.具體而言,本文主要有以下三個貢獻點:
1)針對問題1,提出了一種可微分的硬閾值函數,并通過自適應的硬閾值來過濾不相似或者相似度較低的圖像鄰域塊.
2)針對問題2,提出了一種多重可微分硬閾值函數的非局部均值算法的融合方式,并解決了在未知原始無失真圖像下,利用SURE 值來無監督、自適應地確定不同去噪圖像的線性組合系數的問題.
3)在公開數據集上,本文提出的UM-NLF 算法去噪結果的峰值信噪比PSNR 超過了NLM 及其大部分改進算法,在部分圖像上超過了BM3D 算法.同時,相比于BM3D 算法,UM-NLF 算法產生了更少的振鈴偽影,在一定程度上改善了圖像的主觀視覺質量.
本文其余章節的安排如下:第1 節主要介紹傳統的非局部均值算法的去噪原理.第2 節介紹無監督多重非局部融合的圖像去噪方法的流程,并詳細介紹了流程中各部分的局部細節.第3 節介紹本文提出的算法在不同高斯噪聲等級的噪聲圖像上的實驗結果和分析.第4 節對本文的方法進行總結,并提出對未來工作的思考.
如引言所述,非局部均值算法主要是去除高斯加性白噪聲,以灰度圖像為例,其噪聲圖像的模型為

其中,Y為含有噪聲的圖像,X為原始無失真的圖像,U為服從均值為零,標準差為σ的高斯噪聲.
傳統的非局部均值去噪算法的具體執行流程如圖1 所示.其中,m、n分別表示灰度噪聲圖像的高度和寬度,X(i)、X(j) 分別表示第i個像素點的灰度值和第j個像素點的灰度值,Yi、Yj分別表示以i為中心點的噪聲鄰域塊和以j為中心點的噪聲鄰域塊,wi,j表示第i個像素點與第j個像素點之間的相似性權重.令X? 表示NLM 的去噪結果,則對于任意像素點i=(i1,i2)∈I,為含噪圖像Y中所有與其具有相似鄰域結構的像素點的加權平均,其相應的數學模型為

圖1 傳統非局部均值算法的執行流程圖Fig.1 Schematic diagrams of non-local means denoising algorithm

式中,h為濾波參數,其取值與圖像的噪聲等級和圖像的內容有關,若h越大,則算法的去噪水平越高,同時也越容易模糊圖像的邊緣細節;若h越小,則圖像的邊緣細節保留的越多,然而也會殘留更多的噪聲點,具體可如圖2 所示.

圖2 參數 h 對算法去噪效果的影響Fig.2 The effect of parameter h on the denoising effect of the algorithm
此外,在式(2)中,Si表示以i為中心,半徑大小為Swb的搜索窗(Search window block,SWB),Wi為歸一化因子且Wi=d(i,j)表示以i為中心的鄰域塊Yi與以j為中心的鄰域塊Yj的高斯加權歐氏距離平方的度量,即:

式中,P={(p1,p2)||p1|≤Np,|p2|≤Np}是半徑大小為Np的鄰域塊(Neighborhood patch,NP),且Gα(p)為標準差為α的高斯核:

其中,E(·) 表示數學期望,式(5)保證了這種相異性度量在噪聲圖像和原始無失真圖像概率統計意義上的一致性.因此,NLM 算法基于非局部的和圖像塊的去噪策略,在去除高斯加性白噪聲上具有較強的性能.
NLM 算法對圖像中相似度較低的圖像鄰域塊分配了過大的權重,容易模糊圖像的邊緣,同時NLM 算法選取的參數,比如搜索窗的大小、鄰域塊的大小以及濾波參數等通常是固定的且無法根據圖像內容的變化做出自適應的調整.針對上述問題,本文提出一種無監督多重非局部算法融合(UMNLF)的圖像去噪方法,即采用蒙特卡洛隨機搜索的思想,以一定的概率隨機變換搜索窗等組合參數,從而得到多個去噪結果并對其隨機線性組合,并利用SURE 無監督地優化不同去噪結果的組合系數,具體流程可如圖3 所示.下文首先介紹了一種基于可微分硬閾值函數的非局部均值算法(NLM-DT),并結合快速傅里葉變換,作為基礎模型用來初步提升算法去噪的效果和速度.

圖3 UM-NLF 去噪算法的整體流程圖Fig.3 The overall flowchart of the UM-NLF denoising algorithm
NLM 算法利用高斯加權歐氏距離來度量搜素窗內鄰域塊間的圖像結構相似度.在噪聲等級較低的情況下,可以減少噪聲對鄰域塊中目標像素點的干擾;然而由于高斯核函數具有各向同性的特征,在噪聲等級較大時,算法對原始無失真圖像中原本并不相似或者相似度較低的鄰域塊中目標像素點分配了過大的相似性權重,往往會模糊圖像的邊緣和紋理等細節結構部分,在一定程度上影響了算法去噪的效果.
為了濾除不相似或者相似度較低的圖像鄰域塊,本文首先引入了一種硬閾值函數fθ(t),θ ∈[0,1],對圖像鄰域塊的相似性權重進行硬閾值的截斷,具體的硬閾值函數為

其中,硬閾值截斷前后相似性權重的對比可如圖4所示.

圖4 硬閾值加入前后相似權重值的對比Fig.4 Comparisons of similar weight values before and after adding a hard threshold
接著,將式(6)代入式(2),化簡求得去噪后目標像素點i的灰度值(i) :

此時,為了求解優化后的硬閾值參數θ,通常會最小化去噪后的圖像與原始無失真圖像的各個像素值的均方誤差(Mean square error,MSE),即:

式中,|I|為噪聲圖像的大小.
在實際情況下,由于無法預先得到一張含噪圖像Y的原始無噪聲圖像X,所以無法求解得到去噪圖像和原始無失真圖像X的MSE.然而,根據斯坦無偏估計(SURE)理論[20],其在沒有原始無失真圖像作為參考的情況下,仍可以真實反映去噪后圖像的質量.一般而言,在標準差為σ的高斯白噪聲條件下,SURE 具體的模型表達式為

此時,如果繼續采用上述提出的fθ(t),是無法計算得到其偏導數的,所以本文構造了一種可微分的硬閾值函數來逼近式fθ(t),優化后的硬閾值函數fθ,λ(t) 的數學表達式如下:

其中,λ表示可微分硬閾值函數的調節參數.若λ的取值越大,則fθ,λ(t) 越接近于fθ(t),即:

為了充分地驗證式(11)的相關結論,本文控制硬閾值參數θ不變,繪制并對比了在不同調節參數λ下,可微分硬閾值函數的分布曲線,具體可如圖5所示.

圖5 可微分的硬閾值函數Fig.5 Differentiable hard threshold function
可以發現:若選取的λ值越大,本文所構造的可微分硬閾值函數的分布曲線則越接近于fθ(t) 的曲線,進而驗證了式(11)的結論.
然后,本文將可微分的硬閾值函數式(10)代入式(7),則去噪后目標像素點i的灰度值X?(i) 可進一步轉化為

基于此,結合可微分的硬閾值函數,本文提出了一種基于可微分硬閾值函數的非局部均值算法(NLM-DT),來過濾不相似或者相似度較低圖像鄰域塊的權重,初步提升了算法的去噪效果,具體的執行流程如算法1 所示.
算法1.NLM-DT

計算矩形鄰域塊Yi與Yj間的相似性權重:

end for
對于一幅m×n大小的灰度圖像,NLM-DT 算法的時間復雜度為 O(mn(2Swb+1)2(2Np+1)2),其中,Swb表示搜索窗的半徑大小,Np表示鄰域塊的半徑大小.為了提升NLM-DT 算法的執行速度,本文進一步結合文獻[11]提出的快速傅里葉變換FFT 來加速高斯核函數和歐氏距離的卷積計算,減少算法的時間復雜度,下文簡稱為Fast NLMDT算法,具體的執行流程如算法2 所示,優化后的時間復雜度為
算法2.Fast NLM-DT

上一節提出了一種基于可微分硬閾值函數的非局部均值算法(NLM-DT),并結合快速傅里葉變換,提升NLM-DT 算法的執行速度.然而對于不同高斯噪聲等級的噪聲圖像,Fast NLM-DT 算法選取的參數,比如搜索窗的大小、鄰域塊的大小以及濾波參數等,往往是固定的且無法根據噪聲圖像內容的變化做出自適應的調整.
文獻[14]利用主成分分析的方法對圖像特征進行降維,而后對不同形狀鄰域塊去噪后的結果進行局部的融合,然而此算法的局限性在于對局部鄰域塊SURE 精度的評估不足,從而造成融合權值的不穩定.因此,本文在文獻[14]工作的基礎上,考慮了全局圖像的SURE 估計值,并借鑒“Drop Connect”[25]的思想:在神經網絡各個網絡層節點與節點連接的過程中,將每個節點與其相連節點的連接權重以一定的概率置零,故提出了一種多重可微分硬閾值函數的非局部均值算法的融合方式,即利用蒙特卡洛隨機搜索的思想,以一定的概率隨機變換搜索窗、鄰域塊和濾波參數等組合參數,從而得到多個去噪結果并對其進行隨機線性組合,具體的執行步驟包括組合參數、隨機線性組合和加權移動平均濾波.
2.2.1 組合參數
一般而言,對于不同高斯噪聲等級的噪聲圖像,根據不同大小的搜索窗、鄰域塊、高斯核的系數、濾波參數和自適應的硬閾值參數,可以獲取不同的去噪結果.因而,本文不選取某一類參數的全局最優值或局部最優值,而是選取不同較優參數的組合,進而利用Fast NLM-DT 算法串聯生成Nn個去噪圖像,對應的結果分別是:

同時,每個去噪圖像分別對應一個圖像質量的客觀評估值SURE,以此來估計去噪圖像與原始無失真圖像的真實MSE,即:

其中,r=1,2,3,···,Nn,同時Nn表示串聯生成的去噪結果的數目.
2.2.2 隨機線性組合
借鑒“Drop Connect”的思想,本文利用蒙特卡洛隨機采樣(Monte Carlo random sampling,MCRS) 的思想,在一定的概率下隨機地選取Nr(Nr ≤Nn)個不同參數組合的Fast NLM-DT 算法的去噪結果,并對它們進行線性組合.需要注意的是,為了不丟失原始不失真圖像的紋理、邊緣等細節特征,故在每次蒙特卡洛隨機組合的過程中,本文也將噪聲圖像作為線性組合的一部分,具體如下:

其中,cz表示第z個去噪結果的線性組合系數.
然后,為了充分地提取圖像的特征,本文重復上述線性組合步驟,進行Nmc次隨機生成,即可得到如下的去噪結果:

其中,q=1,2,3,···,Nmc,同時,Nmc表示蒙特卡洛隨機組合的次數.
2.2.3 加權移動平均濾波
由于蒙特卡洛隨機采樣具有不確定性,所以在多幅圖像的隨機線性組合過程中容易引入額外的抖動噪聲.針對上述問題,本文提出了一種基于SURE特征加權的移動平均濾波(Weighted moving average filtering,WMAF)算法,旨在抑制動態圖像組合中隨機產生的抖動噪聲,從而保留圖像的紋理和邊緣等結構細節信息,盡可能地減少圖像數據量的丟失.
對于Nmc個非平穩圖像數據假設每Nwm個相鄰圖像數據在小區間內是接近平穩的,即其均值接近于常數,于是可以利用每Nwm個相鄰圖像數據的平均值來表示該Nwm個圖像數據中任意一個圖像數據.實際上,在求解局部圖像數據均值的過程中,每個去噪圖像SURE 值大小也不相同,比如,若去噪圖像的SURE 值越大,則表示此圖像的去噪效果不甚理想,若SURE 值越小,則說明此圖像的去噪效果越佳.
因此,根據上述情況,本文以全長為Nmc個圖像數據為對象,不斷滑動Nwm個相鄰圖像數據并做加權平均.為了便于表示,令L=Nwm ?1,則移動平滑后的圖像為

其中,s=1,2,···,Nmc ?Nwm+1,Nwm表示加權移動平均濾波算法選取的基本圖像數目單元.同時,在式(14) 中,ω(s+l) 為權重系數,表示第s+l個圖像在Nwm個圖像中所占的比重.若該圖像的SURE值越大,則賦予其的權重系數越小,即:

需要指出的是,加權移動平均濾波算法的參數選擇將直接影響圖像的平滑效果,若移動平滑時所采用的圖像數據Nwm過大,則可能過度抑制圖像隨機組合產生的噪聲,圖像中的高頻變化部分(比如圖像的邊緣和紋理細節等)會被同時弱化,進而損失圖像的局部細節特征;反之,若Nwm取的過小,則可能對低頻的噪聲沒有進行充分的平滑,因此應該根據圖像數據的實際變化情況,合理地選取加權移動平均濾波的參數Nwm.一般而言,移動平均濾波的參數Nwm選取的范圍在 6 ~12 左右,而在UMNLF 算法中取8 時效果較優.
上一節提出了一種多重可微分硬閾值函數的非局部均值去噪算法的融合方式,包含組合參數、隨機線性組合和加權移動平均濾波這三個部分.然而并未給出多重非局部算法對應的去噪結果的線性組合系數的優化方案.
因此,本節在此基礎上,推導并證明了關于UM-NLF 算法的SURE 模型表達式,旨在解決自適應地確定多重非局部算法中不同去噪圖像的線性組合系數問題.接下來,本節首先解決未知原始無失真圖像下對NLM-DT 算法去噪后圖像質量的無偏估計問題,然后利用上一節加權移動平均濾波后的圖像和噪聲圖像的SURE 值,優化多個Fast NLM-DT 算法對應的不同去噪圖像的線性組合系數,從而達到無監督優化的目的.
2.3.1 NLM-DT 算法的SURE 模型表達式
為了在未知原始無失真圖像的情況下對NLMDT 算法去噪后圖像的質量進行無偏估計,本節引入了斯坦無偏估計(SURE) 理論[20],給出了針對NLM-DT 算法去噪結果的SURE 模型的一般表達式.
定理1.令X(i)∈R,i ∈I,U(i)~N(0,σ2),Y(i)=X(i)+U(i),噪聲標準差σ已知且X?(i) 表示從噪聲觀測Y(i) 中預測的估計值,故可求得估計值X?(i)與實際值X(i) 的均方誤差MSE 的斯坦無偏估計SURE 值,即:其中,Si表示以i為中心,半徑大小為Swb的搜索窗,wi,j表示第i個像素點與第j個像素點之間的相似性權重,Gα(p) 為標準差為α的高斯核,以及h為濾波參數.同時,

證明.首先,根據NLM算法的基礎模型,如式(2),化簡求得去噪后目標像素點i的灰度值,即:

然后,根據求導法則和鏈式法則,對于任意的目標像素點i,計算求解關于Y(i) 的偏導數,化簡可得:

進一步,由于

所以根據鏈式法則,可求得:

式(21)中,

其中,λ表示可微分硬閾值函數的調節參數,θ表示硬閾值參數.同時,針對wi,j關于Y(i) 的偏導數,可分為以下兩種情況進行討論:若i?j ∈P,則

最后,本節將φ(wi,j) 關于wi,j的偏導數,如式(22)的結果表達式,以及wi,j關于Y(i) 的偏導數,如式(23)和式(24)的結果表達式依次代入式(19),即可化簡得到式(16)中的□
2.3.2 UM-NLF 算法的SURE 模型表達式
在求得NLM-DT 算法去噪結果的SURE 模型的一般表達式后,為了自適應地確定多重非局部算法中不同去噪圖像的線性組合系數,本節進一步計算加權移動平均濾波后的圖像與噪聲圖像的SURE模型表達式,具體如下:

為了優化Fast NLM-DT 算法得到的多個去噪結果的線性組合系數,本節求解SURE 的最小值,即利用“梯度下降”的思想將SURE 值沿著UMNLF 算法流程的反方向進行梯度的傳遞.相應地,通過求解式(25)關于cz的偏導數,化簡得到如下的表達式:

式中,ω(s+l) 為權重系數,表示第s+l個圖像在Nwm個圖像中所占的比重.同時,Nwm表示加權移動平均濾波算法選取的基本圖像數目單元.
由于

所以對式(26)進一步化簡,得到:

于是,推導得出如下的線性系統方程:

其中,s=1,2,···,Nmc ?Nwm+1,Nmc表示蒙特卡洛隨機組合的次數,以及Nwm表示加權移動平均濾波算法選取的基本圖像數目單元.
綜上所述,本文利用加權移動平均濾波后的圖像和噪聲圖像的SURE 值,推導得出與噪聲圖像、去噪圖像和加權移動平均濾波后圖像有關的線性系統方程式(29),以此來優化多個Fast NLM-DT 算法產生的不同去噪圖像的線性組合系數,從而達到無監督優化的目的.具體的,無監督多重非局部融合(UM-NLF)的圖像去噪方法的具體執行流程,如算法3 所示.
算法3.UM-NLF

本節主要從客觀和主觀指標出發,驗證提出的NLM-DT 算法與UM-NLF 算法的圖像去噪性能,并與原始NLM[4]算法,PNLM[13]、NLM-SAP[14]、LJS-NLM[16]、ANLM[26]等具有代表性的非局部均值改進算法,以及目前傳統圖像去噪性能最好的非局部算法BM3D[23]進行對比.同時,本文也將UM-NLF算法與有監督式神經網絡圖像去噪方法TNRD[27]和DnCNN-S[28],無監督式神經網絡圖像去噪方法GCBD[29]和Noise2Void[30]進行實驗對比和分析.其中,每個算法中都包含了自適應的調整操作和大量的參數設置,在進行對比的過程中,所有的對比算法均采用原作者提供的原始代碼,同時算法的參數均選取相應論文中的最佳參數.
為了評估算法對含有高斯加性白噪聲灰度圖像的去噪性能,本文以Classic13 數據集和BSD68[31]數據集為實驗對象.其中,Classic13 數據集是由13 張被廣泛使用的灰度圖像數據,包括7張大小為256×256 的Cameraman (C.man),House,Peppers,Starfish,Monarch,Airplane 和Parrot,以及6 張大小為512×512 的Lena,Barbara,Boat,Man,Couple 和Baboon.BSD68 數據集包含68 張不同大小的灰度圖像數據.評價指標主要采用峰值信噪比PSNR (dB),結構相似度[32](Structural similarity index,SSIM)和算法的運行時間(秒).
在實驗運行環境的配置方面:算法的所有對比實驗均在一臺配置為Inter(R) Core(TM) i7-6 700 CPU 和8G B RAM 的電腦上運行,操作系統為Windows 7 且軟件平臺為Matlab 2016b.
在實驗算法參數的設置方面:對于NLM-DT算法,搜索窗的大小選取21×21,鄰域塊的大小選取7×7,濾波參數選取h=σ,可微分硬閾值函數的調節參數選取λ=300 以及硬閾值參數選取θ=其中,c的取值區間為[0.02,0.04] .同時,對于UM-NLF算法,搜索窗大小、鄰域塊大小、高斯核系數、濾波參數以及可偏導硬閾值函數的參數選擇,具體如表1 所示.其中,BSD68 實驗數據集的相關參數與表1 中 512×512 大小圖像的處理方式基本一致.

表1 UM-NLF 算法的參數選擇Table 1 Parameter selection of UM-NLF algorithm
3.3.1 客觀指標對比
定量的對比結果具體如表2 和表3 所示.其中,表2 和表3 是不同非局部改進算法在噪聲等級σ分別為10、15、20、25、35 和50 的灰度噪聲圖像數據Classic13 和BSD68 上去噪效果的對比結果.從整體而言:UM-NLF 算法幾乎超過了所有最新的NLM 改進算法,同時在部分噪聲圖像上,UM-NLF算法去噪后圖像的PSNR 超過了BM3D 算法的結果.從實驗的具體細節而言,主要有三個方面的結論:

表2 在13 張噪聲水平 σ 分別為10、15、20、25、35 和50 的噪聲圖像上不同算法去噪結果的PSNR (dB)Table 2 The PSNR (dB) results of different methods on 13 gray images with noise level σ at 10、15、20、25、35 and 50

表2 在13 張噪聲水平 σ 分別為10、15、20、25、35 和50 的噪聲圖像上不同算法去噪結果的PSNR (dB) (續表)Table 2 The PSNR (dB) results of different methods on 13 gray images with noise level σ at 10、15、20、25、35 and 50(continued)

表3 不同算法在BSD68 灰度數據集上的平均PSNR (dB)和SSIMTable 3 Average PSNR (dB) and SSIM results of different methods on BSD68 gray dataset
1) 算法去噪效果的提升
由表2 可知,在Classic13 灰度圖像數據集上,當噪聲圖像的高斯噪聲標準差σ分別為10、15、20、25、35 和50 時,NLM-DT 算法在13 張灰度噪聲圖像上去噪后圖像的PSNR (dB)平均值,相較于傳統非局部均值NLM 算法的去噪結果,分別提升了0.12、0.16、0.29、0.38、0.41 和0.42;UM-NLF 算法的PSNR (dB)平均值,相比于NLM 算法,分別提升了1.49、1.23、2.67、1.36、1.53 和1.72.同時,由表3可知,在BSD68 灰度圖像數據集上,NLM-DT 算法去噪后圖像的PSNR (dB)平均值,相較于傳統非局部均值NLM 算法,分別提升了0.20、0.32、0.41、0.45、0.45 和0.32;UM-NLF 算法的PSNR(dB),相比于NLM 算法,分別提升了1.98、1.52、1.39、1.36、1.37 和1.43.這充分驗證了本文提出的改進算法NLM-DT 和UM-NLF 算法在圖像去噪效果上的優越性.
2) 算法去噪的泛化性能
不同去噪算法在Classic13 和BSD68 灰度噪聲圖像集上的實驗結果表明:當噪聲圖像的高斯噪聲標準差較小時,PNLM、NLM-SAP、BM3D 和UMNLF 算法去噪結果的峰值信噪比PSNR 較大,即取得的圖像去噪效果較好;當噪聲圖像的高斯噪聲標準差較大時,ANLM、BM3D、NLM-DT 和UMNLF 算法呈現出較好的去噪效果.綜合而言,BM3D 和UM-NLF 在不同高斯噪聲等級的噪聲圖像上,算法去噪的泛化性能最好.
3) 高斯噪聲圖像的尺寸與去噪效果、去噪時間的關系
對于處在同一個高斯噪聲等級的噪聲圖像,隨著噪聲圖像尺寸的增大,NLM 算法及其改進算法去噪結果的PSNR 幾乎都有不同程度的提升,但是算法的去噪時間都有所增加.
3.3.2 視覺效果對比
為了對比算法的視覺效果和紋理細節恢復的能力,本文選取高斯噪聲等級σ=20 的Airplane 噪聲圖像,高斯噪聲等級σ=35 的“Test016”噪聲圖像(選自BSD68 數據集) 和高斯噪聲等級σ=50的Baboon 噪聲圖像.如圖6 所示,由于噪聲圖像Airplane 的噪聲等級較低,并沒有對圖像的結構造成較大的破壞,仍保留了原始無失真圖像較多的紋理細節,此時BM3D 和UM-NLF 算法都取得了不錯的視覺效果;從圖6 的局部放大圖來看,UMNLF 算法相比BM3D 算法有著較強的邊緣結構保持能力,比較完整地恢復了Airplane 圖像上飛機型號的字體和飛機尾部的特征.在噪聲等級較大時,如圖7所示,由于“Test016”噪聲圖像的背景偏暗,部分結構信息被噪聲點所干擾,由獵豹的臉部和皮膚紋理處的局部放大圖可以看出,BM3D 算法存在過平滑的現象,對圖像中的部分結構信息進行了平滑,其余算法均出現了不同程度的模糊和過度平滑的現象,而UM-NLF 算法仍能較好地恢復圖像的結構信息.若噪聲等級進一步增大,如圖8 所示,UM-NLF算法的優勢比較明顯,從Baboon 圖像的局部放大圖來看,狒狒的鼻子和眼睛處恢復的紋理細節更加接近原始無失真圖像,而BM3D 算法仍有過度平滑的傾向,丟失了圖像的部分細節信息.為了進一步驗證不同算法的紋理保護能力,本文采用XDoG[33]濾波對不同算法去噪后的圖像進行邊緣提取,具體的結果可見圖9.可以發現:BM3D 算法處理后的去噪圖像與原始無失真圖像在經過XDoG 濾波后的圖像,在狒狒圖像的鼻子、眼睛處的邊緣紋理有明顯的差異.

圖6 不同算法對噪聲等級 σ=20 的Airplane 噪聲圖像的去噪結果PSNR (dB)和SSIM ((a) 原始無失真圖像;(b) 噪聲圖像(22.08 dB/0.4397);(c) NLM (28.33 dB/0.8328);(d) NLM-SAP (28.94 dB/0.8526);(e) PNLM(29.04 dB/0.8490);(f) LJS-NLM (28.37 dB/0.8410);(g) ANLM (27.86 dB/0.8489);(h) BM3D(29.55 dB/0.8755);(i) NLM-DT (28.60 dB/0.8418);(j) UM-NLF (29.83 dB/0.8760))Fig.6 Denoising results PSNR (dB) and SSIM on noisy image Airplane with noise level σ=20 by different methods((a) Ground truth;(b) Noisy image (22.08 dB/0.4397);(c) NLM (28.33 dB/0.8328);(d) NLM-SAP (28.94 dB/0.8526);(e) PNLM (29.04 dB/0.8490);(f) LJS-NLM (28.37 dB/0.8410);(g) ANLM (27.86 dB/0.8489);(h) BM3D (29.55 dB/0.8755);(i) NLM-DT (28.60 dB/0.8418);(j) UM-NLF (29.83 dB/0.8760))

圖7 不同算法對噪聲等級 σ=35 的“Test016” 噪聲圖像的去噪結果PSNR (dB)和SSIM ((a) 原始無失真圖像;(b) 噪聲圖像(17.25 dB/0.4201);(c) NLM (24.41 dB/0.7202);(d) NLM-SAP (24.75 dB/0.7293);(e) PNLM(24.85 dB/0.7376);(f) LJS-NLM (23.94 dB/0.7168);(g) ANLM (24.89 dB/0.7540);(h) BM3D(25.48 dB/0.7850);(i) NLM-DT (25.04 dB/0.7422);(j) UM-NLF (25.91 dB/0.7853))Fig.7 Denoising results PSNR (dB) and SSIM on noisy image “Test016” with noise level σ=35 by different methods((a) Ground truth;(b) Noisy image (17.25 dB/0.4201);(c) NLM (24.41 dB/0.7202);(d) NLM-SAP (24.75 dB/0.7293);(e) PNLM (24.85 dB/0.7376);(f) LJS-NLM (23.94 dB/0.7168);(g) ANLM (24.89 dB/0.7540);(h) BM3D (25.48 dB/0.7850);(i) NLM-DT (25.04 dB/0.7422);(j) UM-NLF (25.91 dB/0.7853))

圖8 不同算法對噪聲等級 σ=50 的Baboon 噪聲圖像的去噪結果PSNR (dB)和SSIM ((a) 原始無失真圖像;(b) 噪聲圖像 (14.16 dB/0.2838);(c) NLM (21.40 dB/0.4674);(d) NLM-SAP (21.33 dB/0.4386);(e) PNLM(21.48 dB/0.4793);(f) LJS-NLM (21.35 dB/0.4866);(g) ANLM (21.40 dB/0.4529);(h) BM3D(22.35 dB/0.5489);(i) NLM-DT (21.62 dB/0.4840);(j) UM-NLF (22.53 dB/0.5739))Fig.8 Denoising results PSNR (dB) and SSIM on noisy image Baboon with noise level σ=50 by different methods((a) Ground truth;(b) Noisy image (14.16 dB/0.2838);(c) NLM (21.40 dB/0.4674);(d) NLM-SAP (21.33 dB/0.4386);(e) PNLM (21.48 dB/0.4793);(f) LJS-NLM (21.35 dB/0.4866);(g) ANLM (21.40 dB/0.4529);(h) BM3D (22.35 dB/0.5489);(i) NLM-DT (21.62 dB/0.4840);(j) UM-NLF (22.53 dB/0.5739))

圖9 不同算法對Baboon 噪聲圖像去噪后并經過XDoG 濾波的結果Fig.9 XDoG filtered results of the denoised images of different algorithms on noisy image Baboon
綜合而言,在視覺效果上,UM-NLF 算法相較于其他改進算法,具有更強的圖像紋理細節的恢復能力,而BM3D 算法往往會過度平滑圖像的邊緣細節.在噪聲等級較高時,BM3D 算法由于利用了圖像的頻域信息,所以去噪后圖像的邊緣更可能會產生偽影;而UM-NLF 算法相比于BM3D 算法,利用了圖像的自相似性,又融合了多個非局部算法去噪圖像的空域結構特征,極大地減少了圖像的振鈴偽影,更好地保留了圖像的細節.
3.3.3 運行時間對比
算法的運行效率也是評估一個算法的重要因素.本文比較了NLM-DT 和UM-NLF 算法與所有對比算法的運行速度,具體如表4 和表5 所示.可以看出:1)BM3D 算法的去噪速度最快,對于一張大小為256×256 的灰度噪聲圖像,BM3D 算法的處理速度大概在0.75秒左右,UM-NLF 算法的去噪時間大概在25 秒左右.不過需要注意的是,BM3D 算法利用C++的MEX 函數以及經過并行處理化的操作,而UM-NLF 算法完全使用Matlab 語言完成.同時,由于UM-NLF 算法根據不同組合參數產生的多個去噪結果,其相互之間沒有硬性的關聯,后續可通過多線程并行處理多個去噪結果或者利用圖形處理器(Graphics processing unit,GPU)的硬件加速特性,提升算法的運行速度.2)其余參與對比的非局部均值的改進算法往往以犧牲去噪的精度,來提升去噪的效率.3)同時,本文發現高斯噪聲等級與算法去噪的運行時間并沒有一定的關系,即高斯噪聲等級越高,去噪時間并非越長.

表4 不同算法在大小為 256×256 灰度噪聲圖像上的去噪時間(秒)Table 4 Denoising time (seconds) of different algorithms on gray noisy images with a size of 256×256

表 5 不同算法在大小為512×512灰度噪聲圖像上的去噪時間(秒)Table 5 Denoising time (seconds) of different algorithms on gray noisy images with a size of 512×512
目前,以數據驅動的神經網絡圖像去噪算法[1?2],大部分利用配對的噪聲圖像和原始無失真圖像作為訓練數據,通過建立合適的深度神經網絡模型(包含多個卷積層、下采樣層、激活函數和全連接層等)對訓練數據進行學習,而后利用噪聲圖像和原始無失真圖像,或者噪聲圖像和殘差圖像的損失函數對建立的模型進行權重更新,最后利用訓練完畢的模型權重對測試圖像進行去噪,也取得了很好的去噪效果.接下來,主要分析UM-NLF 算法與經典神經網絡圖像去噪方法執行流程的聯系與區別,并與經典有監督式神經網絡圖像去噪方法TNRD[27]和DnCNN-S[28],以及無監督式神經網絡圖像去噪方法GCBD[29]和Noise2Void[30]進行去噪效果的實驗對比.
3.4.1 執行流程的對比
本節主要分析和討論UM-NLF 算法的執行流程與經典神經網絡圖像去噪方法執行流程的聯系和區別.
1)聯系
從整體的執行結構而言,本文提出的無監督多重非局部融合(UM-NLF)的圖像去噪方法,與經典神經網絡圖像去噪方法在執行流程上有類似的結構.具體而言,基于可微分硬閾值函數的非局部均值算法,通過度量以待處理像素點為中心的圖像鄰域塊與搜索區域內圖像鄰域塊的相似性,而對具有相似鄰域結構的像素點進行加權平均,這一過程可類比于神經網絡模型的“卷積層”模塊,后者通過不同的卷積核提取圖像的特征并過濾噪聲;此外,隨機線性組合可類比于“全連接層”和“Drop Connect”模塊,后者用于對提取的特征進行組合并輸出濾波結果;同時,本文提出的基于SURE 加權的移動平均濾波算法,還可類比于“下采樣層”模塊,后者用于減少算法的參數并抑制組合圖像數據的隨機浮動.這種結構上的相似性,在一定程度上反映了UMNLF 算法具有與神經網絡類似的特征提取能力.
2) 區別
本節主要從算法的執行方式和計算資源的角度,對比UM-NLF 算法與經典神經網絡圖像去噪方法的區別.a) 執行方式 UM-NLF 算法充分考慮圖像空域結構信息的自相似性,利用多重非局部算法的隨機線性組合,并利用SURE 自適應地調節不同去噪圖像的線性組合系數,無需訓練,直接對測試圖像進行去噪,具有很好的魯棒性能;而經典的神經網絡圖像去噪方法往往需要在大量的數據樣本上訓練,通過建立相應的深度神經網絡模型,包括卷積層、下采樣層和激活函數等基礎模塊的拼接,并利用反向傳播算法學習噪聲圖像至原始無失真圖像(或者殘差圖像)的函數映射.b) 計算資源 經典的神經網絡圖像去噪方法往往需要在大量的訓練數據上進行學習,主要利用訓練數據的先驗信息,往往依賴高算力的計算資源,以及特定的訓練數據集;而UM-NLF 算法在普通的CPU 上即可運行,不過分依賴計算資源,同時UM-NLF 算法對噪聲圖像具有很好的魯棒性.
3.4.2 去噪效果的對比
在BSD68 的灰度圖像數據集上,本文將提出的UM-NLF 算法與傳統的無監督圖像去噪算法BM3D,有監督式神經網絡圖像去噪方法TNRD和DnCNN-S,以及無監督式神經網絡去噪方法GCBD和Noise2Void 進行去噪效果對比和實驗分析.具體的去噪結果如表6 所示,可以發現:目前而言,有監督式神經網絡圖像去噪方法取得了較好的去噪效果.然而,傳統的無監督算法BM3D 和UM-NLF在缺少特定場景訓練樣本的情況下,在實際應用中仍然可以成為靈活而有希望的選擇.

表6 傳統算法和深度學習算法在BSD68 灰度數據集上的平均PSNR (dB)和SSIMTable 6 Average PSNR (dB) and SSIM results of traditional and deep learning methods on BSD68 gray dataset
針對原始NLM 算法對圖像中相似度較低的鄰域塊分配了過大的權重,以及傳統算法固定的參數無法根據圖像內容的變化進行自適應調整的問題,本文提出了一種基于SURE 參數優化的無監督多重非局部融合(UM-NLF)的圖像去噪方法,即利用蒙特卡洛隨機搜索的思想,變換搜索窗等組合參數得到多個去噪結果并利用SURE 來無監督地優化多重非局部算法去噪結果的組合系數.實驗結果表明:在公開數據集上,相比于目前傳統算法去噪效果最佳的BM3D 算法,本文提出的UM-NLF 算法產生了更少的振鈴偽影,有效保持了圖像的紋理和結構信息,極大地改善了圖像的主觀視覺質量.目前,由于提出的算法主要集中在灰度圖像的討論,未來的工作主要是考慮研究如何將提出的算法拓展至彩色圖像的去噪,比如研究如何結合彩色圖像R、G、B 通道的相關性,以及采用何種的距離判別準則來衡量兩個彩色圖像子塊的相似性權重.