基于点线特征的激光雷达+单目视觉里程计

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

作者:Shi-Sheng Huang1, Ze-Yu Ma1, Tai-Jiang Mu1, Hongbo Fu2, and Shi-Min Hu1

编译:点云PCL(2020)

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。未经允许请勿转载!

论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。

摘要

本文介绍了一种新颖的使用点和线的激光雷达+单目视觉的里程计方法。与以往的基于lidar+视觉里程计相比,通过在姿态估计中引入点和线特征来利用更多的环境结构信息。提出了一种稳健的点线特征深度提取方法,并将提取的深度值作为点线捆集平差法的先验因子。该方法大大降低了特征的三维模糊度,提高了姿态估计精度。此外,本文还提出了一种纯视觉运动跟踪方法和一种新的尺度校正方案,从而实现了一种高效、高精度的单目视觉里程计系统。对公开的 KITTI数据集的评估表明,该方法比最新的方法实现了更精确的姿态估计,有时甚至比那些利用语义信息的方法更好。

相关内容与介绍

激光雷达视觉里程计因其在机器人、虚拟现实、自主驾驶等领域的广泛应用而成为一个活跃的研究课题,将视觉传感器和激光雷达传感器结合起来作为激光雷达视觉里程计,实现了两种传感器的优点,因此,在计算机视觉、计算机图形学、机器人学等领域的研究越来越受到重视。相关方案有LOAM,LIMO,DVL-SLAM,ORB-SLAM,DSO等等。

本文提出了一种稳健而有效的激光雷达单目视觉里程计方法,它以纯几何的方式结合点和线的特征,从场景环境中提取比单个特征点系统更多的结构信息。更具体地说,我们的系统融合了摄像机跟踪过程中的点和线特征作为地标,并将基于点和线的地标的重投影误差作为后端束调整的因素。在传感器融合过程中,提出了一种鲁棒的方法从激光雷达数据中提取点和线的深度,并利用该深度辅助相机跟踪。这样避免了仅仅基于可能模糊的三维三角化创建的三维地标,特别是对于三维直线。在点-线捆集调整中,将深度先验作为先验因子,进一步提高姿态估计精度。

内容精华

预处理

给定一个单目图像序列和一个激光雷达序列,假设两个传感器的内、外参数已经校准,并且两个传感器的数据已经进行了时间对齐。将相机的局部坐标设置为body坐标,世界坐标设置为body坐标的起始点。

上图显示了我们系统的框架,其中包含三个运行线程:运动跟踪线程(前端)、捆集调整线程(后端)和回环闭合线程。前端首先在每一帧中提取点和线特征,然后在每个关键帧中估计特征的深度,最后使用帧间里程计估计相机姿势。进行尺度校正优化帧间里程计的尺度漂移。后端使用点线约束因子进行点线捆集调整。并基于具有点和线特征词袋的的回环闭合检测,以进一步细化关键帧的姿势。

A. 特征提取

可以使用各种点特征(SIFT、SURF、ORB等)作为跟踪特征。为了提高效率,这里采用了ORB特征作为点特征,如ORB-SLAM2中所述。在检测过程中,要求ORB特征尽可能均匀地分布在图像中。线特征对于每幅图像,使用流行的线特征检测器,线段检测器(line segment detector,LSD)来检测线段,并计算提取线的描述子(lineband Descriptor,LBD)。

如图可以将将短线段连接为长线段(左),或将临近线段合并为新线段(右),以提高LSD提取线的质量

B. 点线深度提取

在本节将介绍一种从激光雷达数据中提取点和线深度的方法。这里,2D点特征的深度是指其对应的3D点的深度,2D线特征的深度是指两个端点对应的3D地标的深度。

一个简单的点和线深度提取说明。将稀疏的lidar数据(灰点)对准像面后,分别在点邻域和线邻域中提取点深度和线深度

C. 帧与帧间的里程计

使用纯视觉帧间里程计来估计每个帧的相机姿态,这比其他基于ICP的里程计(如V-LOAM)更有效。

D. 基于优化的尺度校正

由于估计的尺度可能会偏离其实际物理尺度,这里提出尺度校正优化。其核心思想是融合由ICP对齐步骤计算出的相对相机姿态,通过比例校正优化来调整新估计的关键帧相机姿态和相关的3D地标。

E. 点线捆集调整

在滑动相邻窗口的关键帧之间的后端形成一个点-线捆集调整,类似于ORB-SLAM2中的方法。

将三维直线地标L_w重新投影到图像平面上,产生与线段li(左)匹配的二维直线Li,其中p0和Q0是提取的深度先验值。重投影的直线Li和匹配线段li之间的误差由其两个端点到直线的距离定(右)

F. 回环检测

在运动估计过程中,回环闭合包括基于关键帧的循环检测和循环校正。对于循环检测,首先使用DBoW算法分别训练点特征(ORB描述符)和线特征(LBD描述符)的词袋。然后将每个关键帧转换为点向量和线向量。在评估关键帧之间的相似性时进行循环校正。

实验

该系统是基于ORB-SLAM2实现的,有三个线程,即帧间里程计、基于关键帧的捆集调整和回环检测。在执行ICP校准时,我们使用PCL库中实现的正态分布变换(NDT)来计算两个相邻点云之间的相对相机姿态。我们在公开的 KITTI训练数据集上测试了我们的方法,该训练数据集包含具有地面真实轨迹的00-10序列,并在64位Linux操作系统的Inte Core i7-2600@2.6GHz和8G内存的计算机上分析了方法的精度和时间效率。

从KITTI数据集序列00的第1380帧看,纯点特征系统(左)和我们的系统(右)之间的运动跟踪精度比较。单个特征点系统的跟踪结果有明显的漂移,而我们的结果有无漂移的运动跟踪。

我们在KITTI数据集序列00(左)和05(右)上的运动跟踪轨迹,分别用我们的完整的系统(*)、没有深度优先模块的系统(-)和没有尺度校正模块的系统(#)与地面真值(GT)轨迹进行比较的结果

对深度先验和尺度校正的评估。将其精度与我们的完整系统进行了比较。如表所示,(-)表示没有深度先验,(#)没有尺度校正(*)具有完整系统。

对DEMO、DVL-SLAM、LIMO和我们的KITTI训练数据集进行了误差分析

使用我们的完整系统对NuScenes一部分数据集测试结果,包括点线检测结果(左)和使用估计相机姿态的最终点云重建结果(右)。

总结

在这篇论文中提出了一个准确而有效的利用点和线特征的激光雷达+视觉里程计方法。通过利用更多的结构信息,证明了我们的方法比纯几何技术更精确,并且与使用额外语义信息(如LIMO)的系统达到了相当的精度。希望这项工作能对后续的工作有所启发,比如探索其他类型的结构先验信息,如平面先验、平行、正交或共面规则等,以获得更精确的激光雷达+相机传感器融合系统

资源

三维点云论文及相关应用分享

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

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

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

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

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

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

SLAM和AR综述

常用的3D深度相机

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

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

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

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

(0)

相关推荐