(北京理工大學 光電學院,北京 100081)
隨著模擬圖像數(shù)字化技術(shù)不斷進步的同時,圖像在傳輸過程中不可避免地受到傳感器和成像環(huán)境等因素干擾,產(chǎn)生各類噪聲,使成像質(zhì)量下降[1]。常見圖像噪聲可分為固定模式噪聲、條帶噪聲以及隨機噪聲3種,由于前兩種噪聲存在確定性和重復性特點,通過傳統(tǒng)信號處理算法可降低其影響[2-3]。而隨機噪聲是指圖像中隨機性的非可重復噪聲[4],包括散粒噪聲、脈沖噪聲、熱噪聲、閃爍噪聲和暗電流等[5]。低照度下,隨機噪聲是導致圖像質(zhì)量下降的主要因素[4],所以,去除以隨機噪聲為主的混合噪聲也是提高圖像成像質(zhì)量的一個重要途徑。
由于深度學習應用于超分辨成像有較大進展,專家也將其用于圖像去噪[6]。2008年,Viren Jain等首次使用用卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)處理自然圖像去噪問題,其去噪效果與傳統(tǒng)方法相當[7]。Xie 等利用棧式去噪自編碼器(stacked denoising autoencoder)進行含高斯白噪聲的灰度圖像去噪及圖像修復,其去噪效果優(yōu)于線性稀疏編碼,但遷移學習能力差,不能去除非樣本圖像噪聲[8]。2014年,Xu 等利用引入圖像反卷積實現(xiàn)圖像復原,其優(yōu)點是有更好的PSNR值和視覺效果,但網(wǎng)絡結(jié)構(gòu)較為復雜[9]。2017年,Zhang等人提出用較深層的CNN 網(wǎng)絡,稱為DnCNN[10],實現(xiàn)盲高斯去噪。實驗中的批量歸一化(batch normalization,BN層)與殘差學習共同使用提高了模型性能,去噪結(jié)果也優(yōu)于現(xiàn)在的最優(yōu)算法,例如BM3D算法等。對近年深度學習算法去噪工作的總結(jié)得出:圖像去噪研究方向為加深網(wǎng)絡層數(shù)和優(yōu)化結(jié)構(gòu)設計;或者構(gòu)建編解碼器,完成限定條件下圖像噪聲去除。
論文提出一種輕量級雙分支改良編解碼網(wǎng)絡去噪模型,利用降-升采樣分支實現(xiàn)噪聲去除,利用不變尺寸的編碼器分支保留圖像高頻細節(jié),解決高效去噪和圖像高頻信息損失的矛盾。
針對圖像噪聲去除,構(gòu)建的隨機噪聲模型[11]如(1)式:
式中:Y表示加噪圖像;X表示原始無噪圖像;ε表示在原始無噪圖像中添加的噪聲。本文噪聲有高斯噪聲、散粒噪聲和椒鹽噪聲3種。椒鹽噪聲(脈沖噪聲的一種)與散粒噪聲都是隨機噪聲的一種;隨機噪聲中的熱噪聲,在有限線寬中類似于高斯分布[12],用高斯噪聲模擬熱噪聲。
論文去噪模型如下圖1所示:
圖1 雙分支改良編解碼器去噪模型Fig.1 Denoising model of dual branch modified codec
雙分支改良編解碼器(DED)去噪模型具體結(jié)構(gòu)如下:
1) 輸入層為尺寸為256×256像素的灰度圖像,小尺寸圖像輸入在淺層網(wǎng)絡的情況下實現(xiàn)良好圖像去噪效果。輸入層后的第1層是卷積核3×3的卷積層外加激活函數(shù)層,并將圖像通道擴充至32 通道。激活函數(shù)選用Leaky-ReLU函數(shù)。具體表示為
Leaky-ReLU函數(shù)是ReLU 激活函數(shù)的變體,稱為帶泄露(leaky)線性整流函數(shù),該函數(shù)負區(qū)間存在泄漏值,導數(shù)不為零,能夠減少靜默神經(jīng)元的出現(xiàn),可以解決ReLU函數(shù)的負區(qū)間導致神經(jīng)元不學習的問題,與ReLu 激活函數(shù)都是最常用的默認激活函數(shù)[13]。
2) 卷積核3×3的卷積層和激活函數(shù)層構(gòu)成一分支自編碼器模型(圖1上部);卷積核5×5的卷積、反卷積層,最大池化層和激活函數(shù)層構(gòu)成二分支自編碼器模型(圖1下部)。一分支編解碼器尺寸不變,保留圖像高頻信息,二分支卷積層和最大池化層的使用,減半圖像尺寸,減少網(wǎng)絡參數(shù),增大感受野。雙分支使用基于殘差結(jié)構(gòu)的跳式連接,殘差結(jié)構(gòu)如圖2所示,在輸入為x的情況下,通過建立連接,模型輸出為φ(x)+x。在深度神經(jīng)網(wǎng)絡當中,由于網(wǎng)絡模型復雜度的提升,會導致偏導數(shù)的連乘,可能會造成梯度消失或者爆炸[14]。本模型中使用殘差結(jié)構(gòu),將特征圖以殘差相加的方式映射到鏡像的反卷積層,能夠保留原始圖像的特征,對避免淺層網(wǎng)絡中出現(xiàn)的梯度彌散有一定的效果,使網(wǎng)絡更易訓練[15]。
圖2 相加式殘差結(jié)構(gòu)Fig.2 Additive residual structure
3) 雙分支自編碼器的輸出層以殘差相加的方式實現(xiàn)通道融合,將兩分支的處理優(yōu)勢融合在一起。
4) 最后一層采用卷積層,將輸出通道從32層融合至1層,實現(xiàn)去噪圖像輸出。
5) 網(wǎng)絡最終輸出之前,增加非線性限制函數(shù),表示為(3)式,防止輸出圖像像素值在訓練過程計算后過大或過小出現(xiàn)灰度誤差。
6) 對批尺寸為n的一組樣本,損失函數(shù)為標簽圖像與復原圖像的均方誤差函數(shù)[16](mean squared error,MSE),定義為(4)式:
本模型采用隨機梯度下降法(SGD)進行迭代優(yōu)化與更新模型參數(shù)權(quán)重與偏置[17-18]。
本文去噪模型訓練環(huán)境為TensorFlow 框架,GPU為GTX 1080Ti。算法流程如下:
1) 構(gòu)造算法數(shù)據(jù)集。實驗樣本圖像一部分來自于COCO2014數(shù)據(jù)集,COCO數(shù)據(jù)集是微軟團隊用于圖像分割和識別的數(shù)據(jù)集,將RGB 彩色圖像灰度化成黑白圖像,再裁剪至256×256像素分辨率,得到論文數(shù)據(jù)集,得到訓練集8000張圖像、測試集2 000張圖像。訓練集另一部分增加黑白圖像中形狀固定、紋理簡單的色塊、條紋、線條和方格圖像,經(jīng)過復制、旋轉(zhuǎn)等操作得到訓練集圖像2 000張,如圖3所示。
圖3 訓練集中的方格、色塊等仿真圖像Fig.3 Simulation images of squares and color blocks in training set
2)模型訓練與測試。將訓練集和測試集輸入到該去噪模型中,通過前向卷積運算計算損失值,從而對網(wǎng)絡進行反饋并更新每層網(wǎng)絡的權(quán)重與偏置兩類參數(shù),得到去噪網(wǎng)絡模型。利用訓練完成的模型對含噪圖像進行測試,驗證模型去噪能力并與相關算法比較。
2.2.1 實驗1
實驗1 圖像加入均值為0、標準差σ為15的高斯噪聲。將本文去噪模型與三維塊匹配算法
(BM3D)與奇異值分解算法(K_SVD分別使用Global Trained Dictionary和Adaptive Dictionary 兩種稀疏表示的字典)[19]進行實驗比較。圖4為各算法針對實驗一噪聲圖像的圖像去噪結(jié)果。
圖4 不同算法去除高斯噪聲(σ=15)結(jié)果對比Fig.4 Comparison of results of removing Gaussian noise(σ= 15)by different algorithms
為了客觀的評價本文去噪模型的去噪效果,本文選取了峰值信噪比(PSNR)作為評價因子[20]。表1為BM3D算法、K_SVD算法與本文算法去噪圖像的PSNR值。
表1 不同算法去除高斯噪聲的PSNR值對比Table1 Comparison of PSNR values for removing Gaussian noise with different algorithms
表1顯示:針對單一高斯噪聲的去除,本文算法去噪圖像的PSNR值高于BM3D和K_SVD 兩種算法去噪圖像的PSNR值,說明其去噪效果優(yōu)于其他幾種算法。實驗的兩幅加噪圖像PSNR值,與加噪圖像相比,分別提高7.4%和5.1%。K_SVD算法背景平均灰度低于原始噪聲圖片,整體背景有偽影產(chǎn)生,本文模型在實現(xiàn)圖像去噪同時,保留了圖像紋理,如對于圖4(a)中大象的痣點,本文模型對其有效保存,其他算法作為噪聲將其去除。
使用本文算法對含有均值為0、標準差為30和45的高斯噪聲的圖像進行去噪,去噪結(jié)果如圖5所示。
從圖5及PSNR值看出,該模型對標準差為30和45的高斯圖像噪聲去除有良好效果,說明該算法具有抑制不同噪聲水平噪聲的能力。
2.2.2 實驗2
實驗2 原始圖像加入均值為0,標準差σ為10的高斯白噪聲、噪聲密度為5%的椒鹽噪聲和散粒噪聲的混合噪聲,圖6為4種算法的去噪效果圖,表2為各算法的PSNR值對比。
在圖像噪聲為3種混合噪聲條件下,本文去噪圖像的PSNR值高于其他算法,能夠保留物體邊緣。如對于圖6(a)中火車標識“SDEKCER”,前3種算法去噪圖像模糊,本文算法保留了該標識細節(jié)邊緣,能清晰顯示該標識。對于2000張的測試集中,隨機選取了100張圖像,計算其PSNR的平均值,其平均值相較于加噪圖像提升了5.3%左右。
表2 不同算法去除混合噪聲的PSNR值對比Table2 Comparison of PSNR values for removing mixed noise with different algorithms
2.2.3 實驗3
為突出本文模型網(wǎng)絡簡單、訓練快的優(yōu)勢,實驗3 訓練了深層全卷積網(wǎng)絡去噪模型(FCNN-12),網(wǎng)絡結(jié)構(gòu)如圖7所示,由12層卷積層和ReLU 激活函數(shù)構(gòu)成,是DnCNN的簡化網(wǎng)絡。圖8為RGB彩色圖像去除混合噪聲實驗中,本文去噪模型(將模型輸入層通道改為3)與FCNN-12 去噪聲模型(兩網(wǎng)絡訓練批尺寸為20)在10000次迭代次數(shù)下,測試集損失值與訓練集訓練時間變化情況。
圖7 FCNN-12 去噪模型Fig.7 Denoising model of FCNN-12
圖8 FCNN-12與DMC 損失值收斂、訓練時間過程對比Fig.8 Comparison of loss convergence and training time between FCNN-12 and DMC
圖8縱坐標為損失值對數(shù)(10為底),兩網(wǎng)絡均使用SGD 梯度下降法,損失值最終均收斂區(qū)間為(200,240)。本文網(wǎng)絡模型訓練時間為2154 s,F(xiàn)CNN-12 網(wǎng)絡去噪模型訓練時間為2889 s,本文算法訓練過程相較于深度全卷積網(wǎng)絡模型,訓練時間減少了735 s,訓練時間縮短了25.4%左右。圖9為FCNN-12與本文模型去噪結(jié)果圖像對比圖。去噪圖像PSNR值相差很小。在模型訓練損失值和去噪效果都相當情況下,本文模型訓練時間短,網(wǎng)絡較淺,論文網(wǎng)絡具有“輕量級”特點。
圖9 FCNN-12模型與DMC模型去噪結(jié)果對比Fig.9 Comparison of denoising results for FCNN-12 model and DMC model
本文提出了一種基于自編碼器結(jié)構(gòu)的雙分支改良編解碼網(wǎng)絡去噪模型,模型一分支實現(xiàn)點噪聲消除,二分支實現(xiàn)宏觀圖像修復和偽像去除,后端利用殘差相加進行通道融合,實現(xiàn)數(shù)字圖像隨機噪聲仿真去噪。實驗結(jié)果表明:對于具有單一或者混合噪聲的灰度圖像,本文模型的去噪效果優(yōu)于當前傳統(tǒng)去噪方法,與全卷積深層網(wǎng)絡去噪模型相比,去噪效果相當,但本文模型網(wǎng)絡層數(shù)少、訓練速度快,在處理小尺寸圖像方面有優(yōu)勢,在應用于移動設備、以隨機噪聲為主的圖像去噪方向中有參考作用。