3D特效师可以“下班”了
2020-07-27 11:07

3D特效师可以“下班”了

本文来自微信公众号:量子位(ID:QbitAI),作者:金磊、萧箫,题图来自:电子屏海浪


是否还记得前阵子爆火的SM娱乐公司电子屏海浪?



人工制作那样的特效,可能需要花费......嗯,毕竟被称为“每滴水都是粉丝贡献的钱”。


但现在,DeepMind和斯坦福等一众科学家研究出了一款图网络模拟器——GNS框架,AI只需要“看着”场景中的流体,就能将它模拟出来。


无论是流体、刚性固体还是可变形材料,GNS都能模拟的惟妙惟肖。研究人员还称:


GNS框架是迄今为止最精确的通用学习物理模拟器。


并且,这项研究最近还被顶刊 Science 收录。



这也不禁让人联想起,清华姚班毕业生胡渊鸣开发的太极 (Taichi),不仅大幅降低了CG特效门槛,效果还十分逼真。


而在 DeepMind 和斯坦福大学的这项工作中,胡渊鸣的太极,依然发挥了作用。


他们正是利用胡同学的太极,来生成2D和3D的挑战场景,作为基线效果之一。


效果好到什么程度?Science在社交网络评价说:“好莱坞或许会投资这款模拟器吧。”



是你印象中的画面了


我们人类通过“经验”,说到一个场景时,能很快脑补出那种动态画面。


那么AI“脑补”出来的画面效果,是否和你想象的一样呢?


首先,是水落入玻璃容器中的3D效果。



和我们想象中的物理效果一模一样,有木有!


左侧的基线方法叫做SPH (smoothed particle hydrodynamics),这是1992年提出的一种基于颗粒的模拟流体的方法。


而右侧,AI通过“看”而预测得到的结果,就是研究人员提出来的GNS方法。


来看下二者在慢动作下的细节差异。



不难看出,GNS方法在细节处理上,例如溅起的水花,更加细粒度,也更逼近我们印象中的样子。


当然,GNS不仅能够处理液体,还能够模拟其他状态的物体。


例如,颗粒状的沙子。



还有粘性的物体。



上面两个效果中的基线方法是MPM (material point method),1995年提出,适用于相互作用的可变形材料。


同样,在颗粒散落在玻璃容器壁上的细节上,GNS的预测结果更加符合现实物理世界的效果。


那么,如此逼真的效果是如何做到的呢?


图网络模拟器模拟流体


传统特效计算方法


此前,对于真实物体的模拟,需要通过大量计算来实现,上文中提到的MPM就是其中的一种。


这种方法被称为物质点法(Material Point Method),将一块材料离散成非常多的颗粒,并计算空间导数和求解动量方程。


经过胡渊鸣等人改进的MLS-MPM,模拟物体的速度有了很大的提升,相比于原来的MPM快了两倍左右。



除此之外,一种名为PBD的方法,可以计算模拟出一个方块漂浮在水上的动态效果;



而这两种方法之外,还有一种被叫做SPH的经典方法,用于计算生成水的3D特效。



相比于这些采用大量计算模拟出来的真实场景,如果用神经网络对它们进行训练,是不是能模拟出物体在真实场景中受到撞击的效果,而且和用这些方法生成的效果非常相似?


网友对这样的想法感到惊奇,毕竟,人脑对于流体或是物体撞击效果的模拟,并非通过大量力学计算得出,而是通过神经网络模拟的。


DeepMind在这样的想法上,采用了GNS对生成的这些模型进行训练,用于模拟物体在真实场景下的特效。


图网络预测物体特效


GNS模拟物体最根本的原理,是将一块体积不变的物体模型X,分散成许多颗粒,并通过一个模拟器sθ,转变成它受到撞击后的形态。


从下图可见,模拟器sθ的用处,是将这块流体输入到一个动力学模型dθ中,并将产生的一帧帧结果用于更新物体变形的过程。




只要模拟器更新的时间够快,我们看见的就是这块物体在玻璃盒中受到撞击、不断变形的样子。


△ 图右为模拟器生成的效果


关键来了,动力学模型dθ要怎么实现?


团队采用了“三步走”的方法,将模型分为编码器、处理器和解码器三部分。



一块物体经过编码器后,编码器会将物体中原本分散的各颗粒架构起来,组成一个“看不见的”图。



而在处理器中,图中各颗粒的关系会不断发生变化,图网络学习得到的传递信息将会在图上迭代M次。



最后,解码器会将迭代好的动力学信息Y,从最后一次迭代出的图中提取出来。



反馈回物体X上后,物体中的颗粒便能一进行一帧帧改变,连续起来就是模拟出的液体形态。



可以看见,无论是哪种物体形态,GNS预测的效果都与真值非常相近。


创新点


与之前一些模拟液体的神经网络相比,GNS最大的改进在于,它将不同的物体类型,转变成了输入向量的一个特征。


只需要将不同的物体类型(例如沙子、水、胶质物等)用不同特征区分,就能表现出它们的状态。


相比之下,此前一个名为DLP的、基于神经网络的液体模拟器,与GNS相比就过于复杂。


同样是模拟各种流体模型,DLP则需要不断地保存颗粒之间的相对位移,甚至需要修改模型来满足不同的流体类型——所需要的运算量过于庞大。


不仅如此,GNS的模拟效果竟然还比基于DLP的模拟器更好。


细节更出众


下面是GNS与一款基于DLP原理的增强版CConv模拟器的效果对比。


与CConv相比,GNS在不同物体类型的模拟表现上依旧非常优秀,下图是二者共同模拟一个漂浮在水上的方块时,所生成的效果。



可以看见,GNS生成的方块和真值一样,在水中漂浮自如;相比之下,CConv生成的方块直接在水的冲击下变了形(被生活击垮)


如果采用与真实值相比的均方误差(MSE)进行对比的话,在各种物体形态下,GNS都要比CConv效果更佳。



除此之外,下图展示了GNS分别采用强化学习中Rollout和One-step两种算法策略的均方误差效果。(以及迭代次数、是否共享GN参数、连接半径、训练噪声量、关联/独立编码器等)


可见,采取Rollout的效果(下半部分)在各方面都要比采取One-step的效果好得多。



不仅如此,红色部分是GNS模型最终采用的策略,可见,所有策略都将均方误差降到了最低。


四位共同一作


这项研究主要由DeepMind和斯坦福大学合作。


论文的共同一作共四位。


△Alvaro Sanchez-Gonzalez


Alvaro Sanchez-Gonzalez 本科和硕士攻读的专业分别是物理和计算机,基于这样的背景,在博士期间,他主要专注于使用计算机方法来解决物理研究中的一些挑战。


2017年加入谷歌DeepMind团队,研究主要集中在结构化方法、强化学习等。


△ Jonathan Godwin


Jonathan Godwin在2018年3月加入DeepMind,并于2019年11月晋升为高级研究工程师。


此前,他也有过自己创业的经历,分别是信息科技服务公司Bit by Bit Computer Consulting和金融公司Community Capital的CEO。


在创业后和加入DeepMind之前,他还在计算机软件公司Bloomsbury AI做了一年多的机器学习工程师。


△Tobias Pfaff


Tobias Pfaff 是DeepMind的一名研究科学家,从事物理模拟和机器学习的交叉研究。


分别在苏黎世联邦理工学院和加州伯克利分校,完成博士和博士后的学习任务。


△Rex Ying


第四位共同一作是Rex Ying,目前在斯坦福大学攻读博士学位,研究主要集中在开发应用于图形结构数据的机器学习算法。


2016年以最高荣誉毕业于杜克大学,主修计算机科学和数学两个专业。


最后,对于AI通过“看”来模拟如此复杂的流体运动,网友认为:


脑能模拟各种复杂运动,靠的就是神经网络,而不是复杂的力学公式。



不仅如此,这项技术或许还大幅降低影视、游戏行业特效成本。


那么,这样的技术,你看好吗?


参考链接:

https://www.sciencemag.org/news/2020/07/watch-artificial-intelligence-learn-simulate-sloppy-mixtures-water-sand-and-goop

https://arxiv.org/abs/2002.09405

https://sites.google.com/view/learning-to-simulate/home#h.p_qUqtrBIqti4G


本文来自微信公众号:量子位(ID:QbitAI),作者:金磊、萧箫,题图来自:IC Photo

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定