Conference

AvatarMAV: Fast 3D Head Avatar Reconstruction Using Motion-Aware Neural Voxels

Yuelang Xu, Lizhen Wang, Xiaochen Zhao, Hongwen Zhang, Yebin Liu

Tsinghua University

一句话总结

AvatarMAV 用”运动感知神经体素”把 NeRF 头像的表情运动场和外观场解耦,并都用显式体素表示,从而把单目视频重建逼真 3D 头像的训练时间压缩到约 5 分钟。

研究背景

  • 领域现状:从单目视频重建可驱动的 3D 头像是热点。基于 NeRF 的方法(如 NeRFace)能生成逼真、视角一致的结果,且不受面片模板拓扑限制;显式体素表示(DVGO、Plenoxels、Instant-NGP 等)已被证明能大幅加速静态 NeRF 训练。
  • 核心痛点:NeRF 头像方法普遍依赖深层 MLP,收敛慢,训练动辄数小时到数天。即便 NeRFBlendShape 用多分辨率哈希体素把时间降到约 20 分钟,它仍把运动与外观耦合在一起,效率受限;把体素扩展到动态场景的 TiNeuVox 也还是用深层 MLP 建模形变场,因人脸运动复杂而收敛缓慢。
  • 本文 idea:两点关键。其一,把与表情相关的复杂运动从规范外观中解耦(静态 NeRF + 表情驱动的形变);其二,对外观场和运动场都用显式体素表示替代深层 MLP。运动场借助 3DMM 表情基的先验,用一组”运动体素基”按表情系数线性加权组合而成。

方法

整体框架:给定人像视频,先用 3DMM 模板跟踪出每帧的表情系数与头部姿态。对查询点 \(x\),先由表情驱动的形变场 \(\Omega\) 预测偏移 \(\delta x = \Omega(x,\theta)\),把点从当前空间映射回规范空间;再在静态外观场 \(\Phi\) 中查询 \(x+\delta x\) 得到颜色与密度,最后体渲染出图像。整个 NeRF 被拆成表情无关的静态外观与表情相关的形变:

\[(c,\sigma)=\Phi(x+\delta x,\ d),\qquad \delta x=\Omega(x,\theta)\]

flowchart LR
  A["人像视频"] --> B["3DMM 跟踪: 表情系数与头姿"]
  B --> C["运动体素基按表情系数加权组合为运动体素网格"]
  C --> D["2 层 MLP 预测偏移 delta x"]
  D --> E["规范外观体素网格 (静态 NeRF)"]
  E --> F["体渲染出图"]

关键设计:

  1. 运动感知神经体素(表情运动场):把 \(N\) 个运动体素基(MVG basis)按 3DMM 表情系数 \(\theta\) 加权拼接成整体运动体素网格: \[\boldsymbol{V}_d(\theta)=\theta_1\boldsymbol{V}_d^1\oplus\theta_2\boldsymbol{V}_d^2\oplus\cdots\oplus\theta_N\boldsymbol{V}_d^N\] 每个体素基在语义上与一个 3DMM 表情基一一对应、共享同一个系数,可视为头部运动的”神经表情基”,能表达比 3DMM 更细、范围更广的运动(含耳朵、头发区域)。对查询点做 K 距离插值采样特征 \(v_d\),再喂给一个 2 层 MLP \(f_d\) 得到偏移 \(\delta x\)。
  2. 规范外观场:外观建成静态 NeRF,用单个外观体素网格 \(\boldsymbol{V}_a\) 加一个 2 层 MLP \(F_a\) 表示。查询点插值得特征后,连同视角方向与表情系数一起送入 \(F_a\) 预测颜色与密度;额外输入表情系数是为了描述皱纹等仅靠运动难以刻画的细微动态外观。
  3. 为什么用”神经”体素而非直接存偏移:运动场是把当前空间映回规范空间的后向 warp,存在非线性的多对一映射,具有歧义。因此在体素后接一个小 MLP 来完成这种非线性映射是必要的;消融显示直接在体素里存偏移(去掉 MLP)会掉点。
  4. 训练与正则:预处理阶段去背景、脖子和身体,检测关键点并跟踪 3DMM 得到表情系数与头姿。用光度损失直接监督;并加一个 L2 正则惩罚所有采样点的非零偏移,避免运动体素越界去学静态外观,同时把静态区域偏移压到零使规范外观趋于中性表情: \[L=\sum_{r\in R}\lVert I(r)-I_{gt}(r)\rVert_1+\lambda\sum_{r\in R}\sum_{t\in T(r)}\lVert \delta(r(t))\rVert_2\]

实现上纯 PyTorch,用 BFM 前 32 维表情基;外观体素分辨率 \(64^3\)、通道 4,运动体素基各为 \(16^3\)、通道 2;所有 MLP 均 2 层 64 神经元。共训 10000 次迭代(前 6000 用 256×256,后 4000 用 512×512),单卡 RTX 3090 上约 5 分钟收敛,渲染 256×256 约 140ms/帧。

实验结果

在自重演任务上与三种代表方法对比(三个受试者均值)。AvatarMAV 在 MSE/PSNR 上最优,SSIM/LPIPS 与 NeRFace 相当,而训练时间从数小时至一天级别降到 5 分钟。

方法 训练时间 MSE ↓ PSNR ↑ SSIM ↑ LPIPS ↓
DVP ~1 天 0.0047 24.2 0.89 0.072
IMAvatar ~1 天 0.0041 24.6 0.92 0.131
NeRFace ~12 小时 0.0015 30.2 0.96 0.038
AvatarMAV ~5 分钟 0.0014 30.4 0.96 0.038

训练速度对比中,模型在前 30 秒即完成大部分收敛,2 分钟已接近完全收敛,明显快于 NeRFace 与 NeRFBlendShape。消融实验(30s 与 5min 两个时间点)表明:不解耦会导致渲染模糊;MLP 形变虽因解耦收敛较快但运动部分收敛慢;直接运动体素(去掉小 MLP)因后向 warp 的歧义而掉点;完整 AvatarMAV 在两个时间点均取得最佳指标(5min 时 PSNR 28.5、SSIM 0.950)。跨身份重演中,得益于动静解耦,面对训练分布外的表情比 NeRFace 更稳定、更少漂浮伪影。

亮点与局限

  • 亮点:
    • 首个对头像的规范外观与解耦表情运动都用神经体素建模的方法,把 NeRF 头像训练压到约 5 分钟、几乎即时。
    • 运动体素基与 3DMM 表情基语义一一对应、共享表情系数,把参数先验注入显式表示,既高效又能表达更细致的运动。
    • 动静解耦带来跨身份重演的稳定性,纯 PyTorch 实现即可达到该速度。
  • 局限:
    • 训练大幅加速,但渲染质量相比最优方法无明显提升。
    • 依赖模板拟合得到的相机姿态与表情系数不够精确,偏离正面视角或夸张表情时出现伪影与模糊。
    • 受面片模板限制,只能重建头部,无法处理脖子、上身等区域。

延伸思考

  • 方法本质是”3DMM 表情基 → 神经运动基”的迁移,这一思路可推广到手、身体等其他有参数化模板先验的动态对象,用更通用的参数化表示替换 3DMM 或许能突破只能建头的限制。
  • 后向 warp 的多对一歧义需要小 MLP 补偿,是显式体素表示的一个共性痛点;如何在保留显式加速优势的同时更好处理该歧义值得深挖。
  • 作者展望在线实时采集时即时创建头像;结合后续 3D Gaussian Splatting 等更高效表示,训练与渲染质量的取舍或能进一步改善。