谷歌AI新成果:可實現實時檢視合成

檢視合成是一種計算機視覺技術,它利用觀察到的影象來恢復 3D 場景表示,並能在新的、未觀察到的視點上渲染場景。近年來,神經體積表示技術的應用取得了顯著進展。

神經輻射場(Neural Radiance Fields,NeRF)可以使用精細的幾何細節和真實感檢視相關的外觀渲染出逼真新穎的檢視。它將場景表示為由多層感知器(MLP)引數化的連續體積函式,從一個穩定的 3D 位置對映到該位置的體積密度和檢視相關的發射輻射。

但由於渲染 NeRF 速度慢、計算量大,使其無法用於互動式檢視合成。這也使恢復的 3D 模型不能在標準 Web 瀏覽器中顯示。

谷歌的研究人員解決了這一問題,即實時渲染一個經過訓練的 NeRF,同時還能顯示微小的幾何細節和令人信服的檢視相關效果。

他們的方法是將 NeRF 渲染過程加速三個數量級,從而使單 GPU 上每幀的渲染時間達到 12 毫秒。他們預先計算訓練過的 NeRF,並將其儲存到一個稀疏的 3D 體素網格資料結構中,稱為稀疏神經輻射網格(SNeRG)。在 SNeRG 中,每個活動體素都包含不透明度、漫反射顏色,以及一個學習到的特徵向量,該特徵向量可以編碼檢視相關的效果。

為了渲染這種表示,他們沿著每條光線累加漫反射顏色和特徵向量。隨後透過輕量級 MLP 將這些累加的特徵向量生成與檢視相關的殘差,並新增到收集的漫反射顏色中。

對 NeRF 的主要修改

最近的研究建議,離散化的體積表示是提高 NeRF 效率最有效的方法之一。研究人員擴充套件了這一方法,採用延遲神經渲染技術對檢視依賴性效果進行建模,從而使訓練好的 NeRF 模型在實時商品硬體中視覺化,並且質量下降最小。

該團隊對 NeRF 進行了兩個必要的修改,使它能夠有效地轉化這種稀疏體素表示:

他們設計了一個“延遲”的 NeRF 架構。原始的 NeRF 架構透過每個 3D 樣本執行一次的 MLP 來表示檢視相關效果。但是,改進後的架構在 MLP 中表示,每個畫素只執行一次。

為了提高稀疏性,他們在訓練過程中規範了 NeRF 的預測不透明度場。體積表示所需的渲染時間和儲存量,在很大程度上取決於所提供場景中不透明度的稀疏性。因此,正則化器對預測的密度進行懲罰,使得 NeRF 的不透明度場變得更加稀疏,從而提高了生成的 SNeRG 的儲存成本和渲染時間。

該團隊證明,他們所提出的方法能有效地提高 NeRF 的渲染速度,在保持 NeRF 表現精細幾何細節和令人信服的檢視相關效果的同時,實現實時渲染幀。另外,這種表示方法結構緊湊,平均表示一個場景所需的儲存空間不到 90MB。

圖 1:NeRF 和 SNeRG 射線行進法的比較。來源:

https://arxiv。org/pdf/2103。14645。pdf

根據渲染時間效能、儲存成本和渲染質量這三個標準,研究人員將這些方法與當前用於加速 NeRF 的技術相比較。透過評估,他們發現:

MLP 在消除檢視相關方面對執行時效能幾乎沒有影響。

獲取稀疏性損失導致記憶體使用量增加。

將建議的“延遲”渲染更改為 NeRF,但渲染時間會非常長。

該團隊注意到,經過微調,他們所提出的 SNeRG 模型的渲染質量與神經模型相比更有競爭力。儲存消融研究證實,壓縮後的 SNeRG 表示足夠小,能快速載入網頁,或者在筆記本 GPU 上以超過 30 幀 / 秒的速度顯示。

圖 2:稀疏性損失和可見性剔除的視覺化。來源:

https://arxiv。org/pdf/2103。14645。pdf

圖 3:微除錯圖相關外觀網路的影響。來源:

https://arxiv。org/pdf/2103。14645。pdf

該團隊希望,他們的方法能夠在各種視覺和圖形應用中幫助採用這種神經場景表示方法。

相關文章