高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!

0. 笔者个人体会

众所周知,ORB-SLAM3具有单目、双目、RGB-D以及相应的惯性模式,其内部的数据关联极大的提高了定位建图精度。但在自动驾驶环境中,ORB-SLAM3却出现了不同程度的问题。对于单目模式来说,由于尺度模糊性,ORB-SLAM3很难建立真实尺度大小。如果想要利用RGB-D相机来采集深度图的话,由于室外环境的深度值都很大,导致采集的精度非常差。对双目模式来说,由于所估计的深度值远大于基线长度,因此深度值估计的也非常不准。

但是用雷达点云来恢复真实尺度却是一个不错的思路!而且雷达相较于相机来说,对于恶劣天气和光线变化情况非常鲁棒。

因此,慕尼黑工业大学就针对ORB-SLAM3提出了RGB-L模式,即利用激光雷达点云生成稠密深度图,辅助ORB-SLAM3完成初始化并恢复绝对尺度。本文将带领读者一起探讨“RGB-L: Enhancing Indirect Visual SLAM using LiDAR-based Dense Depth Maps”这篇文章,这篇文章目前还只是一个初稿,各种数学推导和算法细节都没有,网络怎么训练的也没说,评估也只是在KITTI上进行,但是整体的思想是很巧妙的!而且重要的是,算法已经开源!

1. 论文信息

标题:RGB-L: Enhancing Indirect Visual SLAM using LiDAR-based Dense Depth Maps

作者:Florian Sauerbeck, Benjamin Obermeier, Martin Rudolph, Johannes Betz

机构:慕尼黑工业大学

原文链接:https://arxiv.org/abs/2212.02085

代码链接:https://github.com/TUMFTM/ORB_SLAM3_RGBL

2. 摘要

在本文中,我们提出了一种基于RGB-D模式在现有ORB-SLAM3中集成光栅3D激光雷达深度测量的新方法。我们提出并比较了两种深度图生成方法:传统的计算机视觉方法,即逆膨胀操作,以及基于监督深度学习的方法。我们通过增加一个直接读取激光雷达点云的所谓的RGB-L (LiDAR)模式,将前者直接集成到ORB-SLAM3框架中。在KITTI里程计数据集上对所提出的方法进行了评估,并将其相互之间以及与标准的ORB-SLAM3双目方法进行了比较。我们证明,根据环境的不同,可以实现轨迹精度和鲁棒性方面的优势。此外,我们证明了与双目模式相比,ORB-SLAM3算法的运行时间可以减少40%以上。

3. 算法解读

这项工作的总体方法如图1所示,整体的框架原理还是非常简单的。ORB SLAM3的RGB-D模式没有动,直接原样拿过来了,主要的工作量在于基于激光雷达进行深度图生成。具体来说作者设计了两种模式,首先是基于深度学习方法离线的提取深度图(作者使用的是ENet网络),然后将生成和保存的深度图直接传送到ORB SLAM3的RGB-D接口,如图1a所示。第二就是作者主要的创新点了,即RGB-L模式。具体思路是,利用传统的CV逆膨胀操作对LiDAR数据进行在线上采样,并将结果反馈给SLAM模块,如图1b所示。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第1张图片

图1 在标准RGB-D模式和新的RGB-L模式下使用基于激光雷达的稠密深度图的ORB-SLAM3

具体来说,RGB-L SLAM这项工作的创新点在于:

(1) 提出了一种将激光雷达深度测量整合到现有ORB-SLAM3算法中的方法。

(2) 提出并比较了两种从激光雷达点云生成稠密深度图的方法。

(3) 提出了一个自主车辆定位的各种实验,证明了我们的方法的准确性和鲁棒性的提高。

(4) 比较了运行时间,发现与双目模式相比,运行时间减少了40 %以上。(这个比较重要

整篇论文的重点在于深度图生成

与相机相比,激光雷达输出稀疏的数据。因此,很难获得将视觉特征转换到3D空间所需的像素级深度信息。图2展示了具体的对比结果,提取的激光雷达点云仅占图像中的一小部分。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第2张图片

图2 稀疏激光雷达点云投影到相机图像中

作者提出了两种不同的深度图生成方法,一种是常规的CV方法(逆膨胀)和基于深度学习的方法。作者在实践中发现,使用5x5菱形核的逆膨胀在传统的CV方法中表现出最好的结果。其实图像膨胀主要是用来增加前景物体厚度的大小,这里作者利用它来增加转换到图像帧的LiDAR点云的密度。

来自KITTI Odometry数据集的未处理深度图在投影到相机帧后平均稀疏度约为96%。通过反向膨胀,可以将稀疏度降低到65%左右。生成的深度图的MAE为1.03m,RMSE为4.41m。注意,由于单个深度测量之间的深度误差增加,输出更稠密的方法往往有更差的跟踪结果。

而借助深度学习方法,可以实现100%的密度,也就是说每个像素都有对应的深度值。但对于没有雷达数据的区域,深度值应该如何获取呢。对于基于深度学习的LiDAR深度补全,作者使用了基于ENet的CNN。

想必小伙伴们一定很关心网络的实时性。

在作者的配置中,网络的平均运行时间为16.32 ms,其中9.66 ms为GPU上的实际计算时间。每个像素的MAE为0.39m,RMSE为1.17m。典型的神经网络高分辨率深度图和对应的相机图像如图3所示。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第3张图片

图3 由基于ENet的神经网络生成的典型相机图像和相应的深度图

4. 实验结果

整体实验是在KITTI Odometry数据集上进行的,和ORB-SLAM3双目模式来比较,重点是对比准确性和运行时间方面。

4.1 误差比较

表1和表2所示是十个KITTI里程计序列中提到的SLAM模式的平移和旋转误差。结果显示,双目声和RGB-L表现出相当的性能,双目模式略占优势。可以直观地看出,无论是平移误差还是旋转误差,深度学习方法的精度都明显较差,这可能是因为很难一般地定义深度区域。为了尽量减少这种负面影响,作者忽略了深度图的上30%。神经网络的另一个缺点是KITTI地面真值仅使用高达80m的值。因此,即使距离明显较远的区域也会出现80m左右的深度值。RGB-L模式只使用与激光雷达实际深度测量值接近的深度值,泛化性更好。

表1 平均平移误差百分比。最佳结果以绿色突出显示,次佳结果以蓝色突出显示

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第4张图片

表2 每100米的平均旋转误差。最佳结果以绿色突出显示,次佳结果以蓝色突出显示

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第5张图片

通过对不同序列的算法准确性的进一步研究,很明显,RGB-L模式在低纹理环境中表现得特别好,如图4所示。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第6张图片

图4 低纹理环境的典型图像。RGB-L此时胜过ORB3双目模式精度。

4.2 运行时间评估

由于SLAM是一个高度实时的系统,尤其是对于自动驾驶应用。因此作者重点分析了运行时间的对比,这也是文章的主要效果。

图5比较了三种模式的总运行时间,结果显示使用来自激光雷达的深度图的两种模式都显示出明显较小的差异。RGB-L运行时间的平均值为22.8毫秒,比双目模式的平均值41.2毫秒少40%以上。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第7张图片

图5 不同方法的运行时间对比

运行时的各阶段耗时如表3所示。需要注意的是,对于表1中的标准RGB-D模式,离线和在线计算的部分计算时间是加在一起。传统的CV算法计算时间非常低,因此相对于双目模式可以显著加速ORB-SLAM3算法。

由于较小的平均计算时间和较小的方差可以使所提出的方法特别适用于硬件资源有限的嵌入式应用,因此整个算法可以在CPU上运行,不需要大规模GPU。

表3 双目模式和RGB-L模式的响应时间。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第8张图片

5. 笔者结论

近期,慕尼黑工业大学提出并开源了论文“RGB-L: Enhancing Indirect Visual SLAM using LiDAR-based Dense Depth Maps”。在这篇文章中,作者提出了一种将激光雷达深度测量融合到ORB-SLAM3的方法。作者比较了两种生成逐像素深度图的方法。具体来说,为了对激光雷达点云进行上采样,使用了具有5×5像素大小的菱形核的逆膨胀和基于ENet的监督深度学习方法。注意,基于深度学习的深度图必须在运行SLAM之前离线创建,但膨胀作为RGB-L模式可以直接包含在ORB SLAM3中。结果显示,使用RGB-L模式能够减少运行时间,与双目模式相比减少了40%以上,同时运行时间差异显著降低,这种方法更加适合低功耗和低延迟应用。同时,由于RGB-L模式在低纹理环境中表现出很高的准确性,因此可以应用于恶劣天气场景或被污染的相机图像中。

但需要注意的是,这篇文章只是一个初稿,应该是上传到arXiv来占坑的。笔者认为它们未来会在其他自动驾驶数据集上进行进一步的评估。同时,现有方法对于雷达数据利用率太低了,加入这么一个昂贵的传感器就为了获得深度图显然不划算,如果能进一步的耦合雷达数据应该会取得更好的效果。

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

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

扫描以下二维码,添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第9张图片

▲长按加微信群或投稿,微信号:dddvisiona

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看,3天内无条件退款

高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!_第10张图片

高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

你可能感兴趣的:(高鲁棒!高实时!慕尼黑工业大学开源RGB-L SLAM!)