姚琳涵, 張 穎, 姚 嵐, 鄭曉萍, 魏文達, 劉成霞,4,5
(1. 浙江理工大學 服裝學院, 浙江 杭州 310018; 2. 中國紡織工程學會, 北京 100025; 3. 中國紡織建設(shè)規(guī)劃院,北京 100125; 4. 絲綢文化傳承與產(chǎn)品設(shè)計數(shù)字化技術(shù)文化和旅游部重點實驗室, 浙江 杭州 310018;5. 服裝數(shù)字化技術(shù)浙江省工程實驗室, 浙江 杭州 310018)
刺繡是第一批被列入國家非物質(zhì)文化遺產(chǎn),也是我國源遠流長的傳統(tǒng)手工藝術(shù),不但有很強的裝飾性,還具有較高的藝術(shù)價值,但刺繡工序復雜且對創(chuàng)作者有較高要求,制作一件做工精良的刺繡作品,需要花費較多的時間和人力,一定程度上影響繡品的生產(chǎn)效率。近年來神經(jīng)風格遷移技術(shù)[1]的快速發(fā)展為解決這一問題提供了可能,利用該技術(shù)可直接生成具有真實感的刺繡風格圖案,提高生產(chǎn)效率的同時,無需要求創(chuàng)作者有技能和經(jīng)驗。目前國內(nèi)外許多學者已用其模擬了油畫[2]、動漫[3]、素描[3]、水墨畫[4]等藝術(shù)品,創(chuàng)作出不少優(yōu)秀的作品,未來該技術(shù)很可能會顛覆傳統(tǒng)的藝術(shù)生成方式。
迄今也有學者針對刺繡藝術(shù)作品風格轉(zhuǎn)換算法展開研究,如鄭銳等[6]提出了基于VGG19網(wǎng)絡(luò)模型的刺繡風格遷移模型。Qian等[7]提出了使用條件隨機場(CRF)的刺繡風格遷移方法。Beg等[8]對經(jīng)典模型CycleGAN[9]做出改進,提出了Embroidery GAN模型。Guan等[10]引入了刺繡紋理自動合成框架,可接受多種輸入圖像,并以交互方式在數(shù)字服裝上預(yù)覽合成的刺繡圖案。
但是現(xiàn)有的刺繡圖像生成算法還存在不少問題,如生成圖像的風格單一、特征粗糙、偽影較多等。針對這一現(xiàn)狀,本文擬通過改進現(xiàn)有風格遷移算法,創(chuàng)建出具有更高感知質(zhì)量的刺繡風格圖像模型,研究結(jié)果可提高刺繡產(chǎn)品的外觀紋飾設(shè)計水平,促進刺繡技藝的發(fā)展及創(chuàng)新。
本文提出的基于多尺度紋理合成的刺繡風格遷移模型(MTE-NST)如圖1所示,該模型主要由生成網(wǎng)絡(luò)和損失網(wǎng)絡(luò)組成,其中生成網(wǎng)絡(luò)包含內(nèi)容匹配模塊(CMM)、結(jié)構(gòu)增強模塊(SEM)和紋理細化模塊(TRM)。每個模塊都遵循固定的雙線性上采樣/下采樣層,其中不同的子網(wǎng)使用不同風格的圖像進行訓練,以學習不同層次的紋理特征。這種設(shè)計能使測試圖像在增加分辨率的情況下用不同級別的風格進行轉(zhuǎn)換。此外,由于所有模塊都被合并到一個網(wǎng)絡(luò)中進行分層訓練,后一個模塊也能增強和細化前一個模塊的結(jié)果,從而使網(wǎng)絡(luò)訓練的效率和魯棒性得到提高。
在訓練過程中使用多程式化損失函數(shù)進行迭代,即在內(nèi)容損失和風格損失的基礎(chǔ)上,引入拉普拉斯損失獲取圖像邊緣信息,使用直方圖損失來增強圖像紋理細節(jié)。
1.2.1 內(nèi)容損失和風格損失
給定內(nèi)容圖像xc和風格圖像xs,其l層處的卷積圖像特征分別為Flxc和Flxs,濾波器個數(shù)為Ml,其中Ml(x)=Hl(x)×Wl(x),Hl(x)和Wl(x)分別是每個特征圖像的高度和寬度。濾波器輸出的特征圖尺寸為Nl,Fl(x)∈RMl×Nl,是Ml行Nl列的矩陣,l是卷積層的層數(shù),x表示特征變量。

(1)
式中,i、j是第i層和第j層特征圖之間的相關(guān)性,即第i層和第j層濾波器在小圖像塊上同時激活的頻率。

(2)

Gram矩陣可以看做特征之間的偏心協(xié)方差矩陣,在特征映射中,每個數(shù)字都來自于一個特定濾波器在特定位置的卷積,代表特征強度,而Gram矩陣計算的是特征兩兩之間的相關(guān)性。

LGram=αLcontent+βLstyle
(3)
式中:α、β分別是生成風格化圖像的過程中目標內(nèi)容圖像和風格圖像損失的權(quán)重。
1.2.2 拉普拉斯損失
由于傳統(tǒng)的神經(jīng)風格遷移算法在獲得內(nèi)容圖像的紋理、結(jié)構(gòu)等高層特征時,會損失一些如針腳細節(jié)、圖像邊緣等低層特征,從而導致結(jié)果圖像出現(xiàn)不規(guī)則的扭曲、形變及偽影。為使風格化圖像減少匹配錯誤,更好地保留內(nèi)容圖像的細節(jié)信息,本文引入拉普拉斯[11]損失項。
拉普拉斯算子Δf是所有非混合函數(shù)二階偏導數(shù)的和,如式(4)所示。
(4)
計算二維圖像像素的拉普拉斯算子Δf,可以得出每個非混合函數(shù)二階偏導數(shù)的常數(shù)系數(shù),將其寫出離散近似值的矩陣,如D所示。
圖像x的拉普拉斯矩陣通過輸入圖像與矩陣D卷積得到,用D(x)表示。在相鄰像素值發(fā)生劇烈變化的區(qū)域,無論變化方向如何,卷積都將產(chǎn)生高幅度的響應(yīng),在變化平緩的區(qū)域,響應(yīng)為零。

(5)
Ls=αLcontent+βLstyle+γLlap
(6)
式中:γ是拉普拉斯損失的權(quán)重,提高γ可以改善圖像風格化中輸出圖像的失真現(xiàn)象。
1.2.3 直方圖損失


圖2 具有不同均值和方差的圖像Fig. 2 Images with completely different mean and variance. (a) Uniformly distributed gray image; (b) Nonuniformly distributed image
圖3示出3組不同統(tǒng)計數(shù)據(jù)的紋理合成效果[12]。可看出,顯示直方圖損失的效果優(yōu)于平均激活,其圖像強度更穩(wěn)定,但會破壞一些小結(jié)構(gòu)。而利用Gram矩陣生成的風格圖片由于無法保留紋理的均值或方差,會導致訓練不穩(wěn)定,因此本文選擇合成圖像效果最佳的直方圖+Gram的聯(lián)合損失。

圖3 不同統(tǒng)計數(shù)據(jù)的紋理合成效果Fig. 3 Texture synthesis effect of different statistical data. (a) Input picture; (b) Average activation; (c) Histogram loss; (d) Gram loss; (e) Joint loss
即在式(6)中的結(jié)構(gòu)損失函數(shù)Ls基礎(chǔ)上引入直方圖損失來增加紋理特征,并對合成圖像的分層特征進行變換,使其直方圖與輸入圖像的紋理相匹配。對于反向傳播過程中的每個直方圖損失,都執(zhí)行1次匹配,每個特征映射1個直方圖損失,直方圖損失函數(shù)如式(7)所示。
(7)
式中:Oi是風格圖像的激活層;R(Oi)是增加直方圖損失后的激活層;γl是權(quán)重系數(shù)。
則總損失函數(shù)如(8)所示:
Ltotal=αLcontent+βLstyle+γLlap+Lhistogram
(8)
核處理器為Intel i711700F 3.6GHz8,顯卡為NVIDA RTX3070 (16GB),開發(fā)環(huán)境為Windows10系統(tǒng),開發(fā)工具為Pycharm,深度學習框架采用GPU版本的PyTorch1.8.1,使用CUDA 10.1進行加速,測試圖像統(tǒng)一設(shè)置為256像素×256像素。
當各項損失權(quán)重及參數(shù)如表1所示時,網(wǎng)絡(luò)的生成結(jié)果達到最佳,因此將其確定為訓練參數(shù)。

表1 訓練參數(shù)定義Tab. 1 Definition of training parameters
優(yōu)化器在訓練時可以自動調(diào)節(jié)參數(shù),在梯度下降時引領(lǐng)各參數(shù)趨于合適的值,使目標損失函數(shù)達到最小。目前主流的優(yōu)化器有AdaGrad、RMSProp、SGDNesterov、AdaDelta、Adam等,Adam優(yōu)化器實現(xiàn)簡單,計算高效,對內(nèi)存需求少,因此本文選用其進行迭代自動調(diào)節(jié)參數(shù)。
訓練圖像集包含輸入圖像(內(nèi)容圖像)和刺繡圖像(風格圖像),測試圖像集僅包含輸入圖像。輸入圖像來自Flickr 網(wǎng)站下載的6 000張圖片,其中5 000張用于訓練,1 000張用于測試。刺繡圖像集中的1 000張來自Fabric 3D掃描儀(凌迪科技),5 000張來自網(wǎng)絡(luò)。數(shù)據(jù)集中的圖像形狀和大小不同,輸入到訓練網(wǎng)絡(luò)前將圖像標準化,并將圖像的任意部分隨機裁剪成256像素×256像素,以增加訓練數(shù)據(jù)的多樣性,避免過度擬合。
1)內(nèi)容匹配。為更好地保存小而復雜的紋理,對內(nèi)容圖像和風格圖像的亮度和顏色聯(lián)合訓練,將亮度通道從RGB彩色圖像中分離出來,并分別使用2個獨立的分支(RGB空間和Lab空間)進行學習。然后將從2個分支計算出的特征映射沿深度連接在一起,由隨后的Conv塊做進一步處理,并確定最小化損失函數(shù),如式(3)。
RGB空間包括3個跨步卷積層(9×9,3×3,3×3,第1個用于上采樣,后2個用于下采樣)和3個剩余塊,Lab空間包括3個剩余塊,其中2個調(diào)整大小的卷積層用于上采樣,1個3×3卷積層用于RGB圖像(實驗使用電子屏幕,需要使用RGB)輸出。
2)結(jié)構(gòu)增強。對內(nèi)容匹配的輸出圖像執(zhí)行紋理映射,保留結(jié)構(gòu)內(nèi)容,增加拉普拉斯損失項,訓練具有較大紋理權(quán)重的結(jié)構(gòu)增強模塊,以進一步提高風格化程度,如式(6)所示。結(jié)構(gòu)增強模塊采用與內(nèi)容匹配模塊類似的結(jié)構(gòu)。唯一的區(qū)別是增強模塊有一個用于下采樣的卷積層和一個用于上采樣的調(diào)整卷積層,可擴大感受野的大小,使結(jié)構(gòu)增強模塊比內(nèi)容匹配模塊的輸入增加2倍。
3)紋理精細。把結(jié)構(gòu)增強后的內(nèi)容圖像和初始化的風格圖像輸入到紋理精細模塊,并增加直方圖損失項,如式(7)所示。紋理精細模塊由3個卷積層、3個剩余塊、2個調(diào)整卷積層和1個卷積層組成,比內(nèi)容匹配模塊和結(jié)構(gòu)增強模塊淺得多,因為前一個模塊可促進后一個模塊的學習,縮短網(wǎng)絡(luò)層可顯著降低內(nèi)存和計算復雜性。
4)總損失函數(shù)構(gòu)造。如式(8),在CNN中利用梯度下降法進行迭代,輸出風格化結(jié)果。在風格遷移過程中,各損失項的計算同時進行。
2.4.1 邊緣檢測
將內(nèi)容圖像傳到損失網(wǎng)絡(luò),使內(nèi)容層和風格層提取的邊緣特征圖損失與直方圖損失和拉普拉斯損失混合,每層輸出的圖像均為256像素×256像素,并對合成的通道圖進行卷積計算,得到256像素×256像素的邊緣檢測圖像,流程如圖4所示。

圖4 圖像邊緣生成流程Fig. 4 Generation process of image edge
用多程式化損失函數(shù)提取內(nèi)容圖像和風格圖像的邊緣信息和細部結(jié)構(gòu),將其與僅用內(nèi)容損失和風格損失生成的遷移圖像效果進行對比,結(jié)果如圖5所示。

圖5 2組樣本風格遷移圖像和邊緣檢測圖像的對比Fig. 5 Comparison of two groups of transfer result images and edge detection images. (a) Sample 1; (b) Sample 2
由圖5標出的方框可看出,多程式損失函數(shù)能提取更多刺繡圖像的細小邊緣紋理。樣本1顯示,引入多程式損失函數(shù)后,在圖像色彩區(qū)域較為復雜的地方提取到了更多特征,使遷移結(jié)果更真實生動,而內(nèi)容損失和風格損失只能檢測到粗糙的輪廓。樣本2同樣顯示,內(nèi)容損失和風格損失不能識別葉子、花蕊等細小的邊緣特征,遷移效果模糊。實驗結(jié)果表明,引入多程式損失函數(shù)可以更好地檢測圖像邊緣,生成紋理清晰的刺繡遷移圖像。
2.4.2 模擬效果
為驗證模型的有效性,對本文提出的MTE-NST模型和文獻[13]、文獻[14]、文獻[15]3種基準模型進行對比實驗,結(jié)果如圖6所示。

圖6 不同模型實驗結(jié)果對比Fig. 6 Comparison of experimental results of different models
從圖6可看出,Gatys的模型在圖像線條密集處轉(zhuǎn)換過程中出現(xiàn)較多偽影和變形,Johnson的模型[14]比Gatys[13]擬合效果好,但在羽毛的細節(jié)部位轉(zhuǎn)換中仍出現(xiàn)偽影和轉(zhuǎn)換錯誤。Li和Wand的模型[15]幾乎沒出現(xiàn)偽影,但缺乏針腳、紋理變化等刺繡細節(jié)。而本文提出的MTE-NST很好地遷移了風格圖細部結(jié)構(gòu),更接近真實刺繡作品,無論風格還是細節(jié)均優(yōu)于前3種模型。
此外,為定量評價不同模型生成的刺繡圖片質(zhì)量、遷移效果和學習速率差異,選用MSE(均方誤差)、LPIPS(圖像感知相似度),以及測試時間和占用內(nèi)存作為評價指標,結(jié)果如表2所示。

表2 用于256像素×256像素圖像的比較結(jié)果Tab. 2 Comparison results of each model applied to 256 pixel×256 pixel image
LPIPS值越高表示2張對比圖片的差異越大,反之2張對比圖片更相似。LPIPS用d(x,y) 來表示:
(9)

MSE是均方誤差,即估計值(預(yù)測值)和實際值(基本事實)之間的平均方差)可以捕捉圖片中的噪聲、亮度、對比度、色調(diào)和飽和度的變化,MSE用S(i,j) 表示:
(10)
由表2可知,MTE-NST的MSE最小(即風格損失最小),LPIPS最小(即圖像感知相似度最高),即圖像質(zhì)量和遷移效果都較好。且MTE-NST測試時間和占用內(nèi)存僅次于Johnson,分別為0.58、3 900 MB,進一步驗證了MTE-NST能以較少的占用內(nèi)存和更短的時間生成更真實的刺繡風格圖像。
本文提出了一種多尺度紋理合成的刺繡風格遷移模型(MTE-NST),分層學習多尺度的刺繡藝術(shù)風格,不但能較好地還原風格圖像顏色,還可保留圖像邊緣的紋理結(jié)構(gòu)和精細的針腳,解決了紋理轉(zhuǎn)換不匹配的問題,且可生成視覺效果更好的刺繡風格遷移圖片。
本文算法與傳統(tǒng)相關(guān)算法的定性和定量研究表明,MTE-NST無論在視覺遷移效果上,還是在生成圖片的質(zhì)量和學習速率等方面,均優(yōu)于傳統(tǒng)算法,且能生成針跡感更強、紋理更真實的刺繡圖像,在風格損失、圖像感知相似度、學習速率等綜合表現(xiàn)上都較好。
本文算法能更真實地模擬刺繡圖片,但在運行時間上較其它方法仍有提升空間,進一步優(yōu)化算法,提高效率是今后努力的方向。