一.網絡框架
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一樣。
四.代碼解析