用GAN來實現更全面的圖像風格轉換 CycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

談到最近最火熱的GAN相關圖像應用,CycleGAN絕對榜上有名:一發表沒多久就在github得到三千顆星星,作者論文首頁所展示的,完美的“斑馬”與“棕馬”之間的轉換影片(下圖)真的是超酷!

這篇來自Berkeley CV Lab的Paper繼承了先前也是同一個實驗室產出,很火的圖像翻譯(Image-to-Image Translation)pix2pix。不同之處是,pix2pix利用Conditional GAN去訓練一個已經配對好(Paired)的數據集,來達到Cross Domain Image轉換的效果(如下圖的輪廓線條與圖像的轉換);但是在許多情況下,要產生配對好的圖像通常不是很容易,CycleGAN打破了這個限制,做到了在非配對好的圖像集之間的轉換(如下圖在真實照片與油畫間的轉換)。

如果沒有配對好的圖像,用一般的Conditional GAN架構,訓練好的網路Generator(X->Y)在target domain所產生的圖像只會是target distribution中的其中一個圖像,無法限制其與原圖像的對應關係。

(以上圖片取自李宏毅老師的MLDS上課投影片

作者在此巧妙地引進了Cycle Consistency的概念,在原本的架構上再加上了另一個Generator(Y->X),將產生的target image再轉回原本的source domain,並且限制轉換回來的圖像要與原圖像越接近越好,如此便可以在target domain產生對應的圖像。

(以上圖片取自李宏毅老師的MLDS上課投影片

但在這個架構下我們只能訓練Genertor(X->Y)以及D(Y),無法訓練Generator(Y->X),因此在實作訓練的時候,必須要加上另一邊對稱的架構,形成兩個Cycle-Consistency。

(以上圖片取自李宏毅老師的MLDS上課投影片

有了這樣的GAN訓練架構,就可以做到許多Cross Domain的轉換:

但這樣的架構也不是沒有極限的,作者提到了只有在兩個domain分享類似的語義內容才能成功,斑馬跟馬之間可以成功轉換,但狗跟貓之間就無法轉換:

From our experiments, we find it works better if two datasets share similar visual content. For example, landscape painting<->landscape photographs works much better than portrait painting <-> landscape photographs. zebras<->horses achieves compelling results while cats<->dogs completely fails.

這裡附上一個有趣的轉換失敗例子給大家:

Source:Github CycleGAN

有興趣深入研究的可以參考以下更多資源:

Share the joy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

近期文章

近期迴響

彙整

分類

其它

Chien-Yi Wang Written by:

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *