大盘点!22项开源NeRF SLAM顶会方案整理!(下)
作者:泡椒味的口香糖 | 来源:计算机视觉工坊
添加微信:dddvisiona,备注:SLAM,拉你入群。文末附行业细分群。
0. 笔者个人体会
上两篇文章我们介绍了仅优化NeRF、仅优化位姿、位姿和NeRF联合优化的NeRF SLAM相关工作。本文我们将介绍物体级NeRF SLAM和雷达NeRF SLAM的方案。
前情回顾:为避免生硬的翻译原文,本文针对每篇文章的介绍将以四个问题来进行,分别是这篇文章希望解决什么问题?核心思想是什么?具体如何实现?有什么效果?当然笔者水平有限,如果有理解不当的地方欢迎各位读者批评指正~
1. 目录
还是先放一个目录列举本文都介绍了哪些方案。
仅优化NeRF
0、NeRF
1、Point-NeRF
2、NeRF-SLAM
仅优化位姿
3、iNeRF
4、NeRF-Loc
5、NeRF-VINS(未开源)
位姿和NeRF联合优化
6、iMAP
7、BARF
8、NeRF--
9、NICE-SLAM
10、Vox-Fusion
11、NoPe-NeRF
12、RoDynRF
13、DIM-SLAM
14、Orbeez-SLAM
15、GO-SLAM
16、NICER-SLAM(未开源)
17、Co-SLAM
物体级NeRF SLAM
18、RO-MAP
19、vMAP
LiDAR NeRF SLAM
20、LiDAR-NeRF
21、IR-MCL
22、NeRF-LOAM
23、LONER
5. 物体级NeRF SLAM
18、RO-MAP
标题:RO-MAP: Real-Time Multi-Object Mapping with Neural Radiance Fields
作者:Xiao Han, Houxuan Liu, Yunchao Ding, Lu Yang
机构:电子科技大学
原文链接:https://arxiv.org/abs/2304.05735
代码链接:https://github.com/XiaoHan-Git/RO-MAP
第一个3D先验自由单目多对象建图pipeline!
这篇文章希望解决什么问题?
物体级地图不够稠密。
核心思想是什么?
每个目标都单独训练一个MLP,建立物体级NeRF地图。
具体如何实现?
整个框架分为物体级SLAM和物体级NeRF两部分。物体级SLAM基于ORB-SLAM2实现,识别目标没有使用学习方法,而是使用一种轻量级的手工方法来定位。还采用一种基于稀疏点云的语义信息和统计信息的方法来自动关联多视图观测与目标地标。在估计了物体级SLAM的边界框和相机姿态后,就可以NeRF学习物体的稠密几何形状。每当检测到一个新的对象实例,初始化一个新的NeRF模型(Instant-NGP)。注意,这里的NeRF不重建整个场景,而是只表示单个对象,也就是可以使用轻量级网络加快训练速度。

效果如何?
NeRF建图的定量对比,因为使用了NeRF所以建图质量明显比ColMap好。

定性的重建效果对比。

运行时间的对比,运行设备是Intel Xeon 6154 CPU和一块NVIDIA RTX 4090 GPU。因为没有使用学习方法来检测目标,所以物体级SLAM耗时比较小,主要计算量还是在NeRF。对于单个物体,一次迭代需要0.7ms,平均每个对象需要2700次迭代训练,时间约为2秒。
整体运行帧率为22至25赫兹。

19、vMAP
标题:vMAP: Vectorised Object Mapping for Neural Field SLAM
作者:Xin Kong, Shikun Liu, Marwan Taher, Andrew J. Davison
机构:帝国理工学院
来源:CVPR 2023
原文链接:https://arxiv.org/abs/2302.01838
代码链接:https://github.com/kxhit/vMAP
官方主页:https://kxhit.github.io/vMAP
也是一篇开源的物体级NeRF SLAM方案,同样是为每个目标单独分配一个MLP。
这篇文章希望解决什么问题?
物体级地图不够稠密。
核心思想是什么?
每个目标都单独训练一个MLP,建立物体级NeRF地图。
具体如何实现?
vMAP的输入包括RGB图像、深度图、位姿、实例分割结果。位姿由ORB-SLAM3计算,实例分割由Detic计算,再根据实例分割区域对RGB和深度图进行采样,之后就可以使用NeRF进行训练和渲染。注意还需要执行一个帧间对象关联,包括语义一致性关联(类别相同)和空间一致性关联(位置相同),用来判断是否是同一个物体。

效果如何?
实验设备是i7-11700K CPU和一块Nvidia RTX 3090 GPU,定量对比实验验证了重建精度,*代表他们重新训练的模型。

定性重建效果,感兴趣的读者可以运行一下代码,可以分别观察带背景或者不带背景的重建效果。

6. LiDAR NeRF SLAM
20、LiDAR-NeRF
标题:LiDAR-NeRF: Novel LiDAR View Synthesis via Neural Radiance Fields
作者:Tang Tao, Longfei Gao, Guangrun Wang, Yixing Lao, Peng Chen, Hengshuang Zhao, Dayang Hao, Xiaodan Liang, Mathieu Salzmann, Kaicheng Yu
机构:中山大学、阿里巴巴、牛津大学、香港大学、EPFL
来源:https://arxiv.org/abs/2304.10406
原文链接:https://arxiv.org/abs/2304.10406
代码链接:https://github.com/tangtaogo/lidar-nerf
官方主页:https://tangtaogo.github.io/lidar-nerf-website/
这篇文章希望解决什么问题?
希望能够从任意的新视点渲染三维点云,但模拟器不够真实,传统的NeRF不能直接应用到雷达。
核心思想是什么?
提出第一个可微框架用于LiDAR新视图合成;提出一种结构正则化方法,以有效保持局部结构细节,从而引导模型更精确的几何估计;建立NeRF-MVL数据集,以评估以对象为中心的新LiDAR视图合成。
具体如何实现?
首先将LiDAR点云转换为Range图像,在不同的视图中会突出显示一个对象以便于可视化。然后在每个伪像素上生成距离、强度和射线下降概率的三维表示。我们利用多视图一致性的三维场景,以帮助我们的网络产生准确的几何形状。注意,LiDAR-NeRF还会学习LiDAR模型的物理性质,例如地面主要表现为连续的直线。

理论上,LiDAR-NeRF可以应用到所有自动驾驶LiDAR数据集。但目前大多数数据集都只有场景级的LiDAR观测,这篇文章对应的提出了以对象为中心的数据NeRF-MVL用于新视图合成。这里也推荐「3D视觉工坊」新课程《彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析》。
NeRF-MVL使用带有多个LiDAR的自动驾驶车辆来收集,车辆在一个正方形的路径上绕着物体行驶两次,一个大正方形,一个小正方形,还标注了常见的9个目标。

效果如何?
定量对比,分别是KITTI-360和他们的自建数据集NeRF-MVL,LiDAR-NeRF在所有指标上都优于baseline。

21、IR-MCL
标题:IR-MCL: Implicit Representation-Based Online Global Localization
作者:Haofei Kuang, Xieyuanli Chen, Tiziano Guadagnino, Nicky Zimmerman, Jens Behley, Cyrill Stachniss
机构:波恩大学
来源:RAL 2023
原文链接:https://arxiv.org/abs/2210.03113
代码链接:https://github.com/PRBonn/ir-mcl
这篇文章希望解决什么问题?
传统2D地图表达不够细腻,定位精度低。
核心思想是什么?
提出一种神经占据场,将NeRF扩展到机器人定位任务中的2D地图。
具体如何实现?
利用一组已知准确姿态的2D激光扫描来训练,根据每个样本的姿态和2D雷达内参计算得到激光雷达每条射线的方向,接着在每条射线上均匀采样N个空间点。之后,NeRF将采样得到的每个空间点作为输入,并输出该空间点所对应的占据概率。对每条射线利用光线投射算法根据采样点深度及其占据概率渲染得到深度值。最终,估计出当前机器人姿态下可能会观测到的2D激光扫描,通过计算几何损失以及对预测的占据概率添加正则化来优化网络参数。

基于该隐式地图,计算渲染扫描和真实扫描之间的相似性,并将其集成到MCL系统中就可以进行定位。

效果如何?
和其他方法定位效果的对比,可以看出IR-MCL的定位精度很高。

与现有MCL的对比,IR-MCL不光在定位精度上达到了SOTA,还能更快的收敛。

22、NeRF-LOAM
标题:NeRF-LOAM: Neural Implicit Representation for Large-Scale Incremental LiDAR Odometry and Mapping
作者:Junyuan Deng, Xieyuanli Chen, Songpengcheng Xia, Zhen Sun, Guoqing Liu, Wenxian Yu, Ling Pei
机构:上海交通大学、国防科技大学
来源:ICCV 2023
原文链接:https://arxiv.org/abs/2303.10709
代码链接:https://github.com/JunyuanDeng/NeRF-LOAM
应该是真正意义上的第一个LiDAR NeRF SLAM。
这篇文章希望解决什么问题?
现有LiDAR SLAM更关注定位精度而不是建图质量,NeRF侧重室内场景,对LiDAR这种室外增量大场景效果不好。
核心思想是什么?
1.基于Lidar数据 采用隐式神经方式计算里程计和建图
2.结合SFD模块采用动态生成和key-scans优化策略
3.online联合优化 不需要预训练适应不同环境
具体如何实现?
NeRF-LOAM主要基于他们提出的神经符号距离函数(Neural SDF),该函数将激光雷达点分离为地面和非地面点,以减少z轴漂移,同时优化里程和体素嵌入,并最终生成环境的稠密光滑网格地图。

NeRF-LOAM由神经里程计、神经建图和网格重建三个模块组成,前两个部分作为前端和后端并行运行 第三个部分单独运行以获得全局网格地图和细化的扫描位姿。最重要的是,这种联合优化使NeRF-LOAM不需要预训练,直接泛化到新场景,这个算是摆脱了NeRF对场景的依赖性。

效果如何?
建图的定量对比,结合KissICP在MaiCity数据集上达到了最优。

定位的定量对比,定位精度不是太好。

KITTI 07上的定性建图效果,主要还是表达对室外大场景上的NeRF建图效果。

23、LONER
标题:LONER: LiDAR Only Neural Representations for Real-Time SLAM
作者:Seth Isaacson, Pou-Chun Kung, Mani Ramanagopal, Ram Vasudevan, Katherine A. Skinner
机构:密歇根大学
来源:RAL 2023
原文链接:https://arxiv.org/abs/2309.04937
代码链接:https://github.com/umautobots/LONER
官方主页:https://umautobots.github.io/loner
这篇文章希望解决什么问题?
LiDAR NeRF算法难以达到实时。
核心思想是什么?
雷达降采样+关键帧训练NeRF+专有损失函数。
具体如何实现?
LONER是一个纯LiDAR算法,也没有使用IMU。雷达扫描首先降采样(将为5 Hz),然后用ICP跟踪,并从场景几何中分割出天空。对于建图线程,是使用当前关键帧和随机选择的过去关键帧来更新,并维护一个滑窗来优化。跟踪和建图两个线程并行运行,但是建图线程的帧率较低,并准备关键帧用来训练NeRF。最后使用作者专门设计的损失函数来更新位姿和MLP权重,生成的隐式地图可以离线渲染为各种格式,比如深度图和Mesh。
效果如何?
运行设备是AMD Ryzen 5950X CPU和一块NVidia A6000 GPU。看看LONER的建图效果,右上角是Mesh地图,红色是轨迹,其他图像是新视点合成的深度图。LONER在训练NeRF以后,可以将NeRF地图离线渲染为Mesh和深度图。
首先是一个跟NICE-SLAM和Lego-LOAM的精度对比,LONER的精度明显优于LeGO-LOAM,这个还挺惊讶的,因为本身LONER没有为SLAM设计什么特殊的模块。而NICE-SLAM的精度明显比其他两个低,还容易跟丢,这也很容易理解,因为NICE-SLAM本身就是为室内场景设计的。这个实验也证明了LONER自身的损失函数是有效的。这里也推荐「3D视觉工坊」新课程《彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析》。
然后是一个地图重建性能的定量评估,包括准确性(估计地图中每个点到真值中每个点的平均距离)和完整性(真值地图中每个点到估计地图中每个点的平均距离)。LONER效果也很不错。
7. 总结
这次介绍NeRF SLAM相关工作就到这里了,这三篇文章总结了主流的NeRF SLAM方案,介绍分为了仅优化NeRF、仅优化位姿、位姿和NeRF联合优化、物体级NeRF SLAM、雷达NeRF SLAM这五类。如果有补充和觉得笔者有理解不当的地方,欢迎大家一起讨论。
3D视觉细分群成立啦!
目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向。
细分群包括:
[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;
[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;
[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。
[三维重建方向]NeRF、colmap、OpenMVS、MVSNet等。
[无人机方向]四旋翼建模、无人机飞控等。
除了这些,还有求职、硬件选型、视觉产品落地等交流群。
大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群