生成高精細節,新方法AligNeRF解決NeRF對齊問題
雖然 NeRF 能夠用不同視角的視圖中渲染復雜的 3D 場景,但很少有人致力于探索其在高分辨率設置中的局限性。具體來說,現有的基于 NeRF 的方法在重建高分辨率的真實場景時面臨著一些限制,包括大量的參數、未對齊的輸入數據和過于平滑的細節。
在 UC Austin、谷歌、香港中文大學等機構提出的一項新研究中,作者找到了相應的解決方案:1) 將多層感知器(MLP)與卷積層相結合,可以編碼更多的鄰域信息,同時減少參數總數;2) 一種新的訓練策略來解決由移動物體或攝像機空間坐標校準誤差引起的偏移;3) 高頻感知損失。作者的方法幾乎沒有引入明顯的訓練和測試成本,而在不同數據集上的實驗表明,與基本的 NeRF 模型相比,該工作可以恢復更多的高頻細節。
- 論文地址:https://arxiv.org/abs/2211.09682
- 項目地址:https://yifanjiang19.github.io/alignerf
簡介
神經輻射場(NeRF)及其變體,最近在從圖像中學習幾何三維表示方面表現出了令人印象深刻的性能。由此產生的高質量的場景表示創造了沉浸式的新視圖合成體驗,與復雜的幾何形狀和視圖依賴的外觀。自 NeRF 誕生以來,人們已經做了大量的工作來提高其質量和效率,使其能夠從「野外」捕獲的數據或有限數量的輸入和跨多個場景的泛化中進行重建。
在本文中,作者以高分辨率的圖像數據作為輸入,在高保真設置下進行訓練神經輻射場的初步研究。這就帶來了幾個主要的挑戰:首先,使用高分辨率訓練圖像的主要挑戰在于編碼所有高頻細節需要更多的參數,這會導致更長的訓練時間和更高的內存成本。
在新模型中,作者在訓練期間渲染圖像補丁塊。這使作者能夠進一步解決渲染的補丁和 groud truth 之間的失調,這通常是由微小的相機姿態錯誤或被拍攝物體的輕微移動造成的。首先,作者分析了錯位如何通過利用訓練后渲染出的圖像幀和相應的 groud truth 之間的估計光流來影響推理圖像質量。作者分析并討論了以前的錯位感知損失的局限性,并為根據作者的任務目標提出了一種新的對齊策略。作者設計了一種新的頻率感知損失,它進一步提高了訓練集測試集的渲染質量,并且沒有額外的開銷。因此,AligNeRF 在高分辨率 3D 重建任務中的性能大大優于目前最好的方法。
綜上所述,作者的貢獻如下:
- 分析并顯示了高分辨率訓練數據的錯位導致的性能下降。
- 一種新的卷積網絡輔助架構,可以以少量的額外成本提高渲染圖像的質量。
- 一種新的補丁對齊損失,使 NeRF 對相機姿態誤差和微妙的物體運動更魯棒,結合基于補丁的損失,以提高高頻細節。
方法
AligNeRF 是一個易于插入的組件,適用于任何類似 NeRF 的模型,包括點采樣方法和基于截錐體的方法。AligNeRF 使用分階段訓練:從初始的「正常」預訓練階段開始,然后是對齊感知微調階段。作者選擇 mip-NeRF 360 作為工作的基線,因為它是用于復雜無界現實世界場景的最先進的 NeRF 方法。接下來,先介紹作者的卷積增強架構,隨后是錯位感知訓練過程和高頻損失。
作者先是探索如何有效地編碼局部歸納先驗知識以用于基于坐標的 NeRF 表示 。類似 NeRF 的模型通常會構建一個坐標到值的映射函數,隨機采樣一批光線以優化其參數,并且中間沒有任何優化操作。為此作者把從隨機采樣切換到基于補丁的采樣(作者在實驗中使用 32 × 32 補丁),這種基于補丁塊的采樣策略允許作者在每次迭代期間收集一個小的局部圖像區域,從而在渲染每個像素時利用 2D 局部鄰域信息。
首先將 MLP 中最后一層的輸出通道數從 3 更改為更大的 N, 這有助于在每個采樣光線中收集更豐富的表示。接下來在體積渲染后,添加一個簡單的 3 層卷積網絡,具有 ReLU 激活和 3 × 3 個內核。在該網絡的末端,作者使用前饋感知器層將表示從特征空間轉換為 RGB 空間。因此,每個像素的渲染過程不僅依賴于沿該方向的單個射線或圓錐射線區域,還依賴于其相鄰區域,這有助于產生更好的紋理細節。
NeRF 通過渲染函數映射 3D 點到場景屬性的關系來建模。在此框架下,訓練樣本相機位姿的準確性對于 NeRF 訓練至關重要,否則從不同視點觀察同一 3D 點的光線可能不會匯聚到空間中的同一位置 NeRF 通過在非常短的時間跨度內捕獲圖像(以防止場景運動和光照變化)并采用 COLMAP 來計算相機參數來解決這個問題。1) 地面實況相機姿勢與來自 COLMAP 的相機姿勢之間存在差距,該數據準備的工作流程大部分是可靠的,正如之前的工作所指出的那樣:2)在不受控制的室外場景中,通常很難避免帶有搖曳植物和其他非剛性靜止物體的圖像,這進一步損害了 COLMAP 的性能。
在高分辨率重建設置中,由相機姿勢和移動物體引起的錯位問題可能會進一步放大,因為像素空間錯位與分辨率呈線性關系。為了解決這個問題,作者提出了一種對齊感知訓練策略,可以用來改進渲染圖像的質量。
盡管紋理扭曲,作者觀察到 NeRF 仍然從未對齊的圖像中學習粗糙結構。利用這一點,作者提出了對齊的 groud truth 和渲染塊之間的 Loss。設置了一個基于歐氏距離的正則化項作為對該搜索空間的懲罰,最終的損失函數為:
均方誤差 (MSE) 損失通常用于監督 NeRF 訓練,但 MSE 經常導致輸出圖像模糊。鑒于作者的補丁采樣策略,作者可以采用感知損失,更好地保留高頻細節。作者首先嘗試使用預訓練 VGG 特征的 L2 損失。然而,與其他圖像恢復任務類似,作者發現感知損失會產生更多的高頻細節,但有時會扭曲物體的實際紋理。因此,作者修改了 Johnson 等人提出的原始感知損失,僅使用最大池化之前第一個塊的輸出:
AligNeRF 與之前工作的主要區別是從每像素 MSE 損失切換到基于塊的 MSE 損失(考慮未對齊)和淺層 VGG 特征空間損失的組合,以改善高頻細節:
實驗效果
定量分析
為了進行公平的比較,作者將所提出的 AligNeRF 是基于 mip-NeRF 360 的方法上,并注意不通過作者的分階段性的訓練(訓練前的 + 微調)來增加訓練時間。由于這個實驗使用了更高分辨率的圖像,也可以看到作者增加訓練時間的 4 倍以保持相同的訓練期數量的結果。如下表所示,NeRF 和 mip-NeRF 的性能較差,因為它們不是為 360 度無界場景設計的。增加 mip-NeRF 的參數會有很小的改善,但會使訓練時間更長。
作者提出的方法在兩組中都優于 baseline 方法,而且并沒有引入顯著的訓練開銷。下表是與一些較為流行的方法的比較,在這些方法中,作者的方法在三個指標中展示了最好的性能,而且在低分辨率圖像上的錯位問題要比其他的方法要輕得多。
定性分析
首先,作者訓練一個具有默認參數(1024 個通道)的 mip-NeRF 360 模型。但是僅僅是簡單的 baseline 模型產生了模糊的圖像,并且估計的光流包含了扭曲區域(第一列)中的偽影。接下來,作者將 mip-NeRF 360 網絡參數增加 4 倍,但是這僅僅會略微提高結果的視覺質量,作者也應用迭代對齊策略來改進這個獲得了更好的模型的結果。與在錯位數據(前兩列)上訓練的模型相比,使用再生數據訓練的模型恢復了更清晰的細節。這一觀察結果表明,目前基于 NeRF 模型受到不對準相機位姿的訓練樣本的強烈影響。
總結及未來展望
在這項工作中,作者對高分辨率數據上的訓練神經輻射場進行了初步研究。他們提出了一種有效的對齊感知訓練策 AligNeRF 可以提高 NeRF 的性能。作者還定量和定性地分析了錯位數據和通過使用光流估計重新生成對齊數據帶來的性能下降。這一分析進一步幫助我們理解目前將 NeRF 擴展到更高分辨率的瓶頸問題。我們可以觀察到,可以通過大幅增加參數的數量和進一步增加訓練時間來進一步改進 NeRF,如何縮小這一差距是未來的研究方向。