李靜, 劉哲, 黃文準
(西京學院 信息工程學院, 陜西 西安 710123)
遙感圖像、醫學圖像、天文圖像、合成孔徑雷達圖像、軍用夜視圖像等不同領域的圖像,在成像和傳輸過程中都會受到設備本身和外界信號的干擾,造成圖像中伴有大量噪聲,圖像細節被淹沒在噪聲中;或者導致圖像分辨率降低,嚴重影響圖像質量,致使后續的圖像分割、圖像識別等不能順利進行。因此,圖像降噪和圖像超分辨率重建一直以來都是現代圖像處理領域的研究熱點。
國內外學者利用圖像先驗模型去噪,如非局部自相似(NSS)模型[1-2]、梯度模型[3]、稀疏字典學習模型[4]和馬爾可夫隨機場(MRF)模型[5]等,對圖像降噪算法進行了大量研究。其中,最經典的是基于三維相似塊匹配的去噪算法(BM3D)[2],該算法利用圖像塊之間的相似性,對具有相似結構的圖像塊進行三維變換域濾波,取得了很好的降噪效果。后來該算法擴展到彩色圖像的降噪(CBM3D)[6]并用外部先驗[7]來去除噪聲。Buades等[1]基于圖像中包含大量自相似結構的特點,提出了非局部均值(NLM)去噪算法。NLM算法充分利用自然圖像中存在的大量冗余信息,能更好地保持圖像的紋理和細節。
目前,深度學習已成為機器學習領域的發展趨勢和研究熱點,深度卷積神經網絡(DCNN)在圖像分割、圖像識別和自動駕駛等領域的成功應用為圖像降噪問題的解決打開了新思路[8-10],尤其是不同噪聲環境下的圖像降噪。與傳統圖像降噪方法相比,DCNN的學習能力更強,網絡模型對不同標準噪聲的適應能力也更好,擁有更強大的泛化能力。Mao等[11]提出了用于圖像降噪的深度卷積編解碼網絡。Zhang等[12]提出了降噪神經網絡(IRCNN)模型。Zhang等[13]提出了一種針對高斯噪聲的深度殘差學習模型。蓋杉等[14]提出一種基于深度學習的高噪聲圖像去噪算法。
近幾年,基于深度學習的圖像超分辨率技術得到了學術界的廣泛研究。香港中文大學的Dong等[15]首次將卷積神經網絡(CNN)引入圖像超分辨率重建,構建了超分辨率卷積神經網絡(SRCNN)模型,與傳統算法相比,雖然該模型取得了更優效果,但收斂速度慢、不同放大倍數需要重新進行訓練。針對這些問題, Dong等[16]改進了SRCNN,又提出了Fast-SRCNN(FSRCNN)模型,FSRCNN的訓練速度比SRCNN提高了近40倍,而且重構效果更好。Luo等[17]也通過改進SRCNN模型,重建了衛星視頻序列并取得很好的效果。Ducournau等[18]將SRCNN模型的中間層參數微調,對衛星拍攝的海表面溫度(SST)圖進行超分辨率重建,用于后續的數據處理。Shi等[19]提出了有效像素重排卷積網絡(ESPCN)。韓國首爾國立大學的Kim等[20]首次把殘差學習(RL)與圖像超分辨率重建進行融合,利用小卷積核構建了20層非常深的超分辨率卷積網絡(VDSR)模型,通過增加感受野來學習圖像上下文的關聯信息。美國加利福尼亞大學的Lai等[21]提出一種LapSRN模型,該模型采用金字塔結構完成單張圖像的超分辨率重構,它既能完成放大倍數為2倍、4倍的超分辨率重建,而且在8倍放大因子處還取得了滿意的重構效果。
圖像降噪和超分辨率本質上都是對降質圖像進行恢復,重建出清晰圖像。圖像降噪是去除圖像中的噪聲,受噪聲嚴重污染的圖像經過降噪后,往往會丟失很多圖像細節,導致圖像分辨率降低和圖像模糊,而圖像超分辨率重建就是將低分辨率圖像通過機器學習,重構細節清晰的高分辨率圖像。基于此,本文提出了一種基于快速NLM和超分辨率重建相結合的新型圖像降噪算法。首先,建立噪聲圖像樣本庫和與之對應的清晰圖像樣本庫;接著,利用本文提出的快速NLM降噪算法對含有不同噪聲強度的圖像樣本進行降噪,形成初步降噪后的圖像樣本訓練庫,本文稱之為低分辨率圖像訓練樣本庫;然后,將低分辨率圖像訓練樣本輸入到文中提出的深度殘差卷積網絡(DRCNN),學習低分辨率圖像和高分辨率圖像之間的殘差;最后,將低分辨率圖像和殘差圖像相加,就得到超分辨率重建后的清晰圖像。
NLM算法利用自然圖像中普遍存在的冗余性和局部自相似性,通過對具有相似性質的圖像塊進行加權平均得到降噪后的圖像。假設噪聲圖像的模型為
y=x+v,
(1)
式中:x表示理想無噪聲圖像;y表示受噪聲污染圖像;v表示噪聲(此處以高斯噪聲為例)。設已知一幅含噪圖像y={y(i),i∈I},I表示圖像域,對于圖像中任意一個像素i,運用NLM算法進行降噪,降噪后的圖像表示為
(2)
式中:i、j表示像素;Ω表示以像素i為中心的搜索圖像區域,其大小為p×p;w為表征像素點i、j之間相似度的權值,
(3)
h為控制濾波器平滑程度的參數,d(i,j)表示N(i)和N(j)之間的高斯加權歐氏距離,
(4)
N(i)和N(j)分別表示以像素i、j為中心,大小為k×k鄰域圖像塊,k和p滿足p>k,α為高斯核的標準差。在求歐式距離時,不同位置的像素權重是不一樣的,距離塊中心越近,權重越大,距離中心越遠則權重越小,權重服從高斯分布。NLM算法對像素i濾波時,中心圖像塊N(i)要與搜索圖像區域Ω中的所有圖像塊N(j)進行相似性比較。假設圖像的大小為M×M,NLM算法處理一個像素點需要2p2k2次乘法,處理整幅圖像需要2M2p2k2次乘法。因此,NLM算法的計算復雜度為O(M2p2k2),計算復雜度非常高。
如上所述,NLM算法需要逐像素處理,處理每個像素時需要計算以該像素為中心的圖像塊與搜索區域中每個圖像塊之間的高斯加權歐氏距離,計算加權歐氏距離需要花費大量時間。本文從高斯加權歐氏距離上著手改進NLM算法。由(4)式可知:
(5)

由(5)式可知:NLM算法中計算d(i,j)用時最多,主要是因為采用了2-范式和高斯加權,很難對算法進行化簡。為此,本文用均勻加權代替高斯加權,且認為所有均勻權系數為1.于是,(5)式變換為
(6)
根據NLM算法,N(i)和N(j)是相似塊,滿足N(i)≈N(j),將此式代入(6)式,為了保證取值的非負性,給結果取絕對值,并將2-范式用1-范式代替得到(7)式:
(7)
由(7)式可知,d(i,j)可以通過求圖像塊N(i)所有像素值和的平方減去N(j)所有像素值和的平方的絕對值得到。將(7)式代入(3)式和(2)式就得到改進的NLM算法,通過后面的仿真實驗可以驗證本文所提改進的NLM算法和NLM算法具有相近一致的降噪效果。
假設有一幅圖像I,其大小為M×M,用改進的NLM算法對I進行降噪。設搜索窗Ω的大小為p×p,相似窗Ws的大小為k×k,中心窗Wc的大小同為k×k,如圖1(a)所示,給出了算法示意圖。圖1(a)中藍色方框代表中心窗Wc,黑色標記的點位于Wc的中心,是要處理的中心像素點,紅色方框(包含中心的藍色方框)代表搜索窗Ω.圖1(b)中,綠色方框代表相似窗,相似窗Ws以搜索窗的像素點為中心,從搜索窗Ω左上角的像素點開始,逐像素依次遍歷所有搜索窗的所有像素,計算中心像素點和搜索窗中每個像素點的相似權重,處理后的中心像素點值等于所有搜索窗像素點值的加權和。

圖1 快速NLM示意圖Fig.1 Schematic diagram of fast NLM algorithm
利用(7)式計算中心窗和相似窗的近似距離,如果能夠快速計算相似窗的所有像素值之和,則算法的復雜度將大大降低。本文用盒子濾波器(Boxfilter)來實現相似窗的所有像素的快速求和。Boxfilter的原理如圖1(c)、圖1(d)所示,綠色窗口代表相似窗,從搜索窗的左上角開始逐像素進行移動。Boxfilter計算相似窗所有像素之和的步驟如下:
1)開辟一個數組A,其長度等于M.
2)對于第1個最開始的相似窗,分別計算相似窗各列像素之和,存儲在數組A中,由圖1(c)可知,第1個相似窗的所有像素之和sum1=A(1)+A(2)+A(3)+A(4)+A(5)。
3)相似窗向右移動一個像素距離,只計算新進入一列的像素之和,存儲在數組A(6)中,則第2個相似窗的所有像素之和sum2=sum1-A(1)+A(6)。
4)重復上述步驟,直至遍歷完搜索窗。
Boxfilter的計算復雜度為O(1),計算一個相似窗和中心窗的近似距離需要2次乘法,總共有p2個相似窗,因此用本文算法處理一個像素需要2p2次乘法,處理整幅圖像需要2M2p2次乘法,計算復雜度為O(M2p2)。與傳統NLM算法復雜度O(M2p2k2)相比,本文算法的復雜度降低了很多。
本文綜合了文獻[15]的前饋去噪卷積神經網絡(DnCNN)和文獻[16]的FSRCNN的特點和優勢,建立了如圖2所示的用于圖像超分辨率重建的DRCNN結構。該網絡結構由5個部分組成,每部分均設步長為1×1,通道數為c(灰度圖像通道數為1,彩色圖像通道數為3)。這5個部分分別是:

圖2 網絡結構示意圖Fig.2 Network structure diagram
1)特征提取層(由特征提取核Conv+激活函數PReLU構成):采用核尺寸為3×3×c的64個卷積核生成64個特征圖,使用參數化修正線性單元(PReLU)對特征圖進行非線性變換,從而形成非線性特征映射圖。
2)降維層(由特征提取核Conv+激活函數PReLU構成):為了降低網絡參數,加速網絡訓練速度,文中采用核尺寸為3×3的32個卷積核,將特征提取層的64個特征圖進行降維,收縮成32個特征圖。
3)非線性映射層(由特征提取核Conv+批量歸一化(BN)+激活函數PReLU構成):非線性映射層由k層Conv+BN+PReLU構成,每層包含32個大小為3×3的卷積核,完成對32個特征圖的濾波,并且將BN加在卷積和PReLU之間,以解決網絡內部協變量轉變的問題。
4)升維層(由特征提取核Conv+激活函數PReLU構成):對應于降維,需要將特征圖進行升維,以便重構。經過k個非線性映射層后,用64個大小為3×3的卷積核,將非線性映射層輸出的32個特征圖升維到64個特征圖。
5)重構層(由特征提取核Conv構成):使用c個大小為3×3×64的濾波器重構殘差圖,在此基礎上疊加低分辨圖像從而重構超分辨率圖像。
DRCNN各層都采用PReLU作為激活函數,其輸出為
f(x)=max(x,0)+amin(0,x),
(8)
式中:a為可學習的參數。相比于修正線性單元(ReLU)激活函數,PReLU僅僅增加少許計算量便實現了更高的準確率,而且可以避免ReLU造成的神經元壞死現象。
由于神經網絡在反向傳播過程中會不斷地傳播梯度,而當網絡深度增加時,梯度在傳播過程中會逐漸消失,這樣會導致對前面網絡層的權重無法有效調制。因此,網絡深度越深,模型的準確率并不是越高;相反,當網絡深度增加到一定值后,訓練精度和測試精度都會迅速下降。
大量文獻和實驗表明,運用RL可以很好地解決上述問題。因此,本文沒有使用從低分辨率圖像到高分辨率圖像的端到端學習作為訓練的損失函數,而是用低分辨率和高分辨率之間的RL,這點不同于以往超分辨率重建方法。假設高分辨圖像y是由低分辨率圖像x和殘差圖像v構成,見(9)式,這里的殘差圖像v的實質是低分辨率圖像所丟失的細節圖像:
y=x+v.
(9)
接著,利用RL訓練殘差映射R(y)≈v,然后通過y=x+R(y)計算預測殘差圖像和期望殘差圖像之間的均方誤差[14]。
目標的損失函數l(w,b)定義如下:
(10)

(11)
式中:λ為學習率;l為參數所在的網絡層數。利用(11)式的迭代規則和神經網絡前向與后向傳導算法,就能得到訓練后的網絡模型。
隨機梯度下降法(SGD)廣泛應用于CNN的訓練方法中,該算法雖然有效簡單,但是在網絡模型訓練過程中容易出現內部協變量轉移,進而改變網絡內部非線性輸入的分配,導致網絡訓練效率降低,訓練性能受到影響[14]。為了解決網絡內部協變量轉移,克服深度神經網絡難以訓練,有效預防梯度彌散的缺陷,提出了BN. BN就是在每一層非線性處理之前加入標準化、縮放、移位操作來減輕內部協變量的移位,可以給訓練帶來更快的收斂速度,更好的表現,降低網絡對初始化變量的影響。本文中,在前面提出的深度學習網絡非線性映射層的每一層非線性化之前引入批量歸一化操作,然后結合歸一化、縮放、移位變化等操作來解決網絡內部協變量轉變的問題。每一個激活函數在批量歸一化過程中只需要添加兩個參數,它們通過反向傳播進行更新。這種機制能夠加快訓練過程的收斂速度,提高模型的精確度,降低模型初始化的敏感性。
根據文獻[11]中提出的原則,本文的網絡架構移除了網絡中所有的池化層,選擇卷積核大小為3×3的小卷積核,此舉的好處是可以大大減少網絡參數。在沒有最大池化層和ReLU層的情況下:兩個3×3的卷積核組成的卷積層相當于一個5×5的卷積核的卷積層;3個3×3的卷積核組成的卷積層相當于一個7×7的卷積核的卷積層。設通道數為c,3個3×3的卷積核含有27×c個參數,1個7×7的卷積核含有49×c個參數,參數多出81%。另外,3個3×3的卷積核融合3個非線性PReLU,與僅有一個ReLU相比,決策函數更有區分性。
深度為d的卷積神經網絡的感受野為(2d+1)×(2d+1),增大感受野可以充分挖掘圖像上下文信息,有助于圖像中損失信息的恢復,但會增加網絡的計算負擔,需要網絡以犧牲計算資源和計算效率為代價。在文獻[19-20]中,研究者指出降噪神經網絡的感受野大小與降噪算法中的相似圖像塊大小有關,即高噪聲通常需要更大的相似圖像塊來捕獲更多的上下文信息進行恢復,因此降噪神經網絡需要更大的感受野來挖掘圖像上下文信息進行降噪,相應的也需要更深的卷積神經網絡。基于此,本文選用3×3小卷積塊和特征降維的策略,在不降低網絡計算速度的同時,通過增加網絡深度達到對高噪聲進行有效降噪的目的。本文所提DRCNN的感受野大小為35×35,網絡深度為17.
本文采用SGD算法對網絡進行訓練,同時在訓練過程中融合了RL和BN來加速訓練速度和提高網絡收斂性能。圖3包含了融合以及未融合RL和BN對網絡性能的影響。由圖3可以看出:

圖3 RL與BN對網絡性能影響Fig.3 Influences of RL and BN on network performance
1)同時采用RL和BN進行訓練,網絡能更快、更穩定的收斂(紅線所示);
2)采用RL,不管是否采用BN,相較不采用RL(藍線和黑線所示)網絡的收斂速度和穩定性(紅線和綠線所示)都有明顯提高。
3)采用BN,不管是否采用RL,相較不采用BN(黑線所示)網絡的收斂速度和穩定性(紅線和藍線所示)也都有顯著提高。
訓練樣本的多少會對網絡性能產生影響,通常認為訓練樣本越多越有助于網絡性能的提高,但是樣本越多會造成網絡訓練的負荷過大,導致訓練效率低。選擇合適的樣本量,同時兼顧網絡性能和訓練效率,這對于深度學習具有重要意義。本文選用不同數量的訓練樣本量對DRCNN模型性能進行測試,其結果如圖4所示。由圖4可知:當訓練樣本數超過200時,網絡開始逐步收斂;當訓練樣本數超過350時,隨著訓練樣本數量的增加,網絡性能提高的幅度已經很小,因此本文用400個訓練樣本對DRCNN模型進行訓練。

圖4 訓練樣本數對網絡性能的影響Fig.4 Influence of training samples on network performance
3.3.1 訓練集和測試集
本文使用文獻[22]DIV2K中400張大小為200×200的清晰圖像作為原始訓練集。根據設計的降噪算法,分別建立噪聲樣本訓練集、低分辨率樣本訓練集和測試集。噪聲樣本訓練集包括以下兩種訓練集:
1)建立不同噪聲水平的訓練集。使用400張大小為200×200的清晰圖片建立帶有高斯噪聲,方差σ分別為15、25、40、60的4種訓練集,每個訓練集包括128×1 600張大小為53×53的訓練樣本。
2)建立噪聲水平連續變化的噪聲訓練集。使用400張大小為200×200的清晰圖片建立高斯噪聲方差σ在區間[0,80]范圍內變化的訓練集,該訓練集包括128×2 400張大小為53×53的訓練樣本。
用本文所提的快速非局部均值降噪算法對噪聲訓練集進行降噪,得到相對應的低分辨率樣本訓練集,其樣本數量和大小與噪聲樣本集相同。對于測試圖像,使用3個不同的測試圖像集進行全面評估:第一個是來自伯克利分割數據集的68個自然圖像(BSD68)[23];另一個是從網絡下載和拍攝收集的10個測試圖像,如圖5所示;最后一個是圖像處理領域中常用的12個測試圖像,如圖6所示。從最后一個圖像集中隨機選取兩個圖像,用本文所提算法對其進行降噪處理。

圖5 收集的10張測試圖像Fig.5 10 collected testing images

圖6 常用的12張測試圖像集Fig.6 Set of 12 widely used testing images
3.3.2 網絡深度的選擇
由2.5節分析可知,降噪神經網絡的感受野大小與降噪算法中的相似圖像塊大小有關,即高噪聲通常需要更大的相似圖像塊來捕獲更多的上下文信息以進行恢復。深度為d的卷積神經網絡的感受野大小為(2d+1)×(2d+1)。在BM3D算法[2]中,小方差的噪聲選擇25×25大小的相似圖像塊,高方差的噪聲選擇49×49的相似圖像塊。在MLP算法[20]中,首先使用39×39的窗生成預測相似圖像塊,然后用9×9的窗對預測相似圖像塊進行平滑。在DnCNN算法中,選擇卷積神經網絡的感受野大小為35×35,則其網絡深度為17. 綜合以上分析,為了對不同算法進行分析比較,結合本文降噪算法的特點,DRCNN感受野的大小選為35×35,網絡深度為17.
3.3.3 參數設置與網絡訓練
為了建立統一的網絡架構,本文針對低噪聲方差和高噪聲方差,網絡模型的深度都選擇為17. 利用快速非局部均值降噪算法對圖像降噪時,選擇搜索窗的大小為35×35,相似窗的大小為7×7. 利用(10)式計算DRCNN學習的殘差映射R(y)與真實的殘差y-x之間的損失代價,使其達到最小。DRCNN使用0.000 1的權重衰減系數和衰減率為0.9的SGD優化方法,采用文獻[24]的方法初始化網絡權重,并采用BN將初始數據分布變成高斯分布,加快了收斂速度。對網絡的輸入數據采用小批量輸入法,mini-batch設置為128. 如果訓練誤差大小在連續6個epoch訓練內固定在某一個值上不變,就停止迭代訓練。通過實驗,最終對模型進行10個epoch的迭代訓練,在訓練過程中學習率初始化為1×10-1,當訓練誤差停止下降時,固定到1×10-4進行模型的訓練。
實驗環境為基于Windows 10操作系統,在MATLAB 2017a應用環境下,采用Caffe深度學習框架,該框架支持GPU運算,配置INVIDIA CUDA8.0+cuDNN-V5.1深度學習庫加速GPU運算。用于訓練和測試的硬件配置為:Intel Xeon E3-1230 v5處理器,INVIDIA GeForce GTX 1080 Ti顯卡,Kingston DDR4 64GB內存。
本文所提出的降噪算法與現有性能優異的DnCNN[25]、BM3D[26]、TNRD[27]、WNNM[24]經典降噪算法分別從量化指標和視覺效果兩個方面進行對比分析。量化指標采用峰值信噪比(PSNR)與結構相似度(SSIM)來衡量模型的降噪效果,視覺效果通過對降噪后的圖像進行定性分析來衡量模型的降噪效果。
3.4.1量化分析
表1~表3分別給出了噪聲強度σ為15、25、40、50、60時,不同降噪算法對不同測試集圖像降噪后的平均PSNR. 表1給出了采用不同降噪算法對BSD68數據集中的15幅圖像降噪后的平均PSNR,表2給出了采用不同降噪算法對10個收集的測試圖像降噪后的平均PSNR,表3給出了采用不同降噪算法對12張常用測試圖像降噪后的平均PSNR. 由表1~表3可以看出,本文提出的算法相比于其他降噪算法,能獲得最高的PSNR值。當σ=15時,WNNM算法、TNRD算法的PSNR比BM3D算法至少提高約0.3 dB,DnCNN算法的PSNR比BM3D算法至少提高約0.6 dB,而本文算法的PSNR比BM3D算法至少提高約0.9 dB. 當σ分別為25、40、50、60時,WNNM算法、TNRD算法的PSNR比BM3D算法至少提高約0.3 dB,DnCNN算法的PSNR比BM3D算法至少提高約0.7 dB,尤其是隨著噪聲的增大,本文所提算法更有優勢,PSNR比BM3D算法至少提高約1 dB.

表1 BSD68數據集在不同噪聲強度下降噪后的平均PSNRTab.1 The average PSNR results of different methodson BSD68 testing images dB

表2 10個收集的測試圖像在不同噪聲強度下降噪后的平均PSNRTab.2 The average PSNR results of different methodson 10 collecting testing images dB

表3 12張常用圖像在不同噪聲強度下降噪后的平均PSNRTab.3 The average PSNR results of different methodson 12 widely used testing images dB
表4給出了在噪聲強度σ分別為15、25、40、50、60時,不同降噪算法對所有測試集圖像降噪后的平均SSIM值。由表4可以看出,本文所提算法相比于其他降噪算法,能獲得最高的SSIM值,而且隨著噪聲強度的提高,本文算法的優勢越明顯。當σ=15時,本文算法的SSIM比BM3D算法提高0.017 3;σ=25時,本文算法的SSIM比BM3D算法提高0.017 8;σ=60時,本文算法的SSIM比BM3D算法提高0.067 8. 而隨著噪聲強度的提高,WNNM算法、TNRD算法、DnCNN算法比BM3D算法的SSIM值增幅不大,不超過0.046 6. 由以上兩個量化指標分析結果可知,本文所提算法對確定噪聲的降噪性能優于其他經典算法。

表4 所有測試樣本在不同噪聲強度下降噪后的平均SSIMTab.4 The average SSIM results of different methodson all testing images
表5給出了噪聲強度σ在[0,80]范圍內變化時,不同降噪算法對所有測試集圖像降噪后的平均PSNR和平均SSIM,這也揭示了不同降噪算法的盲降噪性能。由表5可看出,本文算法的盲降噪性能最優,本文算法的平均PSNR比BM3D算法、WNNM算法、TNRD算法、DnCNN算法分別至少高出0.99 dB、0.74 dB、0.8 dB、0.45 dB.

表5 所有測試樣本在盲噪聲強度下降噪后的平均PSNR和平均SSIMTab.5 The average PSNR and SSIM results of different methods on all testing images
3.4.2 定性分析
圖7展示了不同降噪算法對黑白圖像降噪后的視覺效果。從圖7可以看出,BM3D算法、TNRD算法和WNNM算法易于產生平滑的邊緣和紋理。而DnCNN算法在保留銳利邊緣和精細細節的同時,很可能在平滑區域產生偽影。相比之下,本文降噪算法不僅可以恢復銳利的邊緣和精細的細節,而且會產生比較好的視覺效果。

圖7 常用測試圖像在噪聲強度σ=30下的降噪結果Fig.7 Denoising results with noise level 30
圖8展示了本文算法與其他降噪算法對彩色圖像降噪的效果圖。由圖8可以看出,本文降噪算法能夠恢復出清晰的書籍邊緣和平行桌布的條紋,相較其他算法對圖像的恢復質量, 本文算法有大幅提升。同樣在圖8中, 本文所提盲降噪算法也完美地重建了圖中的邊緣和條紋, 盲降噪算法的PSNR值高于其他經典的降噪算法。而其他算法生成的圖像有明顯的振鈴現象,且邊緣比較模糊。

圖8 彩色圖像降噪結果Fig.8 Denoising results of color images
3.4.3 運行時間
除了量化分析和視覺效果定性分析外,本文對不同算法的運行時間做了比較分析,如表6表示。表6給出了在圖像尺寸分別為256×256和512×512,噪聲強度為25時不同降噪算法的運行時間。從表6可以看出,當所有降噪算法都在CPU運行:本文算法運行時間最短,分別用時0.33 s和1.13 s;其次是TNRD算法,用時0.41 s和 1.28 s;WNNM算法耗時最長,分別是194.5 s和724.6 s. 當把TNRD算法、DnCNN算法和本文算法用GPU加速,同樣本文算法運行時間最短,耗時分別是0.01 s和0.03 s,能進行實時降噪處理。因此,本文算法的計算效率高于其他經典算法的計算效率。

表6 不同算法在噪聲水平為25時的運行時間Tab.6 Run time of different methods with noise level 25
本文設計了兩種實驗,一種是已知噪聲的降噪實驗,另一種是盲噪聲降噪實驗,這兩種實驗都采用相同的網絡架構,只是網絡的訓練參數不同。不同于本文算法,DnCNN算法針對兩種實驗采用了不同的網絡架構,網絡的深度也不一樣。在盲噪聲降噪實驗中,本文設置的噪聲強度變化范圍為 [0,80],DnCNN算法設置的噪聲強度為[0,55],而TNRD算法、WNNM算法和BM3D算法只討論已知噪聲的降噪實驗,已知噪聲降噪實驗中的最大噪聲強度為50,本文算法設置的最大噪聲強度為80. 從實驗結果可知,本文算法在這兩種實驗情形下,性能都表現為最優,尤其是高噪聲情形,本文算法表現更優,且采用統一的網絡架構能夠處理各種強度的噪聲,方便了應用。
本文算法性能之所以表現優異,主要源于對NLM降噪和基于DRCNN的超分辨率重建進行了結合。NLM充分利用了自然圖像中存在的大量冗余信息,能更好地保持圖像的細節和紋理,具有較大感受野的DRCNN則是充分利用了大量樣本的上下文信息,能夠學習到樣本中隱含的細節和紋理信息。這兩方面優勢的結合,使得本文降噪算法具有優異的降噪性能。另外,本文的網絡架構采用了降維和升維策略,相比DnCNN算法大大減少了網絡參數,算法的運行效率獲得了較大提高。
但是,由于基于DRCNN算法的超分辨率重建綜合了DnCNN算法和FSRCNN算法的優勢,引入了降維和升維策略,因此,網絡結構會稍顯復雜。
本文提出了一種將圖像降噪和超分辨率重建相結合的新型圖像降噪算法,該算法通過將快速NLM降噪和基于DRCNN的超分辨率重建相結合,并融合RL和BN來加速訓練速度和提高網絡收斂性能。本文提出的統一網絡架構,不但適用于已知噪聲水平的降噪,而且適用于噪聲水平未知的盲噪聲降噪,更為重要的是適用于從低噪聲到高噪聲變化范圍很寬的降噪,同時,得到的降噪圖像不存在邊緣細節的受損、邊界偽影和清晰度變差的問題。另外,本文提出的降噪算法在繼承和提高現有經典降噪算法優點的同時,還彌補了它們存在的不足。實驗結果表明,相比現有經典降噪算法,本文算法在大大提高計算效率的同時,還得到了更高的PNSR、SSIM與良好的視覺效果,具有很好的實用性和普適性。