引入
之前的模型不管是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多領域圖像翻譯 損失函數
G和D在訓練的時候目标函數不同![]()
GAN系列(四) —— StarGAN多領域圖像翻譯