K2E-B-G2-6 · Paper Note
SplaTAM
- Description:SplaTAM 论文笔记 — 3D Gaussian Splatting 当地图的稠密 RGB-D SLAM,各向同性高斯 + silhouette 掩码跟踪,按 silhouette/深度误差致密化
- My Notion Note ID:K2E-B-G2-6
- Created:2024-03-31
- Updated:2026-06-08
- License:转载欢迎:转载请注明作者 Yu Zhang 并附原文出处(yuzhang.io)
Table of Contents
- 1. Summary
- 2. Key Contributions
- 3. Method
- 4. Experiments & Results
- 5. Ablation & Discussion
- 6. Strengths / Limitations / Future Work
- References
1. Summary
Title: SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM Authors: N. Keetha, J. Karhade, K. M. Jatavallabhula, G. Yang, S. Scherer, D. Ramanan, J. Luiten Paper: arXiv:2312.02126 (CVPR 2024) Github: spla-tam/SplaTAM
SplaTAM (CMU, 2023):首批用 3D Gaussian Splatting 作地图表示的稠密 RGB-D SLAM 之一。相比神经隐式 SLAM (NICE-SLAM/iMAP),3DGS 显式表示 → 渲染快 (400 FPS)、梯度直达(投影几何直接反传,不穿多层 MLP 网络)→ 跟踪/建图优化高效。
核心设计:简化原版 3DGS(去视角相关 SH、强制各向同性协方差,参数量 8/个),引入 Silhouette 掩码(标记已优化好的像素)——跟踪时仅用 的像素(避免未建图区域带偏位姿);致密化在 或深度误差过大处加新高斯。
ScanNet++ ATE 1.2 cm(Point-SLAM / ORB-SLAM3 直接跟丢);Replica 比前 SOTA 降 >30% (0.52→0.36 cm);TUM-RGBD ATE 5.48 cm(vs Point-SLAM 8.92 cm,-38%);ScanNet++ 新视角合成 PSNR 24.41 dB,深度误差仅 2 cm。

2. Key Contributions
- 3DGS-SLAM 范式:3D 高斯显式表示 + 可微渲染,梯度直达,渲染 400 FPS;开创 GS-SLAM 方向
- Silhouette 掩码跟踪:仅用高 silhouette () 像素优化位姿,防未建图区带偏;致密化用 识别新区域
- 各向同性简化:去掉 SH 视角相关外观和椭球协方差,每高斯 8 参数,SLAM 里算得快
- 整帧渲染:跟踪/建图时渲染全分辨率(1.2M 像素),vs NICE-SLAM 仅 200/1000 像素,信息利用充分
- ScanNet++ 鲁棒性:大相机位移场景仍稳健跟踪,传统方法(ORB-SLAM3)频繁重初始化
3. Method
3.1 地图表示 — 各向同性高斯
每个高斯 8 个参数:
| 参数 | 维度 | 含义 |
|---|---|---|
| 3 | RGB 颜色 | |
| 3 | 空间中心位置 | |
| 1 | 半径(各向同性协方差 ) | |
| 1 | 不透明度 |
影响函数:
简化原版 3DGS(去掉球谐函数 SH 视角相关外观、强制各向同性 协方差)→ 参数量减少,计算更快,SLAM 优化更稳定。
新高斯初始化:不透明度 ,半径 (投影到像面一个像素)。
3.2 可微渲染 + Silhouette 掩码
2D 投影 (Eq 3):每个 3D 高斯先按相机外参 (world→camera) 与内参 投到像面,中心与半径:
为高斯中心在相机系下的深度, 为焦距。各向同性 3D 高斯投影后仍是各向同性 2D 高斯,省去投影协方差矩阵。
Alpha 合成 (front-to-back):像素 处把覆盖它的高斯按深度排序,第 个的合成权重为 ,其中 是第 个 2D 高斯在 处的影响值 (Eq 1 投到 2D)。三路输出同一套权重、只换被加权量:
为高斯颜色, 为其相机系深度。 即累积不透明度: → 该像素由已优化好的高斯覆盖; → 未建图区域。
3.3 每帧三步
① 相机跟踪:位姿先用匀速模型预测初值 (Eq 7, 为第 帧 world→camera 外参):
再仅用 的已建图像素梯度下降优化位姿 (Eq 8):
深度 L1 + 颜色 L1 (权重 0.5);每帧 40 次迭代优化位姿参数。
② 高斯致密化:在满足致密化掩码 的像素插入新高斯 (Eq 9):
即 ① silhouette 低 (未建图区),或 ② 真值深度在估计深度之前 (有新表面挡在前) 且该处深度 L1 误差大。 = median depth error,即当前帧逐像素深度 L1 误差的中值 (注意是误差中值,不是深度中值), 为放大阈值只取显著异常处。
③ 地图更新:对选定关键帧(关键帧判据:对应高斯的平均 silhouette < 0.5 + 间隔帧数)的所有高斯参数做 gradient descent;损失为 RGB + 深度 L1 + SSIM,不用 silhouette 掩码(充分利用所有像素训练);每帧 60 次迭代;同时剔除近零透明度或过大/过小的高斯。
4. Experiments & Results
数据集
| 数据集 | 评估 | 特点 |
|---|---|---|
| Replica | ATE RMSE + 新视角 PSNR | 合成室内,标准 benchmark |
| TUM-RGBD | ATE RMSE | 真实 RGB-D,传感器噪声大 |
| ScanNet++ | ATE RMSE + PSNR | 大相机位移,具挑战性 |
Replica (8 场景平均 ATE, cm)
| Method | ATE ↓ |
|---|---|
| iMAP | 9.35 |
| NICE-SLAM | 1.95 |
| Point-SLAM | 0.52 |
| SplaTAM | 0.36 |
比 Point-SLAM (前 SOTA) 降 >30%。
TUM-RGBD (ATE, cm)
| Method | ATE ↓ |
|---|---|
| NICE-SLAM | ~5.0 |
| Point-SLAM | 8.92 |
| SplaTAM | 5.48 |
ScanNet++ (ATE, cm):大相机位移序列
| Method | ATE ↓ | 备注 |
|---|---|---|
| Point-SLAM | 跟丢 | — |
| ORB-SLAM3 | 跟丢 | 频繁重初始化 |
| SplaTAM | 1.2 | 稳健跟踪,PSNR 24.41 dB |

5. Ablation & Discussion
Silhouette 掩码的关键性 (Replica):
| 跟踪配置 | ATE (cm) |
|---|---|
| 无 silhouette 掩码 | 完全失败 |
| 阈值 0.5 | ~1.8 |
| 阈值 0.99 | 0.36 |
Silhouette 掩码是跟踪成功的必要条件:未建图区域会产生错误梯度方向导致发散。
深度 vs 纯 RGB 跟踪:
| 输入 | ATE (cm) |
|---|---|
| 纯 RGB | ~1.8 |
| RGB + 深度 | 0.36 |
深度提供约 5× ATE 改善。
SplaTAM-S (速度版): 跟踪 10 次迭代 + 建图 15 次迭代,速度提升 3-4×,ATE 略有下降,仍优于大多数 baseline。
6. Strengths / Limitations / Future Work
Strengths
- 3DGS 显式表示 + 可微渲染,跟踪/建图梯度高效,渲染 400 FPS
- Silhouette 掩码使跟踪鲁棒,ScanNet++ 大位移场景成功跟踪
- 开创 GS-SLAM 方向,引出 CG-SLAM / Gaussian-SLAM 等后续工作
Limitations
- 需要 RGB-D 输入(深度传感器),不支持纯 RGB/单目
- TUM-RGBD 上仍落后 ORB-SLAM2(传感器噪声大时深度不可靠)
- 无回环闭合;高斯数量随时间增长,长序列内存压力大
Future Work
- 单目 GS-SLAM 扩展
- 回环闭合集成
- 动态物体处理
References
- Keetha, N., et al. (2023). SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM. CVPR 2024. arXiv:2312.02126
- 项目页 / 代码: spla-tam.github.io
- 3D Gaussian Splatting 笔记:表示基础
- NICE-SLAM 笔记:神经隐式 SLAM 对照