天天看點

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

機器之心報道

編輯:張倩

沒有了神經網絡,輻射場(Radiance Fields)也能達到和神經輻射場(Neural Radiance Fields,NeRFs)相同的效果,但收斂速度快了 100 多倍。

2020 年,加州大學伯克利分校、谷歌、加州大學聖地亞哥分校的研究者提出了一種名為「NeRF」的 2D 圖像轉 3D 模型,可以利用少數幾張靜态圖像生成多視角的逼真 3D 圖像。其改進版模型NeRF-W(NeRF in the Wild)還可以适應充滿光線變化以及遮擋的戶外環境,分分鐘生成 3D 旅遊觀光大片。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

NeRF 模型 demo。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

NeRF-W 模型 demo。

然而,這些驚豔的效果是非常消耗算力的:每幀圖要渲染 30 秒,模型用單個 GPU 要訓練一天。是以,後續的多篇論文都在算力成本方面進行了改進,尤其是渲染方面。但是,模型的訓練成本并沒有顯著降低,使用單個 GPU 訓練仍然需要花費數小時,這成為限制其落地的一大瓶頸。

在一篇新論文中,來自加州大學伯克利分校的研究者瞄準了這一問題,提出了一種名為 Plenoxels 的新方法。這項新研究表明,即使沒有神經網絡,從頭訓練一個輻射場(radiance field)也能達到 NeRF 的生成品質,而且優化速度提升了兩個數量級。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

論文連結:https://arxiv.org/pdf/2112.05131.pdf

項目首頁:https://alexyu.net/plenoxels/

代碼連結:https://github.com/sxyu/svox2

他們提供了一個定制的 CUDA 實作,利用模型的簡單性來達到可觀的加速。在有界場景中,Plenoxels 在單個 Titan RTX GPU 上的典型優化時間是 11 分鐘,NeRF 大約是一天,前者實作了 100 多倍的加速;在無界場景中,Plenoxels 的優化時間大約為 27 分鐘,NeRF++ 大約是四天,前者實作了 200 多倍的加速。雖然 Plenoxels 的實作沒有針對快速渲染進行優化,但它能以 15 幀 / 秒的互動速率渲染新視點。如果想要更快的渲染速度,優化後的 Plenoxel 模型可以被轉換為 PlenOctree(本文作者 Alex Yu 等在一篇 ICCV 2021 論文中提出的新方法:https://alexyu.net/plenoctrees/)。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減
神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

具體來說,研究者提出了一個顯式的體素表示方法,該方法基于一個不含任何神經網絡的 view-dependent 稀疏體素網格。新模型可以渲染逼真的新視點,并利用訓練視圖上的可微渲染損失和 variation regularizer 對校準的 2D 照片進行端到端優化。

他們把該模型稱為 Plenoxel(plenoptic volume elements),因為它由稀疏體素網格組成,每個體素網格存儲不透明度和球諧系數資訊。這些系數被 interpolated,以在空間中連續模組化完整的全光函數。為了在單個 GPU 上實作高分辨率,研究者修剪了空體素,并遵循從粗到細的優化政策。雖然核心模型是一個有界體素網格,但他們可以通過兩種方法來模組化無界場景:1)使用标準化裝置坐标(用于 forward-facing 場景);用多球體圖像圍繞網格來編碼背景(用于 360° 場景)。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

Plenoxel 在 forward-facing 場景中的效果。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

Plenoxel 在 360° 場景中的效果。

該方法表明,我們可以使用标準工具從反問題中進行逼真體素重建,包括資料表示、forward 模型、正則化函數和優化器。這些元件中的每一個都可以非常簡單,并且仍然可以實作 SOTA 結果。實驗結果表明,神經輻射場的關鍵要素不是神經網絡,而是可微分的體素渲染器。

架構概覽

Plenoxel 是一個稀疏體素網格,其中每個被占用的體素角存儲一個标量不透明度σ和每個顔色通道的球諧系數向量。作者将這種表征稱為 Plenoxel。任意位置和觀察方向上的不透明度和顔色是通過對存儲在相鄰體素上的值進行三線性插值并在适當的觀察方向上評估球諧系數來确定的。給定一組校準過的圖像,直接使用 training ray 上的渲染損失來優化模型。模型的架構如下圖 2 所示。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

上圖 2 是稀疏 Plenoxel 模型架構的概念圖。給定一組物體或場景的圖像,研究者在每個體素處用密度和球諧系數重建一個:(a)稀疏體素(Plenoxel)網格。為了渲染光線,他們(b)通過鄰近體素系數的三線性插值計算每個樣本點的顔色和不透明度。他們還使用(c)可微體素渲染來整合這些樣本的顔色和不透明度。然後可以(d)使用相對于訓練圖像的标準 MSE 重建損失以及總 variation regularizer 來優化體素系數。

實驗結果

研究者在合成的有界場景、真實的無界 forward-facing 場景以及真實的無界 360° 場景中展示了模型效果。他們将新模型的優化時間與之前的所有方法(包括實時渲染)進行了對比,發現新模型速度顯著提升。定量比較結果見表 2,視覺比較結果如圖 6、圖 7、圖 8 所示。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減
神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減
神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減
神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

另外,新方法即使在優化的第一個 epoch 之後,也能獲得高品質結果,用時不到 1.5 分鐘,如圖 5 所示。

神經輻射場去掉“神經”,訓練速度提升100多倍,3D效果品質不減

使用 NVIDIA Riva 快速建構企業級 ASR 語音識别助手

NVIDIA Riva 是一個使用 GPU 加速,能用于快速部署高性能會話式 AI 服務的 SDK,可用于快速開發語音 AI 的應用程式。Riva 的設計旨在幫助開發者輕松、快速地通路會話 AI 功能,開箱即用,通過一些簡單的指令和 API 操作就可以快速建構進階别的語音識别服務。該服務可以處理數百至數千音頻流作為輸入,并以最小延遲傳回文本。

12月29日19:30-21:00,本次線上分享主要介紹:

自動語音識别簡介

NVIDIA Riva介紹與特性

快速部署NVIDIA Riva

啟動NVIDIA Riva用戶端快速實作語音到文字的轉錄

使用Python快速搭建基于NVIDIA Riva自動語音識别服務應用

繼續閱讀