机器学习让计算机图形学(CG)仿真更真实了!
方法名为神经流向图(Neural Flow Maps,NFM),四个涡旋的烟雾也能精确模拟的那种:
更为复杂的也能轻松实现:
要知道,在这个AI应用满天飞的时代,CG物理仿真仍然是传统数值算法的天下。
△NFM模拟“蛙跳”
尽管神经网络应用在CG能创造目眩神迷的视觉效果,它却无法严格、鲁棒地描述物理性质。
△NFM模拟“墨滴”
也正是因此,基于神经网络的物理仿真至今还处于概念验证(proof of concept)的阶段,所生成的效果也远非SOTA。
基于这个难题,来自达特茅斯学院、佐治亚理工学院以及斯坦福大学的研究团队提出了神经流向图这一新方法,通过将神经网络的优异性质与先进的物理模型相结合,同时达到了前所未有的视觉效果和物理精确性。
该论文发表于图形学顶刊ACM Transactions on Graphics(TOG),并获SIGGRAPH Asia 2023最佳论文。
NFM长啥样?
研究团队的核心观点是:想利用AI去更好地解决物理问题,就不能局限地将可学习模块(learnable modules)嵌入已有的方法框架(例如SPH,stable fluids)中。
现有方法是针对传统数值方法的能力范畴量身定制的,也正因为如此,机器学习的发展所提出的一系列的全新的能力(例如NeRF对时空信号的紧凑表达),往往在已有的框架中找不到用武之地。
因此,研究人员认为与其套用AI在现有的框架中,不如基于AI提出的新能力,来设计数学和数值的新框架,从而最大化这些能力的价值。
物理模型
基于上述思路,研究人员通过对物理和AI进行协同设计(co-design),构建一个超越SOTA的流体模拟器。
物理部分,NFM首先使用了一套基于冲量的(impulse-based)流体方程,通过对常见的欧拉方程进行度规变换(gauge transformation),确立了速度场与流向图(flow map)以及其空间导数的关系。
换言之,只要可以得到精确的flow map数值解,那么演化的速度场就可以被精确的重构出来。
为了最精确地计算flow map,NFM提出了一个精心设计的“双向行进”(bidirectional marching)数值算法。
该算法比已有算法的精度高出3至5个数量级,但它同时也要求存储长期的时空(spatiotemporal)速度场。
对大规模3D模拟来说,存储单帧的速度场尚且存在挑战,存储数十上百帧的速度场则全然不可行。因此“双向行进”的算法尽管精准,但用传统的手段却无法实现。
神经网络存储
NFM巧妙地结合了基于流向图的物理模型对于存储高精度速度场的需求,和隐式神经表示(implicit neural representation,或INR)进行高质量时空信号压缩的能力,让上述高度精确但无法实现的模拟方法变得可行。
INR通常对每个场景只需训练一次,但NFM却把它用作一个中间变量在模拟的过程中不断的进行更新,这也对INR的性能提出了更苛刻的要求。
针对这点,NFM提出了一种称作SSNF的新型高性能INR。
通过自动规划空间稀疏存储中每个格点的开启状态,以及一个基于Lagrange多项式的时间处理方案,SSNF达到了比Instant-NGP、KPlanes等方法更快的收敛速度,更高的压缩比,以及更高的存储精度。
拿下最新SOTA
实验结果表明,作为一个基于AI的模拟器,NFM显著地超越了SOTA方法:bimocq、covector fluids以及MC+R。
在2D点涡(point vortex)保持的实验中,NFM的平均绝对误差对比其余三者减少了最少14,最多308倍。
在3D蛙跳(leapfrogging vortices)实验中,NFM也显著提升了能量守恒的能力。
同时,这种数值能力体现为对自然现象的更好模拟:根据物理定律,蛙跳中的两对涡管将永不融和,而NFM的两个涡管在完成5次蛙跳后仍然保持分离,对比的方法至多在3次之后就完全融和。
最后,文章还通过一系列算例(如固体交互,瑞利泰勒不稳定性,涡管重连等)展示了NFM在创作复杂视觉效果上的优越性。
在这个层面上值得注意的是,尽管都是利用AI赋予流体更多的细节,现有的AI超分辨率算法只能提升画面细节,但NFM却突破性地以物理的方式提升了动力学细节,从而根本性地提高了流体模拟的真实度。
项目链接:https://yitongdeng-projects.github.io/neural_flow_maps_webpage/