曹義親,符楊逸,饒哲初
華東交通大學(xué)軟件學(xué)院,南昌330013
在計算機(jī)視覺領(lǐng)域,由于圖像傳感器往往在惡劣的環(huán)境下運(yùn)行,采集到的圖像的質(zhì)量不佳,加之傳輸過程中的錯誤和干擾,給后續(xù)圖像處理工作帶來極大的困難,因此,圖像增強(qiáng)和圖像去噪就成為圖像處理過程中非常重要的組成部分[1-2]。脈沖噪聲是由于電信號的不穩(wěn)定性、物理內(nèi)存存儲的損壞、數(shù)據(jù)傳輸中系統(tǒng)錯誤、電磁干擾、相機(jī)傳感器的故障或老化以及光照條件較差而產(chǎn)生的[1,3-5],會顯著降低圖像質(zhì)量。脈沖噪聲可以分為兩大類[6]:椒鹽噪聲(salt-pepper noise,SPN)[7]和隨機(jī)脈沖噪聲(random-valued impulse noise,RVIN)[8]。RVIN噪聲像素點(diǎn)的亮度值可以是圖像像素點(diǎn)亮度值所允許范圍內(nèi)的任意值,該值與其領(lǐng)域內(nèi)像素點(diǎn)的亮度值往往相差不大,很難進(jìn)行區(qū)分,因此,RVIN 噪聲的去除更具有挑戰(zhàn)性[9-11]。
去除脈沖噪聲傳統(tǒng)上采用中值濾波算法,通過對噪聲像素的鄰域像素值進(jìn)行排序,取中間值替換噪聲像素值,但它缺乏圖像邊緣保持能力。加權(quán)中值濾波算法[12]是對中值濾波算法的改進(jìn),它為了增強(qiáng)圖像邊緣保持能力,以不同的加權(quán)系數(shù)體現(xiàn)鄰域像素之間的相關(guān)性和影響。這些算法存在的問題在于統(tǒng)一處理噪聲像素與非噪聲像素。文獻(xiàn)[13]提出開關(guān)濾波算法,先對噪聲像素進(jìn)行檢測,再替換檢測到的噪聲像素。Malinski 等[14]提出一種快速自適應(yīng)的開關(guān)濾波算法,它不僅能有效地保留非噪聲像素,還能提高濾波效率。
近年來,隨著深度學(xué)習(xí)的不斷發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)被應(yīng)用于圖像去噪并取得了非常好的效果。Zhang等[15]提出去噪卷積神經(jīng)網(wǎng)絡(luò)DnCNN(denoising convolutional neural network),它證明了通過殘差學(xué)習(xí)和批量歸一化有助于提高去噪性能。然而,DnCNN 只是針對在某一特定噪聲水平下的模型,對于不同的噪聲水平,需要多個不同的去噪網(wǎng)絡(luò)。針對這一問題,文獻(xiàn)[16]提出FFDNet(fast and flexible denoising convolutional neural network),將噪聲圖像與噪聲水平圖拼接作為網(wǎng)絡(luò)輸入以此來處理更加復(fù)雜的噪聲,例如不同噪聲水平的噪聲和空間變化噪聲,并且噪聲水平圖可以作為權(quán)重權(quán)衡對噪聲的抑制和細(xì)節(jié)的保持。當(dāng)噪聲的估計水平與實際值不匹配時,F(xiàn)FDNet的去噪效果表現(xiàn)并不理想。為克服這一缺陷,CBDNet(convolutional blind denoising network)[17]提出非對稱損失函數(shù),當(dāng)估計噪聲水平低于實際噪聲水平時引入更多的懲罰,以此來提升算法的去噪性能。上述方法主要用于去除高斯噪聲,但將訓(xùn)練的輸入圖像換成受脈沖噪聲污染的圖像,也可用于處理脈沖噪聲。Jin 等[18]和Zhang 等[19]分別使用CNN 處理椒鹽噪聲,Radlak 等[20]將開關(guān)濾波器與DnCNN 相結(jié)合提出IDCNN(impulse detection convolutional neural network)用于去除隨機(jī)脈沖噪聲。Zhao等[21]利用通道注意力機(jī)制,自適應(yīng)地對特征通道進(jìn)行加權(quán)來提取噪聲信息。Tian等[22]提出ADNet(attention-guided denoising convolutional neural network),通過利用注意力機(jī)制來深度挖掘復(fù)雜背景中的噪聲信息。
盡管現(xiàn)有方法有效地提高了算法的去噪性能,但大多數(shù)方法中通道的合并都是直接在通道維度上對特征圖進(jìn)行拼接,并沒有考慮到淺層與深層卷積特征各自的重要性。在卷積神經(jīng)網(wǎng)絡(luò)中,淺層卷積特征保留著豐富的圖像邊緣和紋理信息,但隨著網(wǎng)絡(luò)層數(shù)的增加,提取的深層卷積特征會丟失大量的淺層特征信息,導(dǎo)致算法對于圖像結(jié)構(gòu)的還原能力較差。本文針對上述問題,受Yu 等[23]、Li 等[24]和跳躍連接[25]的啟發(fā),設(shè)計加權(quán)密集連接網(wǎng)絡(luò),對密集連接塊中各層級特征賦予不同的權(quán)重,并結(jié)合擴(kuò)張卷積增加網(wǎng)絡(luò)的感受野,提升網(wǎng)絡(luò)的表達(dá)能力,指導(dǎo)網(wǎng)絡(luò)更好地去除隨機(jī)脈沖噪聲。
感受野是卷積神經(jīng)網(wǎng)絡(luò)每一層輸出的特征圖上的像素點(diǎn)在輸入圖像上映射的區(qū)域大小。為了獲取更多的圖像信息,一種非常有效的方法,就是擴(kuò)大感受野。一般有兩種方法擴(kuò)大感受野,第一種是增加網(wǎng)絡(luò)的深度或?qū)挾龋S著網(wǎng)絡(luò)層數(shù)的增加,訓(xùn)練也會變得更加困難;第二種方法是通過提高模型的復(fù)雜度,這涉及到大量的參數(shù)。為此,文獻(xiàn)[26]提出擴(kuò)張卷積。擴(kuò)張卷積與普通卷積相比,盡管它們的卷積核大小是一樣的,但擴(kuò)張卷積還有一個擴(kuò)張因子參數(shù),主要用來表示擴(kuò)張的大小。擴(kuò)張卷積的示意圖如圖1所示。一般情況下,擴(kuò)張卷積的感受野大小遵循公式(1):
圖1 擴(kuò)張卷積原理圖Fig.1 Schematic diagram of dilated convolution
式中,K代表擴(kuò)張后的感受野大小,d代表擴(kuò)張因子,k代表原始卷積核大小。
圖1(a)表示為卷積核大小3×3、擴(kuò)張因子為1 的擴(kuò)張卷積,它的感受野大小3×3,與普通卷積相同。(b)表示為卷積核大小3×3、擴(kuò)張因子為2的擴(kuò)張卷積,它的感受野大小5×5。(c)表示為卷積核大小3×3、擴(kuò)張因子為3的擴(kuò)張卷積,它的感受野大小7×7。擴(kuò)張卷積能夠在不增加參數(shù)的情況下增大感受野。
在深度學(xué)習(xí)中,隨著網(wǎng)絡(luò)層數(shù)的加深,梯度消失問題會更加明顯。Huang 等[27]提出密集連接卷積網(wǎng)絡(luò)DenseNet,在圖像分類上取得了很大的成功。DenseNet并不是從加深網(wǎng)絡(luò)層數(shù)和加寬網(wǎng)絡(luò)結(jié)構(gòu)來提升網(wǎng)絡(luò)性能,而是從特征的角度考慮,通過特征重用和旁路設(shè)置,既大幅度減少了網(wǎng)絡(luò)的參數(shù)量,又在一定程度上緩解了梯度消失問題。其中的模塊為密集塊,結(jié)構(gòu)如圖2 所示,每一層的輸入不僅與前一層的輸出有關(guān),還與之前所有層的輸出有關(guān),其連接公式表示為:
圖2 密集塊結(jié)構(gòu)示意圖Fig.2 Schematic diagram of dense block structure
式中,[]代表對通道的拼接,X0,X1,…,Xl-1代表之前所有層的特征圖。圖2 中Tansition Layer 表示過渡層,它放在兩個密集塊之間,目的是減少特征圖的數(shù)量。
本文提出的網(wǎng)絡(luò)結(jié)構(gòu),由背景信息塊(context information block,CIB)、四個加權(quán)密集擴(kuò)張卷積連接塊(weighted dense dilated convolution block,WDDB)和特征融合塊(feature fusion block,F(xiàn)FB)組成,如圖3 所示。多尺度信息對于圖像去噪任務(wù)十分重要,為了擴(kuò)大感受野和獲取多尺度信息,本文提出了CIB。CIB 使用不同擴(kuò)張因子的擴(kuò)張卷積,它能在不損壞結(jié)構(gòu)和增加參數(shù)的情況下擴(kuò)大感受野,然后將不同感受野提取出來的特征進(jìn)行融合。為了加強(qiáng)特征的傳遞,本文設(shè)計了四個基于擴(kuò)張卷積的密集連接塊來提取更多的細(xì)節(jié)紋理和其他特征。盡管密集連接能夠有效的利用特征,但隨著網(wǎng)絡(luò)層數(shù)的加深,淺層特征會退化,而淺層特征攜帶許多圖像細(xì)節(jié)信息,因此,在經(jīng)過四個密集擴(kuò)張卷積連接塊后,通過跳躍連接將每個密集擴(kuò)張卷積連接塊提取出的特征進(jìn)行特征融合,不僅能將淺層卷積特征帶到深層卷積特征中,提升去噪性能,還能加快網(wǎng)絡(luò)的訓(xùn)練速度。
圖3 本文網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.3 Architecture of proposed network
卷積神經(jīng)網(wǎng)絡(luò)從淺層到深層的過程中,先是提取淺層卷積特征,淺層卷積特征包含圖像的局部特征細(xì)節(jié)信息和邊緣信息,隨著網(wǎng)絡(luò)層數(shù)的加深,網(wǎng)絡(luò)漸漸提取深層卷積特征,圖像的細(xì)節(jié)信息會在深層卷積特征中丟失,深層卷積特征包含圖像的全局語義信息。本文采用加權(quán)密集擴(kuò)張卷積連接結(jié)構(gòu),其中運(yùn)用了多重擴(kuò)張卷積,多重擴(kuò)張卷積的一個優(yōu)點(diǎn)是它能夠在單層內(nèi)將由小擴(kuò)張因子獲得的信息整合至大擴(kuò)張因子獲得的信息中,再通過結(jié)合密集跳躍連接能夠在所有層進(jìn)行多分辨率建模。這種具有密集跳躍連接的快速信息流,以及各種分辨率之間密集的信息交換,提供了更靈活的建模局部和全局結(jié)構(gòu)之間關(guān)系的能力。在密集跳躍連接時,為每個特征通道加入權(quán)重,通過學(xué)習(xí)的方式來自動獲取到每個特征通道的重要程度,加權(quán)強(qiáng)化重要信息,弱化抑制無關(guān)的不重要信息。
由于本文網(wǎng)絡(luò)結(jié)構(gòu)較深,而跳躍連接能夠訓(xùn)練深的神經(jīng)網(wǎng)絡(luò),因此本文引入它。Li等[28]對復(fù)雜的損失表面進(jìn)行了可視化,其結(jié)果如圖4 所示。圖4 展示了有跳躍連接和無跳躍連接的ResNet-56 的損失表面,可以看出具有跳躍連接的神經(jīng)網(wǎng)絡(luò)的損失表面更平滑,因此比沒有任何跳躍連接的網(wǎng)絡(luò)收斂速度更快。
圖4 有無跳躍連接的區(qū)別Fig.4 Difference between skip connections and without skip connections
本文提出的網(wǎng)絡(luò)結(jié)構(gòu)有34 層,如圖3 所示。假設(shè)IN、IC分別代表輸入的噪聲圖像和預(yù)測的干凈圖像。CIB可以用公式表示為:
式中,fCIB表示CIB的功能,OCIB為CIB的輸出。WDDBs可以定義為:
式中,fFFB表示為FFB的功能,即結(jié)合局部特征和全局特征,[]表示將進(jìn)行通道拼接,IC表示為預(yù)測的干凈圖像。
為了豐富淺層特征圖的多尺度特征信息,本文設(shè)計CIB模塊,因為淺層特征圖攜帶許多圖像的細(xì)節(jié)特征信息。CIB 一共三層,有Conv、Dilated Conv+ReLU 兩種類型。第一層Conv,使用卷積核大小為1×1×32生成32個特征圖,第二層分別使用擴(kuò)張因子為1、2、3、4的擴(kuò)張卷積得到特征圖,通過Concat 層將特征圖進(jìn)行通道拼接,第三層為Conv 和跳躍連接,通過Conv 將特征信息進(jìn)行融合,得到的輸出再與輸入的噪聲圖像進(jìn)行跳躍加和連接,其結(jié)構(gòu)如圖3中的CIB所示。
為了加強(qiáng)特征的傳遞和有效利用特征,設(shè)計四個加權(quán)密集擴(kuò)張卷積連接塊,如圖5所示。每個塊中包含了三種不同的模塊,第一個模塊由ReLU激活函數(shù)和擴(kuò)張因子為1 的擴(kuò)張卷積組成,第二個模塊由ReLU 激活函數(shù)和擴(kuò)張因子分別為1、2的擴(kuò)張卷積組成,第三個模塊由ReLU激活函數(shù)和擴(kuò)張因子分別為1、2、4的擴(kuò)張卷積組成,然后再通過密集連接方式進(jìn)行連接。這樣設(shè)計的目的是避免出現(xiàn)棋盤效應(yīng)。在密集擴(kuò)張卷積連接塊中,每一層的輸入都來自前面所有層的輸出,即對輸出的特征圖進(jìn)行通道合并,而不做其他操作。因此,為每個密集連接上加入權(quán)重,能夠自適應(yīng)地計算每張?zhí)卣鲌D重要性權(quán)重,增強(qiáng)圖像信息的特征表達(dá),權(quán)重計算方法如圖6所示。首先,為了將信息聚合,輸入特征圖分別經(jīng)過最大池化層和平均池化層得到兩個特征向量,兩個特征向量通過相同的兩個FC 層和ReLU 激活函數(shù),將輸出結(jié)果相加,然后經(jīng)過sigmoid 激活函數(shù)得到每張?zhí)卣鲌D的權(quán)重,最后將輸入特征圖與權(quán)重逐通道相乘得到表達(dá)能力更強(qiáng)的特征圖。
圖5 加權(quán)密集擴(kuò)張卷積塊示意圖Fig.5 Schematic diagram of weighted dense dilated convolutional block
圖6 權(quán)重示意圖Fig.6 Schematic diagram of weighted
隨著網(wǎng)絡(luò)層數(shù)的加深,卷積神經(jīng)網(wǎng)絡(luò)逐漸地提取深層卷積特征,深層卷積特征包含更多的是圖像的語義信息,但圖像的細(xì)節(jié)信息不足。為了解決這一問題,本文設(shè)計了特征融合塊,它由Concat層和三個Conv層組成,Concat 層將CIB 和四個加權(quán)密集擴(kuò)張卷積塊提取的特征圖進(jìn)行通道拼接,再通過Conv 層融合淺層卷積特征和深層卷積特征,形成信息的互補(bǔ),有利于提升去噪性能,最后經(jīng)過兩層Conv得到去噪后的圖像。
本文實驗采用均方誤差(mean square error,MSE)進(jìn)行訓(xùn)練。損失函數(shù)表達(dá)式如下:
式中,IN為噪聲圖像,IC為干凈圖像,f( )IN為預(yù)測的干凈圖像,N為每個訓(xùn)練輪次輸入的樣本數(shù),θ為整個模型的參數(shù)。
本文實驗的框架為Pytorch[29],操作系統(tǒng)為Windows10,CPU 為Inter Core i7-10700F,GPU 為NVIDIA GeForce RTX 3060,運(yùn)行內(nèi)存為12 GB,選取的優(yōu)化器為ADAM optimizer[30](其中β1=0.9、β2=0.999、epsilon=1E-8),其學(xué)習(xí)率設(shè)置參考文獻(xiàn)[22],分別設(shè)置為1E-3(1~30 epoch)、1E-4(31~60 epoch)、1E-5(61~120 epoch),批處理大小為64。整個訓(xùn)練過程使用NVIDA CUDA 11.2+cuDNN-v8.2進(jìn)行加速。
本文選擇Berkeley Segmentation Dataset(BSD500)[31]作為訓(xùn)練集,并將其中與CBSD68[32]數(shù)據(jù)集中相同的圖像刪除,在剩余的圖像中隨機(jī)選取400 張大小為481×321的圖像作為訓(xùn)練集,其余32張圖像作為驗證集。圖像中不同區(qū)域包含不同的信息[33],受此啟發(fā),本文對圖像進(jìn)行裁剪,其裁剪窗口大小為40×40,另外,實驗對每張圖像進(jìn)行了隨機(jī)旋轉(zhuǎn),旋轉(zhuǎn)角度分別為90°、180°、270°。
針對隨機(jī)脈沖噪聲圖像去噪,本文選擇CBSD68、Kodak24[34]、McMaster[35]和PolyU[36]四個數(shù)據(jù)集作為實驗的測試集,其中CBSD68數(shù)據(jù)集是BSD68數(shù)據(jù)集的彩色版本,Kodak24主要是室外場景圖像的數(shù)據(jù)集,McMaster數(shù)據(jù)集是被廣泛使用在去除馬賽克的數(shù)據(jù)集,PolyU數(shù)據(jù)集為真實世界數(shù)據(jù)集。
實驗過程中,使用的脈沖噪聲模型如式(8)所示:
式中,ρ表示圖像受噪聲污染的概率,zi表示0~255 中的任意隨機(jī)值所替換的像素值,xi表示未被污染的像素值。本文使用峰值信噪比(PSNR)和特征相似度(FSIMc)[37]作為評價指標(biāo)來評估去噪效果。PSNR量化評價了圖像視覺效果,F(xiàn)SIMc利用特征相似性進(jìn)行圖像質(zhì)量評價。
3.4.1 與不同算法的對比實驗
針對隨機(jī)脈沖噪聲圖像去噪,選取以下具有代表性的算法:VMF[38]、RSVMF[39]、FPGFvmF[40]、EDSVMF[41]、L0TV[42]、AWQD[43]、QBSF[44]、DnCNN[15]、FFDNet[16]、ADNet[22]、DeQCANet[45]與本文算法進(jìn)行比較。其中VMF、RSVMF、FPGFvmf、EDSVMF、L0TV、QBSF 和AWQD 為傳統(tǒng)算法,DnCNN、FFDNet、ADNet和DeQCANet為深度學(xué)習(xí)算法,其參數(shù)設(shè)置與本文保持一致,傳統(tǒng)算法在Windows 10系統(tǒng)中的MatlabR2020a環(huán)境下運(yùn)行。
表1~表4 分別展示了當(dāng)隨機(jī)脈沖噪聲等級為0.15、0.25、0.35、0.50、0.75和0.85時,在數(shù)據(jù)集CBSD68、McMaster、Kodak24 和PolyU 上不同方法的平均PSNR值和FSIMc 值。從表中的結(jié)果可以看出,在傳統(tǒng)方法中,VMF、RSVMF、FPGFvmf、EDSVMF 隨著噪聲密度的增加,算法的去噪性能迅速下降,這是因為噪聲密度較大時,用于噪聲復(fù)原的濾波窗口內(nèi)的大部分像素可能都是噪聲,導(dǎo)致得到的矢量中值也是噪聲;在噪聲等級為0.15 和0.25 時,L0TV 獲得的結(jié)果受噪聲等級的大小的影響較小,原因是L0TV為基于數(shù)據(jù)保真度的正則化模型;在噪聲等級小于等于0.5 時,AWQD 能夠獲得較好的PSNR 和FSIMc 值。而深度學(xué)習(xí)方法(DnCNN、FFDNet、ADNet、DeQCANet 和本文算法)與傳統(tǒng)方法(VMF、RSVMF、FPGFvmf、EDSVMF、L0TV、AWQD 和QBSF)相比,在各噪聲等級均具有更高的PSNR和FSIMc值,這說明在圖像去噪領(lǐng)域卷積神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)去噪方法擁有更好的去噪性能。本文提出的算法能夠獲得較大的PSNR和FSIMc值,這說明本文算法在噪聲抑制和信息保真這方面能夠獲得比其他方法更好的效果。
表1 Kodak24數(shù)據(jù)集上各類算法的實驗結(jié)果Table 1 Experimental results of various algorithms on Kodak24 dataset
表2 McMaster數(shù)據(jù)集上各類算法的實驗結(jié)果Table 2 Experimental results of various algorithms on McMaster dataset
表3 CBSD68數(shù)據(jù)集上各類算法的實驗結(jié)果Table 3 Experimental results of various algorithms on CBSD68 dataset
另外,本文展示了不同算法對四幅圖像的去噪結(jié)果,如圖7~圖10所示。圖像分別選自CBSD68、McMaster、PolyU 和Kodak24 數(shù)據(jù)集,噪聲等級分別為0.15、0.25、0.35 和0.50。噪聲等級為0.15 時,從圖7 可以看出雖然VMF、L0TV、FPGFvmf和EDSVMF去噪效果好,但是人的頭部變得模糊,其圖像的細(xì)節(jié)與紋理均丟失了。圖8和圖9 中發(fā)現(xiàn)經(jīng)ADNet 處理的圖像會出現(xiàn)顏色偽影。圖9 和圖10 給出在中度噪聲污染和高度噪聲污染情況下各種算法的去噪結(jié)果,可以看出深度學(xué)習(xí)算法(DnCNN、FFDNet、ADNet、和DeQCANet)的優(yōu)勢,它們能在有效去除噪聲的同時保留圖像的邊緣、紋理細(xì)節(jié)等,而其他傳統(tǒng)方法中RSVMF、QBSF 不能充分地去除噪聲,L0TV、EDSMF 得到的圖像過于平滑,其圖像邊緣、紋理和細(xì)節(jié)被嚴(yán)重破壞,本文算法能更好地去除噪聲的同時保留圖像的邊緣和紋理等細(xì)節(jié)特征,這是因為本文首先豐富了淺層特征圖多尺度特征信息,淺層特征包含圖像的局部特征細(xì)節(jié)信息和邊緣信息,再通過給不同特征通道加權(quán),加強(qiáng)圖像的重要信息,弱化不重要信息,同時通過密集跳躍連接減少卷積過程中的語義與細(xì)節(jié)信息損失。本文算法得到的四幅圖像在質(zhì)量和視覺效果上比其他算法都更為出色,能夠很好地實現(xiàn)隨機(jī)脈沖噪聲圖像去噪。
圖7 噪聲等級為0.15時,不同算法的去噪結(jié)果圖Fig.7 Denoised results by various methods with 0.15 impulse noise
圖8 噪聲等級為0.25時,不同算法的去噪結(jié)果圖Fig.8 Denoised results by various methods with 0.25 impulse noise
圖9 噪聲等級為0.35時,不同算法的去噪結(jié)果圖Fig.9 Denoised results by various methods with 0.35 impulse noise
圖10 噪聲等級0.5時,不同算法的去噪結(jié)果圖Fig.10 Denoised results by various methods with 0.5 impulse noise
本文所針對的噪聲是隨機(jī)脈沖噪聲,在訓(xùn)練時換成高斯噪聲的圖像,也能夠?qū)Ω咚乖肼曔M(jìn)行去除。
3.4.2 加權(quán)密集擴(kuò)張卷積塊數(shù)量的影響
考慮到加權(quán)密集擴(kuò)張卷積塊(WDDB)的數(shù)量對去噪效果的影響,為了得到WDDB的最佳數(shù)量,本文分別設(shè)計了包含2、3、4、5和6個WDDB的去噪網(wǎng)絡(luò),實驗訓(xùn)練設(shè)置相同,選擇Kodak24、McMaster、CBSD68 作為測試集,PSNR 和FSIMc 值評估去噪性能。實驗結(jié)果如表5 所示,在Kodak24 和CBSD68 數(shù)據(jù)集中,當(dāng)WDDB的數(shù)量為4 時,PSNR 和FSIMc 值達(dá)到了最佳,而在McMaster 數(shù)據(jù)集中,WDDB 的數(shù)量為6 時,PSNR 和FSIMc值達(dá)到了最佳,相比WDDB數(shù)量為4時,PSNR值只增加了0.06 dB,但隨著WDDB數(shù)量的增加,網(wǎng)絡(luò)的計算量會增加,耗時隨之增加,因此,本文選擇包含4 個WDDB的去噪網(wǎng)絡(luò)。
表5 加權(quán)密集擴(kuò)張卷積塊數(shù)量的實驗結(jié)果Table 5 Experimental results on weighted dense dilated convolutional block numbers
3.4.3 不同擴(kuò)張因子取值及其組合策略
為了得到擴(kuò)張因子取值的最佳組合,本文設(shè)計了五種組合。組合1的擴(kuò)張因子分別為1、2、3、4,組合2的擴(kuò)張因子分別為1、2、3、5,組合3 的擴(kuò)張因子分別為1、2、3、6,組合4的擴(kuò)張因子分別為2、3、4、5,組合5的擴(kuò)張因子分別為3、4、5、6。選擇Kodak24、McMaster、CBSD68作為測試集,PSNR 和FSIMc 值評估去噪性能。實驗結(jié)果如表6所示。從表6可以看出在四個數(shù)據(jù)集上組合1獲得了最佳的PSNR 和FSIMc 值,相比于其他組合,在數(shù)據(jù)集Kodak24 上其PSNR 值提高了0.33~0.69 dB,F(xiàn)SIMc 值提升了0.003;在數(shù)據(jù)集McMaster 上其PSNR值提高了0.5~1.92 dB,F(xiàn)SIMc 值提升了0.002~0.004;在數(shù)據(jù)集CBSD68上其PSNR值提高了0.15~0.36 dB,F(xiàn)SIMc值提升了0.008;在數(shù)據(jù)集PolyU 上其PSNR 值提高了1.04~3.05 dB。因此,本文最終選擇組合1。
表6 不同擴(kuò)張因子取值組合的實驗結(jié)果Table 6 Experimental results of combinations of different expansion factors
3.4.4 參數(shù)與耗時情況
選擇深度學(xué)習(xí)算法與本文算法進(jìn)行實驗對比,在網(wǎng)絡(luò)參數(shù)方面,網(wǎng)絡(luò)輸入為3通道的500×500的圖片,整個網(wǎng)絡(luò)的參數(shù)量和計算復(fù)雜度如表7 所示。在運(yùn)行時間方面,采用相同的環(huán)境對大小為500×500的噪聲圖像進(jìn)行去噪。運(yùn)行時間對比結(jié)果如表7所示。
表7 不同去噪算法的參數(shù)與耗時比較Table 7 Parameters and time comparisons of different denoising algorithms
實驗結(jié)果表明,在運(yùn)行時間方面,DnCNN的耗時最短,與DnCNN、ADNet 和DeQCANet 相比,本文算法耗時增長,在網(wǎng)絡(luò)參數(shù)與計算量上,由于本文的網(wǎng)絡(luò)結(jié)構(gòu)較深,導(dǎo)致算法的參數(shù)和計算量相應(yīng)增加。但本文算法相較于其他算法有更好的去噪性能,而且在這樣的基礎(chǔ)下,本文算法的運(yùn)行時間相對其他算法只增加了約0.01 s,說明本文算法與其他深度學(xué)習(xí)算法相比仍具有一定的優(yōu)勢。
為了驗證本文提出的加權(quán)密集擴(kuò)張卷積連接網(wǎng)絡(luò)對脈沖噪聲去除是否具有改善效果,本文分別設(shè)計了密集普通卷積連接網(wǎng)絡(luò)、密集擴(kuò)張卷積連接網(wǎng)絡(luò)以及本文提出的網(wǎng)絡(luò)。上述前兩個網(wǎng)絡(luò)的實驗訓(xùn)練設(shè)置與本文提出的方法相同,并將CBSD68、McMaster、Kodak24 數(shù)據(jù)集作為測試集,以PSNR 和FSIMc 值評估去噪性能。表8給出了三個網(wǎng)絡(luò)在測試集上的PSNR和FSIMc的平均值。
表8 Kodak24、McMaster、CBSD68數(shù)據(jù)集上消融實驗的結(jié)果Table 8 Experimental results of different modules on Kodak24,McMaster and CBSD68 dataset
根據(jù)表8 中的結(jié)果可以得出,在噪聲等級分別為0.15、0.25、0.35 和0.50 時,本文算法在三個測試集上的PSNR和FSIMc值都取得了最高值,與普通卷積相比,本文方法的PSNR值提高了0.2~1.36 dB;與使用擴(kuò)張卷積相比,PSNR 值提高了0.1~0.68 dB;使用擴(kuò)張卷積與普通卷積相比,PSNR 值提高了0.02~0.68 dB,說明使用擴(kuò)張卷積對模型去噪性能也有一定的提升。
圖11給出了在噪聲等級為0.5時,普通卷積與擴(kuò)張卷積的去噪結(jié)果圖。從圖中可以看出,普通卷積在對字母B的恢復(fù)丟失了邊緣細(xì)節(jié)信息,而擴(kuò)張卷積對字母B的恢復(fù)強(qiáng)于普通卷積,這說明了結(jié)合擴(kuò)張卷積能夠提升網(wǎng)絡(luò)的表達(dá)能力。
圖11 普通卷積與擴(kuò)張卷積的去噪結(jié)果圖Fig.11 Denoised results of convolution and dilated convolution
為了了解本文網(wǎng)絡(luò)學(xué)習(xí)到的不同特征通道的權(quán)重,使用grad-cam[46]方法來直觀展示特征通道加權(quán)在突出特征方面的作用,其對比結(jié)果如圖12 所示。圖中熱力圖的分布區(qū)域體現(xiàn)了對圖片的關(guān)注度,圖12(b2)相比于圖12(a2),其熱力圖的分布區(qū)域有明顯的集中,關(guān)注度的范圍也更加集中;圖12(b3)相比于圖12(a3),其熱力圖的亮度有著明顯的變化,關(guān)注度高的區(qū)域和其他區(qū)域區(qū)別明顯。兩種熱力圖的變化都根據(jù)權(quán)重強(qiáng)化了圖片的重要信息,弱化抑制相對次要的信息。
圖12 擴(kuò)張卷積和加權(quán)擴(kuò)張卷積結(jié)果熱力圖對比Fig.12 Comparison of heat maps of dilated convolution and weighted dilated convolution
實驗結(jié)果驗證了加權(quán)密集連接的有效性,以及本文算法對隨機(jī)值脈沖噪聲去除具有明顯改善效果。
為了更好地去除隨機(jī)脈沖噪聲,本文結(jié)合密集連接和擴(kuò)張卷積的優(yōu)點(diǎn),提出一種加權(quán)密集擴(kuò)張卷積連接的去噪網(wǎng)絡(luò)模型。該模型能夠充分地利用不同層次的特征,保留圖像細(xì)節(jié)信息,并在密集連接時,通過對不同特征通道加權(quán),反映淺層與深層卷積特征的重要性,增強(qiáng)重要特征信息的表達(dá)能力,充分挖掘特征信息。實驗結(jié)果表明,所提模型能夠有效地提高圖像隨機(jī)脈沖噪聲的去除效果。但是新網(wǎng)絡(luò)模型較相關(guān)模型去噪耗時有所增加,未來的工作將繼續(xù)探索在進(jìn)一步提升去噪效果的同時,減少網(wǎng)絡(luò)深度,降低耗時。