李濤 馮向陽
摘 要:隨著體感交互技術(shù)的發(fā)展,基于Kinect的虛擬試衣系統(tǒng)為顧客在線選購衣物提供了一種新的選擇方案。Kinect可以較為準(zhǔn)確地測量出人體的骨骼模型,生成人體三維數(shù)據(jù),以進(jìn)一步為顧客推薦衣服型號,并利用可視化技術(shù)進(jìn)行虛擬試裝。然而,人的體型不同,不同廠家的制衣型號也不規(guī)范,傳統(tǒng)的數(shù)據(jù)篩選與匹配手段為顧客選擇的衣服尺碼總是不盡人意。本項(xiàng)目基于Kinect獲取的人體三維數(shù)據(jù),設(shè)計(jì)了一種加權(quán)隨機(jī)森林方法為顧客預(yù)測并推薦合適的衣服型號。結(jié)合其它機(jī)器學(xué)習(xí)模型,本文進(jìn)行了對比實(shí)驗(yàn),結(jié)果表明隨機(jī)森林模型有效而準(zhǔn)確,在3 000個(gè)測試樣本上得到了最高的準(zhǔn)確率(100%)。該模型泛化能力強(qiáng),且足夠健壯穩(wěn)定,可以廣泛地應(yīng)用在虛擬試衣型號推薦情景中。
關(guān)鍵詞:虛擬試衣型號;Kinect;加權(quán)隨機(jī)森林
文章編號:2095-2163(2019)04-0116-09 中圖分類號:TP391.9 文獻(xiàn)標(biāo)志碼:A
0 引 言
隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展與人們生活水平的逐漸提高,線上選購衣物成為當(dāng)代人的重要消費(fèi)方式之一。然而,缺乏試衣體驗(yàn)的問題極大地降低了部分用戶網(wǎng)上購置服裝類商品的熱情,一旦選購的衣物尺寸不合適,用戶大多會選擇退換貨處理,導(dǎo)致了買賣雙方的時(shí)間和財(cái)務(wù)成本增高。為了解決這一問題,虛擬試衣技術(shù)成為一種有前景的解決方案。虛擬試衣技術(shù)具備傳統(tǒng)試衣手段無法相比的便捷性和人性化的優(yōu)勢,虛擬試衣系統(tǒng)大多具有品種較為齊全的服裝,節(jié)約了傳統(tǒng)試衣過程中缺貨的問題。用戶站在虛擬試衣系統(tǒng)前就能夠原地實(shí)現(xiàn)模擬試衣、換衣和選衣過程,且有效地吸引了顧客眼球,提高了商家受關(guān)注度[1]。
目前,虛擬試衣技術(shù)在國內(nèi)外正蓬勃發(fā)展,俄羅斯ARDoor公司在2011年推出了基于Kinect虛擬試衣間解決方案,消費(fèi)者只需要簡單的操作手勢就能夠虛擬穿著試衣間內(nèi)的全部服裝[2]。NDP公司在2012年為日本優(yōu)衣庫定制了虛擬試衣系統(tǒng),系統(tǒng)會對顧客選擇的衣服顏色、種類進(jìn)行識別,并且利用增強(qiáng)現(xiàn)實(shí)技術(shù)將顧客的試衣效果通過大屏幕形式呈現(xiàn)給顧客[3]。在國內(nèi),為了解決網(wǎng)購服裝到手之后試穿不合適的問題,淘寶網(wǎng)推出了內(nèi)置多種身材模特模型的網(wǎng)上試衣間服務(wù),顧客通過選中在線服裝并搭配到與自己身型相似的模特身上,模擬出試穿效果,但這種方式顧客自身體驗(yàn)感有所不足[4]。森動數(shù)碼科技有限公司研發(fā)出了具備自主知識產(chǎn)權(quán)的3D體感虛擬試衣系統(tǒng),這對于國內(nèi)體感虛擬試衣系統(tǒng)的發(fā)展具有重要的影響[5]。
實(shí)現(xiàn)以上虛擬試衣系統(tǒng)一般需要通過手工輸入或者設(shè)備測量的方式獲取人體數(shù)據(jù),并構(gòu)建人體三維模型,在顧客選擇衣服款型以后,系統(tǒng)結(jié)合人體三維數(shù)據(jù)和衣服款式為其選擇試衣型號,然后利用UI技術(shù)在顯示設(shè)備中展示出顧客的試衣效果。由于人體體型多樣,不同廠家的制衣型號也不規(guī)范,人們很難在多種規(guī)格尺寸服裝中找到量身定做的效果。據(jù)統(tǒng)計(jì),50%的女性認(rèn)為她們在網(wǎng)絡(luò)上找不到非常合體的服裝,50%的退貨原因是由于服裝型號不合適,85%的女性把服裝型號錯(cuò)誤作為服裝購買評價(jià)中不喜歡該服裝的主要原因[6]。因此,在虛擬試衣系統(tǒng)中,試衣型號推薦的準(zhǔn)確性極大地影響了顧客的試衣效果,決定了顧客對衣服的滿意程度。
在前面提到的虛擬試衣技術(shù)應(yīng)用中,絕大部分產(chǎn)品都是使用了傳統(tǒng)的數(shù)據(jù)篩選與匹配方法,來選擇顧客的試衣尺寸型號。文獻(xiàn)[7]中使用了人體身高、體重、性別3個(gè)因素,并利用BMI體型進(jìn)行衣服尺碼匹配,這種方法簡單、易于理解;文獻(xiàn)[8]中通過攝像頭根據(jù)深度值,結(jié)合三角幾何的方法,大致地推測出顧客的身高和身材,進(jìn)一步地推薦衣服尺碼;文獻(xiàn)[9]中使用層次分析法,利用身高、胸圍、肩寬等人體三維數(shù)據(jù)建立服裝尺碼遞階層次結(jié)構(gòu)模型和判斷矩陣,并利用排序算法為真實(shí)顧客的指標(biāo)匹配出最合適的衣服型號。這些方法大多將人體的三維指標(biāo)映射到高維網(wǎng)格中,通過數(shù)據(jù)篩選的方式,得到顧客的衣服型號。然而,由于服裝版型不同,服裝的型號本身可能并不規(guī)范,以及顧客身材的高、矮、胖、瘦也不均勻,因此,傳統(tǒng)的衣服型號推薦方法具有一定的巧合性,難以覆蓋到所有的顧客群體。隨著人工智能技術(shù)的發(fā)展,研究者們開始在試衣型號推薦問題中應(yīng)用機(jī)器學(xué)習(xí)與深度學(xué)習(xí)技術(shù);文獻(xiàn)[10]中采用了模糊神經(jīng)網(wǎng)絡(luò)的方法構(gòu)建了服裝型號推薦專家系統(tǒng),然而神經(jīng)網(wǎng)絡(luò)內(nèi)部像是一個(gè)黑盒子,無法評估模型的邏輯合理性;文獻(xiàn)[11]采用了SVM的算法,將身高、背長、臂長等屬性作為機(jī)器學(xué)習(xí)特征,訓(xùn)練多個(gè)模型,利用投票表決的方式為用戶生成服裝型號表。
本文的目標(biāo)是研究一整套基于Kinect體感測量技術(shù)和加權(quán)隨機(jī)森林預(yù)測算法的有效且穩(wěn)定的虛擬試衣型號實(shí)時(shí)推薦模型。以3ds Max系統(tǒng)中的人體尺寸數(shù)據(jù)為樣本,通過與其它幾種典型的機(jī)器學(xué)習(xí)模型開展對比實(shí)驗(yàn),驗(yàn)證了基于加權(quán)隨機(jī)森林算法的最優(yōu)試衣型號預(yù)測模型性能,最后以真實(shí)用戶為例,利用Kinect體感測量技術(shù)實(shí)時(shí)獲取人體信息,并使用最優(yōu)預(yù)測模型推薦試衣型號,進(jìn)一步地使用Unity3D工具展示出了用戶的虛擬試衣效果,驗(yàn)證了該虛擬試衣型號推薦模型的有效性。
1 研究方法
本文構(gòu)建的虛擬試衣型號推薦模型如圖1所示。首先,獲取3ds Max系統(tǒng)樣本庫中的真實(shí)三維人體數(shù)據(jù),并將其作為試衣型號數(shù)據(jù)集,通過在該數(shù)據(jù)集上訓(xùn)練加權(quán)隨機(jī)森林算法得到最優(yōu)試衣型號預(yù)測模型。接下來,對Kinect設(shè)備獲取到的真實(shí)場景下的顧客三維人體測量數(shù)據(jù)進(jìn)行預(yù)測,得到為該顧客推薦的衣服型號。最后,利用Unity3D工具為顧客展示虛擬試衣效果。如果顧客對該衣服滿意,則將該顧客的三維數(shù)據(jù)和所選型號加入到試衣型號數(shù)據(jù)庫中,作為新樣本數(shù)據(jù),以供后續(xù)進(jìn)一步地訓(xùn)練并提高模型預(yù)測準(zhǔn)確率。
1.1 三維人體數(shù)據(jù)測量
本文利用Kinect設(shè)備收集用戶的三維人體數(shù)據(jù),用于為其進(jìn)行試衣型號匹配。Kinect攝像頭將獲取用戶人體的深度圖和彩色圖,通過USB傳給PC,PC對其進(jìn)行分析并提取出骨骼點(diǎn)和特征信息。這種方法可降低系統(tǒng)本身對于環(huán)境的依賴,而且 Kinect 攝像頭體積小、成本低、使用方便快捷,只需顧客站在攝像頭前就可以完成骨骼點(diǎn)信息的獲取。圖2為利用Kinect獲得的20個(gè)關(guān)節(jié)節(jié)點(diǎn)構(gòu)成的人體骨骼示意圖。本節(jié)以獲取人體胸圍數(shù)據(jù)為例,展示了基于Kinect數(shù)據(jù)的人體三維測量與計(jì)算過程。
1.1.1 顧客坐標(biāo)映射
利用Kinect攝像頭捕獲場景中用戶的圖片影像及其骨骼三維坐標(biāo)點(diǎn),通過將這些三維坐標(biāo)點(diǎn)與數(shù)據(jù)庫中的20個(gè)骨骼關(guān)節(jié)節(jié)點(diǎn)的位置坐標(biāo)進(jìn)行特征匹配,得到顧客的人體輪廓信息,將其存儲到數(shù)據(jù)結(jié)構(gòu)中,并填充到最終屏幕窗口背景中。圖3為顧客坐標(biāo)的映射樣例。
1.1.2 人體胸厚、胸寬、肩寬計(jì)算
根據(jù)人體生理學(xué)原理,人體的胸圍尺寸與胸寬、胸厚和肩寬三者存在著正相關(guān)關(guān)系[12]。胸厚是人體側(cè)面厚度的最大值,通過計(jì)算并遍歷肩部和脊柱2個(gè)關(guān)節(jié)點(diǎn)之間的側(cè)面人體像素寬度,得到的最大
值為人體的胸厚,如圖4(a)中M和N兩點(diǎn)之間的長度。同時(shí),結(jié)合M與N兩點(diǎn)所在的水平面,從人體正面視角測量W1和W2之間的寬度,可以得到人體的胸寬,如圖4(b)中所示。肩寬可以直接由Kinect測量出的二十個(gè)關(guān)節(jié)節(jié)點(diǎn)的左肩位置L和右肩位置R計(jì)算得到,見圖4(c)。
1.1.3 人體胸圍尺寸擬合
結(jié)合文獻(xiàn)[13]中的研究成果,使用matlab Regress擬合線性回歸分析創(chuàng)建胸圍、胸厚、胸寬及肩寬的線性回歸方程擬合公式(1),該公式擬合結(jié)果的相關(guān)系數(shù)γ2=0.982 16。
1.2 試衣型號預(yù)測
本文利用機(jī)器學(xué)習(xí)算法從3ds Max人體尺寸數(shù)據(jù)集中學(xué)習(xí)獲得試衣型號預(yù)測模型,如圖5所示。首先,需要利用ETL(extract,transform and load)工具對3ds Max人體尺寸數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,包括特征提?。╡xtract)、轉(zhuǎn)換(transform)、載入(load),通過特征分析,將最有價(jià)值的特征儲存到數(shù)據(jù)倉庫中。接下來,利用數(shù)據(jù)倉庫中的有效數(shù)據(jù)集(已處理好的特征集合),訓(xùn)練機(jī)器學(xué)習(xí)模型,并進(jìn)行分析優(yōu)化,獲得最優(yōu)預(yù)測模型。最后,基于Kinect實(shí)時(shí)測量的用戶體型數(shù)據(jù),利用得到的最優(yōu)機(jī)器學(xué)習(xí)模型實(shí)時(shí)預(yù)測用戶試衣型號。
1.2.1 數(shù)據(jù)集與特征描述符
用于訓(xùn)練試衣型號預(yù)測模型的3ds Max人體尺寸數(shù)據(jù)集是一個(gè)包含了10,000個(gè)人體三維數(shù)據(jù)樣本的Excel表格,每一條樣本包含7個(gè)屬性數(shù)據(jù)和一個(gè)目標(biāo)變量(即該衣服型號,值域?yàn)閇37,46],均為離散數(shù)值)。見表1,這7個(gè)屬性包括身高、腰圍、肩寬、臀圍、胸圍、腿長和臂長,將被用作模型訓(xùn)練時(shí)所參考候選的機(jī)器學(xué)習(xí)特征描述符,該數(shù)據(jù)集將被劃分為訓(xùn)練集和測試集2部分,訓(xùn)練集占比70%,用來學(xué)習(xí)試衣型號預(yù)測模型,測試集占比30%,用于對學(xué)習(xí)算法的最終評估。
1.2.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理用于優(yōu)化訓(xùn)練試衣型號預(yù)測模型的輸入信息,即構(gòu)建對目標(biāo)變量(即試衣型號)具有有效預(yù)測區(qū)分能力的輸入特征空間。針對本研究中的數(shù)據(jù)集,該部分進(jìn)行了“數(shù)值歸一化,方差評估,特征重要性評價(jià)”3步處理。
1.2.2.1 數(shù)值歸一化
數(shù)值歸一化可以對特征值去量綱化,使得不同維度上的數(shù)值具有一定的可比性,提高模型準(zhǔn)確性。在3ds Max人體尺寸數(shù)據(jù)集中,身高范圍一般在150~200 cm之間,而人體的肩寬范圍在40~60 cm之間,兩者所在的區(qū)間范圍不一樣,可能導(dǎo)致模型不收斂或者收斂速度比較慢。歸一化將訓(xùn)練集中每列特征(假設(shè)是第i列)的數(shù)值縮放到0和1之間,如公式(2)所示。
1.2.2.2 方差評估
特征方差值較低說明這個(gè)特征向量不發(fā)散,樣本在這個(gè)特征上基本上沒有差異,因此,該特征對機(jī)器學(xué)習(xí)模型預(yù)測數(shù)值判斷區(qū)分能力相對較弱,可以考慮將其刪除,以提高模型的泛化能力。方差計(jì)算公式如(3)所示。
其中,j代表第j個(gè)樣本,μ是該列特征的樣本均值。值得注意的是,刪除方差最低的特征需要在數(shù)據(jù)歸一化之后操作,減小不同特征使用的不同量綱帶來的影響。
1.2.2.3 特征重要性評價(jià)
特征重要性評價(jià)有助于分析出影響目標(biāo)變量(如試衣型號值)預(yù)測的關(guān)鍵人體屬性,并選擇出有價(jià)值的特征,優(yōu)化模型學(xué)習(xí)空間。本研究使用斯皮爾曼方法計(jì)算了用于模型訓(xùn)練的特征與目標(biāo)變量試衣型號之間的相關(guān)性指數(shù)[14],用來判斷特征對目標(biāo)變量的重要性。斯皮爾曼相關(guān)性系數(shù)可以檢測非線性變量之間的關(guān)系,不論2個(gè)變量的總體分布、樣本容量的大小如何,都可以使用斯皮爾曼相關(guān)性系數(shù)分析,其值域?yàn)閇-1,1],絕對值越大,相關(guān)性越高。因此,如果某人體屬性特征與試衣型號的斯皮爾曼相關(guān)性系數(shù)值較低,則可以嘗試將其剔除,以提升模型預(yù)測精度和泛化能力。求解斯皮爾曼相關(guān)性系數(shù)公式如(4)所示。
1.2.3 多分類預(yù)測技術(shù)
本文需要獲取的虛擬試衣型號為有限范圍的離散型數(shù)值,可以將每一個(gè)型號作為一個(gè)類別,因此適合采用多分類技術(shù)進(jìn)行預(yù)測。
1.2.3.1 加權(quán)隨機(jī)森林算法
隨機(jī)森林算法(Random Forest,RF[15])是基于bagging理論的一種集成學(xué)習(xí)方法代表,其采用多棵決策樹模型的投票表決預(yù)測結(jié)果。隨機(jī)森林內(nèi)部的決策樹模型由訓(xùn)練集中的自助采樣樣本子集和隨機(jī)選擇的m個(gè)特征子集通過決策樹算法構(gòu)建,并且在自助采樣過程中,每個(gè)樣本未能被抽取到的概率為p=(1-1N)N??梢宰C明,當(dāng)N→ 時(shí),p≈0.368,因此每棵決策樹采樣完成后,有接近37%的樣本不被抽取,這些樣本被稱為out-of-bag(OOB)數(shù)據(jù)。
1.2.3.2 對比實(shí)驗(yàn)算法
本文考慮利用“one-vs-rest”策略,將多分類問題轉(zhuǎn)換成多個(gè)二分類問題[16],利用其它典型的機(jī)器學(xué)習(xí)算法進(jìn)行求解,并與加權(quán)隨機(jī)森林模型作對比實(shí)驗(yàn),包括邏輯回歸分類器(Logistic regression, LR[17])、支持向量機(jī)(support-vector machines, SVM[18])算法以及原始隨機(jī)森林算法(RF)。這3種方法具有不同的模型特性,其中,LR算法可解釋性強(qiáng)、預(yù)測效率高;SVM可以利用核函數(shù)將非線性數(shù)據(jù)轉(zhuǎn)換為線性數(shù)據(jù)進(jìn)行處理,表達(dá)能力強(qiáng);RF泛化能力較好。本研究通過對原始數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,獲得最優(yōu)特征子集,然后對以上幾種多分類預(yù)測模型訓(xùn)練與調(diào)優(yōu),獲取最優(yōu)試衣型號預(yù)測模型。
1.2.4 分類評價(jià)指標(biāo)
由于本文進(jìn)行多分類預(yù)測,不能簡單地使用二分類中的模型性能評價(jià)指標(biāo),如準(zhǔn)確率(Accuracy)、精準(zhǔn)率(Precision)、召回率(Recall)指標(biāo)和F1-Score值,因此,對于1.2.3節(jié)中不同的多分類模型產(chǎn)生的預(yù)測結(jié)果,本文采用每一個(gè)統(tǒng)計(jì)指標(biāo)值的宏平均值(Macro-average value),即宏準(zhǔn)確率(Macro- Accuracy)、宏精確率(Macro-Precision)、宏召回率(Macro-Recall)、宏F-score值(Macro-F-Score)[19]。簡而言之,這些值均越大且越接近于1,說明模型的性能越好,預(yù)測準(zhǔn)確率越高。以下是幾種模型指標(biāo)求解的計(jì)算模型。
公式(6)~(9)中,真正例(True Positive,TP)指將一個(gè)正例判別為了正例,偽反例(False Negative,F(xiàn)N)則將一個(gè)正例判別為負(fù)例;相應(yīng)的,偽正例(False Positive,F(xiàn)P)將一個(gè)負(fù)例認(rèn)定為正例,真反例(True Negative,TN)指將一個(gè)負(fù)例認(rèn)定為負(fù)例。i代表第i個(gè)訓(xùn)練樣本,i=1,2,...,N,N=7 000,代表樣本總數(shù)。
為了避免在模型預(yù)測過程中出現(xiàn)隨機(jī)誤差,使用交叉檢驗(yàn)[20]來綜合判斷1.2.3節(jié)中各個(gè)多分類模型的預(yù)測能力,可以在一定程度上減小過擬合。交叉檢驗(yàn)將原始數(shù)據(jù)集分為k組,其中k-1組用作訓(xùn)練集,剩余1組用作驗(yàn)證集,且每一個(gè)樣本均用在驗(yàn)證集中一次。實(shí)驗(yàn)過程中,首先在訓(xùn)練集上訓(xùn)練對分類器,再利用驗(yàn)證集來測試訓(xùn)練好的模型。每一輪選擇不同的分組數(shù)據(jù)作為驗(yàn)證集,經(jīng)過多輪訓(xùn)練,取在所有驗(yàn)證集上的性能指標(biāo)平均值作為評價(jià)分類器的綜合性能指標(biāo),可以選出可靠穩(wěn)定的模型。在本文中,分組數(shù)k設(shè)置為10。
1.3 虛擬試裝
在用戶選定準(zhǔn)備試穿的虛擬衣服后,基于1.2節(jié)得到的最優(yōu)預(yù)測模型獲得試衣型號,利用Unity3D工具在二維的顧客影像中實(shí)現(xiàn)三維的3ds Max服裝的遮擋覆蓋,實(shí)現(xiàn)人衣虛實(shí)融合的效果。實(shí)現(xiàn)三維衣服模型遮擋二維人體影像的總體思想是,改變?nèi)S模型的坐標(biāo)值,使之對應(yīng)到相應(yīng)的二維影像上[2],實(shí)現(xiàn)在試衣過程中,實(shí)時(shí)驗(yàn)證根據(jù)試衣型號預(yù)測模型所挑選的衣服在真實(shí)人物身上的合體性展示效果。
2 實(shí)驗(yàn)結(jié)果分析
本文的實(shí)驗(yàn)環(huán)境為 Windows 7操作系統(tǒng),使用Kinect 攝像機(jī)和Unity 3D 工具建立虛擬人物試衣仿真環(huán)境,訓(xùn)練并比較不同的機(jī)器學(xué)習(xí)算法獲取虛擬試衣型號的最優(yōu)預(yù)測模型。硬件環(huán)境:Intel(R) Core(TM)、CPU i7-4720H、3.60 GHz、四核、12G DDR3 RAM、顯卡為Nvidia GEFORE GTX 950M(2G)。
2.1 Kinect人體數(shù)據(jù)測量效果
為驗(yàn)證Kinect對人體三維數(shù)據(jù)測量的可靠性,本文使用傳統(tǒng)手工測量方式和Kinect測量方式對87名學(xué)生志愿者進(jìn)行了胸圍數(shù)據(jù)測量實(shí)驗(yàn),使用相對平均偏差s作為評價(jià)指標(biāo)。相對平均偏差s如公式(10)所示。
表2是10名實(shí)驗(yàn)者的Kinect擬合胸圍與手工測量胸圍效果對比實(shí)驗(yàn)結(jié)果。對實(shí)驗(yàn)結(jié)果進(jìn)行統(tǒng)計(jì),由Kinect得到的胸厚、胸寬和肩寬與手工測量值的相對平均偏差s分別為025%、0.31%、0.18%,擬合胸圍的總體平均相對誤差為1.27%。對于預(yù)測試衣型號而言,這3個(gè)偏差值相對衣服型號范圍而言較小,可以忽略,因此,Kinect人體三維數(shù)據(jù)測量結(jié)果可靠有效。
2.2 模型訓(xùn)練與預(yù)測結(jié)果
2.2.1 特征分析與選擇
結(jié)合1.2章節(jié)的理論指導(dǎo),首先進(jìn)行方差分析,發(fā)現(xiàn)樣本數(shù)據(jù)集中,幾乎所有的特征向量方差值均高于0.05,只有身高特征方差值最低,其余幾項(xiàng)均在0.08左右,如圖6所示。在將特征值歸一化以后,由于人體的三維指標(biāo)相差量不大,因此特征方差值均比較小。
圖7中繪制了基于斯皮爾曼相關(guān)性系數(shù)下的相對特征評分(將評分值進(jìn)行歸一化后的結(jié)果)。從圖7可以看出,身高、肩寬和臂長3個(gè)屬性與試衣型號的相關(guān)性較弱,結(jié)合2.2.1節(jié)中身高的方差值較小,因此,在訓(xùn)練預(yù)測模型時(shí),可以通過遞歸消除法依次嘗試刪除身高、肩寬和臂長3個(gè)特征來調(diào)優(yōu)訓(xùn)練模型。遞歸消除法根據(jù)特征評分,每次從特征集合中移除最不重要的特征進(jìn)行模型訓(xùn)練,并重復(fù)這個(gè)步驟,直到選出最優(yōu)模型為止。
2.2.2 模型預(yù)測結(jié)果分析
基于試衣型號訓(xùn)練樣本集,利用遞歸消除法選擇特征,對1.2.3節(jié)中的4種不同的分類算法進(jìn)行網(wǎng)格調(diào)優(yōu)[21]產(chǎn)生各自的最優(yōu)分類模型,并打印出各自的分類結(jié)果混淆矩陣進(jìn)行對比。如圖8所示,可以明顯地看出WRF模型的預(yù)測準(zhǔn)確率高達(dá)100%,成功預(yù)測出所有的試衣型號,RF與LR相對次之,SVM模型的預(yù)測結(jié)果最差,原因可能是SVM模型相對太復(fù)雜,模型在學(xué)習(xí)過程中,容易出現(xiàn)過擬合,而RF和WRF是典型的集成學(xué)習(xí)模型,其內(nèi)部的樹模型具有良好的劃分樣本特征空間的能力,對于本文中數(shù)據(jù)質(zhì)量比較好的3ds Max人體尺寸數(shù)據(jù)集,體現(xiàn)出了較好的泛化能力。而WRF比RF的預(yù)測效果好一些,可以說明加權(quán)的隨機(jī)森林算法WRF在該數(shù)據(jù)集上表現(xiàn)優(yōu)于投票表決的原始隨機(jī)森林算法RF。
根據(jù)圖9中WRF模型的單棵決策樹的分類過程可以看出,決策樹模型自動學(xué)習(xí)了不同尺寸型號(由“class”所標(biāo)記值)的衣服所使用的篩選條件,WRF模型由多棵如此類似的子模型組成,這類似于使用多種面向不同型號和不同人類體型的傳統(tǒng)試衣型號推薦方案來共同決策,為用戶選擇出合適尺寸的衣服,且預(yù)測性能好的方案具有較高的話語權(quán),這也是本文選擇使用WRF算法訓(xùn)練試衣型號推薦模型的主要依據(jù)。
該圖顯示了在測試集上不同多分類模型預(yù)測得到的試衣型號值與真實(shí)值的混淆矩陣,橫坐標(biāo)為真實(shí)值,縱坐標(biāo)為預(yù)測值,所有的試衣型號為37到46之間的離散值。對于每一個(gè)子圖,除對角線外,每一個(gè)元素代表真實(shí)值與預(yù)測值不匹配的樣本數(shù)量,在對角線上的值越大,說明分類越正確,模型性能越好。以RF混淆矩陣為例,45所標(biāo)記的行與44所標(biāo)記的列處元素值為2,說明真實(shí)值為45的試衣型號被錯(cuò)誤的預(yù)測為44的樣本數(shù)量為2個(gè)。
表3結(jié)合4種不同的評價(jià)指標(biāo)描述了經(jīng)過調(diào)優(yōu)后的4種多分類模型在測試集上的試衣型號預(yù)測性能表現(xiàn)。從表3看出,WRF模型學(xué)習(xí)效果最好,RF的性能基本接近于WRF,原因是基于投票表決的RF模型相對的更加注重泛化能力,一般預(yù)測結(jié)果偏差相對較大,方差較小,而基于加權(quán)的WRF模型更加注重模型的準(zhǔn)確度,在對于沒有異常點(diǎn)的數(shù)據(jù)集(如3ds Max人體尺寸數(shù)據(jù)集)上,預(yù)測結(jié)果偏差較小。SVM模型效果最差,且其參數(shù)調(diào)優(yōu)過程比較復(fù)雜。因此,本研究最終采用WRF模型作為試衣型號預(yù)測模型。
其中,“entropy”為信息熵,是決策樹的決策條件;“samples”表示該節(jié)點(diǎn)需要決策的樣本數(shù)量;“value”表示當(dāng)前節(jié)點(diǎn)下每個(gè)試衣型號的樣本數(shù)量;“class”表示哪一類樣本數(shù)量最多。
2.3 虛擬試裝效果
圖10(a)和圖10(b)中展示了基于試衣預(yù)測模型為不同身材的真實(shí)用戶挑選試衣型號,并利用Unity3D工具展示的試衣效果??梢钥闯?,本文采用的加權(quán)隨機(jī)森林模型為用戶推薦的試衣型號可以很好地匹配其身材,效果良好。
3 結(jié)束語
本文設(shè)計(jì)了一整套基于Kinect人體尺寸測量計(jì)數(shù)和加權(quán)隨機(jī)森林算法的虛擬試衣型號推薦模型。通過實(shí)驗(yàn)驗(yàn)證了Kinect的數(shù)據(jù)測量有效性,并在3ds Max人體尺寸數(shù)據(jù)集上,利用特征選擇、網(wǎng)格調(diào)優(yōu)等手段訓(xùn)練得到了準(zhǔn)確率高達(dá)100%的最優(yōu)多分類預(yù)測模型—加權(quán)隨機(jī)森林模型。通過對比實(shí)驗(yàn),證明了基于集成學(xué)習(xí)的加權(quán)隨機(jī)森林模型在多分類問題上具有強(qiáng)大的學(xué)習(xí)能力與穩(wěn)定的預(yù)測性能。最后,本文使用Unity3D工具展示了該模型為真實(shí)用戶挑選衣服型號并進(jìn)行虛擬試裝的效果,可以很好地匹配顧客的體態(tài),具有較強(qiáng)的實(shí)用性,這對已有虛擬試衣系統(tǒng)中試衣型號推薦技術(shù)的優(yōu)化具有重要的參考價(jià)值。
參考文獻(xiàn)
[1]韓娜, 陳東偉, 鐘卓成, 等. 基于 Kinect 的虛擬試衣系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息技術(shù), 2015(7):59-61.
[2]趙海媚, 林振生, 彥虹羽, 等. 基于 Kinect 的 3D 實(shí)時(shí)虛擬試衣系統(tǒng)的研究[J]. 電子技術(shù)與軟件工程, 2015 (20):69-71.
[3]胡焰. 基于Kinect的虛擬試衣系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 武漢:華中科技大學(xué), 2013.
[4]萬艷敏, 付瑩. 增強(qiáng)現(xiàn)實(shí)技術(shù)在服裝領(lǐng)域的應(yīng)用[J].毛紡科技, 2018, 46(5):57-61.
[5]安妮. 線上店鋪虛擬試衣技術(shù)的實(shí)現(xiàn)方式對比分析[J].絲綢,2014,51(2):40-46.
[6]CONNELL L J, ULRICH P, KNOX A, et al. Body scan analysis for fit models based on body shape and posture analysis[R]. Nottingham Trent :National Textile Center Annual Report[NTC Project:S01-AC27], 2004.
[7]趙剛, 雷金華. 服裝尺碼推薦方法與系統(tǒng):中國,CN103793826A[P]. 2014-05-14.
[8]李智超. 基于 Kinect 的虛擬試衣系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京:東南大學(xué), 2016.
[9]潘璐. 基于層次分析法的服裝推薦專家系統(tǒng)[D]. 上海:東華大學(xué), 2016.
[10]東苗. 面向個(gè)性化服裝定制的體型分析與智能修訂[D]. 上海:東華大學(xué), 2010.
[11]汝吉東,王穎.基于SVM女性服裝型號推薦方法研究[J]. 絲綢, 2015, 52(6):27-31.
[12]胡潮江, 賀義軍, 王宏付. 不同人體厚度狀態(tài)下貼體上裝的衣身結(jié)構(gòu)[J]. 紡織學(xué)報(bào), 2015, 36(1):141-146.
[13]王瑩瑩, 種衍文, 潘少明, 等. 基于 Kinect 深度數(shù)據(jù)的人體胸圍測量方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2015, 36(8):2138-2142.
[14]de WINTER J C F, GOSLING S D, POTTER J. Comparing the Pearson and Spearman correlation coefficients across distributions and sample sizes:A tutorial using simulations and empirical data[J]. Psychological methods, 2016, 21(3):273.
[15]BIAU G, SCORNET E. A random forest guided tour[J]. Test, 2016, 25(2):197-227.
[16]TSOUMAKAS G, KATAKIS I. Multi-label classification:An overview[J]. International Journal of Data Warehousing and Mining (IJDWM), 2007, 3(3):1-13.
[17]HOSMER D W, LEMESHOW S. Applied logistic regression[M]. 2nd Ed. NewYork:Wiley-Interscience Publication,2000.
[18]CHANG C C, LIN C J. LIBSVM:a library for support vector machines[J]. ACM transactions on intelligent systems and technology (TIST), 2011, 2(3):27.
[19]WU Xizhu, ZHOU Zhihua. A unified view of multi-label performance measures[C]//Proceedings of the 34th International Conference on Machine Learning. [s.l.]:JMLR. org, 2017,70:3780-3788.
[20]WONG T T. Performance evaluation of classification algorithms by k-fold and leave-one-out cross validation[J]. Pattern Recognition, 2015, 48(9):2839-2846.
[21]SYARIF I, PRUGEL-BENNETT A, WILLS G. SVM parameter optimization using grid search and genetic algorithm to improve classification performance[J]. Telkomnika, 2016, 14(4):1502-1509.