機器學習如何徹底改變遊戲中的物理模擬

  • 2021 年 9 月 12 日
  • AI
編譯 | 琰琰
編輯 | 王曄
量子力學奠基者之一、英國理論物理學家保羅·狄拉克(Paul Dirac)在1929年說過:「大部分物理和化學所需要的數學理論的定律都是已知的,但這些定律的方程太複雜無法求得精確解」。他認為,從蛋白質摺疊、材料失效到氣候變化,所有的物理現象都可以模擬為量子計算。但由於控制方程太複雜,科學家無法在現實的時間尺度上求解。
那麼,這是否意味着我們永遠無法實現實時物理模擬?
以前物理學家通過模型開發、求近似解等方法可以在較短時間內達到預期的結果。然而,隨着研究、軟件和硬件技術的進步,實時仿真只能在極限條件下才能夠實現,這一點在視頻遊戲物理學中最為明顯。
模擬物理現象(如碰撞、變形、破裂和流體流動)屬於密集型計算。在遊戲中實時模擬此類現象需要對不同的算法進行了大量的簡化和優化。目前最先進模擬方法是剛體物理學(rigid body physics),它可以確保兩個物體在碰撞和反彈的過程中不會發生變形或斷裂,這是模擬虛擬遊戲的基礎。當兩個物體碰撞時,算法能夠進行實時檢測並採用適當的力模擬碰撞。
如下,電子遊戲中的「摧毀」可能是剛體物理學應用的最佳示例。

需要說明的是,剛體物理學可用於模擬不變形物體的碰撞,但虛擬遊戲中往往存在着大量可變形物體,比如頭髮、衣服。而要想解決這個問題就需要用到柔體動力學(soft-body dynamics)
以下是模擬可變形物體的四種方法(按複雜度排序)

1

彈簧質量模型(Spring-Mass Model)

由命名可知,彈簧相互連接的點的質量系統代表模型檢測的目標,我們可將其視為三維胡克定律網絡。胡克定律是力學彈性理論中的一條基本定律,它表明受力固體材料中的應力與應變(單位變形量)之間成線性關係。
該模型的主要缺點是建立質量彈簧網絡時需要大量的人力成本,並且材料特性與模型參數之間沒有嚴密的邏輯關係。但儘管如此,該模型在「BeamNG.Drive」賽車遊戲中也達到了非常不錯的效果,如下圖,基於彈簧-質量模型的實時車輛模擬器,可用於模擬車輛變形。

2

基於位置的動力學
(Position-bsed Dynamics,PBD)
運動學模擬的方法通常基於力學模型,如粒子加速度遵循牛頓第二定律計算,通過積分計算獲取每個時刻的速度和位置。
在基於位置的動力學,通過求解約束方程的准靜態問題來計算位置。PBD方法的精確度較低,但計算速度優於基於強制的方法,因此非常適合遊戲、動畫電影等視覺場景。遊戲中人物的頭髮、衣服的運動通常都是採用該模型來實現。PBD不僅局限於可變形固體,還可用於模擬剛體物體和流體。更多內容可參考這篇關於PBD方法的綜述[2]。
3

有限元法(finite element method ,FEM)

有限元方法計算變形材料是基於彈性場理論求解應力-應變方程。
它本質上遵循3D胡克定律,首先將材料劃分為四面體的有限元,通過求解線性矩陣方程,獲得每個時刻步長上頂點上的應力和應變。FEM是一種基於網格的軟體動力學模擬方法,它的優點是精確度高,且模型參數與材料特性(如楊氏模量和泊松比)直接相關。一般而言,FEM模擬在工程應用方面不能實時運行,但最近知名半導體公司AMD發佈多線程FEM庫,表明FEMFX在遊戲中可實時模擬變形材料。

AMD的實時有限元解算器FEMFX模擬木材斷裂

AMD的FEMFX模擬塑性變形

4

材料點法(Material Point Method ,MPM)

MPM是一種高精度的無網格方法,它比基於網格的方法更適合模擬變形、斷裂、多材料系統和粘彈性流體,因為運行效率和分辨率更高。MPM是目前最先進的無網格混合歐拉/拉格朗日的方法,是細胞內粒子(PIC)和流體隱式粒子(FLIP)等傳統方法的升級。
MPM模擬不是實時運行的,在一個含有一百萬個點的系統中,MPM每幀大約需要半分鐘。詳細內容可見MPM綜述文章[3]。

一片麵包的撕裂模擬需要1100萬MPM粒子

5

機器學習與物理模擬

以上四種方法與機器學習有什麼關係呢?
我們注意到,基於傳統方法,模型的計算速度、精度/分辨率等指標已經陷入了一種瓶頸。物理解算器經過過去幾十年的優化,其發生階躍式改進的空間已所剩無幾。而在此背景下,機器學習就派上了用場。
最近,牛津大學[5]、Ubisoft La Forge實驗室[6]、DeepMind公司[7,8]以及蘇黎世聯邦理工學院[9]的研究表明,深度神經網絡可以學習物理間的相互作用並實現模擬,重點是速度可以提高多個數量級。其過程大致為:生成數以百萬計的模擬數據——通過神經網絡進行訓練——使用經過訓練的模型模擬物理解算器。
其中,生成數據和訓練模型階段會耗費大量時間,但經過訓練的神經網絡模型在模擬物理階段速度會非常快。例如,牛津大學的研究人員[5]開發了一種被稱為:深度仿真器網絡搜索(Deep Emulator Network Search,DENSE)的方法,該方法將模擬速度提高了20億倍,並通過了10個科學案例的驗證,包括天體物理學、氣候、聚變和高能物理學。
在遊戲領域,Ubisoft La Forge研究團隊開發的模型使用簡單的前饋網絡,通過在三個時間幀中對3D網格對象的頂點位置進行訓練來學習預測下一幀[6]。該模型本質上是將預測與模擬數據集中的已知位置進行對比,並通過反向傳播來調整模型參數,以最小化預測誤差。
該團隊使用Maya的nCloth物理解算器生成模擬數據,這是一種針對布料優化的高級彈簧質量模型。他們還實施了主成分分析(PCA),實驗表明,僅在最重要的基礎上進行訓練,神經網絡模擬物理的速度比物理解算器快5000倍。

數據驅動下的布料和粘性材料的物理模擬
相關視頻: //www.youtube.com/watch?v=yjEvV86byxg
同樣,DeepMind的團隊近期在圖形網絡方面的工作也取得了驚人的成果[7]。與傳統神經網絡的每一層節點相連不同,圖神經網絡直接具有類似於圖的網絡結構。利用圖網絡模型,該研究團隊成功地模擬了各種剛性、柔性材料,如沙子、水、黏液等。
該模型預測的不是粒子的位置,而是加速度。它使用歐拉積分計算速度和位置;使用一系列物理解算器(包括PBD、SPH和MPM)生成模擬數據。由於沒有針對速度進行特殊優化,該模型沒有明顯快於物理解算器,但它證明了機器學習與物理可以進行有效的結合。
複雜物理模擬與深度學習預測之間的比較
相關視頻: //www.youtube.com/watch?v=h7h9zF8OO7E
雖然該研究領域仍處於初級階段,但我們觀察到基於深度學習的技術進一步增強了物理模擬。從量子力學、分子動力學到微觀結構以及經典物理,各種規模和複雜度的物理現象都有很多模擬模型,我們相信,機器學習和物理學二者結合將創造巨大的潛在價值。

相關研究

[1] Paul Dirac, Quantum Mechanics of many-electron systems, Proc. R. Soc. Lond. A 123, 714 (1929)

[2] J. Bender et al., A Survey on Position Based Dynamics, EUROGRAPHICS (2017)

[3] Chenfanfu Jiang et al., The Material Point Method for Simulating Continuum Materials, SIGGRAPH courses (2016)

[4] J. Wolper et al., CD-MPM: Continuum Damage Material Point Methods for Dynamic Fracture Animation, ACM Trans. Graph. 38, 119 (2019)

[5] M. Kasim et al., Building high accuracy emulators for scientific simulations with deep neural architecture search, arXiv (2020)

[6] D. Holden et al., Subspace Neural Physics: Fast Data-Driven Interactive Simulation, SCA Proc. ACM SIGGRAPH (2019)

[7] A. Sanchez-Gonzalez et al., Learning to Simulate Complex Physics with Graph Networks, Proc. 37th Int. Conf. ML, PMLR, 119 (2020)

[8] T. Pfaff et al., Learning Mesh-based Simulations with Graph Networks, arXiv (2021)

[9] B. Kim et al., Deep Fluids: A Generative Network for Parameterized Fluid Simulations, Computer Graphics Forum, 38, 59 (2019)


編譯連接:hppts://www.reddit.com/r/MachineLearning/comments/phvgzb/r_how_machine_learning_will_revolutionise_physics/

雷鋒網雷鋒網雷鋒網