4D Gaussian Splatting:动态场景的高效显式表示
A. 本篇主题
本篇围绕 4D Gaussian Splatting(4DGS) 的核心建模与渲染机制。4DGS 将 3DGS 的显式高斯表示扩展到时间维度,形成完整的”时空显式高斯”框架。本篇将详述:4D 高斯的数学定义与参数化、时间条件化形变场的建模、渲染时如何从时空状态得到当前帧的高斯分布、以及它与”逐帧 3DGS”方案的本质差异。本篇是整个系列笔记的收束——从 NeRF 的隐式连续场(笔记 01),到 3DGS 的显式高斯(笔记 03-04),再到 4DGS 的时空显式高斯。
B. 本篇在整条路线中的位置
笔记 05 指出了 3DGS 处理动态场景的根本局限:每个高斯的参数在训练后固定,无法表达时间演变。笔记 05 的 K-Planes/HexPlane 提供了时空分解的思路,但其仍是隐式表示(特征平面 + MLP 解码)。
4DGS 的核心创新是:将 3DGS 的显式高斯扩展到时间维度,同时保留高斯投影+splatting 的高效渲染范式。这形成了完整的”显式时空高斯”路线:
- NeRF(笔记 01):隐式连续场 → 积分方程
- 3DGS(笔记 03-04):显式高斯集合 → splatting 方程
- 4DGS(本篇):显式时空高斯集合 → 时空 splatting
本篇的结尾将总结整条路线的演进逻辑,并指出 4DGS 的开放问题与未来方向。
C. 数学建模
C.1 符号定义
| 符号 | 维度 | 含义 |
|---|---|---|
| 3D | 第 | |
| SPD | 第 | |
| 标量 | 第 | |
| 标量 | 第 | |
| 标量 | 不透明度 | |
| 3D | 颜色(RGB 或 SH 系数) | |
| 4D 高斯 | 四维权值分布 | |
| 时间条件 | 当前帧的时间 |
C.2 4D 高斯的定义
4DGS 的核心是将高斯从 3D 扩展到 4D 时空:
简化写法(假设时间协方差各向同性
时空分解的高斯:
实际实现中,4DGS 通常使用时空分解表示:将时间部分独立出来
其中:
这种分解使得 4D 高斯可以表示为一个空间高斯和一个时间高斯的乘积。
C.3 时间条件化形变场
核心思想:不直接建模 4D 高斯,而是建模一个从参考时间到任意时间的形变场。
形变场定义:
其中
时间条件化的高斯形变:
给定参考时间
其中
形变场的参数化:
形变场用小型 MLP 或特征网格参数化:
其中
时空调制(FiLM):
为增强时间条件化能力,使用 FiLM(Feature-wise Linear Modulation):
即形变分解为与时间无关的基础形变
D. 详细推导
D.1 4D 高斯投影到当前帧的推导
目标:给定时间
时空分解形式:
当 4D 高斯可分解为时空乘积时:
在时间
由于
时间形变形式(更常用):
当使用形变场时,投影过程为:
其中
投影后的 3D 高斯
D.2 时间条件化形变的梯度推导
训练目标:
沿用笔记 04 的重建损失框架:
其中
链式法则:
对形变场参数
:渲染方程对高斯参数的梯度(笔记 03-04) :投影高斯对形变场的梯度 :形变场本身的梯度(MLP 反向传播)
时空调制的梯度:
FiLM 形式
所以时间
D.3 与逐帧 3DGS 的本质差异推导
逐帧 3DGS:
对每个时间步
其中每个
关键问题:缺乏时间连贯性——
4DGS 的参数共享:
4DGS 所有时间步共享参考高斯
这实现了:
- 时间连贯性:同一参考高斯在不同时间步的形变自动保持连贯
- 参数效率:
个参考高斯 + 形变场 = 个时间步的完整表示,无需 参数 - 泛化能力:未见过的中间时间步可通过形变场插值生成
数学表达:
设
这说明时间相近的高斯空间位置相近(时间梯度连续),这正是物理世界运动平滑性的体现。
E. 算法与渲染流程
E.1 4DGS 渲染流程
输入:4D 高斯集合 {G_i^0} + 形变场 F_t,相机参数 (R,t,f),当前时间 τ
输出:时间 τ 的渲染图像
1. // 1. 时间条件化形变
2. for each Gaussian G_i^0 do
3. // 形变到当前时间 τ
4. Δμ ← MLP_temporal(γ(μ_i), τ)
5. μ_i^τ ← μ_i + Δμ
6. // 协方差变换
7. J_F ← Jacobian(MLP_temporal, μ_i)
8. Σ_i^τ ← J_F · Σ_i · J_F^T
9. end for
10. // 2. 3DGS 渲染(使用变形后的高斯)
11. for each tile do
12. Gaussians_in_tile ← FilterGaussians({G_i^τ}, tile)
13. Sorted ← Sort(Gaussians_in_tile, by depth)
14. for each pixel in tile do
15. Ĉ ← AlphaBlend(Sorted, pixel)
16. I[u,v] ← Ĉ
17. end for
18. end for
19. return I
E.2 4DGS 训练流程
输入:动态场景的多视角视频 {I_l^t},时间范围 [0, T]
输出:参考高斯集合 {G_i^0} 和形变场 MLP_θ
1. Initialize G_i^0 from first frame (via SfM or random)
2. Initialize MLP_θ randomly
3. for iteration = 1 to N do
4. t ~ Uniform(0, T) // 随机采样时间步
5. for each camera π_l do
6. // 变形到时间 t
7. {G_i^t} ← Deform({G_i^0}, F_t, t)
8. // 渲染
9. Ĉ ← Render({G_i^t}, π_l)
10. L ← ‖Ĉ - I_l^t‖²
11. // 反向传播
12. ∇θ L ← backprop through MLP_θ
13. ∇G_i^0 L ← backprop through G_i^0
14. Update(G_i^0, θ) via Adam
15. end for
16. // Densification/Prune(类 3DGS,每 100 次迭代)
17. if iteration % 100 == 0 then
18. Adaptively add/remove G_i^0 based on gradients
19. end if
20. end for
E.3 4DGS 的时间采样
时间维度的连续性要求训练时均匀覆盖整个时间范围:
对于长视频场景(
- 将时间划分为
个区间 - 每个区间独立训练或微调
- 测试时可插值到任意
F. 关键直觉
-
4D 高斯 = 3D 高斯 × 时间高斯:时空分解使得 4D 高斯可视为一个空间高斯和一个时间高斯的乘积,投影时只需沿时间维度边缘化。
-
形变场实现”一次建模,多帧复用”:所有时间步共享参考高斯和形变场,参数量从
降到 。形 变 场 -
时间梯度连续保证运动平滑:
,这与物理世界运动的平滑性一致。 -
时间条件化通过 FiLM 实现:
使得时间信息能有效调节形变场。 -
4DGS 统一了隐式(NeRF)和显式(3DGS)的范式:既有时空连续性(可像 NeRF 那样插值到任意时间),又有显式几何基元(高斯的可微投影)。
G. 局限性
-
形变场表达能力有限:小型 MLP 或特征网格可能无法精确表达复杂的非刚性形变(如人体关节运动)。
-
时间协方差是各向同性的假设:实际场景的时间演变可能在不同方向有不同的时间尺度(如快速旋转 vs 缓慢形变),各向同性假设是限制。
-
参考高斯的初始化敏感:形变场的能力受参考高斯质量影响,不好的初始化可能导致形变场无法有效补偿。
-
长期依赖问题:当
很大时,形变场需要捕捉长距离的时间依赖,可能需要更深的网络。 -
训练数据需要时空连贯的多视角视频:相比静态 3DGS,4DGS 训练数据获取更难(需要时空一致的 4D 标注)。
H. 与前后篇的衔接
本篇承接:笔记 05 的时空分解思想(K-Planes/HexPlane)和笔记 03-04 的 3DGS 框架。4DGS 将”时空分解”(笔记 05 的核心思想)与”显式高斯”(笔记 03-04 的核心创新)结合,形成完整的”显式时空高斯”框架。
整条路线的收束:
| 笔记 | 表示类型 | 渲染方程 | 时间处理 |
|---|---|---|---|
| 01 NeRF | 隐式连续场(MLP) | 体渲染积分 | 无 |
| 02 效率改进 | 隐式+离散化(体素/哈希) | 体渲染积分 | 无 |
| 03 3DGS | 显式高斯集合 | Splatting 求和 | 无 |
| 04 3DGS训练 | 显式高斯集合 + densification | Splatting 求和 | 无 |
| 05 时空建模 | 隐式时空分解(平面+MLP) | 体渲染积分 | 时空分解 |
| 06 4DGS | 显式时空高斯 | 时空 splatting | 形变场 |
演进逻辑:
- 范式转变(01→03):从”连续函数”到”离散高斯集合”,从积分到求和
- 效率提升(01→02):从慢速 MLP 到快速哈希/体素
- 时空扩展(03→06):从 3D 高斯到 4D 高斯,从静态到动态
- 表示融合(05→06):将隐式时空分解的思想融入显式高斯框架
未来方向(开放问题):
- 如何处理物体分裂/合并(拓扑变化)
- 如何实现真实编辑(可操控的形变场)
- 如何扩展到大尺度长视频场景
- 如何与扩散模型结合(4DGS + SDS)
本篇必须记住的结论
-
4D 高斯定义为时空乘积
,或通过形变场从参考时间变形得到。 -
形变场实现参数共享:所有时间步共享参考高斯
和形变场 ,参数量从 降到 。 -
时间条件化通过 FiLM
实现,使时间信息能有效调节空间形变。 -
渲染时通过形变场将 4D 高斯投影到当前帧
,然后用标准 3DGS splatting 渲染。 -
4DGS 与逐帧 3DGS 的本质差异是时间连贯性和参数效率:同一参考高斯在不同时间步自动保持连贯,无需逐帧独立建模。
-
4DGS 收束了整条路线:从 NeRF 的隐式连续场(笔记 01),到 3DGS 的显式高斯(笔记 03-04),再到 4DGS 的显式时空高斯,完成”隐→显,静态→动态”的完整演进。
参考文献
- Wu et al. “4D Gaussian Splatting: Efficient and Real-time Synthesis of Dynamic Scenes” CVPR 2024
- Luiten et al. “Instant 3D Gaussian Scene Editing” CVPR 2024
- Fridovich-Keil et al. “K-Planes: Explicit Radiance Fields in Space, Time, and Beyond” ICLR 2023
- Kerbl et al. “3D Gaussian Scattering for Real-Time Rendering of Radiance Fields” ACM TOG 2023
- Dumount et al. “FiLM: Feature-wise Linear Modulation” NeurIPS 2019