冉二飛, 賈小軍, 喻擎蒼, 謝 昊, 陳衛(wèi)彪
(1.浙江理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院(人工智能學(xué)院),杭州 310018; 2.嘉興學(xué)院 信息科學(xué)與工程學(xué)院,浙江 嘉興 314001;3.浙江師范大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,浙江 金華 321004)
藍(lán)印花布源于唐宋,盛于明清,是中國(guó)傳統(tǒng)的民間手工藝品。作為首批列入國(guó)家級(jí)非物質(zhì)文化遺產(chǎn)名錄的民間傳統(tǒng)工藝,其使用簡(jiǎn)單淳樸的藍(lán)白兩色,創(chuàng)造出絢麗多姿的藝術(shù)世界,因其紋樣設(shè)計(jì)風(fēng)格特征鮮明、“線斷意連”而聞名于世。目前對(duì)藍(lán)印花布的研究,大都是從紋樣的視覺(jué)語(yǔ)義寓意,歷史發(fā)展和制作工藝角度進(jìn)行[1-3],而對(duì)于紋樣的自動(dòng)生成技術(shù)研究略顯單薄,且往往不夠簡(jiǎn)單實(shí)用[4-5]。隨著深度學(xué)習(xí)的發(fā)展,尤其是圖像風(fēng)格遷移研究的進(jìn)展,提供了擴(kuò)展藍(lán)印花布紋樣的新思路,即將其他風(fēng)格的簡(jiǎn)單圖像轉(zhuǎn)化為藍(lán)印花布風(fēng)格的紋樣,從而大大提高藍(lán)印花布設(shè)計(jì)的效率,有利于創(chuàng)新藍(lán)印花布紋樣。
圖像的風(fēng)格遷移是兩個(gè)不同域中圖像的轉(zhuǎn)換,具體來(lái)說(shuō)就是提供一種風(fēng)格圖像,將任意一張圖像轉(zhuǎn)化為這種風(fēng)格,并盡可能保留原圖像的內(nèi)容。如今實(shí)現(xiàn)風(fēng)格遷移的方法多種多樣,大致分為基于神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移和基于對(duì)抗生成網(wǎng)絡(luò)的圖像風(fēng)格遷移。Gatys等[6]首先將深度學(xué)習(xí)運(yùn)用在風(fēng)格遷移任務(wù)上,利用Gram矩陣將圖像表示為內(nèi)容和風(fēng)格兩部分,通過(guò)圖像重建使內(nèi)容圖的Gram矩陣逼近風(fēng)格圖的Gram矩陣。這種方法可以生成風(fēng)格圖像,但是收斂速度慢,渲染時(shí)間長(zhǎng)。Wang等[7]為了減少偽影,引入了相似性損失函數(shù),添加了一個(gè)后處理細(xì)化步驟。其方法可以穩(wěn)定地對(duì)攝影作品的圖像進(jìn)行風(fēng)格轉(zhuǎn)換。Luan等[8]約束卷積神經(jīng)網(wǎng)絡(luò)從輸入到輸出的變換,使其表示為顏色空間中的局部仿射,實(shí)現(xiàn)了如天氣、季節(jié)等多種場(chǎng)景的藝術(shù)風(fēng)格轉(zhuǎn)換,但是風(fēng)格遷移的效率低下,效果一般。Johnson等[9]使用在ImageNet上預(yù)訓(xùn)練的VGGNet簡(jiǎn)化損失函數(shù)計(jì)算過(guò)程,使效率得到較大提升,但該方法需要構(gòu)造復(fù)雜的損失函數(shù)。Goodfellow等[10]提出了生成對(duì)抗網(wǎng)絡(luò)理論(GAN),GAN為圖像風(fēng)格轉(zhuǎn)換提供了新的思路,掀起了新的研究熱潮。Mirza等[11]提出了帶有條件約束的cGAN(conditional GAN),該模型通過(guò)對(duì)輸入圖像額外增加一個(gè)條件標(biāo)簽,來(lái)引導(dǎo)模型生成方向。Isola等[12]提出了Pix2Pix算法模型,通過(guò)圖像作為輸入來(lái)進(jìn)行圖像風(fēng)格轉(zhuǎn)換,而不是傳統(tǒng)的噪音,大大提升了生成圖像的可控性。cGAN和Pix2Pix都需要配對(duì)的數(shù)據(jù)集,但是在很多情況下,并沒(méi)有完美的成對(duì)數(shù)據(jù)集。Zhu等[13]提出了CycleGAN算法模型,擺脫了配對(duì)訓(xùn)練數(shù)據(jù)集的限制要求,使用半監(jiān)督的方式實(shí)現(xiàn)不同風(fēng)格之間的圖像轉(zhuǎn)換,如將馬轉(zhuǎn)化為斑馬、春夏秋冬的轉(zhuǎn)換、油畫和真實(shí)圖像的轉(zhuǎn)換等,但CycleGAN在幾何形狀改變方面表現(xiàn)不佳。Chen等[14]提出CartoonGAN,用于將現(xiàn)實(shí)圖像轉(zhuǎn)化為漫畫風(fēng)格。該模型在CycleGAN的基礎(chǔ)上針對(duì)卡通圖像加入邊緣對(duì)抗損失,使生成的圖像具有漫畫圖像一樣的清晰邊緣,但在處理現(xiàn)實(shí)人臉到漫畫人臉這類形變較大的轉(zhuǎn)換時(shí)效果不佳。
以上模型大多只對(duì)于圖像紋理與色調(diào)的風(fēng)格進(jìn)行轉(zhuǎn)換,忽略了幾何形變方面的風(fēng)格轉(zhuǎn)換。藍(lán)印花布的風(fēng)格有很強(qiáng)的抽象特性,為了穩(wěn)定生成藍(lán)印花布的紋樣,針對(duì)上述圖像風(fēng)格化存在問(wèn)題,本文使用SE注意力機(jī)制改進(jìn)CycleGAN模型來(lái)實(shí)現(xiàn)藍(lán)印花布紋樣圖像的風(fēng)格遷移。對(duì)生成網(wǎng)絡(luò)中的編碼器和解碼器進(jìn)行重構(gòu),提升CycleGAN模型幾何形變方面的能力,使得生成結(jié)果貼近藍(lán)印花布紋樣的抽象風(fēng)格。
GAN模型由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)組成,其目標(biāo)是讓生成網(wǎng)絡(luò)的模型學(xué)會(huì)一種映射,使得原始域的數(shù)據(jù)分布擬合目標(biāo)域的數(shù)據(jù)分布。在訓(xùn)練過(guò)程中,生成網(wǎng)絡(luò)需要生成偽造的樣本使判別網(wǎng)絡(luò)判斷為真,而判別網(wǎng)絡(luò)則要盡力判別輸入樣本是真實(shí)樣本還是生成的偽造樣本,兩個(gè)神經(jīng)網(wǎng)絡(luò)在這個(gè)對(duì)抗中不斷優(yōu)化,最后網(wǎng)絡(luò)模型能夠輸出接近樣本分布的數(shù)據(jù)。GAN的優(yōu)化目標(biāo)可以看成是一個(gè)極大極小博弈,在訓(xùn)練最后的生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)之間實(shí)現(xiàn)納什均衡,使得生成網(wǎng)絡(luò)能夠生成接近樣本數(shù)據(jù)分布特征的目標(biāo)數(shù)據(jù)。其目標(biāo)方程[10]為:

(1)
式中:G表示生成網(wǎng)絡(luò),D表示判別網(wǎng)絡(luò),Pdata表示真實(shí)樣本x的分布,Pz表示輸入的噪聲z的分布,V表示損失函數(shù),E表示數(shù)學(xué)期望,G(z)表示生成網(wǎng)絡(luò)G根據(jù)噪聲z生成的假圖像,D(x)和D(G(z))分別表示判別器D判斷真實(shí)樣本x和假圖像G(z)是真實(shí)樣本分布的概率。
GAN模型在跨域圖像風(fēng)格轉(zhuǎn)換任務(wù)上存在一個(gè)缺陷,生成網(wǎng)絡(luò)可能會(huì)把原始域映射到目標(biāo)域上的子集,甚至有可能將原始域全部映射到一張圖像上,而判別網(wǎng)絡(luò)只關(guān)注生成圖像是否屬于目標(biāo)域,所以僅通過(guò)單獨(dú)的對(duì)抗損失,無(wú)法達(dá)到將原始域映射到目標(biāo)域的結(jié)果。對(duì)于這個(gè)問(wèn)題,CycleGAN沒(méi)有采用像Pix2Pix算法使用嚴(yán)格配對(duì)數(shù)據(jù)集的做法,而是使用循環(huán)一致性損失解決這一問(wèn)題。CycleGAN模型通過(guò)第一個(gè)生成網(wǎng)絡(luò)G(x2y),將輸入的X域圖像轉(zhuǎn)換成Y域,然后通過(guò)第二個(gè)生成網(wǎng)絡(luò)F(y2x)轉(zhuǎn)換回來(lái),將原始域中的數(shù)據(jù)經(jīng)過(guò)兩次轉(zhuǎn)換后,轉(zhuǎn)換回來(lái)的圖像應(yīng)與原始輸入盡量相同。同樣地,對(duì)于Y域的圖像通過(guò)F(y2x)和G(x2y)重新生成偽造的Y域圖像與原始輸入的Y域圖像進(jìn)行比較。通過(guò)這種方式解決了X域可能都映射到Y(jié)域同一張圖像的情況。CycleGAN模型有兩個(gè)生成網(wǎng)絡(luò)和兩個(gè)判別網(wǎng)絡(luò),其中兩個(gè)生成對(duì)抗網(wǎng)絡(luò)中的生成網(wǎng)絡(luò)共享權(quán)重。CycleGAN模型在結(jié)構(gòu)上像一個(gè)環(huán)形網(wǎng)絡(luò),從X域向Y域轉(zhuǎn)換的GAN網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
CycleGAN循環(huán)一致性損失函數(shù)計(jì)算方法[13]為:
(2)
對(duì)抗損失由兩部分組成,分別對(duì)應(yīng)兩個(gè)單獨(dú)的GAN模型:
LGAN(G,Dy,X,Y)=Ey~pdata(y)[logDy(y)]+Ex~pdata(x)[log(1-Dy(G(x)))]
(3)

圖1 CycleGAN網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 CycleGAN network structure
LGAN(F,Dx,Y,X)=Ex~pdata(x)[logDx(x)]+Ey~pdata(y)[log(1-Dx(F(y)))]
(4)
整個(gè)環(huán)形GAN網(wǎng)絡(luò)的總損失[13]計(jì)算方法為:
L(G,F,Dx,Dy)=LGAN(G,Dy,X,Y)+LGAN(F,Dx,Y,X)+λLcyc(G,F)
(5)
式中:X、Y分別代表兩個(gè)數(shù)據(jù)域,x、y為兩個(gè)數(shù)據(jù)域中的樣本數(shù)據(jù),G為從X到Y(jié)的映射函數(shù),F為從Y到X的映射函數(shù),Dx、Dy為判別網(wǎng)絡(luò),λ為控制循環(huán)一致?lián)p失函數(shù)的權(quán)重。
CycleGAN網(wǎng)絡(luò)實(shí)現(xiàn)了無(wú)配對(duì)圖像集之間的風(fēng)格遷移,但泛化能力較弱,當(dāng)訓(xùn)練圖像與測(cè)試圖像之間差距較大時(shí),遷移效果不佳。直接使用CycleGAN進(jìn)行簡(jiǎn)筆畫向藍(lán)印花布風(fēng)格紋樣轉(zhuǎn)化生成的結(jié)果不理想。針對(duì)這一問(wèn)題對(duì)原始CycleGAN的生成網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),CycleGAN的生成網(wǎng)絡(luò)結(jié)構(gòu)由編碼器、殘差結(jié)構(gòu)和解碼器組成。編碼器與解碼器都是由3個(gè)卷積模塊組成,每個(gè)模塊包含一個(gè)卷積層、一個(gè)實(shí)例正則化層及一個(gè)Relu激活函數(shù)。為了增強(qiáng)CycleGAN網(wǎng)絡(luò)提取特征的能力,本文提出了使用殘差塊結(jié)構(gòu)加上原始卷積模塊和SE注意力模塊取代原卷積模塊的方法。
注意力機(jī)制(attention mechanism)是解決信息超載問(wèn)題的一種資源分配方案,當(dāng)計(jì)算資源有限時(shí),可以把計(jì)算資源分配給更重要的任務(wù)。在神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程中,參數(shù)越多模型所存儲(chǔ)的信息量就越大,模型的表達(dá)能力也越強(qiáng),但這會(huì)帶來(lái)信息過(guò)載的問(wèn)題。引入注意力機(jī)制,可以在眾多的輸入信息中聚焦于對(duì)當(dāng)前任務(wù)更為關(guān)鍵的信息,降低對(duì)其他信息的關(guān)注度,提高任務(wù)處理的效率和準(zhǔn)確性。
SE(squeeze and excitation)模塊[15]在通道維度增加注意力機(jī)制,通過(guò)一系列變換操作得到一個(gè)權(quán)重矩陣,對(duì)原特征進(jìn)行重構(gòu)來(lái)得到更重要的特征信息,關(guān)鍵步驟為壓縮(squeeze)和激發(fā)(excitation)。通過(guò)自動(dòng)學(xué)習(xí)的方式,獲取特征通道的重要程度,以此為每個(gè)特征通道賦予不同的權(quán)重值,從而提升對(duì)當(dāng)前任務(wù)有用的特征圖的通道利用率,并抑制對(duì)當(dāng)前任務(wù)影響不大的通道。SE模塊的結(jié)構(gòu)[15]如圖2所示。

圖2 特征壓縮與激發(fā)模塊結(jié)構(gòu)Fig.2 Feature compression and excitation module structure
實(shí)現(xiàn)通道注意力的過(guò)程分為壓縮(squeeze),激發(fā)(excitation)和調(diào)節(jié)(scale)三個(gè)步驟。
壓縮階段,使用全局池化(global pooling)操作,將H×W×C的特征圖沿著通道方向轉(zhuǎn)化成為1×1×C的特征,即圖2中的Fsq過(guò)程將每一個(gè)二維的特征圖變成了一個(gè)具有整體卷積感受野的實(shí)數(shù)Zc,其計(jì)算方法為:
(6)
式中:H、W為輸入特征圖的高和寬,uc(i,j)為在i、j位置上的特征值。
激發(fā)過(guò)程的操作Fex(·,W)是通過(guò)兩個(gè)全連接層來(lái)捕捉通道的內(nèi)部依賴程度參數(shù)得到特征通道的裁剪系數(shù),其計(jì)算方法為:
s=Fex(z,W)=σ(W2δ(W1z))
(7)
式中:W1和W2為兩個(gè)全連接層學(xué)習(xí)參數(shù),δ為Relu函數(shù),σ為Sigmoid函數(shù),z為上一步求得的1×1×C的特征向量。
最后是調(diào)節(jié)權(quán)重,將s視為每個(gè)通道的重要程度,通過(guò)Fscale(.,.)逐通道加權(quán)到先前的特征圖上,完成通道維度上的注意力機(jī)制計(jì)算。
Fscale(sc,uc)=scuc
(8)
式中:sc為第C個(gè)通道的裁剪系數(shù),uc為第C個(gè)通道的特征圖。
CylceGAN算法模型是一個(gè)循環(huán)迭代的網(wǎng)絡(luò),包括兩個(gè)生成網(wǎng)絡(luò)G(x2y)、F(y2x)及兩個(gè)判別網(wǎng)絡(luò)Dx、Dy。在本文研究中,X代表簡(jiǎn)筆畫數(shù)據(jù)域,Y代表藍(lán)印花布紋樣數(shù)據(jù)域。兩個(gè)生成網(wǎng)絡(luò)分別生成簡(jiǎn)筆畫圖像和藍(lán)印花布圖像。生成網(wǎng)絡(luò)通過(guò)學(xué)習(xí)兩個(gè)圖像域之間的映射函數(shù),最終生成網(wǎng)絡(luò)G(x2y)能夠使一個(gè)簡(jiǎn)筆畫圖像轉(zhuǎn)化后獲得藍(lán)印花布紋樣的風(fēng)格特點(diǎn)。
2.2.1 生成網(wǎng)絡(luò)
生成網(wǎng)絡(luò)主要由編碼器、轉(zhuǎn)換器和解碼器組成。本文采用殘差塊結(jié)構(gòu)、原始卷積模塊和SE注意力模塊對(duì)原CycleGAN模型中編碼器和解碼器進(jìn)行改進(jìn),并削減轉(zhuǎn)化器中殘差塊的數(shù)量。對(duì)于新卷積模塊(Se-ConvLayer),使用殘差模塊(ResidualBlock)及原始卷積模塊(Conv3×3 stride=2 padding=1;InstanceNorm;Relu)加SE注意力模塊(SeBlock)取代原始卷積模塊,如圖3(a)所示。對(duì)于新反卷積模塊(SeDeConvLayer),使用SE注意力模塊(SeBlock)及原始反卷積模塊(Upsample scale_factor=2;Conv3×3 stride=1 padding=1;InstanceNorm;Relu)加殘差模塊(ResidualBlock)取代原始反卷積模塊,如圖3(b)所示。

圖3 改進(jìn)的新模塊Fig.3 New improved modules
改進(jìn)的整個(gè)生成網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。首先將輸入的256×256灰度圖像送入一個(gè)padding為1,卷積核大小為3×3的卷積IniConvLayer中進(jìn)行初始化,將通道數(shù)擴(kuò)展為16。而后將輸出送入到SeConvLayer1中進(jìn)行特征提取,并在SeBlock中根據(jù)式(6~8)進(jìn)行特征圖權(quán)重的分配,得到32個(gè)128×128的特征向量。對(duì)于得到的特征向量,SeConvLayer2再次進(jìn)行特征提取和特征圖權(quán)重的分配,最終編碼器提取出64個(gè)尺寸為64×64的特征向量。由4個(gè)殘差模塊組成的轉(zhuǎn)換器組合提取不同的特征,將輸入轉(zhuǎn)化為目標(biāo)域的特征向量。每個(gè)殘差塊中包含2個(gè)卷積層、2個(gè)實(shí)例正則化層和1個(gè)Relu激活層。
解碼器為編碼器的逆過(guò)程,采用與新卷積模塊類似的2個(gè)新反卷積層SeDeConvLayer1和SeDeConvLayer2還原圖像的低級(jí)特征,得到一個(gè)16×256×256的特征向量,最后通過(guò)一個(gè)1×1卷積層FinConvLayer還原成目標(biāo)域的圖像,之后將還原的圖像輸入判別網(wǎng)絡(luò)判斷,根據(jù)式(5)計(jì)算梯度,更新生成網(wǎng)絡(luò)參數(shù)。

圖4 改進(jìn)的CycleGAN的生成網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Improved CycleGAN generative network structure
2.2.2 判別網(wǎng)絡(luò)
判別網(wǎng)絡(luò)的作用為判別生成網(wǎng)絡(luò)產(chǎn)生的偽樣本是否屬于目標(biāo)數(shù)據(jù)域,促使生成網(wǎng)絡(luò)生成更加難以分辨真?zhèn)蔚臉颖?其網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。本實(shí)驗(yàn)的判別網(wǎng)絡(luò)使用PatchGan[10]判別網(wǎng)絡(luò),由5個(gè)卷積模塊組成,前四個(gè)模塊用于抽取輸入圖像的特征,最后一個(gè)卷積模塊得到一張?zhí)卣鲌D,此時(shí)特征圖上每一個(gè)點(diǎn)都有著70×70的感受野,代表了判別網(wǎng)絡(luò)對(duì)于其代表的70×70圖像塊的判別結(jié)果。最后將所有圖像塊進(jìn)行判別之后得到的平均結(jié)果作為這張輸入圖像的判別結(jié)果,隨后根據(jù)式(5)計(jì)算梯度,更新判別網(wǎng)絡(luò)參數(shù)。

圖5 CycleGAN判別網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 CycleGAN discriminator network structure
實(shí)驗(yàn)平臺(tái)處理器為Intel(R) Xeon(R) Platinum8350C CPU@2.60 GHz,顯卡型號(hào)為NAVID RTX A5000,24 GB顯存,操作系統(tǒng)為Ubuntu 18.04,使用PyTorch深度學(xué)習(xí)框架,版本為1.8.1,Cuda 11.1。
基于改進(jìn)CycleGAN的風(fēng)格遷移算法分別選用412張動(dòng)物簡(jiǎn)筆畫和216張藍(lán)印花布單紋樣圖作為實(shí)驗(yàn)樣本數(shù)據(jù)集。訓(xùn)練過(guò)程中不同數(shù)據(jù)集間沒(méi)有指定配對(duì)關(guān)系,其中簡(jiǎn)筆畫數(shù)據(jù)集通過(guò)互聯(lián)網(wǎng)收集,藍(lán)印花布單紋樣從已有的藍(lán)印花布圖像中截取,兩個(gè)數(shù)據(jù)集圖像大小統(tǒng)一調(diào)整為256×256像素。部分?jǐn)?shù)據(jù)集圖像如圖6所示。

圖6 訓(xùn)練時(shí)的部分?jǐn)?shù)據(jù)集Fig.6 Partial dataset during training
設(shè)置循環(huán)一致性損失超參數(shù)λ值為10,批量訓(xùn)練樣本數(shù)量(batchsize)為1,訓(xùn)練總輪次(epoch)為400,采用adam優(yōu)化器,初始學(xué)習(xí)率(lr)為0.000 2,在100個(gè)epoch后使用指數(shù)衰減策略對(duì)學(xué)習(xí)率進(jìn)行動(dòng)態(tài)調(diào)整。訓(xùn)練過(guò)程中的部分實(shí)驗(yàn)數(shù)據(jù)如圖7所示。
模型訓(xùn)練50個(gè)epoch時(shí)轉(zhuǎn)換效果如圖7第二行所示,此時(shí)圖像尚沒(méi)有形成明顯的藍(lán)印花布風(fēng)格,原始形狀保留較為完整,但此時(shí)生成的圖像顏色已經(jīng)變?yōu)楹诘装准y,并且組成圖像內(nèi)容的線條已經(jīng)轉(zhuǎn)化為大小不同的白色塊,有了向藍(lán)印花布風(fēng)格轉(zhuǎn)化的趨勢(shì)。模型訓(xùn)練100個(gè)epoch時(shí)轉(zhuǎn)換效果如圖7第三行所示,此時(shí)產(chǎn)生的圖像仍顯得零亂,產(chǎn)生的色塊也較多,不符合藍(lán)印花布抽象精煉的特點(diǎn),但是相比50個(gè)epoch時(shí)產(chǎn)生的色塊少了許多,初步形成了藍(lán)印花布的風(fēng)格。模型訓(xùn)練400個(gè)epoch時(shí)轉(zhuǎn)換效果如圖7第四行所示,此時(shí)生成的圖像抓住了原始圖像中的關(guān)鍵信息,并將其融合進(jìn)了藍(lán)印花布的風(fēng)格里,圖案邊界更加清晰,主體模糊程度明顯減弱,整體風(fēng)格更為凝實(shí)、簡(jiǎn)練,并在不妨礙整體布局的情況下,對(duì)于過(guò)長(zhǎng)的線條或彎曲弧度較大的造型產(chǎn)生了合適的斷線,比較符合藍(lán)印花布“線斷意連”的特點(diǎn)。

圖7 訓(xùn)練過(guò)程的轉(zhuǎn)換效果Fig.7 Conversion effect of training process
訓(xùn)練過(guò)程損失如圖8所示,在GAN模型訓(xùn)練過(guò)程中由于生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的對(duì)抗,在訓(xùn)練一段時(shí)間達(dá)到穩(wěn)定期后,生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的損失都應(yīng)該在一個(gè)小區(qū)間內(nèi)波動(dòng),而不會(huì)有明顯的持續(xù)上升或者下降趨勢(shì)。在圖8中,前200個(gè)epoch的學(xué)習(xí)率相對(duì)較大,總損失total_loss曲線震蕩明顯,200個(gè)epoch后隨著學(xué)習(xí)率的降低和訓(xùn)練達(dá)到穩(wěn)定期,total_loss在較小的區(qū)間波動(dòng)。在400個(gè)epoch時(shí)產(chǎn)生的圖像已經(jīng)有了藍(lán)印花布紋樣的風(fēng)格并且網(wǎng)絡(luò)已穩(wěn)定。

圖8 訓(xùn)練過(guò)程total_loss變化Fig.8 Total_loss changes during training
為了驗(yàn)證所提出網(wǎng)絡(luò)的優(yōu)越性,本文將提出的方法與對(duì)于同樣基于對(duì)偶思想的CycleGAN、DualGAN[16]、DiscoGAN[17]進(jìn)行對(duì)比,結(jié)果如圖9所示。在圖9中,從上到下依次為原圖、CycleGAN算法、DualGAN算法、DiscoGAN算法與SE-CycleGAN(ours)算法生成的結(jié)果。對(duì)于DualGAN和DiscoGAN來(lái)說(shuō),其生成網(wǎng)絡(luò)采用Unet結(jié)構(gòu),保留了大量原始的細(xì)節(jié),在灰度圖中仍能隱約看到原始的圖像,但是在高度抽象化的藍(lán)印花布風(fēng)格中,這些細(xì)節(jié)反而使得生成效果大大降低,并且圖像中沒(méi)有產(chǎn)生合適斷線,整體結(jié)構(gòu)也更加混亂。CycleGAN雖然表現(xiàn)出斷線,但是斷線后形成的色塊過(guò)于緊湊,沒(méi)有呈現(xiàn)藍(lán)印花布的風(fēng)格。SE-CylceGAN(ours)明顯提升了圖像的抽象化程度,相對(duì)于其他網(wǎng)絡(luò)色塊少而精煉,主體更加突出,線條分布合理,“線斷意連”風(fēng)格明顯,表現(xiàn)最優(yōu)。

圖9 不同網(wǎng)絡(luò)生成結(jié)果Fig.9 Generated results of different networks
為了直觀展示使用不同注意力機(jī)制的風(fēng)格遷移效果,本文將SE注意力機(jī)制替換為CBAM注意力機(jī)制[18]和ECA注意力機(jī)制[19]并進(jìn)行對(duì)比,結(jié)果如圖10所示。在圖10中,從上到下依次為原圖、CycleGAN算法、CBAM-CycleGAN算法、ECA-CycleGAN算法與SE-CycleGAN(ours)算法生成的結(jié)果。其中CBAM-CycleGAN對(duì)于原圖像的細(xì)節(jié)保留過(guò)多,斷線產(chǎn)生的位置不合理,轉(zhuǎn)化后形成的風(fēng)格比起SE-CycleGAN(ours)有較大的不足,在小貓圖像和狐貍圖像上較為明顯,且CBAM-CycleGAN明顯產(chǎn)生了更多的噪點(diǎn)。而ECA-CycleGAN對(duì)于原圖內(nèi)容的把握明顯缺失,色塊排列雜亂無(wú)章,沒(méi)有明確的主題或焦點(diǎn),難以捕捉到圖片想要表達(dá)的核心信息,甚至生成了如第二列蜜蜂圖所示的意義不明的圖像。SE-CycleGAN(ours)生成的效果最好,色塊更加寫意,色塊邊緣更加柔和,如牛的耳朵細(xì)看之下宛如花瓣,并且斷線的位置恰到好處,符合藍(lán)印花布“線斷意連”的風(fēng)格,在整體上結(jié)構(gòu)清晰,有更高的藝術(shù)價(jià)值。實(shí)驗(yàn)結(jié)果表明,相較于其他算法,使用SE注意力機(jī)制的CycleGAN算法在生成藍(lán)印花布圖樣上有明顯的優(yōu)勢(shì)。

圖10 使用不同注意力的改進(jìn)CycleGAN網(wǎng)絡(luò)生成結(jié)果Fig.10 Improved CycleGAN network generated results using different attention methods
作為國(guó)家非物質(zhì)文化遺產(chǎn)的藍(lán)印花布,對(duì)其進(jìn)行數(shù)字化傳承和創(chuàng)新有重要的價(jià)值和意義。本文提出了一種基于SE注意力機(jī)制的改進(jìn)CycleGAN的端到端網(wǎng)絡(luò)SE-CycleGAN。通過(guò)SE注意力模塊和殘差模塊重新塑造的生成網(wǎng)絡(luò)提高了原始CycleGAN的幾何變形能力,相對(duì)于其他網(wǎng)絡(luò),圖像的內(nèi)容與藍(lán)印花布的風(fēng)格有更好的融合,產(chǎn)生的噪點(diǎn)也較少,并且新提出的網(wǎng)絡(luò)本身有小樣本訓(xùn)練,無(wú)需配對(duì)數(shù)據(jù)集的特點(diǎn),可以很好地遷移到其他類似紋樣的生成。但是因?yàn)閿?shù)據(jù)集和分辨率的限制,目前生成的紋樣仍較為簡(jiǎn)單。而且,受到筆畫和圖像信息密集程度的影響較大,難以生成更加復(fù)雜、內(nèi)容豐富多樣的紋樣。接下來(lái)將在多類、復(fù)雜的藍(lán)印花布紋樣自動(dòng)生成方面開(kāi)展研究工作。

《絲綢》官網(wǎng)下載

中國(guó)知網(wǎng)下載