風格遷移2-03:MUNIT(多模態無監督)-白話給你講論文-翻譯無死角(1)

以下鏈接是個人關於 MUNIT(多模態無監督)-圖片風格轉換,的所有見解,如有錯誤歡迎大家指出,我會第一時間糾正。有興趣的朋友可以加微信 a944284742 相互討論技術。若是幫助到了你什麼,一定要記得點贊!因爲這是對我最大的鼓勵。
風格遷移2-00:MUNIT(多模態無監督)-目錄-史上最新無死角講解

話不多說,我們直接開始論文的翻譯吧

Abstract.

在計算機視覺領域,無監督圖片到圖片的轉換,是一個比較重要,同時挑戰性比較高的問題。在源域和目標域沒有任何成對圖下的條件下,給出源域的一張圖片,學習到在目標域的條件分佈。然而這種條件又存在多模態的現象,現在存在的一些解決方案,做了一些簡單的假設,認爲他們是確定性,一一對應的關係,因此他們無法給予源域的一張圖像,生成多張目標域的圖像。爲了解決這種侷限性,我們提出了
Multimodal Unsupervised Image-to-image
Translation (MUNIT) 框架,我們的假設是:
一張圖片能被分解成 content code 以及 style code,其中 style code 能夠捕獲到域的特殊屬性。對於一張源域圖像到目標域的轉換,我們只需要重新組合content code 以及 style code,其中 style code 來自於目標域空間。

我們分析了這種框架,並且建立了幾個理論結果。廣泛的實驗,以及和目前最先進的模型進行對比,證明了該框架的優勢,同時還能對 style 進行控制。

1 Introduction

在計算機視覺領域,很多問題都是圖片到圖像的轉換,如super-resolution , colorization , inpainting , attribute , transfer , and style transfer。這種交叉域,圖像到圖像的轉換,吸引了很大的注意力。如果訓練數據集已經包含了成對的圖像,這個問題很容易通過一個條件 GAN 或者簡單的迴歸解決,在這次工作中,我們主要研究沒有成對圖像,也就是無監督的情況。
在很多情況下,交叉域的映射都是多模態的,比喻一個冬天的場景能夠轉換成夏天,白天,晚上等。但是遺憾的是,現的技術都是單模態的轉換。所以,他們是沒有能力去捕獲所有輸出結果的分佈,即使添加了隨機噪聲,因爲這種噪聲,網絡在學習的過程中,很容易忽略掉。
在這篇論文中,爲了多模態,無監督圖像到圖像的轉換,我們提出了一個有條例的 Multimodal UNsupervised Image-to-image Translation (MUNIT) 方法,首先我們假設圖像的 style spacelatent space 能被分解到一個content space 和一個 style space,然後進一步假設,不同域之間是共現一個content space,但是都有自己獨特的style space。把一張圖像轉換到目標域,我們使用該圖像的 content space ,和目標域隨機的一個style space進行重組,如下圖(Fig. 1):
在這裏插入圖片描述

Fig. 1,圖解:這是我們方法的一個插圖。
(a)在域 xix_i 中的每一張圖像,都被編碼到一個域共享的 content space CC 和 一個域獨特的 style space SiSi, 每個編碼器都對應着一個解碼器,但是圖中已經省略了。
(b) 例如域 x1x_1的一張圖像 (美洲豹),域 x2x_2 的一張圖像(家貓),我們讓輸入圖片的content code 和 目標 style space 中隨機的一個 style code 組合。不同的style codes 將導致不同風格圖片輸出

在圖片轉換的過程中,輸入圖片的 content code 應該保持不變, style code 代表圖像的主要變化信息。通過和不同的style code結合,我們的模型有能力去生成各種各樣的圖像。其中的style code除了可以隨機給定之外,也可以從目標域的一張圖片提取而來。

2 Related Works

Generative adversarial networks (GANs): GAN框架生成的圖片,已經達到一個很驚人的效果。所以我們也採用了GAN爲框架,去做圖片轉換。
Image-to-image translation: Isola 第一次提出了基於條件GAN的圖像轉換,後面又出現了生成高分辨率圖像的 Wang GAN,最近大家也開始研究無監督的圖像轉換。這種無監督的學習,本質上網絡是很難適應的,所以要添加一些額外的約束,所以一些工作強制保證圖片源域的某些屬性(如像素值,像素梯度,語義特徵,類別或者成對的樣本距離等)。其他的一些比較流行的又cycle
consistency loss,他能強制圖像轉換到目標域,並且返回,然後得到原圖像。另外 Liu 等人提出了 UNIT 框架,其中使用了 shared latent space,即把兩不同域的 latent space 映射到一個 space。

現在大多數圖像翻譯的限制,在於輸出圖像的多樣性不足。爲了解決這個問題,一些工作提出了給入一個輸出,同時生成多個的方式,並鼓勵他們生成不同的圖像。然而,這些方法只能產生不連續,比較分散的圖片。Zhu 等人提出了BicycleGAN ,其能生成多種不同的分佈,但是他們的訓練需要成對的輸入。然而我麼你的框架不需要。

當我們知道一個域中有多少種模態,同時又知道每個張圖片屬於那個模態,我們可以把每種模態都當作一個域來對待。但是在實際的應用中,這樣的數據集是很難找的,但是我們的隨機模型可以把多個模態,當作連續的分佈。,然當也需要每個模態配對進行訓練。

Style transfer: Style transfer的目的是保證輸入圖片的主要內容不變,去改變他的風格。其和圖像到圖像的翻譯是緊密相關的。這裏,我們對示例引導的Style transfer 做了區分,其中分爲目標樣式來自單個示例,集合樣式傳輸(目標樣式由一組圖像定義)。古典的style transfer 方法通常解決前一種問題。而圖像到圖像的翻譯方法在後者中表現良好。我們的方法,能同時解決這兩個問題,其主要受益於content code 和 style space 的分離。

3 Multimodal Unsupervised Image-to-image Translation

3.1 Assumptions:
x1X1x_1 \in X_1, x2X2x_2 \in X_2 ,即 x1x2x_1,x_2 來自於不同的兩個域,在無監督圖片翻譯的過程中,從兩個邊緣分佈 p(x1)p(x_1)p(x2)p(x_2) 中抽取樣本,並且他們並不是連續的。我們的目的是爲了使用模型 p(x12x1)p(x_{1→2}|x_1)p(x21x2)p(x_{2→1}|x_2) 去估算條件概率 p(x2x1)p(x_{2}|x_1)p(x1x2)p(x_{1}|x_2),這裏的(x12(x_{1→2} 表示的是圖下 x1x_1 到域 X2X_2 的翻譯。在一般情況下,p(x1)p(x_1)p(x2)p(x_2) 是多維度,高複雜的,這個時候,確定性的圖像翻譯效果是比較差的。

爲了解決這種麻煩,我你們提出了partially shared latent space 得假設,例如,XiX_i 域中的每一張圖片 xix_i 是由一個content
latent code cCc \in C (該content space 是和其他域是共享的),和一個style latent code KaTeX parse error: Undefined control sequence: \n at position 3: s \̲n̲ ̲S_i(該style space 是每個域獨特的)構成。換句話說,來自連續分佈的兩張圖片(x1,x2)(x_1, x_2),是通過x1=G1(c,s1)x_1=G^*_1(c,s1)x2=G2(c,s2)x_2=G^*_2(c,s2) 生成,這裏的 c,s1,s2c, s_1, s_2 來自於一些先驗分佈,G1,G2G^*_1, G^*_2 是潛在的生成器。我們進一步假設,G1,G2G^*_1, G^*_2 具備特定性的功能,他們能夠被反過來編碼作用,即:E1=(G1)1E^*_1 = ({G^{*}_1})^{-1}E2=(G2)1E^*_2 = ({G^{*}_2})^{-1}。我們的目的是學習其上的 EE^*(編碼),GG^*(解碼)。注意的是,這裏的編碼和解碼都是確定性的。
fully shared latent space 是由 UNIT 論文提出的,我們的只是部分空間進行了共享,即 content space。

3.2 Model
Fig. 2(下圖)是我們模型的處理過程,其中每個域XiX_i都包含了一個編碼器EiE_i,以及一個解碼器GIG_I,如圖所示:
(a):提取出來的每個latent code ,會被分解成 content code cic_i,以及 style code sis_i,這裏的 (cic_i; sis_i) = (Eic(xi),Eis(xi))=Ei(xi)(E^c_i(x_i),E^s_i(x_i))=E_i(x_i),圖片轉換的過程中,編碼器和解碼器是成對實現的。
(b):對於一個樣本x1X1x_1 \in X_1轉換到域x2x_2,我們首先提取 content latent code c1=E1c(x1)c_1 = E_1^c(x_1) 以及來自於先驗分佈q(s2)N(0,1)q(s_2) - N(0,1) 隨機抽取的 style latent code S2S_2,然後使用G2G_2去生成這個最後的結果 x12=G2(c1,s2)x_{1→2} = G_2(c_1,s_2)。我們注意到,雖然先驗分佈分佈是確定的,但是由於解碼器的非線性,可以生成多模態的圖片。
在這裏插入圖片描述
Fig. 2註解(模型概述):我們的模型包含了兩個自動解碼器(圖示的紅色和藍色部分),對於每一個域的 latent code 都被自動編碼器分解成一個 content code cc 和一個 style code ss。我們使用對抗網絡進行訓練,確保其生成的圖片和真實圖片難以區分(圖中點部分),以及雙向目標重建(圖中虛線)。

我們的使用了:
bidirectional reconstruction loss,他能保證編碼器和譯碼器是可以反轉的。
adversarial loss:他能讓模型學習到目標域的數據分佈

Bidirectional reconstruction loss: 學習彼此相反的編碼器和解碼器,使用該loss,確保兩個圖片都能完成:image → latent → image and latent → image → latent。
Image reconstruction: 給定一個從數據分佈中採樣的圖像,我們應該能夠在編碼和解碼後重建它
Lreconx1=Ex1p(x1)[G1(E1c(x1),E1s(x1))x11]L^{x_1}_{recon} = E_{x_1∼p(x_1)}[||G_1(E_1^c(x_1),E_1^s(x_1))-x_1||_1]
 
Latent reconstruction: 給出一個 來自於latent distribution 的 latent code(style 或者 content) ,我們應該能夠在編碼和解碼後重構它
Lreconc1=Ec1p(c1),,s2q(s2)[G1(E2c(G2(c1,s2))c11]L^{c_1}_{recon} = E_{c_1∼p(c_1),,s_2∼q(s_2)}[||G_1(E_2^c(G_2(c_1,s_2))-c_1||_1]Lrecons2=Ec1p(c1),,s2q(s2)[G1(E2s(G2(c1,s2))s11]L^{s_2}_{recon} = E_{c_1∼p(c_1),,s_2∼q(s_2)}[||G_1(E_2^s(G_2(c_1,s_2))-s_1||_1]這裏的q(s2)q(s_2)表示先驗分佈N(0,1)N(0,1)p(c1)p(c_1) 是由c1=E1c(x1)c_1=E_1^c(x_1)x1p(x1)x_1∼p(x_1)給出。
我們注意到其他的Lreconx2L_{recon}^{x_2}Lreconc2L_{recon}^{c_2} 以及 Lrecons1L_{recon}^{s_1} 的定義都是十分相似的,我們使用 L1L1 重構 loss,鼓勵網絡輸出理想的結果。

style 重構 loss LreconsiL^{s_i}_{recon}讓人聯想到之前的一些工作,他們有效激勵網絡輸出不同的結果。這個 content loss LreconciL^{c_i}_{recon} 保護了輸入圖像的 content 信息。
 

Adversarial loss: 我們使用GANs來匹配翻譯後圖像的分佈和目標數據的分佈。
LGUNx2=Ec1p(c1),s2q(s2)[log(1D2(G2(c1,s2)))]+Ex2p(x2)[logD2(x2)]L_{GUN}^{x_2} = E_{c_1∼p(c_1),s_2∼q(s_2)}[log(1-D_2(G_2(c_1,s_2)))] + E_{x_2∼p(x_2)}[logD_2(x_2)]這裏的 D2D_2 是鑑別生成的圖像是否符合域 X2X_2 的分佈, 鑑別器 D1D_1 以及 LGANx1L_{GAN}^{x_1} 的定義也是類似的。
 

Total loss: 我們集合了編碼器,解碼器,鑑別器的 loss,當作最後優化的目標,其爲對抗性損失和雙向重建損失項的加權和,如下:
minE,E1,G1,G2  minD1,D2L(E1,E2,G1,G2,D1,D2)=LGANx1+LGANx2+λx(Lreconx1+Lreconx2)+λc(Lreconc1+Lreconc2)+λs(Lrecons1+Lrecons2){\underset {E_,E_1,G_1,G_2} {min} ~~ \underset {D_1,D_2} {min}} ^{L(E_1,E_2,G_1,G_2,D_1,D_2)}=L_{GAN}^{x_1} + L_{GAN}^{x_2} + λ_x(L^{x_1}_{recon} + L^{x_2}_{recon}) + λ_c(L^{c_1}_{recon} + L^{c_2}_{recon}) + λ_s(L^{s_1}_{recon} + L^{s_2}_{recon})這裏的λx,λc,λsλ_x, λ_c, λ_s 是控制每項 loss 的權重參數。
 

4 Theoretical Analysis

我們建立了框架的一些理論性質,證名了當我們提出的 loss 達到最小值的時候,需要符合以下要求:
(1)在編碼和生成的過程中,對 latent 分佈進行匹配
(2)由我們的框架引起的兩個聯合圖像分佈的匹配
(3)執行弱形式的循環一致性約束(也就是循環一致性 loss 佔比不能太高了吧-猜測 )
Proposition 1: 假設存在E1E_1^*E2E_2^*G1G_1^*G2G_2^*:
(1) E1E_1^* =(G1)1(G_1^*)^{-1}E1E_1^* =(G1)1(G_1^*)^{-1}
(2) p(x12)=p(x2)p(x_{1→2}) = p(x_2)p(x12)=p(x2)p(x_{1→2}) = p(x_2),
(3) E1,E2,G1,G2minimizesL(E1,E2,G1,G2)=maxD1,D2L(E1,E2,G1,G1,D1,D1)E_1^*,E_2^*,G_1^*,G_2^* minimizes L(E_1, E_2, G_1, G_2) = \underset {D_1,D_2}{max}L(E_1, E_2, G_1, G_1,D_1,D_1)
 

Latent Distribution Matching : 在圖像生成方面,現有的自動編碼器和GANs相結合的工作,需要將編碼的潛在分佈,與解碼器生成時接收到的潛在分佈進行匹配。使用KLDKLD loss 或者 adversarialadversarial loss,如果解碼器在生成過程中接收到一個非常不同的潛在分佈,那麼自動編碼器訓練將無助於GAN訓。雖然我們的損失函數不包含明確鼓勵潛在分佈匹配的項,但它具有隱式匹配它們的效果
Proposition 2. 當訓練達到最優的時候:
p(c1)=p(c2)p(s1)=q(s2)p(s2)=q(s2)p(c_1) = p(c_2), p(s_1) = q(s_2),p(s_2) = q(s_2)上面的命題,只有達到最優解的時候成立,編碼 style 的分佈去匹配 Gaussian 先驗,此外,編碼 content 分佈與生成時的分佈相匹配,即來自其他域的編碼分佈,這表明內容空間變成了域不變的。
 

Joint Distribution Matching: 我們的模型學習了p(x12x1)p(x_{1→2}|x_1)p(x21x2)p(x_{2→1}|x_2)的條件分佈,把他們的兩個分佈聯合到一起表示爲p(x1,x12)=p(x21,x2)p(x_1,x_{1→2}) = p(x_{2→1},x_2)。聯合分佈匹配爲無監督圖像到圖像的翻譯提供了一個重要的約束條件,是最近許多方法成功的原因 ,這裏,我們證明了我們的模型與聯合分佈的最優性匹配。
Proposition 3: 當達到最優解的時候,存在p(x1,x12)=p(x21,x2)p(x_1,x_{1→2}) = p(x_{2→1},x_2)
 

Style-augmented Cycle Consistency 聯合分佈匹配可以通過循環一致性約束來實現,然而,我們注意到這個約束對於多模態圖像的翻譯來說太大了,事實上,我們在附錄A中證明了,如果強制執行循環一致性,轉換模型將退化爲確定性函數。在下面的命題中,我們證明了我們的框架允許較弱形式的循環一致性 loss,稱爲風格增強的循環一致性,圖像風格連接的空間,更適合多模態圖像的翻譯。
Proposition 4: h1=(x1,s2)H1h_1 = (x1, s2) \in H_1h2=(x2,s1)H2h_2 = (x2, s1) \in H_2h1,h2h1,h2是圖像和樣式的聯合空間中的點, 我們的模型是 F12F_{1→2}(從H1H_1H2H_2)的確定性映射,表示爲F12(h1)=F12(x1,x2)F_{1→2}(h_1)=F_{1→}2(x_1,x_2) = (G2(E1c(x1),s2))(G_2(E_1^c(x_1),s_2))。達到最優解的時候還存在F12=F211F_{1→2} =F_{2→1}^{-1}
很直觀的我們可以知道,循環一致性意味着,如果一張圖片編譯到目標域,我們就可以根據原來的style返回得到原來的圖像。雙向重建損失隱含了風格增強的週期一致性,顯式地加強它對於某些數據集利用率。
Lccx1=Ex1p(x1),s2q(s2)[G1(E2c(G2(E1c(x1),s2)),E1s(xx))x11]L_{cc}^{x_1} = E_{x_1∼p(x_1),s_2∼q(s_2)}[||G_1(E_2^c(G_2(E_1^c(x_1),s_2)),E_1^s(x_x))-x_1||1]

5 Experiments

5.1 Implementation Details

在這裏插入圖片描述
Fig.3 圖解:在我們自動編碼架構中,content 編碼器是由幾個卷積層和殘差塊構成。style 編碼器由幾個下采樣卷積和一個global average pooling 以及一個全連接層組成。解碼器是由一個MLP去生成一組來自style code的AdaIN參數,然後,content code 由帶有AdaIN層殘差模塊進行處理,最後通過上採樣和卷積層解碼到圖像空間。

翻譯到這裏很累了,我們下篇博客再繼續吧。

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