Advertisement

A visual SLAM method based on point-line fusion in weak-matching scene

阅读量:

视觉同步定位与映射(Simultaneous Localization and Mapping, SLAM)是机器人学领域的重要研究方向之一


Introduction

视觉里程计是通过分析相关的相机图像来确定机器人的位置和方向的过程

许多算法仅依赖于单目相机即可实现其功能。然而由于深度信息无法直接观测到这一事实导致测量结果中缺乏尺度信息从而影响了其应用效果。此外为了构建初始图像通常需要采用多视图或多帧图像融合技术而单纯依靠旋转操作难以充分解决问题。近年来随着计算机视觉技术的发展出现了多种价位更低的深度相机如微软的Kinect英特尔的RealSense以及华硕的Xtion这些设备成功弥补了传统单目SLAM方法在尺度估计方面的不足之处。值得注意的是基于点特征的方法往往在实际应用中表现不佳尤其是在低纹理场景下由于关键特征不足导致追踪效果差甚至完全失效但通过引入平面元素可以有效提升鲁棒性这些平面元素不仅包括墙面地面等常见的平面表面还包含丰富的线性结构如墙面边缘走廊拐角等这些线性结构能够为视觉系统提供更多的几何约束条件从而提高定位精度特别是在低纹理场景下依然能够提取足够的几何特征以满足视觉定位需求

在本研究中, 我们开发了一种将点与线结合的新方法, 以解决RGB-D SLAM技术中的模糊目标匹配问题, 并在线特性提取过程中引入了新的线相关特征以增强对模糊边缘检测的能力。针对现有LSD17算法存在的图像重叠和平移分支问题, 我们开发了一种自适应算法以自动选择最佳参数组合, 进而提升对复杂场景下线条特性的捕捉效率。为了优化三维重建结果的质量, 我们通过最小化点与线之间的投影误差来求解最优 camera pose 参数值。此外, 我们提出了用于处理运动模糊的技术框架, 可以有效地提高跟踪的成功率, 并间接地提升整体定位精度水平。实验结果表明, 相较于基于单一关键点追踪的方法, PLF-SLAM不仅能够显著提升定位精度, 而且表现出更强的鲁棒性能力

其他各部分内容将依次安排。


Related work

开发团队开发了KinectFusion算法18,并整合了深度信息以计算相机姿态。由于缺少回环检测机制,该方法主要适用于小型工作空间.

以上为完整改写版本


PLF-based vSLAM

我们基于ORB-SLAM2算法展开研究工作。该系统由三个相互独立运行的子系统构成:包括负责实时目标跟踪的任务模块、基于深度学习实现的空间环境建模组件以及用于全局定位的关键路径规划系统。在目标跟踪模块中分别采用点云特征提取与直线拟合并结合的方法实现相机姿态估计与运动补偿;随后通过非线性优化方法对该过程中的参数更新机制进行精确求解以提升定位精度;实验结果表明该方法具有良好的鲁棒性和适应性

Adaptive line segment extraction

特征提取所耗时间在整个算法运行过程中占据重要地位

其中sp、ep为提取的线段的两个端点,L、W分别为图像帧的长度和宽度。

通过优化自适应阈值设定,在响应值低于er时剔除相关线段以实现高效提取的同时能显著提升处理效率。LSD算法获取的线段常存在重叠或分段的情况如图2所示

其中,在图2(a)中展示了原始样本,在图2(b)中展示了原始算法提取的线段,在图2(c)中则展示了该过程的一种放大效果。在地板上观察到的线段常被认为是两个或多个独立线段的叠加,在这种情况下, 这一现象通常在多个帧中出现, 会对匹配过程产生负面影响. 因此, 为了应对这一问题, 我们开发了一种改进方案. 首先, 将这一现象转化为一个几何问题来分析会更加直观. 如图3所示,则可直观地看出该类错误的根本原因所在. 这种情况下, 通过适当的条件对重叠区域进行合并处理能够有效改善结果.

在图3中,d1为直线l1中点到直线l2的距离,我们定义线段合并的条件如下:

两线段之间的夹角必须小于e_1(其中Dir(l)代表线段l的方向角函数),而e_2则表示直线l_1上任意一点到直线l_2上的最近距离这一阈值。当满足式(2)时,在情形(a)下,则直线l_1上的某一点其x坐标或y坐标必然介于直线l_2两端点之间的范围内。

其中x与y分别代表线段端点的横坐标与纵坐标,在情形(b)中, 端点b至c之间的最短距离小于经验阈值dmin, 并即表明这一现象

如上所述,在满足特定条件下对提取出的线段进行处理。我们开发出了基于最小二乘法的线段合并方法,并通过利用给定的线段数据生成二维点集

在合并后的直线l₁₂上形成一个近似的线性表达式y₁₂=φ₁₂(x),旨在构建一个最佳拟合模型以最小化预测误差的总平方值。其偏差平方和的计算公式如下所示:

让拟合公式不变

则偏差平方和如下

分别计算a和b的偏导数,得到联立方程

最后对上述公式进行求解,得到合并线段的线性函数。

Line matching method

基于LBD描述符相似性的比较来进行线特征匹配,在实际应用中我们主要采用暴力匹配(BFM)算法而非快速近似近邻库(FLANN)算法因为后者在纹理稀少的场景中存在较大的误配率

与点特征相比,BFM算法在匹配线特征时的错误率更高。主要原因如下:

(a)匹配线相似度低,部分匹配错误。

考虑到图像边缘区域的线条特征在实际应用中往往仅能实现局部匹配这一局限性,在姿态估计过程中可能会面临较大的挑战。

(c)在低纹理场景中,提取的线特征不够可靠。

为此目的,我们采用BFM算法提取出线特征,并对其进行精确筛选。所有匹配对需根据给定条件被逐一排查(如图4):

(a)

因为相邻两帧之间的运动幅度较小,在提取的线段方向上变化也较为有限。当所匹配的线段方向角之差超过e₁, l₂时,则认为未达到匹配条件。

(b)

设Len表示图像帧中被检测到的线段长度。即使在匹配准确的情况下,LSD算法提取出的线特征也并非绝对一致。当两条线段长度差异超出预设阈值时,在后续姿态估计过程中将对该匹配对予以排除。

(c)为了应对边缘线特征经常出现片段缺失的现象,我们提出了去除边缘特征线匹配对的方法.首先,我们将图像周围宽度较窄的区域划分成为边界区域.当匹配线的端点落入该边界区域内时,我们将这些线特征归类为边界相关并予以排除.

此外而言之,在这一研究框架下

Point-line reprojection error

相机姿态优化的第一步是建立点与线误差模型;其中变量包括相机的姿态参数及其所识别特征的空间位置坐标信息;通过最小化空间中点与直线像重投影之间的距离来确定相机的姿态参数;在我们的工作中我们采用的方法是:将三维空间中的直线两端点与其二维图像上的对应线段之间的距离作为衡量标准来评估重投影精度

在图5中,请注意令P、Q属于三维空间中的线段端点,并记其在二维空间中的检测结果分别为pd和qd。在归一化处理中,请关注这些点及其对应的齐次坐标p̃_d和q̃_d(其中p̃_d、q̃_d ∈ R³)。基于上述分析可知

在获得标准化直线系数之后,我们称P与检测到的二维线段l之间的点线误差Epl为P至l的距离

在公式中,π(θ,P)对应于图像空间中点P的投影位置;其中θ代表相机的姿态参数(由旋转矩阵R和平移向量t描述)。随后将直线重投影误差El被定义为点直线误差Epl之和。

由于视觉里程计中的相机姿态受累积误差影响,并且噪声不可避免地存在,在图像空间中三维点与线的投影必然偏离实际检测结果;基于此特性我们提出以下误差计算公式作为评估手段

其中i代表第i条线特征,j作为第j个点特征,li依据不同线特征求取对应的响应值进行动态调整。在我们的研究中,所提出的误差公式被用作评估点与线之间相对误差的基础,我们采用该误差公式作为评估点与线之间误差的基础,并将其用于构建综合性的点-线误差模型。为了提高精度,我们通过优化误差指标确定最佳相机姿态位置,具体实现细节则由算法1中的伪代码描述。

Motion jittering

在运行过程中相机频繁移动或摇晃会导致图像质量下降。

基于获取的清晰度较高的模糊核,在对含有运动模糊的图像施以线性卷积处理后,使得处理后的图像恢复出较为清晰的状态;然而,在计算精确的模糊核方面仍面临诸多挑战。

(b)通过应用高斯滤波器处理摄像机捕获的图像来实现降噪效果,在一定程度上能够降低相邻帧间的差异程度,并显著提升特征匹配的成功率。这种特性能够有效地降低跟踪丢失的可能性。

本文介绍了一种自适应选择运动模糊图片的技术,在目标追踪过程中我们首先提取当前帧与下一帧的关键特征信息,并通过预匹配计算得到目标追踪的成功概率。当目标识别度低于设定阈值时通过高斯滤波减少目标与背景之间的对比度从而降低了目标与背景之间的对比度提升了后续处理的效果

随着模糊核尺寸在特定区间内逐渐增大时

算法2:运动抖动过程

1:设置匹配成功经验值ρ,由多次特征匹配实验得出;

2:同时提取当前帧的点特征和下一帧的ORB特征点;

3:当前帧与下一帧之间的预匹配特征,获取预匹配数;

当匹配数量低于阈值ρ时, 采用3×3像素大小的模糊核对当前帧进行处理, 并使用5×5像素大小的模糊核对下一帧进行处理, 然后继续执行跟踪流程

5:当匹配次数大于ρ时,保持原始图像不变,然后继续跟踪任务。

通过对其的优化调整显着提升了追踪准确率,并继而降低了姿态估计精度,从而增强了SLAM系统的稳定性


Experiments and results

我们对TUM-34数据集进行了系统性地进行评估,并分析了我们的方法在该数据集中的性能表现。该数据集包含了多个图像序列,在这些图像中我们能够获取精确的真实 ground truth信息。这些图像序列涵盖了多种典型场景特征包括静物长时间静止快速移动以及纹理丰富的区域等不同的环境条件设置。我们通过这种方法旨在降低基于视觉的位置与姿态估计(SLAM)系统的运行成本为此我们选择了一台配置良好的计算机平台运行测试

Tracking accuracy

SLAM系统的性能评估主要涉及定位精度和映射精度。由于映射精度的实现主要依赖于定位精度,在本文中我们主要集中探讨算法的定位精度。为了全面评估该方法的有效性和性能优势,并进行深入比较分析,我们将该方法与ORB-SLAM2进行了对比实验。

在本文中我们选取了多种类型的图像序列对每个序列实施了多组相同条件的实验然后计算其平均值以消除偶然性之后我们求取估计姿态与真实姿态之间的均方根误差(RMSE)为了便于比较结果我们将这些RMSE数据取其平均值通过该方法能够更加直观地反映实验结果我们采用多种图像序列如fr1/360 fr1/desk等作为对比实验序列并将这些数据与ORB-SLAM2进行了对比分析结果如表1所示

表1详细列出了不同方法在跟踪上述数据集序列时所获得的绝对轨迹误差值。通过实验分析可知,在大部分数据集上, 本方法展现出的RMSE数值均优于ORB-SLAM2的表现

如图7(a)和(b)所示,在fr1/room序列上的追踪效果明显优于ORB-SLAM2,在归功于本文提出的方法的基础上,在场景中仅有少量关键点用于定位时

此外, 我们还对比了基于ORBSLAM2实现的经典LSD算法. 根据实验数据表中的结果分析可知, 当采用自适应线段提取策略后, 轨迹误差显著降低程度较高, 并且姿态估计精度得到明显提升. 这种现象的根本原因在于原LSD算法在特征提取过程中存在重叠现象以及图像分割等缺陷, 导致相邻帧之间的线特征差异显著增大, 进而影响到了匹配效果. 在本研究中, 我们对图像中的重叠区域和分割边缘进行了有效处理, 并在此基础上, 在匹配过程中引入了更为严格的约束条件, 从而实现了线条匹配效果的大幅优化.

Motion jitter evaluation

在第二阶段中, 当相机出现快速抖动现象时, 由于受运动模糊影响, 拍摄所得图像可能会导致特征匹配效果下降, 因此使得跟踪系统难以准确计算相邻帧之间的相机姿态变化。一旦出现这种情况, 必须采取重新定位手段来确定相机的姿态, 否则会导致整个跟踪流程无法正常进行。

在对TUM序列进行测试的过程中

我们通过观察发现存在两幅导致跟踪性能下降的连续帧序列;随后从每个帧中提取特征向量,并进行相互对应;在分析过程中发现有效的特征配对数量较少;其中在fr1/desk序列中被检测到仅有76个拉默帧能够完成配对;这些配对远不能满足持续追踪的要求;经过改进算法处理后;有效配对的数量显著提升至117对;追踪的成功率显著提升;这一现象的根本原因在于这一现象的根本原因在于这一现象的根本原因在于这一现象的根本原因在于这一现象的根本原因在于这一现象的根本原因在于

图8展示了在fr1/desk序列中完成的两张图像的配准过程,其中(a)是未经过本方法处理之前的原始配准结果,(b)则展示了经过本方法处理后的优化配准结果.对比实验表明,该算法能够显著提升特征点之间的匹配精度,具有更好的配准效果

图9(a)展示了详细的ORB-SLAM2框架示意图,并对估计轨迹与实际轨迹进行了对比分析;通过观察红色矩形框内的跟踪结果可以看出其丢失情况;图9(b)展示了PLF-SLAM算法的估计轨迹与实际轨迹的对比分析;由上述对比可以看出所提出的方法在跟踪效果上明显优于传统算法

表2展示了两种方法在跟踪成功率方面的对比分析,并涵盖了多个良好跟踪和不良跟踪的图像序列集合。数据显示,在大多数图像序列中我们所提出的方法均能实现良好的跟踪效果。相较于ORB-SLAM2算法,在该测试场景下我们的方法在某种程度上显著提升了Tracking Success Rate,并且这种提升也进一步验证了我们所提出的改进方案的有效性


Conclusion

本研究提出了一种基于深度相机的融合SLAM方法。为了克服基于点特征在低纹理环境下的不可靠性问题,在该框架中引入了创新性的线段提取与匹配方案。该方案有效解决了传统LSD算法中存在的重叠匹配及分支选择问题,并显著提高了线段匹配的成功率和鲁棒性。针对视频跟踪过程中常见的运动抖动现象,在不影响视觉效果的前提下设计了一种自适应机制来选择并优化抖动帧。通过多轮实验验证表明,在大多数测试场景中与ORB-SLAM2相比取得了显著提升效果。特别地,在带有运动模糊图像序列的具体验证中发现该方案具有良好的适用性和稳定性。此外,在保证原有框架实现的基础上结合深度传感器实时构建密集点云地图,并进一步采用八叉树网格地图表示方式增强了系统的表现能力

全部评论 (0)

还没有任何评论哟~