杜 娟,胡 靜
(1.南昌航空大學(xué) 藝術(shù)與設(shè)計(jì)學(xué)院,江西 南昌 330063; 2.江西藝術(shù)職業(yè)學(xué)院 美術(shù)系,江西 南昌 330044)
在全球化的今天,文化藝術(shù)是國家和民族的顯著標(biāo)簽[1]。在面向世界和接受世界多民族文化的同時(shí),如何讓現(xiàn)代化服裝保持中國民族特色及風(fēng)格是我們現(xiàn)在應(yīng)該思考的問題[2]。讓中國人的服裝具有中國風(fēng)格,這是文化自信的直接體現(xiàn)。當(dāng)前市場(chǎng)中存在著大量的中國風(fēng)服飾,但總體來說質(zhì)量不高,并且存在以下2個(gè)重要的問題:①中國風(fēng)服飾設(shè)計(jì)對(duì)專業(yè)設(shè)計(jì)師掌握中國文化深度廣度的要求較高,設(shè)計(jì)師培養(yǎng)周期較長(zhǎng);②創(chuàng)意匱乏,在傳統(tǒng)風(fēng)格和元素的固定框架下進(jìn)行二次創(chuàng)作的難度較大,導(dǎo)致大多數(shù)傳統(tǒng)風(fēng)格服飾的成衣效果千篇一律。
因此,如何高效高質(zhì)量地創(chuàng)造出真正具有中國風(fēng)的服飾,并且在現(xiàn)代服裝的適當(dāng)部分,融入適當(dāng)?shù)闹袊L(fēng)格元素,成為現(xiàn)在大家關(guān)注的焦點(diǎn)。
早期非參數(shù)的圖像風(fēng)格遷移是一種分析風(fēng)格圖像的方法,根據(jù)風(fēng)格繪制物理模型或者數(shù)學(xué)統(tǒng)計(jì)模型,然后對(duì)遷移的圖像進(jìn)行紋理的合成,讓其更符合建立的模型。這種方法需要建立復(fù)雜的模型,對(duì)于理論有較高要求,且每個(gè)風(fēng)格需要單獨(dú)建模,費(fèi)時(shí)費(fèi)力。相較于深度學(xué)習(xí)方法[3],非參數(shù)的圖像風(fēng)格遷移方法表現(xiàn)出了越來越多的不足。Gatys等[4]提出了基于神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移算法。然而早期基于深度學(xué)習(xí)方法產(chǎn)生的圖像存在噪聲、不清晰的問題。而且相較于傳統(tǒng)方法需要巨大的數(shù)據(jù)集,這導(dǎo)致了訓(xùn)練速度慢、程序穩(wěn)定性不佳等問題[5]。2017年,Zhu等[6]提出CycleGAN (Cycle Generative Adversarial Network),采用2個(gè)生成器和2個(gè)判別器實(shí)現(xiàn)風(fēng)格轉(zhuǎn)化,并加入一致性損失用于保存內(nèi)容信息。Luan等[7]在CycleGAN的基礎(chǔ)上添加了正則化用于防止過擬合,最終有效提升了圖像清晰度。整體而言,基于GAN網(wǎng)絡(luò)的風(fēng)格遷移系統(tǒng)在圖像全局風(fēng)格遷移中有較好的效果,但在局部風(fēng)格遷移中普遍存在局部區(qū)域劃分不佳、風(fēng)格遷移后存在邊界偽影等問題。
在這樣的背景下,本文結(jié)合服飾局部風(fēng)格遷移的特點(diǎn),提出了基于變分自編碼器的局部服裝風(fēng)格遷移方法,有效利用了注意力機(jī)制的思想加強(qiáng)了各局部區(qū)域之間的相關(guān)性,可以只對(duì)特定相關(guān)區(qū)域進(jìn)行風(fēng)格遷移,其他區(qū)域保持不變,有效保留了原始圖像的部分風(fēng)格與遷移風(fēng)格相結(jié)合,從而提高了輸出圖像整體的真實(shí)性和藝術(shù)性。
隨著人工智能技術(shù)和深度學(xué)習(xí)技術(shù)的飛速發(fā)展,越來越多的領(lǐng)域應(yīng)用了智能技術(shù)[8]。隨著人民生活質(zhì)量的不斷提高,以文化和藝術(shù)為代表的產(chǎn)業(yè)快速崛起,并且其多為技術(shù)密集型產(chǎn)業(yè),其發(fā)展依賴創(chuàng)意和創(chuàng)新。但創(chuàng)新能力的高低是該行業(yè)發(fā)展的重要瓶頸,因此,為廣大的設(shè)計(jì)者注入全新創(chuàng)意的圖像風(fēng)格遷移技術(shù)便應(yīng)運(yùn)而生。
深度學(xué)習(xí)在目標(biāo)識(shí)別、目標(biāo)分類、圖像分割和目標(biāo)跟蹤等領(lǐng)域都取得了重大的突破[9],而隨著Gatys等[4]研究者將深度學(xué)習(xí)技術(shù)應(yīng)用在圖像風(fēng)格遷移上時(shí),人工智能又一次在全新的領(lǐng)域上大放異彩。
在機(jī)器視覺中許多經(jīng)典的問題可以被認(rèn)為是圖像轉(zhuǎn)換任務(wù),即系統(tǒng)接收一些輸入圖像并將其轉(zhuǎn)換為輸出圖像。圖像處理的例子包括去噪、超分辨率和著色,其中輸入是一幅原始圖像(有噪聲、低分辨率或灰度),輸出是一幅高質(zhì)量的彩色圖像[10]。計(jì)算機(jī)視覺的例子包括語義分割和深度估計(jì),其中輸入是一幅彩色圖像,而輸出圖像編碼了有關(guān)場(chǎng)景的語義或幾何信息。實(shí)現(xiàn)圖像變換的一種方法是在監(jiān)督下訓(xùn)練前饋卷積神經(jīng)網(wǎng)絡(luò),使用每個(gè)像素?fù)p失函數(shù)來測(cè)量輸出圖像和真值圖像之間的差異[11]。
Gatys等[4]進(jìn)行圖像藝術(shù)風(fēng)格轉(zhuǎn)換,將一幅圖像的內(nèi)容與另一幅圖像的風(fēng)格相結(jié)合,共同最小化特征重構(gòu)損失,風(fēng)格重構(gòu)損失也是基于訓(xùn)練的卷積網(wǎng)絡(luò)提取特征,類似的方法已經(jīng)被用于紋理合成。他們的方法產(chǎn)生了高質(zhì)量的結(jié)果,但計(jì)算代價(jià)昂貴,因?yàn)閮?yōu)化問題的每一步都需要通過預(yù)先訓(xùn)練好的網(wǎng)絡(luò)向前和向后傳遞。為了克服這種計(jì)算負(fù)擔(dān),研究者訓(xùn)練了一個(gè)前饋網(wǎng)絡(luò)來快速逼近其優(yōu)化問題的解。目前基于傳統(tǒng)方法的圖像風(fēng)格遷移算法主要有以下幾種:基于畫筆的渲染技術(shù)(SBR)、基于區(qū)塊的渲染技術(shù)(Region-Based)、基于實(shí)例的渲染技術(shù)(EBR)、基于圖像處理與濾波的技術(shù)(IPF)[12]。這些方法都可以有效對(duì)圖像場(chǎng)景進(jìn)行風(fēng)格遷移,但由于傳統(tǒng)方法對(duì)原始圖像的要求過高,難以應(yīng)對(duì)靈活多變的場(chǎng)景和圖像結(jié)構(gòu)。因此,隨著深度學(xué)習(xí)的逐漸發(fā)展,越來越多的研究者采用深度學(xué)習(xí)方法進(jìn)行圖像風(fēng)格遷移[12]。
從原始圖像數(shù)據(jù)中自動(dòng)發(fā)現(xiàn)和識(shí)別的視覺概念是人工智能研究的一個(gè)重大開放挑戰(zhàn)。為了解決這個(gè)問題,研究者提出了一種變異的無監(jiān)督學(xué)習(xí)方法來表示潛在的復(fù)雜因素關(guān)系。人們從神經(jīng)科學(xué)中獲得靈感,并解釋了如何在無監(jiān)督生成模型中通過應(yīng)用同樣的學(xué)習(xí)能力來實(shí)現(xiàn)這一點(diǎn)。通過模擬在大腦的腹側(cè)視覺通路,強(qiáng)制減少冗余,鼓勵(lì)統(tǒng)計(jì)獨(dú)立性,建立了一個(gè)能夠?qū)W習(xí)復(fù)雜因素的變分自編碼器(VAE)框架。現(xiàn)有的變分自編碼器模型利用鑒別器和變分自編碼器的對(duì)抗性訓(xùn)練,使編碼器從圖像中分離出圖像內(nèi)容在潛在空間的表示。然后將圖像內(nèi)容表示作為生成器的輸入,同時(shí)加入目標(biāo)風(fēng)格向量Z,從而生成目標(biāo)風(fēng)格的圖像。在生成器端加入的風(fēng)格向量是由二進(jìn)制的標(biāo)簽向量通過線性變換得到。當(dāng)前,變分自編碼器在廣泛的數(shù)據(jù)集上訓(xùn)練測(cè)試都展示出了極佳效果。該框架在無監(jiān)督學(xué)習(xí)的情況下對(duì)獨(dú)立數(shù)據(jù)生成的因子進(jìn)行可解釋的因素化表示。人工智能能夠像人類一樣學(xué)習(xí)和推理,可以在完全無監(jiān)督的方式下從原始圖像數(shù)據(jù)自動(dòng)發(fā)現(xiàn)可解釋的因子潛在表示形式。
自編碼器是一種數(shù)據(jù)處理形式,其將目標(biāo)數(shù)據(jù)X編碼為向量Z,并通過解碼器可以將Z重新生成X′。由于Z的形式固定,自編碼器的工作過程是固定的,無法滿足對(duì)多形式任意數(shù)據(jù)的處理需求。因此研究者們提出了變分自編碼器來解決這個(gè)問題。變分自編碼器結(jié)構(gòu)示意圖見圖1。
圖1 變分自編碼器結(jié)構(gòu)示意圖
由圖1示出,其直接對(duì)原始數(shù)據(jù)生成新的潛在向量Z,其中包括原始數(shù)據(jù)的信息和噪聲信息。其中原始數(shù)據(jù)樣本{X1,X2,…,Xn},整體用X來表示。X的分布為p(X):
(1)
其中,對(duì)于潛在結(jié)構(gòu)維度的描述,是變分自編碼器和自編碼器不同的關(guān)鍵。
變分自編碼器內(nèi)部示意圖見圖2,由圖示出,簡(jiǎn)單的向量Z并不能解釋維度,樣本Z可以從1個(gè)簡(jiǎn)單分布中獲得:N(0,I),其中I是單位矩陣。由于n維空間中任何分布都可以有n個(gè)服從正態(tài)分布的變量生成,并且可以產(chǎn)生1個(gè)足夠復(fù)雜的函數(shù)映射出來。這一過程在變分自編碼器中被稱為編碼器,其主要作用是通過原始數(shù)據(jù)的輸入,產(chǎn)生潛在變量的概率分布。而其中解碼器是生成新的X′條件分布。由于噪聲的加入,重構(gòu)的過程變得更加復(fù)雜,但正是噪聲的存在,增加了重構(gòu)結(jié)果的隨機(jī)性,目的是為了得到更好的重構(gòu)模型。
圖2 變分自編碼器內(nèi)部示意圖
基于變分自編碼器的自身特點(diǎn),本文設(shè)計(jì)了基于變分自編碼器的風(fēng)格遷移算法,并且將其應(yīng)用在現(xiàn)代服飾的中國風(fēng)格遷移研究中。該算法是在傳統(tǒng)變分自編碼器的基礎(chǔ)上進(jìn)行重新設(shè)計(jì)后得到的,主要由3部分組成:編碼器、解碼器和損失函數(shù)[13]?;谧兎肿跃幋a器的圖像風(fēng)格遷移算法結(jié)構(gòu)示意圖見圖3,由圖示出,輸入原始數(shù)據(jù)為內(nèi)容圖像(內(nèi)容)和合成圖像(風(fēng)格),輸入編碼器后獲得潛在的風(fēng)格因素Z。風(fēng)格因素與內(nèi)容圖像共同輸入編碼器后,可以融合內(nèi)容圖像的內(nèi)容和合成圖像的風(fēng)格得到新的輸出圖像。進(jìn)一步,損失函數(shù)中利用重構(gòu)損失函數(shù)來評(píng)估輸出圖像與合成圖像的差異,KL散度損失函數(shù)用來限定風(fēng)格因素Z的正態(tài)分布[14]。
圖3 基于變分自編碼器的圖像風(fēng)格遷移算法結(jié)構(gòu)示意圖
在當(dāng)前流行的服飾中融入中國風(fēng)格,不是簡(jiǎn)單將整幅圖像進(jìn)行風(fēng)格遷移變化。因?yàn)闆]有無風(fēng)格的服裝,也沒有脫離服裝單獨(dú)存在的風(fēng)格。并且內(nèi)容與風(fēng)格的界限十分模糊,應(yīng)用在服裝的風(fēng)格遷移上,更難劃分界限。
本文研究利用變分自編碼器,將風(fēng)格從風(fēng)格圖片中提取出來,并且應(yīng)用在期望改變風(fēng)格的服飾局部上。其中,服裝圖像預(yù)處理主要有目標(biāo)檢測(cè)和目標(biāo)分割[15]。Yolo v3原理結(jié)構(gòu)圖如圖4所示,選用Yolo v3的算法對(duì)內(nèi)容圖像中的服裝模特進(jìn)行目標(biāo)檢測(cè)。再利用經(jīng)典語義分割算法(FCN)對(duì)目標(biāo)區(qū)域進(jìn)行更精確的語義分割,實(shí)現(xiàn)對(duì)局部目標(biāo)的準(zhǔn)確提取,最終實(shí)現(xiàn)僅對(duì)局部位置進(jìn)行風(fēng)格遷移。
圖4 Yolo v3原理結(jié)構(gòu)圖
本文研究采用的Mask-RCNN以Faster-RCNN為主體框架,在其網(wǎng)絡(luò)的頭部引入另1條FCN并行分支用于檢測(cè)ROI的mask map信息,這樣其頭部包含3個(gè)子任務(wù):分類、回歸和分割。第1階段掃描圖片并生成提議(即有可能包含1個(gè)目標(biāo)的區(qū)域),第2階段對(duì)提議進(jìn)行分類并生成邊界框和掩碼[16]。
Mask-RCNN的處理過程一般是輸入一幅要處理的圖片進(jìn)行相應(yīng)的預(yù)處理(或者直接輸入預(yù)處理后的圖片),將處理結(jié)果輸入到1個(gè)預(yù)先訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中得出對(duì)應(yīng)的特征圖,對(duì)特征圖中每一點(diǎn)設(shè)定預(yù)定的ROI區(qū)域,從而獲得多個(gè)候選ROI區(qū)域。將候選的ROI送入?yún)^(qū)域生成網(wǎng)絡(luò)(RPN)進(jìn)行二值分類(識(shí)別出是前景或是背景)和邊框回歸,過濾掉一部分候選ROI。對(duì)剩下的ROI將原圖和特征圖的像素點(diǎn)對(duì)應(yīng)起來,將特征圖和固定的特征對(duì)應(yīng)起來,即ROI中的每個(gè)點(diǎn)取其所在格子的4個(gè)頂點(diǎn)的坐標(biāo)值做雙線性插值,對(duì)這些ROI進(jìn)行分類、邊框回歸和MASK生成(在每個(gè)ROI里面進(jìn)行FCN操作)[17]。
在傳統(tǒng)變分自編碼器的基礎(chǔ)上,對(duì)編碼器和解碼器進(jìn)行調(diào)整,能夠以多種方式實(shí)現(xiàn)服裝的風(fēng)格遷移,從而達(dá)到不同的效果。第1種方法,保留完整變分自編碼器架構(gòu),把整體模型用作風(fēng)格遷移網(wǎng)絡(luò),在編碼器中輸入帶有中國風(fēng)格的風(fēng)格圖片,和經(jīng)過預(yù)處理的原始服裝內(nèi)容圖片,對(duì)局部細(xì)節(jié)進(jìn)行中國特色風(fēng)格遷移,找到潛在變量,通過解碼器輸入風(fēng)格化后的合成圖。第2種方法,通過屏蔽掉編碼器,利用輸入解碼器的內(nèi)容圖像和正態(tài)分布中的采樣作為潛在風(fēng)格變量,最終實(shí)現(xiàn)固定服裝樣式不變,對(duì)目標(biāo)服裝進(jìn)行多風(fēng)格的變化。第3種方法,利用固定的風(fēng)格編碼,改變輸入的服裝內(nèi)容圖像,屏蔽編碼器提取潛在風(fēng)格步驟,可以實(shí)現(xiàn)輸出風(fēng)格一樣而內(nèi)容不同的服裝樣圖。
根據(jù)服飾風(fēng)格遷移的實(shí)驗(yàn)需求,實(shí)驗(yàn)選取的計(jì)算機(jī)硬件CPU(配置Intel i7-9700K)、GPU(配置NVidia RTX2080)、內(nèi)存32G;計(jì)算機(jī)軟件為python(3.7.3版本)、TensorFlow(TensorFlow 2.0 Alpha版本)、IDE (PyCharm community edition版本)。
在數(shù)據(jù)集的選擇上,由于本文是對(duì)變分自編碼器的創(chuàng)新應(yīng)用,網(wǎng)絡(luò)同時(shí)輸入內(nèi)容圖像與風(fēng)格圖像。內(nèi)容圖像數(shù)據(jù)集(局部)如圖5所示,內(nèi)容圖像來自于AIUAI-Dataset-DeepFashion服裝數(shù)據(jù)集,該數(shù)據(jù)集包含了50個(gè)服裝類別和289 222張服裝照片,本文研究選取50張不同類別圖案簡(jiǎn)單的衣服圖片,防止過于復(fù)雜的圖案(如卡通人物等)影響實(shí)驗(yàn)效果。
圖5 內(nèi)容圖像數(shù)據(jù)集(局部)
風(fēng)格圖片如圖6所示,風(fēng)格圖片選擇了2種具有中國傳統(tǒng)特色的圖片,一種為中國水墨畫風(fēng)格,另一種為中國傳統(tǒng)西域壁畫風(fēng)格[18]。
圖6 風(fēng)格圖片
本文采用Yolo v3的算法進(jìn)行目標(biāo)檢測(cè),其具有收斂速度快和避免過擬合的特點(diǎn)[19-20]。由于本文選用數(shù)據(jù)集的大部分目標(biāo),在背景中都是十分突出的,多種目標(biāo)檢測(cè)方法識(shí)別的準(zhǔn)確率非常高,但考慮到未來實(shí)際環(huán)境中服裝圖片背景多較為復(fù)雜。因此復(fù)雜背景下的服裝分割是必不可少的,因此選用兼顧速度與準(zhǔn)確性的Yolo v3框架進(jìn)行目標(biāo)檢測(cè)。圖像分割見圖7。
圖7 圖像分割
采用在Mask-RCNN引入FCN進(jìn)行圖像分割的方法。首先,算法對(duì)已經(jīng)確定的模特所在區(qū)域進(jìn)行二次目標(biāo)檢測(cè),確定期望風(fēng)格遷移區(qū)域。如圖7所示,算法對(duì)2張不同圖片目標(biāo)檢測(cè)得到的重點(diǎn)區(qū)域進(jìn)行分割,在每個(gè)目標(biāo)中生成高質(zhì)量的分割掩膜,算法成功地將裙子、領(lǐng)口和裙擺分割出來。將分割出來的檢測(cè)目標(biāo)進(jìn)行標(biāo)記,作為生成器的輸入進(jìn)行中國風(fēng)格的遷移。采用2.3節(jié)風(fēng)格遷移的第1種方法進(jìn)行實(shí)驗(yàn),局部風(fēng)格遷移實(shí)驗(yàn)效果如圖8所示。首先生成1張全局風(fēng)格遷移圖片,同時(shí)在局部采用先目標(biāo)檢測(cè)后實(shí)例分割的方法生成掩膜。通過掩膜覆蓋在全局風(fēng)格遷移圖片的方式實(shí)現(xiàn)風(fēng)格轉(zhuǎn)換??梢郧宄闯觯兎肿跃幋a器成功實(shí)現(xiàn)了對(duì)2種不同中國風(fēng)格的采樣,并且在該算法下所獲得的風(fēng)格數(shù)據(jù)可以在不同的對(duì)像中進(jìn)行遷移。該算法同時(shí)可以學(xué)習(xí)一系列圖像的潛在特性,并且依據(jù)這些規(guī)律和特征設(shè)計(jì)圖像的潛在風(fēng)格,為設(shè)計(jì)者提供了極大的方便。
圖8 局部風(fēng)格遷移
本文研究了變分自編碼器在圖像風(fēng)格遷移方面的應(yīng)用,針對(duì)圖像風(fēng)格遷移的算法所存在的局部區(qū)域劃分不佳、風(fēng)格遷移后存在邊界偽影等問題,對(duì)服飾圖片的風(fēng)格遷移過程進(jìn)行改進(jìn),提出了一種基于Mask-RCNN框架的FCN圖像分割,對(duì)現(xiàn)代服裝可編輯局部區(qū)域進(jìn)行自動(dòng)分割提取,設(shè)計(jì)了用于現(xiàn)代服飾風(fēng)格遷移的變分自編碼器方法模型,通過實(shí)驗(yàn)獲得遷移后的合成圖片變得更為清晰,細(xì)節(jié)更加豐富。同時(shí)可以對(duì)不同的中國風(fēng)格進(jìn)行有機(jī)融合實(shí)現(xiàn)風(fēng)格遷移,在應(yīng)用以后將大幅減輕了服飾風(fēng)格遷移設(shè)計(jì)者的工作量。
此外,由于圖像風(fēng)格遷移的背景為服裝設(shè)計(jì),故對(duì)圖片分辨率的要求遠(yuǎn)高于一般的圖像風(fēng)格遷移算法,但是在基于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像合成的方法中,分辨率不足的問題是不可避免的。如果想要獲得更高質(zhì)量的結(jié)果圖像,意味著模型的參數(shù)增大,需要更大的訓(xùn)練集。在實(shí)際應(yīng)用背景下,必須平衡二者之間的關(guān)系,這是未來服飾風(fēng)格遷移算法的研究重點(diǎn)。同時(shí),變分自編碼器和傳統(tǒng)的風(fēng)格遷移算法中,都存在相同的問題,就是風(fēng)格遷移的過程中,往往是固定內(nèi)容圖像對(duì)風(fēng)格圖像進(jìn)行遷移,難以實(shí)現(xiàn)固定風(fēng)格圖像,對(duì)內(nèi)容進(jìn)行采樣或者二者同時(shí)采樣進(jìn)行風(fēng)格遷移,這個(gè)問題有待于未來進(jìn)行解決。