文章目录
- 前言
- pipeline
- Pitch-Aware Audio-to-Motion
- Landmark LLE
- LLE
- Landmark LLE
- Instant motion-to-video rendering
- 结果对比
前言
- 为了提高预测的面部关键点序列的长期时间一致性和自然度,我们提出了一个Pitch-Aware Audio-to-Motion音高感知的音频到动作模块。具体来说,我们将音高轮廓作为音频到动作映射的辅助特征。
- 为了提高系统对多种面部运动的鲁棒性,我们提出了一种Landmark Locally Linear Embedding用于对预测的关键点进行后处理。
- 为了提高渲染器的效率,我们提出了一个高效的动态NeRF,名为Instant Motion-to-Video模块。
pipeline
音高与面部表情高度相关。高且稳定的音高轮廓可能与大而稳定的嘴唇运动相关。引入pitch的两个优点:
- 大多基于NeRF的方法都是以语音后验图特征( phonetic posteriorgrams features)为语音特征用于训练,但是PPGs忽略了波形中的声学信息。因此音高轮廓之类的辅助声学特征有助于提高预测面部运动的表现力和时间一致性。
- GeneFace中DA Postnet性能不稳定,音高信息可以作为Postnet轻量级且有用的提示来处理面部关键点。
Pitch-Aware Audio-to-Motion
GeneFace++中的audio-to-motion模块包括Gene Face中的Audio2motion和DA Postnet两个模块。不同的是提取语音特征时,多了pitch encoder用于提取音高轮廓信息。
首先将连续的音高(基频)值以对数的形式离散化为几个离散标记,以确保音高的临时平滑性,并简化音高编码器的训练。随后,学习一组与离散音高标记相对应的音高嵌入,然后将该嵌入送入一个浅层的卷积网络中,以生成最终的音高编码。
Landmark LLE
基于NeRF的渲染器通常是从一个非常小的数据集(几分钟长的视频)中学习的,当面对OOD(out-of-distribution)标志时,渲染器可能会产生不准确的面部运动,甚至导致崩溃的渲染结果。GeneFace利用对抗性领域自适应来训练一个Postnet,将所有标志映射到NeRF的狭窄输入空间。然而,由于对抗性训练的不稳定性,理论上并不能保证每一帧都能正确投影到目标域,偶尔会出现不良情况,这对实际应用提出了稳健性的挑战。
受3DMM的启发,3DMM可以通过大约144个模板网格的线性组合来重建任意人脸。我们遵循经典LLE算法在面部表示流形上的主要思想:每个面部标志及其邻域在流形上是局部线性的,提出了一种基于流形投影的后处理方法,称为Landmark LLE(Landmark局部线性嵌入),该方法可确保每个预测的标志成功映射到(标志条件渲染器的输入空间的附近)。
LLE
流形学习(manifold learning)是一类借鉴了拓扑流形概念的降维方法。“流形”是指的是连在一起的区域,数学上,它指的是一组点,且每个点都有其邻域。给定任意一个点,其流形局部看起来像是欧几里得空间。换言之,它在局部空间有欧式空间的性质,能用欧式空间来进行距离计算。因此,很容易地在局部建立降维映射关系,然后再设法将局部关系推广到全局,进而进行可视化展示。
它的主要思想是将高维的数据映射到低维,使该低维的数据能够反映原高维数据的某些本质结构特征。
LLE(Locally Linear Embedding,局部线性嵌入)算法是一种非线性降维算法,它主要用于高维数据的维数约简。LLE的基本思想是假设数据在局部范围内是线性的,即每个数据点可以通过其近邻点的线性组合来重构。算法通过保持这种局部线性关系,将数据从高维空间映射到低维空间,同时尽量保持数据原有的拓扑结构不变。
LLE算法的主要步骤包括:
- 寻找每个样本点的近邻点,这些近邻点构成了该样本点的局部邻域。
- 根据局部邻域内的样本点,计算该样本点的局部重建权值矩阵,即每个近邻点对重构该样本点的贡献程度。
- 利用局部重建权值矩阵,将高维空间中的数据映射到低维空间,同时保持局部线性关系不变。
Landmark LLE
对于一个预测的3D面部标志(landmark) I ˉ ∈ R 68 × 3 \bar{I} \in \mathbf{R}^{68 \times 3} Iˉ∈R68×3,Landmark LLE的输出是 I ˉ ′ ∈ R 68 × 3 \bar{I}' \in \mathbf{R}^{68 \times 3} Iˉ′∈R68×3。 I ˉ ′ \bar{I}' Iˉ′可以表示为 I ˉ ′ = ∑ k = 1 K ω k ∗ ⋅ I k \bar{I}'=\sum_{k=1}^{K}\omega_{k}^{*} \cdot I_{k} Iˉ′=∑k=1Kωk∗⋅Ik,其中 ω k \omega_{k} ωk是第 k k k个邻居的权重。
首先我们在GT landmark数据 D ∈ R N × 68 × 3 D \in \mathbf{R}^{N \times 68 \times 3} D∈RN×68×3中找到 I ˉ \bar{I} Iˉ的K个邻近landmark { I 1 , ⋯ , I K } ∈ D \{I_{1}, \cdots, I_{K}\} \in D {I1,⋯,IK}∈D,然后通过最小化重建错误 ∥ I ˉ − I ˉ ′ ∥ \left \| \bar{I} - \bar{I}' \right \| Iˉ−Iˉ′ 寻找这些邻居的线性组合重建 I ˉ ′ \bar{I}' Iˉ′。可表述为以下最小二乘法优化问题:
解上述公式可得到参数 w ∗ = { w 1 ∗ , ⋯ , w K ∗ } ∈ R K w*=\{w_{1}^{*},\cdots, w_{K}^{*}\} \in \mathbf{R}^{K} w∗={w1∗,⋯,wK∗}∈RK。
在实际应用中,推理时,使用原预测landmark I ˉ \bar{I} Iˉ和重建的landmark I ˉ ′ \bar{I}' Iˉ′的线性组合作为最后的动作表示,公式如下所示:
其中 α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1]是平衡图像质量和脸部运动表示的权重。 α \alpha α越大,表示越接近GT数据分布,图像质量越好,越少的bad cases; α \alpha α越小,表示保留更多原预测landmark的信息,表示更多的多样性和脸部动作表示。
下图是可视化展示,可以看到,VAE预测得到的landmark不在特定人域中,VAE之后再经过postnet处理,预测的landmark大多数位于特定人域中,仍有一小部分bad cases,再经过LLE处理之后,预测的landmark全部位于特定人域中。
Instant motion-to-video rendering
- 使用可学习的特征网格来编码3D空间信息。与通过密集的多层感知机(MLP)转发获取空间特征的普通NeRF相比,这种新范式可以通过在离散特征网格中进行线性插值,直接在连续的3D空间中查询特征,从而在训练和推理阶段都更加高效。因此我们利用可学习的3D网格来编码查询的位置。
- 受Hyper-NeRF的启发,我们将输入的面部标志投影到基于网格的空间特征条件下的N维环境坐标中,这允许空间信息和标志条件的有效融合。一旦获得环境坐标,我们不是使用密集的多层感知机(MLP)查询标志特征,而是使用额外的N维可学习网格来提高效率。我们通过网格搜索经验性地将N设置为3,以平衡性能和效率。
最后,NeRF用公式表示:
F : ( f x , f l , d ) → c , σ F: \left( f_{x}, f_{l}, d \right) \rightarrow c, \sigma F:(fx,fl,d)→c,σ
结果对比
- 数字图像处理中,峰值信噪比(Peak Signal-to-Noise Ratio,简称 PSNR)是一个重要的评价参数,用于衡量图像的质量和噪声水平。一般来说,PSNR值越大,表示图像质量越好,噪声水平越低。
- FID(Frechet Inception Distance score),是计算真实图像和生成图像的特征向量之间距离的一种度量。分数越低代表两组图像越相似。
- LMD(Landmark Distance)是用于评估面部图像生成质量的指标,它用于度量生成的面部图像与真实面部图像之间的面部特征点的距离,以衡量生成的面部图像与真实面部图像之间的相似性。LMD得分越低,面部图像生成质量越高。