Page 284 - 《软件学报》2020年第10期
P. 284
3260 Journal of Software 软件学报 Vol.31, No.10, October 2020
现象?如何更好地利用已有数据集,从物理层面上(物理方程)表征具有特殊物理意义的复杂流体现象,如涡旋、
湍流、流体细丝等?
2.4.2 基于数据驱动的算法精度
如何进一步提升基于数据驱动的模拟加速算法在精度上的表现?在传统的流体模拟加速算法中,例如多重
网络加速算法 [14] 、基于舒尔补(Shur complement)的并行加速算法 [26,27] 等,都是在保证计算精度的前提下来提升
算法的速度表现力.而多数基于数据驱动的流体模拟方法,包括利用 ANN 和 CNN 代替泊松方程的求解算
法 [93,94] ,都着重强调计算效率,而在算法结果的计算精度上都存在着一定的瑕疵.例如:在泊松方程的求解算法
[5]
中,传统的迭代法求解算法 PCG 或者 ICPCG [109] 与基于舒尔补的算法 [14] 的解算精度都可以达到 1e−8 数量级,
而基于神经网络的解算算法 [93,94] 却无法达到相同精度.而在文献[110]中,我们看到了传统的数值迭代算法
(multi-grid)在机器学习中的延伸,但是该算法没有应用到流体模拟中.如何有效地结合类似的高精度机器学习
算法来解决流体模拟的加速问题,也将是研究思路之一.
更进一步地,深度学习方法对于流体模拟数据的描述能力尚不清晰,如何在神经网络中保持流体的无散
性、如何有效地描述边界问题等有关于算法精度的难题,都亟待着人们去解决.
2.4.3 基于数据驱动的算法的物理准确性
如何解决高-低精度流体模拟之间的物理差异?在目前众多的基于数据驱动的流体模拟算法中,普遍存在
着模拟物理准确性的问题.例如,在文献[99,101]中,作者利用低精度模拟结果来实现高精度合成目标,在一定程
度上与传统的细节合成算法有异曲同工之效,但并没有从本质上解决这类算法的缺点——缺乏物理准确性.如
何解决高-低精度流体模拟之间的映射关系,也成为此类基于数据驱动的流体动画模拟算法应用推广的阻碍
之一.
如何利用现有的深度学习技术设计特别的形态差异识别模型,建立高-低精度模拟结果的非线性关系?如
何克服由低精度向高精度信息传递时的信息不对称性?如何将基于低精度形态矫正的模拟结果扩展到高精度
模拟场景中去?这些问题都在未来的研究中亟待解决.
2.4.4 并行优化
并行算法设计是传统的基于物理的流体模拟加速算法的研究方向之一,例如并行泊松方程求解器 [14] 、基于
舒尔补的多 GPU 并行法 [26] .而对于基于数据驱动的流体动画算法,均具有优良的并行性质.例如在神经网络训
练过程中,利用多核训练框架 [111,112] 、利用多 GPU 训练与计算 [113] 等.而如何有效地利用流体数据进行并行计算?
如何设计基于数据驱动的流体模拟的并行框架来解决流体计算中的问题,如大型线性方程组求解问题等,也是
未来研究者可以关注的一点.
3 结 论
基于物理的流体动画模拟是一个应用非常广泛的研究领域,其中,针对模拟的加速算法研究更是计算机图
形学中的一个热门方向.在影视特效制作、游戏制作以及最近比较热门的虚拟现实、混合现实的各种应用中具
有重大的发展前景.同时,由于大数据和机器学习技术的快速发展,特别是深度学习中深度神经网络的建模能力
越来越强,也为计算机流体动画模拟提供了一个高效和高质量模拟的新途径.
本文首先集中介绍了几类主要的基于物理的动画模拟加速算法,在此基础上,分析了各种算法的优势和不
足,希望可以为读者在后期基于物理的流体模拟算法研究中提供一定的研究参考.同时,本文还介绍了近期较为
热门的几类基于数据驱动的流体动画模拟方法,特别是基于深度学习的流体模拟算法更是体现出了非常大的
发展潜力.希望本篇综述可以在基于数据驱动的流体模拟方向上提供一定的参考并做出一定的贡献.
References:
[1] Bridson R, Batty C. Computational physics in film. Science, American Association for the Advancement of Science, 2010,
330(6012):1756−1757.