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

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

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

深蓝学院是专注于人工智能的在线教育平台,已有数万名伙伴在深蓝学院平台学习,很多都来自于国内外知名院校,比如清华、北大等。

摘要
本文介绍了一种新颖的使用点和线的激光雷达+单目视觉的里程计方法。与以往的基于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 [email protected]和8G内存的计算机上分析了方法的精度和时间效率。
图片
从KITTI数据集序列00的第1380帧看,纯点特征系统(左)和我们的系统(右)之间的运动跟踪精度比较。
单个特征点系统的跟踪结果有明显的漂移,而我们的结果有无漂移的运动跟踪。
图片
我们在KITTI数据集序列00(左)和05(右)上的运动跟踪轨迹,分别用我们的完整的系统(*)、没有深度优先模块的系统(-)和没有尺度校正模块的系统(#)与地面真值(GT)轨迹进行比较的结果
图片
对深度先验和尺度校正的评估。将其精度与我们的完整系统进行了比较。如表所示,(-)表示没有深度先验,(#)没有尺度校正(*)具有完整系统。
图片
对DEMO、DVL-SLAM、LIMO和我们的KITTI训练数据集进行了误差分析
图片
使用我们的完整系统对NuScenes一部分数据集测试结果,包括点线检测结果(左)和使用估计相机姿态的最终点云重建结果(右)。
总结
在这篇论文中提出了一个准确而有效的利用点和线特征的激光雷达+视觉里程计方法。
通过利用更多的结构信息,证明了我们的方法比纯几何技术更精确,并且与使用额外语义信息(如LIMO)的系统达到了相当的精度。
希望这项工作能对后续的工作有所启发,比如探索其他类型的结构先验信息,如平面先验、平行、正交或共面规则等,以获得更精确的激光雷达+相机传感器融合系统。

本文仅做学术分享,如有侵权,请联系删除。
如需转载请联系原作者~