CycleGAN:圖片風格,想換就換 | ICCV 2017論文解讀

Paper_weekly發表於2018-03-14


640?wxfrom=5&wx_lazy=1


在碎片化閱讀充斥眼球的時代,越來越少的人會去關注每篇論文背後的探索和思考。


在這個欄目裡,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。


點選本文底部的「閱讀原文」即刻加入社群,檢視更多最新論文推薦。

這是 PaperDaily 的第 51 篇文章

本期推薦的論文筆記來自 PaperWeekly 社群使用者 @LUOHAO本文提出的模型名為 CycleGAN,作者希望在不借助 paired example 情況下,來實現圖片的風格轉換。

如果你對本文工作感興趣,點選底部的閱讀原文即可檢視原論文。

關於作者:羅浩,浙江大學博士研究生,研究方向為計算機視覺和深度學習,現為曠視科技(Face++)的 research intern。


■ 論文 | Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

■ 連結 | https://www.paperweekly.site/papers/807

■ 原始碼 | https://junyanz.github.io/CycleGAN/


前言


CycleGAN 是發表於 ICCV17 的一篇 GAN 工作,可以讓兩個 domain 的圖片互相轉化。傳統的 GAN 是單向生成,而 CycleGAN 是互相生成,網路是個環形,所以命名為 Cycle。


並且 CycleGAN 一個非常實用的地方就是輸入的兩張圖片可以是任意的兩張圖片,也就是 unpaired。


單向GAN


讀者可以按照原論文的順序理解 CycleGAN,這裡我按照自己的思路解讀。CycleGAN 本質上是兩個映象對稱的 GAN,構成了一個環形網路。其實只要理解了一半的單向 GAN 就等於理解了整個CycleGAN。


640


上圖是一個單向 GAN 的示意圖。我們希望能夠把 domain A 的圖片(命名為 a)轉化為 domain B 的圖片(命名為圖片 b)。


為了實現這個過程,我們需要兩個生成器 G_AB 和 G_BA,分別把 domain A 和 domain B 的圖片進行互相轉換。


圖片 A 經過生成器 G_AB 表示為 Fake Image in domain B,用 G_AB(a) 表示。而 G_AB(a) 經過生辰器 G_BA 表示為圖片 A 的重建圖片,用 G_BA(G_AB(a)) 表示。


最後為了訓練這個單向 GAN 需要兩個 loss,分別是生成器的重建 loss 和判別器的判別 loss。


判別 loss:判別器 D_B 是用來判斷輸入的圖片是否是真實的 domain B 圖片,於是生成的假圖片 G_AB(A) 和原始的真圖片 B 都會輸入到判別器裡面,公示挺好理解的,就是一個 0,1 二分類的損失。最後的 loss 表示為:


640


生成 loss:生成器用來重建圖片 a,目的是希望生成的圖片 G_BA(G_AB(a)) 和原圖 a 儘可能的相似,那麼可以很簡單的採取 L1 loss 或者 L2 loss。最後生成 loss 就表示為:


640


以上就是 A→B 單向 GAN 的原理。


CycleGAN


CycleGAN 其實就是一個 A→B 單向 GAN 加上一個 B→A 單向 GAN。兩個 GAN 共享兩個生成器,然後各自帶一個判別器,所以加起來總共有兩個判別器和兩個生成器。一個單向 GAN 有兩個 loss,而 CycleGAN 加起來總共有四個 loss。


CycleGAN 論文的原版原理圖和公式如下,其實理解了單向 GAN 那麼 CycleGAN 已經很好理解。 


640


X→Y 的判別器損失為,字母換了一下,和上面的單向 GAN 是一樣的:


640


同理,Y→X 的判別器損失為:


640


而兩個生成器的 loss 加起來表示為:


640


最終網路的所有損失加起來為:


640


論文裡面提到判別器如果是對數損失訓練不是很穩定,所以改成的均方誤差損失,如下:


640


下面放一張網友們自制的 CycleGAN 示意圖,比論文原版的更加直觀。


640


640


效果展示


CycleGAN 的效果還是不錯的,論文裡給出了很多結果圖,可以欣賞一下。


640


640


本文由 AI 學術社群 PaperWeekly 精選推薦,社群目前已覆蓋自然語言處理、計算機視覺、人工智慧、機器學習、資料探勘和資訊檢索等研究方向,點選「閱讀原文」即刻加入社群!

640?


點選以下標題檢視相關內容: 




640?


640?#榜 單 公 布 #


2017年度最值得讀的AI論文 | NLP篇 · 評選結果公佈

2017年度最值得讀的AI論文 | CV篇 · 評選結果公佈



  我是彩蛋 


解鎖新功能:熱門職位推薦!


PaperWeekly小程式升級啦


今日arXiv√猜你喜歡√熱門職位


找全職找實習都不是問題

 

 解鎖方式 

1. 識別下方二維碼開啟小程式

2. 用PaperWeekly社群賬號進行登陸

3. 登陸後即可解鎖所有功能


 職位釋出 

請新增小助手微信(pwbot01)進行諮詢

 

長按識別二維碼,使用小程式

*點選閱讀原文即可註冊


640?


           

           


關於PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報導人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點選「交流群」,小助手將把你帶入 PaperWeekly 的交流群裡。


640?

▽ 點選 | 閱讀原文 | 檢視原論文

相關文章