显式控制GAN生成的合成图像
近年来,生成对抗网络(GAN)已经展示了从零开始合成逼真视觉图像的卓越能力。但是控制GAN输出的特定特征——例如光照条件或视角,或者人物是否微笑或皱眉——一直很困难。大多数方法依赖于对GAN参数空间的试错探索。最近一种控制合成人脸的方法涉及使用图形软件生成3D原型,这是一个繁琐的过程,控制有限且仅限于单一图像类别。
在今年的国际计算机视觉大会(ICCV)上,我们与某中心的杰出科学家Gérard Medioni共同提出了一种控制GAN输出的新方法,该方法允许对图像参数进行数值指定——例如视角或人物年龄——并且适用于各种图像类别。我们的方法在几项控制精度指标上优于其前身,但我们也在用户研究中对其进行了评估。用户发现使用我们的方法生成的图像比两个领先前身方法生成的图像更逼真,比例达到二比一。
潜在空间
GAN的训练设置涉及两个机器学习模型:生成器和判别器。生成器学习产生能够欺骗判别器的图像,而判别器学习区分合成图像和真实图像。
在训练过程中,模型学习一组学习到的图像参数上的概率分布(在StyleGAN系列模型中,有512个参数)。该分布描述了真实图像中出现的参数值范围。合成新图像就是从该分布中随机选择一个点并将其传递给生成器。
图像参数定义了一个潜在空间(在StyleGAN中为512维)。图像属性的变化——从高到低的相机角度、从年轻到年老的面孔、从左到右的光照等等——可能沿着空间的特定轴。但由于生成器是一个黑盒神经网络,空间的结构是未知的。
先前关于可控GAN的工作涉及探索空间以试图了解其结构。但该结构可能不规则,因此了解一个属性对了解其他属性帮助不大。而且属性可能纠缠在一起,因此更改一个属性也会更改其他属性。
最近的工作采用了一种更原则性的方法,其中生成器的输入指定了人脸图像的属性,并且生成器根据其输出与具有相同属性的3D图形模型的匹配程度进行评估。
然而,这种方法有一些局限性。一是它仅适用于人脸。二是它可能产生看起来合成的输出图像,因为生成器学习匹配合成训练目标的属性。最后,用图形模型很难捕捉更整体的属性,如一个人的年龄。
可控GAN
在我们的论文中,我们提出了一种控制GAN的方法,该方法仅需要数值输入,修改广泛的图像属性,并适用于各种图像类别。
首先,我们使用对比学习来构建潜在空间,使我们感兴趣的属性沿着不同的维度——也就是说,它们不会纠缠在一起。然后我们学习一组可以单独修改这些属性的控制器。
首先,我们选择一组我们希望控制的图像属性,并构建一个表示空间,使得该空间的每个维度对应于其中一个属性(上图中的Z)。然后我们在该空间中选择点对,这些点在一个维度上具有相同的值,但在其他维度上具有不同的值。
在训练期间,我们将这些点对通过一组全连接的神经网络层,这些层学习将我们构建的空间中的点映射到学习到的潜在空间中的点(图中的W)。学习空间中的点将作为我们生成器的控制器。
然后,除了标准的对抗损失(如果生成器未能欺骗判别器则惩罚生成器)之外,我们还计算一组额外的损失,每个属性一个。这些损失基于现成的模型,这些模型计算图像属性——年龄、表情、光照方向等。这些损失强制具有共享属性的图像在潜在空间中更接近,同时强制不共享属性的图像分开。
一旦我们训练了生成器,我们就在潜在空间中随机选择点,生成相应的图像,并测量它们的属性。然后我们训练一组新的控制器,这些控制器将测量到的属性作为输入,并输出潜在空间中相应的点。当这些控制器训练完成后,我们就有了一种将特定属性测量值映射到潜在空间点的方法。
评估
为了评估我们的方法,我们将其与之前两种使用3D图形模型训练人脸生成器的方法进行了比较。我们发现,使用我们的方法生成的人脸比使用早期方法生成的人脸更好地匹配输入参数。
我们还要求人类受试者对我们方法和两个基线方法产生的图像的逼真度进行评分。在67%的情况下,受试者认为我们的图像比任一基线都更自然。两个基线中较好的一个得分为22%。
最后,我们询问人类受试者是否同意或不同意我们生成的人脸表现出我们控制的属性。对于其中五个属性,同意率从87%到98%不等。在第六个属性——抬高的相机角度——同意率仅为约66%,但在低角度时,效果可能太微妙而无法辨别。
在这些评估中,我们必然限制自己生成人脸,因为这是唯一有强基线可用的领域。但我们也尝试了狗脸图像和合成绘画的图像,这两种图像先前的方法都无法处理。结果可以从下面的图像中判断:
![示例图像1] ![示例图像2] ![示例图像3]