徐俊哲,陳佳,2,何儒漢,2,胡新榮,2
(1.武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,武漢430000;2.湖北省服裝信息化工程技術(shù)研究中心,武漢430000)
近年來(lái),人工智能在服裝設(shè)計(jì)上的應(yīng)用得到迅速發(fā)展,例如在虛擬現(xiàn)實(shí)、可穿戴技術(shù)和虛擬試衣間等方面的應(yīng)用。為了吸引在線購(gòu)物者并提供豐富和直觀的在線體驗(yàn),銷售商努力提供高質(zhì)量和信息豐富的服裝圖片。在線購(gòu)物者通常希望從不同的角度看到多件服裝商品的照片,或者從不同角度或以不同姿勢(shì)看到穿著同一服裝的時(shí)裝模特的多張照片,在這種情況下,可以利用圖像合成技術(shù)來(lái)增強(qiáng)購(gòu)物者的購(gòu)物體驗(yàn)并降低零售商的成本。時(shí)尚服裝對(duì)款式、顏色、風(fēng)格和紋理等搭配具有較高要求,姿勢(shì)引導(dǎo)的圖像生成最近引起了極大的關(guān)注,它在保持外觀細(xì)節(jié)的同時(shí),將人的姿勢(shì)更改為目標(biāo)姿勢(shì)。
傳統(tǒng)的服裝圖像合成技術(shù)只能處理簡(jiǎn)單的紋理,規(guī)則圖像的合成。隨著深度卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn),變分自編碼器(VAE)[1]的提出,在一定程度上提高了合成圖像的質(zhì)量。Goodfellow 等人[2]提出的生成對(duì)抗網(wǎng)絡(luò)進(jìn)一步提升了圖像合成的真實(shí)性。然而這些方法主要著重于保持服裝的紋理和外觀的固有屬性,忽略了在實(shí)際中人體不同姿態(tài)下著衣的效果,因此本文引入一個(gè)由姿態(tài)引導(dǎo)的服裝圖像合成框架,能夠很好地展示目標(biāo)姿態(tài)下服裝的效果。
該方法首先設(shè)計(jì)了一種新型的語(yǔ)義編碼器,將原圖像的語(yǔ)義掩模圖和目標(biāo)姿態(tài)以及目標(biāo)姿態(tài)mask 作為輸入,提取語(yǔ)義特征,然后使用紋理編碼器提取紋理特征,最后將紋理特征和語(yǔ)義特征進(jìn)行充分融合得到逼真的服裝圖像。本文方法有效利用了以人體語(yǔ)義掩模圖為引導(dǎo),完成目標(biāo)姿態(tài)下的人體服裝圖像生成,有效地簡(jiǎn)化了輸入與輸出的形狀映射關(guān)系學(xué)習(xí),并對(duì)保持衣物的原始屬性(紋理、風(fēng)格、款式等)提供了先驗(yàn)知識(shí)。
針對(duì)服裝圖像合成問(wèn)題,根據(jù)處理的方法不同可分為兩類:①基于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的方法,例如Gatys[3]等人利用卷積神經(jīng)網(wǎng)絡(luò)將不同風(fēng)格通過(guò)遷移學(xué)習(xí)到圖像的語(yǔ)義內(nèi)容,通過(guò)內(nèi)容和風(fēng)格的結(jié)合重構(gòu)出新的風(fēng)格圖像;②基于生成式對(duì)抗網(wǎng)絡(luò)的方法,由Goodfellow 等人在2014 年提出的一種無(wú)監(jiān)督的學(xué)習(xí)方法,使用兩個(gè)神經(jīng)網(wǎng)絡(luò)相互對(duì)抗博弈,利用反向傳播實(shí)現(xiàn)端到端的更新訓(xùn)練,改善了生成模型的效率和訓(xùn)練難度。Bousmalis 等人[4]提出一種基于GAN 的非監(jiān)督的圖像合成方法,引入基于特定任務(wù)的損失函數(shù)和內(nèi)容相似性損失函數(shù)來(lái)學(xué)習(xí)生成圖像。由于GAN 的訓(xùn)練問(wèn)題比較復(fù)雜,Park 等人[5]提出利用真實(shí)圖像與生成圖像間的流形進(jìn)行匹配以獲得良好的生成效果。Sang?kloy 等人[6]提出利用紋理信息約束的生成網(wǎng)絡(luò)來(lái)完成圖像的合成。
為了幫助消費(fèi)者能在不同姿勢(shì)條件下看到穿著同一服裝的時(shí)裝模特的多張圖片,并且能夠降低零售商的成本,因此本文提出基于生成對(duì)抗網(wǎng)絡(luò)和姿態(tài)相結(jié)合的服裝圖像合成框架。該框架能將指定服裝映射到新姿勢(shì)上,生成目標(biāo)姿態(tài)下的人體服裝圖像,而且同時(shí)保持人體服裝圖像的外觀特征。
系統(tǒng)測(cè)試時(shí)的結(jié)構(gòu)如下:首先將服裝圖像x(q)及其關(guān)聯(lián)的語(yǔ)義掩模圖m(q)映射到紋理特征t(q)和語(yǔ)義特征s(q)。然后,使用編輯模塊F++逐步的將t(q)和s(q)更新為t++和s++,以提高服裝的時(shí)尚能力。最后,基于t++和s++,系統(tǒng)會(huì)生成通過(guò)編輯后的服裝x++的偽圖像。具體步驟如圖1 所示。
圖1 展現(xiàn)了本文設(shè)計(jì)的一種新型服裝圖像合成框架,此框架考慮到姿態(tài)和紋理兩個(gè)方面,在右上方虛線方框中通過(guò)引入姿態(tài),提出了一種服裝圖像的語(yǔ)義特征提取框架,將目標(biāo)姿態(tài)Pt 與目標(biāo)姿態(tài)掩模圖Mpt 融入到語(yǔ)義編碼器Es 中,進(jìn)行語(yǔ)義特征的提取。
2.1.1 生成紋理特征
輸入圖像x(q)是一張穿衣服的人的真實(shí)全身照片。伴隨著區(qū)域映射m 將每個(gè)像素分配給衣服或身體部位的區(qū)域。本文使用在Chictopia10k[8]定義的n=18個(gè)唯一區(qū)域標(biāo)簽:臉、頭發(fā)、襯衫、褲子、衣服、帽子等。首先將x 輸入到一個(gè)學(xué)習(xí)的紋理編碼器Et:X→V中,該編碼器輸出特征圖v。編碼部分采取VGG16 網(wǎng)絡(luò)提取服裝的紋理特征。令ri為與標(biāo)簽i 相關(guān)聯(lián)的區(qū)域,并對(duì)ri進(jìn)行平均池化操作來(lái)獲取紋理特征整個(gè)服裝的紋理特征表示為t:=[t0;…;tn-1]∈?n·dt。
圖1 服裝圖像合成框架
2.1.2 目標(biāo)姿態(tài)嵌入并編碼
為了避免昂貴的姿態(tài)注釋,本文利用了最新的姿態(tài)估計(jì)器[9]來(lái)獲取近似的人體姿態(tài),即目標(biāo)姿態(tài)pt。模型學(xué)習(xí)將每個(gè)關(guān)鍵點(diǎn)映射到人體的某個(gè)位置,將姿態(tài)pt 編碼為若干個(gè)heatmaps,每個(gè)heatmaps 在對(duì)應(yīng)關(guān)鍵點(diǎn)周圍半徑為4 的像素中填充1,其他位置則填充0(請(qǐng)參看圖2,目標(biāo)姿態(tài))。由于只有語(yǔ)義掩模圖和目標(biāo)姿態(tài)作為輸入,如果目標(biāo)人體服裝圖像和原人體服裝圖像背景不同,則模型生成背景較困難。為了減輕背景變化的影響,于是添加了另一個(gè)姿態(tài)掩模圖Mpt,從而賦予了人體比背景更多的權(quán)重。姿態(tài)掩模Mpt 的前景設(shè)置為1,背景設(shè)置為0,是通過(guò)將人體部位和運(yùn)用一組形態(tài)學(xué)運(yùn)算計(jì)算得出,以便使其易于覆蓋目標(biāo)圖像中的整個(gè)人體(參看圖2)。
圖2 目標(biāo)姿態(tài)圖和目標(biāo)姿態(tài)掩模圖
2.1.3 編輯模塊
由2.1.1 產(chǎn)生的紋理特征t(q),2.1.2 產(chǎn)生語(yǔ)義的特征s(q),使用一個(gè)編輯模塊F++逐步的將t(q)和s(q)更新為t++和s++,以提高服裝的時(shí)尚能力。編輯模塊是一種用于編輯操作的時(shí)尚性分類器(MLP),其結(jié)構(gòu)定義為:fc256、fc256、fc128、fc2。其中fck 表示具有k 個(gè)fil?ters 的完全連接層。為了進(jìn)行時(shí)尚性分類器編輯,使用學(xué)習(xí)率為0.1 的SGD 優(yōu)化器。
F++返回編輯后的版本:
2.1.4 構(gòu)建服裝圖像
本文首先使用語(yǔ)義生成器Gs 接受全身語(yǔ)義特征s并生成一個(gè)圖片大小的區(qū)域映射m∈M。然后執(zhí)行區(qū)域范圍的廣播,將ti廣播到帶有標(biāo)簽i 所有在映射m?上的位置,獲得紋理特征圖u=F_broad(t,m)。最后,再將u 和映射m?進(jìn)行通道連接,來(lái)構(gòu)造紋理生成器Gt 的輸入,生成最終的服裝圖像x++。生成器Gt 和Gs 學(xué)習(xí)重建以紋理和語(yǔ)義特征為條件的服裝圖像。
針對(duì)服裝語(yǔ)義特征提取和語(yǔ)義掩模圖重建網(wǎng)絡(luò)模型(參看圖3),本文提出一種新型VAE-GAN 結(jié)構(gòu)(如圖4),屬于一種基于自編碼器的GAN,能夠通過(guò)GAN來(lái)強(qiáng)化自編碼器,以便生成清晰的圖像。語(yǔ)義編碼器采用pix2pixHD[10]網(wǎng)絡(luò)結(jié)構(gòu)提取語(yǔ)義特征,語(yǔ)義生成器采用BicycleGAN[11]網(wǎng)絡(luò)結(jié)構(gòu)生成語(yǔ)義掩模圖。
語(yǔ)義編碼器的網(wǎng)絡(luò)結(jié)構(gòu)定義為:p3,c7s1-16,d32,
d64,d128,d128,d128,d128,d128,R128,R128,R128,R128,R128,R128,R128,R128,R128,fc8;語(yǔ)義生成器的網(wǎng)絡(luò)結(jié)構(gòu)定義為:d128,d128,d128,d128,d128,d64,d32,d16,p3,c7s1-18。其中c7s1-k 表示一個(gè)具有k 個(gè)filters 且步幅為1 的7*7 卷積塊,dk 表示一個(gè)具有k 個(gè)filters 且步幅為2 的3*3 卷積塊,Rk 表示一個(gè)殘差塊,包含兩個(gè)具有k 個(gè)filters 的3*3 卷積塊。pk 表示在所有邊界上的填充3。fck 表示具有k 個(gè)濾波器的完全連接層。
圖3 服裝語(yǔ)義特征的提取及語(yǔ)義掩模圖重建模型
圖4 服裝VAE-GAN模型
在訓(xùn)練過(guò)程中的損失函數(shù)主要包括交叉熵函數(shù)和對(duì)抗損失函數(shù)。其中,交叉熵?fù)p失函數(shù)用來(lái)監(jiān)督轉(zhuǎn)換后的語(yǔ)義掩模圖的生成,對(duì)抗損失函數(shù)能使生成的語(yǔ)義掩模圖在視覺效果上更加真實(shí)。
交叉熵?fù)p失函數(shù)可以描述為:
使用帶有鑒別器的對(duì)抗損失來(lái)生成更加現(xiàn)實(shí)的視覺風(fēng)格語(yǔ)義圖:
因此,整個(gè)語(yǔ)義模塊的損失函數(shù)寫為:
對(duì)于圖像合成部分,本文采用一種基于cGANS[12]的方法,該網(wǎng)絡(luò)采用分割標(biāo)簽映射和相關(guān)特征映射來(lái)生成逼真的圖像。將紋理編碼器Et和紋理生成器Gt與鑒別器D 相結(jié)合,形成了一個(gè)cGAN。Gt(m,u)生成圖片,其中u=F(Et(x),m),并且F 是池化、全部i與F_broad 的合并操作,鑒別器D 的目的是區(qū)分真實(shí)圖像和生成圖像。Et,Gt 和D 通過(guò)極大極小對(duì)抗博弈方式同時(shí)學(xué)習(xí)。
其中L_GAN:
對(duì)于所有訓(xùn)練圖像x,?FM表示特征匹配丟失。
為了測(cè)試該模型的效果本文使用DeepFashion[13]數(shù)據(jù)集中的In-shop Clothes Retrieval Benchmark 數(shù)據(jù)集。它包含大量具有各種外觀和姿勢(shì)的服裝圖像,分辨率均為256×256。DeepFashion(In-shop Clothes Re?trieval Benchmark)數(shù)據(jù)集由52712 個(gè)店內(nèi)衣服圖像和200000 個(gè)交叉姿勢(shì)/尺度對(duì)組成。選擇146600 對(duì)圖像作為訓(xùn)練集,每對(duì)數(shù)據(jù)集是由同一人但姿勢(shì)不同的兩個(gè)服裝圖像組成,并從測(cè)試機(jī)中隨機(jī)選擇12000 張圖像進(jìn)行測(cè)試。In-shop Clothes Retrieval Benchmark 數(shù)據(jù)集如圖5 所示。
本文還嘗試了更具了挑戰(zhàn)性的重新識(shí)別數(shù)據(jù)集Market-1501[14],其中包含從六個(gè)不相交的監(jiān)控?cái)z像機(jī)捕獲的1501 人的32668 張圖像,圖像的分辨率為128×64。該數(shù)據(jù)集中的人在姿勢(shì)、光照、視點(diǎn)和背景各不相同,這使得人的生成任務(wù)更具挑戰(zhàn)性。選擇439420 對(duì)數(shù)據(jù)作為訓(xùn)練集,每對(duì)數(shù)據(jù)集是由同一個(gè)人但姿勢(shì)不同的兩個(gè)服裝圖像組成,并從測(cè)試集中隨機(jī)v 選擇12,800 對(duì)進(jìn)行測(cè)試。
圖5 服裝數(shù)據(jù)集示例圖
為了體現(xiàn)本文采用得方法在服裝圖像合成上的性能優(yōu)越性,進(jìn)行了一系列對(duì)比實(shí)驗(yàn)。本文使用ADAM[15]優(yōu)化參數(shù),將學(xué)習(xí)率設(shè)置為0.0002,批次大小為30。
3.2.1 評(píng)價(jià)指標(biāo)
在圖像合成中,通常采用初始得分(IS)[16]和結(jié)構(gòu)相似性(SSIM)兩個(gè)重要指標(biāo)來(lái)衡量圖像合成質(zhì)量。對(duì)于在Market-1501[17]數(shù)據(jù)集中,條件圖像和目標(biāo)圖像會(huì)有不同的背景,對(duì)圖像合成結(jié)果的評(píng)估會(huì)產(chǎn)生影響。針對(duì)這個(gè)問(wèn)題,就需要采用mask-IS 和mask-SSIM[18]。
3.2.2 與最新方法比較
為了驗(yàn)證本文提出的方法在圖像合成質(zhì)量上有更好的效果,選擇了在圖像合成方面常用的一些方法進(jìn)行實(shí)驗(yàn)對(duì)比,該文使用了PG2[18],Def-GAN[19]和UPIS[20]這三種最新方法進(jìn)行了定性比較。PG2和Def-GAN 是需要配對(duì)訓(xùn)練數(shù)據(jù)的監(jiān)督方法。UPIS 是基于無(wú)監(jiān)督的方法,該方法本質(zhì)上采用CycleGAN[21]。
如圖6 所示,對(duì)于DeepFashion,首先將本文的方法與PG2比較可以看出,本文的方法生成的服裝圖像更自然,并且能夠保留衣服紋理。其次與Def-GAN 進(jìn)行比較,本文的方法成功地渲染了條件圖像中看不見的部分紋理,并且在保留衣服紋理方面更出色。最后與UPIS 方法對(duì)比,本文的方法合成的圖像更自然真實(shí)。對(duì)于Market-1501(參看圖7),使用相同的方式比較,與PG2方法相比,本文方法生成的人體形狀更清晰。與Def-GAN 方法比較,本文方法可以產(chǎn)生更清晰的身體形狀,并更好地保持衣服的屬性。與UPIS 方法比較,本文的方法生成的圖像視覺上更自然,偽像更少。因此,在DeepFashion 和Market1501 數(shù)據(jù)集上,本文的方法在保持服裝紋理和產(chǎn)生更好的人體輪廓方面具有更好的優(yōu)越性。
為了驗(yàn)證該方法在圖像合成質(zhì)量上的優(yōu)越性,評(píng)估了不同的服裝圖像合成方法合成圖像的質(zhì)量。在表1 中,使用初始得分(IS)和結(jié)構(gòu)相似性圖像測(cè)量(SSIM)進(jìn)行定量評(píng)估。對(duì)于Market-1501 數(shù)據(jù)集,為了減少背景對(duì)評(píng)估的影響,還采用了mask-IS 和mask-SSIM,在計(jì)算IS 和SSIM 時(shí)不包括背景區(qū)域。為了公平比較,標(biāo)記了每種方法的訓(xùn)練數(shù)據(jù)要求??傮w而言,即使與其他方法相比,本文提出的模型也能在兩個(gè)數(shù)據(jù)集上實(shí)現(xiàn)最佳的IS 值,這與更真實(shí)的細(xì)節(jié)和更好的身體形態(tài)相吻合。該方法的SSIM 得分略低于其他方法,這可以通過(guò)以下事實(shí)來(lái)解釋:模糊的圖像始終可以獲得較高的SSIM,但照片逼真度較低。
圖6 在DeepFashion 上通過(guò)不同方法(PG2、Def-GAN 和UPIS)比較示例圖
圖7 在Market-1501 上通過(guò)不同方法(PG2、Def-GAN 和UPIS)比較示例圖
表1 本文的方法與PG2、Def-GAN 和UPIS 方法合成服裝圖像的定量比較結(jié)果
從表1 中可以得出,在DeepFashion 和Market-1501 數(shù)據(jù)集上,本文的方法在初始得分值(IS)上優(yōu)于PG2、Def-GAN 和UPIS 三種方法,證明本文方法能合成更加高質(zhì)量的逼真的服裝圖像。
本文提出基于姿態(tài)的服裝圖像合成模型,以解決通過(guò)人體服裝圖像和目標(biāo)姿態(tài)來(lái)進(jìn)行合成的新任務(wù),來(lái)滿足合成圖像從原姿態(tài)向目標(biāo)姿態(tài)的轉(zhuǎn)換。實(shí)驗(yàn)表明,本文所提出的模型能夠在保留服裝屬性和塑造人體形狀上生成就具有更高視覺質(zhì)量的圖像。在未來(lái)的工作中,我們計(jì)劃在人體姿態(tài)和服裝屬性上產(chǎn)生更多可控和多樣的人體服裝圖像。