劉 蓉, 謝 紅
(上海工程技術(shù)大學 紡織服裝學院, 上海 201620)
服裝制版是服裝設(shè)計和生產(chǎn)過程中的重要一環(huán)。在服裝制版過程中,設(shè)計師通過服裝款式圖將服裝的結(jié)構(gòu)信息傳遞給制版師,制版師通過信息解讀,構(gòu)建款式圖與樣板結(jié)構(gòu)之間的相關(guān)關(guān)系,實現(xiàn)從款式圖到樣板的轉(zhuǎn)換。該過程中款式圖信息的傳遞和轉(zhuǎn)換主要依賴制版師個人,易出現(xiàn)信息轉(zhuǎn)換差異大和效率不高等問題。
針對上述問題,實現(xiàn)從服裝款式圖到樣板的自動轉(zhuǎn)換是減小信息轉(zhuǎn)換差異和提高轉(zhuǎn)換效率的有效途徑。有學者[1-2]從款式圖的特征參數(shù)出發(fā),通過建立相關(guān)模型,將款式特征轉(zhuǎn)換為樣板結(jié)構(gòu)參數(shù),解決了款式圖信息轉(zhuǎn)換的差異性問題,但該方法實施過程中首先需要對款式圖進行大量的修正和標準化處理,信息的轉(zhuǎn)換效率依舊不高。另有學者基于款式圖識別的樣板轉(zhuǎn)化方法歸納出匹配轉(zhuǎn)換技術(shù),即利用圖像匹配技術(shù)完成款式圖與樣板的轉(zhuǎn)換[3]。匹配轉(zhuǎn)換可構(gòu)建模型將款式圖像與樣板進行關(guān)聯(lián),通過款式圖像識別得到與之相對應的樣板分類號,實現(xiàn)從款式信息到樣板信息的自動轉(zhuǎn)換。此外,相似樣板確定了款式圖的大體結(jié)構(gòu),在此基礎(chǔ)上進行新樣板開發(fā)可減少大量重復勞動,提高樣板生成效率。
早期的服裝款式圖識別中,圖像的特征提取和模型分類大都分離,分類效率較低,且分類類別之間的差異較大,識別難度相對較小。徐增波等[4]采用復雜網(wǎng)絡對衣領(lǐng)輪廓進行特征提取和描述,結(jié)合支持向量機(SVM)分類模型,實現(xiàn)了對服裝領(lǐng)型的識別。隨著大數(shù)據(jù)時代的到來,深度學習應用廣泛,其中卷積神經(jīng)網(wǎng)絡(convolutional neuralnetworks,CNN)[5]在圖像的識別和分類上有很好的應用。相較于傳統(tǒng)的圖像識別,卷積神經(jīng)網(wǎng)絡將圖像的特征提取和模型分類合二為一,分類效率進一步提高。江慧等[6]通過構(gòu)建殘差網(wǎng)絡模型(ResNet50),并結(jié)合遷移學習,得到了服裝款式風格的相似度計算模型。相較于顏色、紋理等特征而言,實現(xiàn)從服裝款式圖到相似樣板的轉(zhuǎn)換所需的細粒度特征更精細。在建立服裝結(jié)構(gòu)特征與樣板之間的相關(guān)關(guān)系時既需要考慮全局特征[6]如褲子的輪廓造型,又需要考慮局部特征如褶裥、省道等。
AlexNet模型作為最早的深度卷積神經(jīng)網(wǎng)絡,其模型的構(gòu)建與參數(shù)調(diào)整相對而言更易把握,也較適合平面款式圖片的識別研究,因此,本文將通過對AlexNet神經(jīng)網(wǎng)絡的應用和改進完成對女褲的廓形、褶裥、腰頭類型等18個細粒度特征的識別,并基于對這18個細粒度特征的識別實現(xiàn)相似樣板的匹配。
本文將服裝款式圖中能表征結(jié)構(gòu)制圖規(guī)則的圖像信息定義為服裝結(jié)構(gòu)特征。在款式圖所能反映的結(jié)構(gòu)特征中,中廓形、長短、褶裥、省道等相對直觀,易辨別;松量等則需要借助其它圖像信息進行判定,如根據(jù)臀部褶皺量來判定臀圍松量。實現(xiàn)對服裝結(jié)構(gòu)特征的準確判定是進行平面款式圖分類,構(gòu)建實驗數(shù)據(jù)集的基礎(chǔ)。
實驗中以平面款式圖為輸入,相較于其它類型的款式圖而言,平面款式圖不包含人體、背景等圖像信息,對服裝結(jié)構(gòu)特征的反映更加清楚、直觀,有利于神經(jīng)網(wǎng)絡的特征提取。實驗設(shè)計中服裝款式圖、結(jié)構(gòu)特征以及服裝樣板三者之間的轉(zhuǎn)化關(guān)系如圖1所示。當款式圖X與樣板Y中的結(jié)構(gòu)特征元素相同時,即xi={ai,bj,…,wk}=yi時,款式圖與樣板可進行匹配。
圖1 款式圖與結(jié)構(gòu)特征以及樣板之間的關(guān)系圖示Fig.1 Diagrammatic representation of relationship between style drawings,structural features and samples
根據(jù)服裝制版知識,從平面款式圖中選擇部分服裝結(jié)構(gòu)特征作為樣板相似性表征。然后將選定的這部分服裝結(jié)構(gòu)特征設(shè)置為實驗中的多標簽分類[7]類別,其中以廓形作為第1類標簽,標簽中的元素包括緊身褲、喇叭褲、直筒褲、錐形褲、闊腿褲和蘿卜褲。參考GB/T 15557—2008《服裝術(shù)語標準》中對褲子的定義,將女褲的主要結(jié)構(gòu)分為褲長、腰部結(jié)構(gòu)、臀部結(jié)構(gòu)、襠部結(jié)構(gòu)、膝圍、褲口6個部分。由于實驗中將研究對象統(tǒng)一為長褲,因此未將褲長作為結(jié)構(gòu)特征標簽;腰部結(jié)構(gòu)可設(shè)定腰位、腰部工藝和腰下造型3類標簽,每類標簽又包含了不同的類別,其中腰位可進一步分為高腰、中腰、低腰,腰部工藝分為拉鏈和松緊,腰下造型分為有省道、有褶裥、較多褶裥和無;臀部結(jié)構(gòu)以臀圍為標簽,根據(jù)臀圍松量大小可將標簽的具體類別定義為合體臀、較寬松臀和寬松臀;襠部結(jié)構(gòu)受到腰部結(jié)構(gòu)、臀圍結(jié)構(gòu)和廓形這3類結(jié)構(gòu)的共同影響,對該結(jié)構(gòu)的分類可轉(zhuǎn)化為對這3類結(jié)構(gòu)的分類;膝圍和褲口主要受廓形的影響[8],可等同于廓形分類。具體分類流程和標簽所包含的類如圖2所示。
圖2 女褲結(jié)構(gòu)特征分類流程圖Fig.2 Flowchart for categorizing stuctural characteristic of women′s pants
綜上所述,根據(jù)女褲的制版相關(guān)知識,本文共設(shè)置了5類服裝結(jié)構(gòu)特征分類標簽,根據(jù)結(jié)構(gòu)差異為每類標簽定義了不同的標簽類別,如表1所示。女褲結(jié)構(gòu)特征的多標簽集合表示形式為D={Kn,Wm,Mp,Dq,Hk},變量n、m、p、q、k分別表示每類標簽包含的類別數(shù)。其中Kn={緊身褲,直筒褲,喇叭褲,錐形褲,蘿卜褲,闊腿褲},Wm={高腰,中腰,低腰},Mp={拉鏈,松緊},Dq={有省道,有褶裥,較多褶裥,無},Hk={合體臀,較寬松臀,寬松臀}。
表1 女褲結(jié)構(gòu)特征分類Tab.1 Classification of structural characteristics of women′s pants
分類標簽決定了實驗數(shù)據(jù)集的構(gòu)建。在實驗的設(shè)計中款式圖輸入與樣板類別輸出之間一一對應。根據(jù)表1中女褲結(jié)構(gòu)特征的多標簽類別,本文采用問題轉(zhuǎn)化法[9]將多標簽轉(zhuǎn)化為單標簽,通過單標簽分類器進行模型訓練。具體操作相當于將多標簽中的類別進行排列組合,將組合后的結(jié)果看作一個單標簽,如單標簽類別 “緊身褲 高腰 拉鏈 有省道 合體臀”是由“緊身褲”“高腰”“拉鏈”“有省道”“合體臀”多標簽中的5個標簽類別組合而成。
由于大多數(shù)多標簽數(shù)據(jù)集都存在嚴重的類不平衡問題[10],為減少類不平衡對分類性能造成的影響,實驗中對通過多標簽組合產(chǎn)生的單標簽類別進行分析,研究類別中數(shù)據(jù)的分布情況。實驗中隨機抽取600個樣本,樣本以廓形標簽為中心均勻分布,圖3示出廓形標簽中抽樣數(shù)據(jù)分布。圖中X軸為廓形標簽,Y軸為其它結(jié)構(gòu)標簽。通過數(shù)據(jù)可視化的方式對單標簽類別中的數(shù)據(jù)分布情況進行研究。圖中方塊顏色越深,說明標簽中數(shù)據(jù)分布越多,淺色色塊表示無數(shù)據(jù)分布或數(shù)據(jù)分布極少的類別。在標簽集上選擇相關(guān)度高且不包含冗余特征的特征子集可減少類別數(shù)據(jù)不平衡[11],因此結(jié)合抽樣統(tǒng)計結(jié)果和結(jié)構(gòu)制圖知識對部分單標簽類別進行選擇,以提高數(shù)據(jù)利用率和模型的分類性能。
圖3 其它結(jié)構(gòu)標簽在廓形標簽中的分布Fig.3 Distribution of other structural labels in silhouette labels
實驗中又進一步對單標簽類別間的相關(guān)關(guān)系進行了探究。根據(jù)上述抽樣樣本數(shù)據(jù)分布,采用歐氏距離對廓形標簽的結(jié)構(gòu)相似性進行計算。K1(緊身褲)、K2(直筒褲)、K3(喇叭褲)、K4(錐形褲)、K5(蘿卜褲)、K6(闊腿褲)間的歐氏距離計算結(jié)果如表2所示,其中K1與K3、K2與K4之間的歐氏距離計算值較小,分別為20.4和36.2,即相較于其它廓形而言,緊身褲與喇叭褲,直筒褲與錐形褲之間的結(jié)構(gòu)相似性最大。不同廓形間的結(jié)構(gòu)相似性計算結(jié)果可作為單標簽選擇的依據(jù),減少相似性較大的標簽,用較少的單標簽類別覆蓋盡可能多的多標簽子集,提高數(shù)據(jù)利用率和模型的分類性能。
表2 不同廓形特征的結(jié)構(gòu)相似性計算Tab.2 Structural similarity calculation for different profile features
綜上,實驗中通過數(shù)據(jù)可視化分析對單標簽類別進行了選擇,改善了多標簽數(shù)據(jù)集中存在的類不平衡問題;通過對標簽間相關(guān)關(guān)系的研究,減少了標簽分類類別,緩解了數(shù)據(jù)集壓力。最終實驗將進行女褲識別的分類類別設(shè)定為18個,如圖4所示。其中標簽類別和結(jié)構(gòu)特征可作為實驗的識別結(jié)果輸出,圖中所列舉的平面款式圖為符合每個類別分類標準的款式圖實例,標簽類別所對應的結(jié)構(gòu)樣板為匹配的相似樣板。這些單標簽類別將作為服裝結(jié)構(gòu)特征識別實驗中分類和數(shù)據(jù)集構(gòu)建的依據(jù)。
圖4 實驗標簽設(shè)計結(jié)果Fig.4 Results of experimental label design
模型的結(jié)構(gòu)設(shè)計基于經(jīng)典AlexNet卷積神經(jīng)網(wǎng)絡模型。AlexNet網(wǎng)絡作為最早的深度卷積神經(jīng)網(wǎng)絡,相對于早期的LeNet[5]系列網(wǎng)絡、后來出現(xiàn)的VGGNet (visual geometry group network)[12]網(wǎng)絡和ResNet(residual network)[13]等網(wǎng)絡而言更適合圖像并不復雜的黑白平面款式圖的深度學習,網(wǎng)絡參數(shù)在訓練過程中也更易把握。
本文模型以512像素×512像素的女褲平面款式圖為輸入;根據(jù)數(shù)據(jù)集的特點,實驗模型在原有模型的結(jié)構(gòu)設(shè)計上做減法,將卷積層由原來的5層減少到4層,以防止過擬合;在第3層和第4層卷積中增加了最大池化層,以控制參數(shù)量;在每層卷積層后增加批歸一化[14]操作(batch normalization,BN)來加快模型的收斂速度,提升對淺層網(wǎng)絡的泛化性能[15]。該操作的主要計算公式為
(1)
式中:yi和xi分別為批歸一化操作的第i個輸出和輸入值;γ、β為神經(jīng)網(wǎng)絡待訓練參數(shù);ε為一小正數(shù)。
本文模型仍以ReLu作為激活函數(shù),相較于Sigmoid、tanh等激活函數(shù),ReLu函數(shù)的優(yōu)勢在于能有效地避免梯度消失和梯度爆炸,加快模型的收斂速度,其函數(shù)的表達式如式(2)所示,該函數(shù)為函數(shù)值為非負的分段函數(shù)。
f(x)=max(0,x)
(2)
本文模型在第1層全連接層后仍采用Dropout操作,該操作可有效防止過擬合現(xiàn)象發(fā)生,提高模型的泛化性能,模型中輸出概率Dropout rate參數(shù)值為0.5。改進模型的相關(guān)參數(shù)如表3所示,其結(jié)構(gòu)設(shè)計如圖5所示。
表3 改進后的模型參數(shù)Tab.3 Parameters of improved model
圖5 改進后的網(wǎng)絡模型Fig.5 Improved network model
模型中各層網(wǎng)絡的圖片輸出尺寸Y與卷積核大小(F)、步長(S)、邊界填充(P)之間的關(guān)系如式(3) 所示。
Y=(X-F+2P)/S+1
(3)
女褲結(jié)構(gòu)特征識別流程主要包括實驗數(shù)據(jù)集構(gòu)建、實驗模型構(gòu)建、模型訓練及驗證、對比實驗、模型應用,其具體流程圖如圖6所示。
圖6 女褲結(jié)構(gòu)特征識別流程圖Fig.6 Flowchart for structural feature identification of women′s trousers
1)數(shù)據(jù)集構(gòu)建:主要分為數(shù)據(jù)收集、數(shù)據(jù)增強、數(shù)據(jù)的標準化、歸一化處理以及數(shù)據(jù)集的劃分。
2)實驗模型構(gòu)建:以經(jīng)典AlexNet模型為基礎(chǔ),通過對原網(wǎng)絡模型進行改進來構(gòu)建實驗模型。
3)模型訓練及驗證:采用訓練集和測試集來進行模型的訓練,采用驗證集對訓練后的模型進行測試,根據(jù)測試結(jié)果對模型進行評價。
4)對比實驗:對比實驗包括參數(shù)對比實驗和模型對比實驗。參數(shù)對比實驗主要設(shè)置了針對BN操作的對比實驗。模型對比實驗設(shè)置了AlexNet網(wǎng)絡、VGG11網(wǎng)絡以及ResNet18網(wǎng)絡的對比實驗,根據(jù)2種對比實驗對模型的改進效果進行評估。
5)模型應用:以任意女褲平面款式圖為輸入,通過模型識別輸出類別號以及其對應的結(jié)構(gòu)特征,根據(jù)結(jié)構(gòu)特征匹配得到相似樣板。
數(shù)據(jù)集以女褲平面款式圖為數(shù)據(jù),通過服裝企業(yè)和相關(guān)網(wǎng)站進行實驗數(shù)據(jù)收集。實驗首先通過數(shù)據(jù)增強的方式對收集的數(shù)據(jù)進行處理,如圖7所示,其中包括圖像水平翻轉(zhuǎn)、圖像對比度增強、圖像變暗、圖像亮度增強和圖像椒鹽噪聲。增強后的樣本總量為20 414,然后統(tǒng)一圖片大小為256像素×512像素,并按本文設(shè)計的標簽類別對數(shù)據(jù)進行分類,類別最少數(shù)據(jù)量為1 057,最大為1 317,其余類別樣本數(shù)據(jù)量分布居中。采用Pytorch庫建立數(shù)據(jù)集,數(shù)據(jù)集的標準差(standard deviation)計算值為[0.170,0.171,0.171], 平均值(mean)計算值為 [0.901,0.901,0.899], 通過標準差和平均值進行圖片的標準化和歸一化處理。
圖7 數(shù)據(jù)增強Fig.7 Data augmentation.(a) Original image; (b) Horizontal flip;(c) Contrast enhancement;(d) Darker;(e) Brighter enhancement; (f) Salt and pepper noise
本文的實驗環(huán)境為Window10系統(tǒng),i7-9750H處理器,16.0 GB內(nèi)存,NVIDIA GeForce RTX 2070顯卡,Python語言編程,Pytorch框架,cuda訓練環(huán)境。
實驗首先對數(shù)據(jù)集樣本進行劃分,其中訓練集樣本量為12 874,測試集樣本量為4 300,驗證集樣本量為3 240。訓練集主要用于模型訓練,測試集用于訓練過程中準確率的計算,驗證集主要用于模型的準確率、召回率、F1值的計算,并作為對模型性能的評價指標。
模型訓練過程中的參數(shù)設(shè)置包括:學習率(Learning rate)參數(shù)0.000 1;優(yōu)化器采用Adam(adaptive moment estimation)自適應學習率算法;批處理(Batch_size)參數(shù)設(shè)置為64;損失函數(shù)采用交叉熵損失函數(shù),如式(4)所示。
(4)
式中:p(xi)表示模型真實概率分布;q(xi)表示預測概率分布。
模型訓練遍歷次數(shù)(epoch)為100時打印損失函數(shù)圖、訓練精度圖。圖8為改進模型在實驗數(shù)據(jù)集上的訓練驗證精度曲線圖,模型最終訓練準確率在99%附近趨于穩(wěn)定,模型訓練過程中未發(fā)生過擬合和欠擬合現(xiàn)象。
圖8 改進模型訓練驗證精度曲線圖Fig.8 Training validation accuracy graph of improved model
調(diào)用訓練模型對驗證集進行測試,采用準確率、召回率和F1值對模型進行評估,各指標數(shù)值越接近1說明模型的效果越好。模型測試結(jié)果為:準確率83.4%,召回率為83.4%,F1值0.835。不同類別的準確率如圖9所示,其中最高準確率為100%,最低為66%。
圖9 不同類別準確率Fig.9 Accuracy of different categories
對比實驗主要包括參數(shù)對比實驗和模型對比實驗。參數(shù)對比主要探究了BN操作對模型性能的影響。圖5中,由于改進模型在4層卷積層后分別增加了批歸一化操作,因此設(shè)置對比實驗,分別在模型中增加0層BN,1層BN,2層BN和3層BN,保持其它參數(shù)不變。遍歷次數(shù)為30后各模型的損失函數(shù)圖如圖10所示。其中采用BN操作的4組損失函數(shù)下降的速度均快于0層BN組。表4示出不同BN操作后模型的準確率,其中采用BN操作的4組實驗的準確率均高于0層BN組。根據(jù)上述結(jié)果可知,模型中增加BN操作可加快模型的收斂速度,提高準確率。
表4 不同BN操作后模型的準確率Tab.4 Accuracy of model after different BN operations
圖10 不同層數(shù)批歸一化的損失函數(shù)圖Fig.10 Loss function diagram for different layers of BN
模型對比實驗主要與原AlexNet網(wǎng)絡模型、ResNet18以及VGG11模型進行對比。不同模型在不同類別上的準確率結(jié)果如圖11所示。
圖11 不同模型不同類別準確率Fig.11 Accuracy of different models in different categories
表5示出不同模型的準確率測試結(jié)果。其中本文模型準確率為83.4%,相較于原AlexNet模型提高了6.7%,相較于網(wǎng)絡層數(shù)更高、模型深度更深的ResNet18和VGG11網(wǎng)絡模型也分別提高了6%和3.6%。在參數(shù)量大小的比較中,本文模型大于ResNet18,小于原AlexNet和VGG11??傮w而言,改進模型的綜合性能相對較好。
表5 不同模型的準確率Tab.5 Accuracy of different models
實驗基于改進的AlexNet模型,通過數(shù)據(jù)集的訓練和驗證,改進模型在驗證集上的準確率為83.4%,高于改進前的AlexNet模型以及當前應用較為廣泛的ResNet系列模型和VGG系列模型;通過參數(shù)對比實驗結(jié)果可知,本文通過在網(wǎng)絡層數(shù)增加批歸一化操作,加快了模型的收斂速度。對比實驗證明了本文對模型的改進提高了識別準確率,且具有較好的應用性。
當然,本文實驗也具有一定的局限性,部分類別的準確率不夠高。對模型中普遍準確率較低的類別進行分析,探究影響這些類別識別準確率低的原因。例如:類別“HMZP 錐型褲 高腰 較寬松臀 拉鏈 有褶裥”在各模型中最高準確率僅有66%。根據(jù)結(jié)果顯示,在該標簽被錯分的所有類別中被分為“MMZP 錐型褲 中腰 較寬松臀 拉鏈 有褶裥”的概率最高,占比為45%。從結(jié)構(gòu)特征上看,2個類別最大的區(qū)別在于腰部位置,即高腰和中腰的區(qū)別,如圖12所示。
圖12 易錯類別分析Fig.12 Analysis of error-prone categories
本文以女褲為例,基于深度學習實現(xiàn)了從平面款式圖到樣板的轉(zhuǎn)化,從實驗的驗證過程中得出如下結(jié)論。
1)通過定義結(jié)構(gòu)特征,設(shè)計分類標簽,可將對樣板的識別轉(zhuǎn)化為對平面款式圖的識別;通過數(shù)據(jù)可視化分析對單標簽類別進行選擇,改善了多標簽數(shù)據(jù)集中存在的類不平衡問題;通過對標簽間相關(guān)關(guān)系的研究,減少了標簽分類類別,緩解了數(shù)據(jù)集壓力,提高了數(shù)據(jù)的利用率和模型的分類性能。
2)以平面款式圖為數(shù)據(jù)構(gòu)建數(shù)據(jù)集,作為模型的訓練輸入,有利于模型進行特征提取;通過在網(wǎng)絡模型的卷積層中引入批歸一化操作,可加快模型的收斂速度,提高對新樣本的泛化能力。
3)在解決多標簽分類問題時將多標簽轉(zhuǎn)化為單標簽,該方法對數(shù)據(jù)量的要求較高,也可考慮從模型結(jié)構(gòu)設(shè)計上進行相關(guān)問題的研究;本文通過廓形、腰位、腰部造型、腰部工藝、臀圍中的18個結(jié)構(gòu)特征對樣板的相似性進行表征,后續(xù)研究可考慮增加口袋、分割線等表征,以進一步提高匹配樣板的相似度。根據(jù)本文實驗思路,數(shù)據(jù)量越大,標簽設(shè)置越全面,可匹配到的樣板相似性越高。