Yiwen Liao作者Hao Wang编辑

不管你是笑是哭看哪里,这个神经网络都能让你面无表情

谷歌、马萨诸塞大学安姆斯特分校和麻省理工学院的研究者提出了一种基于卷积神经网络的人脸图像合成方法,可用各种光照、姿势和表情的照片合成中性表情的正脸图像。

论文地址:https://arxiv.org/abs/1701.04851

1.引言

这篇论文提出了一种方法,可根据给定的输入人脸照片合成该人的正面的中性表情图像。这种方法是通过使用人脸识别网络提取出的特征来学习生成人脸特征标识和纹理。

新提出的方法在很大程度上不受原输入图像的光照、姿势和面部表情的影响,因为解码器网络是仅使用正面的中性表情的照片训练的。

输出的图像有很多应用场景,比如分析面部属性、调整曝光和白平衡、创建 3D 头像等。

图注:使用一个人脸识别网络将输入照片(顶行)编码成 1024 维特征向量,然后使用我们的解码器网络将其解码成人脸图像(中行)。编码器网络不受姿势、光照和表情影响的性质能让解码器得到规范化的人脸图像。所得到的图像可以轻松地拟合成 3D 模型(下行)。该方法甚至可以基于黑白照片和人脸画像实现可信的人脸重建。

2 方法

2.1 预处理

假设:训练集是一组正脸的中性表情的训练图像。

使用现成可用的特征点检测工具和 warping 技术将每张图像分解成一种纹理 T 和一组特征标识 L。

2.2 编码器

使用一个参数固定的预训练 FaceNet 来从输入图像 I 中提取 F 维的特征向量 F。这个项目使用了 FaceNet 的最低层的输出,它不会随空间变化,具有 1024 个维度。在这层之上还训练了一个从 1024 到 f 维的全连接层。

2.3 解码器

特征 F 分别与特征标识 L 和纹理 T 进行映射,最后的结果使用 warping 进行渲染。

L 是使用浅的多层感知器,通过将 ReLU 施加于 F 上生成的。T 是使用一个深度 CNN 生成的。解码器通过可微分的 warping 技术将纹理和特征标识结合到一起。

2.4 训练损失

  1. 第一项惩罚所预测的特征标识和基本真值特征标识之间的均方误差。
  2. 第二项惩罚所预测的纹理和基本真值纹理之间的平均绝对误差。
  3. 第三项使用负余弦相似度惩罚输入和输出图像的 FaceNet 嵌入之间的不相似度。

图注:训练计算图:每条虚线都连接了损失函数中作比较的两项。纹理使用平均绝对误差进行比较,特征标识使用均方误差进行比较,FaceNet 嵌入则使用了负余弦相似度。

3 技巧

可微分的图像 warping

首先,使用样条插值根据在参考点定义的稀疏未定点构建一个密集的流场。

然后,使用可微分的双线性插值将该流场应用到 I0(原来的图像)上,进而得到 I1(扭曲后的图像)。

可微分的样条插值

这个项目使用了多调和插值(polyharmonic interpolation)。选择线性插值的原因是其比薄板样条(thin-plate spline)对过调(overshooting)问题更稳健,而且在最后的纹理中线性化的伪影难以检测。

基于变形的数据增强

产生随机人脸变形:给定一张种子人脸 A,研究者首先通过从 A 的 k=200 最近邻中随机选出一个作为目标人脸。给定 A 和随机近邻 B,它们的特征标识和纹理分别独立进行线性插值,其中的插值权重从 [0,1] 区间均匀取出。

梯度域合成:为了使增强后的图像更有真实感,他们使用一种梯度域编辑技术将变形后的人脸粘贴在了原来的背景上。

4 实验和结果

4.1 收集照片

这个项目从 VGG Face 数据集选择了大约 12000 张图像作为训练数据集。这些图像经过了对齐处理,以撤销各种滚动变换,并且还进行了缩放,将双眼之间的距离控制在了 55 个像素,然后这些图像被裁剪成了 224×224 像素大小。每一个人都有多张图像。所以数据集中最终有大约 1000 个不同的人,每个人都有 3 张或更多图像。每个人的所有图像都通过变形进行了平均。某些具有高噪声的背景被以人工的方式移除了。测试数据集来自 Wild 数据集。

4.2 模型稳健性

人脸的形状和肤色在姿势和照明强度不同时是稳定的,但输出图像中会出现不同的发型和发色。

图注:尽管该模型仅使用了自然图像进行训练,但在应用于不清晰的照片和光照不好的照片时,该模型也能稳健地进行处理。第 1 列:输入图像;第 2 列:生成的 2D 图像;第 3 和 4 列:两个不同角度的 3D 重建图像

4.3 应用

3D 模型拟合:这个拟合过程可以得到很好对齐的 3D 人脸网格,可被直接用作 3D 虚拟现实头像或者用作进一步处理的初始步骤,比如用在视频中跟踪人脸几何特征。

自动照片调整:该算法能够平衡人脸,无论其对图像其它区域的影响如何,能够根据同一个人的不同照片得到更加一致性的结果。

5 结论

5.1 优点

  1. 这个项目使用了卷积神经网络,能够稳健地应对输入中的变化,比如光照、姿势和表情。
  2. 这个方法能提供各种下平衡的图像和自定义的 3D 头像。
  3. 神经网络中使用了样条插值作为微分模块,这是一种全新的想法。结果有助于这一技术的进一步应用。

5.2 未来研究

  1. 生成的图像的整体质量还有进一步提升的空间。
  2. 噪声伪影仍然很多,尤其是在背景中。该模型可以在更加广泛的图像上进行训练,以全面规避像素层面的损失。

6 分析师简评

这篇论文提出的方法可能在逻辑上是有效的。该方法使用了卷积神经网络以使整个模型能稳健应对光照、姿势和面部细节的变化,这是与之前的正脸化方法之间的关键差异,但同时这也会在输出图像的背景中产生更多噪声。这种方法使用了特征标识和样条插值来使结果更具真实感。但相比于之前的方法,这种方法究竟能为后续任务带来多少改善?这一点还没有得到充分的证明或展现。

这篇论文可能存在的问题

  1. 从 FaceNet 特征向量到人脸图像的映射的限定条件太少。研究者认为从特征向量到“规范化”人脸图像的映射在直观上看是一对一的,但这篇论文没有给出数学证明。
  2. 这个神经网络中有三个损失项。研究者仅比较了“有 FaceNet 损失”和“无 FaceNet 损失”的结果,但没有提及“特征标识损失”的必要性。
  3. 在评估这个项目所生成的结果上还缺乏一个更客观的指标。这篇论文给出的方法是在这些条件上从视觉上看优于之前的正脸化方法,这个评估方式是主观的。
  4. 正脸化方法通常用于预处理人脸图像,以使后续的任务(比如 3D 模型拟合)更高效更准确。但这篇论文没有充分提及使用这种方法能为后续任务带来多少提升。
技术分析图像合成神经网络
1
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

多层感知机技术

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

虚拟现实技术

虚拟现实,简称虚拟技术,也称虚拟环境,是利用电脑模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以及时、没有限制地观察三维空间内的事物。用户进行位置移动时,电脑可以立即进行复杂的运算,将精确的三维世界视频传回产生临场感。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

推荐文章
暂无评论
暂无评论~