搜尋意圖: 如果你在找「高斯點渲染(3D 高斯展開) 是什麼」或「高斯點渲染(3D 高斯展開) 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 一種用數百萬個可學習的 3D 高斯橢球體表示場景幾何與外觀的技術,可從多角度照片重建出能即時渲染的高品質 3D 場景。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
一種用數百萬個可學習的 3D 高斯橢球體表示場景幾何與外觀的技術,可從多角度照片重建出能即時渲染的高品質 3D 場景。
3D 高斯點渲染的背景
從多張照片重建 3D 場景並進行高品質渲染,是電腦視覺和電腦圖學的長期核心問題。傳統方法如 SfM(Structure from Motion)和 MVS(Multi-View Stereo)能重建 3D 點雲或網格,但渲染品質和速度有所取捨。2020 年 NeRF(Neural Radiance Field)透過隱式神經網路表示場景,在新視角合成上取得突破性的品質,但訓練和渲染速度極慢(渲染一張圖可能需要數十秒到數分鐘)。
2023 年,Kerbl 等人提出的「3D Gaussian Splatting for Real-Time Novel View Synthesis」在保留 NeRF 品質優勢的同時,實現了即時渲染速度,成為 3D 場景表示的里程碑式方法。
核心表示:3D 高斯橢球體
場景由 N 個 3D 高斯橢球體(3D Gaussian Primitives)組成,每個高斯有以下可學習屬性:
- 位置(Position)μ:3D 空間中的中心座標(x, y, z)
- 共變異數矩陣(Covariance Matrix)Σ:定義橢球體的形狀和方向,實際上分解為縮放矩陣 S 和旋轉矩陣 R 以確保正半定性
- 不透明度(Opacity)α:控制高斯的透明程度
- 球面調和係數(Spherical Harmonics,SH):多個係數共同表示視角相關的顏色(捕捉高光、反射等效果)
每個 3D 高斯對空間中某點 x 的影響值定義為: G(x) = exp(-½ (x - μ)ᵀ Σ⁻¹ (x - μ))
可微分點渲染(Differentiable Splatting)管線
渲染流程的核心步驟:
- 投影:將每個 3D 高斯投影(Splat)到 2D 影像平面上,形成 2D 高斯橢圓
- 排序:根據高斯中心到相機的深度(從前到後)進行排序
- Alpha 合成:從前到後按深度順序,使用 Alpha Compositing 將高斯疊加,每個像素的顏色為各高斯貢獻的加權和
由於整個管線是可微分的,可以直接對訓練照片計算渲染損失,再用梯度下降法更新所有高斯的屬性,實現端到端的優化。
訓練流程
- 初始化:通常以 SfM 的稀疏點雲作為初始高斯位置(也可隨機初始化)
- 自適應密度控制:訓練過程中動態增加(Densification)或刪除(Pruning)高斯數量:
- 梯度大但高斯過大 → 分裂(Split)成兩個更小的高斯
- 梯度大但高斯過小 → 複製(Clone)並微調
- 不透明度接近 0 的高斯 → 定期刪除
- 損失函數:通常結合 L1 損失與 SSIM(結構相似性)損失
與 NeRF 的比較
| 面向 | 3D Gaussian Splatting | NeRF |
|---|---|---|
| 場景表示 | 顯式(數百萬高斯基元) | 隱式(神經網路) |
| 訓練速度 | 分鐘至數十分鐘 | 數小時(原始)/ 分鐘(Instant NGP) |
| 渲染速度 | 即時(30+ FPS) | 慢(數秒/張,除非加速版) |
| 渲染品質 | 高,與最優 NeRF 相當 | 非常高,尤其是細節和反射 |
| 可編輯性 | 高(可直接操作高斯基元) | 較低(隱式表示難以編輯) |
| 記憶體使用 | 較高(數百萬高斯的儲存) | 較低(神經網路參數) |
應用場景
- 虛擬製作與影視特效:快速從真實場景照片重建可即時渲染的 3D 背景
- VR/AR 內容創建:為頭戴裝置提供沉浸式 3D 環境,即時渲染是關鍵需求
- 數位孿生(Digital Twin):快速重建真實空間的 3D 模型
- 自動駕駛場景生成:從現有行車記錄生成可供訓練的 3D 場景資料
- 3D 資產生成:配合文字或圖像生成條件,生成可用的 3D 場景或物件
衍生研究方向
- Dynamic 3DGS:擴展到動態場景,支援物體運動的建模
- 2D Gaussian Splatting:將 3D 高斯替換為 2D 高斯盤,更準確地捕捉表面幾何
- Gaussian-based Scene Editing:直接操作、刪除、移動場景中的高斯基元進行場景編輯
- Language-embedded 3DGS:在每個高斯上嵌入語義特徵,實現語言引導的場景理解
局限性
- 場景細節(如鏡面反射、透明物體、精細薄結構)仍有挑戰
- 記憶體需求較高,一個場景可能需要數百萬個高斯(數 GB 儲存)
- 對訓練照片的數量和角度覆蓋有要求,輸入視角不足時品質下降明顯
- 目前對無界大場景(如城市級別)的建模能力仍受限制
常見問題
3D 高斯點渲染和 NeRF 哪個比較好?
兩者各有優勢,選擇取決於應用需求。3D Gaussian Splatting 的核心優勢是即時渲染速度(30+ FPS),適合需要實時互動的 VR/AR 和遊戲應用,同時場景可編輯性更高(可直接操作高斯基元)。NeRF 的優勢在於某些場景下細節表現(尤其是精細反射、透明材質)可能更好,且記憶體佔用較低。在多數靜態場景的新視角合成任務上,3DGS 在速度和品質的综合表現上更有優勢,是目前學術界和工業界快速採用的方法。
使用 3D 高斯點渲染需要多少張照片?
一般而言,場景越複雜、所需的照片越多。對於室內房間級別的場景,通常需要數十到數百張不同視角的照片;室外小型場景可能需要一到兩百張;大型戶外場景(如建築外觀)則可能需要數百張甚至更多。更重要的是視角的覆蓋品質:照片需要從多個角度、不同高度均勻覆蓋場景,避免有大面積視角盲區。此外,照片品質(解析度、銳利度、曝光一致性)對最終重建品質的影響也很顯著。
3D 高斯點渲染可以用手機拍的照片來做嗎?
可以,現代智慧型手機的相機品質已足以作為 3DGS 的輸入,網路上也有多個開源工具(如 COLMAP + 3DGS 官方實作)支援從手機照片重建 3D 場景。建議拍攝時保持曝光一致(避免 HDR 自動調整)、從多個角度繞行拍攝(不要只拍正面)、保持充足重疊(相鄰照片有 60-80% 的區域重疊)、以及在光線均勻的環境下拍攝(強烈直射光會造成過曝和陰影問題)。此外,動態物體(如路過的行人)會降低重建品質,靜止的環境通常效果較好。