僅用三張圖,合成高質(zhì)量的3D場景,NTU提出SparseNeRF
隨著深度學習與 3D 技術(shù)的發(fā)展,神經(jīng)輻射場(NeRF)在 3D 場景重建與逼真新視圖合成方面取得了巨大的進展。給定一組 2D 視圖作為輸入,神經(jīng)輻射場便可通過優(yōu)化隱式函數(shù)表示 3D。
然而,合成高質(zhì)量的新視角通常需要密集的視角作為訓練。在許多真實世界的場景中,收集稠密的場景視圖通常是昂貴且耗時的。因此,有必要研究能夠從稀疏視圖中學習合成新視角圖像且性能不顯著下降的神經(jīng)輻射場方法。
比如說,當輸入只有三張視角圖片時,我們希望可以訓練出真實的 3D 場景,如下動圖所示:
利用稀疏視圖圖像進行新視角合成是一個具有挑戰(zhàn)性的問題,這是因為稀疏的 2D 視角不能為 3D 重建提供充足的約束條件,尤其是在紋理較少的區(qū)域,將 NeRF 直接應用于稀疏視角場景會導致嚴重的性能下降。
最近,一些方法極大地改進了基于神經(jīng)輻射場 NeRF 稀疏 3D 重建的性能。這些方法可以分為三種:
(1) 第一種方法基于幾何約束(稀疏性和連續(xù)性正則化)和語義約束。例如對不可見觀察視點的渲染圖像塊的幾何和外觀添加正則約束,或者對每條光線的密度施加了熵約束和空間平滑約束。然而,由于一個場景通常具有復雜的布局,僅利用稀疏視圖的幾何約束稀疏性 / 連續(xù)性和語義不能保證高質(zhì)量的三維重建。
(2)第二種方法依賴于相似場景的預訓練。例如,提出通過卷積特征圖表示從其他場景中學習高級語義,然后在目標場景進行微調(diào)。
(3)第三種方法利用額外深度信息進行約束,利用局部深度圖塊的線性不變性或者精準的稀疏點云來約束神經(jīng)輻射場。例如,利用由 COLMAP 算法生成稀疏 3D 點直接約束,或者由高精度深度掃描儀和多視圖立體匹配(MVS)算法獲得的精準深度圖,約束此深度圖和預測的神經(jīng)輻射場深度圖線性不變,或者利用粗糙深度圖塊局部的尺度不變進行約束。然而在現(xiàn)實場景中,訓練好的深度估計模型或消費級深度傳感器獲取的深度圖通常較為粗糙?;诔叨炔蛔兊纳疃燃s束假設(shè)對于較為粗糙的深度圖而言并不夠魯棒,而稀疏的點云數(shù)量通常不足與約束紋理較少的區(qū)域。
為此,我們希望從粗糙深度圖中探索更魯棒的 3D 先驗,以補充稀疏視角重建中約束不充足的問題。為了解決這個問題,我們提出了基于神經(jīng)輻射場的稀疏視角 3D 重建 SparseNeRF,這是一個簡單但有效的方法,可以蒸餾粗糙深度圖的魯棒 3D 先驗知識,提升稀疏視角 3D 重建的性能。該工作發(fā)表在ICCV 2023上。
- 項目主頁:https://sparsenerf.github.io/
- 代碼:https://github.com/Wanggcong/SparseNeRF
- 論文:https://arxiv.org/abs/2303.16196
研究動機
從訓練的深度估計模型或者消費級的深度傳感器可以輕松獲取真實場景的粗糙深度圖,然而如何從這些粗糙深度圖中提取魯棒的深度線索尚未有充足的研究探索。雖然單視圖深度估計方法在視覺性能方面取得了很好的表現(xiàn)(得益于大規(guī)模單目深度數(shù)據(jù)集和大型 ViT 模型),但由于粗糙的深度標注、數(shù)據(jù)集偏差等,它們無法產(chǎn)生精確的 3D 深度信息。這些粗糙的深度信息與神經(jīng)輻射場 NeRF 在基于體素渲染的每個像素上重建場景時的密度預測存著不一致性。將粗糙深度圖直接縮放用來監(jiān)督 NeRF 無法獲得很好的新視角合成效果。
方法框架
上圖展示了我們方法的框架圖。SparseNeRF 主要由四個組件組成,即神經(jīng)輻射場(NeRF)、RGB 顏色重建模塊、深度排序蒸餾模塊和空間連續(xù)性蒸餾模塊。具體而言,我們使用神經(jīng)輻射場為主干網(wǎng)絡(luò),并對顏色重建使用 MSE 損失。對于深度先驗蒸餾,我們從預訓練深度估計模型中蒸餾深度先驗。我們提出了局部深度排序正則化和空間連續(xù)性正則化,從粗糙深度圖中蒸餾出魯棒的深度先驗。
具體而言,與直接用粗糙深度先驗監(jiān)督 NeRF 不同,我們放松了深度約束,從粗糙深度圖中提取了魯棒的局部深度排序,使得 NeRF 的深度排序與粗糙深度圖的深度排序一致。也就是說,我們對 NeRF 進行相對深度監(jiān)督而不是絕對深度監(jiān)督。為了保證幾何的空間連續(xù)性,我們進一步提出了一種空間連續(xù)性約束,讓 NeRF 模型模仿粗糙深度圖的空間連續(xù)性。通過有限數(shù)量的視圖獲取魯棒的稀疏幾何約束,包括深度排序正則化和連續(xù)性正則化,最終實現(xiàn)了更好的新視圖合成效果。
值得注意的是,在推斷期間,我們的方法 SparseNeRF 不會增加運行時間,因為它僅在訓練階段利用來自預訓練深度估計模型或消費級傳感器的深度先驗(見圖示框架)。此外,SparseNeRF 是一個易于集成到不同 NeRF 變種方法中的即插即用的模塊。我們結(jié)合到 FreeNeRF 中驗證了這個觀點。
主要貢獻
(1)提出了 SparseNeRF,一種簡單但有效的方法,可以從預訓練的深度估計模型中提取局部深度排序先驗。通過局部深度排序約束,SparseNeRF 在基于稀疏視角的新視圖合成方面顯著地提高了性能,超過了現(xiàn)有模型(包括基于深度的 NeRF 方法)。為了保持場景的幾何連貫性,我們提出了一種空間連續(xù)性約束,鼓勵 NeRF 的空間連續(xù)性與預訓練深度估計模型的連續(xù)性相似。
(2)除了之外,貢獻了一個新的數(shù)據(jù)集,NVS-RGBD,其中包含來自 Azure Kinect、ZED 2 和 iPhone 13 Pro 深度傳感器的粗糙深度圖。
(3)在 LLFF、DTU 和 NVS-RGBD 數(shù)據(jù)集上的實驗表明,SparseNeRF 在基于稀疏視角的新視圖合成方面實現(xiàn)了最優(yōu)性能。
結(jié)果展示
利用三張稀疏視角圖訓練,得到的新視角渲染視頻: