摘要
将激光雷达与基于相机的同步定位和建图(SLAM)相结合是提高整体精度的有效方法,尤其是在大规模室外场景下.低成本激光雷达(如Livox激光雷达)的最新发展使我们能够以更低的预算和更高的性能探索这种SLAM系统.在本文中,我们通过探索Livox激光雷达的独特特征,将Livox激光雷达应用到视觉SLAM(ORBSLAM2)中,提出了CamVox.基于Livox激光雷达的非重复特性,我们提出了一种适用于非受控场景的激光雷达-相机自动标定方法.更长的深度探测范围也有利于更有效的建图.我们在同一个数据集上评估了CamVox与VINS-mono和Loam的比较,以展示其性能.
介绍
同时定位与建图是自主机器人的一项关键技术,越来越受到学术界和工业界的关注.低成本传感器的出现大大加速了SLAM的发展.例如相机提供了丰富的角度和颜色信息,并促进视觉SLAM的发展,如ORBLAM.此后惯性测量单元(IMU)由于在智能手机行业的大量采用而开始降价,SLAM的使用变得简单,可以获得额外的信息,如VINS-Mono和ORB-SLAM3.在其他传感器中,深度传感器(双目相机、RGBD相机)提供直接深度测量,并在ORBSLAM2等SLAM应用中实现精确的性能.激光雷达作为高端深度传感器,可提供远程室外能力、精确测量和系统鲁棒性,并已被广泛应用于更苛刻的应用,如自动驾驶.但通常价格不菲.随着自动化行业的发展,最近许多新技术的发展使得低成本激光雷达实现了商业化,例如Ouster和Livox激光雷达.Livox激光雷达具有非重复扫描模式,在低成本激光雷达辅助的SLAM系统中具有独特的优势.本文介绍了第一台Livox激光雷达辅助视觉SLAM系统(CamVox),具有卓越的实时性能.我们的CamVox SLAM建立在最先进的ORB-SLAM2之上,使用Livox激光雷达作为深度传感器.具有以下新功能:
图1示出了从CamVox构建的示例轨迹和地图.
相关工作
由于丰富的角度分辨率和信息丰富的颜色信息,相机可以通过简单的投影模型和光束调整提供令人惊讶的良好定位和建图性能.最著名的单目相机SLAM系统之一是ORB-SLAM.
ORB-SLAM通过提取图像中的ORB特征来跟踪对象,并使用闭环检测来全局优化地图和姿态,这通常是快速和稳定的.然而它不能精确地恢复真实的比例因子,因为绝对深度比例对于相机是未知的.
为了解决单目相机不能恢复真实世界尺度的问题,Mur等人提出了ORB-SLAM的改进,称为ORB-SLAM2.增加了双目相机和RGBD相机对深度估计的支持.然而这两种相机都有缺点,特别是在估计具有长深度的室外物体时.双目相机需要长基线来进行精确的长深度估计,这在现实世界中通常是有限的.此外两个相机之间的校准容易受到机械变化的影响,并将对长期深度估计精度产生不利影响.RGBD相机通常容易受到通常小于10米的有限范围内的太阳光的影响.融合相机和IMU是另一种常见的解决方案,因为相机可以部分校正IMU积分漂移,校准IMU偏差.而IMU可以克服单目系统的尺度模糊.Campos等人通过融合摄像机和IMu测量扩展了ORB-SLAM2,并提出了ORB-SLAM3.然而消费级IMU只能在相对较低的精度下工作,并且会受到偏置、噪声和漂移的影响,而高端IMU的成本非常高.
另一方面,激光雷达提供了直接的空间测量.激光雷达SLAM框架已经开发出来.一个开创性的工作是loam.与视觉SLAM相比,由于激光雷达点云的精确深度估计,它在动态环境中更加鲁棒.然而由于复杂的扫描机制,激光雷达不能提供像照相机一样高的角度分辨率,因此它容易在隧道或走廊等不太突出的结构环境中出现故障.它还缺乏闭环检测,使得算法只关注局部精度,而没有全局姿态和地图优化.为了增加loam中的闭环检测,Shan等人提出了一种增强的loam算法Lego-loam.与loam相比,LeGo-loam通过分割和聚类改进了特征提取以提高效率,并增加了闭环检测以减少长期漂移.在SLAM框架中结合激光雷达和相机成为一种理想的解决方案.在获取具有精确深度信息的点云的同时,可以利用相机提供的高角度和高颜色信息.张等人提出了VLOAM,将单目相机和激光雷达松散地融合在一起.与loam相似,估计被认为足够精确.不需要闭环.Shin等人还试图将单目相机和激光雷达结合在一起,使用直接方法而不是特征点来估计姿态.此外它将视觉数据和点云紧耦合,并输出估计的姿态.邵等人进一步将双目相机、IMU和激光雷达融合在一起.他们展示了利用双目视觉惯性在室外真实场景中的良好表现里程计(VIO)闭环.VIO和激光雷达是松耦合的,后端没有进一步优化.它还受到其复杂性和成本的限制.
激光雷达通常成本太高,无法用于实际应用.幸运的是,Livox推出了一种基于棱镜扫描的新型激光雷达.由于新的扫描方法,成本可以大大降低,使大规模采用.此外这种新的扫描方法允许不重复的扫描模式,非常适合于在累积时获取相对高清晰度的点云(图2).即使是100ms的积累,Livox Horizon已经高达64行,并且还在继续增加.此功能在校准激光雷达和相机时非常有用,因为传统的多线激光雷达缺乏线间空间的精度.棱镜设计还具有用于信号接收的最大光学孔径,并允许远程检测.例如Livox Horizon可以在强烈的阳光照射下探测到260米.由于具有如此优越的成本和性能,林等人提出了Livox-Loam.基于此,Livox还发布了Livox Horizon的loam框架,名为livox horizon loam.
由于远距离探测和高精度,相机和激光雷达之间的外部参数校准成为更重要的考虑因素.在[12]中,激光雷达相机的建议解决方案可以分为两种方式.第一个是校准过程是否需要一个校准目标,第二个是校准是否可以在没有人为干预的情况下工作.这些年来,许多校准技术都是基于固定的校准目标或人工努力,如[13]和[14].在[15]潘迪等人利用CRLB证明了校准参数的存在性,并通过计算MVUB估计量来估计它们.Iyer等人在[16]中提出了一种称为CalibNet的网络,这是一种几何监督的深层网络,用于估计激光雷达和摄像机之间的转换.以上两种方法不需要具体场景.此外Levinson等人在[12]中提出了一种在线校准方法,他们声称这种方法可以实时校准激光雷达和摄像机,并且适用于任何场景.但到目前为止,校准仍然是一项具有挑战性的任务,在不受控制的场景中,没有用于校准激光雷达和摄像机的开源算法.Livox激光雷达的非重复扫描模式可以提供一个更容易的解决方案,正如我们将展示的.
CAMVOX框架
所提出的CamVox基于ORB-SLAM2,具有独立的RGBD输入预处理和在非受控场景下的自动校准方法.该框架利用激光雷达辅助的视觉关键帧来生成局部建图,并且由于后端轻量级的姿态图优化,在ORBSLAM2的不同级别的束调整(BA)和闭环上表现出高鲁棒性.
在最初的ORB-SLAM2中,关键点分为两类:近点和远点,其中近点是深度确定性高的点,可用于缩放、平移和旋转估计,而远点仅用于旋转估计,因此信息量较少.由于从Livox lidars获得的稠密、长距离和精确的点与相机图像相融合,因此可以分配比传统RGBD相机(由于检测距离)或双目视觉相机更多的近点.因此相机和激光雷达的优势可以通过紧耦合的方式加以利用.
A.硬件和软件
CamVox硬件包括一个MV -CE060-10UC滚动快门相机,一个Livox地平线激光雷达和一个惯性测量单元。(惯性传感INS)。附加的GPS-RTK(惯性传感惯性导航系统)用于地面真实度估计。通过10 Hz的触发信号与所有这些传感器进行硬同步。每个触发信号下的摄像机输出(10赫兹)。激光雷达保持一个时钟(与GPS-RTK同步),并连续输出带有精确时间戳的扫描点。同时,惯性测量单元以与触发器同步的200赫兹的频率输出。来自GPSRTK的数据也被记录下来用于地面真相比较。安装了一台英特尔Realsense D435 RGBD相机进行比较。整个系统安装在一个移动的机器人平台上(敏捷X Scout mini)。值得注意的是,Livox Horizon激光雷达的销售价格(800美元)明显低于其他类似性能的激光雷达(10k–80k美元),这使得可以在合理的预算内构建完整的硬件系统.
系统在几个并行线程上运行,如图4所示.除了ORBSLAM2的主要线程之外,还添加了一个额外的RGBD输入预处理线程,以捕获来自同步相机和激光雷达(IMU校正)的数据,并将其处理成统一的RGBD帧.可以触发自动校准线程来校准相机和激光雷达,当检测到机器人不移动或通过人类交互时,自动进行校准.然后对校准结果进行评估并输出,用于潜在的参数更新.
B.预处理
预处理线程从激光雷达获取原始点,由IMU进行校正,并根据相机的外部校准投影到深度图像中.然后将RGB图像与深度图像组合,作为RGBD帧的输出,其中两个图像被格式化为具有相等的尺寸,并且在像素方面对应,如图3c和图3d所示.然后根据输出执行进一步的跟踪线程操作,如ORB特征提取、关键点生成.由于激光雷达持续扫描环境,每个数据点都是在略有不同的时间戳获得的,需要IMU进行校正.这不同于照相机,而图像是在几乎一瞬间获得的.图5示出了当机器人处于连续运动时点云变形的例子.为了纠正这种失真,机器人的运动是在每个激光雷达点输出时间从惯性测量单元姿态插值,并转换当触发信号开始时,激光雷达指向激光雷达坐标,这也是捕捉相机图像的时间.这个转化可以用方程(1)(2)来描述.
其中和分别是激光雷达帧的开始和结束时间戳.激光雷达帧中任何3D点的时间戳都可以表示为.
由IMU测量和之间的机器人位姿变换矩阵,与之间的可以在(1)中计算.最后,所有激光雷达点都转换到的激光雷达坐标系,如(2)所示.
此外,在长距离Livox激光雷达的帮助下,我们能够可靠地检测到100米以外的许多与深度相关的相机特征点.相比之下,Realsense RGBD相机无法检测10米以外的点,并且受到阳光噪声的影响.这在图6中清楚地显示出来,因此,在CamVox中,我们可以指定深度小于130米的点的关键点.这远远超过了40倍(ORB-SLAM2)标准,通常在商用双目摄像机中使用,大约为10厘米.
C.校准
由于激光雷达的远程能力,校准精度在CamVox中至关重要.小角度失配可能导致大深度的大绝对偏差.受控校准目标(如棋盘)在现场并不总是可用,在随机固定失败或碰撞后可能会发生错位.需要在不受控制的场景中开发自动校准方法,并且如果发现更好的校准匹配,则更新参数.由于Livox激光雷达不重复的特性,只要我们能够积累几秒钟的扫描点,深度图像就可以变得像相机图像一样高分辨率(图7),并且与相机图像的对应关系变得容易找到.因此我们能够基于场景信息在几乎所有的现场场景中自动进行这种校准.当检测到机器人静止时,设置自动校准的触发,以消除运动模糊.我们在静止状态下积累激光雷达点几秒钟.相机图像也被捕获.
整个校准算法的结构如图7所示.首先通过使用反射率和深度值的初始外部参数将密集点云投影到成像平面上,然后执行轮廓提取以与相机图像轮廓进行比较.代价函数由一种改进的ICP算法构造,可以通过Ceres进行优化,得到相对更精确的外部标定参数。然后将这些新参数的成本函数与先前的值进行比较,并决定是否在输入预处理线程处更新外部校准参数.
假设一个点在激光雷达坐标系中的坐标值为X=,一个点在摄像机坐标系中的z坐标值为,该点在2D图像中的像素位置为Y=,,.给定从激光雷达到摄像机的初始外部变换矩阵T和摄像机的内部参数,,,,我们可以通过等式3和4将3D点云投影到2D图像.
将激光雷达点云投影到2D图像后,我们对所有图像进行直方图均衡化,并使用Canny边缘检测器提取边缘[18]。从深度图像和反射率图像提取的边缘被合并,因为它们都来自相同的激光雷达,但信息不同。为了提取更可靠的边缘,在这些边缘图像上滤除以下两种边缘。第一种是长度小于200像素的边缘。第二种边缘是内部杂乱的边缘。最后,获取相机图像和激光雷达图像中存在的一些特征边缘,并根据最近边缘距离进行边缘匹配。
初始匹配结果如图7右下方所示,其中橙色线是相机图像的边缘,蓝色线是地平线图像的边缘,红色线是最近点之间的距离。这里我们采用了ICP算法[19]并使用K-D树来加速最近邻点的搜索。然而,有时在错误的匹配中,很少的点实际上参与了距离的计算,代价函数值被陷在这个局部最小值之内。在这种情况下,我们通过增加一定程度的不匹配来改进ICP中的成本函数。改进的成本函数如公式所示。(5)其中,N是与激光雷达边缘点在距离阈值内的摄像机边缘点的数量,m是最近邻居的数量,N是所有摄像机点的数量,b是加权因子.我们发现b的值为10是一个很好的默认值.请注意, 成本函数是每个点的平均值, 因此可用于在不同场景下进行水平比较.
在优化该成本函数时,我们采用了坐标下降算法[20],并通过Ceres [17]迭代优化(滚转、俯仰、偏航)坐标.这似乎导致了更好的融合.
结果
在本节中,我们将介绍CamVox的评估结果.具体来说,我们将首先显示自动校准的结果.还评估了为关键点选择深度阈值的效果.最后,我们评估了CamVox与主流SLAM框架的比较轨迹,并给出了时间分析.
A.自动校准结果
我们的自动校准结果如图8所示.图8a中示出了当传感器和照相机未被校准(未对准超过2度)时,激光雷达点在RGB图像上的覆盖.成本函数的值为7.95.自动校准被触发并校准结果,如图8(b)所示,其中成本函数值为6.11,而手动完成的最佳校准结果如图8(c)所示,值为5.88.自动校准的结果非常接近最佳手动校准.此外由于类似图像的校准方案,自动校准在大多数不受控制的场景下工作稳定.在图8(d-f)中评估了几个不同的场景,并且获得了大约或低于6的成本值,我们认为这是一个相对较好的值.
B.关键点深度阈值的评估
因为激光雷达可以探测260米,所以在融合帧中有许多关键点,我们可以将其描述为接近.这些点对跟踪和绘图有很大帮助.从图9(a-d)中,通过将关键点深度阈值从20m设置为130m,我们看到建图比例和建图特征的数量都显著增加.在图9e中,我们评估了在开始CamVox后的前100帧(10帧/秒)中,作为时间的函数跟踪的匹配点的数量.随着更多的帧被捕获,观察到特征数量的增加(图9f开始后0.5 s),并且较大的阈值显然最初跟踪了更多的特征,这有助于开始稳健的定位和建图.使用CamVox,我们建议将默认值设置为130米.
C.轨迹比较
CamVox、两个主流SLAM框架和地面真实轨迹的比较在我们的SUSTech数据集上进行评估,如图10和表1所示,使用evo.由于精确的校准、丰富的深度相关视觉特征以及它们的精确跟踪,CamVox系统非常接近groundtruth并明显优于其他框架,如livox horizon loam和VINS-Mono.
D.计时结果
CamVox框架的时序分析如表二所示.自动校准大约需要58s完成.因为校准线程仅在机器人处于静止状态时偶尔运行,并且参数的更新可能发生在稍后的时间,所以这样的计算时间对于实时性能来说不是问题.
结论和展望
综上所述,我们提出CamVox作为一种新的低成本激光雷达辅助的视觉SLAM框架,旨在结合两者的优点,即来自摄像机的最佳角度分辨率和来自激光雷达的最佳深度和距离.由于Livox激光雷达的独特工作原理,开发了一种可以在不受控制的场景中执行的自动校准算法.在自动校准精度、关键点分类深度阈值和轨迹比较方面对新框架进行了评估.它也可以在机载计算机上实时运行.我们希望这个新的框架可以用于机器人和传感器研究,并为社区提供现成的低成本解决方案.
本文仅做学术分享,如有侵权,请联系删文。