Orbeez-SLAM


  • Description:Orbeez-SLAM 论文笔记 — ORB-SLAM2 跟踪 + Instant-NGP 建图,稀疏地图点初始化密度栅格,无需预训练的实时单目稠密 SLAM
  • My Notion Note ID:K2E-B-G5-5
  • Created:2024-03-31
  • Updated:2026-06-11
  • License转载欢迎:请署名 Yu Zhang 并链回 yuzhang.io 原文

Table of Contents


1. Summary

Title: Orbeez-SLAM: A Real-time Monocular Visual SLAM with ORB Features and NeRF-realized Mapping Authors: C.-M. Chung, Y.-C. Tseng, Y.-C. Hsu, X.-Q. Shi, Y.-H. Hua, J.-F. Yeh, W.-C. Chen, Y.-T. Chen, W. H. Hsu Paper: arXiv:2209.13274 (ICRA 2023) Github: MarvinChung/Orbeez-SLAM

Orbeez-SLAM (台湾大学, 2022):"经典 SLAM 跟踪 + 神经渲染建图"的代表性拼装系统。把成熟的 ORB-SLAM2 前端(稀疏特征点 + BA)当跟踪模块,把 Instant-NGP(多分辨率哈希编码的实时 NeRF,Müller 2022)当建图模块。卖点:无需预训练实时(20+ FPS)、单目 RGB 即可产稠密辐射场地图。

关键设计:ORB-SLAM2 三角化的稀疏地图点不监督 NeRF,而是用来初始化 Instant-NGP 的密度栅格——标记出可能是表面的体素,引导自适应采样,大幅加速 NeRF 收敛。位姿仅由重投影误差优化(不用光度/深度梯度反传),保证实时性与稳定性。

TUM RGB-D ATE: fr1/desk 1.9 cm、fr2/xyz 0.3 cm、fr3/office 1.0 cm;Replica Depth L1 11.88 cm / PSNR 29.25 dB;速度 ~20 FPS (RTX 3090,vs. NICE-SLAM 的 0.056 FPS,快约 360-800×)。

Orbeez-SLAM 系统架构:ORB-SLAM2 跟踪线程产位姿 + 稀疏地图点 → 初始化密度栅格 → Instant-NGP 建图

2. Key Contributions

  • 解耦跟踪与建图:ORB-SLAM2 负责稳健位姿估计,Instant-NGP 负责稠密地图,两者并行解耦
  • 稀疏地图点引导密度初始化:三角化地图点 → 标记体素密度 → 加速 NeRF 在表面附近的采样收敛,无需 RGB-D 深度
  • 位姿优化策略:位姿仅用重投影误差优化(消融显示联合光度优化 ATE 从 0.8 cm 升至 5.3 cm)
  • 无预训练:Instant-NGP 在线训练,不需要 NICE-SLAM 的 ConvONet(卷积占用网络,将空间特征网格解码为占用概率的预训练解码器)预训练解码器
  • 实时性:20+ FPS,比 iMAP/NICE-SLAM 快 2-3 个数量级

3. Method

3.1 双线程架构

两个并行线程协作:

线程 功能
跟踪线程 (ORB-SLAM2) ORB 特征提取 → 匹配 → 位姿估计 → 局部 BA → 关键帧 + 稀疏地图点
建图线程 (Instant-NGP) 关键帧 RGB + 位姿 → 光度 L2 损失 → 辐射场训练;稀疏点仅初始化密度栅格

ORB-SLAM2 优化好的位姿直接喂给 NeRF,绕开 NeRF 自己估位姿的不稳定问题。关键帧基于跟踪质量和建图进程可用性选取。

3.2 稀疏地图点初始化密度栅格

核心设计(论文强调"NeRF 从不被 GT 深度监督"):

ORB-SLAM2 三角化的稀疏地图点 {pk}\{p_k\} 用于:

  1. 标记 pkp_k 所在 Instant-NGP 体素为高密度候选(自适应采样计数器 +1)
  2. 体素采样计数 > 阈值 (64) → 标记为可能表面 → 自适应采样时在该区域多采
  3. 密度低的空体素跳过不采(skip-voxel 策略)→ 减少渲染开销

效果:表面附近收敛快;空旷区域不浪费计算。NeRF 本身完全由光度损失训练,稀疏点只作几何引导。

3.3 损失函数与位姿优化

辐射场训练损失(光度 L2):

Lpht=rijC(rij)C^(rij)2\mathcal{L}_{pht} = \sum_{r_{ij}} \|C(r_{ij}) - \hat{C}(r_{ij})\|^2

rijr_{ij} 为关键帧 ii 中像素 jj 出发的光线;CC 为观测颜色;C^\hat{C} 为 Instant-NGP 体渲染颜色(沿射线离散积分):

C^(r)=iTi(1exp(σiδi))ci,Ti=exp ⁣(j<iσjδj)\hat{C}(r) = \sum_i T_i\bigl(1-\exp(-\sigma_i\delta_i)\bigr)\mathbf{c}_i, \quad T_i = \exp\!\Bigl(-\sum_{j<i}\sigma_j\delta_j\Bigr)

σi\sigma_i:第 ii 采样点体密度;δi\delta_i:采样间距;ci\mathbf{c}_i:该点颜色;TiT_i:到达第 ii 点的累积透射率。纯单目光度监督(无深度 GT)。

位姿优化:仅通过 ORB-SLAM2 的重投影误差优化,反传光度/深度梯度到位姿。消融显示这一设计至关重要(见 §5)。

4. Experiments & Results

数据集

数据集 评估 输入
TUM RGB-D ATE RMSE 单目 RGB
ScanNet (6 场景) ATE 单目 RGB
Replica (room-0 等) Depth L1, PSNR 单目 RGB

TUM RGB-D 跟踪精度 (ATE RMSE, cm)

Sequence iMAP NICE-SLAM Orbeez-SLAM ORB-SLAM2
fr1/desk 4.9 2.7 1.9 1.6
fr2/xyz 2.0 1.8 0.3 0.3
fr3/office 5.8 3.0 1.0 0.9

跟踪精度接近 ORB-SLAM2(仅纯跟踪)。

ScanNet 平均 ATE (6 场景, cm)

ORB-SLAM2 NICE-SLAM Orbeez-SLAM
9.15 9.63 8.655

Replica 重建质量

Method Depth L1 (cm) ↓ PSNR (dB) ↑
NICE-SLAM (无 GT 深度) 13.49 17.74
Orbeez-SLAM 11.88 29.25

速度对比 (FPS)

Sequence NICE-SLAM Orbeez-SLAM
fr1/desk 0.056 19.210
fr2/xyz 0.028 22.725
fr3/office 0.037 21.542

Orbeez-SLAM 比 NICE-SLAM 快约 360-800×

Orbeez-SLAM vs. NICE-SLAM 在 Replica 上的渲染质量对比:Orbeez-SLAM 颜色更鲜艳、细节更清晰

5. Ablation & Discussion

位姿优化策略消融:

位姿优化方式 ATE (cm)
仅重投影误差 (本方法) 0.8
联合光度损失 5.3

→ 光度损失反传到位姿会严重降低跟踪精度(6.6×)。原因:NeRF 早期训练质量差,光度梯度不可靠,拉偏位姿。

密度初始化意义:稀疏点引导采样让 Instant-NGP 更快收敛至表面,特别是稀疏/弱纹理区域;无初始化时 NeRF 需更长时间找到表面。

6. Strengths / Limitations / Future Work

Strengths

  • 实时 20+ FPS,比 iMAP/NICE-SLAM 快 2-3 个数量级
  • 无预训练、无深度传感器,部署门槛低
  • 跟踪精度接近纯 ORB-SLAM2,并产出额外稠密辐射场地图

Limitations

  • ScanNet 等大规模多房间场景表现下降(论文承认为难点)
  • Instant-NGP 单一整体表示,大场景可能内存/质量受限
  • 无回环闭合(对应 GO-SLAM 的解法)

Future Work (论文)

  • 大规模多房间场景扩展
  • 下游空间 AI 应用(机器人导航、AR)

References