一種數據驅動的實時頭發運動仿真方法
【專利摘要】本發明公開了一種數據驅動的實時頭發運動仿真方法,該方法包括如下步驟:基于預先設定的多段運動序列,對目標頭發模型進行離線的高精度運動仿真,并進行預處理得到訓練運動數據;構建表示頭發發絲之間運動關系的運動相似圖,并通過圖割方法進行聚類并優化選取最佳代表發絲;通過能量優化方法優化得到蒙皮權重表示的運動簡化模型;以實時采集得到的角色運動數據為驅動,基于生成的頭發運動簡化模型實現高質量的實時頭發運動效果。本發明可在大大減少運動仿真計算耗時的同時達到與完全離線仿真類似的效果,可對發絲數量超過十萬的角色發型實現實時的高質量運動仿真,效果優于現有方法,且具有通用性強、使用簡便等優點。
【專利說明】一種數據驅動的實時頭發運動仿真方法
【技術領域】
[0001]本發明涉及計算機運動仿真領域,尤其涉及對虛擬角色毛發實時運動仿真的方法。
【背景技術】
[0002]本發明相關的研究背景簡述如下:
[0003]逼真的虛擬頭發運動建模與仿真在計算機動畫、虛擬現實等領域有非常重要的應用。從早期的完全不考慮發絲之間相互作用的工作(Rosenblum, R.E., Carlson, ff.E., and Tripp,Ε.1991.Simulating the structure and dynamics of humanhair!modelling,rendering and animation.The Journal of Visualization andComputer Animation2,4,141 - 148.) (Anjyoj K.-1.,Usamij Y.,and Kuriharaj T.1992.A simple method for extracting the natural beauty of hair.1n ACM SIGGRAPHComputer Graph ics,vol.26,ACM,111 - 120.)開始,頭發運動仿真一直是一個熱門的研究課題。
[0004]針對高質量的頭發運動仿真,最常見的方法是對每個單獨的發絲進行仿真,從而獲得最為精細的運動細節。為了盡可能模擬真實世界中的發絲運動,許多研究工作針對單獨發絲的運動提出不同的運動仿真模型,如(Bertails,F.,Audolyj B.,Canij Μ.-P.,Querleuxj B.,Leroy, F.,and Levequej J.-L.2006.Super-helices for predictingthe dynamics of natural hair.1n ACM Transactions on Graphics(TOG), vol.25,ACM,1180 - 1187.) (Sellej A., Lentinej M., and Fedkiwj R.2008.A mass spring modelfor hair simulation.ACM Trans.Graph.(SIGGRAPH2008) 27, 3 (Aug.).) (Bergou, M.,WardetzkyjM.,Robinson, S.,AudolyjB.,and Grin-spun,E.2008.Discrete elasticrods.1n ACM Transactions on Graphics (TOG), vol.27,ACM,63.) (Casatij R., andBertails-Descoubesj F.2013.Super space clothoids.ACM Transaction on Graphics.)等。基于這些發絲運動模型,許多在單獨發絲尺度上進行運動仿真并考慮復雜的頭發相互作用的方法被證明可以得到較高真實度的結果。其中,(Selle, A., Lentine, M.,andFedkiwj R.2008.A mass spring model for hair simulation.ACM Trans.Graph.(SIGGRAPH2008) 27, 3 (Aug.).)把頭發的相互作用表示為發絲吸引力與幾何碰撞兩方面,從而實現發簇結構動態變化的效果;(Mcadams, A., Selle, A., Ward, K., Sifakis, E., and Teran, J.2009.Detail preserving continuum simulation of straight hair.ACMTransactions on Graphics-T0G28, 3, 62.)提出了一個魯棒的頭發相互作用的模擬方法,通過基于流體的碰撞松弛來使得大量發絲之間的幾何碰撞變得更容易求解;(Daviet,G.,Bertails-Descoubes, F., and Boissieux, L.2011.A hybrid iterative solver forrobustly capturing coulomb friction in hair dynamics.1n ACM Transactions onGraphics (TOG), vol.30, ACM, 139.)提出了一個混合方法來魯棒地模擬發絲之間的庫侖摩擦力現象。但是,所有這些方法都專注于效果的質量并需要大量的離線運算時間,使得模擬過程非常緩慢,無法用于實時應用之中。
[0005]另一類相關方法更專注于高效的頭發運動仿真,通過釆用多種簡化表示來加速仿真以及相互作用的解算。其中一個常用的思路是基于流體的保持體積、局部運動相似性等特性,釆用流體來隱式地處理頭發交互作用。例如,(Hadap, S.,andMagnenat-Thalmannj N.2001.Modeling dynamic hair as a continuum.1n ComputerGraphics Forum, vol.20,Wiley Online Library, 329 - 338.)利用流體仿真模型來求解頭發的自碰撞現象;(Bandoj Y.,Chenj B.-Y.,and Nishitaj T.2003.Animating hair withloosely connected particles.1n Computer Graphics Forum, vol.22,Wiley OnlineLibrary,411 -418.)將頭發表示為弱相關的粒子,并通過類似流體的方法對其進行運動仿真;(Petrovic, L,HennejM.,and Anderson, J.2005.Volumetric methods for simulationand rendering of hair.Pixar Animation Studios.)針對風格化發型的運動仿真,使用空間體結構來對發絲速度密度等進行濾波來模擬相互作用;(Muller,Μ.,Kim, Τ.-Y.,andChentanezj N.2012.Fast simulation of inextensible hair and fur.1n Workshopon Virtual Reality Interaction and Physical Simulation,The EurographicsAssociation, 39 - 44.)也釆用類似方法來快速模擬發絲相互排斥效果;(Mcadams, A.,Selle,A.,Ward, K.,Sifakis, E.,and TeranjJ.2009.Detail preserving continuumsimulation of straight hair.ACM Transactions on Graphics_T0G28,3,62.)也米用了混合流體求解方法來加強仿真效果。
[0006]與本方法關系最密切的一個思路是使用聚集發絲模型,這類模型通過少量引導發絲的插值來表示所有最終發絲并在體網格(Tariq,S.,and Bavoilj L.2008.Real timehair simulation and rendering on the gpu.1n ACM SIGGRAPH2008talks, ACM,37.)或使用簡化幾何體(例如三角帶(Chang,J.T.,Jinj J.,and Yuj Y.2002.A practicalmodel for hair mutual interactions.1n Proceedings of the2002ACM SIGGRAPH/Eurographics symposium on Computer animation,ACM,73 - 80.)、 圓柱體(Choej B., Choi,M.G., and Koj H.-S.2005.Simulating complex hair with robustcollision handling.1n Proceedings of the2005ACM SI GGRAPH/Eurographicssymposium on Computer animation, ACM, 153 - 160.)、 球 體(Ibenj Η.,Meyer, Μ.,Petrovic,L.,Soares,0.,Anderson, J.,and Witkinj A.2013.Artistic simulation ofcurly hair.1n Proceedings of thel2th ACM SIGGRAPH/Eurographics Symposiumon Computer Animation,ACM,63 - 71.))等來處理發絲的自碰撞。另外,自適應的發絲聚集模型(Bertails,F.,Kim,T.-Y.,Cani,M.-P.,and Neumann, U.2003.Adaptive wisptree: a multiresolution control structure for simulating dynamic clustering inhair motion.1n Proceedings of the2003ACM SIGGRAPH/Eurographics symposium onComputer animation, Eurographics Association, 207 - 213.) (Ward, K., and Linj M.C.2003.Adaptive grouping and subdivision for simulating hair dynamics.1nComputer Graphics and Applications, 2003.Proceedings.1lth Pacific Conferenceon, IEEE, 234 - 243.) (Ward, K.,Linj M.C.,Joohij L.,Fisher, S.,and Macrij D.2003.Modeling hair using level—of—detail representations.1n Computer Animation andSocial Agents, 2003.16th International Conference on, IEEE, 41 - 47.)通過在特定情況下增加運動細節但不對效率產生太大影響來進一步拓展這一類方法。所有這一類啟發式模型實質上都是在效果與效率上的折衷,無法保證在大幅度減小計算開銷的同時能夠達到類似于高精度仿真的效果,因此通常其質量會受到較大影響。
【發明內容】
[0007]本發明的目的在于針對現有技術的不足,提供一種數據驅動的實時頭發運動仿真方法,本發明通過基于預計算頭發運動數據來優化得到頭發模型的運動簡化模型,從而可以實現實時頭發運動仿真效果,并達到與高精度仿真類似的質量,具有很高的實用價值。
[0008]本發明的目的是通過以下技術方案實現的,一種數據驅動的實時頭發運動仿真方法,包括以下步驟:
[0009](I)訓練數據的生成與預處理:基于預先設定的多段運動序列,對目標頭發模型進行離線的高精度運動仿真,并進行預處理得到訓練運動數據;
[0010](2)頭發運動數據的運動分析與代表發絲的選取:基于步驟I得到的訓練運動數據構建表示頭發發絲之間運動關系的運動相似圖,并通過圖割方法進行聚類并優化選取最佳代表發絲;
[0011](3)頭發運動簡化模型的構建:通過能量優化方法基于步驟2選取的代表發絲優化得到蒙皮權重表示的運動簡化模型;
[0012](4)基于簡化模型的高質量實時頭發運動仿真:以實時采集得到的角色運動數據為驅動,基于步驟3生成的頭發運動簡化模型實現高質量的實時頭發運動效果。
[0013]本發明的有益效果是:通過構建頭發運動的簡化模型,可以有效降低運動仿真的計算開銷,大大提高仿真效率同時保證與高精度仿真的相似度;本發明首次提出了針對人物頭發的數據驅動的快速運動仿真方法,在大大減少運動仿真耗時的同時可以達到與完全離線仿真十分類似的效果,可對數量超過十萬的人物發型實現實時的高質量運動仿真,效果優于現有方法,且具有通用性強、使用簡便等優點。
【專利附圖】
【附圖說明】
[0014]圖1是頭發簡化模型的示意圖;
[0015]圖2是運動分析中發絲運動相似圖的示意圖;
[0016]圖3是本方法應用在直發上的結果示意圖;
[0017]圖4是本方法應用在卷發上的結果示意圖;
[0018]圖5是本方法應用在環境風力作用下的結果示意圖。
【具體實施方式】
[0019]本發明的核心技術是對目標頭發模型基于訓練運動仿真數據構建運動簡化模型并以此實現高質量的實時頭發運動仿真。本發明包括如下四個步驟:訓練數據的生成與預處理、數據運動分析與代表發絲的選取、運動簡化模型的構建、基于簡化模型的實時高質量頭發運動仿真。
[0020]1.訓練數據的生成與預處理:基于預先設定的多段運動序列,對目標頭發模型進行離線的高精度運動仿真,并進行預處理得到訓練運動數據;[0021]1.1訓練運動序列的準備
[0022]為了使訓練數據盡可能地包含實時仿真時可能的運動情況,需要訓練數據的運動盡可能多樣化。為達到方法的高效性,針對所有頭發模型對象,預先錄制8段頭部運動序列,包含不同的搖頭、擺頭、轉頭等動作。每一段運動的長度約在200幀左右,運動速度與正常頭部動作速度相似。將運動序列表示為Tf,其中f為幀號。
[0023]1.2頭發運動仿真訓練數據的生成
[0024]對目標頭發對象,首先生成一靜態下的頭發形態H*,作為該頭發對象在訓練過程中的參考形態。隨后,基于步驟1.1得到的運動序列,對目標頭發對象在各個動作下使用質量彈簧模型(Selle, A.,Lentine, M.,and Fedkiw, R.2008.A mass spring model for hairsimulation.ACM Trans.Graph.(SIGGRAPH2008) 27, 3 (Aug.).)進行離線的高精度運動仿真得到仿真結果數據,表示為Hf,其中f為幀號。
[0025]1.3頭發運動仿真訓練數據的預處理
[0026]對步驟1.2得到的仿真數據Hf進行變換操作,使其對齊于靜態頭部的位置,去除頭部運動的變換,即令最終的仿真數據Hf為HfTf。
[0027]2.頭發運動數據的運動分析與代表發絲的選取:基于步驟I的訓練運動數據構建表示頭發發絲之間運動關系的運動相似圖,并通過圖割方法進行聚類并優化選取最佳代表發絲;
[0028]2.1運動鄰域關系分析
[0029]構建鄰域關系圖,圖中每個頂點代表一個發絲粒子,初始時圖中沒有邊。遍歷處理所有頭發運動數據,對每個發絲粒子i,表示在f幀下該粒子位置為Pi (f),搜索所有距離Pi(f)小于閾值巧的其他發絲粒子j,即I Ipjfo-pjf) I I2〈ri,在圖中增加頂點i到j的邊,同時維護該邊的權值Cu如下:
【權利要求】
1.一種數據驅動的實時頭發運動仿真方法,其特征在于,包括如下步驟: (1)訓練數據的生成與預處理:基于預先設定的多段運動序列,對目標頭發模型進行離線的高精度運動仿真,并進行預處理得到訓練運動數據; (2)頭發運動數據的運動分析與代表發絲的選取:基于步驟I得到的訓練運動數據構建表示頭發發絲之間運動關系的運動相似圖,并通過圖割方法進行聚類并優化選取最佳代表發絲; (3)頭發運動簡化模型的構建:基于訓練數據以及步驟2選取的代表發絲,優化得到蒙皮權重表示的運動簡化模型; (4)基于簡化模型的高質量實時頭發運動仿真:以實時采集得到的角色運動數據為驅動,基于步驟3生成的頭發運動簡化模型實現高質量的實時頭發運動效果。
2.根據權利要求1所述的數據驅動的實時頭發運動仿真方法,其特征在于,所述步驟I包括如下子步驟: (1.1)預先錄制特定數量的具有代表性的人物運動數據; (1.2)利用步驟1.1中預先錄制的人物運動數據,對目標頭發模型進行離線的高精度運動仿真,生成頭發運動仿真數據序列,即每一時刻的頭發幾何信息; (1.3)對步驟1.2中得到的頭發運動仿真數據序列進行重采樣,并變換到頭皮空間中,最終得到預處理完后的頭發運動仿真數據序列。
3.根據權利要求2所述的數據驅動的實時頭發運動仿真方法,其特征在于,所述步驟2包括如下子步驟: (2.1)分析步驟1.3得到的頭發運動仿真數據序列中每一時刻的發絲粒子相互之間的鄰域關系,構建針對整個時域的發絲粒子鄰域關系圖; (2.2)基于步驟2.1得到的發絲粒子鄰域關系圖,計算每一條粒子關系邊對應的運動相似度權值,從而生成發絲粒子運動相似圖,并合并生成對應的發絲運動相似圖; (2.3)基于步驟2.2得到的發絲運動相似圖進行圖割運算,得到等同于目標代表發絲數量的發絲聚類,每個發絲都屬于并僅屬于其中的一個聚類; (2.4)基于步驟2.3得到的發絲聚類以及步驟2.2得到的發絲運動相似圖進行迭代的能量優化,在每個發絲聚類中選取最佳的一個發絲作為該聚類的代表發絲,最后得到代表發絲的集合作為運動簡化模型的基本結構。
4.根據權利要求3所述的數據驅動的實時頭發運動仿真方法,其特征在于,所述步驟3包括如下子步驟: (3.1)使用上述權利要求3步驟2.4得到的代表發絲的集合作為運動簡化模型的基本結構,并使用上述權利要求2步驟1.3得到的頭發運動仿真數據序列作為輸入的訓練數據; (3.2)對所有發絲粒子,優化其對應的鄰近代表發絲的蒙皮權值,使其在頭發運動仿真數據序列中每時刻的位置能用此蒙皮權值來最好地表示,并以此以及代表發絲結構作為最終得到的頭發運動簡化模型。
5.根據權利要求4所述的數據驅動的實時頭發運動仿真方法,其特征在于,所述步驟4包括如下子步驟: (4.1)實時采集得到用以驅動目標頭發運動的環境參數,包括人物角色的運動或環境風力; (4.2)基于上述權利要求4得到的頭發運動簡化模型,僅對其中的代表發絲在步驟4.1得到的環境參數作用下進行快速運動仿真; (4.3)得到步驟4.2的代表發絲當前運動狀態后,使用上述權利要求4得到的頭發運動簡化模型插值得到全部發絲的 運動狀態,從而獲得頭發運動仿真的結果。
【文檔編號】G06F9/455GK103942090SQ201410146159
【公開日】2014年7月23日 申請日期:2014年4月11日 優先權日:2014年4月11日
【發明者】周昆, 柴蒙磊, 鄭昌熙 申請人:浙江大學