ST-4DGS
ST-4DGS 论文
在 4DGS 中,变形场 F \mathcal{F} F 与运动参数 X 和形状参数 ( S , R ) (S,R) (S,R) 高度耦合,导致训练时高斯表示紧凑型退化,影响动态渲染质量。由此,本文提出两种方法解耦运动与形状参数,保持高斯的紧凑性。
约束
局部刚性正则化
认为:相邻高斯在短时间内应遵循刚性变换,使用 KNN 构建局部高斯邻域,通过旋转一致性和位移一致性,优化高斯运动,权重 w i , j w_{i,j} wi,j 基于高斯间距离调整,确保邻近高斯运动一致。
L l o c = λ r i g L r i g + λ r o t L r o t , L r i g = 1 k ∣ G ∣ ∑ g i ∈ G ∑ j ∈ N i w i , j ∥ Δ v t − 1 − Δ R i Δ v t ∥ 2 , L r o t = 1 k ∣ G ∣ ∑ g i ∈ G ∑ j ∈ N i w i , j ∥ R i , t − 1 R i , t − 1 − R j , t − 1 R j , t − 1 ∥ 2 , w i , j = e x p ( − λ w ∥ X j , t − 1 − X i , t − 1 ∥ 2 2 ) \begin{gathered} \mathcal{L}_{loc}=\lambda_{rig}\mathcal{L}_{rig}+\lambda_{rot}\mathcal{L}_{rot}, \\ \mathcal{L}_{rig}=\frac{1}{k|\mathcal{G}|}\sum_{g_{i}\in\mathcal{G}}\sum_{j\in\mathcal{N}_{i}}w_{i,j}\|\Delta v_{t-1}-\Delta\mathcal{R}_{\mathrm{i}}\Delta v_{t}\|_{2}, \\ \mathcal{L}_{rot}=\frac{1}{k|G|}\sum_{g_{i}\in\mathcal{G}}\sum_{j\in\mathcal{N}_{i}}w_{i,j}\left\|\mathcal{R}_{i,t-1}\mathcal{R}_{i,t}^{-1}-\mathcal{R}_{j,t-1}\mathcal{R}_{j,t}^{-1}\right\|_{2}, \\ w_{i,j}=exp\left(-\lambda_{w}\left\|X_{j,t-1}-X_{i,t-1}\right\|_{2}^{2}\right) \end{gathered} Lloc=λrigLrig+λrotLrot,Lrig=k∣G∣1gi∈G∑j∈Ni∑wi,j∥Δvt−1−ΔRiΔvt∥2,Lrot=k∣G∣1gi∈G∑j∈Ni∑wi,j
Ri,t−1Ri,t−1−Rj,t−1Rj,t−1
2,wi,j=exp(−λw∥Xj,t−1−Xi,t−1∥22)
时间扭曲约束
认为:高斯的 3D 运动应与其在 2D 图像的投影光流一致。使用 RAFT 光流估计计算 2D 像素偏移。
L t e m = ∥ I t − F W ( I t − w ; F t , w ) ∥ 1 \mathcal{L}_{tem}=\left\|I_{t}-\mathcal{F}\mathcal{W}\left(I_{t-w};F_{t,w}\right)\right\|_{1} Ltem=∥It−FW(It−w;Ft,w)∥1
同时,加入各项异形正则化,防止高斯形状过度拉伸,提高几何稳定性:
L a n i = 1 ∣ S ∣ ∑ s i ∈ S max { max ( S i ) min ( S i ) , τ } − τ \mathcal{L}_{ani}=\frac{1}{|S|}\sum_{s_{i}\in S}\max\left\{\frac{\max\left(S_{i}\right)}{\min\left(S_{i}\right)},\tau\right\}-\tau Lani=∣S∣1si∈S∑max{min(Si)max(Si),τ}−τ
最后的损失函数为:
L m = λ t e m L t e m + λ a n i L a n i + L l o c \mathcal{L}_m=\lambda_{tem}\mathcal{L}_{tem}+\lambda_{ani}\mathcal{L}_{ani}+\mathcal{L}_{loc} Lm=λtemLtem+λaniLani+Lloc
密度控制
原始 3DGS 的密度控制主要适用于静态场景,但在动态场景中,该方法容易导致3D 高斯退化(漂浮物增多,几何结构松散)。
- 几何感知修剪:剔除不符合真实结构的漂浮高斯:对每个高斯 g i g_i gi ,计算其 KNN 的局部中心 X ‾ = 1 ∣ N i ∣ ∑ g j ∈ N i \overline{X}=\frac{1}{|N_i|}\sum_{g_j\in N_i} X=∣Ni∣1∑gj∈Ni (假设高斯位置到中心的距离服从 N ( X ‾ i , σ ) \mathcal{N}(\overline{X}_i,\sigma) N(Xi,σ)),若某高斯的距离 d i = ∣ X i − X ‾ i ∣ > 3 σ d_i=|X_i-\overline{X}_i| > 3\sigma di=∣Xi−Xi∣>3σ,则判定为漂浮物剔除
- 运动感知分裂:在动态区域增加高斯密度。基于 RAFT估计生成运动掩膜,标记动态区域。-将 3D 高斯投影到 2D 图像平面,得到 高斯投影图 I t I_t It,在动态区域 均匀采样候选点 U t U_t Ut,并与投影高斯进行匹配。对匹配成功的区域,执行 高斯分裂(Splitting),增加局部高斯密度。
损失函数
因为采用了 HexPlane,所以有 L T V \mathcal{L}_{TV} LTV, L c \mathcal{L}_{c} Lc 为视图合成损失。
L = λ c L c + λ T V L T V + L m \mathcal{L}=\lambda_{c}\mathcal{L}_{c}+\lambda_{TV}\mathcal{L}_{TV}+\mathcal{L}_{m} L=λcLc+λTVLTV+Lm
WideRange4D
相比4DGS(4D Gaussian Splatting)的所有帧一起暴力优化,这个方法采用分阶段吃蛋糕策略:先搞定静态部分,再像拼拼图一样一块块啃动态部分,避免一口吃撑(误差累积)。
在初始化3D场景时,我们对4D场景中所有物体在其静止状态下进行高质量的3D重建,以确保高质量的4D场景重建。
将 4D 场景划分为三种:
- T 0 = { t 0 0 , t 0 1 … … } T_0=\{t_0^0,t_0^1……\} T0={t00,t01……} 已对齐的时间步
- T 1 = { t 1 0 , t 1 1 … … } T_1=\{t_1^0,t_1^1……\} T1={t10,t11……} 当前对齐的时间步
- T 2 = { t 2 0 , t 2 1 … … } T_2=\{t_2^0,t_2^1……\} T2={t20,t21……} 待对齐的时间步
训练中,数据更新策略为:将 T 1 T_1 T1 中已对齐的时间步加入 T 0 T_0 T0,将 T 2 T_2 T2 中与上一轮 T 1 T_1 T1 最接近的时间步加入 T 1 T_1 T1。
基于每帧运动显著性,引入动态掩码 M ( t 1 i , t 0 k ) M(t_1^i,t_0^k) M(t1i,t0k) :
w = w 0 ∣ t 1 i − t 0 k ∣ + 1.0 ⋅ 1 1 + exp ( − ∥ Δ μ t 1 i − Δ μ t 0 k ∥ ) L a l i g n = w ⋅ I ( ∥ Δ μ t 1 i − Δ μ t 0 k ∥ > τ ) ⏟ M ( t 1 i , t 0 k ) ⋅ ∥ Δ μ t 1 i − Δ μ t 0 k ∥ L = L 1 + L t v + L a l i g n \begin{aligned} w=\frac{w_0}{|t_1^i-t_0^k|+1.0}\cdot\frac{1}{1+\exp\left(-\|\Delta\mu_{t_1^i}-\Delta\mu_{t_0^k}\|\right)} \\\mathcal{L}_{align}=w\cdot\underbrace{\mathbb{I}\left(\|\Delta\mu_{t_1^i}-\Delta\mu_{t_0^k}\|>\tau\right)}_{M(t_1^i,t_0^k)}\cdot\|\Delta\mu_{t_1^i}-\Delta\mu_{t_0^k}\| \\\mathcal{L}=\mathcal{L}_1+\mathcal{L}_{tv}+\mathcal{L}_{align}\end{aligned} w=∣t1i−t0k∣+1.0w0⋅1+exp(−∥Δμt1i−Δμt0k∥)1Lalign=w⋅M(t1i,t0k) I(∥Δμt1i−Δμt0k∥>τ)⋅∥Δμt1i−Δμt0k∥L=L1+Ltv+Lalign