参与:吴攀、杜夏德 近日,来自比利时根特大学和 Twitter 的几位研究者在 arXiv 上发表了一篇很有趣的利用人工智能进行「换脸」的论文《Fast Face-swap Using Convolutional Neural Networks》,而著名演员尼古拉斯·凯奇和著名歌手泰勒·斯威夫特很不幸地成为了他们的实验对象。机器之心对该论文进行了部分编译,论文原文可在 https://arxiv.org/pdf/1611.09577v1.pdf 查看。
摘要 我们思考了在图像中进行面部交换(face swapping)的问题——即在保持原有姿势、面部表情和光照的同时,将一个输入的身份转换成一个目标身份。为了执行这样的映射,我们使用了卷积神经网络,并训练使其能够从一个人的照片的非结构化集合中获取目标身份者的外观。这种方法是通过将该面部交换问题描述成一种风格迁移问题而实现,而风格迁移的目标是将一张图像渲染成另一张图像的风格。基于这一领域的最新进展,我们设计一种能让该网络生成高照片真实度结果的新损失函数(loss function)。通过神经网络和简单的预处理与后处理步骤的结合,我们的目标是无需来自用户的输入就能实现实时的面部交换。 1. 相关工作(略) 2. 方法 假设有了一张某人 A 的图像,我们要将他/她的身份变成某人 B,同时保持头部姿势和表情以及光照情况不变。使用风格迁移,我们输入图像 A 的姿势和表情作为内容,输入图像 B 的脸作为风格。光线以另一种单独的方式处理,下面会介绍。 在 Ulyanov et al. [33] 和 Johnson et al. [11] 的基础上,我们使用一个经过权重 W 参数化的卷积神经网络来将这个内容图像x(即输入图像A)转换成输出图像
与之前的结果不同,我们假设给定的是一组而非一张风格图像,我们用 Y = {y1, . . . , yN } 来表示。这些图像描述了我们想要匹配的身份而且仅会在训练该网络的过程中使用。 我们的系统有两个另外的组分用来做脸对齐(face alignment)和背景/头发/皮肤分割。我们假设所有的图像(内容和风格)都与一张前向视角的参考脸。这可以通过一个仿射变换(affine transformation)实现,这需要将给定图像中的 68 个面部关键点对齐到参考的关键点。面部关键点是使用 dilb [13] 提取出来的。我们使用了分割来恢复来自输入图像 x 的背景和头发,而 x 目前还不会被我们的变换网络(transformation network)保存。我们使用了 OpenCV [22] 中的一种无缝克隆技术(seamless cloning technique)[25] 来拼接背景和所得到的面部交换了的图像。尽管目前确实存在一些相对准确的分割方法,包括一些基于神经网络的方法 [1, 21, 24],但为简单起见,我们假设 segmentation mask 已经给出,并将重点放到了剩下的问题上。关于该系统的概述可见于图 2. 下面我们会描述该变换网络的架构和训练中所使用的损失函数。
图 2:我们方法的示意图。在将输入图像的脸和参考图像对齐了之后,我们的方法使用了一个卷积神经网络来修改它。之后,生成的脸被重新对齐,并且使用了一个 segmentation mask 与输入图像结合到了一起。最上面一行表示了用于定义对齐和重新对齐步骤的仿射变换的面部关键点,以及用于拼接的皮肤 segmentation mask。 2.1 变换网络 我们的变换网络的架构基于 Ulyanov et al. [33] 的架构,如图 3 所示。这是一个带有分支的多尺度架构,这些分支在输入图像 x 的不同下采样版本上执行运算。每一个这样的分支都有零填充的卷积(zero-padded convolution)模块,其后还跟着线性修正(linear rectification)。这些分支再通过相差一倍的最近邻上采样(nearest-neighbor upsampling)和沿信道轴的级联(concatenation along the channel axis)组合起来。该网络最后的分支是以一个 1×1 卷积和 3 色信道结束的。
图 3:基于 Ulyanov et al. [33],我们的变换网络有一个多尺度的架构,支持不同分辨率的输入。 (责任编辑:本港台直播) |