薛 原, 黃璐宸, 楊若瑜
(南京大學軟件新技術國家重點實驗室,江蘇 南京 210046)
不同材質服裝的實時動態仿真
薛原, 黃璐宸, 楊若瑜
(南京大學軟件新技術國家重點實驗室,江蘇 南京 210046)
提出參數化的人體建模方法。將人體分為10個部分,并且定義了一系列特征參數用來控制人體的拓撲結構。文獻[1]中提出的Zhang樣條曲線被用于構造每個部分的人體表面。在完整人體模型的基礎上,實現實時的著裝模擬。在傳統彈簧質點模型的基礎上提出大彎曲彈簧以實現褶皺效果。另外,通過合理的參數設置以及多重校正機制實現不同材質的效果,包括絲質、棉質和彈性布料。實驗結果證明該系統可以建立較為真實的人體模型,并且能實時地進行較為復雜的試穿仿真。
Zhang樣條;參數化變形;大彎曲彈簧;服裝材質
當下,隨著網絡購物的盛行,虛擬試衣技術越來越被廣大學者所關注。實現虛擬試衣系統需要考慮兩個關鍵問題,即真實的人體模擬和服裝在虛擬人體上的動態試穿仿真。
針對不同的數據來源和不同的應用場景,人體建模方法有許多,其相關工作取得了一些成果。一般數據來源可分為二維圖像、三維視頻、三維點云以及用戶所指定的參數。Lin和Wang[2]提出了以數據源為人體的彩色正面照和側面照的重建方法,其過程為:輪廓檢測、型值點檢測、獲取人體各部分尺寸信息以及根據已有3D模版重建人體模型。這種方法對于照片的拍攝要求較為嚴格,且由于只用到二維信息,對于人體腋下等部位的重建較為粗糙。Kakadiaris和 Metaxas[3]提出了通過在圓屋頂安裝多臺攝像機來多方位捕獲不同視點的場景,并使用正交視頻序列進行人體建模。該方法對設備和場地的要求較高。Izadi等[4]通過Kinect深度攝像頭獲取人體的三維點云,使用ICP算法、體素整合算法和光線投射算法以獲取變換后的坐標,最終重建出人體模型。Wang[5]通過3D無序點云建立模型并將其加入數據庫,然后通過比對數據庫中的模型和將要重建的人體,選取數據庫中與該重建人體較為接近的模型來實現人體重建。基于點云方法構建的人體比較逼真,但大量點云數據的存儲、傳輸成為其瓶頸。
毛天露和王兆其[6]提出的人體建模步驟為:獲取人體的21個測量參數、縮放人體表面模型的相應部分、建立模型、構造人體骨架并通過骨架驅動人體模型以實現較為簡單的動作。這種參數化變形方法實時性較好,但在完成動作時,需對人體拼接部位進行人工干預,否則易出現錯位、不接合等問題。文獻[7-8]通過對已有模型進行修改實現實時性,類似的參數化建模方法的效果更多依賴于初始模型的精細化程度,另外,為了獲得較好效果需要對初始模型進行分割。Barmpoutis[9]提出利用 Kinect 每幀數據直接進行人體表面建模,該方法不關注人體結構尺寸,但某些點的誤差會影響整個建模結果。總之,以上人體建模方法欠缺效率及靈活性,另不能滿足虛擬試衣系統對實時及完成各種動作的人體建模的要求。
復雜的服裝仿真是以簡單的布料模擬為基礎的,因此國內外很多研究者對簡單布料的特性進行了探究并歸納出一般規律。文獻[10]比較了包括歐拉積分、中點積分和龍格-庫塔積分方法,將這些方法實現在簡單布料模型上,并通過實驗結果比較了其方法的優缺點及適用情況。Kang等[11]使用隱式積分實現布料仿真,并對隱式積分的特性進行研究,得出隱式積分相比顯式積分具有較高的穩定性。另外,在仿真中采用了物理和幾何的結合方法,即使用三次樣條曲線對褶皺效果進行模擬。文獻[12-13]針對摩擦力提出了更為精確的公式,對布料和剛性球體的碰撞過程進行實驗,使得碰撞處理的過程更加真實。Cao和He[14]研究了彈簧質點模型中的超彈性現象,并提出使用快速碰撞樹進行碰撞檢測以加速這一過程。
為實現較為真實的試穿仿真效果,文獻[15]提出基于幾何的區域劃分方法以實現碰撞檢測,其只獲取質點的位置信息而不考慮質點的速度和受力情況。Wang等[16]對織物構建褶皺數據庫,相同的褶皺可以被應用到相似的動作中。Guan等[17]使用兩組訓練集,一組包含體型不同但動作相同的人體模型,另一組是相同體型但動作不同的人體試穿的結果。將訓練結果結合就可獲得特定體型和動作的人體試穿效果。劉炯宙等[18]將三維服裝模型劃分為緊身層、浮貼層和寬松層,前兩層利用蒙皮和近似剛性的模擬來保證效率,寬松層則采用物理模擬以保證一定真實性。這些方法效果較為逼真,但是由于物理信息缺乏或是實現過程較為復雜,因此很難應用在動態試穿仿真中。
為實現不同的材質效果,Wang等[19]在傳統的質點彈簧模型基礎上增加若干組彈簧,并增加彈簧參數數量以充分實現服裝應有的各向異性效果。此方法實現了材質的區分,但對每種材質的模擬都需要進行許多參數組合,限制了方法的擴展性,同時又增加了程序計算量。Liu等[20]通過測量獲取服裝的 3組幾何信息,分別為面積、長度和角度信息,并通過紋理映射的方式實現仿真。由于采用了幾何方法,因此難以實現動態仿真,另外由于測量參數數目巨大,該方法也不適用于較為復雜的服裝模擬。姜延等[21]通過測量的方法測試服裝樣本的力學參數,并重點考慮與懸垂性相關參數,通過BP神經網絡建立織物力學屬性與仿真控制參數之間的非線性映射關系。此方法的不足之處是需要大量計算,實時性欠佳。
本文提出一種兼顧效率、真實性和靈活性的參數化人體建模方法,并在此人體模型的基礎上,實現完整的試穿仿真系統。不同于前文提到的通過大量參數設置實現的材質區分方法,本文根據不同材質的特性,對材質的處理貫穿于仿真過程中的每個步驟,從而避免了大量的測量工作,大大提升了系統效率和靈活性。通過改進常用的質點彈簧模型,提出了大彎曲彈簧以快速實現褶皺效果。圖1為本文試穿仿真方法的整體流程圖。

圖1 試穿仿真系統流程圖
參數化三維人體建模需經過特征點、特征尺寸獲取、數據預處理、型值點計算、表面重建、各曲面拼接、顯示等步驟。在此主要流程基礎上,若要實現參數化建模功能或人體動畫效果,還需分別返回到型值點計算或特征點、特征尺寸獲取這兩個步驟重新對人體表面點進行計算。本文中特征點、特征尺寸的獲取既可以通過 Kinect深度攝像頭識別獲取,也可簡單的由用戶指定。前者精確性較高,后者便于人體模型的靈活調整。
1.1參數化模型設計
由于人體表面并非規則,尤其是人體每個部分接合處拓撲結構比較復雜并且要考慮到靈活的動作變換,因此人體表面不能以整體的方式進行重建。本文將人體模型分為左右大臂、左右小臂、左右大腿、左右小腿、軀干、臀部10個部分。根據一般人體的結構特征,選取對體型有較大影響的測量參數作為參數化建模的依據。
特征參數包含特征點和特征尺寸。特征點分別為:衣領、肩膀、腋窩、胸口、乳頭、腰部、臀部、大腿、膝蓋,人體骨骼可以通過順次連接這些特征點(除去乳頭)。特征尺寸包括身高、頸寬、頸厚、肩寬、胸圍、腰圍、臀圍、大腿圍、小腿圍、大臂圍、小臂長、小臂圍、乳間距、乳高、肚高。特征尺寸中如三圍、臂長、身高等是人體的主要尺寸,而乳高、乳間距、肚高等本文視為附加特征尺寸,可用于構造特殊的人體模型。
人體表面的型值點是在特征點和特征尺寸的基礎上并結合標準人體模型的分層信息得到的。以人體軀干為例,計算方法如下:
首先確定人體軀干所需的型值點層數,如胸部及以上較為復雜,其建模的型值點層應更為密集,而腹部建模型值點層則應相對稀疏。最終使用 9層型值點進行建模,包括頸部頂層、頸部底層、肩膀層、胸部附近層,胸部和腹部之間三層,腹部兩層。
其次,需要確定每層型值點的 Y坐標,由于初始人體的姿勢是垂直站立的,因此同一層型值點間的 Y坐標相同。人體軀干長度可以根據特征點計算獲得,如表 1所示,特征點高度所占人體模型總高度的比例結果是一個統計平均值。根據這一結果和每一部分的層數可計算出每一層的 Y坐標。型值點的X或Z坐標可通過該型值點附近的特征尺寸獲得。例如腹部特征點的計算過程如下:

表1 特征點高度比例均值
1.2基于Zhang樣條的人體建模
本文采用各個部分建模的方式,并且最終需要保證人體模型易于修改。采用 Zhang樣條曲面進行人體建模,因為該曲面易于實現光順拼接,使得每個部分連接后的效果更加逼真。另外,Zhang樣條是插值型樣條曲面,所以可將所有的型值點直接作為控制點使用,對人體的體型和動作修改都更加快捷。Zhang樣條的樣條基函數由sin函數和高斯函數擬合得到,因此繼承了高斯函數具有快速衰減至 0的特性,該特性有益于局部控制。同時繼承了sin函數易于插值的特性。其中一個基函數如下:

其中,a大于0,為了減少錯誤和產生光滑表面,取a∈[1/7,1/3]。
本文使用“重復型值點”的方法以實現光順拼接,若要對一塊曲面片 u方向首尾光順拼接,則需在u方向首尾各重復兩層v方向的型值點作為輔助控制點,并將控制點矩陣代入 Zhang插值樣條曲面公式;若要對有公共交點的不同曲面片完成光順拼接,則在曲面片交接線附近各取兩層點作為輔助控制點,可簡單選取兩曲面上交接線附近的型值點。例如,腰部的第j層控制點為:

本文人體各個部分建模步驟如下:
(1) 計算人體軀干各層控制點,形成人體軀干控制點矩陣。
(2) 求取Zhang插值樣條曲面的一組基函數。
(3) 將控制點坐標與一組基函數的值代入Zhang插值樣條曲面表達式中,可通過調整參數方程中u,v的變化率,求得人體表面任意個數點的坐標。
(4) 對軀干生成點進行三角網格化,并計算各點法向量,方便后續光照條件下觀察人體。
對于每個人體部分,都需要構建一張曲面片,除了考慮曲面片本身的封閉拼接之外,還需考慮不同人體部位之間的拼接,如大腿與小腿之間、大臂與小臂之間、軀干與臀部之間、臀部與大腿之間、大臂與軀干的肩部之間。
由于大腿與小腿各層型值點數量相同,且有公共的一層型值點,故可在接合處各增加兩層輔助控制點即可完成光順拼接;大臂與小臂、軀干與臀部之間的拼接同理。例如,當對臀部和軀干進行拼接時,腰部和臀部的控制點如下:
拼接前:

拼接后:

服裝試穿首先需要建立服裝模型,構造彈簧,接著選取適當的參數,選擇合適的積分方法和校正方法,最后進行適當的碰撞檢測和處理。
2.1服裝建模和彈簧構造
典型的服裝建模方法為:幾何模型和物理模型。幾何模型多用于靜態展示;物理模型可分為連續力學模型和粒子系統。其中,連續力學模型實時性不高,而粒子系統中力的相互關系是局部化的,計算量較小,實時性較高,因此仿真采用粒子系統。
首先根據模型初始的點和面信息建立鄰接表,在此基礎上添加彈簧信息,彈簧種類包括傳統質點-彈簧模型中的拉伸彈簧、剪切彈簧、彎曲彈簧和本文提出的大彎曲彈簧。
考慮到衣服模型由 3dmax建模獲取,一般較為精細,模型頂點和面片的信息較為復雜,為了減少仿真過程中不必要的耗時,需要對服裝網格模型進行簡化。常用的網格簡化算法包括頂點刪除法、邊收縮法和三角形刪除法。其中,三角形刪除法比邊收縮法簡化模型速度更快,相對于頂點刪除法數據結構的存儲較為簡單,因此選用三角形刪除法。
此外,本文設計了大彎曲彈簧以實現特定材質的仿真。該彈簧不同于原模型彈簧,主要用于控制服裝產生較大范圍褶皺效果。
所有彈簧的構造過程如下:
(1) 對所有相鄰質點之間添加拉伸和剪切彈簧,縱橫方向拉伸,斜向剪切。
(2) 對所有中間相隔一個質點的兩質點間添加彎曲彈簧,包括水平豎直和斜向。
(3) 根據指定簡化度對模型簡化,得到簡化質點。此處的簡化度可根據需要調整,并且可以與下文提到的碰撞檢測中的簡化度不同。
(4) 對于任意簡化質點P,獲取該質點所有鄰接簡化質點Qi(i=1,???,n),在P和Qi之間添加大彎曲彈簧。
彈簧構造示意圖如圖2所示,其為只進行一次簡化的彈簧構造效果。假設進行一次簡化后,刪除 Δv0v1v2,此時頂點 v1、v2被刪除,v0被保留并標記為簡化質點,與 v0鄰接的質點(除去 v1、v2)以及與原v1、v2鄰接的質點均標記為簡化質點,并在質點間添加大彎曲彈簧,而原所有非簡化點之間彈簧保持不變。圖 2(b)中所示點線為與 v0相連的大彎曲彈簧。

圖2 彈簧構造示意圖
2.2參數分類及使用
得到服裝模型后,需為模型添加物理信息。本文對服裝的物理仿真主要是通過設置不同的參數來實現,為了方便討論,將參數分為 4組,分別為外力相關參數,內力相關參數,碰撞相關參數以及其他參數(表2)。

表2 服裝仿真參數表
外力相關參數分為人為力和非人為力參數。非人為力是指服裝在自然狀態下受到的外部作用力,包括重力、風力和空氣阻力,其中重力可通過對象總質量和重力加速度這兩個參數實現,而風力和空氣阻力分別受到風力因子和空氣阻力系數的影響,公式為:
人為力是指為了使服裝產生特定運動效果所施加的外力,包括提拉力、拖拽力和旋轉力。施加這些力的目的是為了使模型產生多種多樣的運動,從而觀察模型的局部動態效果,以達到較精確仿真的目的。
內力相關參數為各種類型彈簧的相關參數,對于拉伸和剪切彈簧,內力相關參數包括拉伸常量,阻尼常量,彈簧最大伸長率。其中拉伸常量是阻礙彈簧拉伸的;而阻尼常量是為了使彈簧進行阻尼運動,因為彈簧振子的能量是會逐漸衰減的,因此,其振幅會逐漸縮小,最后穩定;彈簧最大伸長率用于限制彈簧最大長度,防止彈簧過度伸長。彈力計算公式如下:
大彎曲彈簧相關參數:拉伸常量、阻尼常量、彈簧原長。建模時,大彎曲彈簧的長度設為Lorigin,彈簧原長設為Lrest,一般情況Lrest<Lorigin,也就是說彎曲力在初始的簡化質點之間就存在,因此會出現褶皺效果。
碰撞相關參數:碰撞響應系數、靜摩擦系數和動摩擦系數。當服裝與人體發生碰撞時,服裝會受到人體的碰撞響應力,其垂直于碰撞平面向外。摩擦力包括靜摩擦力和動摩擦力,其由閾值決定,該值為響應力與靜摩擦系數的乘積。若超過閾值,則為動摩擦力,反之,則為靜摩擦力。根據常理,動摩擦系數略小于靜摩擦系數。
其他參數:積分步長、模型簡化度。后者是一個百分比,用來靈活控制碰撞檢測的效果和大彎曲彈簧的設置。
以上參數為實驗中用到參數的集合,對于某種特定類型織物或某種特定類型材質,所有參數將有變化。
2.3積分和校正
在設置一定的參數后,對每步進行積分計算,并得到下一時刻每個質點的速度和位移,即實現服裝動態效果。本文選取Verlet積分進行計算。
對于Sn+1和Sn–1,使用泰勒公式:

式(a)+(b),變形可得位置表達式:

式((a)–(b))/(2?t)可得速度表達式:

對于采用彈簧質點模型建立的系統,由于彈簧本身的性質,容易產生超彈性現象,即彈簧過度拉伸,造成最終效果失真。解決方法是通過積分后的校正對結果進行修改,常見的校正方法有基于位置和速度的校正。
基于位置的校正是指為每個彈簧設定一個閾值,該值通過彈簧最大伸長率獲得,稱為彈簧最大長度。傳統位置校正規定:如果彈簧長度超過最大長度或小于最小長度,則改變兩端質點位置,調整彈簧為設定的最大值/最小值,該方法稱為PM。為保證系統穩定性,本文采用改進位置校正(PMA),調整策略為:

按式(7)計算校正后質點的目標位置:

基于速度的校正是指通過改變彈簧兩側質點的速度以防止彈簧進一步伸長或縮短,常用方法為將速度清零,稱為VM。
對于較復雜模型,PM容易使模型整體產生抖動,需采用PMA以保證系統穩定性,本文介紹的復雜服裝模型中的拉伸和剪切彈簧就是采用PMA校正。對于復雜模型中的大彎曲彈簧,如果僅使用位置校正,就會表現出柔軟布料的特性,無法產生富有硬度特性的褶皺效果。需要結合速度校正,即采用PMA+VM的方法,使得模型迅速進入最終狀態。
2.4碰撞檢測和處理
對于衣服模型,在試穿過程中需要與人體模型進行碰撞檢測和碰撞處理[1]。
首先需要將人體模型網格點向外擴張,產生虛擬的人體模型,稱為擴張人體模型。服裝與人體進行碰撞檢測時,只需與擴張人體模型進行碰撞檢測,該方法可以只進行衣服質點和人體模型三角面片的碰撞,即“點-三角形”碰撞,從而避免了“邊-邊”碰撞和“三角形-點”碰撞。
為了實現服裝運動,碰撞檢測需要精確到人體每個部分,包括身體、大臂、小臂、大腿、小腿。因此,需要將人體進行劃分,并對人體的各個部位建立圓柱映射表、計算方向包圍盒(oriented bounding box, OBB),以加速碰撞檢測。
碰撞檢測和處理的流程如下:
首先對服裝中每一部分的簡化質點與所在映射表的人體塊進行碰撞檢測,如果發生碰撞,則進一步對每一部分的所有服裝質點進行檢測。無論是簡化點還是非簡化點,其檢測和處理過程均為:
(1) 對于某一質點P,首先判斷其是否在OBB包圍盒內。如果是,跳至2;否則,結束處理。
(2) 進一步檢測質點 P是否與擴張人體模型發生點-三角形碰撞,如果是,表示碰撞成立,否則,結束處理。
(3) 如果檢測質點P碰撞成立,則使其沿法向量向外拉伸至人體模型表面處,并對 P施加補償力,該力類似于人體對衣服的支撐力,方向同沿著碰撞平面向外的法向量方向。另外,對 P施加摩擦力,具體是動摩擦力還是靜摩擦力要根據 P的總體受力狀態和摩擦系數確定。
2.5服裝材質實現
本文對絲質、棉質和彈性纖維3種常見材質的服裝進行了區分。
絲質布料難以被拉伸且由于其順滑的特點,摩擦力較小,因此拉伸和剪切彈簧應具有較大的彈性系數以使得布料不易拉伸,而彈簧阻尼系數應較小。取較小的彈性系數是因為絲質布料柔順易彎曲,絲質服裝不需要大彎曲彈簧的控制,因為其褶皺都是小范圍的并且不具備硬度特點。
彈性布料的拉伸和剪切彈簧的彈性系數和阻尼系數都應被設置得較小,另外,彈簧的自然長度應該小于彈簧的初始長度,以便在模擬中產生收緊效果。
棉質布料不易于拉伸且其彈性系數介于絲質和彈性布料之間,取適中的彈性系數,而由于棉質布料內力較大,因此阻尼系數較大。
每種材質的參考值如表3所示。其中彈簧自然狀態下(彈簧不發生形變,沒有彈力)的長度與彈簧初始長度的比值計為RL。

表3 不同服裝材質參數設置
圖3為彈簧設置流程圖。不同材質在具體實現上的區別是由彈簧的初始設置、力的計算和校正方法決定的。

圖3 彈簧設置流程
對于任意彈簧s,獲得其兩端點索引號p1,p2的方法如下:
(1) 如果s非大彎曲彈簧,則通過彈力阻尼力的計算公式可得到s兩端質點受的力(兩端點受到的力向量大小相同,方向相反)。注意如果是彈性服裝中的彈簧,在一開始,由于自然長度小于初始長度,兩端點就受到回縮力。
(2) 如果s是大彎曲彈簧,若彈簧長度大于初始長度,則彎曲力為0,若彈簧長度介于自然長度和初始長度之間(自然長度由RL確定),彎曲力的大小通過彈力阻尼力公式計算,需要將式(5)修改為:

其中,Lrest為大彎曲彈簧自然長度。
(3) 進行積分計算后,得到質點新位置,該位置未必是下一步長的最終位置,可能要經過校正處理。
(4) 對于除大彎曲彈簧以外的彈簧,僅需使用PMA進行校正;而對于大彎曲彈簧,則使用PMA+VM進行校正。另外,在絕大部分情況下,使用PM+VM進行大彎曲彈簧校正就可以保證效果和系統穩定性。
本文方法通過改進實現了一個完整的人體著裝系統,將原有靜態仿真[12]擴展為可區分材質的、動態試穿效果。
該系統在主頻3.30 GHz,Windows 7操作系統及4 GB內存的機器上實驗,期間沒有使用CUDA加速。
將實驗結果分為3組,圖4為參數化人體建模結果,以及快速變形效果,圖4(d)展示特殊體型人體——孕婦的效果圖,通過調整附加尺寸可以快速實現。圖 5為不同材質的服裝在男性和女性人體的試穿效果圖。圖中可以看出,棉質服裝存在一些硬質褶皺現象,絲質服裝較為順滑,彈性服裝有一定收緊效果。圖 6使用骨架驅動使人體產生各種動作,展示了絲質服裝的動態試穿效果。

圖4 改變參數以修改人體模型

圖5 不同材質服裝的試穿效果(上:女;下:男)

圖6 動態試穿仿真效果
程序各主要部分耗時如表4所示,其中從圖4所示的服裝模型初始狀態到服裝模型穩定的仿真狀態,其所消耗的時間稱作預處理時間。

表4 仿真效率分析表(ms)
從表 4中可以看出,預處理耗時較多,然而此處的耗時可以有效地提高其后的仿真效率,且該過程僅需進行一次。而每個步長計算耗時僅需20~50 ms,因此在人體運動或后續其他交互情況下,本文的服裝仿真算法具有良好的實時響應效果。
本文實現了實時的人體建模和試穿仿真系統,根據特征參數計算人體表面的型值點,使用Zhang樣條曲面對人體每個部分建模并實現各部分的光順拼接和人體模型的靈活修改。構造了相對逼真且適用于虛擬試衣仿真的人體模型。本文實現完整的試穿系統,積分、校正、碰撞檢測和處理,特別通過大彎曲彈簧的設置改進了傳統彈簧質點模型,并最終在動態仿真系統中實現 3種服裝材質效果。在以后工作中,將對其他復雜材質的仿真實現做進一步研究,并考慮改進碰撞檢測等算法以期適用于更大幅度、更加多樣的動作。
[1] Zhang R J, Ma W Y. An efficient scheme for curve and surface construction based on a set of interpolatory basis functions [J]. ACM Transactions on Graphics (TOG), 2011, 30(2): 10.
[2] Lin Y L, Wang M J J. Constructing 3D human model from front and side images [J]. Expert Systems with Applications, 2012, 39(5): 5012-5018.
[3] Kakadiaris I A, Metaxas D. 3D human body model acquisition from multiple views [C]//Computer Vision, 1995 Proceedings, Fifth International Conference on. IEEE, 1995: 618-623.
[4] Izadi S, Kim D, Hilliges O, et al. KinectFusion: real-time 3D reconstruction and interaction using a moving depth camera [C]//Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology. ACM, 2011: 559-568.
[5] Wang C C L. Parameterization and parametric design of mannequins [J]. Computer-Aided Design, 2005, 37(1): 83-98.
[6] 毛天露, 王兆其. 個性化三維人體模型快速建模方法[J].計算機輔助設計與圖形學學報, 2006, 17(10): 2191-2195.
[7] Kasap M, Magnenat-Thalmann N. Parameterized human body model for real-time applications [C]//Cyberworlds, 2007. CW’07 International Conference on. IEEE, 2007: 160-167.
[8] Zhou S Z, Fu H B, Liu L G, et al. Parametric reshaping of human bodies in images [C]//ACM Transactions on Graphics (TOG). ACM, 2010, 29(4): 126.
[9] Barmpoutis A. Tensor body: real-time reconstruction of the human body and avatar synthesis from RGB-D [J]. Cybernetics, IEEE Transactions on, 2013, 43(5): 1347-1356.
[10] Volino P, Magnenat-Thalmann N. Comparing efficiency of integration methods for cloth simulation [C]//Computer Graphics International 2001. Proceedings. IEEE, 2001: 265-272.
[11] Kang Y M, Choi J H, Cho H G, et al. An efficient animation of wrinkled cloth with approximate implicit integration [J]. The Visual Computer, 2001, 17(3): 147-157.
[12] Pabst S, Thomaszewski B, Stra?er W. Anisotropic friction for deformable surfaces and solids [C]//Proceedings of the 2009 ACM SIGGRAPH/Eurographics Symposium on Computer Animation. ACM, 2009: 149-154.
[13] Bridson R, Fedkiw R, Anderson J. Robust treatment of collisions, contact and friction for cloth animation [C]// ACM Transactions on Graphics (ToG). ACM, 2002, 21(3): 594-603.
[14] Cao Z F, He B. Research of fast cloth simulation based on mass-spring model [C]//National Conference on Information Technology and Computer Science 2012, Lanzhou, China, 2012: 323-327.
[15] ElBadrawy A A, Hemayed E E, Fayek M B. Rapid collision detection for deformable objects using inclusion-fields applied to cloth simulation [J]. Journal of Advanced Research, 2012, 3(3): 245-252.
[16] Wang H M, Hecht F, Ramamoorthi R, et al. Example-based wrinkle synthesis for clothing animation [C]//ACM Transactions on Graphics (TOG). ACM, 2010: 107.
[17] Guan P, Reiss L, Hirshberg D A, et al. DRAPE: DRessing Any PErson [J]. ACM Transactions on Graphics (TOG), 2012, 31(4): 35.
[18] 劉炯宙, 李基拓, 陸國棟. 三維服裝物理-幾何實時混合模擬[J]. 計算機輔助設計與圖形學學報, 2014, 26(12): 2244-2250.
[19] Wang H M, O’Brien J F, Ramamoorthi R. Data-driven elastic models for cloth: modeling and measurement [J]. ACM Transactions on Graphics (TOG), 2011, 30(4): 71.
[20] Liu L, Su Z, Wang R M, et al. Material-aware cloth simulation via constrained geometric deformation [J]. Computers & Graphics, 2013, 37(1): 21-32.
[21] 姜延, 劉正東, 陳春麗. 基于面料力學屬性的三維織物模擬[J]. 計算機輔助設計與圖形學學報, 2012, 24(3): 323-329.
Real-Time and Dynamic Clothes Simulation of Different Fabric Materials
Xue Yuan,Huang Luchen,Yang Ruoyu
(Key Laboratory for Advanced Technology of Software, Nanjing University, Nanjing Jiangsu 210046, China)
A parametric method for 3D human modeling is proposed in this paper. A set of feature parameters are defined to control the topological structure of human body comprising ten parts. Zhang spline is then used to construct the human surface of each part. Real-time garment dressing simulation is implemented based on the integrated human model. As an improvement of traditional mass-spring method, large-span bend spring is proposed for the purpose of wrinkle simulation. Furthermore, proper setting of parameters along with multistep correction strategy enables simulation of different fabric materials, namely cotton, silk and elasticity. The experimental results show that our system can construct relatively realistic human model as well as realize complete and flexible garment dressing simulation in real time.
Zhang spline; parameterized deformation; large-span bend spring; fabric materials
TP 391.9
10.11996/JG.j.2095-302X.2016010102
A
2095-302X(2016)01-0102-08
2015-09-24;定稿日期:2015-10-10
國家自然科學基金項目(61272218;61321491)
薛原(1990–),男,江蘇徐州人,碩士研究生。主要研究方向為3D服飾仿真。E-mail:960443741@qq.com
楊若瑜(1977–),女,安徽滁州人,副教授,博士。主要研究方向為計算機視覺、三維重建和仿真。E-mail:yangry@nju.edu.cn