目录

  • 摘要
  • 1 引言
  • 2 相关工作
    • 2.1 老化和去龄化
    • 2.2 生成对抗网络
  • 3 在流形上移动
  • 4 方法
    • 4.1 条件对抗自编码器
    • 4.2 目标函数
    • 4.3 作用于zzz的判别器
    • 4.4 作用于人脸图像的判别器
    • 4.5 与其他生成式模型的区别
  • 5 实验评估
    • 5.1 数据收集
    • 5.2 CAAE的实施
    • 5.3 定性与定量比较
    • 5.4 对姿势、表情和遮挡的容忍
  • 6 讨论与未来工作

这篇文章是对论文《Age Progress/Regression by Conditional Adversarial Autoencoder》的中文翻译,翻译内容仅代表个人理解。
论文地址:https://openaccess.thecvf.com/content_cvpr_2017/html/Zhang_Age_ProgressionRegression_by_CVPR_2017_paper.html
代码地址:https://github.com/ZZUTK/Face-Aging-CAAE

摘要

  现有的大多数人脸老化工作试图学习年龄组之间的转换,因此将需要配对样本以及标签查询图像。本文,从生成式模型的角度来看这个问题,这样就不需要成对的样本。此外,给定一张无标签的人脸图像,生成式模型可以直接生成带有期望年龄属性的人脸图像。提出了一种条件对抗自编码器(CAAE),它可以学习人脸流形(face manifold),在人脸流形上可以同时平滑地完成人脸老化/去龄化。在CAAE中,首先将人脸图像通过卷积编码器(convolution encoder)映射成隐向量(latent vector),然后隐向量经过反卷积生成器(deconvolution generator)被投影到人脸流形上。隐向量能够保留个性化的人脸特征,年龄条件能够控制人脸老化或去龄化。分别在编码器和生成器中施加两个对抗网络,用来强制生成更逼真的人脸图像。实验结果表明,与最新的框架和真实图像对比,提出的框架有良好的性能和灵活性。

1 引言

  人脸老化(预测未来的长相)和去龄化(估计过去的长相),也被称为面部衰老和年轻化,目的是使人脸图像具有或不具有“衰老”效果,但仍然保留人脸的个性化特征(即个性)。它在诸多应用上有着很大的影响,例如对通缉/失踪人员的人脸预测,跨年龄人脸验证(age-invariant verification),娱乐等。尽管这一问题本身具有极大的挑战性,但这一领域一直吸引着许多研究兴趣。大多数挑战来自于对训练和测试数据集的严格要求,以及人脸图像在表情、姿态、分辨率、光照和遮挡方面的巨大变化。对数据集的刚性要求是指现有的大多数工作都要求成对样本的可用性,即同一个人在不同年龄阶段的人脸图像,甚至有些工作需要较长年龄跨度的成对样本,这使得收集难度非常大。例如,最大的老化数据集“Morph”[12],只获取了平均时间跨度为164天的照片。此外,现有的工作也要求查询图片被标注真实年龄,这有时会不方便。给定训练数据,现有的工作通常将它们分成不同的年龄组,并且学习组之间的转换,因此,为了正确定位图像,查询图片必须被标注。
  尽管人脸老化和去龄化是同样重要的,但大多数工作都专注于人脸老化问题。很少有工作能达到很好的面部年轻化效果,尤其是从成人脸生成婴儿脸,因为它们主要是基于表面的建模,只能简单地去除给定图像的纹理[18,15,7]。另一方面,研究人员在人脸老化方面取得了很大的进展。例如,基于物理模型的方法[28,27,15,22]参数化模拟生物面部随年龄的变化,如肌肉、皱纹、皮肤等。然而,它们的建模复杂,需要足够的数据集来覆盖较长的时间跨度,并且计算成本昂贵;基于原型的方法[29,12,25,30]倾向于将训练数据分成不同的年龄组,并学习组间的转换。然而,有些可以保留个性,但会引起严重的伪像(ghosting artifacts),有些可以消除伪像,但会失去个性,而大多数工作放宽了长时间成对图像的要求,并且可以在相邻的两个年龄组之间学习衰老模式。尽管如此,它们仍然需要短时间内的成对样本。
  本文中,我们从生成式模型的角度来研究人脸老化/去龄化问题。生成对抗网络(GANs)的快速发展在人脸图像生成方面取得了令人印象深刻的结果[19,32,21,17]。在本文中,我们假设人脸图像位于高维流形上,如图1所示。给定一个查询人脸图像,我们可以在流形上找到对应的点(人脸图像)。沿着年龄变化的方向,我们将获得不同年龄的人脸图像,同时保留个性。我们提出了一种条件对抗自编码器(CAAE)网络来学习人脸流形。通过控制年龄条件,可以灵活地实现人脸老化和去龄化。由于在高维流形上难以直接操作,首先通过卷积编码器将人脸映射到一个隐向量,然后通过反卷积生成器将该向量根据年龄条件投影到人脸流形上。在编码器和生成器上分别施加两个对抗性网络,迫使生成更逼真的人脸。
  所提出的CAAE的好处可以从四个方面进行总结。首先,新的网络结构实现了人脸老化和去龄化,同时生成逼真的人脸图像。其次,我们偏离了流行的基于组的学习,因此在训练数据中不需要成对样本或在测试数据中标记人脸,使所提出的框架更加灵活和通用。第三,年龄和人格在潜在向量空间的解纠缠有助于在保留人格的同时避免伪像。最后,CAAE对姿态、表达和遮挡的变化是稳健的。

2 相关工作

2.1 老化和去龄化

  近年来,人脸老化的研究非常流行,研究方法主要分为两类,基于物理模型和基于原型。基于物理模型的方法对生物模式进行建模衰老的物理机制,比如肌肉[26],皱纹[23,27],面部结构[22,15]等。通过参数或非参数学习。然而,在为了更好地模拟微妙的衰老机制,它将需要具有长年龄跨度的大型面部数据集(例如,从0到80岁),这是非常困难的收集。此外,基于物理建模的方法计算昂贵。
  另一方面,基于原型的方法[1,12]经常将人脸按年龄进行分组,例如,每个组的平均脸作为其原型。然后,两个年龄组原型之间的差异被认为是老化模式。然而,由平均原型生成的衰老脸可能会失去个性(例如,皱纹)。为了保持个性,[25]提出了一种基于字典学习的方法——将每个年龄组的年龄模式学习到相应的子字典中。一张给定的脸将被分解为两部分:年龄模式和个性模式。通过子字典将年龄模式转换为目标年龄模式,然后将个性模式与目标年龄模式综合生成人脸。然而,这种方法会产生严重的伪像。基于深度学习的方法[30]代表了最先进的方法,其中RNN用于特征面系数的年龄模式转换。所有基于原型的方法都是基于组的学习,这需要测试面孔的真实年龄来定位转换状态,这可能不太方便。此外,这些方法只能提供从年轻面孔到年长面孔的年龄变化。为了实现灵活的双向年龄变化,它可能需要对模型进行反向再训练。
  去龄化,预测恢复活力的结果,相对来说更具挑战性。到目前为止,大多数去龄化工作[18,7]是基于物理模型的,其中纹理只是根据学习到的面部表面的转换去除。因此,他们无法实现逼真的婴儿脸预测结果。

2.2 生成对抗网络

  生成具有现实吸引力的图像仍然是一个挑战,直到生成对抗网络(GAN)的快速发展才取得了很大的成功。GAN最初的工作[8]介绍了一种新的训练生成模型的框架。它同时训练两个模型:1)生成模型GGG捕捉训练样本的分布并学习生成模仿训练的新样本,2)判别模型DDD对训练产生的样本进行判别。GGG和DDD使用min-max规则互相竞争,如1式,其中zzz表示从某分布p(z)p(\bf z \\)p(z)中随机抽样的向量(例如,高斯或均匀分布),数据分布为pdata(x)p_{data}(\bf x \\)pdata​(x),即训练数据xxx∼\sim∼pdata(x)p_{data}(\bf x \\)pdata​(x)。GGG和DDD两部分交替训练。

  GAN最大的问题之一是训练过程不稳定,生成的图像往往是嘈杂且不可理解的。例如DCGAN[21]分别采用反卷积和卷积神经网络实现GGG和DDD。同时也为如何构建稳定的GAN提供了经验指导,如用跨步卷积代替池化和使用批归一化。CGAN[20]通过向数据中输入条件变量(如类标签),将GAN从无监督学习修改为半监督学习。生成的图像分辨率低是GAN的另一个常见缺点[4,10]。将GAN转换为sequential GAN或pyramid GAN来处理这个问题,其中,图像是一步一步生成的,每一步利用上一步的信息来进一步提高图像质量。一些与GAN相关的工作展示了随机绘制人脸图像的视觉效果[31,19,32,21,17]。但是GAN是在随机噪声中生成图像,因此输出图像无法控制。这在人脸老化和中是不可取的,我们必须确保输出的面孔看起来像查询的同一个人。

3 在流形上移动

  我们假设人脸图像位于一个高维的流形上,在这个流形上沿着一定的方向移动可以实现人脸的老化/去龄化,同时保留个性。这一假设将在4.2节通过实验证明。然而,高维流形的建模复杂,难以直接对流形进行操作(移动)。因此,我们将学习流形和低维空间之间的映射,称为隐空间(latent space),它更容易操作。如图2所示,人脸x1x_1x1​和x1x_1x1​通过EEE(编码器)映射到隐空间,这个过程分别提取个人特征z1z_1z1​和z2z_2z2​。连接年龄标签l1l_1l1​和l2l_2l2​,隐空间中产生两个点,即[z1,l1][z_1,l_1][z1​,l1​]和[z2,l2][z_2,l_2][z2​,l2​]。注意,个性zzz和年龄lll在隐空间中是分开的,因此我们可以简单地修改年龄同时保留个性。从从红色矩形点[z2,l2][z_2, l_2][z2​,l2​](对应x2x_2x2​)开始,沿着年龄轴均匀双向步进(如红色箭头所示),我们可以获得一系列新的点(红色圆点)。通过另一个映射GGG(生成器),这些点被映射到流形M\mathcal{M}M上,生成一系列人脸图像,这些图像表示x2x_2x2​的人脸老化/去龄化。出于同样的原因,绿色的点和箭头显示了基于学习到的流形和映射的x1x_1x1​的人脸老化/去龄化。如果我们在隐空间中沿着虚线箭头移动点,个性和年龄都会发生变化,这在M\mathcal{M}M上有所体现。我们将学习映射EEE和GGG,以确保生成的人脸位于流形上,这表明生成的人脸对于给定的年龄是真实和可信的。

图2.在人脸流形M\mathcal{M}M上移动的说明,输入人脸x1x_1x1​和x2x_2x2​通过编码器EEE被编码为z1z_1z1​和z2z_2z2​,它们表示个性。连接随机年龄标签l1l_1l1​和l2l_2l2​,隐向量[z1,l1][z_1,l_1][z1​,l1​]和[z2,l2][z_2,l_2][z2​,l2​]被构建为矩形点。颜色表示个性一致。箭头和圆点分别表示移动的方向和步数。实心箭头表示沿着年龄轴移动,同时保留个性。虚线箭头表示同时在年龄和个性轴上移动。隐空间中的移动通过生成器GGG被映射到人脸流形M\mathcal{M}M上,如图所示的点和箭头用相应的标记和颜色。 M\mathcal{M}M上的每个点都是一张人脸图像,从而实现了人脸的老化和去龄化。

4 方法

  在本节中,我们首先介绍了所提出的条件对抗自编码器(CAAE)网络 (4.1节)学习人脸流形(4.2节)的过程。 CAAE合并了两个鉴别器网络,这是生成更逼真的人脸图像的关键。 4.3和4.4节分别证明了它们的有效性。 最后,4.5节讨论了提出的CAAE与其他生成式模型的区别。

4.1 条件对抗自编码器

  CAAE网络的详细结构如图3所示,输入输出人脸图像为128×128RGB图像,x∈R128×128×3x\in\mathbb{R}^{128×128×3}x∈R128×128×3。采用卷积神经网络作为编码器。使用池化(最大池化)代替步幅为2的卷积,因为步幅卷积是完全可微的并且允许网络学习它自己的空间下采样[21]。编码器的输出E(x)=zE(x)=zE(x)=z保留了输入人脸xxx的高级个人特征。输出的带有确定年龄条件的人脸图像可以表示为G(z,l)=x^G(z,l)=\hat{x}G(z,l)=x^,其中lll表示one-hot年龄标签。与现有的GAN相关的工作不同,我们加入了一个编码器,以避免zzz的随机采样,因为我们需要生成一张具有特定个性的脸,它包含在zzz中。此外,两个鉴别器网络分别部署在GGG和DDD中。DzD_zDz​正则化zzz使其服从均匀分布,这能够平滑年龄的变换。DimgD_imgDi​mg迫使GGG对任意的zzz和lll生成逼真可信的人脸图像。这两个鉴别器的有效性将分别在4.3和4.4节中进一步讨论。

图3.所提出的用于人脸老化/去龄化的CAAE网络。编码器EEE将输入人脸图像映射为一个向量zzz(个性)。将标签lll(年龄)连接到zzz,新的隐向量[z,l][z,l][z,l]被送入生成器GGG。编码器和生成器都是根据输入和输出人脸图像之间的L2L_2L2​损失函数来更新的。鉴别器DzD_zDz​将均匀分布施加于zzz上,鉴别器DimgD_{img}Dimg​强制输出人脸图像对于给定的年龄标签是逼真可信的。

4.2 目标函数

  假设真实的人脸图像位于人脸流形M\mathcal{M}M上,则输入人脸图像x∈Mx\in\mathcal{M}x∈M。编码器EEE把输入人脸xxx映射成一个隐向量,即E(x)=z∈RnE(x)=z\in\mathbb{R}^nE(x)=z∈Rn,其中nnn为人脸特征的尺寸。给定zzz,以年龄标签lll为条件,生成器GGG生成输出人脸图像x^=G(z,l)=G(E(x),l)\hat{x}=G(z,l)=G(E(x),l)x^=G(z,l)=G(E(x),l)。我们的目标是(在训练期间)确保输出人脸x^\hat{x}x^位于流形上,同时确保与输入的人脸xxx有相同的个性与年龄。因此,输入和输出的人脸应该类似于式2,其中L(⋅,⋅)\mathcal{L}(\cdot,\cdot)L(⋅,⋅)表示L2\mathrm{L}_2L2​范数。

同时,使用DzD_zDz​—zzz上的鉴别器,使得zzz服从均匀分布。我们将训练数据的分布表示为pdata(x)p_data(x)pd​ata(x),则zzz的分布为q(z∣x)q({\bf z}\mid{\bf x})q(z∣x)。假设p(z)p(\bf z)p(z)是一个先验分布,且z∗z^*z∗∼\sim∼p(z)p(\bf z)p(z)表示来自p(z)p(\bf z)p(z)的随机采样过程。一个min-max目标函数可以被用来训练EEE和DzD_zDz​,

同样地,在条件lll下,对人脸图像的鉴别器Dimg和GD_img和GDi​mg和G可以通过以下式子进行训练

最终目标函数表示为

其中,TV(⋅)TV(\cdot)TV(⋅)表示有效去除伪像的总体变异量。系数λ\lambdaλ和γ\gammaγ能够平衡图像的平滑度和高分辨率。
  请注意,年龄标签被调整大小并连接到DimgD_imgDi​mg的第一个卷积层,使其对年龄和人脸都具有区别性。按照公式2、3、4依次更新网络,我们就可以学习流形,如图4所示。

图4.学习到的人脸流形的示意图,横轴表示年龄的转移,纵轴表示不同的个性

4.3 作用于zzz的判别器

  作用于zzz的判别器用DzD_zDz​表示,对zzz强加一个先验分布(即均匀分布)。DzD_zDz​的目的是鉴别由编码器EEE生成的zzz。同时,EEE被训练以生成能够欺骗DzD_zDz​的zzz。这种对抗的过程能够迫使zzz的分布逐渐接近先验。我们使用均匀分布作为先验,迫使zzz均匀地填充没有明显“洞”的隐空间。如图5所示,生成的zzz(由二维空间中的蓝点表示)在DzD_zDz​正则化下呈现均匀分布,而如果不考虑DzD_zDz​,则zzz的分布呈现“空洞”。“洞”的显示,表明通过插值任意DzD_zDz​之间生成的人脸图像可能不会出现在人脸流形上,即生成不现实的人脸。例如,给定如图5所示的两张人脸图像x1x_1x1​和x2x_2x2​,我们在使用和不使用DzD_zDz​的情况下,通过EEE分别生成相应的z1z_1z1​和z2z_2z2​。在z1z_1z1​和z2z_2z2​之间插值(图5虚线箭头),期望生成的人脸呈现出从x1x_1x1​到x2x_2x2​的真实平滑的变形(图5底部)。然而,没有DzD_zDz​的变换实际上在中间呈现出失真的(不现实的)人脸(用虚线框表示),这对应于插值后的zzz穿过“洞”。

图5.DzD_zDz​的作用,它能迫使zzz服从均匀分布。简单起见,zzz在2-D空间进行说明。蓝点表示通过编码器从训练人脸图像到zzz的映射。存在DzD_zDz​,zzz的分布接近均匀。否则,zzz将呈现“空洞”。矩形点表示从输入人脸x1x_1x1​和x2x_2x2​映射的对应的zzz,虚线箭头表示从z1z_1z1​移动到z2z_2z2​。沿着移动路线的中间点将生成从x1x_1x1​到x2x_2x2​的一系列可信的变形人脸。如果没有DzD_zDz​,学习到的zzz在移动路径上呈现稀疏分布,导致生成的人脸看起来不真实。底部的一系列图形显示了带DzD_zDz​和不带DzD_zDz​的移动。

4.4 作用于人脸图像的判别器

  继承了GAN的相似原理,作用于人脸图像的判别器DimgD_{img}Dimg​强制生成器生成更逼真的人脸图像。此外,年龄标签强加于DimgD_{img}Dimg​,使其能够对以年龄为条件的不自然面孔具有识别力。尽管最小化输入和输出图像之间的距离,如式2所示,能够迫使输出的人脸图像接近真实,但是式2不能确保框架从那些未采样的人脸生成可信的人脸。例如,给定一张在训练中看不见的脸和一个随机的年龄标签,像素级的损失只能使框架以插值的方式生成一张接近训练的脸,导致生成的脸非常模糊。DimgD_{img}Dimg​将生成的人脸与真实人脸在真实性、年龄、分辨率等方面进行区分。图6展示了DimgD_{img}Dimg​的效果。
  对比使用和不使用DimgD_{img}Dimg​生成的人脸,可以明显看出DimgD_{img}Dimg​帮助框架生成了更真实的人脸。没有DimgD_{img}Dimg​的输出也会出现老化,但效果不如有DimgD_{img}Dimg​的输出明显,因为DimgD_{img}Dimg​可以增强纹理,尤其是对年纪大的人脸。

图6.DimgD_{img}Dimg​的效果,这使得生成的人脸在年龄和分辨率方面更加真实。第一列显示的是原始人脸,他们的真实年龄标记在顶部。右边的四列是通过提出的框架生成的人脸,上面一行没有DimgD_{img}Dimg​,下面一行有DimgD_{img}Dimg​。生成的面孔在每一列的顶部显示为四个年龄段。

4.5 与其他生成式模型的区别

  在本节中,我们讨论了所提出的CAAE与GAN[8]、变分自编码器(VAE)[14]和对抗性自编码器(AAE)[19]等生成网络的相似性和差异性。
  VAE vs. GAN:VAE使用识别网络来预测潜在变量的后验分布,而GAN采用对抗性训练过程,通过反向传播[19]直接塑造网络的输出分布。由于VAE采用编码解码方案,我们可以直接将生成的图像与输入的图像进行比较 ,使用GAN无法做到。VAE的缺点是它在图像生成中使用均方误差而不是对抗网络,因此它往往产生更模糊的图像[16]。
  AAE vs. GAN和VAE:AAE可以看作是GAN和VAE的结合,它像GAN一样保持了自编码器网络,但用对抗网络取代了KL-divergence损失。与GAN从随机噪声生成图像不同,AAE利用编码器部分来学习近似于某些先验的隐变量,从而使生成的图像的风格可控。此外,与VAE相比,AAE能够更好地捕捉数据流形。
  CAAE vs. AAE:提出的CAAE更类似于AAE。与AAE的主要区别在于CAAE在编码器和生成器上分别加了鉴别器。编码器上的鉴别器保证隐空间的平滑过渡,生成器上的鉴别器帮助生成逼真的人脸图像。因此,CAAE会比4.4节讨论的AAE生成更高质量的图像。

5 实验评估

  本节中,我们首先阐明数据收集的过程(5.1节)并介绍CAAE的实施(5.2节)。然后,在5.3节中和之前的工作以及真实图像进行定性和定量的比较。最后,对遮挡的容忍以及姿态和表情的变化在5.4节说明。

5.1 数据收集

  我们首先从Morph数据集[12]和CACD数据集[2]收集人脸图像。Morph数据集是最大的,每个人有多个年龄,包含13000个对象从16岁到77岁的55000张图片。CACD数据集包含2000个对象的13446张图片。因为两个数据集在新生儿和老年人的人脸图像上是很有限的,我们基于关键词,例如,婴儿,男孩,青少年,15岁等,从Bing和Google上抓取图片。因为提出的方法不需要来自同一人的多个人脸图像,我们简单地从Morph和CACD数据集中随机选择大约3000张图片,从网站抓取7670张图片。抓取的人脸图片的年龄和性别基于图片标题或是年龄估计器[24]的结果进行估计。我们将年龄分成十类,即0-5,6-10,11-15,16-20,21-30,31-40,51-60,61-70和71-80。因此,我们可以在训练过程中,使用一个包含十个元素的独热向量来表示每张人脸的年龄。最终是数据集包含10670张人脸图片,它们在性别和年龄上是均匀分布的。我们使用68个特征点[11,5]的人脸检测算法来裁剪和对齐人脸,使训练更容易实现。

5.2 CAAE的实施

  我们根据图3构建网络,卷积核大小为5×55×55×5。输入图片的像素值被归一化到[−1,1][-1,1][−1,1],通过双曲正切激活函数将EEE的输出(zzz)也限制在[−1,1][-1,1][−1,1]。然后,将期望的年龄标签,即独热向量连接到zzz,构造GGG的输入。为了实现公平的连接,标签的元素也被限制为[−1,1][-1,1][−1,1],其中-1对应0。最后,输出的范围通过双阙正切函数后也在[−1,1][-1,1][−1,1]。将输入归一化可以使训练过程更快地收敛。请注意,我们不会对EEE和GGG使用批处理归一化,因为它模糊了个人特征,并使输出人脸在测试中远离输入。然而,如果将批处理归一化应用于DimgD_{img}Dimg​,则会使框架更加稳定。每个模块(EEE、GGG、DzD_zDz​和DimgD_{img}Dimg​)的所有中间层都使用ReLU\mathrm{ReLU}ReLU激活函数。
  在训练中,λ=100\lambda=100λ=100,γ=10\gamma=10γ=10,通过随机梯度下降求解器,ADAM\mathrm{ADAM}ADAM(α=0.002,β1=0.5\alpha=0.002,\beta_1=0.5α=0.002,β1​=0.5)[13]交替更新4个模块,小批量大小为100。人脸和年龄成对被输入网络。经过大约50个epoch后,可以得到可信的生成的人脸。在测试期间,只有EEE和GGG是激活的。给定一个没有真实年龄标签的输入人脸,EEE将图像映射到zzz。将任意年龄标签连接到zzz, GGG将会生成一个对应年龄和个性的逼真的人脸。

图7. 与以往人脸老化研究的比较。第一列是输入的人脸,第二列是引用自先前工作的最佳老化人脸。其余的列是我们的年龄增长和倒退的结果。红框表示与先前的工作比较的结果。

5.3 定性与定量比较

  为了评价所提出的CAAE能够产生更逼真的结果,我们将我们的结果与真实图像以及先前工作的最佳结果[30,12,25,27]进行了比较。我们选择FGNET[15]作为测试数据集,共有82名受试者的1002张图像,年龄在0 - 69岁之间。
  与真实图像作比较:为了验证所提出的CAAE是否保留了个性,我们将生成的人脸与真实情况进行定性和定量的比较。定性比较如图8所示,显示了吸引人的相似性。为了定量评价性能,我们将生成的人脸与年龄差距大于20岁的真实人脸进行配对。一共有856对。我们设计了一个调查来比较相似性,有63名志愿者参与。每个志愿者都有三张图片,一张是原始图片X\mathrm{X}X,一张是生成的图片A\mathrm{A}A,另一张是对应的真实图像B\mathrm{B}B。他们被问及生成的图像A\mathrm{A}A是否看起来与真实图像B\mathrm{B}B相似;或不确定。我们让志愿者随机选择45个问题,其余的不选择。我们总共获得了3208票,其中48.38%表明生成的图像A\mathrm{A}A与真是图像是同一个人,29.58%的人表示不确定,22.04%的人表示不确定。投票结果表明,我们可以有效地生成逼真的人脸。
  与之前的工作比较:我们将我们的方法与之前的一些工作[29,11,24,26]的性能进行比较,关于人脸老化和使用人脸变形(Face Transformer,FT)[6]的人脸去龄化。为了展现CAAE的优点,我们使用从先前的工作中收集的相同的输入图像,并进行长年龄跨度的人脸老化。为了和先前工作作比较,我们引用了他们的结果,如图7所示。我们还使用FT样本[6]与去龄化工作进行比较,如图9所示。我们的结果显示了更高的保真度,显示了CAAE实现平滑面部衰老和年轻化的能力。即使年龄跨度较长,CAAE也能更好地保留个性。此外,我们的结果提供了更丰富的纹理(例如,皱纹的较老的人脸),使年老人脸看起来更真实。另一项调查是对与之前的作品相比的表现进行统计评估,对于每一张测试图像,志愿者会从CAAE或之前的工作中选择更好的结果,或者很难判断。我们从之前的作品[30,12,25,27]中收集了79名受试者的235张成对图像。我们得到47个回复,1508票,其中52.77%的人认为CAAE较好,28.99%的人认为之前的工作较好,18.24%的人认为两者相当。该结果进一步验证了该CAAE的优越性能。

图9.与之前的去龄化工作对比。第一行显示输入人脸,中间一行显示FT[6]生成的婴儿人脸,最后一行显示我们的结果。

5.4 对姿势、表情和遮挡的容忍

  如上所述,输入图像在姿态、表情、遮挡等方面有很大的变化。为了证明CAAE的鲁棒性,我们分别选择了具有表情变化、非正面姿态和遮挡的人脸 ,如图10所示。值得注意的是,以往的研究[30,12]往往采用面部归一化来缓解姿态和表情的变化,但仍可能存在遮挡问题。与此相反,提出的CAAE不需要消除这些变化就能获得生成的人脸,为在实际应用中获得鲁棒性能铺平了道路。

图10.对姿势和表情的遮挡和变化的容忍。最左边的列显示输入人脸,而右边的列是CAAE生成的人脸,从年轻的到年长的。第一个输入的人脸呈现出相对更戏剧性的表情,第二个输入只显示出人脸的轮廓,最后一个输入的人脸部分被面部标记遮挡。

6 讨论与未来工作

  在本文中,我们提出了一种新的条件对抗性自编码器(CAAE),首次通过一个整体框架实现了人脸老化和去龄化。我们通过学习一个流形,脱离了常规的基于组的训练,使人脸老化/去龄化更加灵活和可操作——从一个不知道真实年龄的任意查询人脸,我们可以自由生成不同年龄的人脸,同时保留个性。我们演示了在生成器和编码器上分别加两个鉴别器,框架生成更逼真的人脸。CAAE的灵活性、有效性和鲁棒性已通过广泛的评价得到验证。
  该框架有很大的潜力作为面部年龄相关任务的一般框架。更具体地说,我们训练了四个子网络,即EEE、GGG、DzD_zDz​和DimgD_{img}Dimg​,但在测试阶段只使用EEE和GGG。DimgD_{img}Dimg​的训练是有年龄限制的。因此,它能够判断给定的人脸是否对应于某个年龄,这正是年龄估计的任务。编码器的EEE,它将人脸映射到一个隐向量(人脸特征),该向量可以保留年龄无关的个性。因此,EEE可以被认为是跨年龄识别的候选者。该框架可以很容易地应用到其他图像生成任务中,通过条件标签控制生成图像的特征。在未来,我们将扩展目前的工作,成为一个通用框架,同时实现人脸老化(EEE和GGG),跨年龄识别(EEE),面部变形(GGG)和年龄估计(DimgD_{img}Dimg​)。

【文献阅读】Age Progress/Regression by Conditional Adversarial Autoencoder 基于条件对抗自编码器(CAAE)的老化/去龄化方案相关推荐

  1. CVPR2017/图像翻译:Image-to-Image Translation with Conditional Adversarial Networks基于条件对抗网络的图像到图像的翻译

    CVPR2017/图像翻译:Image-to-Image Translation with Conditional Adversarial Networks基于条件对抗网络的图像到图像的翻译 0.摘要 ...

  2. 【文献阅读12】:稀疏ReRAM引擎:基于ReRAM的高效稀疏神经网络加速架构

    梳理部分基于RRAM的稀疏神经网络加速器 文章目录 1. SNrrm 摘要 引言 相关工作 RRAM中的稀疏性利用 权重稀疏 稀疏激活利用 架构设计 SNrram 部署等 2. SRE RRAM加速器 ...

  3. Image-to-Image Translation with Conditional Adversarial Networks 论文翻译

    基于条件对抗网络的图像转换 源论文标题:Image-to-Image Translation with Conditional Adversarial Networks 源论文链接:https://p ...

  4. 条件随机场(Conditional random fields,CRFs)文献阅读指南

    与最大熵模型相似,条件随机场(Conditional random fields,CRFs)是一种机器学习模型,在自然语言处理的许多领域(如词性标注.中文分词.命名实体识别等)都有比较好的应用效果.条 ...

  5. 文献阅读(70)NIPS2014-Generative Adversarial Nets

    本文是对<Generative Adversarial Nets>一文的总结,如有侵权即刻删除. 更多相关文章,请移步: 文献阅读总结:计算机视觉 文章目录 Title 总结 1 模型 2 ...

  6. Generative Adversarial Networks: An Overview文献阅读笔记

    Generative Adversarial Networks: An Overview笔记 Abstract Generative adversarial networks (GANs) provi ...

  7. 文献阅读十——Detect Rumors on Twitter by Promoting Information Campaigns with Generative Adversarial Learn

    系列文章目录 谣言检测文献阅读一-A Review on Rumour Prediction and Veracity Assessment in Online Social Network 谣言检测 ...

  8. 文献阅读_Document-Level Event Argument Extraction by Conditional Generation

    前言 小白读论文 文献阅读汇总 Proceedings of the 2021 Conference of the North American Chapter of the Association ...

  9. 基于GAN模型的生成人脸重构、返老还童、看见前世今生(Age Progression/Regression)

    基于GAN模型的生成人脸重构.返老还童.看见前世今生(Age Progression/Regression) 看见前世今生(Age Progression/Regression) GAN的优势是直接可 ...

最新文章

  1. 代码段、数据段、bss段
  2. ASP.NET常被忽视的一些细节
  3. oracle linux vs centos我们选择谁
  4. 十一届蓝桥杯国赛 美丽的2-枚举
  5. MS SQL 2000 分配权限
  6. php页面的特点_带你认识PHP的四大特性八大优势
  7. springMVC异常处理器:自定义异常处理器捕获系统异常,控制异常页面跳转
  8. 重庆大学软件工程导论总结
  9. 计算机组成原理实验:基本运算器实验
  10. jpeg 与 png 图片格式的区别
  11. MTK65XX平台充电调试总结 (转载)
  12. Codeforces Round #644 (Div. 3) F.Spy-string
  13. SQL ZOO 练习 —— Old JOIN Tutorial
  14. MSP430F5529-串口介绍
  15. 孙陶然:当机会降临到你头上时你必须去把握
  16. 工业互联网的前世今生 | 初探工业互联网
  17. 91-0001 QuickLook在Everything中失效
  18. Linux部署Python项目(持续更新中)
  19. 伍尔特IT公司利用SNP软件实现SAP系统现代化
  20. 增强型热图绘制R(superheat, heatmap.2, pheatmap)

热门文章

  1. 8位并行左移串行转换电路_三菱plc试题及答案
  2. word中给字体加上底纹
  3. 半包、全包、套餐、整装该如何选择?
  4. ubuntu 共享ADSL上网
  5. Microsoft Patterns Practices
  6. eac found not rust_rust进服务器卡eac | 手游网游页游攻略大全
  7. 据说是史上最强的学习C语言的路线
  8. error lnk2001: mysql_LNK2001: 无法解析的外部符号的几种情况
  9. js 判断大于等于0的正数和正整数
  10. cad计算机面积和周长,cad怎么算面积和周长 cad算面积和周长方法