趙 靜,吳曉軍,楊紅紅,蘇玉萍
(陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)
書法藝術(shù)是中華民族文化最具代表性的標(biāo)志之一,它不僅在內(nèi)容上記錄了歷史文化、歷史事件、歷史環(huán)境,而且在書寫形式上也具有鮮明的歷史特色和個(gè)人特色[1-2]。傳統(tǒng)的書法家字體創(chuàng)作方法主要是通過現(xiàn)代書法家手工繪制字模,然后經(jīng)過數(shù)字化處理存儲(chǔ)在電腦中。手工創(chuàng)作一整套字體需要耗費(fèi)巨大的時(shí)間和人力,并且質(zhì)量不高。隨著現(xiàn)代計(jì)算機(jī)行業(yè)的發(fā)展,字型創(chuàng)作也有了新的方向。目前,字型創(chuàng)作主要分為兩類:基于形態(tài)學(xué)的字型創(chuàng)作和基于深度學(xué)習(xí)的字型創(chuàng)作?;谛螒B(tài)學(xué)的字型創(chuàng)作方法一般以特定字形為基礎(chǔ),通過改變或組合某些結(jié)構(gòu)特征和幾何形狀,設(shè)計(jì)出具有一定風(fēng)格特征的字型。2014年,栗青生等[3]提出基于特征加權(quán)的漢字點(diǎn)筆畫生成方法,在漢字字型生成的過程中,對(duì)相應(yīng)的特征點(diǎn)進(jìn)行加權(quán)來(lái)靈活控制漢字字型生成后筆畫的粗細(xì)、形狀和大小,從而提高漢字字型的生成效率。因該方法在漢字點(diǎn)筆畫生成過程中,需要對(duì)每一個(gè)漢字的每一個(gè)筆畫進(jìn)行參數(shù)設(shè)置,對(duì)于細(xì)節(jié)處理僅采用B樣式曲線方法,因此存在算法計(jì)算復(fù)雜、實(shí)時(shí)性差、樣式少等問題。為了解決此問題,熊晶等[4]提出基于字形動(dòng)態(tài)描述庫(kù)的Webfont 漢字生成方法,該方法中字型描述庫(kù)綜合每一個(gè)字型的所有特征點(diǎn),生成每個(gè)字型的基本骨架,然后通過抗鋸齒優(yōu)化、B樣條曲線和貝塞爾曲線對(duì)字型曲線進(jìn)行曲線生成和優(yōu)化,從而生成樣式更多的字型。但是,該方法需要對(duì)每一個(gè)字型進(jìn)行人工定位,同時(shí)當(dāng)某一個(gè)筆畫對(duì)應(yīng)大量特征點(diǎn)時(shí),進(jìn)行多段曲線生成會(huì)在曲線連接處產(chǎn)生多余筆畫。隨后,劉成東等[5]提出一種基于部件拼接的高質(zhì)量中文字庫(kù)自動(dòng)生成方法,該方法優(yōu)先選擇常用漢字,根據(jù)用戶書寫的少量漢字字型進(jìn)行部件分割,然后根據(jù)分割后生成的部件進(jìn)行不同比例的縮放拼接,最終生成完整的漢字。雖然,上述方法在一定程度上可以生成獨(dú)具風(fēng)格的漢字,但是在字體生成過程中需要進(jìn)行人工干預(yù),不能完全實(shí)現(xiàn)自動(dòng)化[5]。
隨著深度學(xué)習(xí)理論的提出和計(jì)算設(shè)備的改進(jìn),基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法廣泛應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域,一些學(xué)者將漢字字體生成問題轉(zhuǎn)化為風(fēng)格遷移問題[6-8],將字體生成視為漢字從一種字體到另一種字體的映射。Wen等[9]提出了基于卷積神經(jīng)網(wǎng)絡(luò)模型的協(xié)作字形生成架構(gòu),針對(duì)筆畫缺失問題,提出協(xié)作策略訓(xùn)練和筆畫修正技術(shù),同時(shí)利用數(shù)據(jù)增強(qiáng)技術(shù)來(lái)充分復(fù)用字體筆畫以減小訓(xùn)練集大小,使字形產(chǎn)生自適應(yīng)的預(yù)變形、標(biāo)準(zhǔn)化和配準(zhǔn)。傳統(tǒng)的風(fēng)格遷移主要是通過卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn),存在生成速度慢、生成圖片質(zhì)量不高等問題。生成對(duì)抗網(wǎng)絡(luò)的出現(xiàn)[10],為字體風(fēng)格遷移任務(wù)提供新的解決方案。生成對(duì)抗網(wǎng)絡(luò)在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中加入鑒別器網(wǎng)絡(luò),并通過對(duì)抗訓(xùn)練,提高圖片生成效果。Isola等[11-12]提出基于條件對(duì)抗網(wǎng)絡(luò)的圖片到圖片的轉(zhuǎn)換方法Pix2pix,在網(wǎng)絡(luò)輸入端增加特定的額外信息y,實(shí)現(xiàn)端到端的圖像轉(zhuǎn)換,但是存在圖片細(xì)節(jié)模糊的問題。Azadi等[13]提出基于GlyphNet和OrnaNet兩個(gè)生成對(duì)抗網(wǎng)絡(luò)的Multi-Content GAN,用于字體輪廓生成和紋理生成。但是Multi-Content GAN針對(duì)英文字母的字體生成,由于英文字母與漢字字體差異較大,漢字結(jié)構(gòu)繁多,細(xì)節(jié)更復(fù)雜,因此該方法在漢字字體生成方面具有一定的局限性。針對(duì)漢字字體的生成,Tian[14]提出Zi2zi經(jīng)典字體生成網(wǎng)絡(luò),并采用多種損失函數(shù)同時(shí)對(duì)生成結(jié)果進(jìn)行修正。Jiang等[6]提出基于生成對(duì)抗網(wǎng)絡(luò)的DCFont網(wǎng)絡(luò),生成器利用兩個(gè)獨(dú)立的卷積神經(jīng)網(wǎng)絡(luò)分別對(duì)字體的內(nèi)容和風(fēng)格進(jìn)行編碼,然后再進(jìn)行連接解碼和特征重構(gòu),從而實(shí)現(xiàn)字體生成,但是兩個(gè)獨(dú)立網(wǎng)絡(luò)參數(shù)過多、訓(xùn)練復(fù)雜。Chang等[15]提出一種基于分層生成對(duì)抗網(wǎng)絡(luò)的字體生成方法,通過引用分層生成器與分層鑒別器,提取局部特征與整體特征,從而生成更高質(zhì)量的漢字字體。Lin等[16]提出基于最小二乘生成對(duì)抗生成網(wǎng)絡(luò)的字體生成方法,讓訓(xùn)練更加穩(wěn)定,但是需要提前對(duì)筆畫進(jìn)行處理。Wen等[17]提出基于協(xié)同筆畫的字體生成方法,但是這種方法需要對(duì)每種筆畫的不同風(fēng)格進(jìn)行提取,而書法字體具有不同風(fēng)格,筆畫多變并且連筆情況較多,無(wú)法準(zhǔn)確提取。此外,這些方法大多針對(duì)硬筆書法,對(duì)于書法字體生成具有局限性,同時(shí)這些方法網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,不易訓(xùn)練。
綜上,目前主流的漢字字體生成方法存在字體結(jié)構(gòu)模糊、筆畫細(xì)節(jié)不清晰、生成字體質(zhì)量不高以及生成字體庫(kù)不完整等問題。當(dāng)前的漢字字體生成方法大多采用硬筆書法,而書法大家多采用毛筆或雕刻,對(duì)細(xì)節(jié)有更高的要求,為了更好地進(jìn)行書法家字體的遷移學(xué)習(xí),實(shí)現(xiàn)高質(zhì)高量的書法字體自動(dòng)生成,本文提出一種基于殘差單元的生成對(duì)抗網(wǎng)絡(luò)漢字生成模型,該方法首先以Zi2zi網(wǎng)絡(luò)為骨干網(wǎng)絡(luò),構(gòu)建基于殘差單元的生成器,優(yōu)化字體生成效果;其次,對(duì)骨干網(wǎng)絡(luò)中的編碼器進(jìn)行修正,將其低層中的卷積層修改為殘差單元以捕獲更豐富的字體細(xì)節(jié)特征;然后設(shè)計(jì)三要素?fù)p失函數(shù),克服生成字體模糊問題,提高生成字體效果;最后,通過對(duì)抗訓(xùn)練對(duì)不同書法家字體進(jìn)行學(xué)習(xí)。通過實(shí)驗(yàn),本文所提出的方法可以實(shí)現(xiàn)書法風(fēng)格漢字字體的自動(dòng)生成,并且生成的字體效果優(yōu)于其他經(jīng)典算法,生成的字體不僅結(jié)構(gòu)清晰、線條優(yōu)美,而且更接近真實(shí)書法風(fēng)格。此外,通過對(duì)字體進(jìn)行大規(guī)模字庫(kù)生成,利用MOS指標(biāo)進(jìn)行質(zhì)量評(píng)價(jià),進(jìn)一步證明本文方法具有生成完整字體庫(kù)的能力。
本文以Zi2zi為骨干網(wǎng)絡(luò),該網(wǎng)絡(luò)是基于條件對(duì)抗網(wǎng)絡(luò)的字體風(fēng)格轉(zhuǎn)換方法,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。該網(wǎng)絡(luò)由兩部分組成:生成器G和鑒別器D,生成器G采用U-Net結(jié)構(gòu),由編碼器和解碼器組成,其學(xué)習(xí)源字體圖像到目標(biāo)字體的映射;鑒別器D為全卷積網(wǎng)絡(luò),用來(lái)計(jì)算目標(biāo)字體與生成器生成字體的真假概率。網(wǎng)絡(luò)訓(xùn)練時(shí),鑒別器增強(qiáng)自身鑒別數(shù)據(jù)真假的能力,而生成器逐漸生成足夠逼真的字體樣本以欺騙鑒別器,隨著兩者交替訓(xùn)練,最終生成器和鑒別器會(huì)達(dá)到 “納什均衡”,即鑒別器可以正確區(qū)分生成字體與真實(shí)字體,而生成器可以生成足夠逼真的字體樣本以欺騙鑒別器,網(wǎng)絡(luò)停止訓(xùn)練,最終實(shí)現(xiàn)字體生成。
圖1 Zi2zi網(wǎng)絡(luò)
基于條件對(duì)抗網(wǎng)絡(luò)的漢字風(fēng)格轉(zhuǎn)換方法Zi2zi可以實(shí)現(xiàn)字體的風(fēng)格轉(zhuǎn)換,但是存在圖片細(xì)節(jié)特征缺失、生成效率慢等問題。針對(duì)以上問題,本文提出一種基于殘差網(wǎng)絡(luò)的生成對(duì)抗網(wǎng)絡(luò)模型的書法字體生成方法,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。該模型采用編碼器-解碼器結(jié)構(gòu),其編碼器分為兩階段:首先是五層傳統(tǒng)卷積結(jié)構(gòu),之后進(jìn)行五層殘差與卷積交替操作,同時(shí)與解碼器進(jìn)行跳躍連接來(lái)更好地捕捉細(xì)節(jié)特征。針對(duì)網(wǎng)絡(luò)生成效率慢的問題,本文通過構(gòu)造三要素?fù)p失函數(shù),添加重構(gòu)損失、對(duì)抗損失和L1損失作為總體損失函數(shù),達(dá)到提高網(wǎng)絡(luò)生成速率的目的。
圖2 基于殘差網(wǎng)絡(luò)的生成對(duì)抗網(wǎng)絡(luò)
在進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí),首先輸入源字體圖片,通過生成器進(jìn)行下采樣操作,對(duì)輸入字體圖片進(jìn)行降維處理并提取字體中的有效信息,然后經(jīng)過殘差單元增加字體特征多樣性,再經(jīng)過上采樣層放大圖像,輸出與源字體圖片同樣格式的圖片。隨后,將生成器生成的圖片分別輸入生成器和鑒別器網(wǎng)絡(luò)進(jìn)行重構(gòu),并判斷字體為真的概率。最后,經(jīng)過損失函數(shù)反向傳遞更新網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)書法字體的自動(dòng)生成。
如圖3所示,傳統(tǒng)的殘差單元[18]通常由兩個(gè)卷積層和殘差輸入組成,通過近路連接(shortcut)進(jìn)行恒等映射y=F(x)+x形成,但是這種經(jīng)典的殘差網(wǎng)絡(luò)卷積核尺寸過大,使參數(shù)增多,會(huì)造成網(wǎng)絡(luò)不易訓(xùn)練的問題。
圖3 傳統(tǒng)的殘差單元
因此,本文提出改進(jìn)的殘差單元,如圖4所示。改進(jìn)殘差單元包括3個(gè)分支:恒等映射分支、卷積分支和池化分支,同時(shí)將多分析信息進(jìn)行融合,并利用1×1的卷積進(jìn)行通道降維,在降低網(wǎng)絡(luò)參數(shù)的同時(shí)更好地保存漢字結(jié)構(gòu)和細(xì)節(jié)特征。改進(jìn)殘差單元的計(jì)算公式如下:
圖4 改進(jìn)的殘差單元
fout=σ(Conv1D(x,f卷積(x),f池化(x)))。
(1)
其中:fout表示改進(jìn)殘差單元的輸出;Conv1D表示一維卷積;x代表改進(jìn)殘差單元的輸入;f卷積(x)代表卷積分支的輸出;f池化(x)表示池化分支的輸出;σ表示激活函數(shù)。本文激活函數(shù)采用帶泄露修正線性單元(leaky ReLU)的激活函數(shù)
(2)
其中:z為函數(shù)輸入值;leaky ReLU通過給所有負(fù)值賦予一個(gè)非零斜率α,進(jìn)行神經(jīng)元的激活,使其導(dǎo)數(shù)恒不為零,保留更多的字體細(xì)節(jié)。
在骨干網(wǎng)絡(luò)中,生成器僅采用U-Net編碼-解碼結(jié)構(gòu),無(wú)法完整表達(dá)漢字結(jié)構(gòu),在生成字體過程中,會(huì)出現(xiàn)細(xì)節(jié)缺失的問題。因此,本文方法在原生成器的編碼器低層添加兩層殘差單元,組成5層卷積與殘差單元交替結(jié)構(gòu),并將編碼器與解碼器利用跳躍連接相連,最終構(gòu)成基于殘差的生成器,以更好地保存漢字結(jié)構(gòu)和細(xì)節(jié)特征,其網(wǎng)絡(luò)結(jié)構(gòu)及網(wǎng)絡(luò)輸入及輸出參數(shù)如圖5所示。
圖5 基于殘差的生成器
在Zi2zi中,損失函數(shù)由對(duì)抗損失、L1損失構(gòu)成。對(duì)抗損失分別計(jì)算鑒別器D產(chǎn)生的對(duì)抗損失,L1損失計(jì)算生成圖片與真實(shí)圖片的差距。本文損失函數(shù)增加重構(gòu)損失,提高網(wǎng)絡(luò)生成效率。生成對(duì)抗網(wǎng)絡(luò)不同于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),其訓(xùn)練過程中生成器參數(shù)的更新來(lái)自于鑒別器的反向傳遞,因此對(duì)抗損失函數(shù)定義為
Ex~pdata(x)[logD(x)]+
Ez~pz(z)[log(1-D(G(z)))]。
(3)
其中:x表示真實(shí)圖片數(shù)據(jù)分布;z表示輸入生成器G的隨機(jī)噪聲;pdata(x)表示真實(shí)的數(shù)據(jù)分布;pz(z)表示輸入噪聲z的數(shù)據(jù)分布;G(z)表示生成器G生成圖片的數(shù)據(jù)分布;D(·)表示鑒別器D判斷圖片是否真實(shí)的概率;E(·)表示分布函數(shù)的期望值。在此,鑒別器的目的是使D(x)接近1,而使D(G(z))接近于0。因此,鑒別器D要最大化損失函數(shù),生成器G要最小化該損失函數(shù)。
L1損失是生成器生成的假圖片與真實(shí)數(shù)據(jù)的絕對(duì)差值,公式為
LL1=|Gn(z|y)-xn|。
(4)
其中:Gn(z|y)表示經(jīng)過增加條件信息y后生成器生成的第n個(gè)假數(shù)據(jù);xn表示第n個(gè)真實(shí)數(shù)據(jù)。
由于L1損失計(jì)算生成圖片與真實(shí)圖片之間基于像素的差值,其容易造成生成圖片模糊的問題,因此為了保證生成圖片的質(zhì)量,進(jìn)一步提高生成效率,本文引入重構(gòu)損失,定義為
Lr=Ez,y[‖G(z|G(z|y)),G(z|y))‖MSE]。
(5)
重構(gòu)損失用來(lái)計(jì)算重建圖像G(z|G(z|y)與生成圖像G(z|y)的損失,損失采用均方誤差MSE計(jì)算。因此,本文基于三要素?fù)p失函數(shù)的總目標(biāo)函數(shù)為
L=LcGAN(G,D)+λ1LL1(G)+λ2Lr(G)。
(6)
在深度學(xué)習(xí)訓(xùn)練時(shí),需要使用大量的訓(xùn)練數(shù)據(jù)。由于傳統(tǒng)書法字體生成方向目前沒有公開的數(shù)據(jù)集,本文源字體采用默認(rèn)黑體字體,生成的目標(biāo)字體選擇顏真卿顏體、歐陽(yáng)詢楷體、啟功簡(jiǎn)體和文征明小楷四種字體。在建立數(shù)據(jù)集時(shí),由于目標(biāo)字體是根據(jù)古代書法家書寫的原稿后期制作而成,目標(biāo)字體字庫(kù)中會(huì)缺失部分漢字。因此,本文在不同字體中選擇數(shù)據(jù)時(shí),選取源字體和目標(biāo)字體中相同的字型作為數(shù)據(jù)集。如圖6所示,每?jī)闪袨橐唤M,每組左側(cè)為源字體,右側(cè)為目標(biāo)字體。
圖6 書法字體數(shù)據(jù)集
3.2.1 實(shí)驗(yàn)過程 本文實(shí)驗(yàn)使用的操作系統(tǒng)為Ubuntu 16.06,圖像處理器(GPU)采用NVIDIA GTX 1080Ti,網(wǎng)絡(luò)框架使用基于GPU版本的Tensorflow1.2深度學(xué)習(xí)框架。實(shí)驗(yàn)數(shù)據(jù)從制作的數(shù)據(jù)集中隨機(jī)選取900個(gè)作為訓(xùn)練樣本,設(shè)置圖片大小為256×256像素,迭代次數(shù)為500,批處理大小設(shè)為16,初始化學(xué)習(xí)率為0.001?;诒疚牡木W(wǎng)絡(luò)結(jié)構(gòu)對(duì)4種不同風(fēng)格字體進(jìn)行訓(xùn)練學(xué)習(xí)。
3.2.2 對(duì)比方法與評(píng)估指標(biāo) 為了驗(yàn)證本文方法的有效性,本文采用消融實(shí)驗(yàn)定性分析網(wǎng)絡(luò)中的殘差單元和損失函數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響。此外,為了進(jìn)一步驗(yàn)證本文方法的可行性,本文除了主觀的定性分析外,以均方誤差MSE和SSIM為衡量指標(biāo)進(jìn)行定量分析,判定網(wǎng)絡(luò)訓(xùn)練生成效果,與其他2種經(jīng)典圖像生成算法:Pix2pix和CycleGan進(jìn)行對(duì)比分析。此外,為了探究在完整字體庫(kù)生成方面本文所提出方法的有效性,本文對(duì)字體進(jìn)行大規(guī)模生成,并通過MOS指標(biāo)對(duì)生成字體庫(kù)進(jìn)行評(píng)價(jià)。
3.3.1 消融實(shí)驗(yàn)分析 本文在骨干網(wǎng)絡(luò)的基礎(chǔ)上增加了殘差單元結(jié)構(gòu),為了分析殘差單元對(duì)字體生成效果的影響,在不改變其他網(wǎng)絡(luò)結(jié)構(gòu)的條件下,對(duì)本文方法和骨干網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)對(duì)比。以生成文征明的字體為例,對(duì)比結(jié)果如圖7所示。實(shí)驗(yàn)結(jié)果表明,本文提出方法相對(duì)于骨干網(wǎng)路Zi2zi具有更好的生成效果,并且增加殘差單元的效果優(yōu)于去掉殘差單元的效果,且噪聲更少。
圖7 殘差單元分析
為了探究本文所提出的三要素?fù)p失函數(shù)對(duì)字體生成效果的影響,以文征明字體為例,損失函數(shù)消融分析結(jié)果如圖8所示。通過結(jié)果圖可以發(fā)現(xiàn),當(dāng)三要素?fù)p失函數(shù)共同作用時(shí),生成效果明顯好于只有一種損失函數(shù)或某兩種損失函數(shù)作用時(shí),只有一種損失函數(shù)或某兩種損失函數(shù)作用時(shí),生成的字體會(huì)產(chǎn)生筆畫缺失等問題,如圖8中第二行和第四行的“趟”字。
圖8 損失函數(shù)分析
3.3.2 與主流算法的對(duì)比分析 將本文算法與骨干網(wǎng)絡(luò)Zi2zi及其他2種經(jīng)典的圖像生成算法Pix2pix和CycleGan[19]進(jìn)行對(duì)比試驗(yàn)定性分析,實(shí)驗(yàn)結(jié)果如圖9所示。
圖9 實(shí)驗(yàn)結(jié)果對(duì)比
通過圖9可以看出,在學(xué)習(xí)顏真卿顏體、歐陽(yáng)詢楷體、啟功簡(jiǎn)體和文征明小楷4種風(fēng)格字體時(shí),本文算法能夠?qū)崿F(xiàn)字體生成中對(duì)字型和風(fēng)格輪廓的特征學(xué)習(xí),字體生成效果明顯優(yōu)于其他3種算法。本文將殘差單元融入卷積網(wǎng)絡(luò),同時(shí)重新構(gòu)造基于三要素的損失函數(shù),實(shí)現(xiàn)對(duì)字體細(xì)節(jié)的準(zhǔn)確描述。實(shí)驗(yàn)結(jié)果表明,本文方法在生成字體字型結(jié)構(gòu)和筆畫細(xì)節(jié)等方面具有較好的效果,字型結(jié)構(gòu)更清晰,細(xì)節(jié)更逼真,其生成字體效果基本與目標(biāo)字體媲美;而Pix2pix和CycleGan兩種方法生成存在明顯的字體結(jié)構(gòu)模糊、筆畫細(xì)節(jié)不清晰等問題,這是由于Pix2pix僅采用對(duì)抗損失和L1損失進(jìn)行優(yōu)化,無(wú)法控制字體細(xì)節(jié);CycleGan網(wǎng)絡(luò)為無(wú)監(jiān)督學(xué)習(xí),對(duì)于漢字生成具有局限性。骨干網(wǎng)絡(luò)Zi2zi在特征提取中僅使用普通的卷積網(wǎng)絡(luò),存在對(duì)字體特征細(xì)節(jié)描述不準(zhǔn)確,生成字體模糊的問題。
定量分析如表1所示,本文所構(gòu)建的網(wǎng)絡(luò)優(yōu)于其他方法,具有最低的MSE值和最高的SSIM值,表明本文所提出的算法具有較好的字體生成效果。
表1 定量測(cè)量結(jié)果
3.3.3 MOS評(píng)價(jià)指標(biāo) 本文以啟功字體和文征明字體為例,利用所提出的算法進(jìn)行字庫(kù)完整生成,目前實(shí)驗(yàn)生成7 552個(gè)啟功字體和文征明字體,利用MOS指標(biāo)對(duì)生成字體進(jìn)行人工評(píng)判。其中,每一項(xiàng)的最高評(píng)分為5分,最低評(píng)分為0分,分值越高,代表字體的效果越好。請(qǐng)5名書法老師和10名具有研究生學(xué)歷的評(píng)估者分別對(duì)生成字體進(jìn)行評(píng)分,計(jì)算每個(gè)字的MOS值,以總體平均分作為生成字體庫(kù)的最終得分,結(jié)果見表2。同時(shí),對(duì)字庫(kù)進(jìn)行統(tǒng)計(jì)分析,如圖10所示,本文算法生成字體具有良好的生成效果,超過生成字庫(kù)總數(shù)55%的字體MOS評(píng)分在3分以上,符合實(shí)際應(yīng)用的需求。
圖10 生成字體失敗示例
表2 MOS評(píng)價(jià)結(jié)果
此外,通過對(duì)字庫(kù)的擴(kuò)充實(shí)驗(yàn)發(fā)現(xiàn),本文方法仍有不足之處,生成字體失敗示例如表3所示。當(dāng)字體筆畫稠密或者字形復(fù)雜時(shí),網(wǎng)絡(luò)對(duì)特征學(xué)習(xí)存在困難,生成的字體雖然具有書法風(fēng)格,但是字體筆畫細(xì)節(jié)存在模糊問題,因此網(wǎng)絡(luò)在極精細(xì)的字體細(xì)節(jié)生成方面還有待改進(jìn)。
表3 MOS統(tǒng)計(jì)
本文針對(duì)傳統(tǒng)書法字體生成問題,提出了一種基于殘差單元的生成對(duì)抗網(wǎng)絡(luò)的書法風(fēng)格字體生成方法,該方法通過生成器與鑒別器對(duì)抗訓(xùn)練,學(xué)習(xí)書法字形的特征。通過建立4種不同風(fēng)格的書法字體數(shù)據(jù)集并進(jìn)行實(shí)驗(yàn),結(jié)果表明本文算法在書法字體生成方面具有很好的效果,能夠?qū)崿F(xiàn)字體細(xì)節(jié)的描述,解決生成字體結(jié)構(gòu)模糊、筆畫細(xì)節(jié)不清晰的問題。本文方法不僅能夠生成高質(zhì)量的字體,而且可以應(yīng)用于完整字體庫(kù)的生成,在一定程度上具有補(bǔ)充字體庫(kù)的能力。