靳華中,張修洋,葉志偉,張聞其,夏小魚
(湖北工業(yè)大學計算機學院,武漢 430068)
圖像去噪在許多實際應用中是必不可少的[1]。在圖像處理的低層視覺中它是一個經(jīng)典且具有挑戰(zhàn)性的問題。根據(jù)圖像退化模型y=x+v,圖像去噪的目標是從噪聲觀測值y中恢復出干凈的圖像x,而一個常見的假設(shè)是v為標準差為σ的加性高斯白噪聲[2]。在過去的幾十年中,人們提出各種算法對圖像進行先驗建模,并且有些取得了不錯的效果,例如塊匹配三維協(xié)調(diào)濾波(Block-Matching and 3D coordinated filtering,BM3D)算法[3]、同時稀疏編碼學習(Learned Simultaneous Sparse Coding,LSSC)算法[4]、非局部集中的稀疏表示(Nonlocally Centralized Sparse Representation,NCSR)算法[5]和加權(quán)核范數(shù)最小化(Weighted Nuclear Norm Minimization,WNNM)算法[6]。盡管上述算法去噪效果較好,但大多數(shù)都存在兩個缺點:第一,這些算法通常在測試階段的優(yōu)化步驟很復雜,導致去噪整體耗時較長;第二,這些算法的模型通常是非凸的,并且大多數(shù)參數(shù)需要手動選擇。為了克服上述缺點,Schmidt 等[7]出了一種收縮場級聯(lián)(Cascade of Shrinkage Fields,CSF)算法,將基于隨機場的模型和展開的半二次優(yōu)化算法統(tǒng)一到一個學習框架中。Chen 等[8]提出了一種可訓練的非線性反應擴散(Trainable Nonlinear Reaction Diffusion,TNRD)模型,該模型通過展開固定數(shù)目的梯度下降推理步驟來學習圖像的修改域先驗。盡管CSF 和TNRD 在運算效率和去噪效果方面展現(xiàn)出了較好的結(jié)果,但它們本質(zhì)上受限于先驗的形式。具體來說,它們的先驗是基于分析的模型,即只能捕捉到圖像結(jié)構(gòu)的部分特性,并且參數(shù)都需要手動設(shè)置,導致其具有一定的局限性。隨著深度學習的興起,人們開始嘗試使用深度學習的方法去處理圖像的去噪問題,Zhang 等[9]將圖像去噪視作一個簡單的判別學習問題,通過前饋卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)將噪聲從圖像中分離出來,由此提出了去噪卷積神經(jīng)網(wǎng)絡(Denoising Convolutional Neural Network,DnCNN)模型。該模型將整流器線性單元(Rectified Linear Unit,ReLU)[10]、批量歸一化[11]和殘差學習[12]巧妙地引入到傳統(tǒng)的CNN 中,導致DnCNN 模型不僅加快了算法的訓練過程,而且提高了去噪性能。但在實際應用中,人們發(fā)現(xiàn)這樣的網(wǎng)絡結(jié)構(gòu)在訓練過程中容易發(fā)生過擬合,導致無法獲取到圖片的全部信息,從而造成較差的去噪效果。文獻[13]提出了在DnCNN中使用卷積與反卷積進行疊加的形式進行網(wǎng)絡處理,并進一步修改損失函數(shù),雖然得到了比DnCNN 模型更好的效果,但是在精度和效率上的提升并不是很明顯。
本文基于DnCNN 模型提出了一種基于近似U 型網(wǎng)絡結(jié)構(gòu)的圖像去噪模型。在本文的網(wǎng)絡結(jié)構(gòu)中,卷積神經(jīng)網(wǎng)絡層用于提取圖像的特征信息,反卷積神經(jīng)網(wǎng)絡層則主要用于復原圖像,恢復并放大一些圖像處理過程中遺漏的細節(jié)信息。為了縮短訓練的時長,本文采用了步長為2 的卷積層縮放圖像,這樣可以在保留圖像信息的同時,達到縮短訓練時間的效果。在網(wǎng)絡的后半段,同樣采用步長為2 的反卷積層恢復圖像。為了得到純噪聲圖像,本文保留了DnCNN 中原有的殘差學習用于過濾出干凈的圖像,使得網(wǎng)絡中的計算負載量進一步地減小,以縮短訓練時長。
實驗結(jié)果表明,在已知噪聲級別的高斯降噪中,本文模型比經(jīng)典去噪算法BM3D 和基于深度學習的去噪模型DnCNN 的降噪效果更好,并且比DnCNN 的訓練時長更短。
DnCNN 模型是目前深度學習應用于圖像去噪領(lǐng)域所公認的較為優(yōu)秀的模型。相較于傳統(tǒng)的圖像去噪算法在峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)上有明顯的提升。如圖1,DnCNN 的網(wǎng)絡結(jié)構(gòu)主要分為三個部分,在網(wǎng)絡的第1層,使用了64 個大小為3×3 的濾波器生成64 個特征圖,然后利用ReLU 處理非線性;在網(wǎng)絡的第2~15 層,使用了64 個大小為3×3 的濾波器,并且在卷積和ReLU 之間添加批量歸一化;在網(wǎng)絡的第16 層,使用了大小為3×3 的濾波器重建輸出,然后在網(wǎng)絡的末端采用殘差學習過濾出干凈的圖像。DnCNN 模型的提出主要有兩個貢獻:第一,為高斯去噪提出了一個端到端的可訓練的深度卷積神經(jīng)網(wǎng)絡模型;第二,發(fā)現(xiàn)將批量歸一化和殘差學習結(jié)合可以使卷積神經(jīng)網(wǎng)絡學習獲得極大的收益,即利用殘差學習,可以通過隱藏層逐漸將圖像結(jié)構(gòu)與噪聲觀測分離,利用批量歸一化則可以減輕內(nèi)部協(xié)變量偏移。兩者相結(jié)合從整體上加快了網(wǎng)絡的訓練速度,并且提高了去噪性能。
圖1 DnCNN網(wǎng)絡結(jié)構(gòu)Fig.1 DnCNN network structure
反卷積[14]又被稱為轉(zhuǎn)置卷積(Transposed Convolution)。相對來說,卷積層的前向傳播過程就是反卷積的反向傳播過程,卷積層的反向傳播過程就是反卷積的前向傳播過程。卷積操作是將原有的圖片進行了矩陣的卷積運算,將整體的視野放到局部,從而得到圖像的細粒度特征信息。而反卷積的操作則是類似于卷積的逆過程,即能夠?qū)⒕植康囊曇爸匦聰U充到整體,并且恢復出原圖像的粗粒度特征信息。利用反卷積網(wǎng)絡可以學習到圖像的邊緣、線條信息,并以一種無監(jiān)督的方式恢復圖像視覺中的中層特征。卷積神經(jīng)網(wǎng)絡在訓練時直接獲取到了圖像的特征信息,而反卷積網(wǎng)絡在訓練時則獲取到了圖像中空域范圍更大的特征信息,即多個局部信息的延展和綜合。由此可以看出,卷積與反卷積是兩個密不可分的過程,雖然它們在物理形式上只是兩個逆過程,但在應用于圖像信息提取時,兩種方法可以學習到圖像中的不同信息,因此結(jié)合起來使用是可行的。
U-Net[15]是比較早使用多尺度特征進行語義分割的算法之一,由于其壓縮和擴展過程呈現(xiàn)出的U 型結(jié)構(gòu)而得名。U-Net 網(wǎng)絡結(jié)構(gòu)如圖2 所示。
圖2 U-Net網(wǎng)絡結(jié)構(gòu)Fig.2 U-Net network structure
網(wǎng)絡的輸入端采用不同步長的卷積操作將圖像進行一定的壓縮,然后在網(wǎng)絡的對稱位置采用相同步長的反卷積進行圖像恢復。由于上采樣過程會丟失部分語義特征,于是將同一水平位置的特征圖進行疊加,以恢復部分語義信息,由此提高分割的精度。在圖像壓縮領(lǐng)域,U-Net 也受到了廣泛的關(guān)注。輸入一幅圖像,進行下采樣編碼,得到一串比原先圖像更小的特征,相當于對圖像進行了壓縮,然后經(jīng)過解碼,理想的狀態(tài)是能恢復到原來的圖像。U-Net 在生物醫(yī)學影像分割的實際應用中也有較好的表現(xiàn)。下采樣進行特征提取,得到圖像的位置和語義信息;上采樣將抽象的特征再還原解碼到原圖的尺寸,得到分割的結(jié)果;長連接將輸入圖像的信息保留,有助于還原降采樣所帶來的信息損失。U-Net 不僅應用廣泛,其U 型結(jié)構(gòu)也啟發(fā)了許多后續(xù)算法的研究。
圖3 虛線框中的內(nèi)容是本文基于原有的DnCNN 上作出改進的部分。即將深度卷積神經(jīng)網(wǎng)絡中原有的線性網(wǎng)絡結(jié)構(gòu),修改為近似U 型的網(wǎng)絡結(jié)構(gòu)。由于其原有的網(wǎng)絡結(jié)構(gòu)均采用步長為1 的卷積層,導致在訓練過程中,雖然能夠獲取到更多的圖像信息,但也會因此造成網(wǎng)絡的訓練速度變慢。為了不漏掉原有圖像的信息,同樣在前4 層采用了步長為1的卷積層;而在第5 層,采用步長為2 的卷積層,讓圖像進行縮放,使后續(xù)網(wǎng)絡層的輸入變?yōu)檩^小尺寸的圖像,既保證了原有的圖像信息,又減小了網(wǎng)絡中的運算負荷;相對應的,在第14 層也采用了步長為2 的反卷積層以恢復圖像到原有的尺寸,使網(wǎng)絡整體呈現(xiàn)出一個近似U 型的對稱結(jié)構(gòu)。這樣的結(jié)構(gòu)可以在保證圖像原有信息不丟失的情況下,縮短網(wǎng)絡訓練的時長;并且通過不同步長的卷積層,網(wǎng)絡也能夠從不同大小的感受野學習圖像信息,從而達到更好的訓練效果。
圖3 近似U型的網(wǎng)絡結(jié)構(gòu)Fig.3 Approximate U-shaped network structure
卷積神經(jīng)網(wǎng)絡普遍用于提取圖片中的特征信息來學習,但是只采用連續(xù)的卷積很容易造成網(wǎng)絡的過擬合,導致信息的遺漏。而在DnCNN 中,每一層都采用Conv+BN+ReLU 的結(jié)構(gòu),因此容易產(chǎn)生過擬合導致去噪效果不佳。于是在本文的網(wǎng)絡結(jié)構(gòu)中,引入了卷積層和反卷積層相結(jié)合的方式:一方面利用卷積神經(jīng)網(wǎng)絡良好的特征學習能力進行初步的圖像特征學習;另一方面利用反卷積神經(jīng)網(wǎng)絡強大的恢復能力進行圖像的復原,使復原后的圖像在細節(jié)方面的表現(xiàn)更好。由于反卷積的上采樣操作使圖像的信息得到了恢復和放大,使網(wǎng)絡進一步學習到圖像的潛在細節(jié)特征。因此在近似U型的網(wǎng)絡結(jié)構(gòu)中,本文在不同尺寸輸入圖像的處理過程中都采用了卷積與反卷積相結(jié)合的方式,使得整個網(wǎng)絡的學習效率進一步提高。
由于采用了近似U 型的網(wǎng)絡結(jié)構(gòu),本文參考了U-Net 中為了消除上采樣造成部分特征丟失所進行的疊加操作。在近似U 型結(jié)構(gòu)中,只有處于同一水平下的圖像尺寸相同,能夠進行疊加。如圖3 所示,將第4 層進行反卷積處理后的輸出圖像與第15 層的輸出圖像進行了疊加,第9 層和第10 層的輸出圖像也進行了疊加。通過圖像的疊加,可以將前面網(wǎng)絡中的特征信息傳遞到后續(xù)的網(wǎng)絡中,使去噪的精度得到進一步的提升。
近似U 型網(wǎng)絡結(jié)構(gòu)的設(shè)計提升了網(wǎng)絡整體的訓練速度并且從多個尺寸的圖像獲取到了信息,而反卷積和疊加操作也盡可能多地保留了圖像的細節(jié)信息。兩者結(jié)合使本文的近似U 型網(wǎng)絡結(jié)構(gòu)的圖像去噪模型在速度與精度兩個方面均不輸于當前去噪領(lǐng)域的其他算法。
訓練和測試數(shù)據(jù):對于未知噪聲水平的高斯去噪,使用了400 幅大小為180×180 的灰度圖進行訓練。為了訓練用于高斯去噪的網(wǎng)絡模型,設(shè)置了三個噪聲水平,即σ=15,25,50。并將每個patch 的大小設(shè)置為30×30,裁剪了128×3 466 個patch 來訓練模型。為了測試本文的訓練網(wǎng)絡,在圖像去噪領(lǐng)域應用較為廣泛的兩個測試集上與其他算法進行對比。一個是來自伯克利分割數(shù)據(jù)集(Berkeley Segmentation Dataset 68,BSD68)[9]的68 幅自然圖像的測試數(shù)據(jù)集,另一個是來自Set12 數(shù)據(jù)集[9]的12 幅灰度圖像。這些圖像都只用于評估高斯去噪方法,并不包括在訓練數(shù)據(jù)集中。
網(wǎng)絡結(jié)構(gòu)和參數(shù):本文訓練模型所采用的優(yōu)化器為Adam,初始學習率設(shè)置為0.001,迭代周期為50,在每迭代10 個周期后,學習率減少至原來的1/10。本文模型采用改進后的DnCNN 模型作為生成器,輸入的圖片采用30×30 的樣本塊,模型的深度修改為20 層,其中第1 層采用的是Conv+ReLU 的結(jié)構(gòu),2 至10 層采用的是Conv+BN+ReLU 的結(jié)構(gòu),11至19 層采用的是Deconv+BN+ReLU 的結(jié)構(gòu),最后在20 層進行Conv 的全卷積并采用了殘差學習策略以輸出干凈的圖像。整個結(jié)構(gòu)中的網(wǎng)絡層中均采用3×3 的卷積核,卷積核數(shù)均為64,在第6、16 層采用的卷積步長為2,其余層的步長均為1。本文使用的激活函數(shù)ReLU 均采用默認參數(shù),且利用圖像質(zhì)量評價指標峰值信噪比(PSNR)進行不同算法之間的去噪效果對比。PSNR 為圖像的峰值信噪比,常用作圖像壓縮去噪等領(lǐng)域中信號重建質(zhì)量的檢測方法,它通過均方差(Mean Square Error,MSE)進行定義。例如兩個m×n的單色圖像I和K,它們的均方差PMSE定義為:
峰值信噪比IPSNR為:
其中:MAXI表示圖像點顏色的最大數(shù)值,即如果每個采樣點用n=8 位表示,那么MAXI=28-1=255。
本文使用Windows 10 系統(tǒng),基于PyCharm 的Python3.6加tensorflow1.12 的軟件環(huán)境,運行在一臺搭載Intel Core i7-9700F CPU @ 3.00 GHz 處理器和NVIDIA GeForce RTX 2060 SUPER 顯卡的PC 上。使用GPU 進行網(wǎng)絡訓練時間為4 752 s。
將本文提出的模型與幾種較為先進的去噪算法進行了比較,包括兩種基于非局部相似性的算法,即BM3D 算法和WNNM 算法;一種生成算法,即期望塊對數(shù)似然估計(Expected Patch Log Likelihood,EPLL)算法[16];三種基于判別訓練的算法,即多層感知機(MultiLayer Perceptron,MLP[17])算法、CSF[18]算法、TNRD[19]算法和DnCNN-B 模型。并且均使用目前發(fā)布的基于同樣測試集的最優(yōu)實驗結(jié)果與本文的實驗結(jié)果進行對比。
不同算法在BSD68 數(shù)據(jù)集上的平均PSNR 結(jié)果如表1 所示。可以看到,本文模型在三種不同的噪聲下均獲得比其他算法更好的PSNR 結(jié)果。與其他算法相比,本文模型能得到0.04 dB~0.66 dB 的提升。特別是在σ=15 的情況下,本文模型的PSNR 相較于對比模型提升得更多。
表1 不同模型在BSD68數(shù)據(jù)集上的峰值信噪比對比 單位:dBTab.1 PSNR comparison of different models on BSD68 dataset unit:dB
表2~4 分別列出了噪聲水平在15、25、50 時不同算法對于Set12 中的12 幅測試圖像的PSNR 結(jié)果。每個圖像和每個噪聲級別最佳的PSNR 結(jié)果以粗體突出顯示??梢钥闯?,在大多數(shù)圖像上,本文模型均能獲得最高PSNR,但是在重復結(jié)構(gòu)占主導地位的兩個圖像“House”和“Barbara”上未能達到最佳效果。因為基于非局部相似性的算法通常在規(guī)則和重復的結(jié)構(gòu)圖像上表現(xiàn)更好,而基于辨別訓練的算法通常在不規(guī)則紋理圖像上表現(xiàn)更好。從12 幅圖像的平均PSNR 上看,本文模型還是領(lǐng)先于所有對比算法0.0 dB~0.78 dB,并且在低噪聲的情況下,本文模型表現(xiàn)更加突出。
表2 Set12數(shù)據(jù)集中每幅圖片的峰值信噪比對比(σ=15) 單位:dBTab.2 PSNR comparison of each picture in Set12 dataset(σ=15) unit:dB
為了進一步分析本文模型與DnCNN 模型在更多噪聲強度下對圖像的去噪效果,表5 列出了本文與DnCNN 模型在10~50 噪聲強度下的去噪情況,并記錄了每增強5 噪聲強度時,基于Set12 測試集的平均PSNR 和對應差值。由表5 的前2~3 列數(shù)據(jù)分析可知,本文模型與DnCNN 均在噪聲強度依次增強時去噪效果減弱,這是普遍存在的正常現(xiàn)象。因為噪聲的強度與去噪效果存在反比關(guān)系。但是橫向?qū)Ρ葋砜?,在任意噪聲強度下,本文模型均能夠取得比DnCNN 模型更高的PSNR 值,這說明本文模型在不同的噪聲強度下仍保證了一定程度的魯棒性。
表3 Set12數(shù)據(jù)集中每幅圖片的峰值信噪比對比(σ=25) 單位:dBTab.3 PSNR comparison of each picture in Set12 dataset(σ=25) unit:dB
表4 Set12數(shù)據(jù)集中每幅圖片的峰值信噪比對比(σ=50) 單位:dBTab.4 PSNR comparison of each picture in Set12 dataset(σ=50) unit:dB
由表5 的第3 列數(shù)據(jù)可以看出,本文模型在低噪聲值時的去噪效果與DnCNN 模型的差值較大,而在噪聲逐步增強時,兩者效果越來越趨近。這是因為在低噪聲的情況下,圖像能夠展示出更多的細節(jié)特征,由于本文模型在細節(jié)的處理與學習上比DnCNN 更好,所以獲取到了較好的結(jié)果。而在噪聲逐步增強的過程中,原圖像的細節(jié)信息逐步被噪聲所模糊,神經(jīng)網(wǎng)絡所能學習到的特征也會有所減弱,導致不同神經(jīng)網(wǎng)絡模型所學習到的特征有限,無法產(chǎn)生大的差距。這也是由現(xiàn)實情況所決定的,人眼是無法從高噪聲圖像中獲取到圖像的具體內(nèi)容。在噪聲添加達到一定的閾值之后,整張圖片就會顯示出花白,從而無法辨認出圖像的原本特征。但是整體上可以看出,本文模型在任意的噪聲強度下,相較于DnCNN 在去噪效果上都有一定的提升。
表5 Set12數(shù)據(jù)集上不同噪聲強度下本文模型與DnCNN模型對比Tab.5 Comparison of the proposed model and DnCNN model under different noise intensities on Set12 dataset
表6 中分別記錄了在采用2 步長的網(wǎng)絡結(jié)構(gòu)下與采用1步長的網(wǎng)絡結(jié)構(gòu)下的峰值信噪比和訓練時長。從表6 中可以看出,在采用了2 步長對圖像的大小進行了處理后,不僅可以將訓練時長縮短至原來的一半左右,還在峰值信噪比上獲得了一定的提升,這是由于單一的網(wǎng)絡結(jié)構(gòu)容易造成深度神經(jīng)網(wǎng)絡的過擬合導致峰值信噪比的降低,而采用不同步長的卷積方式則可以很好地避免這個問題。
表6 Set12數(shù)據(jù)集上不同步長網(wǎng)絡峰值信噪比與訓練時長對比Tab.6 Comparison of PSNR and training time for networks with different strides on Set12 dataset
圖4~6 是σ=25 時原圖像、噪聲圖、本文模型去噪圖與DnCNN 去噪圖的橫向?qū)Ρ?。為了進一步地觀察圖像中的細節(jié)部分,將綠框標識出的區(qū)域進行了3 倍放大并用紅框圈出。從圖4 可以很明顯地觀察到,在圖像直線部分的去噪中,本文模型在細節(jié)的保留上比DnCNN 要做得更好。圖5 則展示出了本文模型在圖像字體去噪中的卓越表現(xiàn),顯然本文去噪后圖像的字體仍然是清晰可見的,而DnCNN 中的字體則已經(jīng)模糊不清了。在曲線去噪的部分,從圖6 可以看出,本文模型去噪后的曲線顯得更加的平滑和均勻,且更接近原圖的輪廓。從這些圖像去噪效果的直接比較中可以發(fā)現(xiàn),本文模型不僅可以恢復出原圖像清晰的邊緣和精細的細節(jié),還可以在各種區(qū)域上產(chǎn)生比DnCNN 更好的視覺結(jié)果。
圖4 DnCNN與本文模型去噪后的局部對比圖(Monar)Fig.4 Local comparison diagram of DnCNN and the proposed model after denoising(Monar)
圖5 DnCNN與本文模型去噪后的局部對比圖(Airpl)Fig.5 Local comparison diagram of DnCNN and the proposed model after denoising(Airpl)
圖6 DnCNN與本文模型去噪后的局部對比圖(Parrot)Fig.6 Local comparison diagram of DnCNN and the proposed model after denoising(Parrot)
圖7 是基于Set12 數(shù)據(jù)集σ=25 時的平均PSNR 隨迭代次數(shù)變化的折線圖。一共迭代了50 次且每2 代進行一次記錄。從圖7 可以很明顯地看出:本文模型在前期的收斂趨勢和DnCNN 相似,但是當?shù)芷谶_到18 時候,本文模型已經(jīng)趨于穩(wěn)定,此時的平均PSNR 為30.46 dB;DnCNN 在第30 周期及以后仍存在不穩(wěn)定的趨勢。從單個周期的訓練時長上看,本文模型在一個周期內(nèi)所花費的時長大概為264 s,要略高于DnCNN 的161 s。但從總的訓練時長上看,本文模型總時長為4 752 s,而DnCNN 模型則為8 050 s。這樣計算出,本文所花費的總訓練時長比DnCNN 模型縮短了約41%。由上述分析可以得到,本文模型在保證收斂速度的同時,進一步提高了去噪的精度。
圖7 DnCNN與本文模型訓練收斂速度對比圖(σ=25)Fig.7 Comparison diagram of training convergence speed between DnCNN and the proposed model(σ=25)
表7 為本文模型和其他幾種算法在Set12 測試集上處理圖像的用時比較。由于本文模型與DnCNN 均為基于深度學習的模型,在運行前已經(jīng)預先將模型訓練完成,所以在運行時間上還是占有相當大的優(yōu)勢。
表7 各模型執(zhí)行時間對比單位:sTab.7 Comparison of execution time of each model unit:s
本文基于去噪卷積神經(jīng)網(wǎng)絡(DnCNN)模型提出了一種基于近似U 型網(wǎng)絡結(jié)構(gòu)的圖像去噪模型。該模型采用殘差學習以分離干凈圖像與噪聲,利用不同步長的卷積層進行圖像的卷積與反卷積,構(gòu)建出了一種近似U 型的網(wǎng)絡結(jié)構(gòu),并在不同大小感受野下采用了信息疊加操作。本文提出的模型不僅縮短了網(wǎng)絡的訓練時長,還提高了網(wǎng)絡的去噪性能。但目前此模型仍存在部分局限性,只能用于處理添加了高斯白噪聲的圖像,未來將對模型進行改進并嘗試將其應用于真實場景下的去噪。