陳人和,賴振意,錢育蓉
新疆大學(xué) 軟件學(xué)院,烏魯木齊830046
數(shù)字圖像在采集和網(wǎng)絡(luò)傳輸?shù)倪^程中,往往會(huì)受到一些隨機(jī)信號(hào)的干擾而產(chǎn)生圖像噪聲,導(dǎo)致圖像質(zhì)量降低,從而影響人對(duì)圖像的理解,所以有效地降低圖像的噪聲,提高圖像的質(zhì)量仍是圖像處理領(lǐng)域的熱點(diǎn)之一[1-2]。
圖像去噪已經(jīng)有很長的一段歷史了,傳統(tǒng)的圖像去噪方法有空域?yàn)V波[3]和變換域?yàn)V波[4],空域?yàn)V波直接對(duì)圖像的像素用濾波模板進(jìn)行卷積,包括領(lǐng)域中值濾波[5]、均值濾波[6]等。變換域?yàn)V波利用噪聲圖像和無噪圖像在頻域的分布差異,將圖像轉(zhuǎn)換到頻域進(jìn)行處理后再將結(jié)果變換回空間域,從而獲得去噪后的圖像,常見的變換域有小波變換域[7]、傅里葉變換域[8]等。這些方法在一定程度上可以抑制圖像的噪聲,但修復(fù)結(jié)果往往會(huì)使圖像紋理信息缺失,導(dǎo)致圖像模糊。BM3D[9](Block-Matching and 3D filtering)利用自然圖像中存在的自相似性,通過對(duì)相似塊轉(zhuǎn)換并進(jìn)行加權(quán)處理得到目標(biāo)塊,取得了不錯(cuò)的去噪效果。CBM3D[10]是BM3D改進(jìn)的彩色圖像去噪方法,該方法利用了亮度-色度顏色空間的每個(gè)通道中高度稀疏的局部3D變換域中的濾波,這種去噪效果依賴相似塊的選取,在圖像去噪過程中常常存在一些復(fù)雜的優(yōu)化問題。
近年來,深度學(xué)習(xí)在目標(biāo)識(shí)別及檢測(cè)等圖像處理領(lǐng)域大放異彩,使得很多學(xué)者將深度學(xué)習(xí)模型應(yīng)用于圖像去噪。深度卷積神經(jīng)網(wǎng)絡(luò)擁有很好的學(xué)習(xí)能力,通過對(duì)噪聲樣本的學(xué)習(xí),能夠?qū)崿F(xiàn)圖像去噪的自動(dòng)化與智能化。Burger等[11]提出多層感知器MLP(Multi-Layer Perceptron)將噪聲圖像映射到去噪后的圖像成功實(shí)現(xiàn)圖像去噪,Mao等[12]利用深度卷積編碼器在對(duì)圖像進(jìn)行編碼和解碼的過程中學(xué)習(xí)噪聲圖像到去噪圖像的分布來實(shí)現(xiàn)圖像去噪,Zhang等[13]提出DnCNN網(wǎng)絡(luò)來對(duì)圖像去噪,通過殘差學(xué)習(xí)并加入批量歸一化將去噪任務(wù)擴(kuò)展到通用性的圖像去噪。為了應(yīng)對(duì)更復(fù)雜的真實(shí)噪聲,Zhang等[14]提出FFDNet去噪網(wǎng)絡(luò),F(xiàn)FDNet使用噪聲估計(jì)圖作為輸入,權(quán)衡對(duì)均勻噪聲的抑制和細(xì)節(jié)的保持,從而應(yīng)對(duì)更加復(fù)雜的真實(shí)場(chǎng)景。生成對(duì)抗網(wǎng)絡(luò)[15]相比于卷積神經(jīng)網(wǎng)絡(luò)多了一個(gè)判別網(wǎng)絡(luò),其采用博弈論的思想用判別網(wǎng)絡(luò)來指導(dǎo)生成網(wǎng)絡(luò)學(xué)習(xí)樣本的分布。由于其有較強(qiáng)的樣本模擬能力,在圖像去噪領(lǐng)域取得了成功應(yīng)用。張?jiān)鱗16]針對(duì)現(xiàn)有圖像去噪方法存在的紋理細(xì)節(jié)丟失等問題,提出一種新的生成對(duì)抗網(wǎng)絡(luò)作為去噪網(wǎng)絡(luò),通過采用大小不同的卷積核提取圖像的多尺度特征進(jìn)行去噪與篩選,采用跳躍連接以便更好地修復(fù)圖像的紋理細(xì)節(jié)并加速網(wǎng)絡(luò)收斂。謝川等[17]針對(duì)現(xiàn)有的蒙特卡羅圖像去噪方法存在的高頻細(xì)節(jié)丟失問題,設(shè)計(jì)了全卷積網(wǎng)絡(luò)的生成對(duì)抗網(wǎng)絡(luò),網(wǎng)絡(luò)的輸入除了圖像像素以外還包括多維輔助特征。損失函數(shù)采用包含平滑損失函數(shù),并采用基于法向量方差和梯度大小相似度偏差的局部重要性采樣技術(shù)用于網(wǎng)絡(luò)訓(xùn)練。Chen等[18]提出一個(gè)新的兩步去噪網(wǎng)絡(luò)框架,首先利用生成網(wǎng)絡(luò)生成輸入噪聲圖像上的噪聲樣本,將得到的噪聲樣本與干凈的圖像構(gòu)建成訓(xùn)練數(shù)據(jù)集,然后再用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練該數(shù)據(jù)集得到去噪模型。
本文提出一種基于生成對(duì)抗網(wǎng)絡(luò)的圖像去噪算法,該方法可以很好地保存圖像紋理細(xì)節(jié),生成網(wǎng)絡(luò)采用雙層網(wǎng)絡(luò)來增加網(wǎng)絡(luò)的寬度,并引入一個(gè)全局殘差,很好地保留圖像的原始信息,避免訓(xùn)練過程中梯度消失,使訓(xùn)練更加穩(wěn)定。對(duì)抗損失采用WGAN-GP損失(Wasserstein GAN losses),并在生成網(wǎng)絡(luò)中加入重構(gòu)損失提高生成圖像的質(zhì)量。采用CelebA作為訓(xùn)練數(shù)據(jù)集。相比于其他算法,本文提出了一種新的生成網(wǎng)絡(luò)結(jié)構(gòu),可以直接從噪聲圖像中生成干凈的圖像,通過加寬網(wǎng)絡(luò)而不增加網(wǎng)絡(luò)深度的同時(shí)獲取到更多的圖像特征,降低計(jì)算成本。利用Wasserstein距離和Lipschitz連續(xù)性條件來改進(jìn)對(duì)抗損失函數(shù),有效地提高模型訓(xùn)練的穩(wěn)定性,同時(shí)改進(jìn)網(wǎng)絡(luò)的輸入模式,使其輸入并不限制輸入圖像的大小,增加網(wǎng)絡(luò)的靈活性。實(shí)驗(yàn)結(jié)果表明,本文提出的算法在去除圖像噪聲的時(shí)候能夠很好地重建出圖像的細(xì)節(jié)。
生成對(duì)抗網(wǎng)絡(luò)(GANs)最先是由蒙特利爾大學(xué)的Ian Goodfellow提出,被廣泛地應(yīng)用于圖像處理的各個(gè)領(lǐng)域。其靈感主要來源于零和博弈的思想,即參與博弈的各方,一方的收益必然導(dǎo)致另一方的損失。GANs的強(qiáng)大之處在于它可以模擬任何數(shù)據(jù)的分布,它由兩個(gè)網(wǎng)絡(luò)組成,生成網(wǎng)絡(luò)G(Generator)和判別網(wǎng)絡(luò)D(Discriminator)。生成網(wǎng)絡(luò)G用來模擬數(shù)據(jù)的分布,判別網(wǎng)絡(luò)D用來分辨生成網(wǎng)絡(luò)G模擬數(shù)據(jù)分布質(zhì)量的好壞。GANs的優(yōu)化目標(biāo)函數(shù)為:
式中,pz是生成網(wǎng)絡(luò)的輸入,pdata是真實(shí)數(shù)據(jù)的分布。整個(gè)函數(shù)的目標(biāo)就是讓pz盡可能地去模擬pdata數(shù)據(jù)的分布。生成網(wǎng)絡(luò)G的目標(biāo)就是生成的圖像盡可能地真實(shí)。判別網(wǎng)絡(luò)D的目標(biāo)就是將生成網(wǎng)絡(luò)G生成的圖像與真實(shí)的圖像區(qū)分開。當(dāng)判別網(wǎng)絡(luò)無法區(qū)分生成網(wǎng)絡(luò)G生成的圖像與真的圖像的時(shí)候,說明生成網(wǎng)絡(luò)G生成的圖像已經(jīng)達(dá)到最優(yōu)。
隨著卷積網(wǎng)絡(luò)層數(shù)的加深,網(wǎng)絡(luò)能夠提取到的特征也更加豐富,但是,過深的網(wǎng)絡(luò)在進(jìn)行帶步長卷積或者池化操作的時(shí)候會(huì)導(dǎo)致圖像信息的丟失。殘差網(wǎng)絡(luò)的引入很好地解決了這個(gè)問題,殘差網(wǎng)絡(luò)通過跳躍連接將淺層特征直接傳遞到深層特征,從而只需要學(xué)習(xí)淺層特征與深層特征之間的差異。典型的殘差模塊[19]如圖1所示。
圖1 殘差模塊
x為這個(gè)殘差模塊的輸入,F(xiàn)(x)+x是殘差模塊的輸出,通過跳躍連接將信息傳遞到神經(jīng)網(wǎng)絡(luò)的更深層,即使網(wǎng)絡(luò)再深,圖像的特征也不會(huì)丟失,有效地解決梯度消失和梯度爆炸問題,穩(wěn)定了網(wǎng)絡(luò)的性能。
圖像去噪的本質(zhì)實(shí)際上是一個(gè)圖像翻譯過程,即將含噪圖像通過非線性映射到去噪圖像。本文設(shè)計(jì)的生成網(wǎng)絡(luò)由上下兩層卷積神經(jīng)網(wǎng)絡(luò)組成以便提升網(wǎng)絡(luò)的寬度,不同層的網(wǎng)絡(luò)提取出更豐富的特征可以更好地映射到去噪圖像。圖2是本文構(gòu)建的生成網(wǎng)絡(luò),上下兩層為一樣的結(jié)構(gòu),用來獲取更多的圖像特征。輸入圖像經(jīng)過一個(gè)卷積層和Relu激活層,然后經(jīng)過6個(gè)卷積塊,每個(gè)卷積塊由卷積層、歸一化層、Relu層組成。其中通過一個(gè)全局殘差,直接將輸入傳到最后一層特征前面并進(jìn)行融合,最后再次卷積后輸出去噪圖像。
圖2 生成網(wǎng)絡(luò)模型
本文設(shè)計(jì)的網(wǎng)絡(luò)具有輸入靈活性,網(wǎng)絡(luò)的深度為22層,除了最后一個(gè)卷積層,其余卷積層的卷積核大小均為64×3×3×64,最后一層卷積層的卷積核大小為64×3×3×3,該網(wǎng)絡(luò)并不限制輸入圖像的大小,采用雙層網(wǎng)絡(luò)可以獲取更多的圖像特征,并引入一個(gè)全局殘差將噪聲圖像的特征直接傳遞到輸出,使生成網(wǎng)絡(luò)能夠保留更多的圖像特征。
判別器網(wǎng)絡(luò)用來判別生成的圖像與原圖像是否相似,本文設(shè)計(jì)的判別網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò),對(duì)輸入的噪聲圖像和清晰圖像進(jìn)行特征提取,如圖3所示。
圖3 判別網(wǎng)絡(luò)模型
該判別網(wǎng)絡(luò)共有6層卷積層,每一層都使用Relu激活函數(shù),其中第二層和第四層卷積核使用步長為2的卷積核,最后一層激活函數(shù)為Sigmoid函數(shù),前5層卷積核大小均為64×3×3×64,最后一層卷積核大小為64×3×3×1。判別網(wǎng)絡(luò)輸出的為一個(gè)N×N的矩陣,這個(gè)矩陣中的每一個(gè)元素代表原圖中的一個(gè)區(qū)域塊。元素的值表示生成圖像區(qū)域塊與原圖像區(qū)域塊相似度,然后求這個(gè)矩陣的平均值得到判別網(wǎng)絡(luò)的輸出,也就是整個(gè)生成圖像與原圖像的相似度。
本文采用對(duì)抗損失和重構(gòu)損失的加權(quán)和:
式中,LossWGAN代表對(duì)抗損失,LossR代表重構(gòu)損失,對(duì)抗損失是WGAN的改進(jìn)版本,WGAN使用EM(Earth-Mover)距離來比較原始數(shù)據(jù)與生成數(shù)據(jù)的分布,WGAN的優(yōu)化公式為:
式中,判別網(wǎng)絡(luò)D要符合1-Lipschitz條件,Pdata表示原始數(shù)據(jù)分布,PG表示生成數(shù)據(jù)分布。判別網(wǎng)絡(luò)D為了滿足1-Lipschitz條件,對(duì)參數(shù)weight做了一個(gè)weightclipping操作,即將weight限制在某個(gè)常數(shù)(-c,c)之間,這樣就間接滿足了1-Lipschitz條件,然而這樣會(huì)導(dǎo)致weight幾乎都集中在最大值和最小值上。WGAN-GP是一個(gè)帶有梯度懲罰的WGAN改進(jìn)版本。它增加一個(gè)額外的損失來限制判別網(wǎng)絡(luò)D的梯度:
式中Px?是對(duì)Pdata、PG之間的空間采樣,||?x?D(x?)2||是判別網(wǎng)絡(luò)的梯度。在判別網(wǎng)絡(luò)充分訓(xùn)練之后,其梯度會(huì)穩(wěn)定在1附近,通過加梯度懲罰可以穩(wěn)定住梯度。
重構(gòu)損失采用均方誤差l2loss,均方誤差通過計(jì)算去噪后的圖像與原圖像像素之間的平方差距,均方誤差越小,說明去噪后的圖像與原圖越接近,去噪的效果也就越好。
為了對(duì)本文所設(shè)計(jì)的算法進(jìn)行驗(yàn)證,實(shí)驗(yàn)的硬件配置為CPU為Intel Core i7,GPU為NVIDIA GeForce1060,內(nèi)存為16 GB,軟件配置為Window10 64 bit,CUDA9.0,python3.6,神經(jīng)網(wǎng)絡(luò)的搭建采用Google的深度學(xué)習(xí)框架Tensorflow1.14.0。
本文的訓(xùn)練數(shù)據(jù)集采用香港中文大學(xué)的開放數(shù)據(jù)集CelebA,隨機(jī)地從中選取1 000作為本實(shí)驗(yàn)的訓(xùn)練集,并在訓(xùn)練集圖像中添加高斯白噪聲。測(cè)試集采用經(jīng)典的Kodak24數(shù)據(jù)集,Kodak24由24張自然圖像組成,大小為500×500。
圖像的質(zhì)量包含圖像的可讀懂性和圖像的逼真度,可讀性往往與人類視覺的主觀感受有關(guān),圖像的逼真度是指被評(píng)價(jià)圖像與標(biāo)準(zhǔn)圖像的偏離程度,偏差越小說明逼真度越高。本文采用PSNR(峰值信噪比)和SSIM(結(jié)構(gòu)相似性)作為定量評(píng)價(jià)指標(biāo),PSNR是基于對(duì)應(yīng)像素點(diǎn)間的誤差,它通過均方差(MSE)進(jìn)行定義:
式中,MAXI表示像素點(diǎn)的最大值,由公式可知MSE越小,PSNR越大,說明修復(fù)的圖像與原來越接近。SSIM分別從亮度、對(duì)比度和結(jié)構(gòu)三個(gè)方面來度量圖像的相似性,它的取值范圍為[0,1],值越大,表明圖像失真越小。
本文采用的對(duì)比算法CBM3D、DnCNN和FFDNet都是當(dāng)前具有一定代表性的算法。在Kodak24測(cè)試集上分別添加標(biāo)準(zhǔn)差σ為15、25、50的高斯白噪聲。圖像去噪后的PSNR和SSIM對(duì)應(yīng)的實(shí)驗(yàn)結(jié)果如表1和表2所示。
表1 不同方法的PSNR值
表2 不同方法的SSIM值
從表中的實(shí)驗(yàn)數(shù)據(jù)可以看出,在不同的噪聲環(huán)境下,本文算法的去噪效果均要優(yōu)于其他經(jīng)典的算法,不管是PSNR值還是SSIM值相比其他算法都有一定的提高,說明本文算法對(duì)不同的噪聲環(huán)境具有更強(qiáng)的魯棒性。
一個(gè)好的去噪網(wǎng)絡(luò)不僅需要能夠很好地去除噪聲,去噪的時(shí)間復(fù)雜度也是影響去噪網(wǎng)絡(luò)能不能得到實(shí)際應(yīng)用的一個(gè)重要指標(biāo)。因此本文對(duì)比了CBM3D、DnCNN和FFDNet算法運(yùn)行所用的時(shí)間。測(cè)試的圖像大小為500×500,添加的高斯白噪聲標(biāo)準(zhǔn)差為σ=25,所使用的GPU為GeForce1060,CPU為Intel Core i7-7700HQ。
從表3中的數(shù)據(jù)可以看出傳統(tǒng)的圖像去噪方法CBM3D在CPU上處理時(shí)間要低于深度學(xué)習(xí)算法,但不能在GPU上加速。得益于GPU的加持,深度學(xué)習(xí)算法在GPU上的速度要遠(yuǎn)遠(yuǎn)高于傳統(tǒng)圖像去噪方法。本文算法的處理速度相比于DnCNN與FFDNet不管是在CPU上還是GPU上均有一定的優(yōu)勢(shì),這是因?yàn)楸疚乃惴ㄍㄟ^增加網(wǎng)絡(luò)的寬度而不是深度在減少網(wǎng)絡(luò)參數(shù)量的同時(shí),降低了計(jì)算量,提升了運(yùn)行速度,并取得了不錯(cuò)的效果。這說明本文算法在實(shí)際應(yīng)用中更具有優(yōu)勢(shì)。
表3 不同方法運(yùn)行時(shí)間對(duì)比 s
對(duì)去噪效果的評(píng)價(jià)中,人的主觀感受也是非常重要的,為了對(duì)比本文算法與其他算法在主觀視覺上的差異,從測(cè)試集中選取部分樣本圖并添加標(biāo)準(zhǔn)差σ=25的高斯白噪聲進(jìn)行測(cè)試,測(cè)試結(jié)果如圖4和圖5所示。
圖4 不同算法去噪效果對(duì)比
圖5 不同算法去噪局部效果對(duì)比
圖4 (a)為原始不含噪聲圖像,(b)為添加高斯白噪聲的圖像,(c)為CBM3D算法去噪后圖像,(d)為DnCNN算法去噪后圖像,(e)為FFDNet去噪后圖像,(f)為本文算法去噪后圖像。圖5為不同算法去噪后局部效果圖,其中局部放大倍數(shù)為原圖的三倍。從圖中可以看出CBM3D算法在圖像去除噪聲后,部分圖像紋理丟失,圖像出現(xiàn)部分模糊狀態(tài)。DnCNN算法和FFDNet在去除噪聲的同時(shí)能保留圖像的紋理信息,但是在圖像的某些部分邊緣會(huì)產(chǎn)生模糊的光滑部分,相比之下本文算法在去除噪聲的同時(shí)能夠得到更清晰的邊緣,并且能夠恢復(fù)出接近原圖的紋理細(xì)節(jié)。
本文提出了一種基于生成對(duì)抗網(wǎng)絡(luò)的圖像去噪算法,該算法通過加寬生成網(wǎng)絡(luò)來提取圖像特征,并引入全局殘差,有效地去除噪聲的同時(shí)又很好地保留住了圖像的細(xì)節(jié)信息。采用對(duì)抗損失與重建損失的加權(quán)和來對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,不僅避免了網(wǎng)絡(luò)訓(xùn)練中的梯度消失問題,還可以更好地恢復(fù)圖像的紋理細(xì)節(jié),使圖像紋理恢復(fù)得更加自然。實(shí)驗(yàn)結(jié)果表明,本文提出的算法與其他去噪算法不論從視覺上的觀察效果還是定量的客觀評(píng)價(jià),本文所提出的算法都取得了不錯(cuò)的效果。