GAN生成图像的显式控制技术解析

56 阅读4分钟

显式控制GAN生成的合成图像

近年来,生成对抗网络(GANs)已展现出从零开始合成逼真视觉图像的卓越能力。但控制GAN输出的特定特征——例如光照条件、视角,或人物是否微笑——一直很困难。大多数方法依赖于对GAN参数空间的试错探索。最近一种控制合成人脸的方法涉及使用图形软件生成3D原型,这个过程繁琐且控制有限,仅适用于单一图像类别。

在今年的国际计算机视觉大会(ICCV)上,我们与某机构的杰出科学家共同提出了一种控制GAN输出的新方法,允许数值化指定图像参数——例如视角或人物年龄——并适用于多种图像类别。

潜在空间

GAN的训练设置涉及两个机器学习模型:生成器和判别器。生成器学习产生能够欺骗判别器的图像,而判别器学习区分合成图像与真实图像。

在训练过程中,模型学习一组学习到的图像参数上的概率分布(在StyleGAN系列模型中,有512个参数)。该分布描述了真实图像中出现的参数值范围。合成新图像就是从该分布中随机选择一个点并将其传递给生成器。

图像参数定义了一个潜在空间(在StyleGAN中为512维)。图像属性的变化——从高到低的相机角度、从年轻到年老的面孔、从左到右的光照等——可能沿着空间的特定轴分布。但由于生成器是一个黑盒神经网络,空间的结构是未知的。

显式可控的GANs

在我们的论文中,我们提出了一种控制GAN的方法,该方法仅需要数值输入,可修改广泛的图像属性,并适用于多种图像类别。

首先,我们使用对比学习来构建潜在空间,使我们感兴趣的属性沿着不同的维度分布——也就是说,它们不会纠缠在一起。然后我们学习一组可以单独修改这些属性的控制器。

开始时,我们选择一组希望控制的图像属性,并构建一个表示空间,使得该空间的每个维度对应一个属性。然后我们选择在该空间中具有一个维度相同值但其他维度不同值的点对。

在训练期间,我们通过这些点对通过一组全连接的神经网络层,这些层学习将我们构建的空间中的点映射到学习到的潜在空间中的点。学习空间中的点将作为我们生成器的控制器。

然后,除了标准的对抗损失(如果生成器未能欺骗判别器则惩罚生成器)之外,我们还计算一组额外的损失,每个属性一个。这些损失基于现成的模型,这些模型计算图像属性——年龄、表情、光照方向等。这些损失迫使共享属性的图像在潜在空间中更接近,同时迫使不共享属性的图像分开。

评估

为了评估我们的方法,我们将其与之前两种使用3D图形模型训练人脸生成器的方法进行了比较。我们发现,使用我们的方法生成的人脸比使用早期方法生成的人脸更匹配输入参数。

我们还请人类受试者评估我们的方法和两个基线方法产生的图像的真实性。在67%的情况下,受试者认为我们的图像比任一基线更自然。两个基线中较好的一个得分仅为22%。

最后,我们请人类受试者回答是否同意我们生成的人脸展示了我们控制的属性。对于其中五个属性,同意率从87%到98%不等。在第六个属性——抬高的相机角度——同意率仅为约66%,但在低角度时,效果可能太微妙而难以辨别。

在这些评估中,我们必然限制自己生成人脸,因为这是唯一有强基线可用的领域。但我们也尝试了狗脸和合成绘画的图像,这两种情况先前的方法都无法处理。