陳 佳,楊聰聰,劉軍平,何儒漢,梁金星
(1.武漢紡織大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,湖北 武漢 430200;2.湖北省服裝信息化工程技術(shù)研究中心,湖北 武漢 430200)
服裝設(shè)計(jì)是將設(shè)計(jì)美學(xué)和自然美應(yīng)用于服裝及其配飾的技藝,它追求實(shí)用美,是一種以人體為對(duì)象,以材料為基礎(chǔ),與各種機(jī)能性相結(jié)合的創(chuàng)造性行為。服裝設(shè)計(jì)師不僅要對(duì)大眾的生活方式和客戶的需求有很好的了解,還要能夠清晰地表達(dá)自己的想法。最重要的是,他們必須非常具有原創(chuàng)性,并有創(chuàng)新的想法。其中服裝草圖是設(shè)計(jì)師創(chuàng)作意圖的集中體現(xiàn),設(shè)計(jì)師首先通過構(gòu)思畫出服裝草圖,然后在服裝草圖基礎(chǔ)上設(shè)計(jì)出服裝效果圖;但這需要消耗設(shè)計(jì)師大量的時(shí)間和精力,因此,本文將研究通過深度學(xué)習(xí)技術(shù)來實(shí)現(xiàn)將缺少顏色和細(xì)節(jié)的服裝草圖自動(dòng)生成服裝效果圖。
傳統(tǒng)的由草圖到圖像的生成主要采用圖像檢索方法, 如Chen等[1]提出的Sketch2Photo系統(tǒng)以及Eitz等[2]提出的PhotoSketcher系統(tǒng)等。首先從大量的圖像數(shù)據(jù)庫(kù)中搜索相關(guān)的圖像,然后從相關(guān)圖像中提取出對(duì)應(yīng)的圖像塊,最后將這些圖像塊重新融合成新的圖像。此類方法很難設(shè)計(jì)特征表示,且后處理過程非常繁雜[3]。
近幾年,隨著深度學(xué)習(xí)的不斷發(fā)展,生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GANs)在服裝圖像生成領(lǐng)域展現(xiàn)出巨大的潛力,其通過使用一個(gè)判別器來區(qū)分生成器生成的圖像和真實(shí)圖像,從而迫使生成器生成更加真實(shí)的圖像[4]。這種基于深度學(xué)習(xí)的方法在訓(xùn)練過程中需要標(biāo)記大量的數(shù)據(jù)集,而現(xiàn)實(shí)世界中成對(duì)的服裝草圖-圖像數(shù)據(jù)集比較稀缺且制作起來耗時(shí)耗力。Zhu等[5]提出的循環(huán)一致生成式對(duì)抗網(wǎng)絡(luò)(cycle-consistent generative adversarial networks,CycleGAN)越來越多被應(yīng)用在草圖到圖像的生成過程中,這種方法主要側(cè)重于學(xué)習(xí)圖像域之間的映射,而忽略了其它關(guān)鍵語義信息,難以相應(yīng)規(guī)范訓(xùn)練過程。如果不考慮高級(jí)語義信息,會(huì)誤導(dǎo)模型建立不相關(guān)的翻譯模式,生成的圖像可能會(huì)出現(xiàn)嚴(yán)重的偽影甚至是不正確的圖像屬性。
本文提出一種基于循環(huán)生成對(duì)抗網(wǎng)絡(luò)的屬性引導(dǎo)服裝圖像生成方法,即AGGAN(CycleGAN-based method for attribute-guided garment synthesis),其將服裝屬性融入到生成器中以生成忠實(shí)于該屬性的服裝圖像。同時(shí),考慮到服裝設(shè)計(jì)草圖的稀疏性,本文引入注意力機(jī)制來引導(dǎo)生成器更多地關(guān)注筆畫密集的區(qū)域,并提出將像素值這種低層圖像數(shù)據(jù)和服裝屬性這種高層語義信息結(jié)合到生成模型中,以減少圖像映射的模糊性。
本文所提出的服裝圖像生成模型如圖1所示。從草圖域X={x1,x2,…,xn}開始,在屬性向量集合C={c1,c2,…,cn}的指導(dǎo)下完成目標(biāo)服裝圖像域Y={y1,y2,…,yn}的轉(zhuǎn)換。為保證服裝屬性的一致性,本文將輸入的服裝屬性作為條件信息融入到具有深度敏感注意力機(jī)制的生成器G和鑒別器Dy中。通過將服裝草圖X輸入到生成器G中,同時(shí)將服裝屬性通過One-hot編碼之后輸入到多層感知機(jī)中得到AdaIN[6]參數(shù),然后將其融入到生成對(duì)抗網(wǎng)絡(luò)網(wǎng)絡(luò)生成器的殘差層中,以此生成具有相應(yīng)屬性的卷積特征圖,最后通過生成器解碼得到目標(biāo)服裝圖像。鑒別器則用于區(qū)分生成服裝圖像與真實(shí)服裝圖像。
圖1 正向的AGGAN框架
服裝圖像具有豐富的語義屬性以及視覺細(xì)節(jié),其中,顏色、袖長(zhǎng)和紋理是最主要的視覺特征,因此本文提取服裝屬性(顏色、袖長(zhǎng)和紋理)進(jìn)行探索。當(dāng)AGGAN接收到任意服裝屬性標(biāo)簽時(shí),所有屬性都可同時(shí)學(xué)習(xí),服裝屬性由一個(gè)One-hot向量表示,該向量用于區(qū)分目標(biāo)屬性和其它屬性,One-hot向量一般可用來表示沒有大小關(guān)系的類別特征,在One-hot向量中,屬性向量表示為Ci=(0,1)N。其中:N為所添加的屬性個(gè)數(shù);Ci表示將N個(gè)(0,1)連接起來的第i個(gè)屬性向量。只有對(duì)應(yīng)于標(biāo)簽的元素被設(shè)置為1,而其它元素被設(shè)置為0。分別將顏色、袖長(zhǎng)和紋理3種屬性集合進(jìn)行編碼得到的One-hot向量矩陣輸入到多層感知機(jī)中,并展開到高維空間作為AdaIN樣式參數(shù)。AdaIN操作能夠?qū)R內(nèi)容特征與樣式特征的二階統(tǒng)計(jì)數(shù)據(jù),將AdaIN參數(shù)插入到生成器G中的殘差層中并與卷積特征圖融合,可產(chǎn)生相關(guān)屬性樣式的內(nèi)容特征。假設(shè)經(jīng)過生成器G的殘差層產(chǎn)生t∈RHt×Wt×Ct的特征圖,其中:R為實(shí)數(shù)集;Ht為特征圖t的高;Wt為特征圖t的寬;Ct為特征圖t的通道數(shù)。AdaIN操作為
式中:tc∈RHt×Wt,為輸入的特征圖;C為屬性特征參數(shù);μ(tc)和σ(tc)分別表示特征圖tc的均值和標(biāo)準(zhǔn)差;μ(C)和σ(C)分別表示服裝屬性特征的均值和標(biāo)準(zhǔn)差。
生成器G的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。首先使用多個(gè)下采樣卷積層學(xué)習(xí)高層特征映射,然后通過多個(gè)上采樣卷積層生成輸出圖像。與一般的GAN不同之處在于,本文在上采樣層前學(xué)習(xí)仿射變換,以便通過AdaIN操作將服裝屬性融入到生成器中。該服裝屬性通過One-hot編碼到二進(jìn)制向量C(C∈R1×1×N)中,且每個(gè)分量是屬性的狀態(tài)。將其融入生成器的殘差層后經(jīng)過注意力模塊,使模型能夠選擇信息最豐富的屬性來分類和區(qū)分相似的類,對(duì)于第i個(gè)屬性,將其聚焦于圖像不同區(qū)域的關(guān)注度定義為
式中:sij為圖像隱含特征和潛在屬性特征的內(nèi)積;βj,i表示對(duì)應(yīng)用softmax函數(shù)計(jì)算出的關(guān)注度;CTi為屬性向量集中的第i個(gè)屬性向量;g(xj)為圖像第j個(gè)子區(qū)域的隱含特征;oj為注意力層的最終輸出。
生成器G包含下采樣層、殘差層、注意力模塊和上采樣層。下采樣層分別是步長(zhǎng)為1的7×7卷積層,2個(gè)步長(zhǎng)為2的3×3卷積層,每個(gè)Convolution卷積層后是BatchNorm歸一化層,激活函數(shù)為ReLU。為了讓生成器網(wǎng)絡(luò)能夠接收服裝屬性信息,本文將殘差塊的BatchNorm歸一化層更改為AdaIN自適應(yīng)歸一化層。服裝草圖輸入用作AdaIN的內(nèi)容輸入,服裝屬性的AdaIN參數(shù)則作為樣式輸入,以確保網(wǎng)絡(luò)學(xué)習(xí)正確的屬性信息。上采樣層分別為2個(gè)步長(zhǎng)為1的3×3反卷積層,每個(gè)卷積層后是BatchNorm歸一化層,激活函數(shù)為ReLU,最后一個(gè)輸出層則是步長(zhǎng)為1的7×7卷積層使用tanh激活函數(shù)來確保歸一化生成的圖像位于范圍[-1,1]內(nèi)。
鑒別器Dy根據(jù)輸入的Y域圖像和1組屬性向量C={c1,c2,…,cn}來計(jì)算概率D(Y,C)。該鑒別器包含了5個(gè)下采樣層組成的卷積神經(jīng)網(wǎng)絡(luò),這些卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是由Convolution-BatchNorm-LeakyReLU層構(gòu)建的,在最后一層之后,應(yīng)用全連接層,然后是Sigmoid函數(shù),第1層不采用BatchNorm歸一化層。
生成器和鑒別器之間的對(duì)抗性過程促使生成圖像更具真實(shí)性,此外還需要在對(duì)抗過程中融入屬性條件信息來保證生成圖像屬性上的一致性。鑒別器Dy的輸入為Y域服裝圖像以及相對(duì)應(yīng)的屬性。研究目標(biāo)是使得鑒別器Dy能夠區(qū)分生成的服裝效果圖和真實(shí)的服裝圖像,并判斷輸入的服裝圖像是否包含所需的屬性。在訓(xùn)練鑒別器網(wǎng)絡(luò)的過程中,將真實(shí)服裝圖像數(shù)據(jù)對(duì)(Y,C)作為正樣本,而生成的服裝圖像(G(X,C),C)及其屬性C的數(shù)據(jù)對(duì)則被定義為負(fù)樣本,其中X為輸入生成器的服裝草圖。訓(xùn)練鑒別器網(wǎng)絡(luò)的目標(biāo)函數(shù)分別為用于檢驗(yàn)屬性一致性的Latt和用于判別圖像真實(shí)性的Lauth,因此鑒別器Dy的對(duì)抗性損失為
LDy=λ1Latt+Lauth
λ1初始化為0,在后面的訓(xùn)練過程中逐漸增大,使得鑒別器Dy能夠首先注重于鑒別真假圖像,然后逐漸注重于屬性一致性檢查,Latt與Lauth計(jì)算公式分別為:
Latt=-E(Y,C)~Pdata(Y,C)lnDy(Y,C)+
Lauth=-E(Y,C)~Pdata(Y,C)lnDy(Y,C)+
E(X,C)~Pdata(X,C)lnDy(G(X,C),C)
AGGAN的生成器G與鑒別器Dy對(duì)抗損失為
式中,ln(1-Dy(G(X,C)))表示判別器的優(yōu)化目標(biāo)。該值越大,Dy(G(X,C))的值越小。
與生成器G的網(wǎng)絡(luò)結(jié)構(gòu)不同,重建過程的生成器F沒有服裝屬性條件的引導(dǎo),將生成圖像恢復(fù)至服裝草圖F(G(X)),在沒有屬性回歸約束的情況下,則生成器F與鑒別器Dx的對(duì)抗損失為
式中:Pdata(X)和Pdata(Y)分別表示服裝草圖和服裝圖像的數(shù)據(jù)分布;EX~Pdata(X)和EY~Pdata(Y)分別表示從服裝草圖數(shù)據(jù)分布獲取的期望以及從服裝圖像數(shù)據(jù)分布獲取的期望;F(Y)表示輸入為服裝圖像Y時(shí),生成器F生成的草圖。
重建草圖的內(nèi)容與原始輸入草圖通過L1損失在像素級(jí)對(duì)齊,則循環(huán)一致性損失公式為
式中:F(G(X,C))表示重建服裝草圖;G(F(Y))表示輸入為服裝草圖時(shí)生成的服裝圖像。
綜上所述,最終的目標(biāo)函數(shù)為
L=LGAN(G,Dy,X,Y,C)+LGAN(F,Dx,Y,X)+Lcycle
式中:LGAN(G,Dy,X,Y,C)為生成過程生成器G與鑒別器Dy的對(duì)抗損失;LGAN(F,Dx,Y,X)為重建過程生成器F與判別器Dx的對(duì)抗損失;Lcycle為循環(huán)一致性損失。
本文對(duì)所提出的網(wǎng)絡(luò)模型進(jìn)行了驗(yàn)證,并在帶有屬性向量的VITON數(shù)據(jù)集[7]上對(duì)其性能進(jìn)行了評(píng)估。該數(shù)據(jù)集包括14 221個(gè)圖像和22個(gè)相關(guān)屬性,數(shù)據(jù)集中的每個(gè)條目都由1個(gè)來自VITON的圖像和1個(gè)屬性向量組成。由于服裝圖像中上衣圖像相較于其它品類的服裝圖像其視覺特征更為豐富,更具有代表性,因此本文選擇上衣圖像作為研究對(duì)象。訓(xùn)練過程中先將其轉(zhuǎn)換為服裝草圖,再進(jìn)行基于服裝草圖的圖像生成任務(wù)。本文設(shè)置所有數(shù)據(jù)被訓(xùn)練的總輪數(shù)為200,初始學(xué)習(xí)率是0.000 2,并且使用Adam優(yōu)化器,批次大小為8,輸入圖像的大小為256像素×256像素。
實(shí)驗(yàn)環(huán)境設(shè)置:使用Windows10的64位操作系統(tǒng),采用Pytorch1.2.0深度學(xué)習(xí)框架,CPU為3.70 GHz Intel(R)Core(TM)i5-9600KF,GPU為NVIDIA GeForce GTX1080Ti。
本文使用初始分?jǐn)?shù)IS、弗雷切特初始距離FID[8]以及平均意見分?jǐn)?shù)MOS[9]3個(gè)指標(biāo)來評(píng)價(jià)生成服裝圖像的質(zhì)量。IS和FID是GAN模型的典型圖像評(píng)價(jià)指標(biāo),分別關(guān)注生成圖像的多樣性和生成圖像與真實(shí)圖像之間的特征距離,而MOS量化指標(biāo)則是用來評(píng)價(jià)圖像的生成效果。
初始分?jǐn)?shù)IS通過將生成器輸出的圖像輸入到訓(xùn)練好的Inception V3[10]中,從而得到一個(gè)概率分布的多維向量,其計(jì)算公式為
IS(G)=exp(Ex~pgKL(p(y|x)||p(y)))
式中:pg為生成數(shù)據(jù)的分布;x為從分布pg中采樣的圖像;Ex~pg表示從分布pg上獲取的數(shù)學(xué)期望,KL表示KL散度[11];p(y|x)表示輸入到Inception V3網(wǎng)絡(luò)中并輸出的分類向量;p(y)為生成圖片在所有類別上的邊緣分布。
弗雷切特初始距離FID是通過Inception V3提取出特征向量,沒有采用原Inception V3的輸出層,而是讓其網(wǎng)絡(luò)倒數(shù)第2個(gè)全連接層成為新的輸出層。FID值越小,它們之間的相似程度越高。FID計(jì)算公式如下:
式中:μr和Cr分別為真實(shí)樣本在輸出層的均值和協(xié)方差矩陣;μg和Cg別為生成樣本輸出層的均值和協(xié)方差矩陣;Tr為矩陣的跡。
平均意見分?jǐn)?shù)MOS是一種從主觀角度對(duì)生成圖像質(zhì)量評(píng)估的方法,該方法需要受試者給出對(duì)所觀察圖像質(zhì)量的評(píng)分,然后將所有受試者給出的評(píng)分匯總在一起計(jì)算出平均意見分?jǐn)?shù)。MOS值為一個(gè)有理數(shù),通常在1~5的范圍內(nèi),其中1是最低感知質(zhì)量,5是最高感知質(zhì)量。
為驗(yàn)證本文所提方法AGGAN的性能,進(jìn)行了一系列對(duì)比實(shí)驗(yàn)。圖2分別示出輸入草圖,真實(shí)圖像,CycleGAN[5]、MUNIT[12]、USPS[13]以及AGGAN的生成圖像結(jié)果??梢钥闯觯琈UNIT在本文服裝圖像生成任務(wù)上存在圖像模糊,圖像邊緣難以分辨的問題,在訓(xùn)練期間,生成器學(xué)習(xí)生成與特定屬性相對(duì)應(yīng)的有限數(shù)量圖像樣本,所生成的圖像不足以欺騙鑒別器,因此生成器和鑒別器網(wǎng)絡(luò)沒有得到充分優(yōu)化。CycleGAN生成的圖像較為模糊且顏色單一,圖像缺乏真實(shí)感。最先進(jìn)的基于草圖生成圖像方法USPS從視覺效果上生成可信的服裝圖像,但生成的服裝圖像顏色單一且質(zhì)量不高。與其它方法相比,本文所提出的AGGAN不僅可生成多種顏色的服裝圖像,而且在視覺效果上更接近真實(shí)情況,同時(shí)AGGAN產(chǎn)生的圖像極大地緩解了失真現(xiàn)象,這主要是由于模型融入了服裝屬性,在訓(xùn)練階段學(xué)習(xí)更好的條件數(shù)據(jù)分布,此外,在所提出的AGGAN中使用注意力機(jī)制也有助于提升模型的性能。
圖2 AGGAN與其它方法生成服裝圖像結(jié)果對(duì)比
本文使用IS、FID來進(jìn)一步定量評(píng)估模型,結(jié)果如表1所示。可見:本文方法所生成的服裝圖像IS值為1.253,相較于CycleGAN提高了13.8%,且高于其它方法;其FID值為139.634,相較于CycleGAN降低了26.2%,且低于其它方法。除了上述2個(gè)評(píng)價(jià)指標(biāo)外,本文還采用了MOS量化指標(biāo)來評(píng)價(jià)各方法生成的服裝圖像質(zhì)量,通過在校園線下分發(fā)問卷的方式進(jìn)行調(diào)研。實(shí)驗(yàn)中,評(píng)分人員被要求在數(shù)秒內(nèi)從上述4種方法所生成的服裝圖像中選擇出他們喜歡的服裝圖像并依次對(duì)各方法生成的結(jié)果進(jìn)行評(píng)分,設(shè)置的評(píng)分區(qū)間為1~5分,每種方法所生成的服裝圖像取出100張作為評(píng)價(jià)樣本,最后取各方法得分的平均值作為MOS值,從表1可看到,本文方法的MOS值為4.352分,高于其它圖像生成方法。
表1 AGGAN與其它方法比較結(jié)果
服裝圖像具有非常豐富的高級(jí)語義特征,而上述對(duì)比實(shí)驗(yàn)中的現(xiàn)有方法都不能很好地控制服裝屬性的生成,沒有引入服裝屬性的生成結(jié)果往往不能滿足需求,因此本文探究了屬性控制的服裝圖像生成。
2.4.1 袖長(zhǎng)屬性控制的實(shí)驗(yàn)結(jié)果
袖長(zhǎng)屬性是服裝的重要視覺特征,袖長(zhǎng)屬性控制的實(shí)驗(yàn)結(jié)果如圖3所示。其中生成圖像從左至右分別為無袖、短袖、蓋肩袖、中袖、七分袖和長(zhǎng)袖的生成結(jié)果。與真實(shí)圖像相比,生成的服裝圖像袖長(zhǎng)部分變化非常明顯,而且似乎沒有違和感;同時(shí)生成圖像與輸入圖像之間的差異明顯,且圖像分辨率相對(duì)較高,注重對(duì)目標(biāo)袖長(zhǎng)屬性的處理,生成的結(jié)果符合直覺邏輯;但“中袖”與“七分袖”生成效果比較接近,區(qū)別不明顯,主要是因?yàn)楝F(xiàn)有模型還不足以支撐如此精確的屬性操作。
圖3 袖長(zhǎng)屬性控制的生成結(jié)果
2.4.2 顏色屬性控制的實(shí)驗(yàn)結(jié)果
除了袖長(zhǎng)屬性外,本文還探討了顏色屬性對(duì)生成服裝圖像的影響,如圖4所示,生成圖像從左至右分別為紅色、粉色、黃色、綠色、藍(lán)色和黑色的生成結(jié)果??煽吹紸GGAN在顏色屬性的控制下幾乎能夠生成任何相應(yīng)顏色的服裝圖像,這是由于在生成器網(wǎng)絡(luò)輸入服裝草圖的同時(shí)融入了顏色屬性作為顏色提示輸入,在顏色細(xì)節(jié)生成方面能生成多樣化且高保真度的結(jié)果。
圖4 顏色屬性控制的生成結(jié)果
2.4.3 紋理屬性控制的實(shí)驗(yàn)結(jié)果
除以上2種屬性外,紋理也是服裝圖像最直觀和最主要的視覺特征,紋理屬性控制的實(shí)驗(yàn)結(jié)果如圖5所示,生成圖像從左至右分別為橫紋、粗紋、豎紋、波浪紋、柵格紋和印花的生成結(jié)果。
從圖5可以看出,橫紋、波浪紋、柵格紋與印花這4列的生成結(jié)果較為明顯,基本上可以生成所需要的紋理,但其在真實(shí)感上還需改進(jìn)。粗紋、豎紋這2列的生成結(jié)果則不明顯,主要是由于擁有該屬性的服裝數(shù)據(jù)集較為稀少,在這種情況下,生成器在學(xué)習(xí)從草圖域生成圖像域時(shí),生成的服裝圖像傾向于在某種程度上忽略融入屬性的影響。
圖5 紋理屬性控制的生成結(jié)果
本文研究利用One-hot向量編碼服裝屬性以及多層感知機(jī)構(gòu)建了屬性融入模塊,通過屬性融入模塊、注意力機(jī)制和循環(huán)生成對(duì)抗網(wǎng)絡(luò)建立了基于手繪草圖的服裝圖像生成模型,并以此提出了手繪草圖到服裝圖像的跨域生成方法。該方法結(jié)合了生成對(duì)抗網(wǎng)絡(luò)與條件圖像生成方法的優(yōu)勢(shì),服裝屬性被用作條件以增加服裝圖像生成過程的可控性。實(shí)驗(yàn)結(jié)果表明,所提方法相較于圖像生成方法CycleGAN的初始分?jǐn)?shù)IS值提高了13.8%,弗雷切特初始距離FID值降低了26.2%,本文研究方法具有可行性與有效性。
本文研究仍有不足,例如:生成的服裝圖像存在輪廓模糊;紋理屬性生成效果不明顯;研究的服裝屬性較少等。后期將深入探索如何提升生成圖像輪廓的清晰度以及生成屬性的效果,同時(shí)還將研究更多種類的服裝屬性生成。