羅仁澤,王瑞杰,張 可,范順利
(1.西南石油大學油氣藏地質及開發工程國家重點實驗室,四川 成都 610500;2.西南石油大學電氣信息學院,四川 成都 610500;3.西南石油大學地球科學與技術學院,四川 成都 610500)
傳統圖像去噪模型可分為基于空間域、變換域、稀疏表示以及自然統計四大類。其中具有代表性的方法有:基于空間域的中值濾波法[1],此方法忽略了每個像素自身的特點,去噪后圖像將會出現較為嚴重的模糊現象;基于變換域的BLS-GSM[2],此方法在去噪的同時會丟失一部分有用信息;基于稀疏表示法的NLSC[3],此方法去噪計算時間較長、去噪效率低;基于自然統計的BM3D[4],此方法只能濾除某種特定的噪聲。
為了克服傳統去噪模型的局限性,基于深度學習的非線性、深度的圖像去噪模型被大量提出。其中基于自編碼(Auto-encoder,AE)網絡[5-7]、卷積神經網絡[8-10](Convolutional Neural Network,CNN)、生成對抗網絡[11-13](Generative Adversarial Networks,GAN)廣泛應用于圖像去噪領域。基于自編碼網絡的DCAENN[5],可有效去除胸部X線圖像的噪聲,但只能去除已知的噪聲,不具有泛化能力;基于棧式稀疏去噪自編碼網絡的SSDAs[6],通過多個SSDAs相組合,將稀疏編碼與去噪自編碼器預訓練的深度神經網絡相結合進行圖像去噪,但SSDAs較依賴有監督的訓練,只能除去訓練集中出現的噪聲;基于棧式去噪自編碼網絡的SDA[7],由多層的全連接網絡構成,網絡模型訓練所需時間較長;基于殘差卷積神經網絡的DNCNN[9],利用殘差學習和批量歸一化來加速訓練過程,DNCNN模型能夠處理水平未知的高斯噪聲,但不能去除種類未知的噪聲;基于空洞卷積的IRCNN[14],通過使用空洞卷積增大感受野,進而使背景信息對重構受損像素起作用;基于堆疊生成對抗網絡的SGAN[12],該模型將估計圖像分布分解為多個相對較容易的任務來處理數據,有較好的去噪效果,但網絡不易訓練,資源消耗大,去噪的同時也會生成假象;基于條件生成對抗網絡的CGAs[13],將訓練過的網絡和銳度檢測網絡相結合來引導訓練過程,CGAs減少了生成對抗網絡的訓練難度,但去噪同時容易丟失特征信息。
本文提出的多功能去噪殘差卷積自編碼神經網絡(Multi-Functional Denoising Residual Convolution Auto-Encoding Neural Network,DRCAENNm)和去噪殘差卷積自編碼神經網絡(Denoising Residual Convolution Auto-Encoding Neural Network,DRCAENN),均以殘差塊、BN層和自編碼器組成的殘差卷積自編碼 (Residual Convolutional Auto-Encoder, RCAE) 塊為基本網絡結構,將含噪聲的圖像經過網絡模型訓練優化,輸出為去噪后的圖像。與DNCNN[9]、DCAENN[5]和IRCNN[14]模型對比,DRCAENN在去噪質量和網絡收斂速度方面表現最好,僅用其它網絡訓練所需的四分之一時間,就能達到最佳去噪效果;用單一噪聲訓練完成的DRCAENNm,不僅可以去除水平未知的噪聲,還可以去除與訓練數據類型不相同的噪聲,泛化能力超越已知的去噪網絡模型。
殘差學習(Residual Learning)[15]解決了常規網絡隨著深度的加深容易出現梯度彌散,而導致深層網絡去噪效果變差的現象。
以兩層殘差塊為例,見圖1所示,不加恒等映射(Identity Mapping)時,經兩層神經網絡后輸出可用式(3)表示:

圖1 ID Block結構
xi經線性變換后用hi+1表示,則
hi+1=wi+1*xi+bi+1
(1)
hi+1經激活函數g之后輸出為xi+1
xi+1=g*hi+1
(2)
經兩層神經網絡后xi+2可表示為式(3)
xi+2=g*hi+2
(3)
其中,hi+2為xi+1經過線性變換后的輸出。
若加上Identity結構,網絡第二層輸出用x(id)i+2表示,見式(4):
x(id)i+2=g*(hi+2+xi)
(4)
將式(3)、(4)展開:
xi+2=g*(wi+2*xi+1+bi+2)
(5)
xi+2=g*(wi+2*xi+1+bi+2+xi)
(6)
假設wi+2=0、bi+2=0則:
xi+2=g*0=0
(7)
x(id)i+2=g*xi=xi
(8)
由式(7)、(8)可知,不加恒等映射時網絡輸出為零,即此節點發生梯度消失現象,而殘差結構構成等函數后,保證了來自后一層的梯度值完好的傳到前一層,消除了梯度消失現象。
批量歸一化[16](Batch Normalization,BN)保證網絡正向傳播和反向傳播時的輸出在同一分布區間,可以解決梯度爆炸現象。同時,批量歸一化還能加快網絡收斂速度、可代替Dropout[17]層、提高網絡泛化能力的優點。
假設某層的輸入為x=(x1,x2,…,xn)共n維批樣本集合為B={x1,x2, …,xm},批量歸一化見式(9)-式(12)

(9)

(10)

(11)

(12)
式中x(n)為輸入x的第n維;μB為樣本集合B的期望;σB2為樣本集合B的方差;x(k))為輸入x的正則化結果;y(n)為x(n)的批量正則化結果;γ(n)、β(n)為待學習的參數。
為了高效去除圖像中的噪聲,以提出的RCAE Block為基本網絡結構,搭建了DRCAENN和DRCAENNm兩個去噪網絡模型。
含噪圖像可表示為
y=f+n
(13)
其中y為含噪圖像;f為無噪聲圖像;n為噪聲。
本文選取均值平方差損失函數來指導DRCAENN和DRCAENNm 去噪模型的收斂方向,其公式為:
(14)
其中N表示有N對訓練樣本;θ={ω,b}為網絡參數;ω為權重;b為偏執;fp(yi;θ)為模型預測的第i個不含噪的圖像,fi為第i個真實不含噪的圖像,對均值平方誤差越小代表fp(yi;θ)與fi越接近,網絡去噪效果越好。
本文構建的DRCAENN和DRCAENNm 去噪模型,其目的為利用式(14)和自適應矩陣估計(Adam)算法[18],通過不斷迭代優化參數θ得到最優去噪網絡模型,輸出不含噪圖像。
3.2.1 DRCAENN和DRCAENNm模型結構
DRCAENN為2*8的神經網絡,即有2個8層的RCAE Block組成;DRCAENNm共17層,第一層由一個用來降維的卷積層組成,2、3、4層由一個3層的RCAE Block組成,為了升維5、6、7層由一個C Block組成,接下來的6層由2個3層的RCAE Block組成,然后為了降維14、15、16層由一個C Block組成,最后一層為一個全連接層。
DRCAENN和DRCAENNm網絡整體結構見圖2、圖3。其中,輸入為100*100的含噪聲圖像,輸出是與輸入對應的降噪后的圖像,為了減少有效信息丟失,提高去噪的精確度,DRCAENNm和DRCAENN兩個網絡均不使用池化層。

圖2 DRCAENN結構

圖3 DRCAENNm結構
3.2.2 殘差卷積自編碼塊
卷積自編碼網絡有助于提取圖像主要信息,從而得到更準確的潛在特征表達空間,在深度學習中為了讓網絡得到更好的效果,常用自編碼網絡處理后的數據代替原數據。結合殘差網絡和卷積自編碼網絡的優點,本文提出由殘差塊、BN層和自編碼結構組成的殘差卷積自編碼塊(RCAE Block)。
圖4為多層RCAE Block結構。

圖4 RCAE Block結構
其中,a表示輸入、輸出特征圖個數;n為卷積核大小為5*5和3*3的雙通道卷積層個數;捷徑部分由兩層編碼器(Encoder)、最大池化、反池化和兩層的解碼器(Decoder)組成。RCAE Block對比ID Block有以下改進:
1)恒等映射改為卷積自編碼結構,此時輸出為
xn+2=F(x)+xcae
(15)
xcae為輸入x經過卷積自編碼器提取的潛在特征,F(x)為輸入x經過n+2個卷積層輸出的結果;
2)加入雙通道卷積層,并配合網絡參數,將原來兩層卷積層改為三層或三層以上;
3)僅用Relu函數,改為Relu函數與BN結合或單獨使用Swish函數。
引入非線性的激活函數可以解決線性模型表達能力不足的缺陷,在神經網絡里面常用的激活函數有Sigmoid、Tanh和Relu等。其中,Relu激活函數較為常用,但Relu有一個缺點:后層的某個梯度非常大時,權重更新后就會變得更大,從而引起該層的輸入小于零,造成輸出結果為零,因此該神經元將不會被激活。
Swish擁有不飽和、光滑、非單調性的特征,可以克服Relu函數的缺點,同樣模型參數下,僅將Relu函數替換為Swish函數,可以提高模型的準確率。
Swish函數為
f(x)=x*sigmoid(βx)
(16)
式中β為x的縮放參數,本文β值取1。
圖5為RCAE Block與傳統的ID Block和CONV Block迭代1萬次去噪對比。

圖5 單個殘差塊去噪對比
其中,RCAE-R Block表示激活函數為Relu的RCAE Block,RCAE-S Block表示激活函數為Swish的RCAE Block。由圖可知,改進后的RCAE Block在每次迭代僅增加0.01s的情況下,去噪能力明顯優于ID Block和C Block,而且選用Swish激活函數的去噪效果好于Relu激活函數。
為了驗證DRCAENNm和DRCAENN網絡模型的有效性和準確性,使用湯姆林森地球物理服務公司(Tomlinson Geophysical Services Inc,TGS)巖體識別挑戰賽的地震數據集,并將其預處理為100*100像素的單通道灰度圖像后進行仿真,其中,20000張圖像作為訓練集,2000張圖像作為測試集。網絡模型均基于Tensorflow10.1版本編寫,運行環境CPU為Intel Core i7-8750H,GPU為NVIDIA GTX1060。分別在性能和運算時間兩個方面與先進的DNCNN[9]、DCAENN[5]和IRCNN[14]模型對比,說明本文方法的可行性。
從單一噪聲去噪對比、盲去噪對比、不同類型噪聲去噪對比,三方面做性能對比。
1) 單一噪聲去噪對比
去除單一噪聲表示,訓練好的網絡模型只去除與訓練數據水平相同的噪聲。不同模型去噪平均PSNR如表1所示,最佳結果已加粗顯示。

表1 不同模型去噪平均PSNR(dB)
表1為不同網絡模型對含高斯噪聲(標準差σ分別為70、50、30)的圖像去噪效果對比,實驗結果表明:DRCAENN的峰值信噪比最高,去噪效果最好;DRCAENNm去除σ為70、50的噪聲效果要好于DNCNN,但當σ為30時DRCAENNm去噪效果稍遜于DNCNN;IRCNN 去噪質量介于DRCAENNm和DNCNN之間;DCAENN去噪效果最差。
通過主觀評價法對比不同網絡模型去噪效果,圖6為σ=50的測試集去噪結果。

圖6 不同模型去噪結果
圖6中第一幅圖為原始圖像,第二幅為含噪聲圖像,其余四幅圖依次為DRCAENNm、DRCAENN、DNCNN、DCAENN、IRCNN去結果,從標記框可看出:DRCAENNm和DRCAENN在去除噪聲的同時也可保留局部細節特征;DNCNN可去除強信號地方的噪聲,但在弱信號的地方容易丟失局部特征;DCAENN在去除去噪的同時,會去除大量原有信息;IRCNN去噪保真度較高,但去噪同時也會產生一些不存在的偽影。
由表1和圖6結論可知,DRCAENN單一噪聲去噪效果最好,DRCAENNm次之。
2) 盲去噪對比
盲去噪能力表示,此網絡模型不僅可以去除與訓練數據水平相同的噪聲,還可去除其它水平的噪聲。表2為σ=70的高斯噪聲訓練后的DRCAENNm、DRCAENN、DNCNN、DCAENN、IRCNN模型盲去噪對比結果,最佳結果已加粗顯示。

表2 測試集盲去噪平均PSNR(dB)
表2用σ大于70的90、80和小于70的60、40測試σ=70訓練好的網絡,由表2可知,本文提出的DRCAENNm模型去噪后效果最為明顯,其中PSNR最高提升8.49dB;因此,DRCAENNm模型去噪效果最好。
圖7為用σ=70的單一高斯噪聲訓練后的不同模型去除σ=80的高斯噪聲的結果。

圖7 不同模型盲去噪結果
由圖7標記部分示出,DRCAENNm去噪后圖像細節保持完整,其它模型均產生較嚴重的模糊現象;IRCNN、DNCNN去噪同時可使原圖純凈的背景產生大量偽影,盲去噪效果較差。
由表2和圖7結論可知,DRCAENNm盲去噪效果最好,在產生較少偽影的同時,可使去噪后的圖像邊緣光滑,主要細節保留完整。
3) 不同類型噪聲去噪對比
傳統方法去除高斯噪聲一般采用線性濾波,椒鹽噪聲一般采用中值濾波。然而,用單一的高斯噪聲訓練好的DRCAENNm模型,不僅可去除高斯噪聲,還可去除類型、水平未知的噪聲。
本文分別用PSNR平均為20.12dB的加性噪聲:Localvar;PSNR平均為25.78dB的乘性噪聲:Speckle;PSNR平均為18.49dB的椒鹽噪聲:Salt-pepper(S&P),測試σ=50的高斯噪聲訓練后的DRCAENNm、DRCAENN、DNCNN、DCAENN、IRCNN去噪效果,表3為各模型去除與訓練數據類型不同的噪聲測試對比結果,最佳結果已加粗顯示:

表3 不同類型噪聲去噪PSNR(dB)
由表3可知,用高斯噪聲訓練好的DRCAENNm對比其它模型,去除三種測試噪聲后的圖像有最高的PSNR,DRCAENN和DCAENN次之,DNCNN和IRCNN不能去除其它種類的噪聲。
圖8為各模型去除S&P噪聲的測試結果,從圖中標注處可知DRCAENNm和DRCAENN模型去除噪聲的同時也能很好地保留圖像細節特征;DCAENN模型可以去除S&P噪聲,但去噪保真度較弱;DNCNN和IRCNN不能去除S&P噪聲。
由表3和圖8結論可知,DRCAENNm模型去除類型、水平未知噪聲的同時,去噪效果和去噪精度最理想,其中PSNR最高可提升10.74dB,提升較為明顯。

圖8 不同類型噪聲去噪結果
因此,通過單一噪聲去噪對比、盲去噪對比、不同類型噪聲去噪對比,可知DRCAENN模型在去除單一噪聲方面表現最好,DRCAENNm模型次之;DRCAENNm模型盲去噪和不同類型噪聲去噪方面均好于對比的其它網絡。
圖9為含高斯噪聲σ=50的圖像經過不同去噪網絡模型去噪后的PSNR和Loss隨時間變化結果。

圖9 不同模型PSNR和Loss隨時間變化
由圖9知,DRCAENN模型僅需500s左右可收斂到最佳去噪效果,其它對比網絡均在2500s左右才能收斂。因此,DRCAENN網絡訓練所需時間最短,收斂速度最快,可最大化節約網絡訓練時間。
本文提出了DRCAENN和DRCAENNm兩種基于殘差卷積自編碼的去噪網絡模型,與DNCNN、DCAENN和IRCNN模型相比, DRCAENN模型在去除單一噪方面,去噪質量和網絡收斂速度均表現最好,僅用其它對比模型訓練所需的四分之一時間,就能達到最佳去噪效果,適用于快速準確的去除水平已知的單一噪聲;DRCAENNm模型在盲去噪和去除不同類型噪聲方面優于其它四個網絡模型,在去除噪聲的同時能很好地保留圖像細節特征,具有較高的去噪質量和去噪精度,適用于去除噪聲水平和種類未知的含噪圖像。