HoloGAN: Unsupervised Learning of 3D Representations From Natural Images - 1 - 論文學習


https://github.com/thunguyenphuoc/HoloGAN.

Abstract

我們提出了一種新的生成對抗網絡(GAN),用於從自然圖像中的三維表征的無監督學習。大多數生成模型都依賴於2D內核來生成圖像,並且很少對3D世界進行假設。因此,這些模型傾向於在需要強的3D理解的任務中創建模糊的圖像或偽影,如novel-view合成任務。相反,HoloGAN學習了世界的3D表征,並以一種真實的方式呈現這種表征。與其他GANs不同,HoloGAN通過學習三維特征的rigid-body變換,提供了對生成對象的姿態的顯式控制。我們的實驗表明,使用顯式3D特征使HoloGAN能夠分解3D姿態和身份,進一步分解為形狀和外觀,同時仍然能夠生成比其他生成模型具有類似或更高視覺質量的圖像。HoloGAN只能從未標記的二維圖像中進行端到端訓練。特別是,我們不需要姿態標簽,3D形狀,或同一對象的多個視圖。這表明,HoloGAN是第一個以完全無監督的方式從自然圖像學習3D表征的生成模型。

 

1. Introduction

學習去理解三維物體和二維圖像之間的關系是計算機視覺和計算機圖形學的一個重要課題。在計算機視覺領域,它在機器人、自動駕駛汽車或安全等領域都有應用。在計算機圖形學中,它有利於內容生成和操作的應用程序。其應用范圍從三維場景的逼真渲染,到基於草圖的三維建模,到novel-view的合成或重繪。

最近的生成圖像模型,尤其是生成對抗網絡(GANs),在生成高分辨率和視覺質量 [1, 5, 27, 28, 62]的圖像上取得了令人印象深刻的結果,同時他們的條件版本在圖像到圖像翻譯[23, 50]、圖像編輯[11、12、60]和運動轉移[6、30]上取得了很大的進步。然而,GANs在其應用程序中仍然相當有限,因為它們不允許顯式地控制生成的圖像中的屬性,而條件GANs在訓練期間需要標簽(圖2左),這些標簽並不總是可用的。

即使賦予了姿態信息這樣的標簽,當前的生成圖像模型仍然在需要對3D結構有基本理解的任務中掙扎,比如從單個圖像合成novel-view。例如,使用2D內核來執行3D操作,比如通過平面外旋轉來生成新的視圖,是非常困難的。目前的方法要么需要大量的標記訓練數據,如多視圖圖像或分割掩模[41,52],要么產生模糊的結果[13,14,33,54,57]。盡管最近的工作已經通過使用3D數據來解決這個問題[40,64],但是3D真實數據的捕獲和重建非常昂貴。因此,從未標記的2D圖像中直接學習3D表征也是一種實際的需求。

出於這些觀察,我們專注於設計一種新穎的體系結構,允許圖像3D表征的非監督學習,這使得人們可以直接在生成圖像模型中操縱視圖、形狀和外觀(圖1)。我們的網絡設計的關鍵是將一個與3D世界相關的強歸納bias與深度生成模型相結合去為任務學習更好的表征。計算機圖形的傳統表示,如voxels和網格,在三維中是顯式的,並且易於操作,例如,通過剛體變換進行操作。然而,它們的代價是內存的低效率或離散復雜對象時的模糊性。因此,直接用這樣的表示來構建生成模型是很重要的[43,46,49]。隱式表示,如高維潛在向量或深層特征,在空間上的緊湊和語義上的表達受到生成模型的青睞。然而,這些特性並不是設計用來處理顯式3D轉換的[9,14,20,25,45],其導致了在任務,比如視圖操作,上可視化的偽影和模糊。

 

 

我們提出HoloGAN,一個無監督的生成圖像模型,用來學習不僅能在三維中是顯式的,而且在語義上是可表達的三維對象的表征。這種表征可以直接從未標記的自然圖像中學習。與其他GAN模型不同,HoloGAN同時使用3D和2D特征來生成圖像。HoloGAN首先學習3D表征,然后將其轉換為一個目標姿態,並投影為2D特征,最后渲染生成最終圖像(圖2右)。與最近使用手工制作的可微渲染器[18,22,29,34,36,51,64]不同,HoloGAN使用投影單元[40]從頭開始學習透視投影和3D特征渲染。這種新穎的架構使HoloGAN能夠直接從自然圖像中學習3D表征,因為其沒有使用好的手工制作的可微的渲染器。為了生成相同場景的新視圖,我們直接應用三維的rigid-body轉換到學習的三維特征,並使用共同訓練的神經渲染器可視化結果。這已被證明比在高維潛在向量空間[40]中執行3D轉換產生更清晰的結果。

HoloGAN可以以一種無監督的方式進行端到端訓練,僅使用未標記的2D圖像,不需要對姿態、3D形狀、對象的多視圖或幾何先驗(如在該行業中常見的三維表征的對稱性和平滑性[3,26,45])進行任何監督。就我們所知,HoloGAN是第一個可以從自然圖以一個純粹的無監督的方式直接學習3D表征的生成模型。總而言之,我們的主要技術貢獻是:

  • 這是一種新的結構,將關於3D世界的強歸納bias和深層生成模型結合起來,從圖像中學習三維物體的解耦表征(姿態、形狀和外觀)。該表示在3D上是顯式的,在語義上是可表達的。
  • 是一個無條件的GAN,第一次允許在不犧牲視覺圖像保真度的情況下支持視圖操作。
  • 是一種無監督的訓練方法,能夠在不使用標簽的情況下進行解耦表征學習。

 

2.Related work

 

HoloGAN是GANs、結構感知圖像合成和解耦表征學習的交叉點。在本節中,我們回顧這些領域的相關工作。

2.1. Generative adversarial networks

GANs學會將樣本從任意的潛在分布映射到能夠欺騙鑒別器網絡將其歸類為真實數據[16]的數據。最近關於GAN架構的工作集中在提高訓練穩定性或生成圖像的視覺保真度,如多分辨率GANs[27,61],或自我注意生成器[1,62]。然而,在設計GAN架構上要做的工作要少得多,這種架構能夠實現無監督的解耦表征學習,從而能夠控制生成圖像的屬性。通過注入隨機噪聲並在每次卷積時調整圖像的“style”,StyleGAN[28]可以將細微的變化(如頭發、雀斑)從高級特征(如姿勢、身份)中分離出來,但不提供對這些元素的顯式控制。Chen等人[8]提出的類似方法表明,該網絡設計也獲得了更強的訓練穩定性。這些方法的成功表明,對於訓練穩定性和圖像保真度,網絡結構比GAN損失的具體選擇更為重要。因此,我們也專注於HoloGAN的結構設計,但目標是學習分離姿勢,形狀和外觀,並能對這些元素進行直接操作。

 

2.2. 3D-aware neural image synthesis

最近在神經圖像合成和新視圖合成方面的工作已經發現成功地提高了三維感知網絡生成的圖像的保真度。使用幾何模板的工作極大地提高了圖像的保真度[15,32],但不能很好地推廣到無法用模板描述的復雜數據集。RenderNet[40]介紹了一個使用卷積神經網絡(CNN)的可微的渲染器,它可以學習直接從3D形狀渲染2D圖像。然而,RenderNet在訓練過程中需要3D形狀和相應的渲染圖像。其他方法學習3D嵌入,其可用於生成相同場景的新視圖,而無需任何3D監督[48,51]。然而,Sitzmann等人[51]需要多個視圖和姿勢信息作為輸入,而Rhodin等人[48]需要對成對圖像、背景分割和姿勢信息的監督。視覺對象網絡(VONs)[64]的目的是分離幾何和紋理,首先從三維生成模型中提取三維對象樣本,使用手工制作的可微層將這些對象渲染到normal, depth and silhouette maps中,最后應用一個經過訓練的圖像-圖像轉換網絡。然而,VONs需要顯式的3D數據來進行訓練,並且只適用於簡單的白色背景下的單目標圖像。我們的HoloGAN也學習了一個3D表征,並渲染它產生一個2D圖像,但沒有使用任何3D形狀,並可用於包含復雜背景和多對象場景的真實圖像上。

與我們最接近的研究是Pix2Scene[45],它從圖像學習隱含的3D場景表征,也是以無監督的方式。但是,這種方法將隱式表征映射到一個surfer表征以進行渲染,而HoloGAN使用帶有深度voxels的顯式3D表征。此外,使用手工制作的可微渲染器,Pix2Scene只能處理簡單的合成圖像(統一的材質和光照條件)。另一方面,HoloGAN學會了從零開始渲染,因此可以為更復雜的自然圖像工作。

 

2.3. Disentangled representation learning

解耦表征學習的目的是學習一種因式表示,其中一個因素的變化只影響生成的圖像中相應的元素,而其他因素不受影響。解耦學習中的大多數工作利用了數據集提供的標簽[2,47,55],或者從集合監督中獲益(例如,同一場景的視頻或多幅圖像;超過兩個域具有相同的屬性)[10,14,33]。

最近在無監督的解耦表征學習方面的努力,如β-VAE[20]或InfoGAN[9,24],主要集中在設計損失函數上。然而,這些模型對先驗的選擇很敏感,不能控制學習的因素,也不能保證學習的解耦因素在語義上有意義。此外,β-VAE還需要在生成圖像的質量和解耦水平之間進行權衡。最后,這兩種方法與更復雜的數據集(具有復雜背景和光照的自然圖像)進行斗爭。相比之下,通過重新設計生成器網絡的架構,HoloGAN學會了成功地分離姿態、形狀和外觀,以及提供顯式的姿態控制,實現形狀/外觀編輯,甚至能用於更復雜的自然圖像數據集。

 

3. Method

為了從沒有標簽的二維圖像中學習三維表征,HoloGAN通過引入三維世界的強歸納偏差到生成器網絡中來擴展傳統的無條件GANs。具體來說,HoloGAN通過學習世界的3D表征來生成圖像,並將其渲染得逼真,從而欺騙了判別器。因此視圖操作可以直接應用三維剛體轉換到學習的三維特征來實現。換句話說,由生成器創建的圖像是一個視圖依賴的映射,從一個學習的3D表征到二維圖像空間。這與其他GANs直接學習映射噪聲矢量z到2D特征,以產生圖像是不同的。

圖3說明了HoloGAN生成器架構:首先HoloGAN使用3D卷積(3.1節)學習3D表征(假定為規范姿勢),轉換該表征為某種姿勢,使用投影單元(3.2節)投射和計算能見度,並使用2D卷積計算最終圖像中的每個像素的陰影顏色值。HoloGAN與RenderNet[40]分享了許多渲染的見解,不同在於HoloGAN可以處理自然圖像,不需要預先訓練的神經渲染器,也不需要配對的3D形狀-2D圖像訓練數據。

在訓練期間,我們從一個均勻分布采樣隨機姿勢和使用這些姿勢轉換三維特征,然后將它們渲染成圖像。我們假設每幅圖像都有一個相應的全局姿態(pose),並證明這個假設仍然適用於多目標的圖像。這種隨機的姿態擾動促使生成器網絡學習一種解耦表征,這種表征既適用於三維變換,也適用於生成可以欺騙判別器的圖像。雖然姿態轉換可以從數據中學習,但我們在HoloGAN中提供了一個可微的且能直接顯示實現的操作。使用顯式rigid-body轉換的新視圖合成已證明能產生更清晰的圖像與更少的偽影[40]。更重要的是,這提供了一個能與顯式3Drigid-body轉換兼容的歸納偏差。因此,學習的表征在三維是顯式的,並解開了姿態和身份之間的耦合。

Kulkarni等人[33]將學習到的解耦表征分為內在元素和外在元素。內在元素描述形狀、外觀等,外在元素描述姿態(立面、方位角)和光照(位置、強度)。HoloGAN的設計通過使用更多關於3D世界的歸納偏差,自然有助於這種分離:采用native 3D轉換,來直接控制姿勢(即θ,如圖3所示)到學習到的3D特征,用來控制身份(即z,如圖3所示)。

 

 

3.1. Learning 3D representations

HoloGAN從一個學習到的常量張量中生成3D表示(見圖3的4x4x4x512)。隨機噪聲向量z被當作一個“style”控制器,並在每次卷積后使用多層感知器(MLP)將z映射到仿射參數,用於自適應實例歸一化(AdaIN)[21]。

給定一個圖像x層的一些特征,和噪音“style”向量z,AdaIN可定義為:

 

其中μ()為計算均值, σ()為計算標准差

這可以看作是通過一個模板(學習的常量張量,即圖3的4x4x4x512)的變換來生成圖像,使用AdaIN來匹配訓練圖像不同級別(被認為用來描述圖像“style”)特征的均值和標准偏差。通過實驗,我們發現這種網絡結構比直接將噪聲向量z輸入到第一層生成器的網絡結構能更好地分離姿態和身份。

HoloGAN從StyleGAN[28]繼承了這種基於style的策略,但在兩個重要方面有所不同。HoloGAN首先從一個學習過的4D常數張量(大小為4×4×4×512,最后一個維度為特征通道)中學習三維特征,然后將其投影到二維特征中生成圖像,而StyleGAN只學習二維特征。其次,HoloGAN在訓練中通過將三維特征與rigid-body變換相結合來學習一種解耦的表征,而StyleGAN則在每個卷積中注入獨立的隨機噪聲。因此,StyleGAN學會了根據特征分辨率將2D特征分割成不同層次的細節,從粗糙的(如姿勢、身份)到更精細的細節(如頭發、雀斑)。我們在HoloGAN觀察到類似的分離。然而,HoloGAN進一步分離了姿勢(由3D變換控制)、形狀(由3D特征控制)和外觀(由2D特征控制)。

值得強調的是,為了生成128×128(與VON相同)的圖像,我們使用了尺寸為16×16×16×64的深度3D表示。即使在如此有限的分辨率下,比其他使用全三維幾何的方法,如分辨率為128×128×128×1的VON網格[64],HoloGAN仍然可以生成具有競爭力的質量和更復雜的背景的圖像。

 

3.2. Learning with view-dependent mappings

除了使用3D卷積來學習3D特征之外,在訓練過程中,我們通過將這些學習到的特征轉化為隨機姿態,再投影到2D圖像中,從而引入更多關於3D世界的偏差。正如DR-GAN中的Tran等人[55]所觀察到的那樣,這種隨機姿勢變換對於保證HoloGAN學習出一種可以從所有可能的視圖中分解和渲染的3D表征是至關重要的。然而,HoloGAN執行顯式的3D rigid-body轉換,而DR-GAN使用隱式的向量表征來執行此轉換。

Rigid-body transformation. 我們假設一個虛擬針孔 攝像機相對於被渲染的3D特征處於標准姿態(軸對齊並沿負z軸放置)。我們通過三維旋轉、縮放和三線性重采樣來參數化rigid-body變換。盡管我們的框架在本質上支持翻譯,但我們沒有在這項工作中使用它。假設物體坐標系的上向量為全局y軸,旋轉包括圍繞y軸(方位角)和x軸(仰角)的旋轉。姿態采樣范圍的詳細信息包括在補充文件中。

Projection unit. 為了從二維圖像中學習有意義的三維表示,HoloGAN學習了一個可微投影單元[40],它可以在遮擋下推理。特別地,投影單元接收一個4D張量(3D特征),並返回一個3D張量(2D特征)。由於訓練圖像是用不同的視角捕捉的,因此HoloGAN需要學習視角投影。

然而,由於我們不了解相機特性,所以我們使用了兩層3D卷積(沒有AdaIN)在3D表示投影到2D特征之前將其變形為透視frustum(即圖3紅色和藍色中間的兩層卷積)。

投影單元由一個g層組成,該reshapin層將通道維與深度維連接起來,從而將張量維從4D(W×H×D×C)降為3D(W×H×(D·C)),以及一個帶有非線性激活函數(該實驗中使用的是leakyReLU[37])的MLP來學習遮擋。

 

 

 

3.3. Loss functions

Identity regulariser. 為了生成高分辨率圖像(128×128像素),我們發現增加身份規范Lidentity有利於確保一個從生成圖像中重建的向量與使用在生成器G中的潛在向量z相匹配 。我們發現其僅鼓勵HoloGAN在姿勢多種多樣時,使用用於身份的z去保持對象的身份,幫助模型學習數據集中姿勢的全部變量。我們引入了一個編碼器網絡F,它與判別器共享大部分卷積層,但使用一個額外的全連接層來預測重構的潛在向量。身份損失為:

 

Style discriminator . 我們的生成器設計去匹配不同層次的訓練圖像的“style”,有效地控制不同尺度的圖像屬性。因此,除了能夠區分真假圖像的圖像判別器之外,我們還提出了在特征水平上執行相同任務的多尺度風格鑒別器。特別是,風格判別器試圖將均值μ(Φl)和標准差σ(Φl)分類,它們用來描述圖像“style”[21]。經驗上,多尺度風格識別器有助於防止模式崩潰,並實現長時間訓練。給定層的style判別器,style損失定義為:

 其中所有實驗使用。LGAN使用的是DC-GAN[44]的GAN損失

 

4. Experiment settings

 Data. 我們使用各種數據集訓練HoloGAN: Basel Face [42], CelebA [35], Cats [63], Chairs [7], Cars [58], 和 LSUN bedroom [59]。對Cats和Chairs我們訓練HoloGAN的分辨率為64×64像素,對於Basel Face, CelebA, Cars 和 LSUN bedroom分辨率為128×128像素。關於數據集和網絡架構的更多細節可以在補充文檔中找到。

注意,只有Chairs數據集包含同一對象的多個視圖;所有其他數據集只包含唯一的單個視圖。對於這個數據集,由於ShapeNet [7] 3D椅子模型(6778個形狀)的數量有限,我們為每把椅子從60個隨機抽樣視圖中渲染圖像。在訓練過程中,我們確保每一batch椅子都包含着完全不同類型的椅子,防止網絡使用set監督,即在同一批椅子中從不同的角度看同一把椅子,來進行作弊。

Implementation details. 生成器采用自適應實例歸一化(AdaIN)[21],判別器采用實例歸一化[56]和光譜歸一化[39]相結合的方法。詳見我們的補充文件。

我們使用Adam求解器[31]從頭開始訓練HoloGAN。為了在訓練期間生成圖像,對進行采樣,也從均勻分布中采樣隨機姿勢(更多關於姿態采樣的細節可以在補充文檔中找到)。我們對所有數據集使用|z| = 128,除了128x128的Cats數據集,其我們使用|z| = 200。

 

 

 

5. Results

我們首先展示HoloGAN在復雜性的增加的數據集上的定性結果(第5.1節)。其次,我們提供了定量證據,表明HoloGAN能夠比其他基於2D的GAN模型生成具有可比或更高視覺保真度的圖像(章節5.2)。我們還展示了使用我們學習的3D表征進行圖像生成的有效性(第5.3節),與顯式的3D幾何圖形(二進制voxel網格)作比較。然后我們展示HoloGAN如何學習解耦形狀和外觀(第5.4節)。最后,我們進行消融研究,以證明我們的網絡設計和訓練方法的有效性(第5.5節)。

5.1. Qualitative evaluation

從圖1、圖4、圖6和圖7b可以看出,HoloGAN可以在多個不同數據集保持相同身份的情況下,沿方位角和仰角平滑地改變姿態。請注意,LSUN數據集包含多個對象的各種復雜布局。這使得它成為一個非常具有挑戰性的數據集,學習從對象身份的姿態。

在補充文檔中,我們展示了Basel Face數據集的結果。在保持姿態不變的情況下,利用噪聲向量進行線性插值,證明了HoloGAN能夠平滑地插值兩個樣本的身份。這表明,盡管在訓練中沒有看到任何姿勢標簽或3D形狀,但HoloGAN正確地學習了明確的深層3D表示,將姿勢與身份分離。

 

 

 

Comparison to InfoGAN [9]. 在從分辨率為64×64像素的CelebA數據集[35]上學習從姿態中分離身份的任務中,我們將我們的方法與InfoGAN方法相對比。由於該數據缺乏公開可用的代碼和超參數,我們使用已發表論文中的CelebA數字。我們也在Cars數據集上嘗試了官方的InfoGAN實現,但無法成功地訓練模型,因為InfoGAN似乎對先驗分布的選擇和要恢復的潛在變量的數量高度敏感。

從圖5可以看出,HoloGAN成功地恢復了,並且在保持生成圖像中目標的身份的同時,對方位角提供了更好的控制。HoloGAN還可以恢復仰角高度(圖6b,右),盡管在CelebA數據集中仰角變化有限,但InfoGAN不能變化仰角。最重要的是,不能保證InfoGAN總是恢復控制對象姿態的因素,而HoloGAN通過rigid-body變換顯式地控制了這一點。

 

5.2. Quantitative results

為了評估生成圖像的視覺保真度,我們使用 Bin ́kowski et al. [4]的Kernel Inception Distance (KID)進行評估。KID計算真實圖像和生成圖像的特征表示(從Inception模型[53]開始計算)之間的最大平均差異平方。與FID[19]相比,KID有一個無偏估計量。KID得分越低,生成的圖像的視覺質量越好。在表1中的3個數據集上,我們將HoloGAN與其他最近的GAN模型:DCGAN[44]、LSGAN[38]和WGAN-GP[17]進行了比較。注意,KID沒有考慮特征的分離,這是HoloGAN的一個主要貢獻。

我們使用了一個公開可用的實現,並對所有三個數據集使用了該實現提供的相同的超參數(為CelebA調優)。同樣,對於HoloGAN,我們對所有三個數據集使用相同的網絡架構和超參數。我們從每個模型中抽取20,000張圖片來計算KID的分數,如下所示。

表1顯示,HoloGAN可以在更具挑戰性的數據集,如Chairs(具有較高的類內差異性)和Cars(具有復雜的背景和光照條件),上生成具有競爭性(對於CelebA)或甚至更好的KID得分的圖像。這也表明,HoloGAN架構具有更強的魯棒性,能夠在不同數據集之間以相同的超參數集(除了方位角范圍)一致地生成高視覺逼真度的圖像。我們在補充文檔中包含了這些模型的可視化示例。更重要的是,HoloGAN學會了一種允許對生成圖像進行操作的不糾纏表示。這是一個巨大的優勢,與β-VAE[20]這樣的方法相比,后者必須在圖像質量和已學會特征的解糾纏程度之間做出妥協。

 

 

5.3. Deep 3D representation vs. 3D geometry

在此,我們在生成汽車圖像的任務上將我們的方法與最先進的視覺對象網絡(VON)[64]進行比較。我們使用作者提供的訓練過的模型和代碼。雖然VON也采用了一種分離的方法來生成圖像,但它在訓練中依賴於3D形狀和silhouette masks,而HoloGAN沒有。圖7b顯示,我們的方法可以生成具有復雜背景、真實陰影和具有競爭性的視覺保真度的汽車圖像。請注意,為了生成128×128的圖像,VON使用128×128×128×1分辨率的全二進制voxel幾何,而HoloGAN使用高達16×16×16×16×64分辨率的深度voxel表示,這在空間上更加緊湊和富有表現力,因此HoloGAN可以生成復雜的背景和陰影。如圖7a中着重標明的(紅色線)結果,VON也傾向於改變汽車的身份,比如在某些視圖改變顏色或形狀,而HoloGAN則保持汽車在所有視圖中的身份。此外,HoloGAN可以在360度視圖下生成汽車圖像(圖7),而VON在從后面視圖生成圖像中效果不好。

傳統的voxel網格會占用大量內存。HoloGAN暗示了使用顯式的深度voxel表示來生成圖像的巨大潛力,而不是在傳統的渲染管道中使用完整的3D幾何圖形。例如,在圖6c中,我們使用16×16×16×64分辨率的3D表示來生成整個卧室場景的圖像。

 

5.4. Disentangling shape and appearance

這里我們展示了除了姿勢之外,HoloGAN還學會了將身份進一步划分為形狀和外觀。我們抽取了兩個潛在代碼z1和z2,並輸入到HoloGAN。z1控制3D特性(在透視變形和投影之前),z2控制2D特性(在投影之后)。圖8顯示了具有相同姿勢的生成圖像,他們有相同的z1,但是每行有不同的z2。可以看到,3D特性控制對象的形狀,而2D特性控制外觀(紋理和照明)。這表明,通過使用3D卷積來學習3D表示,使用2D卷積來學習陰影,HoloGAN學會了直接從未標記的圖像中分離形狀和外觀,允許單獨操作這些因素。在補充文檔中,我們提供了進一步的結果,在這些結果中,我們為不同分辨率的3D特征使用了不同的潛在代碼,並展示了控制整體形狀的特征和更細粒度的細節(如性別或妝容)之間的分離。

 

5.5. Ablation studies

我們現在進行了一系列的研究,以證明我們的網絡設計和訓練方法的有效性。

Training without random 3D transformations. 對於HoloGAN來說,在訓練過程中隨機旋轉3D特征是至關重要的,因為它可以鼓勵生成器學習姿態和身份之間的一種不耦合的表征。在圖9中,我們顯示了在訓練期間使用和不使用3D轉換的結果。對於未經三維變換訓練的模型,我們在模型訓練完成后,通過人工旋轉學習到的三維特征來生成旋轉后的物體圖像。可以看出,該模型仍然可以生成視覺逼真度較好的圖像,但是當姿態發生變化時,完全不能生成有意義的圖像,而HoloGAN可以很容易地生成相同物體在不同姿態下的圖像。我們相信,訓練期間的隨機變換迫使生成器學習有意義的經過幾何變換的特征,同時仍然能夠生成可以欺騙鑒別器的圖像。因此,我們的訓練策略鼓勵HoloGAN學習身份和姿態的一種解耦的表征。

 

Training with traditional z input. 通過從一個學習好的常數張量開始,並使用噪聲向量z作為不同級別的“style”控制器,HoloGAN可以更好地從身份中分離出姿勢。這里我們執行另一個實驗,我們將z輸入到生成器網絡的第一層,就像其他GAN模型一樣。從圖9可以看出,使用傳統輸入訓練的模型混淆了姿勢和身份。因此,當物體旋轉時,模型也會改變物體的身份,而HoloGAN可以沿方位角平滑地改變姿態並保持身份不變。

一項額外的消融研究顯示身份調節器的有效性,其包括在補充文件中。

 

6. Discussion and conclusion

雖然HoloGAN能夠成功地學會從身份中分離出姿勢,但它的表現取決於訓練數據集中所包含的姿態的變化和分布。例如,對於CelebA和Cats數據集,模型無法恢復仰角和方位角(見圖6a,b),因為大多數人臉圖像是在眼睛水平面上拍攝的,因此只包含有限的仰角變化。使用錯誤的姿勢分布也可能導致角度映射錯誤。目前,在訓練過程中,我們從均勻分布中隨機采樣。因此,未來的工作可以探索以無監督的方式從訓練數據中學習姿態分布,以解釋不均勻的姿態分布。其他的探索方向包括進一步解耦物體的外觀,如紋理和光照。最后,將HoloGAN與訓練技術(如progressive GANs[27])結合起來生成更高分辨率的圖像將是很有趣的。

在這項工作中,我們展示了HoloGAN,一個生成圖像模型,通過對3D世界采用強歸納偏差,以無監督的方式從自然圖像中學習3D表征。HoloGAN可以用未標記的2D圖像進行端到端訓練,並學會分解具有挑戰性的因素,如3D姿態、形狀和外觀。這種分離提供了對這些因素的控制,同時能夠生成與基於2D的GANs類似或更高的視覺質量的圖像。我們的實驗表明,HoloGAN成功地在不同復雜度的多個數據集上學習有意義的3D表征。因此,我們確信,與現有的顯式(meshs、voxels)或隱式[14,45]3D表征相比,顯式深度3D表征對於GAN模型的可解釋性和可控性都是至關重要的一步。

 

 


免責聲明!

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



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