朱海琦,李 宏,李定文
(東北石油大學(xué) 電氣信息工程學(xué)院,黑龍江 大慶,163000)
生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)是一種解決圖像生成問題的深度學(xué)習(xí)模型[1],其基本思想源自博弈論中的零和博弈[2],由生成器和判別器通過對抗學(xué)習(xí)最終達到納什均衡[3]。近年來,生成對抗網(wǎng)絡(luò)的各種變體被廣泛應(yīng)用于圖像超分辨率重建[4-5]、圖像到圖像轉(zhuǎn)換[6]、圖像增強[7]、圖像風(fēng)格遷移[8-9]等視覺處理任務(wù)并取得眾多成果,生成對抗網(wǎng)絡(luò)已成為深度學(xué)習(xí)領(lǐng)域的研究熱點之一。
原始GAN模型存在模型難以收斂、梯度消失、模型崩潰不可控等一系列問題。針對GAN生成器在生成過程中缺乏約束的問題,文獻[10]在原始GAN的基礎(chǔ)上增加約束條件形成CGAN 模型,有效控制了模型生成。2015年,RADFORD 等[11]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)引入GAN 模型得到DCGAN 模型,提高了生成樣本的多樣性和圖像質(zhì)量,并提升了訓(xùn)練的穩(wěn)定性。文獻[12]提出一種WGAN模型,采用EM距離代替JS 散度來衡量模型,解決了GAN 模型易崩塌和梯度消失的問題。文獻[13]在WGAN 的基礎(chǔ)上進行改進得到WGAN-GP 模型,去除了WGAN 采用的權(quán)重裁剪,引入梯度懲罰來滿足Lipschitz 連續(xù)性條件,從而彌補WGAN 權(quán)重裁剪導(dǎo)致梯度爆炸或消失的不足。文獻[14]將Self-attention 機制引入GAN 網(wǎng)絡(luò)以處理圖像中長范圍與多層次的依賴關(guān)系,使生成的圖像更逼真。文獻[15]設(shè)計了一種BigGAN 模型,在生成器中將正交正則化和截斷技巧相結(jié)合,很大程度上提升了生成圖像的逼真度。文獻[16]提出一種基于分段損失的生成對抗網(wǎng)絡(luò),使生成器在不同階段采用不同損失函數(shù),提高了模型訓(xùn)練的魯棒性和運行效率。
針對卷積神經(jīng)網(wǎng)絡(luò)感受野較小、在圖像特征提取過程中難以學(xué)習(xí)各個特征通道重要關(guān)系的問題,本文結(jié)合SinGAN 網(wǎng)絡(luò)[17]提出一種基于單幅圖像學(xué)習(xí)的生成對抗網(wǎng)絡(luò)模型。將Inception V2[18]模塊引入網(wǎng)絡(luò)中提取多尺度信息擴大感受野,然后融入SENet 模塊[19]學(xué)習(xí)特征通道的重要關(guān)系以減少不重要的特征,并與Bicubic和SinGAN模型生成的圖像質(zhì)量進行對比分析。
2019 年,ROTT 等提出一種從單幅自然圖像中學(xué)習(xí)的生成模型SinGAN,其結(jié)構(gòu)如圖1 所示。
圖1 SinGAN 模型結(jié)構(gòu)Fig.1 Structure of SinGAN model
SinGAN 模型由1 個金字塔結(jié)構(gòu)的全卷積GAN組成,每個GAN 負責(zé)學(xué)習(xí)圖像不同尺度的信息,這種具有層級結(jié)構(gòu)的patch-GANs[20]模型包含金字塔結(jié)構(gòu)生成器{G0,G1,…,GN}和訓(xùn)練樣本金字塔x:{x0,x1,…,xN},其中xn為原始真實圖像的下采樣版本,采樣因子為rn,r接近4/3。整個訓(xùn)練過程由下向上進行,每個生成器Gn的輸入包括1 個隨機噪聲Zn和由上個尺度生成的圖像經(jīng)上采樣到當前分辨率的圖像,每個判別器Dn需區(qū)分對應(yīng)生成器生成的圖像和真實圖像下采樣所得圖像xn,圖像從最粗的尺度開始,按照自下而上的訓(xùn)練得到最終結(jié)果。生成器和判別器的結(jié)構(gòu)相同,SinGAN 單尺度生成過程如圖2 所示,在第n個尺度中(最粗的尺度除外),將上個尺度生成的圖像上采樣后連同噪聲圖像Zn一起送入5 個卷積層得到1 個殘差圖像,然后加上即得到生成器Gn的輸出
圖2 SinGAN 單尺度生成過程Fig.2 Single-scale generation process of SinGAN
SENet 和Inception V2 模塊可分別通過關(guān)注特征通道和提取多尺度的空間信息來提升網(wǎng)絡(luò)性能,在圖像識別方面均具有較好的效果。
為解決SinGAN 模型中卷積操作在提取圖像特征過程中難以學(xué)習(xí)到各個特征通道依賴關(guān)系的問題,本文引入SENet 模塊,其結(jié)構(gòu)如圖3 所示。
圖3 SENet 模塊結(jié)構(gòu)Fig.3 Structure of SENet module
x∈?W×H×C是一個輸入特征,先對其進行Squeeze 操作,計算公式如下:
式(1)將W×H×C的輸入變?yōu)?×1×C的輸出,其中:W、H和C分別表示特征的寬度、高度和通道數(shù),xc表示特征x的第C個大小為W×H的特征圖,通過Squeeze 操作將每個二維通道變?yōu)? 個實數(shù),然后進行Excitation 操作。相關(guān)計算公式如下:
式(3)將Excitation 操作所得每個通道的權(quán)重系數(shù)對應(yīng)乘到原始輸入特征x的每個通道上,從而完成對原始特征的重新標定,以提升有用的特征并去除無用特征。
Inception V2 模塊通過多支路結(jié)構(gòu)和使用不同大小的卷積核來獲得不同感受野,然后進行特征融合,從而提取多尺度的空間信息,擴大感受野。Inception V2 模塊結(jié)構(gòu)如圖4 所示。
圖4 Inception V2 模塊結(jié)構(gòu)Fig.4 Structure of Inception V2 module
SENet 模塊專注于學(xué)習(xí)特征通道的依賴關(guān)系,以提升網(wǎng)絡(luò)辨別能力,這一點與注意力機制類似。Inception V2 模型主要通過提取多尺度的空間信息來擴大感受野。本文結(jié)合兩者優(yōu)勢設(shè)計出一種基于SinGAN 的生成模型,其單尺度生成結(jié)構(gòu)如圖5 所示。從左向右進行單尺度樣本生成,將噪聲圖像Zn和上個尺度生成的圖像經(jīng)上采樣后送入1 個由3×3 卷積的BN-LeakyReLU(α=0.2)組成的卷積層,然后通過1 個Inception V2 模塊和1 個SENet模塊,送入3 個和第1 個卷積層相同的卷積層,再經(jīng)過1 個Inception V2 模塊和1 個SENet 模塊,最后經(jīng)過1 個3×3 卷積層和Tanh 激活函數(shù)輸出生成樣本。在最粗的尺度上每個卷積層采用32 個卷積核,每經(jīng)過4 個尺度,卷積核數(shù)量擴大2 倍。鑒別器的網(wǎng)絡(luò)結(jié)構(gòu)和生成器相比,除在每個尺度最后1 個卷積層不含批歸一化(Batch Normalization,BN)層和Tanh 激活函數(shù)外,其他結(jié)構(gòu)完全相同。
圖5 本文單尺度生成模型結(jié)構(gòu)Fig.5 Structure of the single-scale generation model proposed in this paper
本文在生成器和鑒別器的第1 個和第4 個卷積層后分別加入Inception V2 模塊和SENet 模塊。采用淺層網(wǎng)絡(luò)提取低層次邊緣特征對后續(xù)特征提取較重要。在第1 層后采用Inception V2 模塊來融合多尺度的空間信息,可提高感受野并增強淺層網(wǎng)絡(luò)的特征表達能力,然后通過SENet 模塊對融合后的淺層特征進行特征重新標定,可獲取全局信息,去除一些無用或用處不大的特征,很好地解決淺層網(wǎng)絡(luò)特征提取能力不強的問題。在較深層網(wǎng)絡(luò)后加入Inception V2 模塊和SENet模塊是為了讓網(wǎng)絡(luò)適應(yīng)較深層特征的復(fù)雜性,提高較深層網(wǎng)絡(luò)的函數(shù)表達能力,同時SENet 模塊在較深層趨于具體化,對前面所提取特征有高度的類別響應(yīng),可提高不同層次圖像的分辨率,使最后生成圖像的細節(jié)更豐富,第4 節(jié)的實驗結(jié)果驗證了這一點。
在pytorch 框架下計算本文所提模型和SinGAN模型的時間復(fù)雜度與網(wǎng)絡(luò)參數(shù)量。時間復(fù)雜度即模型運算次數(shù),可用浮點運算次數(shù)(Flops)衡量,參數(shù)量則反映網(wǎng)絡(luò)的空間復(fù)雜度。在輸入圖像大小為200×200 的條件下,本文模型和SinGAN 模型的生成器浮點運算次數(shù)分別為1.23×109和1.13×109,鑒別器的浮點運算次數(shù)分別為1.21×109和1.10×109。此外,本文模型和SinGAN模型的網(wǎng)絡(luò)參數(shù)量分別為64.7×103和58.9×103。由上述可知,由于加入了SENet 模塊和Inception V2 模塊,本文模型在復(fù)雜度上相較SinGAN 模型略顯復(fù)雜,但其增加的復(fù)雜度相對于網(wǎng)絡(luò)性能的提升是可接受的。
本文基于SinGAN 模型的訓(xùn)練思想,從最粗的尺度開始由下向上訓(xùn)練上述多尺度結(jié)構(gòu),每個尺度的GAN 訓(xùn)練完成后會被固定,直到訓(xùn)練結(jié)束。第n個GAN 的損失函數(shù)包括對抗損失函數(shù)Ladv和重建損失函數(shù)Lrec,相關(guān)計算公式如下:
1)對抗損失函數(shù)。對抗損失函數(shù)Ladv用來衡量生成器生成的樣本和真實圖像xn分布的距離,其值越小越好。為增加訓(xùn)練穩(wěn)定性,本文使用WGAN-GP 損失,最后判別分數(shù)取鑒別圖譜上的平均值。
2)重建損失函數(shù)。重建損失函數(shù)Lrec是為了保證有一組噪聲圖能夠產(chǎn)生原始圖像xn。選擇噪聲圖譜,用表示由上述噪聲生成的第n尺度圖像,當n 本文模型和SinGAN 模型一樣,均可選擇開始生成的尺度,但兩者區(qū)別在于:當SinGAN 模型從最粗的尺度(n=N)開始生成時,會導(dǎo)致生成的圖像較原始圖像變化較大,當圖像的全局結(jié)構(gòu)非常重要時,將生成不真實的樣本;當SinGAN 模型從較細的尺度(n=N-1)開始生成時,會保持完整的結(jié)構(gòu);本文模型在處理圖像中存在互相依賴或全局結(jié)構(gòu)非常重要的特征時(從n=N尺度開始生成時)可生成逼真的圖像,如圖6 所示。其中,圖6(a)和圖6(b)分別為SinGAN 從n=N和n=N-1尺度開始生成的隨機樣本,圖6(c)是本文模型從n=N尺度開始生成的隨機樣本。 圖6 從不同尺度開始生成的隨機樣本Fig.6 Random samples generated from different scales 將本文提出的模型應(yīng)用于圖像生成、圖像超分辨率重建以及圖像協(xié)調(diào)、圖像編輯和動畫。本文實驗采用Intel?XeonTMGold 5218 處理器,GeForceR-TX2080Ti 顯卡,在Pytorch 環(huán)境下進行。實驗所用圖像分別選自Places 數(shù)據(jù)集[21]、Set5 數(shù)據(jù)集、Set14 數(shù)據(jù)集和網(wǎng)絡(luò)。 本文實驗在每個尺度上進行2 000 次迭代,使用Adam 優(yōu)化器,動量參數(shù)設(shè)置如下:beta1=0.500,beta2=0.999,生成器和判別器的學(xué)習(xí)率均為0.000 5(1 600 次迭代后減小1/10),重建損失權(quán)重α=10,WGAN-GP 損失的梯度懲罰權(quán)重為0.1。 分別采用本文模型和SinGAN 模型進行圖像生成,生成的隨機樣本圖像如圖7 和圖8 所示,其中第1 列為訓(xùn)練圖像,后4 列是生成的隨機樣本圖像。 圖7 采用本文模型得到的隨機樣本圖像Fig.7 Random sample images obtained by using the model proposed in this paper 圖8 采用SinGAN 模型得到的隨機樣本圖像Fig.8 Random sample images obtained by using SinGAN model 由圖7 和圖8 可見,本文模型和SinGAN 模型均可從單張自然圖像內(nèi)部學(xué)習(xí)并生成多樣且保留了原圖像視覺內(nèi)容的隨機樣本圖像,但本文模型生成的圖像細節(jié)信息更豐富且更逼真,SinGAN 模型生成的圖像變化較大,并含有偽影。從生成圖像的局部放大圖來看,本文模型生成的圖像包含清晰的樹葉輪廓、立體且細節(jié)豐富的云層,SinGAN 模型生成的樹葉和云層圖像含有橫向的偽影。本文模型生成的圖像較SinGAN 模型生成的圖像含有更清晰的細節(jié)紋理,這是由于SinGAN 模型難以捕獲特征之間的依賴關(guān)系和各特征通道之間的聯(lián)系,因此未能較好地捕捉圖像中的幾何特征和細節(jié)信息,而本文模型通過融合多尺度信息和捕捉通道之間的重要關(guān)系可有效解決上述問題。此外,結(jié)合圖6 可見,本文模型也避免了整體結(jié)構(gòu)重要的圖像從最粗尺度開始生成時,會得到夸張和不真實圖像的問題。 近年來,弗雷歇初始距離(Fréchet Inception Distance,F(xiàn)ID)被廣泛用作GAN 圖像生成質(zhì)量的評價指標,由于本文是單圖像模型,所以采用SinGAN模型提出的單幅圖像弗雷歇初始距離(Single Image Fréchet Inception Distance,SIFID)作為衡量單圖像生成質(zhì)量的評價指標。 與FID 使用Inception V3 網(wǎng)絡(luò)最后1 個池化層后的激活向量作為特征不同,SIFID 采用第2 個池化層前卷積層所輸出深層特征的內(nèi)部分布作為提取的單圖像特征,其計算得到SIFID 值越小表明生成圖像越逼真。本文分別從n=N和n=N-1 兩種尺度開始的生成模式對比本文模型和SinGAN 模型生成圖像的SIFID 值,先從Places 數(shù)據(jù)集選出50 張圖像進行測試,再計算得到50 張圖像的平均SIFID值,結(jié)果如表1 所示。由表1 可見,本文模型在n=N和n=N-1 兩種尺度開始生成模式下的SIFID 值均較SinGAN 模型減少0.04 和0.01,這表明本文模型所得圖像和真實圖像更接近,其能有效捕捉圖像中的細節(jié)信息和各個特征通道之間的依賴關(guān)系,生成高質(zhì)量的圖像。 表1 不同模型所得50 張圖像的平均SIFID 值Table 1 Average SIFID values of 50 images obtained by different models 本文模型和SinGAN 模型均基于圖像內(nèi)部進行學(xué)習(xí),在訓(xùn)練過程中僅生成與真實圖像具有相同圖像塊分布的圖像,因此,無需改變和優(yōu)化本文模型框架就能處理多種圖像任務(wù),具體操作為:在n 4.3.1 圖像超分辨率重建 在將輸入圖像的分辨率提高1 個因子s的過程中,先訓(xùn)練低分辨率圖像,再加入1 個重建損失權(quán)重α=100 和1 個金字塔尺度因子由于圖像的部分細節(jié)通常在訓(xùn)練低分辨率圖像時在多個尺度上反復(fù)出現(xiàn),因此測試時將低分辨率圖像進行r倍上采樣并連同噪聲一起送入最后1 個生成器G0,然后重復(fù)k次得到高分辨率圖像。 本文實驗采用Set5 和Set14 作為基準數(shù)據(jù)集,然后分別放大3 倍和4 倍進行圖像超分辨率重建,采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)和結(jié)構(gòu)相似性(Structural Similarity,SSIM)作為客觀評價指標,將本文模型與SinGAN 模型以及傳統(tǒng)的雙三次插值模型(Bicubic)進行對比分析,結(jié)果如圖9 和圖10 所示??梢钥闯?,本文模型重建后的圖像較Bicubic模型更清晰,由于本文模型引入Inception V2 模塊和SENet 模塊,因此較SinGAN 模型生成更清晰的人眼輪廓和更豐富的紋理細節(jié)信息,更加符合真實圖像。 圖9 不同模型所得放大3 倍后的圖像超分辨率重建結(jié)果對比Fig.9 Comparison of super-resolution reconstruction results of three times magnified images from different models 圖10 不同模型所得放大4 倍后的圖像超分辨率重建結(jié)果對比Fig.10 Comparison of super-resolution reconstruction results of four times magnified images from different models 上述3 種模型在不同測試集下的PSNR 值和SSIM 值如表2 所示。由表2 可見:與Bicubic 模型和SinGAN 模型相比,本文模型的PSNR 值和SSIM 值更高;在Set5 數(shù)據(jù)集上放大因子為4 的情況下,本文模型的PSNR 值和SSIM 值較Bicubic 模型分別提升3.15 dB 和0.056 6,本文模型的PSNR 值 和SSIM 值較SinGAN 模型分別提升1.67 dB 和0.038 7;在Set14數(shù)據(jù)集上放大因子為4 的情況下,本文模型的PSNR值和SSIM 值較Bicubic 模型分別提升1.52 dB 和0.008 5,本文模型的PSNR 值和SSIM 值較SinGAN模型分別提升1.83 dB 和0.057 0。上述結(jié)果表明本文模型在超分辨率重建上具有效性。 表2 3 種模型在不同測試集下的PSNR 值和SSIM 值Table 2 PSNR values and SSIM values of three models under different test sets 4.3.2 圖像協(xié)調(diào)、圖像編輯和圖像到動畫處理 將本文模型在圖像協(xié)調(diào)、圖像編輯和圖像到動畫方面進行應(yīng)用,得到效果如圖11 所示。圖像協(xié)調(diào)是粘貼圖像并將其與背景圖融合,同時調(diào)整圖像的外觀和紋理,應(yīng)用效果如圖11(a)所示。圖像編輯是將原始圖像的一塊區(qū)域復(fù)制粘貼到另一塊區(qū)域,經(jīng)過訓(xùn)練后重新生成無縫嵌入部分,從而保持真實觀感,應(yīng)用效果如圖11(b)所示。圖像到動畫是對所輸入圖像進行訓(xùn)練,然后輸出一段動畫,應(yīng)用效果如圖11(c)所示。由于自然圖像包含很多重復(fù)部位,這些重復(fù)部位像是一個動態(tài)對象在不同時間的姿態(tài),本文模型可根據(jù)圖像中物體的所有表象姿態(tài)合成動畫。 圖11 本文模型應(yīng)用于圖像協(xié)調(diào)、編輯和動畫的效果圖Fig.11 Effect images of the proposed model applied to image coordination,editing and animation 本文提出一種基于單幅圖像學(xué)習(xí)的無條件生成模型。在SinGAN 網(wǎng)絡(luò)的基礎(chǔ)上,引入Inception V2模塊和SENet 模塊,從融合多尺度信息擴大感受野和學(xué)習(xí)不同特征通道之間重要關(guān)系兩個層面提升網(wǎng)絡(luò)性能,并分析在圖像協(xié)調(diào)、編輯和圖像到動畫任務(wù)中的應(yīng)用效果,對其有效性進行驗證。實驗結(jié)果表明,該模型所生成圖像的SIFID 值較SinGAN 模型更低,其PSNR 值和SSIM 值較SinGAN 和bicubic 模型有顯著提升。雖然該模型在語義方面受到限制,但可有效進行多種圖像處理。后續(xù)將針對語義受限問題和提高真實場景中的圖像質(zhì)量進行研究,引入像素注意力機制進一步提高網(wǎng)絡(luò)模型性能。4 實驗與結(jié)果分析
4.1 參數(shù)設(shè)置
4.2 圖像生成結(jié)果
4.3 本文模型的應(yīng)用
5 結(jié)束語