?

基于改進條件生成對抗網絡的字體風格遷移算法

2024-03-25 01:58王存睿戰國棟
大連民族大學學報 2024年1期
關鍵詞:字體解碼損失

趙 明,王存睿,戰國棟

(大連民族大學a.計算機科學與工程學院b.設計學院;c.大連市漢字計算機字庫設計技術創新中心,遼寧 大連 116650)

設計一套新的中文字體對于設計師來說需要耗費大量的時間,因此現在很多工作通過算法自動進行字體設計。然而不同于英文字母的風格遷移或者其他風格遷移任務,漢字結構復雜、筆畫豐富而且不同字體都有自己獨特的風格,因此漢字的風格遷移是一項很艱難的工作。

1 研究現狀

1.1 字體風格遷移任務現狀

現有的漢字風格遷移方法可以分為通過神經網絡學習筆畫的組合方式和基于端到端網絡進行圖像生成兩大類。

第一類方法將漢字看作各種筆畫的組合,通過神經網絡學習漢字的各種結構信息,并通過生成目標字體的部件以組合的方式得到目標字體。Junbum等人[1]通過引入部件復用的概念,通過提出的一種具有類似存儲器功能的部件分析模塊,在訓練的過程中學習不同部件的特征,在解碼時從其中取出對應部件的特征組合成目標字體;Xie等人[2]提出很多字體的風格可以通過標準字體經過變換得到,因此他們提出引入可變形卷積對輸入字的特征進行處理,通過對齊標準字和目標風格字的特征進行字體的風格遷移;Tang等人[3]的方法同樣使用基于部件復用的方法進行目標風格字體的生成,通過引入交叉注意力機制使模型能夠更好地匹配內容字和風格字的空間特征,使目標字體的部件能夠準確地遷移到源字體的對應部位。

另一類方法基于端到端的神經網絡,通常使用編碼器-解碼器的結構直接將輸入的源字體圖像轉換為目標字體,這類方法通常使用生成對抗網絡[4]的方式進行訓練。Zi2Zi[5]是這類方法的代表,它基于Pix2Pix[6]的網絡結構進行改進,訓練U-Net結構的生成器使其能夠輸入一個標準漢字得到一個具有特定風格的漢字。Wen等人[7]引入了循環生成對抗網絡[8]的模式,加入了一組額外的生成器和判別器,使生成的目標風格字體映射回原來的字體,通過循環一致性的方式約束目標風格字體的生成質量。

1.2 現有字體風格遷移方法的不足

現有的字體風格遷移方法很難收斂,例如將源字體圖像經過編碼器進行編碼,再將其解碼成目標字體圖像。由于這個過程需要處理很多細節和復雜性,所以需要大量的數據和時間進行訓練。

4、及時與學生家長溝通,共商良策。當深入了解情況,發現問題源地、中心人物以及迷信思想都來自于學生老家,一個人的出生地文化決定了我們的性格特征、行事風格和思維方式,我選擇聯系學生的母親,利用長輩和親情的力量去感召學生。

現有的字體風格遷移方法難以處理復雜的字體結構,例如帶有特殊符號或復雜曲線的字體。這是因為傳統的方法主要基于對圖像的像素級別處理,難以準確捕捉字體的結構和形狀。

1.3 本文主要研究內容

本文采用條件生成對抗網絡的方式訓練端到端的字體風格遷移網絡,通過知識蒸餾技術[9]將經過預訓練的目標風格字體圖像重建網絡的特征信息引入字體風格遷移網絡,使網絡更好地學習目標字體的特征解碼方式。同時結合邊緣平滑損失和感知損失[10]使生成的目標字體更加真實。

2 基于知識蒸餾的字體風格遷移算法

本文提出的字體風格遷移網絡結構如圖1。字體風格遷移網絡使用與Zi2Zi相同的結構,通過條件生成對抗網絡的方式訓練生成器作為字體風格遷移網絡。為了能夠更好地將編碼器提取的特征解碼為目標風格字體,本文引入一個經過預訓練的目標風格字體圖像重建模型作為教師網絡,以知識蒸餾中的特征蒸餾[11]方式使作為學生網絡的字體風格遷移網絡能夠更好地將特征解碼為目標風格字體。同時為了使生成的目標字體邊緣更加平滑,本文使用邊緣平滑損失使網絡更加關注梯度變化較大位置的生成,并且引入了感知損失使生成的目標風格字體圖像更加真實。

圖1 基于知識蒸餾的字體風格遷移網絡結構

2.1 生成對抗網絡結構

本文的生成對抗網絡結構屬于條件生成對抗網絡[12],以源風格字體圖像作為生成器的輸入來生成目標風格字體,使用PatchGAN結構[6]的判別器判斷生成質量。

生成器的結構如圖2。是一個編碼器-解碼器結構的U-Net[13]網絡,網絡的輸入為單通道源字體圖像,編碼器將輸入圖像下采樣到較低的特征空間,解碼器再將其上采樣回原始圖像大小并輸出為目標風格字體圖像。具體來說,生成器的網絡結構由8組跳躍連接模塊組成,每組跳躍連接模塊包括一個下采樣卷積層、一個上采樣卷積層以及相應的批歸一化層。其中,下采樣卷積層使用 LeakyReLU 作為激活函數,以2為步幅降低圖像尺寸;上采樣卷積層使用 ReLU 作為激活函數,以2為步幅還原圖像尺寸。批歸一化層的作用是在訓練過程中加速收斂,并且有效避免過擬合等問題的發生。此外,編碼器每一層都有一個跳躍連接,將編碼器中同一層級的特征與解碼器中對應位置的特征相連,這種跳躍連接能夠幫助網絡保留較低層的細節信息。

圖2 生成器網絡結構

本文的判別器如圖3。它采用的PatchGAN結構是一種基于區域的判別器結構,它將輸入的生成目標風格字體圖像或者真實的目標風格字體圖像分成N×N個區域,并對每個區域進行二分類真假判別。具體來說判別器的結構是一個全卷積網絡,由卷積層、LeakyReLU 激活函數以及批歸一化層堆疊而成,最后一個卷積層的輸出通道數為 1,其中的值對應每個區域的真假判斷。通過這種結構設計,PatchGAN結構的判別器可以為圖片不同尺度的局部信息判斷真假,具有更強的判別能力。

圖3 PatchGAN判別器網絡結構

2.2 知識蒸餾教師網絡模塊

教師網絡采用與字體風格遷移網絡中的生成器結構相同的U-Net結構,輸入目標風格字體圖像并通過均方誤差損失約束使其能夠重建為輸入圖像,在這個過程中模型能夠很好地學習到將目標風格字體進行特征編碼并解碼為目標風格字體的能力。而字體風格遷移網絡中的編碼器學習如何將源字體編碼為特征圖,解碼器學習如何將特征圖解碼為目標風格字體,其中解碼器部分可以通過特征蒸餾的方式學習教師網絡的解碼器的特征解碼方式,獲得更好的目標風格字體生成能力。

2.3 損失函數設計

本文使用的損失函數主要包括GAN損失函數、L1損失函數、特征蒸餾損失函數以及感知損失函數。

其中GAN損失函數與條件生成對抗網絡的損失函數相同,通過判別器將生成器生成的目標風格字體圖像與真實的目標風格字體圖像進行對比,以此來鼓勵生成器生成逼真的目標風格字體圖像,這一損失函數的公式如下:

LcGAN(G,D)=Ex,y[logD(x,y)+Ex,z[log(1-D(x,G(x,z)))]。

(1)

式中,x表示輸入的源風格字體圖像,y表示目標風格字體圖像。生成器的目標是生成判別器認為真實的目標圖像,判別器的目標則是準確判斷輸入的圖像是真實的目標風格字體圖像還是生成的目標風格字體圖像。

然而生成器的目標不僅成功欺騙判別器,還需要使生成圖像接近目標圖像,因此同樣需要加入其他的圖像相似性損失函數,相對于L2損失,L1損失能夠鼓勵網絡減少圖像中的模糊區域,因此本文選擇使用L1損失函數約束生成圖像與目標圖像的相似性,L1損失函數的公式如下:

(2)

GAN損失函數和L1損失函數的優化目標都是使最終的輸出結果,特征蒸餾損失可以直接約束網絡中間的特征層,使網絡能夠更加直接地學習教師網絡的特征處理能力,能夠更高效地訓練網絡,本文使用的特征蒸餾損失函數如下所示:

(3)

其中p和q分別表示教師和學生的特征圖分布,本文選擇的是對8層解碼器上采用網絡的特征進行約束。

現有的字體風格遷移方法如Zi2Zi的生成結果邊緣處存在不平滑的情況,為了使生成的字體邊緣更加真實,本文引入邊緣平滑損失,通過對生成圖像與真實目標圖像的梯度進行加權,使網絡對于高梯度處也就是邊緣位置的生成更加謹慎,減少生成帶來的噪聲,使生成更加真實,邊緣平滑損失的計算方式如下所示:

(4)

為了使圖像生成得更加真實,本文還使用了基于VGG19[14]的感知損失,感知損失通過預訓練的VGG19模型提取圖像的高維特征表示,高維特征包含了豐富的圖像結構與內容信息,可以很好地約束生成的目標風格字體圖像與真實的目標風格字體圖像之間的一致性。本文使用的VGG19感知損失函數如下所示:

(5)

式中:φ表示本文使用VGG19網絡結構;表示網絡的層數;φi(I)表示第i層網絡輸出的特征;λi表示對應的權重。

本文字體風格遷移網絡的損失函數如下所示:

LT=α1LcGAN+α2LL1+α3Lf+α4Ls+α5Lp。

(6)

其中α1為15,α2為100,α3為100,α4為100,α5為1。

2.4 評價指標

為了更客觀地評估本文方法的性能,除了將生成結果可視化的定性實驗,本文還通過均方根誤差(RMSE)和像素誤差率(PDR)兩個指標作為評估標準進行定量實驗對本文方法進行實驗評估。

3 實驗與結果分析

為了評估本文方法的性能,本文構建了具有多種風格字體的數據集,其中包括印刷體如宋體、黑體以及手寫體如楷體等,通過對生成結果進行可視化以及使用均方根誤差和像素誤差率兩個定量指標對生成結果進行客觀評價。

3.1 實驗數據集與實驗環境

使用宋體作為源風格字體,目標風格字體選擇了黑體用以測試對印刷體的生成能力以及楷體測試針對手寫體生成能力,隨機選擇了3 000個漢字生成了三種字體的相對應圖像進行訓練和測試,其中用于訓練和測試的數據比例為9:1,漢字圖像均為單通道的二值圖。

本文使用Pytorch框架搭建字體風格遷移網絡,選擇Adam優化器對模型進行訓練,初始學習率設置為0.001,每20輪訓練衰減為原來的一半,共進行100輪訓練,批大小設置為32。本次實驗的運行環境為Ubuntu 16.04系統,Intel(R) Xeon(R) E5-2673 CPU,英偉達GeForce GTX 1080 Ti GPU。

3.2 實驗結果與分析

對于源字體為宋體,目標字體分別為黑體和楷體的風格遷移實驗結果分別如圖4~5??梢钥吹絑i2Zi的生成結果在字體的邊緣以及結構復雜、筆畫緊湊的漢字(如“嬤”)位置處理地不夠好,而本文的方法能夠更好地生成邊緣平滑、結構清晰且更加真實的目標風格字體。

圖4 宋體轉換成黑體的生成結果

圖5 宋體轉換成楷體的生成結果

根據主觀判斷,本文的字體風格遷移結果相比于Zi2Zi在細節處更加真實且文字的邊緣更加清晰。

除了主觀評價,本文還采用均方根誤差(RMSE)和像素誤差率(PDR)兩個客觀指標評估生成結果。RMSE通過生成圖像的整體觀感進行評價,PDR通過漢字圖像的像素點位置的誤差率評估生成效果,RMSE和PDR的計算方式如下所示:

(7)

(8)

式中:f和r分別表示生成圖像(fake)和真實圖像(real)的2維向量;兩幅圖像中對應位置的像素值分別用fi,j和ri,j表示;M和N代表圖像在兩個維度上的像素點總數。I{·}在fi,j=ri,j時值為1,否則為0。RMSE、PDR值越小說明模型的生成結果越接近真實圖像。

本文方法和Zi2Zi的對比結果見表1。在兩種類型的字體的風格遷移任務上都體現出了本文方法的有效性。

表1 定量分析

4 結 語

基于改進生成對抗網絡的字體風格遷移的研究,通過對目標風格字體進行圖像重建任務學習目標風格字體的解碼過程,結合特征蒸餾技術提升了風格遷移網絡中針對目標風格字體的解碼能力,并通過引入邊緣平滑損失和感知損失提高了字體風格遷移任務中目標風格字體的生成質量。

猜你喜歡
字體解碼損失
《解碼萬噸站》
胖胖損失了多少元
字體的產生
解碼eUCP2.0
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
玉米抽穗前倒伏怎么辦?怎么減少損失?
一般自由碰撞的最大動能損失
損失
組合字體
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合