国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CycleGAN的中國傳統(tǒng)繪畫風(fēng)格游戲圖片生成

2022-01-22 11:21趙欣李丹
電子測試 2021年24期
關(guān)鍵詞:對抗性損失繪畫

趙欣,李丹

(四川大學(xué)錦城學(xué)院,四川成都,611731)

1 理論介紹

CycleGAN提出了一種理論:抓取一個(gè)圖像集的特征,指出如何將這些特征轉(zhuǎn)換為其他圖像集,并且所有的工作都是在沒有任何成對的訓(xùn)練樣本的情況下進(jìn)行的。

這個(gè)問題可以稱作圖像到圖像的轉(zhuǎn)換[3],從一個(gè)給定場景的表示形式x轉(zhuǎn)換到另一種表示形式y(tǒng),比如灰度圖轉(zhuǎn)彩色圖,圖像轉(zhuǎn)語義標(biāo)簽等。在多年的計(jì)算機(jī)視覺的研究中,圖像加工、計(jì)算攝影技術(shù)以及制圖學(xué)在有監(jiān)督的情況下已經(jīng)產(chǎn)生了很不錯(cuò)的成果,以上需要的是成對的數(shù)據(jù)集。但是,獲得成對的數(shù)據(jù)集并不容易。在藝術(shù)風(fēng)格化這樣的圖形處理任務(wù)中獲取輸入-輸出圖像集更加困難,因?yàn)樾枰妮敵鍪欠浅?fù)雜的,通常還需要藝術(shù)創(chuàng)作。在物體變形任務(wù)中,需要的輸出甚至沒有明確的定義。

因此,我們需要一種可以在不成對的數(shù)據(jù)集中進(jìn)行轉(zhuǎn)換的算法。在此算法中訓(xùn)練一個(gè)映射G:X→Y,通過對抗訓(xùn)練使得G(x)和y盡量相似。但這樣單方面轉(zhuǎn)換不能保證x和輸出G(x)以一種有意義的方式配對。而且單獨(dú)優(yōu)化對抗目標(biāo)是不太容易的:一般程序總是出現(xiàn)模式崩潰問題[1]。

CycleGAN利用了轉(zhuǎn)換應(yīng)該是“循環(huán)一致”的特性,比如把一個(gè)句子從中文翻譯成法語,再從法語翻譯回中文,應(yīng)該翻譯回原來的句子。從數(shù)學(xué)角度上來說,如果有一個(gè)轉(zhuǎn)換器G:X→F和另一個(gè)轉(zhuǎn)換器F:Y→X,G和F應(yīng)該是相互逆轉(zhuǎn)的。CycleGAN應(yīng)用了以上假設(shè)的結(jié)構(gòu)同時(shí)訓(xùn)練映射G和F,并且添加了循環(huán)一致性損失[5]促進(jìn)F(G(x))≈x以及G(F(y))≈y。此外,CycleGAN還添加了identity損失。對于生成器G:X→Y,將圖片x傳入G得到的是Y風(fēng)格的圖片,那么直接將圖片y傳入G,從理論上講得到的應(yīng)該還是y,這一損失則是計(jì)算G(y)與y之間的差距。將以上三種損失相結(jié)合作為完整的目標(biāo)函數(shù)[10]。

2 公式

CycleGAN的目標(biāo)是在兩個(gè)域X和Y之間訓(xùn)練映射函數(shù),模型中包括兩個(gè)生成器G:X→Y和F:Y→X,以及兩個(gè)對抗性的判別器DX和DY。DX用來區(qū)分圖像集{x}和轉(zhuǎn)換后的圖像集{F(y)},同樣地,DY用來區(qū)分圖像集{y}和轉(zhuǎn)換后的圖像集{G(x)}。CycleGAN目標(biāo)函數(shù)中包含了三種類型:對抗性損失[2]用來匹配生成圖像到目標(biāo)域的分;循環(huán)一致性損失用來防止訓(xùn)練的G和F相互矛盾;identity損失有助于保存輸入圖像的顏色。

2.1 對抗性損失

CycleGAN為兩個(gè)映射函數(shù)都應(yīng)用了對抗性損失[2]。對于映射函數(shù)G:X→Y和它的判別器DY,目標(biāo)函數(shù)表示為:

DY旨在鑒別出轉(zhuǎn)換后的樣本G(x)和真實(shí)的樣本y,G嘗試生成與Y域中的圖像相似的G(x)。G的目的是使目標(biāo)函數(shù)最小化,同時(shí)DY目的是使目標(biāo)函數(shù)最大化,即minG m ax DYLGAN((G,D Y,X,Y)。同樣地,對于映射函數(shù)F:Y→X和它的判別器DX使用同樣的對抗性損失函數(shù),即minF m ax DXL G AN(F,DX,Y,X )。

2.2 循環(huán)一致性損失

在理論上,對抗性損失可以訓(xùn)練出映射G和F,產(chǎn)生的輸出分別和目標(biāo)域Y和X的分布相同[1]。然而,如果網(wǎng)絡(luò)訓(xùn)練得足夠好,則可以將相同的輸入圖像映射為目標(biāo)域中任何隨機(jī)的圖像,其中任何訓(xùn)練的映射都可以使得輸出分布與目標(biāo)分布相匹配,輸出圖像與目標(biāo)域匹配度高,但不一定能與輸入圖像對應(yīng)起來。因此,只有對抗性損失是不能保證學(xué)習(xí)的函數(shù)能將單個(gè)的輸入xi映射到一個(gè)期望的輸出yi。因此,CycleGAN表示訓(xùn)練的映射函數(shù)應(yīng)該具有周期一致性:對于每個(gè)X域中的圖像x,圖像的循環(huán)轉(zhuǎn)換應(yīng)該將x轉(zhuǎn)換回原始的圖像,即x→G(x)→F(G(x))≈x。這個(gè)循環(huán)稱為前向循環(huán)一致性。同樣地,對于每一個(gè)Y域的圖像y,G和F也應(yīng)該滿足反向循環(huán)一致性:y→F(y)→G(F(y))≈y。為達(dá)到這一目的,CycleGAN中的損失函數(shù)定義為:

2.3 identity損失

對于映射G:X→Y,輸入x通過G得到的G(x)應(yīng)該與目標(biāo)域Y中的圖像相似,如果將輸入y送入生成器G得到G(y),則G(y)應(yīng)該與原圖一致。使用identity損失能一定程度上保留輸入圖像的顏色。損失函數(shù)定義為:

2.4 完整的損失函數(shù)

完整的損失函數(shù)表示為:

其中λ和λIdt控制該損失項(xiàng)在完整損失函數(shù)中的重要性。

Jun-Yan Zhu[11]等人在定義完整損失函數(shù)時(shí)做了一些比較,包括單獨(dú)使用對抗性損失和循環(huán)一致性損失,結(jié)果表明,這兩種目標(biāo)函數(shù)在得到高質(zhì)量的結(jié)果上起著關(guān)鍵性的作用。

3 訓(xùn)練

3.1 CycleGAN網(wǎng)絡(luò)結(jié)構(gòu)

生成器的網(wǎng)絡(luò)結(jié)構(gòu)包含了三個(gè)卷積層,一些殘差塊[6],兩個(gè)步長為二分之一的反卷積層以及一個(gè)將特征映射為RGB的卷積層。對于大小為128*128的圖像使用6個(gè)殘差塊,對于大小為256*256的圖像使用9個(gè)殘差塊[7],同時(shí)使用實(shí)例歸一化。判別器的網(wǎng)絡(luò)結(jié)構(gòu)使用70*70的PatchGANs[3],它將70*70的部分重疊的圖像塊鑒定為真的還是假的。這樣對塊進(jìn)行分類的結(jié)構(gòu)比對整個(gè)圖像進(jìn)行分類的結(jié)構(gòu)參數(shù)更少,并且可以以全卷積的方式作用在任意尺寸的圖像上[3]。

3.2 訓(xùn)練細(xì)節(jié)

CycleGAN使用了兩項(xiàng)技術(shù)來使模型訓(xùn)練更加穩(wěn)定。

首先是對于對抗性損失函數(shù),使用最小二乘損失函數(shù)[8]來替代負(fù)對數(shù)似然函數(shù)。這個(gè)損失函數(shù)能使訓(xùn)練更加穩(wěn)定,也能產(chǎn)生質(zhì)量更高的結(jié)果。對于對抗性損失函數(shù)LGAN(G, D,X,Y),訓(xùn)練生成器G使得Ex~Pdata(x)[(D(G(x))-1)2]最小化,訓(xùn)練判別器 D 使得 Ey~Pdata(y)[(D(y)-1)2]+Ex~Pdata(x)[D(G(x))2] 最小化。

其次,為了減少模型震蕩[1],使用之前生成的舊數(shù)據(jù)更新判別器而不是最近生成的新數(shù)據(jù)[9]。訓(xùn)練中使用了一個(gè)圖像緩沖區(qū)存儲(chǔ)50張之前生成的圖像。在每輪訓(xùn)練中,隨機(jī)更新緩沖區(qū)的部分圖像,同時(shí)結(jié)合新生成的圖像和緩沖區(qū)中的圖像計(jì)算判別器損失值。

在訓(xùn)練中設(shè)置λ=10,λIdt=0.5,使用批處理大小為1的Adam優(yōu)化器[4]。所有網(wǎng)絡(luò)都從0.0002的學(xué)習(xí)率開始訓(xùn)練。共訓(xùn)練150輪,在前100輪都保持0.002的學(xué)習(xí)率,后50輪線性減少學(xué)習(xí)率。

3.3 改進(jìn)CycleGAN模型及訓(xùn)練細(xì)節(jié)

為了使中國傳統(tǒng)繪畫風(fēng)格的圖像轉(zhuǎn)換更逼真,本文對原有的CycleGAN模型及訓(xùn)練參數(shù)做了修改。對于生成器模型,修改殘差塊的個(gè)數(shù)為6,這樣能減少輸出圖像中保留原有的輸入圖像的特征,使得結(jié)果不僅有真實(shí)圖像的結(jié)構(gòu),也更加貼合中國傳統(tǒng)繪畫的風(fēng)格。此外,為了提高生成圖像的質(zhì)量,將控制前向循環(huán)損失重要性的參數(shù)λ設(shè)置設(shè)為20,提高生成器G:X->Y的質(zhì)量。同時(shí)將控制identit損失重要性的參數(shù)λIdt設(shè)置為0.1,減少輸出圖像中保留的輸入圖像的顏色,使得輸出更貼近中國傳統(tǒng)繪畫的風(fēng)格。

3.4 數(shù)據(jù)集

數(shù)據(jù)集的一部分選自Neural abstract style trans fer for Chinese traditional painting。Bo Li等人收集了1000張適應(yīng)中國傳統(tǒng)繪畫內(nèi)容的圖像,這些圖像都是從網(wǎng)絡(luò)搜索引擎收集而來的。它們大多是長江南部的山、湖、河、橋和建筑的真實(shí)場景。數(shù)據(jù)集中除了了中國的場景,還有萊茵河、阿爾卑斯山、黃石、大峽谷等地的圖像。除了這些真實(shí)場景,還包含100張傳統(tǒng)國畫[11]。本次訓(xùn)練中隨機(jī)選擇了600張真實(shí)的風(fēng)景圖和100張中國傳統(tǒng)繪畫。

另一部分選自End-to-End Chinese Landscape Painting Creation Using Generative Adversarial Netw orks。這些傳統(tǒng)的中國山水畫來自開放的博物館畫廊:大都會(huì)藝術(shù)博物館、普林斯頓大學(xué)藝術(shù)博物館、哈佛大學(xué)藝術(shù)博物館、史密森尼佛里爾畫廊。并且過濾非風(fēng)景畫的圖像,手動(dòng)裁剪圖像中的書法或者絲綢邊框[12]。本次訓(xùn)練中隨機(jī)選取了450張中國傳統(tǒng)繪畫。

訓(xùn)練時(shí)采用了500張真實(shí)風(fēng)景圖像和500張中國傳統(tǒng)繪畫風(fēng)格的圖像,測試時(shí)使用了50張真實(shí)風(fēng)景圖像。因?yàn)镃ycleGAN不需要成對的輸入-輸出圖像,所以實(shí)際測試時(shí)未使用中國傳統(tǒng)繪畫風(fēng)格的圖像。

4 結(jié)果

對于CycleGAN模型和改進(jìn)CycleGAN模型中的對抗性損失、循環(huán)一致性損失曲線對比如圖1。

圖1 損失曲線

可以看出,對于CycleGAN模型,損失曲線的走向并不能很好地反映出模型的性能,甚至在cycle_x的損失曲線比較中,整體損失值還有所上升。因此,本文同時(shí)采用了PSNR和SSIM作為評估指標(biāo)。PSNR計(jì)算輸入圖像和輸出圖像的差距,評估輸出圖像的質(zhì)量。SSIM用來衡量輸入圖像和輸出圖像相似的程度,其結(jié)果與人眼的評估效果更加相似。在訓(xùn)練好的模型上使用50張真實(shí)風(fēng)景圖生成中國傳統(tǒng)繪畫風(fēng)格的圖像,計(jì)算50張圖像的PNSR和SSIM取平均值。表1是兩種模型的PSNR和SSIM對比。

表1 PSNR及SSIM評估

由表1可以看出,改進(jìn)后的CycleGAN模型PSNR指標(biāo)上升了0.262,SSIM指標(biāo)上升了0.1。

除了上述指標(biāo),圖像在人眼中呈現(xiàn)的效果同樣重要,圖2是兩種模型生成的中國傳統(tǒng)繪畫風(fēng)格圖像的對比??梢钥闯?,改進(jìn)后的CycleGAN模型在顏色處理方面要更貼近于中國傳統(tǒng)繪畫風(fēng)格。

5 圖像制作工具

對于一款游戲來說,用戶體驗(yàn)是非常重要的,在主打中國繪畫風(fēng)格的游戲中,單一的游戲畫面和不協(xié)調(diào)的構(gòu)圖會(huì)顯得枯燥乏味,大大降低用戶體驗(yàn)。在基于CycleGAN的圖像制作工具中,只要傳入真實(shí)圖像,選定風(fēng)格為中國傳統(tǒng)繪畫風(fēng)格,便可以得到轉(zhuǎn)換后的圖像。

圖2 圖像轉(zhuǎn)換實(shí)例

如圖2,CycleGAN模型能夠把任意的真實(shí)場景圖像轉(zhuǎn)換為具有中國傳統(tǒng)繪畫風(fēng)格的圖像,并且具有逼真的色彩和線條。得到生成圖像后,可在此基礎(chǔ)上作人為的修改或者直接使用圖像。使用CycleGAN模型生成圖像能很好地解決游戲畫面單一的問題,不僅能高效生成圖像,因?yàn)樯蓤D像是由真實(shí)場景變化來,因此更加合理自然。

6 結(jié)語

經(jīng)過實(shí)驗(yàn)對比,對于中國傳統(tǒng)繪畫風(fēng)格的圖像,改進(jìn)后的CycleGAN模型生成的圖像要比原CycleGAN模型質(zhì)量更高。將任意一張真實(shí)場景的圖像輸入圖像制作軟件就可以利用軟件內(nèi)置的模型生成中國傳統(tǒng)繪畫風(fēng)格的圖像。

猜你喜歡
對抗性損失繪畫
四川工商學(xué)院學(xué)術(shù)新視野(2021年1期)2021-07-22
胖胖損失了多少元
玉米抽穗前倒伏怎么辦?怎么減少損失?
關(guān)于羽毛球教學(xué)中多球訓(xùn)練的探討
技戰(zhàn)能主導(dǎo)類格斗對抗性項(xiàng)群的競技特點(diǎn)與訓(xùn)練要求
一般自由碰撞的最大動(dòng)能損失
損失
歡樂繪畫秀
歡樂繪畫秀
歡樂繪畫秀
土默特左旗| 淄博市| 庄河市| 宣恩县| 东山县| 凯里市| 隆尧县| 马鞍山市| 东兴市| 绥德县| 车险| 泰来县| 祁东县| 汉寿县| 双桥区| 绥德县| 大渡口区| 武冈市| 昌邑市| 鞍山市| 金山区| 广德县| 唐山市| 湄潭县| 五莲县| 广丰县| 赤城县| 海丰县| 车致| 枣庄市| 永济市| 湛江市| 馆陶县| 亳州市| 沅陵县| 高雄县| 虹口区| 农安县| 友谊县| 合作市| 乌恰县|