SLAM论文笔记-使用点和线特征的激光雷达-单目视觉里程计

使用点和线特征的激光雷达-单目视觉里程计

首发在泡泡机器人slam公众号

标题:Lidar-Monocular Visual Odometry using Point and Line Features

作者:Shi-Sheng Huang, Ze-Yu Ma, Tai-Jiang Mu, Hongbo Fu, and Shi-Min Hu

机构:The Department of Computer Science and Technology, Tsinghua University
and BNRist

来源:ICRA 2020

编译:zhuhu

审核:

摘要

本文介绍了一种新的利用点和线特征的激光雷达单目视觉里程计方法。与以往基于点特征的激光雷达-视觉里程计不同,该方法通过在姿态估计中同时加入了点特征和线特征,利用了更多的环境结构信息。提出了一种稳健的点-线深度提取方法,并将提取到的深度作为点-线BA(Bundle Adjustment)的先验因素,该方法大大降低了特征的三维模糊度,从而提高了位姿估计的精度。此外,我们还提供了一种纯视觉跟踪方法和一种新颖的比例校正方案,从而实现了一种高效、高精度的激光-单目视觉里程计系统。在KITTI数据集上的评估表明,我们的技术比现有技术的方法实现了更准确的位姿估计,优势甚至比那些利用语义信息的系统更好。

主要工作与贡献

  1. 提供了一种鲁棒和高效的激光单目视觉里程计方法,它以纯几何的方式结合了点和线特征,可以从场景环境中提取比单纯的点系统更多的结构信息。具体地说,我们的系统在摄像机跟踪过程中融合了点和线特征作为地标,并将基于点和基于线的地标的重投影误差表示为后端BA的先验信息。
  2. 提供了一种稳健的方法从激光雷达数据中提取点和线的深度,并使用该深度先验来引导摄像机跟踪。这样,我们避免了仅仅基于可能的模糊的3D三角剖分来创建3D地标,特别是对于3D线。为了进一步提高位姿估计精度,还将深度先验作为点-线BA的先验因素。
  3. 为了克服帧间里程计的尺度漂移,在BA前,我们使用比例尺度校正来恢复每一个关键帧的尺度。实现了一个高效而无漂移的激光雷达-视觉里程计系统。

算法流程

该系统是ORB-SLAM2上的改进,根据雷达提供的深度信息,得到了点和线特征的深度信息,针对帧间会产生的漂移进行了优化,同时在BA部分同时使用了点和线的特征。

image-20210525214027838

预处理过程

在给定的单目和雷达数据中,假定两个传感器内参都已经被标定,并且两种传感器的数据都已经被对齐。设定相机为本地坐标系,世界坐标系为本地坐标系的起始点。

图一中显示了系统的框架,其中包含3个进程运动跟踪线程(前端)、捆绑调整线程(后端)和闭环线程。前端首先提取每一帧中的点特征和线特征,然后在每一关键帧中先验估计特征的深度,最后用逐帧里程计估计摄像机姿势。执行尺度校正优化,以校正帧间里程计之后的尺度漂移。后端使用点-线约束因子进行点-线的BA。还执行具有点和线特征的基于词袋的闭环,以进一步细化关键帧的姿势。

特征提取部分

点特征使用ORB-SLAM2中改进的方法,线特征使用了Line Segment Detector(LSD)进行提取,使用Line Band Descriptor的描述符。针对LSD算法中会将线分割为多个短线的方法,对这些短线进行了改进,将误分割的短线和距离很近的线进行处理。

image-20210526101338774

我们将短线段链接成较长的线段(左),或将近线段合并成新的线段(右),以提高LSD返回的线的质量。图像来自Kitti DataSet Sequence 00.

点和线的深度提取

image-20210526103907266

点和线的深度信息从激光雷达的点云信息得到。2D点特征从对应的3D点得到深度信息,2D的线特征则是从对应的3D标志的两个端点的深度信息表示出来的。更具体地,使用Tateno等人引入的方法,首先将属于点片的LIDAR点分段为前景点和背景点。 然后使用前景点拟合平面,则特征点的深度是点射线和平面之间的交叉点的深度。针对图像中线 l j l_j lj中包含的点云 P = { p i } P=\{p_i\} P={ pi}, 首先通过最小化下列的函数,计算对应的3D线特征 L j ∗ L_j^* Lj

image-20210526104843520
L j ∗ = arg ⁡ min ⁡ L j ∑ i d ( p i , L j ) + e ( L j , l j ) L_{j}^{*}=\arg \min _{L_{j}} \sum_{i} d\left(p_{i}, L_{j}\right)+e\left(L_{j}, l_{j}\right) Lj=argLjminid(pi,

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值