一個NeRF搞定全尺度:港中大團隊BungeeNeRF從單建筑到地球都能渲染|ECCV2022
BungeeNeRF也叫CityNeRF
Pine 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
你敢相信這是AI利用圖像重建出來的3D場景嗎?
這么大規(guī)模的場景竟然還能保持這么高的清晰度,確定不是和谷歌地圖搞錯了?
并沒有!這是港中大團隊提出的一個模型:BungeeNeRF(也稱CityNeRF),適用于各種尺度的場景還原。
目前,這篇論文已經(jīng)被ECCV2022收錄。
從單個建筑到整個地球等大規(guī)模的場景,都可以通過多個2D圖片還原為3D場景,細節(jié)渲染也很到位。
網(wǎng)友們對BungeeNeRF這一研究成果也很興奮。
這或許就是我最近幾周最喜歡的 NeRF 項目之一,這是非常有趣和令人興奮的成果!
這么厲害,BungeeNeRF是怎么做到的?
多級監(jiān)督的漸進式模型
多尺度還原3D場景,會導致大規(guī)模的數(shù)據(jù)發(fā)生變化,這也意味會增大學習難度和改變圖像的焦點。
BungeeNeRF以漸進的方式建立和訓練模型,用一個漸進的神經(jīng)輻射場來表示多種尺度之下的場景,用于生成3D場景的照片包括各種視角和距離。
這種漸進的方式劃分了各個網(wǎng)絡層的工作,并且使位置編碼在不同尺度下可以激活不同頻帶通道,釋放每個尺度下相應的細節(jié)。
它不僅可以很好地渲染大規(guī)模場景的細節(jié),而且能夠保持小尺度下場景的細節(jié)。
具體來說,這個模型能很好地還原各種尺度之下的3D場景主要歸功于以下兩個部分:
首先是它具有殘差塊結構的漸進生長模型,這可以解決以往模型大尺度之下會出現(xiàn)偽影的問題。
BungeeNeRF模型先預設訓練階段的總數(shù)(Lmax),而這個訓練的次數(shù)就是將攝像機與場景之間連續(xù)距離離散之后的段數(shù)。
換句話說,模型各個階段的訓練就是指在不同尺度之下的訓練。
然后從遠程視圖(L=1)開始,隨著訓練的進行,BungeeNeRF在每個訓練階段都會納入一個更近的尺度(L+1)。
通過允許模型在早期訓練階段對外圍區(qū)域投入更多的成本來彌補樣本分布的偏差。
在訓練階段,訓練集的增長伴隨著殘差塊的增加。
每個殘差塊都有自己的輸出頭,可以用來預測連續(xù)階段之間的顏色和密度殘差,在近距離觀察時,捕獲場景中新出現(xiàn)的復雜細節(jié)。
其次是BungeeNeRF具有包容的多層監(jiān)督結構。
因為要保持所有尺度下圖像渲染質量保持一致,所以在訓練階段,輸出頭是之前更大尺度的圖像聯(lián)合監(jiān)督的,這個階段損失會匯總在之前所有尺度的輸出頭上。
多層次監(jiān)督的設計在更深層次的輸出頭上考慮到了細節(jié)的復雜性,因此渲染的視圖也會更加清晰真實。
相較于其他模型在各種尺度上的細節(jié)渲染效果,BungeeNeRF的效果更加明顯。
全尺度細節(jié)渲染
研究團隊在論文中給出了BungeeNeRF生成的3D場景與其他模型的比較,BungeeNeRF明顯優(yōu)于其他模型,并且很接近真實場景。
此外,BungeeNeRF允許從不同的殘差塊靈活退出來控制LOD(細節(jié)水平)。
在放大圖像時,后一種輸出頭逐漸向前一階段的粗輸出添加更復雜的幾何和紋理細節(jié),同時保持在較淺層學習的特征對早期的輸出頭有意義。
如果你感興趣,可以戳下文鏈接了解更多~
參考鏈接:
[1] https://arxiv.org/pdf/2112.05504v2.pdf
[2] https://city-super.github.io/citynerf/
[3] https://twitter.com/XingangP/status/1553014023871922176