首頁  >  文章  >  科技週邊  >  神經體繪製:NeRF及其以外法

神經體繪製:NeRF及其以外法

WBOY
WBOY轉載
2023-04-12 19:13:071506瀏覽

参考论文总结“NEURAL VOLUME RENDERING: NERF AND BEYOND“,2021年1月,乔治亚理工和麻省理工的合著。

神經體繪製:NeRF及其以外法

神经渲染定义为:

“一种深度图像或视频生成方法,可显式或隐式控制场景属性,如照明、摄像机参数、姿势、几何、外观和语义结构”。

它是一种新数据驱动解决方案,解决了计算机图形学中长期存在的虚拟世界真实感渲染问题。

神经体渲染,是指通过跟踪光线进入场景并沿光线长度进行某种积分生成图像或视频的方法。通常,像多层感知器一样的神经网络将从光线的3D坐标到密度和颜色等的函数进行编码,并集成生成图像。

神经体渲染的直接先驱工作是用神经网络定义隐式曲面表示的方法。许多3D感知图像生成方法使用体素、网格、点云或其他表示,通常基于卷积架构。但在2019年CVPR上,至少有三篇论文介绍了用神经网络作为标量函数近似来定义占有率(occupancy)和/或符号距离函数(SDF)。

  • Occupancy networks引入基于坐标的隐式占有学习。由5个ResNet块组成的网络,输入采用特征向量和3D点,预测二值占用。
  • IM-NET用6层MLP解码器,在给定特征向量和3D坐标的情况下预测二值占有。可用于自动编码、形状生成(GAN-样式)和单视图重建。
  • DeepSDF直接从一个3D坐标和一个潜代码中提取符号距离函数。它使用了一个8层MPL,其中到第4层有跳连接。
  • PIFu表明,将3D点重新投影到像素对齐的特征表示中,可以学习特别详细的隐式模型。这个在PixelNeRF中会重演,效果非常好。

其他采用隐函数的方法有:

  • Structured Implicit Functions(2019)表明,可以组合这些隐式表示,例如,简单地求和。
  • CvxNet(2020)通过采用逐点Max(3D)组合符号距离函数。
  • BSP网络(2020)在许多方面类似于CvxNet,但在其核心使用二值空间划分,产生了一种局部输出多边形网格的方法,而不是通过昂贵的网格划分方法。
  • Deep Local Shapes(2020)将深度SDF潜代码存储在体素网格中,表示更大的扩展场景。
  • Scene Representation Networks(2019)或SRN,在架构上与DeepSDF非常相似,但添加可微分光线行进算法找到学习的隐式曲面最近交点,并添加MLP回归颜色,能够从多个姿态的图像中学习。
  • Differentiable Volumetric Rendering(2019)表明,隐式场景表示可以与可微分渲染器相结合,从图像中可以进行训练,类似于SRN。用“体渲染器”一词,但真正的主要贡献是一个巧妙的技巧,使隐式曲面的深度计算可微分:不在体上积分。
  • Implicit Differentiable Renderer(2020)提供了类似的技术,但具有更复杂的表面光场表示,表明它可以在训练期间优化摄像头姿态。
  • Neural Articulated Shape Approximation(2020)或NASA,组成隐式函数来表示关节目标,如人体。

并非完全无中生有,尽管仍然是基于(warped)体素的表示,神经体(Neural Volumes)论文引入了用于视图合成的体渲染,回归了密度和颜色的3D体。潜代码被解码成3D体,然后通过体渲染获得新图像。

其提出在3D空间中的每个位置使用不透明度和颜色组成的体表示,其中通过积分投影实现渲染。在优化过程中,这种半透明的几何表示沿积分射线分散梯度信息,有效地扩大了收敛范围,从而能够发现良好的解决方案。

引起大家讨论的论文是神经辐射场NeRF论文(2020年)。本质上,用深度SDF架构,但回归的不是有符号距离函数(SDF),而是密度和颜色。然后,用(容易微分的)数值积分方法来近似真实的体渲染步骤。

NeRF模型将体场景表示存储为MLP的权重,并在许多有已知姿态的图像上进行训练。通过沿每条查看光线以规则间隔集成密度和颜色来渲染新视图。

NeRF非常详细渲染的原因之一是,使用周期性激活函数(periodic activation functions),即傅立叶特征,对光线上的3D点和相关视图方向进行编码。这一创新后来被推广到周期性激活函数的多层网络,即SIREN(SInusoidal- REpresentation Networks)。这两篇文章都发表在NeurIPS 2020上。

可以說,NeRF論文的影響在於其殘酷的簡單性:只需一個MLP在5D座標下輸出密度和顏色。有一些華麗點綴(bells and whistles),特別是位置編碼和分層抽樣方案,但驚訝於如此簡單的架構可以產生如此令人印象深刻的結果。儘管如此,原始NeRF留下了許多改進的機會:

  • 訓練和渲染速度都很慢。
  • 只能表示靜態場景。
  • 固定照明。
  • 經過訓練的NeRF表示不會推廣到其他場景/目標。

一些專案/論文旨在改善原始NeRF論文的相當緩慢的訓練和渲染時間。

  • JaxNeRF(2020)用JAX支援(https://github.com/google/jax#)多設備訓練,從幾天變成幾小時,大幅加快速度。
  • AutoInt(2020)直接學習體積分,大大加快了渲染速度。
  • Learned Initialization(2020)使用元學習來尋找良好的權重初始化,並加快訓練速度。
  • DeRF(2020)將場景分解為“軟 Voronoi圖”,利用加速器記憶體架構。
  • NERF(2020)建議以單獨的NERF對背景建模,處理無限場景。
  • Neural Sparse Voxel Fields(2020)將場景組織為稀疏體素八叉樹,將渲染速度提高10倍。

至少有四項工作專注於動態場景:

  • Nerfies(2020)及其底層D-NeRF對可變形視訊建模,使用第二個MLP對影片的每一幀應用變形。
  • D-NeRF(2020)與Nerfies論文非常相似,甚至使用相同的縮寫詞,但似乎限制了平移的變形。
  • Neural Scene Flow Fields(2020)採用已知攝影機姿態的單眼視訊作為輸入,深度預測作為先驗,並輸出場景流進行正則化,用於損失函數。
  • Spatial-Temporal Neural Irradiance Field(2020)僅使用時間作為額外輸入。要成功訓練這種方法來渲染任意視點影片(來自RGB-D資料!),需要仔細選擇損失函數。
  • NeRFlow(2020)使用變形MLP對場景流建模,並跨時域進行積分,獲得最終變形。
  • NR NeRF(2020)也以變形MLP對非剛性情境建模。除了攝影機參數之外,它不依賴預先計算的場景信息,但與Nerfies相比,產生的輸出稍微不那麼清晰。
  • STaR(2021)將多視圖RGB視訊作為輸入,並將場景分解為靜態和動態體。但是,目前它只支援一個運動目標。

還有兩篇論文關注人物的頭像/肖像。

  • PortraitNeRF(2020)建立靜態NeRF風格的頭像(Avatar),但僅用一個RGB拍攝影像。為了實現這一點,需要燈光舞台訓練資料。
  • DNRF(G2020)專注於4D Avatar,將變形臉部模型納入管線,施加強烈的歸納偏差。

NeRF風格方法得到增強的另一個面向是如何處理照明,通常是透過可用於重照明場景的潛代碼。

  • NeRV(2020)以第二個「可見性」MLP支援任意環境照明和「一次反射」間接照明。
  • NeRD(2020)是另一項工作,其中使用局部反射模型,此外,對於給定場景,去除低解析度球面諧波照明。
  • Neural Reflectance Fields(2020)透過添加局部反射模型改善NeRF,除密度外。它產生了令人印象深刻的重型照明結果,儘管來自單點光源。
  • NeRF-W(2020)是NeRF的首批後續工作之一,優化潛外觀程式碼,以便能夠從控制較少的多視圖集合中學習神經場景表示。

潛代碼也可用於編碼形狀先驗:

  • pixelNeRF(2020)更接近基於圖像的渲染,其中在測試時用N個圖像。它基於PIFu,創建像素對齊的特徵,然後在評估NeRF-樣式渲染器時進行插值。
  • GRF(2020)在設定上非常接近pixelNeRF,但在規範空間而不是視圖空間中運作。
  • GRAF(2020),即“輻射場的生成模型”,是NeRF的條件變型,添加了外觀和形狀潛代碼,同時透過GAN風格訓練獲得視點不變性。
  • pi GAN(2020),與GRAF類似,但用了一種SIREN式樣的NeRF實現,其中每一層都由不同的MLP輸出進行調製,該MLP採用潛代碼。

可以說,所有這些都不會擴展到由許多目標組成的大型場景,因此一個令人興奮的新領域是如何將目標組成體渲染場景。

  • Object-Centric Neural Scene Rendering(2020)在以目標為核心的座標系中學習“目標散射函數”,允許使用蒙特卡羅渲染合成場景並真實地照亮場景。
  • GIRAFFE(2020)透過以目標為中心的NeRF模型輸出特徵向量而不是顏色來支援合成,然後透過平均合成,並以低解析度渲染為2D特徵圖,然後在2D中進行上採樣。
  • Neural Scene Graphs(2020)支援場景圖中的多個以目標為中心的NeRF模型。

最後,至少有一篇論文在(已知)目標姿態估計的背景下使用了NeRF渲染。

  • iNeRF(2020)在姿態估計框架中使用了NeRF MLP,甚至能夠透過微調姿態改善標準資料集上的視圖合成。然而,它還不能處理照明。

神經體渲染和NeRF風格的論文,最終是否會成功還遠遠不清楚。雖然現實世界中確實存在煙霧、煙霧、透明等,但最終大部分光線都從表面散射到眼睛。由於基於體的方法,NeRF風格的網路可能很容易訓練,但已經看到一種趨勢,即論文試圖在收斂後發現或猜測曲面。事實上,原NeRF論文中的分層抽樣方案正是如此。因此,當從NeRF中學習時,可以很容易地看到移回SDF風格的隱式表示或甚至體素,至少在推理時是如此。

以上是神經體繪製:NeRF及其以外法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除