图形学 · GraphicsNote

三维高斯泼溅

3D Gaussian Splatting

三维高斯泼溅 (3D Gaussian Splatting, 3DGS) 用一组带空间范围、透明度和视角相关外观的各向异性三维高斯,显式近似一个已捕获的静态场景。它从稀疏摄影测量点初始化,通过可微渲染优化高斯参数,再用 tile-based 的屏幕空间泼溅和深度排序 alpha 合成生成新视角;因此把 NeRF 的逐射线体采样换成了更接近 GPU 光栅化的数据流(Kerbl et al., 2023)。

3DGS 是一种高质量的场景表示和渲染方法,不自动提供水密网格、物理材质、光照重新求解或物理模拟。把它用于游戏运行时前,应把“新视角回放”和“可编辑、可碰撞、可重光照的资产”分开评估。

表示:一个可学习的带状点

每个高斯以中心 μ\boldsymbol\mu 和协方差 Σ\boldsymbol\Sigma 定义空间核:

G(x)=exp⁡(−12(x−μ)TΣ−1(x−μ)).G(\mathbf{x})=\exp\left(-\frac12(\mathbf{x}-\boldsymbol\mu)^T\boldsymbol\Sigma^{-1}(\mathbf{x}-\boldsymbol\mu)\right).

实际参数通常把协方差分解为旋转 RR 与非负尺度 SS,即 Σ=RSSTRT\boldsymbol\Sigma=RSS^TR^T,从而在梯度优化中保持协方差合法。每个 primitive 还保存不透明度 α\alpha,以及用球谐 (Spherical Harmonics, SH) 表示的视角相关颜色。各向异性尺度让一个高斯沿表面切向展开、沿法线变窄,比固定半径的圆点更能适应表面形状和投影。

这与传统点云的差别是:传统点通常只是位置、颜色和可选法线;3DGS 的高斯把“点的空间覆盖范围”和可学习的辐射外观一起优化。它仍不是显式三角网格,单个高斯也不保证对应一个物理表面点。

从捕获到图像的流程

  1. 初始化:用多视图图像和相机位姿做 SfM,得到稀疏点;每个点初始化一个高斯及其颜色/透明度。
  2. 可微渲染:将三维高斯投影到相机平面,得到椭圆核和屏幕空间覆盖范围;按屏幕 tile 分桶,并在 tile 内按深度排序。
  3. 优化:对训练视角渲染颜色与目标图像比较,反向传播更新位置、旋转、尺度、透明度和 SH 系数。光度误差驱动的是“在训练视角下看起来正确”,不是直接的几何测量。
  4. 自适应密度控制:对投影过小或梯度不足的区域 prune;对需要更多容量的区域 clone 或 split。周期性密度控制在质量、高斯数量和显存之间折中。
  5. 运行时合成:对每个像素,把按深度排序的高斯贡献进行前到后 alpha 合成。对单个高斯的近似形式可写为 C=∑iTiαici,Ti=∏j<i(1−αj),C=\sum_i T_i\alpha_i c_i,\qquad T_i=\prod_{j<i}(1-\alpha_j), 其中 cic_i 是该高斯在当前视线方向的颜色。

下图把离线建场景和运行时渲染分开:前者可以迭代优化表示,后者只需投影、排序、合成。

flowchart LR
  A["多视图图像 + 相机位姿"] --> B["SfM 稀疏点初始化"]
  B --> C["各向异性 3D 高斯"]
  C --> D["投影到屏幕 tile"]
  D --> E["深度排序 + Alpha 合成"]
  E --> F["新视角图像"]
  F --> G["与训练图像比较并反向传播"]
  G --> H["优化参数与 clone/split/prune"]
  H --> C

图中回路表示逐场景优化;部署时通常固定高斯集合,反复执行右侧的投影和合成。

与相关表示的对照

表示优势代价与边界
三角网格 + 材质几何、碰撞、骨骼和编辑工具成熟;可接入 PBR捕获真实外观需要重建网格、UV、材质和光照;细碎几何会增加资产成本
传统点云/surfel结构直观,扫描数据容易保留固定半径和稀疏空洞难处理;视角相关外观、可微优化和遮挡表达有限,见 点云渲染
NeRF 等隐式神经场连续体表示,能用网络表达复杂外观逐射线查询和体采样推理成本高;训练后不易作为普通 GPU 几何资产,见 可微渲染与神经渲染
3DGS显式高斯可并行投影,训练后新视角渲染快;空间覆盖和外观都可优化高斯数量导致显存/存储压力;不天然给出干净网格、碰撞、物理 BRDF 或光照分离

3DGS 的“可实时”是论文实验条件下的渲染结果,不能脱离分辨率、GPU、视锥内高斯数量和排序实现直接换算成游戏帧率。高斯仍需剔除、分页或分块,且半透明合成可能引入排序和过度绘制成本。

应用与工程取舍

  • 数字孪生与新视角回放:建筑、扫描场景、影视布景或游戏背景可以从相机采集快速生成自由视角浏览;这适合视觉展示,不等于可任意改变时间、光照和几何。
  • 实时资产预览与 VR:显式高斯适合 GPU 并行的投影/合成管线;应配合视锥剔除、层次 LOD、流送和抗锯齿。近处放大时高斯数量和排序会成为瓶颈。
  • 混合渲染:角色、碰撞体、UI 和可交互物体继续使用网格;静态背景用 3DGS 作为视觉代理。这样能保留传统引擎的物理和材质系统,但需处理深度、透明和阴影的接口。
  • 编辑与重光照:SH 颜色可能把捕获时的光照和高光烘焙进外观。要做 PBR 编辑,应额外估计法线、BRDF、入射光和可见性;直接把 SH 当作材质会产生材质-光照歧义,相关路线见 基于物理的着色 和 可渲染世界模型与 4D 场景预测。

论文地图:从基础表示到可重光照资产

下面按“先理解表示,再处理几何/规模,最后进入生成、编辑和物理外观”的依赖关系整理当前 raw/papers/ 中与 3DGS 直接相关的论文。论文是原始资料索引,不代表每种方法都能直接替代游戏资产管线。

1. 基础管线、抗混叠与光栅化

2. 几何、表面与大规模部署

3. 可泛化、稀疏视图与生成式建场

4. 语义、分割与可编辑高斯

5. 人体、头像与可动画混合表示

6. 神经 PBR、逆向渲染与可重光照

这些论文只说明“在给定数据和假设下尝试把几何、材质、光照分开”,不意味着 3DGS 的 SH 或神经颜色自动就是 PBR 材质。若要接入可重光照资产,应回到 基于物理的着色 与 双向反射分布函数,检查法线、BRDF、入射光、可见性、曝光和镜面反射是否分别有可验证表示;训练视角内图像质量不能替代新光源、新视角和材质编辑验证。

学习顺序与工程检查点

  1. 先读 Kerbl 基础论文,再读 StopThePop、Mip-Splatting 和 Scaffold-GS,掌握投影、排序、抗混叠、密度控制与视角相关外观。
  2. 接着读 Gaussian Surfels、SuGaR 和层次/城市级论文,明确高斯的几何边界、网格接口、LOD、流送和显存成本。
  3. 再读 PixelSplat、MVSGaussian、COLMAP-Free、SelfSplat 与 GaussianObject,区分逐场景优化、前馈泛化、姿态估计和稀疏视图生成;最后读 Generative Densification 理解学习式细节补偿的幻觉风险。
  4. 需要内容生产或语义编辑时,按 DreamGaussian/LGM → GaussianDreamer/MVGamba → Gaussian Grouping/LangSplat → 两篇 GaussianEditor 阅读,先掌握生成,再评估可控编辑和语义一致性。
  5. 需要游戏角色时,按 HUGS/3DGS-Avatar/GaussianAvatars → SplattingAvatar → Relightable Codec Avatars 阅读,验证绑定、表情、拓扑、阴影和运行时接口,而不是只看单视角质量。
  6. 最后读 GS-IR、Relightable 3D Gaussians、GS³、GaussianShader、OLAT Gaussians,再读 GS-ID/RNG/SVG-IR/GeoSplatting/RelitLRM/LIRM。只有在法线、BRDF、入射光、遮挡和曝光分解均有证据时,才把“可重光照”写进资产规格;SH 或神经颜色本身不等于材质。
  7. 每篇论文都应按训练视图覆盖、动态/透明/镜面边界、模型大小、毫秒帧时间和硬件条件复核;论文中的 FPS、压缩比和重光照质量不能直接当作引擎保证。

常见限制

  1. 输入依赖:多视图覆盖、相机位姿和曝光一致性影响优化;未观测区域不会凭空恢复可靠几何。
  2. 几何不保证:高斯可以重叠、漂浮或穿插,深度图可能有厚度和边缘伪影;若需要网格、碰撞或骨骼,必须增加表面重建和人工检查。
  3. 外观外推:球谐和训练视角能拟合视角相关颜色,但极端新视角、反射表面、透明物体和细薄结构容易失真。
  4. 资源成本:densification 提高质量也会增加高斯数量、排序、带宽和显存;压缩、LOD 和块流送是运行时工程问题。
  5. 静态假设:基础 3DGS 主要针对静态场景。动态内容应选择明确的时间表示,例如 四维高斯泼溅,不要把每一帧独立建模误称为同一个静态 3DGS。
  1. 2023-kerbl-3d-gaussian-splatting
  2. README
  3. 2024-fu-colmap-free-3dgs
  4. 2024-charatan-pixelsplat
  5. 2024-lu-scaffold-gs
  6. 2024-guedon-sugar-surface-aligned-gaussian-splatting
  7. 2024-dai-gaussian-surfels
  8. 2024-yu-mip-splatting
  9. 2024-radl-stopthepop
  10. 2024-kerbl-hierarchical-3d-gaussians
  11. 2024-lin-vastgaussian
  12. 2024-liu-citygaussian
  13. 2024-lee-compact-3d-gaussian-representation
  14. 2024-niedermayr-compressed-3d-gaussian-splatting
  15. 2024-chen-hac
  16. 2024-fang-mini-splatting
  17. 2024-deng-efficient-density-control
  18. 2024-mallick-taming-3dgs
  19. 2025-hanson-speedy-splat
  20. 2025-hanson-pup-3d-gs
  21. 2025-ren-octree-gs
  22. 2025-chen-fast-feedforward-3dgs
  23. 2025-kang-selfsplat
  24. 2025-nam-generative-densification
  25. 2024-liu-mvsgaussian
  26. 2024-yang-gaussianobject
  27. 2024-tang-lgm-large-multi-view-gaussian-model
  28. 2024-tang-dreamgaussian
  29. 2024-yi-gaussiandreamer
  30. 2024-yi-mvgamba
  31. 2025-ju-directtrigs
  32. 2025-yang-hgmm-splatting
  33. 2024-chen-gaussianeditor-swift-controllable
  34. 2024-wang-gaussianeditor-delicate-text
  35. 2024-ye-gaussian-grouping
  36. 2024-qin-langsplat
  37. 2024-shen-flashsplat
  38. 2023-gao-relightable-3d-gaussians
  39. 2024-bi-gs3
  40. 2024-jiang-gaussianshader
  41. 2024-liang-gs-ir
  42. 2024-kuang-olat-gaussians
  43. 2024-saito-relightable-gaussian-codec-avatars
  44. 2025-du-gs-id
  45. 2025-fan-rng
  46. 2025-sun-svg-ir
  47. 2025-ye-geosplatting
  48. 2025-zhang-relitlrm
  49. 2025-li-lirm

相关页面

图形学点云渲染Point Cloud Rendering点渲染用大量互不连接的三维点表示表面,每个点画成有半径的"溅射斑" (splat)。随着激光扫描、LIDAR、深度相机和摄影测量普及,点云数据可达数千亿点,因此几乎所有系统都用层次结构按预算加载和显示,并用不透明溅射、屏幕空间 AO 或眼罩光照 (EDL) 给无法线的点着色(RTR4 13.9 节)。图形学可微渲染与神经渲染Differentiable & Neural Rendering逆向渲染 (inverse rendering) 要从图像反推场景参数 \mathbf x(形状、材质、光照……),通常写成优化问题 \mathbf x^=\arg\min{\mathbf x}g(f(\mathbf x)),其中 f 是渲染器,g 是损失函数。参数维度可达数百万,只能用梯度下降,因此需要可微渲染 (differentiable rendering):不构造巨大的雅可比矩阵,直接计算"图像空间梯度 × 雅可比"这一向量-矩阵乘积。难点是可见性造成的不连续、反向模式的内存开销和导数积分的采样。机器学习与渲染的结合可分三类:用学习得到的数据结构替换传统数据结构、用神经网络改进传统渲图形学光栅化Rasterization光栅化(也叫扫描转换)把屏幕空间里带深度和着色数据的顶点,转换成三角形覆盖的像素(片元),交给像素处理阶段。它是几何处理和像素处理之间的同步点:三个顶点在这里组成三角形。图形学实时渲染Real-Time Rendering实时渲染是在计算机上快速生成图像、并让图像随用户输入即时变化的技术。RTR4 认为它由三个要素共同定义:交互性、三维空间感,以及图形加速硬件 (GPU)。图形学空间数据结构Spatial Data Structures空间数据结构把几何体按 n 维空间组织起来,通常是层次化的树,使"几何体是否重叠"一类查询从 O(n) 降到大约 O(\log n)。常见类型有包围体层次 (BVH)、BSP 树(轴对齐的 k-d 树与多边形对齐两种)、四叉树/八叉树(含松散八叉树),以及更偏向组织模型关系的场景图。它们是剔除、光线求交、碰撞检测等加速算法的基础。图形学抗锯齿Antialiasing渲染本质上是采样,采样频率不足就会混叠(锯齿、闪烁的"萤火虫"、车轮倒转)。屏幕空间抗锯齿在每个像素取多个样本并加权求和:超采样最直接但最贵,MSAA 每像素只着色一次,时间抗锯齿 (TAA) 把样本分散到多帧,形态学方法 (FXAA/SMAA) 作为后处理重建边缘。没有一种方法在所有方面最好。图形学四维高斯泼溅4D Gaussian Splatting四维高斯泼溅 (4D Gaussian Splatting, 4DGS) 把三维高斯的空间外观扩展到时间维,用于从已捕获的多视图动态序列重建并实时渲染新视角。名称相同的论文可能采用完全不同的时间表示:Wu 等(CVPR 2024)使用固定的 3D Gaussians、4D neural voxels 和形变 MLP;Yang 等(arXiv:2412.20720)直接使用原生时空 4D primitives。学习时必须分开这两条路线。 4DGS 首先是动态场景的表示与回放技术,不自动成为动作条件世界模型、物理模拟器或长期未来预测器。它通常针对一个场景逐场景优化,在训练时间范围外的运动、拓扑变化综合可渲染世界模型与 4D 场景预测Renderable World Models & 4D Scene Forecasting世界模型 (world model) 学习环境状态随时间、观测和动作变化的规律;图形学中的“可渲染”表示则强调能从状态合成图像、深度或其他传感器观测。本页把几条容易混淆的路线放在同一张地图上:4DGS 主要重建/回放已捕获动态场景;GaussianWorld 主要预测流式 3D occupancy;DriveDreamer4D 用视频世界模型产生驾驶场景数据来辅助 4D 表示;GWM 则把动作条件未来预测与 Gaussian 表示用于机器人操作。本页选取 25 篇直接讨论世界模型或可渲染场景路线的核心资料,按“主要任务”互斥计数:视频/视觉交互预测 10 篇,驾驶 occupancy/4D 世

被这些页面引用1 篇

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原