Dynamic SLAM Algorithm Fusing Semantic Information andGeometric Constraints 文章解析
目录
一、引言
二、系统实现
A、系统概述
B、语义对象检测
C、初始姿态估计
D、动态点剔除
三、实验
A.误差度量的评估
四、结论
Dynamic SLAM algorithm that integrates semantic data with geometric constraints is introduced in this paper. The proposed method effectively addresses the challenges of dynamic environments in SLAM. By incorporating semantic understanding, the system achieves more accurate and robust mapping. Experimental results demonstrate significant improvements compared to existing approaches. This paper introduces an innovative method to tackle the difficulties inherent in dynamic SLAM systems, leveraging advanced techniques for real-time processing and environmental reconstruction. The experimental outcomes highlight the effectiveness of the proposed approach through extensive testing under various challenging scenarios.
摘要 :
大多数传统的视觉同步定位与映射算法都基于假设——机器人所处的环境是静止的。当背景中出现动态的目标时——运动目标会干扰该算法在定位精度和鲁棒性方面的表现。
就该问题而言,在动态环境下适应性良好的VSLAM算法被提出。就该问题而言,在动态环境下适应性良好的VSLAM算法被提出。首先利用YOLOv5s目标检测技术提取相机捕捉到的图像中的语义信息,并依据这些信息将场景分为静态区域和潜在动态区域。随后,在计算初始姿态时仅考虑静态环境中存在的特征点。接着结合极极约束以及加权动态概率模型来消除环境中的动态点。最后通过整合所有静态点的数据来优化初始姿态
TUM RGB数据集上的实验研究表明,在弹道精度方面,该算法的性能显著超过了ORB-SLAM2系统,并且进一步提升了SLAM系统的鲁棒性,在动态环境中表现更加稳定和可靠。
关键词 :同时定位与制图;动态环境;语义信息;动态概率
一、引言
视觉SLAM与激光SLAM被视为机器人在未知环境中运动的两大技术基础。其核心作用在于显著提升机器人在复杂环境下的自主导航能力。
VSLAM主要采用图像作为系统的输入,并通过估算摄像机的姿态实现对未知场景的位置与姿态估计;随后通过多视图几何构建具有一致性的三维地图描述,并在此基础上完成未知场景的定位任务。经过几十年的发展历程,视觉SLAM领域已成功开发出了多个具有创新性的视觉SLAM系统;其中ORB - SLAM2和ORB - SLAM3分别以不同方式应用于特征匹配过程;LSD-SLAM则采用了半直接算法进行高精度位姿估计;基于稀疏直接法的DSO系统则是一种较为纯粹地运用直接方法进行姿态估计的解决方案;然而,在大多数开源算法中,默认假设相机所在的环境为静态背景;即仅将相机视为唯一存在的运动物体;这与真实世界中的动态复杂性存在显著差异。近年来的研究重点转向探索视觉SLAM在动态环境中的鲁棒性问题;通过融合激光雷达与IMU等传感器数据来提升动态环境下的定位精度;这种多传感器融合的方式不仅可以有效增强机器人对动态环境的适应能力;同时也能显著提升其导航性能;但同时也带来了较高的硬件成本投入;为此又提出了一种基于预处理阶段使用RANSAC算法筛选出异常特征点的方法;但这种方法在面对大量动态物体时往往难以达到理想效果;并且其数值结果也可能出现较大的波动性问题
为了削弱动态目标的影响,Yu提出了一种基于动态环境的健壮VSLAM系统(DS-SLAM),该系统以语义分割网络和运动一致性检测为基础,并结合光流金字塔进行特征匹配以实现对环境中的物体运动检测。
Bescos学者基于ORB-SLAM2框架开发了一种适应动态环境与背景的艺术画作生成算法。该方法融合深度学习技术和几何约束理论,在处理物体遮挡问题的同时,在动态环境中去除动态物体,并生成静态地图以提高定位精度。然而针对实时性要求较高的SLAM系统而言语义分割算法具有较高的计算开销因而并非最优选择。其改进版本采用YOLOv4技术对运动物体进行检测与追踪该算法通过融合摄像机采集图像的语义信息并结合物体的运动特性实现了对潜在运动区域特征点的有效保留从而提高了定位精度但其在分析动态目标特征点运动特性时仅保留了距离值中前20%的关键特征点这可能导致部分特征点被不必要的去除例如当一个人静止坐在椅子上时其身上超过80%的特征点仍可被有效利用而跑步过程则因很少有可利用的关键特征而导致定位精度受到影响
主要内容如下:
采用更轻量级的YOLOv5s目标检测网络作为独立运行的核心单元,并将其集成到基于ORB-SLAM2的定位算法中以开发一个具有实时定位能力的动态SLAM系统
开发了一种基于语义信息和加权动态概率的算法,在动态目标上剔除关键特征点以增强定位精度和系统鲁棒性。
在TUM数据集上开展公开对比实验,在ORB SLAM2及其开源实现的基础上进行性能验证。
本文按照逻辑安排了章节结构。在本节中对系统的整体架构进行了详尽阐述,在下一节专门采用了前沿的视觉SLAM技术来评估该方案的效果,在最后一节中总结并提出了研究的主要结论与未来展望。

二、系统实现
A、系统概述
相机拍摄得到的RGB图像实现了同步发送至ORB-SLAM2主程序流程以及语义目标检测模块。该系统通过语义分析将场景划分为两部分:包含动物体素先验框内标准像素构成的动力学区域及其余像素所组成的静态区域。随后将获取的语义信息同步发送至跟踪线程,并与各特征点对应关系建立关联关系。系统采用基于静态区域计算出初始位姿的方法来估算动力学区域内各特征点的动力学概率,并持续记录这些概率值传输至下一帧以约束下一帧对应特征点的动力学特性。在现有框架基础上结合特定动力学特性参数a构建了完整的视觉SLAM体系架构图1展示了当前状态下的关键帧选择机制及闭环优化流程。
B、语义对象检测
本文选择YOLOv5s作为语义线程的目标检测算法,并以其具有最窄的模型宽度与深度的特点著称。每当摄像机捕捉到新的图像时,在YOLOv5s框架下完成目标检测任务。根据系统输出结果的不同类别区域划分环境:可动物体占据的潜在动力区与固定物体占据的静态区。其中被归类为潜在动力区的对象类别包括人、汽车以及动物等移动物体。而被归类为静态区的对象类别则是运动概率较低、如桌椅等静止物体。在算法运行过程中发现:若仅剔除潜在动力区的特征,则难以实现精确的姿态估计;当潜在动力区边界面积较大时会导致跟踪机制失效;因此不能简单地将潜在动力视为全部动力来源;即需将YOLOv5s提供的语义信息与后续阶段的目标动态特征相结合进行姿态优化处理
C、初始姿态估计
该算法通过语义信息识别出动态与静态区域的可能性;此外,在判断过程中需要特别注意可能出现静止状态的情况;基于YOLOv5s模型所得出的语义分类结果及边界框坐标;将其特征点依据属性进行分类处理

表示静态点,第二类

当进行分类检测时

在中避免动态对象框占用较大面积因导致环境中静态点较少而使系统初始位姿估计失败
对图像进行初始姿态估计时,静态特征点

与深度图相结合;将静态特征点投影为三维地图点

;

(1)
在上式中,在公式推导过程中涉及多个关键参数:f_x,f_y,c_x,c_y,P_z,u,v;其中c_y代表camera的内参数,在相机标定过程中即可求解;P_z表示对应点的深度值;u,v分别为图像平面像素坐标
根据固定点{Sicur,i=1,2,…,n}时

D、动态点剔除
初始位姿估计过程仅利用静态区域中的特征点来进行计算,在此过程中我们能够获得静态区域内的一些可靠匹配点,并通过这些匹配点推导出两帧之间的基本矩阵。本文通过极线约束来检测潜在动态区域内特征点的动态概率。

假设参考坐标系上有一个特征点

该特征点对应当前坐标系中匹配良好的特征点

和空间点P,它们满足的表达式为:

(2)
改写说明

和

表示深度信息。

(3)
通常,由于误差

,特征点不在极线上。相机失真等。以

点为实际位置,计算

点到极线的距离:
**

** (4)
X,Y是极线

的向量:

(5)
当相机或场景中的动态物体移动速度过快时 会导致所捕获的图像出现模糊现象. 当这样的图像被输入到系统中时 语义目标检测模块可能会无法准确识别运动目标类别 并可能出现误判情况.
这些原本属于潜在动态区域的特征点,在系统中被标记为静态之前必须重新判断其为动态点或静态点的过程。由于错误假设的存在而导致系统的初始姿态估计出现问题进而影响整个系统的鲁棒性水平。为了提高算法的有效性 本算法在计算动态概率特征时结合前一帧中的动态变化率来计算姿态信息

(6)
式中

为当前帧中第i个特征点到极线的距离,

为该距离中的最大值;

在当前帧中的第i个特征点上具有动态概率属性,在此框架下用变量Pli来表示当前帧中的第i个特征点所具有的动态概率特性;在此定义下,Pli变量被赋值为前一时间步对应的匹配特征点所具有的动态概率值。

是系数因子。
当基于动态概率处理方法设定相应的阈值参数时

如图4所示,在第一列中描述了直接去除动态类别上所有特征点的方法,在第二列中展示了本文提出的方法。其中,“绿色”的标记代表的是静态特征信息,在这种情况下可以直接应用;而红色标记则代表的是动态特征信息,并具有不稳定性;黄色标记则表示那些原本属于动态类别的特征信息,在经过本文算法处理后被归类为静态类别;最后将绿色标记与黄色标记结合起来就构成了完整的静态数据集
三、实验
基于TUM的RGB-D数据集对本文算法进行了经过验证的测试,并且主要针对涉及4个高动态序列的情况展开研究。为了便于记录起见,在文中采用了w_x、w_h等符号来表示各数据序列。实验在一台配置了NVIDIA 1650显卡并配备4G内存的个人计算设备上运行,并通过OpenCV框架进行图像处理;其中YOLOv5s网络采用Python编程实现,并通过OpenCV框架进行图像处理;而SLAM部分则采用C++语言完成相关算法设计。
A.误差度量的评估
本研究采用EVO评估工具对四个动态数据集进行评估。在目标跟踪领域中,本研究中采用ORB-SLAM2、DS-SLAM、Dyn-ORB-SLAM以及自身提出的方法通过绝对航迹误差(ATE)和相对位姿误差(RPE)量化评估。其中DS-SLAM引用了本研究的数据结果作为参考依据;其余测试数据均在一台普通PC上运行获取。通过分析标准差与均方根误差等指标对比结果可知:表1展示了各算法在绝对轨迹上的差异;表2记录了相对平移量的变化情况;表3则呈现了各算法相对于旋转量的表现对比情况。
改进列用于比较ORB-SLAM2各指标的结果,其计算公式为:

(7)
其中,orb为ORB-SLAM2的运行结果,me为本文算法的运行结果。
根据表格数据可知,在对比实验中新增的语义线程经过改进后能够有效剔除跟踪过程中的动态特征,在高动态场景中所获得的绝对轨迹误差显著优于ORB-SLAM2算法的表现。经EMSE优化后系统性能最高可达94%以上,在较低负载状态下性能最低可维持在45%以上水平;同时STD优化后的最大误差也达到了93%,较之未进行优化的情况最低误差下降至37%水平。从定位精度指标上来看,在处理绝大多数动态数据集序列时该算法均能实现比开源算法更好的定位效果;而对于专门针对特定场景设计的w_x和w_h两个参数序列,在实际运行中发现其表现略低于基于深度估计框架构建的经典算法DS-SLAM;但在实际应用环境中采用NVIDIA 1650显卡加速时发现YOLOv5s框架下单幅图像处理时间仅为16ms水平;与DS-SLAM系统中采用的SegNet语义分割网络相比,在实时性方面本研究提出的方法具有显著优势


图5展示了该算法与 orb-SLAM 2 算法在各类动态环境下的运行轨迹。道路边缘的红线标记了实际运动轨迹与算法输出路径之间的偏差。通过观察图形信息, 我们能够更清晰地理解这一现象的本质。基于 orb-SLAM 2 算法对本系统进行了优化改进, 在复杂多变的动力学环境中表现更为稳定可靠

图6展示了本文算法与ORB-SLAM2及一些开源算法在高动态环境下的相对平移误差和相对旋转误差。从柱状图中可以看出, 本文算法明显优于ORB-SLAM2. 与之相比, 在与其他动态SLAM算法的比较中, 本文算法也具有一定的优势.
四、结论
针对传统SLAM算法在动态环境下定位与建图能力不足的问题, 提出了融合语义感知与几何约束条件下的动态SLAM优化方案. 该方法基于静态区域的关键特征点确定起始姿态, 同时能够识别潜在的动力学区域, 并在运动概率计算中引入上一帧对应的关键点运动先验信息. 最后通过TUM标准数据集评估系统性能, 实验结果表明所提出的改进方案较传统方法在定位精度与鲁棒性方面均实现了显著提升
