我们之前介绍了pix2pix和pix2pixHD都是属于有监督的图片到图片的转换,也就是其训练数据集要求每一张待转换图片必须有一张目标转换图像相对应。
今天我们来看看如何利用GAN做无监督的图像到图像的转换。既然是无监督的图像到图像转换,那么在训练数据集中肯定是没有成对的数据了。比如性别的转换,假设我有张奥巴马的图片,那么肯定不能找到一张女的奥巴马图片吧吧。所以这就叫无监督。还是以性别转换为例,我们还是有可用信息的,那就是图片的标签信息。这篇论文就是利用图片的标签信息,来达到某一类别的图片转成另一类别的图片的目的。
我们直接看看论文给的模型图:
训练过程分两步,先训练一个GAN网络;然后固定G网络,训练一个Encoder网络。接着就可以用训练好的Encoder网络和G网络进行转换了。
训练GAN
该GAN的目标函数为:
其中s表示图片为真实图片的分数,c表示类别,
由于加入类别信息,输入G网络的随机向量z就有了类似word2vec的语义信息作用,就能作为G网络生成的图片的特征向量。这部分可以参考DCGAN的内容。
另外,类别信息是以embedding的形式作为G网络的输入的。
训练Encoder网络
这边的Encoder网络的输出不是图片,而是训练GAN时的随机向量Z。训练encoder的整个模型在上图的中间可以看到。模型是由训练好的G网络加上要训练的encoder网络构成的。G网络的输入还是类别信息和随机向量Z,encoder的输入是G网络生产的图片,输出是特征向量
转换
训练好了Encoder网络和G网络后,给定一张待转换图片(比如男人的图片)经过Encoder网络提取出编码特征Z,然后将Z和想要转换的目标标签(女人的标签)一起输入到G网络中就可以生成目标转换图片(生产女人的图片)
实验结果
性别转换
两个人之间的转换