3D高斯分佈溅射 是什麼?

3D Gaussian Splatting:3D高斯分佈溅射 的完整解釋

用3D高斯分佈代表場景幾何,通過可微分光柵化實現高速3D重建和新視角合成。

核心概念

3D高斯分佈溅射將3D場景表示為大量3D高斯分佈的集合。每個高斯由位置(均值)、協方差矩陣(決定形狀和方向)、顏色和透明度參數化。相比NeRF的隱式MLP表達,3DGS更直觀:每個高斯對應場景中的一個"小塊"區域。整個場景由數萬個高斯組成,覆蓋整個三維空間。

核心創新是可微分光柵化(Differentiable Rasterization)。給定相機投影,3DGS無需體積渲染積分,直接計算每個高斯在影像平面的投影(2D高斯),按視角排序,逐像素合成。這避免了NeRF的逐光線採樣瓶頸,大幅加速推理。

運作原理

  • 初始化和優化以點雲開始。從多視角影像或SfM得到稀疏點雲,每個點初始化為一個高斯。優化過程調整每個高斯的位置、協方差、顏色和透明度,最小化渲染誤差。自適應密度控制會在不足的區域添加新高斯,在冗餘區域移除舊高斯,使高斯數量動態調整。

可微分光柵化管線

  1. 將3D高斯投影到相機平面,得到2D高斯
  2. 計算每個高斯對每個影像像素的貢獻
  3. 按深度排序(畫家算法)
  4. 逐像素融合高斯貢獻(考慮透明度和顏色)

整個管線可微,梯度反向傳播到高斯參數,支持端到端優化。

  • 高效實現利用GPU並行化。高斯投影、排序、融合都在GPU上高效執行,支持實時渲染。

訓練通常數分鐘到十數分鐘完成,比NeRF快數十倍。推理可在實時幀率(30-60 FPS)執行,遠優NeRF。

實際應用

  • 即時3D重建是3DGS的殺手級應用。從多視角照片快速重建高保真場景,實時預覽。適合現場掃描、房產展示、文物快速數位化。

  • 虛擬攝影機在遊戲或電影中實時生成新視角。美術團隊掃描現實場景,3DGS重建,遊戲引擎實時渲染任意視角。相比預渲染視頻,3DGS更靈活。

  • 互動式3D編輯利用高斯的幾何直觀性。用戶可直接拖動高斯,修改顏色或透明度,即時看到結果。相比NeRF的黑盒編輯,3DGS更友好。

  • VR和AR應用利用實時性能。VR頭盔需實時渲染立體視角(90-120 FPS),3DGS能輕鬆達成,NeRF難以負擔。

  • 動態場景建模(如人物動作)利用變形高斯。添加變形字段,每個高斯隨時間變形,編碼動態。

常見誤區

誤區一:3DGS直接替代NeRF。實際上兩者各有優勢。3DGS快但編輯困難(高斯數多時),NeRF慢但隱式表達更緊湊。

誤區二:3DGS是點雲的簡單包裝。實際上3DGS的高斯形狀和透明度參數化使其能精確表達曲面和反射,遠優靜態點雲。

誤區三:3DGS無需訓練資料就能重建。實際上仍需多視角影像作監督信號,差別只是訓練速度。

與相關技術的比較

  • 3DGS vs NeRF:3DGS快50-100倍,易編輯;NeRF隱式表達更緊湊,無需初始化點雲。

  • 3DGS vs 點雲:3DGS每點有協方差和透明度,能精確表達曲面;點雲無方向信息。3DGS適合渲染,點雲適合幾何分析。

  • 3DGS vs 網格:3DGS無顯式連接,不受拓撲限制;網格明確定義曲面。3DGS適合複雜幾何,網格適合簡潔拓撲。

常見問題