許一寧,何小海,張 津,卿粼波
(四川大學電子信息學院,成都 610065)
(?通信作者電子郵箱hxh@scu.edu.cn)
自2014 年Goodfellow 等[1]提出生成對抗網絡(Generative Adversarial Network,GAN)以來,GAN 被廣泛地應用在計算機視覺的各個相關領域。Reed 等[2]于2016 年提出了文本生成圖像應用,由此文本生成圖像也開始受到廣泛的關注。文本生成圖像任務[3]旨在通過輸入描述性語句生成與之相對應的自然圖像,屬于計算機視覺和自然語言處理的交叉應用領域,其相關研究有助于挖掘文本和圖像之間的潛在關系,形成計算機的視覺語義機制。
文本生成圖像采用的基礎網絡為Mirza 等[4]提出的條件生成對抗網絡(conditional-GAN,cGAN),主要工作原理是文本編碼器將輸入的描述性語句編碼為對應的語義向量,連接服從正態分布的噪聲向量,作為網絡的條件輸入。輸入的特征向量經過生成器生成相應的圖像。
為了生成逼真的高質量圖像,Zhang等[5]首次提出了疊加生成對抗網絡(stacked GAN,stackGAN)模型,將生成網絡分為兩個階段:第一階段生成描述目標的形狀和顏色,第二階段進一步完善生成圖像的細節。Zhang 等[6]結合樹狀結構提出了高清晰生成對抗網絡(High Definition GAN,HDGAN)模型,增加了多目的對抗損失,使得低分辨率層更關注圖像的全局特征,而高分辨率層則更關注生成圖像的局部細粒度特征,從而生成高保真的清晰圖像。孫鈺等[7]提出了多層次結構生成對抗網絡,采用層次結構編碼和詞向量約束等方法增加邊緣細節和局部紋理,提升生成圖像質量。黃宏宇等[8]提出了基于自注意力機制的文本生成圖像方法,通過圖譜的自注意機制提升生成質量。
為了提高生成圖像和描述語句的語義一致性,Xu 等[9]于2018 年提出了注意力機制生成對抗網絡(Attentional GAN,AttnGAN)模型,通過注意力權重計算得到的注意力圖譜能夠將文本語義信息對應到圖像區域進行細化和微調,同時采用深度多注意力模型相似模塊約束生成器生成具有更高語義一致性的圖像。由于文本生成圖像和圖像描述[10]在計算機視覺中互為逆命題,Qiao 等[11]提出了鏡面生成對抗網絡(Mirror GAN,MirrorGAN)模型,通過集成兩個網絡構建鏡像結構,采用圖像描述模型將生成圖像進行重新描述,對得到的結果和給定描述語句進行對齊,由此提高生成圖像和描述語句的語義一致性。莫建文等[12]提出了結合互信息最大化的文本到圖像生成方法,通過最大化特征圖譜和語義向量的互信息,增強圖像和文本之間的相關性,從而生成語義精確度更高的樣本。
然而,由于GAN 的不穩定性,在生成圖像過程中,保證生成圖像結構的語義合理性也是文本生成圖像任務需要關注的一部分。為了提高圖像生成結構的穩定性,進一步提升生成圖像質量,本文在AttnGAN 的基礎上,提出了多層次分辨率遞進生成對抗網絡(Multi-level Progressive Resolution GAN,MPRGAN)的文本生成圖像方法,主要工作如下:
1)在低分辨率層上采用語義分離-融合生成模塊,先將語義特征經過自注意力模塊進行分離,得到3 個不同權重的特征向量,再通過3個生成網絡生成前景圖譜、背景圖譜和mask圖譜,結合mask圖像融合得到低分辨率圖像,同時,mask作為語義約束作用于低分辨率圖像生成,使得生成目標結構更加合理,提高生成圖像的穩定性。
2)在高分辨率層上采用了分辨率遞進殘差學習結構,通過殘差結構堆疊的方式進行特征圖譜的細化,融合詞注意力機制和像素混洗的方式,在保證語義一致性的同時增大生成網絡的感受野,從而提高圖像生成質量。
3)在數據集CUB-200-2011(Caltech-UCSD Birds-200-2011)和Oxford-102(102 category flower dataset)上驗證所提方法有效性,并將其和基礎網絡進行對比,實驗結果表明,該方法在文本生成圖像指標IS(Inception Score)和FID(Fréchet Inception Distance score)上均有一定的提升。
注意力生成對抗網絡(AttnGAN)采用了樹形結構的條件生成對抗網絡,包括文本編碼器、生成器、判別器和深度多注意力模型相似模塊(Deep Attentional Multimodal Similarity Model,DAMSM)。描述文本通過文本編碼器編碼得到詞向量和語義特征向量,經過3 個階段生成器分別生成不同分辨率圖像,分別經過判別器進行對抗學習。在生成階段采用詞注意力機制,通過計算詞向量和生成器前一級特征圖譜的注意力圖譜,輔助圖像生成,增加了生成圖像和詞向量之間的關聯關系,提升了生成圖像的質量。同時通過DAMSM 計算文本語義特征向量和生成圖像經過Inception-V3[13]提取的圖像特征向量之間的相似度,從而增強生成圖像和描述文本的語義一致性。AttnGAN 在生成圖像質量以及圖像和描述語句的語義一致性上都有顯著成果,是目前眾多文本生成圖像網絡的基礎網絡。
目前的文本生成圖像改進網絡關注點大多是在高分辨率生成器中做改進,采用多個生成器級聯,通過注意力機制等方法進行生成圖像的微調。但是,研究表明,低分辨率生成器關注點側重于結構和布局,高分辨率生成器更加關注圖像中的細節和隨機變化[14]。由于微調能力有限,若生成目標結構沒有一定的約束,生成圖像會出現結構不合理、部分缺失、目標區域不連通等不真實情況,從而導致生成失敗。AttnGAN 在各個生成階段的生成圖像(從上到下分別為低分辨率到高分辨率的生成結果)如圖1 所示。由圖1 可以看出,低分辨率圖像對生成結果的空間結構有較大影響,因此,設計更好的低分辨率生成器能夠使得生成圖像更加合理真實,生成網絡更加穩定,而優化高分辨率生成器能完善圖像細節,進一步提升生成圖像的質量。

圖1 AttnGAN各階段生成圖像Fig.1 Images generated at different stages of AttnGAN
本文提出了多層次分辨率遞進生成對抗網絡(MPRGAN)的文本生成圖像方法,其網絡結構如圖2 所示,由文本編碼、語義分離-融合生成模塊,以及分辨率遞進殘差學習模塊組成。編碼器采用雙向長短時記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)單元,描述文本輸入編碼器得到語義特征向量。特征向量在低分辨率層中,通過分離模塊得到3個語義特征向量,輸入生成器分別生成3 個語義特征圖譜,并經過特征融合,最終生成低分辨率圖譜。在高分辨率層中,結合注意力機制采用殘差結構對高分辨率圖譜進行微調,最終得到高質量圖像。
語義分離-融合生成模塊由語義分離模塊、低分辨率生成器和基于mask的特征融合模塊構成。
語義分離模塊(如圖3 所示)采用自注意力機制[15],特征向量s∈?D×T經過自注意力模塊計算注意力權重,再將注意力權重和原本的語義特征向量相乘得到分離后的前景特征向量、背景特征向量和mask 特征向量。在語義注意力分離模塊中,第i個語義特征向量-si計算方法如式(1)所示:

其中Wi為線性變換的權重。
3 個分離后的語義向量各自通過前景生成器Gfore、背景生成器Gback和mask 生成器Gmask得到相應的前景特征圖譜Rfore、背景特征圖譜Rback和mask圖譜Rmask。

圖2 網絡結構Fig.2 Network structure

圖3 自注意力語義分離模塊Fig.3 Self-attention semantic separation module
在融合模塊中,mask 圖譜Rmask經過卷積和激活后,得到單通道二值mask 圖像Imask。mask 圖像作為特征圖譜的語義邊界并結合前景特征圖譜Rfore與背景特征圖譜Rback得到低分辨率特征圖譜R0,如式(2)所示:

其中,表示單通道二值mask圖像的取反結果。
由R0經過卷積和激活得到低分辨率生成圖像I0。針對Imask設計判別器約束,能夠在結構約束的同時保證mask 的生成多樣性。mask 損失由條件損失和非條件損失構成,如式(3)所示:

其中:xm為mask 圖像;為生成的mask 圖像;為輸入語句經過注意力處理后的語義特征向量。
低分辨率生成器得到的特征圖譜作為高分辨率層的輸入,最終生成高分辨率圖譜。在生成器的高分辨率層中,借鑒圖像超分辨率重建的方式[16],構建了分辨率遞進殘差學習模塊,殘差網絡結構如圖4所示。
在殘差網絡中,首先計算前一級特征圖譜和詞向量的注意力權重,注意力權重乘以特征圖譜得到注意力圖譜,將特征圖譜和注意力圖譜拼接作為生成器的輸入,同時將特征圖譜進行上采樣,將生成器的輸出和上采樣后的結果相加,如式(4)、(5)所示:

其中:U(·)為上采樣操作;[·]為特征圖譜的連接;Gi(·)為第i階段生成器;Ri-1為生成器Gi的前一級輸出,為經過詞注意力約束的注意力圖譜,Ri為生成器的輸出結果;s為編碼器輸出的語義特征向量。最終,經過激活層后得到該階段對應的圖像,通過堆疊殘差網絡實現從低分辨率圖譜到高分辨率圖譜的生成。

圖4 殘差網絡結構Fig.4 Residual network structure
同時,為了穩定生成器生成效果,避免生成圖像出現棋盤紋理現象,將生成器上采樣層改為像素混洗[17]的方式,在一定程度上增大網絡的感受野,提升生成質量。
MPRGAN 在分辨率遞進生成模塊采用兩層堆疊的殘差結構,最終生成256×256的高分辨率圖像。
MPRGAN 的網絡損失包括生成器損失和判別器損失。生成器損失主要包括各級生成器損失和mask 損失。同時,采用DAMSM 對生成器進行約束訓練效果顯著,因此保留DAMSM損失,改進后生成器損失如式(6)、(7)所示:


和生成器損失類似,判別器損失也包含了條件損失和非條件損失兩部分,如式(8)所示:

式(6)~(8)中:為第i階段生成器生成圖像;Gi和Di分別為第i階段生成器和判別器為編碼后的語義特征向量;λm和λd分別為mask 損失和DAMSM 損失的權重,通過調節兩個權重參數控制生成過程中的約束嚴格程度。
通過兩個損失的交替優化更新參數,生成器和判別器相互競爭,促使網絡生成高質量圖像。
實驗采用的數據集為公開數據集CUB-200-2011(Caltech-UCSD Birds-200-2011)[18]和Oxford-102(102 category flower dataset)[19]。CUB 數據集中包含200 種不同的鳥類圖像,共計11 788 張圖像,其中包含訓練集8 855 張圖像和測試集2 933張圖像。Oxford-102數據集中包含102種不同的花類圖像,共計8 189 張圖像,其中包含訓練集7 034 張圖像和測試集1 155 張圖像。針對每張圖像有10 個不同的英文描述和對應的語義分割結果圖。在網絡訓練前對語義分割結果圖進行二值化處理,得到數據集對應的mask 圖像,用作mask 判別器的真實樣本使用。
實驗環境為:Ubuntu 16.04 LTS 64 位操作系統,64 GB 內存,CPU i7-8700,顯卡NVIDIA GeForce GTX1080Ti。采用編程語言為Python 3.5,深度學習框架為Pytorch 1.2。
訓練中參數設置為:采用batch size 為16;生成器和判別器的學習率均為0.000 2;mask損失權重λm為3.0,DAMSM 損失權重為λd為5.0;優化器采用Adam 優化器,β1取0.5,β2取0.999。
為了驗證本文方法的有效性,客觀的指標采用IS 和FID作為評價指標來衡量生成結果。
IS 是2016 年Salimans 等[20]提出的用以綜合評價GAN 生成圖像質量的衡量指標,其衡量標準綜合了生成圖像的清晰度和多樣性兩個方面。通過計算邊緣分布和條件分布的相對熵損失,衡量生成圖像的質量。IS計算式如式(9)所示:

其中:X為生成器生成的圖像;p(y|xi)表示為生成xi類的圖像輸入分類網絡得到的概率分布,p(y)為生成圖像輸入分類器得到的概率分布;DKL(P||Q)為KL 散度計算公式,用以衡量分布之間的相似度,KL散度越高,代表著兩個分布越不相似,因此,IS值越高,則生成圖像質量越好。
FID是2017年由Heusel等[21]提出的用于計算生成圖像和真實圖像的距離的衡量指標。對真實圖像和生成圖像分別提取特征,再對比兩種特征之間的分布差異,如式(10)所示:

其中:μr和μg分別為真實圖像和生成圖像的特征均值;εr和εg分別為真實圖像和生成圖像的協方差矩陣;Tr(·)表示為矩陣的跡。FID 值越小,則表示生成圖像越接近真實圖像;反之則生成圖像和真實圖像越不相似。
實驗從視覺結果(包括MPRGAN 多次生成結果以及與基礎網絡的對比結果)和客觀評價(包括各網絡的評價指標對比以及模塊的消融實驗)兩方面作分析。
首先通過在MPRGAN 上生成多張圖像,觀察生成圖像的穩定性。從鳥類和花類測試集中隨機抽取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.
根據描述語句對應生成分辨率為64×64 的mask 圖像以及分辨率為256×256 的RGB 圖像,如圖5 所示。由圖5 可以看出,MPRGAN 在mask 生成上結果穩定,同時mask 能約束生成目標的輪廓,最終能夠生成真實合理且清晰的目標圖像。

圖5 基于同一描述文本生成的mask圖像和最終圖像示例Fig.5 Examples of mask images and final images generated by same text
其次,從圖像的生成效果上觀察MPRGAN 相較基礎網絡的改進效果。從測試樣本中抽取各個不同類別的描述文本,選取的樣例語句示例如下:
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.
描述文本對應的原圖、AttnGAN 生成圖像以及本文方法MPRGAN 的生成結果如圖6 所示。從總體效果來看,兩個網絡基本都能生成較為清晰的高分辨率圖像,同時描述特征也能對應生成。但AttnGAN 所生成的圖像出現了結構失真(例句B2和例句B8),邊緣虛化、細節缺失(例句B4),圖像不夠清晰(例句B6 和例句B7)等現象。從直觀上來看,MPRGAN 生成的結果比AttnGAN好一些。

圖6 原圖、AttnGAN以及MPRGAN生成結果圖示例Fig.6 Examples of original images,images generated by AttnGAN and MPRGAN
同時,從客觀指標上進一步對生成結果進行量化對比。基于IS 和FID 兩個指標,將本文方法與經典文本生成圖像網絡進行對比,結果如表1 所示。在兩個數據集CUB-200-2011和Oxford-102 上,本文方法的IS 相較MPRGAN 分別提升了7.80%和3.82%,同時,其FID 指標也有所降低。在客觀指標上,本文所提方法與目前主流網絡相比,均有進一步的提升。

表1 MPRGAN與其他方法評價指標的對比Tab.1 Comparison of MPRGAN with other methods on evaluation indicators
最后,為了驗證本文所提方法的有效性,針對提出的模塊做進一步的消融實驗(采用CUB-200-2011 數據集),結果如表2 所示。本文的基礎網絡為AttnGAN,Baseline 表示基礎網絡,Res(Residual)表示分辨率遞進殘差學習模塊,SSF(Semantic Separation-Fusion)表示語義分離-融合生成模塊。從表2 可以看出,兩個模塊對生成結果均有正向調節作用,SSF 模塊對生成圖像效果提升更大。最終結合兩個模塊,可得到本文的最佳效果。
本文立足于目前文本生成圖像主流網絡框架的研究趨勢,分析主流網絡在生成目標結構上的缺陷,提出了多層次分辨率遞進生成對抗網絡(MPRGAN)的文本生成圖像方法,在不同分辨率層對生成圖像進行約束和微調,由整體到細節提升圖像的生成效果。經過實驗驗證得出,MPRGAN 在文本生成圖像任務中生成的圖像穩定且真實合理,從客觀指標上來看也進一步提升了文本生成圖像的質量指標。本文所提的方法為文本生成圖像任務提供了新的切入方向,但采用的約束方法設計較為簡略,未考慮到生成約束的模式崩潰問題,仍需要完善和優化。在未來的工作中,將進一步探索結構約束方法,提高生成穩定性和生成圖像質量。