NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示

文章:NeRF-LOAM: Neural Implicit Representation for Large-Scale Incremental LiDAR Odometry and Mapping

作者:Junyuan Deng,Xieyuanli Chen,Songpengcheng Xia,Zhen Sun

编辑:点云PCL

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系[email protected]文章未申请原创侵权或转载联系微信cloudpoint9527。

摘要

同时使用激光雷达数据进行里程计和地图构建是移动系统在大规模环境中实现完全自主性的重要任务。然而大多数现有的基于激光雷达的方法更注重跟踪质量而非重建质量。尽管最近发展起来的神经辐射场(NeRF)在室内环境中的隐式重建方面取得了有望的进展,但使用增量式激光雷达数据进行大规模场景的同时里程计和地图构建问题仍然未被深入研究。

为了弥合这一差距,本文提出了一种新颖的基于NeRF的激光雷达里程计和地图构建方法,命名为NeRF-LOAM,包括三个模块:神经网络里程计、神经地图构建和网格重建。所有这些模块都利用我们提出的神经网络距离函数,该函数将激光雷达点分为地面点和非地面点以减小Z轴漂移,同时优化里程计和体素嵌入,并最终生成环境的稠密的平滑网格地图。此外这种联合优化使NeRF-LOAM能够在不同环境中具有强大的泛化能力,并且可以在无预训练情况下进行。对三个公开可用数据集的广泛评估表明,我们的方法在利用激光雷达数据的大规模环境中实现了最先进的里程计和地图构建性能,以及强大的泛化能力。此外我们进行了多个消融研究以验证我们网络设计的有效性。该方法的实现将在:

 https://github.com/JunyuanDeng/NeRF-LOAM。

主要贡献

本文提出了一种新颖的基于NeRF的激光雷达(LiDAR)里程计和地图构建方法,命名为NeRF-LOAM,它采用了基于稀疏八叉树的体素,结合了神经隐式嵌入,通过神经隐式解码器解码为连续的有符号距离函数(SDF),通过最小化SDF误差,同时优化嵌入、解码器和姿态。NeRF-LOAM针对室外驾驶环境,将LiDAR点分为地面点和非地面点,借助法线可以获取地面点的精确SDF。这种操作抑制了Z轴漂移,并使我们的稠密3D地图更加平滑。为了解决未知的大规模室外环境下的增量里程计和地图构建问题,设计了一种动态体素嵌入生成策略,无需任何预分配或耗时的循环。最后使用关键扫描帧,不仅联合优化姿态和地图,还缓解了灾难性遗忘或预训练过程。在三个公开数据集上进行了大量实验。实验结果表明,该方法在使用LiDAR数据进行室外大规模环境中达到了最先进的里程计和地图构建性能。总的来说,我们的工作贡献有三点:

  • 据我们所知,NeRF-LOAM是第一个用于大规模环境的LiDAR数据的神经隐式里程计和地图构建方法。

  • 提出了一种新颖的神经SDF模块,结合了动态生成和关键扫描优化策略,实现了在八叉树中对体素嵌入的快速分配和高保真的3D表示。

  • 基于提出的在线联合优化,我们的方法无需预训练,并在不同环境中表现出良好的泛化能力。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第1张图片

图1. 在KITTI07上同时进行里程计和稠密地图构建的结果。我们展示了重建和里程计结果。里程计结果通过绝对轨迹误差(ATE)进行颜色标记。我们提出的新型NeRF-LOAM准确地估计了移动系统的位姿,并重建了室外大规模环境的稠密网格地图。

内容概述

概述

本文框架架构如图4所示,我们的方法以增量LiDAR流作为输入,并通过三个模块输出每个LiDAR扫描的3D重建网格以及姿态:神经网络里程计、神经地图和网格重建。前两个部分并行运行作为前端和后端,而第三个部分独立运行以获得全局网格地图和经过改进的扫描姿态。给定传入的LiDAR扫描帧,神经网络里程计通过最小化来自固定隐式网络的SDF误差来估计该扫描的6-DoF位姿。然后将跟踪的扫描帧输入到神经地图中,该地图利用跟踪的姿态T将点云转换为世界坐标系。然后共同优化隐式地图表示和位姿。在建图过程中,当车辆到达新区域或一定距离后,将扫描帧添加到关键扫描缓冲区中。这个关键帧扫描缓冲区保持了地图的一致性,同时增强了地图的质量。最后关键扫描帧用于同时改进里程计和地图结果,3D网格是通过基于我们的网络预测的SDF值的Marching Cube方法进行重建的。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第2张图片

图4. NeRF-LOAM概述。虚线表示反投影,给定一个LiDAR流,我们的方法通过三个模块输出每个扫描的姿态和环境的重建网格地图:1) 神经里程计接收预处理后的扫描,并通过反投影查询的神经SDF优化姿态;2) 神经地图联合优化体素嵌入地图和姿态,同时选择关键扫描;3) 关键扫描优化的地图返回SDF值,最终的网格通过Marching Cube方法进行重建。

神经网络里程计

 对于每个LiDAR扫描帧,通过随机选择N条光线,并在这些光线上的路径采样一组点云,通过减小损失来优化6-DoF姿态T和体素嵌入。参数优化在SE(3)空间中进行,李代数表示使得在SE(3)的切空间中进行梯度下降法更新姿势ξ。我们采用常量运动模型初始化姿势,通过采样点、计算损失、反投影来优化姿势、体素嵌入,这在上一次跟踪扫描的神经建图过程后获得。为避免在线增量里程计遗忘问题,在K次扫描后冻结网络参数,前K次扫描的体素嵌入和位姿将通过后续的关键扫描帧优化。

神经网络建图

在神经网络建图中,使用基于八叉树的方法划分场景。在里程计后,估计的位姿将当前扫描的所有点转换为世界坐标系。未在现有体素中的点分配到新生成的体素。这些体素及其嵌入与八叉树一起添加。为快速定位嵌入,我们使用Morton码编码3D体素坐标。我们设计了一种有效可扩展的方法来动态生成体素嵌入,通过扩展查找表并通过最大Morton码更新,以存储体素的访问信息,未访问的体素将被分配初始化的嵌入,并通过当前嵌入编号更新查找表,从而消除耗时的循环查询,与神经里程计类似,我们通过采样射线和点来计算损失,主要优化体素嵌入同时微调姿势。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第3张图片

网格重建 

关键扫描帧的选择与优化:我们维护一个关键扫描缓冲区,以减轻前K次扫描的遗忘问题,并提高建图质量。如果新添加的体素数Nv超过阈值Nt或当前扫描与上一个关键扫描之间的距离df足够大,则将关键扫描添加到缓冲区。最终使用缓冲区中的所有关键扫描对地图和姿态进行细化。此外为提高细化过程的效率,只包括在截断距离dt内的射线或LiDAR点,该距离基于点密度而定。

最终网格与姿态:在关键扫描的细化之后,地图和姿态已经训练得很好,准备输出最终结果。我们修改的SDF是连续的,因此理论上可以推断任意位置的SDF值。我们使用相同的固定大小(即体素大小)查询SDF值,最终的网格通过Marching Cube获得。

实验

表1展示了我们在MaiCity和Newer College数据集上的里程计建图结果。可以看出,我们的建图过程与KissICP相结合,在MaiCity数据集上优于所有基线,在Newer College数据集上具有可比较的质量。相应的定性结果在图5中展示。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第4张图片

图片

图5展示了不同方法在MaiCity 和Newer College上的里程计建图结果,前三张图是MaiCity的,而后三张图是Newer College的,图中用红框突出显示了人工产物

在Newer College数据集中,我们的方法以更精确的轨迹明显优于Puma。这些结果在图6(d)和图6(e)中呈现了MaiCity的情况,以及图7(d)和图7(e)中呈现了Newer College的情况。尽管Puma看起来更完整,但图的第二行表明,这是以建图准确性为代价的。此外,在MaiCity数据集上,我们可以看到Puma的地面折叠,因为它试图重建一个密封的表面,从而受到周围物体的影响。正如在Newer College数据集上所展示的,Puma无法移除动态对象,墙上不足够的点阻碍了完整的重建。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第5张图片

图6:使用真值位姿或里程计结果的MaiCity 数据集的建图结果。第一行展示了MaiCity数据集上使用真值姿态或里程计结果的建图结果。第二行呈现了以地面真值网格为参考的误差地图,其中越红的点表示误差越大,最大可达25cm。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第6张图片

图7:使用真值姿态或里程计结果的Newer College 数据集的建图结果。第一行展示了Newer College数据集上使用真值位姿或里程计结果的建图结果。第二行呈现了以真值网格为参考的误差地图,其中越红的点表示误差越大,最大可达25cm

 建图质量

为了消除位姿估计的影响,全面调查不同方法的映射能力,我们使用真值位姿重建环境的网格地图。我们将我们的方法与两种纯建图方法Shine-Mapping和VdbFusion进行比较,并在表2中提供了定量结果。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第7张图片

可以看出,我们的方法在纯建图能力方面几乎在所有指标上优于所有基线方法。我们的建图方法的优越性也在图6和图7中明显,我们的重建是最完整的,特别是在地面方面。误差图通过展示我们的重建的更大准确性来证明我们的说法。请注意,在Newer College数据集中,我们每五次扫描重建一次,结果表明即使观测稀疏且嘈杂,我们的映建图过程仍然表现良好。

里程计评估

如前所述,里程计的质量在很大程度上影响建图的质量。准确的轨迹可以直接改善重建结果并避免不受欢迎的伪影。在这里,我们展示了我们的里程计与其他非学习和学习方法的比较结果。由于Shine-Mapping 和Vdbfusion 等建图方法不提供姿态估计,因此它们在比较中被省略。对于非学习方法,我们将我们的里程计结果与Puma 、SuMA以及基于ICP的两种配准算法进行比较:点对点ICP和广义ICP 。对于有代码可用的学习方法,我们采用了两种最先进的算法:DeLORA 和PWC-LONet。对于其他代码不可用的学习方法,如LO-Net和DeepPCO,我们在表3中呈现了RMSE结果。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第8张图片

消融研究 

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第9张图片

地面分离:我们比较了有地面分离和没有地面分离的方法的性能,并在表4中展示了里程计和建图的精度。对于里程计精度,我们发现在MaiCity数据集上,有地面分离时RMSE误差减小,而在Newer College上,如果没有地面分离,该方法甚至失败。此外,当检查每个轴上的姿态误差时,有地面分离的轨迹在z轴上保持一致,而没有地面分离时,它迅速发散。对于映射精度,所有映射指标都表明,我们的方法在有地面分离的情况下取得了显着更好的映射结果。在图8中,我们还可以在视觉上清晰地看到改进效果。有地面分离时,"波纹效应"被抑制,洞穴消失了。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第10张图片

图8. 有关地面分离在建图中的消融研究,使用我们的神经网络里程计提供的姿势。有地面分离时,建图射结果更加整洁和完整

关键扫描细化策略:我们进一步分析了我们的关键扫描细化策略的有效性,并在表4中展示了结果。数值结果显示关键扫描细化能够改善,而在图9中,我们可以看到视觉上的改进更为显著。关键扫描细化产生了更平滑且更完整的结果,这在改进的道路、墙壁和车辆的地图中得到了证明。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第11张图片

图9. 关于建图中关键扫描细化的消融研究,位姿是通过SLAM里程计获得的。关键扫描细化使重建结果更清晰

体素尺寸:我们分析了体素尺寸对映射质量、内存消耗和处理时间的影响,如图10所示。我们在Intel Xeon CPU(2.1 GHz)和Nvidia NVIDIA Titan RTX(24 GB内存)上测试了我们的NeRF-LOAM。结果显示,当体素尺寸超过20cm时,映射性能下降,而处理时间和内存消耗保持不变。因此,我们将体素尺寸设置为20cm。

NeRF-LOAM: 大规模增量式激光雷达里程计和地图构建的神经隐式表示_第12张图片

图10. 体素尺寸与处理时间、内存消耗和准确距离的关系研究,以Newer College为例。

总结

本文提出了一种使用神经隐式表示进行3D LiDAR数据的同时里程计和地图构建的新方法。设计的NeRF-LOAM网络处理室外大规模环境下的增量LiDAR输入。它使用体素嵌入来记录几何结构,避免了任何预训练,因此在不同情况下具有很好的泛化性能。我们进一步设计了动态嵌入生成,实现了快速查询和分配,以支持室外大规模应用。对模拟和真实数据集进行的实验证明,与其他基于学习或非学习方法相比,我们的方法重建了更高质量的3D网格地图。我们的方法同时估计了准确的姿态,并在没有离线预训练的情况下表现出良好的泛化性能。

局限性和未来工作:我们的NeRF-LOAM目前不能通过未经优化的Python实现实时运行。主要瓶颈在于射线与地图之间的交点查询。未来的工作可以通过使用滑动窗口或基于估计的里程计姿态的局部搜索来提高运行时性能,并通过使用C++对代码进行优化。此外,我们计划将我们的工作与闭环检测结合起来,以处理长期跟踪和地图构建中的漂移,最终实现一个完整的SLAM系统。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

易扩展的SLAM框架-OpenVSLAM

基于鱼眼相机的SLAM方法介绍

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:[email protected]
————————————————
版权声明:本文为CSDN博主「点云PCL公众号博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
 

你可能感兴趣的:(线性代数,计算机视觉,点云)