ADVERTISEMENT
量子力學奠基者之一、英國理論物理學家保羅·狄拉克(Paul Dirac)在1929年說過:「大部分物理和化學所需要的數學理論的定律都是已知的,但這些定律的方程式太複雜無法求得精確解」。他認為,從蛋白質折疊、材料失效到氣候變化,所有的物理現像都可以模擬為量子運算。但由於控制方程式太複雜,科學家無法在現實的時間尺度上求解。
那麼,這是否意味著我們永遠無法實現即時物理模擬?
以前物理學家透過模型開發、求近似解等方法可以在較短時間內達到預期的結果。然而,隨著研究、軟體和硬體技術的進步,即時仿真只能在極限條件下才能夠實現,這一點在電玩物理學中最為明顯。
模擬物理現象(如碰撞、變形、破裂和流體流動)屬於密集型運算。在遊戲中即時模擬此類現象需要對不同的演算法進行了大量的簡化和最佳化。目前最先進模擬方法是剛體物理學(rigid body physics),它可以確保兩個物體在碰撞和反彈的過程中不會發生變形或斷裂,這是模擬虛擬遊戲的基礎。當兩個物體碰撞時,演算法能夠進行即時檢測並採用適當的力模擬碰撞。
如下,電子遊戲中的「摧毀」可能是剛體物理學應用的最佳示例。
需要說明的是,剛體物理學可用於模擬不變形物體的碰撞,但虛擬遊戲中往往存在著大量可變形物體,比如頭髮、衣服。而要想解決這個問題就需要用到柔體動力學(soft-body dynamics)。
以下是模擬可變形物體的四種方法(按複雜度排序)
彈簧質量模型(Spring-Mass Model)
由命名可知,彈簧相互連接的點的質量系統代表模型檢測的目標,我們可將其視為3D虎克定律網路。虎克定律是力學彈性理論中的一條基本定律,它表明受力固體材料中的應力與應變(單位變形量)之間成線性關係。
該模型的主要缺點是建立質量彈簧網路時需要大量的人力成本,並且材料特性與模型參數之間沒有嚴密的邏輯關係。但儘管如此,該模型在「BeamNG.Drive」賽車遊戲中也達到了非常不錯的效果,如下圖,基於彈簧-質量模型的即時車輛模擬器,可用於模擬車輛變形。
基於位置的動力學(Position-bsed Dynamics,PBD)
運動學模擬的方法通常基於力學模型,如粒子加速度遵循牛頓第二定律計算,透過積分計算獲取每個時刻的速度和位置。
在基於位置的動力學,透過求解約束方程式的準靜態問題來計算位置。PBD方法的精確度較低,但計算速度優於基於強制的方法,因此非常適合遊戲、動畫電影等視覺場景。遊戲中人物的頭髮、衣服的運動通常都是採用該模型來實現。PBD不僅局限於可變形固體,還可用於模擬剛體物體和流體。更多內容可參考這篇關於PBD方法的綜述[2]。
有限元素法(finite element method,FEM)
有限元素方法計算變形材料是基於彈性場理論求解應力-應變方程。
它本質上遵循3D虎克定律,首先將材料劃分為四面體的有限元素,透過求解線性矩陣方程,獲得每個時刻步長上頂點上的應力和應變。FEM是一種基於網格的軟體動力學模擬方法,它的優點是精確度高,且模型參數與材料特性(如楊氏模量和蒲松比)直接相關。一般而言,FEM模擬在工程應用方面不能即時運行,但最近知名半導體公司AMD發布多線程FEM庫,表明FEMFX在遊戲中可即時模擬變形材料。
材料點法(Material Point Method,MPM)
MPM是一種高精度的無網格方法,它比基於網格的方法更適合模擬變形、斷裂、多材料系統和黏彈性流體,因為運行效率和解析度更高。MPM是目前最先進的無網格混合歐拉/拉格朗日的方法,是細胞內粒子(PIC)和流體隱式粒子(FLIP)等傳統方法的升級。
MPM模擬不是即時運行的,在一個含有一百萬個點的系統中,MPM每個影格大約需要半分鐘。詳細內容可見MPM綜述文章[3]。
機器學習與物理模擬
以上四種方法與機器學習有什麼關係呢?
我們注意到,基於傳統方法,模型的計算速度、精度/解析度等指標已經陷入了一種瓶頸。物理解算器經過過去幾十年的最佳化,其發生階躍式改進的空間已所剩無幾。而在此背景下,機器學習就派上了用場。
最近,牛津大學[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倍。
同樣,DeepMind的團隊近期在圖形網路方面的工作也取得了驚人的成果[7]。與傳統神經網路的每一層節點相連不同,圖神經網路直接具有類似於圖的網路結構。利用圖網路模型,該研究團隊成功地模擬了各種剛性、柔性材料,如沙子、水、黏液等。
該模型預測的不是粒子的位置,而是加速度。它使用歐拉積分計算速度和位置;使用一系列物理解算器(包括PBD、SPH和MPM)產生模擬數據。由於沒有針對速度進行特殊最佳化,該模型沒有明顯快於物理解算器,但它證明了機器學習與物理可以進行有效的結合。
雖然該研究領域仍處於初級階段,但我們觀察到基於深度學習的技術進一步增強了物理模擬。從量子力學、分子動力學到微觀結構以及經典物理,各種規模和復雜度的物理現像都有很多模擬模型,我們相信,機器學習和物理學二者結合將創造巨大的潛在價值。
相關研究
- Paul Dirac, Quantum Mechanics of many-electron systems, Proc. R. Soc. Lond. A 123, 714 (1929)
- J. Bender et al., A Survey on Position Based Dynamics, EUROGRAPHICS (2017)
- Chenfanfu Jiang et al., The Material Point Method for Simulating Continuum Materials, SIGGRAPH courses (2016)
- J. Wolper et al., CD-MPM: Continuum Damage Material Point Methods for Dynamic Fracture Animation, ACM Trans. Graph. 38, 119 (2019)
- M. Kasim et al., Building high accuracy emulators for scientific simulations with deep neural architecture search, arXiv (2020)
- D. Holden et al., Subspace Neural Physics: Fast Data-Driven Interactive Simulation, SCA Proc. ACM SIGGRAPH (2019)
- A. Sanchez-Gonzalez et al., Learning to Simulate Complex Physics with Graph Networks, Proc. 37th Int. Conf. ML, PMLR, 119 (2020)
- T. Pfaff et al., Learning Mesh-based Simulations with Graph Networks, arXiv (2021)
- B. Kim et al., Deep Fluids: A Generative Network for Parameterized Fluid Simulations, Computer Graphics Forum, 38, 59 (2019)
- 本文授權轉載自大數據文摘
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!