李思平










摘要:針對在圖像去噪領域一些傳統方法已無法解決數據維度、數據質量、數據復雜度的問題,本文提出基于改進的生成對抗網絡GAN的圖像去噪方法。該方法首先給在ImageNet數據集中隨機挑選出的原始圖像分別加上0.15、0.25的高斯噪聲得到帶噪聲的模糊圖像,然后將模糊圖像輸入到增加了殘差網絡的生成網絡里得到去噪圖像,將原始圖像和去噪圖像一同輸入到判別網絡里進行訓練,訓練時采用特定的損失函數來優化訓練,最后用峰值信噪比和結構相似性兩個指標來衡量該方法與其他方法的去噪結果。實驗結果表明,該網絡的改進部分不僅解決了用傳統方法去噪時容易丟失圖像的細節或邊緣信息的問題,還提高了圖像去噪后的細節特征。
關鍵詞: 圖像去噪;生成對抗網絡;殘差網絡;損失函數;細節特征
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)12-0061-03
開放科學(資源服務)標識碼(OSID):
1 引言
過去的圖像都比較簡單且數據量不會太大,因此用傳統方法如Wiener 濾波[1]、中值濾波器[2]、小波去噪[3]等就能很好地處理。雖然傳統方法處理速度快且結果與實際也吻合,但隨著圖像變得更加復雜且多元,這些方法便難以滿足如今的要求,因此利用深度學習來處理圖像得到快速發展。
基于卷積神經網絡[4](Convolutional Neural Networks, CNN)的圖像處理算法是主流之一。CNN具有的權值共享、稀疏連接等優點,但隨著卷積神經網絡層數的加深,不僅使得訓練耗時變得更長且與原始清晰圖像相比丟失了許多細節部分,從而給人不和諧的視覺體驗。本文針對RGB彩色圖像進行圖像去噪研究,以原始生成對抗網絡GAN[5]為基礎,對圖像去噪算法進行更深的研究。
2? 實現方法
2.1 網絡結構
GAN網絡的主要靈感來源于博弈論中零和博弈的思想,應用到深度學習神經網絡上即通過生成器G(Generator)和判別器D(Discriminator)不斷博弈,進而使G學習到數據的分布,其網絡結構和工作過程如圖1所示。G以含噪圖像(數據集)為輸入,輸出為去噪圖像(假數據);D以原始圖像(真數據)和去噪圖像(假數據)為輸入,輸出為[0,1],當D訓練得足夠好時則會給真實圖像打出接近1的分數,給去噪圖像打出接近0的分數。
在該網絡中判別器D給真實圖像與去噪圖像打分的誤差之和構成了判別器整體損失,而該損失的反向傳輸導致生成器G會產生損失,最大化D的損失以此來最小化G的損失即為GAN網絡的訓練過程,整體損失函數的數學表達形式如下:[ minGmaxDVD,G=Ex~PxlogDx+Ex~Pzlog1-DGz ]? ? (1)
其中真實圖像對應上式的[x],噪聲圖像對應[z], G生成的去噪圖像對應G(z);V(D,G)相當于表示真實數據和生成真實的差異程度。
2.2 生成網絡
生成網絡的目的是生成能以假亂真的圖像,我們期望將噪聲圖像輸入到生成網絡之后,能得的相比真實圖像更加清晰且細節和色彩更加豐富的圖像。原始的GAN 的網絡層使用的是多層感知機網絡,這種使用全連接層的網絡結構使得訓練生成的圖片數據質量很差,因此改進的生成對抗網絡采用卷積-殘差-反卷積的網絡結構[6],如圖2所示。
首先三個卷積層(Conv)、批量正則化(BN)和非線性激活函數(Leaky relu)壓縮在一起組成卷積模塊。其后的殘差網絡中,每個殘差塊包含了兩個卷積層(Conv)、兩個批量正則化(BN)和兩個Lrelu激活函數來增加神經網絡的深度;在殘差網絡中還包含了對稱結構的跳躍連接,這樣使得網絡在訓練的時候高效并且有更好的收斂性,這些跳躍式連接將輸入給更深層,因此每個殘余層可以根據輸入調整輸出,并且保持空間信息。最后是三個反卷積層,每個反卷積層對應于該網絡最前面的卷積層,前兩個反卷積層的卷積層(Conv)前還有調整大小的圖像塊(resize)。
2.3 判別網絡
判別網絡的目的是對假圖像(生成器生成的去噪圖像)和真實圖像進行判別,若網絡訓練得好則能有效地區分真假圖像。判別網絡結構比較簡單,首先為能輸入自定義尺寸的圖片判別網絡將傳統全卷積神經網絡中的全連接層替換為卷積層,然后判別網絡在此基礎上加入了一個自我學習的鑒別子網絡,以分辨輸入圖像的真假,判別網絡結構如圖3所示。判別網絡包含5個卷積層,前四個卷積層由一個卷積層(Conv)、一個批量正則化(BN)和一個非線性激活函數(Leaky Relu)壓縮在一起組成,而最后一個卷積層則是采用的線性激活函數(Sigmoid),目的是將判別結果映射到一個正則化在[0,1]之間的可能性分數,輸出的數值越高則表明輸入圖像越接近真實圖像,反之則越接近生成器生成的假圖像。
2.4損失函數
2.4.1 對抗損失
在原始GAN網絡中,損失函數是由生成器的損失和判別器的損失兩部分組成的對抗損失,如式(1)所示。
2.4.2 像素損失
在對圖像去噪方面,對抗損失雖能改善圖像的去噪性能,卻會產生高頻偽影,因此需加入像素損失函數(Pixel-wise)來對所有像素進行平均,從而達到增強細節的目的。該函數具體采用的是均值平方差(MSE)算法,表達式為:
[Lpixel=Gz-u2]? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
2.4.3 特征損失
在比較兩幅看起來十分相似的圖像時,若其中一幅圖像的某一個像素與另一幅不同或兩幅圖像采用的分辨率不同,那么像素損失函數會輸出一個較大的誤差值,因此需要在損失函數中添加特征損失(Feature)函數[7]。將真實圖像和G生成的去噪圖像同時送入預先訓練好的VGG網絡進行特征提取之后得到的損失即為特征損失,其表達式為:
[Lfeature=Ez,? x?Gz-?x2]? ? ? ? ? ? ? ? ?(3)
2.4.4 改進的損失函數
綜上所述,基于原始GAN改進的WGAN損失函數如下:
[Ltotal=λ1Ldisc+λ2Lpixel+λ3Lfeature]? ? ? ? ? ? ? ? ? (4)
其中,[λ1]、[λ2]、[λ3]分別表示各損失函數相應的權重,其可基于實驗人為設置。
3? 實驗結果分析
為了驗證基于原始GAN網絡改進的生成對抗網絡的去噪效果,實驗以ImageNet數據集中的3000張具有豐富的紋理及邊緣特征的圖像為基礎,首先將選取的3000張圖片分為2000張訓練集和1000張測試集并全部剪裁為256×256×3的尺寸,然后給訓練集中的真實圖像加入方差為0.15和0.25的高斯白噪聲,以得到具有不同噪聲的噪聲圖像,最后將真實圖像和噪聲圖像進行橫向拼接構成最終的數據集。實驗使用的軟件為PyCharm Community Edition 2020.2.3 ×64版本,訓練批次設置為5,總迭代次數為25k。
損失函數中的超參數[λ1=0.7、λ2=1.0]、[λ3=1.0],生成網絡、判別網絡中的各項參數設置如表1、表2所示。
隨機挑選4張測試集中的原始圖像與經過改進的生成對抗網絡去噪后的圖像進行對比發現,去噪效果顯著、圖像細節明顯且邊緣信息得以保留,如圖4所示。訓練結果還采用峰值信噪比PSNR(Peak Signal to Noise Ratio)和結構相似性SSIM(Structural Similarity)來衡量,如表 3、表4所示。
對比上表不難發現,無論是何種方法,高斯白噪聲的值越大,PSNR和SSIM越小,去噪后圖像的質量也更高。在同一高斯白噪聲影響下,改進的GAN網絡的PSNR和SSIM不僅小于Wiener 濾波和小波去噪兩種傳統方法,同時也優于原始的GAN網絡。
4 結束語
本文基于生成對抗網絡GAN對圖片的去噪效果優于傳統去噪算法,明確提出一種改進的生成對抗網絡算法。該算法結合了卷積神經網絡CNN能快速提取圖像特征的特點,并加入了殘差塊跳躍連接來保持空間信息,進而顯著增強了圖像的紋理細節且保留了邊緣信息。實驗結果圖說明,采用改進的生成對抗網絡的去噪方法無論是在整體內容上還是具體的細節上,該算法都能取得較好的視覺效果。通過與傳統算法Wiener 濾波、小波去噪和原始GAN網絡對比,在不同的高斯白噪聲下,所提算法的峰值信噪比(PSNR)和結構相似性(SSIM)指標均高于對比算法,從而結果表明,本文提出的基于生成對抗網絡的去噪方法WGAN相較于其他對比算法具有較強的去噪效果。
參考文獻:
[1] 王瑞,張友純.新閾值函數下的小波閾值去噪[J].計算機工程與應用,2013,49(15):215-218.
[2] 陳順.幾種類型圖像邊緣檢測的相關問題研究[D].武漢:武漢紡織大學,2021.
[3] Karlekar V V, Biradar M S, Bhangale K B. Fabric defect detection using wavelet filter [C]//International Conference on Computer Communication Control & Automation Pune, India: IEEE, 2015: 712-715.
[4] LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-44.
[5] 陳佛計,朱楓,吳清瀟,等.生成對抗網絡及其在圖像生成中的應用研究綜述[J].計算機學報,2021,44(2):347-369.
[6] 王洪雁,楊曉,姜艷超,等.基于多通道GAN的圖像去噪算法[J].通信學報,2021,42(3):229-237.
[7] 王子遠.基于改進GAN網絡的圖像去噪及圖像超分辨方法研究[D].重慶:西南大學,2020.
【通聯編輯:光文玲】