胡昊天 鄭雅芝 鄭健南 馮寶桐 梁 艷 潘家輝
(華南師范大學(xué)軟件學(xué)院 廣東 佛山 528225)
隨著科技和網(wǎng)絡(luò)購物的發(fā)展,基于服裝圖像的服裝搭配產(chǎn)品具有較高的市場價(jià)值和研究價(jià)值。中國服裝協(xié)會(huì)發(fā)布的《2018-2019年度中國服裝行業(yè)發(fā)展報(bào)告》[1]顯示,網(wǎng)絡(luò)服裝銷售增長了22%,大型零售增長0.99%。在目前的服裝消費(fèi)市場中,服裝的款式、色彩、紋理、面料等都十分多樣化,滿足了當(dāng)下不同階層和年齡段女性的購衣需求。在《2019年中國“升級一代”女性服裝消費(fèi)洞察報(bào)告》[2]研究中指出,“升級一代”女性服裝消費(fèi)凸顯了“審美升級”的轉(zhuǎn)變趨勢,購衣的美麗消費(fèi)已成為生活中的重要需求。因此,在如此繁雜的服裝當(dāng)中,如何快速、有效地推薦出一套大眾普遍認(rèn)可、喜愛的搭配服飾是當(dāng)前急需探究的問題。
服裝搭配的核心在于服裝圖像特征的描述。為了更有效地進(jìn)行服裝搭配,需要獲取盡可能多的服裝特征。市面上已有的服裝搭配推薦產(chǎn)品,主要是通過用戶的購買記錄等利用協(xié)同過濾算法[3]進(jìn)行相關(guān)性推薦購買,并沒有幫助用戶在眾多的個(gè)人服飾之間實(shí)現(xiàn)智能搭配,為用戶切身解決日常搭配煩惱。已有的服裝搭配算法,大多存在搭配效果單一、推薦相似度高的服裝的問題。對于服裝搭配評分技術(shù)而言,現(xiàn)有的關(guān)于服裝美感評價(jià)的研究大多針對服裝的制作工藝、材質(zhì)等方面,專門針對服裝搭配的美感評分的研究較少。
本文提出了一個(gè)基于Mask R-CNN的服裝搭配算法。首先,基于Mask R-CNN模型對輸入的服裝圖像進(jìn)行精準(zhǔn)檢測和分割;其次,采用卷積神經(jīng)網(wǎng)絡(luò)提取服裝區(qū)域的部分特征;最后,對服裝特征向量進(jìn)行分析處理,建立服裝搭配規(guī)則,對上下衣服裝搭配效果進(jìn)行評分。本文的主要貢獻(xiàn)如下:
(1) 利用基于Mask R-CNN模型的服裝識(shí)別處理算法,對輸入的服裝圖像進(jìn)行特征提取和分析,實(shí)現(xiàn)服裝的目標(biāo)識(shí)別和分割。
(2) 提出了一個(gè)服裝搭配評分算法,將深度學(xué)習(xí)與服裝搭配規(guī)則相結(jié)合。通過本文的服裝識(shí)別處理算法對輸入的服裝圖像特征進(jìn)行提取和處理,利用處理后的特征向量對服裝進(jìn)行搭配計(jì)算并根據(jù)搭配度的高低進(jìn)行評分。
(3) 實(shí)現(xiàn)了一個(gè)服裝搭配評分系統(tǒng),具有服裝搭配評分、個(gè)人衣櫥、智能推薦功能,幫助用戶解決日常服裝搭配問題。
服裝識(shí)別處理是進(jìn)行服裝搭配計(jì)算的第一步。目前有很多服裝識(shí)別處理的方法。項(xiàng)明等[4]提出了通用Fourier描述子,通過改進(jìn)反饋技術(shù)提高了基于形狀特征的服裝圖像目標(biāo)檢測和分類的準(zhǔn)確度。以600幅裙裝樣例圖像為目標(biāo)進(jìn)行檢索,發(fā)現(xiàn)該方法的平均查準(zhǔn)率達(dá)到了91.9%。實(shí)驗(yàn)表明,該算法僅對形狀特征明顯的服裝例如T恤、裙子等的準(zhǔn)確度較高,而且容易受到服裝穿著的影響。Redmon等[5]提出了YOLO模型,該模型將目標(biāo)檢測任務(wù)轉(zhuǎn)換為回歸問題,極大地提高了檢測速度,每秒最快可處理45幅圖像。但是直接使用網(wǎng)格回歸,沒有Region Proposal機(jī)制,使得該模型的識(shí)別精度僅有63.4%,不能進(jìn)行準(zhǔn)確的定位。Yu等[6]融合了多特征提取算法,同時(shí)對多維特征向量進(jìn)行降維,實(shí)現(xiàn)了服裝分類與處理。包青平等[7]利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行服裝特征提取,結(jié)合度量學(xué)習(xí)實(shí)現(xiàn)了服裝圖像的分類與識(shí)別。較之基于SIFT特征的傳統(tǒng)方法,前者在服裝分類處理的效果更佳。
Shen等[8]建立了80萬數(shù)據(jù)集的服裝庫,并手動(dòng)標(biāo)注了服裝類型、風(fēng)格等標(biāo)簽。在大型數(shù)據(jù)集的基礎(chǔ)上,利用OMSC搭配知識(shí)庫進(jìn)行服裝的智能搭配推薦。該方法由于前期數(shù)據(jù)集的處理步驟煩瑣,故實(shí)現(xiàn)時(shí)間較長,且搭配和款式比較固定。徐略輝[9]提出了一種不確定性的服裝搭配算法。首先進(jìn)行模糊聚類分析,在模糊等價(jià)類的基礎(chǔ)上,引入了可變截集水平等步驟,最終得到了服裝搭配的不確定性屬性約簡算法。該算法能自動(dòng)找出服裝搭配組合,并克服服裝搭配與人的主觀性因素造成的不確定性。齊揚(yáng)等[10]通過用戶瀏覽信息和購買信息構(gòu)建服裝數(shù)據(jù)庫,并構(gòu)建用戶偏好模型。這種方法僅僅通過挖掘用戶喜好來推薦,得到搭配比較單一。
趙光明[11]使用淘寶天池大賽服裝數(shù)據(jù)集基于ImageNet訓(xùn)練的AlexNet模型進(jìn)行遷移學(xué)習(xí)搭建了服裝搭配匹配模型。而后利用GBTree算法對模型進(jìn)行優(yōu)化,提出了服裝搭配算法,包括基于搭配度、基于矩陣分解和基于Jaccard等方法。該模型提出MAP@N的測評指標(biāo)(范圍在0~1),MAP值越大,算法越準(zhǔn)確。模型使用的數(shù)據(jù)集龐大約50萬條商品數(shù)據(jù),但是使用的算法模型比較老舊,數(shù)據(jù)處理速度有些慢。范宇航[12]使用爬蟲得到的4萬幅上衣圖片作為數(shù)據(jù)集,提取服裝SIFT特征并進(jìn)行標(biāo)簽分類,利用ImageNet訓(xùn)練模型,提出服裝深度特征并將其結(jié)合局部編碼特征,以此挖掘服裝搭配的關(guān)聯(lián)規(guī)則??锪⒀骩13]基于SDD_RN網(wǎng)絡(luò)以及多特征融合實(shí)現(xiàn)了服裝檢索和個(gè)性化搭配推薦,但是該方法推薦的服裝更傾向于相似度高的服裝,比較單一。
本系統(tǒng)主要以時(shí)尚服裝搭配中的應(yīng)用為主,包括服裝評分模塊和個(gè)人衣櫥模塊。
服裝評分模塊能夠針對用戶的服裝圖片給出評分結(jié)果。系統(tǒng)首先對一幅包含用戶全套服裝的圖片進(jìn)行服裝檢測,得到圖片中包含的服裝類別、數(shù)量并提取出服裝基本特征;然后基于識(shí)別到的服裝類別進(jìn)一步獲取類別文本特征,通過提示用戶選擇具體的“風(fēng)格化標(biāo)簽”來獲取。所謂“風(fēng)格化標(biāo)簽”即指為提高評分科學(xué)性、基于基本服裝類別之上衍生出來的時(shí)尚風(fēng)格層面的標(biāo)簽,如“長褲”對應(yīng)的風(fēng)格化標(biāo)簽有“西褲、牛仔褲、闊腿褲”等。用戶選擇風(fēng)格化標(biāo)簽之后,系統(tǒng)調(diào)用評分算法計(jì)算,向用戶反饋評分結(jié)果,分?jǐn)?shù)范圍為0~100。
個(gè)人衣櫥模塊能夠存儲(chǔ)用戶上傳的服裝,提供存儲(chǔ)服裝、自由組合、智能推薦功能。用戶上傳的服裝以圖片形式存儲(chǔ),用戶可自由組合服裝,系統(tǒng)反饋該組合搭配評分結(jié)果。系統(tǒng)還能自動(dòng)計(jì)算衣櫥內(nèi)所有服裝搭配的評分結(jié)果,向用戶反饋?zhàn)顑?yōu)搭配方案。
系統(tǒng)總功能說明圖如圖1所示。
圖1 系統(tǒng)總功能說明圖
為了實(shí)現(xiàn)服裝搭配評分功能,服裝識(shí)別處理是不可或缺的一環(huán)。有效的服裝識(shí)別處理能將一幅原始服裝圖片對象轉(zhuǎn)化為服裝款式類別、服裝顏色特征。精確識(shí)別出服裝款式以及顏色特征能夠使得搭配評分更具準(zhǔn)確性和科學(xué)性。因此服裝識(shí)別處理必須完成下列任務(wù)。
1) 服裝主體識(shí)別:(1) 能從復(fù)雜背景中定位目標(biāo)服裝區(qū)域;(2) 成功識(shí)別服裝類別款式;(3) 服裝實(shí)例分割,得到服裝掩模區(qū)域和邊界框。
2) 服裝顏色特征提取:對服裝掩模區(qū)域和邊界框進(jìn)行處理,提取服裝顏色特征。
通過對大量文獻(xiàn)的總結(jié)以及對各類目標(biāo)檢測模型的測試后,本文采用基于Mask R-CNN[14]模型的方法對服裝進(jìn)行識(shí)別與處理。
輸入一幅包含服裝對象的圖片,進(jìn)行以下處理:
(1) 首先將服裝圖片進(jìn)行歸一化預(yù)處理,對于每幅圖片進(jìn)行伸縮處理,以最短邊800像素、最長邊1 024像素的規(guī)格將其裁剪為統(tǒng)一大小的正方形,方便模型處理。
(2) 將服裝圖片輸入到預(yù)訓(xùn)練好的殘差網(wǎng)絡(luò)ResNet 101中,提取服裝圖片基本特征,處理得到相應(yīng)的feature map,并輸入FPN特征金字塔進(jìn)一步提取特征。
(3) 將得到的feature map中每一點(diǎn)設(shè)定預(yù)定的ROI,得到多個(gè)候選ROI。
(4) 將得到的候選ROI送入RPN網(wǎng)絡(luò)進(jìn)行邊界框回歸和二分類,即前景和背景的區(qū)分,以此篩選掉一部分候選ROI。
(5) 將篩選過后的ROI送入ROI_Align處理,即將原圖與feature map的像素點(diǎn)相對應(yīng),再將feature map與固定的feature相對應(yīng)。
(6) 再將處理完的ROI送入服裝掩模分割分支直接進(jìn)行FCN操作生成服裝掩模圖,ROI送入模型中服裝檢測分支中的全連接層即可實(shí)現(xiàn)服裝分類和邊界框回歸。
(7) 輸出得到的服裝款式類別。
(8) 將原始服裝圖片、分割好的掩模圖以及邊界框坐標(biāo)進(jìn)行顏色特征提取操作,輸出得到的服裝主顏色特征向量。
過程如圖2所示。服裝款式類別和服裝顏色特征可作為后期評分的因素之一。
圖2 服裝識(shí)別處理過程
3.2.1優(yōu)化函數(shù)
實(shí)驗(yàn)中,訓(xùn)練模型采用SGD隨機(jī)梯度下降函數(shù)作為模型優(yōu)化函數(shù)。SGD每次僅用一小批樣本進(jìn)行計(jì)算梯度、更新模型參數(shù),具有梯度下降更新參數(shù)時(shí)低方差的特性和隨機(jī)梯度下降參數(shù)更新的高效率。再加入moment動(dòng)量因子使梯度方向不變的維度上速度下降得更快,梯度方向改變的方向上更新速度更慢,加快收斂,減小震蕩,動(dòng)量因子取值0.9。
式中:vt代表t時(shí)刻的梯度下降速度,γ(0≤γ<1)為動(dòng)量超參數(shù),在實(shí)踐中取值0.9;η代表學(xué)習(xí)率;θ為權(quán)重參數(shù);j(θ)表示θ的最小二乘損失函數(shù)。
3.2.2損失函數(shù)
在模型訓(xùn)練過程中,定義在每個(gè)ROI上的多任務(wù)損失函數(shù)為:
L=Lcls+Lbox+Lmask
(2)
式中:用于服裝分類的Lcls、用于邊界框回歸的Lbox,利用全連接層預(yù)測出每個(gè)RoI對象所屬類別及其邊界框坐標(biāo)值,均與Faster R-CNN模型[15]中定義的相同;而用于服裝分割的Lmask代表模型的分割誤差。網(wǎng)絡(luò)中的Mask分支通過FCN將每個(gè)ROI對象分割為K個(gè)類別m×m大小的二值掩模。對每一個(gè)像素應(yīng)用sigmoid函數(shù)進(jìn)行二分類后,計(jì)算RoI上所有像素的交叉熵的均值得到Lmask。
3.2.3網(wǎng)絡(luò)結(jié)構(gòu)
服裝識(shí)別處理網(wǎng)絡(luò)總體結(jié)構(gòu)可分為三部分:Backbone、RPN、ROI Head。
1) 網(wǎng)絡(luò)骨干部分Backbone選擇預(yù)訓(xùn)練好的殘差網(wǎng)絡(luò)ResNet101結(jié)合FPN,將ResNet101劃分為5個(gè)不同的階段,識(shí)別服裝圖像的基本特征,每一個(gè)階段輸出不同尺寸的Feature map;而FPN特征金字塔網(wǎng)絡(luò)采用自頂向下和橫向連接的5層結(jié)構(gòu)。首先將高層更抽象的Feature map進(jìn)行2倍上采樣Upsample,然后橫向連接至前一層特征進(jìn)行加強(qiáng),其中前一層需經(jīng)過1×1卷積過濾器處理使得channels一致。最后用3×3的卷積過濾器去處理已經(jīng)融合的Feature map,Downsample降采樣之后輸出Feature map。
2) RPN網(wǎng)絡(luò)負(fù)責(zé)對不同尺寸的Feature map進(jìn)行滑動(dòng)窗口掃描,生成多個(gè)不同尺寸的圖像錨框anchor,并對邊框進(jìn)行精調(diào)后,進(jìn)行非極大值抑制處理,生成最終的ROI。
3) 由于服裝分割需要較精準(zhǔn)的像素位置,需要使得Feature map和原圖在尺寸上匹配。因此ROI Head部分負(fù)責(zé)對Feature map進(jìn)行尺寸處理,其包括4個(gè)負(fù)責(zé)處理不同尺寸ROI的Roi_align以及一個(gè)進(jìn)行Concat連接的池化層。尺寸處理使用雙線性插值的方法以獲得浮點(diǎn)數(shù)坐標(biāo)的像素點(diǎn)上的圖像數(shù)值:
(1) 遍歷所有候選區(qū)域,獲取區(qū)域浮點(diǎn)數(shù)邊界。
(2) 將候選區(qū)域分割成k×k個(gè)單元,k為采樣點(diǎn)數(shù)/2。
(3) 使用雙線性插值的方法計(jì)算在每個(gè)單元中固定的四個(gè)坐標(biāo)浮點(diǎn)數(shù)坐標(biāo),然后進(jìn)行最大池化處理。
多個(gè)Roi_align負(fù)責(zé)提取特征金字塔中不同層的特征,將提取到的特征送入感知網(wǎng)絡(luò)Perception Network。而感知網(wǎng)絡(luò)由服裝檢測分支和服裝掩模分割分支組成:
(1) 服裝檢測分支包含兩個(gè)全連接層,分別用于服裝類別預(yù)測和邊界框回歸。
(2) 服裝掩模分割分支包含4個(gè)conv層、1個(gè)deconv層和1個(gè)conv層用于預(yù)測服裝掩模。
妊娠是女性一生中的一個(gè)特殊生理階段, 妊娠期婦女全身環(huán)境和口腔局部環(huán)境都會(huì)發(fā)生變化,導(dǎo)致口腔疾病的發(fā)生或原有口腔疾病的加重,在妊娠各期都會(huì)出現(xiàn)。二孩政策實(shí)行以來,高齡孕婦比例上升,各種妊娠并發(fā)癥的發(fā)病率也相對增加。為更有效地開展孕婦口腔保健工作,提高孕婦的生活質(zhì)量,本研究對長春市989名孕婦進(jìn)行了問卷調(diào)查,現(xiàn)報(bào)道如下。
網(wǎng)絡(luò)模型經(jīng)過訓(xùn)練之后,具備將服裝圖像識(shí)別款式、分割服裝掩模圖的能力。將服裝圖片中的服裝對象識(shí)別出服裝款式類別并且分割出服裝掩模圖之后,還需要針對分割好的服裝掩模圖進(jìn)一步提取用于搭配評分的特征。本系統(tǒng)選擇影響服裝搭配最重要的因素之一是顏色特征,它是作為后期對服裝搭配進(jìn)行評分的因素之一。
特征提取方法步驟如下:首先進(jìn)行數(shù)據(jù)預(yù)處理:將分割好的服裝掩模圖與原圖進(jìn)行映射,去除圖片背景元素后得到服裝目標(biāo)區(qū)域,開始進(jìn)行顏色特征提?。蛔R(shí)別服裝顏色特征采用K均值聚類算法進(jìn)行處理,這是一種迭代求解的聚類分析算法。如圖3所示。
圖3 服裝顏色特征識(shí)別流程
(1) 服裝圖像數(shù)據(jù)從各像素點(diǎn)RGB值轉(zhuǎn)換為HSV值序列進(jìn)行儲(chǔ)存,以便處理數(shù)據(jù)。
(2) 選擇圖像中各點(diǎn)HSV各個(gè)分量的最小值加上隨機(jī)值,生成K個(gè)對象作為初始聚類中心,本文K值選擇20。
(3) 循環(huán)迭代直到前一個(gè)聚類中心與當(dāng)前聚類中心的歐氏距離小于0.1為止,其間計(jì)算每個(gè)對象與各個(gè)聚類中心之間的距離,把每個(gè)對象分配給距離它最近的聚類中心,此處聚類中心被認(rèn)為是服裝圖像上的一種顏色。即給每個(gè)點(diǎn)歸類,判斷各個(gè)像素屬于哪個(gè)中心類。
(4) 一次所有點(diǎn)類別劃分后,重新計(jì)算中心點(diǎn),每個(gè)像素點(diǎn)的HSV值歸類后,由該中心點(diǎn)計(jì)算均值取代該中心點(diǎn)的HSV值。
(5) 計(jì)算得到的聚類中心所包含數(shù)據(jù)數(shù),將所含像素點(diǎn)個(gè)數(shù)小于0.5%的聚類中心去除,排序輸出所含像素點(diǎn)個(gè)數(shù)占比超過13.5%的聚類中心。
基于對Mask R-CNN模型的研究和改進(jìn)之后,我們已經(jīng)可以將一個(gè)RGB服裝圖像轉(zhuǎn)為服裝特征向量處理,為進(jìn)行服裝搭配評分算法的實(shí)現(xiàn)提供了依據(jù)。
服飾按照不同的搭配規(guī)則,比如基本色特征、顏色特征和款式特征搭配規(guī)則,可以分為不同的搭配空間。
假設(shè)服裝按照某種搭配規(guī)則,將服裝類別分為n類,即U={u1,u2,…,un}。
對于第i類服裝,其對應(yīng)的加分搭配可以表示為Pi={pi,1,pi,2,…,pi,n}。其中Pi表示與第i類服裝匹配度高的搭配服飾。故第i類服裝的搭配集合為Ci=
設(shè)D為該搭配規(guī)則下輸入的上裝和下裝生成的搭配集合。各個(gè)搭配空間中搭配度值的計(jì)算公式如下:
式中:Cb、Cc、Cs分別為在基本色特征、顏色特征和款式特征搭配規(guī)則下定義的搭配空間;Db、Dc、Ds分別為用戶輸入的上下衣在基本色特征、顏色特征和款式特征搭配規(guī)則下生成的搭配集合;Mb、Mc、Ms則為不同搭配規(guī)則下的搭配度值,λ為調(diào)整權(quán)重,在實(shí)踐中取值為0.05。
1) 模型經(jīng)過訓(xùn)練之后,可以從服裝圖像中提取得到服裝類別ClassID、服裝主顏色特征RGB、主顏色數(shù)量ColorNum。
2) 服裝主顏色特征RGB的處理。
(1) 將得到的主顏色RGB特征向量值對應(yīng)色相環(huán)映射為相應(yīng)的基本色特征值ColorType,求得基本色特征的搭配度Mb。
(2) 將RGB轉(zhuǎn)換為HSV特征向量值后,分離為色相Hue、飽和度Staturation、亮度Value3個(gè)特征值。
3) 顏色特征的搭配度Mc。
結(jié)合明度搭配法,色相搭配法[17]和三色原則,利用第二步處理得到的特征值與主顏色數(shù)量ColorNum,計(jì)算顏色特征部分的搭配度Mc。
4) 服裝類別ClassID的處理。
(1) 由于圖像特征往往不能夠識(shí)別出服裝的材質(zhì),為進(jìn)一步提高評分的科學(xué)性,增加了系統(tǒng)與用戶之間的交互。基于系統(tǒng)識(shí)別出服裝類別ClassID,通過與用戶簡單的交互提取文字屬性描述的信息,獲取服裝的具體款式、材質(zhì)特征,稱為“風(fēng)格化標(biāo)簽”StyleID,如表1所示。
表1 服裝類別和服裝款式匯總表
StyleID是ClassID的進(jìn)一步延伸和擴(kuò)展,描述了計(jì)算機(jī)難以識(shí)別的服裝材質(zhì)特征,將“風(fēng)格化標(biāo)簽”StyleID與圖像信息進(jìn)行融合計(jì)算并嵌入搭配評分規(guī)則,遠(yuǎn)比僅使用ClassID更能有效地提高搭配的準(zhǔn)確度。
(2) 根據(jù)TPO規(guī)則與時(shí)尚搭配基本規(guī)則,再參考各類時(shí)尚前沿網(wǎng)站,結(jié)合當(dāng)下時(shí)尚潮流趨勢,構(gòu)造服裝搭配規(guī)則并建立搭配標(biāo)準(zhǔn)庫,上下裝的服裝StyleID根據(jù)搭配庫中的服裝搭配組合數(shù)據(jù)的正負(fù)樣本進(jìn)行比較計(jì)算匹配度,得到款式特征的搭配度Ms。
5) 服裝整體搭配度M主要由基本色特征、顏色特征和款式特征三部分的搭配度綜合計(jì)算得出。
M=αMb+βMc+γMs
(4)
式中:α取0.6,β取0.25,γ取0.15。
具體評分流程如圖4所示。
圖4 評分流程圖
系統(tǒng)的智能推薦功能則是在搭配評分的基礎(chǔ)上,在用戶個(gè)人衣櫥中的候選服裝數(shù)據(jù)集CS,調(diào)用服裝搭配評分算法,求得搭配度最高的一組服裝搭配并推薦給用戶,即為智能推薦結(jié)果。
本次實(shí)驗(yàn)采用DeepFashion2數(shù)據(jù)集,它包含來自各類電商平臺(tái)和消費(fèi)者的13種流行服裝類別的圖像。其中191 961組服裝數(shù)據(jù)作為訓(xùn)練集,32 153組數(shù)據(jù)作為驗(yàn)證集,62 629組數(shù)據(jù)作為測試集。數(shù)據(jù)集將所有服裝類別歸類為13種流行服裝類別:short sleeve top、long sleeve top、short sleeve outwear、long sleeve outwear、vest、sling、shorts、trousers、skirt、short sleeve dress、long sleeve dress、vest dress、sling dress。
此次實(shí)驗(yàn)在Linux環(huán)境下,以Pycharm工具為平臺(tái),采用Python3.5、谷歌開源深度學(xué)習(xí)框架Tensorflow1.3.0以及Keras2.0.8。
對于輸入用作預(yù)測的服裝圖片進(jìn)行歸一化預(yù)處理,調(diào)整為正方形的模式進(jìn)行識(shí)別,即通過縮放以及填充使得服裝圖片最短邊必須大于800像素,最長邊必須小于1 024像素。
5.2.1整體測試
表2為13個(gè)數(shù)據(jù)集中服裝類別的整體數(shù)據(jù)量,可見每個(gè)類別的數(shù)據(jù)量都很充足,最少的短袖外套數(shù)據(jù)量也超過1 000幅;但服裝類別之間數(shù)據(jù)量差異十分明顯。
表2 服裝類別數(shù)據(jù)量與識(shí)別準(zhǔn)確率(其中服裝數(shù)據(jù)量為大概值)
續(xù)表2
對比數(shù)據(jù)量不難發(fā)現(xiàn),訓(xùn)練數(shù)據(jù)量最大的短袖上衣和長褲類別預(yù)測的準(zhǔn)確率也是最高的,同樣,訓(xùn)練數(shù)據(jù)量最少的短外套和吊帶預(yù)測的準(zhǔn)確率也是最低的。
同時(shí)還發(fā)現(xiàn)數(shù)據(jù)量居中的背心、背心裙和吊帶裙預(yù)測準(zhǔn)確率偏低,而背心和吊帶無論是在服裝形狀上、數(shù)據(jù)集標(biāo)注點(diǎn)位置都十分相似,因此為區(qū)分吊帶和背心帶來一定的難度。
5.2.2服裝檢測
服裝檢測實(shí)驗(yàn)對象為一套以長袖上衣和長褲組成的服裝圖像,圖5(a)為無人穿著的服裝擺拍圖像,圖5(b)為正面穿著圖像,圖5(c)為側(cè)面穿著圖像,圖5(d)為較多遮擋穿著圖像,圖5(e)為較少遮擋穿著圖像。
(a) 服裝擺拍圖(b) 正面穿著圖(c) 側(cè)面穿著圖
(d) 較多遮擋穿著圖(e) 較少遮擋穿著圖圖5 服裝檢測結(jié)果
本次測試的目的在于以長袖上衣、長褲為例,測試服裝有無人穿著、正反面、遮擋程度對于服裝類別的影響程度,如表3所示。
表3 服裝檢測結(jié)果
將圖5的5幅圖像送入模型分別進(jìn)行服裝類別檢測,可得圖5和表3的結(jié)果。分析可知:
(1) 分析圖5(a)與圖5(b)檢測結(jié)果可知,人體穿著的服裝圖像能成功識(shí)別出長袖上衣和長褲的服裝類別,而無人穿著的服裝擺拍圖像僅能識(shí)別出長褲。由此可知有無人穿著對于服裝類別檢測起較大影響作用,有人穿著的衣服由于有人體的輔助對比檢測,使得服裝與其他元素差別更大,更易識(shí)別出服裝類別。
(2) 分析圖5(b)與圖5(c)檢測結(jié)果可知,正面服裝圖像能成功識(shí)別出服裝的目標(biāo)類別,而側(cè)面服裝圖像僅識(shí)別出長褲。由此可知,正側(cè)面影響因子在服裝檢測過程中也起了重要的作用,正面的服裝圖像能將服裝特征細(xì)節(jié)完整展現(xiàn)出來,更易識(shí)別,而側(cè)面圖像對上衣這種正面特征點(diǎn)居多的服裝類別影響較大,因此本次實(shí)驗(yàn)并沒有檢測出上衣的類別。
(3) 分析圖5(d)與圖5(e)檢測結(jié)果可知,同為穿著坐姿的兩幅服裝圖像,因服裝前遮擋物遮擋面積大小不同,檢測效果也不同。遮擋面積較大的圖5(d)僅識(shí)別出長褲,而面積較小的圖5(e)能正常識(shí)別。因此,遮擋物面積大小也對服裝檢測起影響作用。
5.2.3服裝分割
服裝分割實(shí)驗(yàn)旨在測試系統(tǒng)從復(fù)雜背景中成功分割服裝目標(biāo)區(qū)域的能力,并從定性分析和定量分析兩個(gè)角度評估分割結(jié)果。
(1) 定量分析。為了更直觀地對比本文方法對于服裝分割的效果,本實(shí)驗(yàn)引入了經(jīng)典的手動(dòng)交互分割算法Grab Cut[18]與本文方法進(jìn)行比較。為更好地定量分析分割效果,本實(shí)驗(yàn)選取信息檢索和統(tǒng)計(jì)學(xué)分類領(lǐng)域中廣泛應(yīng)用的兩個(gè)度量值:召回率和準(zhǔn)確率,主要用于評價(jià)結(jié)果質(zhì)量,以及選取精確率來反映預(yù)測的正例中真正正例樣本的比重。
為更好地進(jìn)行效果對比分析,采用準(zhǔn)確率Acc、召回率Re和精確率Pre三個(gè)指標(biāo)評估服裝分割的效果。具體公式如下:
式中:Gti表示服裝在圖片中所占區(qū)域;ri表示利用算法分割出的服裝區(qū)域;Pri則代表在服裝圖像中被正確分割出來的區(qū)域。
通過對同一幅服裝圖片分別采用本文方法和采用Grab Cut算法進(jìn)行分割后,運(yùn)用準(zhǔn)確率Acc、召回率Re和精確率Pre進(jìn)一步計(jì)算比較本文方法和Grab Cut分割算法效果,結(jié)果如表4所示。
表4 分割方法性能比較
由表4可知,本文方法在分割性能上均較優(yōu)。
(2) 定性分析。定性分析依舊選取Grab Cut算法進(jìn)行效果對比,針對同一幅服裝圖片分別使用本文方法以及Grab Cut算法進(jìn)行分割。
選擇的2幅服裝圖片均包含上裝、下裝2件服裝對象,其中本文方法只需要對服裝圖片進(jìn)行細(xì)微的預(yù)處理操作,自動(dòng)裁剪圖片后即可直接獲得服裝分割結(jié)果;而Grab Cut算法需要進(jìn)行一定的交互操作,選取圖片中服裝所在區(qū)域才能計(jì)算得到服裝分割結(jié)果。
分割效果圖如圖6所示,其中:圖6(a)為原圖;圖6(b)為本文方法分割效果圖;圖6(c)為Grab Cut算法手動(dòng)交互分割過程圖;圖6(d)為Grab Cut算法分割效果圖。
觀察圖6不難發(fā)現(xiàn),使用Grab Cut算法手動(dòng)交互進(jìn)行服裝分割,效果很大程度上取決于交互的過程,且算法原理以像素灰度值差異為基礎(chǔ),容易導(dǎo)致分割不完整,服裝本體上出現(xiàn)空洞;而本文模型經(jīng)過深度學(xué)習(xí)訓(xùn)練后,不需要交互便可自動(dòng)分割出服裝目標(biāo)區(qū)域,且服裝區(qū)域完整,不會(huì)存在空洞位置。
從定量以及定性分析來看,在服裝分割上,無論是從準(zhǔn)確率、召回率、精確率三個(gè)指標(biāo)進(jìn)行比較,還是從實(shí)際的分割效果圖來看,本文方法的分割綜合效果均要優(yōu)于經(jīng)典分割算法Grab Cut。
(a) 原圖(b) 本文方法分割效果圖(c) Grab Cut過程圖 (d) Grab Cut分割效果圖
(a) 原圖(b) 本文方法分割效果圖(c) Grab Cut過程圖(d) Grab Cut分割效果圖圖6 2種服裝分割方法效果圖
為測試系統(tǒng)搭配評分效果,首先隨機(jī)選取一幅帶有全套服裝(上裝和下裝)的照片進(jìn)行測試。選好圖片后,系統(tǒng)首先進(jìn)行服裝檢測,得到服裝款式類別,提取服裝特征向量,綜合各因子進(jìn)行計(jì)算服裝搭配度,最后得到服裝搭配評分結(jié)果。
測試結(jié)果如圖7所示,圖7(a)為原圖,圖7(b)為目標(biāo)掩模圖,圖7(c)為上裝顏色提取結(jié)果,圖7(d)為下裝顏色提取結(jié)果,圖7(e)為搭配評分結(jié)果。
(e) 搭配評分結(jié)果圖7 搭配評分過程圖
由圖7可知,系統(tǒng)準(zhǔn)確識(shí)別出服裝上裝和下裝類別,分別對應(yīng)為“背心”和“長褲”;并成功定位上裝和下裝位置,提取得到上裝主顏色RGB值為(175,185,91),下裝為(103,131,150),均與視覺效果接近;在進(jìn)一步選取“風(fēng)格化標(biāo)簽”為“普通背心”和“牛仔褲”后系統(tǒng)得到了評分96.5分??梢娬追b在搭配評分過程采取了服裝目標(biāo)區(qū)域定位、提取目標(biāo)位置顏色值、排除次要顏色、得到占比超過13.5%的主顏色、識(shí)別其他特征、判斷款式、計(jì)算評分的步驟,實(shí)驗(yàn)結(jié)果均與實(shí)際圖像接近。
由于服裝圖片在拍攝過程中由于采光不均勻、光線反射等問題,有一定幾率出現(xiàn)服裝部分區(qū)域顏色與實(shí)際顏色有所出入。經(jīng)過實(shí)驗(yàn)測試,使用K均值聚類算法提取主顏色時(shí),將距離小于0.1的顏色聚類中心合并,能有效解決此問題,成功排除占比太小的次顏色,得到接近實(shí)際的主顏色。
同時(shí),由于服裝搭配的問題因人而異,每個(gè)人都有自己的審美眼光。而Deepfashion2數(shù)據(jù)集是一個(gè)時(shí)尚服裝數(shù)據(jù)集,其共有87.3萬組買家秀與賣家秀的圖像對。為了保證搭配評分實(shí)驗(yàn)的可靠性,本實(shí)驗(yàn)選取了Deepfashion2測試數(shù)據(jù)集中約1 000對擁有同一件服飾的賣家秀、買家秀圖像分別作為正負(fù)樣本進(jìn)行進(jìn)一步的搭配評分測試。結(jié)果如圖8所示,其中橫軸代表系統(tǒng)給出評分分?jǐn)?shù)的范圍區(qū)間,縱軸為分?jǐn)?shù)在此區(qū)間的搭配圖片。
圖8 評分對比圖
據(jù)數(shù)據(jù)集說明,由于賣家秀圖片是商家為提高商品銷量,經(jīng)過精心挑選搭配的,故圖片整體的服裝搭配效果會(huì)優(yōu)于隨意搭配的買家秀。
實(shí)驗(yàn)結(jié)果表明,搭配更受推崇的賣家秀圖像的搭配評分在81~100分的高分區(qū)的數(shù)量占總實(shí)驗(yàn)數(shù)據(jù)量的88.9%;而搭配效果較一般的買家秀的搭配評分分布情況較之賣家秀更為均勻,66.2%的搭配評分分?jǐn)?shù)位于60~80分之間,且明顯可以看出買家秀集中于中低分?jǐn)?shù)區(qū)間,在高分區(qū)間的賣家秀數(shù)量均高于買家秀數(shù)量。
由此可反映出系統(tǒng)的搭配評分效果較接近大多數(shù)人的審美要求。
本文選取Faster R-CNN模型進(jìn)行對比,因?yàn)楸鞠到y(tǒng)服裝識(shí)別分割算法是基于Mask R-CNN的,Mask R-CNN以Faster R-CNN作為原型,并增加了一個(gè)mask分支用于分割任務(wù),使得語義分割任務(wù)從類型預(yù)測分支中解耦出來,從而大幅度提高了分割的精度。
雖然在文獻(xiàn)[15]中指出,F(xiàn)aster R-CNN訓(xùn)練時(shí)間更短,梯度下降得更快,但Mask R-CNN更加適合本服裝搭配評分系統(tǒng)的應(yīng)用。
因?yàn)閷Ρ菷aster R-CNN通過兩次量化取整計(jì)算的操作,Mask R-CNN使用的Rol_Align層以雙線性插值的方法,通過保留浮點(diǎn)數(shù)坐標(biāo)的形式有效解決了特征圖與原始圖像上的Rol尺寸不匹配的問題,極大地提高了mask分割的準(zhǔn)確率。
由此可見,Mask R-CNN模型在分割效果上達(dá)到了像素級別的效果,分割效果更優(yōu)。服裝搭配評分系統(tǒng)需要一個(gè)更加精確的分割效果,才能更好地捕捉服裝特征,不受背景因素的影響,使得搭配評分效果更加貼近實(shí)際情況。
本文基于Mask R-CNN深度學(xué)習(xí)模型,結(jié)合捕捉到的服裝特征研究一種服裝搭配評分算法,開發(fā)出一套完整的服裝搭配評分系統(tǒng),能夠有效幫助用戶解決日常生活中對于服裝穿搭的難題。
對比市面上其他電商平臺(tái)結(jié)合用戶分享的形式,以潮流博主分享服裝穿搭引導(dǎo)用戶購買服裝的軟件,并不能真正深入到用戶的日常生活中為其解決穿搭問題;本文以搭建“個(gè)人衣櫥”的形式為用戶個(gè)性化推薦服裝搭配。針對其他文獻(xiàn)中如Shen等[8]耗費(fèi)時(shí)間長、搭配款式單一,齊揚(yáng)等[10]搭配較單一等問題,本文為提高對服裝特征的捕捉能力,引入交互的形式獲取服裝的具體款式、材質(zhì)特征,并且結(jié)合了TPO規(guī)則與時(shí)尚搭配原則,以評分的形式更直觀地為用戶推薦服裝搭配。由于時(shí)尚審美標(biāo)準(zhǔn)不唯一,目前的評分效果距離真正的時(shí)尚搭配尚有一段距離,下一步應(yīng)在精準(zhǔn)識(shí)別服裝的基礎(chǔ)上,進(jìn)一步挖掘更多的服裝特征,為服裝搭配評分算法提供更多計(jì)算依據(jù)。