王一凡,趙樂義,李 毅
四川大學(xué) 計(jì)算機(jī)學(xué)院,成都610065
近年來,動(dòng)畫電影的受眾逐漸擴(kuò)大,越來越多的人開始喜歡具有卡通效果的圖片,但是,不是所有的圖片都能轉(zhuǎn)換為動(dòng)漫風(fēng)格且融合得很好,也不是所有人都能達(dá)到相應(yīng)的畫圖水平可以自由作畫,再者,手工作圖也是費(fèi)時(shí)費(fèi)力的,目前也沒有一款工具可以讓人們進(jìn)行便捷操作就能夠得到動(dòng)漫風(fēng)格的圖片,而漫畫場景的應(yīng)用其實(shí)是很廣泛的,如兒童圖書、書本插畫等等。生成對抗網(wǎng)絡(luò)一直以來都是研究熱門,近年來也有多種GAN網(wǎng)絡(luò)被提出,在各個(gè)方面都得到了很大的優(yōu)化和利用,也有很多突破性的成果。在生成對抗網(wǎng)絡(luò)中也有許多分支,風(fēng)格遷移一直都是熱門研究之一,如CycleGAN[1]、MUNIT[2]、DualGAN[3]等。大部分的風(fēng)格遷移模型相對來說都是廣泛的,并沒有針對各種風(fēng)格進(jìn)行單獨(dú)的適配,所以在不同風(fēng)格的應(yīng)用效果上就存在一定的差異,也并不是所有圖片和風(fēng)格都能達(dá)到想象中的效果。動(dòng)漫圖片的色彩、線條和邊緣等等與現(xiàn)實(shí)圖片本就具有較大的差別,所以結(jié)合生成對抗網(wǎng)絡(luò)進(jìn)行這方面的研究就很有意義,同時(shí)針對動(dòng)漫化的風(fēng)格,還需要對網(wǎng)絡(luò)結(jié)構(gòu)等進(jìn)行單獨(dú)適配和調(diào)整,為了達(dá)到良好效果還需要進(jìn)行較多的實(shí)驗(yàn)和改進(jìn)。
本文針對上述問題,提出了以下幾個(gè)方面的改進(jìn):
(1)在GAN 網(wǎng)絡(luò)的生成器中引入多層感知機(jī)模塊(multi-layer perceptron,MLP),加入噪聲的輸入。
(2)引入自適應(yīng)實(shí)例歸一化層(AdaIN[4]),修改網(wǎng)絡(luò)結(jié)構(gòu),使得內(nèi)容特征能夠很好地轉(zhuǎn)變?yōu)闃邮教卣鳌?/p>
(3)將損失函數(shù)分為兩個(gè)部分,對網(wǎng)絡(luò)和內(nèi)容分開進(jìn)行損失計(jì)算。
(4)增加圖片數(shù)據(jù)集,對動(dòng)漫圖片和現(xiàn)實(shí)圖片集進(jìn)行擴(kuò)充,完善訓(xùn)練效果。
生成對抗網(wǎng)絡(luò)一直以來都受到了大家的廣泛關(guān)注,它具有強(qiáng)大的功能,可以應(yīng)用到任何類型的數(shù)據(jù)中,例如圖像生成、圖像修復(fù)等。
生成對抗網(wǎng)絡(luò)的思想源于二人博弈理論。生成器G生成可以騙過判別器D的樣本,而判別器D找出生成器G生成的“假數(shù)據(jù)”。假設(shè)用1 來代表真實(shí)數(shù)據(jù),0代表生成的數(shù)據(jù)。對于判別器來說,如果是真實(shí)的數(shù)據(jù),它要盡可能地判別并輸出1,在這個(gè)過程中,生成器也會(huì)隨機(jī)生成假數(shù)據(jù)來輸入給判別器,判別器對這部分?jǐn)?shù)據(jù)要盡可能地判別并輸出0。生成器和判別器是兩個(gè)相互獨(dú)立的模型,沒有聯(lián)系,好比兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)模型,利用的是單獨(dú)交替迭代訓(xùn)練的方法對這兩個(gè)模型進(jìn)行訓(xùn)練。通過不斷地循環(huán),兩邊的能力都越來越強(qiáng)。
在Goodfellow 等人[5]的論文中,有幾個(gè)重要的數(shù)學(xué)公式描述,如下列式子。
這個(gè)公式的優(yōu)勢在于固定G,描述的是一個(gè)極小極大化的過程,也就是兩個(gè)不斷優(yōu)化的過程。其中,Pdata表示的是真實(shí)圖像的數(shù)據(jù)分布,用極大似然估計(jì)。V這個(gè)函數(shù)算的是Pdata(x)和PG之間的距離。訓(xùn)練判別器D網(wǎng)絡(luò),去最大化這個(gè)距離,只有得到最大化距離的結(jié)果,才表示判別器是成功的,一旦有了這個(gè)值,就可以訓(xùn)練生成器G,從而得到V的最小值,最小的時(shí)候說明已經(jīng)找到了網(wǎng)絡(luò)的最優(yōu)解。
Isola等人[6]第一次提出了基于條件生成對抗網(wǎng)絡(luò)的圖像轉(zhuǎn)換。類似于語言翻譯,作者提出了圖像翻譯的概念,希望訓(xùn)練后的網(wǎng)絡(luò)能夠像翻譯語言一樣,完成圖像轉(zhuǎn)換的工作。后來,又出現(xiàn)了生成高分辨率圖像的Wang GAN[7]?,F(xiàn)在,已經(jīng)有許多研究人員利用生成對抗網(wǎng)絡(luò)進(jìn)行這方面的研究。圖像到圖像的轉(zhuǎn)換在很多方面都可以進(jìn)行應(yīng)用,其基本思想就是將輸入圖像轉(zhuǎn)換為輸出圖像,例如:輸入一張狗的圖片,輸出的是貓的圖片;輸入一張風(fēng)景照,輸出的是中國畫圖片等。在本文中,經(jīng)過訓(xùn)練,能夠?qū)⒄鎸?shí)圖片轉(zhuǎn)換為具有動(dòng)漫效果的圖片,這個(gè)過程其實(shí)也是圖像到圖像的轉(zhuǎn)換。
在之前很多的研究中,人們都是利用成對的數(shù)據(jù)集進(jìn)行訓(xùn)練,但是其實(shí)成對的數(shù)據(jù)集并不多,收集此類數(shù)據(jù)也比較耗費(fèi)時(shí)間和資金,特別是在藝術(shù)風(fēng)格的遷移中就更困難了。CycleGAN[1]提出了在非成對數(shù)據(jù)下進(jìn)行圖片轉(zhuǎn)換的思想,這一思想的提出,給圖片轉(zhuǎn)換帶來了大大的便利,解決了需要配對訓(xùn)練數(shù)據(jù)的問題。如圖1,CycleGAN 可以理解為兩個(gè)單向的生成對抗網(wǎng)絡(luò),它們共享兩個(gè)生成器,再各自帶一個(gè)判別器,同時(shí),在映射中加入循環(huán)穩(wěn)定損失函數(shù),就可以完成非成對的圖像轉(zhuǎn)換。
圖1 CycleGAN原理Fig.1 Principle of CycleGAN
文獻(xiàn)[2]中提出了多模態(tài)無監(jiān)督的圖像轉(zhuǎn)換,在生成圖片時(shí)可以把同一個(gè)內(nèi)容和不同的樣式組合,從而輸出多態(tài)圖片。自動(dòng)編碼器結(jié)構(gòu)如圖2,由內(nèi)容、樣式編碼器以及聯(lián)合解碼器組成。樣式編碼器利用全局池化得到風(fēng)格,解碼器中使用了自適應(yīng)實(shí)例歸一化層將兩個(gè)編碼器進(jìn)行整合,同時(shí)使用MLP網(wǎng)絡(luò)生成參數(shù),輔助殘差塊。本文也參考了其結(jié)構(gòu)進(jìn)行優(yōu)化,以達(dá)到更好的效果。
圖2 MUNIT自動(dòng)編碼器結(jié)構(gòu)Fig.2 Auto-encoder architecture of MUNIT
文獻(xiàn)[8]提出了一種基于GAN 的圖像卡通化方法,通過三個(gè)白盒分別對圖像的結(jié)構(gòu)、表面和紋理進(jìn)行處理,得到了較好的圖像轉(zhuǎn)換方法。文獻(xiàn)[9]也提出了基于GAN 的卡通轉(zhuǎn)換圖像方法,可以利用真實(shí)景物圖片生成漫畫,后文也會(huì)進(jìn)行對比。
圖像到圖像的轉(zhuǎn)換算法成功,在圖像生成的領(lǐng)域又有了一個(gè)新觀點(diǎn),也就是可以從卷積神經(jīng)網(wǎng)絡(luò)中提取特征,作為目標(biāo)函數(shù)的一部分,通過比較待生成圖片和目標(biāo)圖片的特征值,令輸出圖片和目標(biāo)圖片在語義層面上更相似。
風(fēng)格遷移的目的是需要保持圖像的內(nèi)容不變,只是轉(zhuǎn)換它的風(fēng)格,這一點(diǎn)就和圖像到圖像的轉(zhuǎn)換緊密相關(guān)。
Gatys 等人[10]曾提出用CNN 來做風(fēng)格遷移,文中發(fā)現(xiàn),在卷積神經(jīng)網(wǎng)絡(luò)中內(nèi)容和風(fēng)格表示可以分離進(jìn)行獨(dú)立操作。作者利用卷積神經(jīng)網(wǎng)絡(luò)從圖片中提取內(nèi)容和風(fēng)格信息,再分別定義內(nèi)容和風(fēng)格損失進(jìn)行約束,從而生成指定內(nèi)容和風(fēng)格的圖片。在卷積網(wǎng)絡(luò)中,從越高層次中提取出的特征是更加抽象的語義信息,和圖片有關(guān)的內(nèi)容信息就越少,文中也進(jìn)行了對比發(fā)現(xiàn)利用更高層次的特征來轉(zhuǎn)換風(fēng)格的話,圖片的內(nèi)容細(xì)節(jié)就容易丟失。之前,也有人提出對文獻(xiàn)[8]的改進(jìn)。Li等人[9]在深度特征空間中引入一種基于馬爾可夫隨機(jī)場(MRF)的框架來實(shí)現(xiàn)。
Ioffe 等人[11]引入一個(gè)批歸一化層(BN),通過歸一化特征統(tǒng)計(jì),明顯地簡化了網(wǎng)絡(luò)的訓(xùn)練。在之后,Ulyanov等人[12]又發(fā)現(xiàn),利用IN層替換BN層,又可以得到顯著的改善。
現(xiàn)在也有很多比較成功的風(fēng)格遷移方法,但是這些方法都不是單獨(dú)針對動(dòng)漫風(fēng)格進(jìn)行研究的。在本文中,需要輸出的圖片內(nèi)容和內(nèi)容圖片接近,輸出圖片的風(fēng)格變?yōu)閯?dòng)漫風(fēng)格。引入了噪聲的輸入,生成風(fēng)格編碼,同時(shí)針對內(nèi)容進(jìn)行單獨(dú)損失計(jì)算,提高遷移的質(zhì)量,在后續(xù)測試中效果表現(xiàn)良好。
對于人類來說,判斷兩個(gè)圖像之間的相似性是非常容易的。但是對于機(jī)器而言,這個(gè)過程就相對復(fù)雜了。目前也有一些感知指標(biāo)被廣泛使用,但是都是相對簡單的函數(shù),無法跟人類細(xì)微的感知相比較。在文獻(xiàn)[13]中,作者利用感知損失函數(shù)的優(yōu)勢,訓(xùn)練一個(gè)前向傳播的網(wǎng)絡(luò)進(jìn)行圖像轉(zhuǎn)換,在訓(xùn)練的過程中,感知誤差衡量了圖像之間的相似性,起到了很好的作用。網(wǎng)絡(luò)架構(gòu)同樣也是他們的亮點(diǎn),由圖像轉(zhuǎn)換網(wǎng)絡(luò)和損失網(wǎng)絡(luò)組成,結(jié)構(gòu)與生成對抗網(wǎng)絡(luò)較為相似,與GAN 不同的地方在于,損失網(wǎng)絡(luò)是固定參數(shù)的,圖像轉(zhuǎn)換網(wǎng)絡(luò)類似于生成器,但是它的損失為感知損失,也就是利用真實(shí)圖片的卷積得到的特征和生成圖片卷積得到的特征相比較,使得內(nèi)容和全局結(jié)構(gòu)接近,也就是感知的意思。實(shí)驗(yàn)結(jié)果顯示速度提升了三個(gè)量級(jí),視覺效果也更好。
Zhang 等人[14]為了衡量所謂的“感知損失”,提出了一個(gè)新的人類感知相似度判斷數(shù)據(jù)集,能夠評估感知距離,不僅可以度量兩個(gè)圖像之間的相似性,而且還符合人類的判斷。越來越多的研究工作發(fā)現(xiàn),利用感知損失函數(shù)可以生成高質(zhì)量的圖像,感知損失的出現(xiàn)也證明它可以作為圖像生成中輔助工具。在本文中,也選擇感知損失函數(shù)來計(jì)算內(nèi)容損失。
本文在生成對抗網(wǎng)絡(luò)的基礎(chǔ)上,引入了幾個(gè)新的模塊。
網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,由生成器和判別器組成。生成器負(fù)責(zé)生成可以以假亂真的圖像混淆判別器,而判別器則需要鑒別圖像是真實(shí)圖像還是合成的圖像。
本文在生成器的部分相比與原始GAN做了較大的優(yōu)化和改進(jìn),新增部分如圖3中紅色虛線部分所示。生成器包括編碼器、特征轉(zhuǎn)換器和解碼器,圖片輸入到編碼器,經(jīng)過一系列的操作之后輸出風(fēng)格圖片,同時(shí)作為判別器的一部分輸入,當(dāng)然,真實(shí)圖片也是判別器的一部分輸入,經(jīng)過下采樣之后得到輸出。與文獻(xiàn)[2]的結(jié)構(gòu)相比本文網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了一定的簡化,文獻(xiàn)[2]中采用了對偶學(xué)習(xí)的方式,使用兩對生成對抗網(wǎng)絡(luò)進(jìn)行訓(xùn)練,本文只使用一對生成對抗網(wǎng)絡(luò),只是新增模塊對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,專注于動(dòng)漫風(fēng)格的提取。
在生成器中,包含三個(gè)上采樣層和三個(gè)下采樣層,還加入了特征轉(zhuǎn)換器,將原始圖像的特征轉(zhuǎn)換為生成圖像的特征,具體的結(jié)構(gòu)如圖3所示。一般的殘差塊由卷積層、BN 層和ReLU 層組成,本文中也進(jìn)行了修改,引入了MLP 層、卷積層和自適應(yīng)實(shí)例歸一化(AdaIN)層。首先,加入隨機(jī)噪聲作為輸入,進(jìn)入MLP層轉(zhuǎn)變?yōu)轱L(fēng)格編碼后,進(jìn)入AdaIN層,再輸入到殘差模塊,組成生成器的一部分。
圖3 本文網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Proposed network structure
在Huang 等人[4]的論文中,他們在CIN[15]的基礎(chǔ)上提出了AdaIN,算式如下,和BN、CIN 等不同,AdaIN 沒有可學(xué)習(xí)的仿射參數(shù),它可以根據(jù)輸入的風(fēng)格圖片,自適應(yīng)地從樣式輸入中計(jì)算仿射參數(shù)。
其中,x代表的是原始的內(nèi)容圖像,y表示的是經(jīng)過MLP 變換得到的風(fēng)格編碼,σ和μ分別代表均值和標(biāo)準(zhǔn)差。該式子先將內(nèi)容圖像經(jīng)過歸一化,均值為0,標(biāo)準(zhǔn)差為1,然后再乘以風(fēng)格的標(biāo)準(zhǔn)差,加上風(fēng)格的均值,也就是先將自身去風(fēng)格化,然后再和風(fēng)格特征進(jìn)行計(jì)算,這樣內(nèi)容和風(fēng)格圖像的均值和標(biāo)準(zhǔn)差就對齊了。該方法沒有引入其他的參數(shù),自動(dòng)計(jì)算出均值和方差,只需要一次前向網(wǎng)絡(luò)就可以完成風(fēng)格網(wǎng)絡(luò)的生成,不僅節(jié)省內(nèi)存同時(shí)還減少了計(jì)算時(shí)間。該方法在后來也被應(yīng)用于各種網(wǎng)絡(luò),也證明其具有較大優(yōu)勢。應(yīng)用于本文的網(wǎng)絡(luò)中大大改善了實(shí)驗(yàn)效果。簡而言之,AdaIN通過傳遞特征統(tǒng)計(jì)信息,特別是通道的平均值和方差,在特征空間中進(jìn)行樣式傳遞。
神經(jīng)網(wǎng)絡(luò)在機(jī)器學(xué)習(xí)領(lǐng)域中是被廣泛應(yīng)用的,在本文中選擇了多層感知機(jī)(MLP)。MLP是一種前向結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),它包括輸入層、輸出層以及若干隱藏層,層與層之間是全連接的。三層感知機(jī)的結(jié)構(gòu)如圖4。
圖4 三層感知機(jī)結(jié)構(gòu)Fig.4 Structure of 3-layer percetron
假設(shè)有m個(gè)樣本n個(gè)特征,則輸入層X∈R(m×n),設(shè)隱藏層有h個(gè)神經(jīng)元,則隱藏層的權(quán)重和偏差為Wh∈R(n×h)、bh∈R(1×h)。輸出的標(biāo)簽值有q個(gè)則輸出層的權(quán)重和偏差參數(shù)分別是W0∈R(h×q)、bh∈R(1×q)。隱藏層的輸出和輸出層的輸出通過下列式子計(jì)算,可以知道,后一層的輸入就是前一層的輸出。
上述兩個(gè)式子是對數(shù)據(jù)進(jìn)行的線性變換,同時(shí)還要引入激活函數(shù)對除去輸入層的部分進(jìn)行非線性變換,得到結(jié)果后再傳遞給輸出層。
引入MLP 和AdaIN 這兩個(gè)模塊后,網(wǎng)絡(luò)結(jié)構(gòu)有了較大的調(diào)整,對于無監(jiān)督的訓(xùn)練學(xué)習(xí)能夠得到更好的結(jié)果。解碼器根據(jù)得到的特征重建圖像,從而得到效果更好的風(fēng)格圖片。同時(shí),生成器和判別器交替訓(xùn)練、互相對抗,各自也都得到更好的結(jié)果。
本文架構(gòu)共包含兩個(gè)損失函數(shù)。Lpips函數(shù)作為內(nèi)容的損失函數(shù)進(jìn)行計(jì)算,BCEWithLogitsLoss 函數(shù)作為對抗損失。
2.2.1 Lpips函數(shù)
在風(fēng)格遷移中,選擇用一個(gè)感知損失函數(shù)來訓(xùn)練網(wǎng)絡(luò)。計(jì)算感知相似度需要逐層計(jì)算網(wǎng)絡(luò)輸出對應(yīng)通道的余弦距離,然后計(jì)算距離在網(wǎng)絡(luò)空間維度和層之間的平均值。在文獻(xiàn)[16]中,作者為了驗(yàn)證模型是否可以學(xué)習(xí)感知,對算法提出了三種變種,統(tǒng)稱為Lpips。Lpips的確在視覺相似性的判斷上更加接近人類的感知,是很優(yōu)秀的算法。
公式(5)描述的是在網(wǎng)絡(luò)中如何計(jì)算塊x和x0之間的距離。首先從L層中提取特征堆棧,在通道維度中進(jìn)行單元?dú)w一化,將得到的結(jié)果記為利用向量wl∈縮放激活通道并計(jì)算l2的距離,最后在空間上算出平均值,然后基于通道求和。
感知相似性其實(shí)并不是一個(gè)特殊的功能,它是對一些結(jié)構(gòu)進(jìn)行預(yù)測的視覺特征的結(jié)果。例如,在語義的預(yù)測中,有效的歐幾里德距離也是感知相似度判斷的高度預(yù)測的表現(xiàn)。
2.2.2 BCEWithLogitsLoss函數(shù)
對于對抗損失采用的是BCEWithLogitsLoss函數(shù)進(jìn)行計(jì)算,它將Sigmoid 和BCELoss 合為一個(gè)步驟,計(jì)算過程與BCELoss相似,只是多加了一個(gè)sigmoid層,數(shù)值也更加穩(wěn)定。它們是一組常用的二元交叉熵?fù)p失函數(shù),常用于二分類的問題中。BCELoss式子如下,其中y是target,x是模型輸出的值。
BCEWithLogitsLoss函數(shù)的表示如下:
為了達(dá)到更好的實(shí)驗(yàn)效果,動(dòng)漫數(shù)據(jù)集從宮崎駿的動(dòng)畫電影《千與千尋》《起風(fēng)了》和《龍貓》中進(jìn)行截圖,同時(shí)要保證每張圖片內(nèi)容沒有重復(fù),沒有相似,擴(kuò)充得到了4 427張256×256的圖片。自定義現(xiàn)實(shí)圖片集也同樣通過網(wǎng)絡(luò)搜集得到共3 700張,包括各類風(fēng)景、人物以及動(dòng)物等圖片。
本文實(shí)驗(yàn)均在Windows10系統(tǒng)中完成,在深度學(xué)習(xí)框架pytorch+cuda10.1,NVIDIA2080下進(jìn)行訓(xùn)練。訓(xùn)練分為兩個(gè)過程,先是初始化預(yù)訓(xùn)練10 個(gè)epoch,再進(jìn)入訓(xùn)練,epoch 為500,batch size 為4,初始學(xué)習(xí)率設(shè)置為0.000 2。
在初始化階段,引入文獻(xiàn)[17]的思想,對生成器網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,重建輸入圖像,幫助網(wǎng)絡(luò)在適當(dāng)階段收斂,同時(shí)也提高了樣式傳輸?shù)馁|(zhì)量。
圖5 為選取的部分實(shí)驗(yàn)結(jié)果圖,第一行為現(xiàn)實(shí)圖片,第二行為原始網(wǎng)絡(luò)生成的動(dòng)漫化圖片,第三行為CycleGAN的生產(chǎn)結(jié)果,第四行為本文網(wǎng)絡(luò)生成的結(jié)果。
圖5 部分實(shí)驗(yàn)結(jié)果Fig.5 Part of experimental results
可以看出,原始的GAN 算法容易產(chǎn)生不穩(wěn)定的效果,如第二行第四列,細(xì)節(jié)如圖6,圖片上方的紋理感明顯,色彩變化太大;而且原始算法的整體色彩都比較暗,飽和度較低,特別是圖像四周邊緣的色彩不均衡,與輸入圖片差距過大。而CycleGAN 的生成效果也并不理想,在色彩的處理上相對來說比較不真實(shí)。本文的網(wǎng)絡(luò)在整體的色彩、紋理以及細(xì)節(jié)的處理方面都比原始的網(wǎng)絡(luò)有很大的提升,再現(xiàn)了清晰的邊緣和光滑的陰影,生成的圖像穩(wěn)定性也較高,本文的模型結(jié)果是高質(zhì)量的。
圖6 細(xì)節(jié)對比Fig.6 Detail contrast
同時(shí),還進(jìn)行了兩次對比實(shí)驗(yàn),分別替換掉了兩個(gè)損失函數(shù),部分測試結(jié)果如圖7。
圖7 部分對比實(shí)驗(yàn)結(jié)果Fig.7 Part of contrast experimental results
第二行為替換掉Lpips 函數(shù)的結(jié)果,第三行為替換掉BCE函數(shù)的結(jié)果,最后一行為本文效果??梢钥闯?,即使有相同的網(wǎng)絡(luò)架構(gòu),如果不選用本文的兩個(gè)損失函數(shù),結(jié)果仍然有較大的偏差。比如第二行的第二張圖片,顏色上有明顯的偏綠,而第四張圖片又明顯的顏色很淡,效果不穩(wěn)定;觀察第三行也可以發(fā)現(xiàn),整體圖片的顏色飽和度過低,紋理等與真實(shí)圖片沒有太大的差別。而本文的效果在向動(dòng)漫風(fēng)格進(jìn)行轉(zhuǎn)變的同時(shí)又有很好的色彩還原度。
另一方面,增加了幾種卡通動(dòng)漫風(fēng)格轉(zhuǎn)換方法的對比,部分結(jié)果展示如圖8,第二行為WhiteboxGAN 的生成結(jié)果,第三行為CartoonGAN的生成結(jié)果,最后一行為本文效果,可以看出在圖像的還原度上本文是較為優(yōu)秀的。同時(shí)細(xì)節(jié)對比如圖9。可以發(fā)現(xiàn),WhiteboxGAN的生成結(jié)果雖然色彩比較接近真實(shí)圖像,但是紋理過于失真,生成效果不協(xié)調(diào),而CartoonGAN色彩的處理上不夠真實(shí),同時(shí)細(xì)節(jié)部分容易產(chǎn)生模糊效果,生成效果不理想,而本文在細(xì)節(jié)以及色彩的處理上仍然較好。
圖8 卡通風(fēng)格方法對比Fig.8 Cartoon-style method contrast
圖9 細(xì)節(jié)對比Fig.9 Detail contrast
通過多次實(shí)驗(yàn)發(fā)現(xiàn),本文得到的效果還是比較令人滿意的。
對于動(dòng)漫圖像的評判其實(shí)沒有一個(gè)準(zhǔn)確的標(biāo)準(zhǔn),大部分情況下人們都是通過自我感覺去衡量。選擇用Fréchet inception distance(FID)[17]來評價(jià)實(shí)驗(yàn)結(jié)果。FID專門用于生成對抗網(wǎng)絡(luò)性能的評估,它是合成圖像和真實(shí)圖像之間的特征向量距離的一種度量,距離越小,值越小,說明生成圖像與真實(shí)圖片的分布越接近,則實(shí)驗(yàn)效果越佳,模型越好。兩個(gè)分布的距離公式如式(8):
x代表真實(shí)圖像的分布,g代表生成圖像的分布,u、C代表提取特征之后特征向量的均值和協(xié)方差,tr 代表矩陣對角線上元素的總和,也就是矩陣的跡。FID對噪聲有很好的魯棒性,用在本文中也非常合適。
由表1 中的數(shù)值可以看出本文的模型效果有了較大的提升,F(xiàn)ID 分?jǐn)?shù)明顯優(yōu)于原始網(wǎng)絡(luò)、CycleGAN、CartoonGAN和WhiteboxGAN很多。
表1 FID分?jǐn)?shù)Table 1 FID score
本文基于生成對抗網(wǎng)絡(luò)的思想,提出了動(dòng)漫風(fēng)格化編碼的生成對抗網(wǎng)絡(luò),目的是將輸入的現(xiàn)實(shí)圖片轉(zhuǎn)換為宮崎駿動(dòng)畫電影的動(dòng)漫風(fēng)格輸出。調(diào)整并優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),引入了AdaIN 和MLP 模塊,增加噪聲的輸入,能更好地提取風(fēng)格編碼,增加內(nèi)容的損失函數(shù),調(diào)整對抗損失函數(shù),同時(shí)擴(kuò)充了實(shí)驗(yàn)數(shù)據(jù)集,增加了動(dòng)漫圖片和現(xiàn)實(shí)圖片。實(shí)驗(yàn)結(jié)果說明效果良好,與原始網(wǎng)絡(luò)相比得到了較大的提升,邊緣細(xì)節(jié)也能處理到位,F(xiàn)ID 分?jǐn)?shù)有了較大進(jìn)步。證明本文網(wǎng)絡(luò)能夠應(yīng)用于各種圖片的動(dòng)漫風(fēng)格輸出。
圖像到圖像的轉(zhuǎn)換目前仍然具有很大的挑戰(zhàn)性,大多數(shù)的研究都是針對局部處理的,如人臉等。在無監(jiān)督領(lǐng)域中,還有很多問題值得去探索。在接下來的學(xué)習(xí)中,將繼續(xù)進(jìn)行這方面的研究,爭取繼續(xù)減小FID分?jǐn)?shù),在細(xì)節(jié)上取得更好的結(jié)果,同時(shí)研究如何提高圖像的分辨率和網(wǎng)絡(luò)的穩(wěn)定性、準(zhǔn)確性,爭取不僅是動(dòng)漫的風(fēng)格,如油畫等的藝術(shù)風(fēng)格遷移方面都能得到更好的效果。