“本文提出一种紧耦合的激光雷达-视觉IMU紧耦合的实时高精度建图定位方法LVI-SAM。该框架分为两部分:visual-inertial system (VIS) 以及lidar-inertial system (LIS)。VIS和LIS能够以紧耦合的方式利用两种传感器独立运作以提升系统精度和鲁棒性,其中VIS的精度是由LIDAR提供的特征点的深度测量得以提升,并且在VIS初始化时使用了LIS,增强了初始化的鲁棒性以效率。当VIS检测到闭环后会由LIS进一步进行优化。LVI-SAM能够在视觉或激光失效时继续工作。实验表明,该算法能够比现有的开源纯视觉/激光/激光+视觉的表现优异。 ”
代码开源:github.com/TixiaoShan/LVI-SAM
(笔者: 一作最近非常高产,最近发了非常多高质量的文章)
LVI-SAM框架
该框架由两部分组成:VIS 以及 LIS 。VIS 和 LIS 能够互相利用两种传感器独立运作以提升系统精度和鲁棒性,系统位姿输出帧率为IMU的速率。
VIS框架(点击查看大图)
VIS以VINS-Mono为基线进行开发,优化方程中的残差项包括IMU预积分/有深度的视觉测量以及无深度的视觉测量(更加详细的介绍请参考VINS-Mono原文),接下来将介绍VIS初始化与特征深度关联模块。
基于优化方法的 VIS 在初始化需要求解高度非线性的问题,因此效果常常不佳。初始化的质量取决于两个因素:传感器的初始运动和 IMU 参数的准确性,IMU 参数包括缓慢变换的 bias 和白噪声。Vins-Mono 初始化时,若传感器移动速度慢或匀速运动时,初始化往往会失败。主要原因在于加速度激励不够大,无法正确初始化尺度。
为了提高 VIS 系统初始化的鲁棒性,系统状态量和 IMU 的 bias 先用 LIS 初始化,再基于图像时间戳对状态量插值并与图像关键帧关联,作为 VIS 初始化的初值,图像关键帧间 IMU 的 bias 假设不变。
特征深度关联与深度校验
初始化完成后,基于 VIS 估计的相机位姿,将多帧激光投影至图像坐标系获得稠密的深度图。视觉特征点与深度地图中的深度值关联的具体方法见上图,主要分为以下几个步骤:
上图展示了两种场景下特征点与深度点的关联结果。(a,c)两图中颜色变化表示深度变化,(b,d)图中绿点表示成功关联的点,红点则反之。从左图场景中可发现,虽然深度值覆盖了大部分图像,但是由于验证失败,右上角有许多关联失败点。从右图场景中,可观察到近处两个较稳定的特征点没有成功建立关联。
在运动剧烈、光照变换、纹理少等情况,特征跟踪数量锐减,VIS 失效。此时,VIS 系统会错误估计 IMU 的 bias。因此当 VIS 系统跟踪的特征点过少,或 IMU bias 估计值超过某一阈值时,判定 VIS 系统失效。此时重新初始化 VIS 系统。
回环检测使用率DBoW2(笔者:效率高,但召回率可能受限,有改进空间)。
LIS 中因子图包含 4 类约束:IMU 预积分约束项、视觉里程计约束项、关键帧与地图匹配得到的激光里程计约束、VIS 检测到回环 LIS 估计回环位姿得到的回环约束。
LIS 系统初始化前,假设系统静止不动。初始值的设置对 scan-to-map 匹配十分重要,作者通过关键帧至当前时刻 IMU 的位姿积分结果作为匹配的预测值。系统初始化误差后,基于因子图估计 IMU 的bias、系统位姿、速度。
系统初始化完成后,激光匹配的初始值有两个来源:IMU 积分值、VIS 里程计结果,作者优先使用后者。
退化的建图效果,此时的scan-matching是欠约束的,其中 (a)(c)是朝向地面,(b)(d)是朝向开旷缺乏纹理的远方
参考 LOAM 中的方法,若在配置的第一次迭代求解方程
时,
矩阵的最小特征值小于某一阈值,判定 LIS 系统失效。
上图中A1表示去掉激光匹配,激光给相机(不)提供深度值;A2表示去掉图像匹配;A3表示LIS+VIS,激光给相机(不)提供深度值;A4表示本文提出的完整系统。
在城市环境下手持步行采集数据,环境中有移动的汽车、走动的行人等。有时还将设备朝地看,在此严酷的情况下测试。
左图为车载情况下采集数据、右图为手持设备采集数据环境图。
在车载情况下、手持设备下采集数据的定性、定量评估结果(笔者:没有看到该算法在KITTI Visual Odometry任务中与主流算法的排名比较,有些遗憾)。
-END-
— 版权声明 —
本文内容由计算机视觉SLAM以及camel@知乎联合创作、收集的文字、图片和音视频资料,版权属计算机视觉SLAM与camel@知乎所有;从公开渠道收集、整理及授权转载的文字、图片和音视频资料,版权属原作者。本公众号内容原作者如不愿意在本号刊登内容,请及时通知本号,予以修改及删除。