劉曉音,謝 紅
(上海工程技術大學 服裝學院,上海 201620)
近年來,服裝電子商務迅速崛起,越來越多的人喜歡網上購買服裝,遠程在線服裝定制隨之發展[1]。服裝定制首先要滿足顧客對服裝的合體性要求,但目前遠程人體測量技術并不能得出準確的人體數據[2],尤其是胸圍、臀圍和腰圍等較難獲取的數據[3]。
深度學習方法被逐漸應用到了服裝領域,為服裝領域中目標分類的問題提供了很大幫助。深度學習是一種深層的機器學習模型,可以通過多層模型實現深層更復雜的關系[4],其只需要通過輸入原始數據就可實現有效特征的提取,然后在此基礎上,加上一層淺層網絡,如Softmax分類器,可以更好地實現目標分類[5]。吳歡等[6]提出了一種基于卷積神經網絡 CaffeNet 模型的服裝廓形分類方法,結果表明,該方法的分類準確率達到 95%以上。陳雙[7]提出基于深度學習的服裝圖像分類與檢索研究,結果表明模型整體具有良好的分類準確率。但是深度學習對數據要求比較高,要保證數據量大而且數據標注也較準確,這就需要花費大量的時間,對于數據集收集較為困難的目標分類,深度學習分類的準確度相對較低。遷移學習是機器學習的一種,不需要太多數據進行訓練,所得的目標分類準確度也很高,而且訓練花費時間較短,可以解決數據集的問題。白美麗[8]提出基于遷移學習的卷積神經網絡服裝圖像分類,分類準確度達到90%以上。魏瑋等[9]提出基于遷移學習的人臉姿態分類方法,該方法最終準確率達98.7%。夏海浜等[10]提出基于遷移學習與支持向量機的服裝舒適度評估,結果表明他們有較高的準確率和效率。
目前遠程測體技術并不能測出精準的人體尺寸,尤其是大圍度。為解決遠程測體中胸圍精準度的問題,本文采用遷移學習的方法對人體著裝圍度松量進行分類,通過本模型可得到著裝時圍度松量,通過該松量即可快速估計人體胸部尺寸。
遷移學習是指是將某個領域或任務上學到的知識或模型應用到不同但相關的領域或問題中[11]。當訓練一個網絡去完成目標分類任務時,發現目標數據很少或者很難獲取時,可以采用遷移學習方法對少量數據進行學習,快速將已學習的特征遷移到目標任務中。與從頭訓練網絡相比,通過遷移學習來微調網絡的速度相對較快,遷移學習有3種實現方法:樣本遷移、特征遷移和參數遷移[12-14]。目前國內外采用遷移學習方法進行目標分類的研究對象的特征都比較明顯,所以分類精確度相對較高。厲溢成[15]采用遷移學習的方法對食品圖像進行分類,由于食品特征差異較大,所以采用很少的數據目標分類準確度就達到了96.8%。廉小親等[16]提出基于深度學習和遷移學習的水果圖像分類方法,采用Inception-V3模型對水果圖像進行特征提取,Softmax分類器對圖像特征進行分類,測得分類準確率為97.7%。馬俊等[17]提出基于遷移學習的VGG16網絡芯片圖像分類,采用VGG16模型進行預訓練,將Softmax分類器改為logsoft-max分類器,以提高分類準確率,避免出現梯度下滑的現象,最后分類準確度為97%。YUN等[18]提出利用SOH網絡的遷移學習方法預測鋰電池健康狀態,數據集只采用了原數據集的25%,測試結果表明,鋰電池健康狀態分類結果精確度很高。
從以上的研究可以看出,很多遷移模型都可以用于目標分類,但由于人體著裝時圍度松量特征差異很小,比較抽象,所以網絡學習比較困難。VGG16模型對小目標特征學習效果相對較好,所以選取VGG16模型作為預訓練網絡。而且其已經基于大量圖像數據學習了豐富的特征表示,所以選擇參數遷移來完成對人體著裝圍度不同松量圖片數據集的遷移學習,從而完成對人體著裝圍度松量圖像的分類。
本文實驗需要男模穿著襯衫的圖片,并且還要男模的凈體尺寸和穿著襯衫的尺寸,所以數據收集很困難。唯品會網站上著裝襯衫的男模圖片符合本文實驗研究,但是網站上可用圖片數量不能滿足本文實驗要求,因此在實驗室環境下拍攝了一部分照片,由于需要獲取男模凈體數據,涉及隱私,所以志愿者較少,獲取的數據也較少,為滿足本文實驗需求,最后采用數據增強的方法增加數量。本文主要通過以下3種方式獲取圖片:①在唯品會網站上收集穿著襯衫的男模圖片,共收集3 300 張;②在實驗室條件下,拍攝穿著襯衫的男生正面圖,共拍攝200張;③數據增強,通過隨機翻轉和亮度變換增加圖片數量,共1 000 張,圖片預處理效果見圖1。

圖1 圖片預處理
根據“襯衫胸圍放量=生理舒適量+內層衣物放松量+造型放松量”原則[19],合體男襯衫放松量一般在11~15 cm,松身男襯衫放松量在15~19 cm,寬松男襯衫放松量在19~23 cm,特別寬松的男襯衫放松量在23 cm以上。為了能夠更加準確得出穿著襯衫時的胸圍松量,確保胸圍平均誤差在國家標準范圍內,本實驗確定胸部松量以2 cm為一檔分類,共分為12類。2.1節的3種方法共收集數據4 500張圖片,訓練集中每個類別300張圖片,驗證集中每個類別75張圖片,為了不受標簽影響,分別用字母A~L命名12類文件夾。
本文的實驗環境為Window10,PyCharm,Intel Core i7-8750H CPU(2.60 GHz)和16.0 GB RAM,編程語言為 Python3.6。
采用基于遷移學習的方法對VGG16模型進行微調,在VGG16源模型基礎上對目標數據集進行訓練,本文選擇參數遷移來完成胸部松量分類的任務,根據VGG16網絡模型結構,選擇分類器、學習率、迭代次數和批量大小這4個可能對模型造成影響的參數進行修正,VGG16網絡模型見圖2。

圖2 VGG16網絡模型
2.2.1 替換最后的全連接層
全連接層(分類器)的任務就是分類,預訓練網絡的卷積層會提取最后一個學習層和全連接層對輸入圖像進行特征提取并分類,對預訓練網絡模型進行重新訓練以及對新圖像進行分類,本文要將全連接層替換為有12個分類的連接層,輸出數量等于新數據集中12個類別的數量。常用的分類器有Softmax分類器和SVM分類器[20],Softmax分類器通過把多個神經元的輸出,映射到(0,1)區間內,從而完成多分類的任務[21]。Softmax分類器的原理圖見圖3,由圖示出通過Softmax分類器就能得到不同條件下的概率,即可得出所需要的不同類別,本文共12個類別,結果就是輸出所需的12個類別。SVM分類器與Softmax分類器在實際應用中效果相當,區別就是SVM分類器中結果的絕對值大小沒有特別明顯的意義,而Softmax分類器中結果的絕對值大小表征屬于該類別的概率。由于本文需要對差別較小的人體著裝胸部松量圖像進行分類,所以Softmax分類器更適合本文的模型,后續可以針對Softmax分類器中絕對值來區分本文的12個類別概率大小,對概率較小的類別進行相應的微調,以達到更好的分類效果。

圖3 Softmax分類器的原理圖
2.2.2 學習率
本文除全連接層和輸出層的參數以外,VGG16模型的參數全部保留,目的是降低前面的學習率,減緩在遷移層中的速度,更好地學習所有特征。替換層為全連接層,本文將其學習率增大,以加快訓練速度。所以本文將VGG16模型參數被保留的層學習率設置為0,從而凍結他們的權重,即把VGG16模型的權重當作預訓練參數,加快了整個網絡的訓練速度,同時也防止了過擬合的現象發生。
2.2.3 訓練周期
本文實驗是學習人體穿著襯衫時胸部的松量的特征,相對比較抽象,網絡中學習比較困難,所以設置的周期相對較長。根據實驗經驗設置周期,首先選擇周期為100,訓練結束后,模型損失率一直在下降,表明周期還不夠,需要增加訓練周期,所以設置周期為200,到191次時損失率不再變化,則停止迭代。
2.2.4 批量大小
批量指的是一次讀取的圖片的數量,其是根據電腦性能以及數據集的大小決定的,批量太小就會出現不收斂的問題,批量太大,需要占用大量計算機資源。根據實驗經驗首先設置batch為16,根據幾輪實驗花費時間和模型精確度,發現batch為16時,耗費時間較長,精準度提高很慢,所以將批量大小設置為32,很明顯實驗花費時間相比batch為16時要短,batch為64時,占用了計算機太大的計算資源,因此最終確定batch為32。
首先根據實驗經驗確定模型初始參數,然后開始對模型訓練,每次訓練結束會有相應的準確度,每次對參數進行微調,經過幾輪測試后,選擇模型準確度最高的參數為本模型的參數。本模型通過移除頂層的3個全連接層,添加自定義的全連接層對著裝下人體胸部松量圖像數據集進行分類。實驗流程圖見圖4,由圖示出共包含3個部分:數據獲取及預處理、遷移學習和胸部松量分類。本模型由預訓練網絡和自定義網絡組成。

圖4 實驗流程圖
本文基于遷移學習的方法對著裝下人體胸部松量圖片進行分類,構建數據集,并基于預訓練VGG16模型網絡與自定義的網絡構建一個新的網絡模型。本節將遷移InceptionV3模型與本模型進行對比,對模型微調后進行訓練,記錄VGG16模型和inceptionV3模型在微調時最佳的訓練結果,證明本文模型的有效性。2個模型的實驗數據集和參數設置相同,周期為100,批量大小為16,從表1可以看出原模型中VGG16模型準確度高出InceptionV3模型0.088。為進一步提高模型準確度,周期設置為200,批量大小為32,原模型與改進后模型結果對比分析見表1,由表示出改進后的模型中看出本文模型準確度高于遷移InceptionV3模型0.159。本文模型在迭代到191次時,損失率不再變化,但InceptionV3模型損失率還在下降,通過不斷實驗,最后設置其周期為5 000,批量大小為100,模型準確率為81.5%,遷移InceptionV3模型準確率見圖5,由圖示出與本文遷移VGG16模型相比準確度低0.006。遷移VGG16模型對胸部松量圖像的分類準確率見表2,由表示出微調后的遷移VGG16模型分類效果更好,每類準確率都在80%以上,平均準確率為82.1%,可見迭代次數和批次大小對目標特征的提取有很大的影響。綜上所述,本文模型相對準確度更高。

表1 原模型與改進后模型結果對比

圖5 遷移InceptionV3模型準確率(Step=5 000,Bath size=100)

表2 遷移VGG16模型對胸部松量圖像的分類準確率
本文通過對VGG16模型進行預訓練,然后加上自定義網絡模型的方法,構成一個新的適合人體著裝胸部松量圖像分類的模型,對人體著裝圍度松量進行研究。對VGG16模型進行微調后,得出VGG16模型與遷移InceptionV3模型網絡相比,分類準確度更高,可以更好地識別出人體著裝圍度松量差別較小的松量圖片,完成對著裝下人體胸部松量圖像的分類,基于此可快速估計人體胸圍尺寸,更好地實現遠程人體定制服務。本文方法模型同樣適用于腰部和臀部的松量圖像分類,并快速得出人體腰圍和臀圍尺寸。