Conference

An Implicit Physical Face Model Driven by Expression and Style

Lingchen Yang, Gaspard Zoss, Prashanth Chandran, Paulo F. U. Gotardo, Markus Gross, Barbara Solenthaler, Eftychios Sifakis, Derek Bradley

ETH Zurich; DisneyResearch|Studios

一句话总结

本文提出一个基于隐式神经物理模型的人脸模型,在多个身份的表演数据上联合训练,让”表情(做什么表情)”与”风格(怎么做这个表情)”可以被分别驱动与迁移,同时天然支持碰撞、摩擦、骨骼重塑等物理效果。

研究背景

  • 领域现状:3D 面部动画通常靠面部绑定(rig)来驱动,最常见的是 blendshape 模型——用一组语义表情基的加权组合来表示表情,动画即是一串随时间变化的权重向量。物理仿真方法则用体积离散化和肌肉/骨骼结构来获得更真实的非线性形变,近年出现了免除精确解剖结构的隐式驱动模型(Yang 等 2022)。
  • 核心痛点:表情的”个人风格”这一维度长期被忽视。同样是”大笑”,不同人会用不同肌肉、不同强度去完成,这种风格被烘焙进了每个角色各自的 blendshape 里,与表情纠缠在一起,无法单独提取,也无法把一个角色的风格迁移到另一个角色身上。此外,之前的隐式物理模型(Yang 等 2022)是单身份的,换一个人就要重训一个全新模型,无法在同一个物理模型里同时理解多个身份的驱动差异。
  • 本文 idea:构建一个在多身份数据上同时训练的隐式物理人脸模型。用传统 blendshape 权重参数化”表情”,用每个身份一份的量化风格码参数化”风格”,两者解耦;借助隐式网络对离散化拓扑的无关性,让每个身份保有自己精度合适的仿真网格,再通过一个共享的规范空间把不同身份的肌肉结构对齐学习。

方法

整体框架分三段:先为每个身份建立到共享规范空间的映射,把各自的物理仿真空间与统一的学习空间分离;再用表情码与风格码共同条件化一个隐式驱动网络,生成规范空间里的驱动张量场(actuation tensor field)并warp回各身份空间;最后送入一个融合了 IPC 碰撞模型的可微准静态仿真器,解出带碰撞处理的面部几何。

flowchart LR
  A["表情码 (Blendweights)"] --> Z["激活码 z"]
  B["风格码 (每身份一份)"] --> Z
  Z --> NA["隐式驱动网络 N_A"]
  Z --> NB["下颌变换网络 N_B"]
  NA --> AC["规范空间驱动张量场 A"]
  AC --> W["按身份映射 warp 到材料空间"]
  W --> SIM["接触感知可微仿真"]
  NB --> SIM
  SIM --> S["带碰撞处理的面部几何"]

关键设计:

  • 规范空间与逐身份映射:不同身份各有自己的材料空间(未形变的软组织体积),直接在各自空间里学会忽略人与人之间共有的肌肉结构。作者引入一个由艺术家雕刻的规范空间 \(D_C\),并为每个身份训练一个小 MLP 映射 \(X = \phi_{id}(x)\),把身份材料空间的采样点 \(x\) 映射到规范空间去查询驱动网络。映射用表面点监督(拓扑一致),体内部分加弹性正则平滑。仿真实际使用的是warp回身份空间的驱动场 \(\tilde{A}_{id}(x) = R_{\phi_{id}(x)}^{\top} A(\phi_{id}(x)) R_{\phi_{id}(x)}\),其中 \(R_{\phi_{id}}\) 是映射雅可比的旋转分量。这样单个规范场服务所有身份,却各自适配,学到的收缩方向在规范空间内对齐。
  • 表情与风格解耦:表情码来自逐帧 blendweight,风格码是每身份一个、与网络一起优化的量化码。两者各过一个 MLP 升到高维后拼接成激活码 \(z\),\(z\) 经小 MLP 生成调制码 \(m\) 去调制驱动网络主干,\(z\) 同时喂给另一个网络 \(N_B\) 生成下颌变换。这使得同一网络能吃下所有身份的数据,泛化到任意演员 blendshape 基产生的、未见过的权重向量。
  • Lipschitz 权重正则促进解耦与平滑:借用几何生成里的 Lipschitz 权重归一化(Liu 等 2022),直接对网络各层的可训练 Lipschitz 界 \(c_i\) 施加惩罚,损失为 \(L_{lip} = \prod_{i=1}^{L} \mathrm{softplus}(c_i)\)。这不仅平滑了驱动场,更重要的是帮助表情与风格空间解耦(T-SNE 显示调制码更干净地按身份聚类)。总损失为几何项、驱动强度正则 \(L_{act} = \frac{1}{N_a}\sum_i \lVert A_i - I \rVert\) 与 Lipschitz 项的加权和:\(L = L_{geo} + \lambda_{act} L_{act} + \lambda_{lip} L_{lip}\)。
  • 接触感知可微仿真:仿真含形状目标、骨骼附着、接触三类能量,前两者基于 Projective Dynamics 的局部-全局求解。碰撞采用 IPC 的光滑截断障碍势 \(B_i(d_i)\),其中 \(d_i\) 是碰撞对的无符号距离、\(\hat{d}\) 是容差。作者把非 PD 的高度非线性障碍能量做二阶 Taylor 展开投影到局部超抛物面,将其 Hessian 并入全局线性系统求解;系统里 \(K\) 为固定的类拉普拉斯正定矩阵可作预条件子,配合连续碰撞检测与线搜索保证无穿透与收敛。为提速只在唇部等易碰撞区域构造障碍势,并用嵌入代理 \(p = Wu\) 保证线性轨迹以支持 CCD。

实验结果

训练数据来自 9 个身份的表演捕捉序列(每人不到 30 秒表演加约 20 个静态表情),6 个用于训练、其余留作跨身份评估。主实验在测试集上用逐顶点重建误差(真值与重建网格顶点的平均欧氏距离)做消融,验证规范空间(CS)、warp 操作(W)、Lipschitz 正则(L)三个组件的贡献:

模型配置 顶点误差 (mm) ↓
线性 Blendshape 绑定 0.5549
Model-N(无规范空间) 0.4119
Model-CS(+ 规范空间) 0.4105
Model-CSL(+ 规范空间 + Lip) 0.4055
Model-CSW(+ 规范空间 + Warp) 0.4020
Model-CSWL(完整模型,本文) 0.3849
Model-CSWL(仅位移,无物理) 0.4313
Model-CSWL(单身份) 0.4218
Yang 等 2022 0.4143

完整模型误差最低。三个组件逐一叠加均带来提升,warp 效果稳定、Lipschitz 正则进一步改善对测试集的泛化。多身份模型优于对应的单身份变体,说明加入其他身份的数据能提升泛化(尤其在跨身份任务上);也优于绕过物理直接学位移场的变体和线性 blendshape 绑定。此外把 Yang 等 2022 的 SIREN 层大部分换成 GeLU、并在调制码后加 tanh,明显减少了原方法可见的伪影,精度相当。定性上,完整模型在重定向和风格迁移中形状匹配更自然、伪影更少,IPC 碰撞模型相比 level-set 更鲁棒、不易穿透,并支持摩擦、可微碰撞校正数据等。

亮点与局限

  • 亮点:
    • 首个在多身份上训练、可分别用表情与风格驱动的隐式物理人脸模型,实现了此前难以做到的面部动画风格迁移与风格插值。
    • 共享规范空间 + 逐身份 warp 的设计,既让每个身份保留自己合适的仿真网格,又把肌肉结构对齐到统一空间,是风格可迁移、动画更自然的关键。
    • 作为物理模型天然支持碰撞/摩擦、面部瘫痪、下颌骨截骨(osteotomy)等效果,且可微的碰撞模型还能反过来微调网络、校正带穿透的捕捉数据;唇部穿插等常见问题被自然解决。
  • 局限:
    • 受限于形状目标(shape-targeting)的材料本构模型,不如更符合生物力学的模型精确。
    • 受硬件与仿真计算量限制,训练身份集很小,不宣称能像覆盖表情空间那样穷尽人脸身份与风格空间(仅靠 Lipschitz 正则在训练身份间插值)。
    • 未对训练效率做激进优化,偏重质量与泛化而非速度。

延伸思考

  • 把”表情”与”风格”解耦成两个可独立驱动的维度,思路上与全身动作风格迁移、语音驱动说话风格建模一脉相承,本文相当于把这套”内容/风格”范式落到了物理驱动的面部肌肉激活层面,值得关注这种分解在其他可驱动物理对象(手、身体软组织)上的推广。
  • 规范空间对齐是让”同一风格码在不同身份上产生一致激活”的核心,这与 NeRF/隐式几何里的规范空间 + 形变场思路相通;若能把身份数量扩大或引入生成式先验,或许能突破小身份集导致的插值局限,向真正覆盖人脸身份空间迈进。
  • 可微碰撞模型能反哺训练、修正数据穿透,提示”物理约束作为数据清洗/自监督信号”的更一般用法,对带噪捕捉数据的下游任务有借鉴价值。