【Flow4DGS-SLAM】动态环境3DGS-SLAM:光流引导自运动分解与混合4D Gaussian深度解析(CVPR 2026)

摘要

Flow4DGS-SLAM(CVPR 2026,NUS)针对动态场景 3DGS-SLAM 的两大痛点------变形场训练慢和语义分割依赖------提出了全新的光流引导框架。核心思路是用 depth + 先验光流拟合相机自运动模型,不依赖任何语义类别,直接从残差中生成动态掩膜,同时提供更稳定的位姿初始化。动态区域用混合 4D Gaussian 表示(显式时序位置 + GMM 透明度/旋转 + KNN 刚性约束),相比基线 4DGS-SLAM 将建图速度提升 17.6 倍 ,PSNR 提升 4 dB,TUM RGB-D ATE RMSE 降至 1.9 cm(新 SOTA)。


一、问题背景

1.1 动态环境下的 3DGS-SLAM 三大挑战

现有 3DGS-SLAM 在静态场景下已相当成熟,但动态环境直接击穿了三个假设:

挑战 1:变形场训练成本爆炸

基于 SC-GS 的 4DGS-SLAM 每帧需要优化神经变形场,建图耗时高达 110,562 ms/帧(FPS ≈ 0.04),完全无法实时。

挑战 2:语义分割模型泛化差

依赖 Mask2Former / SAM 等类别特定分割的方案,在"气球飘动""任意物体移动"等通用动态场景下频繁失效。

挑战 3:动态物体反复出入视野

人物离开后再次进入视野时,基于历史帧的变形场无法恢复其 Gaussian 状态,导致重影和位姿漂移。

1.2 本文策略

复制代码
不预测动态类别,只分解运动本身。

用光流的 刚性分量(rigid flow) 代表相机自运动,用 残差(non-rigid flow) 代表真实动态区域,完全绕开语义分割。


二、核心方法

2.1 整体框架

RGB-D 视频帧 t
先验语义 mask

  • 光流 F(u,v)
    ① Camera-Induced

Motion Decomposition
相机位姿初始化 T_cw

  • 动态掩膜 M_dy
    ② Static Gaussians

精炼位姿 Tracking
③ Dynamic Gaussians

混合表示
Scene Flow

Gaussian Propagation
Adaptive Gaussian

Insertion
GMM 时序

Opacity / Rotation
关键帧选取

地图更新

2.2 Camera-Induced Motion Decomposition(相机自运动分解)

核心思想 :静态场景中任何点的光流都完全由相机运动决定。用 depth 将像素反投影到 3D,建立光流与相机速度旋量(twist) ξ = ρ ⊤ , θ ⊤ ⊤ ∈ R 6 \boldsymbol{\xi} = \\boldsymbol{\\rho}\^\\top, \\boldsymbol{\\theta}\^\\top^\top \in \mathbb{R}^6 ξ=ρ⊤,θ⊤⊤∈R6 的线性关系。

线性化光流模型

F ( u , v ) = J ( x ) ξ \mathbf{F}(u, v) = \mathbf{J}(\mathbf{x}) \boldsymbol{\xi} F(u,v)=J(x)ξ

其中 J ( x ) \mathbf{J}(\mathbf{x}) J(x) 为 2 × 6 2 \times 6 2×6 图像雅可比矩阵(由像素坐标和深度值确定)。

加权最小二乘求解 ego-motion(IRLS + Cauchy 权重,抑制动态点污染):

ξ ^ = arg ⁡ min ⁡ ξ ∑ i w i ∥ F i − J i ξ ∥ 2 \hat{\boldsymbol{\xi}} = \arg\min_{\boldsymbol{\xi}} \sum_i w_i \left\| \mathbf{F}_i - \mathbf{J}_i \boldsymbol{\xi} \right\|^2 ξ^=argξmini∑wi∥Fi−Jiξ∥2

Cauchy 权重在每次迭代中根据残差重新计算,自动降低动态像素对求解的影响。

动态掩膜生成(类别无关,基于残差统计):

M c a ( u , v ) = 1  ⁣ r ( u , v ) \> median ( r ) + k ⋅ MAD ( r ) \mathcal{M}_{ca}(u,v) = \mathbf{1}\!\leftr(u,v) \> \\text{median}(r) + k \\cdot \\text{MAD}(r)\\right Mca(u,v)=1r(u,v)\>median(r)+k⋅MAD(r)

最终动态掩膜 M d y = M s ∪ M c a \mathcal{M}_{dy} = \mathcal{M}s \cup \mathcal{M}{ca} Mdy=Ms∪Mca,其中 M s \mathcal{M}s Ms 为先验语义 mask(兜底), M c a \mathcal{M}{ca} Mca 为光流残差掩膜(主力)。

位姿初始化(SE(3) 指数映射):

T c w t = T c w t − 1 ⋅ exp ⁡ s e ( 3 ) ( ξ ^ ∗ ) \mathbf{T}^t_{cw} = \mathbf{T}^{t-1}{cw} \cdot \exp{se(3)}(\hat{\boldsymbol{\xi}}^*) Tcwt=Tcwt−1⋅expse(3)(ξ^∗)

这一步为后续 Static Gaussians 的精炼优化提供比恒速模型更准确的初值,在快速运动场景下优势尤为明显。

2.3 Scene Flow Gaussian Propagation

第 k-1 帧

动态 Gaussian 位置 x_i^{k-1}
投影到图像

得到像素坐标 u_i^{k-1}
加光流偏移

u_i^k = u_i^{k-1} + F(u_i^{k-1})
反投影 + 深度

估计 3D 位移 Δx_i^k
KNN 邻域平滑

保持局部刚性
更新 3D 位置

x_i^k = x_i^{k-1} + Δx̂_i^k

光流引导 2D 传播

u i k = u i k − 1 + F t k − 1 → t k  ⁣ ( u i k − 1 ) \mathbf{u}^k_i = \mathbf{u}^{k-1}i + \mathbf{F}^{t{k-1} \to t_k}\!\left(\mathbf{u}^{k-1}_i\right) uik=uik−1+Ftk−1→tk(uik−1)

3D 位移反投影

Δ x i k = R k ⊤  ⁣ ( D i k K − 1 u ˉ i k − t k ) − x i k − 1 \Delta \mathbf{x}^k_i = \mathbf{R}^\top_k \!\left( D^k_i \mathbf{K}^{-1} \bar{\mathbf{u}}^k_i - \mathbf{t}_k \right) - \mathbf{x}^{k-1}_i Δxik=Rk⊤(DikK−1uˉik−tk)−xik−1

其中 D i k D^k_i Dik 为深度值, K \mathbf{K} K 为相机内参, u ˉ i k \bar{\mathbf{u}}^k_i uˉik 为齐次坐标。

KNN 平滑(局部刚性约束)

Δ x ^ i k = ∑ j ∈ N ( i ) w i j knn Δ x j k , x i k = x i k − 1 + Δ x ^ i k \Delta \hat{\mathbf{x}}^k_i = \sum_{j \in \mathcal{N}(i)} w^{\text{knn}}_{ij} \Delta \mathbf{x}^k_j, \quad x^k_i = x^{k-1}_i + \Delta \hat{\mathbf{x}}^k_i Δx^ik=j∈N(i)∑wijknnΔxjk,xik=xik−1+Δx^ik

权重 w i j knn w^{\text{knn}}_{ij} wijknn 基于高斯核,距离越近权重越大。该步骤有效消除光流噪声导致的 Gaussian 碎裂。

2.4 Adaptive Gaussian Insertion

当动态物体重新进入视野新动态区域出现 时,仅靠传播无法恢复缺失的 Gaussian。自适应插入模块通过反向光流回溯检测:

M insert t k = { u p k ∈ M d y t k    ∣    u p k − 1 ∉ M d y t k − 1 } \mathcal{M}^{t_k}{\text{insert}} = \left\{ \mathbf{u}^k_p \in \mathcal{M}^{t_k}{dy} \;\Big|\; \mathbf{u}^{k-1}p \notin \mathcal{M}^{t{k-1}}_{dy} \right\} Minserttk={upk∈Mdytk upk−1∈/Mdytk−1}

即:当前帧动态掩膜内、但前一帧动态掩膜内不存在对应像素的区域,在此处从深度图初始化新的动态 Gaussian。这是处理"人物离开再进入"场景的关键。

2.5 GMM-based 时序 Opacity & Rotation

传统 4D Gaussian 用固定 opacity,无法表达动态物体的出现/消失过程。本文用 K = 3 K=3 K=3 分量的高斯混合模型(GMM)对时序透明度建模:

时序 opacity (时间 t t t 处的透明度):

m i ( t ) = 1 − exp ⁡  ⁣ ( − A i ∑ k = 1 K w i , k N ( t ^ ;   μ i , k ,   τ i , k 2 ) ) m_i(t) = 1 - \exp\!\left(-A_i \sum^K_{k=1} w_{i,k} \mathcal{N}(\hat{t};\, \mu_{i,k},\, \tau^2_{i,k})\right) mi(t)=1−exp(−Aik=1∑Kwi,kN(t^;μi,k,τi,k2))

σ i ( t ) = σ i ⋅ m i ( t ) \sigma_i(t) = \sigma_i \cdot m_i(t) σi(t)=σi⋅mi(t)

其中 A i A_i Ai 为振幅, w i , k w_{i,k} wi,k、 μ i , k \mu_{i,k} μi,k、 τ i , k \tau_{i,k} τi,k 为第 k k k 个 GMM 分量的权重、均值、标准差,均为可学习参数。

时序 rotation 混合(四元数加权归一化):

q i ( t ) = ∑ k = 1 K w i , k N ( t ^ ;   μ i , k ,   τ i , k 2 ) q i , k ∥ ∑ k = 1 K w i , k N ( t ^ ;   μ i , k ,   τ i , k 2 ) q i , k ∥ \mathbf{q}i(t) = \frac{\displaystyle\sum^K{k=1} w_{i,k} \mathcal{N}(\hat{t};\, \mu_{i,k},\, \tau^2_{i,k}) \mathbf{q}{i,k}}{\displaystyle\left\|\sum^K{k=1} w_{i,k} \mathcal{N}(\hat{t};\, \mu_{i,k},\, \tau^2_{i,k}) \mathbf{q}_{i,k}\right\|} qi(t)= k=1∑Kwi,kN(t^;μi,k,τi,k2)qi,k k=1∑Kwi,kN(t^;μi,k,τi,k2)qi,k


三、实验分析

3.1 TUM RGB-D 追踪精度(ATE RMSE,cm,越低越好)

方法 类型 平均 ATE
RoDyn-SLAM NeRF-based 5.1
4DGS-SLAM 4DGS baseline 2.1
Flow4DGS-SLAM(本文) 光流 4DGS 1.9

3.2 BONN 数据集追踪精度(更难,含通用动态目标)

方法 平均 ATE (cm)
4DGS-SLAM 3.9
Flow4DGS-SLAM 3.5

3.3 渲染质量(TUM RGB-D 平均)

指标 4DGS-SLAM Flow4DGS-SLAM 提升
PSNR (dB) ↑ 22.55 26.55 +4.0 dB
SSIM ↑ 0.788 0.831 +0.043
LPIPS ↓ 0.229 0.177 -22.7%

3.4 训练效率对比(每帧建图耗时)

方法 建图时间 (ms) FPS
4DGS-SLAM 110,562 0.04
Flow4DGS-SLAM 6,285 0.50

速度提升 17.6×,得益于用显式场景流传播替代神经变形场优化。

3.5 消融结论

去掉的模块 影响最大的场景 主要指标下降
Camera-Induced Decomposition BONN(通用动态目标) ATE 显著上升
Flow propagation + Adaptive insertion balloon2(快速运动)、fr3/walk_xyz(物体出入) ATE + PSNR 双降
GMM 时序建模 物体出现/消失边界帧 PSNR / SSIM 下降
KNN 平滑 快速运动 Gaussian 碎裂 渲染质量劣化

四、小结

三个真正的创新点

  1. 光流自运动分解替代语义分割------MAD 阈值的 category-agnostic 掩膜,比 Mask2Former 轻量且更通用,在非常规动态目标上不失效。

  2. 场景流 Gaussian 传播替代变形场------把"优化神经网络参数"变成"解析式反投影 + KNN 平滑",速度从 0.04 FPS 到 0.50 FPS,17.6× 提速,代价是对深度精度的依赖更强。

  3. GMM 时序 opacity/rotation ------解决了固定 opacity 无法表达动态物体出现/消失的问题, K = 3 K=3 K=3 分量已足够拟合常见动态模式。

局限性

  • 仍是 RGB-D 输入,单目/双目场景不适用(深度缺失时反投影失效)
  • 0.50 FPS 距离实时(30 FPS)仍有 60× 差距,嵌入式部署暂不现实
  • 光流先验本身在极端运动模糊下会失效,传导到掩膜质量

对 VIO 工程的借鉴(面向 Stereo VIO,非直接移植)

Camera-Induced Motion Decomposition 的 rigid flow 分解思路 可以下沉到 VIO 前端的 StaticDetector:现有的二值静态判定升级为"光流残差 MAD 统计",不需要引入 4D Gaussian 建图模块,仅前端改动即可获得更鲁棒的动态特征剔除。自运动分解提供的位姿初始化质量也对 degraded tracking 下的恢复有参考价值。

代码尚未公开(论文于 2026/04 提交 CVPR),关注作者 GitHub:wangys16

arXiv: 2604.22339 | 项目主页: wangys16.github.io/Flow4DGS-SLAM

相关推荐
探物 AI14 天前
【3D·感知】从PointNet到PointPillars:如何让自动驾驶汽车“实时“看见3D世界?
3d·自动驾驶·汽车
苏州邦恩精密14 天前
GOM三维扫描在制造中的真实价值:让“修模”从经验动作变成数据动作
人工智能·科技·机器学习·3d·自动化·制造
YHHLAI14 天前
CSS 3D 硬核解析:四个属性手写旋转立方体
前端·css·3d
云飞云共享云桌面15 天前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
LONGZETECH15 天前
无人机仿真教学软件选型实战:5 个硬核技术维度,避开实训建设踩坑
3d·无人机·交互·cocos2d
装不满的克莱因瓶15 天前
了解3D卷积原理——从空间感知到时空建模的深度学习核心算子
人工智能·pytorch·python·深度学习·机器学习·3d·ai
雪的季节15 天前
Qt Graphs 2D+3D介绍
qt·3d
CG_MAGIC15 天前
3ds Max材质编辑器:精简模式与Slate模式对比
3d·编辑器·材质·贴图·uv·建模教程
装不满的克莱因瓶15 天前
掌握3D CNN模型结构——从时空特征建模到视频理解与医学影像核心架构
人工智能·pytorch·python·深度学习·神经网络·3d·cnn
AniShort15 天前
AniShort携3D世界+3D导演台王炸组合AI短剧协作平台亮相2026横店AI短剧大会 近亿元融资赋能短剧工业化
人工智能·microsoft·3d