查看原文
其他

SIGGRAPH 2023|你的AI Tony老师上线了,英伟达提出毛发模拟新基线

seven_ 将门创投
2024-08-23
2018年,网易《逆水寒》与AMD合作开发出来一款名为“海飞丝”的算法,该算法基于AMD的TressFX毛发模拟技术,可以在游戏中较为清晰的模拟人类头发的运动,大大增强了游戏场景的真实感。一个健康的成年人大概拥有10万根头发,如果想在游戏场景中模拟头发,就需要对这10万根头发自身以及周围环境进行交互建模,很明显,这是一项非常吃显卡算力的算法。最近,在AI领域属实“赚麻了”的另外一家显卡巨头NVIDIA也公布了自己在毛发模拟领域的最新进展,他们提出了一种基于ADMM算法的离散弹性模拟求解器(Discrete Elastic Rods,DER),DER基于神经物理学来训练网络预测头发在现实世界中的运动方式,同时也可以充分利用GPU的大规模并行计算能力,大大减少了算法在高分辨率头发模拟场景中的迭代时间,目前DER已经被计算机图形学顶级会议SIGGRAPH 2023录用。

论文链接:
https://research.nvidia.com/publication/2023-08_interactive-hair-simulation-gpu-using-admm

从NVIDIA公布的演示视频来看,DER真正实现了逼真的头发模拟效果,与之前方法相比,DER带来了效果惊人的交互式效果,其不仅可以对每根头发进行单独的实时物理模拟,甚至还能保留头发的弹性、光泽等真实属性,让整体的效果看起来更加逼真,这种效果让人不禁联想,未来会不会出现AI发型师这种职业呢?作者在文中介绍到,这种逼真效果得益于DER内部的神经物理网络,并且基于离散的弹性连杆设计,DER可以将规模庞大的头发进行模拟目标分解,这使得整个任务非常契合GPU的并行运算结构,最终实现了实时的交互式物理头发模拟效果。此外,与目前最为先进的基于CPU的模拟求解器相比,DER甚至可以将先前的模拟时间从几天缩短到几个小时,同时还能提高头发模拟的质量,这可真算得上是降维打击。

一、本文方法
从论文题目中不难看出,本文提出的DER求解器是基于经典的ADMM算法进行设计的,在介绍本文方法之间,先带大家回顾一下ADMM算法:
ADMM(Alternating Direction Method of Multipliers)交替方向乘子法是一种优化算法,用于解决带有约束条件的凸优化问题。它的核心思想是通过将原始问题转化为等价的子问题来进行求解。ADMM算法的优点在于它能有效地处理带有约束条件的优化问题,并且在很多情况下能够获得较快的收敛速度。它在机器学习、信号处理、图像处理等领域得到了广泛的应用。
本文提出的离散弹性模拟求解器DER,内部设计了一种隐式的时间积分过程,可以将增量问题进行分解,由于ADMM算法本质上也属于一种分治算法,其采用分解-协调的方式来对问题进行求解,即通过协调小的局部子问题的解来找到大的全局问题的解。因此DER非常适合在具有大规模显存的并行GPU上运行。
1.1 头发运动建模
本文将每根头发都定义为一条多边形线(或杆),并且使用DER对其坐标信息进行离散化,这样,每根头发的自由度就可以使用多边形线中心顶点位置 和每个边的扭曲角度 来表示。另外,当头发处于动态运动时,其相应的线速度和角速度分别表示为 为了实现对头发的运动进行模拟,者使用逆向欧拉积分对每根头发的多边形线定点等位置信息进行状态转换计算。我们假设,头发多边形实例集在一个时间步长上的终点位置、速度和位移可以表示为:
随后可以将头发运动的状态变化增量问题表示为:
作者提到,解决这个问题的一种经典方法是执行全局牛顿迭代,将上式简化为一系列具有摩擦接触约束的线性系统,然后就可以从许多专用求解器中选取任何一个来对每个头发实例进行求解。然而,对于DER而言,同时分析多个头发多边形实例涉及到庞大的矩阵运算,这会导致GPU内存访问效率低下,并且可能需要双精度求解。因此,作者开始寻找在完全全局迭代(如牛顿迭代)和完全局部(例如XPBD[1])方法之间的折衷方案,即既可以在GPU上有效求解也可以在全局层面传播迭代结果的高效方案。
1.2 ADMM问题拆分
最终,本文作者选择了ADMM算法来达成这一目的,基于ADMM算法,可以将上一节中提到的增量问题(1)分解为更容易解决的子问题。然而,当利用ADMM算法使用更快的收敛的速度来换取全局层面层面的传播效果时(可以简单理解为以时间换空间的方式),作者没有盲目地对每个能量项进行ADMM处理,同时避免引入更多的额外辅助变量到整体运算中来增加计算量。具体地,本文引入了两个原始变量以及两个对偶变量并将问题(1)等效表示为增广拉格朗日优化形式:

其中为两个拉格朗日乘子,可以借助矩阵强行将头发实例与引入的连续变量建立起线性关系对角矩阵的约束相关联,因而先前并不明确的弹性能量 可以通过扭曲角度 和边 进行明确的表示。同样的,先前的碰撞约束现在也可以明确表示在辅助变量上,该变量通过对角矩阵和另一个拉格朗日乘子进行约束。
1.3 ADMM问题求解
通过上一步的问题拆分,已经将原始较复杂的问题化解为一种增广拉格朗日优化形式,接下来需要对问题进行求解,求解过程分为全局和局部两个层面,对于全局求解,主要是对式(2)中的执行最小化,该问题可以转化为对头发运动约束矩 进行全局三对角求解。而对于局部求解,主要是对式(2)中引入的每个增广拉格朗日边求解:
作者使用高斯-牛顿(Gauss–Newton)一步迭代算法对该问题进行优化求解。
二、实验效果

本文的所有实验均是在一个消费级工作站上进行的,工作站配备了一颗 Intel Core i9-10980XE CPU 和两颗 NVIDIA GeForce 3080 Ti GPU(每颗显存为12GB),视频渲染使用NVIDIA Omniverse套件完成。
2.1 数值验证实验
本文首先对DER求解器进行了数值验证实验,共设置了三个与弹性模拟性能相关的实验:悬臂、弯曲和粘滑,目的是为了测试DER数值模拟器,本文的分析推导与实际物理观测量之间预测的一致性。作者提到,为了充分利用本文所提DER求解器的大规模并行性能,对于上述三个实验,作者都一次性求解所有的实验配置项,实验结果如下图所示,从左到右分别是悬臂、弯曲和粘滑实验。
其中,悬臂实验(最左侧)主要计算了连杆在重力下处于平衡状态时,其两端的自然下垂程度,并且计算下垂偏移量带来的纵横比,并且与理论纵横比进行对比,可以从图中看到,DER基本上可以拟合理论纵横比的结果。对于弯曲实验,作者设置了多种具有不同长度和自然曲率的连杆,然后模拟计算他们在重力平衡状态下是否能够保持平面状态,通过实验,作者发现DER的预测结果可以与理论分析曲线保持良好的一致性。在粘滑实验中,作者将一个原本状态垂直的自然连杆逐渐从一个方向推向另外一个方向,并记录连杆的弯曲程度以及其克服摩擦力的实时大小。通过实验表明,DER对弯曲程度和摩擦力的预测结果基本上拟合理论值。
2.2 算法计算性能实验
上一节中进行的数值验证实验侧重于验证DER求解器的算法精度和收敛性,在本节中,作者对DER的计算性能也进行了评估。如下图所示,作者使用DER进行了毛发实验,分别对带有16000根和128000根毛发的实验体进行了模拟实验,模拟目标包括连续时间碰撞和非连续时间碰撞两种
由于超出了单个GPU的显存限制,对于"Hairball 128k, CT"场景,作者在2个GPU上进行测试,并且使用了相同质量的分割技术来处理涉及在不同GPU上的顶点的接触。下表总结了模拟计算计时结果,其中16000根毛发的配置几乎可以以实时交互式的帧率运行,而毛发规模更大的128000根的配置则需要约40分钟才能完成。
2.3 本文方法的应用场景
本文提出的基于ADMM的DER离散模拟求解器已经达到了远超传统方法的模拟精确率和计算效率。本文作者随后为DER展望了一个非常有趣的应用方向,即在人类发型设计方面引入DER作为AI助理。例如,作者设想了一种基于物理模拟的原始编辑工具,用户可以用于对发型进行调整,调整过程中算法会遵循发型本身的弹性和自碰撞约束等条件,来确保发型的真实层次和体积,并为用户提供实时的发型预览。
此外,作者还尝试以程序化方式来调用这种AI助手,如上图所示,作者为模拟器提供了一系列的基本操作(例如外力摆动、生长或修剪头发等),基于这些操作,用户可以以多种不同的方式进行组合,快速生成大量候选的发型,真有AI Tony老师的感觉了。
三、总结
本文提出了一种基于ADMM算法的毛发离散模拟求解器DER,与循环迭代的牛顿法相比,ADMM的计算成本要低得多,本文在此基础上提出了一些启发式方法,来根据模拟场景来调整每根头发多边形实例的约束权重,实现了非常逼真的模拟效果。此外,基于英伟达的专业计算GPU,作者对DER也进行了并行计算优化,大大减轻了算法的运算量,实现了数千甚至上万根毛发的实时模拟。除了内部的算法设计,作者还考虑到了DER在用户体验端的一些设计,除了现有的一些程序化编辑方式,作者在未来还考虑为DER增加一些触觉反馈机制和智能选择工具,这可以使用户在任何角度上操纵、梳理和修剪头发,使整体的使用体验更接近真实的理发店场景,到那时,我们就可以在电脑上为自己设计发型了。
参考

[1] Miles Macklin, Matthias Müller, and Nuttapong Chentanez. 2016. XPBD: PositionBased Simulation of Compliant Constrained Dynamics. In Proceedings of the 9th International Conference on Motion in Games (Burlingame, California) (MIG ’16). Association for Computing Machinery, New York, NY, USA, 49–54

作者:seven_

Illustration by IconScout Store from IconScout
-The End-

扫码观看

本周上新!



“AI技术流”原创投稿计划


TechBeat是由将门创投建立的AI学习社区(www.techbeat.net)。社区上线480+期talk视频,2400+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。


投稿内容

// 最新技术解读/系统性知识分享 //

// 前沿资讯解说/心得经历讲述 //


投稿须知

稿件需要为原创文章,并标明作者信息。

我们会选择部分在深度技术解析及科研心得方向,对用户启发更大的文章,做原创性内容奖励


投稿方式

发送邮件到

chenhongyuan@thejiangmen.com

或添加工作人员微信(chemn493)投稿,沟通投稿详情;还可以关注“将门创投”公众号,后台回复“投稿”二字,获得投稿说明。


>>> 添加小编微信!



关于我“门”将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门投资基金将门创新服务以及TechBeat人工智能社区公司致力干通过连接技术与商业,发掘和培育具有全球影响力的科技创新企业,推动企业创新发展与产业升级。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”bp@thejiangmen.com    
点击右上角,把文章分享到朋友圈点击“阅读原文”按钮,查看社区原文⤵一键送你进入TechBeat快乐星球
修改于
继续滑动看下一个
将门创投
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存