郭茂祖,楊倩楠,趙玲玲
(1.北京建筑大學(xué)電氣與信息工程學(xué)院,北京 100044;2.建筑大數(shù)據(jù)智能處理方法研究北京市重點(diǎn)實(shí)驗(yàn)室(北京建筑大學(xué)),北京 100044;3.哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱 150001)
(*通信作者電子郵箱zhaoll@hit.edu.cn)
近年來,圖像生成在現(xiàn)實(shí)中有著廣泛的應(yīng)用,受到了深度學(xué)習(xí)領(lǐng)域的高度重視。圖像處理、計(jì)算機(jī)視覺中的很多問題都涉及根據(jù)給定目標(biāo)圖像生成對應(yīng)圖像,很多計(jì)算機(jī)視覺領(lǐng)域的熱點(diǎn)問題本質(zhì)上也都可以歸為圖像生成,比如醫(yī)療圖像生成[1]、面部妝容遷移[2]、虛擬換衣[3]等。圖像生成的相關(guān)研究,對于推動(dòng)計(jì)算機(jī)視覺領(lǐng)域發(fā)展有著重要意義;同時(shí),圖像生成相關(guān)應(yīng)用的研發(fā)也極具商業(yè)價(jià)值。當(dāng)前圖像生成研究[4-5]可以分為有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩類,其中,監(jiān)督學(xué)習(xí)方法一般指輸入標(biāo)簽后輸出標(biāo)簽對應(yīng)圖像,無監(jiān)督學(xué)習(xí)方法由于缺少一一對應(yīng)的圖像數(shù)據(jù)而具有更高的難度。
生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)是由Goodfellow 等[6]在2014 年提出的一種生成式模型,其對抗思想來源于博弈論,引到生成對抗網(wǎng)絡(luò)中,形成生成器和判別器為博弈雙方。由于GAN 獨(dú)特的對抗思想使得其在眾多生成模型中脫穎而出,GAN 目前被廣泛應(yīng)用于計(jì)算機(jī)視覺、機(jī)器學(xué)習(xí)、語音處理等領(lǐng)域,可以生成數(shù)字的圖像、給黑白圖像上色、從低分辨率圖像生成高分辨率圖像等。同時(shí),GAN 還被用于語音處理[7]等領(lǐng)域研究。
原始GAN[8-9]存在模型難收斂、難訓(xùn)練還有模型過于自由不可控的問題。針對這些問題,Gauthier[10]提出條件生成對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Network,CGAN),通過輸入的約束條件明確控制生成圖像的一些方面;缺點(diǎn)在于其模型訓(xùn)練不穩(wěn)定、生成圖片質(zhì)量不高,并且對數(shù)據(jù)集的要求比較高,需要有標(biāo)簽數(shù)據(jù)。Gulrajani 等[11]為解決原始GAN 訓(xùn)練困難,提出Wassertein 生成對抗網(wǎng)絡(luò)(Wassertein Generative Adversarial Network,WGAN),WGAN 訓(xùn)練更加穩(wěn)定,理論上解決了模式崩潰和梯度消失/爆炸問題。
生成對抗網(wǎng)絡(luò)在圖像生成領(lǐng)域的應(yīng)用主要分為有監(jiān)督模型和無監(jiān)督模型兩個(gè)方面。Isola 等[12]提出有監(jiān)督模型pix2pix,此模型以條件生成對抗網(wǎng)絡(luò)為基礎(chǔ),采用端到端的架構(gòu),其輸入是原域圖像x,輸出是生成后的目標(biāo)域圖像G(x),原域圖像和真/偽目標(biāo)域圖像分別結(jié)合后作為鑒別器的輸入,鑒別器輸出分類結(jié)果并和生成器產(chǎn)生對抗。Zhu 等[4]提出無監(jiān)督模型CycleGAN(Cycle Generative Adversarial Network),此模型可以在非成對數(shù)據(jù)集情況下讓兩個(gè)域的圖像相互轉(zhuǎn)化,并且設(shè)計(jì)出循環(huán)一致性來代替之前的重建損失,CycleGAN 的缺點(diǎn)是生成圖像質(zhì)量較低,分辨率不高。
CGAN有效約束了GAN過于自由的問題,能夠生成具有相關(guān)特定條件的圖像,結(jié)合WGAN 的優(yōu)點(diǎn),能夠有效改善CGAN模型訓(xùn)練不穩(wěn)定等缺點(diǎn)。本文以CGAN思想為基礎(chǔ)結(jié)合WGAN優(yōu)點(diǎn)提出了條件Wassertein 生成對抗網(wǎng)絡(luò)模型(Conditional-Wassertein Generative Adversarial Network,C-WGAN)。C-WGAN不僅能夠明確控制生成圖像的細(xì)節(jié)方面,還能規(guī)避梯度消失、模式崩潰、模型過于自由不可控等問題。
生成對抗網(wǎng)絡(luò)(GAN)包含了生成模型(Generative Model,G)和判別模型(Discriminative Model,D)兩個(gè)部分,GAN 的結(jié)構(gòu)如圖1 所示。生成器產(chǎn)生樣本和真實(shí)樣本共同輸入判別器,判別器需要將真實(shí)樣本和虛假樣本準(zhǔn)確分辨出來。在兩個(gè)模型對抗過程中,生成樣本會(huì)更加真實(shí),同時(shí),判別器的分辨能力會(huì)得到提升,最終,生成器和判別器會(huì)達(dá)到納什均衡[13]。GAN 產(chǎn)生的所有樣本都可以與原始樣本屬于一個(gè)類別,其中,生成器和判別器都可以是非線性的映射函數(shù)。通常,生成器和判別器用深層神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)。GAN 的目標(biāo)函數(shù)如式(1)所示:
圖1 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 Schematic diagram of GAN structure
在目標(biāo)函數(shù)中,D(x)的值越大,D(G(z))的值越小,最終達(dá)到納什平衡。生成模型需要G(z)更接近于真實(shí)樣本x,使得D(G(z))更大,這時(shí),目標(biāo)函數(shù)的值更小。判別模型需要能夠很好地分辨出是真實(shí)樣本還是生成樣本,使得D(x)的值變小,D(G(z))也會(huì)變小。這時(shí),目標(biāo)函數(shù)的值更大。
傳統(tǒng)GAN 損失函數(shù)有一些不足的地方會(huì)導(dǎo)致生成對抗網(wǎng)絡(luò)訓(xùn)練十分困難,比如會(huì)造成以下的問題:1)模式崩塌,即生成樣本多樣性不足;2)模型不穩(wěn)定,收斂難。
CGAN 是在GAN 的基礎(chǔ)上加入約束條件擴(kuò)展為條件模型。通過在附加信息上對模型進(jìn)行調(diào)節(jié),可以指導(dǎo)樣本的生成。簡單的條件生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)如圖2 所示。若條件y是標(biāo)簽,則CGAN 可以生成條件生成對抗網(wǎng)絡(luò)的目標(biāo)函數(shù)是帶有條件概率的二人極大極小博弈,數(shù)學(xué)公式如式(2):
圖2 條件生成網(wǎng)絡(luò)的結(jié)構(gòu)示意圖Fig.2 Schematic diagram of CGAN structure
在條件生成網(wǎng)絡(luò)的目標(biāo)函數(shù)中,生成模型得到輸入樣本后,要輸出符合條件y的樣本G(z|y);判別模型得到真實(shí)樣本x和約束條件y,判斷出在條件y下是真實(shí)樣本的概率。生成模型必須要生成和標(biāo)簽匹配的樣本,而判別模型需要完成判斷樣本是否為真實(shí)樣本,同時(shí),還要判斷樣本是否滿足約束條件。所以在訓(xùn)練完成之后,可以通過標(biāo)簽和噪聲來使生成模型生成指定的數(shù)據(jù)樣本。從CGAN 的損失函數(shù)可以得出,CGAN 僅僅為了生成指定的圖像而增加了額外約束,并沒有解決模型訓(xùn)練不穩(wěn)定的問題。
本文綜合條件生成對抗網(wǎng)絡(luò)和Wassertein 生成對抗網(wǎng)絡(luò)特點(diǎn),提出條件Wassertein 生成對抗網(wǎng)絡(luò)(C-WGAN)模型。將約束條件加入網(wǎng)絡(luò)中生成模型用來生成滿足約束條件的樣本,并將判別器最后一層去掉sigmoid 激活函數(shù),生成器和判別器的損失函數(shù)不取log值。使用Wassertein距離作為新網(wǎng)絡(luò)結(jié)構(gòu)的損失函數(shù)。
原始GAN 存在以下兩點(diǎn)問題:1)等價(jià)優(yōu)化的距離衡量不合理;2)生成器隨機(jī)初始化后的生成分布很難與真實(shí)分布有不可忽略的重疊。原始GAN 訓(xùn)練出現(xiàn)梯度消失和模式崩潰主要原因是用JS散度(Jensen-Shannon divergence)來衡量兩個(gè)分布之間的區(qū)別。這些問題在CGAN 中并沒有改進(jìn),針對這些問題,本文提出采用Wassertein 距離作為新網(wǎng)絡(luò)的距離衡量方式,Wassertein距離相對KL散度(Kullback-Leibler divergence)和JS散度優(yōu)勢在于Wassertein距離是平滑的,理論上可以解決梯度消失/爆炸的問題,并且,Wassertein 距離在兩個(gè)分布沒有重疊或者重疊部分可以忽略的情況下仍能很好地度量兩個(gè)分布之間的距離。
Wassertein 距離又叫Earth-Mover 距離(EM 距離),用于衡量兩個(gè)分布之間的距離,定義為:
其中Π(P1,P2)是P1相和P2分布組合起來的所有可能的聯(lián)合分布的集合。Wassertein 距離是在所有可能的聯(lián)合分布中對期望值取到下界
綜上C-WGAN 最終的目標(biāo)函數(shù)是L=其中,系數(shù)λ使得C-WGAN中判別器梯度趨向于表示計(jì)算可微函數(shù)的梯度。
條件Wassertein 生成對抗網(wǎng)絡(luò)生成器采用U-net 結(jié)構(gòu)。在生成器中,使用可分卷積,同時(shí),卷積層作為編碼器,反卷積層作為解碼器。在編碼器部分,每個(gè)節(jié)點(diǎn)到下個(gè)節(jié)點(diǎn)經(jīng)過卷積層、歸一化層和LReLU(Leaky-Rectified Linear Unit)激活層;解碼器部分,在每個(gè)卷積層之前將輸入和對應(yīng)解碼器鏡像層進(jìn)行了拼接,每個(gè)節(jié)點(diǎn)到下個(gè)節(jié)點(diǎn)經(jīng)過反卷積層、批歸一化層和ReLU(Rectified Linear Unit)激活層。在編碼器-解碼器部分引入skip-connect 技巧,即每一層反卷積層輸入都是前一層輸出加上與該層對稱卷積層的輸出,這樣保證編碼器信息在解碼器時(shí)不斷被重新記憶,使得生成圖像盡可能多保留原圖像信息。C-WGAN生成器結(jié)構(gòu)示意圖如圖3所示。
圖3 C-WGAN生成器結(jié)構(gòu)示意圖Fig.3 Schematic diagram of C-WGAN generator structure
C-WGAN 判別器采用卷積網(wǎng)絡(luò),其中真實(shí)樣本、生成樣本和輸入樣本同時(shí)作為判別模型的輸入。將三種圖像拼接后,作為輸入傳入判別模型。輸入先經(jīng)過卷積層、LReLU激活層,再經(jīng)過3個(gè)包含卷積層、批歸一化層、LReLU激活層的節(jié)點(diǎn),然后再經(jīng)過卷積層、全連接層得出結(jié)果。其中,最后一層去掉sigmoid激活函數(shù)。C-WGAN的判別模型引入patchGAN的思想,目的是將一張樣本通過多層卷積層之后,最終輸出一個(gè)較小矩陣。
根據(jù)生成模型和判別模型的特點(diǎn),各層激活函數(shù)使用如下策略。
1)生成器編碼器每一層都使用LReLU 作為激活函數(shù),解碼器每一層使用ReLU 作為激活函數(shù)。最后一層使用tanh函數(shù)。
2)判別器的每一層使用LReLU 作為激活函數(shù),最后一層使用tanh函數(shù)。
在生成器和判別器的輸出層使用tanh會(huì)使梯度變化得更快,訓(xùn)練過程中收斂速度更快。LReLU 會(huì)緩解一些ReLU 導(dǎo)致梯度為0 的問題。因此本文采用LReLU 作為激活函數(shù),最后一層使用tanh函數(shù)的策略來提高收斂速度,避免ReLU中出現(xiàn)的網(wǎng)絡(luò)中個(gè)別神經(jīng)元永遠(yuǎn)不會(huì)被激活的問題。生成器的學(xué)習(xí)率通常較小,所以可以在編碼層選擇使用ReLU 加快訓(xùn)練速度。判別器和解碼器的所有層選擇LReLU。
為了防止訓(xùn)練時(shí)梯度消失和過擬合的問題,生成器和判別器每一層都用Batchnorm[14-15]進(jìn)行批歸一化處理。Batchnorm 在訓(xùn)練過程中的主要目的是使得每一層神經(jīng)網(wǎng)絡(luò)的輸入保持相同分布,并且能提升訓(xùn)練速度和加快模型的收斂,同時(shí)增強(qiáng)分類效果。
C-WGAN 在CGAN 思想基礎(chǔ)上對生成器和判別器增加條件變量約束模型,能夠生成高質(zhì)量指定目標(biāo)圖像,在整體網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)下,加快模型收斂,有效解決原始GAN 中出現(xiàn)梯度消失/爆炸和模式崩潰問題。
傳統(tǒng)的WGAN 在訓(xùn)練時(shí)為了滿足Lipschitz 限制條件,采用權(quán)重修剪(weight clipping)的方式將參數(shù)單獨(dú)限制到[-a,a]內(nèi),在最優(yōu)策略下,參數(shù)往往會(huì)走極端,這不僅會(huì)減慢訓(xùn)練速度,當(dāng)修剪范圍逼近于極限時(shí),還可能會(huì)導(dǎo)致梯度爆炸。因此,為了避免權(quán)重修剪方法給模型訓(xùn)練可能帶來的不良后果,本文采用梯度懲罰的方法。梯度懲罰是在訓(xùn)練目標(biāo)上加強(qiáng)Lipschitz 限制條件:當(dāng)且僅當(dāng)一個(gè)可微函數(shù)梯度的正則項(xiàng)小于等于1時(shí),它才滿足1-Lipschitz限制條件。梯度懲罰能夠顯著提高訓(xùn)練速度,解決原始WGAN 收斂緩慢的問題。梯度懲罰的選取并不是在全網(wǎng)絡(luò)下,僅僅是在真假分布之間抽樣處理。模型對每個(gè)樣本獨(dú)立施加梯度懲罰,訓(xùn)練時(shí)采取判別器訓(xùn)練5次,生成器訓(xùn)練1次的方法。
本文利用谷歌地圖上抓取的衛(wèi)星圖片建成Google Maps數(shù)據(jù)集,在此基礎(chǔ)上本文針對圖像生成精度和網(wǎng)絡(luò)收斂速度問題進(jìn)行了實(shí)驗(yàn)。Google Maps 數(shù)據(jù)集可以較為清晰地展示出某一塊區(qū)域的地塊分布情況,對進(jìn)一步研究相似地塊建筑物排布生成以及相關(guān)地塊建筑容積率、日照時(shí)間等特征具有指導(dǎo)意義。Google Maps 數(shù)據(jù)集共有1 096張訓(xùn)練樣本和1 098張測試樣本,樣本由大小為256×256 像素的圖像成對構(gòu)成。圖4(a)為抓取的某一區(qū)域的衛(wèi)星圖,是輸入樣本。圖4(b)為對應(yīng)區(qū)域電子地圖,是需要生成的目標(biāo)樣本。
圖4 實(shí)驗(yàn)數(shù)據(jù)集示意圖Fig.4 Schematic diagram of experimental dataset
本文將從兩個(gè)方面對模型提升效果進(jìn)行驗(yàn)證:1)原始CGAN 進(jìn)行模型訓(xùn)練和測試;2)分析原始CGAN 的生成樣本后,分別給CGAN 和C-WGAN 加上L1 loss 和pix2pix 進(jìn)行對比實(shí)驗(yàn)。
3.2.1 CGAN
本次實(shí)驗(yàn)環(huán)境為Intel Core i5 2.4 GHz 處理器,16 GB 運(yùn)行內(nèi)存,Tensorflow 平臺(tái)。實(shí)驗(yàn)中設(shè)置優(yōu)化器Adam 的學(xué)習(xí)率為0.000 2,動(dòng)量為0.5。最生成器和判別器訓(xùn)練迭代次數(shù)與損失函數(shù)變化如圖5、6 所示。圖5 和圖6 分別表示CGAN 判別器和生成器在Google Maps 數(shù)據(jù)集上損失函數(shù)隨著訓(xùn)練次數(shù)的增加而發(fā)生變化情況。
圖5 CGAN判別器損失函數(shù)變化情況Fig.5 CGAN discriminator loss function change
圖6 CGAN生成器損失函數(shù)變化情況Fig.6 CGAN generator loss function change
從圖5和圖6中可以看出:判別器和生成器在訓(xùn)練初期震蕩較為平緩,隨著訓(xùn)練次數(shù)的增加,兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)相互對抗,圖中呈現(xiàn)出震蕩狀態(tài)。判別器損失值是真實(shí)圖片和生成圖片的損失值之和,均由交叉熵計(jì)算而得。對于真實(shí)數(shù)據(jù),在計(jì)算損失時(shí),為了增強(qiáng)其泛化能力,將labels 值設(shè)為0.9;對于生成器生成樣本,將labels值設(shè)為0。
結(jié)合圖5、6 和表1 可以看出,CGAN 判別器和生成器后期震蕩較大,但是從總體趨勢上來看,判別器的loss 值在降低,生成器的loss值在升高。
表1 CGAN判別器和生成器loss值變化Tab.1 Change of loss values of CGAN discriminator and generator
3.2.2 CGAN+L1 loss和C-WGAN+L1 loss
本次實(shí)驗(yàn)環(huán)境為Intel Core i9-7900X CPU 3.30 GHz 處理器,64GB運(yùn)行內(nèi)存,NVIDIA GeForce GTX 1080Ti GPU,TensorFlow平臺(tái)。
實(shí)驗(yàn)中設(shè)置優(yōu)化器Adam 的學(xué)習(xí)率為0.000 2,動(dòng)量為0.5。初始化L1 項(xiàng)對生成器梯度的權(quán)重為100。訓(xùn)練迭代次數(shù)與損失函數(shù)的變化如圖7、8所示。
圖7 C-WGAN判別器損失函數(shù)變化情況Fig.7 C-WGAN discriminator loss function change
從圖7和圖8中可以看出:判別器和生成器在訓(xùn)練前期震蕩較大,說明前期生成器生成的樣本不是很完美,判別器在前期也可以很好地區(qū)分出真實(shí)樣本和生成樣本。隨著訓(xùn)練次數(shù)的增加,模型開始逐漸穩(wěn)固,生成器生成樣本和真實(shí)樣本之間的差距逐漸減小,判別器逐漸區(qū)分不出真實(shí)樣本和生成樣本,圖中的表現(xiàn)就是開始逐漸平穩(wěn)。從總體趨勢上來看,判別器和生成器的損失函數(shù)都是處于逐漸下降的狀態(tài)。
圖8 C-WGAN生成器損失函數(shù)變化情況Fig.8 C-WGAN generator loss function change
平均絕對誤差(Mean Absolute Deviation,MAE)是指模型預(yù)測值f(x)和真實(shí)值y之間距離的平均值,對應(yīng)于L1 范數(shù)。MAE 對于任何輸入值,都有著較為穩(wěn)定的梯度,不會(huì)導(dǎo)致梯度爆炸,具有較為穩(wěn)定的解,所以考慮給模型加上L1 loss結(jié)果進(jìn)行對比。
C-WGAN 的生成器加上L1loss 和CGAN 生成器加上L1 loss變化趨勢如圖9所示。
圖9 不同網(wǎng)絡(luò)生成器+L1的損失函數(shù)變化Fig.9 Change of loss function of different network generators+L1
如圖9 所示,虛線是CGAN 的生成器+L1 損失函數(shù)變化圖,實(shí)線是C-WGAN的生成器+L1損失函數(shù)變化圖。從圖9可以看出,在相同條件下,用C-WGAN 來訓(xùn)練數(shù)據(jù)集,明顯要比CGAN 模型收斂得更快,能得到更小的損失值。在相同訓(xùn)練時(shí)間下,C-WGAN 能夠訓(xùn)練的步數(shù)更多。此時(shí),C-WGAN 訓(xùn)練完1 096 張圖片最后的loss 值為0.045 46;CGAN 訓(xùn)練完1 096張圖片得到的loss數(shù)值為0.065 65。
表2詳細(xì)展示了CGAN+L1、pix2pix,C-WGAN+L1 在10 000、20 000、30 000、40 000 次訓(xùn)練時(shí)的用時(shí)和損失函數(shù)值。從表中對比可以看出,在相同步數(shù)下,C-WGAN+L1 能得到更好的損失函數(shù)值。在用時(shí)相同條件下,C-WGAN+L1訓(xùn)練完成得到的損失函數(shù)值優(yōu)于CGAN+L1 和pix2pix 的損失函數(shù)值。CGAN+L1、pix2pix、C-WGAN+L1 用時(shí)12 h 后損失函數(shù)分別收斂于0.065 65、0.054 59、0.051 18。
表2 不同模型結(jié)果對比Tab.2 Comparison of results of different models
經(jīng)過訓(xùn)練CGAN、CGAN+L1、pix2pix 和C-WGAN+L1 之后得到的模型,本文用測試數(shù)據(jù)來進(jìn)行測試,得到圖10 部分生成樣本。
表3 展示了不同生成對抗網(wǎng)絡(luò)算法峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和結(jié)構(gòu)相似性(Structural SIMilarity index,SSIM)的實(shí)驗(yàn)對比結(jié)果,其中PSNR 是通過衡量標(biāo)準(zhǔn)圖像和插值結(jié)果之間的像素差異,用于對圖像平均質(zhì)量的評價(jià),SSIM 是根據(jù)標(biāo)準(zhǔn)圖像與實(shí)驗(yàn)結(jié)果間結(jié)構(gòu)、亮度和對比度的相似程度,對圖像視覺感知的質(zhì)量評價(jià)。根據(jù)表3的實(shí)驗(yàn)結(jié)果得出,與CGAN、CGAN+L1、pix2pix模型相比,本文提出的C-WGAN 模型具有最高的PSNR 均值和SSIM 均值,在客觀數(shù)據(jù)上本文模型得到的結(jié)果優(yōu)于其他模型。
表3 不同模型的PSNR和SSIM對比Tab.3 Comparison of PSNR and SSIM of different models
從圖10(c)CGAN生成樣本中可以看出,生成樣本與目標(biāo)樣本差異過大,路網(wǎng)、建筑物排布以及地塊分布都出現(xiàn)大范圍生成錯(cuò)誤現(xiàn)象,并且生成樣本中會(huì)存在花紋,很大程度上不能達(dá)到預(yù)期生成要求;圖10(d)展示出CGAN+L1 loss 后輸出的生成樣本,在輸入樣本中只存在路網(wǎng)和房屋等簡單結(jié)構(gòu)的情況下,大致上能正確顯示出路網(wǎng)和地塊邊緣分布,能生成較好的樣本。然而在面對復(fù)雜地塊分布時(shí),會(huì)存在色彩生成顯示錯(cuò)誤或色彩分布不均、不同地塊之間邊緣模糊、區(qū)域識(shí)別不健全的問題;圖10(e)是模型pix2pix 生成樣本,清晰度得到提升,但有時(shí)仍會(huì)出現(xiàn)生成樣本與目標(biāo)樣本顏色不匹配、地形邊緣顯示不清晰;圖10(f)是C-WGAN+L1 生成樣本,從圖中對比可以看出,清晰度得到很大提升,路網(wǎng)、房屋和地塊邊緣分布顯示情況有所改善,針對上述提到的問題,此模型生成樣本在各方面有很大進(jìn)步。
圖10 不同模型生成樣本對比Fig.10 Comparison of samples generated by different models
本文針對提升生成圖像精度和加快網(wǎng)絡(luò)收斂速度的問題搭建C-WGAN 模型,此模型可以根據(jù)輸入樣本和目標(biāo)樣本一對一產(chǎn)生生成樣本輸出。在CGAN 模型思想的基礎(chǔ)上進(jìn)行進(jìn)一步的網(wǎng)絡(luò)設(shè)計(jì),同時(shí)結(jié)合WGAN 模型思想的優(yōu)點(diǎn),解決原始CGAN 訓(xùn)練中出現(xiàn)梯度消失和模式崩潰的問題,并在C-WGAN 模型中加入L1 loss,使得整個(gè)網(wǎng)絡(luò)模型有較為穩(wěn)定的解。在Google Maps 數(shù)據(jù)集進(jìn)行測試和驗(yàn)證,由實(shí)驗(yàn)結(jié)果可以看出自動(dòng)生成的圖像精度有明顯改善,可較為清晰地展示出某一區(qū)域的地塊分布情況。此外,C-WGAN 模型在網(wǎng)絡(luò)結(jié)構(gòu)相同的情況下比CGAN 模型和pix2pix 模型收斂速度更快,這為提高整體任務(wù)的計(jì)算效率提供基礎(chǔ)。在未來工作中將利用C-WGAN 模型在自動(dòng)生成建筑物排布方面進(jìn)行進(jìn)一步研究和應(yīng)用,可利用訓(xùn)練后的C-WGAN 模型,實(shí)現(xiàn)對相似地塊建筑物排布的自動(dòng)生成,同時(shí)提供相關(guān)地塊建筑容積率、日照時(shí)間等參數(shù)的參考值。