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