符 濤 陳昭炯 葉東毅
(福州大學(xué)計算機(jī)與大數(shù)據(jù)學(xué)院 福州 350108)(1746098280@qq.com)
中國畫簡稱“國畫”,是我國傳統(tǒng)的繪畫形式.山水畫是國畫的一個重要分支,以山川等自然景觀為主要的繪制題材.如何對山水畫進(jìn)行計算機(jī)仿真在圖像處理領(lǐng)域一直是一個富有挑戰(zhàn)性的課題.隨著深度學(xué)習(xí)的快速發(fā)展,將其用于中國山水畫仿真已經(jīng)成為一個新興的研究方向[1].近期有相關(guān)工作[2-4]基于語義標(biāo)簽圖生成完整的仿真山水畫,而本文則思考山水畫仿真中的一個新問題:輸入一幅山水畫,如何構(gòu)建一個仿真系統(tǒng)使之能夠模擬山水畫的繪制特點和布局結(jié)構(gòu)進(jìn)而自動外推出山水畫邊界外的內(nèi)容,輸出一幅筆觸形態(tài)過渡自然、語義內(nèi)容連貫多樣、畫面視野更加開闊的中國山水畫?本文稱該問題為畫作外推問題.該研究有助于歷史畫作的殘卷分析、基于畫作風(fēng)格的再創(chuàng)作、輔助畫家進(jìn)行構(gòu)思等工作,并可應(yīng)用于藝術(shù)教育、廣告宣傳、影視等領(lǐng)域.
畫作外推是受到圖像外推的啟發(fā)而提出的研究問題.圖像外推是指給定一幅無損完整圖像,相關(guān)方法分析圖像邊界的輪廓信息及語義內(nèi)容特征繼而延伸擴(kuò)充原圖的過程.由于圖像外推的對象是攝影照,屬于真實感圖像,外推的內(nèi)容需要對人眼產(chǎn)生逼真且自然的效果,因此圖像外推的任務(wù)是具有挑戰(zhàn)性的.山水畫外推與圖像外推不同之處在于其外推內(nèi)容是山水畫,屬于非真實感圖像.非真實感圖像具有畫家獨特的筆觸形態(tài)和精心設(shè)計的布局結(jié)構(gòu),其間融入了畫家豐富的思想情感,并賦予其復(fù)雜的高層次語義信息,以此留下美好的想象空間和視覺享受,與真實感圖像追求的“極致細(xì)節(jié)、惟妙惟肖”不同的是,山水畫外推更加強(qiáng)調(diào)藝術(shù)真實感[5].
迄今為止,針對山水畫外推研究尚未見到公開的文獻(xiàn)報道,相關(guān)研究主要是面向真實感圖像的外推,其方法主要以深度學(xué)習(xí)為主,比較典型的思路是通過生成對抗網(wǎng)(generative adversarial network, GAN)[6]來建模實現(xiàn)的.2018年,Sabini等人[7]提出了一種基于GAN的對抗學(xué)習(xí)方法來預(yù)測圖像邊界之外的內(nèi)容.該網(wǎng)絡(luò)采用生成器和鑒別器的組合,生成器用于生成虛擬的外推圖像,訓(xùn)練過程中鑒別器用于鑒別生成的外推圖像和原圖像是否一致以幫助生成器生成符合原有圖像分布的外推圖像.該方法能夠粗略地外推簡單自然場景圖像,這表明將對抗學(xué)習(xí)方法應(yīng)用于圖像外推是可行的;2019年,Guo等人[8]提出了一種基于結(jié)構(gòu)感知和視覺注意力機(jī)制[9]的圖像外推策略,該外推方法包括粗推和精推2個過程,分別進(jìn)行結(jié)構(gòu)感知性粗略外推和視覺注意性精細(xì)外推,該網(wǎng)絡(luò)可以預(yù)測輸入圖像外推部分的全局結(jié)構(gòu),但難以生成與輸入圖像結(jié)構(gòu)風(fēng)格一致的外推圖像且無法獲得具有合理邊界細(xì)節(jié)的真實感結(jié)果;2019年,Lin等人[10]提出了CoCo-GAN模型,其中生成器以空間坐標(biāo)為條件,通過部件生成圖像;鑒別器通過全局一致性、局部外觀和邊緣交叉連續(xù)性來鑒別外推圖像和真實圖像,該網(wǎng)絡(luò)能夠感知坐標(biāo),將多個已知小塊圖像互不重疊的拼接在一起生成大塊圖像,也即完成一種圖像外推,但存在訓(xùn)練過程中難以生成完整的圖像以及生成圖像的局部結(jié)構(gòu)會帶有較多斑駁等問題;2019年,Teterwak等人[11]將圖像修復(fù)方法應(yīng)用于圖像外推,發(fā)現(xiàn)外推圖像會產(chǎn)生語義不一致的模糊現(xiàn)象,于是在修復(fù)網(wǎng)絡(luò)中引入了語義條件,加強(qiáng)網(wǎng)絡(luò)對外推圖像的語義內(nèi)容鑒別,該方法在簡單自然場景圖像中可以取得較好的效果,但對一些復(fù)雜場景圖像的外推表現(xiàn)得卻不夠理想;2020年,Zhang等人[12]提出了一種圖像外推方法,將注意力機(jī)制應(yīng)用于外推網(wǎng)絡(luò)結(jié)構(gòu),并引入了2階段網(wǎng)絡(luò)來提高圖像生成的質(zhì)量.該方法較以往的外推方法生成的外推圖像在視覺上更為真實,但在局部上仍然會產(chǎn)生扭曲或模糊的現(xiàn)象;2020年,Kasaraneni等人[13]研究了基于GAN的圖像修復(fù)的相關(guān)工作,發(fā)現(xiàn)修復(fù)網(wǎng)絡(luò)不能很好地應(yīng)用到圖像外推,反之亦然,故提出了一種既能用于圖像修復(fù)又能用于圖像外推的方法,該方法在全局上可以外推出比較合理的圖像結(jié)構(gòu),但在局部上仍然會產(chǎn)生扭曲或馬賽克的現(xiàn)象;2020年,Hoorick等人[14]在研究前人的圖像外推方法之后,認(rèn)為GAN在延伸圖像邊界方面有較強(qiáng)的潛力,于是借鑒圖像修復(fù)網(wǎng)絡(luò)的模型結(jié)構(gòu)設(shè)計出一個上下文編碼器和一個鑒別器,并將其作為對抗網(wǎng)絡(luò)的博弈雙方以完成圖像外推.同時,還將L2正則化項作為損失函數(shù)的一部分以提高上下文編碼器的生成圖像質(zhì)量,該方法可以基本學(xué)習(xí)到圖像的淺層特征,但外推方式僅僅是簡單的復(fù)制黏貼;2021年,Wang等人[15]提出了一種基于草圖引導(dǎo)的圖像外推方法,允許用戶獲得個人定制的外推結(jié)果.該方法首先采用整體對齊模塊使得外推部分逼近全局視圖;其次,利用草圖對齊模塊使得外推部分反向生成的草圖與訓(xùn)練時提供的草圖一致.通過草圖指導(dǎo)的方式,生成器會更加關(guān)注細(xì)節(jié),并對指導(dǎo)草圖敏感.該方法需要借助草圖標(biāo)簽安排好整個圖像全局尺度上的布局,生成結(jié)果在多樣性方面表現(xiàn)欠佳.
從以上分析可知,基于生成對抗網(wǎng)的圖像外推方法具有可行性和一定的效果,但外推結(jié)果會產(chǎn)生語義內(nèi)容不一致的扭曲、模糊、斑駁以及馬賽克等現(xiàn)象,并且上述工作主要是針對自然場景攝影照片進(jìn)行的,未涉及山水畫獨有的紋理結(jié)構(gòu)和布局特點.中國山水畫是對自然山水的抽象和藝術(shù)化的表達(dá),落筆前要勾勒出山水畫大致的輪廓,安排好全局尺度上的布局;后續(xù)山石、云水和植被是山水畫的3個主要構(gòu)成因素,其中又以山石為重,畫家構(gòu)造多種皴法來表現(xiàn)山石紋理特征及其植被形態(tài),這是第2個尺度上的描繪;最后還會對山水畫進(jìn)行細(xì)節(jié)上的點綴、局部線條的豐富,這是小尺度上的細(xì)化.由于中國山水畫這種布局和多尺度的藝術(shù)表現(xiàn)手法與自然攝影照片有很大的不同.因此,要實現(xiàn)山水畫外推的關(guān)鍵是如何加強(qiáng)對山水畫布局特征和不同尺度語義信息的學(xué)習(xí)和模擬,使得山水畫外推部分既和原有內(nèi)容語義相關(guān)聯(lián),又能符合山水畫的布局特點,同時在不同尺度語義內(nèi)容表現(xiàn)上更合理、自然.
本文針對山水畫外推這一新問題,提出了一種可以模擬畫家的繪制特點和布局結(jié)構(gòu)、實現(xiàn)大幅畫作生成的中國山水畫外推算法.算法基于GAN的框架,設(shè)計并訓(xùn)練了一個新的雙向解碼特征融合網(wǎng)絡(luò)(bidirectional decoding feature fusion generative adversarial network, BDFF-GAN),主要包含以下2個方面的工作:其一,提出了一種新的雙向解碼特征融合生成器UY-Net.UY-Net在現(xiàn)有U型網(wǎng)絡(luò)(U-Net)生成器[16]的基礎(chǔ)上增設(shè)了一個多尺度解碼器,增強(qiáng)了不同尺度特征之間的連接交融,同時每一層雙向解碼的結(jié)果還通過條件跳躍連接進(jìn)一步相互融合,以利于山水畫不同尺度的語義特征和紋理特征的傳遞與學(xué)習(xí);其二,設(shè)計并采用了全局鑒別器和局部鑒別器[17]相結(jié)合的鑒別器網(wǎng)絡(luò)結(jié)構(gòu).全局鑒別器將整幅山水畫作為輸入來控制外推結(jié)果的全局一致性,局部鑒別器將山水畫邊界周圍的小區(qū)域作為輸入來提高布局結(jié)構(gòu)的連貫性和小尺度內(nèi)容的生成質(zhì)量.
實驗結(jié)果表明,本文算法生成的外推山水畫能較好地模擬山水畫的筆觸形態(tài)、布局結(jié)構(gòu)等多尺度內(nèi)容,不僅能夠保持語義的連貫性,還可以在不同語義內(nèi)容間進(jìn)行合理的過渡,特別是在多次遞歸外推的結(jié)果上有比較明顯的體現(xiàn).此外,本文還設(shè)計了一種新的用戶交互方式以實現(xiàn)布局可控的外推效果,該方式通過邊界引導(dǎo)線的方式控制外推部分的輪廓走向,擴(kuò)展了上述BDFF-GAN網(wǎng)絡(luò)的生成多樣性和應(yīng)用互動性.
本文算法的工作流程如圖1所示,用戶輸入一幅山水畫,經(jīng)過本文訓(xùn)練的BDFF-GAN網(wǎng)絡(luò),外推出山水畫左右2邊界外的內(nèi)容,輸出一幅筆觸形態(tài)過渡自然、語義內(nèi)容連貫多樣、畫面視野更加開闊的中國山水畫.上述過程完成了山水畫的1次外推,將山水畫的前一次外推結(jié)果再放入本文訓(xùn)練的BDFF-GAN網(wǎng)絡(luò),可產(chǎn)生山水畫的遞歸外推結(jié)果.算法的核心在于BDFF-GAN網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計與模型訓(xùn)練.
GAN由Goodfellow等人[6]在2014年提出,該模型由生成器和鑒別器2個模塊構(gòu)成,鑒別器計算樣本來自真實訓(xùn)練數(shù)據(jù)的概率,生成器生成新樣本來騙過鑒別器,生成器和鑒別器相互博弈,最終使得生成器能夠生成符合訓(xùn)練數(shù)據(jù)分布的新樣本.正如引言所述,基于GAN的圖像外推方法對攝影照片的外推具有可行性和一定的效果.有鑒于此,本文借鑒GAN的思想設(shè)計了雙向解碼特征融合的網(wǎng)絡(luò)結(jié)構(gòu)BDFF-GAN,完成一幅尺幅較窄的山水畫的邊界外推,輸出一幅圖幅較寬、內(nèi)容協(xié)調(diào)一致、語義內(nèi)容過渡自然的山水畫.
從輸入山水畫內(nèi)核到外推山水畫的生成,BDFF-GAN網(wǎng)絡(luò)模型結(jié)構(gòu)的設(shè)計需要考慮3個方面:其一,山水畫外推需要維持原圖整體的結(jié)構(gòu)統(tǒng)一,所以要根據(jù)山水畫的整體布局合理生成外推內(nèi)容,即全局一致性;其二,給定的山水畫內(nèi)核內(nèi)容需要與外推內(nèi)容在邊界附近具有相似的語義特征和筆觸形態(tài),即語義連貫性;其三,在完成從輸入山水畫到外推山水畫的生成后,需要保證外推的內(nèi)容足夠完整、層次足夠豐富、筆觸特點足夠明顯,即山水畫多尺度內(nèi)容的自然性.
圖2是BDFF-GAN網(wǎng)絡(luò)的原理圖,網(wǎng)絡(luò)訓(xùn)練輸入的是以原作山水畫x經(jīng)過掩碼Mask作用后的輸入山水畫Image和掩碼Mask構(gòu)成的二元組z=Image+Mask(參見圖6),雙向解碼生成器G學(xué)習(xí)輸入山水畫Image的布局結(jié)構(gòu)特征和筆觸形態(tài)等多尺度信息,生成符合輸入山水畫Image特征分布、輪廓線條勾勒皴擦的外推山水畫G(z).鑒別器D從山水畫整體布局、局部線條等方面判斷生成的外推山水畫G(z)是否為原作山水畫x,并輸出外推山水畫G(z)為真的概率值,當(dāng)該值大于1/2時,鑒別器D認(rèn)為生成結(jié)果G(z)為真;當(dāng)該值小于1/2時,鑒別器D認(rèn)為生成結(jié)果G(z)為假;當(dāng)該值等于1/2時,此時生成器G的生成結(jié)果G(z)無論是在整體布局還是筆觸形態(tài)等各方面都非常接近原作山水畫x,鑒別器D無法判斷生成的外推山水畫G(z)是真是假,雙向解碼生成器G和鑒別器D達(dá)到納什均衡,訓(xùn)練過程結(jié)束,獲得的雙向解碼生成器G就可用于外推用戶輸入的山水畫左右2邊界外的內(nèi)容.
Fig. 2 Schematic diagram of bidirectional decoding generator and discriminator of BDFF-GAN圖2 BDFF-GAN雙向解碼生成器和鑒別器原理圖
為了保證外推山水畫和原作山水畫的語義內(nèi)容、筆觸手法等多尺度信息的一致性,本文使用L1正則化項對外推山水畫和原作山水畫的相似性進(jìn)行約束.最終本文山水畫外推網(wǎng)絡(luò)損失函數(shù)outBDFF-GAN設(shè)計為
(1)
其中,Mask代表掩碼,x代表原作山水畫,z代表原作山水畫經(jīng)過掩碼Mask作用后的輸入山水畫Image和掩碼Mask的二元組,G(z)表示生成器生成的外推山水畫,D(x)表示x為原作山水畫的概率,D(G(z))表示G(z)為原作山水畫的概率,λ表示正則系數(shù),‖ ‖1代表L1正則化,°代表圖像像素間的點乘.
上述基于GAN的深度網(wǎng)絡(luò)結(jié)構(gòu)、改進(jìn)的雙向解碼生成器UY-Net、全局和局部相結(jié)合的鑒別器以及考慮了內(nèi)容一致性的損失函數(shù)形式,使得本文的BDFF-GAN模型能夠較好地滿足山水畫外推預(yù)想的要求.
圖5為本文所設(shè)計的雙向解碼特征融合網(wǎng)絡(luò)結(jié)構(gòu)BDFF-GAN.其中,雙向解碼生成器UY-Net網(wǎng)絡(luò)學(xué)習(xí)和模擬山水畫的不同尺度語義內(nèi)容用于生成外推山水畫;鑒別器網(wǎng)絡(luò)包含一個全局鑒別器和一個局部鑒別器,用于引導(dǎo)雙向解碼生成器生成的外推山水畫在整體布局結(jié)構(gòu)和局部細(xì)節(jié)上更加接近原作山水畫.下面具體分析生成器和鑒別器的設(shè)計過程.
Fig. 3 Comparison of differences between landscape photography and Chinese landscape painting圖3 山水?dāng)z影照與中國山水畫的差異對比
正如引言中所述,中國山水畫與山水?dāng)z影照片不同,在布局和多尺度表達(dá)上有著獨特的方式和技法.以圖3為例,以往用于外推的山水?dāng)z影圖大多類似圖3(a)的形態(tài),布局比較隨意自然、山水紋理比較單一,細(xì)節(jié)層次感不夠豐富,因此針對山水?dāng)z影照片的外推算法在布局和多尺度表現(xiàn)上無需有較高的要求,就可達(dá)到較好的效果;觀察圖3(b)中的山水畫,可以看出山石、云水以及植被的布局錯落有致,畫面主體為山峰,布局上有著清晰的山形輪廓,其間又采用荷葉皴的技法來體現(xiàn)山的筋脈,同時還夾雜著一些短線條增強(qiáng)巖石紋理,這種整體布局上的藝術(shù)性和多尺度的表現(xiàn)方法就需要外推模型考慮更多的因素.
本文正是著眼于此,在生成器的設(shè)計方面提出了多尺度關(guān)聯(lián)的跳躍連接方式,同時采用雙向解碼的方式進(jìn)行尺度的互補(bǔ)和融合;在鑒別器設(shè)計上采用全局鑒別器和局部鑒別器相結(jié)合的方式,既考慮在整體布局結(jié)構(gòu)上的學(xué)習(xí)能力又兼顧局部范圍細(xì)尺度的特征刻畫.
現(xiàn)有GAN的生成器常通過引入一系列的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)[18]來做無監(jiān)督訓(xùn)練,利用其良好的特征提取能力提升生成網(wǎng)絡(luò)的學(xué)習(xí)效果,使得GAN能夠在大規(guī)模數(shù)據(jù)上學(xué)習(xí)到一系列有用的特征.而在山水畫的外推問題上,山石、云水、植被等對象就是一系列的結(jié)構(gòu)和語義特征,網(wǎng)絡(luò)生成的外推山水畫需要具備和這些對象特征相似的結(jié)構(gòu),而不能是其他隨意的特征.雖然CNN具備這種特征提取和學(xué)習(xí)的能力,但是多次的卷積操作會丟失部分山水畫較小尺度的結(jié)構(gòu)信息;其次,山水畫具有特定的紋理特征和布局結(jié)構(gòu),山石、云水以及植被等自然景物都是經(jīng)過畫家精心設(shè)計的景物造型,被賦予復(fù)雜而豐富的高層次語義信息,注重輪廓線條和語義內(nèi)容之間的一致性,除了保證外推部分不同語義內(nèi)容之間合理的過渡之外,還要求外推內(nèi)容的紋理細(xì)節(jié)和輪廓線條與輸入山水畫具有相似的粒度感和線條感,因此單純的CNN結(jié)構(gòu)難以滿足這些要求.
2015年,Ronneberger等人[16]提出了對稱式的U型長連接U-Net網(wǎng)絡(luò)模型,該模型采用的是編碼器和解碼器相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),并在編碼器和解碼器的同層添加了長連接.這種U型結(jié)構(gòu)的編碼器可以捕獲訓(xùn)練樣本的語義信息;解碼器可以對訓(xùn)練樣本進(jìn)行準(zhǔn)確定位;中間的長連接能夠結(jié)合編碼器和解碼器同層的語義特征,特征提取效果超過了CNN[19-20],不少基于GAN的圖像生成模型都采用U-Net網(wǎng)絡(luò)作為生成器模型.
為了測試U-Net生成器在山水畫外推中的性能,本文在GAN網(wǎng)絡(luò)中將U-Net作為生成器模型用于山水畫外推,生成結(jié)果如圖4所示.可以看出,該網(wǎng)絡(luò)學(xué)習(xí)到了山水畫的部分語義特征,但在其筆觸手法和布局結(jié)構(gòu)上表現(xiàn)得還不太理想,外推部分的植被等尺度較小的對象均存在輪廓和線條呈馬賽克的現(xiàn)象,同時兩側(cè)的景物布局較為緊湊,整幅山水畫失去了藝術(shù)真實感.
Fig. 4 Shortcomings of the U-Net generator in the extrapolation of landscape painting圖4 山水畫外推中U-Net生成器的不足
Fig. 5 Schematic diagram of BDFF-GAN in the extrapolation of Chinese landscape painting圖5 中國山水畫外推中BDFF-GAN示意圖
分析發(fā)現(xiàn),隨著網(wǎng)絡(luò)層數(shù)的加深,U-Net網(wǎng)絡(luò)編碼器中多次的卷積和下采樣操作會丟失部分結(jié)構(gòu)信息;其解碼器每一層融合的編碼器同層尺度的語義特征不足以恢復(fù)山水畫的細(xì)節(jié)紋理等細(xì)粒度特征.因此,為了加強(qiáng)網(wǎng)絡(luò)對山水畫不同尺度語義特征與紋理特征的傳遞與學(xué)習(xí),本文基于尺度增強(qiáng)學(xué)習(xí)的思路設(shè)計了雙向解碼生成器UY-Net,如圖5所示.
UY-Net雙向解碼生成器是由編碼器和解碼器2部分構(gòu)成的.主要設(shè)計思路是增強(qiáng)不同尺度特征的傳遞、學(xué)習(xí)和交融.
2.3.1 多尺度解碼器結(jié)構(gòu)設(shè)計
為了加強(qiáng)網(wǎng)絡(luò)對山水畫特征的解碼能力和山水畫不同粒度的語義特征與紋理特征的傳遞與學(xué)習(xí),本文基于U-Net在解碼器部分增設(shè)了一個多尺度解碼器,構(gòu)建了橫看呈“Y”型的雙向解碼結(jié)構(gòu)的UY-Net生成網(wǎng)絡(luò),如圖5所示.Y型雙向解碼結(jié)構(gòu)在編碼器部分增加不同尺度特征層的交叉組合,UY-Net的上分支解碼器部分基本保留U-Net原有結(jié)構(gòu),不同的是每一個解碼層都融合了來自下分支解碼器部分(多尺度解碼器)的內(nèi)容;多尺度解碼器選擇編碼器相鄰不同尺度層的特征進(jìn)行融合,一系列跨層的短連接和長連接較好地彌補(bǔ)了U-Net解碼器跳躍層忽略的信息.這一雙向解碼結(jié)構(gòu)不僅增強(qiáng)了對原有編碼器的解讀能力,還有利于加強(qiáng)山水畫不同粒度特征在不同層之間的傳遞與學(xué)習(xí).
2.3.2 條件跳躍連接
在UY-Net生成器中,為了加強(qiáng)U-Net編碼器和多尺度解碼器之間的信息溝通和融合,本文通過設(shè)計一個稱為條件跳躍連接(conditional skip connection, CSC)的結(jié)構(gòu)來實現(xiàn),多層細(xì)化每個解碼尺度所需的山水畫特征.與U-Net中的跳躍連接不同的是,CSC既關(guān)注編碼器的同層信息又關(guān)注其前一層特征,用于補(bǔ)充和恢復(fù)山水畫不同尺度的特征.
例如,圖5中U-Net解碼器的每一層特征是由同層編碼器特征、本層解碼器特征、同層多尺度解碼器特征所拼接而成.本層解碼器特征是對該尺度山水畫特征的解讀,由于編碼器每一層的卷積操作會丟失部分山水畫結(jié)構(gòu)信息,因此同層編碼器特征可以恢復(fù)山水畫該尺度的整體結(jié)構(gòu)信息但不足以恢復(fù)局部細(xì)節(jié)信息;而多尺度解碼器融合了編碼器同層和前一層的山水畫特征,使得山水畫不同粒度的特征得到一定的補(bǔ)充和恢復(fù).
圖5中BDFF-GAN的生成器總共10層,各層卷積核均采用標(biāo)準(zhǔn)的4×4規(guī)格,具體參數(shù)詳見表1.在4.4節(jié)的消融實驗中可以看出,UY-Net在處理山水畫方面與U-Net相比有比較明顯的性能提升.
Table 1 Parameters of UY-Net Generator
傳統(tǒng)GAN網(wǎng)絡(luò)模型的鑒別器通常只包含一個全局鑒別器,只能用于判斷輸入山水畫的全局語義信息,但在本文的山水畫外推問題中,為了增強(qiáng)山水畫的藝術(shù)真實感,還需要考慮山水畫的輪廓線條和紋理結(jié)構(gòu)等尺度信息.據(jù)此,本文在全局鑒別器的基礎(chǔ)上增加了一個局部鑒別器,將山水畫內(nèi)核內(nèi)容與外推內(nèi)容邊界周圍的小區(qū)域作為鑒別內(nèi)容來提高整幅山水畫小尺度細(xì)節(jié)內(nèi)容的生成質(zhì)量.全局鑒別器和局部鑒別器的結(jié)合,加強(qiáng)了全局語義信息和局部細(xì)粒度信息的相關(guān)性,使得鑒別器網(wǎng)絡(luò)更傾向于從山水畫多尺度信息的相似性來判斷圖像的真假,提高了外推山水畫的質(zhì)量.
如圖5所示,整個鑒別器結(jié)構(gòu)由一個全局鑒別器和一個局部鑒別器組成.全局鑒別器共6層,局部鑒別器共5層,最后全局鑒別器和局部鑒別器通過一個連接層融合輸出.鑒別器網(wǎng)絡(luò)的每一層均采用標(biāo)準(zhǔn)的5×5卷積核,具體各參數(shù)詳見表2和表3所示:
Table 2 Parameters of Global Discriminator
Table 3 Parameters of Local Discriminator表3 局部鑒別器參數(shù)
本文研究的是中國山水畫的外推,需要從網(wǎng)絡(luò)上搜集足夠多的山水畫來訓(xùn)練BDFF-GAN網(wǎng)絡(luò).然而網(wǎng)絡(luò)直接獲取的山水畫存在分辨率較低和題字印章等問題,為了得到滿足要求的山水畫,就需要使用專門的圖像處理工具去除山水畫數(shù)據(jù)集中的非自然景觀,同時還要刪除內(nèi)容不清晰的畫作,最終得到“青綠”“淺絳”“水墨”3種色彩風(fēng)格的山水畫.本文使用的外推網(wǎng)絡(luò)模型,無論是生成器還是鑒別器,其內(nèi)核是1個卷積神經(jīng)網(wǎng)絡(luò),如果輸入的山水畫圖像大小不一致,卷積核的感受野獲取的信息就會存在差異.因此,本文將數(shù)據(jù)集中的圖像尺寸均調(diào)整為128×128像素大小.
Fig. 6 Preprocessing flow chart of Chinese landscape painting圖6 山水畫預(yù)處理流程圖
為了促進(jìn)和穩(wěn)定BDFF-GAN網(wǎng)絡(luò)訓(xùn)練過程,本文采用3階段的訓(xùn)練方式.3階段訓(xùn)練的損失函數(shù)分別如下:L1(x,z)用于約束生成器生成的外推山水畫與原作山水畫保持一致;LD(x,z)用于鑒別雙向解碼生成器生成的外推山水畫和原作山水畫;LG(x,z)用于對抗性地訓(xùn)練雙向解碼生成器和鑒別器.α是一個權(quán)衡L1(x,z)和LD(x,z)的可調(diào)超參數(shù),具體公式為:
L1(x,z)=‖Mask°(G(z)-x)‖1,
(2)
LD(x,z)=-lnD(x)-ln(1-D(G(z))),
(3)
LG(x,z)=L1(x,z)-α·lnD(G(z)),
(4)
第1階段訓(xùn)練雙向解碼生成器,根據(jù)L1(x,z)損失的變化來更新生成器的權(quán)重;第2階段訓(xùn)練鑒別器,根據(jù)LD(x,z)損失的變化來更新鑒別器的權(quán)重;第3階段用于對抗性地訓(xùn)練雙向解碼生成器和鑒別器,分別根據(jù)LG(x,z)損失和LD(x,z)損失的變化來更新雙向解碼生成器和鑒別器的權(quán)重.
本文在Google Colaboratory平臺下處理山水畫的訓(xùn)練數(shù)據(jù),并在預(yù)處理后的數(shù)據(jù)集上訓(xùn)練山水畫外推網(wǎng)絡(luò)BDFF-GAN,Batch的大小為16,訓(xùn)練方式采用的是由生成器優(yōu)化、鑒別器優(yōu)化以及生成器與鑒別器對抗優(yōu)化組成的3階段訓(xùn)練方式,3個階段的迭代次數(shù)分別為7 000次、4 000次以及1 000次,總計12 000次;網(wǎng)絡(luò)測試1幅山水畫需要花費1.6 s左右的時間.在Tensorflow實驗環(huán)境下配置GPU Tesla K80,使用Adam優(yōu)化器,權(quán)衡L1(x,z)和LD(x,z)的可調(diào)超參數(shù)α=0.000 4.
本次實驗共獲得山水畫1 426張,其中包含“青綠”“淺絳”“水墨”3種色彩風(fēng)格的山水畫.其中1 226張用作訓(xùn)練集,剩下的200張作為測試集.
4.2.1 本文算法單次外推結(jié)果
單次外推結(jié)果主要展示模型在輸入山水畫近端的學(xué)習(xí)效果,有原作圖像可作比較.圖7分別選擇了“青綠”“淺絳”“水墨”3種風(fēng)格的山水畫,展示了它們應(yīng)用本文BDFF-GAN網(wǎng)絡(luò)的外推效果圖.對比原作山水畫可以看出,輸入山水畫的外推部分與原作在內(nèi)容上是有差異的,網(wǎng)絡(luò)對測試數(shù)據(jù)的外推預(yù)測不可能與原作完全一致是合理的,雖然內(nèi)容有差異但是外推部分在筆觸手法上較為接近原作,同時空間結(jié)構(gòu)布局較為合理,整幅山水畫在語義內(nèi)容、風(fēng)格上都保持了較好的過渡性和一致性.表明BDFF-GAN網(wǎng)絡(luò)在輸入山水畫近端的學(xué)習(xí)和外推的效果較好.
Fig. 7 Single extrapolation effect by the proposed algorithm圖7 本文算法山水畫單次外推效果
Fig. 8 Acquisition of network test data圖8 網(wǎng)絡(luò)測試數(shù)據(jù)的獲取
正如引言所述,山石、云水以及植被是山水畫的3個主要繪制內(nèi)容,為了從客觀上評估山水畫外推效果,本文首先采用引入Rosenfeld等人[21]提出的粗糙度指標(biāo)衡量山石、云水以及植被3類繪制內(nèi)容在外推山水畫與原作山水畫上的差異.該指標(biāo)通過計算每個類別像素點水平和垂直方向灰度變化最大鄰域的均值差值,以反映類別的紋理信息.3個類別分割圖的獲取采用了文獻(xiàn)[2]提出的語義關(guān)聯(lián)的顏色像素聚類分割方法.
表4展示了外推山水畫與原作山水畫分別在山石、云水和植被上的粗糙度對比,可以看出本文的外推山水畫在紋理的粗糙度上與原作山水畫的差異較小,表明本文算法在3類繪制內(nèi)容上與原作山水畫的筆觸和紋理結(jié)構(gòu)是相類似的.
Table 4 Comparison of the Roughness Between the Original and the Extrapolated Result in the Three Types of Objects in Fig.7
4.2.2 本文算法遞歸外推結(jié)果
本文算法還可進(jìn)一步用于山水畫的遞歸外推,將1幅n×n大小的山水畫作為輸入,通過BDFF-GAN網(wǎng)絡(luò),預(yù)測其左右2邊n×m大小內(nèi)容,產(chǎn)生n×(n+2m)大小的外推山水畫;將前一次外推結(jié)果再放入BDFF-GAN網(wǎng)絡(luò),產(chǎn)生下一次遞歸外推結(jié)果.遞歸外推結(jié)果展示的是模型對輸入圖遠(yuǎn)端的學(xué)習(xí)和生成效果,更能反映模型對山水畫布局規(guī)律的學(xué)習(xí)效果和多尺度信息與布局的融合自然性.
圖8展示用于測試的非訓(xùn)練集手繪山水畫,以及遞推生成中輸入圖的截取過程.大小為128×128的原作是在手繪山水畫中通過下采樣得到的,所得數(shù)據(jù)放入BDFF-GAN網(wǎng)絡(luò)進(jìn)行遞歸測試.圖9展示山水畫遞歸外推3次后的效果,其中n=128和m=32.可以看到,圖9(a)外推出原作中不存在的內(nèi)容,圖9(b)和圖9(c)推出與原作不同的內(nèi)容,且其語義和筆法都較為一致和自然,表明網(wǎng)絡(luò)較好地學(xué)習(xí)到山水畫的布局規(guī)律以及邊界語義特征和輪廓信息,可以較為自然地模擬山水畫中山石、云水以及植被等自然景物特征.第1次外推后的語義內(nèi)容與其相鄰部分保持高度一致,即山石連接山石、云水連接云水等;同時,隨著遞歸次數(shù)的增加,山水畫的外推內(nèi)容能夠在不同語義內(nèi)容間合理、自然的轉(zhuǎn)換形成錯落有致的布局,如圖9(b)右側(cè)中的山石過渡到云水等,3次遞歸外推的結(jié)果與輸入的山水畫相比更加氣勢磅礴、內(nèi)容呼應(yīng)連貫、布局錯落有致以及在不同尺度的筆觸形態(tài)上也能做到統(tǒng)一和諧.
Fig. 9 Recursive extrapolation effect of landscape painting of proposed algorithm圖9 本文算法山水畫遞歸外推效果
為公平起見,本文選擇比較的論文是已開源的文獻(xiàn)[7,11,14],其余相關(guān)論文由于未開源暫時無法比較.
4.3.1 單次外推結(jié)果對比
本文算法與其他算法的單次外推結(jié)果對比如圖10所示.可以看出,文獻(xiàn)[11]算法的生成結(jié)果基本丟失了山水畫的語義特征,輪廓信息可以看到馬賽克似的圖案,整幅山水畫基本失去了藝術(shù)真實感;文獻(xiàn)[7]算法生成結(jié)果的景物紋理細(xì)節(jié)特征較文獻(xiàn)[11]算法為好,但仍然存在外推內(nèi)容不清晰等問題;文獻(xiàn)[14]算法有一定的學(xué)習(xí)山水畫特征的能力,但其生成結(jié)果在語義內(nèi)容和紋理細(xì)節(jié)方面表現(xiàn)得不夠理想,外推內(nèi)容無法完整地體現(xiàn)出山水畫的多尺度特點;而本文算法生成的外推山水畫不論是在整體布局還是在多尺度特征的效果上都優(yōu)于前3種算法,更具有藝術(shù)真實感.圖10中矩形框部分對比效果更明顯.
Fig. 10 Comparison of single extrapolation results between the proposed and other algorithms圖10 本文算法與其他算法單次外推結(jié)果對比
本文采用結(jié)構(gòu)相似性(structural similarity, SSIM)和峰值信噪比(peak signal to noise ratio, PSNR)這2個指標(biāo)[22]進(jìn)一步評估本文算法與其他算法的山水畫外推效果.SSIM是一種分別從亮度、對比度、結(jié)構(gòu)3方面度量圖像相似性的圖像質(zhì)量評價指標(biāo),取值范圍在0~1之間,其值越大表示圖像失真越小,圖像質(zhì)量更好;PSNR常作為一個衡量圖像失真的客觀標(biāo)準(zhǔn),其值越大,圖像保真性越好.表5展示了本文算法與其他算法的外推山水畫與原作山水畫之間的SSIM值以及PSNR值.可以看出除了1項PSNR指標(biāo)外,本文算法較文獻(xiàn)[7,11,14]算法更優(yōu).
Table 5 Comparison of the Results of the Proposed and Other Algorithms on the Two Indicators in Fig.10表5 本文算法和其他算法結(jié)果在圖10的2項指標(biāo)上的對比
Fig. 11 Comparison of the recursive generation effects of the proposed and other algorithms圖11 本文算法與其他算法遞歸生成效果對比
4.3.2 遞歸外推結(jié)果對比
圖11展示了本文算法和其他算法3次遞歸外推后的結(jié)果.可以看出,隨著遞歸次數(shù)的增加,文獻(xiàn)[11]算法生成的遞歸外推山水畫多處語義特征的丟失現(xiàn)象更明顯,外推內(nèi)容越來越模糊,不能在不同語義內(nèi)容間合理、自然的轉(zhuǎn)換,整幅山水畫失去了完整性、連貫性,不僅難以完成布局上的外推,在多個尺度上信息無法生成;文獻(xiàn)[7]算法生成結(jié)果基本能夠合理的過渡,但仍存在外推內(nèi)容模糊、山水畫內(nèi)容整體不連貫等問題;文獻(xiàn)[14]算法基本學(xué)習(xí)到山水畫的一些淺層特征,但在山水畫的布局方式和語義內(nèi)容過渡方面表現(xiàn)較差,其遞歸外展方式僅僅是機(jī)械式的復(fù)制黏貼;而采用本文算法在布局和多尺度特征外推上均表現(xiàn)較好,隨著遞歸次數(shù)的增加,山水畫外推的不同語義內(nèi)容仍然能保持較好的過渡性和協(xié)調(diào)一致性,并保證整幅山水畫的連貫性,且在不破壞山水畫整體性的情況下擴(kuò)大了山水畫的視野范圍.圖11中矩形框部分對比效果更明顯.
本文設(shè)計的UY-Net生成器具有雙向解碼及不同尺度特征融合的特點,為了驗證該生成器的效果,在整個算法中僅將生成器模塊UY-Net替換為U-Net,進(jìn)行消融實驗對比.
4.4.1 單次外推結(jié)果對比
采用UY-Net生成器和U-Net生成器的山水畫外推結(jié)果如圖12所示.可以看出,U-Net生成器基本學(xué)習(xí)到了山水畫的繪制特點與布局方式,但外推內(nèi)容仿佛披了一層輕紗,其能夠填補(bǔ)合理的語義結(jié)構(gòu)但是在視覺上不能取得令人愉悅的感受;而UY-Net生成器融合了山水畫不同語義內(nèi)容特征,以多尺度的方式恢復(fù)山水畫的紋理、線條等細(xì)粒度特征,一定程度上緩解了U-Net生成器所造成的不清晰問題.
為進(jìn)一步量化這2種方法在生成效果上的差異,本文采用基于圖像平均梯度的清晰度指標(biāo)對比其生成效果.一般而言,圖像平均梯度越大,表明圖像的層次越豐富、也更清晰.表6展示了2種生成器結(jié)果的圖像平均梯度值,可以看出UY-Net生成器的生成效果在大多數(shù)情況下優(yōu)于U-Net.
Fig. 12 Comparison of UY-Net and U-Net generator effects圖12 UY-Net和U-Net生成器效果對比
Table 6 Comparison of the Clarity of the Two Generators in Fig.12
4.4.2 遞歸外推結(jié)果對比
圖13展示了UY-Net生成器和U-Net生成器3次遞歸外推結(jié)果.可以發(fā)現(xiàn),隨著遞歸次數(shù)的增加,U-Net生成器的結(jié)果靠近外側(cè)的部分逐漸模糊,在不同語義內(nèi)容間不能很好地保持整幅山水畫的協(xié)調(diào)一致性,多次遞歸外推后不僅沒有增強(qiáng)山水畫的藝術(shù)真實性,反而破壞了山水畫的整體性;而本文設(shè)計的UY-Net生成器的外推效果在整體布局和多尺度方面都有較為明顯的提升.
Fig. 13 Comparison of recursive effects between UY-Net generator and U-Net generator圖13 UY-Net生成器和U-Net生成器的遞歸效果對比
Fig. 14 Schematic diagram of BDFF-GAN network modeling with adjustable layout圖14 布局可調(diào)的BDFF-GAN網(wǎng)絡(luò)建模示意圖
上述BDFF-GAN網(wǎng)絡(luò)在應(yīng)用時只能輸出1幅外推圖,缺乏多樣性和用戶參與的互動性.有鑒于此,本文進(jìn)一步擴(kuò)展了網(wǎng)絡(luò)的交互方式,引入了一種邊界弱引導(dǎo)的外推布局可調(diào)形式,具體方式是用戶給出外推部分的山石邊界引導(dǎo)線,網(wǎng)絡(luò)生成外推圖時會以用戶給出的線條作為山石部分的邊界線,其余部分則由算法自主生成.這種方式即可控制外推部分大致的布局走向,又不至于過度限制網(wǎng)絡(luò)的外推意向;而對用戶而言,僅僅提供簡單的線條也不會造成過多的負(fù)擔(dān),又能在應(yīng)用中豐富山水畫的多樣性和趣味性.
使用山石邊界線引導(dǎo)外推部分生成是一種有限制的山水畫外推問題,本文引入條件生成對抗網(wǎng)(conditional adversarial generative network,CGAN)[23]的思想,把帶有山石邊界引導(dǎo)線的輸入圖作為一種條件信息,和BDFF-GAN共同構(gòu)成布局可調(diào)的網(wǎng)絡(luò)結(jié)構(gòu),其總體網(wǎng)絡(luò)結(jié)構(gòu)建模示意圖如圖14所示.網(wǎng)絡(luò)訓(xùn)練建模過程中在原有的輸入z的基礎(chǔ)上,增加了原作山石粗邊界作為訓(xùn)練輸入,以學(xué)習(xí)輸入圖內(nèi)核的山水畫特征以及外推部分的引導(dǎo)線分布,外推出與原作相同筆觸形態(tài)和山石邊界的結(jié)果圖像.
圖15展示了配合不同的邊界引導(dǎo)線的同幅輸入山水畫內(nèi)核經(jīng)過已訓(xùn)練好的布局可調(diào)BDFF-GAN網(wǎng)絡(luò)得到的多樣化外推結(jié)果.可以看出,在輸入圖邊界引導(dǎo)線出現(xiàn)之處,外推圖都對應(yīng)著山脊線或山石輪廓,其余部分則由網(wǎng)絡(luò)自主推出,表明引導(dǎo)線能夠恰如其分地控制布局走向,但又不過多干涉其他外推內(nèi)容.布局可調(diào)的BDFF-GAN網(wǎng)絡(luò)增加了山水畫外推的藝術(shù)多樣性和交互性.在現(xiàn)實生活中可將其應(yīng)用在藝術(shù)繪畫布局構(gòu)思、仿真創(chuàng)作等方面.
Fig. 15 Diversified extrapolation results of BDFF-GAN network with adjustable layout圖15 布局可調(diào)的BDFF-GAN網(wǎng)絡(luò)多樣化外推結(jié)果
本文基于GAN設(shè)計一個新的雙向解碼特征融合的BDFF-GAN網(wǎng)絡(luò),通過此網(wǎng)絡(luò)可以實現(xiàn)大幅中國山水畫的生成.為增強(qiáng)山水畫不同尺度特征的傳遞與學(xué)習(xí),在現(xiàn)有U-Net網(wǎng)絡(luò)的基礎(chǔ)上提出一種雙向解碼特征融合的生成器UY-Net.同時,為提高外推山水畫的生成質(zhì)量,設(shè)計并采用全局鑒別器和局部鑒別器相結(jié)合的鑒別器網(wǎng)絡(luò)結(jié)構(gòu).實驗結(jié)果表明,本文提出的BDFF-GAN網(wǎng)絡(luò)能夠以多尺度的方式融合山水畫的邊界語義特征和輪廓信息,較自然地模擬山水畫中的不同語義內(nèi)容、細(xì)節(jié)特征和筆觸形態(tài),保持整幅山水畫的語義連貫性和不同語義內(nèi)容間合理的過渡,且在不破壞山水畫整體性的情況下擴(kuò)大了山水畫的視野范圍,增強(qiáng)了山水畫的觀賞效果.雖然本文算法生成的外推山水畫相對真實,但仍有需要深入研究和改進(jìn)的地方,如圖9中外推部分與輸入部分的清晰度不一致、圖7(a)中外推部分瀑布結(jié)構(gòu)的不完整性等問題.此外,本文設(shè)計外推邊界引導(dǎo)線的交互形式,實驗表明能夠擴(kuò)展上述BDFF-GAN網(wǎng)絡(luò)的生成多樣性和應(yīng)用互動性.后續(xù)工作將考慮在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計方面借助時間卷積網(wǎng)絡(luò)(temporal convolutional network, TCN)[24]的思想,例如在UY-Net生成器中引入殘差網(wǎng)絡(luò)和門卷積來增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)能力,提升山水畫遠(yuǎn)端的外推效果,并更多地收集不同風(fēng)格的山水畫作,結(jié)合圖像融合的思想對山水畫的長卷生成進(jìn)行研究;同時,也會借鑒文獻(xiàn)[25]提到的基于結(jié)構(gòu)感知的特定目標(biāo)移除工作,進(jìn)一步完善本文所設(shè)計引導(dǎo)線的功能,以實現(xiàn)更復(fù)雜的山水畫外推效果.
作者貢獻(xiàn)聲明:陳昭炯負(fù)責(zé)收集了重要的背景信息,并組織符濤、葉東毅參與本研究課題的確定;陳昭炯和葉東毅協(xié)助符濤進(jìn)行了數(shù)據(jù)的采集與處理、實驗設(shè)計以及實驗數(shù)據(jù)的分析;符濤起草了手稿,陳昭炯和葉東毅對手稿進(jìn)行修訂并確定終稿;全體作者對本研究課題的國內(nèi)外研究現(xiàn)狀進(jìn)行梳理并確定本課題的研究方法.