黃 磊,楊旭波
(上海交通大學(xué) 軟件學(xué)院,上海 200240)
適應(yīng)不同體型的衣服快速模擬方法
黃 磊,楊旭波
(上海交通大學(xué) 軟件學(xué)院,上海 200240)
使用基于樣本插值的衣服模擬方法,前期采集粗網(wǎng)格和細(xì)網(wǎng)格衣服在不同體型樣本下的物理模擬結(jié)果,后期運(yùn)行時(shí)根據(jù)粗網(wǎng)格衣服實(shí)時(shí)模擬后的面片特征獲取細(xì)網(wǎng)格衣服樣本,并將鄰近的多個(gè)細(xì)網(wǎng)格衣服面片反距離加權(quán)插值獲得最終的結(jié)果.實(shí)驗(yàn)證明,該方法能夠快速地模擬衣服在不同體型人體身上的著裝效果.
虛擬試衣;衣服模擬;人體體型;樣本插值
隨著電商平臺(tái)的普及,網(wǎng)上購衣的需求大幅增加,網(wǎng)上虛擬試衣能夠模擬衣服在與試衣者同等體型的虛擬角色身上的著裝效果,從而幫助消費(fèi)者選擇最合適的衣服,減少網(wǎng)購的退貨率.
目前,根據(jù)體型定制衣服的研究[1]早已經(jīng)出現(xiàn),但是用戶在試衣的過程中期望能夠快速地看到不同大小的衣服著裝后的效果,然后做選擇.文獻(xiàn)[2]通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練出體型與衣服模擬結(jié)果的關(guān)系,更加直觀地表現(xiàn)了虛擬試衣的過程.然而,由SCAPE[3]表示的人體模型需要2 000多個(gè)3D掃描數(shù)據(jù)通過學(xué)習(xí)建立,樣本數(shù)據(jù)量大,體型調(diào)節(jié)參數(shù)復(fù)雜.文獻(xiàn)[4-5]基于單個(gè)模板人體模型,將模板人體分割成多個(gè)區(qū)域,針對(duì)每個(gè)區(qū)域設(shè)計(jì)該區(qū)域所影響頂點(diǎn)集合的變形函數(shù),然后通過人體測(cè)量參數(shù)如身高、三圍改變模板人體網(wǎng)格,生成個(gè)性化人體模型.由于體型調(diào)節(jié)參數(shù)過多,文獻(xiàn)[6]將其簡化成12個(gè)關(guān)鍵參數(shù),通過長度和圍度來調(diào)整頂點(diǎn)的位置.
模擬衣服穿著在特定體型身上的真實(shí)感效果是非常重要的.布料模擬的方法主要分為幾何方法、物理方法、混合方法、自適應(yīng)網(wǎng)格等[7].為了追求衣服的真實(shí)感,研究者們致力于準(zhǔn)確地建立衣服的物理模型,分析布料的受力,關(guān)注布料與物體之間的碰撞和摩擦等[8-9].基于物理方法模擬精細(xì)網(wǎng)格布料可以產(chǎn)生逼真的效果,但性能達(dá)不到虛擬試衣的時(shí)限要求.于是,研究者們開始將低精度網(wǎng)格布料和高精度網(wǎng)格布料分開模擬,低精度的實(shí)時(shí)模擬產(chǎn)生衣服的總體輪廓,而衣服的高頻細(xì)節(jié)通過幾何方法生成[10].但幾何方法的應(yīng)用環(huán)境受限,為了實(shí)時(shí)并更準(zhǔn)確地模擬衣服褶皺細(xì)節(jié),人們提出基于學(xué)習(xí)或樣本插值的方法.文獻(xiàn)[11]根據(jù)SCAPE參數(shù)化的模型,能夠自發(fā)改變衣服模型以適應(yīng)特定體型和姿態(tài),但是沒有針對(duì)特定衣服與不同體型的匹配狀態(tài)進(jìn)行模擬,不符合虛擬試衣的需求.文獻(xiàn)[12]則事先采集大量的高精度衣服模擬樣本,根據(jù)人體骨骼點(diǎn)所影響的布料區(qū)域進(jìn)行分類存儲(chǔ),并在運(yùn)行時(shí)以新的姿態(tài)數(shù)據(jù)獲取存儲(chǔ)樣本并插值,達(dá)到布料動(dòng)畫的目的,其與通過數(shù)據(jù)驅(qū)動(dòng)模擬布料隨姿態(tài)變化的方法[13-14]類似,但這類方法不考慮不同體型的著裝效果.
針對(duì)虛擬試衣中不同體型與特定服裝的匹配問題,本文提出一種適用于不同體型的衣服快速模擬方法,根據(jù)粗網(wǎng)格衣服在給定人體體型身上模擬的面片特征,搜索鄰近的細(xì)網(wǎng)格樣本插值并優(yōu)化,以快速獲得真實(shí)感的衣服試穿效果.
可變化的人體體型模型是虛擬試衣的關(guān)鍵需求之一.同一件衣服在不同體型的人體身上表現(xiàn)不同,因此才有選擇衣服尺寸大小的必要.虛擬試衣需要足夠的人體體型樣本,才能滿足普適化的要求.本文在文獻(xiàn)[4,6]的基礎(chǔ)上實(shí)現(xiàn)人體體型的幾何調(diào)節(jié).
人體體型的調(diào)節(jié)主要分為兩種:第一種是長度(高度)的調(diào)節(jié),如身高、腿長、膝高等;第二種是圍長的調(diào)節(jié),如胸圍、腰圍、臀圍等.文獻(xiàn)[4]的體型調(diào)節(jié)參數(shù)較多,不利于試衣前用戶的交互,本文使用11個(gè)影響試衣的體型參數(shù),分別為身高、胯高、膝高、臂長、前臂長、肩寬、胸圍、腰圍、臀圍、大腿圍、小腿圍,則任意一種體型可以使用這11個(gè)參數(shù)來表示.設(shè)某體型Bi= (x i,1,x i,2,…,x i,11),x i,j(j=1,2,…,11)為第j個(gè)體型參數(shù),網(wǎng)格為M Bi,頂點(diǎn)集合為V Bi
;模板人體體型為T= (y1,y2,…,y11),y j(j=1,2,…,11)為模板體型的第j個(gè)體型參數(shù),網(wǎng)格為M T,頂點(diǎn)集合為V T,則Bi=T×S i,其中S i為體型調(diào)節(jié)參數(shù)矩陣:
根據(jù)S i調(diào)節(jié)體型的方法如下:
(1)長度(高度)的調(diào)節(jié).通過對(duì)蒙皮后的模板人體骨骼點(diǎn)在對(duì)應(yīng)坐標(biāo)方向上的縮放,如腿長調(diào)節(jié),假設(shè)腿部關(guān)節(jié)點(diǎn)為joint-crotch,則根據(jù)腿長調(diào)節(jié)參數(shù)si,crotch調(diào)整模板體型的方式如下:
其中:Bi,joint-crotch和Tjoint-crotch分別為體型Bi和T的關(guān)節(jié)點(diǎn).網(wǎng)格M Bi中受B i,joint-crotch影響的頂點(diǎn)會(huì)根據(jù)蒙皮信息來調(diào)整坐標(biāo).
(2)圍長的調(diào)節(jié).文獻(xiàn)[6]對(duì)圍長使用圓形近似建模,在調(diào)整圍長時(shí)近似為調(diào)節(jié)圓的半徑,并對(duì)半徑的縮放做約束,縮放參數(shù)根據(jù)模型頂點(diǎn)的y坐標(biāo)進(jìn)行三次插值獲得.由于同樣圍長的圍度外觀表現(xiàn)可能不同,通過插值的方法擴(kuò)展性較差,本文采用外觀調(diào)整參數(shù)靈活地約束縮放參數(shù).
圖1 腰圍的測(cè)量Fig.1 Waist measurement
其中:n為頂點(diǎn)的單位法向向量;k為滿足一定約束的頂點(diǎn)縮放參數(shù),表示為
其中:θ為頂點(diǎn)v的法線在平面Pwaist上的投影與水平方向的夾角(如圖2所示).
α作為外觀調(diào)整參數(shù),使得同樣圍長的部位有不同的外觀表現(xiàn)形式,α以Bézier為控制曲線,滿足如下公式:
圖2 腰圍的縮放原理Fig.2 The method of zooming waist
其中:Pi為Bézier曲線的控制頂點(diǎn).
布料的真實(shí)模擬可以方便用戶判斷衣服的大小和質(zhì)感,主要表現(xiàn)在衣服的總體輪廓和布料的褶皺細(xì)節(jié).基于物理模擬的衣服能產(chǎn)生合理逼真的效果,但隨著模型精度的增加,模擬的速率會(huì)不斷降低.本文需要模擬不同精度的衣服數(shù)據(jù),在試衣的在線階段,依靠低精度網(wǎng)格模擬的實(shí)時(shí)性;在試衣的樣本采集階段,著重于高精度網(wǎng)格模擬的真實(shí)性.兩個(gè)階段可以使用不同的衣服模擬方法,比如針對(duì)粗模擬的實(shí)時(shí)性,可以選擇質(zhì)點(diǎn)彈簧模型,而為了采集更真實(shí)的衣服樣本,選擇連續(xù)體模型表示布料,能夠模擬不同材質(zhì)衣服的變形效果.在本文中,兩個(gè)階段使用同樣的衣服模擬方法.
為了模擬任意三角網(wǎng)格生成的衣服模型,本文使用簡化的質(zhì)點(diǎn)彈簧模型[15],在每條邊的頂點(diǎn)之間添加結(jié)構(gòu)彈簧,相鄰兩個(gè)三角面片非公共邊的頂點(diǎn)之間添加彎曲彈簧,使用隱式歐拉方法[16]求解布料動(dòng)力學(xué)方程.在衣服模擬的過程中,衣服與人體的碰撞檢測(cè)和響應(yīng)過程往往是布料模擬的計(jì)算瓶頸,特別在人體和布料網(wǎng)格面片數(shù)目較大的情況下,模擬的幀率會(huì)急速下降,文獻(xiàn)[17]對(duì)模型所在的空間做劃分并建立哈希表,根據(jù)模型頂點(diǎn)位置索引空間位置,索引到同一個(gè)空間的多個(gè)模型之間需要碰撞檢測(cè).由于虛擬試衣中人體姿態(tài)不會(huì)變化,本文通過直接劃分人體模型空間并建立哈希表,將布料頂點(diǎn)先轉(zhuǎn)化到人體模型空間坐標(biāo)系再做碰撞檢測(cè),保證了粗網(wǎng)格衣服模擬的實(shí)時(shí)性.當(dāng)檢測(cè)到布料頂點(diǎn)和人體模型碰撞后,本文使用文獻(xiàn)[18]的方法做碰撞響應(yīng),根據(jù)人體模型表面的摩擦因數(shù)和彈性恢復(fù)系數(shù),改變布料頂點(diǎn)的速度.
針對(duì)不同的體型,虛擬試衣需要快速真實(shí)地模擬衣服的著裝效果.文獻(xiàn)[2]根據(jù)體型特征直接得到衣服穿著結(jié)果,忽略了著衣過程的物理模擬,降低了著裝的真實(shí)性.本文采用衣服模擬樣本合理插值,充分考慮因體型影響的物理模擬結(jié)果,同時(shí)減少了前期訓(xùn)練時(shí)間.
在線試衣階段之前,本文需要采集不同體型樣本下衣服模擬的特征.體型的獲取和衣服特征的提取是這一階段的關(guān)鍵.
3.1.1 體型樣本的獲取
本文通過體型調(diào)節(jié)參數(shù)調(diào)整模板人體,使用第1節(jié)所述的體型調(diào)節(jié)方法,采集了身高160~180 cm的各種體型80個(gè),部分體型樣本如圖3所示.
圖3 部分體型調(diào)節(jié)樣例Fig.3 Some samples of human body
3.1.2 衣服特征提取
在線試衣階段,本文依靠精細(xì)網(wǎng)格的衣服模擬結(jié)果來添加細(xì)節(jié),因此,在樣本采集階段,通過對(duì)粗網(wǎng)格衣服模型細(xì)分生成精細(xì)模型,對(duì)于每一個(gè)體型樣本,同時(shí)模擬兩種精度的衣服模型結(jié)果,將兩個(gè)樣本作為鍵值對(duì)存儲(chǔ)起來.鍵作為索引的關(guān)鍵,要充分體現(xiàn)衣服在特定體型下的特征,主要表現(xiàn)為衣服的輪廓和褶皺.由于將整件粗網(wǎng)格衣服的模擬結(jié)果當(dāng)作鍵值會(huì)增加樣本采集的數(shù)量,因此本文提取了衣服面片級(jí)特征.
基于以下兩點(diǎn)假設(shè):(1)布料粗網(wǎng)格發(fā)生褶皺的部位是由粗網(wǎng)格面片在人體坐標(biāo)系中的位置決定的;(2)布料粗網(wǎng)格褶皺表現(xiàn)是由網(wǎng)格面片之間的夾角決定的.這里提取的面片級(jí)特征如下:設(shè)第i(i=1,2,…,W)個(gè)體型對(duì)應(yīng)的粗細(xì)網(wǎng)格衣服樣本分別為Xi和Y i,粗網(wǎng)格衣服三角面片數(shù)為N,對(duì)于Xi中的每一個(gè)三角面片t k(v tk,1,v tk,2,v tk,3),vtk,j∈R1×3(j=1,2,3,k=1,2,…,N),其相鄰的3個(gè)三角面片分別為a,b,c,如圖4所示,則tk的特征表示為ei,tk= (vtk,1,vtk,2,vtk,3,va,2,vb,2,vc,2).tk的3個(gè)頂點(diǎn)位置決定了褶皺的部位,另外3個(gè)相鄰三角面片的非共享頂點(diǎn)位置決定了面片之間的夾角,將存儲(chǔ)粗網(wǎng)格衣服的模擬結(jié)果所有面片級(jí)特征作為鍵集合K.
圖4 粗網(wǎng)格衣服的面片特征Fig.4 Triangle feature of coarse cloth mesh
精細(xì)網(wǎng)格是通過對(duì)粗網(wǎng)格細(xì)分產(chǎn)生的,本文采用多面體細(xì)分方法(如圖5所示),將粗網(wǎng)格的單個(gè)面片細(xì)分為16個(gè)面片,經(jīng)過物理模擬之后將產(chǎn)生更多的褶皺細(xì)節(jié),這些細(xì)節(jié)特征是由細(xì)分后的面片頂點(diǎn)位置決定的.針對(duì)粗網(wǎng)格的每一個(gè)面片,細(xì)網(wǎng)格都有對(duì)應(yīng)的16個(gè)面片,將這16個(gè)面片的所有頂點(diǎn)位置作 為 精 細(xì) 網(wǎng) 格 的 面 片 級(jí) 特 征,即ei,t′k= (vt′k,1,vt′k,2,…,v t′k,15),則存儲(chǔ)細(xì)網(wǎng)格衣服模擬結(jié)果的值集合V為
K中的每一個(gè)鍵都與V中的值一一對(duì)應(yīng),構(gòu)成鍵值對(duì).
圖5 粗網(wǎng)格面片的細(xì)分方法Fig.5 Coarse mesh subdivision
在線試衣是根據(jù)粗網(wǎng)格模擬的結(jié)果,搜索前期采集的樣本數(shù)據(jù),最終插值生成細(xì)網(wǎng)格衣服,從而達(dá)到快速模擬試衣效果的目的.
3.2.1 粗網(wǎng)格衣服模擬
在目標(biāo)人體身上模擬粗網(wǎng)格衣服的結(jié)果,并提取網(wǎng)格面片的特征,作為索引精細(xì)網(wǎng)格面片的鍵值.本文關(guān)注如何快速模擬衣服的最終穿著效果,因此在粗網(wǎng)格衣服模擬穩(wěn)定后再進(jìn)行索引并插值細(xì)網(wǎng)格,并使用下式作為粗網(wǎng)格模擬的迭代終止條件.
其中:M=0.008 mm;vi,curr,vi,pre分別為粗網(wǎng)格衣服相鄰兩次模擬后的頂點(diǎn);V為粗網(wǎng)格頂點(diǎn)集合;N為頂點(diǎn)個(gè)數(shù).
粗網(wǎng)格衣服模擬結(jié)束后,提取每個(gè)面片的特征向量,如何將特征向量轉(zhuǎn)化為索引精細(xì)網(wǎng)格面片的鍵值是這一階段的關(guān)鍵.本文根據(jù)前期采集的樣本特征,以距離d=‖e i-e j‖表征特征i與特征j之間的相似度,使用k近鄰搜索(KNN)方法,并以kdtree作為劃分高維空間的數(shù)據(jù)結(jié)構(gòu),針對(duì)每個(gè)實(shí)時(shí)模擬的粗網(wǎng)格面片ti,特征向量為e ti,在該面片所對(duì)應(yīng)的粗網(wǎng)格特征向量數(shù)據(jù)庫中,搜索k個(gè)鄰近的特征向量,于是,e ti轉(zhuǎn)化為k個(gè)鍵值的體型樣本索引集合I,如圖6所示.
圖6 細(xì)網(wǎng)格衣服的生成過程Fig.6 The process of generating fine mesh cloth
在搜索k近鄰特征向量之前,需要將搜索域的數(shù)據(jù)載入內(nèi)存,樣本數(shù)據(jù)量較大會(huì)占用過多內(nèi)存.因此,根據(jù)體型特征確定載入內(nèi)存的樣本數(shù)據(jù).本文在粗網(wǎng)格衣服模擬的同時(shí),同樣使用KNN方法并行查找與當(dāng)前體型最鄰近的k個(gè)體型樣本,并將這些樣本對(duì)應(yīng)的粗細(xì)網(wǎng)格衣服特征載入內(nèi)存,從而降低搜索域的范圍,減少內(nèi)存消耗.
3.2.2 細(xì)網(wǎng)格衣服的生成
根據(jù)粗網(wǎng)格衣服每一個(gè)面片特征的k個(gè)鍵值,從樣本數(shù)據(jù)庫中索引k個(gè)細(xì)網(wǎng)格面片特征,在使用k近鄰搜索時(shí),本文能夠得到當(dāng)前面片特征與k個(gè)鄰接點(diǎn) 之間的距離d j= ‖e ti-e j,ti‖,j∈I(如圖6所示),使用反距離加權(quán)插值法求得細(xì)網(wǎng)格特征計(jì)算如下式所示.
細(xì)網(wǎng)格特征為一系列頂點(diǎn)坐標(biāo)的順序排列,因此,細(xì)網(wǎng)格衣服的生成只需要使用特征向量替換粗網(wǎng)格衣服細(xì)分后所對(duì)應(yīng)的面片特征,針對(duì)細(xì)網(wǎng)格不同面片特征中的共享頂點(diǎn),本文使用均值方法生成共享頂點(diǎn)的最終坐標(biāo).
由于插值整合后的衣服與目標(biāo)人體之間沒有碰撞檢測(cè),可能會(huì)產(chǎn)生衣服滲入人體的現(xiàn)象(如圖7(a)所示),設(shè)插值后的細(xì)網(wǎng)格衣服為Y,頂點(diǎn)集合為V,本文參考文獻(xiàn)[11]的思想,將細(xì)網(wǎng)格的調(diào)整轉(zhuǎn)化為求解如下最優(yōu)化問題:
其中:P為滲入的頂點(diǎn)集合;y i為衣服的頂點(diǎn)坐標(biāo);p i為y i在其最近的人體模型面片上的投影點(diǎn);y′i為上一次調(diào)整優(yōu)化的頂點(diǎn)坐標(biāo),初始值為插值后的衣服頂點(diǎn);N i為頂點(diǎn)i的鄰接點(diǎn)集合;ωs和ωd分別表征平滑項(xiàng)和阻尼項(xiàng)的權(quán)重,在本文中,ωs=6.0,ωd=0.8.由于本文的衣服細(xì)網(wǎng)格相對(duì)于人體粗模型更加精細(xì),按照文獻(xiàn)[11]將滲入人體的衣服頂點(diǎn)移動(dòng)到最近的人體網(wǎng)格頂點(diǎn)會(huì)導(dǎo)致衣服網(wǎng)格的扭曲,因此,本文選擇將滲入的頂點(diǎn)沿其最近的人體模型面片的投影方向移動(dòng)到面片表面.SY和D Y分別為平滑項(xiàng)和阻尼項(xiàng),這兩項(xiàng)是為了合理地移動(dòng)滲入的頂點(diǎn),保證衣服調(diào)整的平滑性,并維持衣服表面的褶皺細(xì)節(jié).
上述目標(biāo)函數(shù)實(shí)際為多個(gè)關(guān)于衣服頂點(diǎn)的線性方程的平方和,使用最小二乘化解為求稀疏線性方程組的解.本文通過對(duì)線性方程組系數(shù)矩陣的LU分解,能夠快速求得上述最優(yōu)化問題的解.1次迭代優(yōu)化的過程如圖7所示.
圖7 優(yōu)化過程Fig.7 Optimization process
本文使用11個(gè)人體體型調(diào)節(jié)參數(shù),采集80個(gè)體型樣本,7個(gè)體型測(cè)試用例,1件長袖衣服模型,1個(gè)模板人體模型,實(shí)驗(yàn)部署在一臺(tái)32位臺(tái)式機(jī)上(處理器:Intel? CoreTM2 Q8300 2.5 GHz,內(nèi)存:4 GB,顯卡:GeForce GTS 250).以下提到的衣服模擬包括粗網(wǎng)格衣服模擬(coarse PBS,記為C-PBS)、細(xì)網(wǎng)格衣服模擬(fine PBS,記為F-PBS)和本文基于樣本插值的快速衣服模擬(fast simulation,記為FS),涉及的衣服和人體模型如表1所示.
表1 衣服和人體模型信息Table 1 Information of cloth mode and human body model
FS在模擬粗網(wǎng)格階段,使用低精度人體模型,使模擬達(dá)到實(shí)時(shí);而作為插值來源的細(xì)網(wǎng)格衣服,為了捕獲更真實(shí)的細(xì)節(jié),在樣本采集階段,本文使用高精度的人體模型作為碰撞體.FS在搜索鄰近的細(xì)網(wǎng)格樣本插值過程中,插值樣本的數(shù)量直接影響最后的衣服外觀表現(xiàn).樣本數(shù)較少會(huì)導(dǎo)致高頻細(xì)節(jié)過于豐富,容易產(chǎn)生噪聲;樣本數(shù)較多將增加采樣粒度,降低KNN搜索和插值效率.經(jīng)過實(shí)驗(yàn)證明,本文選擇5個(gè)樣本數(shù)據(jù)進(jìn)行反距離加權(quán)插值能夠得到較理想的結(jié)果,既抑制了大部分噪聲,又保留了豐富的細(xì)節(jié),如圖8所示.
圖8 衣服細(xì)網(wǎng)格物理模擬和樣本插值結(jié)果Fig.8 Results of fine PBS and samples interpolation
本文通過調(diào)整模板人體,生成7組人體模型,部分體型參數(shù)如表2所示,并測(cè)試了這些體型下衣服的著裝效果,如圖9所示.在本文的實(shí)驗(yàn)環(huán)境和方法下,C-PBS和 F-PBS的模 擬 幀 率分別 為115和5幀/s.通過與F-PBS的過程相比,分別從虛擬試衣的著裝時(shí)間和衣服模擬的外觀特征來評(píng)估本文的衣服模擬方法.其中,衣服外觀差異ε[2]評(píng)測(cè)使用下式:
其中:V為細(xì)衣服網(wǎng)格頂點(diǎn)集合;N為頂點(diǎn)數(shù);vi,F(xiàn)S和vi,F(xiàn)-PBS分別為 FS和 F-PBS模擬結(jié)果的頂點(diǎn)坐標(biāo).FS將虛擬試衣的著裝過程分為粗模擬、樣本插值和優(yōu)化3個(gè)階段,實(shí)驗(yàn)結(jié)果如表3所示.
表2 測(cè)試組體型參數(shù)Table 2 Body parameters list in test group cm
圖9 不同體型的人體著裝效果Fig.9 The effect of virtual fitting for different body shape
表3 虛擬試衣實(shí)驗(yàn)記錄Table 3 Experiment records of virtual fitting
從表3中可以看出,F(xiàn)S的虛擬著衣時(shí)間主要集中于前期粗模擬階段,不同體型人體相對(duì)于同一件衣服的著裝速度不同,當(dāng)衣服適配體型時(shí),粗網(wǎng)格衣服模擬能更快達(dá)到穩(wěn)定狀態(tài).FS的衣服細(xì)節(jié)是通過插值獲得,插值的時(shí)間并不受體型因素的影響,而優(yōu)化的時(shí)間在于稀疏線性方程組的求解時(shí)間,由于優(yōu)化是一個(gè)迭代的過程,會(huì)隨衣服滲入人體的頂點(diǎn)位置的變化而變化,但基本可以在3次迭代內(nèi)完成.FS能夠在平均4.3 s情況下完成一次穿衣過程,速度約為F-PBS的50倍,而試衣的結(jié)果與F-PBS相似,平均外觀差異為0.363 cm.因此,F(xiàn)S能夠快速模擬衣服在不同體型身上的試穿效果,適用于虛擬試衣的場景.
FS的方法比較依賴樣本的采樣粒度,由表3可以看出,不同體型對(duì)應(yīng)的外觀差異是不同的.當(dāng)衣服相較于體型偏大時(shí),會(huì)產(chǎn)生更多的褶皺,如圖10(a)所示,在這種情況下,前期體型采樣粒度較大會(huì)丟失衣服的部分高頻褶皺,但是依然能夠捕捉到精細(xì)網(wǎng)格的輪廓和部分細(xì)節(jié);而在體型與衣服適配的情況下,如圖10(b)所示,F(xiàn)S能夠較完整地還原細(xì)網(wǎng)格模擬的結(jié)果.
圖10 F-PBS和FS的不同體型及采樣粒度衣服模擬結(jié)果對(duì)比Fig.10 Results contrast of cloth simulation between F-PBS and FS for different body shape of samples size
本文從虛擬試衣的需求出發(fā),建立不同體型與特定衣服著裝的關(guān)系,提出了可適用于不同體型的衣服快速模擬方法.通過提取衣服的面片級(jí)特征,能夠有效地表達(dá)衣服的變形細(xì)節(jié),并將粗網(wǎng)格和細(xì)分后的面片特征分別作為索引與插值的對(duì)象,為實(shí)時(shí)模擬的粗網(wǎng)格面片提供更多的褶皺細(xì)節(jié).由于插值和優(yōu)化的過程是在粗網(wǎng)格模擬穩(wěn)定后執(zhí)行,使得虛擬試衣的時(shí)間接近粗網(wǎng)格衣服著裝的時(shí)間,因此能夠在3D虛擬試衣的實(shí)際應(yīng)用中實(shí)現(xiàn)快速試衣.本文方法的不足在于前期數(shù)據(jù)準(zhǔn)備階段需要花費(fèi)較多的時(shí)間,衣服樣本數(shù)據(jù)占用的存儲(chǔ)空間較大等,這些問題需要在后續(xù)工作中加以改進(jìn).
[1]CORDIER F,SEO H,MAGNENAT-THALMANN N.Madeto-measure technologies for an online clothing store[J].IEEE Computer Graphics and Applications,2003,23(1):38-48.
[2]ZHANG X,WONG L Y.Virtual fitting:Real-time garment simulation for online shopping[C]//ACM SIGGRAPH 2014 Posters.ACM,2014:41.
[3]ANGUELOV D,SRINIVASAN P,KOLLER D,et al.Scape:Shape completion and animation of people [J].ACM Transactions on Graphics,2005,24(3):408-416.
[4]KASAP M,MAGNENAT-THALMANN N.Parameterized human body model for real-time applications[C]//International Conference on Cyber Worlds. Hannover, Germany:IEEE,2007.
[5]KASAP M,MAGNENAT-THALMANN N.Sizing avatars from skin weights[C]//In Proc VRST.New York,USA:ACM Press,2009.
[6]YUAN M,KHAN I R,F(xiàn)ARBIZ F,et al.A mixed reality virtual clothes try-on system [J].IEEE Transactions on Multimedia,2013,15(8):1958-1968.
[7]石敏,毛天露,夏時(shí)洪,等.布料動(dòng)畫方法研究進(jìn)展及問題[J].計(jì)算機(jī)學(xué)報(bào),2012,35(12):2446-2458.
[8]BRIDSON R,F(xiàn)EDKIW R,ANDERSON J.Robust treatment of collisions,contact and friction for cloth animation[J].ACM Transactions on Graphics,2002,21(3):594-603.
[9]GOLDENTHAL R,HARMON D,F(xiàn)ATTAL R,et al.Efficient simulation of inextensible cloth [J]. ACM Transactions on Graphics,2007,26(3):49.
[10]KANG M K,LEE J.A real-time cloth draping simulation algorithm using conjugate harmonic functions[J].Computers& Graphics,2007,31(2):271-279.
[11]GUAN P,REISS L,HIRSHBERG D A,et al.DRAPE:Dressing any person[J].ACM Transactions on Graphics,2012,31(4):35.
[12]WANG H,HECHT F,RAMAMOORTHI R,et al.Examplebased wrinkle synthesis for clothing animation[J].ACM Transactions on Graphics,2010,29(4):107.
[13]KIM D,KOH W,NARAIN R,et al.Near-exhaustive precomputation of secondary cloth effects[J].ACM Transactions on Graphics,2013,32(4):87.
[14]HAHN F,THOMASZEWSKI B,COROS S,et al.Subspace clothing simulation using adaptive bases[J].ACM Transactions on Graphics,2014,33(4):105.
[15]SELLE A,SU J,IRVING G,et al.Robust high-resolution cloth using parallelism,history-based collisions,and accurate friction[J].IEEE Transactions on Visualization and Computer Graphics,2009,15(2):339-350.
[16]BARAFF D,WITKIN A.Large steps in cloth simulation[C]//In Proc SIGGRAPH. New York, USA: ACM Press,1998.
[17]TESCHNER M,HEIDELBERGER B,MUELLER M,et al.Optimized spatial hashing for collision detection of deformable objects[C]//Proceedings of Vision,Modeling,Visualization.2003:47-54.
[18]CHEN Z,F(xiàn)ENG R,WANG H.Modeling friction and air effects between cloth and deformable bodies[J]. ACM Transactions on Graphics,2013,32(4):88.
Fast Garment Simulation Method for Different Human Body Shape
HUANGLei,YANGXu-bo
(School of Software,Shanghai Jiaotong University,Shanghai 200240,China)
An sample-interpolation based garment simulation method is presented.In early stage,coarse and refined garment simulation results are sampled for different human body with physical based simulation(PBS),then,refined garment samples are acquired by mesh features of coarse ones when simulating in online stage.At last,the fine samples'meshes based on inverse distance weights are interpolated and synthesized to an integrated garment.Experimental result shows the method can fast simulate details of garment on different human body.
virtual try-on;garment simulation;human body shape;sample-interpolation
TP 391
A
2014-11-14
國家自然科學(xué)基金資助項(xiàng)目(61173105,61373085)
黃 磊(1991—),男,安徽合肥人,碩士研究生,研究方向?yàn)樘摂M現(xiàn)實(shí).E-mail:hl_h(yuǎn)fut@163.com
楊旭波(聯(lián)系人),男,教授,E-mail:yangxubo@sjtu.edu.cn
1671-0444(2015)05-0631-07