夏 明,宋 婧,姜朝陽,馬延彬
(1. 東華大學 服裝與藝術設計學院,上海 200051; 2. 同濟大學 上海國際設計創新研究院,上海 200092; 3. 東華大學 現代服裝設計與技術教育部重點實驗室,上海 200051)
服裝款式識別應用廣泛,對整個服裝行業有很大影響。服裝廓形體現結構設計和風格,影響和制約款式結構的設計[1-2]。倪文楊提出廓形、面料、色彩及款式四要素作為連衣裙構成要素[3]。肩部、腰部、臀部及下擺部位的寬度和放松量是影響服裝廓形的主要因素,省道和分割線等細節設計也會產生部分影響[4]。Hou等提出采用形狀不變矩和傅里葉描述子共同提取服裝輪廓,使用直方圖形式對服裝款式匹配計算,實現服裝檢索[5]。
陶晨等利用Ada Boost算法檢測到圖像中的人臉后[6],將著裝人體分割為六大區段,利用區段寬度和長度數據建立輪廓的形態比公式,將廓形量化,從而實現款式的識別[7]。陳嬡嬡等提出對服裝關鍵點定位,利用暗含的圖形關系提取深度卷積特征來進行相似性度量[8]。屠青青提出關鍵點的款式識別,外部輪廓和內部結構共同描述款式,用于服裝風格的識別[9]。
目前在款式檢索上應用的以圖搜圖檢索技術,主要以圖像提取的色彩、紋理、輪廓等特征綜合進行相似度計算。檢索結果以色彩和輪廓相似為主,色彩和輪廓的提取和圖像內容相關,并不限于服裝本身,易受背景的影響,主要應用于消費者或設計師使用場景。本文主要考慮服裝款式的結構特征,以連衣裙款式關鍵點輪廓為基礎,通過對輪廓的不同描述和相似性度量計算,比較了不同算法的款式識別精確度和準確度。利用相似度測評表,驗證了基于系數分配的歐氏距離優化算法的可行性。本文研究可應用于服裝結構相似款式的快速檢索。
1.1.1 廓形與結構設計
服裝廓形必須符合人體的基本結構,因此服裝輪廓一定受到人體基本關鍵點的限制。連衣裙輪廓最常見的為S形、X形、H形、A形,如圖1所示。S形凸顯人體曲線,與人體弧線趨勢保持基本一致;X形樣板設計在S基礎上增加下擺量;H形的特點是隱藏人體曲線,胸圍線以上保持合體,塑造服裝寬松效果;A形與H形在胸圍線以上相同,但是下擺量放大,無收腰設計。

圖1 連衣裙廓形與結構設計Fig.1 Dress silhouette and structure design. (a) Silhouette of S; (b) Silhouette of X; (c) Silhouette of H; (d) Silhouette of A

圖2 廓形組合Fig.2 Silhouette combination
通過分析廓形的變化規律發現,影響廓形的部位包括肩部、胸部、腰部、臀部、膝蓋和下擺。
1.1.2 輪廓關鍵點確定
將幾種常見的基本廓形按照肩-胸、胸-腰、腰-臀、臀-膝和膝-擺5部分的不同組合,如圖2所示。
分析歸納后發現膝蓋處的變化規律不固定,而廓形的變化又在臀部和下擺之間,因此將膝蓋線改為中擺線,中擺線一般為臀圍線與下擺線的中間位置,但對于魚尾裙類似的廓形,中擺線位置調整為臀圍與下擺之間突出變化的位置。如圖2所示,胸圍線對廊形的影響并不明顯,因此決定剔除胸圍線,減少2個特征點的提取,不僅降低了特征點的提取量,而且降低了因提取不準確導致的誤差。影響廓形的主要部位的具體位置包括肩部、腰部、臀部、中擺、下擺5處對應的10個關鍵點。
1.2.1 連衣裙樣本的確定
由于國際品牌的模特身材在較小的范圍內變化,而且款式結構更加規范,因此選定包括DIOR、CHANEL、BURBERRY等國際品牌的連衣裙樣本。由于本實驗目的是建立連衣裙款式結構與輪廓之間的關系,因此在輪廓提取和對比時,領型、袖型、色彩、面料等因素暫時不予考慮。為避免模特身材、動作姿態等其他因素對連衣裙輪廓的影響,剔除部分造型夸張、模特姿態不端正、面料特征突出的連衣裙圖片。
1.2.2 輪廓提取方法
本文實驗分為人工分類、計算機語言程序編輯、輪廓提取3個步驟。實驗方案如下。
1)人工分類。對所選樣本按照A形、S形、X形、H形、T形、O形六大廓形進行人工分類。其中T形和O形的占比僅為4.2%,且此類造型與面料的關系較大,因此后續的研究僅針對A形、S形、X形、H形4種廓形,共114款連衣裙。將所有樣本按照“廓形類別”-“數字”的規則進行命名,以便后續研究的進行。
2)計算機語言程序編輯。用計算機語言程序編輯得到輪廓提取的程序,可實現導入圖片、放大和縮小、增加和刪除點,可以記錄所有點的順序并記錄坐標。該程序將提取的輪廓保存為CONTOUR文件、TAGGING文件、TXT文件,其中CONTOUR 文件是選取的點組成的輪廓圖形,TXT文件為輪廓點的坐標。
3)輪廓提取。通過增加或刪除點的操作確定所用的10個點,即肩線、腰圍線、臀圍線、中擺線、下擺線5個圍度線。規定所有的樣本都從右肩點—右腰點—右臀點—右中擺點—右下擺點—左下擺點—左中擺點—左臀點—左腰點—左肩點的順時針方向取點,記為1~10,實現連衣裙輪廓的提取。
為使輪廓提取統一標準,應遵守以下規則:1)抹胸等肩胸部有造型的連衣裙,肩線的2點應定位在正常肩點;2)魚尾裙等有裙擺造型的連衣裙,將中擺線2點設置在裙擺開始變化的轉折點位置;3)模特的身體比例在小范圍內穩定,臀圍線的位置按人體比例確定;4)腰線的2點依據實際服裝的腰線位置確定。
1.2.3 輪廓描述子提取
結合相關文獻,提取肩寬Ws、腰寬Ww、臀寬Wh、中擺寬Wz、下擺寬Wx、肩腰距離L1、腰臀距離L2、臀擺距離L3以及腰線、中擺線、下擺線與連衣裙外輪廓線的夾角Pw、Pz、Px的余弦值共11組數據作為連衣裙形狀的描述子,如圖3所示。

圖3 輪廓描述方式圖解Fig.3 Contour description mode diagram
為方便計算方法的對比和優化,需要相對權威準確的廓形相似度測評表,針對服裝工程背景人員對樣本廓形相似度做出判斷,忽略袖型、領型等其他因素的影響。相似度選項設置為不相似、稍微相似、相似、非常相似與相同5個程度,后臺分別對應計分0、0.25、0.5、0.75、1,得到8份有效問卷。將得到的問卷整理后得出人工相似度測評表,以便后續應用。研究發現,對于所屬同類廓形間的相似度評分高,樣本相似度最高的基本為同類廓形。結合服裝結構知識,同類廓形的服裝其結構版型更具有相似性,當不同廓形的相似度結果非常接近時,可優先考慮同類廓形。
采用上述提取的11組數據作為輪廓描述子,利用傳統歐式距離方法計算形狀間距離。描述子通常是用向量或矩陣表示,因此就是計算向量間的距離,常用的有歐氏距離(Euclidean distance),計算公式為
式中:ai、bi分別代表輪廓a和輪廓b的輪廓描述子;n為描述子個數;D為2個輪廓之間的歐式距離,D越小,輪廓相似度越高。將輪廓描述子歸一化后進行計算,使計算的歐式距離標準化在[0,1]區間,數值為0時,表示2個連衣裙完全相同。將結果與1相減,即得到了連衣裙形狀的相似度:
S=1-D
利用傳統歐式距離得到的連衣裙形狀相似度結果與廓形相似度測評表做簡單對比發現,歐式距離對應的相似度數值較大且分散,不能有效地篩選出相似的連衣裙款式。
傳統歐式距離的計算方法將所有描述指標按照同一貢獻程度進行計算,但是不同指標的影響程度不同,基于此提出將11組描述子分為寬度、高度和角度余弦值3個方面。利用傳統歐式距離分別對3個方面的值進行計算,并轉換為相似度。將e1、e2、e33個系數分別賦予3個方面的相似度,使之相加得到的相似度與人工測評得到的廓形相似度測評表相等,因此e1、e2、e33個系數應該滿足以下表達式:
式中:Sc、Sh、Sw分別代表角度余弦值、高度、寬度3個方面的相似度;Sn代表廓形相似度測評表中的相似度,Sc、Sh、Sw、Sn均為114×114的對稱矩陣。通過解超定方程組,得到唯一的最小二乘解:e1=0.902 9、e2=0.269 6、e3=-0.588 4。將所得到的3個系數反推計算,得到新的114×114的矩陣Y,對角線均為0.584 1,將矩陣Y中的元素均除以0.584 1,對角線的值轉換為1,同時保持矩陣元素的比例大小。將此表作為基于系數分配的歐式距離的相似度結果,與其他方法作對比。此外,根據系數絕對值的大小,在輪廓特征描述子中按照相似度影響程度大小排序為:角度余弦值、寬度、高度。
形狀上下文(SC)用一定的樣本點集合描述物體的外部形狀,是Belongie從統計學角度出發,根據目標輪廓點建立的形狀描述子[10]。形狀上下文描述方法和原理如下。
1)構建極坐標空間。在極坐標空間下,點之間的方向與距離可更直觀地表示。將極坐標空間按照極半徑和角度方向劃分為M份和N份,即劃分為M×N個區間,將所有點的二維坐標轉換為極坐標;
2)將每個輪廓點Pi分別作為原點,統計其余輪廓點相對于點Pi在各區間的分布個數,得到該點的形狀上下文直方圖;
3)每個樣本由n個點組成,可得到n個M×N的直方圖矩陣,即得到該樣本的形狀上下文描述子。
圖4示出輪廓點間的相對關系。考慮到計算速度等,本文實驗取M=6,N=8,建立6×8的對數極坐標空間。將款式輪廓數據均勻采樣為100個坐標點,每款服裝對應100個6×8的直方圖矩陣,得到款式輪廓的形狀上下文描述子。計算某款式形狀上下文描述子與其他輪廓描述子之間的距離,就可獲得匹配代價。

圖4 輪廓某點與其他點相對關系Fig.4 Relative relation of some point to rest of contour. (a) Any point in contour; (b) Any two points in contour; (c) Relative relationship
形狀上下文匹配的具體過程如下。
1)應用匈牙利算法將輸入款式A的輪廓點集與輪廓庫中的款式B的輪廓點集進行匹配計算,得到輪廓點集的匹配關系與匹配代價Cs值;
2)將輸入款式A的輪廓點集與輪廓庫中所有款式樣本輪廓點集進行匹配計算,得到與所有款式輪廓的匹配代價Cs值,取匹配代價最小的款式作為與款式A最匹配的款式。
根據上述步驟即可實現基于服裝輪廓匹配的款式的識別。圖5是以樣本S-24與樣本S-60的輪廓匹配為例的示意圖。

圖5 輪廓匹配示意圖Fig.5 Contour matching diagram. (a) Histogram of point a; (b) Histogram of point b; (c) Histogram of point c; (d) Diagram of matching S-24 and S-60
在本文實驗的相似度計算中,并沒有明確的值域表明某2個圖像不相似。為體現數據匹配的全面度,對匹配結果進行評價時,規定:按照相似度在前n位的樣本序號與相似度測評表的樣本序號的重合個數評價,匹配效果的評價指標的計算方法具體步驟如下。
1)分別將傳統歐式距離、基于系數分配的歐式距離和形狀上下文匹配3種方法計算得出的每個樣本的相似度結果排序,提取在前n位和前m位的樣本序號。
2)采用同樣的方法將廓形相似度測評表中每個樣本相似度排序在前n位和前m位的樣本序號提取出來。
3)分別統計3種方法的匹配結果排序在前n位的樣本序號與相似度測評表中前n位的樣本序號的重合個數。然后將每個樣本的重合個數除以n作為該方法匹配結果的準確度。
4)分別統計3種方法的匹配結果排序在前m位的樣本序號與相似度測評表中前m位的樣本序號的重合個數。然后將每個樣本的重合個數除以m作為該方法匹配結果的精確度。
對匹配的相似結果觀察后發現,相似度排在前10的款式相似度具有說服性,排名越靠后,相似度越低,排名第1的均為樣本自身,因此n取11;相似度排在前4位的款式非常相似,因此m取4,分別計算3種算法的準確度和精確度。傳統歐式距離、基于系數分配的歐式距離和形狀上下文匹配3種方法的準確度分別為38.91%、45.36%、82.91%;精確度分別為40.13%、40.57%、77%。
3.2.1 3種算法結果對比
3種算法所有測試樣本的準確度和精確度曲線如圖6所示,表明形狀上下文算法的匹配效果最佳,使用形狀上下文匹配算法的整體準確度和精確度分別為82.91%、77%,比使用基于系數分配的歐式距離算法分別高出37.55%、36.43%。

圖6 3種算法結果對比圖Fig.6 Comparison of results of three algorithms. (a) Accuracy; (b) Precision
3.2.2 歐式距離結果對比
基于系數分配的歐式距離匹配效果與形狀上下文算法相比不夠理想,準確度和精確度分別為45.36%和40.57%,但與傳統歐式距離的匹配效果相比,準確度和精確度分別提高了6.45%和0.44%。
通過對連衣裙輪廓關鍵點的提取和匹配計算的研究,得到以下結論。
1)形狀上下文的匹配效果最佳,準確度和精確度分別達到82.91%、77%,可作為輪廓相似性度量算法。
2)基于系數分配的歐式距離優化方法的準確度和精確度比傳統歐式距離方法分別提高了6.45%和0.44%,驗證了本文優化方法的可行性。
3)在輪廓特征描述子中按照相似度影響程度大小排序為:角度余弦值、寬度、高度。