孫顯文 張 闖
(南京信息工程大學(xué)電子與信息工程學(xué)院 江蘇 南京 210044)
目前,深度傳感器越來越受到人們的重視。深度傳感器具有低成本、實(shí)時(shí)性強(qiáng)的特點(diǎn),有利于實(shí)現(xiàn)圖像繪制、三維重建[1]、障礙物識別[2]等多種視覺任務(wù)。然而,在現(xiàn)有的大多數(shù)系統(tǒng)中,獲取的深度圖像往往會受到過多的噪聲干擾,很難從中準(zhǔn)確估計(jì)深度信息,因此深度圖像去噪顯得尤為重要。
在過去的幾十年,人們提出了各種深度圖像去噪算法?,F(xiàn)有的算法可以分為兩類:一類是傳統(tǒng)的基于圖像處理的方法;另一類是基于卷積神經(jīng)網(wǎng)絡(luò)的方法。文獻(xiàn)[3]通過構(gòu)建稀疏失真模型,計(jì)算深度圖像稀疏系數(shù),結(jié)合真實(shí)深度圖像的學(xué)習(xí)字典,完成深度圖像的修復(fù)。文獻(xiàn)[4-5]利用RGB-D圖像中的彩色信息來增強(qiáng)深度圖像,這類方法有太大的局限性,首先彩色圖像的質(zhì)量要足夠高,其次深度圖像與其對應(yīng)的彩色圖像要高度相關(guān)。文獻(xiàn)[6]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的快速深度圖像去噪算法。文獻(xiàn)[7]利用高分辨率邊緣圖像引導(dǎo)深度圖像通過馬爾可夫隨機(jī)場優(yōu)化構(gòu)建,在有效避免了紋理信息引入的同時(shí),保留了銳利的邊緣。
GoodFellow等[8]提出了一種生成對抗網(wǎng)絡(luò)模型(Generative Adversarial Network,GAN),傳統(tǒng)的GAN模型會產(chǎn)生模式崩潰[9-11]、超參數(shù)敏感[12]等問題。文獻(xiàn)[13]在GAN中納入條件信息(Pix2pix),通過引入像素級損失來改進(jìn)網(wǎng)絡(luò),然而此種方式過于注重像素間的差異,導(dǎo)致生成的圖像過度平滑、觀感欠佳。文獻(xiàn)[14]通過引入循環(huán)一致性約束來用于圖像恢復(fù),但未考慮圖像細(xì)節(jié)的恢復(fù)處理,導(dǎo)致生成的圖像細(xì)節(jié)部分缺失。文獻(xiàn)[15]通過目標(biāo)函數(shù)優(yōu)化均方誤差,從而產(chǎn)生了較高的峰值信噪比,但卻無法捕捉圖像的高頻部分,難以達(dá)到令人滿意的感知水平。文獻(xiàn)[16]使用多對抗網(wǎng)絡(luò),通過多次訓(xùn)練迭代生成高質(zhì)量的圖像,但多對抗網(wǎng)絡(luò)極易出現(xiàn)梯度爆炸、梯度消失等問題。文獻(xiàn)[17]在非配對條件下,基于生成對抗網(wǎng)絡(luò)實(shí)現(xiàn)圖像增強(qiáng),并設(shè)計(jì)了雙判別器,對增強(qiáng)圖像的整體和局部進(jìn)行判別,以平衡整體和局部的增強(qiáng)效果。但該方法生成圖像的邊緣部分仍存在明顯的偽影,且與參考圖像相比存在一定程度的色彩失真。
針對上述問題,本文提出一種基于深度卷積生成式對抗網(wǎng)絡(luò)的深度圖像去噪算法,該網(wǎng)絡(luò)由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)構(gòu)成。生成網(wǎng)絡(luò)采用對稱跳躍連接,加快網(wǎng)絡(luò)訓(xùn)練速度。在卷積網(wǎng)絡(luò)和轉(zhuǎn)置卷積網(wǎng)絡(luò)之間引入殘差網(wǎng)絡(luò),并通過反復(fù)利用特征圖來解決梯度爆炸和梯度消失的問題。在卷積網(wǎng)絡(luò)和轉(zhuǎn)置卷積網(wǎng)絡(luò)中使用多尺度卷積核,提取圖像更多層次的特征信息,從而使生成的圖像更加清晰。在判別網(wǎng)絡(luò)中使用步幅卷積代替池化層,減少模型的計(jì)算量,并在最后一層引入Sigmoid函數(shù)用于特征映射。在生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的每一層卷積后都加入批量標(biāo)準(zhǔn)化,提升網(wǎng)絡(luò)的穩(wěn)定性。最后在損失函數(shù)中引入均方誤差損失和梯度損失,通過對損失函數(shù)的優(yōu)化,在得到更高峰值信噪比的同時(shí),又能捕捉到圖像的高頻細(xì)節(jié),從而使得生成的圖像更加符合人眼主觀感受?;贛CL-3D圖像庫的實(shí)驗(yàn)結(jié)果表明,PSNR和SSIM的平均值分別提高了16.5%、8.4%,生成的圖像更加清晰,能夠很好地恢復(fù)圖像細(xì)節(jié)。
生成對抗網(wǎng)絡(luò)包含兩個(gè)網(wǎng)絡(luò),分別是生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)。在訓(xùn)練過程中,生成網(wǎng)絡(luò)用于學(xué)習(xí)參考圖像的數(shù)據(jù)分布并生成新的數(shù)據(jù),生成網(wǎng)絡(luò)的目標(biāo)就是盡量生成與參考圖像相近的圖像去欺騙判別網(wǎng)絡(luò)。而判別網(wǎng)絡(luò)的目標(biāo)就是將生成網(wǎng)絡(luò)生成的圖像與參考圖像區(qū)分開,由此構(gòu)成了一個(gè)動態(tài)的對抗過程,當(dāng)判別網(wǎng)絡(luò)無法區(qū)分生成圖像和參考圖像,即生成網(wǎng)絡(luò)生成的圖像足以以假亂真,則網(wǎng)絡(luò)達(dá)到最優(yōu)狀態(tài)。生成對抗網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)
生成對抗網(wǎng)絡(luò)的優(yōu)化目標(biāo)函數(shù)可以表示為:
Ez,P(z)[log(1-D(G(Z)))]
(1)
式中:Z是潛在表征;x是真實(shí)樣本圖像;P表示概率分布;E表示期望。
近年來,隨著深度學(xué)習(xí)的興起,深度卷積生成式對抗網(wǎng)絡(luò)[18]將GAN網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,使得GAN廣泛應(yīng)用于圖像生成、圖像轉(zhuǎn)換、圖像增強(qiáng)和超分辨率等多種領(lǐng)域。深度卷積生成式對抗網(wǎng)絡(luò)的結(jié)構(gòu)與GAN網(wǎng)絡(luò)類似,使用轉(zhuǎn)置卷積神經(jīng)網(wǎng)絡(luò)作為生成器,卷積神經(jīng)網(wǎng)絡(luò)作為判別器,其優(yōu)化目標(biāo)函數(shù)可以表示為:
Ez,P(z)[log(1-D(G(z),y))]
(2)
式中:x是真實(shí)樣本圖像;y是輸入進(jìn)網(wǎng)絡(luò)的失真圖像;G(z)是生成的圖像。
本文提出一種基于深度卷積生成式對抗網(wǎng)絡(luò)的深度圖像去噪算法,首先在生成器中使用跳躍連接并引入殘差網(wǎng)絡(luò),其次在判別器中使用步幅卷積代替池化層并引入Sigmoid函數(shù),最后設(shè)計(jì)一種新的損失函數(shù)用來規(guī)范生成對抗網(wǎng)絡(luò),能夠捕捉到更多的圖像細(xì)節(jié),從而生成高質(zhì)量的深度圖像。
生成網(wǎng)絡(luò)通過跳躍結(jié)構(gòu)連接相同尺寸的卷積層,這種連接方式能夠加快網(wǎng)絡(luò)的訓(xùn)練,防止網(wǎng)絡(luò)陷入局部最優(yōu),減輕網(wǎng)絡(luò)壓力。隨著網(wǎng)絡(luò)層數(shù)的不斷增多,網(wǎng)絡(luò)性能也越來越好,但過多的網(wǎng)絡(luò)層數(shù)不僅不會提高網(wǎng)絡(luò)性能,還會導(dǎo)致梯度爆炸、梯度消失、模型退化等問題。為了解決這個(gè)問題,在卷積網(wǎng)絡(luò)和轉(zhuǎn)置卷積網(wǎng)絡(luò)之間引入殘差網(wǎng)絡(luò),使生成的樣本更接近參考圖像。
生成網(wǎng)絡(luò)由三部分組成,分別為卷積網(wǎng)絡(luò)、殘差網(wǎng)絡(luò)、轉(zhuǎn)置卷積網(wǎng)絡(luò)。卷積網(wǎng)絡(luò)和轉(zhuǎn)置卷積網(wǎng)絡(luò)采用跳轉(zhuǎn)連接的方式,加快網(wǎng)絡(luò)訓(xùn)練速度。具體而言,生成網(wǎng)絡(luò)的輸入為失真的深度圖,第一部分由卷積網(wǎng)絡(luò)構(gòu)成,首先采用一個(gè)平卷積層,四個(gè)下卷積塊,每個(gè)卷積塊有一個(gè)卷積層,從輸入圖像中提取特征屬性。在每個(gè)卷積層中加入批量標(biāo)準(zhǔn)化和LReLU激活函數(shù),加速學(xué)習(xí)過程以及增強(qiáng)模型的表達(dá)能力。LReLU激活函數(shù)可表示為:
第二部分由五個(gè)相同的殘差網(wǎng)絡(luò)單元構(gòu)成,每個(gè)殘差網(wǎng)絡(luò)單元包含兩個(gè)卷積層、兩個(gè)批量標(biāo)準(zhǔn)化、一個(gè)ReLU激活函數(shù)和一個(gè)求和(sum)函數(shù)。每個(gè)殘差網(wǎng)絡(luò)單元的輸出都與輸入相加,將特征圖重復(fù)利用,使網(wǎng)絡(luò)能夠更好地收斂。ReLU激活函數(shù)可表示為:
生成網(wǎng)絡(luò)的最后一部分由三個(gè)轉(zhuǎn)置卷積單元和一個(gè)轉(zhuǎn)置卷積層組成,在每個(gè)轉(zhuǎn)置卷積層中加入批量標(biāo)準(zhǔn)化和LReLU激活函數(shù)。生成網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,其參數(shù)設(shè)置如表1所示。
表1 生成網(wǎng)絡(luò)的參數(shù)設(shè)置
圖2 生成網(wǎng)絡(luò)結(jié)構(gòu)
判別網(wǎng)絡(luò)使用步長為2的卷積層代替池化層,一方面可以減少模型的計(jì)算量,另一方面池化層會導(dǎo)致一些信息的丟失。判別網(wǎng)絡(luò)的輸入為參考圖像和生成網(wǎng)絡(luò)生成的深度圖像。判別網(wǎng)絡(luò)采用6個(gè)卷積層來學(xué)習(xí)圖像的特征,以區(qū)分真和假。前五個(gè)卷積層每層都加入批量標(biāo)準(zhǔn)化和Leaky ReLU激活函數(shù),加速收斂,控制過擬合。在判別器的最后一層,將 Sigmoid激活函數(shù)用于特征映射,以便進(jìn)行概率分析,并將判別結(jié)果歸一化為[0,1],Sigmoid激活函數(shù)可表示為:
判別網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其參數(shù)設(shè)置如表2所示。
表2 判別網(wǎng)絡(luò)的參數(shù)設(shè)置
圖3 判別網(wǎng)絡(luò)結(jié)構(gòu)
損失函數(shù)是用來評估模型的真實(shí)值與預(yù)測值的不一致程度,損失函數(shù)越小,模型的魯棒性越好。本文在基于原始目標(biāo)函數(shù)進(jìn)行優(yōu)化的同時(shí),使用均方誤差損失和梯度損失,以此來約束生成對抗網(wǎng)絡(luò),確保生成的數(shù)據(jù)更接近真實(shí)數(shù)據(jù)。
設(shè){Ii,i=1,2,…,N}和{Ji,i=1,2,…,N}分別代表參考圖像和失真圖像,生成網(wǎng)絡(luò)的原始目標(biāo)函數(shù)即對抗損失定義如下:
(6)
式中:D(*)表示判別網(wǎng)絡(luò);G(*)表示生成網(wǎng)絡(luò)。生成網(wǎng)絡(luò)去噪的目的是在盡可能保持圖像感知質(zhì)量的同時(shí)減少失真,為了實(shí)現(xiàn)這個(gè)目標(biāo),我們使用了以下兩個(gè)損失函數(shù)。
第一個(gè)損失函數(shù)是均方誤差(MSE)損失函數(shù),該函數(shù)使用PSNR來衡量預(yù)測圖像和真實(shí)圖像之間的差值,因此為了獲得最優(yōu)的PSNR值,使用MSE作為損失函數(shù)的一個(gè)分量,定義為:
(7)
考慮到邊緣信息是影響視覺圖像質(zhì)量的重要因素,因?yàn)橐肓颂荻葥p失,函數(shù)定義為:
|Hy(G(Ji))w,h-Hy(Ii)w,h|2)
(8)
式中:w和h表示圖像的寬和高;Hx(*)和Hy(*)分別表示圖像在水平和垂直方向的梯度。
最后將對抗損失、均方誤差損失和梯度損失的加權(quán)和定義為生成網(wǎng)絡(luò)的總損失函數(shù):
LG=λaLa+λmLm+λgLg
(9)
判別網(wǎng)絡(luò)的損失函數(shù)定義為:
本文使用MCL-3D(2D圖像+深度源)圖像庫中圖像進(jìn)行訓(xùn)練測試,針對五種不同類型的失真深度圖像,訓(xùn)練出五種不同的GAN網(wǎng)絡(luò)。在對每種類型的失真深度圖像進(jìn)行訓(xùn)練之前都會對網(wǎng)絡(luò)參數(shù)進(jìn)行初始化,避免之前的訓(xùn)練結(jié)果對當(dāng)前訓(xùn)練產(chǎn)生影響。在訓(xùn)練過程中,利用Adam優(yōu)化算法和反向傳播機(jī)制進(jìn)行參數(shù)的更新,直至最終收斂。為了驗(yàn)證本文算法的圖像去噪效果,將本文算法與CycleGAN[14]、EGAN[17]進(jìn)行對比,并從主觀和客觀方面進(jìn)行分析。
MCL-3D圖像庫有9種不同的場景,每種場景有3組深度圖和紋理圖,它們是在3個(gè)不同的視點(diǎn)上拍攝的。本文算法針對圖像庫中的5種不同類型的失真深度圖進(jìn)行去噪,其失真類型分別為:加性白噪聲(AWN)、高斯模糊(GB)、JPEG、JP2K、下采樣模糊(DB),每種失真有4個(gè)級別,從最弱的1級到最嚴(yán)重的4級。由于圖庫中的圖像尺寸過大,所以將每幅圖像分割成24個(gè)256×256大小的子圖像,8種場景做訓(xùn)練集,一種場景做測試集。為了避免過擬合,在訓(xùn)練時(shí)將圖像進(jìn)行旋轉(zhuǎn)和平移,增加數(shù)據(jù)量,從而提高模型的泛化能力,總共46 656幅圖像用于訓(xùn)練和測試。
本文以Pycharm為仿真平臺,顯卡為NVIDIA GeForce GTX 1660 SUPER GPU,batch size設(shè)置為4,優(yōu)化算法采用Adam,學(xué)習(xí)率設(shè)置為0.000 1,在 TensorFlow[19]深度學(xué)習(xí)框架下完成實(shí)驗(yàn)。生成網(wǎng)絡(luò)的損失函數(shù)權(quán)重參數(shù)如表3所示。
表3 損失函數(shù)的權(quán)重參數(shù)
不同算法針對不同噪聲的可視化結(jié)果如圖4所示,這里只展示最嚴(yán)重的四級失真的去噪結(jié)果,從上到下代表5種不同噪聲類型的去噪結(jié)果,分別是AWN、GB、JP2K、JPEG、DB??梢钥闯?雖然CycleGAN可以重建圖像,但視覺效果相對模糊,不能反映紋理細(xì)節(jié)。EGAN算法生成的圖像相比于參考圖像產(chǎn)生了一定程度的色彩失真且仍有比較明顯的殘余噪聲,影響了圖像中的細(xì)節(jié)顯示,如圖中人物的身體邊緣和柱子邊緣等均產(chǎn)生不同程度的偽影和細(xì)節(jié)的缺失。與其他算法相比,本文算法有效地保留了圖像中的細(xì)節(jié),具有更高的清晰度。
圖4 不同算法的可視化結(jié)果
由于主觀質(zhì)量評價(jià)受光照、顯示設(shè)備等的制約,無法反映出圖像的整體質(zhì)量,因此引入了客觀評價(jià)指標(biāo)。
實(shí)驗(yàn)選取峰值信噪比(PSNR)、結(jié)構(gòu)相似性(SSIM)作為評價(jià)指標(biāo)來說明算法性能的優(yōu)劣e。PSNR是基于參考圖像和失真圖像之間的像素差異而提出的,峰值信噪比越高,說明圖像質(zhì)量越好。SSIM是一種客觀的圖像質(zhì)量評價(jià)指標(biāo),相比于峰值信噪比,它更符合人眼視覺感受,SSIM的取值介于0~1之間,越接近1說明圖像質(zhì)量越好。不同算法的客觀評價(jià)指標(biāo)如表4和表5所示,每項(xiàng)指標(biāo)均為9種場景的平均值。實(shí)驗(yàn)結(jié)果表明,本文算法對大多數(shù)類型的失真圖像具有比較明顯的效果,每種噪聲的指標(biāo)均有顯著提升。由于在損失函數(shù)中引入了MSE損失函數(shù),MSE使用PSNR衡量預(yù)測圖像和真實(shí)圖像的差值,所以,本文算法所生成圖像的PSNR值均比其他算法高。而SSIM更加符合人眼視覺的感受,梯度損失的引入,有效提高了這項(xiàng)指標(biāo)。
表4 客觀評價(jià)結(jié)果(PSNR)
表5 客觀評價(jià)結(jié)果 (SSIM)
為了生成高質(zhì)量的深度圖像,將損失函數(shù)進(jìn)行對比,表6中的PSNR和SSIM均為5種類型失真圖像的平均值。可以看出,本文設(shè)計(jì)的損失函數(shù)對PSNR和SSIM均有一定程度的提高。
表6 不同損失函數(shù)的影響
本文提出一種新的用于深度圖像去噪的GAN網(wǎng)絡(luò),該網(wǎng)絡(luò)由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)構(gòu)成,生成網(wǎng)絡(luò)由卷積網(wǎng)絡(luò)、殘差網(wǎng)絡(luò)、轉(zhuǎn)置卷積網(wǎng)絡(luò)構(gòu)成,殘差網(wǎng)絡(luò)的引入,有效解決了模型退化等問題,卷積網(wǎng)絡(luò)和轉(zhuǎn)置卷積網(wǎng)絡(luò)之間的跳躍連接,加快了網(wǎng)絡(luò)收斂速度,提高了網(wǎng)絡(luò)性能。判別網(wǎng)絡(luò)由卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成,步幅卷積代替池化層,減少了模型的計(jì)算量。對于生成對抗網(wǎng)絡(luò)的訓(xùn)練,本文提出一種新的損失函數(shù),用于規(guī)范生成對抗網(wǎng)絡(luò),使得生成的圖像更接近參考圖像。實(shí)驗(yàn)結(jié)果表明,本文算法的PSNR和SSIM的平均值高于對比的算法,證明了算法的有效性。本文算法的提出將有助于解決后續(xù)的許多視覺問題,如三位重建、新的視圖繪制、物體識別等。