凡铁游戏提供最新游戏下载和手游攻略!

“真气人”! UCLA蒋陈凡夫长文回顾:从转学生到终身教授的12年

发布时间:2024-10-27浏览:72

大家好,感谢邀请,今天来为大家分享一下“真气人”! UCLA蒋陈凡夫长文回顾:从转学生到终身教授的12年的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

对人、对事、对学术,江辰凡夫对图形的热爱和浪漫,字字句句都透露着,感动了无数网友。

文章中被他称为“少年英雄”的胡渊明读后甚至表示“令人心痛”。

截至目前,已获得近3000个赞。

最近,我被授予tenure(终身教授),有人来祝贺我:“现在你可以自由拒绝审稿请求了!”。我想了想,似乎这只是心态的转变。我也想也许我可以写点东西来纪念一下。那么19岁到31岁之间,有什么可以回顾的吗?好像有很多,但不整理一下又不知道从哪里开始。那我们就写一点吧。从物理本科,到CS博士,再到CS教职,再到数学终身教职,这看似曲折的十二年,其实都是在做同样的研究,没有一年是浪费的。一路走来,有很多事情值得回忆和总结,或许可以帮助我们思考未来。顺便说一句,我想写下我一路走来所做的所有很棒的事情以及我遇到的很棒的人。读起来应该很清爽。

第0章我的三叉戟第1章缘起第2章一炮引爆两个陷阱第3章雪海奇缘第4章平路摩擦摩擦摩擦第五章少年英雄胡远明第六章与Timestep的关系第七章:第三次摩擦碰撞之战,IPC魔童诞生第八章:下一个“Timestep”

第章:我的三叉戟

为计算机图形学打拼十二年我学习了物理相关的一些科学研究模拟。采取行动的代表性方向有三个:物质点法(Material Point Method: MPM)、仿射粒子在细胞法(Affine Particle In Cell: APIC)、增量电位接触法(Incremental Potential Contact: IPC)。让我们回忆一下下面的章节中关于每个方法中的人和事。在本章中,我们首先进行一个总体总结。

MPM擅长雪在短时间内就成为了人们的刻板印象。所以我决定花点功夫重塑MPM的形象。从技术层面来说,MPM只是一个基本的伽辽金空间架构。物理过程数值模拟的真正技术要点在于时间和空间的离散算法、本构模型的设计、性能的加速以及偏微分方程数值解的巧妙求解。手段不同。 MPM是一块优质画布,在这些技术点上的创新才是真正的一笔。但技术点就是面子,MPM就是面子。

所以我从外面看到的是,我和一群志同道合的人用MPM来压平物理世界中的各种固体和流体:巧克力、果冻、面包、牙膏、冰淇淋、泡沫、土壤、岩浆、牛排、东坡肉、橘子、西瓜、肌肉、骨头、内脏、布料、毛衣、头发、雪山、沙海、冰川、河流、无人机、炸药等。有固体、牛顿流体、非牛顿流体、颗粒体、固液混合物和人体。从山水到雨露,MPM从铁头功逐渐拓展为七十二绝技之书。

后来,他联合创办了一家公司,并编写了实用的MPM 特效解算器。最近,Autodesk买下了它并将其放入Maya中。相信未来几年,我们会在更多的电影中看到MPM的应用场景。

第二个方向:仿射粒子细胞法(APIC)。这是我2015年得意的文章,是我2014年圣诞节在迪士尼大帽工作室独自加班完成的。迪士尼所在的伯班克是大洛杉矶地区的一座沙漠城市,但我却对沙漠结下了不解之缘,海。于是那一年,APIC为莫阿纳的水添加了许多丰富的细节。

时间快进到了2017年,一位名叫胡的充满活力的年轻人来看望我,我们一起将APIC和MPM系列工作推向了高潮:移动最小二乘MPM(MLS-MPM)。其中,太极图形的起源以及MPM在可微仿真领域的扩展已有详细记载。

第三个方向:IPC。 2020年12月31日,宾夕法尼亚大学计算机图形中心,23:59,我手里的咖啡还是热的。有一块石头修补了天空。它充满了天地灵气、日月精华,猛然炸开。增量势能接触法IPC诞生了。王婆卖瓜吹牛:我暗自认为IPC改进了固体实体模拟,开启了“工业革命”,将连续固体模拟科学(不仅仅是图形学)带入了“蒸汽机时代”。 2022年,它的衍生故事仍在上演:

第一章:缘起

2010年,我遇到了三个改变我人生的人。第一个人是我的妻子;十二年来,我们恋爱了五年,结婚了七年。她握住我的手臂,迈出的每一步,或深或浅。十二年里我所做的每一个决定,从职业道路到小言小语,现在回想起来都无比正确,我许多影响深远的选择背后,都是她默默不知疲倦地陪我剖析、理性分析。

我在中国科学技术大学少年班选的专业是等离子体物理。 2010 年进入加州大学洛杉矶分校(UCLA) 入学后,我想转学到计算机科学。如果没有她绝对理性的方法来安抚我的急躁情绪并帮助我计划合理的步骤,我可能连第一学期都坚持不了。读完之后,我自暴自弃,不知道该何去何从。她也会陪我走很远的路。

2010 年改变我命运的另外两个人是我的博士生导师Demetri Terzopoulos 和Joseph Teran。他们的成就是我一生奋斗的目标。

我在UCLA 计算机系的导师Demetri 是英国皇家学会院士(与牛顿、本杰明·富兰克林、霍金等一起),也是奥斯卡科技奖获得者。他是20 世纪80 年代第一个在计算机图形学领域进行物理模拟的人。可以说是元界物理引擎之父。他也是计算机视觉大师,发明了蛇算法。事实上,他和Hinton 在20 多年前就发表了世界上第一篇使用神经网络进行物理模拟的图形文章,似乎人们经常错过它。

我在数学系的共同导师是Joseph,他是陶哲轩(现在的我)的同事,水平集发明者Stan Osher 的弟子和同事,曾被评为20 名最聪明的大脑之一。 40岁的时候,被discover(20名40岁以下的最佳大脑)发现,他是图形界最著名的有限元实体模拟人物。

2010年秋天,我和一个朋友联系了Demetri、Joseph和朱松纯老师。朱老师给出了非常理性的答复,不同意我转系。 (后来朱老师改变了对我的看法,和Osher一起加入了我的博士委员会。后来通过他的好朋友、现在北京大学智能学院的朱一新教授,我们形成了密切的学术合作关系。这个是后面的故事)。

Demetri和Joseph冒着给实验室带来巨大财务浪费的风险查看了我蹩脚的弹簧模拟代码(用MATLAB编写),但考虑到我之前发表过与相对论相关的论文,我应该不会傻,所以他们给了我一个机会。我赶紧喝了红牛,花了几个晚上强行看完一本教材,转载了一篇关于有限元肌肉模拟的siggraph文章。像这样的行为是给图形学教授留下深刻印象的最简洁有效的方式。从那时起,事情就一发不可收拾了。

我在编码和图形方面起步较晚。胡渊明从初中就开始写刚体引擎游戏,而我大一还在自学C++模板。像许多有抱负的图形或游戏爱好者一样,从头开始构建自己的引擎是一种不可抗拒的冲动。 2012年初,在学完所有计算机和应用数学课程后,我结合自己的物理背景,制定了一个长期目标:用物理模拟来重建世界。

Demetri还鼓励我:你比任何人都更适合缩小虚拟现实和物理现实之间的差距,连接虚拟世界和物理世界。当时还没有虚拟宇宙这个东西,但我的两位导师都是数字双虚拟人体的深度爱好者,这对我的科研兴趣产生了巨大的影响。回到物理引擎的概念,动作比心跳更糟糕。世界是多彩多变的,所以这个引擎被称为魔方。哦不,一切都很奇怪!所以同上诞生了:

同上包含多个实体模拟和碰撞处理的实践项目,特别是隐式有限元的3D布料模拟。如果当时有太极语言的话,应该写成可以作为GAMES201的大作业,并获得A+。

不幸的是,Ditto持续了半年之后,我就全身心投入一篇siggraph文章的具体工作,就停止更新了。后来到了2018年,z-emotion/ZelusFX的CEO突然联系我,说他在2012年向我要的ditto代码帮助他创建了一家面料设计软件公司,现在已经拥有很多用户。我高兴了很长一段时间。

第二章:一炮炸出来两个坑

我在博士期间工作了两年的第一个项目是对象碎片。网上有人说计算机图形学是程序员的三大浪漫之一(另外两个是操作系统和编译原理),但当时我没有看到浪漫,只看到了爽,我只是想继续努力。玩siggraph上最帅的demo,做最帅的男孩。

那时我完成了计算固体力学的学习。和很多做模拟的初学者一样,一切都是从模拟果冻开始的。毕竟,果冻是最典型的弹性体,而且往往非常柔软,不会给ODE(常微分方程)的时间步离散格式带来过大的刚度。要么dt很小,要么系统很难解决这个数值问题。因此,在弹塑性固体中,我发现了一个我想要模拟的情况:子弹穿过果冻。当时乃至今天,没有比这更酷的现实生活视频了:

我目前在教学时,经常告诉学生,如果想做科研,粗略研究一下相关工作,确定学术品味和潜在影响力后,就可以直接开始编码,不用太担心技术贡献不够。因为当你开始研究它之后,你很快就会遇到你以前可能没有预料到的问题,而解决它们将成为你文章的主要贡献。

我们用有限元来描述破碎的果冻。在不到半个月的时间里,我们遇到了两大问题:(1)如何自然断裂,即如何避免裂纹表面出现丑陋的三角形;(2)如何稳定地处理复杂之间的摩擦碰撞碎片。

拓扑变化谁更胜一筹,Level Set敢为王。为了实现自然破裂,将有限元和水平集方法结合起来是一个非常聪明的想法。 Level Set非常灵活,可以从各种自然角度分割四面体,并且可以完全避免重新网格化。

Level Set方法的发明者Stan Osher在UCLA给了我们一些宝贵的建议,很快破解问题就得到了解决。

在这篇文章中,我主要负责摩擦和碰撞。建模坏了之后,这就成为第二个最麻烦的事情了。 Level Set的行进式四面体切割方式带来了无数形状“恶心”的果冻碎片:裂缝表面,有的三角形薄如闪电,有的扁平如大饼。在计算几何中,这些特殊的三角形被称为“病态”。如果想用普通的几何方法来解决它们的碰撞,很难穷尽碰撞算法本身的情况,只是因为浮点数的精度带来的千变万化的影响。一个误判就足以让人绝望。我花了一年的时间尝试了很多算法,但都失败了。

最值得一提的算法是一个非常大胆的想法。我将求解的固体投影到规则网格上,然后让网格假装它看到的是不可压缩流体,求解泊松方程,将速度场变成无散度,然后插值回固体。这实际上提供了一个非常好的不透明解决方案!但缺点是物体的运动做得过于像流体一样轻盈敏捷,缺乏固体特有的顽强。我问我的导师约瑟夫是否有一种解决固体的方法类似于解决流体的方法。我想尝试一下碰撞。他回忆了很久,给了我一个我持续关注了十年的名字:MPM。

MPM于1995年由美国国家实验室发明。它是一种混合拉格朗日粒子和欧拉网格的固溶方法。追溯到20世纪60年代的Particle-In-Cell(PIC方法,最初用于求解等离子体物理学中的麦克斯韦方程组)和20世纪80年代的Fluid-Implicit-Particle-Method(FLIP方法,用于流体沉降),张欣欣的我的导师Robert Bridson(我的叔叔)于2005 年引入了图形学)。像流体一样,它会自动防止材料之间的渗透,并且可以完美地求解固体方程。在我当时看来,将MPM 引入碰撞处理再合适不过了:

最后,我交出了一份答卷,现在看来,它远非完美:

这颗子弹的尺寸有点夸张,更像是炮弹。荣获SCA 2013年度最佳论文奖。它还打开了MPM带来的两大学术陷阱:拓扑变化的多材料以及自动加工的摩擦和碰撞。我和MPM走到了一起,从暧昧到沉迷。

彩蛋:文章还首次折磨了一只犰狳,引起了很多文章读者的不适。但后来这个场景被其他研究人员多次作为基准效仿。那不是我的错。

第三章:雪与海的浪漫

在学习MPM的几个月里,同组的俄罗斯前辈Alexey也加入了粉丝团队,并主导了广为流传的文章《MPM雪》。一时间,我们集团与迪士尼的联姻成为了一段传奇。包括我在内的几个同学都去迪士尼实习,参与编写Production软件代码。在《冰雪奇缘》庆功会上,我第一次尝到了科技产业化的喜悦。

《冰雪奇缘》之后,迪士尼又制作了《大英雄6》《超级海军陆战队》。在那里,用MPM来模拟一些奇怪的材料,这是一些公开的信息。

Disney's Big Hero 6

时间就这样移到了2014年,我打算博士毕业。想要在MPM 和PIC 中做一些更数学和基础的事情。同时希望在现有的FLIP流体和MPM固体上做出有应用价值的改变。那么回顾一下,用FLIP制造流体,用MPM制造固体,这个过程中是否存在一些不合理的数学黑客?专家肯定会指出:就是FLIP-PIC混合比例。 FLIP和PIC实际上可以参考混合粒子网格方法中网格对粒子进行插值的步骤。

PIC直接插值速度场,但会引入巨大的数值粘性,FLIP插值速度增量,但会引入巨大的不稳定性。于是图形学界的流体大师Robert Bridson教授在2005年提出将FLIP结果乘以0.97,然后将PIC结果乘以0.03,然后将它们相加。这个数字是用户可调的参数,但是可调但不可控!不同的数字在不同的场景下会产生截然不同的结果。这是艺术家的噩梦,也是强迫症患者的地狱。

所以我决定干点大事,摆脱这个东西,因为我有一个信念:需要设置启发式参数的模拟算法永远不可能是好的算法的最终形式。

结合角动量守恒方程的理论分析,跳过一些技术细节,偶然推导出Affine Particle In Cell(APIC)。 FLIP 流体和MPM 固体进入了新的篇章。艺术家可以更轻松地获得所需的模拟结果的粘度,无论是山脉、河流,还是滚滚的岩浆。在我心里,他们就像冰雪一样浪漫。

迪士尼非常高兴,迫不及待地想在《莫阿娜》中使用APIC:

2015年夏天,我毕业并结婚了。婚礼在洛杉矶南部的玻璃大教堂举行,周围有山、有海、有树林。那年夏天在SIGGRAPH 上,我认识了很多很多志同道合的朋友。给我印象最深的是,在流畅的会议中,我看到了一个英俊的银发男孩。他走过来问我:“今年好文章很多,哪些可以长期流传?”我随口回答了几句。他说:“今年的文章中有两篇最好的文章,一篇是我的IVOCK,一篇是你们的APIC。”

我很惊讶,赶紧交换了名字。原来,这个霸气的年轻人名叫张欣欣,如今他带领“泽森科技”为中国特效征服世界。那时的我们是纯洁的,在彼此眼中的倒影中,我们都看到了一位勇敢的男子,手持彼此打造的巨剑,用鲜血挑战着名为数值消散的邪龙。从那天起,我们开始了长达七年的合作。

毕业后,我继续从事MPM 固体和流体研究。学术界的人其实很喜欢立flag。我一直尽力践行一个基本原则:即使我的模拟文章提交给图形会议和期刊,我也绝不会做任何不符合视觉效果物理和数学原理的hack;我需要每个算法都适用于整个计算物理。这个原理给我当教授时带来了很多好处:包括(1)自然科学研究基金的青睐,(2)在Nature子刊上发表的MPM自然灾害预测技术(雪崩、滑坡、泥石流、冰川)日记破碎、海啸):

以及(3)医院非常喜爱的虚拟创伤和手术模拟平台:

它们或许不像雪和海那么浪漫,但它们对世界有着更真实、更直接的影响,甚至有助于拯救生命。这些作品也为自然科学和医学领域从事图形学物理模拟的同行赢得了更多的尊重,纠正了其他领域的人认为图形学就是不断介绍自己所做的事情的误解。

毕竟,很多图形论文都喜欢称这个贡献为:“我们将XXX 方法引入计算机图形学”。我想做的是要求物理和数学领域的人发表论文,说同一句话,但把“to”改成“from”。最近遇到的一位做经典力学的同事惊叹道:“好一波反向输出啊!”

现在,当我想到固态模拟在医学中的应用时,我脑海中浮现出额外的记忆。 2016年,我特别想把虚拟人体产业化,探索了很多不同的方向。其中比较有趣的一个是与体素科技现任CEO丁晓伟讨论的整容手术预测,丁晓伟也是实验室的好朋友。当时我跑了一个隆胸动力学预测的demo(包括对乳房软组织、皮肤、硅胶植入物的综合模拟),也和洛杉矶的一些整形外科医生聊过,但感觉市场需求不大够大了,所以我就没有继续。下去。现在元宇宙跨领域越来越流行,我不知道这个方向是怎么回事。

第四章:摩擦摩擦,在光滑的路上,摩擦

如前所述,2012年,我使用MPM思想尝试处理破碎模拟中的物体碰撞。但该算法只能处理不同片段之间的碰撞,与自碰撞无关。 MPM 是一种使用粒子来描述对象的离散格式。毕竟,它自然最适合冰、雪、沙等颗粒状物体。

布料和头发是每个做实体模拟的人都想征服的东西。科学研究应该尽可能以人为中心,而面料和头发确实与人密切相关。有许多处理摩擦和碰撞的算法。他们做得好的事情同样好,但做得不好的事情则多种多样。于是在2017年,我又回到了摩擦碰撞的战场。与MPM的105度恋爱关系,我选择了一个没人想到的想法:利用MPM的可塑性来挑战这个课题。

当时我已经学会了Druker-Prager塑性屈服面并成功地用它来制作MPM砂。砂的本构模型有两个要素:一是支持分离但不支持挤压;二是支持分离。其次,当它滑动到边缘时,切向力和法向力必须满足库仑摩擦定律。仔细想想,这两个特性显然不是沙子所独有的!布料、头发、橡胶、刚体等,哪些常见的实体碰撞不遵循这两个定律?

所以我决定放弃传统的基于点与三角形、边与边的几何相交特性的摩擦碰撞概念(同上实现的),转而采用MPM“连续介质力学”的视角。无论是布料还是头发,它们都只是占据的连续空间。从这一点来看,它们与沙子唯一的区别在于,沙子是三维“体”,它们分别是三维空间中的二维和一维表面。

想到这里,一切突然就清楚了:如果Drucker-Prager塑性可以使三维MPM砂满足摩擦和碰撞的性质,那么我只需要在二维和一维子空间中推导出相应的相似塑性,并且那么我就可以让它MPM布料和头发满足同样的自动摩擦和碰撞特性!

以布料为例,通过变形梯度的QR分解,我们可以设计出精致的弹性能和塑性屈服面来“管理”布料法线方向摩擦力和碰撞力需要满足的应力条件。直观地说,在曲面的方向上,布料看起来就像一串串交织在一起的砾石。顺着布的切线方向看去,布上写满了“卡伦”两个字。

认识到这一点,处理一维和二维表面上的摩擦和碰撞与处理三维沙子上的摩擦和碰撞没有什么不同。您只需将这个新的本构模型写入曲面上的顶点,MPM 将默默地、完全自动地处理其余部分。从布料到头发,从地毯到毛衣,所有传统的碰撞检测和碰撞处理都被抛弃。少量粒子和网格就可以生成精彩的动画。这种颠覆性的建模方法,现在回想起来,依然感觉自己走出了魔鬼的脚步,是我学术生涯中最满意的一篇MPM论文。

那一年,我去siggraph 2017宣讲质点法。我所表达的情感只能用已故李兆基先生的经典台词来形容:“比我的初恋更有诗情画意。”

本文的2D版本也已经用Taichi语言实现了(橙猫:Taichi实现2D各向异性弹塑性布)。代码非常简洁精彩。后来,在第二年的SIGGRAPH2018上,来自哥伦比亚大学的猛将Raymond Fei将这套步法与APIC结合起来,做出了令人惊叹的布与水相互作用的作品(libwetcloth)。 100% 赏心悦目。

参加SIGGRAPH 2017 时,我还有一个额外的目的:招募我的第一个学生。开会时,我刚刚开始在宾夕法尼亚大学担任助理教授的职业生涯,而且我独自一人。有宴会和喧闹的酒吧。我在会场外过夜,寻找那个可以和我有说有笑好几年的小伙伴。高级猎人会将自己伪装成猎物。

在阴暗的角落里,我看见一个熟悉的身影在月光下独自喝酒,用眼神看着我。这不是一年前张欣欣在烧烤店给我介绍的李敏辰吗?我记得他! UBC的一位帅气小伙子和张欣欣写了一篇流畅的文章。我点了两杯苹果马提尼酒,摇摇晃晃地走了过去。 “你还记得我吗?” “记住,来,喝一杯!”那杯酒拉开了接下来五年永不醉的学术盛宴。

第五章:少年英雄胡渊鸣

2017年的夏天,注定会遇见更多不平凡的人。说起来,早在我第一次在酒吧见到李明臣的前一年,在图形领域就曾流传过这样一个都市传说。有一个年轻的武士,骑着马,挥着鞭子。他没有发表过一篇SIGGRAPH 论文,但他已经实现了一百篇论文;他还没有开源一套代码,但是他有一百万行代码已经准备好了;他接手了图形学习模拟实施,可以一夜之间提高十倍效率;他三天不眠,将四年来所有的MPM论文进行了转载,并提出了一百种改进方法。

他是神的化身吗?还是地狱的使者?一时间谣言四起,甚至有人说他想建立计算机图形学的新秩序。还在想着MPM的问题,晚上睡不着觉。这孩子是谁?

果然,他来到了门口。和想象中一样风度翩翩的胡渊明,带着一位比他更加神秘和腼腆的朋友,从清华大学来到了我的宾夕法尼亚大学实验室门口。 “我们来这里是为了和你一起做MPM。”他的话简短而有力。 “好吧,我们开始吧。”那时,我们不知道如何寒暄。我们只要看到一个共同的研究目标,一切就都清楚了。当时他带来的小帮手名叫方华。我去谷歌了一下,发现哦,方丽玉。现实绝非一帆风顺。我们高速迭代,经历了一些失败的科研项目,最终得出了MLS-MPM的发明和后续,简单又精彩。

那时,我有自己的C++库,这比当时的同上要优越得多。我的图书馆叫做“jixie”(机械)。胡渊明带来了他的图书馆,名为“太极”(Tai Chi)。那时Taichi 还是一个C++ 库。两个图书馆各有千秋,碰撞出许多令人兴奋的火花。胡渊明对我助理教授生涯的研究重点,尤其是对计算机性能的追求,起到了很大的启发作用。

英雄相惜,终究要告别。胡渊明将前往麻省理工学院从事其他项目。我在披萨店说了再见。 “MPM的发展将会放缓!”我感到很失望。他微笑着告诉我,还有人会跟随我去征服MPM多物理场仿真的世界。我看了他一眼,猛然醒悟。这段时间,我们一起在刀光剑影中有说有笑,还有一个比他还小的英雄少年!他是一个沉默寡言的人,但在科研的战场上,他虽然没有胡渊明那么耀眼华丽,但却散发着更加凶猛的激情。

方力成了我的第二个学生。如果说陈敏是一杯烈酒,底蕴日益成熟,那么方力就是一把嗜血的刀,越来越锋利,越来越残忍。接下来的五年时间里,他达到了像居合斩一样快的实现旧论文、尝试新想法的速度,一击碎骨、杀人灭口。

那些年,在李方、陈敏等人才的努力下,我们不断推进高性能MPM多物理场仿真,直到数十亿粒子级别的仿真变得轻松自如。通过与超算中心的合作,我们将MPM发展成为具有百亿亿次计算能力的超级计算机,每秒可计算1018次浮点运算。看来我们对于高分辨率的追求是认真的。

后来,我的实验室聚集了一大群意气风发的孩子,有瞿子音(子音:北京电影学院发表了一篇充满数学公式的计算机会议论文,并开源了其代码)、邱宇星、王新雷、李轩、陈雨诺、曹雅迪等人,他们围绕着方力主导的C++模拟引擎自然(natural),在物理模拟的海洋中嬉戏。他们优雅的学院派舞曲仍在创作中。有他们在身边,我感觉自己永远捕捉到了青春,每天都是学术的“碎蛋糕派对”:

To break bread is to affirm trust, confidence, and comfort with an individual or group of people.

肩负着帮助人类连接虚拟世界和现实世界的历史使命,我们致力于模拟,用我们的硬核基础铺开百万枝叶。以下是我实验室多年来研究的方向。这些成绩的取得,也饱含了朱松春教授、北京大学陈宝全教授、浙江大学汤敏教授等前辈给予的极其宝贵的经验和帮助。

第六章:与timestep结缘

起搏器是身体的基础和运动的枢纽。 —— 《太极拳十大要论》

在元宇宙的“基本结构”中,如果建模是内功,渲染是招式,那么物理模拟就是步法或身法。步法与时间和动作密切相关。分化和整合是及时进行的,从过去预测未来,并使用未来的指标。

引过去。(指引过去,靠的是可微分模拟。)不管是逍遥派的凌波微步,泰森的蝴蝶步法,还是奥拉朱旺的梦幻脚步,它们都反映了一个道理:有一套成熟的步法是一位集大成者立于不败之地的一个可靠的保证。 在动力学物理仿真中,大家最常说的一个词,就是timestep:时间步长,Delta t。正向物理仿真的过程,本质上往往就是微分方程在时间轴上积分的过程,这个过程,又被称为timestepping method;我愿译其为“时间步法”。 现实中的时间是连续的,但仿真中的时间是离散的。对于一段24 FPS的动画来说,每秒钟的理想情况,是让仿真算法从一个过去的时刻往前走24步,每步走1/24秒,生成24个几何形态。除非希望对现实的逼近追求更加极致的准确性,一个通用图形学算法最好具备只需要走24步的能力。如果往前预测1秒需要走48步,或者240步、2400步,那就往往是成倍的效率降低。 可惜的是,直到2015年左右,甚至今日,仍然有无数的图形学仿真算法需要走子步(substeps)。更令人痛苦的是,即使走了子步,它们中的绝大多数仍然不能保证数值的稳定性,俗称“爆了”: 放错图了。爆了的仿真其实长这样: 仿真爆了就意味着得调节参数把程序重跑。我2011年在工业光魔ILM实习,我那时的实习导师告诉我,ILM里在帮复仇者联盟的绿巨人设计肌肉仿真算法,浩克一发力,程序就爆炸,重跑停不下来,delta t 小的不能再小了,机房空调费都要烧个上百万。 为了能够迈出1/24秒或更大的步子,我开始致力于研究基于优化的时间步法。非线性非凸数值优化是一个非常厉害的领域,如今整个神经网络和深度学习都靠它。这个宇宙最基本的物理规律:热力学第二定律(熵增原理)本身也定义了一个优化问题。因此,越来越多的应用数学家开始用优化和变分法的思路去重新思考动力学偏微分方程的数值解。 弹性体模拟的方程便是一个可以重新定义为寻求最小值的优化问题!在此框架之下,时间步长可以迈的任意大,不会扯到蛋。 此间工作很多,图形学里早期工作比较有代表性的,包括刘天添 2014年的巧妙投影动力学“Projective Dynamics: Fusing Constraint Projections for Fast Simulation” 及其2017年的拟牛顿法“Quasi-Newton Methods for Real-time Simulation of Hyperelastic Materials”(2019年(第八届)中国科学技术大学《计算机图形学前沿》暑期课程_哔哩哔哩_bilibili)(冰点蓝:计算机图形学前沿(2019) Towards Real-time Simulation of Deformable Objects),和我2015年参与的比较中规中矩的牛顿法“Optimization Integrator for Large Time Steps”。我的实验室后来则在下面四个地方分点发力: 李旻辰在2019年把拟牛顿法跟domain decomposition结合了起来,打败了一系列竞争对手,得到了一个非常高速度的有限元弹性体解决方案Decomposed Optimization Time Integrator “DOT”(点点有限元法): 王鑫磊则另辟蹊径,考虑多尺度网格multigrid,让MPM也走到了超大的时间步长上面,发明Hierarchical Optimization Time Integrator “HOT”(热辣物质点法),可以高效处理超级“硬”的弹塑性体,帮助工程力学设计的仿真: 方燠则跳出牛顿和拟牛顿的思路,以“快”为目的,把MPM的加速结合上了交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)上。这个方法被称为“Silly Rubber”(愚人橡皮法),可以快速模拟各种MPM适合的材料,比如奶油: 我们最为得意的,也是最新搞出来的,便是李轩、李旻辰和我一起用几支烂笔头推导出来的SIGGRAPH 2022论文Energetically Consistent Inelasticity (ECI)。这个工作在数值计算理论上,我认为有很可观的意义:它首次让塑性力可以迈着同样大的步伐,被真正隐式求解了!也就是说之前的方法,包括上面提到的,都不准,都对塑性力做了一个强相关于 delta t 的其实很不准确的近似。 那算的准有什么好处呢?当然是去跟现实对照了。跟现实连定性的视觉效果都对不上的虚拟物体,步法不够稳健,不能叫数字孪生,永远都只是游戏(没错, 这里说的的正是PhysX/PBD)。我们的坚持,是第一性原理,是我们希望一直尽力朝着真正的数字孪生方向前行的一些固执的原则。

第七章:摩擦碰撞的第三次战役,IPC魔童降世

开始的那些年,从最初level set fracture中的一炮双响,到MPM布料,我一直在跟“摩擦碰撞”这个难题对干。每一场仗都打的很漂亮,但都还是存在很多Limitation。以2017年的MPM布料为例,作为它的缔造者,我比任何人都能更清晰的看到它光芒下令我不堪面对的缺憾。作为一个MPM方法,它在隐式积分条件下性能非常差。 它对粒子和网格的依赖给几何体强加了许多苛刻的要求:比如两者的分辨率需要尽量吻合。同时,它又像一台看似美好的特斯拉自动驾驶汽车,一不小心甩给你一个不大也不小的错误(数值粘性和偶尔的数值穿透),让你在使用时总是心怀忌惮。比如正如下图所示,MPM布料做毛衣虽然厉害,但是仔细看去,还是出现了许多穿透:

穿透会非常严重的影响仿真的精度和可信度。它不只是模型视觉上的错误,随之而来的弹性力和摩擦力也会因穿透而变得离谱和虚幻。因此,长久以来,至少在布料这一个小方向上,我并没有能够把MPM从特效和游戏的应用中打出去。换而言之,因我坚信元宇宙和游戏的最重要区别是对“准”的把握上(这也是我不认为NVIDIA的omniverse拿着一个基于不物理方法推导出来的PhysX引擎可以做成真正元宇宙物理引擎的根本原因),MPM在布料这个方向上要走的路还很长,还需要后来者的努力。 时钟拨到2020年前夕,没有征兆又似蛰伏许久的一件事情发生了。之前我把旻辰比作美酒,他便真的是这样一个学生,在陈酿的千锤百炼中一不小心就饱满丰厚,醇香持久。没几年,他便从一个学生潇潇洒洒地蜕变为一个成熟的合作伙伴。 那晚,我郑重的告诉旻辰,“你刚完成的这个叫做IPC的项目,把一个困扰了计算机图形学和工程力学无数研究者几十年的一个领域给终结掉了,完美本无法触及,但IPC是我入行以来见过的,最接近完美的仿真技术。”在这一年后,旻辰以IPC斩获SIGGRAPH年度最佳博士论文奖,毫无悬念。 IPC的全称是Incremental Potential Contact,中文作增量势能接触,很拗口,还是就叫IPC吧。它的算法冗长而又毫不晦涩,刚猛而又不失优雅。在数值优化的框架下,IPC把所有基于mesh的物理仿真中“不许穿透”这个令学术界和产业界都为之痴迷的难题,从仿真问题的数学形态上就直接通过一个灵巧的定义给彻底毙掉了,其后的算法自然是如出入无人之境。“从此穿模是路人。” 技术上,IPC提出了一个崭新而又巧妙的关于“碰撞”的数学描述方法:所谓碰撞,便是在动力学过程的最小作用量原理下,要求任何非邻接几何表面之间的欧氏距离在连续的时间轴上恒大于零。它正是又一个timestepping的时间步法!如此一来,我们得到了一个可以用数学完美描述的约束优化问题。再配以些许精巧而不诡野的算法设计,最终的IPC技术在数学、算法和实现上都令人信服。毫不夸张的说,IPC是数值仿真自发明以来,唯一的把精确碰撞和摩擦这两个要求完美解决掉的办法。它唯一的缺点是计算效率不够快;被我们后来攻克,按下不表。 IPC及其2021年后续工作赋能了无数之前计算机仿真界根本做不了的事情,以绝对的稳定性、精确性、和数值收敛性涵盖了三维柔性体(“百万四面体的毛球”和“是绳子就坚持一百秒”): 二维布料(轻松处理打结,和任意多层布料上身,这里只展示了四层,毕竟我们的建模制版技能点加的比较少): 二维薄壳(跟真实的一叠扑克牌的厚度完全吻合,没有任何别的方法可以做到)(这是不是可以拿去开元宇宙赌场?): 以及首次有“不穿透保证”与“精准摩擦力”两个性质的的一维细杆(面条、毛发): IPC技术适用于所有基于网格的固体模拟。无论是自碰撞、外碰撞、甚至是来自于低维曲面的碰撞,IPC都是一个绝顶灵活、有效、和无条件保证成功的解决方案。IPC对图形学和工程力学基于或不基于有限元的全部应用都提供了有史以来第一个几何不穿透,体积不反转的可证明的直接保证。从此以后,跑固体仿真只需要输入真实世界可以测量的物理参数和几何参数,而再不需要去调节所谓的数值参数。在此之上,IPC承诺必定能够对任意复杂的状态给出求解,并且这个解就是这个世界上现存所有算法能给出的,最接近真实世界摩擦碰撞结果的解。 几年过去了,这个总结被图形学、机械工程、以及机器人领域的同行不断的引述和验证。作为一个学者,我从未如此夸过一个工作,毕竟有吹牛皮之嫌。但是IPC不一样,我不担心,因为这个牛皮是钢铁铸成,永远也吹不破。 IPC这么完美,还有什么可以改善的呢?正如上文所说,它的计算效率存在一定的问题。在我们一筹莫展之际,一位老友突然与我们取得了联系。此人名作阴阳(Yin Yang),继胡渊鸣之后成为第二个让我瞧见八卦图头像便能开怀之人。克莱姆森大学的杨垠教授(现在迁去了犹他大学)姗姗来迟,他是降维仿真和GPU加速仿真的代表人物。我们一拍即合,开始建立深厚的革命友谊。自那天起,杨垠、旻辰和我开始了围绕IPC技术的一系列深度合作项目。在我们的思维火花碰撞之下,浩如烟海的脑洞和研发项目扑面而来。以2022年为例,我们便让IPC生态系统在刚体仿真和实时仿真两个方向取得了不亚于原始IPC的崭新成果。 第一个成果,是我们在刚体仿真上取得的重大成就。刚体与柔性体自古以来便被分开处理,求解它们的方法不能说是关系不大,只能说是几乎毫无关系。在IPC的加持下,我们提出了崭新的“Affine Body Dynamics (ABD)” 仿射体动力学,在淘汰传统刚体模拟的路上直接飙到终点,让刚体重新回归成它们在真实世界中的样子:即使最硬的物体,也会微小的形变,硬度是振金还是木头,该是多少就是多少,不需要被假设成绝对刚体。在ABD技术的加持下,我们在拥有所有IPC优点的同时,达到了媲美现有刚体引擎的速度和全方位碾压的精度。高速而又精准的机械体仿真首次成为可能。 真实碰撞驱动的齿轮: 及其受力分析: 带传动结构的小车(含简易气缸): 及其传动引擎的简易气缸运动的可视化(活塞运动带动旋转): 铁链弹性波的传播: 比较传统的场景当然也不在话下: 值得一提的是,ABD在机器人抓取的任务上,已经被机器人领域的学界和工业界同行验证,其成功率和对接触力/摩擦力的准确性上,已经远远超过了PBD、Bullet、Mujoco等一众现有刚体引擎;强化学习在我们的solver上,轻松训练出了真正可以转化到物理世界的控制算法,误差之小,模拟过程之惬意,非机器人业内人士不可言喻: 英伟达Omniverse也宣传了很多工业机器人的场景,它的技术仍然基于PhysX(PBD),那套简单易学但毫无真实物理原则的手段。剩下的一切,还何须多言呢?也许在有些人心中,元宇宙只需要以假乱真,”看上去差不多就行了。”那么,就等时间给出“自然”选择的答案。 我从方法论上表述我自己的观点。我认为,像PBD一类的技术,以快为出发点,在当年的低下算力和就是面向游戏的两个前提下,无可厚非。但是由于对数学和物理原理的修改与简化,使其在元宇宙的未来想要从快到准,路途难如蜀道。 与它们截然不同的是,IPC直接先把“准”这一步做到了几乎完美,那么在这个前提下,再做快有多难呢?在算数、算法、算力的三重加持下,IPC加速之路顺畅无阻。举例而言,我们2022年的第二个成果,便轻松地实现了多层布料的实时交互仿真,并且,没有牺牲任何IPC在碰撞上所承诺的美好保证:

第八章:下一个“Timestep”

十二年,我从C++都不会写的等离子体物理专业的学生,到拿到CS PhD,去常青藤做CS教授,再到UCLA应用数学拿tenure,回想一下,这其中竟没有一年被浪费,纯粹跟着喜爱的研究走,顺其自然。记得网上常有人讨论@计算机图形学的交叉学科本质。我想我本人应该就是一个不错的活标本吧。十二年的职业道路上,我也是无比幸运(毕竟射手座),遇到了太多牛逼的师长、同学、挚友、和学生,每个人都让我学到了很多。 那下一个十二年,我应该主要做些什么呢?思考了许久,不为立志,但求有一个计划。我想, “closing the gap between virtual reality and physical reality”,这个目标绝没有变,围绕物理仿真这一指引运动规律的轴心的原则也依旧在我心上打着思想钢印。在此之外,我与携有同样想法的三个人(李旻辰,方燠,杨垠Yin Yang)一起成立了Timestep,致力于稳健、精准、高效、普适的物理仿真“步法”及它们在不同产业中的应用,并在国内以及世界多地积极打造和布局一个可持续发展的体系。万水千山不停步,希望在下一个十二年,我们跟更多同道中人一起,通过有趣和有用的技术和想法把虚拟世界和现实世界真正打通。 《从转系生到终身教授:十二年图形学物理模拟的自我回顾》:https://zhuanlan.zhihu.com/p/560415998 — 完 —

用户评论

陌離

真是励志啊!12年时间跨度不大,但从转系生做到终身教授真的不容易,要天赋也要努力奋斗。蒋陈凡夫老师经历坎坷却始终坚持学术追求,让人敬佩!

    有8位网友表示赞同!

我家的爱豆是怪比i

UCLA的教授晋升可是非常严格的,能做到终身教授的确实牛人!蒋陈凡凡老师这篇长文写的也很细节,可以感受到他对自身成长的反思和总结。

    有13位网友表示赞同!

■□丶一切都无所谓

12年从转系生到终身教授,这个速度确实让人震撼!不过文章里也提到了很多困难和挫折,我觉得这才是更值得关注的部分,真实地展现了一位学者的成长历程,很有意义。

    有10位网友表示赞同!

小清晰的声音

我翻了翻他的研究论文,感觉他选题很好,很具有前瞻性。 这位教授的学术成果让人眼前一亮!希望能看到他未来的更多精彩工作。

    有20位网友表示赞同!

一别经年

文章写得很好,语言通俗易懂,读起来很有代入感,仿佛经历了他的青春岁月。 这种“荡气回肠”的感觉确实非常强!

    有20位网友表示赞同!

巷雨优美回忆

我有点不同意文章里说的那些观点,我觉得他在面对学术困难时表现的过于被动。 但总体来说还是一篇文章写的不错,可以从中收获不少启发。

    有11位网友表示赞同!

强辩

看完这篇长文,我现在对终身教授这个职业有了更深入的理解。 12年真的可以用“荡气回肠”来形容!

    有13位网友表示赞同!

墨染天下

UCLA不愧是名校,培养出了这么优秀的学者!希望蒋陈凡夫老师能继续为学术发展做出更大的贡献。

    有8位网友表示赞同!

雪花ミ飞舞

我挺佩服这位教授坚持理想的精神,但我觉得他的观点有待商榷。 有些地方写的偏激了点,需要更客观和理性的分析。

    有15位网友表示赞同!

执念,爱

从转系生到终身教授的经历确实令人心动! 这篇长文让我看到了学术研发的艰难和喜悦,也明白了一个人如何通过不断努力最终实现自己的梦想。

    有13位网友表示赞同!

不识爱人心

虽然这篇文章比较长,但我一口气读下来了,真的太精彩了。 蒋陈凡夫老师的故事就像一部传奇故事,充满了跌宕起伏和让人振奋的时刻!

    有17位网友表示赞同!

凝残月

这篇博文引发我对学术道路的思考, 也让我对UCLA充满了好奇和憧憬。 希望有更多像他这样的学者,为人类社会做出更大的贡献!

    有7位网友表示赞同!

折木

“荡气回肠”这个词形容得真好!蒋陈凡夫老师经历的一切都让人热血沸腾, 他的故事给我带来了很大的激励!

    有13位网友表示赞同!

执笔画眉

文章里很多细节让我印象深刻,尤其是他面对困难时的乐观和坚韧。 从转系生到终身教授, 他用12年时间谱写了一曲励志的人生赞歌。

    有20位网友表示赞同!

陌上花

我从文章中看到了学术道路的艰辛与不易,也感受到了这位学者对知识的追求和对未来的期许! 真的是一篇让人热血沸腾的文章!

    有10位网友表示赞同!

。婞褔vīp

文章结构比较清晰,内容也很丰富, 虽然字数较多,但读起来很流畅,很具有感染力! 从转系生到终身教授的历程真是让人生佩服不已!

    有18位网友表示赞同!

有些人,只适合好奇~

我对这位UCLA教授的研究成果很有兴趣, 特别是他在XX领域的最新研究进展。 这篇文章让我更想进一步了解他的学术贡献。

    有6位网友表示赞同!

浅笑√倾城

不过这篇长文的写作风格稍微过于书面化, 有时读起来有点枯燥乏味, 可以适当加入一些情感描写或案例分析,使文章更生动有趣!

    有7位网友表示赞同!

热点资讯