胡昊天 鄭雅芝 鄭健南 馮寶桐 梁 艷 潘家輝
(華南師范大學軟件學院 廣東 佛山 528225)
隨著科技和網絡購物的發展,基于服裝圖像的服裝搭配產品具有較高的市場價值和研究價值。中國服裝協會發布的《2018-2019年度中國服裝行業發展報告》[1]顯示,網絡服裝銷售增長了22%,大型零售增長0.99%。在目前的服裝消費市場中,服裝的款式、色彩、紋理、面料等都十分多樣化,滿足了當下不同階層和年齡段女性的購衣需求。在《2019年中國“升級一代”女性服裝消費洞察報告》[2]研究中指出,“升級一代”女性服裝消費凸顯了“審美升級”的轉變趨勢,購衣的美麗消費已成為生活中的重要需求。因此,在如此繁雜的服裝當中,如何快速、有效地推薦出一套大眾普遍認可、喜愛的搭配服飾是當前急需探究的問題。
服裝搭配的核心在于服裝圖像特征的描述。為了更有效地進行服裝搭配,需要獲取盡可能多的服裝特征。市面上已有的服裝搭配推薦產品,主要是通過用戶的購買記錄等利用協同過濾算法[3]進行相關性推薦購買,并沒有幫助用戶在眾多的個人服飾之間實現智能搭配,為用戶切身解決日常搭配煩惱。已有的服裝搭配算法,大多存在搭配效果單一、推薦相似度高的服裝的問題。對于服裝搭配評分技術而言,現有的關于服裝美感評價的研究大多針對服裝的制作工藝、材質等方面,專門針對服裝搭配的美感評分的研究較少。
本文提出了一個基于Mask R-CNN的服裝搭配算法。首先,基于Mask R-CNN模型對輸入的服裝圖像進行精準檢測和分割;其次,采用卷積神經網絡提取服裝區域的部分特征;最后,對服裝特征向量進行分析處理,建立服裝搭配規則,對上下衣服裝搭配效果進行評分。本文的主要貢獻如下:
(1) 利用基于Mask R-CNN模型的服裝識別處理算法,對輸入的服裝圖像進行特征提取和分析,實現服裝的目標識別和分割。
(2) 提出了一個服裝搭配評分算法,將深度學習與服裝搭配規則相結合。通過本文的服裝識別處理算法對輸入的服裝圖像特征進行提取和處理,利用處理后的特征向量對服裝進行搭配計算并根據搭配度的高低進行評分。
(3) 實現了一個服裝搭配評分系統,具有服裝搭配評分、個人衣櫥、智能推薦功能,幫助用戶解決日常服裝搭配問題。
服裝識別處理是進行服裝搭配計算的第一步。目前有很多服裝識別處理的方法。項明等[4]提出了通用Fourier描述子,通過改進反饋技術提高了基于形狀特征的服裝圖像目標檢測和分類的準確度。以600幅裙裝樣例圖像為目標進行檢索,發現該方法的平均查準率達到了91.9%。實驗表明,該算法僅對形狀特征明顯的服裝例如T恤、裙子等的準確度較高,而且容易受到服裝穿著的影響。Redmon等[5]提出了YOLO模型,該模型將目標檢測任務轉換為回歸問題,極大地提高了檢測速度,每秒最快可處理45幅圖像。但是直接使用網格回歸,沒有Region Proposal機制,使得該模型的識別精度僅有63.4%,不能進行準確的定位。Yu等[6]融合了多特征提取算法,同時對多維特征向量進行降維,實現了服裝分類與處理。包青平等[7]利用卷積神經網絡進行服裝特征提取,結合度量學習實現了服裝圖像的分類與識別。較之基于SIFT特征的傳統方法,前者在服裝分類處理的效果更佳。
Shen等[8]建立了80萬數據集的服裝庫,并手動標注了服裝類型、風格等標簽。在大型數據集的基礎上,利用OMSC搭配知識庫進行服裝的智能搭配推薦。該方法由于前期數據集的處理步驟煩瑣,故實現時間較長,且搭配和款式比較固定。徐略輝[9]提出了一種不確定性的服裝搭配算法。首先進行模糊聚類分析,在模糊等價類的基礎上,引入了可變截集水平等步驟,最終得到了服裝搭配的不確定性屬性約簡算法。該算法能自動找出服裝搭配組合,并克服服裝搭配與人的主觀性因素造成的不確定性。齊揚等[10]通過用戶瀏覽信息和購買信息構建服裝數據庫,并構建用戶偏好模型。這種方法僅僅通過挖掘用戶喜好來推薦,得到搭配比較單一。
趙光明[11]使用淘寶天池大賽服裝數據集基于ImageNet訓練的AlexNet模型進行遷移學習搭建了服裝搭配匹配模型。而后利用GBTree算法對模型進行優化,提出了服裝搭配算法,包括基于搭配度、基于矩陣分解和基于Jaccard等方法。該模型提出MAP@N的測評指標(范圍在0~1),MAP值越大,算法越準確。模型使用的數據集龐大約50萬條商品數據,但是使用的算法模型比較老舊,數據處理速度有些慢。范宇航[12]使用爬蟲得到的4萬幅上衣圖片作為數據集,提取服裝SIFT特征并進行標簽分類,利用ImageNet訓練模型,提出服裝深度特征并將其結合局部編碼特征,以此挖掘服裝搭配的關聯規則??锪⒀骩13]基于SDD_RN網絡以及多特征融合實現了服裝檢索和個性化搭配推薦,但是該方法推薦的服裝更傾向于相似度高的服裝,比較單一。
本系統主要以時尚服裝搭配中的應用為主,包括服裝評分模塊和個人衣櫥模塊。
服裝評分模塊能夠針對用戶的服裝圖片給出評分結果。系統首先對一幅包含用戶全套服裝的圖片進行服裝檢測,得到圖片中包含的服裝類別、數量并提取出服裝基本特征;然后基于識別到的服裝類別進一步獲取類別文本特征,通過提示用戶選擇具體的“風格化標簽”來獲取。所謂“風格化標簽”即指為提高評分科學性、基于基本服裝類別之上衍生出來的時尚風格層面的標簽,如“長褲”對應的風格化標簽有“西褲、牛仔褲、闊腿褲”等。用戶選擇風格化標簽之后,系統調用評分算法計算,向用戶反饋評分結果,分數范圍為0~100。
個人衣櫥模塊能夠存儲用戶上傳的服裝,提供存儲服裝、自由組合、智能推薦功能。用戶上傳的服裝以圖片形式存儲,用戶可自由組合服裝,系統反饋該組合搭配評分結果。系統還能自動計算衣櫥內所有服裝搭配的評分結果,向用戶反饋最優搭配方案。
系統總功能說明圖如圖1所示。

圖1 系統總功能說明圖
為了實現服裝搭配評分功能,服裝識別處理是不可或缺的一環。有效的服裝識別處理能將一幅原始服裝圖片對象轉化為服裝款式類別、服裝顏色特征。精確識別出服裝款式以及顏色特征能夠使得搭配評分更具準確性和科學性。因此服裝識別處理必須完成下列任務。
1) 服裝主體識別:(1) 能從復雜背景中定位目標服裝區域;(2) 成功識別服裝類別款式;(3) 服裝實例分割,得到服裝掩模區域和邊界框。
2) 服裝顏色特征提取:對服裝掩模區域和邊界框進行處理,提取服裝顏色特征。
通過對大量文獻的總結以及對各類目標檢測模型的測試后,本文采用基于Mask R-CNN[14]模型的方法對服裝進行識別與處理。
輸入一幅包含服裝對象的圖片,進行以下處理:
(1) 首先將服裝圖片進行歸一化預處理,對于每幅圖片進行伸縮處理,以最短邊800像素、最長邊1 024像素的規格將其裁剪為統一大小的正方形,方便模型處理。
(2) 將服裝圖片輸入到預訓練好的殘差網絡ResNet 101中,提取服裝圖片基本特征,處理得到相應的feature map,并輸入FPN特征金字塔進一步提取特征。
(3) 將得到的feature map中每一點設定預定的ROI,得到多個候選ROI。
(4) 將得到的候選ROI送入RPN網絡進行邊界框回歸和二分類,即前景和背景的區分,以此篩選掉一部分候選ROI。
(5) 將篩選過后的ROI送入ROI_Align處理,即將原圖與feature map的像素點相對應,再將feature map與固定的feature相對應。
(6) 再將處理完的ROI送入服裝掩模分割分支直接進行FCN操作生成服裝掩模圖,ROI送入模型中服裝檢測分支中的全連接層即可實現服裝分類和邊界框回歸。
(7) 輸出得到的服裝款式類別。
(8) 將原始服裝圖片、分割好的掩模圖以及邊界框坐標進行顏色特征提取操作,輸出得到的服裝主顏色特征向量。
過程如圖2所示。服裝款式類別和服裝顏色特征可作為后期評分的因素之一。

圖2 服裝識別處理過程
3.2.1優化函數
實驗中,訓練模型采用SGD隨機梯度下降函數作為模型優化函數。SGD每次僅用一小批樣本進行計算梯度、更新模型參數,具有梯度下降更新參數時低方差的特性和隨機梯度下降參數更新的高效率。再加入moment動量因子使梯度方向不變的維度上速度下降得更快,梯度方向改變的方向上更新速度更慢,加快收斂,減小震蕩,動量因子取值0.9。
式中:vt代表t時刻的梯度下降速度,γ(0≤γ<1)為動量超參數,在實踐中取值0.9;η代表學習率;θ為權重參數;j(θ)表示θ的最小二乘損失函數。
3.2.2損失函數
在模型訓練過程中,定義在每個ROI上的多任務損失函數為:
L=Lcls+Lbox+Lmask
(2)
式中:用于服裝分類的Lcls、用于邊界框回歸的Lbox,利用全連接層預測出每個RoI對象所屬類別及其邊界框坐標值,均與Faster R-CNN模型[15]中定義的相同;而用于服裝分割的Lmask代表模型的分割誤差。網絡中的Mask分支通過FCN將每個ROI對象分割為K個類別m×m大小的二值掩模。對每一個像素應用sigmoid函數進行二分類后,計算RoI上所有像素的交叉熵的均值得到Lmask。
3.2.3網絡結構
服裝識別處理網絡總體結構可分為三部分:Backbone、RPN、ROI Head。
1) 網絡骨干部分Backbone選擇預訓練好的殘差網絡ResNet101結合FPN,將ResNet101劃分為5個不同的階段,識別服裝圖像的基本特征,每一個階段輸出不同尺寸的Feature map;而FPN特征金字塔網絡采用自頂向下和橫向連接的5層結構。首先將高層更抽象的Feature map進行2倍上采樣Upsample,然后橫向連接至前一層特征進行加強,其中前一層需經過1×1卷積過濾器處理使得channels一致。最后用3×3的卷積過濾器去處理已經融合的Feature map,Downsample降采樣之后輸出Feature map。
2) RPN網絡負責對不同尺寸的Feature map進行滑動窗口掃描,生成多個不同尺寸的圖像錨框anchor,并對邊框進行精調后,進行非極大值抑制處理,生成最終的ROI。
3) 由于服裝分割需要較精準的像素位置,需要使得Feature map和原圖在尺寸上匹配。因此ROI Head部分負責對Feature map進行尺寸處理,其包括4個負責處理不同尺寸ROI的Roi_align以及一個進行Concat連接的池化層。尺寸處理使用雙線性插值的方法以獲得浮點數坐標的像素點上的圖像數值:
(1) 遍歷所有候選區域,獲取區域浮點數邊界。
(2) 將候選區域分割成k×k個單元,k為采樣點數/2。
(3) 使用雙線性插值的方法計算在每個單元中固定的四個坐標浮點數坐標,然后進行最大池化處理。
多個Roi_align負責提取特征金字塔中不同層的特征,將提取到的特征送入感知網絡Perception Network。而感知網絡由服裝檢測分支和服裝掩模分割分支組成:
(1) 服裝檢測分支包含兩個全連接層,分別用于服裝類別預測和邊界框回歸。
(2) 服裝掩模分割分支包含4個conv層、1個deconv層和1個conv層用于預測服裝掩模。
妊娠是女性一生中的一個特殊生理階段, 妊娠期婦女全身環境和口腔局部環境都會發生變化,導致口腔疾病的發生或原有口腔疾病的加重,在妊娠各期都會出現。二孩政策實行以來,高齡孕婦比例上升,各種妊娠并發癥的發病率也相對增加。為更有效地開展孕婦口腔保健工作,提高孕婦的生活質量,本研究對長春市989名孕婦進行了問卷調查,現報道如下。
網絡模型經過訓練之后,具備將服裝圖像識別款式、分割服裝掩模圖的能力。將服裝圖片中的服裝對象識別出服裝款式類別并且分割出服裝掩模圖之后,還需要針對分割好的服裝掩模圖進一步提取用于搭配評分的特征。本系統選擇影響服裝搭配最重要的因素之一是顏色特征,它是作為后期對服裝搭配進行評分的因素之一。
特征提取方法步驟如下:首先進行數據預處理:將分割好的服裝掩模圖與原圖進行映射,去除圖片背景元素后得到服裝目標區域,開始進行顏色特征提??;識別服裝顏色特征采用K均值聚類算法進行處理,這是一種迭代求解的聚類分析算法。如圖3所示。

圖3 服裝顏色特征識別流程
(1) 服裝圖像數據從各像素點RGB值轉換為HSV值序列進行儲存,以便處理數據。
(2) 選擇圖像中各點HSV各個分量的最小值加上隨機值,生成K個對象作為初始聚類中心,本文K值選擇20。
(3) 循環迭代直到前一個聚類中心與當前聚類中心的歐氏距離小于0.1為止,其間計算每個對象與各個聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心,此處聚類中心被認為是服裝圖像上的一種顏色。即給每個點歸類,判斷各個像素屬于哪個中心類。
(4) 一次所有點類別劃分后,重新計算中心點,每個像素點的HSV值歸類后,由該中心點計算均值取代該中心點的HSV值。
(5) 計算得到的聚類中心所包含數據數,將所含像素點個數小于0.5%的聚類中心去除,排序輸出所含像素點個數占比超過13.5%的聚類中心。
基于對Mask R-CNN模型的研究和改進之后,我們已經可以將一個RGB服裝圖像轉為服裝特征向量處理,為進行服裝搭配評分算法的實現提供了依據。
服飾按照不同的搭配規則,比如基本色特征、顏色特征和款式特征搭配規則,可以分為不同的搭配空間。
假設服裝按照某種搭配規則,將服裝類別分為n類,即U={u1,u2,…,un}。
對于第i類服裝,其對應的加分搭配可以表示為Pi={pi,1,pi,2,…,pi,n}。其中Pi表示與第i類服裝匹配度高的搭配服飾。故第i類服裝的搭配集合為Ci=
設D為該搭配規則下輸入的上裝和下裝生成的搭配集合。各個搭配空間中搭配度值的計算公式如下:
式中:Cb、Cc、Cs分別為在基本色特征、顏色特征和款式特征搭配規則下定義的搭配空間;Db、Dc、Ds分別為用戶輸入的上下衣在基本色特征、顏色特征和款式特征搭配規則下生成的搭配集合;Mb、Mc、Ms則為不同搭配規則下的搭配度值,λ為調整權重,在實踐中取值為0.05。
1) 模型經過訓練之后,可以從服裝圖像中提取得到服裝類別ClassID、服裝主顏色特征RGB、主顏色數量ColorNum。
2) 服裝主顏色特征RGB的處理。
(1) 將得到的主顏色RGB特征向量值對應色相環映射為相應的基本色特征值ColorType,求得基本色特征的搭配度Mb。
(2) 將RGB轉換為HSV特征向量值后,分離為色相Hue、飽和度Staturation、亮度Value3個特征值。
3) 顏色特征的搭配度Mc。
結合明度搭配法,色相搭配法[17]和三色原則,利用第二步處理得到的特征值與主顏色數量ColorNum,計算顏色特征部分的搭配度Mc。
4) 服裝類別ClassID的處理。
(1) 由于圖像特征往往不能夠識別出服裝的材質,為進一步提高評分的科學性,增加了系統與用戶之間的交互?;谙到y識別出服裝類別ClassID,通過與用戶簡單的交互提取文字屬性描述的信息,獲取服裝的具體款式、材質特征,稱為“風格化標簽”StyleID,如表1所示。

表1 服裝類別和服裝款式匯總表
StyleID是ClassID的進一步延伸和擴展,描述了計算機難以識別的服裝材質特征,將“風格化標簽”StyleID與圖像信息進行融合計算并嵌入搭配評分規則,遠比僅使用ClassID更能有效地提高搭配的準確度。
(2) 根據TPO規則與時尚搭配基本規則,再參考各類時尚前沿網站,結合當下時尚潮流趨勢,構造服裝搭配規則并建立搭配標準庫,上下裝的服裝StyleID根據搭配庫中的服裝搭配組合數據的正負樣本進行比較計算匹配度,得到款式特征的搭配度Ms。
5) 服裝整體搭配度M主要由基本色特征、顏色特征和款式特征三部分的搭配度綜合計算得出。
M=αMb+βMc+γMs
(4)
式中:α取0.6,β取0.25,γ取0.15。
具體評分流程如圖4所示。

圖4 評分流程圖
系統的智能推薦功能則是在搭配評分的基礎上,在用戶個人衣櫥中的候選服裝數據集CS,調用服裝搭配評分算法,求得搭配度最高的一組服裝搭配并推薦給用戶,即為智能推薦結果。
本次實驗采用DeepFashion2數據集,它包含來自各類電商平臺和消費者的13種流行服裝類別的圖像。其中191 961組服裝數據作為訓練集,32 153組數據作為驗證集,62 629組數據作為測試集。數據集將所有服裝類別歸類為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。
此次實驗在Linux環境下,以Pycharm工具為平臺,采用Python3.5、谷歌開源深度學習框架Tensorflow1.3.0以及Keras2.0.8。
對于輸入用作預測的服裝圖片進行歸一化預處理,調整為正方形的模式進行識別,即通過縮放以及填充使得服裝圖片最短邊必須大于800像素,最長邊必須小于1 024像素。
5.2.1整體測試
表2為13個數據集中服裝類別的整體數據量,可見每個類別的數據量都很充足,最少的短袖外套數據量也超過1 000幅;但服裝類別之間數據量差異十分明顯。

表2 服裝類別數據量與識別準確率(其中服裝數據量為大概值)

續表2
對比數據量不難發現,訓練數據量最大的短袖上衣和長褲類別預測的準確率也是最高的,同樣,訓練數據量最少的短外套和吊帶預測的準確率也是最低的。
同時還發現數據量居中的背心、背心裙和吊帶裙預測準確率偏低,而背心和吊帶無論是在服裝形狀上、數據集標注點位置都十分相似,因此為區分吊帶和背心帶來一定的難度。
5.2.2服裝檢測
服裝檢測實驗對象為一套以長袖上衣和長褲組成的服裝圖像,圖5(a)為無人穿著的服裝擺拍圖像,圖5(b)為正面穿著圖像,圖5(c)為側面穿著圖像,圖5(d)為較多遮擋穿著圖像,圖5(e)為較少遮擋穿著圖像。

(a) 服裝擺拍圖(b) 正面穿著圖(c) 側面穿著圖

(d) 較多遮擋穿著圖(e) 較少遮擋穿著圖圖5 服裝檢測結果
本次測試的目的在于以長袖上衣、長褲為例,測試服裝有無人穿著、正反面、遮擋程度對于服裝類別的影響程度,如表3所示。

表3 服裝檢測結果
將圖5的5幅圖像送入模型分別進行服裝類別檢測,可得圖5和表3的結果。分析可知:
(1) 分析圖5(a)與圖5(b)檢測結果可知,人體穿著的服裝圖像能成功識別出長袖上衣和長褲的服裝類別,而無人穿著的服裝擺拍圖像僅能識別出長褲。由此可知有無人穿著對于服裝類別檢測起較大影響作用,有人穿著的衣服由于有人體的輔助對比檢測,使得服裝與其他元素差別更大,更易識別出服裝類別。
(2) 分析圖5(b)與圖5(c)檢測結果可知,正面服裝圖像能成功識別出服裝的目標類別,而側面服裝圖像僅識別出長褲。由此可知,正側面影響因子在服裝檢測過程中也起了重要的作用,正面的服裝圖像能將服裝特征細節完整展現出來,更易識別,而側面圖像對上衣這種正面特征點居多的服裝類別影響較大,因此本次實驗并沒有檢測出上衣的類別。
(3) 分析圖5(d)與圖5(e)檢測結果可知,同為穿著坐姿的兩幅服裝圖像,因服裝前遮擋物遮擋面積大小不同,檢測效果也不同。遮擋面積較大的圖5(d)僅識別出長褲,而面積較小的圖5(e)能正常識別。因此,遮擋物面積大小也對服裝檢測起影響作用。
5.2.3服裝分割
服裝分割實驗旨在測試系統從復雜背景中成功分割服裝目標區域的能力,并從定性分析和定量分析兩個角度評估分割結果。
(1) 定量分析。為了更直觀地對比本文方法對于服裝分割的效果,本實驗引入了經典的手動交互分割算法Grab Cut[18]與本文方法進行比較。為更好地定量分析分割效果,本實驗選取信息檢索和統計學分類領域中廣泛應用的兩個度量值:召回率和準確率,主要用于評價結果質量,以及選取精確率來反映預測的正例中真正正例樣本的比重。
為更好地進行效果對比分析,采用準確率Acc、召回率Re和精確率Pre三個指標評估服裝分割的效果。具體公式如下:
式中:Gti表示服裝在圖片中所占區域;ri表示利用算法分割出的服裝區域;Pri則代表在服裝圖像中被正確分割出來的區域。
通過對同一幅服裝圖片分別采用本文方法和采用Grab Cut算法進行分割后,運用準確率Acc、召回率Re和精確率Pre進一步計算比較本文方法和Grab Cut分割算法效果,結果如表4所示。

表4 分割方法性能比較
由表4可知,本文方法在分割性能上均較優。
(2) 定性分析。定性分析依舊選取Grab Cut算法進行效果對比,針對同一幅服裝圖片分別使用本文方法以及Grab Cut算法進行分割。
選擇的2幅服裝圖片均包含上裝、下裝2件服裝對象,其中本文方法只需要對服裝圖片進行細微的預處理操作,自動裁剪圖片后即可直接獲得服裝分割結果;而Grab Cut算法需要進行一定的交互操作,選取圖片中服裝所在區域才能計算得到服裝分割結果。
分割效果圖如圖6所示,其中:圖6(a)為原圖;圖6(b)為本文方法分割效果圖;圖6(c)為Grab Cut算法手動交互分割過程圖;圖6(d)為Grab Cut算法分割效果圖。
觀察圖6不難發現,使用Grab Cut算法手動交互進行服裝分割,效果很大程度上取決于交互的過程,且算法原理以像素灰度值差異為基礎,容易導致分割不完整,服裝本體上出現空洞;而本文模型經過深度學習訓練后,不需要交互便可自動分割出服裝目標區域,且服裝區域完整,不會存在空洞位置。
從定量以及定性分析來看,在服裝分割上,無論是從準確率、召回率、精確率三個指標進行比較,還是從實際的分割效果圖來看,本文方法的分割綜合效果均要優于經典分割算法Grab Cut。

(a) 原圖(b) 本文方法分割效果圖(c) Grab Cut過程圖 (d) Grab Cut分割效果圖

(a) 原圖(b) 本文方法分割效果圖(c) Grab Cut過程圖(d) Grab Cut分割效果圖圖6 2種服裝分割方法效果圖
為測試系統搭配評分效果,首先隨機選取一幅帶有全套服裝(上裝和下裝)的照片進行測試。選好圖片后,系統首先進行服裝檢測,得到服裝款式類別,提取服裝特征向量,綜合各因子進行計算服裝搭配度,最后得到服裝搭配評分結果。
測試結果如圖7所示,圖7(a)為原圖,圖7(b)為目標掩模圖,圖7(c)為上裝顏色提取結果,圖7(d)為下裝顏色提取結果,圖7(e)為搭配評分結果。

(e) 搭配評分結果圖7 搭配評分過程圖
由圖7可知,系統準確識別出服裝上裝和下裝類別,分別對應為“背心”和“長褲”;并成功定位上裝和下裝位置,提取得到上裝主顏色RGB值為(175,185,91),下裝為(103,131,150),均與視覺效果接近;在進一步選取“風格化標簽”為“普通背心”和“牛仔褲”后系統得到了評分96.5分??梢娬追b在搭配評分過程采取了服裝目標區域定位、提取目標位置顏色值、排除次要顏色、得到占比超過13.5%的主顏色、識別其他特征、判斷款式、計算評分的步驟,實驗結果均與實際圖像接近。
由于服裝圖片在拍攝過程中由于采光不均勻、光線反射等問題,有一定幾率出現服裝部分區域顏色與實際顏色有所出入。經過實驗測試,使用K均值聚類算法提取主顏色時,將距離小于0.1的顏色聚類中心合并,能有效解決此問題,成功排除占比太小的次顏色,得到接近實際的主顏色。
同時,由于服裝搭配的問題因人而異,每個人都有自己的審美眼光。而Deepfashion2數據集是一個時尚服裝數據集,其共有87.3萬組買家秀與賣家秀的圖像對。為了保證搭配評分實驗的可靠性,本實驗選取了Deepfashion2測試數據集中約1 000對擁有同一件服飾的賣家秀、買家秀圖像分別作為正負樣本進行進一步的搭配評分測試。結果如圖8所示,其中橫軸代表系統給出評分分數的范圍區間,縱軸為分數在此區間的搭配圖片。

圖8 評分對比圖
據數據集說明,由于賣家秀圖片是商家為提高商品銷量,經過精心挑選搭配的,故圖片整體的服裝搭配效果會優于隨意搭配的買家秀。
實驗結果表明,搭配更受推崇的賣家秀圖像的搭配評分在81~100分的高分區的數量占總實驗數據量的88.9%;而搭配效果較一般的買家秀的搭配評分分布情況較之賣家秀更為均勻,66.2%的搭配評分分數位于60~80分之間,且明顯可以看出買家秀集中于中低分數區間,在高分區間的賣家秀數量均高于買家秀數量。
由此可反映出系統的搭配評分效果較接近大多數人的審美要求。
本文選取Faster R-CNN模型進行對比,因為本系統服裝識別分割算法是基于Mask R-CNN的,Mask R-CNN以Faster R-CNN作為原型,并增加了一個mask分支用于分割任務,使得語義分割任務從類型預測分支中解耦出來,從而大幅度提高了分割的精度。
雖然在文獻[15]中指出,Faster R-CNN訓練時間更短,梯度下降得更快,但Mask R-CNN更加適合本服裝搭配評分系統的應用。
因為對比Faster R-CNN通過兩次量化取整計算的操作,Mask R-CNN使用的Rol_Align層以雙線性插值的方法,通過保留浮點數坐標的形式有效解決了特征圖與原始圖像上的Rol尺寸不匹配的問題,極大地提高了mask分割的準確率。
由此可見,Mask R-CNN模型在分割效果上達到了像素級別的效果,分割效果更優。服裝搭配評分系統需要一個更加精確的分割效果,才能更好地捕捉服裝特征,不受背景因素的影響,使得搭配評分效果更加貼近實際情況。
本文基于Mask R-CNN深度學習模型,結合捕捉到的服裝特征研究一種服裝搭配評分算法,開發出一套完整的服裝搭配評分系統,能夠有效幫助用戶解決日常生活中對于服裝穿搭的難題。
對比市面上其他電商平臺結合用戶分享的形式,以潮流博主分享服裝穿搭引導用戶購買服裝的軟件,并不能真正深入到用戶的日常生活中為其解決穿搭問題;本文以搭建“個人衣櫥”的形式為用戶個性化推薦服裝搭配。針對其他文獻中如Shen等[8]耗費時間長、搭配款式單一,齊揚等[10]搭配較單一等問題,本文為提高對服裝特征的捕捉能力,引入交互的形式獲取服裝的具體款式、材質特征,并且結合了TPO規則與時尚搭配原則,以評分的形式更直觀地為用戶推薦服裝搭配。由于時尚審美標準不唯一,目前的評分效果距離真正的時尚搭配尚有一段距離,下一步應在精準識別服裝的基礎上,進一步挖掘更多的服裝特征,為服裝搭配評分算法提供更多計算依據。