7DGS

Paper: https://arxiv.org/pdf/2503.07946

背景

  • 3DGS:高效,但只能处理静态场景。
  • 4DGS:加入时间维度,可处理动态,但不支持复杂的视角依赖效果。
  • 6DGS:加入方向维度,可处理视角依赖,但不支持动态。

7DGS:同时建模 空间几何(3D)+ 时间变化(1D)+ 视角方向(3D),且保持实时性能

核心

统一的 7D 高斯表示(7DGS)

每个场景元素用 位置(3D) + 时间(1D) + 方向(3D) 的高斯分布表示。

协方差矩阵捕捉三者之间的相关性,能自然建模几何、运动和外观的相互影响。

条件切片机制(Conditional Slicing)

将 7D 高斯按给定的时间和视角条件化,得到可直接送入现有 3DGS 渲染管线的 3D 高斯。

保留 3DGS 的高效光栅化优势,同时融合时间和方向信息。

自适应高斯细化(Adaptive Gaussian Refinement, AGR)

用轻量级 MLP 网络预测残差,动态调整高斯的中心、形状、方向等参数。

能更好地拟合非刚性形变和随时间变化的外观。

多视角多时间视频
       │
7D 高斯初始化
       │
[Adaptive Gaussian Refinement + 分裂/克隆]
       │
条件切片 (t, d)
       │
3D 高斯集合
       │
3DGS 光栅化渲染
       │
损失计算 & 参数更新

高斯表示

7DGS 把每个场景元素表示为一个 联合的 7 维高斯分布,一次性编码:

  • 空间几何(3D,位置坐标)
  • 时间变化(1D,动态帧位置)
  • 方向依赖(3D,视角/入射方向)
7D 高斯表示
   ↓(自适应高斯细化 AGR)
更新后的 7D 高斯参数
   ↓(条件切片)
时间 & 视角条件化的 3D 高斯
   ↓(3DGS 光栅化渲染)
最终帧输出

数学表示

一个 7D 高斯随机变量 $X$ 分成三部分:

\[\mathbf{X} = \begin{bmatrix} \mathbf{X}_p \\ X_t \\ \mathbf{X}_d \end{bmatrix} \sim \mathcal{N}\left( \begin{bmatrix} \boldsymbol{\mu}_p \\ \mu_t \\ \boldsymbol{\mu}_d \end{bmatrix}, \begin{bmatrix} \boldsymbol{\Sigma}_p & \boldsymbol{\Sigma}_{pt} & \boldsymbol{\Sigma}_{pd} \\ \boldsymbol{\Sigma}_{pt}^\top & \Sigma_t & \boldsymbol{\Sigma}_{td} \\ \boldsymbol{\Sigma}_{pd}^\top & \boldsymbol{\Sigma}_{td}^\top & \boldsymbol{\Sigma}_d \end{bmatrix} \right)\]

其中:

  • $\bm{X}_p \in \mathbb{R}^3$:空间位置向量,均值 $\bm{\mu}_p$,协方差 $\bm{\Sigma}_p$
  • $X_t \in \mathbb{R}$:时间标量,均值 $\mu_t$,方差 $\Sigma_t$
  • $\bm{X}_d \in \mathbb{R}^3$:方向向量,均值 $\bm{\mu}_d$,协方差 $\bm{\Sigma}_d$
  • $\bm{\Sigma}_{pt}$:空间与时间的相关性
  • $\bm{\Sigma}_{pd}$:空间与方向的相关性
  • $\bm{\Sigma}_{td}$:时间与方向的相关性

这些交叉协方差是关键,它让模型能捕捉:

  • 物体运动(空间+时间)
  • 高光随视角移动(空间+方向)
  • 材质外观随时间变化且方向相关(时间+方向)

参数化

为了确保协方差矩阵合法(正定)并方便优化,作者用 Cholesky 分解:

\[\boldsymbol{\Sigma} = \mathbf{L} \mathbf{L}^\top\]

$\mathbf{L}$ 是下三角矩阵,对角线强制为正. 避免优化时数值不稳定,并且梯度传播更顺畅

颜色

颜色依然采用 球谐函数(Spherical Harmonics, SH) 表达式(和 3DGS 一致)

没有显式的时间依赖项——动态信息已经编码在高斯的时间维参数中,渲染时通过条件切片注入

条件切片

高斯拆分

按空间 $\bm{X}_p$ 、时间 $ X_t $ 和方向 $\bm{X}_d$ 将协方差矩阵分块:

  • 时间+方向联合协方差:
\[\boldsymbol{\Sigma}_{(t,d)} = \begin{bmatrix} \Sigma_t & \Sigma_{td} \\ \Sigma_{td}^\top & \Sigma_d \end{bmatrix}\]
  • 空间与(时间+方向)的相关性:
\[\boldsymbol{\Sigma}_{p,(t,d)} = [\Sigma_{pt} \ \ \Sigma_{pd}]\]

条件高斯公式(多元高斯条件分布性质)

给定 $ X_t = t_0 , \space \bm{X}_d = d_0 $,空间部分的条件分布为:

\[p(\mathbf{X}_p \mid X_t=t_0, \mathbf{X}_d=\mathbf{d}_0) \sim \mathcal{N}(\boldsymbol{\mu}_{\text{cond}}, \boldsymbol{\Sigma}_{\text{cond}})\]

其中:

\[\boldsymbol{\mu}_{\text{cond}} = \boldsymbol{\mu}_p + \boldsymbol{\Sigma}_{p,(t,d)} \boldsymbol{\Sigma}_{(t,d)}^{-1} \begin{bmatrix} t_0 - \mu_t \\ {d}_0 - {\mu}_d \end{bmatrix}\] \[\boldsymbol{\Sigma}_{\text{cond}} = \boldsymbol{\Sigma}_p - \boldsymbol{\Sigma}_{p,(t,d)} \boldsymbol{\Sigma}_{(t,d)}^{-1} \boldsymbol{\Sigma}_{p,(t,d)}^\top\]

不透明度调制(时间/方向相关性衰减)

离当前时间或视角越远的高斯,其贡献越小

\[f_{\text{temp}} = \exp\left[-\frac{1}{2}\lambda_t (t_0 - \mu_t)^2 \Sigma_t^{-1}\right]\] \[f_{\text{dir}} = \exp\left[-\frac{1}{2}\lambda_d (\mathbf{d}_0 - \boldsymbol{\mu}_d)^\top \Sigma_d^{-1} (\mathbf{d}_0 - \boldsymbol{\mu}_d)\right]\] \[\alpha_{\text{cond}} = \alpha \cdot f_{\text{temp}} \cdot f_{\text{dir}}\]

得到 $ \boldsymbol{\mu}{\text{cond}}, \boldsymbol{\Sigma}{\text{cond}}, \alpha_{\text{cond}} $ 后,这就是一个标准 3DGS 元素,可直接送入原生 3DGS 光栅化管线。

这样既保留了3DGS的实时渲染性能,又把动态性和视角依赖编码进最终渲染

自适应高斯细化

Adaptive Gaussian Refinement, AGR

条件切片 (Conditional Slicing) 能根据时间 $t$ 和视角 $d$ 调整高斯的中心位置和不透明度,但高斯的形状(协方差)在整个过程中是固定的

在真实动态场景里,物体会因为非刚性形变、局部扭曲、流体/烟雾等效应而发生形状变化。如果形状不随时间调整,就会出现运动模糊、细节丢失甚至鬼影

AGR 的目标就是让每个高斯的中心、尺度、方向等参数能随时间和场景变化动态更新,从而更准确地刻画细微的运动与外观变化

构造时空特征向量

将高斯的核心属性拼接成一个综合特征:

\[f = \mu_p \oplus \mu_t \oplus \mu_d \oplus \gamma\left ( t \right )\]

其中:

  • $ \mu_p $: 空间位置 (3D)
  • $ \mu_t $: 时间均值 (1D)
  • $ \mu_d $: 方向均值 (3D)
  • $ \gamma\left ( t \right ) $: 多频率时间编码(类似 NeRF 位置编码),用 $\sin$ 和 $\cos$ 捕捉高低频时间模式

残差预测网络

对不同参数分别训练小型 2 层 MLP $\phi$(Cin × 64 × Cout),输入特征 $f$,输出对应的残差调整量:

\(\hat{\mu}_p = \mu_p + \phi_p \left ( f \right )\) \(\hat{\mu}_t = \mu_t + \phi_t \left ( f \right )\) \(\hat{\mu}_d = \mu_d + \phi_d \left ( f \right )\) \(\hat{l} = l + \phi_l \left ( f \right )\)

$l$ 为协方差矩阵的下三角向量化表示(Cholesky 分解参数)

重构协方差矩阵

用更新后的 $ \hat{l} $ 重建 7D 协方差矩阵:

\[\hat{\Sigma} = \hat{L}\hat{L}^\mathrm{T}\]

AGR 在 条件切片前 执行,所以切片计算得到的 $ \boldsymbol{\mu}{\text{cond}}, \boldsymbol{\Sigma}{\text{cond}}$ 已经考虑了形状、位置、方向的动态调整

增稠

7DGS 的优化是基于 3DGS 自适应高斯密度化(Adaptive Gaussian Densification)框架 扩展到 时空-角度(spatio-temporal-angular)域

每个高斯在训练中会动态调整:

  • 克隆(cloning):在高误差区域增加高斯点
  • 分裂(splitting):在变化剧烈的地方细化成多个高斯点

覆盖范围从原来的空间扩展到 空间 + 时间 + 方向 三个维度,确保全维度的信息都有足够采样密度

分裂触发条件(Split Criteria)

新增了 时间相关触发条件:

  • 计算 空间-时间相关性强度(协方差块 $\Sigma_{pt}$ 的范数)
  • 若相关性超过 0.05 屏幕宽度的归一化值,且时间尺度 $\Sigma_t > 0.25$(归一化后),则触发分裂

这样能确保运动剧烈的区域(比如快速形变的物体)被细化

提取几何信息(SVD 分解)

在分裂/克隆前,需要知道当前高斯的旋转矩阵 R 和 尺度向量 S:

从 条件化协方差 $\Sigma_\mathrm{cond}$ 做 SVD 分解:

\[\Sigma_\mathrm{cond} = R D R^\mathrm{T}\]

其中:

  • $ R $: 为旋转矩阵, 右手坐标系需修正 $ det\left( R \right) > 0 $
  • $ S = \mathrm{diag}\left( D \right) $: 尺度

优化

损失函数:直接复用 3DGS 的图像重建损失(PSNR/L2 等)

优化器:Adam(不同参数组不同学习率)

改动的唯一超参:

将最低不透明度阈值 $\tau_\mathrm{min}$ 提高到 $0.01$(因为 $ \alpha_\mathrm{cond} $ 经过时间/方向调制,数值会更低,避免被误删)

缺点

  1. 显存占用:虽然点数减少显著节省存储,但每个点携带更多维度参数(时间+方向协方差等),单点存储体积大于 4DGS,因此在高分辨率或大场景下对显存带宽的压力依然存在。

  2. 自适应高斯细化(AGR)耗时:虽然提升了动态形变建模能力,但在全功能版本中会显著降低 FPS(例如 PBR 数据集从无 AGR 的 ~376 FPS 降到 ~175 FPS)

  3. 训练速度未必全面领先:平均训练时间比 4DGS 减少约 8.3%,但在部分数据集上(如 heart2)反而更长,因为 AGR 和高维计算增加了负担