李樂陽(yáng),佟國(guó)香,趙迎志,羅 琦
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
隨著深度學(xué)習(xí)的發(fā)展,機(jī)器已經(jīng)可以模仿人類根據(jù)文本描述將內(nèi)容視覺化,達(dá)到信息共享和理解的效果。圖像生成技術(shù)在人工智能領(lǐng)域具有廣泛應(yīng)用,例如圖像修復(fù)[1]、圖像到圖像的轉(zhuǎn)換[2]、風(fēng)格轉(zhuǎn)換[3]、超分辨率圖像生成[4]、數(shù)據(jù)增強(qiáng)[5]以及表征學(xué)習(xí)[6]等。
文本生成圖像可以視作是圖像字幕生成的反向工作,主要包括3個(gè)任務(wù):1)將文本中蘊(yùn)含的信息提取出來(lái);2)根據(jù)所提取的信息生成圖像;3)圖像真實(shí)性測(cè)試和文本-圖像語(yǔ)義一致性匹配。在早期研究中,文本生成圖像主要依賴搜索方法和監(jiān)督學(xué)習(xí)的結(jié)合[7]。該方法從一般且不受限制的文本中生成圖像,首先識(shí)別具有信息且“可描繪” 的文本單元,再搜索最可能出現(xiàn)的圖像區(qū)域,從而以文本和圖像區(qū)域?yàn)闂l件優(yōu)化圖像布局。然而,這種傳統(tǒng)的圖像生成方法缺乏多樣性,只能通過(guò)改變給定的文本重新得到圖像特征,生成圖像的質(zhì)量也難以保證。隨著深度學(xué)習(xí)的發(fā)展,基于生成模型的圖像生成技術(shù)逐漸成熟,變分自編碼器(Variational Auto-Encoder, VAE)方法[8]和深度卷積注意力機(jī)制模型[9]得到了廣泛關(guān)注。
基于生成模型的圖像生成技術(shù)受到有限屬性的限制,生成的圖像大多模糊且未有效地表達(dá)文本信息,更不具備創(chuàng)造復(fù)雜圖像的能力。文獻(xiàn)[10]提出了生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN),GAN由兩個(gè)神經(jīng)網(wǎng)絡(luò)組成:生成器和鑒別器,這兩個(gè)網(wǎng)絡(luò)通過(guò)對(duì)抗的方式進(jìn)行學(xué)習(xí)。由于GAN的對(duì)抗訓(xùn)練思想適用于文本生成圖像任務(wù),較多相關(guān)的研究相繼產(chǎn)生。文獻(xiàn)[11]首次提出生成圖像模型,該模型以GAN為模型骨干,同時(shí)增加文本特征作為生成器和鑒別器的約束條件,最終生成64×64的圖像。文獻(xiàn)[12]在前者的基礎(chǔ)上提出了一種新穎的網(wǎng)絡(luò),該網(wǎng)絡(luò)增加了bounding box和keypoint限定,根據(jù)本文描述的位置指定所繪制的內(nèi)容,使生成的圖像精度進(jìn)一步提高。
隨著多模態(tài)學(xué)習(xí)任務(wù)的發(fā)展,越來(lái)越多的研究人員在GAN的基礎(chǔ)上提出富有創(chuàng)意的文本生成圖像網(wǎng)絡(luò),包括:1)關(guān)注于自然語(yǔ)言描述中單詞的注意力生成對(duì)抗網(wǎng)絡(luò)(Attention Generative Adversarial Networks, AttnGAN)[13];2)文本分類作為條件約束圖像生成的文本條件輔助分類器生成對(duì)抗網(wǎng)絡(luò)(Text Conditional Auxiliary Classifier Generative Adversarial Networks, TAC-GAN)[14];3)首次提出分多階段生成圖像的堆疊式生成對(duì)抗網(wǎng)絡(luò)(Stacked Generative Adversarial Networks, StackGAN)[15];4)利用場(chǎng)景圖的Scene Graph[16];5)將圖像字幕生成任務(wù)用于輔助文本生成圖像的MirrorGAN框架[17];6)添加單句生成和多句判別模塊的多語(yǔ)句輔助生成對(duì)抗網(wǎng)絡(luò)(Multi-Statement Assisted Generative Adversarial Networks, MA-GAN)[18]等。
為了提供一個(gè)邏輯性思路,本文提出了一種分類法,將GANs模型主要?dú)w納為3類,并詳細(xì)討論每一類的經(jīng)典模型,最后介紹一些標(biāo)準(zhǔn)數(shù)據(jù)集和評(píng)價(jià)指標(biāo)。
目前,基于GANs的文本生成圖像任務(wù)引起了研究人員的廣泛關(guān)注。文獻(xiàn)[19]總結(jié)了利用生成對(duì)抗網(wǎng)絡(luò)進(jìn)行圖像生成和編輯應(yīng)用的最新研究成果。首先,介紹了GANs變體,討論了圖像生成的應(yīng)用,包括紋理生成、圖像嵌入、人臉和人體圖像生成。其次,討論了約束圖像生成的應(yīng)用,包括圖像和圖像的轉(zhuǎn)換、文本生成圖像以及草圖生成圖像。然后,討論了圖像編輯和視頻生成的應(yīng)用。最后,提供了總結(jié)以及基于GAN方法所面臨的挑戰(zhàn)和自身的局限性。文獻(xiàn)[20]提供了基于GAN的圖像合成的詳細(xì)概述,討論了圖像合成的背景和GANs變體的理論概念,并總結(jié)了幾種主要的圖像合成方法:直接法、迭代法、分層法以及其他方法。在每個(gè)方法中,分析了文本生成圖像的不同模型,并詳細(xì)介紹了幾種評(píng)價(jià)指標(biāo)。本文總結(jié)文本生成圖像任務(wù),并對(duì)基于GAN的各種變體做結(jié)構(gòu)、技術(shù)上的討論,進(jìn)行性能對(duì)比。文獻(xiàn)[21]討論文本生成圖像的動(dòng)機(jī)和背景,將文本生成圖像的任務(wù)歸納為4種類別,即語(yǔ)義增強(qiáng)GAN、分辨率增強(qiáng)GAN、多樣性增強(qiáng)GAN以及運(yùn)動(dòng)增強(qiáng)GAN。文獻(xiàn)[22]擴(kuò)大了基于文本的圖像生成的討論范圍,將文本信息分為3種,即普通文本、場(chǎng)景文本和對(duì)話文本。基于這3類文本,總結(jié)了近20種GANs變體的應(yīng)用研究。文獻(xiàn)[23]提出了一種基于監(jiān)督學(xué)習(xí)的分類方法,批判性地討論文本生成圖像模型方法,突出其缺點(diǎn),并確定新的研究領(lǐng)域。本文簡(jiǎn)要介紹GANs的基本原理,重點(diǎn)關(guān)注基于GAN的各種變體模型,并按照所提出的分類展開討論。
本文提出4種分類法,即:注意力增強(qiáng)方法、多階段增強(qiáng)方法、場(chǎng)景布局增強(qiáng)方法和普適性增強(qiáng)方法[3,8,13,16,24-57]。
2.1.1 注意力增強(qiáng)方法
如表1所示,注意力增強(qiáng)方法是GANs種類最多的方法,原因在于基于注意力的GAN框架關(guān)注自然語(yǔ)言文本中的重要單詞或語(yǔ)句,生成圖像中不同子區(qū)域的細(xì)粒度細(xì)節(jié),從而更好描繪圖像的紋理特征,突出重點(diǎn)。該方法主要包括雙注意力模塊[24]、特征金字塔注意力模塊[25]、動(dòng)態(tài)記憶模塊[26]以及自注意力模塊[27]等。
表1 基于注意力增強(qiáng)方法的GANs變體總結(jié)Table 1. Summary of GANs based on attention enhancement
2.1.2 多階段增強(qiáng)方法
如表2所示,在多階段增強(qiáng)方法中,GANs模型通過(guò)把多個(gè)GAN框架進(jìn)行組合,達(dá)到提高圖像分辨率的效果。例如采用多階段GANs[15]、使用多個(gè)鑒別器和鑒別器進(jìn)行組合[28]、漸進(jìn)式地訓(xùn)練生成器和鑒別器[29]以及采用分層嵌套的鑒別器進(jìn)行端到端訓(xùn)練[30]。
表2 基于多階段增強(qiáng)方法的GANs變體總結(jié)Table 2. Summary of GANs based on multi-stage enhancement
2.1.3 場(chǎng)景布局增強(qiáng)方法
如表3所示,當(dāng)文本描述中的對(duì)象及其之間的關(guān)系過(guò)于復(fù)雜時(shí),研究人員考慮在GAN框架之間引入場(chǎng)景布局[31]進(jìn)行文本信息提取,本文將其總結(jié)為場(chǎng)景布局增強(qiáng)方法。這類方法關(guān)注生成圖像的質(zhì)量和文本-圖像語(yǔ)義對(duì)齊能力,例如將文本特征信息組合成有向圖,經(jīng)圖神經(jīng)網(wǎng)絡(luò)處理后,通過(guò)級(jí)聯(lián)細(xì)化網(wǎng)絡(luò)(Cascaded Refinement Networks, CRN)將場(chǎng)景布局轉(zhuǎn)換為圖像[16]。
表3 基于場(chǎng)景布局增強(qiáng)方法的GANs變體總結(jié)Table 3. Summary of GANs based on scene layout enhancement
2.1.4 普適性增強(qiáng)方法
如表4所示,普適性增強(qiáng)方法正是基于GANs的文本生成圖像領(lǐng)域中的常用方法,其提出一種新穎的文本信息提取方法,結(jié)合圖像生成框架進(jìn)行整體聯(lián)合訓(xùn)練,在圖像真實(shí)性、分辨率以及語(yǔ)義關(guān)系對(duì)齊等方面都有不同程度的貢獻(xiàn)。
表4 基于普適性增強(qiáng)方法的GANs變體總結(jié)Table 4. Summary of GANs based on universality enhancement
2.2.1 GAN
GAN[10]主要由生成器和鑒別器組成。生成器捕捉樣本數(shù)據(jù)的分布來(lái)生成指定數(shù)據(jù),鑒別器是二分類模型。生成器和鑒別器可以由各種非線性映射函數(shù)充當(dāng),例如感知機(jī)、卷積神經(jīng)網(wǎng)絡(luò)以及循環(huán)神經(jīng)網(wǎng)絡(luò)等。
以生成圖像任務(wù)為例,生成器的輸入服從某一簡(jiǎn)單分布的噪聲變量,輸出與訓(xùn)練圖像相同尺寸的生成圖像。鑒別器輸入真實(shí)圖像和生成圖像,輸出一個(gè)0~1之間生成圖像是真實(shí)圖像的概率。生成器欺騙鑒別器,使得鑒別器輸出高概率。對(duì)于鑒別器來(lái)說(shuō),要盡可能地輸出低概率。
當(dāng)GAN處于初始狀態(tài)時(shí),鑒別器不能較好區(qū)分真實(shí)數(shù)據(jù)和生成數(shù)據(jù)。通過(guò)不斷更新鑒別器和生成器達(dá)到平衡狀態(tài),生成數(shù)據(jù)分布和真實(shí)數(shù)據(jù)分布重合。
GAN的優(yōu)化過(guò)程可以歸結(jié)為一個(gè)二元極大極小博弈問題,網(wǎng)絡(luò)損失函數(shù)如式(1)所示。
(1)
式中,pdata(x)是真實(shí)數(shù)據(jù)分布;z為隨機(jī)噪聲;pz為噪聲分布;G為生成映射函數(shù);D為鑒別映射函數(shù)。
2.2.2 CGAN
針對(duì)神經(jīng)網(wǎng)絡(luò)模型難以適應(yīng)大量預(yù)測(cè)類別以及一對(duì)多的概率映射未被考慮等問題,文獻(xiàn)[32]提出條件生成對(duì)抗網(wǎng)絡(luò)(Conditional Generative Adversarial Networks, CGAN),也是對(duì)GAN框架的擴(kuò)展。通過(guò)給原始GAN的生成器和鑒別器添加額外的條件信息,實(shí)現(xiàn)條件生成模型。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 CGAN結(jié)構(gòu)Figure 1. Architecture of CGAN
將條件信息加入GAN中可以分兩種:1)原始GAN生成器的輸入是噪聲信號(hào),類別標(biāo)簽可以和噪聲信號(hào)組合作為隱空間表示;2)原始GAN鑒別器的輸入是圖像數(shù)據(jù)(真實(shí)圖像和生成圖像),可以將類別標(biāo)簽和圖像數(shù)據(jù)進(jìn)行拼接作為鑒別器輸入。
網(wǎng)絡(luò)損失函數(shù)如式(2)所示。
(2)
2.2.3 DCGAN
文獻(xiàn)[33]基于GAN框架提出了深度卷積生成對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Networks, DCGAN),該網(wǎng)絡(luò)將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和GAN相結(jié)合來(lái)彌補(bǔ)CNN在監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)之間的局限性。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,網(wǎng)絡(luò)損失函數(shù)如式(1)所示。
圖2 DCGAN結(jié)構(gòu)Figure 2. Architecture of DCGAN
相較于GAN,DCGAN具有以下改進(jìn):
1)在生成器和鑒別器中使用反卷積替代池化層;
2)在生成器和鑒別器中使用歸一化;
3)在隱藏層中移除全連接層;
4)在生成器中,除了輸出層使用tanh激活函數(shù),其它層都使用ReLU激活函數(shù);
5)在鑒別器中,所有層都使用LeakyReLU激活函數(shù)[34]。
3.1.1 AttnGAN
針對(duì)當(dāng)對(duì)全局文本向量進(jìn)行處理而忽略單詞的細(xì)粒度信息會(huì)生成低質(zhì)量圖像的問題,文獻(xiàn)[13]提出了AttnGAN來(lái)優(yōu)化細(xì)粒度文本到圖像的生成。該網(wǎng)絡(luò)通過(guò)關(guān)注自然語(yǔ)言描述中的相關(guān)詞語(yǔ)來(lái)生成圖像不同子區(qū)域的細(xì)粒度細(xì)節(jié)。在此基礎(chǔ)上還提出了一種深層注意力多模態(tài)相似模型(Deep Attention Multimodal Similarity Model, DAMSM)來(lái)計(jì)算細(xì)粒度圖文匹配損失,用于訓(xùn)練生成器。網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 AttnGAN結(jié)構(gòu) Figure 3. Architecture of AttnGAN
該網(wǎng)絡(luò)由AttnGAN和DAMSM兩大模塊構(gòu)成:
1)AttnGAN模塊將文本向量和來(lái)自上一個(gè)隱藏層的圖像向量作為輸入。首先通過(guò)增加一個(gè)新的感知層將文本向量轉(zhuǎn)換到圖像向量的公共語(yǔ)義空間,再根據(jù)圖像的隱藏特征為圖像的每個(gè)子區(qū)域計(jì)算單詞上下文向量,從而將圖像向量和相應(yīng)單詞上下文向量結(jié)合,生成下一階段的圖像。
2)DAMSM模塊學(xué)習(xí)兩個(gè)神經(jīng)網(wǎng)絡(luò)。首先將圖像和單詞的子區(qū)域映射到一個(gè)公共語(yǔ)義空間,再基于單詞度量圖像-文本的相似度,從而計(jì)算出用于生成圖像的細(xì)粒度損失。
該方法能夠捕獲細(xì)粒度的單詞級(jí)別和子區(qū)域級(jí)別的信息,但可能在捕捉全局相干結(jié)構(gòu)方面還不夠完善。
3.1.2 DualAttn-GAN
針對(duì)以往圖像生成方法會(huì)產(chǎn)生扭曲的全局結(jié)構(gòu)和不自然的局部語(yǔ)義細(xì)節(jié)的問題,文獻(xiàn)[24]提出了一種雙重注意力生成對(duì)抗網(wǎng)絡(luò)(Dual Attention Generative Adversarial Networks, DualAttn-GAN)。網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 DualAttn-GAN結(jié)構(gòu)Figure 4. Architecture of DualAttn-GAN
該網(wǎng)絡(luò)引入雙重注意力模塊,包括文本注意模塊和視覺注意模塊。前者探索視覺和語(yǔ)言之間的細(xì)粒度交互作用,后者從通道和空間層面對(duì)視覺的內(nèi)部表征進(jìn)行建模,能夠更好地捕捉全局結(jié)構(gòu)。在此基礎(chǔ)上還提出了一種倒置殘差結(jié)構(gòu)來(lái)提高CNN的信息提取能力,并應(yīng)用歸一化來(lái)穩(wěn)定GAN訓(xùn)練。
DualAttn-GAN的目標(biāo)函數(shù)是每個(gè)鑒別器和生成器的聯(lián)合條件-無(wú)條件損耗,同時(shí)被引入來(lái)聯(lián)合近似條件-無(wú)條件圖像分布。鑒別器的損失計(jì)算式為
(3)
生成器的損失計(jì)算式如式(4)所示。
(4)
DualAttn-GAN能夠關(guān)注相關(guān)詞和不同視覺區(qū)域的相關(guān)特征來(lái)增強(qiáng)局部細(xì)節(jié)和全局結(jié)構(gòu),但在一定程度上缺少對(duì)圖像的多樣性約束。
3.1.3 FesFPA-GAN
針對(duì)GAN訓(xùn)練過(guò)程中容易出現(xiàn)圖像與文本內(nèi)容不一致以及模型崩潰[35]等問題,文獻(xiàn)[25]提出了一種殘差塊特征金字塔注意力生成對(duì)抗網(wǎng)絡(luò)(Residual Block Feature Pyramid Attention Generative Adversarial Networks, FesFPA-GAN)。該網(wǎng)絡(luò)嵌入特征金字塔結(jié)構(gòu)進(jìn)行特征融合,從而實(shí)現(xiàn)細(xì)粒度的圖像生成,網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 FesFPA-GAN結(jié)構(gòu) Figure 5. Architecture of FesFPA-GAN
編碼器對(duì)文本描述進(jìn)行編碼,生成文本嵌入向量,再與噪聲向量進(jìn)行拼接,經(jīng)過(guò)全連接和形狀重塑進(jìn)行迭代訓(xùn)練網(wǎng)絡(luò)。FesFPA-GAN由3個(gè)生成器和3個(gè)鑒別器組成,每個(gè)生成器用于捕獲當(dāng)前尺度下的圖像分布,每個(gè)鑒別器用于計(jì)算當(dāng)前階段得到樣本的概率。
FesFPA-GAN的網(wǎng)絡(luò)損失函數(shù)如式(3)和式(5)所示。與DualAttn-GAN類似,將F0和Fi的條件向量轉(zhuǎn)換為輸入,例如h0=F0(c,z)和h1=F0(hi-1,c)。噪聲向量被條件向量代替,使得生成器能夠完善更多的圖像細(xì)節(jié)。
FesFPA-GAN通過(guò)嵌入特征金字塔結(jié)構(gòu)引入多尺度特征融合,但在更復(fù)雜場(chǎng)景下生成圖像容易出現(xiàn)分辨率不高的問題。
3.1.4 性能對(duì)比
表5給出了在3個(gè)常用數(shù)據(jù)上幾種注意力增強(qiáng)方法IS值的比較??梢钥闯?早期典型的注意力增強(qiáng)方法效果并不理想,特別是在CUB鳥類數(shù)據(jù)集中IS值普遍較低。隨著研究的不斷深入,生成圖像的質(zhì)量和真實(shí)性進(jìn)一步提升,圖像和文本的語(yǔ)義一致性得到增強(qiáng)。文獻(xiàn)[27]使用自注意機(jī)制有效地提取文本特征,取得了較高的IS值。
表5 幾種典型的注意力增強(qiáng)方法IS值比較Table 5. Comparison of IS of typical attention enhancement methods
3.2.1 StackGAN
文獻(xiàn)[15]提出了StackGAN來(lái)生成256×256的圖像。在此基礎(chǔ)上還引入一種新的條件增強(qiáng)技術(shù),該技術(shù)使得圖像生成更加平滑。網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 AttnGAN結(jié)構(gòu) Figure 6. Architecture of AttnGAN
StackGAN網(wǎng)絡(luò)分為兩個(gè)階段,第1階段根據(jù)給定的文本描述繪制文本對(duì)象的基本形狀和顏色,并從隨機(jī)噪聲向量中繪制背景布局,從而產(chǎn)生低分辨率圖像。第2階段將文本描述和第1階段輸出的低分辨率圖像作為輸入來(lái)糾正第1階段結(jié)果中的缺陷,并通過(guò)再次提取文本描述來(lái)完善對(duì)象細(xì)節(jié),生成具有照片級(jí)的高分辨率圖像。
第1階段的生成器損失函數(shù)LG如式(5)所示。
(5)
第1階段的鑒別器損失函數(shù)LD如式(6)所示。
(6)
第2階段的生成器損失函數(shù)LG如式(7)所示。
(7)
第2階段的鑒別器損失函數(shù)LD如式(8)所示。
(8)
3.2.2 StackGAN++
針對(duì)條件生成任務(wù)和無(wú)條件生成任務(wù),文獻(xiàn)[15]基于StackGAN網(wǎng)絡(luò)進(jìn)一步提出了多級(jí)生成性對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)(Stacked++ Generative Adversarial Networks, StackGAN++)。該網(wǎng)絡(luò)由樹狀結(jié)構(gòu)排列的多個(gè)生成器和多個(gè)鑒別器組成[46],網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
圖7 StackGAN++結(jié)構(gòu)Figure 7. Architecture of StackGAN++
StackGAN++網(wǎng)絡(luò)由多個(gè)生成器和鑒別器組成,并將其以樹狀結(jié)構(gòu)排列,樹的不同分支會(huì)生成同一場(chǎng)景的多個(gè)尺度圖像[47]。在每個(gè)分支上,生成器會(huì)捕獲該尺度上的圖像分布,鑒別器度量樣本概率。第1階段將噪聲向量和條件變量組合到第1個(gè)生成器,該生成器在默認(rèn)情況下生成64×64的低分辨率圖像。之后的每個(gè)階段會(huì)使用前一階段的結(jié)果和條件變量來(lái)產(chǎn)生高分辨率圖像。最后階段會(huì)產(chǎn)生256×256的高質(zhì)量圖像。
3.2.3 性能對(duì)比
表6給出了在3個(gè)常用數(shù)據(jù)上幾種多階段增強(qiáng)方法IS值的比較。與表5相比,注意力增強(qiáng)方法的IS值明顯高于多階段增強(qiáng)方法的IS值,生成圖像效果相對(duì)較好。注意力增強(qiáng)方法相較于其他方法更能捕捉圖像中的細(xì)節(jié)特征,在細(xì)粒度上關(guān)注重點(diǎn),對(duì)文本生成圖像領(lǐng)域作用較
表6 幾種典型的多階段增強(qiáng)方法IS值比較Table 6. Comparison of IS of typical multi-stage enhancement methods
大。在多階段增強(qiáng)方法中,textStyleGAN的IS值較高,表明在潛在語(yǔ)義空間中生成圖像效果較好。此外,StackGAN++相比于StackGAN在各個(gè)指標(biāo)均得到一定提升,表明將生成器和鑒別器組織成樹狀結(jié)構(gòu),能夠使模型性能進(jìn)一步提升。
3.3.1 Scene Graph
針對(duì)以往方法難以處理包含復(fù)雜場(chǎng)景文本的問題,文獻(xiàn)[16]提出了一種從場(chǎng)景圖生成圖像的方法(Scene Graph),能夠顯式地推理文本中對(duì)象及其關(guān)系。該方法使用圖卷積神經(jīng)網(wǎng)絡(luò)[37]來(lái)處理輸入圖形,通過(guò)預(yù)測(cè)對(duì)象的邊界框和分割子區(qū)域來(lái)計(jì)算出場(chǎng)景布局,并利用級(jí)聯(lián)優(yōu)化網(wǎng)絡(luò)將場(chǎng)景布局轉(zhuǎn)換為圖像。網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
Scene Graph的輸入是包含對(duì)象及其關(guān)系的場(chǎng)景圖。首先利用圖卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行處理,圖卷積神經(jīng)網(wǎng)絡(luò)沿邊傳遞信息,計(jì)算出所有對(duì)象的嵌入向量,用于預(yù)測(cè)對(duì)象的邊界框和分割掩碼,并將其組合成場(chǎng)景布局,從而使用CRN將場(chǎng)景布局轉(zhuǎn)換為圖像。此外,該網(wǎng)絡(luò)使用一對(duì)鑒別器進(jìn)行對(duì)抗訓(xùn)練。網(wǎng)絡(luò)損失函數(shù)如式(9)所示。
LGAN=EX~preallogD(x)+EX~pfakelog(1-D(x))
(9)
Scene Graph能夠明確地推理對(duì)象和關(guān)系,并生成包含較多可識(shí)別的復(fù)雜圖像,但易產(chǎn)生圖像不夠清晰、分辨率不高等問題。
3.3.2 InferringGAN
文獻(xiàn)[50]提出一種新穎的基于語(yǔ)義布局推理的層次化文本生成圖像方法InferringGAN。該方法首先由布局生成器從文本構(gòu)建語(yǔ)義布局,再通過(guò)圖像生成器將布局轉(zhuǎn)換為圖像。不僅可以生成語(yǔ)義層面上具有意義的圖像,還可以通過(guò)修改生成場(chǎng)景布局來(lái)自動(dòng)標(biāo)注圖像和過(guò)程。網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示。
InferringGAN主要由框生成器、形狀生成器以及圖像生成器組成:
1)框生成器接收一個(gè)文本向量作為輸入,并通過(guò)在圖像中組合對(duì)象實(shí)例來(lái)生成一個(gè)粗糙的布局。最后輸出的是一組邊界框B1:T={B1,…,BT},其中每個(gè)邊界框BT定義了第t個(gè)對(duì)象的位置、大小以及類別標(biāo)簽。
2)形狀生成器接收一組邊界框,再預(yù)測(cè)框內(nèi)對(duì)象的形狀。最后輸出的是一組二進(jìn)制掩碼M1:T={M1,…,MT},其中每個(gè)二進(jìn)制掩碼MT定義了第t個(gè)對(duì)象的基本形狀。
3)圖像生成器通過(guò)聚合掩碼獲取語(yǔ)義標(biāo)簽映射關(guān)系M,并將文本向量作為輸入,再通過(guò)將語(yǔ)義布局轉(zhuǎn)換為與文本描述匹配的圖像。
通過(guò)優(yōu)化損失函數(shù)Limg如式(10)所示,對(duì)生成器和鑒別器進(jìn)行聯(lián)合訓(xùn)練。
(10)
InferringGAN能夠生成保留語(yǔ)義細(xì)節(jié)并與文本描述高度相關(guān)的復(fù)雜圖像,且其預(yù)測(cè)的布局可用于控制,但面對(duì)復(fù)雜場(chǎng)景的圖像,預(yù)測(cè)的對(duì)象位置不夠精確,缺乏對(duì)位置約束。
3.3.3 性能對(duì)比
表7給出了在3個(gè)常用數(shù)據(jù)上幾種多階段增強(qiáng)方法IS值的比較?;贑OCO數(shù)據(jù)集與表5和表6可以看出,場(chǎng)景布局方法的IS值相對(duì)較低。文獻(xiàn)[39]在COCO數(shù)據(jù)集上IS值較高,使用邊框回歸網(wǎng)絡(luò)計(jì)算每個(gè)實(shí)例的類別和位置的布局,能夠提取更理想的圖像特征。由此可以看出,文本生成圖像應(yīng)該利用場(chǎng)景布局方法處理文本,將多階段骨架作為網(wǎng)絡(luò)主干,把注意力機(jī)制作為輔助工具,三者結(jié)合能夠達(dá)到更好的圖像生成效果。
表7 幾種典型的場(chǎng)景布局增強(qiáng)方法IS值比較Table 7. Comparison of IS of typical scene layout enhancement methods
3.4.1 TAC-GAN
文獻(xiàn)[14]提出了TAC-GAN,該網(wǎng)絡(luò)將文本數(shù)據(jù)和其類別信息相結(jié)合,使生成的圖像多樣化并提高其結(jié)構(gòu)連貫性。網(wǎng)絡(luò)結(jié)構(gòu)如圖10所示。
圖10 TAC-GAN結(jié)構(gòu) Figure 10. Architecture of TAC-GAN
在TAC-GAN網(wǎng)絡(luò)中,生成器將生成的圖像限制在其類別標(biāo)簽上,而鑒別器執(zhí)行輔助任務(wù),將生成圖像和真實(shí)圖像分類到各自的類別標(biāo)簽中。其中,每個(gè)生成圖像都與類別標(biāo)簽和噪聲向量相關(guān)聯(lián)。鑒別器輸出(真或假)的概率分布和類標(biāo)簽上的概率分布分別是DS(I)=P(S|I)和DC(I)=P(C|I)。
目標(biāo)函數(shù)由兩部分組成:真實(shí)來(lái)源LS的對(duì)數(shù)似然和真實(shí)類別LC的對(duì)數(shù)似然。定義為
LS=E[logP(S=r|Xreal)]+E[logP(S=f|Xfake)]
(11)
LC=E[logP(S=c|Xreal)]+E[logP(S=c|Xfake)]
(12)
式中,鑒別器最大化為L(zhǎng)S+LC;生成器最小化為L(zhǎng)C-LS。
TAC-GAN相較于其他方法易于擴(kuò)展,能以任何類型有用的潛在信息對(duì)網(wǎng)絡(luò)進(jìn)行調(diào)節(jié)。但是額外的信息對(duì)模型訓(xùn)練的穩(wěn)定性可能會(huì)產(chǎn)生一定影響,并且其在多大程度上是幫助而不是阻礙模型產(chǎn)生更好質(zhì)量、更高分辨率的圖像的能力,仍有待研究。
3.4.2 MA-GAN
文獻(xiàn)[8]提出了MA-GAN,該網(wǎng)絡(luò)挖掘描述同一圖像的不同語(yǔ)句之間的語(yǔ)義相似性,既提高了生成圖像的質(zhì)量,又保證了相關(guān)語(yǔ)句的生成相似度。在此基礎(chǔ)上提出了一個(gè)單句生成和多句判別(Single Sentence Generation and Multiple Sentence Discrimination, SGMD)模塊,探索多個(gè)相關(guān)語(yǔ)句之間的語(yǔ)義關(guān)聯(lián),以減少生成圖像之間的差異。此外,設(shè)計(jì)了一種漸進(jìn)式負(fù)值樣本,有效地提高產(chǎn)生式模型的細(xì)節(jié)判別能力。網(wǎng)絡(luò)結(jié)構(gòu)如圖11所示。
圖11 MA-GAN結(jié)構(gòu)Figure 11. Architecture of MA-GAN
MA-GAN主要由3大模塊組成:多語(yǔ)句采樣模塊、單句生成和多句鑒別模塊以及漸進(jìn)式負(fù)樣本選擇模塊。
1)多語(yǔ)句采樣模塊是將一個(gè)圖像和多個(gè)語(yǔ)句P={Ir;Sm,Sa0,Sa1,…,San}作為輸入。其中,Ir是真實(shí)圖像,Sm是目標(biāo)語(yǔ)句,Sai是輔助語(yǔ)句,由真實(shí)圖像的相關(guān)語(yǔ)句中隨機(jī)采樣的得到。通過(guò)預(yù)先訓(xùn)練的文本編碼器提取語(yǔ)句特征和單詞特征,再利用條件增強(qiáng)來(lái)增強(qiáng)文本描述,得到增廣的語(yǔ)句向量。
2)句生成和多句鑒別模塊包含3對(duì)生成器和鑒別器,對(duì)應(yīng)不同分辨率的圖像。在3個(gè)生成階段,使用同一個(gè)語(yǔ)句作為生成條件,而在鑒別階段使用多個(gè)不同的語(yǔ)句。
3)漸進(jìn)式負(fù)樣本選擇模塊則是在訓(xùn)練過(guò)程中引入負(fù)樣本來(lái)提高模型性能,再生成細(xì)粒度圖像。
生成器損失函數(shù)LG如式(13)所示。
(13)
鑒別器損失函數(shù)LD如式(14)所示。
(14)
式中,LDi是3個(gè)階段的鑒別器損失;LC是分類損失。
MA-GAN引入了多個(gè)相關(guān)語(yǔ)句中的語(yǔ)義信息,減少了相關(guān)語(yǔ)句生成的圖像之間的差異。但忽略了視覺信息與語(yǔ)義信息之間的不平衡,需要引入更多的上下文信息,例如邊界框、屬性信息、掩碼信息等。更好地利用上下文信息是值得研究的問題。
3.4.3 性能對(duì)比
表8給出了在3個(gè)常用數(shù)據(jù)上幾種普適性增強(qiáng)方法IS值的比較。從表8可以看出,基于COCO數(shù)據(jù)集,相較于其他增強(qiáng)方法。文獻(xiàn)[51]所提方法的IS值最高,達(dá)到52.73,表明該文獻(xiàn)設(shè)計(jì)的內(nèi)存結(jié)構(gòu)是一種有效的圖像生成方法。
表8 幾種典型的普適性增強(qiáng)方法IS值比較Table 8. Comparison of IS of typical universality enhancement methods
在完成文本生成圖像任務(wù)之后通常對(duì)生成圖像進(jìn)行評(píng)估。圖像的評(píng)估目標(biāo)主要有3個(gè)方面,即質(zhì)量、多樣性以及語(yǔ)義一致性。
Inception Score (IS)[58]被廣泛用于評(píng)估圖像的質(zhì)量和多樣性。IS是基于一個(gè)預(yù)訓(xùn)練InceptionV3網(wǎng)絡(luò)[59],通過(guò)統(tǒng)計(jì)該網(wǎng)絡(luò)的輸出來(lái)計(jì)算生成網(wǎng)絡(luò)的性能,其計(jì)算式為
IS(G)=exp(Ex~pg[DKL(p(y|x)‖p(y))])
(15)
式中,p(y|x) 是預(yù)訓(xùn)練模型估計(jì)的圖像條件標(biāo)簽分布,即初始InceptionV3網(wǎng)絡(luò)的輸出;p(y)是關(guān)于圖像的邊緣分布。
Frechet Ineption Distance (FID)[60]根據(jù)預(yù)訓(xùn)練的網(wǎng)絡(luò)提取的特征來(lái)衡量真實(shí)圖像分布和生成圖像分布之間的距離。FID在評(píng)估GAN方面比IS更具有一般性,可更好地捕捉各種外界干擾。與IS相似,FID通常從真實(shí)和生成的圖像中計(jì)算,使用預(yù)訓(xùn)練的Inception V3網(wǎng)絡(luò)的最后一個(gè)池化層來(lái)獲取視覺特征。之后用從兩種圖像中所提取特征的均值和方差(μr,∑r)和(μg,∑g),通過(guò)式(16)計(jì)算FID
(16)
FID將生成圖像的分布與真實(shí)圖像的分布進(jìn)行比較,生成圖像與真實(shí)圖像之間的距離越小,則FID越低。
文獻(xiàn)[2]提出了一種FCN-scores,其基本思想是GAN生成的圖像應(yīng)該能夠在利用相同分布的真實(shí)圖像所訓(xùn)練的分類器上被正確分類。因此,如果分類器準(zhǔn)確地對(duì)一組合成圖像進(jìn)行分類,則該圖像可能是真實(shí)的,并且相應(yīng)的GAN獲得較高的FCN分?jǐn)?shù)。
Structural Similarity Index Measurement (SSIM)[61]即為結(jié)構(gòu)相似性,是一種衡量?jī)煞鶊D像相似度的指標(biāo)。該指標(biāo)假設(shè)人類視覺主要從可視區(qū)域內(nèi)獲取結(jié)構(gòu)信息,所以通過(guò)檢測(cè)結(jié)構(gòu)信息是否發(fā)生改變來(lái)感知圖像的近似信息。SSIM測(cè)量系統(tǒng)由3個(gè)對(duì)比模塊組成:亮度、對(duì)比度、結(jié)構(gòu)。測(cè)量系統(tǒng)的定義如式(17)所示。
S(x,y)=f(l(x,y),c(x,y),s(x,y))
(17)
式中,(x,y)是不同的圖像;l(x,y) 是圖像亮度對(duì)比;c(x,y)是對(duì)比度;s(x,y) 是圖像結(jié)構(gòu)對(duì)比。
(18)
式中,μ、σ、σxy分別是圖像的均值、方差以及x和y的協(xié)方差;C1、C2、C3為常數(shù),且C3=C2/2。故整體有
(19)
SSIM范圍為-1~1,越接近1,表明兩張圖像越相似。
除以上介紹外,還有一些未被廣泛使用的指標(biāo),例如適合多對(duì)象圖像的質(zhì)量評(píng)估(the detect based score)[37]、適合多對(duì)象圖像的真實(shí)性評(píng)估(SceneFID)[62]、自動(dòng)顯示生成模型中無(wú)法捕獲數(shù)據(jù)分布的特定類別(CAS)[63]、可以估計(jì)單個(gè)樣本的感知質(zhì)量并研究潛在空間插值(precision and recall metrics)[64]以及可以檢測(cè)兩個(gè)相同分布之間的匹配(density and coverage metrics)[65]。這些指標(biāo)利用不同的思想來(lái)評(píng)估圖像的質(zhì)量和多樣性。
在文本生成圖像的過(guò)程中,保留文本原有的語(yǔ)義信息必不可少。生成圖像必須符合文本所描述的內(nèi)容和人類的主觀感受。近年來(lái),關(guān)于衡量文本-圖像語(yǔ)義一致性的評(píng)估指標(biāo)受到了越來(lái)越多的關(guān)注。常見的評(píng)估指標(biāo)如表9所示。
表9 幾種典型的語(yǔ)義一致性評(píng)估指標(biāo)Table 9. Several typical semantic consistency evaluation metric
CUB數(shù)據(jù)集[1]共有11 788張鳥類圖像,包含200類鳥類子類,其中訓(xùn)練數(shù)據(jù)集有5 994張圖像,測(cè)試集有5 794張圖像,每張圖像均提供了圖像類標(biāo)記信息,圖像中鳥類的bounding box、鳥類的關(guān)鍵part信息以及鳥類的屬性信息。
Oxford-102[69]數(shù)據(jù)集是牛津大學(xué)于2008年發(fā)布的一個(gè)花卉數(shù)據(jù)集,在計(jì)算機(jī)視覺領(lǐng)域被廣泛使用。該數(shù)據(jù)集包含102個(gè)類別的8 189張花卉圖像,每個(gè)類別包含40~256張圖像。訓(xùn)練集和驗(yàn)證集中各類別包含10張圖像(共1 030張),而測(cè)試集中各類別至少包含20張圖像(共6 129張)。
MSCOCO[70](Microsoft Common Objects in Context)是微軟于2014年出資標(biāo)注的數(shù)據(jù)集。該數(shù)據(jù)集是一個(gè)大型、豐富的物體檢測(cè),分割和字幕數(shù)據(jù)集。該數(shù)據(jù)集以理解場(chǎng)景為目標(biāo),主要從復(fù)雜的日常場(chǎng)景中截取,圖像中的目標(biāo)通過(guò)精確的分割進(jìn)行位置的標(biāo)定。圖像包括91類目標(biāo),32.8萬(wàn)影像和250萬(wàn)個(gè)label。
CIFAR-10是一個(gè)接近真實(shí)物體的彩色圖像數(shù)據(jù)集,目的用于識(shí)別日常物體。一共包含10個(gè)類別的RGB彩色圖像,每個(gè)圖像的尺寸為32×32,每個(gè)類別有6 000個(gè)圖像,數(shù)據(jù)集中一共有50 000張訓(xùn)練圖像和10 000張測(cè)試圖像。
除上述數(shù)據(jù)集之外,還有MNIST[35]、SVHN[5]以及CelebA-HQ[29]等??傊?目前文本生成圖像的數(shù)據(jù)集主要以場(chǎng)景和稀疏對(duì)象為主,但考慮到現(xiàn)實(shí)情況更為復(fù)雜,加入更多的對(duì)象-對(duì)象和對(duì)象-場(chǎng)景交互動(dòng)作,能夠讓模型更好地理解文本信息,提高模型的圖像生成效果。
本文總結(jié)了各種基于GAN的文本生成圖像方法。根據(jù)GANs結(jié)構(gòu)的不同,將文本生成圖像方法歸納為4類:注意力增強(qiáng)方法、多階段增強(qiáng)方法、場(chǎng)景布局增強(qiáng)方法和普適性增強(qiáng)方法。討論了每一種模型的思想、原理以及貢獻(xiàn)。這些模型都可以基于文本類型的自然語(yǔ)言生成具有視覺效果和照片級(jí)真實(shí)感的圖像。最后,在CUB、Oxford-102和MSCOCO數(shù)據(jù)集上對(duì)模型進(jìn)行了評(píng)估。從兩個(gè)方面展開未來(lái)的研究工作:
1)評(píng)估指標(biāo)。從表9可以看出,目前還有較多未展開廣泛應(yīng)用的新評(píng)估指標(biāo),它們都有一定的理論根據(jù),但是缺乏具體的研究實(shí)踐。此外,生成圖像有多個(gè)維度需要評(píng)估,例如真實(shí)性、多樣性和語(yǔ)義一致性等,但目前缺少足夠可靠的評(píng)估指標(biāo),該評(píng)估指標(biāo)應(yīng)該在多個(gè)角度對(duì)圖像進(jìn)行綜合評(píng)估。因此,新評(píng)估指標(biāo)的廣泛應(yīng)用和研究具有綜合性圖像評(píng)估效果的指標(biāo)是未來(lái)文本生成圖像領(lǐng)域的方向之一。
2)GAN結(jié)構(gòu)。綜合本文對(duì)比分析近幾年的GAN模型變體的性能結(jié)果可知,目前大多研究集中在本文歸納的方法類別中,雖然有不同方法可以使生成圖像的視覺效果較好,但模型仍然存在不足,例如圖像不夠真實(shí)、缺乏多樣性約束以及不適應(yīng)復(fù)雜場(chǎng)景和文本等問題。因此,綜合多個(gè)類別來(lái)構(gòu)建模型是亟待解決的問題。