K2E-B-G5-9 · Paper Note

NeRF-LOAM

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

  • Description:NeRF-LOAM 论文笔记 — 纯 LiDAR 神经隐式 SLAM,八叉树体素 embedding + 神经 SDF + 地面感知监督,大尺度室外里程计与稠密重建
  • My Notion Note ID:K2E-B-G5-9
  • Created:2024-03-31
  • Updated:2026-06-11
  • License转载欢迎:转载请注明作者 Yu Zhang 并附原文出处(yuzhang.io

Table of Contents


1. Summary

Title: NeRF-LOAM: Neural Implicit Representation for Large-Scale Incremental LiDAR Odometry and Mapping Authors: J. Deng, Q. Wu, X. Chen, S. Xia, Z. Sun, G. Liu, W. Yu, L. Pei Paper: arXiv:2303.10709 (ICCV 2023) Github: JunyuanDeng/NeRF-LOAM

NeRF-LOAM (LOAM = LiDAR Odometry and Mapping,激光雷达里程计与建图; 上海交大, 2023):纯 LiDAR 神经隐式 SLAM,针对大尺度室外场景。将神经 SDF 场与 LiDAR 里程计结合:八叉树体素 embedding + 小 MLP 解码 SDF,动态增量分配体素,无需预训练。核心创新:地面感知 SDF 监督:室外射线常以浅角掠射地面,普通欧氏 SDF 近似失效导致 Z 轴漂移;NeRF-LOAM 对地面点用法向投影距离替代欧氏距离,有效抑制漂移。

MaiCity F-score 77.26% (vs PUMA 68.04%);Newer College F-score 74.37% (vs PUMA 57.27%);Newer College 里程计 RMSE 0.15 m。无需预训练即泛化至 MaiCity / Newer College / KITTI 三个数据集。

NeRF-LOAM 三模块流程:神经里程计 / 神经建图 / 网格重建,以及 KITTI 07 上的轨迹与稠密地图

2. Key Contributions

  • 神经 SDF + 八叉树动态分配:场景无需预知边界;体素顶点存 16 维 embedding,三线性插值 + 2 层 MLP 解码 SDF;Morton 码高效索引
  • 地面感知 SDF 监督:地面点用法向投影有符号距离,非地面点用欧氏距离,消除浅角掠射导致的 Z 轴漂移
  • 三模块流程:神经里程计(固定 embedding 求位姿)→ 神经建图(联合细化 embedding + 位姿)→ 网格重建(key-scan 细化)
  • Key-scan 缓冲:维护历史关键扫描防灾难遗忘;key-scan 细化显著提升重建质量
  • 无预训练泛化:同一方法在 MaiCity / Newer College / KITTI 三个数据集上无需微调

3. Method

3.1 神经 SDF + 八叉树 embedding

场景 SDF 场:

Ψ(ps)=Fθ ⁣(TriInterp(ps,e1,,en))\Psi(\mathbf{p}_s) = F_\theta\!\bigl(\text{TriInterp}(\mathbf{p}_s,\,\mathbf{e}_1,\ldots,\mathbf{e}_n)\bigr)

ei\mathbf{e}_i 为体素顶点的 16 维 embedding,三线性插值得到特征后由小解码器 FθF_\theta(2 层 FC,256 隐层)预测 SDF 值。Ψ>0\Psi>0 为空白,Ψ<0\Psi<0 为占用,Ψ=0\Psi=0 为表面。

体素管理:八叉树组织空间,Morton 码 (Z-order) 对体素坐标 bit interleaving 生成索引,位移操作快速定位邻接体素(省哈希表搜索);新 LiDAR 点落在未分配区域时动态添加体素(体素边长 0.2 m)。

3.2 地面感知 SDF 监督

室外 LiDAR 以浅入射角打地面 → 欧氏 SDF 近似误差大 → Z 轴漂移。NeRF-LOAM 按地面/非地面分别计算目标 SDF Φ\Phi

Φ(ps)={(psp)nppG  (地面点,法向投影距离)psp非地面点(欧氏距离)\Phi(\mathbf{p}_s) = \begin{cases} (\mathbf{p}_s - \mathbf{p})\cdot\mathbf{n}_p & \mathbf{p}\in\mathcal{G}\;\text{(地面点,法向投影距离)} \\ \|\mathbf{p}_s - \mathbf{p}\| & \text{非地面点(欧氏距离)} \end{cases}

np\mathbf{n}_p 为地面法向量(由 Patchwork(同心环区域平面拟合的快速 LiDAR 地面分割算法)地面分割获得),p\mathbf{p} 为最近表面点。法向投影 → 有符号、准确,消融证实去掉地面分离在 Newer College 上直接失败。

3.3 三模块流程

神经里程计:固定 embedding,对当前扫描最小化 SDF 残差,求 6-DoF 位姿;匀速运动模型提供初始化。

神经建图:联合细化体素 embedding + 位姿(BA);维护 key-scan 缓冲:新关键扫描加入条件为新分配体素数超阈值 NtN_t 或距上次 key-scan 距离超 dfd_f

网格重建:对最终 SDF 做 Marching Cubes;最后用 key-scan 集全局细化确保一致性。

3.4 损失函数

三项 loss 联合优化 embedding 和位姿:

  • Pf\mathcal{P}_f自由空间采样集——射线上距表面较远的点(SDF 应 Tr\approx T_r
  • Ps\mathcal{P}_s表面采样集——射线上靠近 LiDAR 点云表面的点(SDF 应接近真值)
  • Ψ(pi)\Psi(\mathbf{p}_i):神经网络预测 SDF;Φ(pi)\Phi(\mathbf{p}_i):目标 SDF(由地面感知模块从 LiDAR 测量推算)

自由空间损失(射线中间点应远离表面,SDF 趋近截断距离 Tr=0.3T_r=0.3 m):

Lf=1PfiPf(Ψ(pi)Tr)2\mathcal{L}_f = \frac{1}{|\mathcal{P}_f|}\sum_{i\in\mathcal{P}_f}\bigl(\Psi(\mathbf{p}_i)-T_r\bigr)^2

SDF 监督损失(预测 vs 地面感知目标 SDF):

Ls=1PsiPs(Ψ(pi)Φ(pi))2\mathcal{L}_s = \frac{1}{|\mathcal{P}_s|}\sum_{i\in\mathcal{P}_s}\bigl(\Psi(\mathbf{p}_i)-\Phi(\mathbf{p}_i)\bigr)^2

Eikonal 正则(SDF 梯度为单位向量):

Le=1PsiPs ⁣(Ψ(pi)pi21)2\mathcal{L}_e = \frac{1}{|\mathcal{P}_s|}\sum_{i\in\mathcal{P}_s}\!\left(\left\|\frac{\partial\Psi(\mathbf{p}_i)}{\partial\mathbf{p}_i}\right\|_2 - 1\right)^2

Eikonal 条件 Ψ=1\|\nabla\Psi\|=1 是 SDF 的数学定义(真正的符号距离函数的梯度处处为单位向量),强制此约束确保网络输出是合法 SDF 而非任意标量场,有利于表面提取与梯度引导优化。

4. Experiments & Results

数据集

数据集 类型 评估
MaiCity 合成城市 LiDAR 建图质量 (F-score) + 里程计
Newer College 真实手持 LiDAR (校园) 建图质量 + 里程计
KITTI 真实车载 LiDAR (城市) 里程计 (8 序列)

建图质量

MaiCity (10 cm F-score 阈值):

Method Acc (cm) ↓ Comp (cm) ↓ Chamfer-L1 (cm) ↓ F-score ↑
PUMA 7.89 9.14 8.51 68.04%
SHINE 5.75 38.45 67.00%
VDBFusion 4.95 46.79 68.15%
NeRF-LOAM 5.69 11.23 8.46 77.26%

Newer College (20 cm F-score 阈值):

Method Acc (cm) ↓ Comp (cm) ↓ Chamfer-L1 (cm) ↓ F-score ↑
PUMA 15.30 71.91 43.60 57.27%
SHINE 14.87 20.02 68.85%
NeRF-LOAM 12.89 22.21 17.55 74.37%

里程计精度

数据集 NeRF-LOAM PUMA SuMA
MaiCity00 1.27 m 0.25 m 2.01 m
Newer College 0.15 m 0.39 m 1.22 m

Newer College (手持 LiDAR,轨迹复杂) 里程计 0.15 m,优于 PUMA 0.39 m。KITTI 8 序列 (00/01/03/04/05/07/09/10) 均验证,其中 seq07 t_rel 1.00%(相对平移 RMSE 百分比,非绝对轨迹误差)。

NeRF-LOAM 在 KITTI / Newer College 上的稠密地图重建对比

5. Ablation & Discussion

地面感知 SDF 的必要性 (MaiCity):

配置 RMSE (m) Newer College
无地面分离 0.20 直接失败
有地面分离 0.17 正常运行

地面分离是大尺度室外场景的必要条件,尤其浅入射角激光束密集时。

Key-scan 细化贡献 (MaiCity):

配置 Chamfer-L1 (cm)
无 key-scan 细化 8.71
有 key-scan 细化 8.46

GT 位姿下纯建图 (MaiCity):验证建图模块上限:

Method Acc (cm) F-score
SHINE 4.17 89.67%
VDBFusion 4.12 90.16%
NeRF-LOAM 3.15 92.96%

6. Strengths / Limitations / Future Work

Strengths

  • 无需预训练即泛化 MaiCity/Newer College/KITTI 三个差异大的数据集
  • 地面感知 SDF 解决室外浅角掠射难题,Newer College 里程计 0.15 m
  • F-score 在两大数据集均领先(77.26% / 74.37%)

Limitations

  • 不实时:Python 未优化实现;主要瓶颈为射线-体素相交查询
  • 无回环闭合,长轨迹漂移不可消
  • 依赖 Patchwork 地面分割;复杂地形(坡道、台阶)可能失效

Future Work

  • C++/CUDA 实现加速至实时
  • 回环检测集成

References