3D高斯分佈溅射 是什麼?
3D Gaussian Splatting:3D高斯分佈溅射 的完整解釋
用3D高斯分佈代表場景幾何,通過可微分光柵化實現高速3D重建和新視角合成。
核心概念
3D高斯分佈溅射將3D場景表示為大量3D高斯分佈的集合。每個高斯由位置(均值)、協方差矩陣(決定形狀和方向)、顏色和透明度參數化。相比NeRF的隱式MLP表達,3DGS更直觀:每個高斯對應場景中的一個"小塊"區域。整個場景由數萬個高斯組成,覆蓋整個三維空間。
核心創新是可微分光柵化(Differentiable Rasterization)。給定相機投影,3DGS無需體積渲染積分,直接計算每個高斯在影像平面的投影(2D高斯),按視角排序,逐像素合成。這避免了NeRF的逐光線採樣瓶頸,大幅加速推理。
運作原理
- 初始化和優化以點雲開始。從多視角影像或SfM得到稀疏點雲,每個點初始化為一個高斯。優化過程調整每個高斯的位置、協方差、顏色和透明度,最小化渲染誤差。自適應密度控制會在不足的區域添加新高斯,在冗餘區域移除舊高斯,使高斯數量動態調整。
可微分光柵化管線
- 將3D高斯投影到相機平面,得到2D高斯
- 計算每個高斯對每個影像像素的貢獻
- 按深度排序(畫家算法)
- 逐像素融合高斯貢獻(考慮透明度和顏色)
整個管線可微,梯度反向傳播到高斯參數,支持端到端優化。
- 高效實現利用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適合複雜幾何,網格適合簡潔拓撲。