CycleGAN 的圖像轉譯,是 GAN ( 對抗式生成網路) 眾多應用中的一個神奇應用,不管是影片轉譯、靜態影像轉譯、甚至是風格轉換,都難不倒它。如果你還沒看過相關的圖片或影片,可以用關鍵字 pix2pix、CycleGAN 或 vid2vid 來搜尋看看。
上圖:(1)(2)莫內風格與照片風格互轉、(3)(4)斑馬與馬互轉、(5)(6)夏景與冬景互轉、(7)將照片轉為莫內、梵谷、塞尚、浮世繪風格的畫作。來源: https://junyanz.github.io/CycleGAN。
所謂的圖像轉譯(image-to-image translation),顧名思義,就是用某個轉譯器把一種影像轉成另一種影像。換句話說,就是把影像從一個域映射到另外一個域(domain,可想成是特定的風格或形式)。一般的 GAN 是用雜訊 z 來當生成種子的潛在向量,而 CycleGAN 則進化到用影像做為種子來生成新影像。
我們也可以把 CycleGAN 的圖像轉譯看成是 CGAN(條件式GAN)的一種特例,不同的是,圖像轉譯是將一張完整的影像(而非只是一個類別標示)當作「條件標籤」輸進神經網路。早期最有名的作品是柏克萊加州大學所發表的影像轉譯:
上圖:CycleGAN 為影像轉譯提供了強大的框架,可讓影像在不同域中轉換。來源:”Image-to-Image Translation with Conditional Adversarial Networks,” by Phillip Isola, ttps://github.com/phillipi/pix2pix。
如你所見,圖像轉譯能將影像做各種不同形式的映射:
- 將做為語義標籤(semantic labels)的街道(例如單純用藍色與紫色分別標示車子與道路的草圖)轉換成寫實影像。
- 將衛星影像轉換成地圖影像,就像在 Google Maps 看到的那樣。
- 將場景從白天轉換成夜晚。
- 將黑白影像變成彩色影像。
- 用輪廓圖合成出實品圖。
想深入了解 CycleGAN ,以及其他各種 GAN 的原理、架構、與程式實作,可參考旗標出版的『GAN 對抗式生成網路』一書。