天天看點

GAN系列(四) —— StarGAN多領域圖像翻譯

引入

之前的模型不管是Pix2Pix還是CycleGAN,它們都是在兩個領域上去做轉換的

那麼當有多個領域的時候,模型就會變得非常低效

比如說在美圖秀秀上,可以做很多功能,美化人、人臉上加飾品、改變膚色等等

這麼多種任務,如果要訓練n多種Pix2pix/CycleGAN才可以去做,是以比較低效

同時,多個模型中學到的資訊不能共享,效果有限

有沒有辦法可以隻通過一個模型就能學到多種變換呢?

StarGAN多領域圖像翻譯

解決的仍然是成對圖像問題
GAN系列(四) —— StarGAN多領域圖像翻譯

在生成器G的輸入需要添加目标領域資訊

判别器D除了判斷生成的圖檔是否是真實圖檔以外,還需要判斷生成圖檔是屬于哪個領域的

StarGAN輸入的圖像依然是成對的

GAN系列(四) —— StarGAN多領域圖像翻譯

判别器D輸入2張圖像,真實圖像和假的圖像,輸出得到2個資訊,這兩個圖像是不是一對,然後這兩個圖像對是不是一個類别的

生成器G輸入一個領域資訊和一個圖像,輸出這個圖像在這個領域的生成圖像

a、b、d反映的就是一個傳統GAN

c是StarGAN特有的,多了一個重建損失,是確定一緻性的,類似CycleGAN。将經過G生成的特定領域的圖檔和原圖輸入,得到input_img在原領域重建的圖檔,這兩個圖檔之間再計算loss

GAN系列(四) —— StarGAN多領域圖像翻譯

損失函數

GAN系列(四) —— StarGAN多領域圖像翻譯
G和D在訓練的時候目标函數不同