StarGAN v2: Diverse Image Synthesis for Multiple Domains 阅读笔记和pytorch代码解析

一.网络框架

 

 

1.Generator

  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,其公式如下

    

 

其中,内层均值和标准差分别表示content image的特征的均值和标准差,外层均值和标准差分别表示style image的特征的均值和标准差。这个公式可以理解为,先去风格化(减去自身均值再除以自身标准差),再风格化到style image的风格(乘style image的标准差再加均值 )。

2.Mapping Network

  Mapping Network起到的作用是输入一个latent code z,也就是噪声,根据给定的domain y,mapping network F生成一个style code s。这里mapping network主要由MLP组成,具有多个输出,提供到多个domain的变换。

3.Style Encoder

  style encoder和前面的mapping network是对应的,不同的是mapping network根据随机噪声和选定的domain输出style code,而style encoder则根据图片x和其对应的domain生成style code。和mapping network E一样,style encoder E也支持根据不同的图像生成不同的style code。

4.Discriminator

  这里discriminator同样支持多任务,有多个鉴别输出,对应不同的domain。

 

二.训练目标

1.Adversarial目标

  我们随机选取一个噪声z和一个目标domain y~。利用F生成style code s~。

         

  generator G用s~和选定的图片x生成G(x,s~)。对抗损失表示为

            

2.Style reconstruction

  定义如下风格重建误差

     

  即要求转换后,生成的图片也能提取出同样的style code。

3.Style diversifification

  为了使generator生成更加多样化的target图片,引入如下的风格多样化损失:

  

 

 

   省去了MSGan中的分母防止训练不稳定,该项的目的是增加生成结果的多样性。

4.Preserving source characteristics

  为了保留原图像的属性,引入cycleGan中的循环一致性损失

           

  转换后的图像也能重建出原图像,保证了原图像其他属性不丢失。

5.总目标

   

 

 

三.网络结构

1.Generator

                                

2.Mapping Network

                             

3.Style encoder

                          

4.Discriminator

  和style encoder一样。

 

四.代码解析

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章