楊爭(zhēng)妍, 薛文良, 張傳雄, 丁 亦 , 馬顏雪
(1. 東華大學(xué) 紡織學(xué)院, 上海 201620; 2. 紡織工業(yè)科學(xué)技術(shù)發(fā)展中心, 北京 100020)
在信息化時(shí)代,科技發(fā)展日新月異,人工智能突飛猛進(jìn),越來(lái)越多算法的出現(xiàn)使得機(jī)器行為更加智能化,能夠勝任大量機(jī)械性工作,并且可以通過(guò)大數(shù)據(jù)的學(xué)習(xí)表現(xiàn)出比人類更優(yōu)質(zhì)的決策性。隨著越來(lái)越多的企業(yè)朝智能化方向發(fā)展,紡織時(shí)尚領(lǐng)域也在不斷摸索如何將人工智能完美融入用戶生活。
隨著人們物質(zhì)生活的提高,銷售模式的改變,用戶購(gòu)買服裝頻率增加,出現(xiàn)盲目購(gòu)買現(xiàn)象,造成了衣柜服裝溢出和服裝堆積等問(wèn)題。許多團(tuán)隊(duì)在研究“智能衣柜”以使服裝管理智能化,各團(tuán)隊(duì)之間模塊設(shè)計(jì)和使用算法不同,實(shí)現(xiàn)效果也各有差異。例如基于iOS(蘋(píng)果公司移動(dòng)設(shè)備專有操作系統(tǒng))模塊設(shè)計(jì)智能衣柜管理系統(tǒng)[1],使用Polyvore網(wǎng)站的數(shù)據(jù)集進(jìn)行智能搭配設(shè)計(jì)[2],使用協(xié)同過(guò)濾算法設(shè)計(jì)智能衣物搭配系統(tǒng)[3]。除算法理論外,還有實(shí)際應(yīng)用案例,阿里巴巴基于50多萬(wàn)服裝搭配達(dá)人的搭配方案開(kāi)設(shè)了FashionAI時(shí)尚零售概念店。
本文通過(guò)對(duì)以上智能服裝推薦系統(tǒng)及應(yīng)用的調(diào)研發(fā)現(xiàn),目前存在的推薦模式多為通過(guò)將服裝搭配中的下裝與下裝庫(kù)內(nèi)下裝進(jìn)行相似度計(jì)算,從而進(jìn)行推薦,智能化程度低,對(duì)使用場(chǎng)景有限制,在日常生活場(chǎng)景中實(shí)用性不高。
基于以上原因,本文提出一種新的下裝推薦思路:依據(jù)圖像,通過(guò)深度學(xué)習(xí)模型探索搭配的潛在規(guī)則,如顏色、款式、風(fēng)格等;利用模型預(yù)測(cè)并生成虛擬下裝;然后通過(guò)相似度匹配算法將虛擬下裝與真實(shí)下裝進(jìn)行匹配,依托用戶私人衣柜完成推薦過(guò)程。
本文通過(guò)目標(biāo)人群調(diào)研,確定美感、風(fēng)格與溫度3個(gè)服裝搭配要素,從這3方面出發(fā)進(jìn)行系統(tǒng)設(shè)計(jì)。同時(shí),通過(guò)對(duì)近年來(lái)深度學(xué)習(xí)領(lǐng)域算法的調(diào)研,采用在圖像生成領(lǐng)域中生成效果較好的生成式對(duì)抗網(wǎng)絡(luò)(GAN)模型進(jìn)行下裝圖像生成,實(shí)現(xiàn)輸入上裝智能設(shè)計(jì)下裝的功能,體現(xiàn)智能性。最后利用方向梯度直方圖計(jì)算生成的虛擬下裝與用戶的真實(shí)下裝的相似度,并結(jié)合溫度因素為用戶推薦合理的下裝。
本系統(tǒng)智能推薦功能的實(shí)現(xiàn)分為以下3個(gè)步驟:第1步,收集大量服裝搭配數(shù)據(jù),用以訓(xùn)練網(wǎng)絡(luò)模型,找出上下裝映射關(guān)系;第2步,確定相似閾值以進(jìn)行相似度匹配,實(shí)現(xiàn)從虛擬數(shù)據(jù)到實(shí)際數(shù)據(jù)的轉(zhuǎn)換;第3步,確定溫度范圍進(jìn)行二次篩選,最終通過(guò)服裝厚薄程度標(biāo)簽為用戶推薦合適的下裝。系統(tǒng)框架如圖1所示。

圖1 系統(tǒng)框架Fig.1 System framework
為訓(xùn)練圖像生成模型,需要獲取大量有參考價(jià)值的訓(xùn)練數(shù)據(jù),在此選擇用爬蟲(chóng)技術(shù)從一個(gè)高端品牌購(gòu)物網(wǎng)站上爬取足量的上下裝搭配數(shù)據(jù)。
網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)自動(dòng)獲取網(wǎng)頁(yè)相關(guān)信息的程序,通過(guò)算法濾掉無(wú)用的信息,抓取有用的信息保存下來(lái),直至滿足設(shè)定的條件后停止抓取。為確保服裝的美感因素,選擇中高端品牌的服裝作為訓(xùn)練數(shù)據(jù)。根據(jù)網(wǎng)站分類,按照不同服裝的廓形和款式歸納并獲取西裝通勤、街頭潮流、運(yùn)動(dòng)套裝、基礎(chǔ)簡(jiǎn)約、性感前衛(wèi)、優(yōu)雅大氣6種風(fēng)格的服裝數(shù)據(jù),以概括日常生活中的常見(jiàn)風(fēng)格。最終得到女性服裝搭配組5 303組,男性服裝搭配組1 332組,由于男性褲裝多樣性較小,因此選擇減少其數(shù)據(jù)數(shù)量,增加女性服裝在總數(shù)據(jù)中的占比,總共6 635組服裝對(duì)數(shù)據(jù)。每對(duì)服裝對(duì)(包括1件上裝和1件下裝)形成1個(gè)訓(xùn)練數(shù)據(jù)集。
本文選用生成式對(duì)抗網(wǎng)絡(luò)對(duì)服裝數(shù)據(jù)進(jìn)行學(xué)習(xí)生成圖像,旨在通過(guò)對(duì)大量數(shù)據(jù)探索搭配內(nèi)在規(guī)律,不指定按照某一特定元素如顏色、材質(zhì)、花紋進(jìn)行搭配,因此輸出結(jié)果受到訓(xùn)練數(shù)據(jù)集的影響。
GAN作為近些年來(lái)最熱門(mén)的深度學(xué)習(xí)模型之一,在圖像生成方面表現(xiàn)出卓越的效果。GAN的提出是受到零和博弈 (即參與博弈的2人利益之和為零, 一方的利益是另一方的損失) 的啟發(fā)[4]。該模型由1個(gè)生成器和1個(gè)鑒別器組成,生成器通過(guò)學(xué)習(xí)大量數(shù)據(jù)研究其分布規(guī)律,并生成新的數(shù)據(jù)分布,而鑒別器判斷輸入的數(shù)據(jù)是真實(shí)的數(shù)據(jù)還是生成器生成的數(shù)據(jù)。GAN的優(yōu)化是“極小極大博弈”問(wèn)題[5],生成器和鑒別器相互博弈,生成器盡可能生成足夠真實(shí)的數(shù)據(jù)分布去迷惑判別器,判別器提高自己的判斷能力去鑒別輸入數(shù)據(jù)的真假,二者相互博弈,對(duì)抗訓(xùn)練,使得生成器的生成數(shù)據(jù)達(dá)到以假亂真的效果。同時(shí),GAN的生成只需運(yùn)行1次模型,不需要重復(fù)用馬爾科夫鏈來(lái)生成。GAN模型示意圖如圖2所示。

圖2 GAN模型示意圖Fig.2 Schematic diagram of GAN model
本文中生成模型主要采用圖像翻譯pix2pix卷積神經(jīng)網(wǎng)絡(luò)[6]的思想,將服裝生成視為一種圖像翻譯任務(wù),學(xué)習(xí)一種由上裝到下裝的映射。
2.2.1 模型的生成器
生成器的工作是通過(guò)重復(fù)訓(xùn)練,生成近似真實(shí)數(shù)據(jù)的數(shù)據(jù)分布,即在本文中用以通過(guò)上裝圖像生成下裝圖像。本文中模型的生成器采用圖像翻譯中非常流行的一種結(jié)構(gòu)U-Net[7],其下采樣與上采樣的對(duì)稱性顯示出U型結(jié)構(gòu),加以跳躍式傳遞(skip connection)結(jié)構(gòu),使其能夠加快收斂速度,在網(wǎng)絡(luò)深度達(dá)到一定程度時(shí),還可保留更多的高分辨率細(xì)節(jié)信息,在處理上裝到下裝的映射問(wèn)題時(shí),可以在一定程度上建立起上下裝在服裝花型、輪廓等的聯(lián)系。
網(wǎng)絡(luò)以256像素×256像素×3(訓(xùn)練圖片為RGB圖像,256像素×256像素為圖片的空間分辨率,3為維度,即三維矩陣)的圖像為輸入,經(jīng)過(guò)8次步長(zhǎng)為2的4×4卷積操作,再進(jìn)行8次上采樣及卷積得到256像素×256像素×3的輸出圖像。其中,本文將pix2pix中的反卷積操作改為了上采樣加步長(zhǎng)為1的卷積組合,旨在消除生成圖像的棋盤(pán)效應(yīng)[8],提升生成圖片的質(zhì)量。
2.2.2 模型的鑒別器
雖然數(shù)據(jù)的生成依靠生成器,但鑒別器的存在是為了訓(xùn)練生成器。鑒別器判斷數(shù)據(jù)是否足夠真實(shí),與生成器相對(duì)抗,用以提升生成器生成數(shù)據(jù)的真實(shí)性,使得生成器通過(guò)反復(fù)訓(xùn)練生成的數(shù)據(jù)更符合真實(shí)數(shù)據(jù)的分布。本文中鑒別器采用PatchGAN的思想,可在局部小塊畫(huà)面中捕獲高頻結(jié)構(gòu)信息[6]。網(wǎng)絡(luò)以256像素×256像素×6的組合圖像為輸入,通過(guò)4次步長(zhǎng)為2的4×4卷積與2次步長(zhǎng)為1的4×4卷積,獲得輸出為32×32×1的矩陣,此矩陣的每個(gè)點(diǎn)對(duì)應(yīng)原圖中86像素×86像素的圖像區(qū)域的匹配程度,即上下裝是否搭配合理。
2.2.3 模型的對(duì)抗損失
本文中用以訓(xùn)練的圖片并沒(méi)有文字標(biāo)注,對(duì)抗損失目的是在少標(biāo)注數(shù)據(jù)下盡可能實(shí)現(xiàn)多標(biāo)注數(shù)據(jù)的生成效果,增強(qiáng)模型的魯棒性。為保證模型的訓(xùn)練速度與訓(xùn)練穩(wěn)定性,本文放棄了GAN的對(duì)數(shù)對(duì)抗損失,而使用了WGAN-GP[9]的W-Distance(推土機(jī)距離)與梯度懲罰:
Ladv(G,D)=-Ex~pdata[D(x)]+Ex~pG(x)[D(x)]+

2.2.4 模型的重建損失
為使得網(wǎng)絡(luò)訓(xùn)練的初期能夠加速收斂,即更快達(dá)到理想效果,本文在生成器中設(shè)置了重建損失——L1損失,即生成圖像與目標(biāo)圖像像素值之差的絕對(duì)值之和,公式如下:
LL1(G)=Ex,y~pdata(x,y)[‖y-G(x)‖1]
式中:y為目標(biāo)圖像數(shù)據(jù);G(x)為生成器生成數(shù)據(jù);Ex,y~pdata(x,y)為訓(xùn)練數(shù)據(jù)分布,下角標(biāo)是范數(shù)。
最終,獲得了網(wǎng)絡(luò)的目標(biāo)函數(shù),即優(yōu)化目標(biāo)是最小化G的損失。
式中,λL1為可調(diào)節(jié)的超參數(shù)。
模型訓(xùn)練的目標(biāo)是使得生成數(shù)據(jù)和真實(shí)數(shù)據(jù)之間的距離盡可能得小。整個(gè)網(wǎng)絡(luò)通過(guò)每一批次數(shù)據(jù)(稱為1個(gè)epoch)的計(jì)算訓(xùn)練,計(jì)算出相應(yīng)目標(biāo)函數(shù)的值,經(jīng)由網(wǎng)絡(luò)的反向傳播機(jī)制,形成誤差梯度,應(yīng)用梯度下降法減小網(wǎng)絡(luò)訓(xùn)練誤差,最終獲得符合預(yù)期的生成圖像。
由于最終落腳點(diǎn)為用戶個(gè)人衣柜,所以系統(tǒng)需要由用戶提供個(gè)人下裝的圖片數(shù)據(jù):由用戶拍照輸入下裝圖片,并給每件下裝打上季節(jié)標(biāo)簽,即該下裝適合穿著的季節(jié),如冬、春秋,制作成用戶下裝數(shù)據(jù)集。
在計(jì)算機(jī)視覺(jué)中,圖像特征是指能夠完成某種指定操作的信息,有許多算法可以用來(lái)提取圖像特征,常用的算法有局部敏感哈希算法、方向梯度直方圖等。經(jīng)測(cè)試選擇了方向梯度直方圖進(jìn)行虛擬下裝圖片到真實(shí)下裝圖片的圖像特征提取和匹配。
方向梯度直方圖是一種經(jīng)典的特征描述方法,可以很好地描述圖像的局部特征,計(jì)算圖像邊緣信息,通過(guò)統(tǒng)計(jì)梯度方向直方圖來(lái)構(gòu)成特征[10],即構(gòu)成對(duì)圖像中物體表象和形狀的特征描述子。
利用方向梯度直方圖對(duì)上一步的生成圖像與用戶下裝庫(kù)的下裝進(jìn)行相似度匹配,可以得到圖像相似度數(shù)值,從高到低輸出前4件高分下裝,暫存。
再由用戶輸入天氣溫度T,通過(guò)預(yù)先設(shè)定的溫度區(qū)間,即春季和秋季為14~24 ℃,夏季為22 ℃以上,冬季為16 ℃以下對(duì)上述4件下裝進(jìn)行溫度篩選。為了適應(yīng)不同人群的體質(zhì),各個(gè)溫度區(qū)間有所重疊,以擴(kuò)大篩選范圍,從而提高推薦合適下裝的可能性。
通過(guò)對(duì)大量上、下裝搭配數(shù)據(jù)訓(xùn)練,模型總結(jié)搭配規(guī)律,通過(guò)黑箱方式對(duì)輸入的上裝圖像進(jìn)行處理,并根據(jù)機(jī)器總結(jié)的搭配規(guī)律預(yù)測(cè)和生成下裝圖像。
本文模型訓(xùn)練效果和測(cè)試效果中的輸入數(shù)據(jù)圖片,均為farfetch網(wǎng)站獲取圖片。全部的訓(xùn)練數(shù)據(jù)訓(xùn)練1次稱為1個(gè)epoch,本模型總共訓(xùn)練了800個(gè)epoch,每個(gè)epoch訓(xùn)練耗時(shí)15~29 min。訓(xùn)練效果如圖3所示。

圖3 訓(xùn)練效果Fig.3 Effect of model training. (a) Real top image; (b) Real bottom image; (c) Generate bottom image after 5 epoch training;(d) Generate bottom image after 800 epoch training
實(shí)際應(yīng)用中,輸入的上裝圖像需保證白色底色,但不限制來(lái)源,導(dǎo)入客戶端圖片、實(shí)景拍攝圖片等方式均可。測(cè)試效果如圖4所示。

圖4 測(cè)試效果Fig.4 Effect of model testing. (a) Real top image; (b) Real bottom image; (c) Generate bottom image after 5 epoch training;(d) Generate bottom image after 800 epoch training
在實(shí)際應(yīng)用場(chǎng)景中,用戶可以通過(guò)導(dǎo)入或拍攝等手段,輸入上裝圖片,通過(guò)訓(xùn)練好的模型進(jìn)行下裝圖像生成,這一步驟結(jié)果暫時(shí)保存在系統(tǒng)內(nèi)部,成為黑箱步驟;再通過(guò)相似度匹配輸出與預(yù)測(cè)下裝相似的用戶下裝,此時(shí)用戶可編輯溫度,根據(jù)下裝標(biāo)簽進(jìn)行篩選,最終輸出符合美感和溫度的下裝。全部推薦過(guò)程如圖5所示。

圖5 推薦過(guò)程Fig.5 Recommendation process
本文基于大量服裝搭配數(shù)據(jù),利用生成式對(duì)抗網(wǎng)絡(luò)生成虛擬下裝,并用方向梯度直方圖進(jìn)行圖像相似度對(duì)比,完成從輸入上裝到輸出用戶下裝的過(guò)程。通過(guò)效果圖對(duì)比發(fā)現(xiàn),生成的下裝與設(shè)計(jì)師推薦搭配的顏色較為一致。然而GAN的缺點(diǎn)是訓(xùn)練不穩(wěn)定,比較困難,本文的模型訓(xùn)練也遇到此問(wèn)題,導(dǎo)致生成的下裝有時(shí)出現(xiàn)款式偏差、輪廓模糊等問(wèn)題。但通過(guò)GAN生成下裝圖片,再匹配到用戶衣櫥的方法體現(xiàn)了機(jī)器自主決策的智能性,為智能搭配系統(tǒng)設(shè)計(jì)提供了一種較為新穎的方法。