耿 俊,李文海,吳子豪,孫鑫杰
新疆大學 軟件學院,烏魯木齊 830091
圖像去噪是計算機視覺中一個非常經典的問題,其目的是從噪聲圖像中恢復出一幅清晰的圖像。由于圖像去噪技術能夠很好地恢復原始圖像,因此它們被廣泛應用于許多領域,如遙感圖像[1]和醫學圖像[2]。對于噪聲圖像y,圖像去噪問題可以用y=x+v來表示,其中x是原始圖像,而v代表標準偏差σ的加性高斯噪聲(AWGN)。從貝葉斯規則的角度來看,基于圖像先驗的方法是圖像去噪的很好選擇。例如,塊匹配和三維過濾(BM3D)利用協同變換來增強圖像去噪的稀疏性[3]。同時使用基于字典學習的稀疏表示和基于自相似性的非局部平均可以有效去除噪聲[4]。非局部集中稀疏表示(NCSR)集中了稀疏編碼,以抑制稀疏編碼噪聲[5]。加權核范數最小化(WNNM)[6]、馬爾可夫隨機場(MRF)[7]也是非常流行的圖像去噪方法。盡管上述方法在圖像去噪領域有了非常優秀的效果,但大多數方法都面臨兩大挑戰:(1)人工調整懲罰參數,以及(2)復雜的優化算法。然而隨著CNN 的提出,就在圖像領域引起轟動并且也在圖像去噪方面廣泛應用[8]。例如,殘差和迭代思想被引入到CNN 中,有效提高圖像超分重建的性能[9]。優化方法和CNN的結合是圖像超分重建的非常流行的方法[10]。增加網絡的多樣性對于圖像恢復也是非常有效的[11]。具有先驗知識的CNN可以更好地處理真實的含噪圖像[12]。優化網絡結構的方式在圖像恢復中同樣也很受歡迎[13]。
盡管上述深度網絡方法可以提高去噪性能,但大多數方法都存在單分支網絡模型特征提取不充分、邊緣特征提取不足且性能飽和問題(即梯度消失或爆炸)[14]。本文提出了基于深度學習的多分支網絡模型(MBNet)的設計。首先,受Deeplabv3+[15]中ASPP 結構的啟發,MBNet引入三條分支作為子網絡,第一子網絡由普通卷積組成,第二子網絡由普通卷積和擴張率相同的空洞卷積組成,第三子網絡由各不同擴張率的空洞卷積組成。由于第一、第二子網絡在層數方面相同,可構成對比實驗。第三子網絡對應的感受野與第一、第二子網絡模型對應的平均感受野方面接近,也可構成對比實驗,既能體現各子網絡在相同條件下的性能優劣,也能展現出三子網絡結合的性能與單個子網絡之間的對比。因此,同時引入這三條子網絡是非常有必要的。將這三條子網絡結合起來,增加網絡的寬度而不是深度,并將其各自子網絡提取的特征相融合,從而充分獲取圖像的特征。其次,為了解決圖像邊緣特征提取不充分問題,MBNet在第二分支及第三分支引入多個不同擴張率的空洞卷積[16]來增大感受野,提取更多的上下文信息來增強邊緣特征的提取,降低了計算代價;最后,MBNet使用了多局部殘差學習和整體殘差學習(RL)[14]來解決深度CNN網絡性能飽和問題。對于在原始圖像上添加高斯噪聲的圖像去噪任務的大量實驗表明,所提出的MBNet 優于目前先進的方法,例如去噪卷積神經網絡(DnCNN)[17]和圖像恢復CNN(IRCNN)[12]等。
深度卷積神經網絡在圖像去噪中非常盛行。例如,17 層的DnCNN 已被提議作為基于CNN 的預測噪聲的基準方法。該基準通過堆疊多個卷積層、殘差學習和批歸一化(BN)來提高去噪性能。CNN和先驗知識的結合對于盲去噪是十分有效的[18]。一種帶有最優化方法的判別學習方法被用來處理真實的噪聲圖像[12]。利用多層網絡并行來增加網絡的寬度,與批量重整化(BRN)和殘差學習來增強圖像去噪的效果,BRDNet[19]的出現也使得較大的模型也能在普通硬件及顯卡上運行且不影響其去噪效果成為可能。DPIR[20]通過訓練一個靈活高效的CNN 去噪器設置基準深度去噪先驗,將它作為模塊插入基于HQS 的迭代算法中,從而可以解決各種圖像復原問題。RDDCNN[21]是一種穩健的變形去噪CNN,可以通過可變形的可學習核和堆疊卷積架構來提取更具代表性的噪聲特征。TECDNet[22]是一種基于變壓器編碼器和卷積解碼器網絡的混合去噪模型,它能以相對較低的計算成本在真實圖像上實現了最先進的去齒性能。DudeNet[23]是一個具有稀疏機制的雙網絡,可以提取互補特征來恢復清晰的圖像,可作用在真正的嘈雜圖像。
CNN 對于其他應用領域涉及的也非常強大,例如醫學圖像。前面提到的基于深度網絡的CNN方法已經取得了比BM3D更好的性能。受此啟發,本文使用深度CNN進行圖像去噪。
在圖像預處理過程中通常會對圖像進行標準化處理,使得每張輸入圖片的數據分布能夠統均值為u,方差為h的分布,這樣能夠加速網絡的收斂。但是當一張圖片輸入到神經網絡經過卷積計算之后,這個分布就不會滿足剛才經過標準化處理操作之后的分布了,可能適應了新的數據分布規律,這時將數據接入激活函數中,很可能一些新的數據會落入激活函數的飽和區,導致神經網絡訓練的梯度消失。為了解決這個問題,BN[24]應運而生。BN 方法使用歸一化操作、尺度和移位操作來解決內部協變量移位問題,不但能加速網絡的收斂速度,控制梯度消失以及防止過擬合問題。受此啟發,本文使用BN進行歸一化操作,原理如下所示。
CNN出現初期,一般使用的Sigmoid函數。在其反向傳播求誤差梯度時,求導涉及除法且是指數級運算,計算量相對大,而采用ReLU激活函數能大幅度降低模型的計算量;對于深層CNN網絡,在反向傳播時,Sigmoid函數接近飽和區時,導數趨于0,易于出現梯度消失的問題,從而造成邊緣信息丟失,使用ReLU 激活函數能有效解決梯度消失問題;并且ReLU會使一部分神經元的輸出為負數轉變成0,因此造成了網絡的稀疏性。基于這個特點,ReLU能有效減少參數的相互依賴關系,因此可以有效緩解過擬合問題。ReLU激活函數公式如下:
殘差學習是由何愷明等人[14]于2016年提出的,在圖像分類、圖像處理等多個領域都有著全面領先的效果。它解決了隨著網絡深度的增加,網絡性能逐漸下降的問題。該算法通過跳躍連接實現了網絡輸入與通過多個疊加層的輸出相融合作為后層的輸入,解決了梯度消失或爆炸的問題。為此,殘差神經網絡(ResNet)的許多變體被提出用于低水平視覺任務[21,23]。例如,DPIR通過訓練一個靈活高效的CNN 去噪器設置基準深度去噪先驗,將它作為模塊插入基于HQS的迭代算法,并引入局部殘差和全局殘差來獲取清晰的圖像,從而可以解決各種圖像復原問題。
提取合適、全局的特征對于圖像識別[25]、圖像分割[7,26]、目標檢測[27]、圖像去噪[12,17-20,28-29]和圖像超分辨率[17-18,30]是非常重要的。傳統的CNN使用堆疊卷積層來降低原始圖像的維度,結果經常受到了信息丟失的影響。擴大感受野、增加網絡深度和卷積核大小是解決這一問題的有效方法。然而,增加網絡深度可能會導致網絡性能下降。增大卷積核的大小會使得參數的數量和計算量都增大。最近提出的膨空洞卷積引起了巨大的關注,不僅增強感受野的大小,提取更多的上下文信息,也大大降低了計算代價。使用2個3×3卷積核能代替1個5×5的卷積核,且參數比之前要少很多,基于這個特點能有效解決上述感受野問題。空洞卷積的感受野大小可以用擴張因子r和空洞卷積層數n來表示,感受野大小為(4n+1)×(4n+1)。現有研究表明,空洞卷積對圖像去噪也有很好的效果[19]。
不同的網絡架構可以提取不同的特征,這些提取的特征在圖像去噪中具有互補性。通過增加網絡的寬度來增強性能是圖像去噪的一個很好的選擇。因此,本文提出了一種基于深度學習的多分支網絡模型(MBNet),如圖1所示。該網絡稱為MBNet,由以下5部分組成:

圖1 MBNet網絡模型Fig.1 MBNet network model
(1)第一子網絡:共17層,由16層Conv+BN+ReLU,1層Conv組成。由于MBNet模型中每層都有64個3×3大小的卷積核,所以輸入為64×50×50×C(C表示通道數)的圖像,輸出1張50×50×C的特征圖,即1×50×50×C的圖像。
(2)第二子網絡:共17層,第1層Conv+BN+ReLU,第2~8層Dilated Conv+BN+ReLU,擴張率為2。第9層Conv+BN+ReLU,第10~15層Dilated Conv+BN+ReLU,擴張率為2。第16層Conv+BN+ReLU,第17層Conv組成。輸入為64×50×50×C的圖像,輸出為1張50×50×C的特征圖,即1×50×50×C的圖像。
(3)第三子網絡:共9層,由8層Dilated Conv+BN+ReLU,擴張率分別為1、2、3、4、5、4、3、2。1層Conv組成。輸入為64×50×50×C的圖像,輸出為1 張50×50×C的特征圖,即1×50×50×C的圖像。
(4)Concat:將三個子網絡所提取的特征進行通道相加特征融合,輸出為3 張50×50×C的特征圖,即3×50×50×C的圖像。
(5)第18 層:Conv,通過1 個3×3 的卷積核,重建C維圖像,輸入為3×50×50×C的特征圖,輸出為1 張50×50×C的特征圖,即1×50×50×C的圖像。
另外,C=1 和C=3 分別表示灰色圖像和彩色圖像的通道數。不管是處理已知高斯噪聲的灰度圖,或者處理灰度圖和彩色圖盲高斯去噪時,d都是等于18。此外,圖1中⊕表示了本文中RL思想的實現,即MBNet中的減法運算(噪聲圖像-殘差圖像=清晰圖像),此處的清晰圖像不等于原圖。MBNet網絡模型如圖1所示。
由于輸入圖像大小對于整個模型的性能有很大影響。因此,計算整個模型中各個卷積層對應輸入圖像的感受野大小是非常必要的。在擴張因子的幫助下,感受野可以從環境中獲取更多的信息。例如,當第一個網絡的擴張率為r時,接收場大小為(2r+1)×(2r+1),其中r為層數。因此,MBNet模型中第一子網絡對應輸入圖像的感受野大小分別為(3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35);在第二子網絡中,由于擴張因子為2,2~8層和10~15層從更廣闊的領域接收到更多的信息。其中,2~8 層和10~15 層的感受野大小分別為(4n+1))(4n+1),所以第二子網絡對應感受野大小分別為(3,7,11,15,19,23,27,31,33,37,41,45,49,53,57,61,63);第三子網絡對應感受野大小分別為(3,7,13,21,31,39,45,49,51)。
第一子網絡是延續了17層的DnCNN模型結構,與之不同的是,在第一層CNN 后面加入BN 操作,保證了MBNet 在擁有DnCNN 性能及以上的同時,更能加速網絡收斂。第二條子網絡是由17層的DnCNN演變而來,與之不同的是,將2~8 層及10~15 層的普通卷積換成了擴張因子為2 的空洞卷積。之所以也設計成17 層網絡結構,是為了與第一條子網絡進行對比實驗,來體現引入擴張率相同的空洞卷積來增大感受野,能提取更多的上下文信息來增強邊緣特征的提取。BRDNet就是采用了在這樣的雙網絡結構特征,以至于其在高斯圖像去噪領域引起了很大轟動。由于第一,第二子網絡分別是由普通卷積以及擴張率相同的空洞卷積組成,因此為了做對比實驗,第三條子網絡由各不同擴張率的空洞卷積組成。由于第一子網絡的感受野為35,第二子網絡的感受野為63,平均為49,考慮到由17層的不同擴張率的空洞卷積組成的網絡的感受野特別大,與所期望的性能會相差甚遠,慶幸的是,由IRCNN 演變而來的由擴張率為(1、2、3、4、5、4、3、2、1)的純空洞卷積的模型對應的感受野為51,與第一、第二子網絡平均感受野49接近。并且為了加快模型的收斂速度,也在第一層CNN 上加入了BN 操作。因此,第三層網絡在感受野方面接近的情況下,模型只有9層,大大降低了計算代價。
將以上三個子網絡同時集成到MBNet,可以使三個子網絡產生互補的特征,提高網絡的泛化能力。既能體現各子網絡在相同條件下的性能優劣,也能展現出各子網絡結合的性能與單個子網絡之間的對比,所以這三條子網絡的結構設計是合理的。
另外,從感受野的角度可以看出,MBNet 的第二子網絡與由31 層普通卷積組成的模型性能相當。因此,空洞卷積可以在保持感受野大小不變的情況下,大大降低計算成本。
受GooLeNet和DnCNN的啟發,本文選擇均方誤差(MSE)來獲得網絡的最優參數。設x是原始圖像,y是噪聲圖像。當給定訓練數據集時,MBNet模型使用RL來預測殘差圖像f(y),通過x=y-f(y)將噪聲圖像轉換為清晰圖像。因此可得f(y)=y-x,即f(y)約等于噪聲等級。由于Adam 使用動量和自適應學習率,可以加快收斂網絡速度,因此本文通過用Adam優化器[32]最小化以下MSE損失函數來獲取最優參數。
其中,N是噪聲圖像塊的數量,θ表示所提出模型的參數。
Adam優化器原理如下所示。
MBNet的一個優點是將三種不同且互補的網絡(包含了DnCNN、IRCNN及BRDNet的結構特性)結合起來進行圖像去噪,有著比DnCNN、IRCNN及BRDNet更強的去噪性能以及泛化能力。如圖1所示,第一個子網絡主要包括Conv、BN 和RL。第二個子網絡集成了BN、Conv、Dilated Conv 和RL。第三個子網絡集成了BN、Dilated Conv和RL。這三個子網絡的層數、對應的感受野都不相同。在層數相同的情況下,第一子網絡和第二子網絡可以進行對比實驗。在感受野方面,第三子網絡對應的感受野與第一、第二子網絡模型對應的平均感受野方面接近,也可構成對比實驗,既能體現各子網絡在相同條件下的性能優劣,也能展現出三子網絡相互結合的性能與單個子網絡之間的對比。從圖1 可以看出,MBNet 通過預測加性高斯白噪聲(標準差σ(σ=25))可以得到一幅潛在的清晰圖像。即首先可以利用MBNet來預測噪聲υ。然后,利用得到的噪聲υ生成清晰的圖像x。所設計的網絡遵循以下規則:
(1)絕大多數的CNN模型都是單分支模型,使用堆疊卷積層來降低原始圖像的維度,結果經常受到信息丟失的影響,不能充分地利用圖像特征;并且網絡一旦加深,可能導致梯度消失或爆炸問題。因此,本文設計了一種新的去噪網絡,稱為MBNet,它使用三個不同的子網絡,通過增加網絡的寬度來減少網絡的深度,從而獲得更多的特征。深度被減少,它不會產生消失或爆炸梯度。
(2)該模型通過卷積核改變訓練數據的分布。BN被認為是解決這一問題的良好選擇。由于該模型的深度不長,參數量不大。在實驗過程中設置的batch_size=32,所以使用BN可以有效提高去噪網絡的收斂速度并且不會產成梯度消失或爆炸的情況。
(3)深度網絡可以提取更準確的特征。然而,深度網絡會丟失一些上下文信息,從而造成“邊緣偽影”問題,即邊緣特征提取不充分。因此,本文在MBNet模型中使用空洞卷積來擴大感受野,捕捉更多的上下文信息來解決此問題。具體地說,空洞卷積可以使用更少的層來發揮與更多層相同的作用。從之前的研究中得知,增加寬度可以提取更多的特征[19],MBNet也具有這樣的網絡體系結構,即增加網絡的寬度而不是其深度來提取更健壯的特征。因此,MBNet在解決邊緣特征提取不充分問題上使用空洞卷積來擴大感受野,捕捉更多的上下文信息來提高圖像去噪性能方面是非常有效的。此外,減小網絡深度還可以防止梯度消失或爆炸。通過這種方式,MBNet 可以降低計算代價。而第二、第三子網絡有擴張的卷積,可以使三個子網絡產生互補的特征,提高網絡的泛化能力。雖然這三個子網絡的深度并不深,但是相比于非常深的單一網絡,它們的集成可以有很好的性能。
(4)為了解決深度CNN性能飽和問題,MBNet采用了局部殘差學習和整體殘差學習的方式再次提高去噪性能。
本文主要從以下幾個方面介紹了實驗結果:數據集、實驗設置、消融實驗、MBNet 對于灰度高斯噪聲圖像、對于彩色高斯噪聲圖像、運行時間和參數量。首先,本文證明了MBNet 的主要成分技術的有效性。其次,給出了MBNet 在Set12 和BSD68 公共數據集上對灰度合成噪聲圖像去噪的性能。選擇了幾種最先進的灰度合成噪聲圖像去噪方法,如BM3D[3]、WNNM[6]、期望斑塊對數似然(EPLL)[32]、MLP[33]、可訓練非線性反應擴散(TNRD)[34]、收縮場級聯(CSF)[35]、DnCNN[17]、IRCNN[12]、BRDNet[19]來與MBNet 進行比較。最后,本文介紹了MBNet的參數量及運行時間。
首先,為了測試MBNet的性能,本文使用峰值信噪比(PSNR)[12]和主觀視覺效果來驗證去噪效果。如果在測試數據集上去噪方法的PSNR值越大,則去噪方法的性能越好。其次,為了突出去噪圖像上的視覺效果,還從獲得的清晰圖像中放大一個區域來演示。如果放大的區域越清晰,邊緣紋理特征越多,則認為測試的模型就越有效。PSNR計算公式如下:
其中,MAX表示每個圖像的最大像素值(MAX在圖中的值是1.0)。MSE是原始圖像和預測清晰圖像之間的誤差,由公式(2)求得。再次,本文還展示了MBNet在灰度和彩色合成含噪圖像去噪方面的性能。實驗證明,MBNet 與其他流行的方法相比,獲得了令人信服的去噪結果。最后,本文還對計算代價進行了測量,結果表明MBNet也具有很強的競爭力。
對于灰度圖和彩色圖去噪,本文都使用了滑鐵盧勘探數據庫中的4 744張圖像來訓練模型,驗證集分別采用Set12和McMaster。灰度圖測試集采用Set12和BSD68數據集,彩色圖測試集采用CBSD68、Kodak24和McMaster數據集。
一般而言,圖像的不同區域具有不同的結構信息。因此,將整個噪聲圖像切分成多個噪聲圖像塊更容易學習到特定位置的特征。另外,與整個噪聲圖像相比,使用噪聲圖像塊可以顯著節省內存并降低計算成本[31]。
對于給定高斯噪聲等級(σ)的灰度圖來說,訓練圖像被裁剪成313 104個*.png格式的圖像塊,圖像塊大小設為50×50。對于盲噪聲等級的灰度圖或者彩色圖來說,訓練圖像被裁剪成626 208 個*.png 格式的圖像塊,圖像塊大小設為50×50。
原因如下:本文設計的網絡由三個子網絡組成,前兩個子網絡的深度為17,后一個子網絡深度為9,MBNet的深度為18,其中第一個子網絡的感受野為2×17+1=35,第二個子網絡的感受野為63。第三個子網絡的感受野為51。如果圖像塊的大小明顯大于感受野的大小,所設計的網絡將消耗更多的計算成本。因此,本文將三個子網絡的感受野大小的平均值作為MBNet 的感受野,其大小為(35+63+51+2)/3≈50。本文將圖像塊的大小設置為50×50(50>49)。值得注意的是,圖像塊的大小為50 遠低于第二個子網絡的感受野大小,不能完全映射第二個子網絡。但是圖像塊的大小比第一個子網絡的感受野大小大,可以為第二網絡提供補充信息。因此,為了在效率和性能之間進行權衡,圖像塊的大小為50是合適的。
MBNet 利用目標函數來預測殘差圖像,如公式(2)所示。由于本文提出的MBNet 方法主要與DnCNN 以及BRDNet 性能作比較,因此,基本的學習率參數與前兩者保持一致。初始化的學習速率為1×10-3,訓練MBNet模型的epoch為50,前30個epoch的學習速率從1×10-3,后20 個epoch 的學習速率為1×10-4。值得注意的是,DnCNN 中的batch_size 設置為128,由于MBNet的參數量為DnCNN 的2 倍左右,在硬件條件受限制的情況下,MBNet中的batch_size設置為32,在BN原文獻[21]中有明確提出batch_size 越大,BN 越能發揮作用,batch_size設置為32以下,才會對BN的效果產生影響,因此MBNet中的batch_size設置為32是可行的。
為了驗證上述MBNet 中的batch_size=32 的可行性,本文做了batch_size 值對MBNet 的去噪效果PSNR(dB)影響(σ=25,Set 12),如表1所示。

表1 Batch_size值對MBNet的去噪影響Table 1 Effect of batch_size value on MBNet denoising
由表1 可看出,batch_size 的值越大,所得到的平均PSNR 值確實是越大。但是總體來說,batch_size=32所得到的平均PSNR 值與batch_size=128 的平均PSNR值在性能上相差不大,由于所有實驗都在Win 11 和Python3.8、CUDA 11.3、pytorch 1.10.2 環境中實現,并在配備AMD Ryzen 7 5800H CPU、16 GB RAM 和NVIDIA GeForce RTX 3060 圖形處理器(GPU)的PC上運行的。考慮到GPU 的計算能力受限問題,因此本文的batch_size 取值為32 是可行的。其余詳細的初始化權重參考文獻[17]。
眾所周知,不同的網絡結構可以產生不同的特征,這些特征在圖像高斯去噪中是互補的。因此,本文為MBNet 設計了三種不同的網絡架構(即上層網絡、中層和下層網絡),也稱(第一、第二、第三子網絡)。在圖像高斯去噪中,多個網絡的融合比單個網絡更有效。因此,MBNet 采用三個子網絡加RL 技術分別獲取清晰圖像。然后,將得到的三張清晰圖像進行融合,得到更加清晰的圖像,避免了噪聲的增強。值得注意的是,融合的清晰圖像雖然可以提高圖像的質量,但與給定的原始圖像相比,可能會導致部分像素過于突出。因此,利用最后一層卷積來消除上面的N??ve 效應,并將得到的特征轉化為相應的噪聲映射。最后,利用MBNet末端的RL,通過噪聲圖像和預測噪聲映射得到最終的清晰圖像。
為了測試MBNet中的每種技術對圖像去噪的有效性,本文將對MBNet各子網絡及成分進行剖析,還進行了大量對比實驗來證明各子網絡及成分的高斯去噪效果(σ=25,Set 12)。多種模型對灰度噪聲圖像的平均PSNR(dB)如表2所示。

表2 多種模型的平均PSNRTable 2 Average PSNR of multiple models
例如,各子網絡加入RL與未加RL的高斯去噪效果頗為明顯,體現出MBNet中RL對圖像高斯去噪的有效性,解決深度CNN性能飽和問題。
在第二子網絡中,加入空洞卷積的平均PSNR值比未加空洞卷積多了0.043 dB。并且在MBNet 中兩個子網絡有一定的空洞卷積發揮作用,其高斯去噪的PSNR值達到最佳。體現出MBNet中利用空洞卷積來增大感受野,提取更多的上下文信息來解決邊緣特征提取不充分問題。
兩個子網絡相互結合也有一定的高斯去噪效果,但總體要比三個子網絡結合效果差些。當三個子網絡中,空段卷積、BN、RL相互結合在一起時,高斯去噪效果達到最佳,PSNR值為30.632 dB,比DnCNN多了0.244 dB,體現出多分支網絡并行,再進行特征融合來增強去噪效果的方法能有效解決深度CNN單分支網絡模型提取特征不充分問題。
為了測試MBNet中的每個子網絡及成分對圖像高斯去噪的有效性,本文還設計了7幅對比圖來證明其有效性,從以下幾個方面介紹:
(1)MBNet 中的三個子網絡模型分別在驗證集為Set12 灰度圖數據集上的高斯圖像去噪的平均PSNR 值走勢圖(σ=25)。從圖2 中可以看出,在層數一致的情況下,第二子網絡的最高PSNR值要比第一子網絡的要高,epoch=30之后的收斂速度都相對穩定。證明了加入擴張率相同的空洞卷積的第二子網絡的高斯去噪效果更好,能提取更多的上下文信息來解決邊緣特征提取不充分問題。

圖2 各個子網絡的平均PSNRFig.2 Average PSNR of each subnetwork
第一子網絡延續了DnCNN模型的性能及特點并在第一層CNN 上添加了BN 操作,加速了網絡的收斂速度,當在σ=25 時,在Set12 上的平均PSNR 值要比DnCNN 高0.132 dB。第三子網絡則是延續了IRCNN的性能及特點,與之不同的是,多添加了兩層擴張率分別為4、5 的空洞卷積,因此感受野也隨之發生相應變化,且在第一層基礎上添加了BN操作,加速網絡收斂。當在σ=25 時,在Set12 上的平均PSNR 值要比IRCNN高0.038 dB。實驗數據如表2 所示,表明這三條子網絡都達到了預期的實驗效果。因此,這三條子網絡在輸入圖像相同、網絡結構完全不同的情況下,可以使各個子網絡產生互補的特征信息,提高網絡的泛化能力。
(2)MBNet中的三個子網絡兩兩相互結合分別在驗證集為Set12 灰度圖數據集上高斯圖像去噪的平均PSNR值走勢圖(σ=25)。從圖3~5中可以看出,MBNet模型中兩個子網絡相互結合的高斯去噪效果要比單個網絡的高斯去噪效果明顯,兩個子網絡結合的網絡的最高PSNR值要比單一網絡的要高,其收斂速度也比單個模型的要快。在表2中也能看出,兩兩子網絡相互結合的平均PSNR值分別為30.581 dB、30.560 dB、30.586 dB,都要依次高于組成其的單一子網絡的平均PSNR 值。證明了雙分支網絡并行,再進行特征融合來增強去噪效果的方法能有效解決深度CNN單分支網絡模型提取特征不充分問題。

圖3 上、下層及其相結合的網絡的平均PSNRFig.3 Average PSNR of upper and lower layers and their combined networks

圖4 上、中層及其相結合的網絡的平均PSNRFig.4 Average PSNR of upper,middle and their combined Networks

圖5 中、下層及其相結合的網絡的平均PSNRFig.5 Average PSNR of middle and lower layers and their combined networks
(3)MBNet中的三個子網絡結合的模型與兩個子網絡相互結合的模型分別在驗證集為Set12灰度圖數據集上高斯圖像去噪的平均PSNR值走勢圖(σ=25)。從圖6中可以看出,在MBNet模型中,三個子網絡相結合的模型的高斯去噪效果要比兩個子個網絡相互結合的高斯去噪效果都要好,其最高PSNR值要比兩兩結合的網絡模型都要高,其收斂速度也比兩兩結合的模型要快,在表2 中也能看出,三個子網絡相結合的模型的平均PSNR值為30.620 dB,要高于兩兩子網絡相互結合的平均PSNR 值分別為30.581 dB、30.560 dB、30.586 dB,且都要依次高于組成其的單一子網絡的平均PSNR 值。充分證明了三分支網絡并行,再進行特征融合來增強高斯去噪效果的方法比雙分支的去噪效果更好,更能有效解決深度CNN單分支網絡模型提取特征不充分問題。

圖6 各結合網絡模型的平均PSNRFig.6 Average PSNR of each combined network model
(4)MBNet 模型(Three sub-networks with RL)與Three sub-networks without RL 模型在驗證集為Set12灰度圖數據集上高斯圖像去噪的平均PSNR 值走勢圖(σ=25)。從圖7 中可以看出,MBNet 模型的最高PSNR值要比Three sub-networks without RL 高很多,其收斂速度也比Three sub-networks without RL 模型的要快,在表2中也能看出,MBNet的平均PSNR值為30.632 dB,要高于三個子網絡相結合的模型的平均PSNR 值30.620 dB,也高于兩兩子網絡相互結合的平均PSNR值分別為30.581 dB、30.560 dB、30.586 dB,且都要依次高于組成其的單一子網絡的平均PSNR 值。充分證明了MBNet模型中RL的有效性,能有效解決深度CNN性能飽和問題。

圖7 MBNet與Three sub-networks without RL網絡模型的平均PSNRFig.7 Average PSNR of MBNet and Three sub-networks without RL network model
(5)MBNet 模型與DnCNN、BRDNet 模型在驗證集為Set12灰度圖數據集上高斯圖像去噪的平均PSNR值走勢圖(σ=25)。從圖8 中可以看出,MBNet 模型的最高PSNR 值要遠高于DnCNN 和BRDNet,其收斂速度也比DnCNN 和BRDNet 的要快很多。在表2 也能清楚地看到,當在σ=25 時,MBNet 的在Set12 上的平均PSNR值要比DnCNN、IRCNN、BRDNet分別高0.244 dB、0.256 dB、0.146 dB。充分證明了MBNet 模型在高斯圖像去噪中的先進性。另外,MBNet是將三種不同且互補的網絡(包含了DnCNN、IRCNN 及BRDNet 的結構特性)結合起來進行圖像去噪,有著比DnCNN、IRCNN 及BRDNet更強的去噪性能以及泛化能力。

圖8 MBNet與DnCNN、BRDNet的平均PSNRFig.8 Average PSNR of MBNet,DnCNN and BRDNet
(6)MBNet模型與BRDNet模型在由滑鐵盧勘探的4 744 張灰度圖訓練集(313 104 張圖像塊)上的Loss 值變化曲線圖(σ=25)。縱軸為Loss值,橫軸為Step(加載次數)。由于每個epoch的圖像塊數都為313 104,則50個epoch的圖像塊總數為15 655 200。由于batch_size=32,意味著設備每次可以加載32 張圖像塊,則總共需要的加載次數為489 225,與本文的橫坐標數字范圍相對應。之所以不采用以epoch 為橫坐標的方式是因為epoch的總數小,很難反映Loss值的變化趨勢,而采用加載次數Step能有效反映Loss值的變化趨勢。
由于DnCNN的參數量較小且訓練集為由400張灰度圖組成的Train400,此數據集可以讓DnCNN 的Loss值達到穩定狀態,而MBNet 與BRDNet 的參數量較大,Train400不能讓其Loss值達到穩定,因此訓練集采用了滑鐵盧勘探的4 744 張灰度圖訓練集,本文主要比較MBNet與BRDNet的Loss變化曲線圖。
MBNet 與BRDNet 的Loss 值真實變化趨勢為圖9的彩色模糊部分,為了讓Loss值變化趨勢看起來平滑一些,將smoothing設成了0.999。

圖9 MBNet與BRDNet在訓練集上的Loss值Fig.9 Loss value of MBNet and BRDNet on training set
從圖9中可以看出,MBNet模型的Loss值要遠低于BRDNet,其收斂速度也比BRDNet 的要快很多。根據公式(3)可知,Loss 值越小,PSNR 越大。因此從圖9 中Loss 變化趨勢也可以推理出MBNet 的去噪性能比BRDNet的去噪性能更強。
首先,對于灰度圖給定高斯噪聲圖像去噪,使用MBNet 和幾種最先進的方法(BM3D、WNNM、EPLL、MLP、CFS、TNRD、DnCNN、IRCNN、BRDNet)在Set12上進行了實驗,噪聲等級(σ=15,25,50)。如表3~5 所示,不同σ值的最佳高斯去噪峰值信噪比用粗體突出顯示。本文提出的MBNet模型可以獲得最高的平均PSNR,優于DnCNN和IRCNN的灰度圖像去噪基準。當σ=50時,MBNet 的平均PSNR 值比BM3D 高0.77 dB,這表明MBNet在Set12上具有更出色的性能。

表3 各模型在Set12數據集(σ=15)的PSNRTable 3 PSNR of each model in Set12 dataset (σ=15)

表4 各模型在Set12數據集(σ=25)的PSNRTable 4 PSNR of each model in Set12 dataset (σ=25)

表5 各模型在Set12數據集(σ=50)的PSNRTable 5 PSNR of each model in Set12 dataset (σ=50)
其次,使用MBNet 和幾種最先進的方法(DnCNN、IRCNN、BRDNet)在BSD68 數據集上進行了實驗。如表6所示,把不同σ值的最佳高斯去噪峰值信噪比用粗體突出顯示。*表示復現的結果,提出的MBNet得到的平均PSNR 值優于DnCNN、IRCNN 和BRDNet 的PSNR值,當σ=50 時,MBNet 的平均PSNR 值比IRCNN 高0.206 dB,這表明MNet在BSD68上也具有很好的效果。

表6 各方法在BSD68數據集上的平均PSNRTable 6 Average PSNR of each method on BSD68 dataset
最后,為了更加方便地觀察MBNet 和其他方法的性能,由于每張圖像都是有若干個50×50 圖像塊組成,因此本文還放大了使用不同方法獲得的一個清晰圖像中的一個50×50大小的區域,分別使用Set12、BSD68各一張圖像進行實驗。從圖10、11中可以看出,與其他方法相比,MBNet可以恢復更多的圖像邊緣紋理特征并且能獲得更清晰的圖像,這表明在灰度圖高斯去噪中,MBNet具有更出色的性能。

圖10 使用不同方法對Set12數據集中的圖像進行去噪的結果Fig.10 Results of denoising images in Set12 dataset using different methods

圖11 使用不同方法對BSD68數據集中的圖像進行去噪的結果Fig.11 Results of denoising images in BSD68 dataset using different methods
對于含有灰度、彩色圖像的高斯盲去噪,本文使用了三個噪聲等級(σ=15,25,50)來訓練模型。在灰度圖盲去噪上,在Set12、BSD68 數據集上將MBNet 與最先進的去噪方法(DnCNN、IRCNN、BRDNet)進行了比較。在彩色圖高斯盲去噪上,在CBSD68、Kodak24 和McMaster數據集上將MBNet與最先進的彩色圖像去噪方法(DnCNN、IRCNN、BRDNet)進行了比較。表7、表8中用粗體突出顯示了不同σ值的最佳PSNR 結果,*表示復現的結果。

表7 各灰度數據集上對應的平均PSNRTable 7 Average PSNR corresponding to each gray dataset

表8 各彩色數據集上對應的平均PSNRTable 8 Average PSNR values of each color dataset
從表7、表8 中可以看出:在Set12 上,當σ=25 時,MBNet的平均PSNR值比IRCNN高0.455 dB;在BSD68上,當σ=15 時,MBNet 的平均PSNR 值比IRCNN 高0.239 dB;在CBSD68 上,當σ=50 時,MBNet 的平均PSNR 值比IRCNN 高0.442 dB;在Kodak24 上,當σ=50時,MBNet 的平均PSNR 值比IRCNN 高0.619 dB;在McMaster 上,當σ=50 時,MBNet 的平均PSNR 值比IRCNN高0.831 dB;因此,所提出的MBNet 模型方法在不管是在灰度圖,還是彩色圖高斯盲去噪方面比其他方法更有效,這表明MBNet具有更強的性能。
為了更加方便地觀察MBNet 和其他方法的性能,由于每張圖像都是由若干個50×50圖像塊組成,因此本文還放大了使用不同方法獲得的一個清晰圖像中的一個50×50大小的區域,分別采用McMaster和Kodak24各一張圖像進行實驗。從圖12、圖13中可以清楚看出,與其他方法相比,MBNet可以恢復更多的圖像邊緣紋理特征和獲得更清晰的圖像,這表明在彩色圖高斯去噪中,MBNet同樣具有更出色的性能。

圖12 使用不同方法對McMaster中的圖像進行去噪的結果Fig.12 Results of denoising images in McMaster dataset using different methods

圖13 使用不同方法對Kodak24中的圖像進行去噪的結果Fig.13 Results of denoising images in Kodak24 dataset using different methods
綜上所述,不管是在給定噪聲等級的灰度圖高斯去噪上,還是灰度圖、彩色圖高斯盲去噪上,大量實驗結果證明了MBNet與目前先進的各個算法模型的性能都要優秀,如表3~8中數據所示。并且如圖10~13所示,MBNet與其他先進的算法相比,可以恢復更多的圖像邊緣紋理特征和獲得更清晰的圖像。這表明不管在灰度圖還是彩色圖高斯去噪中,MBNet同樣具有更出色的性能以及更強的泛化能力。
一個好的去噪器應該在峰值信噪比和運行時間及參數量之間實現折衷[12]。在參數量方面,MBNet 與DnCNN 和BRDNet 進行了比較,如表9 所示。例如,在對彩色圖像高斯盲去噪中,MBNet模型的參數量及每秒千兆次浮點數分別是1.37×106、3.45,是DnCNN 模型的兩倍左右,同時也比BRDnet 多些,但是MBNet 模型所表現出來的去噪性能是DnCNN及BRDNet都無法比擬的。因此,以增加模型的參數量的方式來提升模型的高斯去噪性能也是一種不錯的選擇。

表9 各方法的參數量Table 9 Number of parameters of each method
另外,評估一個模型的好壞,測試速度是比訓練速度更重要的指標[36]。因此,本文使用了大小分別為256×256、512×512和1 024×1 024的灰度圖(σ=25)進行時間測試,實驗中MBNet 與BM3D、WNNM、EPLL、MLP、TNRD、CSF、DnCNN 和BRDNet 進行了比較。如表10所示。例如,在有GPU的條件下,輸入圖像為一張256×256的圖,DnCNN及BRDNet的測試時間分別為0.036 s、0.062 s,而MBNet 的測試時間為0.078 s,這與預期的測試時間相差不大,因為MBNet 模型的參數量是DnCNN的兩倍左右。盡管MBNet的測試時間相比其他的先進模型的測試時間要多點,但是取得的高斯去噪性能要遠強于DnCNN。

表10 各方法在不同尺寸圖像的測試時間Table 10 Test time of each method in images of difference size 單位:s
綜上所示,MBNet 模型在高斯圖像去噪方面與DnCNN、BRDNet 在性能、GPU 上運行時間和復雜度上具有很強的競爭力,即提出的MBNet 具有較小的計算代價的同時有著比DnCNN、BRDNet更加出色的高斯去噪性能。
本文提出了一種新的基于深度學習的多分支網絡去噪模型MBNet。首先,MBNet 引入三條分支網絡作為子網絡,將三條子網絡并行操作,來增加MBNet的寬度,并將其各自子網絡提取的特征相融合,從而獲得更多的圖像特征,解決了深度CNN 單分支網絡模型提取特征不充分問題。其次,MBNet在第二分支及第三分支引入多個不同擴張率的空洞卷積來增大感受野,提取更多的上下文信息來增強邊緣特征的提取,再降低計算成本的同時,還解決了絕大多數深度CNN 邊緣特征提取不充分問題;最后,MBNet 使用了多局部殘差學習和整體殘差學習來解決了深度CNN網絡在高斯圖像去噪方面性能飽和問題。大量實驗結果表明,MBNet不管是在灰度圖還是彩色圖上的高斯去噪方面與其他先進方法相比具有更強的高斯去噪性能。另外,MBNet 包含了DnCNN、IRCNN及BRDNet的結構特性,可以使三個子網絡產生互補特征,有著比DnCNN、IRCNN及BRDNet更強的泛化能力。在未來,計劃使用具有先驗知識的CNN 來處理更復雜的真實含噪圖像去噪,如遙感圖像和醫學圖像等。