邵成恩 吳家軒 王浩洋 陳小雨 張大秀
摘 ?要:針對(duì)人們線上購物試穿服裝難的問題,以Python和Unity3D等軟件為基礎(chǔ),提出一個(gè)三維服裝試穿系統(tǒng)的解決方案。為了實(shí)現(xiàn)模特身體體型及身著衣物的控制,開發(fā)一個(gè)基于MakeHuman建模的三維仿真系統(tǒng),以期達(dá)到真人試穿的效果。該系統(tǒng)可以為服裝店提供線上試穿服務(wù),幫助店家吸引更多的顧客進(jìn)店瀏覽,提升顧客線上購物的沉浸式體驗(yàn),從而促成更多的交易量,同時(shí)可使賣家顯著減少不必要的退換貨損失。
關(guān)鍵詞:MakeHuman建模;Python;三維試穿
中圖分類號(hào):TP391.9 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2020)05-0014-05
Design and Implementation of Fast 3D Simulation System for Network Fitting
SHAO Chengen, WU Jiaxuan, WANG Haoyang, CHEN Xiaoyu, ZHANG Daxiu
(School of Computer Science and Information Engineering, Bengbu University, Bengbu ?233030, China)
Abstract: Aiming at the problem that it is difficult for people to try on clothes in online shopping, a solution of three-dimensional clothing fitting system is proposed based on software such as Python and Unity3D. In order to realize the control of the model’s body shape and clothes, a three-dimensional simulation system based on MakeHuman modeling is developed in order to achieve the effect of real person fitting. The system can provide online fitting services for clothing stores, help stores attract more customers to browse, and improve the immersive experience of customers’ online shopping, so as to promote more transaction volume and significantly reduce unnecessary return and exchange losses for sellers.
Keywords: MakeHuman modeling; Python; 3D fitting
0 ?引 ?言
如今,“3D體感試衣鏡”廣泛流行于國內(nèi)外的實(shí)體服裝售賣店。這種神奇試衣鏡是通過實(shí)時(shí)獲取用戶關(guān)鍵部位的體感數(shù)據(jù)來實(shí)現(xiàn)試穿目的,試衣鏡通過分析能夠?qū)崟r(shí)識(shí)別出用戶的肢體動(dòng)作,當(dāng)用戶選定心儀的服飾后,試衣鏡將服飾模型的動(dòng)作匹配使用者的肢體動(dòng)作,將匹配結(jié)果投影到試衣鏡上,從而達(dá)到視覺上的換裝效果,省去用戶換衣麻煩,不但節(jié)約了用戶的時(shí)間,而且用戶還能更為直觀地判斷所選服飾是否適合自己。
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人們?cè)絹碓阶非蟊憬菪?、個(gè)性化的購買方式,電商行業(yè)不斷推出各種創(chuàng)新性的銷售手段,極大地激發(fā)了消費(fèi)者的購買欲望。經(jīng)調(diào)查發(fā)現(xiàn),使用天貓、淘寶、京東等網(wǎng)絡(luò)購物平臺(tái)購物的用戶人數(shù)不斷增多,這主要是因?yàn)榫W(wǎng)絡(luò)購物價(jià)格實(shí)惠,方便省力,可以做到“隨逛隨買”,網(wǎng)購將會(huì)逐漸取代傳統(tǒng)購物。近年來,電商服裝市場的交易量呈現(xiàn)出逐年遞增的趨勢,2019年電商服裝市場規(guī)模達(dá)到10.133 7億元。在服裝消費(fèi)大國的中國,服裝電商仍有較大的發(fā)展空間,但與此同時(shí),服裝電商在發(fā)展過程中也不可避免地遇到一些瓶頸,即不能像實(shí)體商店那樣為客戶提供服裝試穿體驗(yàn),顧客會(huì)因無法試穿,確定不了服裝是否適合自己而放棄網(wǎng)購。如果服裝店能夠提供線上試穿服務(wù),則會(huì)吸引更多的顧客來瀏覽,抓住更多的交易機(jī)會(huì),也能為賣家減少不必要的退換貨損失。
隨著我國互聯(lián)網(wǎng)普及率的不斷提高,網(wǎng)絡(luò)購物的“大潮”也隨之而來。近些年來,有一大批學(xué)者陸續(xù)開展網(wǎng)絡(luò)試穿方面的研究,于是三維仿真系統(tǒng)隨之誕生,并逐漸演變?yōu)榫W(wǎng)絡(luò)試穿的主流,該系統(tǒng)的出現(xiàn)極大地刺激了衣品類電商行業(yè)的發(fā)展。
1 ?系統(tǒng)設(shè)計(jì)與分析
1.1 ?系統(tǒng)操作流程
經(jīng)過對(duì)用戶的使用需求、調(diào)整身體數(shù)據(jù)過程、選擇衣物的具體分析,繪出如圖1所示的系統(tǒng)操作過程圖。系統(tǒng)首先采集用戶的身份信息,驗(yàn)證通過后用戶選擇身體數(shù)據(jù)(包括性別、年齡、體重、肌肉含量等),系統(tǒng)根據(jù)用戶提供的數(shù)據(jù)形成一個(gè)虛擬模特,此時(shí)用戶可以根據(jù)需要調(diào)整一些細(xì)節(jié)(例如五官分布和大小、軀干角度、腰圍胸圍、手臂和腿的長度與粗細(xì)等),確認(rèn)模特信息無誤點(diǎn)擊確認(rèn)后可以選擇模特的發(fā)型,選擇需要試穿的服裝后即可展示試穿效果。
1.2 ?系統(tǒng)模塊結(jié)構(gòu)
本系統(tǒng)所面向的對(duì)象是所有在電商APP、衣品官網(wǎng)購買衣物的網(wǎng)絡(luò)用戶,該系統(tǒng)提供一套基于Python的三維服裝建模系統(tǒng),若要實(shí)現(xiàn)逼真的仿真效果以及使衣物更加貼身,網(wǎng)購者可通過本系統(tǒng)手動(dòng)調(diào)整3D模特的身體數(shù)據(jù),以便更準(zhǔn)確地了解服裝是否適合自己,挑選合適的衣服。本系統(tǒng)共分為兩大功能模塊:一是模特體型參數(shù)設(shè)置功能模塊,二是模特的試穿與展示功能模塊,二者相互結(jié)合使初步仿真得以實(shí)現(xiàn),設(shè)置模塊的設(shè)置流程如圖2所示。
下面介紹兩大功能模塊的基本功能:
(1)模特體型參數(shù)設(shè)置模塊具體實(shí)現(xiàn)的功能為:
1)性別設(shè)置。用戶可以根據(jù)需要設(shè)置男模特或女模特。
2)年齡設(shè)置。用戶可以設(shè)置自己的年齡,以便系統(tǒng)給出一個(gè)用戶年齡段的標(biāo)準(zhǔn)體型供其修改調(diào)整。
3)調(diào)整體型。用戶可以調(diào)整模特的身高、體重、身體比重、肌肉含量、乳房、上下身長比例、髖部、腹部、臀部、骨盆、大腿小腿比例、大腿圍、小腿圍、膝蓋彎曲程度等體型參數(shù),并可保存調(diào)整好的模特體型。當(dāng)用戶再次進(jìn)入該系統(tǒng)時(shí),系統(tǒng)會(huì)加載最后一次保存的體型參數(shù),用戶對(duì)模特稍加調(diào)整即可使用。
4)調(diào)整臉型。用戶可以調(diào)整臉型(例如選擇方臉、橢圓臉、圓臉、三角臉、倒三角臉等),也可以調(diào)整眉毛、眼睛、鼻子、嘴部、下顎等臉部參數(shù)。
(2)模特的試穿與展示模塊能夠?qū)崿F(xiàn)的基本功能為:
1)選擇發(fā)型。用戶可以選擇自己想要嘗試的發(fā)型,也可以選擇與自己相似的發(fā)型。
2)選擇上衣。用戶可以選擇自己想要嘗試的上衣。
3)選擇下裝。用戶可以選擇自己想要嘗試的下裝。
4)選擇鞋子。用戶可以選擇自己想要嘗試的鞋子。
5)全身展示。用戶選擇好全身衣物并為模特穿戴搭配,展示上身效果。
1.3 ?系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)
本系統(tǒng)所涉及的數(shù)據(jù)庫表有標(biāo)準(zhǔn)模特參數(shù)表、用戶自身體型參數(shù)表、眼睛參數(shù)表、發(fā)型參數(shù)表、臉型參數(shù)表,如表1、表2、表3、表4、表5所示。其中標(biāo)準(zhǔn)模特參數(shù)表的作用是為了存放一些各個(gè)身體部位的標(biāo)準(zhǔn)參考數(shù)據(jù),此表涉及各個(gè)年齡段男性、女性的平均身體數(shù)據(jù)參數(shù);用戶自身體型參數(shù)表的作用是為了存儲(chǔ)該用戶在此系統(tǒng)上傳的自身的關(guān)鍵部位數(shù)據(jù)。即使這兩個(gè)表中有完全重復(fù)的字段屬性,但卻不能將兩表整合為一張數(shù)據(jù)表,因?yàn)檫@兩張表的功能不相同,若是組合在一起會(huì)相互干擾,出現(xiàn)數(shù)據(jù)混亂。
除上述數(shù)據(jù)表之外,還有上衣貼圖表、褲子貼圖表、鞋子貼圖表以及身體其他部位數(shù)據(jù)表。臉型、發(fā)型、眼睛、上衣、褲子和鞋子貼圖表都有完全重復(fù)的字段,這樣看似可以把其字段屬性完全一樣的數(shù)據(jù)整合到一張表中,以便更高效地訪問數(shù)據(jù)庫以及向其中存儲(chǔ)數(shù)據(jù),但是由于本系統(tǒng)后期還需要升級(jí)與維護(hù)(尤其是要新增功能),若是將字段屬性相同的數(shù)據(jù)都整合到一張表中,就會(huì)出現(xiàn)很多諸如數(shù)據(jù)混亂之類的難以解決的問題。
盡管現(xiàn)在每張表都擁有很多字段屬性完全相同的數(shù)據(jù),但是它們的功能卻不盡相同,一部分?jǐn)?shù)據(jù)參數(shù)表是模特本身的數(shù)據(jù)(如發(fā)型、眼睛、臉型及身體其他關(guān)鍵部位的數(shù)據(jù))表,而另一部分?jǐn)?shù)據(jù)參數(shù)表所涵蓋的內(nèi)容則屬于模特的“身外之物”(如上衣、褲子、鞋子),這兩部分?jǐn)?shù)據(jù)從本質(zhì)上說也有很多不同的屬性,如果后期需要維護(hù)升級(jí),那么現(xiàn)在所涉及的數(shù)據(jù)字段屬性是遠(yuǎn)遠(yuǎn)不夠的,此數(shù)據(jù)庫還需要在各個(gè)數(shù)據(jù)表中再次額外添加其他的字段屬性,如上衣中添加多種配色、紡織材質(zhì)等關(guān)鍵字段屬性。本系統(tǒng)的數(shù)據(jù)庫中存儲(chǔ)著各類事物的屬性,例如上衣、褲子、鞋子、發(fā)型、眼睛、臉型,各類事物的數(shù)據(jù)字段屬性不完全相同,如果一味地存儲(chǔ)各類數(shù)據(jù),將會(huì)出現(xiàn)“需要一種數(shù)據(jù)卻由于使用其組合表導(dǎo)致出現(xiàn)很多用不上的數(shù)據(jù)”,致使存儲(chǔ)系統(tǒng)存儲(chǔ)很多“垃圾信息”,使得后期的訪問、存儲(chǔ)、查詢等操作效率大幅降低。另外,各身體部位的字段屬性也不完全相同,只是無謂地浪費(fèi)存儲(chǔ)空間,所以將數(shù)據(jù)按照不同的身體部位分類存儲(chǔ)進(jìn)數(shù)據(jù)庫,這樣既節(jié)省存儲(chǔ)空間,又能提高使用效率。
2 ?實(shí)現(xiàn)方法
2.1 ?準(zhǔn)備工作
本系統(tǒng)需要做的準(zhǔn)備工作是利用仿真中曲面算法及Python算法將各種仿真模特體型、頭發(fā)、五官、衣物、鞋子等提前制作出對(duì)應(yīng)的數(shù)據(jù)模型,再將提前制作好的數(shù)據(jù)模型通過計(jì)算機(jī)語言展現(xiàn)出來:
(1)基于衣服的關(guān)鍵尺寸,通過貝塞爾曲面模擬相關(guān)算法以及利用Python制作出衣服的模型,將其存放到相應(yīng)的文件夾中供用戶調(diào)用。
(2)通過相關(guān)技術(shù)將用戶的關(guān)鍵尺寸以及體態(tài)尺寸傳到程序之中,再將衣服的信息導(dǎo)入程序,在用戶試穿后展示著裝效果。
2.2 ?實(shí)現(xiàn)功能
在所有準(zhǔn)備工作完成之后初步仿真系統(tǒng)便大功告成,用戶若要使用本系統(tǒng)需要先下載安裝軟件,第一步就可以把自己關(guān)鍵身體部位的數(shù)據(jù)導(dǎo)入本系統(tǒng)中,選擇自己心儀的發(fā)型、衣服、鞋子等搭配穿戴在仿真模特身上,展示上身效果。使用本系統(tǒng)的操作步驟為:
第一步:下載解壓后安裝軟件并打開目錄中的“makehuman.exe”,完成安裝啟用。
第二步:漢化如圖3所示,選擇“Settings”—“Chinese_china”,在彈出的框中點(diǎn)擊“確定”,然后重啟軟件即可。
圖3 ?漢化后界面
第三步:制作人物。根據(jù)如圖4所示界面上的提示操作即可。
圖4 ?制作人物
第四步:保存。將文件保存到要保存的位置,選中點(diǎn)擊保存。
第五步:導(dǎo)出。根據(jù)需求導(dǎo)出文件,如圖5所示。
圖5 ?導(dǎo)出
衣服庫中儲(chǔ)備很多免費(fèi)的衣服、鞋子、褲子、裙子等,具體操作步驟為:
Step1:點(diǎn)擊“Clothes”。
Step2:找到“thumbnail gallery”并點(diǎn)擊,可以查看所有縮略圖,方便查找。
Step3:找到選中的衣服圖片,點(diǎn)擊查看,此時(shí)會(huì)出現(xiàn)下載鏈接,點(diǎn)擊下載鏈接進(jìn)行保存。
Step4:新建文件路徑,在“\安裝路徑\makehuman-1.1.1-win32\“data\clothes”文件夾中新建一個(gè)文件夾用于存放衣服,如圖6所示。分別點(diǎn)開每一個(gè)鏈接,直接保存(ctrl+s)到新建的文件夾中,注意點(diǎn)開的鏈接會(huì)生成如圖7所示的文檔。
圖6 ?文件路徑示意
圖7 ?點(diǎn)開鏈接后示意
Step5:保存文件夾后,選擇要添加的衣服,完成添加,如圖8所示。重啟軟件可以看到具體的試穿效果。
注意在Step3保存時(shí),文件名一定要和保存的文件名一致,瀏覽器可能會(huì)帶.txt后綴,需要將.txt去掉,將文件類型改成“所有文件”,按“ctrl+s”直接保存。
排錯(cuò):如果沒有出現(xiàn)下載的衣服,請(qǐng)重新打開軟件或者跳轉(zhuǎn)到別的界面后再回來查看。如果依然沒有出現(xiàn)下載的衣服,就檢查文件夾中的文件名是否正確(注意要將文件夾調(diào)成顯示后綴名)。
圖8 ?試穿效果
3 ?結(jié) ?論
三維服裝試穿技術(shù)作為一項(xiàng)新興技術(shù)還處于初期推廣階段。由于資源匱乏、技術(shù)不成熟等一系列制約因素,目前三維服裝試穿對(duì)于服裝網(wǎng)絡(luò)銷售來說形同虛設(shè),對(duì)線下實(shí)體店鋪來說更是效益不高,徒增成本。然而,現(xiàn)如今正處于一個(gè)高速發(fā)展的快節(jié)奏時(shí)代,三維服裝試穿技術(shù)的優(yōu)勢也會(huì)不斷地凸顯。視覺是人體最重要的感覺之一,因此三維服裝試穿中很重要的一點(diǎn)就是盡可能使試衣場景自然、逼真,推出更加精細(xì)的人物模型和服裝模型。但是本系統(tǒng)目前仍處于研發(fā)階段,體表掃描和動(dòng)作匹配模擬尚處于不成熟的階段,這是仿真系統(tǒng)領(lǐng)域的重難點(diǎn),還需要國內(nèi)外學(xué)者進(jìn)一步深入研究。
參考文獻(xiàn):
[1] 徐冉,何琳.3D虛擬試衣技術(shù)在網(wǎng)絡(luò)營銷中的價(jià)值研究 [J].現(xiàn)代裝飾(理論),2016(11):282-283.
[2] 馬培思,華歡歡,張從巧.“3D試衣間”市場可行性調(diào)查研究 [J].現(xiàn)代商貿(mào)工業(yè),2020,41(6):57-58.
[3] 羅黃弘,劉洋,黎美茵,等.基于Unity3D的3D試衣間應(yīng)用研究 [J].信息與電腦(理論版),2020,32(9):88-90.
[4] 曾偉航,沈佳敏,馮澤榮,等.3D網(wǎng)絡(luò)試衣間的研究 [J].甘肅科技縱橫,2018,47(12):6-9+15.
[5] 黨慧,安軍龍,王香刪.模擬試衣間系統(tǒng) [J].信息與電腦(理論版),2016(22):117-118.
[6] 李充和.服裝虛擬展示和試衣系統(tǒng)探析 [J].北極光,2019(11):129-130.
作者簡介:邵成恩(2000—),男,漢族,安徽滁州人,本科在讀,研究方向:計(jì)算機(jī)技術(shù);吳家軒(2001—),男,漢族,安徽六安人,本科在讀,研究方向:計(jì)算機(jī)技術(shù);王浩洋(2001—),男,漢族,安徽阜陽人,本科在讀,研究方向:計(jì)算機(jī)技術(shù);陳小雨(2002—),女,漢族,安徽阜陽人,本科在讀,研究方向:計(jì)算機(jī)技術(shù);張大秀(1992—),女,漢族,安徽宿州人,助教,碩士研究生,研究方向:移動(dòng)邊緣計(jì)算、深度學(xué)習(xí)、計(jì)算機(jī)技術(shù)。