论文介绍了一种较为新颖视觉里程计,将激光雷达和视觉结合了起来。通过LIDAR提取深度,通过视觉提取特征进行跟踪,基于关键帧BA预测机器人运动。
论文中的主要工作是:
1通过引入点和线特征,与之前只使用点特征的激光-视觉里程计相比,能够提取更多的场景结构信息。
2本文还提供了一个鲁棒的点线深度提取方法,大大降低了特征的三维模糊度,从而提高了位姿估计的精度.(将提取深度信息作为先验参数进行点线联合平差,这种方法很好的降低了3D特征奇异从而提高姿态评估的准确性.)
3文中还提供了一种纯视觉跟踪方法和一种新颖的比例校正方案,为了克服帧间里程计的尺度漂移,在BA前,我们使用比例尺度校正来恢复每一个关键帧的尺度从而实现了一种高效、高精度的激光-单目视觉里程计系统。
这张图是关于算法的实现流程。
显示了系统的框架,其中包含3个进程运动跟踪线程(前端)、捆绑调整线程(后端)和闭环线程。前端首先提取每一帧中的点特征和线特征,然后在每一关键帧中先验估计特征的深度,最后用逐帧里程计估计摄像机姿势。执行尺度校正优化,以校正帧间里程计之后的尺度漂移。后端使用点-线约束因子进行点-线的BA。还执行具有点和线特征的基于词袋的闭环,以进一步细化关键帧的姿势。
A. 特征提取与匹配
点特征使用ORB快速提取方法,线特征采用LSD算法,线匹配方法使用LBD方法;
B. 点和线深度提取
对于每个检测到的二维点或线段,分别使用相邻的图像块估计其深度。点的三维先验估计使用图像射线与平面的交点表示,线的3D对应通过最小化相应的能量函数得到;
点和线的深度信息从激光雷达的点云信息得到。2D点特征从对应的3D点得到深度信息,2D的线特征则是从对应的3D标志的两个端点的深度信息表示出来的。更具体地说,使用Tateno等人引入的方法,首先将属于点片的LIDAR点分段为前景点和背景点。 然后使用前景点拟合平面,则特征点的深度是点射线和平面之间的交叉点的深度。针对图像中线中包含的点云, 首先通过最小化下列的函数,计算对应的3D线特征。
针对位于Lidar点云之外的点和线段,采用点三角测量和线段修建的方法进行深度先验估计。
C. 帧与帧间里程计
特征跟踪使用图像层面的特征匹配策略完成,三维点线通过B步骤获取,使用PNP或PNL方法得到帧间里程计信息;
D. 尺度纠正优化
将每帧点云ICP配准矩阵作为图像尺度先验信息输入,调整关键帧姿态求解,控制里程计尺度漂移;
E:点线平差
使用点和线重投影误差来优化里程计,平差策略与ORB-SLAM2类似,后端滑动窗口关键帧策略实现局部平差;
F:回环检测
使用DBoW训练点线特征,将关键帧使用特征词典描述,使用点线的BoW特征向量的相似度评价场景相似性,完成回环检测。
结论
本文提出了一种结合点特征和线特征的高精度、高效率的雷达单目视觉里程计方法。通过利用更多的结构信息,我们证明了我们的方法比最先进的纯几何技术更准确,并且能够与使用场景语义信息定位建图LIMO方法得到相似的效果。
参考文章:
【泡泡点云时空】使用点线特征配合激光雷达辅助的单目视觉里程计
SLAM论文笔记-使用点和线特征的激光雷达-单目视觉里程计_slam中线特征与点特征的区别_偏执的眸的博客-CSDN博客