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同樣。