Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks論文筆記

首先說一下:CycleGAN,DualGAN,DiscoGAN這三篇論文也太像了叭!!!只不過是生成器和鑑別器的架構有點不同而已,網絡模型可以說是一毛一樣了。。。難道這麼相似都可以發論文嗎???突然對我要發的論文有點信心了,嘿嘿嘿嘿。

一.問題提出

圖像翻譯問題是將一個物體的圖像表徵轉換爲該物體的另一種圖像表徵問題,例如草圖到真實圖的轉化、白天到黑夜的轉換以及圖像風格渲染等。以往的圖像翻譯模型是基於成對數據的有監督學習模型,但大量的成對數據的獲取在實際中的成本很高並且某些領域甚至無法獲取成對的圖像對,因此這篇論文作者提出了一種基於無監督的不需要圖像對訓練的圖像翻譯模型,該模型不依賴於具體的任務、預定義的相似性函數也不假設輸入輸出具有相同的低維結構。

二.模型設計及損失函數

該模型的核心思想是設計兩個生成對抗網絡(GAN)來實現圖像翻譯。生成對抗網絡是通過生成器和鑑別器進行對抗訓練來使得生成器的效果越來越好,最終達到我們需要的生成能力。這篇論文的模型架構與之前該作者的另一篇論文Image to image translation非常類似,只是這裏採用了兩個GAN來將訓練由有監督轉化爲無監督。

作者將第一個生成器記爲G,另一個生成器記爲F。生成器G的目的是將X域的圖像轉化爲Y域,而F的目的是將Y域的圖像轉化爲X域,其中鑑別器Dx是用於判斷由F生成的X域圖像是否是X域內的真實圖像,Dy是判斷由G生成的Y域圖像是否是Y域內的真實圖像。其簡單的模型架構如圖1所示。

圖1 簡易模型架構

 

因此針對該網絡架構,作者除了每對生成器-鑑別器中的交叉熵損失函數外(公式1),還提出了循環一致性損失(Cycle consistency loss),該損失可以描述爲兩個生成器(G\F)生成的(X\Y)域圖像與真實圖像之間的L1距離(公式2),之所以採用L1是因爲實驗證明L2距離會導致輸出圖像模糊。

公式1.交叉熵損失

公式2.循環一致性損失

循環一致性損失的其計算過程如圖2所示,針對生成器G而言,其將X域的圖像轉化爲Y域圖像Y’,之後將該僞Y域圖像Y’作爲生成器F的輸入,再由F轉化爲X域圖像(X’’),最終將X’’與X之間的L1距離作爲X域的循環一致性損失,利用同樣的過程計算Y域的循環一致性損失,將兩者相加即爲整個訓練的循環一致性損失。

圖2.循環一致性損失圖解

 

綜上可以得出該模型的目標函數如下:

公式2.目標函數

 

三.實驗

生成器的網絡架構採用編碼器-解碼器結構,鑑別器採用70×70的PatchGAN結構,該結構是判斷70×70圖像塊的真僞。衆所周知,生成對抗網絡具有難訓練的問題,因此作者將公式一中的對數似然目標函數替換爲最小二乘損失以穩定訓練,另外爲了減少模型震盪作者用歷史圖像而不是最新的生成圖像來更新鑑別器。

由表3.1可看出,與其他GAN的變體相比,在無監督圖像翻譯的任務上CycleGAN具有卓越表現,當然與有監督的Pix2pix相比FCN得分還是有一定的差距。

表3.1 不同方法的FCN得分比較

另外,作者還進行了一系列的對比實驗來驗證不同的損失函數對於最終效果的影響。由表3.2可以看出,雙向的循環一致性損失會有效的防止發生模式崩塌並且準確率也有所提高。

表3.2 不同損失函數的正確率比較

四.總結

CycleGAN可以有效的應用於無監督無配對數據的圖像翻譯任務,但是實驗表明在某些特定的場景下與有監督的圖像翻譯模型相比,CycleGAN的效果仍然相差甚遠,這主要是由於其無法處理內在的幾何變化與某些場景的固有缺陷所導致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章