4D Gaussian Splatting for Real-Time Dynamic Scene Rendering
TL;DR 精炼摘要
本文提出了一种新的4D高斯溅射方法(4D-GS),用于高效渲染动态场景。该方法结合了3D高斯模型与4D神经体素,通过一种新颖的神经体素编码算法和轻量级多层感知机(MLP),实现了在RTX 3090 GPU上以800x800分辨率下以82 FPS的实时渲染,且展示了优于其他最先进方法的渲染质量。
摘要
Representing and rendering dynamic scenes has been an important but challenging task. Especially, to accurately model complex motions, high efficiency is usually hard to guarantee. To achieve real-time dynamic scene rendering while also enjoying high training and storage efficiency, we propose 4D Gaussian Splatting (4D-GS) as a holistic representation for dynamic scenes rather than applying 3D-GS for each individual frame. In 4D-GS, a novel explicit representation containing both 3D Gaussians and 4D neural voxels is proposed. A decomposed neural voxel encoding algorithm inspired by HexPlane is proposed to efficiently build Gaussian features from 4D neural voxels and then a lightweight MLP is applied to predict Gaussian deformations at novel timestamps. Our 4D-GS method achieves real-time rendering under high resolutions, 82 FPS at an 800800 resolution on an RTX 3090 GPU while maintaining comparable or better quality than previous state-of-the-art methods. More demos and code are available at https://guanjunwu.github.io/4dgs/.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
4D Gaussian Splatting for Real-Time Dynamic Scene Rendering (用于实时动态场景渲染的 4D 高斯溅射)
1.2. 作者
Guanjun Wu, Taoran Yi, Jiemin Fang, Lingxi Xie, Xiaopeng Zhang, Wei Wei, Wenyu Liu, Qi Tian, Xinggang Wang
- 机构: 华中科技大学 (HUST), 华为公司 (Huawei Inc.)
1.3. 发表期刊/会议
ArXiv (预印本), 2023年。 注:从格式和内容质量来看,该文章具有顶级计算机视觉会议(如 CVPR/ICCV)的投稿水平。
1.4. 发表年份
2023年 (具体时间戳:2023-10-12)
1.5. 摘要
本文提出了一种名为 4D Gaussian Splatting (4D-GS) 的整体表示方法,用于解决动态场景渲染中效率与质量难以兼得的问题。不同于为每一帧单独训练 3D 高斯模型(这会导致巨大的存储开销),作者提出了一种包含 3D 高斯 和 4D 神经体素 (Neural Voxels) 的新型显式表示。通过受 HexPlane 启发的分解神经体素编码算法,有效地构建高斯特征,并利用轻量级多层感知机 (MLP) 预测高斯在不同时间戳下的变形。实验表明,该方法在 RTX 3090 GPU 上以 800x800 分辨率实现了 82 FPS 的实时渲染速度,且存储效率高,渲染质量优于或持平于 最先进的 (state-of-the-art) 方法。
1.6. 原文链接
-
arXiv 链接: https://arxiv.org/abs/2310.08528v3
-
PDF 链接: https://arxiv.org/pdf/2310.08528v3.pdf
2. 整体概括
2.1. 研究背景与动机
-
核心问题: 新视图合成 (Novel View Synthesis, NVS) 是计算机视觉的核心任务,旨在从一组2D图像中重建3D场景并从任意角度渲染。虽然 NeRF (神经辐射场) 取得了巨大成功,但其训练和推理速度极慢。3D Gaussian Splatting (3D-GS) 最近实现了静态场景的实时渲染,但在处理 动态场景 (Dynamic Scenes)(即随时间变化的场景)时面临挑战。
-
现有挑战:
- 存储与显存爆炸: 如果简单地为视频的每一帧都建立一套 3D 高斯模型(如 Dynamic3DGS 的某些基线),存储成本会随时间线性增长,难以承受。
- 训练与渲染效率: 现有的动态 NeRF 方法(如 TiNeuVox, K-Planes)虽然提升了训练速度,但渲染速度往往仍无法达到实时(Real-time)标准。
-
创新思路: 作者并不为每一帧重建高斯,而是维护一套标准的 3D 高斯 (Canonical 3D Gaussians),然后学习一个 变形场 (Deformation Field)。这个变形场负责预测这些高斯球在不同时间点 应该移动到哪里、形状如何变化。
下图(原文 Figure 2)展示了本方法(c)与传统动态 NeRF 方法(a, b)的区别。4D-GS 直接将原始高斯变换为特定时间戳的高斯,保持了纯显式的渲染路径,从而保证了速度。
该图像是不同动态场景渲染方法的示意图,如图2所示。 (a) 展示了典范映射体积渲染中采样点的映射,(b) 展示时间感知体积渲染方法, (c) 则阐释了4D高斯溅射中的高斯变形场和高斯光栅化路径。
2.2. 核心贡献/主要发现
-
4D Gaussian Splatting 框架: 提出了一个高效的框架,通过建模高斯的运动和形状变形来表示动态场景。
-
空间-时间结构编码器 (Spatial-Temporal Structure Encoder): 提出了一种基于多分辨率 HexPlane(六平面)的编码方法,能够高效地连接相邻的 3D 高斯,捕捉其空间和时间上的相关性。
-
卓越的性能: 在合成数据集上实现了 82 FPS (800x800分辨率) 的实时渲染,在真实数据集上也能达到 30 FPS,且存储空间极小(仅需几十MB),显著优于之前的 SOTA 方法。
下图(原文 Figure 1)直观地展示了该方法在不同场景下的实时渲染能力。
该图像是示意图,左侧为960×540分辨率、34帧每秒的视频片段,右侧为1352×1014分辨率、30帧每秒的视频片段。图像展示了不同场景下的动态捕捉效果。
3. 预备知识与相关工作
3.1. 基础概念
为了理解本文,初学者需要掌握以下三个核心概念:
-
3D 高斯溅射 (3D Gaussian Splatting, 3D-GS):
- 通俗解释: 想象用无数个半透明的、彩色的、发光的“椭球体”来填充空间以表示物体。每个椭球体(即一个 3D 高斯)都有自己的位置、旋转、大小、颜色和不透明度。
- Splatting (溅射): 渲染时,把这些 3D 椭球体“拍”到 2D 屏幕上,通过混合它们的颜色得到最终图像。这种方法比 NeRF 的光线追踪(Ray Marching)快得多。
-
变形场 (Deformation Field):
- 通俗解释: 在动态场景中,物体是运动的。我们不存储每一秒物体的位置,而是存储物体在“第0秒”的状态(标准空间,Canonical Space),然后学习一个函数(变形场),输入时间和位置,它会告诉你:“在第 秒,这个点应该向左移动 5 厘米”。
-
神经体素与 HexPlane (Neural Voxels & HexPlane):
- 概念: 为了存储空间和时间信息,最直观的方法是用 4D 网格
(x, y, z, t)。但这太占内存了。 - HexPlane: 将 4D 空间分解为 6 个 2D 平面(
xy, xz, yz, xt, yt, zt)。通过在这些平面上查找特征并组合,可以近似表示 4D 信息,极大地节省了存储空间。
- 概念: 为了存储空间和时间信息,最直观的方法是用 4D 网格
3.2. 前人工作与差异化
-
静态场景: NeRF [35] 和 3D-GS [22] 分别代表了隐式和显式表示的里程碑。3D-GS 虽然快,但原生不支持时间维度。
-
动态 NeRF: D-NeRF [42], TiNeuVox [9], K-Planes [12] 等引入了时间维度。其中 TiNeuVox 和 K-Planes/HexPlane 引入了显式的网格表示来加速训练。
-
差异点: 本文 4D-GS 将 HexPlane 的高效编码能力引入到 3D-GS 中。与 Dynamic 3D Gaussians [33](存储每一帧的轨迹,内存消耗大)不同,本文使用紧凑的神经网络来预测运动,实现了存储与速度的双重优化。
4. 方法论
4.1. 方法原理
4D-GS 的核心思想是:静态几何 + 动态变形。 系统维护一组初始的 3D 高斯分布 。给定一个时间戳 ,通过一个 高斯变形场网络 计算这些高斯在 时刻的位置偏移、旋转变化和缩放变化,得到变形后的高斯 ,最后使用标准的微分溅射进行渲染。
下图(原文 Figure 3)展示了模型的整体流水线:从静态高斯出发,经过编码器提取特征,解码器预测变形,最后生成图像。
该图像是示意图,展示了4D Gaussian Splatting模型的整体流程。图中包含3D Gaussians 的位置 (x, y, z) 和时间戳 ,通过空间-时间结构编码器提取特征,并使用多头高斯变形解码器生成变形的3D Gaussians 。接着,经过“splatting”处理,最终得到渲染图像。
4.2. 核心方法详解 (逐层深入)
4.2.1. 4D 高斯溅射框架 (The Framework)
给定视角变换矩阵 和时间戳 。
- 输入: 原始 3D 高斯集合 (包含位置 ,旋转 ,缩放 等)。
- 变形: 利用网络 计算变形量 。
- 应用变形: 得到当前时刻的高斯 。
- 渲染: 使用微分溅射 生成图像 。
4.2.2. 空间-时间结构编码器 (Spatial-Temporal Structure Encoder)
这是网络 的第一部分,负责提取每个高斯在特定时间的特征。为了高效,作者使用了 HexPlane 分解策略。
-
分解逻辑: 一个 4D 特征网格被分解为 6 个多分辨率的 2D 平面模块 ,其中 。
-
特征计算: 对于每个 3D 高斯的中心位置 和时间 ,我们在这是 6 个平面上进行查询。
-
公式详解:
- 符号解释:
- : 提取出的隐藏特征向量。
- : 表示连接(Concatenation)不同分辨率层级 的特征。
- : 这里表示对 6 个平面的特征进行某种融合(通常是加法或连接,原文公式用了乘积符号可能指代特征融合操作,但结合 HexPlane 原理通常是逐元素操作)。
- : 双线性插值 (Bilinear Interpolation),用于在 2D 网格上精确获取非整数坐标处的特征值。
- : 第 层分辨率下的某个 2D 平面特征图。
- 符号解释:
-
融合: 提取出的特征 经过一个微小的 MLP 融合得到最终特征
f_d = \phi_d(f_h)。
4.2.3. 多头高斯变形解码器 (Multi-head Gaussian Deformation Decoder)
这是网络 的第二部分。获得特征 后,需要将其解码为具体的物理变形量。作者使用了多个轻量级 MLP 头(Heads)。
-
变形预测公式:
- 符号解释:
- : 位置 (Position) 的变化量。
- : 旋转 (Rotation) 四元数的变化量。
- : 缩放 (Scaling) 因子的变化量。
- : 分别对应位置、旋转、缩放的独立 MLP 网络。
- 符号解释:
-
最终状态更新: 这里得到的 就是该高斯在 时刻的真实状态。
4.2.4. 优化策略 (Optimization)
为了让模型收敛更好,作者采用了 热身 (Warm-up) 策略。
- 3D 高斯初始化: 先在前 3000 次迭代中,只优化静态的 3D 高斯 (假设 对其无影响),使其先拟合场景的大致几何结构。
- 联合训练: 之后引入变形场网络,联合优化高斯参数和网络参数。
- 损失函数:
-
包含 L1 颜色重建损失 。
-
包含全变分损失 (Total-Variational Loss),用于平滑特征平面,减少噪声。
下图(原文 Figure 4)展示了优化过程:从初始的随机状态,到静态高斯初始化,再到学习出动态变形。
该图像是示意图,展示了优化过程的不同迭代状态。从初始的随机点云输入,到经过3000次迭代后的3D高斯初始化,再到经过20000次迭代的4D高斯联合优化,逐步展示了模型在动态场景中的学习效果。
-
5. 实验设置
5.1. 数据集
作者在两个主要类型的数据集上进行了评估:
- 合成数据集 (Synthetic Dataset): D-NeRF 数据集。
- 特点: 单目视角,无背景,包含大变形物体(如跳跃的球、变异体)。
- 用途: 验证模型处理剧烈运动和变形的能力。
- 真实世界数据集 (Real-world Datasets): HyperNeRF 和 Neu3D 数据集。
-
特点: 包含真实拍摄的视频,有复杂的背景和细微的运动(如切菜、面部表情)。
-
用途: 验证模型在真实复杂场景下的泛化能力。
下图(原文 Figure 11)展示了真实数据集中的样本(如切牛肉、火焰三文鱼等)。
该图像是插图,展示了四个不同的烹饪场景,分别是煮菠菜、切牛肉、火焰三文鱼和咖啡马丁尼。在每个场景中,关键物体被红框标出,帮助突出显示烹饪过程中的主要动作和材料。
-
5.2. 评估指标
- PSNR (Peak Signal-to-Noise Ratio, 峰值信噪比):
- 定义: 衡量生成图像与真实图像在像素层面的误差,数值越高越好。
- 公式: ,其中
MSE是均方误差。
- SSIM (Structural Similarity Index, 结构相似性):
- 定义: 衡量图像在亮度、对比度和结构上的相似度,数值越接近 1 越好。
- LPIPS (Learned Perceptual Image Patch Similarity):
- 定义: 基于深度学习特征的感知相似度,数值越低表示人眼看起来越像。
- FPS (Frames Per Second):
- 定义: 渲染速度,衡量实时性。
- Storage (MB):
- 定义: 模型文件的大小,衡量存储效率。
5.3. 对比基线
-
TiNeuVox, K-Planes, HexPlane: 基于网格/平面的动态 NeRF 方法。
-
3D-GS: 原始的静态高斯溅射(作为下界参考)。
-
**Dynamic3DGS / Deformable-3DGS:**同期的其他动态高斯方法。
6. 实验结果与分析
6.1. 核心结果分析
实验结果表明,4D-GS 在保持极高渲染速度的同时,图像质量达到了最先进水平。
以下是原文 Table 1 的完整转录,展示了在合成数据集上的对比结果:
| Model | PSNR (dB)↑ | SSIM↑ | LPIPS↓ | Time↓ | FPS ↑ | Storage (MB)↓ |
|---|---|---|---|---|---|---|
| TiNeuVox-B [9] | 32.67 | 0.97 | 0.04 | 28 mins | 1.5 | 48 |
| KPlanes [12] | 31.61 | 0.97 | - | 52 mins | 0.97 | 418 |
| HexPlane-Slim [5] | 31.04 | 0.97 | 0.04 | 11m 30s | 2.5 | 38 |
| 3D-GS [22] | 23.19 | 0.93 | 0.08 | 10 mins | 170 | 10 |
| FFDNeRF [19] | 32.68 | 0.97 | 0.04 | - | <1 | 440 |
| MSTH [53] | 31.34 | 0.98 | 0.02 | 6 mins | - | - |
| V4D [13] | 33.72 | 0.98 | 0.02 | 6.9 hours | 2.08 | 377 |
| Ours | 34.05 | 0.98 | 0.02 | 8 mins | 82 | 18 |
分析:
-
质量 (PSNR): 4D-GS 达到了 34.05 dB,超过了所有对比方法。
-
速度 (FPS): 达到了 82 FPS,是 TiNeuVox (1.5 FPS) 的 50 多倍,真正实现了实时渲染。
-
存储 (Storage): 仅需 18 MB,远小于 KPlanes (418 MB) 和 V4D (377 MB)。这证明了 HexPlane 编码的高效性。
下图(原文 Figure 9)进一步展示了渲染速度与高斯数量的关系。可以看到,随着高斯数量的减少,FPS 显著提升,这为在受限硬件上运行提供了优化的空间。
该图像是图表,展示了渲染速度与3D Gaussian数量之间的关系。X轴表示每秒帧数(FPS),Y轴表示使用的点数。图中可见一条呈现负斜率的红色线条,表明随着帧数的增加,所需的3D Gaussian数量呈减少趋势,反映了渲染效率与复杂性之间的权衡。所有测试均在合成数据集上完成。
6.2. 视觉对比
下图(原文 Figure 6)展示了可视化的对比结果。可以看到 3D-GS(静态)完全无法处理动态物体(出现伪影),而 4D-GS(Ours)清晰地重建了乐高推土机的细节,与 真实标注数据 (Ground Truth) 最为接近。
该图像是图表,展示了不同方法在动态场景渲染中的效果,包括 Ground Truth、K-Planes、HexPlane、TiNeuVox、3D-GS 和我们的方法(Ours),可用于比较不同算法的性能。
6.3. 消融实验
作者通过消融实验验证了各个组件的重要性(原文 Table 4)。
-
去掉 HexPlane: 存储减少,但 PSNR 从 34.05 骤降至 27.05。说明简单的 MLP 无法捕捉复杂的时空动态。
-
去掉 (旋转) 或 (缩放): PSNR 也有所下降。说明仅仅预测位置移动是不够的,物体运动时伴随着旋转和形变。
下图(原文 Figure 11)展示了如果去掉位置变形预测网络 ,模型将无法正确跟踪物体的运动。
该图像是图表,展示了在不使用 ext{dx}的情况下与使用ext{dx}的效果比较。左侧为不使用ext{dx}的结果,右侧为使用本研究方法的结果,表明方法改进后的渲染质量。
7. 总结与思考
7.1. 结论总结
本文提出了 4D Gaussian Splatting,这是一个针对动态场景的高效渲染框架。
- 显式与隐式的结合: 利用 3D 高斯作为显式几何表示,利用 HexPlane 神经体素作为隐式运动编码,集两家之长。
- 全能表现: 在渲染质量、渲染速度、训练时间和存储开销四个维度上都取得了极佳的平衡,尤其是在实时性上取得了突破。
7.2. 局限性与未来工作
作者在文中坦诚了以下局限性:
- 大尺度运动困难: 对于非常剧烈的运动或场景突变(如物体突然消失/出现),变形场难以拟合,可能产生模糊。
- 缺乏先验: 在单目设置下,如果没有深度图或光流作为额外监督,难以完美解耦静态背景和动态物体。
- 大规模场景: 对于城市级的大规模动态重建,当前的变形场查询机制可能负载过重。
7.3. 个人启发与批判
- 启发: 这篇论文极其精彩地展示了如何将“维度分解”(HexPlane)应用到新的领域(Gaussian Splatting)。这种将高维问题(4D)拆解为低维子问题(2D Planes)的思路,在处理高维数据时非常具有通用性。
- 思考: 当前的变形是基于坐标的连续变换 。对于拓扑结构发生改变的场景(例如倒水,水从无到有,或者爆炸),单纯的坐标变形可能不够,未来可能需要引入高斯的动态生成与销毁机制(Pruning/Densification over time)。
- 应用: 该技术极大地降低了动态 3D 内容制作的门槛,未来在 VR 视频、全息通话等领域的应用潜力巨大。
相似论文推荐
基于向量语义检索推荐的相关论文。