Generator起到的做用是将source图像转化为target图片,其中target图片具备style code,用s表示,同时符合source图片x的内容。其中style code能够由mapping network F或者style encoder E生成。这里咱们用AdaIN将s加到G里面,这使得咱们能够添加多个style code。网络
这里介绍一下AdalN,即Adaptive Instance Normalization,其公式以下app
其中,内层均值和标准差分别表示content image的特征的均值和标准差,外层均值和标准差分别表示style image的特征的均值和标准差。这个公式能够理解为,先去风格化(减去自身均值再除以自身标准差),再风格化到style image的风格(乘style image的标准差再加均值 )。框架
Mapping Network起到的做用是输入一个latent code z,也就是噪声,根据给定的domain y,mapping network F生成一个style code s。这里mapping network主要由MLP组成,具备多个输出,提供到多个domain的变换。dom
style encoder和前面的mapping network是对应的,不一样的是mapping network根据随机噪声和选定的domain输出style code,而style encoder则根据图片x和其对应的domain生成style code。和mapping network E同样,style encoder E也支持根据不一样的图像生成不一样的style code。3d
这里discriminator一样支持多任务,有多个鉴别输出,对应不一样的domain。code
咱们随机选取一个噪声z和一个目标domain y~。利用F生成style code s~。orm
generator G用s~和选定的图片x生成G(x,s~)。对抗损失表示为blog
定义以下风格重建偏差图片
即要求转换后,生成的图片也能提取出一样的style code。get
为了使generator生成更加多样化的target图片,引入以下的风格多样化损失:
省去了MSGan中的分母防止训练不稳定,该项的目的是增长生成结果的多样性。
为了保留原图像的属性,引入cycleGan中的循环一致性损失
转换后的图像也能重建出原图像,保证了原图像其余属性不丢失。
和style encoder同样。