許一寧,何小海,張 津,卿粼波
(四川大學(xué)電子信息學(xué)院,成都 610065)
(?通信作者電子郵箱hxh@scu.edu.cn)
自2014 年Goodfellow 等[1]提出生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)以來,GAN 被廣泛地應(yīng)用在計(jì)算機(jī)視覺的各個(gè)相關(guān)領(lǐng)域。Reed 等[2]于2016 年提出了文本生成圖像應(yīng)用,由此文本生成圖像也開始受到廣泛的關(guān)注。文本生成圖像任務(wù)[3]旨在通過輸入描述性語句生成與之相對(duì)應(yīng)的自然圖像,屬于計(jì)算機(jī)視覺和自然語言處理的交叉應(yīng)用領(lǐng)域,其相關(guān)研究有助于挖掘文本和圖像之間的潛在關(guān)系,形成計(jì)算機(jī)的視覺語義機(jī)制。
文本生成圖像采用的基礎(chǔ)網(wǎng)絡(luò)為Mirza 等[4]提出的條件生成對(duì)抗網(wǎng)絡(luò)(conditional-GAN,cGAN),主要工作原理是文本編碼器將輸入的描述性語句編碼為對(duì)應(yīng)的語義向量,連接服從正態(tài)分布的噪聲向量,作為網(wǎng)絡(luò)的條件輸入。輸入的特征向量經(jīng)過生成器生成相應(yīng)的圖像。
為了生成逼真的高質(zhì)量圖像,Zhang等[5]首次提出了疊加生成對(duì)抗網(wǎng)絡(luò)(stacked GAN,stackGAN)模型,將生成網(wǎng)絡(luò)分為兩個(gè)階段:第一階段生成描述目標(biāo)的形狀和顏色,第二階段進(jìn)一步完善生成圖像的細(xì)節(jié)。Zhang 等[6]結(jié)合樹狀結(jié)構(gòu)提出了高清晰生成對(duì)抗網(wǎng)絡(luò)(High Definition GAN,HDGAN)模型,增加了多目的對(duì)抗損失,使得低分辨率層更關(guān)注圖像的全局特征,而高分辨率層則更關(guān)注生成圖像的局部細(xì)粒度特征,從而生成高保真的清晰圖像。孫鈺等[7]提出了多層次結(jié)構(gòu)生成對(duì)抗網(wǎng)絡(luò),采用層次結(jié)構(gòu)編碼和詞向量約束等方法增加邊緣細(xì)節(jié)和局部紋理,提升生成圖像質(zhì)量。黃宏宇等[8]提出了基于自注意力機(jī)制的文本生成圖像方法,通過圖譜的自注意機(jī)制提升生成質(zhì)量。
為了提高生成圖像和描述語句的語義一致性,Xu 等[9]于2018 年提出了注意力機(jī)制生成對(duì)抗網(wǎng)絡(luò)(Attentional GAN,AttnGAN)模型,通過注意力權(quán)重計(jì)算得到的注意力圖譜能夠?qū)⑽谋菊Z義信息對(duì)應(yīng)到圖像區(qū)域進(jìn)行細(xì)化和微調(diào),同時(shí)采用深度多注意力模型相似模塊約束生成器生成具有更高語義一致性的圖像。由于文本生成圖像和圖像描述[10]在計(jì)算機(jī)視覺中互為逆命題,Qiao 等[11]提出了鏡面生成對(duì)抗網(wǎng)絡(luò)(Mirror GAN,MirrorGAN)模型,通過集成兩個(gè)網(wǎng)絡(luò)構(gòu)建鏡像結(jié)構(gòu),采用圖像描述模型將生成圖像進(jìn)行重新描述,對(duì)得到的結(jié)果和給定描述語句進(jìn)行對(duì)齊,由此提高生成圖像和描述語句的語義一致性。莫建文等[12]提出了結(jié)合互信息最大化的文本到圖像生成方法,通過最大化特征圖譜和語義向量的互信息,增強(qiáng)圖像和文本之間的相關(guān)性,從而生成語義精確度更高的樣本。
然而,由于GAN 的不穩(wěn)定性,在生成圖像過程中,保證生成圖像結(jié)構(gòu)的語義合理性也是文本生成圖像任務(wù)需要關(guān)注的一部分。為了提高圖像生成結(jié)構(gòu)的穩(wěn)定性,進(jìn)一步提升生成圖像質(zhì)量,本文在AttnGAN 的基礎(chǔ)上,提出了多層次分辨率遞進(jìn)生成對(duì)抗網(wǎng)絡(luò)(Multi-level Progressive Resolution GAN,MPRGAN)的文本生成圖像方法,主要工作如下:
1)在低分辨率層上采用語義分離-融合生成模塊,先將語義特征經(jīng)過自注意力模塊進(jìn)行分離,得到3 個(gè)不同權(quán)重的特征向量,再通過3個(gè)生成網(wǎng)絡(luò)生成前景圖譜、背景圖譜和mask圖譜,結(jié)合mask圖像融合得到低分辨率圖像,同時(shí),mask作為語義約束作用于低分辨率圖像生成,使得生成目標(biāo)結(jié)構(gòu)更加合理,提高生成圖像的穩(wěn)定性。
2)在高分辨率層上采用了分辨率遞進(jìn)殘差學(xué)習(xí)結(jié)構(gòu),通過殘差結(jié)構(gòu)堆疊的方式進(jìn)行特征圖譜的細(xì)化,融合詞注意力機(jī)制和像素混洗的方式,在保證語義一致性的同時(shí)增大生成網(wǎng)絡(luò)的感受野,從而提高圖像生成質(zhì)量。
3)在數(shù)據(jù)集CUB-200-2011(Caltech-UCSD Birds-200-2011)和Oxford-102(102 category flower dataset)上驗(yàn)證所提方法有效性,并將其和基礎(chǔ)網(wǎng)絡(luò)進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明,該方法在文本生成圖像指標(biāo)IS(Inception Score)和FID(Fréchet Inception Distance score)上均有一定的提升。
注意力生成對(duì)抗網(wǎng)絡(luò)(AttnGAN)采用了樹形結(jié)構(gòu)的條件生成對(duì)抗網(wǎng)絡(luò),包括文本編碼器、生成器、判別器和深度多注意力模型相似模塊(Deep Attentional Multimodal Similarity Model,DAMSM)。描述文本通過文本編碼器編碼得到詞向量和語義特征向量,經(jīng)過3 個(gè)階段生成器分別生成不同分辨率圖像,分別經(jīng)過判別器進(jìn)行對(duì)抗學(xué)習(xí)。在生成階段采用詞注意力機(jī)制,通過計(jì)算詞向量和生成器前一級(jí)特征圖譜的注意力圖譜,輔助圖像生成,增加了生成圖像和詞向量之間的關(guān)聯(lián)關(guān)系,提升了生成圖像的質(zhì)量。同時(shí)通過DAMSM 計(jì)算文本語義特征向量和生成圖像經(jīng)過Inception-V3[13]提取的圖像特征向量之間的相似度,從而增強(qiáng)生成圖像和描述文本的語義一致性。AttnGAN 在生成圖像質(zhì)量以及圖像和描述語句的語義一致性上都有顯著成果,是目前眾多文本生成圖像網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)。
目前的文本生成圖像改進(jìn)網(wǎng)絡(luò)關(guān)注點(diǎn)大多是在高分辨率生成器中做改進(jìn),采用多個(gè)生成器級(jí)聯(lián),通過注意力機(jī)制等方法進(jìn)行生成圖像的微調(diào)。但是,研究表明,低分辨率生成器關(guān)注點(diǎn)側(cè)重于結(jié)構(gòu)和布局,高分辨率生成器更加關(guān)注圖像中的細(xì)節(jié)和隨機(jī)變化[14]。由于微調(diào)能力有限,若生成目標(biāo)結(jié)構(gòu)沒有一定的約束,生成圖像會(huì)出現(xiàn)結(jié)構(gòu)不合理、部分缺失、目標(biāo)區(qū)域不連通等不真實(shí)情況,從而導(dǎo)致生成失敗。AttnGAN 在各個(gè)生成階段的生成圖像(從上到下分別為低分辨率到高分辨率的生成結(jié)果)如圖1 所示。由圖1 可以看出,低分辨率圖像對(duì)生成結(jié)果的空間結(jié)構(gòu)有較大影響,因此,設(shè)計(jì)更好的低分辨率生成器能夠使得生成圖像更加合理真實(shí),生成網(wǎng)絡(luò)更加穩(wěn)定,而優(yōu)化高分辨率生成器能完善圖像細(xì)節(jié),進(jìn)一步提升生成圖像的質(zhì)量。
圖1 AttnGAN各階段生成圖像Fig.1 Images generated at different stages of AttnGAN
本文提出了多層次分辨率遞進(jìn)生成對(duì)抗網(wǎng)絡(luò)(MPRGAN)的文本生成圖像方法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,由文本編碼、語義分離-融合生成模塊,以及分辨率遞進(jìn)殘差學(xué)習(xí)模塊組成。編碼器采用雙向長(zhǎng)短時(shí)記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)單元,描述文本輸入編碼器得到語義特征向量。特征向量在低分辨率層中,通過分離模塊得到3個(gè)語義特征向量,輸入生成器分別生成3 個(gè)語義特征圖譜,并經(jīng)過特征融合,最終生成低分辨率圖譜。在高分辨率層中,結(jié)合注意力機(jī)制采用殘差結(jié)構(gòu)對(duì)高分辨率圖譜進(jìn)行微調(diào),最終得到高質(zhì)量圖像。
語義分離-融合生成模塊由語義分離模塊、低分辨率生成器和基于mask的特征融合模塊構(gòu)成。
語義分離模塊(如圖3 所示)采用自注意力機(jī)制[15],特征向量s∈?D×T經(jīng)過自注意力模塊計(jì)算注意力權(quán)重,再將注意力權(quán)重和原本的語義特征向量相乘得到分離后的前景特征向量、背景特征向量和mask 特征向量。在語義注意力分離模塊中,第i個(gè)語義特征向量-si計(jì)算方法如式(1)所示:
其中Wi為線性變換的權(quán)重。
3 個(gè)分離后的語義向量各自通過前景生成器Gfore、背景生成器Gback和mask 生成器Gmask得到相應(yīng)的前景特征圖譜Rfore、背景特征圖譜Rback和mask圖譜Rmask。
圖2 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure
圖3 自注意力語義分離模塊Fig.3 Self-attention semantic separation module
在融合模塊中,mask 圖譜Rmask經(jīng)過卷積和激活后,得到單通道二值mask 圖像Imask。mask 圖像作為特征圖譜的語義邊界并結(jié)合前景特征圖譜Rfore與背景特征圖譜Rback得到低分辨率特征圖譜R0,如式(2)所示:
其中,表示單通道二值mask圖像的取反結(jié)果。
由R0經(jīng)過卷積和激活得到低分辨率生成圖像I0。針對(duì)Imask設(shè)計(jì)判別器約束,能夠在結(jié)構(gòu)約束的同時(shí)保證mask 的生成多樣性。mask 損失由條件損失和非條件損失構(gòu)成,如式(3)所示:
其中:xm為mask 圖像;為生成的mask 圖像;為輸入語句經(jīng)過注意力處理后的語義特征向量。
低分辨率生成器得到的特征圖譜作為高分辨率層的輸入,最終生成高分辨率圖譜。在生成器的高分辨率層中,借鑒圖像超分辨率重建的方式[16],構(gòu)建了分辨率遞進(jìn)殘差學(xué)習(xí)模塊,殘差網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
在殘差網(wǎng)絡(luò)中,首先計(jì)算前一級(jí)特征圖譜和詞向量的注意力權(quán)重,注意力權(quán)重乘以特征圖譜得到注意力圖譜,將特征圖譜和注意力圖譜拼接作為生成器的輸入,同時(shí)將特征圖譜進(jìn)行上采樣,將生成器的輸出和上采樣后的結(jié)果相加,如式(4)、(5)所示:
其中:U(·)為上采樣操作;[·]為特征圖譜的連接;Gi(·)為第i階段生成器;Ri-1為生成器Gi的前一級(jí)輸出,為經(jīng)過詞注意力約束的注意力圖譜,Ri為生成器的輸出結(jié)果;s為編碼器輸出的語義特征向量。最終,經(jīng)過激活層后得到該階段對(duì)應(yīng)的圖像,通過堆疊殘差網(wǎng)絡(luò)實(shí)現(xiàn)從低分辨率圖譜到高分辨率圖譜的生成。
圖4 殘差網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Residual network structure
同時(shí),為了穩(wěn)定生成器生成效果,避免生成圖像出現(xiàn)棋盤紋理現(xiàn)象,將生成器上采樣層改為像素混洗[17]的方式,在一定程度上增大網(wǎng)絡(luò)的感受野,提升生成質(zhì)量。
MPRGAN 在分辨率遞進(jìn)生成模塊采用兩層堆疊的殘差結(jié)構(gòu),最終生成256×256的高分辨率圖像。
MPRGAN 的網(wǎng)絡(luò)損失包括生成器損失和判別器損失。生成器損失主要包括各級(jí)生成器損失和mask 損失。同時(shí),采用DAMSM 對(duì)生成器進(jìn)行約束訓(xùn)練效果顯著,因此保留DAMSM損失,改進(jìn)后生成器損失如式(6)、(7)所示:
和生成器損失類似,判別器損失也包含了條件損失和非條件損失兩部分,如式(8)所示:
式(6)~(8)中:為第i階段生成器生成圖像;Gi和Di分別為第i階段生成器和判別器為編碼后的語義特征向量;λm和λd分別為mask 損失和DAMSM 損失的權(quán)重,通過調(diào)節(jié)兩個(gè)權(quán)重參數(shù)控制生成過程中的約束嚴(yán)格程度。
通過兩個(gè)損失的交替優(yōu)化更新參數(shù),生成器和判別器相互競(jìng)爭(zhēng),促使網(wǎng)絡(luò)生成高質(zhì)量圖像。
實(shí)驗(yàn)采用的數(shù)據(jù)集為公開數(shù)據(jù)集CUB-200-2011(Caltech-UCSD Birds-200-2011)[18]和Oxford-102(102 category flower dataset)[19]。CUB 數(shù)據(jù)集中包含200 種不同的鳥類圖像,共計(jì)11 788 張圖像,其中包含訓(xùn)練集8 855 張圖像和測(cè)試集2 933張圖像。Oxford-102數(shù)據(jù)集中包含102種不同的花類圖像,共計(jì)8 189 張圖像,其中包含訓(xùn)練集7 034 張圖像和測(cè)試集1 155 張圖像。針對(duì)每張圖像有10 個(gè)不同的英文描述和對(duì)應(yīng)的語義分割結(jié)果圖。在網(wǎng)絡(luò)訓(xùn)練前對(duì)語義分割結(jié)果圖進(jìn)行二值化處理,得到數(shù)據(jù)集對(duì)應(yīng)的mask 圖像,用作mask 判別器的真實(shí)樣本使用。
實(shí)驗(yàn)環(huán)境為:Ubuntu 16.04 LTS 64 位操作系統(tǒng),64 GB 內(nèi)存,CPU i7-8700,顯卡NVIDIA GeForce GTX1080Ti。采用編程語言為Python 3.5,深度學(xué)習(xí)框架為Pytorch 1.2。
訓(xùn)練中參數(shù)設(shè)置為:采用batch size 為16;生成器和判別器的學(xué)習(xí)率均為0.000 2;mask損失權(quán)重λm為3.0,DAMSM 損失權(quán)重為λd為5.0;優(yōu)化器采用Adam 優(yōu)化器,β1取0.5,β2取0.999。
為了驗(yàn)證本文方法的有效性,客觀的指標(biāo)采用IS 和FID作為評(píng)價(jià)指標(biāo)來衡量生成結(jié)果。
IS 是2016 年Salimans 等[20]提出的用以綜合評(píng)價(jià)GAN 生成圖像質(zhì)量的衡量指標(biāo),其衡量標(biāo)準(zhǔn)綜合了生成圖像的清晰度和多樣性兩個(gè)方面。通過計(jì)算邊緣分布和條件分布的相對(duì)熵?fù)p失,衡量生成圖像的質(zhì)量。IS計(jì)算式如式(9)所示:
其中:X為生成器生成的圖像;p(y|xi)表示為生成xi類的圖像輸入分類網(wǎng)絡(luò)得到的概率分布,p(y)為生成圖像輸入分類器得到的概率分布;DKL(P||Q)為KL 散度計(jì)算公式,用以衡量分布之間的相似度,KL散度越高,代表著兩個(gè)分布越不相似,因此,IS值越高,則生成圖像質(zhì)量越好。
FID是2017年由Heusel等[21]提出的用于計(jì)算生成圖像和真實(shí)圖像的距離的衡量指標(biāo)。對(duì)真實(shí)圖像和生成圖像分別提取特征,再對(duì)比兩種特征之間的分布差異,如式(10)所示:
其中:μr和μg分別為真實(shí)圖像和生成圖像的特征均值;εr和εg分別為真實(shí)圖像和生成圖像的協(xié)方差矩陣;Tr(·)表示為矩陣的跡。FID 值越小,則表示生成圖像越接近真實(shí)圖像;反之則生成圖像和真實(shí)圖像越不相似。
實(shí)驗(yàn)從視覺結(jié)果(包括MPRGAN 多次生成結(jié)果以及與基礎(chǔ)網(wǎng)絡(luò)的對(duì)比結(jié)果)和客觀評(píng)價(jià)(包括各網(wǎng)絡(luò)的評(píng)價(jià)指標(biāo)對(duì)比以及模塊的消融實(shí)驗(yàn))兩方面作分析。
首先通過在MPRGAN 上生成多張圖像,觀察生成圖像的穩(wěn)定性。從鳥類和花類測(cè)試集中隨機(jī)抽取3 句不同的描述語句,分別在MPRGAN上生成5次,選取的樣例語句示例如下:
A1 This bird has a grey belly with an orange and grey head and wings.
A2 A small blue bird with stripes on it’s secondaries,black eyes,and a light blue bill.
A3 This medium sized bird is primarily black and has a large wingspan and a long black bill.
A4 The petals on this flower are mostly orange yellow in color and the inner is the color brown.
A5 This flower is yellow in color,with petals that are rounded.
A6 A flower with a long and wide petal that is a light purple.
根據(jù)描述語句對(duì)應(yīng)生成分辨率為64×64 的mask 圖像以及分辨率為256×256 的RGB 圖像,如圖5 所示。由圖5 可以看出,MPRGAN 在mask 生成上結(jié)果穩(wěn)定,同時(shí)mask 能約束生成目標(biāo)的輪廓,最終能夠生成真實(shí)合理且清晰的目標(biāo)圖像。
圖5 基于同一描述文本生成的mask圖像和最終圖像示例Fig.5 Examples of mask images and final images generated by same text
其次,從圖像的生成效果上觀察MPRGAN 相較基礎(chǔ)網(wǎng)絡(luò)的改進(jìn)效果。從測(cè)試樣本中抽取各個(gè)不同類別的描述文本,選取的樣例語句示例如下:
B1 Bird with red and white breast stands on a branch while sporting a red crown.
B2 The bird has a white belly with large black wings and a grey crown with a curved grey beak.
B3 This is a bright blue feathered bird with a stout and pointy beak,and grey primary feathers on the wings.
B4 This bird is brown with white on its chest and neck.
B5 This flower has layers of orange petals and a yellow stamen.
B6 This flower has smooth white petals with yellow stamen in the center of it.
B7 This flower is yellow in color,and has petals that are closely wrapped around the center.
B8 A flower with long and wide petals that are purple with yellow center.
描述文本對(duì)應(yīng)的原圖、AttnGAN 生成圖像以及本文方法MPRGAN 的生成結(jié)果如圖6 所示。從總體效果來看,兩個(gè)網(wǎng)絡(luò)基本都能生成較為清晰的高分辨率圖像,同時(shí)描述特征也能對(duì)應(yīng)生成。但AttnGAN 所生成的圖像出現(xiàn)了結(jié)構(gòu)失真(例句B2和例句B8),邊緣虛化、細(xì)節(jié)缺失(例句B4),圖像不夠清晰(例句B6 和例句B7)等現(xiàn)象。從直觀上來看,MPRGAN 生成的結(jié)果比AttnGAN好一些。
圖6 原圖、AttnGAN以及MPRGAN生成結(jié)果圖示例Fig.6 Examples of original images,images generated by AttnGAN and MPRGAN
同時(shí),從客觀指標(biāo)上進(jìn)一步對(duì)生成結(jié)果進(jìn)行量化對(duì)比?;贗S 和FID 兩個(gè)指標(biāo),將本文方法與經(jīng)典文本生成圖像網(wǎng)絡(luò)進(jìn)行對(duì)比,結(jié)果如表1 所示。在兩個(gè)數(shù)據(jù)集CUB-200-2011和Oxford-102 上,本文方法的IS 相較MPRGAN 分別提升了7.80%和3.82%,同時(shí),其FID 指標(biāo)也有所降低。在客觀指標(biāo)上,本文所提方法與目前主流網(wǎng)絡(luò)相比,均有進(jìn)一步的提升。
表1 MPRGAN與其他方法評(píng)價(jià)指標(biāo)的對(duì)比Tab.1 Comparison of MPRGAN with other methods on evaluation indicators
最后,為了驗(yàn)證本文所提方法的有效性,針對(duì)提出的模塊做進(jìn)一步的消融實(shí)驗(yàn)(采用CUB-200-2011 數(shù)據(jù)集),結(jié)果如表2 所示。本文的基礎(chǔ)網(wǎng)絡(luò)為AttnGAN,Baseline 表示基礎(chǔ)網(wǎng)絡(luò),Res(Residual)表示分辨率遞進(jìn)殘差學(xué)習(xí)模塊,SSF(Semantic Separation-Fusion)表示語義分離-融合生成模塊。從表2 可以看出,兩個(gè)模塊對(duì)生成結(jié)果均有正向調(diào)節(jié)作用,SSF 模塊對(duì)生成圖像效果提升更大。最終結(jié)合兩個(gè)模塊,可得到本文的最佳效果。
本文立足于目前文本生成圖像主流網(wǎng)絡(luò)框架的研究趨勢(shì),分析主流網(wǎng)絡(luò)在生成目標(biāo)結(jié)構(gòu)上的缺陷,提出了多層次分辨率遞進(jìn)生成對(duì)抗網(wǎng)絡(luò)(MPRGAN)的文本生成圖像方法,在不同分辨率層對(duì)生成圖像進(jìn)行約束和微調(diào),由整體到細(xì)節(jié)提升圖像的生成效果。經(jīng)過實(shí)驗(yàn)驗(yàn)證得出,MPRGAN 在文本生成圖像任務(wù)中生成的圖像穩(wěn)定且真實(shí)合理,從客觀指標(biāo)上來看也進(jìn)一步提升了文本生成圖像的質(zhì)量指標(biāo)。本文所提的方法為文本生成圖像任務(wù)提供了新的切入方向,但采用的約束方法設(shè)計(jì)較為簡(jiǎn)略,未考慮到生成約束的模式崩潰問題,仍需要完善和優(yōu)化。在未來的工作中,將進(jìn)一步探索結(jié)構(gòu)約束方法,提高生成穩(wěn)定性和生成圖像質(zhì)量。