K2E-B-G5-7 · Paper Note

NICER-SLAM

Created 2024-03-31Updated 2026-06-08slam / papers / g-geometry-rendering / g5-nerf-slam

  • Description:NICER-SLAM 论文笔记 — NICE-SLAM 的纯 RGB 版,单目深度/法向/光流先验监督 + SDF 分层表示,实现媲美 RGB-D 的稠密重建
  • My Notion Note ID:K2E-B-G5-7
  • Created:2024-03-31
  • Updated:2026-06-08
  • License转载欢迎:转载请注明作者 Yu Zhang 并附原文出处(yuzhang.io

Table of Contents


1. Summary

Title: NICER-SLAM: Neural Implicit Scene Encoding for RGB SLAM Authors: Z. Zhu, S. Peng, V. Larsson, Z. Cui, M. R. Oswald, A. Geiger, M. Pollefeys Paper: arXiv:2302.03594 (3DV 2024) Github: cvg/nicer-slam

NICER-SLAM (ETH Zürich + Tübingen, NICE-SLAM 原班人马, 2023):把 NICE-SLAM 推到纯 RGB (单目),去掉深度相机依赖。单目三大难:深度歧义、优化难收敛、无尺度观测。对策:用易获取的单目几何先验(Omnidata 单目深度/法向 + GMFlow 光流)作额外监督约束,同时把 NICE-SLAM 的占用表示升级为分层 SDF,并引入局部自适应 SDF→密度转换提升收敛稳定性。

场景表示:coarse 几何 32³ 网格(基础 SDF)+ fine 多分辨率网格(8 层,32→128,残差 SDF)+ 颜色多分辨率网格(16 层,16→2048)。系统端到端联合优化位姿与场景,无需预训练跟踪模块。

Replica 数据集 (RGB 输入) 重建精度 3.65 cm、法向一致性 90.27%、ATE 1.88 cm,持平或超过部分 RGB-D 方法;新视角合成 PSNR 23.93 dB 超过 NICE-SLAM (RGB-D) 的 23.26 dB。

NICER-SLAM 系统架构:RGB 图像输入 → 单目先验 + 分层 SDF → 联合优化位姿与场景表示

2. Key Contributions

  • 纯 RGB 稠密 SLAM:无深度传感器;首个媲美 RGB-D NICE-SLAM 重建质量的单目神经隐式系统
  • 单目几何先验监督:Omnidata 单目深度 (仿射对齐) + 法向 + GMFlow 光流,作为弱监督约束深度歧义
  • 分层 SDF 表示:取代 NICE-SLAM 的占用,SDF 几何更清晰;coarse (base) + fine (残差) 两级
  • 局部自适应 SDF→密度β\beta 参数随体素观测次数自适应 (Eq. 9),观测充分区锐化,稀疏区平滑,收敛更稳
  • Warping 损失:当前帧渲染深度 unproject 后投影至邻关键帧,约束多视图几何一致性

3. Method

3.1 分层 SDF 表示

什么是 SDF:符号距离函数 (Signed Distance Function) s(x)s(\mathbf{x}) 给空间任一点 x\mathbf{x} 赋一个标量 —— 该点到最近表面的带符号距离,物体外为正、内为负,零等值面 {x:s(x)=0}\{\mathbf{x} : s(\mathbf{x}) = 0\} 就是重建出的表面。相比 NICE-SLAM 用的占用 (occupancy) 概率,SDF 处处给出到表面的连续距离,表面定义更锐、法向可由梯度 s\nabla s 直接求,且能用 Eikonal 正则 (s=1\|\nabla s\| = 1,§3.3) 约束成合法的距离场。

NICER-SLAM 把 SDF 拆成 coarse 基础 + fine 残差两级,各由一套特征网格 + 小 MLP 解码 (γ\gamma 为位置编码,Φ\Phi 为对应网格在 x\mathbf{x} 处的插值特征):scoarse=fcoarse(γ(x),Φcoarse)s^{coarse} = f_{coarse}(\gamma(\mathbf{x}), \Phi^{coarse}),Δs=ffine(γ(x),Φfine)\Delta s = f_{fine}(\gamma(\mathbf{x}), \Phi^{fine})

网格结构 特征维度 解码器 输出
Coarse 几何 32³ 密集格 32 维 1 隐层 64 维 基础 SDF scoarses^{coarse}
Fine 几何 多分辨率 8 层 (32→128) 4 维/层 3 隐层 64 维 残差 SDF Δs\Delta s
颜色 多分辨率 16 层 (16→2048) 2 维/层 2 隐层 64 维 颜色

为什么分两级 (base + 残差):

  • coarse 基础 SDF scoarses^{coarse} —— 来自 32332^3 密集网格,容量小、只能表达平滑的全局几何轮廓,负责"大形状",保证优化早期就有合理的粗几何 (§3.5 先只优化 coarse 层)。
  • fine 残差 SDF Δs\Delta s —— 来自多分辨率网格 (32→128),在 coarse 之上只学高频细节修正量
  • 最终 SDF 为两者相加:
s^=scoarse+Δs\hat{s} = s^{coarse} + \Delta s

fine 网络只需拟合"差量"而非从零重建整个场,优化更易收敛、伪影更少。颜色 MLP 输入位置、表面法向、视角方向及几何特征。

3.2 单目几何先验

用现成网络产出伪监督,弥补缺深度:

  • 单目深度 (Omnidata):含尺度/平移歧义 → 每帧学可学参数 (w,q)(w, q) 做仿射对齐
  • 单目法向 (Omnidata):约束表面朝向,角度 + L1 双约束
  • 光流 (GMFlow):相邻帧像素运动一致性约束

3.3 损失函数

六项 loss 加权组合:

L=Lrgb+0.5Lwarp+0.001Lflow+0.1Ldepth+0.05Lnormal+0.1Leik(8)\mathcal{L} = \mathcal{L}_{rgb} + 0.5\,\mathcal{L}_{warp} + 0.001\,\mathcal{L}_{flow} + 0.1\,\mathcal{L}_{depth} + 0.05\,\mathcal{L}_{normal} + 0.1\,\mathcal{L}_{eik} \tag{8}
  • Lrgb\mathcal{L}_{rgb}:渲染颜色 vs. 观测 L1
  • Lwarp\mathcal{L}_{warp}:当前帧 unproject 后投影至邻帧的 RGB L1(多视图几何一致)
  • Lflow\mathcal{L}_{flow}:帧间像素位移 vs. GMFlow 预测 L1
  • Ldepth\mathcal{L}_{depth}:仿射对齐后单目深度 vs. 渲染深度 L2;(wD^+q)Dˉ2\|(w\hat{D}+q) - \bar{D}\|^2
  • Lnormal\mathcal{L}_{normal}:渲染法向 vs. 单目法向(L1 + 角度 L1)
  • Leik\mathcal{L}_{eik}:Eikonal 正则 (s^21)2(\|\nabla\hat{s}\|_2-1)^2,约束 SDF 梯度为单位向量

3.4 局部自适应 SDF→密度

体渲染需要密度 σ\sigma,NICER-SLAM 用 VolSDF 的变换把 SDF ss 转成密度 (Eq. 6;等价于尺度 β\beta、零均值的 Laplacian 分布 CDF):

σβ(s)={12βexp(s/β)s01β(112exp(s/β))s>0(6)\sigma_\beta(s) = \begin{cases} \dfrac{1}{2\beta}\exp(s/\beta) & s \le 0 \\[2mm] \dfrac{1}{\beta}\left(1 - \dfrac12\exp(-s/\beta)\right) & s > 0 \end{cases} \tag{6}

β\beta 控制零等值面附近密度的"陡峭程度":β0\beta \to 0 时密度在表面处突变 (表面锐利),β\beta 大则平滑过渡 (利于早期优化、但表面糊)。NICER-SLAM 进一步让 β\beta 不取全局固定值,而按体素观测次数 TpT_p 自适应:

β=c0exp(c1Tp)+c2(9)\beta = c_0\exp(-c_1 T_p) + c_2 \tag{9}

c0=0.01208c_0=0.01208c1=6.26×106c_1=6.26\times10^{-6}c2=0.0023c_2=0.0023TpT_p 为建图过程中 64364^3 体素内累积的点采样次数(采样越多表明该区域被充分观测)。观测充分 (TpT_p 大) → β\beta 小,表面锐利;观测稀疏 → β\beta 大,保持平滑。消融表明固定 β\beta 相比最优自适应 ATE 升至 3.81-3.98 cm(自适应为 2.01 cm)。

3.5 建图与跟踪

建图三阶段(关键帧 16 帧:5 随机 + 10 最近 20 帧中选 + 当前帧):

  1. 0–25% 步:只优化 coarse 几何 + 颜色
  2. 25–75% 步:coarse + fine 几何 + 颜色
  3. 75–100% 步:局部 BA,16 帧中冻结距当前帧较远的 8 帧位姿,仅优化另外 8 帧位姿 + 全场景,每次 8096 像素

跟踪:仅用 RGB Lrgb\mathcal{L}_{rgb},每步 1024 像素,100 次迭代优化当前帧位姿。

4. Experiments & Results

数据集

数据集 说明 评估内容
Replica 8 合成室内场景,RGB 输入 重建质量 + 跟踪 + 新视角合成
7-Scenes 7 真实室内场景,RGB 跟踪 ATE

Replica 结果

Method 输入 Acc (cm) ↓ Comp (cm) ↓ Comp Ratio (%) ↑ Normal Cons. (%) ↑
NICE-SLAM RGB-D 3.87 3.87 82.41 89.93
Vox-Fusion RGB-D 2.67 4.55 86.59 91.73
COLMAP RGB 8.69 12.12 67.62 70.13
DROID-SLAM RGB 5.50 12.29 63.62 76.59
NICER-SLAM RGB 3.65 4.16 79.37 90.27

新视角合成 (extrapolation):NICER-SLAM 23.93 dB / 0.857 / 0.201 vs. NICE-SLAM 23.26 / 0.844 / 0.216。

跟踪 ATE:NICER-SLAM 1.88 cm vs. NICE-SLAM 1.95 cm (RGB-D)、DROID-SLAM 0.33 cm (RGB)。

7-Scenes 跟踪 ATE (cm 平均)

NICE-SLAM Vox-Fusion DROID-SLAM NICER-SLAM
6.33 4.74 5.66 8.55

7-Scenes 上跟踪精度落后,论文指出无回环闭合是主要原因。

NICER-SLAM 与 NICE-SLAM / COLMAP / DROID-SLAM 在 Replica 数据集上的稠密重建质量对比

5. Ablation & Discussion

组件消融 (Replica office-4):

配置 ATE (cm) Acc (cm) Comp Ratio (%)
w/o 颜色网格 9.92 8.32 50.13
w/o coarse 网格 3.07 4.51 67.29
Full NICER-SLAM 2.01 3.03 83.98

SDF→密度转换消融 (office-4):

配置 ATE (cm) Acc (cm) Comp Ratio (%)
固定 β=0.01\beta=0.01 3.81 7.77 39.48
固定 β=0.001\beta=0.001 3.98 3.48 76.67
全局可学 β\beta 2.62 3.64 76.35
体素 32332^3 3.00 3.19 81.90
体素 64364^3 (最优) 2.01 3.03 83.98
  • 颜色网格去掉后退化最大 (ATE 9.92 cm);coarse 层对补全率贡献明显
  • 局部自适应 β\beta 优于任何固定值;64364^3 体素为最优粒度

6. Strengths / Limitations / Future Work

Strengths

  • 首个纯 RGB 神经隐式 SLAM,重建质量持平/超越部分 RGB-D 系统
  • 分层 SDF + 单目先验组合,无需专用硬件
  • 新视角合成质量超过 NICE-SLAM

Limitations

  • 不实时:A100 上每次建图迭代 496 ms,远低于实时要求
  • 无回环闭合:长轨迹存在漂移,7-Scenes ATE 8.55 cm 落后
  • 单目几何先验质量依赖 Omnidata/GMFlow 网络,极端场景(遮挡重、弱纹理)可能退化

Future Work

  • 回环闭合集成
  • 加速至实时
  • 泛化至室外/动态场景

References

  • Zhu, Z., et al. (2023). NICER-SLAM: Neural Implicit Scene Encoding for RGB SLAM. 3DV 2024. arXiv:2302.03594
  • 前作: NICE-SLAM 笔记:本文直接升级目标
  • Eftekhar et al. (2021). Omnidata — 单目深度/法向估计网络
  • Xu et al. (2022). GMFlow — 光流估计网络
  • Yu et al. (2022). MonoSDF — 类似单目先验用于 SDF 重建
  • Yariv et al. (2021). VolSDF: Volume Rendering of Neural Implicit Surfaces. NeurIPS. — §3.4 SDF→密度变换 (Laplacian CDF) 出处
  • NeRF 笔记:体渲染基础