目录
1. StarGAN v1及其局限性
StarGan v1提出的模型使用单个生成器来学习多个图像域之间的映射转换。生成器将域标签编码作为附加输入,并学习将图像转换到相应的域。然而,StarGan v1学习的是每个领域的确定性映射。因此,在给定源图像以及目标图像域的标签编码的情况下,它不可避免地为每个域产生相似的输出。如图1,虽然进行的是不同图像域的转换,但是生成的人脸都是极为相似的,显然缺少了生成图像的多样性。
图1 starGAN v1生成效果
2. StarGAN v2
图2 StarGAN v2生成效果
如图2为StarGAN v2的效果,生成图像的多样性明显得到了提升。女性域的图像转男性域的结果,虽然输入的是相同的一张女性图像但是可以得到三张不同风格的男性图像,并且即使目标域仍然是女性,也能生成多种不同风格的图像。
图3 StarGAN v1过程图
StarGAN v2在结构中做出的主要改变就是将StarGAN v1中只用来指明图像生成的目标域的标签编码换成了包含信息更多的风格编码,其余过程和StarGAN v1都是一致的,StarGAN v1过程如图3。为了生成风格编码,StarGAN v2加入了两种结构,分别是映射网络和风格编码器。StarGAN v2添加的结构如图4。
图4 StarGAN v2生成器、映射网络、风格编码器
2.1 映射网络
映射网络的输入是一个随机采样的噪声向量,在输入的过程中会指定目标域也就是在目标域当中随机采样一张图像和噪声向量一起放到网络当中得到目标域的风格编码,之后将风格编码和源图像放入生成器,生成器就会生成目标域的从源图像转换过来的图像。至于图像的多样性,则是通过随机采样的噪声向量来实现的,因为每次交给映射网络的噪声向量都是不同的,从而生成的风格编码也不同,最终使得每次生成器生成的目标域的图像风格都不同。图2就是将映射网络生成的风格编码放入生成器当中得到的目标域的生成图像的效果。
2.2 风格编码器
风格编码器的输入是将一张目标域的图像放入网络中从而得到它的风格编码,该风格编码也是一样可以与源图像一起放入生成器从而生成相应的目标域的图像。但是有一点与映射网络不同,因为风格编码器生成的风格编码是由单张图像生成的,所以该风格编码包含了很多该图像的信息,从而导致通过该风格编码和源图像生成的目标域图像达到了一种换脸的效果。
图5 StarGAN v2生成效果
如图5,这里的Reference就是放入风格编码器中的图像,得到References的风格编码后将其和Source的源图像一起放入生成器即可生成这种具有换脸效果的图像。
3. 损失函数
在损失函数中使用到的风格编码s ̃是提前由映射网络F指定目标域y ̃生成的。
3.1 对抗性损失
对抗损失每个GAN网络中都会有的损失,用于训练生成器以及判别器。
3.2 风格重建损失
风格重建损失用于训练风格编码器以及映射网络,首先通过映射网络得到目标域y ̃的风格编码s ̃,将s ̃以及源图像x输入到生成器当中得到目标域图像,再将生成的目标域图像放到风格编码器E当中得到新的风格编码,将s ̃和新得到的风格编码做L1范式。通过训练希望这里的值越小越好。
3.3 风格多样性损失
这里的风格编码s ̃1和风格编码s ̃2是提前由映射网络F指定目标域y ̃生成的两个风格编码,当然这两个风格编码是输入不同的噪声向量得到的。将两个风格编码分别和源图像x输入到生成器当中分别生成一张目标域的图像,然后将两张图像做一个L1范式使得两张图像进行逐像素的比较,当然希望这里的函数越大越好,损失函数越大就代表通过不同的风格编码生成的图像之间差别越大, StarGAN v2的这种生成图像的多样性也就越好。从下面总体的损失函数也可以看出,风格多样性损失前的参数是负值。
3.4 保留源特征损失
保留源特征损失和CycLeGAN模型中的循环一致性损失的思想很类似,首先通过将风格编码s ̃和源图像x输入到生成器中得到目标域y ̃的生成图像,再将生成图像和源图像域的风格编码s ̂输入到生成器当中得到生成的源域图像,再将最初的源图像x和生成的源域图像做一个L1范式得到损失,当然也希望这个损失越小越好,损失越小,就代表最终生成的图像中保留到源图像的内容就越多。这个转换过程大概就是源域->目标域->源域。
总的损失函数如下:
4.实验
4.1 各个组件分析
作者首先以StarGAN v1作为基础,在此之上加上各种组件最终达到StarGAN v2的成体,在此过程中比较了StarGAN v1加上了各种组件的效果。如下图6及图7。
图6 加上各组件效果图
图7 各组件定量分析表
F方法也就是StarGAN v2的效果是最好的,这里的定量分析涉及到两个指标,第一个FID是用来衡量输入图像和生成图像分布之间的差异,数值越小越好,第二个LPIPS用来衡量图像之间的色块相似度,数值越大越好。
4.2 单独使用映射网络
作者的第二个实验就是单独使用映射网络来生成风格编码,然后和一些方法的效果进行比较。这里除了使用了人脸数据集CelebA-HQ数据集,还用到了AFHQ动物数据集。动物数据集不同于人脸数据集,它只有三个图像域分别是猫、狗以及野生动物。定性分析结果如下图8。对于CelebA-HQ数据集,StarGAN v2方法合成的图像与基线模型相比具有更高的视觉质量。此外,StarGAN v2是唯一可以成功改变源图像的整个头发样式的模型。对于变化较大的AFHQ,基线的性能会有很大的下降,但是StarGAN v2仍然可以生成质量高、风格多样的图像。
图8 映射网络生成效果
在定量分析中StarGAN v2也远远优于前几种方法。
图9 映射网络生成效果定量分析
4.3 单独使用风格编码器
作者的第三个实验就是单独使用风格编码器生成风格编码用于生成图像,然后和其它方法生成图像的效果进行对比。如图10对于CelebA-HQ数据集,StarGAN v2呈现出的效果非常不错,而其它基线方法大多都只是与参考图像的颜色分布相匹配。对于更具挑战性的AFHQ数据集,基线模型几乎不能反映每个参考图像的样式,并且只与域匹配。相比之下,StarGAN v2很好地呈现了每个参考图像的独特风格。
图10 风格编码器生成效果
在定量分析中,无论是FID还是LPIPS指标,StarGAN v2都领先其它方法很多。
图11 风格编码器生成效果定量分析
如下图,作者还众包了人工来评估各个方法生成图像的效果,StarGAN v2无论在图像质量还是风格多样性上都获得了最高的支持率。
图12 众包人工评估