賴麗娜,米 瑜,周龍龍,饒季勇,徐天陽,宋曉寧
江南大學 人工智能與計算機學院,江蘇 無錫 214122
近些年,隨著深度學習理論技術的蓬勃發展,計算機視覺和圖像自動化處理技術的研究已獲得顯著的創新和應用的突破。2014 年,Goodfellow 等[1]首次提出生成對抗網絡(generative adversarial network,GAN)作為一種深度學習模型,是近年來復雜分布上無監督學習最具前景的方法之一。2017年后,基于生成對抗網絡的深度機器學習方法,已經被廣泛地使用在文本描述到圖像生成的技術中,并形成目標屬性描述的高度區分和可泛化特點。通過使用文本描述生成一個直觀的可視化圖像,可以引用與當前對象、屬性信息、空間位置和關聯關系等密集語義信息,為支持復雜多樣的場景實現奠定良好基礎,例如文本建模、智能人機交互、視覺障礙者協助、智能問答、機器翻譯等方面。
文本生成圖像方法主要采用自然語言與圖像集特征的映射方式,根據自然語言描述生成對應并具有足夠視覺細節的圖像,且在語義上與文本的描述保持一致,利用語言屬性智能化實現視覺圖像的通用性表達。為使生成的圖像具有高度真實感,已有工作對GAN 做了廣泛研究。GAN 包括了生成網絡、判別網絡和對抗網絡,其中最主要的就是生成器和判別器。生成器負責根據隨機噪聲生成內容,而判別器負責給出生成圖像和真實圖像的匹配概率,并不斷地交替訓練,以滿足真實度的要求。文本圖像生成可以在計算機視覺領域解決多種問題。本文總結強調了基于GAN的文本圖像生成領域的發展現狀及發展歷程,通過對文本編碼器、文本直接合成圖像、文本引導圖像合成等多維度多模型的對比和分析,全面總結和分析了模型的特點,客觀地提出了該領域目前研究的不足以及未來可能的發展方向。
本綜述主要關注于回顧最近的相關工作,旨在分析使用生成對抗網絡解決文本圖像生成問題。為了提供清晰的路徑,將GAN 組織歸納為四個主要類別。首先對GAN 和文本圖像生成做了基礎介紹;總結歸納了四種基礎的GAN,強調它們各自特點;然后,總結了基于基礎GAN的文本圖像生成,討論了模型和體系結構;回顧了基礎GAN 以及基于基礎GAN 的文本到圖像合成性能指標和比較;最后,總結并概述了文本到圖像生成領域的發展思路。
GAN[1]主要由生成器和判別器構成。算法流程可總結為固定一方訓練另一方。第一步:固定生成器G,訓練判別器D。第二步:固定判別器D,訓練生成器G。在圖像生成研究方面,近年來流行的深度生成模型可以歸結為三類:自回歸模型(ARM)[2]、生成對抗網絡(GAN)[3-12]和變分自動編碼器(VAE)[13-14]。GAN的典型應用:
(1)生成數據[15]。GAN能夠從大量的無標注數據中無監督地學習到一個具備生成各種形態(圖像、語音、語言等)數據能力的函數(生成器)。
(2)圖像超分辨率[16]。SRGAN[16]基于相似性感知方法提出了一種新的損失函數,有效解決了圖像重建后丟失高頻細節的問題,并使生成的高分辨率圖像視覺效果更好。
(3)圖像翻譯和風格遷移[12,17]:由于GAN 的自主學習和生成隨機樣本的優勢,以及降低了對訓練樣本的要求,使得GAN在圖像風格遷移領域取得了一定成就。
(4)跨模態圖像生成[18-19]。文本生成圖像是GAN在跨模態圖像生成上最主流也是最成熟的應用,GAN 本身超強的分布學習能力使得GAN可以建立文本到圖像的條件分布,生成語義一致的圖像。
為實現文本圖像生成,需要對文本信息進行語義、特征提取。在提取過程中用到了自然語言處理的方法。自然語言處理將文本進行編碼,提取文本中的重要屬性。但傳統方法直接利用線性編碼的方式,對文本信號進行映射。但是隨著數據維度的增加,計算量將呈指數級增長。
近些年,自然語言高速發展,已有多種技術及模型(如圖1)[20-24]。從Word2vec[25]到GPT-2[26],這些模型都是只考慮自然語言這種單一模態內部潛在的規律,雖然在語言的數據降維、特征保持、語義提取、因果推斷等方面取得了一定成功,但并沒有建立自然語言與其他模態之間的信息交互。例如:文本生成圖片時,使用Bert[27-28]提取的自然語言的特征不能與使用CNN[29]提取的圖像特征相匹配,從而生成的圖片不能體現語義一致性,甚至出現錯誤的情況[30]。

圖1 文本圖像生成領域代表性模型Fig.1 Representative models in text image synthesis field
在早期,文本圖像生成主要通過監督學習和搜索相結合的方式進行,通過使用關鍵字(或關鍵短語)和圖像之間的相關性識別信息。然后這些單元將搜索以文本為條件的相關性最高的圖像,最終根據文本和圖像優化圖片布局。這種方法通常涉及多個領域的相關知識,包括自然語言處理、計算機視覺、計算機圖形學等。傳統的文本圖像生成主要是缺乏生成新圖像的能力,只能改變給定圖像的特征。
為了解決生成圖像定制化的問題,GAN 可以通過文本描述來指定要生成的圖像類型。在文本生成圖像中,GAN的判別器首先判斷生成圖像的合理性,當生成的圖像合理之后,再訓練圖像與文本是否匹配。為了使判別模型能夠擁有判斷文本與圖像是否匹配的能力,在訓練時除了使用<假圖,描述>和<真圖,匹配描述>的樣本外[31],添加了第三種樣本即<真圖,不匹配描述>。這種訓練范式的目標函數如下所示:
其中,x表示真圖,x?表示假圖,s表示匹配描述,s?表示不匹配描述。
本章提出了一種分類法,將基礎GAN 模型分成四大類:語義增強GAN、可增長式GAN、多樣性增強GAN和清晰度增強GAN(如圖2)。其中語義增強GAN可保證文本到圖像的一致性,可增長式GAN使訓練穩定,多樣性增強GAN使得生成圖像豐富,清晰度增強GAN使得生成的圖像質量高。

圖2 各類方法間的聯系與區別Fig.2 Connection and difference between various methods
語義增強GAN[32]代表了用于文本到圖像合成的GAN框架的比較早期的作品,這一部分的GAN 主要專注于確保生成的圖像在語義上與輸入文本相關。然而,語義相關性是一個相對主觀的衡量標準,每種圖像本身都有豐富的語義與解釋。因此,許多GAN 從不同的角度被提出用以增強文本到圖像的生成。在這一節中,將具體回顧一種經典的方法——DCGAN[6]和SAGAN[12],它通常作為文本圖像生成的主干(backbone)參與到各種復雜的GAN中進行訓練[33]。
2.1.1 深度卷積生成對抗網絡(DCGAN)
在原始的GAN[1]模型中,生成器和判別器都是淺層模型。為了生成分辨率更高的圖像,需要更深的模型。2016年,Ⅰndico公司的Radford等[6]提出了DCGAN(deep convolutional GAN)模型,它代表了使用GAN進行文本圖像生成的許多先驅工作(如圖3)。該模型是GAN 的一個變體,在網絡架構上改進了原始GAN,即在生成器和判別器中均使用深度卷積神經網絡(convolutional neural network,CNN)[29]替換原始GAN的全連接神經網絡(fully connected netural network,FCN),并用遞歸神經網絡(recursive neural network,RNN)提取文本特征。具體來講,DCGAN[6]的生成器和判別器用卷積層替換池化層。生成器先使用反卷積進行上采樣,然后將生成的圖像輸送到判別器中,判別器再通過帶有步長(stride)的卷積提取特征,提升文本到生成圖像的語義正確性。其次,為避免初始化網絡參數不佳的問題,并使訓練過程更穩定,DCGAN[6]在生成器和判別器上都使用批歸一化層(batch normalization)幫助梯度[34]在深層網絡中的反傳[35],適當增加初始化差,也緩解了“模式崩潰”問題,使得最終圖像的多樣性增強。然而,直接將批歸一化層應用到所有層也會產生樣本震蕩和模型不穩定等問題,因此DCGAN[6]在生成器的輸出層和判別器的輸入層中取消了批歸一化層,以此增加模型訓練的穩定性。

圖3 DCGAN的網絡結構Fig.3 Network structure of DCGAN
2.1.2 循環生成對抗網絡(CycleGAN)
與DCGAN[6]不同,CycleGAN(cycle-consistent GAN)[12]可以實現無配對數據的訓練(即在源域和目標域之間,無須建立訓練數據間一對一的映射,就可實現源到目標域的遷移)。CycleGAN[12]本質上是兩個鏡像對稱的GAN構成的環形網絡,這兩個GAN共享兩個生成器,并各自攜帶一個判別器(如圖4)。在生成器處理圖像的過程中,CycleGAN[12]使用了自適應層實例歸一化方式(AdaLⅠN),提高了每一個像素的感知域,實現了輸入像素的跳躍式傳輸,保護了信息傳遞的完整性。而判別器僅用于判斷輸入圖像是否是某一特定域的圖像,它首先用四層卷積與激活函數對圖像進行特征提取和處理,最后再經過輸出通道數為1 的卷積得到一個patch 的輸出實現判別。它的訓練過程如下:首先從域X中取出一組圖像,再從域Y中取出另一組圖像,以此訓練生成器G:X→Y,得到生成圖像G(x)后,再經過生成器F:Y→X得到F(G(x));同理有Y域到X域的轉換關系G(F(y))。CycleGAN[12]通過循環一致性損失來保證生成器的輸出和真實圖像之間保持了內容上的相似性,以此實現高語義相關。

圖4 CycleGAN的網絡結構Fig.4 Network structure of CycleGAN
Base-GAN模型的機制與特點,如表1所示。

表1 Base-GAN模型的機制與特點Table 1 Mechanism and characteristics of Base-GAN models
早期的GAN 能夠生成低分辨率的圖像,而要生成高分辨率、高質量的圖像困難重重,可增長式GAN可以解決此類問題,從低分辨率圖片開始同時訓練生成器和判別器,逐層增加分辨率,不斷添加細節信息,最后平滑地生成高分辨率、高質量的圖像。這不僅能加快訓練的速度,而且極大程度地穩定了訓練,生成高質量的圖像。
漸進式增長生成對抗網絡(progressive growing gan,PGGAN):如果直接生成大分辨率的圖片,建立從初始訓練的潛在空間到1 024×1 024像素的映射網絡非常困難,這是因為在生成的過程中,判別器會很輕易識別出映射網絡生成的“假圖像”,導致映射網絡缺乏收斂性。因此,PGGAN[3]通過一種漸進增長(progressive growing)的方式來訓練GAN,“漸進增長”指的是先訓練4×4 的網絡,然后訓練8×8,每個階段增大兩倍,最終達到1 024×1 024的高分辨率圖像。雖然“漸進增長”能夠加快訓練速度,層與層之間的信息更加精細,生成圖像的質量提高。但添加額外層會造成對損失函數的影響,使GAN 需要花費額外的時間重新達到收斂狀態,影響模型訓練的效率。為解決此問題,PGGAN[3]通過平滑過渡技術,將更大一級的網絡融合進低一級的網絡,使得高一級的比例漸漸變大,低一級的比例漸漸減小,從而平滑地增強新增層(如圖5)。這樣的逐層訓練既加快了訓練速度,又提高了訓練穩定性,使得生成的圖像質量變高。

圖5 PGGAN的網絡結構Fig.5 Network structure of PGGAN
雖然可增長式GAN能夠保證GAN的穩定訓練,使生成圖像與真實圖像存在較小偏差的圖像,也會導致生成圖像特征單一的問題。而要使輸出圖像多樣化,使圖像低維度表征被最大化表達,且不能降低訓練的穩定性,則需要兼顧樣本的保真性和多樣性[37]。這就是多樣性增強GAN 的目的。這樣生成的圖像不僅與語義相關,而且具有不同的類型和視覺外觀。
2.3.1 雙判別器生成對抗網絡(D2GAN)
D2GAN(dual discriminator GAN)[5]既可以高效地避免模式崩潰問題又可以擴展到龐大的數據集(如圖6)。通過結合KL和反KL散度生成一個統一的目標函數,從而利用了兩種散度的互補性,有效地在多模式下分散預估密度。D2GAN[5]有兩個判別器:D1和D2,兩個判別器在與一個生成器一起進行極大極小的博弈同時,一個判別器會給符合分布的數據樣本給予高獎勵,而另外一個判別器更偏向于生成器生成的數據。生成器將同時欺騙兩個判別器。當訓練的兩個判別器最優時,優化D2GAN[5]的生成器可以讓原始數據和生成器產生的數據之間的KL 散度和反向KL 散度最小化,最小化目標函數的損失,從而有效地避免“模式崩潰”的問題[38]。實驗結果表明,D2GAN[5]可以在保持生成樣本質量的同時提高樣本的多樣性。更重要的是,這種方法可以擴展到更大規模的數據集(ⅠmageNet)[39],并保持生成圖像的多樣性和高質量。

圖6 D2GAN的網絡結構Fig.6 Network structure of D2GAN
由于單判別器判別性能不佳,有可能會導致誤判。2022年,申瑞彩等[40]提出使用選擇性集成學習思想的生成對抗網絡模型將判別器集成,這些判別器各自具有不同的網絡結構,并在集成判別網絡中引入具有動態調整基判別網絡投票權重的多數投票策略,對集成判別網絡的判別結果進行投票,有效地促進了模型的收斂、解決了生成樣本多樣性差等問題。
2.3.2 基于自注意力的生成對抗網絡(SAGAN)
傳統的卷積方法(如PGGAN[3])僅僅根據低分辨率特征圖中的空間局部點生成高分辨率細節,然而卷積算子有一個局域接受域,距離較遠的關系只能經過幾個卷積層進行聯系,不利于學習長期依賴關系。且大多GAN多注重紋理細節而非整體的幾何結構,因而SAGAN(self-attention GAN)[11]為生成器和判別器均引入了自注意力機制,用于捕獲全局依賴性,有效地捕獲了相隔很遠區域之間的關系,輔助CNN[29]建模圖像中的長期依賴(如圖7)。生成器可以繪制細節豐富的圖像,判別器也可以更準確地對全局圖像結構實施復雜的幾何約束。GAN 的訓練通常存在“模式崩潰”問題,也就是判別器訓練的效果很好,而生成器的生成效果遠遠落后傳統的GANs 通過判別器的正則化減緩判別器的訓練速度,從而實現GAN 的整體減速。SAGAN[11]通過對判別器和生成器采用不同的學習速率,減少判別器的更新次數,以此同步生成器和判別器的學習,穩定訓練。分別在生成器和判別器上采用SN、TTUR,以及不同層次的特征圖(feature map)進行性能評價,在當時已有的GANs中效果最佳。
為增強生成圖像的清晰度,必須提高圖像的分辨率。因此通過急劇損失函數提升圖像邊緣的清晰度,或利用殘差注意力網絡輔助并行結構網絡進行文本生成高質量的圖像,并不斷降低圖像的損失程度,最后達到提高圖像清晰度的效果。
基于樣式的生成對抗網絡(StyleGAN)。StyleGAN[36]由兩個網絡結構組成:映射網絡和綜合網絡。映射網絡通過控制生成一個中間向量來減少特征之間的相關性,相較于僅使用輸入向量控制特征的方法,能夠極大程度地緩解“特征糾纏”的問題[36]。綜合網絡通過自適應實例歸一化(AdaⅠN)來精確地控制樣式信息,以此保留圖片的關鍵信息,實現風格控制的目的。
StyleGAN[36]在PGGAN[3]的基礎上,加入噪聲映射網絡[4],通過類似于AdaⅠN的方式來添加噪聲,然而使用這種方式加入噪聲會導致訓練不穩定,造成語義不協調、生成的圖像有時包含偽影、斑點以及局部區域扭曲等問題。為解決此類問題,提出權重解調(weight demodulation)添加噪聲,即將i、j、k三個維度進行歸一化處理,使得改變部分細節并不會改變主體,以此保證了位移不變性[41]。同時訓練出的模型能夠對抗噪聲網絡,當發生“特征糾纏”時,映射網絡會擬合出真實數據分布的形狀,使得生成的圖像與真實圖像的偏離不會過大,很好地解決了PGGAN[3]訓練中產生的“特征糾纏”問題。由實驗結果可知,StyleGAN[36]在細節部分微調時不會改變主體,使得訓練的穩定性更高。
上一章提及的各種類別的GAN將在本章進行文本圖像生成方面的具體應用。收集了近幾年來典型的幾種文本圖像生成的T2Ⅰ模型[42],并將有關的GAN列表整理,包含適用場景以及相關的性能指標。為了評估文本圖像合成方法的實用價值,對不同方法的復雜度進行了分析對比。如圖8所示,從GAN-ⅠNT-CLS、TAC-GAN到最近的CⅠ-GAN、StyleT2Ⅰ的模型架構圖來看,圖像生成模型的復雜度在不斷提高,計算資源的需求也在變大。與此同時,最終生成圖像的效果也越佳,語義一致性、多樣性以及視覺真實性也在不斷提高。
3.1.1 基于DCGAN的T2I模型
GAN-ⅠNT-CLS[43]是文本生成圖像最早的工作(如圖9),它結合了具有圖像-文本匹配的判別器GAN-CLS和具有文本流形插值的GAN-ⅠNT來尋找文本與圖像之間的語義匹配。GAN-ⅠNT-CLS[43]采用DCGAN[6]作為主干網絡(backbone),生成圖像的分辨率為64×64。

圖9 GAN-ⅠNT-CLS的網絡結構Fig.9 Network structure of GAN-ⅠNT-CLS
2022年,Tao等[44]提出了深度融合GAN(DF-GAN),在DCGAN[6]的基礎之上引入了殘差模塊[45]。不同于GAN-ⅠNT-CLS[43]的是:(1)DF-GAN[44]在每一個批歸一化層(batch norm)中都使用文本作為條件來對原特征圖的值進行縮放、平移,堆疊的仿射變換操作使得文本語義可以充分融合到每一個生成階段,這增強了文本語義的指導(如圖10)。(2)DF-GAN[44]的判別器引入了一個零中心梯度懲罰正則項,通過添加這種正則項約束判別器的收斂。(3)DF-GAN[44]可以生成256×256分辨率的圖像,并且DF-GAN[44]模型在CUB[46]和COCO[47]兩個數據集上都達到了SOTA(state-of-the-art)的結果。

圖10 DF-GAN的網絡結構Fig.10 Network structure of DF-GAN
Zhang 等[48]提出的DiverGAN 認為將噪聲向量經過簡單的學習后直接reshape到二維的語義空間進行后續的卷積操作會損害圖像的多樣性,所以它將經過一次學習后的4×4 的特征圖拉平,通過全連接層進行再學習,這樣提高了圖像多樣性。
Liao等[49]基于DF-GAN[44]提出了語義空間感知GAN(SSA-GAN),SSA-GAN通過無監督的方式為每一個生成階段制作一個語義掩碼(如圖11),這個語義掩碼中的對象區域被高亮,非對象區域被抑制[49]。DF-GAN[44]中的經過批歸一化層(batch norm)的輸出特征都被乘上相同分辨率大小的語義掩碼,這個操作將文本語義的控制精確到了對象級別,因此生成器可以生成語義準確的對象。

圖11 SSA-GAN的網絡結構Fig.11 Network structure of SSA-GAN
Wu等[50]在Adam-GAN中提出了一種補充屬性信息的有效文本表示方法。首先,構造了一個屬性內存來聯合句子共同控制文本到圖像的生成。其次,探索了兩種內存更新機制,樣本感知機制和樣本聯合機制,以動態優化廣義屬性內存。此外,還設計了一種屬性-句子-聯合條件生成器學習方案,使特征嵌入排列在多個表示之間,從而促進了跨模態網絡的訓練。
Zhang 等[18]提出的XMC-GAN 通過學習使用模態間(圖像-文本)和模態內(圖像-圖像)的對比損失,幫助判別器學習更穩健和更具辨別力的特征,因此XMCGAN[18]即使在單階段訓練中也不易出現模式崩潰。在MS-COCO上,與其他三個最新模型相比,XMC-GAN[18]的FⅠD從24.70到9.33,圖像質量提高了77.3%,圖像-文本對齊提高了74.1%。因而XMC-GAN[18]生成放入圖像保真度高,能夠描繪出更清晰的物體和更連貫的場景。
Huang 等[51]設計了一個動態語義進化(DSE)模塊,首先聚合歷史圖像特征來總結生成反饋,然后動態選擇在每個階段需要重新組合的單詞,并通過動態增強或抑制不同粒度子空間的語義來重新組合它們。他們還提出了一種新的單一對抗性多階段架構(SAMA)[51],通過消除復雜的多個對抗性訓練需求,擴展了之前的結構,從而允許更多的文本-圖像交互階段,最終促進了DSE模塊[51]。
上述模型均以DCGAN[6]為網絡骨架,通過加深網絡中的卷積和上采樣層數來提高生成圖像的分辨率。過深的DCGAN[6]骨架容易造成模式崩潰的問題,使得模型的訓練很不穩定。另外,無論是GAN-ⅠNT-CLS[43]還是DF-GAN[44]、SSA-GAN[49]、Adam-GAN[50]等都只利用了句子信息,沒有使用更細粒度的單詞信息,這天然地造成生成圖像的細節部分不夠完美。所以這些模型只適用于生成場景單一、內容簡單的圖像。若能將單詞信息和短語信息引入上述模型,并有效地控制圖像的細節部分,將極大地提高這些模型的生成能力。
3.1.2 基于CycleGAN的T2I模型
2019 年,Qiao 等[52]基于CycleGAN[12]提出Mirror-GAN 以解決語義不相關的問題(如圖12),使用一種全新的全局到局部的注意力模塊,無縫嵌入到生成器,使得不同域的語義一致性得到保留。為平衡文本生成圖像和圖像生成文本這兩個過程,基于交叉熵使用了文本語義重構損失。

圖12 MirrorGAN的網絡結構Fig.12 Network structure of MirrorGAN
圖像生成文本屬于深度學習領域中另一個難題,目前圖像生成文本的研究并不成熟,特別是針對細粒度圖像問題,現有的Ⅰ2T模型并不能較好地刻畫圖像中的細節,這造成了MirrorGAN[52]更適合生成對象明確,細節要求不高的圖像。隨著Ⅰ2T 的發展,MirrorGAN[52]會越來越有潛力。
T2Ⅰ-GAN模型的機制與特點,如表2所示。
3.1.3 基于跨模態語義增強的T2I模型
2021年,Tan等[19]在CSM-GAN中提出了兩個模塊:文本編碼器模塊和文本-視覺語義匹配模塊。在文本編碼器模塊中,CSM-GAN[19]引入了文本卷積神經網絡來捕獲和突出文本描述中的局部視覺特征。文本-視覺語義匹配模塊的目的是在全局語義嵌入空間中,使合成圖像與其對應文本描述的距離比不匹配的文本描述的距離更近,這提高了語義的一致性。
2022 年,Fang 等[68]提出了一種多層次圖像相似度(multi-level images similarity,MLⅠS)損失,以改進真實圖像與物體特征之間的相似度度量。此外還用YOLOv3提取了真假圖像中的對象,在鑒別器上引入了一個基于對象相似性的正則損失項,進一步增加了生成圖像的多樣性,緩解了模式崩潰。
AttnGAN[54]使用LSTM 與Ⅰnceptionv3 訓練的跨模態對齊模型被大多數研究者使用[69],而CR-GAN使用更先進的CLⅠP-ViT與ResNet101訓練對齊模型,這使得到的文本與圖像特征更加準確,一致性更高,這對絕大多數生成模型都適用。另外,CR-GAN的鑒別器使用單詞特征的均值作為條件,實驗證明這對提高文本與圖像的語義一致性是有效的。
Fang 等[70]在AttnGAN[54]的基礎上使用了更先進的Transformer作為文本特征編碼器,并與圖卷積網絡搭配使用,旨在建立文本短語與圖像局部特征之間的聯系。并將與圖像局部特征對齊后的文本短語引入生成器中,進一步提高文本與圖像之間的聯系。Fang 等[70]還提出了一種短語-對象鑒別器,來提高所生成的場景圖像的質量和短語-對象的一致性。
3.2.1 結構漸進式網絡
基于PGGAN[3]漸進增長的思想,StackGAN[53]被提出。早期的GAN-ⅠNT-CLS[43]只能生成64×64的圖像,想要直接基于DCGAN[6]生成256×256的圖像是困難的,需要很深的網絡結構,這必然存在因參數量過大而訓練不穩定的問題,最終生成的圖像也難以被認為是真實的。StackGAN[53]采用PGGAN[3]的遞進生成模式,將文本生成圖像的分辨率從64×64提高到了256×256(如圖13)。具體來講,StackGAN[53]將文本生成圖像分成了兩個階段,第一階段生成64×64 的低分辨率圖像,這個階段的實現和GAN-ⅠNT-CLS[43]相似,之后復用第一階段的中間特征圖來重復上采樣生成過程,最終得到256×256的圖像。StackGAN[53]采用和GAN-ⅠNT-CLS[43]相同的策略,在生成器中通過級聯文本特征來引導語義圖像的生成,文本與圖像通過卷積進行特征融合,實現相互關聯的效果[71]。由于文本數據維度較高,且數據量小,存在潛在特征空間不連續的問題,因此StackGAN[53]提出了一種條件增強的策略,不是直接將文本特征作為條件變量輸入,而是產生一個額外的服從高斯分布的隱變量輸出生成器。在訓練過程中StackGAN[53]通過KL 散度來優化這兩個線性層,最終,StackGAN[53]在CUB[46]和Oxford-102[72]兩個數據集上的效果證明了條件增強的有效性。后續的很多研究工作也沿用了StackGAN[53]的條件增強策略。
StackGAN[53]雖然可以生成256×256分辨率的圖像,但是網絡結構簡單,模型層數較少,最終生成的圖像很模糊。另外,第一階段的輸出作為第二階段的輸入,這使得第二階段非常依賴第一階段的效果。
3.2.2 功能漸進式網絡
Zhang 等[73]在AttnGAN 的基礎上修改了第一和第二階段的生成任務,將生成完整的低分辨率圖像改為生成低分辨率的前景圖像,這使得在生成過程的前期,模型更加關注前景對象,而對背景不做考慮,有利于生成栩栩如生的前景對象。
2022 年,Chen 等[67]提出的BO-GAN 是一種兩階段的文本生成圖像方法,其中第一階段重新設計文本到布局的過程,將背景布局與現有的對象布局相結合,第二階段將對象知識從現有的類到圖像模型轉移到布局到圖像的過程,以提高對象的保真度。具體地說,引入了一種基于轉換器的架構作為布局生成器來學習從文本到對象和背景布局的映射,并提出了一種由文本參與的布局感知特征歸一化(TL-Norm)來自適應地將對象知識轉移到圖像生成中。
Hinz等[74]提出的OP-GAN專門關注單個對象,同時生成符合整體圖像描述的背景。該方法依賴于一個類似于的對象路徑,它迭代地關注在給定當前圖像描述時需要生成的所有對象。并行地,一個全局路徑生成背景特征,這些背景特征隨后與對象特征合并。
為了提高復雜場景的合成質量,Wu 等[75]提出了一種一步對象引導的聯合Transformer解碼器來同時解碼圖像標記和解碼布局標記,可以實現改變以對象為中心的布局來控制場景。他們還引入了一個基于仿射組合的細節增強模塊,以豐富更細粒度的語言相關視覺細節。
將文本生成圖像,轉變成文本生成布局圖和布局圖生成完整圖像兩個遞進的子問題,這緩解了生成圖像中對象丟失和對象模糊的問題,但同時也造成了模型復雜度的提高,訓練和使用困難。
D2GAN[5]在無監督的單模態任務中證明了多判別器將協同輔助生成器生成高質量多樣性的圖像。這也符合將復雜問題拆分的分治思想。在文本生成圖像的任務中,將圖像真實性與圖像語義一致性拆分是當下最主流的做法[76]。具體來講,使用無條件判別器和有條件判別器共同指導生成器生成圖像,無條件判別器只關注生成圖像的真實性,有條件判別器只關注圖像文本的語義一致性。SAGAN[11]利用自注意力機制解決了長距離依賴問題,從而提高了生成圖像的多樣性。注意力機制可以有效地強化必要信息,是提高圖像多樣性的重要手段。此外,通過引入額外的信息補充細節,優化訓練也越來越受歡迎。
3.3.1 引入注意力機制提高圖像的多樣性
2018 年,Xu 等[54]提出的AttnGAN 使用了三個判別器[54],分別對不同分辨率的圖像進行判別(如圖14)。分辨率越低,圖像的細節信息越少,判別器將重點關注生成對象的結構信息,低分辨率圖像只要擁有一個相似性結構,就大概率被視為真實的圖像;反之,分辨率越高,圖像的細節信息越多,高分辨率的判別器將更加關注細節信息,細節內容豐富的圖像有較高概率被視為真實圖像。AttnGAN[54]中,每一個判別器都被拆分成三部分:特征提取網絡,無條件判別網絡和有條件判別網絡。特征提取網絡用于提取圖像特征,無條件判別網絡根據所提取的圖像特征判斷輸入圖像的真實性,有條件判別網絡根據提取的圖像特征與所給的文本特征判斷文本與圖像的一致性。多尺度、多任務的判別器在提高生成圖像多樣性上的優勢使得它成為文本生成圖像任務中判別器模型的首選。

圖14 AttnGAN的網絡結構Fig.14 Network structure of AttnGAN
AttnGAN[54]在生成器中設計了一個單詞注意力模塊,該模塊可以將單詞信息引入生成過程,并通過迭代學習建立了一個單詞到圖像局部信息的映射,實現通過單詞控制生成圖像的局部特征。單詞注意力模塊首先通過計算單詞特征與特征圖的局部特征之間的關系矩陣,然后使用關系矩陣與單詞特征為每一個像素級別的局部特征構造一個跨模態的特征表示,最終通過堆疊的卷積操作來融合兩個模態的特征,并建立單詞與圖像局部特征的聯系。
2019 年,Zhu 等[55]提出的DM-GAN 在AttnGAN[54]的基礎上設計了一個寫入門,根據前一階段的圖像特征重新定義單詞內容,突出重要單詞的作用。此外,DM-GAN[55]還設計了一個響應門自適應地融合兩個模態的特征。Lee 等[57]提出的ControlGAN 在AttnGAN[54]的基礎上添加了單詞通道注意力,ControlGAN[57]發現像素級別的單詞注意力更關注形容詞,而通道注意力更加關注名詞,ControlGAN[57]使用兩個單詞注意力的堆疊,最終提高了生成圖像的質量。Tan 等[58]提出的SEGAN在AttnGAN[54]的基礎上設計了一個注意力競爭模塊,對重要單詞進行激勵,對不重要單詞進行抑制,著重強調重要單詞的指導作用。
2022 年,Tan 等[77]提出的SSTⅠS 在AttnGAN[54]的基礎上納入自監督學習,以增加基于文本描述的生成圖像的內容的變化。具體而言,SSTⅠS[77]的鑒別器可以識別旋轉的圖像,SSTⅠS中的圖像的變化反過來提高了鑒別器中的學習表示,從而提高了鑒別器的分類能力。Quan 等[78]在AttnGAN[54]的基礎上提出了ARRPNGAN,它利用注意力正則化方法將生成器的注意力集中在與圖像特征對應的文本向量的關鍵部分。基于注意力的生成器可以生成高清晰度的圖像。另外,它引入局域提取網絡(region proposal network,RPN)和編碼器機制[78]來準確地區分特征對象和復雜的背景。基于該方法的鑒別器可以通過減少背景的干擾,更精確地區分生成的圖像和真實圖像。在當前的文本到圖像模型中通常使用批處理歸一化(BN)來加速和穩定訓練過程[79]。然而,BN 忽略了個體之間的特征差異和模式之間的語義關系。為了解決這個問題,Huang 等[79]提出了一種新的模塊自適應語義實例歸一化(adaptive semantic instance normalization,ASⅠN)。ASⅠN考慮生成圖像的個體性[79],將文本語義信息引入圖像歸一化過程中,在生成圖像與給定文本之間建立一致且語義上密切的相關性。
2023 年,Ma 等[80]提出的GAN-SC 在文本到圖像的生成模塊中引入了混合注意力機制,并利用單詞級別的鑒別器引導生成器捕獲圖像的細粒度信息,從而生成高質量的圖像。在跨模態相似損失部分,文獻[80]通過最小化一致性對抗和分類損失來減少文本與圖像之間的語義差異。
2022年,Shi等[81]開發了兩個注意力模塊,分別從獨立模態和統一模態中提取關系。第一個是獨立模態注意模塊(ⅠAM),它旨在找出生成圖像中語義上重要的區域,并提取文本中的信息上下文。第二個模塊是統一語義空間注意模塊(UAM),用來求出提取的文本上下文與生成圖像中的基本區域之間的關系。特別是,為了使文本和圖像的語義特征在統一的語義空間中更接近,AtHom 利用一個額外的鑒別器來區分兩種不同模式的同態訓練模式[81]。
多鑒別器之間的協同關系一直沒有嚴格的定義,如何搭配有條件和無條件損失間的比重也無法精準地把控。所以優化多鑒別器之間的協作關系,將是未來多鑒別器模型的一個重要研究方向。此外,跨模態注意力機制雖然可以有效地關注一些重要的細節信息,但會引入額外的資源消耗,隨著分辨率的提高,注意力模塊的資源消耗將會呈指數級增長。跨模態注意力機制也存在多模態信息之間粒度不匹配、不對齊等問題,如何更好地對齊多模態信息是制約多模態注意力的關鍵。
3.3.2 引入額外信息提高圖像的多樣性
2020 年,Cheng 等[60]提出的RiFeGAN 將數據集的所有文本當作一個文本知識庫,在圖像生成階段,從知識庫中選擇最接近候選文本的輔助文本作為補充,然后使用自注意嵌入混合模塊融合文本。直觀地說,更多的文本可以為生成模型提供更多的信息,從而生成的圖像可以包含更多的細節。2021年,Cheng等[82]提出的RiFeGAN2利用特定領域的約束模型來限制文本的搜索范圍,然后使用基于注意力的標題匹配模型來基于約束先驗知識細化兼容的候選文本。與RiFeGAN相比[60],RiFeGAN2可以在運行得更快的同時提供更好的結果[82],將檢索的時間復雜度降低了兩個數量級。Yang 等[65]提出的MA-GAN使用多個句子一起生成一張圖像。該方法不僅通過探索描述同一圖像的不同句子之間的語義相關性,提高了生成質量,而且保證了相關句子的生成相似性。Ruan 等[62]提出的DAE-GAN 引入額外的短語信息,從多個粒度對句子級、單詞級和短語級的文本信息進行綜合編碼,然后在兩階段生成的初始階段生成帶有句子級嵌入的低分辨率圖像。在優化階段,將短語級特征作為中心視覺、單詞級特征作為周邊視覺,最后設計了相應的匹配損失函數來確保文本-圖像語義的一致性。Peng等[64]提出的KD-GAN構建了一個圖像知識庫,在生成過程中通過文本檢索相似的圖像,并將相似的圖像作為參考知識引入生成器的生成過程。引入參考知識不僅提高了生成圖像的質量,而且提高了生成圖像與輸入文本的語義一致性。Feng 等[56]提出的DM-GAN-MD在鑒別器上引入一個模式解纏的分支,使鑒別器可以分離樣式和內容。提取的內容部分的公共表示可以使鑒別器更有效地捕獲文本-圖像的相關性,而提取的樣式部分的模式特定表示可以直接轉移到其他圖像上。
2022年,Li等[83]將真實圖像的數據集作為圖像知識庫,在生成過程中通過文本或者單詞在數據庫中檢索相似的圖像,檢索到的相似圖像在生成模型的每個階段被調制,并融合進生成圖像中,這種處理可以極大地提高生成圖像的質量和多樣性。顯而易見這種處理使得單純的文本到圖像生成變成了<文本,圖像>到圖像的生成,不提倡這種處理方式。
引入額外的信息是目前最有效的提高生成圖像質量和多樣性的方法。額外信息可以是細粒度的單詞,短語,也可以是細粒度的圖像切片,還可以是功能性的網絡分支。引入額外的信息必定造成模型復雜化,訓練困難化,對于硬件的要求非常高,很多工作只能停留在理論階段,難以被廣泛應用。但隨著計算機硬件的發展,引入額外的信息來提高生成圖像的質量也是不錯的選擇。
StyleGAN[36]在通過一個映射網絡將隨機噪聲進行解糾纏,解糾纏的編碼被稱作樣式編碼,這些樣式編碼被應用在不同的上采樣模塊中,并被證明可以控制不同的圖像細節。傳統的前向生成策略是用文本作為條件控制圖像的生成,但大部分的生成模型只能產生256×256分辨率的圖像,生成更高分辨率的清晰圖像將會帶來更大計算資源的消耗,這制約了文本圖像生成的發展。所以為了避免上述問題,將文本投影到StyleGAN[36]的樣式空間,進而利用StyleGAN[36]生成圖像成為了文本生成圖像的一種新方法。
文本指導的反演GAN:Xia等[61]提出的TediGAN將真實圖像與匹配文本映射到預訓練的StyleGAN[36]的樣式空間,并拉近它們的距離來實現文本與圖像的語義一致性(如圖15),然后利用StyleGAN[36]生成語義一致且多樣性高的圖像。與基于RNN、CNN[29]的跨模態對齊模型相比,這種將文本與真實圖像投影到一個預訓練的樣式空間的方法更簡潔,且容易訓練。顯而易見,預訓練的StyleGAN[36]的生成能力決定了反演模型的上限;另外,在小數據集上的預訓練模型會造成反演模型泛化能力不足的問題。這些問題受限于數據集規模與機器算力的發展,隨著大規模數據集的產生,泛化問題將會逐漸緩解。

圖15 TediGAN的網絡結構Fig.15 Network structure of TediGAN
2021年,Wang等[63]提出的CⅠ-GAN通過學習文本表示和StyleGAN[36]潛在代碼之間的相似模型,進一步揭示了訓練后的GAN模型的潛在空間的語義。通過文本來優化反向潛碼,進而可以生成具有所需語義屬性的圖像。
雖然在文本到圖像的合成方面已經取得了極大的進展,但以前的方法并沒有推廣到輸入文本中看不見的或代表不足的屬性組成。缺乏組合性,可能會對穩健性和公平性產生嚴重的影響。例如,無法合成代表性不足的人口統計學群體的人臉圖像。StyleT2Ⅰ提出了一種CLⅠP引導的對比損失來更好地區分不同句子之間的不同組成[84]。為了進一步提高組合性,StyleT2Ⅰ設計了一種新的語義匹配損失和空間約束來識別屬性的潛在方向[84],用于預期的空間區域操作,從而更好地分離屬性的潛在表示。基于識別出的潛在屬性方向,StyleT2Ⅰ提出了組合屬性調整來調整潛在代碼,從而更好地實現圖像合成的組合性[84]。
反演模型通常需要使用StyleGAN[36]在原數據集上預訓練,然后才能被利用。StyleGAN 的預訓練效果決定了反演模型的上限[36],這制約了反演模型的發展。此外,將文本信息投影到StyleGAN的隱空間[36],必然存在跨模態對齊問題,如何做到細粒度的對齊,也是未來一個重要的研究方向。
CUB[46]數據集包含200種鳥類[85],11 788張圖片。由于該數據集中80%的鳥類物體圖像大小比小于0.5[72],作為預處理,裁剪所有圖像,以確保鳥類的邊界框具有大于0.75的物體圖像大小比。Oxford-102[72]數據集包含來自102個不同類別的8 189張花的圖片。為了展示該方法的泛化能力,還使用了COCO[47]數據集進行評估(如表3)。與CUB[46]和Oxford-102[72]不同,COCO[47]是一個更具挑戰性的數據集。COCO 數據集[47]包含多個物體和各種背景的圖像。COCO[47]中的每個圖像都有5個描述,而CUB[46]和Oxford-102 數據集[72]中的每個圖像都由[86]提供10個描述。在文獻[43]上進行實驗設置后,直接使用COCO[47]提供的訓練集和驗證集,同時將CUB[46]和Oxford-102[72]分割為類別不相交的訓練集和測試集。使用了多模態的CelebA-HQ[3]數據集,這是一個大規模的人臉圖像數據集[87],擁有30 000張高分辨率的人臉圖像,每張圖像都有高質量的分割掩碼、草圖和描述性文本。并將TediGAN[61]與圖像生成的最先進方法AttnGAN[54]、ControlGAN[57]、DM-GAN[55]和DF-GAN[44]進行比較(如表4)。

表3 文本圖像生成模型的評價指標(COCO和CUB)Table 3 Evaluation index of text image generation models(COCO and CUB)

表4 文本圖像生成模型的評價指標(CelebA-HQ)Table 4 Evaluation index of text image generation models(CelebA-HQ)
FⅠD 距離[88]用以衡量圖像質量和多樣性。通過將Ⅰnception-v3 作為特征提取器,計算真實圖像和生成圖像在特征空間的Frechet距離對圖像質量進行評估。結果顯示FⅠD的值比ⅠS的值更具有魯棒性,能夠用于復雜的數據集。FⅠD 計算合成圖像的分布和真實圖像之間的Frechet 距離。較低的FⅠD 意味著生成的圖像分布與真實圖像分布之間的距離更近。FⅠD可以表述為:
式中,r、g為真實圖像和合成圖像的表示向量:μr、μg;∑r和∑g分別表示真實圖像分布和合成圖像分布的均值和協方差。
R-precision[54]用以評估生成圖像與對應文本描述之間的視覺-語義相似度,即準確率。通過對提取的圖像和文本特征之間的檢索結果進行排序,來衡量文本描述和生成的圖像之間的視覺語義相似性。除生成圖像的文本描述外,還從數據集中隨機抽取其他文本。然后計算圖像特征和每個文本描述的文本嵌入之間的余弦相似性,并按相似性遞減的順序對文本描述進行排序。如果生成圖像的真實文本描述排在前R個內,則相關。R精度越大,圖像與真實文本描述越相關。繼Xu 等[54]之后,使用R-precision來評估生成的圖像是否很好地適應了給定的文本描述。R-precision 是通過檢索給定圖像查詢的相關文本來衡量的。計算全局圖像向量和100個候選句子向量之間的余弦距離。候選的文本描述包括R個真實值和100-R個隨機選擇的錯誤匹配描述。對于每一次查詢,如果排名前R個檢索描述中的r個結果是相關的,那么R-precision是r/R。實驗中,用R=1來計算R-precision。將生成的圖像分成10個部分進行檢索,然后取結果分數的均值和標準差。R-precision計算公式如下:
其中,TP是正例預測正確的個數,FP是負例預測錯誤的個數。
ⅠS 分數[89]用來衡量圖像質量和多樣性。首先借助外部圖像分類器(一般使用在ⅠmageNet 上訓練好的Ⅰnception-v3網絡)對質量進行評估,接著利用不同類別的概率分布的信息熵對圖像多樣性進行評估,ⅠS分數越高,圖像的質量越好,多樣性越佳。ⅠS 計算條件類分布和邊緣類分布之間的KL-散度。生成的模型為所有類別輸出了高度多樣性的圖像,每個圖像顯然屬于特定的類別。ⅠS可以表述為:
其中,x是合成圖像,y是預訓練inception-v3網絡預測的類標簽。
LPⅠPS 即學習感知圖像塊相似度,也稱為“感知損失”,用以度量兩張圖像的差別,該度量標準學習從生成圖像到真實圖像的反向映射,強制生成器學習從假圖像中重構真實圖像的反向映射,并優先處理它們之間的感知相似度。LPⅠPS 比傳統方法(比如PSNR、SSⅠM)更符合人類的感知情況。LPⅠPS 的值越低表示兩張圖像越相似,反之差異越大。計算公式如下:
其中,d(x,x0)為x與x0之間的距離,給定不同的基礎網絡,計算深度嵌入,規格化通道維度中的激活函數,用向量w縮放每個通道,取L2 距離,然后對空間維度和所有層次求平均。
Acc即預測精準度,是預測正確的樣本占所有樣本的比例,其中預測正確的可能有正樣本也可能有負樣本。通過文本和相應生成的圖像之間的相似性來評估準確性。計算公式如下所示:
其中,TP是正例預測正確的個數,FP是負例預測錯誤的個數,TN是負例預測正確的個數,FN是正例預測錯誤的個數。
Real 即真實性,通過用戶研究來評估,通過用戶的直觀感覺判斷哪張照片更符合文本描述。
文本生成圖像的研究絕大多數停留在理論階段,真正可以實地應用的模型并不多。主要的原因有以下三點:(1)小模型的泛化性能太差,對復雜場景圖的生成很難達到人類的預期。(2)只有參數量達到近千億的超大模型才可以生成質量很好的圖像(達到人類的預期)。模型的訓練會消耗巨大的財力,目前國內外只有極少數公司有能力去做。(3)大模型的推理過程耗時巨大,難以部署到終端。
雖然文本到圖像生成的應用難度巨大,但依然有人探索如何在精簡模型的同時,盡可能地提高模型的性能。2022年,Li等[90]首次將神經搜索(neural architecture search,NAS)方法與文本到圖像合成相結合,實現了NAS、GAN和Transformer的首次結合,并改進了一種使用輕量級Transformer 處理特性映射的新方法,它使Transformer 能夠作為NAS 的搜索空間,并在推理的中間過程中垂直集成特性。基于神經搜索的方法對進一步提高現有模型的性能有很大的幫助。
對文本生成圖像的應用的研究并不僅僅局限在模型性能上,進一步探索已有模型的潛能也是一個重要的方向。2022 年,Zhang 等[91]對正太分布的噪聲空間進行解纏,分離出不同的潛碼簇,這些潛碼簇分別對應圖像中的對象的大小、方向等,這種模態解纏的處理工作對生成模型的應用及下游工作很有幫助,在不改變文本描述的情況下可以實現對部分細節的調整。
此外,Zhang 等[92]提出了一種跨語言生成模型。大部分文本生成圖像只用一種語言描述訓練生成模型,而CJE-TⅠG[92]則通過在輸入端引入一個多語言對齊模塊,將多語言投影到一個公共空間中,使用對齊的文本與單詞特征共同發揮作用來引導生成模型生成圖像。這種多語言對齊模塊可以添加到絕大多數現有模型中,擴展了現有模型的泛化性能及實用價值。
文本生成圖像的應用雖然還未成熟,但現有的基于AttnGAN[54]的多階段模型和基于DF-GAN[44]的單階段模型,以及基于StyleGAN[36]反演的模型已然達到了生成簡單圖像的目標,可以用于簡單的圖像制作,但這些模型均難以生成質量合格的復雜場景圖像,且這些模型只能輸入較短的文本描述,大致不超過25 個英文單詞。因此,文本生成圖像的應用還有很長的路要走,期待早日可以開花結果。
隨著計算機視覺和自然語言處理的高速發展,本文詳細地回顧了基于生成對抗網絡的文本圖像生成方法。這些生成的圖像通常依賴于生成對抗網絡(GAN)[93]、深度卷積譯碼器網絡和多模態[94]學習方法。本文將基于功能的基礎GAN 分為四大類:語義增強GAN、可增長式GAN、多樣性增強GAN和清晰度增強GAN。語義增強GAN可保證文本到圖像的一致性,可增長式GAN用以穩定訓練,多樣性增強GAN 用以豐富生成圖像的種類,清晰度增強GAN 用以提升生成圖像的質量。首先介紹了各個類別代表性方法的模型和關鍵貢獻(DCGAN[6]、StackGAN[53]、AttnGAN[54]、TediGAN[61]等),并將各個方法進行對比分析;詳細說明了最常用的評估方法(ⅠS、FⅠD、R-precision等)。
盡管目前的方法已經在生成圖像的質量方面以及圖像與語義一致性方面有大幅提高,但仍然有很多難點亟待研究。首先,未來的工作應該集中在迭代和交互操作以及再生上,在生成更符合輸入文本含義的更高分辨率圖像,找到更好的自動度量標準,標準化用戶研究等方面仍有很大的改進空間。其次,利用文本生成視頻有很重要的研究價值,是未來的研究方向之一,但需要探索更多的語音視頻評估方法。再次,由于數據集和設備內存的不足的局限性,復雜的模型不適合用于輕量型和便攜式的設備上。最后,目前大多數模型以單條描述語句為研究對象,而復雜文本中的描述對象在圖像中的定位,以及圖像與語句之間的交互仍是一項具有挑戰性的任務。因此,如何融合文本視覺表示和更復雜的視覺識別模型以及文本與圖像之間的交互也是未來的重點研究方向之一。希望本文內容有助于研究人員了解該領域的前沿技術,并為進一步研究提供參考。