点击上方“3D视觉工坊

干货第一时间送达

iMAP: 实时的隐式建图和定位(ICCV2021)_3d

作者丨paopaoslam

标题:iMAP: Implicit Mapping and Positioning in Real-Time

作者:Edgar Sucar, Andrew I.Davison

今天我们要精读的文章是来自Andrew Davison实验室的iMAP。这篇工作首创性的提出了在SLAM过程中使用MLP来表征场景地图. 这种隐式的地图表示方法不仅可以解决地图存储问题, 还可以很好的控制场景重建细节, 比如相机无法观测到的物体的重建.

摘要:

本文介绍了一种使用MLP隐式表征场景地图的方法, 适用于RGB-D相机的SLAM系统, 我们称之为iMAP. iMAP的系统结构参考PTAM的多线程设计. 跟踪线程以10HZ频率运行跟踪算法, 输入当前帧(rgb+depth)与场景渲染结果(rgb+depth)对齐来完成相机位姿估计. 建图线程以滑窗方式维护关键帧, 以2HZ频率运行地图优化和关键帧位姿优化.

主要贡献:

1、首次提出在SLAM系统中使用MLP隐式表征地图, 并且优化地图和相机位姿;

2、本文可以实时的完成场景建图任务;

3、一种多线程并行的RGB-D SLAM系统;

算法流程:

3.1 系统框架

iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_02

如Fig.2所示, 场景的3D体素地图被全连接网络表示, 给定相机位姿, 我们可以使用NeRF类似的手段来渲染得到该位姿在场景中对应的rgb和depth图像. 借鉴PTAM的设计, 我们的系统也有两个线程. 跟踪线程优化当前帧相对于场景地图的位姿, 建图线程同步优化网络参数(代表地图)和关键帧位姿.

3.2 神经网络是如何表征隐式场景地图


iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_03

3.3 如何渲染深度图和RGB图像

渲染模块借鉴了NeRF和NodeSLAM的工作, 给定相机位姿, 在隐式地图中渲染出这个视角对应的rgb和depth图像.


iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_04

3.4 如何跟踪相机轨迹、联合优化相机和地图?


iMAP: 实时的隐式建图和定位(ICCV2021)_3d_05

iMAP: 实时的隐式建图和定位(ICCV2021)_关键帧_06


iMAP: 实时的隐式建图和定位(ICCV2021)_关键帧_07

3.5 如何选取关键帧


iMAP: 实时的隐式建图和定位(ICCV2021)_关键帧_08

3.6 特征点采样策略


iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_09

iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_10

关键帧上的特征点采样与普通帧一致, 为了更好的迭代收敛神经网络, 我们将在关键帧上采样更多的特征点.

为了保证系统的实时性, 优化步骤只保留3个关键帧和一个当前(普通)帧, 虽然Fig.4使用了5个关键帧+1个当前帧, 但是在实时运行版本我们只使用红色虚线框出来的4帧来做联合优化;

iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_11

实验结果

评估重建精度

我们在合成数据集Replica和真实采集的AzureKinect数据集上测试了我们的iMAP, 来评估重建结果的质量.

本文在重建得到的mesh和groundtruth mesh上各采样200000个点, 用这些点的Accuracy(cm)、Completion(cm)、Completion Ratio(<5cm %)来评估重建的mesh. 其中Accurary就是两个点的欧式距离误差, Completion就是采样点周围有mesh部分的距离误差, Completion Ration则是指采样点Completion误差<5cm的点所占的比例.

这里主要把iMAP的重建结果与TSDFFusion做对比, 在Completion指标上略优于TSDF Fusion:

iMAP: 实时的隐式建图和定位(ICCV2021)_关键帧_12

在Replica和AzureKinect数据上的重建结果可视化对比, 这里强调了iMAP能够完整重建出相机未观测到的部分:

iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_13评估相机位姿精度

我们又在TUM RGB-D数据集的几个比较简单的场景上评估了iMAP的相机轨迹的精度, 可以看到iMAP比其他一些sota的SLAM系统精度还是有点差距的:

iMAP: 实时的隐式建图和定位(ICCV2021)_自动驾驶_14之后就是一些消融实验了.

结论

本文提出的iMAP方法貌似一直在说室内小场景的SLAM, 而且轨迹精度与比较老的视觉SLAM方法相比确实不高, 个人认为还是VO/SLAM的一些显示约束没有加到网络里来, 不过这确实是第一篇用NeRF来做SLAM的文章了,可以算是经典的开山之作.

备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

本文仅做学术分享,如有侵权,请联系删文。


iMAP: 实时的隐式建图和定位(ICCV2021)_3d_15

▲长按关注公众号


觉得有用,麻烦给个赞~