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