3D對象的生成模型在VR和增強現實應用中越來越受歡迎。但使用標準的3D表示(如體素或點云)來訓練這些模型是具有挑戰性的,并且需要復雜的工具來進行適當的顏色渲染。神經輻射場(NeRF)在從一小部分2D圖像合成復雜3D場景的新視圖方面提供了最先進的質量。
作者提出了一個生成模型HyperNeRFGAN,它使用超網絡范式來生成由NeRF表示的三維物體。超網絡被定義為為解決特定任務的單獨目標網絡生成權值的神經模型。基于GAN的模型,利用超網絡范式將高斯噪聲轉換為NeRF的權重。通過NeRF渲染2D新視圖,并使用經典的2D判別器以隱式形式訓練整個基于GAN的結構。
提出了基于NeRF的隱式GAN架構——第一個用于生成高質量3D NeRF表示的GAN模型。與基于 SIREN 的架構相比,利用NeRF的超網絡范式可以獲得更好的3D表示質量。該模型允許從無監督的2D圖像合成3D感知圖像。
筆者個人體會
這篇論文的動機是提出一種從2D圖像生成高質量的3D物體的新方法,并且使用NeRF(Neural Radiance Fields)表示來重建物體的3D結構,以填補現有研究中的空白并解決傳統方法的局限性。NeRF是一種基于神經網絡的表示方法,可以通過從不同視角觀察的2D圖像重建出完整的3D物體。
傳統的方法通常需要大量的3D訓練數據或者深度信息,但這些數據往往難以獲取或者成本較高。而作者的方法可以利用2D圖像生成3D物體,無需額外的深度信息或大量的3D數據集,從而降低了數據收集的難度和成本。
此外,NeRF表示能夠捕捉到物體的細節和視角變化,生成的3D物體具有高質量和準確性。
論文的核心創新是結合了HyperNetworks和NeRF的思想,提出了HyperNeRFGAN模型,將NeRF表示作為生成3D物體的基礎,并利用HyperNetworks生成NeRF網絡的權重,以實現從2D圖像到3D物體的映射。
HyperNetworks是一種可以生成神經網絡權重的神經網絡,它可以用來生成NeRF網絡的權重。通過HyperNeRFGAN,可以從輸入的高斯噪聲生成NeRF網絡的權重,進而重建出相應的3D物體。
NeRF表示能夠提供準確的3D物體重建,而HyperNetworks則提供了生成NeRF網絡權重的有效方式。通過結合兩者,作者能夠將2D圖像與3D物體之間的映射關系建立起來,并實現從2D圖像生成高質量的3D物體。
架構設計:
使用NeRF作為3D物體的表示,它可以通過神經網絡從2D圖像中重建出物體的3D結構。
利用HyperNetworks生成NeRF網絡的權重,以在生成過程中動態調整網絡的參數。
模塊設計:
生成器:使用HyperNetworks生成NeRF網絡的權重,該生成器接受高斯噪聲作為輸入,并輸出NeRF網絡的權重。通過從噪聲向量中生成網絡的權重來實現動態調整網絡參數的能力。
NeRF網絡:接受空間位置作為輸入,并輸出物體的顏色和密度信息。通過學習從2D圖像到3D物體的映射關系,可以重建物體的顏色和密度信息。
鑒別器:使用StyleGAN2架構作為鑒別器,用于區分真實圖像和生成圖像的差異。鑒別器使用對抗學習的思想,通過訓練來學習將真實圖像與生成圖像區分開來的能力。
設計原理:
NeRF表示:NeRF網絡通過從2D圖像中學習生成物體的3D表示,能夠實現高質量的物體重建。
HyperNetworks:HyperNetworks是一個生成網絡權重的方法,它可以根據輸入的噪聲來生成網絡的參數,使得網絡可以根據不同的輸入生成不同的結果。
實現過程:
訓練階段:使用未標記的2D圖像和StyleGAN2鑒別器進行訓練。生成器通過對噪聲向量進行采樣和變換來生成NeRF網絡的權重。生成的2D圖像被用作鑒別器的 "fake" 圖像,生成器的目標是欺騙鑒別器。
生成階段:在生成階段,使用生成器生成NeRF網絡的權重,然后使用NeRF網絡從2D圖像中重建出3D物體。
該方法的好處包括:
無需額外的深度信息或大量的3D數據集,只需要2D圖像即可生成3D物體,降低了數據收集的難度和成本。
NeRF表示能夠捕捉到物體的細節和視角變化,生成的3D物體具有高質量和準確性。
使用HyperNetworks生成NeRF網絡的權重,可以靈活地生成不同的3D物體,具有較強的泛化能力。
模型結構簡單且適用于三維物體訓練,生成過程直接、高效。
摘要
最近,3D對象的生成模型在VR和增強現實應用中越來越受歡迎。
使用標準的3D表示(如體素或點云)來訓練這些模型是具有挑戰性的,并且需要復雜的工具來進行適當的顏色渲染。
為了克服這一限制,神經輻射場(NeRF)在從一小部分2D圖像合成復雜3D場景的新視圖方面提供了最先進的質量。
在本文中,作者提出了一個生成模型HyperNeRFGAN,它使用超網絡范式來生成由NeRF表示的三維物體。
我們的GAN架構利用超網絡范式將高斯噪聲轉換為NeRF模型的權重。該模型進一步用于呈現2D新視圖,并使用經典的2D鑒別器來訓練整個基于GAN的結構。
我們的架構產生2D圖像,但我們使用3D感知的NeRF表示,這迫使模型產生正確的3D對象。
該模型相對于現有方法的優勢在于,它為對象生成專用的NeRF表示,而無需共享呈現組件的某些全局參數。在來自不同領域的三個具有挑戰性的數據集上,展示了與參考基線相比,作者的方法的優越性。
圖1 HyperNeRFGAN架構利用超網絡范式將高斯噪聲轉化為NeRF模型的權重。
在此基礎上,利用NeRF渲染二維新視圖,并使用經典的二維鑒別器。
架構產生2D圖像,但作者使用3D感知的NeRF表示,這迫使模型產生正確的3D對象。
一、引言
生成對抗網絡(Generative Adversarial Nets, GANs)使我們能夠生成高質量的2D圖像。另一方面,為3D對象保持類似的質量是具有挑戰性的。這主要是由于使用3D表示(如體素和點云) 需要大量的深層架構,并且在真正的顏色渲染方面存在問題。
我們可以通過直接在 2D 圖像空間上操作來解決這個問題。
我們希望我們的方法能夠從未標記的2D視圖中提取信息以獲得3D形狀。
為了獲得這樣的效果,我們可以使用神經輻射場(NeRF),它允許從一小部分2D圖像合成復雜3D場景的新視圖。
基于這些基礎圖像與計算機圖形學原理(如光線追蹤)之間的關系,該神經網絡模型可以從以前未見過的視點渲染高質量的3D物體圖像。
不幸的是,如何在 GAN 類型架構中使用NeRF表示并不是容易解決的。
最具挑戰性的問題與NeRF的調節機制有關。因此,大多數模型使用SIREN而不是NeRF,我們可以自然地添加條件。但是3D物體的質量卻比NeRF差。
在GRAF和π-GAN中,作者提出一個使用SIREN和調節作用機制產生隱式表征的模型。這樣的解決方案給出了有希望的結果,但如何在這樣的解決方案中使用NeRF而不是SIREN并不是容易解決的。
在圖2中,對模型、GRAF和π-GAN進行了定性比較。正如我們所看到的,我們的模型可以模擬玻璃的透明度。
在本文中,作者提出了一種稱為HyperNeRFGAN的生成模型,它結合了超網絡范式和NeRF表示。
超網絡被定義為為解決特定任務的單獨目標網絡生成權值的神經模型。基于GAN的模型,利用超網絡范式將高斯噪聲轉換為NeRF的權重(見圖1)。
之后,通過NeRF渲染2D新視圖,并使用經典的2D判別器以隱式形式訓練整個基于GAN的結構。
我們的架構產生2D圖像,但我們使用3D感知的NeRF表示,這迫使模型產生正確的3D對象。
本文的貢獻包括:
作者介紹了基于NeRF的隱式GAN架構——第一個用于生成高質量3D NeRF表示的GAN模型。
作者表明,與基于 SIREN 的架構相比,利用NeRF的超網絡范式可以獲得更好的3D表示質量。
作者的模型允許從無監督的2D圖像合成3D感知圖像。
圖2 HyperNeRFGAN與HoloGAN、GRAF、π-GAN在CARLA上的比較。得到了與π-GAN相似的結果,但作者有更好的FID評分值,見表2。
二、相關背景
神經表示和渲染
3D物體可以使用許多不同的方法來表示,包括體素網格、八樹網格、多視圖圖像、點云、幾何圖像、可變形網格和基于部件的結構圖。上述表示是謹慎的,這在實際應用中會引起一些問題。相反,我們可以將三維物體表示為連續函數。
在實踐中,隱性占用,距離場和表面參數化模型使用神經網絡來參數化3D對象。
在這種情況下,我們沒有固定數量的體素、點或頂點,而是將形狀表示為連續函數。
這些模型受限于對 ground truth 三維幾何的訪問要求。隱式神經表征(NIR)被提出來解決這一問題。這種架構可以從多視圖二維圖像中重建三維結構。兩種最重要的方法是NeRF和SIREN。
NeRF使用體渲染來重建3D場景,使用神經輻射和密度場來合成新的視圖。
SIREN用調制頻率的正弦函數取代了流行的ReLU激活函數。
大多數NeRF和基于SIREN的方法專注于單個3D對象或場景。
在實踐中,我們過擬合單個對象或場景。在論文中,作者專注于生成以NeRF表征的3D模型。
單視圖監督的 3D 感知 GAN
生成對抗網絡(Generative Adversarial Nets, GANs)可以生成高質量的圖像。然而,GAN在二維圖像上運行,而忽略了我們物理世界的三維本質。因此,利用物體的三維結構來生成圖像和三維物體是很重要的。
3D感知圖像合成的第一種方法,如Visual Object Networks和 prGAN,首先使用3D- GAN生成體素化的3D形狀,然后將其投影到2D中。
hooloGAN和BlockGAN在類似的融合中工作,但使用隱式3D表示來建模世界的3D表示。不幸的是,使用顯式的體積表示限制了它們的分辨率。
在[36]中,作者提出使用網格來表示三維幾何。另一方面,文獻[15]使用基元集合進行圖像合成。
在GRAF和π-GAN中,作者使用隱式神經輻射場生成3D感知圖像和幾何圖形。
在作者的工作中,使用NeRF代替SIREN,使用超網絡范式代替條件反射過程。
在ShadeGAN中,作者使用了陰影引導的pipeline;
在GOF中,他們逐漸縮小了每條相機光線的采樣區域。
而在CIRAFFE種,首先生成低分辨率的特征圖。
在第二步中,將表示傳遞給2D CNN,以生成更高分辨率的輸出。
在StyleSDF中,作者將基于SDF的3D表示與用于圖像生成的StyleGAN2合并。
在[1]中,作者使用StyleGAN2生成器和三維物體的三平面表示。
這些方法在生成對象的質量上優于其他方法,但極難訓練。
超網絡+生成建模
超網絡和生成模型的結合并不新鮮。
在[29,8]中,作者構建了GAN來生成用于回歸或分類任務的神經網絡的參數。
HyperVAE通過生成給定分布樣本的生成模型參數,對任意目標分布進行編碼。
HCNAF是一個超網絡,產生了條件自回歸流動模型的參數。
在[34]中,作者提出INR-GAN使用超網絡生成圖像的連續表示。該超網絡可以通過因數乘調制的低成本機制來修改共享權值。
圖3 在ShapeNet的三種類型(汽車、飛機、椅子)上由模型訓練生成的元素。
三、HyperNeRFGAN: 用于生成NeRF表示的超網絡
在本節中,介紹了HyperNeRFGAN——一種用于3D對象的新型生成模型。該方法的主要思想是將生成器作為一個超網絡,將從已知分布中采樣的噪聲向量轉換為目標模型的權值。
與以往的作品相比,目標模型采用NeRF對對象進行三維表示。因此,可以以可控的方式從不同角度生成物體的許多圖像。
此外,由于基于NeRF的圖像渲染,與基于GAN的復雜3D結構模型相比,鑒別器可以在從多個角度生成的2D圖像上運行。
超網絡
超網絡中介紹的超網絡被定義為神經模型,用于預測為解決特定任務而設計的不同目標網絡的權重。
與使用單個嵌入將附加信息注入目標模型的標準方法相比,這種方法減少了可訓練參數的數量。可以實現目標模型大小的顯著減小,因為它不共享全局權重,但它們由超網絡返回。
sheikh 作者將超網絡和生成模型進行了類比,使用這種機制來生成一組近似相同函數的不同目標網絡。
超網絡廣泛應用于許多領域,包括 few-shot 問題或概率回歸場景。各種方法也使用它們來生成3D對象的連續表示。
例如,HyperCloud 將3D點云表示為一個經典的MLP,作為目標模型,并將點從高斯球上的均勻分布轉換為代表所需形狀的點云。
在spurek 中,目標模型由連續歸一化流(Continuous Normalizing Flow) 表示,這是一種生成模型,它根據假定的三維空間中的基本分布創建點云。
GAN
GAN 是一個使用極大極小博弈來訓練深度生成模型的框架。目標是學習一個與實際數據分布 匹配的生成器分布 。
GAN學習一個生成器網絡 ,通過將噪聲變量 (通常是高斯噪聲 ) 轉換為樣本 ,從生成器分布 中產生樣本。
生成器通過對抗一個對抗鑒別器網絡來學習,目的是區分真實數據分布 和生成器分布 的樣本。
更正式地說,極大極小博弈由下式給出:
與其他方法相比,它的主要優點是產生與真實圖像難以區分的清晰圖像。
從模型中采樣的圖像的視覺質量方面,GAN令人印象深刻,但訓練過程通常具有挑戰性和不穩定性。
這種現象的產生是由于訓練目標的直接優化難以實現,通常是通過交替優化鑒別器和生成器的參數來訓練模型。
近年來,許多研究人員致力于改進傳統的GAN過程,以提高訓練過程的穩定性。
一些改進是基于將目標函數改為WGAN (WGAN) 、梯度懲罰限制、譜歸一化或生成器和判別器的不平衡學習率。
通過利用自注意力機制(SAGAN)和逐步增長的ProGAN、style-GAN架構(StyleGAN ),對模型架構進行了更深入的探索。
INR-GAN
隱式神經表示GAN是基于GAN的模型的一種變體,它利用超網絡為目標模型生成參數,而不是直接生成圖像。
由簡單MLP表示的目標模型以RGB格式返回給定像素位置的顏色。
該模型在架構上非常接近StyleGAN2,并且比直接方法具有明顯的優勢,主要是因為使用INR-GAN可以在不假設任意給定分辨率的情況下生成圖像。
3D對象的NeRF表示
NeRF表示使用全連接架構的場景。NeRF以5D坐標(空間位置 ,觀察方向 作為輸入,輸出發射顏色 和體積密度 。
NeRF使用一組圖像進行訓練。在這種情況下,我們產生許多光線通過圖像和由神經網絡表示的3D對象。NeRF用MLP網絡近似這個3D對象:
并優化其權重,將每個輸入5D坐標映射到相應的體積密度和方向發射顏色。
NeRF的丟失受到經典體渲染的啟發。渲染通過場景的所有光線的顏色。體積密度 可以解釋為射線的微分概率。相機射線 的期望顏色 (其中o為射線原點,d為方向)可以用積分計算。
在實際中,這個連續積分是用求積分法在數值上估計的。我們使用分層抽樣方法,將射線 劃分為個均勻間隔的 bins,然后從每個 bin 內均勻隨機抽取一個樣本:
我們使用這些樣本來估計 ,使用Max在體積渲染中討論的正交規則:
,
其中,
其中 為相鄰樣本間的距離。
從 值的集合計算 的函數是平凡可微的。
然后,我們使用體渲染過程來渲染來自兩組樣本的每條光線的顏色。與基線NeRF相反,其中兩個“粗”和“細”模型同時訓練,我們只使用“粗”架構。
3.1 HyperNeRFGAN
在這項工作中,作者提出了一種新的GAN架構,HyperNeRFGAN,用于生成3D表示。所提出的方法利用INR-GAN,隱式方法來生成樣本。
與使用MLP模型創建輸出圖像的標準INR-GAN架構相比,假設使用NeRF模型作為目標網絡。由于這種方法,生成器通過傳遞特定的NeRF參數來創建場景或對象的特定3D表示。
模型架構,如圖1所示。
生成器 從假定的基本分布(高斯分布)中獲取樣本,并返回一組參數 。
這些參數在NeRF模型 中進一步使用,將空間位置 轉換為發射顏色 和體積密度 。
沒有使用標準的線性架構,而是使用因數乘調制(FMM)層。
輸入尺寸為 ,輸出尺寸為 的FMM層定義為:
其中 W 和 b 是在三維表示中共享參數的矩陣,A, b是由生成器創建的形狀分別為 的兩個調制矩陣。
參數 k 控制著 的秩。
值越高,FMM層的表達能力越強,但也會增加超網絡所需的內存量。
我們設置為 。
INR模型 是基準NeRF的簡化版本。為了減少訓練的計算成本,我們沒有像原始NeRF那樣優化兩個網絡。
我們沒有使用較大的“精細”網絡,只使用較小的“粗糙”網絡。
此外,我們通過將每個隱藏層中的通道數量從 256 個減少到 128 個來減小“粗”網絡的大小。
在一些實驗中,我們還將層數從8層減少到4層。
圖4 用ShapeNet(前三行)和CARL數據集(最后兩行)的汽車、飛機和椅子圖像訓練的模型生成的線性插值示例。
圖5 在CARLA上訓練的模型的例子。
我們與基線NeRF在另一個方面有所不同,因為我們不使用視圖方向。
這是因為用于訓練的圖像沒有像反射這樣的依賴于視圖的特征。
即使在我們的架構中沒有使用視圖方向,也沒有理由不能將其用于將從中受益的數據集。
我們的NeRF是一個單一的MLP,它只接受空間位置作為輸入:
在這項工作中,我們利用StyleGAN2架構,遵循INR-GAN的設計模式。整個模型使用StyleGANv2目標以與INR-GAN相似的方式進行訓練。
在每次訓練迭代中,使用生成器對噪聲向量進行采樣和變換,得到目標NeRF模型 的權值。進一步利用目標模型從不同角度渲染二維圖像。
生成的2D圖像進一步作為鑒別器的 fake 圖像,生成器G的作用是創建3D表示渲染2D圖像,欺騙鑒別器。
鑒別器旨在從數據分布中區分假渲染和真實的2D圖像。
圖6 在CARLA數據集上訓練的模型和在ShapeNet的飛機和椅子上訓練的模型生成的網格。
四、實驗
在本節中,首先評估了HyperNeRFGAN生成3D物體的質量。使用的數據集包含從ShapeNet獲得的3D物體的2D圖像。
該數據集包含來自平面、椅子和汽車類的每個元素的50張圖像。這是最適合我們目的的數據集,因為每個對象都有每個元素的一些圖像。
然后使用包含汽車圖像的CARLA。在這種情況下,每個物體只有一張圖像,但仍然有物體四面八方的照片。可以制作完整的3D物體,可以用于虛擬現實或增強現實。
最后,使用了包含人臉的經典CelebA數據集。從3D生成的角度來看,這是具有挑戰性的,因為我們只有臉部的正面。在實踐中,基于3D的生成模型可用于3D感知圖像合成。
4.1 從ShapeNet生成3D對象
在第一個實驗中,使用ShapeNet基礎數據集,其中包含來自平面、椅子和汽車類的每個元素的50張圖像。這種表示對于訓練3D模型來說是完美的,因為每個元素都可以從許多角度看到。數據取自[42],作者訓練了一個基于自動編碼器的生成模型。
在圖3中,展示了從我們的模型生成的對象。
在圖4中,也給出了對象的線性插值。可以看到,物品的質量非常好,見表1。
表1 基于FID的HyperNeRFGAN與基于自編碼器的模型的比較。GAN與自編碼器和GAN之間的比較是困難的。但我們可以獲得更好的FID評分。
4.2 從CARLA數據集生成三維物體
在第二個實驗中,我們將基于CARLA數據集的模型與其他基于GAN的模型: HoloGAN、GRAF和πGAN進行了比較。
CARLA包含汽車圖像。每個物體只有一張圖像,但我們仍然有物體四面八方的照片。因此,全3D對象可以用于VR或增強現實。
在圖2中給出了視覺對比。如圖5所示,我們可以有效地模擬汽車玻璃的透明度。
在表2中,給出了Frechet Inception Distance (FID)、Kernel Inception Distance (KID)和Inception Score (IS)的數值比較。可以看出,我們得到了比π-GAN模型更好的結果。
在NeRF表示的情況下,我們可以生成網格,見圖6。
表2 CARLA 數據集上的FID, KID 和 IS。
4.3從CelebA合成3D感知圖像
在作者的第三個實驗中,通過將設置更改為人臉生成,進一步比較了與第二個實驗相同的模型。
對于這項任務,我們使用CelebA數據集,該數據集包含10,000名不同名人的200,000張高分辨率人臉圖像。
我們將圖像從頭發的頂部裁剪到下巴的底部,并將其大小調整為 的分辨率,就像π-GAN作者所做的那樣。
在表3中給出了定量結果。可以看到,HyperNeRFGAN和π-GAN實現了相似的性能,如圖7所示。
表3 CelebA數據集的FID, KID mean×100和IS。
五、總結
在這項工作中,作者提出了一種從2D圖像生成NeRF表示的新方法。模型利用了超網絡范式和3D場景的NeRF表示。
HyperNeRFGAN接受高斯噪聲并返回NeRF網絡的權重,NeRF網絡可以從2D圖像中重建3D物體。
在訓練中,作者只使用未標記的圖像和StyleGAN2鑒別器。與現有的方法相比,這種表示有幾個優點。
首先,可以在GAN類型算法中使用NeRF代替SIREN表示。
其次,模型簡單,可以在三維物體上進行有效的訓練。
最后,模型直接生成NeRF對象,而不共享渲染組件的一些全局參數。
責任編輯:彭菁
-
3D
+關注
關注
9文章
2882瀏覽量
107577 -
GaN
+關注
關注
19文章
1936瀏覽量
73519 -
模型
+關注
關注
1文章
3248瀏覽量
48859
原文標題:3D 對象生成 | NeRF+GAN的超網絡:HyperNeRFGAN
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論