Journal

FLARE: Fast Learning of Animatable and Relightable Mesh Avatars

Shrisha Bharadwaj, Yufeng Zheng, Otmar Hilliges, Michael J. Black, Victoria Fernández Abrevaya

Max Planck Institute for Intelligent Systems; ETH Zürich

一句话总结

FLARE 从单目视频出发,用可微光栅化在约 15 分钟内学出一个几何精细、可驱动、可重光照的三角网格头部化身,把传统图形学的高效渲染管线与若干神经网络组件结合起来。

研究背景

  • 领域现状:从单目视频重建个性化 3D 头部化身是热门方向,隐式表示(SDF、NeRF)和点云等方法在几何精度与新视角合成上表现亮眼,快速方法(借助 InstantNGP 的哈希编码)也能在几分钟到二十分钟内收敛。
  • 核心痛点:现有方法难以同时满足四个诉求——训练/渲染快、几何高保真、与标准图形管线兼容、可重光照。隐式表示每像素要查询上百次、慢且不兼容管线;已有的网格方法(如 NHA)几何偏粗糙;绝大多数神经方法不区分光照与材质,只能在采集时的环境里渲染。
  • 本文 idea:坚持用三角网格作为几何表示(天然兼容图形管线、可微光栅化高效),把难算的部分(表情形变、反照率/粗糙度/镜面强度、环境光)交给坐标 MLP 近似,并按物理渲染分解观测颜色,从而在速度、几何质量与可重光照之间同时取胜。

方法

整体框架:给定固定视角视频、前景掩码以及预处理得到的 FLAME 形状/表情/姿态参数,联合训练三部分——可形变的头部几何(一个带可优化顶点位移的规范网格 + 形变场)、规范空间中的内在材质 MLP(反照率、粗糙度、镜面强度)、以及一个近似场景预滤波环境贴图的光照 MLP。网格按延迟着色管线光栅化,再做基于物理的着色得到最终颜色,与真值帧比较进行优化。

flowchart LR
  A["输入视频 + FLAME 参数"] --> B["规范网格 (可优化顶点位移)"]
  B --> C["形变网络 D: 预测表情 blendshape / 姿态校正 / 蒙皮权重"]
  C --> D["FLAME 形变 + 光栅化 (延迟着色)"]
  D --> E["逐像素规范坐标 xc 与形变法线 n"]
  E --> F["材质网络 M(xc): 反照率 / 粗糙度 / 镜面强度"]
  E --> G["光照网络 L: 漫反射 + 镜面预滤波"]
  F --> H["基于物理的着色 → 最终颜色"]
  G --> H
  H --> I["与真值帧比较训练"]

关键设计:

  1. 网格几何 + FLAME 形变场:从 FLAME 模板网格出发,逐顶点优化位移 \(\Delta \boldsymbol{v}_i\) 得到个性化规范几何,训练中用粗到细上采样到约 11k 顶点以捕捉头发、脖子、肩部细节。形变网络 D 以规范顶点为输入,预测表情 blendshape、姿态校正与线性混合蒙皮权重,再用标准 FLAME 形变函数把网格变到目标表情与姿态。相比 IMavatar 需要昂贵的求根来找规范对应,网格直接形变再光栅化,省去这一步。

  2. 物理渲染下的材质分解:采用 Disney 材质模型,把出射辐射分成 Lambertian 漫反射项与 Cook-Torrance 微表面镜面项,镜面项额外乘以空间变化的镜面强度 \(k(\boldsymbol{x})\)。材质 MLP M 在规范空间预测反照率 \(\rho\)、粗糙度 \(r\)、镜面强度 \(k\),这些是随形变不变的表面固有属性。

  3. 神经 split-sum 近似(核心创新):单目视频视场窄,直接优化显式环境贴图很不稳定。作者用一个神经网络 L 近似 split-sum 里的预滤波环境贴图,避免显式建模光照;并借用积分方向编码(IDE)——用集中参数取粗糙度倒数 \(1/r\) 的 vMF 分布对球谐做期望——来连续地模拟不同粗糙度对应的 mipmap 模糊行为。观察到 GGX 分布在 \(r=1\) 时退化为漫反射,于是同一个 L 既表示漫反射着色也表示镜面预滤波光照。测试时只需把 L 替换为目标场景的预滤波环境贴图即可重光照。

  4. 两阶段训练:哈希网格编码收敛快但会让颜色学得比几何快、导致几何过平滑。因此第一阶段材质 MLP 用普通位置编码,联合优化几何、形变、材质、光照,得到细致几何但纹理偏糊;第二阶段固定几何,改用高分辨率哈希网格编码重新优化材质与光照,找回高频纹理。此外还配有 Laplacian 平滑、法线一致性、FLAME 正则、白光正则,以及基于人脸皮肤反射数据库统计量对镜面强度与粗糙度做的正则。

实验结果

在真实数据上与 IMavatar、NHA、PointAvatar、INSTA 对比图像质量(仅在人脸区域评估)。FLARE 在半数指标上最优、其余指标次优,同时训练速度接近最快的 INSTA,而几何质量达到 SOTA。

方法 L1 ↓ LPIPS ↓ SSIM ↑ PSNR ↑
IMavatar 0.0290 0.2091 0.8491 23.10
NHA 0.0265 0.1243 0.8390 22.71
PointAvatar 0.0234 0.1400 0.8391 24.65
INSTA 0.0290 0.1607 0.8379 23.63
本文 0.0245 0.1225 0.8421 24.78

几何精度方面,在合成头部数据集上用与真值法线的余弦相似度衡量,FLARE 与 IMavatar 同处第一梯队(四个被试均在 0.948~0.955),但 IMavatar 训练慢约 200 倍且需后处理提网格;INSTA 的法线明显偏噪。定性上 FLARE 能分离出干净的反照率(去除阴影与高光)、给出合理的粗糙度/镜面强度,并在新环境贴图下产生自然的重光照,相比 PointAvatar 不再把反照率偏向浅肤色、且能表现镜面高光。

亮点与局限

  • 亮点:
    • 首个在单目视频输入下同时做到”快训练、高保真几何、兼容图形管线、可重光照”四合一的头部化身方法。
    • 用神经网络近似 split-sum 的预滤波环境贴图 + IDE 编码,巧妙绕开窄视场下显式环境光估计的不稳定问题,同时保留物理渲染的可信分解。
    • 直接输出可动画的规范三角网格,约 15 分钟完成,产物能直接塞进标准渲染管线用于游戏、影视、远程呈现。
  • 局限:
    • 嘴部内侧(牙齿)与眼睛区域质量欠佳:FLAME 网格嘴内无顶点、牙齿在训练中暴露程度差异大、且未跟踪眨眼,导致这些区域监督不足、几何偏噪。
    • 难以复现真值中锐利的镜面高光,脖子/肩部因大多保持静止而把阴影”烤”进纹理。
    • 未建模次表面散射等更精细的皮肤属性,也未建模随时间变化的外观。

延伸思考

  • 神经 split-sum + IDE 的思路本质是”把物理渲染中最难显式估计的环境光换成一个受粗糙度调制的神经查询”,这套做法有望迁移到其他窄视场、单视角的逆渲染场景(如手部、物体扫描),值得关注其在光照泛化上的边界。
  • 方法把”几何用显式网格、外观/光照用 MLP 近似”作为折中,与后续大量用 3D Gaussian Splatting 做可驱动头像的工作形成对比:网格路线在管线兼容与资产可编辑性上更友好,但在高频外观与镜面细节上可能不及体/点表示,二者的取舍是一个持续演进的问题。
  • 两阶段训练揭示了”哈希编码收敛过快压制几何梯度”这一普遍现象,对任何联合优化几何与外观的可微渲染系统都有借鉴意义——如何自适应地平衡几何与纹理的学习速度是值得深挖的方向。