【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

相关推荐
七77.7 分钟前
【3D 场景生成】NuiScene: Exploring Efficient Generation of Unbounded Outdoor Scenes
3d·世界模型
threelab1 小时前
Three.js 几何图形变换 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
xian_wwq2 小时前
【学习笔记】倾斜摄影、高斯泼溅(3DGS)、点云与数字孪生“族谱”全盘点
笔记·学习·3d
AI视觉网奇2 小时前
stl转glb glb缩放
开发语言·3d
七77.3 小时前
【3D 场景生成】WorldGen: From Text to Traversable and Interactive 3D Worlds
3d·世界模型
文创工作室3 小时前
2024年Adobe Substance 3D Designer
3d·adobe
远离UE43 小时前
3D SDF 多光源 阴影 的不同尝试
3d
人工智能培训3 小时前
用知识图谱重构搜索引擎
大数据·人工智能·3d·重构·知识图谱·agent
大江东去浪淘尽千古风流人物4 小时前
【TAPIR】任意点跟踪:逐帧初始化+时序精炼的两阶段点追踪架构深度解析
deepmind·光流·iccv2023·视觉跟踪·点跟踪·tap-vid
FII工业富联科技服务4 小时前
AI+3D世界模型:重构园区安防的“可感知、可推演、可进化”
大数据·人工智能·3d·ai·制造