三維視覺與幾何

神經輻射場

神經輻射場(neural radiance field,NeRF)是一種儲存三維場景的截然不同方式:不是用點或網格,而是把場景藏成一個小型神經網路內部的一個連續函數。網路接收空間中的一個位置與一個觀看方向,並輸出該處場景的顏色與密度。沿著虛擬相機的射線到處查詢它,你就能從任何視點渲染出該場景的照片級擬真影像——包括從未實際拍過的視角。由 Mildenhall 等人於 2020 年提出,NeRF 引爆了神經式三維表示的大爆發。

具體而言,這個網路是一個多層感知器(一個樸素的全連接 MLP)。它的輸入是五個數字:三維位置(三個座標)與觀看方向(兩個角度),故稱「5D 輻射場」。它的輸出是一個顏色(紅、綠、藍)與單一密度值——該點阻擋或發出多少光。密度只取決於位置(它是幾何的性質),而顏色則被允許也取決於觀看方向,這讓 NeRF 能重現隨你移動而改變的視角相依效果,例如鏡面高光與光澤反射。

NeRF 是逐場景訓練的,完全沒有三維監督——只有一組相機位姿已知的普通照片(通常由運動回復結構取得)。對每個訓練像素,系統射出對應的射線、沿線取樣若干點、向 MLP 詢問它們的顏色與密度,再以體積渲染把它們合成為單一的預測像素顏色。唯一的損失是這個渲染顏色與真實像素之間的平方差。因為整個渲染過程是可微分的,梯度下降會推動網路,直到它內部的場重現所有訓練視角——而且驚人地,能正確內插到新視角。一個關鍵技巧——位置編碼(positional encoding)——把原始座標經由高頻正弦函數映射,使 MLP 能表示銳利的細節,而非只有平滑的模糊。

原版 NeRF 訓練慢(數小時)、渲染也慢,後續工作對兩者都下手。Instant-NGP 以一個學習式的多解析度雜湊格取代大部分 MLP,把訓練縮短到數秒或數分鐘。Mip-NeRF 藉由以圓錐而非無限細的射線來推理以處理鋸齒。其他變體加入了無界場景(mip-NeRF 360)、用於動態場景的形變,以及少影像或可泛化的訓練。NeRF 的概念遺產巨大,而它如今在速度與可編輯性上的主要對手是三維高斯潑濺。

一個 NeRF 的好壞取決於它輸入的相機位姿。因為它沒有可退而求其次的顯式幾何,運動回復結構產生的微小位姿誤差會造成鬼影、漂浮物(虛假的半透明團塊)與模糊。位姿是垃圾,渲染就模糊——準確的校正與 SfM 是先決條件,不是事後補救。

又称
NeRF