本篇文章为大家介绍微软在 ICCV 2023 的论文,HiFace: High-Fidelity 3D Face Reconstruction by Learning Static and Dynamic Details(通过建模脸部静态动态细节重建高保真度三维人脸)。
论文链接:
https://arxiv.org/abs/2303.11225
项目主页:
https://project-hiface.github.io/
一张自拍照就能得到你的 3D 模型?答案是肯定的,过去的 3DMM 类的方法可以从单张图像重建可驱动的 3D 人脸,并且能够广泛应用到动画、虚拟现实等多个方面。
但是本文作者认为,仅仅有粗粒度的 3DMM 轮廓还远远不够逼真!能不能加上更多脸部细节让重建出来的 3D 模型更加逼真?毕竟谁会拒绝真假难辨的游戏人物。(狗头
作者研究发现,要想从单张图像里重建更多细节,并不简单,先前的研究只通过图像级监督无法充分解耦脸部的静态细节和动态细节,因此效果还不够理想。而本文作者认为,人脸细节通常由年龄、外貌相关的静态细节以及表情相关的动态细节共同构成。也就是说,在重建的时候,静态细节和动态细节应该分开考虑,否则很难达到理想的效果。
因此,本文通过提出 HiFace 来实现细粒度的三维人脸重建。如图 1 所示,作者设计了细节重建模块 SD-DeTail,用于显式解耦和建模脸部静态和动态细节。借助合成图像和真实图像构成的混合数据集,作者利用多个损失函数来联合学习粗粒度人脸形状和细粒度脸部细节,从而使 HiFace 能够从单张人脸图像中,重建具有可驱动细节的高保真度三维人脸。
▲ 图1:本文提出的 HiFace 能够通过给定的单张人脸图像(绿框)重建高保真的三维人脸。通过对脸部静态和动态细节进行建模,HiFace 能够将源图像(黄框)重建结果的表情及其静态、动态细节由驱动图像(绿框)进行驱动。
模型结构
HiFace 的目标是从单张图像中重建具有逼真细节的三维人脸,其整体结构如图2所示。作者将三维人脸重建任务表示为形状、纹理、光照、位姿等属性的系数预测问题,并利用 ResNet 从输入图像中回归出相应的系数。
对于粗粒度的形状,通过回归参数化人脸模型的形状参数,包括 ID、表情、纹理、光照和位姿等实现。而对于脸部细节,作者提出了新的细节重建模块 SD-DeTail,通过解耦静态因素和动态因素,将细节的生成问题转化为 displacement map 的系数回归和静态、动态因素的插值问题。
▲ 图2:HiFace 整体结构。(a)HiFace 的训练框架。通过给定单张人脸图像,预测人脸几何形状与脸部细节相关的系数从而生成三维人脸,并借助合成数据集与真实数据集对整个模型进行端到端的训练。(b)细节重建模块 SD-DeTail 的流程,其能够显式地解耦脸部静态、动态因素。
如图 3 所示,作者引入顶点张力(vertex tension)来定量衡量脸部表情的引入对人脸形状的影响,顶点张力刻画了每个顶点的邻边在引入表情后变长的变化情况,从而刻画了表情的变化对脸部细节的影响。考虑到人脸能够表达复杂的表情,直接从图像预测脸部动态细节是非常困难的。
因此,为了简化这个问题,作者通过从图像预测两个极端表情(例如皱眉、抬头)所对应的细节,来对动态表情进行建模。而处于这两个极端表情之间的中间状态,即与给定图像表情相关的动态细节,则可以借助顶点张力对这两个极端状态进行线性插值得到。
▲ 图3:通过引入顶点张力,作者将脸部细节的生成简化为静态细节和动态细节的插值问题。其中,动态细节借助顶点张力得到 uv 空间的权重,对两个预测的极端表情所对应的 displacement map 进行线性插值得到。
为了同时训练粗粒度形状和脸部细节,作者借助合成数据提供的 ground truth,通过引入多项损失函数,可以从合成数据集中学习粗粒度形状和脸部细节的表征。为了将模型推广到真实世界图像,作者借助几项自监督损失,以提高模型在自然图像中的泛化能力。最终,通过在混合数据集中进行训练,HiFace 能够真实地重建给定图像,通过将来自不同图像解耦的静态细节、动态细节、表情进行组合,实现脸部细节随着表情的动态变化而变化。
实验结果
定量的比较如表 1 所示,HiFace 在 REALY benchmark 中取得了最小的整体重建误差,并显著优于先前的模型。通过脸部细节建模,相较于先前的方法在引入细节后往往会导致更大的误差(即引入了噪声),本文提出的方法能够更真实地重建脸部细节。
▲ 表1:在 REALY benchmark 上人脸重建结果的定量比较。“-c” 和 “-d” 分别表示粗粒度人脸和细粒度人脸的重建结果。结果表明 HiFace 在整体的重建误差上显著优于先前方法。定量的消融实验也表明 HiFace 中的各个部分对重建质量均有帮助。相比于先前的一些方法在引入细节后反而降低了重建准确性,HiFace 重建的细节进一步降低了重建误差。
定性的比较如图 4 所示。实验结果表明,HiFace 在粗粒度人脸重建和细粒度人脸重建方面均显著优于先前的方法,同时对于不同的光照、位姿、遮挡等因素表现出较强的鲁棒性。
▲ 图4:人脸重建结果的定性比较。左:粗粒度人脸的比较。右:细粒度人脸的比较。
如图 4 所示,作者进一步验证了提出的细节重建模块具有可移植性,它能够与先前基于稠密关键点的拟合算法兼容。通过提供拟合的表情系数,预训练的 SD-DeTail 能够从图像中重建生动的脸部细节,从而进一步提升拟合的粗粒度人脸的可视化效果。
▲ 图5:SD-DeTail的可移植性验证。给定由基于优化方法得到的人脸形状、表情系数,SD-DeTail能够生成真实的脸部细节,并进一步提升粗粒度人脸的可视化效果。
如图 6 所示,HiFace 的另一个重要特性是能够将脸部的静态细节和动态细节解耦,并将其用于脸部的驱动。HiFace 能够通过提取图像的表情、细节等属性,并将其应用于另一张图像,从而灵活地驱动其静态细节、表情以及相关的细节,或者同时驱动静态细节、表情以及动态细节,效果优于先前的模型(DECA、EMOCA)。
▲ 图6:人脸驱动的比较。作者使用驱动图像(绿框)对源图像(黄框)进行驱动。HiFace 能够灵活地驱动年龄相关的静态细节(第4行),表情相关的动态细节(第5行),或者对两者进行同时驱动(第6行),生成逼真的人脸形状及其细节。
总结
本文提出了 HiFace,用于从单张图像中重建高保真度的三维人脸。基于 3DMM 的理念,作者通过构建位移贴图(displacement map)bases将复杂的细节生成任务简化为系数回归和插值任务。
为了实现这一目标,作者设计了 SD-DeTail,它能够显式地解耦静态因素和动态因素,并通过顶点张力插值来建模动态细节。借助合成数据和真实数据,并引入了多项损失函数,以联合学习粗粒度人脸形状和细粒度细节。实验结果表明,HiFace 在定量和定性的比较上均达到了最先进的重建水平,同时脸部细节得到了很好的解耦,使得它能够自然地用于脸部驱动。
本文所提出的人脸重建模型对 Avatar 相关研究具有重要意义,为创建高保真度的虚拟角色提供了强有力的工具。通过准确地重建高质量的人脸,特别是重建准确的脸部表情及其细节,能够为诸多下游任务提供有利的先验信息,在人脸编辑、说话人生成等多个领域都有广阔的应用前景。
论文的更多细节以及实验结果请参考论文原文和补充材料。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·