针对现有单目三维人脸重建方法在细节刻画和身份信息保持方面的不足,本文提出了一种由粗到精的三维人脸重建框架。该框架首先利用从二维人脸图片中提取的特征参数生成初始三维人脸模型,并设计多尺度身份特征提取器捕获个性化特征。然后,通过自适应加权策略筛选对重建任务最具贡献的特征信息。在精细重建阶段,本文关注人脸的几何细节重建,将身份和表情编码融入几何细节生成网络中,以生成具有特定身份和表情信息的几何细节。最后,利用可微分渲染器将三维人脸模型渲染为二维人脸图像,进行自监督训练。在CelebA和AFLW2000-3D数据集上的实验结果表明,本文提出的框架能够从单幅图像中重建出更加真实、自然且具有高度个性化特征的三维人脸模型,在细节刻画和身份信息保持方面均优于现有方法,具有广阔的应用前景。 Addressing the limitations of existing monocular 3D face reconstruction methods in capturing fine details and preserving identity information, this paper proposes a coarse-to-fine framework for 3D face reconstruction. The framework initially generates a basic 3D face model using feature parame-ters extracted from a 2D facial image and employs a multi-scale identity feature extractor to cap-ture personalized characteristics. Subsequently, an adaptive weighting strategy is utilized to select the most relevant features for the reconstruction task. In the fine reconstruction phase, the focus is on geometric detail reconstruction, integrating identity and expression encodings into a geometric detail generation network to produce detailed geometry specific to the individual's identity and expressions. Finally, a differentiable renderer is employed to convert the 3D face model into a 2D facial image for self-supervised training. Experimental results on the CelebA and AFLW2000-3D datasets demonstrate that the proposed framework can reconstruct more realistic, natural, and highly personalized 3D face models from a single image, outperforming existing methods in terms of detail capture and identity preservation, thus holding promising potential for various applica-tions.
针对现有单目三维人脸重建方法在细节刻画和身份信息保持方面的不足,本文提出了一种由粗到精的三维人脸重建框架。该框架首先利用从二维人脸图片中提取的特征参数生成初始三维人脸模型,并设计多尺度身份特征提取器捕获个性化特征。然后,通过自适应加权策略筛选对重建任务最具贡献的特征信息。在精细重建阶段,本文关注人脸的几何细节重建,将身份和表情编码融入几何细节生成网络中,以生成具有特定身份和表情信息的几何细节。最后,利用可微分渲染器将三维人脸模型渲染为二维人脸图像,进行自监督训练。在CelebA和AFLW2000-3D数据集上的实验结果表明,本文提出的框架能够从单幅图像中重建出更加真实、自然且具有高度个性化特征的三维人脸模型,在细节刻画和身份信息保持方面均优于现有方法,具有广阔的应用前景。
三维人脸重建,三维形变模型,自监督学习,人脸渲染
Sheng’en Jing, Tian Gao, Yingcheng Tao, Menghao Peng, Yadong Shi, Guan Wang
School of Computer Science and Information Engineering, Hefei University of Technology, Hefei Anhui
Received: Mar. 20th, 2024; accepted: Apr. 18th, 2024; published: Apr. 26th, 2024
Addressing the limitations of existing monocular 3D face reconstruction methods in capturing fine details and preserving identity information, this paper proposes a coarse-to-fine framework for 3D face reconstruction. The framework initially generates a basic 3D face model using feature parameters extracted from a 2D facial image and employs a multi-scale identity feature extractor to capture personalized characteristics. Subsequently, an adaptive weighting strategy is utilized to select the most relevant features for the reconstruction task. In the fine reconstruction phase, the focus is on geometric detail reconstruction, integrating identity and expression encodings into a geometric detail generation network to produce detailed geometry specific to the individual's identity and expressions. Finally, a differentiable renderer is employed to convert the 3D face model into a 2D facial image for self-supervised training. Experimental results on the CelebA and AFLW2000-3D datasets demonstrate that the proposed framework can reconstruct more realistic, natural, and highly personalized 3D face models from a single image, outperforming existing methods in terms of detail capture and identity preservation, thus holding promising potential for various applications.
Keywords:3D Face Reconstruction, 3D Morphable Model, Self-Supervised Learning, Face Rendering
Copyright © 2024 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
近年来,三维人脸重建技术已成为计算机视觉领域的研究热点,其广泛应用于虚拟角色创建 [
由于单幅图像在深度信息上的缺失,单目图像的三维人脸重建一直是计算机视觉领域中的一个难题。多数现有方法倾向于采用三维形变模型(3D Morphable Model, 3DMM) [
为了解决这一难题,近期的研究工作开始尝试通过生成位移图 [
针对上述问题,本文提出了一种由粗到精的三维人脸重建框架,旨在从单幅图像中重建出更加精细和真实的人脸模型。在粗人脸重建阶段,本文利用从二维人脸图片中提取的3DMM参数生成一个初始的三维人脸模型,并设计了一个多尺度身份特征提取器来捕获与人脸身份相关的个性化特征。通过自适应加权策略,网络能够筛选出对人脸重建任务最具贡献的特征信息。在精细重建阶段,本文进一步关注人脸的几何细节的重建。本文观察到人脸的身份特征和表情特征分别控制着面部的静态和动态细节,将粗人脸重建阶段提取的身份和表情编码融入几何细节生成网络中,以生成具有特定身份和表情信息的几何细节。两个阶段的三维人脸模型都由可微渲染器渲染为二维人脸图像,分别与输入图片进行自监督训练。通过结合多尺度身份特征提取以及精细的几何和纹理细节重建技术,本文提出的框架能够从单幅图像中重建出更加真实且具有高度个性化特征的三维人脸模型。
1999年Blanz等人 [
早期的方法 [
由于3DMM模型本质是线性正交基的低维表达,重建的三维人脸仅仅是粗糙的形状和纹理,面部的皱纹等细节很难重建出来,并且不同个体间的差异也很难表现出来。很多研究者都提出了方法来克服这一局限性。Luan等人 [
图1展示了本文提出的框架结构,它由两个阶段组成,红色部分表示粗糙人脸重建阶段,绿色部分表示精细化人脸重建。在粗糙人脸重建阶段,特征提取网络从输入的二维图片中回归出3DMM参数,进而构建出三维人脸低频的几何和纹理。在精细化三维人脸重建阶段,人脸几何精细化模块通过图像到图像的生成网络,根据输入图像映射到UV空间的纹理图生成人脸的高频几何细节。
粗糙三维人脸重建阶段的目标是对图像中的人脸的低频几何和纹理进行学习和重建。具体来说,给定一幅二维图像I作为输入,编码器回归出一个468维的参数空间。该尺寸空间包括面部身份参数 β ∈ R 200 、姿态参数 θ ∈ R 6 、表情参数 ε ∈ R 50 、相机角度特征参数 c ∈ R 3 、反射率参数 α ∈ R 200 和照明参数 γ ∈ R 9 。
图1. 由粗到精的三维人脸重建框架
为了能够使编码器提取到图像中人脸区域的关键特征以及与人脸身份相关的个性化特征,本文提出了一个多尺度个性化特征提取模块,从编码特征中有效提取人脸的年龄、性别等个性化信息。图2显示了多尺度个性化特征提取模块的结构,该模块分为两个部分。在第一部分中,模块将编码器提取的特征分别通过四种不同尺度的卷积层进行处理。其中1 × 1卷积主要负责保留人脸的全局特征,而其余三个尺度的卷积则专注于捕获人脸的局部特征。通过对这些不同尺度的特征进行采样和连接,本文能够获得一个既包含局部细节又兼顾全局信息的密集特征表示。在模块的第二部分中,本文引入一种注意力机制,旨在专注于提取有效信息并有效抑制背景特征的干扰。该注意力机制分为通道注意力和空间注意力两个并行分支。通道注意力分支用于获取不同通道间的特征关系,通过全局平均池化层对每个通道的全局信息进行编码,并利用带有隐藏层的多层感知机来精准估计各通道间的注意力权重。空间注意力用于强调或抑制在不同空间位置的特征,通过两个1 × 1卷积来整合和压缩通道维度,再结合两个3 × 3空洞卷积来有效聚合具备更大感受野的上下文信息。随后,这两个分支的输出特征经过广播机制进行维度扩展生成注意力映射。最后,本文将生成的注意力映射与原始输入特征进行逐元素相乘,以获得更为精准的人脸个性化特征。通过这种方式,注意力机制能够利用提取的特征自适应地学习权重分布,并将这些学习到的权重与人脸细节轮廓紧密结合,进而强化编码器对关键特征的感知与提取能力。
图2. 多尺度个性化特征提取模块结构
本文参考了FLAME模型 [
S c o a r s e = ( β , θ , ε ) = S ¯ + β B i d + ε B e x p + θ B p o s (1)
A ( α ) = A ¯ + α B a l b (2)
其中 S ¯ ∈ R 3 n 表示平均人脸基底,Bid、Bpos、Bexp和Balb分别表示人脸模型的身份、姿态、表情和反射率基底。本文假设人脸为朗伯斯表面,用球面谐波函数来模拟场景光照。假定人脸表面一顶点pi,其表面法线和皮肤纹理分别表示为ni和ti,该点的光照可以由如下公式计算:
C ( n i , t i | γ ) = t i ⋅ ∑ b = 1 B 2 γ b Φ b ( n i ) (3)
其中Φb表示球面谐波基函数,γb表示对应的球面谐波参数。参考 [
I r , c o a r s e = R ( S c o a r s e , A , γ ) (4)
在粗糙人脸重建阶段,三维形变模型的顶点数量有限,无法充分重建出脸部表面的细节信息,如皱纹等。为解决这一问题,本文采用UV空间的位移深度图来精细面部人脸的细节几何。位移深度图能够表达沿法线方向的几何变形,打破了基础模型顶点密度的限制。通过将位移深度图逐像素转换为绘制过程中的细节法线,人脸网格能够显示所有细微的细节变化。基于此,本文提出了一个人脸几何细节生成网络。该网络将人脸纹理UV图作为输入,通过生成器挖掘纹理图中难以捕捉的细节信息,并将这些细节作为特征图,循环合成位移深度图 D ∈ [ − 0.01 , 0.01 ] 256 × 256 。最后,网络将位移深度图在UV域对人脸网格顶点进行叠加,生成具有精细化特征的人脸网格模型。
首先,本文利用粗糙人脸生成阶段产生三维人脸模型对输入图像I和进行投影和纹理采样,使其映射为更适合深度卷积网络处理的UV纹理图T。具体来说,对于每一个三维顶点pi,本文使用弱透视模型获得其在输入图像I上的对应点qi:
p i = f [ 1 0 0 0 1 0 ] ( R q i ) + t (5)
其中f为物体在相机坐标系下和图像坐标系下的转换比例因子,R为旋转矩阵,t为偏移向量。然后本文采用双线性采样 [
本文提出的的几何细节生成网络是基于UNet网络 [
图3. 人脸几何细节生成网络结构
图4显示了交叉注意力模块的具体实现,其操作主要在解码阶段。在这一阶段,本文将先前粗糙人脸重建过程中产生的身份编码β (与静态细节相关)与表情编码ε (与动态细节相关)进行拼接,形成一个250维的条件编码z。针对每个尺度的特征图,本文将其与先验条件z进行交互,其中z通过线性变换调整至与特征图相同的维度空间。同时,特征图也分别经过线性映射,生成对应的键向量和值向量。
在交叉注意力的计算过程中,查询向量与键向量进行矩阵乘法运算,生成一个注意力权重矩阵。这个矩阵反映了查询向量中身份、表情和姿态特征与解码阶段各个尺度特征之间的相关性强弱。最后,本文将这个权重矩阵应用于值向量,通过矩阵乘法和1 × 1卷积层得到一组加权后的特征图。这一过程实现了对原始特征图中有意义信息的增强和对无关信息的抑制,从而提升了面部细节的重建质量。
图4. 交叉注意力网络结构
获得位移深度图D后,本文能够重建出带有高频细节的人脸几何。具体来说,本文首先将人脸几何Scoarse和表面法向量Ncoarse(即根据粗糙三维人脸模型计算的顶点法线)展开转换到UV空间,得到 S ′ c o a r s e 和 N ′ c o a r s e ,然后通过与位移深度图计算得到UV空间下精细化的人脸几何网格 S ′ d e t a i l :
S ′ d e t a i l = S ′ c o a r s e + D ⊙ N c o a r s e (6)
通过这种方式,本文能够重建出精细化的三维人脸,将其渲染后的二维图像可以表示为:
I r , d e t a i l = R ( S d e t a i l , A , γ ) (7)
粗糙三维人脸重建阶段的损失函数是在输入图像I和渲染图像 I r . c o a r s e 之间计算差异的,可以表示为:
L c o a r s e = w i d L i d + w e x p L e x p + w l m k L l m k + w p h o L p h o + w r e g L r e g (8)
包括身份一致性损失Lid、表情一致性损失Lexp、关键点损失Llmk、光度损失Lpho和正则化损失Lreg。
身份一致性损失。为了保证输入图像和渲染后的图像要确保看起来是同一个人,本文将I和 I r . c o a r s e 分别通过一个预训练的人脸识别网络 [
L i d = 1 − F i d ( I ) F i d ( I r , c o a r s e ) ‖ F i d ( I ) ‖ 2 ⋅ ‖ F i d ( I r , c o a r s e ) ‖ 2 (9)
其中, F i d ( ⋅ ) 表示输出的人脸身份特征。
表情一致性损失。为了保证输入图像和渲染后的图像的表情相同,本文将I和 I r . c o a r s e 分别通过一个预训练的表情识别网络 [
L e x p = ‖ F e x p ( I ) − F e x p ( I r , c o a r s e ) ‖ 2 (10)
其中, F e x p ( ⋅ ) 表示输出的身份特征。
关键点损失。本文采用一个关键点检测网络 [
L l m k = ∑ i = 1 68 ‖ k i − k ′ i ‖ 1 (11)
光度损失。光度损失计算I和 I r . c o a r s e 面部区域间的像素值差异:
L p h o = V I ⊙ ( I − I r , c o a r s e ) 1 (12)
其中, ⊙ 表示对矩阵的逐元素乘法操作,VI表示用 [
正则化损失。为了防止面部形状和纹理退化,本文对回归的三维形变模型系数采用正则化损失:
L s e g = ‖ β ‖ 2 2 + ‖ ε ‖ 2 2 + ‖ α ‖ 2 2 (13)
精细化三维人脸重建阶段的损失函数是在输入图像I和渲染图像 I r , d e t a i l 之间计算差异的,可以表示为:
L d e t a i l = ω p h o D L p h o D + ω s m o L s m o + ω r e g D L r e g D (14)
包括细节光度损失LphoD、法线平滑损失Lsmo和细节正则化损失LregD。
细节光度损失。细节光度损失计算I和 I r , d e t a i l 面部区域间的像素值差异:
L p h o D = V I ⊙ ( I − I r , d e t a i l ) 1 (15)
法线平滑度损失。本文在UV空间对原始的表面法向量 N ′ c o a r s e 和叠加了深度位移图后的表面法向量 N ′ d e t a i l 之间计算平滑损失,确保生成的几何细节在相邻像素上的相似性。该损失函数的作用是利用叠加深度位移图前后表面法向量的邻域深度值来约束非边缘区域的法线贴图平滑,增强边缘区域的信息的同时,抑制非边缘区域的信息。损失函数可以表示为:
L s m o = ∑ i ∈ P U V ∑ j ∈ N ( i ) ‖ Δ n ( i ) − Δ n ( j ) ‖ 2 (16)
其中i表示UV空间PUV中的每一个像素, N ( i ) 表示其临近的像素集和, Δ n ( i ) 表示 N c o a r s e 和 N ′ d e t a i l 之间的像素距离。
细节正则化损失。本文对生成的位移深度图D进行正则化计算,以减少生成位移深度图和反射率图的噪声带来的面部失真:
L r e g D = ‖ D ‖ 2 2 (17)
CelebA数据集 [
AFLW2000-3D [
标准化平均误差(Normalized Mean Error, NME)表示人脸关键点坐标预测值和真实值之间的欧式距离平均值,初以标准因子得到的结果。其公式为:
其中,P和P*分别表示人脸关键点坐标预测值和真实值,pi和 p i * 分别为重建人脸和真实人脸第i个关键点坐标,d表示标准化因子,通常为两外眼角或两眼瞳孔的距离,N表示关键点个数。
本文将输入图像以人脸区域为中心裁剪或缩放为224 × 224的大小,特征编码器由ResNet-50 [
本文在AFLW2000-3D数据集上采用NME指标与现有方法进行对比,评价重建的三维人脸几何的与原始输入图像的对齐精度。为了进一步研究重建的人脸几何在不同姿态下的对齐准确性,本文将数据集按照偏航角分为三部分,分别表示人脸偏转角度在[0,30)、[30,60)和[60,90)区间的人脸。
表1显示了本文的方法相比于其他方法,在[0,30)区间的NME最低,在[30,60)和[60,90)区间的NME也低于大部分现有方法。MGCNet [
方法 | NME (mm) | |||
---|---|---|---|---|
[0,30) | [30,60) | [60,90) | 平均 | |
SDM [
|
3.67 | 4.94 | 9.67 | 6.12 |
3DDFA [
|
3.78 | 4.54 | 7.93 | 5.42 |
3DSTN [
|
3.15 | 4.33 | 5.98 | 4.49 |
PRNet [
|
2.75 | 3.51 | 4.61 | 3.62 |
3DDFA-V2 [
|
2.75 | 3.49 | 4.53 | 3.59 |
SADRNet [
|
2.62 | 3.44 | 4.41 | 3.49 |
MGCNet [
|
2.72 | 3.12 | 3.76 | 3.20 |
本文方法 | 2.51 | 3.47 | 4.48 | 3.17 |
表1. 本文方法在AFLW200-3D数据集上与其他方法的定量对比
图5. 本文方法在AFLW200-3D数据集上与其他方法的定性对比
图5显示了本文提出的三维人脸几何重建方法与其他现有方法的定性对比结果。图中(a)列表示AFLW2000-3D数据集中的原始输入人脸图像,(b)列至(f)列则分别对应3DDFA [
相较于其他方法,本文所提出的三维人脸几何重建技术能够生成高保真的三维人脸模型,且细节丰富。从脸部外形的重建效果来看,本文的方法能够更精确地还原面部几何形态和轮廓线条。以图中第三行为例,通过本文方法重建的下巴形状和脸部轮廓与原始输入图像更加吻合。此外,在面部细节的呈现上,本文提出的方法能够准确捕捉与表情变化相关的细微特征。以图中第一行、第二行和第四行为例,通过本文方法重建的模型能够精细地还原由表情引起的嘴部形变以及嘴部和眼部周围的皱纹。总体而言,本文所提出的方法在人脸面部几何的恢复上具有显著优势,重建出的人脸模型在身份和表情的表达上与原始输入图像保持更高的一致性。
为了验证本文提出的各个模块的合理性和有效性,本文在AFLW2000-3D数据集上进行了消融实验。图6是消融实验的结果分析,其中(a)列表示输入人脸图像,(b)列至(e)列分别表示基础3DMM、采用多尺度个性化特征提取模块、采用人脸几何细节重建模块和采用条件编码重建的三维人脸几何的renlia你重建情况。
图6. 消融实验的可视化结果
(1) 多尺度个性化特征提取模块的有效性
此模块旨在有效提取有助于三维人脸重建的个性化特征。表2中的数据显示,在未引入多尺度个性化特征提取模块的情况下,NME提升了1.28。进一步地,从可视化结果来看,图6显示出在缺少此模块的情况下,本文的方法难以精确重建出与原始人脸一致的表情和面部轮廓,特别是在嘴部和面部形状等细节上表现尤为明显。
方法 | 平均误差 | |||
---|---|---|---|---|
基础3DMM | 个性化特征提取模块 | 人脸几何细节重建模块 | 条件编码 | NME |
√ | 5.91 | |||
√ | √ | 4.63 | ||
√ | √ | √ | 3.56 | |
√ | √ | √ | √ | 3.17 |
表2. 消融实验的定量结果
(2) 人脸几何细节重建模块的有效性
此模块主要负责重建人脸表面的皱纹等几何细节。为了验证该模块中身份和表情的联合条件变量对于人脸细节重建的有效性,本文同样进行了消融实验。表2的结果显示,在不采用人脸几何细节重建模块的情况下,NME提升了1.07;在采用此模块但不引入条件变量的情况下,NME提升了0.39。此外,从图6中的可视化结果来看,若缺少人脸几何重建模块,本文方法无法有效重建出人脸面部的皱纹等高频细节;而在未采用条件变量的情况下,与表情相关的皱纹细节(如嘴角和眼部周围的皱纹)无法得到清晰的重建。
本文提出了一种由粗到精的高保真三维人脸重建算法,旨在解决基于3DMM模型回归的三维人脸重建表达能力不足的问题。该算法将三维人脸的重建分为粗糙和精细化两个过程,从人脸几何轮廓重建到进一步的面部细节生成。为验证所提出方法的有效性,本文在CelebA数据集和AFLW2000-3D数据集上进行了模型评估。实验结果表明,在小姿态下,本文提出的三维人脸重建方法在几何和纹理重建方面均取得了显著的效果。然而,在中、大姿态下的重建仍存在一定的挑战和不足,这为未来的研究提供了方向。
景圣恩,高 添,陶应诚,彭梦昊,侍亚东,王 冠. 由粗到精的高保真单目三维人脸重建Coarse-to-Fine Monocular 3D Face Reconstruction with High Fidelity[J]. 计算机科学与应用, 2024, 14(04): 255-267. https://doi.org/10.12677/CSA.2024.144095
https://doi.org/10.1609/aaai.v36i2.20091
https://doi.org/10.1007/978-3-030-58526-6_25
https://doi.org/10.1016/j.cag.2022.12.004
https://doi.org/10.1016/j.patcog.2005.01.006
https://doi.org/10.1109/ITSC.2016.7795619
https://doi.org/10.1145/311535.311556
https://doi.org/10.1109/TVCG.2013.249
https://doi.org/10.1145/3130800.3130813
https://doi.org/10.1109/ICCV.2019.00952
https://doi.org/10.1145/3450626.3459936
https://doi.org/10.1109/CVPR42600.2020.00068
https://doi.org/10.1109/TIP.2020.3017347
https://doi.org/10.1145/2766943
https://doi.org/10.1109/CVPR.2005.145
https://doi.org/10.1109/AVSS.2009.58
https://doi.org/10.1186/1687-6180-2012-176
https://doi.org/10.1109/CVPR52688.2022.01967
https://doi.org/10.1109/CVPRW.2019.00038
https://doi.org/10.1109/ICCVW.2017.153
https://doi.org/10.1109/TMM.2020.2994506
https://doi.org/10.1109/CVPR42600.2020.00501
https://doi.org/10.1109/CVPR.2018.00767
https://doi.org/10.1109/CVPR42600.2020.00614
https://doi.org/10.1109/ICCV.2017.175
https://doi.org/10.1109/CVPR.2018.00917
https://doi.org/10.1109/CVPR.2018.00270
https://doi.org/10.1109/ICCVW.2017.110
https://doi.org/10.1145/280811.280920
https://doi.org/10.1007/978-3-319-24574-4_28
https://doi.org/10.5244/C.29.41
https://doi.org/10.1109/CVPR42600.2020.00693
https://doi.org/10.1007/978-3-030-69532-3_19
https://doi.org/10.1109/FG.2018.00024
https://doi.org/10.1109/ICCV.2015.425
https://doi.org/10.1109/CVPR.2016.23
https://doi.org/10.1109/CVPR.2016.90
https://github.com/facebookresearch/pytorch3d
https://doi.org/10.1007/978-3-319-48881-3_39
https://doi.org/10.1109/ICCV.2017.429
https://doi.org/10.1007/978-3-030-01264-9_33
https://doi.org/10.1007/978-3-030-58529-7_10
https://doi.org/10.1109/TIP.2021.3087397
https://doi.org/10.1007/978-3-030-58555-6_4
https://doi.org/10.1109/CVPR.2018.00414