论文题目:
NeRF-AD: Neural Radiance Field with Attention-based Disentanglement for Talking Face Synthesis
论文作者:
Chongke Bi, Xiaoxing Liu, Zhilei Liu
导读:本文提出了一种新的说话人脸合成框架,该框架在NeRF中加入了基于注意力的解耦模块,从而可以使NeRF在渲染重建过程中,图像生成质量和嘴型同步提高都有得到不同程度的提高。©️【深蓝AI】编译
由音频驱动的说话人脸合成(talking face synthesis)是多维信号处理和多媒体邻域中的研究热点之一。通过引入神经辐射场(NeRF)可以增强生成人脸的真实性及3D效果,然而现阶段大部分基于NeRF的方法存在以下两种较为明显的缺陷:
1)NeRF本身包含一系列复杂的学习任务但缺乏监督式的多模态特征融合方法。
2)不能精准地将音频映射到由语音运动相关的面部区域。
本文在基于NeRF的说话人脸合成框架中,引入基于注意力机制的面部解耦模块,将经过面部动作单元(AU)处理过的输入人脸信息分解为音频面部(Audio-face)和身份面部(Identity-face)两部分,为了准确衡量音频和说话人脸的对应关系,只使用音频面部与音频特征进行特征融合,并使用AU信息对融合过程进行监督。大量的定性和定量实验表明,本文提出的NeRF-AD在生成逼真说话人脸视频方面优于SOTA(包含图像质量和嘴形同步)。
NeRF-AD整体框架如图2所示,其中灰色区域表示基于注意力的解耦模块,主要是将输入的说话人脸分解为音频面部(Audio-face)和身份面部(Identity-face)。特征提取和融合模块用于从Audio-face中提取身份特征,编码器部分用于提取Audio-face特征,然后将Audio-face特征与DeepSpeech模块提取出的音频特征进行融合,解码器生成由AU信息监督下的特征图,特征编码器随后生成融合后的Audio-face特征向量,最后以身份特征与Audio-face特征向量为条件接入NeRF准确渲染说话人脸图像。
2.1 Attention-based Disentanglement(基于注意力的解耦方法)
使用基于注意力的解耦模块将图像Iid分解为Audio-face与Identity-face(图2中的灰色部分),在这个模块中,将调整尺寸后的Iid面部区域输入到AU-Attention模块中,得到掩码A,其中A定义为一个面部区域,该区域由语音引起的人脸运动相关部分组成。
AU-Attention模块的具体结构如图3所示,整体结构由四个分支构成:
掩码生成器GM(蓝色及绿色矩阵组成)用于生成带有注意力的掩膜,考虑到人脸解耦任务缺少相应的数据集,本文采用无监督方法,形变生成器GW(由蓝色和黄色矩阵组成),AU分类器(粉色矩阵表示)和鉴别器(灰色矩阵)用来辅助GM的学习。经过预训练之后,只保留GM用于AU-Attention模块生成A。
2.2 Feature Extraction and Fusion of Audio-face and Identity-face(Audio-face与Identity-face特征提取与融合)
针对于身份面部 f i d − f a c e f_{id-face} fid−face,本文使用特征提取与融合模块来提取身份特征 f i d f_id fid,而针对于音频面部 f a u d − f a c e f_{aud-face} faud−face,使用编码器进行音频面部特征的提取,DeepSpeech则用于提取音频特征 f a f_a fa在此基础之上将所提取的特征融合后输入到解码器中,这里用AU损失和重建损失来监督多模态特征的融合过程,首先AU损失由两部分组成( L b c e L_{bce} Lbce和 L d i c e L_{dice} Ldice):
L b c e = − 1 n A U ∑ i = 1 n A U w i [ x i l o g x ^ i + ( 1 − x i ) l o g ( 1 − x ^ i ) ] L_{bce}=-\frac{1}{n_{AU}}\sum_{i=1}^{n_{AU}}w_i[x_ilog\hat{x}_i+(1-x_i)log(1-\hat{x}_i)] Lbce=−nAU1i=1∑nAUwi[xilogx^i+(1−xi)log(1−x^i)]左右滑动查看完整公式
其中 x i x_i xi和带有上标符号的 x i x_i xi都用来表示第 i i i个AU标签(含义不同),这里的标签都使用OpenFace进行提取,为了减少AU之间的相关性对模型训练的影响,在公式中设置了权重,同时优于一些AU在训练集中很少出现,可能会影响模型的预测结果,引入了 L d i c e L_{dice} Ldice:
L d i c e = 1 n A U ∑ i = 0 n A U w i [ 1 − 2 x i x ^ i + ϵ x i 2 + x ^ i 2 + ϵ ] L_{dice}=\frac{1}{n_{AU}}\sum_{i=0}^{n_{AU}}w_i[1-\frac{2x_i\hat{x}_i+\epsilon}{x_i^2+\hat{x}_i^2+\epsilon}] Ldice=nAU1i=0∑nAUwi[1−xi2+x^i2+ϵ2xix^i+ϵ]重建损失表示为:
L r e c = ∣ ∣ I f u s − a f − I ^ f u s − a f ∣ ∣ L_{rec}=||I_{fus-af}-\hat{I}_{fus-af}|| Lrec=∣∣Ifus−af−I^fus−af∣∣
也就是真值与解码器输出值之间的 L 1 L_1 L1距离。
2.3 Nerual Radiance Field for Talking Face Synthesis(NeRF用于说话人脸的合成)
本文提出了一种有条件(音频面部及身份特征)的NeRF用于说话人脸的合成,也就是说,隐函数 F θ F_θ Fθ的输入包含了条件、3D位置 I I I和视图方向 d d d三部分:
F θ : ( l , d , f i d , f ^ a u d − f a c e ) → ( c , σ ) F_\theta:(l,d,f_{id},\hat{f}_{aud-face})\rightarrow(c,\sigma) Fθ:(l,d,fid,f^aud−face)→(c,σ)
计算图像中每个像素的颜色 C n C_n Cn的过程为:
C n ( r ; f i d , f ^ a u d − f a c e ) = ∫ t n t f σ ( t ) ⋅ c ( t ) ⋅ T ( t ) d t C_n(r;f_{id},\hat{f}_{aud-face})=\int_{t_n}^{t_f}\sigma(t)\cdot c(t)\cdot T(t)dt Cn(r;fid,f^aud−face)=∫tntfσ(t)⋅c(t)⋅T(t)dt左右滑动查看完整公式
其中 t f t_f tf和 t n t_n tn和分别表示相机射线的远近界限, T ( t ) T(t) T(t)表示透射率,在积分的过程中使用损失函数 L p h o L_{pho} Lpho额最小化生成的颜色 C n C_n Cn和真值的重建光度误差:
L p h o = ∑ r ∈ R ∣ ∣ C n ( r ; θ , f i d , f ^ a u c − f a c e − C g ) ∣ ∣ 2 L_{pho}=\sum_{r\in R}||C_n(r;\theta,f_{id},\hat{f}_{auc-face}-C_g)||^2 Lpho=r∈R∑∣∣Cn(r;θ,fid,f^auc−face−Cg)∣∣2
本文所设计的实验包括定量分析、定性分析和消融实验三个部分:
3.1 定量分析:
首先将本文提出的方法与最先进的基于NeRF(表1中Ne:√)的方法进行比较(GeneFace DFF AD-NeRF NeRF)。在分析的过程中,由于PSNR在模糊图像上可能得到更高的值,因此更应该关注的是其他评价指标,而NeRF-AD在其他五个指标中表现最好。
其次针对于无NeRF(表1中Ne:×)的方法进行比较,与它们相比,本文的方法显著提高了图像质量,其在AU Acc和LMD-79中表现最佳。
3.2 定性分析:
从图4可以看出,本文提出的方法在嘴唇运动方面最接近真实值。
图4|NeRF-AD与各类方法的定性对比©️【深蓝AI】编译
3.3 消融实验:
消融实验包含了两个方面的内容:首先是NeRF-AD中不同迭代次数的影响,然后是NeRF-AD中不同模块的影响。从表2中可以看出,当模型仅迭代4k和10k次时,本文提出的模型在图像质量和唇同步方面都优于其他模型,这表明NeRF-AD模型在具有最高的学习效率,能够在相同数量的迭代中生成最准确的人脸。从表3中可以看出,在逐步消除模型中组件的过程中,图像生成质量下降,唇同步降低。
本文主要贡献在于提出了一种基于注意力机制的解耦NeRF说话人脸合成方法,将输入图像人脸部分进行分解,选择其中一种信息与音频信息进行多模态融合,同时使用带有注意力的AU进行监督,这在一定程度上减少了原NeRF框架中较为冗杂的工作量,解耦面部特征也可以更为有效地进行说话人面部的合成。
编译|Lean_loves_lulu
审核|Los
移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。