BicycleGAN: Toward Multimodal Image-to-Image Translation - 1 - 論文學習,成對數據


Abstract

許多圖像到圖像的翻譯問題是有歧義的,因為一個輸入圖像可能對應多個可能的輸出。在這項工作中,我們的目標是在一個條件生成模型設置中建立可能的輸出分布。將模糊度提取到一個低維潛在向量中,在測試時隨機采樣。生成器學習將給定的輸入與此潛在編碼映射到輸出。我們明確地鼓勵輸出和潛在編碼之間的連接是可逆的。這有助於防止訓練期間從潛在編碼到輸出的多對一映射也稱為模式崩潰問題,並產生更多樣化的結果。我們通過使用不同的訓練目標、網絡架構和注入潛在編碼的方法來探索此方法的幾個變體。我們提出的方法鼓勵了潛在編碼模式和輸出模式之間的雙射一致性。我們提出了對我們的方法和其他變種在視覺真實性和多樣性方面進行了一個系統的比較。

 

1 Introduction

深度學習技術在條件圖像生成方面取得了快速的進展。例如,網絡已經被用來填補缺失的圖像區域[20,34,47],給灰度圖像添加顏色[19,20,27,50],並從草圖生成逼真的圖像[20,40]。然而,這個領域的大多數技術都集中於生成單個結果。在這項工作中,我們模擬一個潛在結果的分布,因為許多這些問題可能是多模態。例如,如圖1所示,根據雲的模式和光照條件,夜間捕獲的圖像在白天可能看起來非常不同。我們追求兩個主要目標:產生(1)視覺上真實的和(2)多樣化的結果,同時保持對輸入的忠實。

 

從高維輸入到高維輸出分布的映射具有挑戰性。表示多模態的一種常用方法是學習一個低維潛在編碼,它應該表示輸入圖像中不包含的可能輸出的各個方面。在推理時,確定性生成器使用輸入圖像和隨機采樣的潛在編碼來產生隨機采樣的輸出。現有方法的一個常見問題是模式崩潰[14],即只有少量的實際樣本在輸出中得到表示。我們系統地研究了這個問題的一系列解。

我們從pix2pix框架[20]開始,它已經被證明可以為各種圖像到圖像的翻譯任務提供高質量的結果。該方法訓練一個基於輸入圖像的生成器網絡,有兩個損失:

(1)一個回歸損失,產生與已知成對真實圖像相似的輸出;

(2)一個可學習的判別器損失,以獲得真實感。

作者注意到,隨意附加一個隨機抽取的潛在編碼不會產生不同的結果。相反,我們建議鼓勵輸出和潛在空間之間的雙射。我們不僅執行將潛在編碼(以及輸入)映射到輸出的直接任務,而且還聯合學習從輸出返回到潛在空間的編碼器。這將阻止兩個不同的潛在編碼生成相同的輸出(非單射映射)。在訓練期間,可學習的編碼器試圖傳遞足夠的信息到生成器,以解決任何關於輸出模式的歧義問題。例如,當從夜間圖像生成白天圖像時,潛在向量可能編碼關於天空顏色、地面燈光效果和雲模式的信息。按順序組合編碼器和生成器將導致恢復相同的圖像。相反的應該產生相同的潛在編碼。
在這項工作中,我們通過探索幾個目標函數來實例化這個想法,靈感來自於無條件生成建模的文獻:

cVAE-GAN(條件變分自動編碼器GAN):一種方法是首先將真實圖像編碼到潛在空間中,給生成器一個有噪聲的“peek”到期望的輸出中。使用這個“peek”連同輸入圖像,生成器應該能夠重建特定的輸出圖像。為了保證在測試時間內可以使用隨機抽樣,利用kl散度對潛在分布進行正則化,使其接近標准正態分布。這種方法在VAEs[23]和VAE-GANs[26]的無條件設置中得到了推廣。

cLR-GAN(條件潛在回歸GAN):另一種方法是首先向生成器提供一個隨機繪制的潛在向量。在這種情況下,產生的輸出看起來不一定像真實圖像,但它應該看起來是真實的。然后編碼器嘗試從輸出圖像中恢復潛在向量。該方法可視為“潛回歸模型”的條件式[8,10],也與InfoGAN[4]有關。

BicycleGAN:最后,我們將這兩種方法結合起來,在兩個方向上加強潛在編碼和輸出之間的聯系,從而提高性能。我們證明了我們的方法可以在大量的圖像轉換問題中產生多樣化和視覺上吸引人的結果,明顯比其他基線更多樣化,包括在pix2pix框架中添加噪音。除了損失函數外,我們還研究了幾種編碼器網絡的性能,以及將潛在代碼注入生成器網絡的不同方法。

我們對這些變量進行了系統的評估,使用人來判斷圖片真實感和使用感知距離度量[52]來評估輸出的多樣性。代碼和數據可以通過https: //github.com/junyanz/BicycleGAN.

 

2 Related Work

Generative modeling 生成模型. 自然圖像分布的參數化建模是一個具有挑戰性的問題。傳統上,這個問題是通過使用受限的Boltzmann機器[41]和自動編碼器來解決的[18,43]。變分自編碼器[23]提供了一種有效的方法,使用訓練時網絡中潛在分布的重新參數化構建的隨機性。另一種不同的方法是自回歸模型[11,32,33],該模型對自然圖像統計建模有效,但由於其序列預測特性,在推理時速度較慢。生成對抗網絡[15]克服了這一問題,它將隨機值從一個簡單的樣本分布(例如,一個低維高斯分布)映射到網絡的單個前向傳播的輸出圖像中。在訓練過程中,使用判別器網絡對樣本進行判斷,判別器網絡將樣本從目標分布和生成器網絡中區分出來。GANs最近非常成功[1、4、6、8、10、35、36、49、53、54]。我們的方法建立在VAE[23]和InfoGAN[4]或潛在回歸因子[8,10]的條件模型的基礎上,共同優化它們的目標。我們將在3.4節中重新討論這種聯系。

Conditional image generation條件圖像生成. 上述所有方法都可以簡單地條件化。雖然有條件的VAEs[42]和自回歸模型[32,33]已經顯示出了該方法的希望[16,44,46],圖像到圖像的有條件的GANs已經導致了結果質量的顯著提高。然而,這種質量是以犧牲多模態為代價獲得的,因為在相關的上下文條件下,生成器學會了在很大程度上忽略隨機噪聲向量[20,34,40,45,47,55]。事實上,甚至有研究表明,忽略噪音可以得到更穩定的訓練[20,29,34]。

Explicitly-encoded multimodality顯式編碼的多模態. 表達多模態的一種方法是顯式編碼,並將其作為輸入圖像之外的額外輸入提供。例如,在iGAN [54], pix2pix [20], Scribbler[40]和交互式着色[51]中,使用了顏色和形狀塗鴉等界面作為條件設置。並發工作[2,3,13]探索的一個有效的設置是使用混合的模型。這些方法雖然可以產生多個離散的答案,但不能產生連續的變化。雖然在無條件和文本條件設置中生成多模態輸出已經取得了一定程度的成功[7,15,26,31,36],但條件圖像到圖像的生成仍然遠遠達不到同樣的結果,除非像上面討論的那樣進行顯式編碼。在這項工作中,我們學習了條件圖像生成模型,通過加強潛在空間和圖像空間之間的緊密聯系來建模多種模式的輸出。

 

3 Multimodal Image-to-Image Translation

我們的目標是學習兩個圖像域之間的多模態映射,例如,邊緣和照片,或日夜圖等等。考慮輸入域A⊂RH×W×3,被映射到一個輸出域B⊂RH×W×3。在訓練中,我們從這兩個領域給出了一個數據集的配對實例,{(A∈Α, B∈B)},代表一個聯合分布p (A, B)。重要的是要注意,可能會有多個合理的配對實例B將對應一個輸入實例A,但訓練數據集通常只包含一個這樣的一對。然而,在測試期間給定一個新的實例A,我們的模型應該能夠生成一組不同的輸出B^’s,對應於分布p(B| A)中的不同模式。


雖然條件GANs在圖像到圖像的轉換任務中取得了成功[20,34,40,45,47,55],但它們主要局限於在給定輸入圖像A的情況下生成一個確定性的輸出B^。


另一方面,我們想要學習可以從給定A的真正的條件分布中采樣輸出B^,並且產生的結果是多樣的和真實的。為此,我們學習了一個低維潛在空間z∈RZ,它封裝了不表現在輸入圖像中的輸出模式中的模糊方面。例如,鞋子的草圖可以映射到各種顏色和紋理,這些顏色和紋理可以在這個潛在編碼中被壓縮。然后,我們學習了到輸出的一個確定性映射G:(A, z)→B。為了使隨機抽樣成為可能,我們希望從先驗分布p(z)中提取潛碼向量z;在這項工作中我們使用一個標准的高斯分布N (0,I)。
我們首先討論對現有方法的簡單擴展,並討論其優缺點,從而推動我們在后續小節中提出的方法的發展。

 

3.1 Baseline: pix2pix+noise (z B^)

最近提出的pix2pix模型[20]在圖像到圖像的轉換設置中顯示了高質量的結果。它使用條件對抗網絡[15,30]來幫助產生感知上真實的結果。GANs通過將它們的目標設定為對抗性游戲來訓練生成器G和判別器D。判別器試圖區分數據集中的真實圖像和生成器生成的虛假樣本。隨機繪制的噪聲z被加入試圖誘導隨機性。我們在圖2(b)中說明了這個公式,並在下面描述它。

 為了鼓勵生成器的輸出匹配輸入並穩定訓練過程,在輸出和真實圖像中使用L1損失函數:

 最終的損失函數添加上GAN和L1術語和參數λ:

在這種情況下,幾乎沒有激勵生成器利用編碼隨機信息生成的噪聲矢量。Isola等人的[20]注意到,噪聲在初步實驗中被生成器忽略,在最終實驗中被去除。這與[29,34]在條件設置下的觀察結果一致,也與無條件情況下觀察到的模態崩塌現象一致[14,39]。在本文中,我們探索了不同的方法來顯式地強制潛在編碼捕獲相關信息。

 

3.2 Conditional Variational Autoencoder GAN: cVAE-GAN (B z B^ )

迫使潛在代碼z的一個方法是“有用”的即使用一個編碼函數E直接映射真實圖像B到z。生成器G使用潛在編碼z和輸入圖像A合成所需的輸出B^。整體模型可以很容易理解為中間帶着潛在編碼z與成對的A連接得到的B的重構 —— 類似於一個自動編碼器[18]。圖2(c)給出了更好的解釋。

該方法已成功地應用於無對抗目標的無條件變分自編碼器[23]中。擴展到有條件的情況下,潛在編碼z的分布Q(z | B)使用帶着高斯假設的編碼器E來獲得,Q (z | B) = E (B)。為了反映這一點,將公式1修改為使用重構參數技巧對z∼E(B)進行采樣,允許直接反向傳播[23]:

我們還對等式2中的L1 損失項進行了相應的更改,從而得到L1VAE(G) = EA,B∼p(A,B),z∼E(B)||B−G(A, z)||1。此外,E(B)編碼產生的潛在分布被限制在接近隨機高斯分布的情況下,以便在推理時對未知的B進行采樣。

 KL散度為:

 然后形成了cVAE-GAN的目標函數,即VAE-GAN的有條件版本:

 作為基線,我們還考慮了此方法的確定性版本,即,去掉KL散度,編碼z = E(B)。我們稱之為cAE-GAN,並在實驗中進行了對比。由於cAE-GAN不能保證潛在空間z的分布,使得z的測試時間采樣變得困難。

 

3.3 Conditional Latent Regressor GAN: cLR-GAN (z B^ →  z^ )

我們探索了另一種使用嵌入z的潛在編碼的強制生成器網絡方法,同時保持接近實際測試時間分布p(z),但是從潛在編碼的角度接近的。如圖2(d)所示,我們得到一個隨機繪制的潛在編碼z並試圖恢復z^ = E (G (A, z))。注意,這里的編碼器E是生產z^點估計的,而在前一節中的編碼器則是用於一個高斯分布預測:

 還包括了在B^上使用的判別器損失LGAN (G, D)(公式1中),鼓勵網絡生成真實的結果,完整的損失可以寫成:

不使用真實圖像B的L1損失。噪聲向量是隨機產生的,因此預測的B^不一定需要貼近真實圖像,但需要是真實的。上述目標函數與“潛在回歸”模式(4、8、10)相似,生成的樣本B^被編碼生成一個潛在向量。

 

3.4 Our Hybrid Model: BicycleGAN

我們將cVAE-GAN和cLR-GAN的目標結合在一個混合模型中。對於cVAE-GAN,編碼是從真實數據中學習的,但隨機潛在編碼在測試時可能不會產生真實的圖像—KL損失可能沒有得到很好的優化。也許更重要的是,對抗分類器D在訓練中沒有機會看到前一次采樣的結果。在cLR-GAN中,潛在空間很容易從一個簡單的分布中采樣,但是對生成器進行訓練時沒有看到真實的輸入-輸出對的好處。我們建議訓練時使用兩個方向上的約束,旨在利用兩個周期(B→z→B^和z→B^→z^),因此得到BicycleGAN名稱:

超參數λ、λlatent和λKL用來控制每項的相對重要性

Larsen等人發現,在無條件GAN環境中,使用來自之前的N (0, I)分布和編碼的E (B)分布的樣本能進一步改善結果。因此,我們還報告了一種變體,即上面所示的完整目標函數(公式9),但沒有在潛在空間L1latent的重建損失。我們稱它為cVAE-GAN++,因為它是基於cVAE-GAN的,帶有一個額外的損失LGAN(G, D), 1個,讓判別器可以看到從先前隨機抽取的樣本。

 

4 Implementation Details

代碼和附加結果可以在https://github.com/junyanz/ BicycleGAN上找到。有關數據集、體系結構和訓練程序的詳細信息,請參閱我們的網站。

Network architecture網絡結構. 對於生成器G,我們使用U-Net[37],它包含一個具有對稱跳躍連接的編碼器-解碼器架構。當輸入和輸出對之間存在空間對應關系時,該結構在單模態圖像預測設置中產生了較好的結果。對於判別器D,我們使用了兩個不同尺度的PatchGAN判別器[20],其目的是預測70×70和140×140重疊圖像塊的真假。對於編碼器E,我們用兩個網絡進行了實驗:(1)ECNN: 帶有幾個卷積和下采樣層的CNN和(2)EResNet:一個帶有幾個殘差塊的分類器[17]。

Training details訓練細節. 我們在最小二乘GANs (LSGANs)變體[28]上建立模型,該模型使用最小二乘目標代替交叉熵損失。LSGANs通過穩定的訓練產生高質量的結果。我們還發現,不將判別器D設置在輸入A上可以得到更好的結果(也在[34]中討論過),因此選擇對所有方法執行相同的操作。在我們所有的實驗中設置了參數λimage = 10,λlatent = 0.5和λKL = 0.01。我們在cVAE-GAN和cLR-GAN模型中為生成器和編碼器設置了權重。對於編碼器,在cLR-GAN中只使用預測平均值。我們觀察到,使用兩個獨立的判別器與共享權重相比,會產生更好的視覺效果。在保持E不變的情況下,我們只更新了潛在編碼(公式7)上的L1損失L1latent(G, E)。我們發現同時優化G和E的損失會鼓勵G和E隱藏潛在編碼的信息而不學習有意義的模式。我們使用Adam[22]從零開始訓練我們的網絡,批量大小為1,學習率為0.0002。我們選擇所有數據集的潛在維度|z| = 8。

將潛在編碼z注入生成器。我們探索兩種傳播潛在編碼z到輸出的方式,如圖3所示:

(1)add_to_input:我們空間復制Z-dimensional的潛在編碼z成一個H×W×Z大小的張量,將它與H×W×3大小的輸入圖像連接

(2)add_to_all:在空間復制到適當的大小后,我們添加z到網絡G的每個中間層。

 

 

 

5 Experiments

數據集. 我們測試了之前工作中的幾個圖像到圖像的轉換問題,包括邊緣→照片[48,54],谷歌地圖→衛星[20],標簽→圖像[5],戶外夜間→白天圖像[25]。這些問題都是一對多的映射。我們對所有模型進行256×256圖像的訓練。
方法. 對第3節中描述的模型進行評估:pix2pix+noise, cAE-GAN, cVAE-GAN, cVAE-GAN++, cLR-GAN,和我們的混合模型BicycleGAN。

 

 

5.1 Qualitative Evaluation

我們在圖5中顯示了定性比較結果。我們觀察到,pix2pix+噪音通常產生一個單一的真實輸出,但不產生任何有意義的變化。cAE-GAN增加了輸出的變化,但通常以很大的成本來保證結果的質量。關於facades的示例如圖4所示。


我們在cVAE-GAN中觀察到更多的變化,因為潛在空間被鼓勵對有關真實輸出的信息進行編碼。然而,該空間的密度並不高,因此隨機抽取樣本可能會在輸出中產生偽影。cLR-GAN的輸出變化較小,有時會出現模式崩潰。然而,在混合這些方法后,在BicycleGAN中觀察到的結果既多樣又真實。請查看我們的網站,以獲得完整的結果。

 

5.2 Quantitative Evaluation

我們對我們的六個變量和基線的多樣性、現實性和潛在空間分布進行了定量分析。我們定量測試了谷歌地圖→衛星數據集。
多樣性. 我們計算深度特征空間中隨機樣本的平均距離。預訓練的網絡在圖像生成應用中被用作“感知損失”[9,12,21],以及作為生成建模中保留的“驗證”分數,例如評估生成模型[39]的語義質量和多樣性,或灰度化[50]的語義准確性。
在圖6中,我們使用[52]1提出的LPIPS度量來顯示多樣性得分。對於每個方法,計算1900對隨機生成的輸出B^(從100個輸入圖像中采樣得到)之間的平均距離圖像。對於B∈B域中真實圖像的隨機對,平均變異量為.262。因為我們是測量樣本B^對應於一個特定的輸入A,系統為了保證忠實於輸入得到的輸出B^應該不超過.262這一點。

pix2pix系統[20]產生一個單點估計值。向系統中添加噪聲, pix2pix+noise會產生一個較小的多樣性分數,這證實了在[20]中添加噪聲不會產生較大的變化。使用cAE-GAN模型將一個真實圖像B編碼為一個潛在編碼z確實增加了變異。cVAE-GAN、cVAE-GAN++、和BicycleGAN模型都對潛在空間進行了顯式約束,而cLR-GAN模型通過抽樣對潛在空間進行了隱式約束。這四種方法都產生相似的多樣性得分。我們注意到,多樣性得分高也可能意味着產生了非自然的圖像,導致了無意義的變化。接下來,我們將研究樣本的視覺真實感。

 

視覺真實性. 為了判斷我們結果的視覺真實性,我們使用人類的判斷,如[50]中提出的,后來在[20,55]中使用。測試按隨機順序向受試者展示一幅真實生成的圖像,每幅1秒鍾,要求受試者識別假圖像,並測量“欺騙”率。圖6(左)顯示了方法之間的真實性。pix2pix+noise模型獲得了很高的真實感分數,但是沒有很大的多樣性,正如前面所討論的。cAE-GAN有助於產生多樣性,但這是以視覺真實性為代價的。由於習得潛在空間的分布不明確,隨機樣本可能來自該空間的無人區。在潛在空間中加入kl散度損失,用於cVAE-GAN模型,恢復視覺真實感。此外,正如預期的那樣,在cVAE-GAN++模型中檢查隨機繪制的z向量會略微增加真實感。cLR-GAN從預先定義的分布中隨機抽取z向量,生成類似的真實度和多樣性得分。然而,cLR-GAN模型導致了大模式崩潰——大約15%的輸出產生了與輸入圖像無關的相同結果。完整的BicycleGAN得到了最好的兩個結果,因為它沒有遭受模式崩潰,也有最高的真實性得分的顯著優勢。

編碼器結構. 在pix2pix中,Isola等人[20]對判別器和生成器進行了廣泛的ablation研究。在這里,我們關注兩個編碼器架構的性能,ECNN和EResNet,應用於maps和facades數據集。我們發現,對於驗證數據集上的圖像重建損失||B−G(A, E(B))||1, EResNet對輸出圖像進行了更好的編碼,如表1所示。我們在最終的模型中使用了EResNet

 

 
注入潛在編碼方法. 對於相同的重構損失||B−G(A, E(B))||1,我們評估了兩種注入潛在編碼z的方式:add_to_input和add_to_all (第4節有講)。表1顯示了兩種方法具有相似的性能。這表明U_Net[37]可以很好地將信息傳播到輸出,而不需要從z中添加額外的跳躍連接。在最終的模型中我們使用了add_to_all方法來注入噪音

 

潛在編碼長度. 我們研究圖7中BicycleGAN模型結果關於潛在編碼{2,8,256}維數的變化。一個非常低維的潛在代碼可能會限制可以表達的多樣性的數量。相反,一個非常高維的潛在代碼可能會對輸出圖像的更多信息進行編碼,代價是使采樣變得困難。z的最佳長度在很大程度上取決於單獨的數據集和應用程序,以及輸出中有多少歧義。

 

 

 

6 Conclusions

綜上所述,我們評估了幾種解決條件圖像生成中模式崩潰問題的方法。我們發現,通過組合多個目標來鼓勵潛在空間和輸出空間之間的雙射映射,我們獲得了更加現實和多樣化的結果。我們看到了許多未來工作的有趣途徑,包括直接在潛在空間中執行一個分布,該分布對語義上有意義的屬性進行編碼,從而允許使用用戶可控制的參數進行圖像到圖像的轉換。

 


免責聲明!

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



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