K2E-B-G5-3 · Paper Note

NeRF-SLAM (Rosinol)

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

  • Description:NeRF-SLAM 论文笔记 — DROID-SLAM 稠密跟踪产位姿 + 深度不确定性,加权监督 Instant-NGP 辐射场,实时稠密单目 SLAM
  • My Notion Note ID:K2E-B-G5-3
  • Created:2024-03-31
  • Updated:2026-06-11
  • License转载欢迎:转载请注明作者 Yu Zhang 并附原文出处(yuzhang.io

Table of Contents


1. Summary

Title: NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields Authors: A. Rosinol, J. J. Leonard, L. Carlone Paper: arXiv:2210.13641 (IROS 2023) Github: ToniRV/NeRF-SLAM

NeRF-SLAM (MIT SPARK Lab, 2022):实时稠密单目 SLAM,将两个成熟模块串联:DROID-SLAM 稠密跟踪(产位姿 + 稠密深度图 + 深度不确定性)和 Instant-NGP 辐射场建图(用不确定性加权深度损失监督)。

核心创新:稠密深度图有噪声(远点/弱纹理区不确定性大),直接用原始深度监督 NeRF 会带偏几何。论文推导了 DROID-SLAM BA Hessian 的逐像素深度协方差 Σd\Sigma_d,以 Mahalanobis 距离作加权深度损失 → 不确定的深度像素权重自动降低,避免把噪声深度当约束。

Replica 8 场景平均 PSNR 41.40 dB(vs. NICE-SLAM GT 深度 24.61 dB),Depth L1 4.49 cm,整体重建速率 10 FPS (640×480, RTX 2080 Ti;跟踪线程 15 FPS,建图线程 10 FPS 为瓶颈)。

NeRF-SLAM 系统架构:单目 RGB → DROID-SLAM 跟踪产深度 + 不确定性 → 不确定性加权 Instant-NGP 建图

2. Key Contributions

  • 深度不确定性推导:从 DROID-SLAM BA Hessian 块结构,经 Schur 补求出逐像素深度协方差 Σd\Sigma_d(含位姿不确定性耦合),无需额外网络
  • 不确定性加权深度损失:Mahalanobis 距离加权,不确定深度像素自动降权;消融显示不加权时有偏且收敛慢
  • 实时双线程:跟踪线程 ~15 FPS,建图线程 ~10 FPS;整体重建速率 ~10 FPS(建图为瓶颈)
  • 纯单目稠密重建:不需 RGB-D,在 Replica 上 PSNR 远超 NICE-SLAM(即使后者用 GT 深度)

3. Method

3.1 DROID-SLAM 跟踪

DROID-SLAM 采用 RAFT 风格(用循环 GRU 迭代更新稠密光流场的深度学习架构)的循环更新光流算子,稠密 Bundle Adjustment 以逆深度参数化:

系统矩阵块结构:

[CEETP][ΔξΔd]=[vw]\begin{bmatrix} C & E \\ E^T & P \end{bmatrix} \begin{bmatrix} \Delta\xi \\ \Delta d \end{bmatrix} = \begin{bmatrix} v \\ w \end{bmatrix}

CC 为相机块,PP 为逆深度对角块,EE 为相机-深度耦合矩阵,Δξ\Delta\xi 为位姿增量(Lie 代数),Δd\Delta d 为深度增量。

跟踪窗口 8 关键帧,新关键帧判据:平均光流 > 2.5 像素,~15 FPS 产出位姿 + 稠密深度 + Hessian。

3.2 深度不确定性推导

从 Hessian 块结构经 Schur 补求边缘协方差:

位姿协方差(Cholesky 分解):

ΣT=(LLT)1\Sigma_T = (LL^T)^{-1}

LL 为 Schur 消去逆深度后相机块的 Cholesky 因子。

深度协方差(含位姿不确定性耦合):

Σd=P1+PTETΣTEP1\Sigma_d = P^{-1} + P^{-T}E^T\Sigma_T E P^{-1}

第二项 PTETΣTEP1P^{-T}E^T\Sigma_T EP^{-1} 把位姿不确定性传播到深度协方差(位姿越不确定,对应深度也越不确定)。Σd\Sigma_d 为对角矩阵,给出每像素深度方差。

3.3 不确定性加权建图

建图总损失

LM=Lrgb+λDLD,λD=1.0\mathcal{L}_M = \mathcal{L}_{rgb} + \lambda_D\,\mathcal{L}_D, \quad \lambda_D = 1.0

颜色损失 (L2):

Lrgb=II(T,Θ)2\mathcal{L}_{rgb} = \|I - I^*(T,\Theta)\|^2

深度损失(Mahalanobis 加权 L2):

LD=DD(T,Θ)ΣD2\mathcal{L}_D = \|D - D^*(T,\Theta)\|^2_{\Sigma_D}

D=iTi(1exp(σiδi))diD^* = \sum_i T_i(1-\exp(-\sigma_i\delta_i))d_i 为 NeRF 渲染期望深度:Ti=exp(j<iσjδj)T_i = \exp(-\sum_{j<i}\sigma_j\delta_j) 为到第 ii 采样点的累积透射率(transmittance),σi\sigma_i 为该点体密度(volume density),δi\delta_i 为相邻采样间距(step size),did_i 为该采样点的深度值。ΣD2\|\cdot\|^2_{\Sigma_D} 为 Mahalanobis 距离(等价于逐像素除以方差)。ΣD\Sigma_D 不确定大 → 对应深度像素加权小。

建图后端:Instant-NGP 多分辨率哈希编码,8 关键帧滑窗。

4. Experiments & Results

数据集

数据集 评估 输入
Replica (8 场景) PSNR, Depth L1 单目 RGB
Cube-Diorama (合成) 消融 单目 RGB (GT 位姿/深度)

Replica 结果 (8 场景平均)

Method 输入 Depth L1 (cm) ↓ PSNR (dB) ↑
iMAP* GT 深度 7.64 6.95
NICE-SLAM GT 深度 4.08 24.61
TSDF-Fusion DROID 深度 21.88 7.07
NICE-SLAM (无深度) 14.18 17.76
NeRF-SLAM 单目 RGB 4.49 41.40
  • PSNR 41.40 dB 大幅超过 NICE-SLAM 使用 GT 深度的 24.61 dB
  • 单场景最高:office-1 53.44 dB PSNR;最低 room-0 34.90 dB

注:NeRF-SLAM 论文未报告 ATE 跟踪精度,评估聚焦辐射场质量。

NeRF-SLAM vs. TSDF-Fusion / NICE-SLAM 在 Replica 上的稠密重建质量对比

5. Ablation & Discussion

消融在 Cube-Diorama 合成数据集上(GT 位姿/深度可用,便于对照):

配置 PSNR 表现 Depth L1 (cm)
无深度监督 次差 7.8
原始深度 (不加权) 最差,有偏 4.1
不确定性加权 (本方法) 最好 4.1
  • 去掉深度监督:Depth L1 最差(7.8 cm),PSNR 次差
  • 不加权原始深度:Depth L1 与加权相同 (4.1 cm),但 PSNR 反而最差(不确定深度被过度信任,把噪声当约束拉偏几何)
  • 不确定性加权:PSNR 最优,几何精度与不加权相当但辐射场质量更好

深度监督关键性:加 GT 深度的 NICE-SLAM 才能到 PSNR 24.61 dB;NeRF-SLAM 以 DROID 稠密深度 + 不确定性加权达到 41.40 dB。

6. Strengths / Limitations / Future Work

Strengths

  • 纯单目实时稠密重建 (~10 FPS),Replica PSNR 41.40 dB 远超使用 GT 深度的 NICE-SLAM
  • 不确定性推导理论严谨,直接从 BA Hessian 计算,无需额外网络
  • 双线程流程,实时运行

Limitations

  • GPU 内存高:稠密相关体积 + 哈希网格合计 ~11 GB,限制实际部署
  • 未评估跟踪精度(ATE),重建质量高但跟踪鲁棒性无系统评估
  • 无 ScanNet / TUM 等室外/真实世界 benchmark 评估

Future Work (论文建议)

  • 按需计算相关体积(降显存至 ~1.8 GB)
  • 活跃区 GPU + 非活跃区 CPU 滑窗策略

References