CycleGan論文筆記


 

 

 

原文地址:https://arxiv.org/abs/1703.10593

背景——風格遷移

圖片生成領域是GAN網絡的天下,最近很多人將GAN網絡應用到了圖像風格遷移領域。這篇論文也是做image to image translation,之前已經有較為成功的網絡PIX2PIX了(同一個團隊做的),本篇論文的出發點和PIX2PIX的不同在於:

  1. PIX2PIX網絡要求提供image pairs,也即是要求提供x和y,整個思路為:從噪聲z,根據條件x,生成和真實圖片y相近的y‘。條件x和圖像y是具有一定關聯性的。
  2. 而本篇CycalGAN不要求提供pairs,如題目所說:Unpaired。因為成對的圖像數據集其實並不多。這里的x和y不要求有什么較好的關聯性,可以是毫不相干的兩幅圖像。

 

方法

普通的GAN損失:

但單純的使用這一個損失是無法進行訓練的。原因在於,映射F完全可以將所有x都映射到y空間的同一張圖片,使損失無效化。為此提出循環GAN網絡。從域x生成域y,再從y生成回x,循環往復。

 

網絡結構

 兩個生成器網絡:G和F;兩個鑒別器網絡:Dx和Dy。整個網絡是一個對偶結構。

下圖對網絡結構說明很清楚,出處見水印。

 

Loss函數

Loss部分除了經典的基礎的GAN網絡的對抗loss,還提出了一個cycle-loss。因為網絡需要保證生成的圖像必須保留有原始圖像的特性,所以如果我們使用生成器GenratorA-B生成一張假圖像,那么要能夠使用另外一個生成器GenratorB-A來努力恢復成原始圖像。此過程必須滿足循環一致性。

對抗損失有兩部分:

對偶網絡的循環損失分為前向循環損失和后向循環損失,分別為:

 

采用L1 loss:

最后,總的損失函數為:

lamba=10

代碼中還有個loss:identity loss

大致可以這樣理解,生成器是負責域x到域y的圖像生成,如果輸入域y的圖片還是應該生成域y的圖片y‘’,計算y‘’和輸入y的loss。

訓練細節

  • Generator采用的是Perceptual losses for real-time style transfer and super-resolution 一文中的網絡結構;一個resblock組成的網絡,降采樣部分采用stride 卷積,增采樣部分采用反卷積;Discriminator采用的仍是pix2pix中的PatchGANs結構,大小為70x70
  • 定義四個xx器的損失函數,分別優化訓練G和D,兩個生成器共享權重,兩個鑒別器也共享權重訓練
  • 計算每個生成圖像的損失是不可能的,因為會耗費大量的計算資源。建立一個圖像庫,存儲之前生成的50張圖,而不只是最新的生成器生成的圖
  • Lr=0.0002。對於前100個周期,保持相同的學習速率0.0002,然后在接下來的100個周期內線性衰減到0。

實驗結果

一些對比試驗結果:(通過label生成原圖y‘,再利用FCN對生成的原圖y‘進行分割,進行一個label-photo的實驗)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM