摘要:無監督圖像轉換是計算機視覺領域中一個重要而又具有挑戰性的問題。給定源域中的一幅圖像,目標是學習目標域中對應圖像的條件分布,而不需要看到任何對應圖像對的例子。雖然這種條件分布本質上是多模態的,但現有的方法做了過度簡化的假設,將其建模為確定性的一對一映射。因此,它們無法從給定的源域映像生成不同的輸出。為了解決這一局限性,我們提出了一個多模態無監督圖像到圖像的轉換(MUNIT)框架。我們假設可以將圖像表示分解為域不變的內容代碼和捕獲特定域屬性的樣式代碼。為了將圖像轉換到另一個域,我們將其內容代碼與從目標域的樣式空間中采樣的隨機樣式代碼重新組合。我們分析了提出的框架,並建立了幾個理論結果。大量的實驗與最先進的方法進行了比較,進一步證明了該框架的優勢。此外,我們的框架允許用戶通過提供一個示例樣式圖像來控制轉換輸出的樣式。代碼和預訓練的模型是有用的-可以在https://github.com/nvlabs/MUNIT找到。
1 Introduction
在計算機視覺領域中的很多問題旨在將一張圖像從一個域轉換到另一個域,包括圖像的超分辨率轉換、顏色轉換、圖像修復、屬性轉換、風格轉換等。因此,這種跨域圖像到圖像的轉換設置受到了極大的關注[6-25]。當數據集包含成對的示例時,可以使用條件生成模型[6]或簡單回歸模型[13]來處理這個問題。在這里,我們關注的是更具有挑戰性的設置,即當這種監督是不可用的。
在許多場景中,感興趣的跨域映射是多模式的。例如,由於天氣、時間、光線等原因,冬季場景在夏季可能會出現很多不同的樣子。不幸的是,現有的技術通常采用確定性[8-10]或單峰[15]映射。結果,它們未能捕獲可能輸出的全部分布。即使通過注入噪聲使模型變得隨機,網絡通常也會忽略它[6,26]。
本文針對多模態無監督圖像-圖像轉換問題,提出了一個原則性框架。如圖1 (a)所示:
我們的框架做了幾個假設。我們首先假設圖像的潛空間可以分解為內容空間和風格空間。我們進一步假設不同域中的圖像共享一個公共的內容空間,而不是樣式空間。為了將圖像轉換到目標域,我們將其內容編碼與目標樣式空間中的隨機樣式編碼重新組合(圖1 (b))。內容代碼編碼在轉換期間應該保留的信息,而樣式代碼表示輸入圖像中不包含的其余變體。通過采樣不同的風格編碼,我們的模型能夠產生不同的和多模態的輸出。大量的實驗證明了我們的方法在多模態輸出分布建模中的有效性,以及與目前最先進的方法相比,它具有更好的圖像質量。此外,內容和樣式空間的分解允許我們的框架執行樣例引導的圖像轉換,其中轉換輸出的樣式由用戶提供的目標域中的示例圖像控制。
2 Related Works
Generative adversarial networks (GANs)生成對抗網絡. GAN框架[27]在圖像生成方面取得了良好的效果。在GAN訓練中,一個生成器被訓練來欺騙一個判別器,而判別器反過來又試圖區分生成的樣本和真實樣本。已經提出了對GANs的各種改進,如多階段生成[28-33]、更好的訓練目標[34-39]以及與自動編碼器的結合[40-44]。在這項工作中,我們使用GANs將轉換后的圖像與目標域中的真實圖像進行對齊。
Image-to-image translation. Isola等人[6]提出了第一個基於條件GANs的圖像到圖像轉換的統一框架,Wang等人將其擴展到生成高分辨率的圖像。最近的研究也試圖在沒有監督的情況下學習圖像轉換。這個問題本質上是不適定的,需要額外的約束。一些工作強制轉換以保留源域數據的某些屬性,如像素值[21]、像素梯度[22]、語義特征[10]、類標簽[22]或成對樣本距離[16]。另一個常見的約束是周期一致性損失[7-9]。它強制要求,如果我們將一個圖像轉換到目標域並返回,我們應該獲得原始圖像。此外,Liu等人提出了UNIT框架,該框架假設一個共享的潛在空間,使得兩個域中對應的圖像映射到相同的潛在編碼。
現有的大多數圖像到圖像的轉換方法的一個重要限制是轉換輸出的多樣性。為了解決這個問題,一些研究建議在相同的輸入下同時產生多個輸出,並鼓勵它們不同[13,45,46]。盡管如此,這些方法只能生成離散數量的輸出。Zhu等人提出了一種可以對連續分布和多模態分布進行建模的雙循環模型。但是,上述所有方法都需要成對監督數據,而我們的方法不需要。一些同時進行的工作也認識到了這一局限性,並提出了CycleGAN/UNIT在多模態映射[47]/[48]中的擴展。
我們的問題與多域圖像到圖像的轉換有關[19,49,50]。具體來說,當我們知道每個域有多少個模式,每個樣本屬於哪個模式時,就可以將每個模式視為一個單獨的域,利用多域圖像到圖像的轉換技術來學習每一對模式之間的映射,從而實現多模態轉換。然而,一般來說,我們並不認為這些信息是可用的。此外,我們的隨機模型可以表示連續的輸出分布,而[19,49,50]仍然對每一對域使用確定性模型。
Style transfer. 風格轉換的目的是在保留圖像內容的同時修改圖像的風格,這與圖像之間的轉換密切相關。在這里,我們區分了示例引導的風格轉換(目標樣式來自單個示例)和集合樣式轉換(目標樣式由一組圖像定義)。經典的風格轉換方法[5,51 - 56]通常處理前者問題,而圖像到圖像的轉換方法已被證明在后者的[8]中表現良好。我們將展示我們的模型能夠解決這兩個問題,這得益於它對內容和樣式的清晰表示。
Learning disentangled representations. 我們的工作從最近關於解耦表征學習的著作中獲得靈感。例如,InfoGAN[57]和β-VAE[58]提出了在沒有監督的情況下學習解耦表征。其他一些作品[59-66]側重於將內容從風格中解耦出來。雖然很難定義內容/風格,不同的作品有不同的定義,但我們將“內容”稱為底層空間結構,將“風格”稱為結構的渲染。在我們的設置中,有兩個域共享相同的內容分布,但具有不同的樣式分布。
3 Multimodal Unsupervised Image-to-image Translation
3.1 Assumptions
令x1∈Χ1, x2∈X2是來自兩個不同圖像域的圖像。在無監督的圖像到圖像的轉移設置中,我們從兩個邊緣分布p(x1)和p(x2)中抽取樣本,不訪問聯合分布p(x1,x2)。我們的目標是使用習得的圖像-圖像轉換模型p(x1→2|x1)和p(x2→1|x2)來估計p(x2|x1)和p(x1|x2)兩個條件句,其中x1→2是將x1轉換為x2產生的樣本(類似於x2→1)。一般來說,p(x2|x1)和p(x1|x2)是復雜的多模態分布,在這種情況下,確定性轉換模型不能很好地工作。
為了解決這個問題,我們做了一個部分共享的潛在空間假設。具體來說,我們假設每個圖像xi∈Xi是由兩個域共享的一個內容潛在編碼c∈C和一個特定於單個域的風格潛碼si∈Si生成的。換句話說,來自聯合分布的一對相應的圖像(x1,x2)是由x1 = G∗1(c,s1)和x2 = G∗2(c,s2)生成的,其中c,s1,s2是來自一些以前的分布,G∗1,G∗2是底層的生成器。我們進一步假設G∗1和G∗2是確定性函數,它們的逆編碼器是E∗1= (G∗1)-1和E∗2= (G∗2)-1。我們的目標是學習底層帶有神經網絡的生成器和編碼器函數。注意,盡管編碼器和解碼器是確定性的,但由於s2的依賴性,p(x2|x1)是一個連續的分布。
我們的假設與UNIT[15]中提出的共享潛在空間假設密切相關。雖然UNIT假設了一個完全共享的潛在空間,但是我們假設只有部分潛在空間(內容)可以跨域共享,而其他部分(樣式)是特定於域的,當跨域映射是多對多時,這是一個更合理的假設。
3.2 Model
圖2展示了我們的模型及其學習過程的概述:
類似於Liu等人[15],我們的轉換模型包含用於每個域 Xi (i = 1, 2)的Ei編碼器和譯碼器Gi。如圖2(a)所示,每個自動編碼器的潛在編碼——編碼器映像成內容編碼si和樣式編碼ci,在(ci, si) =(Eis (Xi), Eis (Xi)) = Ei (Xi)。圖像到圖像的轉換是由交換encoder-decoder對實現的,如圖2中所示(b)。例如,將一個圖像x1∈X1轉換為X2,我們首先提取其內容潛在編碼c1 = Ec1 (x1)和隨機繪制來自先驗分布q (s2)∼N(0, I)的風格潛在編碼s2。然后,我們使用G2生成最終的輸出圖像x1→2 = G2 (c1, s2)。我們注意到,雖然先驗分布是單模態的,但由於解碼器的非線性,輸出圖像的分布可以是多模態的。
我們的損失函數包括一個雙向的重建損失,確保編碼器和解碼器是反向的,以及一個將轉換圖像的分布匹配到目標域中的圖像分布的對抗性損失。
Bidirectional reconstruction loss雙向重建損失. 為了了解編碼器和解碼器之間的反方向關系,我們使用了目標函數,該函數鼓勵在 圖像→潛在編碼→圖像(圖像重構) 和潛在編碼→圖像→潛在編碼 上進行重構:
Image reconstruction圖像重構. 給定一個從數據分布中采樣的圖像,我們應該能夠在編碼和解碼后重建它。
Latent reconstruction潛在編碼重構. 給定一個在轉換時從潛在分布中抽取的潛在編碼(風格和內容),我們應該能夠在解碼和編碼后對其進行重構。
我們注意到其他損失術語Lx2recon、Lc2recon和Ls1recon的定義方式類似。我們使用L1重構損失,因為它鼓勵清晰的輸出圖像。
Ls1recon的風格重建損失讓人聯想到之前研究[11,31,44,57]中使用的潛在重建損失。它鼓勵不同的輸出具有不同的風格代碼。內容重構損失Lc2recon鼓勵轉換后的圖像保留輸入圖像的語義內容。
Adversarial loss對抗損失. 我們使用GANs來匹配轉換后圖像的分布到目標數據的分布。換句話說,我們的模型生成的圖像應該與目標域中的真實圖像難以區分。
D2是嘗試去區分轉換后圖像和X2中的真實圖像的判別器。D1和損失Lx2GAN的定義是相似的
Total loss總體損失. 我們聯合去訓練編碼器、解碼器和判別器來優化最終目標,即對抗性損失和雙向重構損失項的加權和。
λx、λc和λs是控制重構項重要性的權重
4 Theoretical Analysis
我們現在建立了框架的一些理論性質。具體地,我們證明了最小化所提出的損失函數會導致:
1)編碼和生成過程中潛在分布的匹配
2)由我們的框架引起的兩個聯合圖像分布的匹配
3)強制一個弱形式的循環一致性約束。
所有的證明都在附錄A中給出。
首先,我們注意到,當轉換后的分布與數據分布匹配且編碼器和譯碼器為逆時,Eq.(5)中的總損失最小。
Proposition命題 1 .
Latent Distribution Matching潛在分布匹配. 在圖像生成方面,現有的自動編碼器和GANs相結合的研究需要將編碼的潛在分布與解碼器在生成時接收到的潛在分布進行匹配,在潛在空間中使用KLD損失[15,40]或對抗損耗[17,42]。如果解碼器在生成過程中接收到一個非常不同的潛在分布,那么自動編碼器訓練將無助於GAN訓練。雖然我們的損失函數不包含明確鼓勵潛在分布匹配的項,但它具有隱式匹配它們的效果。
Proposition命題 2 .
上述命題表明,編碼后的風格分布在最優解上與它們的高斯先驗相匹配。此外,編碼的內容分布與生成時的分布相匹配,即來自其他域的編碼分布。這表明內容空間變成了域不變的。
聯合分布匹配Joint Distribution Matching. 我們的模型學習了兩個條件分布p(x1→2|x1)和p(x2→1|x2),它們與數據分布一起定義了兩個聯合分布p(x1,x1→2)和p(x2→1,x2)。由於它們都被設計成近似相同的潛在聯合分布p(x1,x2),因此它們彼此一致是可取的,即 p(x1, x1→2)= p(x2→1,x2)
聯合分布匹配為無監督圖像到圖像的轉換提供了一個重要的約束條件,是近年來許多方法成功的基礎。在這里,我們證明了我們的模型與聯合分布的最優解相匹配。
Proposition命題 3 .
Style-augmented Cycle Consistency風格增強的循環一致性. 聯合分布匹配可以通過循環一致性約束[8]來實現,假設轉換模型是確定的,邊緣是匹配的[43,67,68]。然而,我們注意到這個約束對於多模態圖像的轉換來說太大了。事實上,我們在附錄A中證明了,如果強制執行循環一致性,轉換模型將退化為確定函數。在接下來的命題中,我們證明了我們的框架允許一種較弱形式的循環一致性,即圖像風格擴展的循環一致性,它存在於圖像風格聯合空間中,更適合於多模態圖像的轉換。
Proposition命題 4 .
直觀地說,風格增強的循環一致性意味着,如果我們將圖像轉換到目標域並使用原始風格將其轉換回來,我們應該獲得原始圖像。風格增強的循環一致性是隱含的雙向重建損失,但顯式執行它可能對某些數據集有用:
5 Experiments
5.1 Implementation Details
圖3顯示了我們的自動編碼器的結構。它由內容編碼器、樣式編碼器和聯合解碼器組成。我們還在PyTorch[69]中提供了一個開源的實現,https://github.com/nvlabs/MUNIT。
內容編碼器Content encoder. 我們的內容編碼器由幾個步長卷積層來對輸入進行下采樣,以及幾個殘差塊[70]來進一步處理它。所有的卷積層之后都跟着instance normalization(IN)[71]。
風格編碼器Style encoder. 該風格編碼器包括幾個步長卷積層,接着是一個全局平均池化層和一個全連接(FC)層。我們風格編碼器中不使用IN層,因為IN移除了代表重要的風格信息的原始的特征均值和方差[54]。
解碼器Decoder. 我們的解碼器從輸入圖像的內容和樣式編碼中重建圖像。它通過一組殘差塊對內容編碼進行處理,最后通過幾個上采樣層和卷積層生成重構圖像。受最近在歸一化層中使用仿射變換參數來表示風格的研究[54,72 - 74]啟發,我們使用自適應實例歸一化(AdaIN)[54]層來裝備殘差塊,其參數由多層感知器(MLP)從風格代碼中動態生成。
z是之前的卷積層的激活,μ、σ是基於channel求得的平均值和標准偏差,γ和β是有MLP產生的參數。請注意,仿射參數是由一個學習網絡生成的,而不是像Huang等人的[54]那樣從一個預先訓練的網絡的統計數據中計算出來的。
判別器Discriminator. 我們使用了Mao等人提出的LSGAN目標。我們使用Wang等人提出的多尺度判別器來引導生成器生成真實的細節和正確的全局結構。
域不變的感知損失Domain-invariant perceptual loss. 感知損失通常計算為輸出和參考圖像之間的VGG[75]特征空間的距離,已經證明當成對監督可用時,其對圖像到圖像的轉換是有益的[13,20]。然而,在無監督的情況下,我們在目標域中沒有參考圖像。我們提出了一種改進的感知損失模型,它具有更強的域不變性,因此我們可以使用輸入圖像作為參考。具體來說,在計算距離之前,我們對VGG特征進行instance normalization[71](不進行仿射變換),以去除包含大量具體域相關信息的原始特征均值和方差[54,76]。在附錄C中,我們定量地展示了instance normalization確實可以使VGG特性更具有域不變性。我們在高分辨率(≥512×512)數據集上發現了域不變感知損失加速訓練,並將其應用於這些數據集。
5.2 Evaluation Metrics
人類偏好Human Preference. 為了比較不同方法生成的轉換輸出的真實性和忠實性,我們在Amazon Mechanical Turk (AMT)進行了人類感知研究。與Wang等人的[20]類似,工作人員得到一個輸入圖像和兩個來自不同方法的轉換輸出。然后給他們無限的時間來選擇哪個轉換輸出看起來更准確。對於每個比較,我們隨機產生500個問題,每個問題由5個不同的工作人員回答。
LPIPS距離。為了測量轉換多樣性,我們計算了與Zhu等人[11]相同輸入的隨機抽樣轉換輸出對之間的平均LPIPS距離[77]。LPIPS由圖像深度特征間的L2加權距離給出。已有研究表明,這與人類的感知相似性密切相關[77]。在Zhu等人的[11]之后,我們使用了100個輸入圖像,並從每個輸入從采樣19個輸出對,總共有1900對。我們使用imagenet預訓練模型AlexNet[78]作為深度特征提取器。
(有條件的) Inception分數。Inception分數(IS)[34]是圖像生成任務的流行度量。我們提出了一個改進的版本,稱為Conditional Inception Score(CIS),它更適合於評估多模態圖像的轉換。當我們知道X2中的模式數以及每個樣本所屬的真實模式時,我們可以訓練一個分類器p(y2| X2)將圖像X2分類為其模式y2。條件即對於一個輸入圖像x1,其轉換樣本x1→2應該被模式覆蓋(因此p (y2 | x1) =∫p (y | x1→2) p (x1→2 | x1) dx1→2應該有高的熵值)和每個樣本應該屬於一個特定的模式(因此p (y2 | x1→2)應該有低的熵值)。結合這兩個要求,我們得到:
為了計算無條件IS,p (y2 | x1)將會被無條件類概率p(y2) =∫∫ p(y|x1→2)p(x1→2|x1)p(x1) dx1 dx1→2替換:
為了獲得高的CIS/IS分數,模型需要生成高質量和多樣化的樣本。IS是對所有輸出圖像多樣性的度量,CIS是對單個輸入圖像的輸出多樣性的度量。在給定輸入圖像的情況下,確定地生成單個輸出的模型將獲得零CIS分數,盡管它在IS下仍然可能獲得高分。我們使用特定數據集上微調的inception-v3 [79]作為分類器,並使用100個輸入圖像和每個輸入的100個樣本來估計Eq.(8)和Eq.(9)。
5.3 Baselines
UNIT[15]。該UNIT模型由兩個具有完全共享潛在空間的VAE-GANs組成。轉換的隨機性來自於高斯編碼器,也來自於VAEs中的dropout層。
CycleGAN [8]。CycleGAN由兩個經過對抗損失和循環重構損失訓練的殘差轉換網絡組成。我們如Isola等人[6]所建議的一樣,在訓練和測試期間使用dropout來鼓勵多樣性。
帶有噪音的CycleGAN*[8]。為了測試我們能否在CycleGAN框架內生成多模態輸出,我們在兩個轉換網絡中加入了噪聲向量。由於我們發現在CycleGAN[8]中殘差的結構忽略了噪聲向量,所以我們使用了在輸入中加入噪聲的U-net結構[11]。在訓練和測試中也會用到dropout。
BicycleGAN [11]。我們所知道的唯一能夠生成連續和多模態輸出分布的圖像-圖像轉換模型。但是,它需要成對的訓練數據。當數據集包含成對信息時,我們將我們的模型與BicycleGAN比較。
5.4 Datasets
- 邊緣↔鞋/手袋(Edges ↔ shoes/handbags)。我們使用的是Isola等人[6]、Yu等人[80]、Zhu等人[81]提供的數據集,這些數據集包含了HED生成的帶有邊緣圖的鞋子和手袋圖像[82]。我們不使用成對的信息訓練一個邊緣↔鞋模型,和另一個邊緣↔手袋模型。
- 動物圖像的轉換。我們從3個類別/域收集圖像,包括家貓、大貓和狗。每個域包含4個模式,它們是屬於同一父類別的細粒度類別。注意,在學習轉換模型時,圖像的模式是未知的。我們為每一對域學習一個單獨的模型。
- 街景圖片。我們實驗了兩個街景轉換任務:
- 合成↔真實(Synthetic ↔ real)。我們在SYNTHIA數據集中的合成圖像和Cityscape數據集中的真實圖像之間進行轉換[83]。對於SYNTHIA數據集,我們使用了SYNTHIA-seqs子集,其中包含了不同季節、天氣和光照條件下的圖像。
- 夏季↔冬季( Summer ↔ winter)。我們使用Liu等人的[15]數據集,其中包含從真實駕駛視頻中提取的夏季和冬季街道圖像。
- 約塞米蒂夏季↔冬季(HD)(Yosemite summer ↔ winter (HD))。我們收集了一個新的高分辨率數據集,包含約塞米蒂的3253張夏季照片和2385張冬季照片。這些圖像被向下采樣,使得每張圖像的最短邊長為1024像素。
5.5 Results
首先,我們定性地比較了MUNIT與上述四個基線,以及三個分別去掉Lxrecon, Lcrecon, Lsrecon的MUNIT變體。圖4為邊緣→鞋的示例結果:
盡管注入了隨機性,UNIT和CycleGAN(有或沒有噪聲)都不能產生不同的輸出。如果沒有Lxrecon或Lcrecon, MUNIT的圖像質量就不能令人滿意。如果沒有Lsrecon,模型將遭受部分模式崩潰,許多輸出幾乎相同(例如,前兩行)。我們完整的模型產生的圖像既多樣又真實,類似於BicycleGAN,但不需要監督。
上述定性觀察通過定量評價得到了證實。我們用人類偏好來衡量質量,用LPIPS距離來評估
多樣性,如第5.2節所述。我們在邊緣→鞋子/手袋的任務上進行了這個實驗。如表1所示:
根據LPIPS距離可知,UNIT和CycleGAN產生的多樣性很少。從MUNIT中移除Lxrecon或Lcrecon會導致質量顯著下降。沒有Lsrecon,質量和多樣性都會惡化。完整的模型獲得的質量和多樣性可與完全監督的BicycleGAN相比,並明顯優於所有非監督的基線。在圖5中,我們將展示更多邊緣↔鞋子/手袋的例子結果:
我們在動物圖像轉換數據集上進行了實驗。如圖6所示:
我們的模型成功地將一種動物轉化為另一種動物。給定一個輸入圖像,其轉換輸出包括多種模式,即,目標域中的多個細粒度動物類別。動物的形狀發生了巨大的變化,但姿勢卻完整地保留了下來。如表2所示:
根據CIS和IS可見我們的模型得到了最高的分數。特別是,基線的CIS值都很低,這表明它們無法從給定的輸入生成多模態輸出。由於IS與圖像質量[34]的相關性很高,我們的方法的IS值越高,說明它生成的圖像質量也比基線方法高。
圖7顯示了街景數據集的結果。
我們的模型能夠從一個給定的城市景觀圖像生成具有不同效果圖(例如,雨、雪、日落)的SYNTHIA圖像,並從一個給定的SYNTHIA圖像生成具有不同燈光、陰影和道路紋理的城市景觀圖像。同樣地,它從給定的夏季圖像中得到不同數量的雪的冬季圖像,以及從給定的冬季圖像中得到不同數量的樹葉的夏季圖像。圖8顯示了示例結果夏季↔冬季轉換的高分辨率約塞米蒂數據集:
我們的算法生成不同光照下的輸出圖像。
示例導向的圖像轉換。與從之前的圖像中提取風格編碼不同,也可以從參考圖像中提取風格編碼。
具體來說,給定一個內容圖像x1∈X1,一個樣式圖像x2∈X2,我們的模型生成一個圖像x1→2,通過x1→2 = G2(Ec1(x1),Es2(x2))對前者的內容和后者的風格進行重新組合。示例如圖9所示:
注意,這類似於經典的風格轉移算法[5,51 - 56],它將一個圖像的樣式轉移到另一個圖像。在圖10中,我們將方法與Gatys等人的[5]、Chen等人的[85]、AdaIN[54]、WCT[55]等經典的轉移算法進行了比較:
由於我們的方法使用了GANs來學習目標域圖像的分布,因此我們的方法得到的結果更加真實可靠。
6 Conclusions
提出了一個多模態無監督圖像到圖像轉換的框架。我們的模型在質量和多樣性上都優於現有的無監督方法,並可與最先進的監督方法相媲美。未來的工作包括將這個框架擴展到其他領域,比如視頻和文本。