3D Gaussian Splatting(简称3DGS)自提出以来,凭借实时渲染速度和出色的画质迅速成为新视角合成领域的热门方案。不过原始的3DGS只针对静态场景设计,一旦场景中出现运动物体,重建质量就会急剧下降。为了解决这个问题,研究者们提出了4D Gaussian Splatting,把时间作为第四个维度引入高斯表示,让动态场景也能享受实时渲染的红利。本文将系统介绍4DGS的核心思想、主流实现方案以及实践中的关键技巧。
一、从3DGS到4DGS:为什么需要时间维度
理解4DGS之前,先要明白3DGS的表示方式。3DGS用数百万个各向异性的三维高斯基元来表示场景,每个高斯包含位置、旋转、缩放、不透明度和球谐函数系数等属性。渲染时通过光栅化把所有高斯投影到屏幕上,按深度排序后做alpha混合,速度可以达到每秒上百帧。
问题在于,这套表示假设场景是静止的。如果用静态3DGS直接处理动态视频序列,会出现两种典型失败模式:一是高斯点被迫在多个位置之间做平均,产生严重的重影和模糊;二是优化过程无法收敛,密度控制机制不断分裂出冗余点,最终模型体积膨胀且画质依旧糟糕。
4DGS的核心思路很直接:既然场景在变,那就让高斯本身也能变。具体有两种路径,一种是让每个高斯额外携带时间参数,直接在四维空间中定义;另一种是为静态高斯附加一个形变场,通过神经网络预测每个时刻高斯属性的变化。两种思路衍生出了当前主流的几类方案。
二、主流4DGS方案的技术路线对比
目前比较有代表性的实现包括4D Gaussian Splatting for Real-Time Dynamic Scene Rendering、Dynamic 3D Gaussier、Deformable-3DGS和Spacetime Gaussians等,它们在表示方式和训练策略上各有取舍。
1. 原生四维高斯方案
这类方法直接把高斯扩展到四维空间,每个高斯拥有四维协方差矩阵,其中时间维度与空间维度耦合。代表性工作4D-GS(原华中科技大学团队方案)采用了分离式设计:空间部分保留3D高斯的旋转和缩放,时间部分用一个一维高斯描述该点的生命周期。这样既能表达持续存在的运动物体,也能表达瞬时出现又消失的元素,比如烟花或闪光。
这种方案的优势是表达能力强,物理意义清晰,且由于时间维度独立编码,可以自然支持任意时刻的插值查询。缺点是四维光栅化的计算量和显存占用显著增加,训练一个场景往往需要几十GB显存。
2. 形变场方案
Deformable-3DGS采用了另一种思路:场景仍然用一组规范空间中的静态3D高斯表示,再训练一个基于多层感知机的形变网络,输入某个时刻的时间戳和规范空间坐标,输出该时刻高斯的位移、旋转变化甚至外观变化。
这种方案的结构可以用下面的伪代码概括:
class DeformableGS:
def forward(self, timestamp):
# 规范空间中的一组静态高斯属性
means, quats, scales = self.static_gaussians()
# 形变网络预测随时间变化的偏移
offsets = self.deform_mlp(means, timestamp)
# 当前时刻的高斯位置
means_t = means + offsets
return means_t, quats, scales形变场方案的优点是显存友好,静态部分可以完整复用3DGS的渲染管线,工程落地成本低。缺点是MLP的表达能力受限于容量,遇到运动幅度大或拓扑变化的场景(比如物体分裂、出现消失)效果会打折,而且需要仔细平衡形变网络和密度控制之间的博弈。
3. 时空特征方案
Spacetime Gaussians则借鉴了神经特征场的思想,为每个高斯附加紧凑的时空特征向量,再通过小型解码网络预测高斯在任意时刻的属性。它天然支持插值,甚至可以推理训练视角之外的时刻,配合多视角数据集(如D-NeRF的合成场景、HyperNeRF的真实场景)能取得很好的效果。
三、训练流程与数据准备要点
4DGS的训练整体沿用3DGS的可微光栅化加自适应密度控制框架,但多了时间维度的处理。以单目动态视频为例,典型流程如下:首先用COLMAP估计相机位姿和稀疏点云,初始化规范空间的高斯;然后每个训练迭代随机采样一个时间戳,取对应帧的图像计算损失;损失函数通常是渲染图的L1损失加SSIM损失的加权组合。
# 典型的4DGS训练损失 loss = 0.8 * l1_loss(rendered, gt) + 0.2 * (1 - ssim(rendered, gt))
数据方面要特别注意时间对齐。多相机阵列拍摄时各相机并非严格同步,需要硬件触发或软件校准消除时间偏移,否则运动物体会出现空间错位。单目视频则面临尺度歧义问题,可以借助深度估计模型提供监督信号,或引入运动正则化约束防止形变场学出无意义的解。
训练动态场景时密度控制需要更保守的策略。运动物体边界处梯度变化剧烈,容易触发高斯过度分裂,实践中通常会提高克隆和分裂的梯度阈值,并设置更严格的点数上限,避免模型无限膨胀。
四、常见问题与调优建议
第一个常见问题是重影残影,表现为物体运动轨迹上留下半透明拖影。这通常说明时间建模不足,可以增加高斯时间参数的尺度约束,或在损失中加入相邻帧一致性正则项。第二个问题是运动模糊区域的细节丢失,特别是快速挥手、旋转等动作,建议提高训练采样时时间戳的随机性,让模型充分见到各个时刻的组合。
渲染性能方面,4DGS每帧需要先计算当前时刻所有高斯的属性再光栅化,形变场方案中MLP推理可能成为瓶颈。优化手段包括将形变网络蒸馏到低精度计算、对静态背景区域跳过形变查询、以及用时空裁剪剔除对当前帧无贡献的高斯。经过合理优化,主流方案在消费级显卡上可以达到每秒30帧以上的渲染速度,兼顾了画质与实时性。
总的来说,4DGS通过时空联合建模解决了动态场景的实时渲染问题,原生四维高斯、形变场和时空特征三条路线各有适用场景。如果你处理的是拓扑稳定的物体运动,形变场方案上手最快;如果场景包含出现消失的元素或需要高质量时间插值,原生四维方案更值得投入。随着稀疏视角动态重建和生成式先验的结合,这一方向仍在快速演进,值得持续关注。
4D Gaussian Splatting3DGS动态场景重建修改时间:2026-08-31 06:14:32