注
:本文仅个人学习理解,如需详细内容请看原论文!
一、cycleGAN
1.整体架构:
将图片A通过生成器生成图片B,然后通过判别器判别图片B的真假;并且图片B通过另一个生成器生成A',让A和A'近似。
2.4种损失函数:
G网络、D网络、Cycle、Identity,D网络中使用了PatchGAN。
3.PatchGAN的作用:
输出的是一个N × N的矩阵,需要基于感受野来计算损失;基于感受野在特征图上的预测结果,和标签(也需要设置成N x N)计算损失。
每个圆圈代表一个patch。
二、starGAN v1
1.生成器:
通过输入input image、目标域(目标风格)然后输出fake image;
将fake image与原始信号再次输入到生成器G中,生成Reconstructed image,使Reconstructed image与input image 越接近越好;
将fake image再次输入到判别器D中,然后通过类别判断真假。
2.判别器:
输入real image 和 fake image,通过判别器D输出图片的真假,以及分类结果
三、starGAN v2
引入了 Mapping network 与 Style encoder
1.Generator:
加入style编码,通过Mapping network 和 Style encoder编码
2.Mapping network:
输入:随机初始化一个向量,如16维向量Z(原图像);在传入一个reference(提供风格的图像)。
输出:64维向量,经过风格转换的图像。
组成:一些全连接网络构成。
3.Style encoder:
将原始的图像X做一个编码E(X)得到一个64维的向量。
4.Discriminator:
输出多分支结果,假设有3种风格,就会输出6种结果,每种风格都会产生2种结果。