Conference

3DPR: Single Image 3D Portrait Relighting with Generative Priors

Pramod Rao, Abhimitra Meka, Xilong Zhou, Gereon Fox, Mallikarjun B R, Fangneng Zhan, Tim Weyrich, Bernd Bickel, Hanspeter Pfister, Wojciech Matusik, Thabo Beeler, Mohamed Elgharib, Marc Habermann, Christian Theobalt

Max Planck Institute for Informatics; Google

一句话总结

本文提出 3DPR:给定单张人像照片,先把它反演进预训练 3D 生成头模型 EG3D 的隐空间,再用一个基于 triplane 的反射率网络合成该主体的 OLAT(One-Light-At-a-Time,单光源逐次照明)基图像,最后按给定 HDRI 环境贴图线性组合,实现物理准确、3D 一致的新视角人像重打光。

研究背景

将单张人像转换为可在任意环境、任意视角下渲染的 3D 资产,是 AR/VR 等应用的刚需,但这是一个高度欠约束的问题:既要从单目输入恢复 3D,又要建模复杂的面部光传输。已有方法各有短板:

  • 传统图形学路线把图像显式分解为几何、材质、光照再做可微渲染,但受限于底层模型的诸多假设与近似。
  • 生成式体表示方法(如 EG3D)擅长新视角合成,却未必解决重打光;基于物理渲染训练的变体则受野外训练集中未知相机与光照的困扰,物理模型与真实图像间的差距损害真实感。
  • 基于图像的重打光(image-based relighting)用光台采集的 OLAT 数据做监督,无需显式建模光传输,但已有工作要么是特定主体(subject-specific),要么推理时需要多视角输入,难以泛化到单目野外人像。
  • VoRF 用一组 OLAT 基函数建模面部反射率、能较好还原阴影,但结果过平滑、泛化差,因为它训练所用的光台主体数量有限,缺乏丰富的几何与外观先验。

一个关键瓶颈是:目前没有足够大规模、足够多样、公开可用的光台数据集。

方法

整体框架分两个阶段。第一阶段用基于编码器的 GAN 反演把输入人像嵌入 EG3D 隐空间,得到 triplane 特征 \(F_g\),借助 EG3D 强大的 3D 几何与外观先验实现对未见人脸的泛化;第二阶段用一个 OLAT 反射率模块,把 \(F_g\) 与给定光照方向拼接后,通过 triplane 体渲染合成低分辨率 OLAT 与高频反射率特征,再经超分网络输出高分辨率 OLAT 图像。推理时对目标视角合成 OLAT 基,再按 HDRI 权重线性组合完成重打光。

flowchart TD
    A[单张人像 C] --> B[3D-aware 编码器 E 反演]
    B --> C[EG3D triplane 特征 Fg + 高频外观特征 chf]
    C --> D[拼接光照方向 wi 送入反射率编码器 Renc]
    D --> E[反射率 triplane 特征 Fo]
    E --> F[OLAT 解码器 Rdec 体渲染: orgb + ohf]
    F --> G[特征融合 ESR: 融合 chf 与 ohf 得 phf]
    G --> H[超分网络 SRo 输出高分辨率 OLAT]
    H --> I[按 HDRI 环境贴图线性组合重打光]

重打光的基本原理是光传输的可加性:给定环境贴图,重光照图像近似为各方向 OLAT 图像的加权和

\[ C \approx \sum_{l \in I} f_l \cdot O(l) \]

其中 \(I\) 是 OLAT 光照方向集合,\(O(l)\) 为来自方向 \(l\) 的 OLAT 图像,\(f_l\) 为环境贴图权重。

关键设计 1:在生成先验隐空间中学习反射率

方法不直接从像素学反射率,而是让反射率网络工作在 EG3D 的隐空间/triplane 空间。反演网络产生 \(F_g = E(C)\),反射率编码器 \(R_{enc}\) 结合光照方向 \(\omega_i\) 输出反射率感知的 triplane 特征 \(F_o = R_{enc}(F_g, \omega_i)\)。作者强调 96 通道深度对建模高光、硬阴影、次表面散射等复杂皮肤-光交互至关重要。得益于此,用相对少量的光台图像就能训练出反射率模型。

关键设计 2:特征融合模块 ESR 防止过拟合

若直接把低分辨率 OLAT \(o_{rgb}\) 与高频反射率特征 \(o_{hf}\) 送入超分模块,模块容易对数据集中少量主体过拟合。为此引入融合模块 \(E_{SR}\),把 \(o_{hf}\) 与反演阶段得到的高频身份特征 \(c_{hf}\) 逐通道拼接:\(p_{hf} = E_{SR}(c_{hf} \oplus o_{hf})\)。由于超分网络 \(S_{Ro}\) 预训练时就依赖 \(c_{hf}\),身份信息从训练一开始就由 \(c_{hf}\) 提供,起到正则作用,迫使 \(S_{Ro}\) 只从 \(o_{rgb}\)、\(o_{hf}\) 中获取光照信息,从而在小数据上保住身份保真度。

关键设计 3:ID-MRF 损失替代对抗损失

仅用像素级 \(L_1\) 重建损失不足以纠正反演阶段引入的轻微错位;而数据集主体数量少(约 130),对抗损失易导致判别器过拟合、训练不稳。作者改用 ID-MRF(隐式多样化马尔可夫随机场)损失,在预训练 VGG19 的 conv3_2 与 conv4_2 特征空间上最小化预测与真值 OLAT 的分块最近邻距离。总损失为 \(L = L_O + 0.3\, L_{MRF}\),比常用的 LPIPS 感知损失更能恢复高频细节。

关键设计 4:FaceOLAT 大规模数据集

方法依托作者新采集的 FaceOLAT 数据集:139 名不同肤色、发色、瞳色、族裔与年龄的主体,40 个视角、4K 分辨率、331 个点光源 OLAT 照明,覆盖多种表情,规模与多样性超越现有公开数据集。采集时用每 21 次 OLAT 插入一帧全亮参考帧并做光流对齐,以补偿 7 秒采集中被试的轻微不自主移动。数据集按 129/10 划分训练与评测(另有文中提到用 10 名未见主体评测),将公开发布。

实验结果

在 WeyrichOLAT 测试集上(与 Lite2Relight 相同训练-测试划分,同时评测新视角合成与重打光),3DPR 在多数指标上超越 NeLF、PhotoApp、VoRF、NeRFFaceLighting 与 Lite2Relight。ID 指标为重光照图与真值经 MagFace 嵌入的余弦相似度(身份一致性)。

方法 SSIM↑ LPIPS↓ RMSE↓ DISTS↓ PSNR↑ ID↑
NeLF 0.75 0.4874 0.2466 0.2212 19.72 0.798
PhotoApp 0.72 0.4163 0.1988 0.2031 29.13 0.853
VoRF 0.69 0.3253 0.1967 0.1934 20.21 0.860
NeRFFaceLighting 0.79 0.2171 0.2393 0.2107 27.24 0.892
Lite2Relight 0.83 0.2492 0.1841 0.1719 28.27 0.936
Ours(3DPR_w) 0.87 0.1828 0.1332 0.1689 28.69 0.942

作者指出 PhotoApp 因缺乏显式 3D 表示常出现身份不一致(如下颌线改变),其 PSNR 偏高主要源于 StyleGAN2 图像本身质量,而 PSNR 并不适合衡量复杂光照变化。在自建 FaceOLAT 上与最强的两个基线 NFL、L2R 对比,3DPR 同样领先(PSNR 21.02,ID 0.943);单独评估 OLAT 合成质量也大幅优于 VoRF(SSIM 0.88 对 0.71,PSNR 28.70 对 20.43)。随着环境光变得越来越稀疏、带色,NFL 与 L2R 明显退化,而 3DPR 凭显式 OLAT 反射率建模仍能稳定重现阴影与高光。

亮点与局限

亮点:

  • 把预训练 3D 生成先验(EG3D)与光台 OLAT 表示结合,从单目输入实现物理准确、可同时编辑光照与视角的 3D 一致人像重打光。
  • 显式合成 OLAT 基再线性组合,赋予细粒度光照控制,能处理艺术化、稀疏、非自然照明等分布外光照,且单次前向即可完成、无需逐主体测试时优化。
  • 贡献了 FaceOLAT:139 主体、40 视角、331 光源、4K 的大规模多视角 OLAT 数据集,填补公开数据空白。

局限:

  • 重打光质量在头部背面下降,源于 EG3D 先验对正脸外区域覆盖不可靠。
  • 适用范围限于面部反射率(脸、眼、头皮头发),头盔、墨镜等配饰属于域外,不生成其 OLAT。
  • 继承 EG3D 对细发丝建模的困难:新视角可能出现发区局部不一致,OLAT 微小错位线性组合后累积成噪声或闪烁,超分阶段头部转动时可能出现发丝”popping”。
  • 尽管对视角做了条件化,鼻梁、脸颊等处的视角相关效应仍偏弱,因为这类线索对训练目标贡献较小。

延伸思考

3DPR 的核心思路是”用生成先验补几何与身份、用光台数据补光传输”,把重打光拆成可加的 OLAT 基预测再组合,从而在小规模光台数据上兼顾泛化与物理准确。这一分解相比直接端到端预测重光照图更可控、更能外推到稀疏/异常光照,值得推广到全身、配饰乃至更一般材质的重打光。局限也指向清晰的方向:更强的头部/头发高频先验、面向发丝的对齐策略,以及更能表达视角相关效应的监督目标,可能是把这类方法推向真正全头、影视级重打光的关键。此外 FaceOLAT 的公开有望成为面部反射率建模的新基准资源。