XYZNOT

論文 · arXiv 2308.04079

3D Gaussian Splatting for Real-Time Radiance Field Rendering

發表於 cs.GRcs.CV arXivPDF

用 XYZNOT 閱讀(全文翻譯與 AI 講解)

三句話總結

  1. 🎯 輻射場方法(如 NeRF)能產生高視覺品質,但受限於緩慢的體積射線步進與冗長的最佳化時間;而快速的網格方法則在品質或渲染速度上有所妥協。
  2. 🔧 使用從稀疏 SfM 點初始化的顯式 3D 非等向性高斯表示場景,透過自適應密度控制(複製與分割)進行最佳化,並經由視線感知、基於圖塊的可微 GPU 光柵化器進行渲染。
  3. 📈 達到與 Mip-NeRF360 相當的頂尖視覺品質,在 1080p 解析度下的即時渲染速度超過 130–160 FPS,且訓練時間少於一小時。

摘要

輻射場(Radiance Field)方法近期徹底改變了由多張相片或影片捕捉場景的新視角合成技術。然而,要達到高視覺品質仍需要運算成本高昂的神經網路進行訓練與渲染,而近期較快速的方法則不可避免地在速度與品質之間做出權衡。對於無邊界且完整的場景(而非孤立物體)以及 1080p 解析度渲染,目前尚無方法能達到即時顯示幀率。我們提出了三個關鍵要素,使我們能在保持具競爭力的訓練時間的同時達到頂尖的視覺品質,更重要的是能在 1080p 解析度下實現高品質的即時(>= 30 fps)新視角合成。首先,從相機校正期間產生的稀疏點出發,我們使用 3D 高斯(3D Gaussians)來表示場景,這既保留了連續體積輻射場利於場景最佳化的優良特性,又避免了在空白空間進行不必要的運算;其次,我們對 3D 高斯進行交錯的最佳化與密度控制,特別是最佳化非等向性共變異數(anisotropic covariance),以實現對場景的精確表示;第三,我們開發了一種支援非等向性投射(splatting)的快速視線感知渲染演算法,該演算法既加速了訓練,又能實現即時渲染。我們在多個經典資料集上展示了頂尖的視覺品質與即時渲染成果。

英文原文摘要

Radiance Field methods have recently revolutionized novel-view synthesis of scenes captured with multiple photos or videos. However, achieving high visual quality still requires neural networks that are costly to train and render, while recent faster methods inevitably trade off speed for quality. For unbounded and complete scenes (rather than isolated objects) and 1080p resolution rendering, no current method can achieve real-time display rates. We introduce three key elements that allow us to achieve state-of-the-art visual quality while maintaining competitive training times and importantly allow high-quality real-time (>= 30 fps) novel-view synthesis at 1080p resolution. First, starting from sparse points produced during camera calibration, we represent the scene with 3D Gaussians that preserve desirable properties of continuous volumetric radiance fields for scene optimization while avoiding unnecessary computation in empty space; Second, we perform interleaved optimization/density control of the 3D Gaussians, notably optimizing anisotropic covariance to achieve an accurate representation of the scene; Third, we develop a fast visibility-aware rendering algorithm that supports anisotropic splatting and both accelerates training and allows realtime rendering. We demonstrate state-of-the-art visual quality and real-time rendering on several established datasets.

論文解讀

問題與動機

神經輻射場(NeRF)透過多層感知機(MLP)最佳化連續隱式場景表示,徹底改變了新視角合成領域。然而,渲染這些連續場依賴於隨機體積射線步進(volumetric ray-marching),每條射線需要評估數十到數百個樣本。這帶來了沉重的運算負擔、漫長的訓練時間(例如 Mip-NeRF360 高達 48 小時),以及極慢的推論速度(每幀需數秒),無法在 1080p 等高解析度下進行即時導覽。

雖然較快的輻射場變體(如 Plenoxels 與 InstantNGP)依賴體素或雜湊網格來加速訓練,但它們往往犧牲了視覺逼真度,並且在處理空白空間或高頻細節時顯得吃力。相反地,基於點的方法提供了對 GPU 友善的顯式幾何表示,但傳統的點光柵化需要密集的雙目立體視覺(MVS)幾何以避免破洞,或者依賴會引入時間閃爍的 CNN 後處理。

本文提出了一種非結構化的顯式場景表示,使用 3D Gaussians 搭配快速的圖塊光柵化器(tile-based rasterizer),在具備即時幀率與競爭力最佳化時間的同時,達到了頂尖隱式輻射場的渲染逼真度。


核心概念

  1. 非結構化 3D 高斯表示法(Unstructured 3D Gaussian Representation): 輻射場不再使用連續座標網路或密集網格,而是由具備完整非等向性共變異數矩陣的離散 3D 高斯參數化,直接從稀疏的運動推論結構(SfM)點雲初始化,無需法向量或密集 MVS。
  2. 透過縮放與旋轉參數化: 為確保共變異數矩陣在整個梯度下降過程中保持正半定,將其解耦為 3D 縮放向量與單位四元數。
  3. 自適應密度控制(Adaptive Density Control): 最佳化過程透過追蹤視角空間的位置梯度動態管理場景密度:複製重建不足的高斯並分割重建過度的高斯,同時修剪透明或過大的投射點。
  4. 視線感知圖塊光柵化(Visibility-Aware Tile-Based Rasterization): 客製化的 GPU 光柵化器將螢幕像素組織為 的圖塊,使用快速基數排序(Radix sort)對每幀的投射點進行深度排序,並由前向後對非等向性投影進行 Alpha 混合,且不限制接收梯度更新的投射點數量。

方法

1. 3D 高斯場景表示

以平均值 為中心的 3D 高斯在世界空間中由其共變異數矩陣 定義:

為了保證 在最佳化過程中保持正半定,將其分解為旋轉矩陣 和縮放矩陣 : 在此, 儲存為透過指數活化函數評估的 3D 向量 ,而 則由標準化的單位四元數 參數化。

在渲染時,3D 高斯遵循 EWA 投射框架投影到 2D 影像座標。給定視角變換 以及投影變換仿射近似的雅可比矩陣 ,螢幕空間中的 2D 共變異數矩陣 為: 捨棄第三列與第三行,得到用於平面投射的 共變異數矩陣。

2. 渲染與影像生成

每個高斯具有不透明度 (透過 Sigmoid 活化函數限制在 )以及描述視角相依顏色 的球諧函數(SH)係數。在一個像素處混合 個排序後重疊的高斯遵循標準體積形式: 其中 是透過計算 2D 投影高斯乘以學習到的每點不透明度來決定的。

3. 最佳化與自適應控制

損失函數結合了 損失與 D-SSIM 損失(其中 ):

自適應密度控制每 100 次迭代針對平均視角空間位置梯度超過 的高斯執行:

  • 複製(重建不足): 對於小型高斯,複製一份並沿位置梯度方向移動。
  • 分割(重建過度): 對於大型高斯,將該圖元替換為兩個縮小因子 的較小高斯,其初始位置從母高斯中採樣。
  • 修剪: 修剪 或在世界/視角空間中過大的高斯。每 次迭代,將不透明度重置為接近零,以過濾掉漂浮的假影。

4. 快速可微圖塊光柵化器

  • 螢幕被劃分為 像素的圖塊(tiles)。
  • 通過 99% 信賴區間視錐剔除的高斯會被分配一個包含圖塊 ID 與視角空間深度的 64 位元鍵值。
  • 單一 GPU 基數排序對整個畫面的所有實例進行排序。
  • 執行緒區塊由前向後逐圖塊累加顏色,直到 達到飽和(在超過 之前停止)。
  • 反向傳播由後向前遍歷圖塊,透過將最終累加的不透明度除以每個圖元的 來復原中間不透明度,避免了高昂的動態逐像素記憶體緩衝區成本。

成果

  • Mip-NeRF360 資料集: 在 30K 次迭代後(平均訓練時間 41 分 33 秒),3D Gaussian Splatting 達到了平均 0.815 的 SSIM、27.21 dB 的 PSNR 與 0.214 的 LPIPS,達到或超越了 Mip-NeRF360(SSIM 0.792、PSNR 27.69 dB、LPIPS 0.237,訓練需 48 小時),而渲染速度為 134 FPS,遠高於 Mip-NeRF360 的 0.06 FPS。
  • 快速設定(7K 次迭代): 僅需 6 分 25 秒即可達到 0.770 的 SSIM 和 25.60 dB 的 PSNR,渲染幀率為 160 FPS,在相近的訓練時間內優於 InstantNGP-Base(SSIM 0.671、11.7 FPS)與 Plenoxels(SSIM 0.626、6.79 FPS)。
  • Tanks&Temples 與 Deep Blending: 在 Tanks&Temples 上,30K 次迭代達到了 0.841 的 SSIM、23.14 dB 的 PSNR 以及 154 FPS。在 Deep Blending 上,達到 0.903 的 SSIM、29.41 dB 的 PSNR 以及 137 FPS。
  • Synthetic Blender: 從完全隨機初始化的 10 萬個點出發,平均 PSNR 達到 33.32 dB,渲染速度為 180–300 FPS。

局限性與待解問題

  • 未觀察到的視角與離群值: 稀疏的視角覆蓋或遠離訓練軌跡的視角可能會產生明顯的假影,例如拉長或斑駁狀的高斯。
  • 突波假影(Popping Artifacts): 深度排序的突變或過於激進的保護頻帶剔除(guard-band culling)可能在導覽過程中造成突波現象,這顯示出需要更好的反鋸齒機制。
  • 記憶體消耗: 雖然與傳統密集點雲相比相對緊湊,但顯式表示法仍需數百 MB(例如包含 100 萬至 500 萬個高斯的場景需 400–750 MB),且未最佳化的原型訓練可能使 GPU 記憶體飆升超過 20 GB。
  • 缺乏正規化項: 此框架未包含顯式的幾何平滑度或密度正規化器,在相機射線約束較差的區域容易留下背景漂浮物(floaters)。

關鍵術語

3D Gaussians (3D 高斯)
核心的非結構化、可微 3D 圖元,由中心位置、非等向性共變異數矩陣、不透明度與球諧外觀係數所定義。
Anisotropic Covariance (非等向性共變異數)
一種具有方向性的 3D 展開,被參數化為獨立的縮放向量與單位旋轉四元數,允許高斯變形為貼合物體幾何表面的扁平橢球體。
Adaptive Density Control (自適應密度控制)
一種交錯進行的最佳化策略,透過複製或分割具有較大位置梯度的圖元來增加高斯,並修剪透明或過大的圖元。
Tile-Based Rasterization (基於圖塊的光柵化)
一種 GPU 驅動的渲染管線,將視口劃分為 像素的區塊,以有效率地平行排序並混合重疊的高斯投射點。
Alpha-Blending (Alpha 混合)
顏色與穿透率由前向後的累加過程,對應於標準 NeRF 在排序後的 2D 投影投射點上所進行的體積積分。
Radix Sort (基數排序)
一種 GPU 排序演算法,用於根據結合圖塊 ID 與視角空間深度的 64 位元鍵值,對高斯進行平行全域排序。
Spherical Harmonics (SH) (球諧函數)
一種基於頻率的方向基底函數,用於在最多 4 個階數(bands)上表示每個高斯圖元的視角相依顏色。

常見問題

3D 高斯在最佳化前是如何初始化的?

它們是使用運動推論結構(SfM)相機校正時附帶產生的稀疏點雲進行初始化的,初始等向性縮放尺度取自與最近三個鄰近點的平均距離。對於合成場景,也可以使用均勻隨機初始化。

複製(cloning)與分割(splitting)高斯有何不同?

複製是拷貝一個較小的高斯並將其沿著位置梯度方向移動,以涵蓋未充分重建的幾何特徵;而分割則是將過大的高斯拆分為兩個按 1.6 倍縮小的較小高斯,以更好地捕捉高變異度的細節(重建過度)。

為什麼光柵化器是按圖塊(per-tile)排序而非按像素(per-pixel)排序?

在結合圖塊與深度的鍵值上使用單一全域 GPU 基數排序進行逐圖塊排序,可避免逐像素排序圖元的龐大運算開銷,從而以微不足道的視覺近似代價實現高幀率。

反向傳播如何避免在全域記憶體中儲存冗長的逐像素圖元列表?

光柵化器由後向前重新遍歷現有的逐圖塊排序列表,並透過將最終累加的不透明度除以每個高斯的 alpha 值來重建中間不透明度,僅需固定的逐像素記憶體開銷。

本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。

用 XYZNOT 閱讀(全文翻譯與 AI 講解)