蒙娜丽莎开口说话你见过吗?这位神秘的画中人也能做出各种 gif 表情?来自三星莫斯科 AI 中心和 Skolkovo 科学技术研究所的研究人员创建了一个模型,利用这个模型可以从一张图像中生成人物头像的动图,而且是开口说话的动图。而且,这一模型没有采用 3D 建模等传统方法。
开口说话的蒙娜丽莎好像看着没那么高冷。
除了蒙娜丽莎,研究人员还生成了风情万种的玛丽莲·梦露。
他们生成的名人头部动画包括玛丽莲·梦露、爱因斯坦、蒙娜丽莎以及 Wu Tang Clan 的 RZA 等。
近年来出现了很多利用 AI 模拟人脸的研究。2018 年,华盛顿大学的研究人员分享了他们创建的 ObamaNet,它是一种基于 Pix2Pix 的唇语口型模型,以美国前总统奥巴马的视频进行训练。去年秋天,加州大学伯克利分校的研究人员开发出一个模型,使用 YouTube 视频来训练 AI 数据集,生成的人物可以做跳舞或后空翻等杂技动作。
为了创建个性化模型,上面这些研究需要在大量个人数据上进行训练。但是,在许多实际场景中,我们需要从个人的少量甚至是一张图像中学习。因此在这项研究中,三星和 Skolkovo 研究所的研究人员只用少量甚至一张图像或画作就合成了人物开口说话状态的头部动画。
研究人员利用了 Few-shot learning 等技术,主要合成头部图像和面部 landmark,可应用于电子游戏、视频会议或者三星 Galaxy S10 上现在可用的数字替身(digital avatar)。这种虚拟现实项目的数字替身技术可用于创建 deepfake 图像和视频。
Few-shot 学习意味着该模型在仅使用几幅甚至一幅图像的情况下模拟人脸。研究人员使用 VoxCeleb2 视频数据集进行元训练(meta trainning)。在元学习过程中,系统创建了三种神经网络:将帧映射到向量的嵌入器网络、在合成视频中映射面部特征点的生成器网络以及评估生成图像真实性和姿态的判别器网络。
联合三种网络,该系统能在大型视频数据集上执行长时间的元学习过程。待元学习收敛后,就能构建 few-shot 或 one-shot 的神经头像特写模型。该模型将未见过的目标任务视为对抗学习问题,这样就能利用已学习的高质量生成器与判别器。
论文作者表示:「至关重要的一点是,尽管需要调整数千万参数,该系统能够因人而异地初始化生成器和判别器参数,因此训练可以在仅借助几幅图像的情况下快速完成。这种方法能够快速学习新面孔甚至是人物肖像画和个性化的头像特写模型。」
该论文已被 2019 CVPR 会议接收,本届会议将于六月份在加利福尼亚州的长滩举行。
论文:Few-Shot Adversarial Learning of Realistic Neural Talking Head Models
论文地址:https://arxiv.org/abs/1905.08233
新颖的对抗学习架构
在这项研究中,研究者提出了一种新系统,可以只使用少量图像(即 Few shot learning)和有限的训练时间,构建「头像特写」模型。实际上,研究者的模型可以基于单张图像(one-shot learning)生成合理的结果,而且在添加少量新样本后,模型能生成保真度更高的个性化图像。
与很多同类工作相同,研究者的模型使用卷积神经网络构建头像特性,它通过一个序列的卷积运算直接合成视频帧,而不是通过变形(warping)。研究者模型创建的头像特写可以实现大量不同的姿态,其性能显著高于基于变形(warping-based)的系统。
通过在头像特写语料库上的大量预训练(meta-learning),模型能获得 few-shot 学习的能力。当然这需要语料库足够大,且头部特写视频对应不同的说话者与面孔。在元学习过程中,研究者的系统模拟了 few-shot 学习任务,并学习将面部 landmark 位置转换到逼真的个性化照片。在 few-shot 学习中,他们只需要提供转换目标的少量训练图像就可以。
随后,转换目标的少量图像可视为一个新的对抗学习问题,其高复杂度的生成器与判别器都通过元学习完成了预训练。新的对抗问题最终会完成收敛,即在少量训练迭代后能生成真实和个性化的图像。
元学习架构
下图 2 展示了研究者方法中的元学习阶段,简单而言它需要训练三个子网络。注意,若我们有 M 个视频序列,那么 x_i(t) 表示第 i 个视频的第 t 帧。
第一个子网络 embedder E:它会输入视频帧 x_i(s) 以及对应的 landmark 图像 y_i(s),该网络会将输入映射到 N 维向量 e hat_i(s) 中。
第二个子网络 generator G:它会输入新的 landmark 图像 y_i(t),且 embedder 看不到其对应的视频帧;该网络还会输入 embedder 输出的 e hat_i,并希望能输出合成的新视频帧 x hat_i(t)。
第三个子网络 discriminator D:它会输入视频帧 x_i(t)、对应的 landmark 图像 y_i(t),以及训练序列的索引 i。该网络希望判断视频帧 x_i(t) 到底是不是第 i 个视频中的内容,以及它到底匹不匹配对应的 landmark 图像 y_i(t)。
图 2:元学习架构的整体结构,主要包含嵌入器(embedder)、生成器和判别器三大模块。
嵌入器网络希望将头像特写图像与对应的人脸 landmark 映射到嵌入向量,该向量包含独立于人脸姿态的信息。生成器网络通过一系列卷积层将输入的人脸 landmark 映射到输出帧中,其生成结果会通过嵌入向量以及自适应实例归一化进行调整。在元学习中,研究者将相同视频一组视频帧传递到嵌入器,并对嵌入向量求均值以便预测生成器的自适应参数。
随后,研究者将不同帧的 landmark 输入到生成器中,并对比标注图像和生成图像之间的差别。模型的整体优化目标包括感知和对抗两种损失函数,后者通过条件映射判别器实现。
此外,元学习的三大子网络在原论文中都有具体的表达式,读者可具体查阅原论文 3.2 章。
Few-shot 学习过程
一旦元学习完成收敛,那么系统就能学习到如何合成新目标的头像特写序列,即使元学习中不曾见过这个人。当然,除了要提供新目标的一些图像样本,我们还需要提供新目标的 landmark,合成过程是以这些目标 landmark 为条件的。
很自然地,我们可以使用元学习收敛后的嵌入器(embedder),用来估计新头像特写序列的嵌入向量:
一种比较直观的想法是使用上面的嵌入向量,以及预训练的生成器生成新的视频帧与对应 landmark 图像。理论上这样也能生成真实的图像,但真实性并不是太强。为此,研究者还需要一个精调过程以生成更完美的图像,即 few-shot 学习过程。
精调过程可视为前面元学习过程的简化版,它只在单个视频序列和较少的帧上完成训练。精调过程主要包含判别器与生成器两个模块,这里嵌入器是不需要调整的。
其中生成器还是根据 landmark 合成视频帧,只不过对应具体人物的生成器参数 ψ'会和原来一般人物参数ψ共同优化,以学习生成目标人物的某些特征。判别器和元学习阶段也差不多,只不过会增加一个新参数以学习更好地预测真实度分数。
实验
研究者在定性和定量评估实验中用到了两个数据集:VoxCeleb1 和 VoxCeleb2。后者的视频数量大约是前者的 10 倍。VoxCeleb1 用于与基线和控制变量研究作对比,VoxCeleb2 用于展示本文中所提方法的全部潜力。实验结果如下表所示:
如表 1 所示,基线模型在两个相似度度量标准上始终优于三星的方法。三星研究人员认为,这是方法本身所固有的:X2Face 在优化期间使用 L_2 损失函数,因此 SSIM 得分较高。另一方面,Pix2pixHD 只最大化了感知度量,没有 identity preservation 损失,导致 FID 最小化,但从 CSIM 一栏中可以看出,Pix2pixHD 的 identity 不匹配更大。
此外,这些度量标准和人类的感知并没有特别紧密的关联,因为这些方法都会产生恐怖谷伪影(uncanny valley artifact),这从图 3 和用户研究结果中可以看出。另一方面,余弦相似度与视觉质量有更好的相关性,但仍然倾向于模糊、不太真实的图像,这也可以通过表 1 与图 3 中的结果对比来看出。
图 3:在 VoxCeleb1 数据集上的结果。对于每一种对比方法,研究者在一个元训练或预训练期间未见过的人物视频上执行 one-shot 和 few-shot 学习。他们将训练的帧数设为 T(最左边的数字)。Source 列显示了训练帧之一。
接下来,研究者扩展了可用的数据,开始在视频数目更多的 VoxCeleb2 上训练模型。他们训练了两种模型:FF(前馈)和 FT。前者训练 150 个 epoch,没有嵌入匹配损失 LMCH,因此用的时候不进行微调。后者训练 75 个 epoch,但有 LMCH,支持微调。
他们对这两种模型都进行了评估,因为它们可以在 few-shot 学习速度和结果质量之间进行权衡。与在 VoxCeleb1 上训练的小型模型相比,二者都得到了很高的分数。值得注意的是,FT 模型在 T=32 的设定下达到了用户研究准确率的下界,即 0.33,这是一个完美的分数。两种模型的结果如图 4 所示:
图 4:三星最好的模型在 VoxCeleb2 数据集上的结果。
最后,研究者展示了模型在照片或画像上的结果。为此,研究者评估了在 one-shot 设定下训练的模型,任务姿态来自 VoxCeleb2 数据集的测试视频。他们使用 CSIM 度量给这些视频排序,并在原始图像和生成图像之间进行计算。这使得研究者可以发现拥有相似标志几何特征的人脸,并将它们由静态变为动态。结果见图 5 和图 1.
图 5:使静止的照片栩栩如生。