动态SLAM论文(6) — Dynamic-SLAM: Semantic monocular visual localization and mapping...
目录
1 引言
2 Related work
2.1. 视觉 SLAM
2.2. SSD目标检测网络
2.3. SLAMIDE问题和深度学习
3 System overview and approach
3.1. 漏检补偿算法
3.2. 基于先验知识的动态物体确定
3.3. 物体检测模块和选择性跟踪
4 Experiments and result
4.1. SSD目标检测验证
4.2. 抗动态物体干扰测试
4.4 使用TUM动态数据集进行室内精度测试
4.5. KITTI数据集中的户外动态大规模地图构建
4.6.使用移动机器人进行实际环境测试
5 结论
本论文对比实验非常丰富,原文论文也长达17页
摘要:
1 引言
SLAM[1]已经成熟了大约30年,并构成了机器人学、自动化学子以及计算机视觉的核心技术领域。相较于其他类型的传感器模式,在相机方面具有价格优势并提供了更为丰富的视觉感知与环境信息资源,在未来发展方面潜力巨大。如今微型空中飞行器(MAV)、无人地面车辆(UGV)、自动驾驶系统、虚拟现实(VR)以及增强现实(AR)等多个新兴应用领域都需要依赖于SLAM技术来实现可靠的定位与地图构建成果。然而,在视觉SLAM研究中尤其是动态环境下的应用中,姿态估计的鲁棒性与准确性仍然面临着诸多亟待解决的关键挑战。
视觉SLAM系统要在动态环境中正常运行,则需要采取特定策略来应对这一挑战。一种常用的做法是尽量避免从动态物体上提取特征点。这种做法能够有效降低算法复杂度的同时还能保证系统的稳定性和可靠性。此外,在这一领域取得的重要进展也证明了这种方法的有效性。随着人工智能技术的发展基于深度学习的目标检测与语义分割已经成为解决这一问题的关键技术手段之一
本研究以ORB-SLAM2 [2]为基础开发了Dynamic-SLAM系统框架。该系统作为一个基于深度学习的语义单目视觉SLAM平台,在动态变化的环境场景中展现出良好的适应性能力。其主要组成部分包括视觉前端部分(包含多个功能模块:如目标跟踪模块、目标检测模块以及语义校正模块)以及算法后端部分(包含局部地图生成模块与闭环检测优化机制)。该框架的具体设计架构已在图1中进行简要展示,并将在第三章详细阐述这一框架的设计与实现过程。经过实验验证可知,在复杂多变的城市内外部环境下均能稳定运行于实时性要求范围内。该系统能够有效解决行人与非行人在共同环境中实现精准定位问题;同时也能在动态环境下完成BA(捆绑优化)算法求解问题;并支持闭环路径检测的需求;此外还具备稀疏地图重建能力等关键性能指标满足实际应用需求
考虑到现有 SSD 目标检测网络在低召回率方面存在不足,在此基础上开发出一种基于相邻帧间速度不变性的漏检补偿算法,并将其应用于 SLAM 系统中,在保证较高准确度的同时显著提升了检测的召回率水平,并为其后续功能模块提供了坚实的技术支撑。
一种新的选择跟踪算法被成功开发出来,并通过简单有效的技术手段成功地实现了对动态物体的有效消除,在确保系统运行稳定性的前提下显著提升了其准确度。
一个基于特征提取的视觉动态 SLAM 系统被成功构建出来。该系统以 SSD 卷积神经网络为基础,在深度学习技术的基础上实现了机器人定位与建图中对动态物体进行语义级别检测的功能,并充分结合了先验知识以进一步优化了系统的性能。

动态SLAM系统的概要图示如图1所示。该系统利用单眼摄像头获取的画面作为动态定位与物体识别两个子系统的数据源。经过语义修正模块处理后返回的数据,在线更新至动态SLAM主程序中。
2 Related work
2.1. 视觉 SLAM
在过去的十年里,视觉 SLAM 取得了快速发展。由于其成本低、体积小,吸引了研究者的关注。Davison 等人是视觉 SLAM 的先驱者。2007 年,他首次提出了 Mono-SLAM [3] 来实现单目实时 SLAM 系统。随后,Klein 等人提出的 PTAM [4](并行跟踪与地图构建)创造性地将整个系统分为两个线程:跟踪和地图构建,成为后续 SLAM 研究的基准。2014 年,Engel 等人提出的 LSD-SLAM [5] 阐明了像素梯度与直接方法的关系。与此同时,Forster 等人提出了快速半直接单目视觉里程计(SVO)[6,7],结合了特征点和直接跟踪光流法。随后,DSO [8]、VINS-Mono [9] 等框架也采用了直接方法。这种方法在跟踪和匹配中节省了计算资源,但对特征的不敏感性是其进一步应用于 SLAM 中的致命弱点。
为了构建一个完整且强大的SLAM系统,在实现该目标的过程中,其中一项关键任务是进行特征提取与匹配。这不仅能够保证系统在位姿估计方面的准确性,并且还可以从视觉图像中提取出更为丰富的信息内容。具体而言,在这一过程中需要考虑的因素包括语义信息、物体识别以及特征定位等内容。此外,在这一领域中具有重要影响力的研究者包括Leutenegger提出的OKVIS [10]视觉惯性测距框架以及Mur-Artal等人提出的ORB-SLAM [11]和ORB-SLAM2 [2]等基于特征跟踪的成功应用。
ORB-SLAM2被视为经典SLAM体系结构的后续发展版本。该框架旨在实现高精度定位与全局地图构建功能。其核心技术基于ORB [12]特征点设计,并由三个关键并行模块构成:实时追踪模块用于动态目标识别;局部构建模块负责环境细节描绘;闭环校正模块则用于稳定定位与误差补偿。该算法能够在复杂环境中持续运行,并通过精确校正累积误差确保定位精度与整体地图的一致性
ORB-SLAM2在定位与建模领域表现卓越。尽管在动态环境处理方面存在局限性,但对其未来研究方向仍需深入探讨。
2.2. SSD目标检测网络
目前基于卷积神经网络的目标检测与语义分割方法在速度与准确性方面持续取得显著进展。深度学习在相关任务上的性能逐渐超越其他算法并发展成为主流技术
相比而言,在图像识别任务中,
目标检测由于不仅需要对图片中的不同对象进行分类,
还需要精确定位每个物体的位置,
因此更具挑战性。
基于神经网络的代表方法如SPP-Net [14]、Fast R-CNN [15]等,
通过自动学习特征而非人工设计,
克服了传统方法依赖人工工程化的局限。
这些基于深度学习的方法通常包含多个操作步骤:
从候选区域提取到特征计算再到分类判断。
然而,
尽管这些系统在精度上表现优异,
但由于候选框提取与目标识别分别进行计算,
导致计算时间较长。
相比之下,
YOLO(You Only Look Once)[17]
算法能够通过对每个边界框实施回归分析
并直接推断其所属类别概率,
从而实现了高效且准确的目标检测。
刘等人借鉴了SSD(Single Shot MultiBox Detector)[18]这一方法,在Dynamic-SLAM系统中作为特征检测器发挥作用。该方法基于VGG16的基本网络架构进行设计,在前五层结构保持不变的前提下,并非直接依赖于候选框生成步骤而采用à trous算法将fc6和fc7层转换为两个卷积层之后的操作流程。随后,在其后添加三个卷积层以及一个平均池化层以进一步提升检测精度。经过非极大值抑制处理后获得最终的检测结果,并通过这种方法实现了高效精确的目标检测(46 fps, Titan X),其准确率达到了77.2%,显著超过了基于候选框的传统方法。该系统不仅保证了检测速度的同时还获得了足够的准确性
2.3. SLAMIDE问题和深度学习
早在2003年[20],就有一些关于动态环境下SLAM(同时定位与地图构建)问题的研究。传统的动态环境下SLAM方法可以分为两类:一种是动态物体的检测和跟踪[20];另一种是动态物体的检测和滤波[21]。前者被总结为移动物体的检测和跟踪(DATMO)[22]方法。 一些研究者[23]认为,在获取到一组合理的检测特征之后,处理SLAMIDE问题至少有四种相关的数据关联技术,包括GNN[24]、JPDA[25]、MHT[26]和RANSAC[27]。Charles等人[28]提出了一个将最小二乘、滑动窗口优化和广义期望最大化结合的框架。Chen等人[29]提出了一个仅依赖于地标且没有先验信息的动态环境下SLAM系统。Walcott-Bryant等人[30]提出了一个用于动态环境的动态位姿图(DPG)模型。2018年,Bahraini等人[31]提出了一种使用多级RANSAC来分割和跟踪多个移动物体的方法。总的来说,大多数视觉研究者仍然关注如何使用特征检测方法从相邻帧中提取动态物体。特征检测方法的一个潜在缺点是,在动态物体移动过慢或过快时将失效。Muhamad等人[32]对动态环境中的视觉SLAM和结构运动(SfM)问题进行了调查。根据分类,动态SLAM是一个强大的视觉SLAM方法。
SLAMIDE一直是SLAM领域的一个难以逾越的问题。原因在于传统的SLAM理论完全基于静态环境的假设。它的挑战主要来自两个方面:首先,很难从平面像素中定义出动态物体;其次,动态物体不容易被检测和跟踪。
由于深度学习在目标检测方面取得了良好的性能,许多研究者已将深度学习与SLAMIDE问题相结合[32]。张等人[33]将深度卷积神经网络模型集成到地形分割中,提高了准确性并使其对复杂环境更具鲁棒性。一些类似的RGB-D SLAMIDE研究[34-37]将最前沿的SLAM框架与深度学习网络相结合,取得了可观的成果。大多数SLAMIDE研究者侧重于激光SLAM和RGB-D SLAM,因为这些传感器可以直接获取深度信息来估计动态物体的位置[38]。相比之下,单目视觉系统中的SLAMIDE研究非常有限。Barnes等人[39]提出了一种自我监督的方法,以忽略单目相机图像中的干扰因素,从而在城市动态环境中稳健地估计车辆运动。Bescos等人[40]采用了与我们类似的方法。他们将ORB-SLAM2与Mask RCNN[41]结合,实现了动态环境中的单目和双目系统,并结合多视角几何模型和深度学习算法实现了RGB-D系统。
3 System overview and approach
在本研究中,Dynamic-SLAM基于ORB-SLAM2 [2]构建,通过结合语义信息并利用特征点优化视觉里程计算法,实现了对动态物体决策模块的整合.该方法通过对图像进行静态与动态特征的分割,将动态部分识别为异常点,从而实现了系统的鲁棒性.其中,姿态估计与非线性优化基于选择性跟踪算法计算静态特征点,以此有效避免动态环境中的干扰物体.针对现有SSD目标检测网络中召回率较低的问题,提出了一种基于基本运动模型的漏检补偿算法,显著提升了目标检测模块的准确率.图2展示了该方法的整体架构

图2 Dynamic-SLAM系统的简要架构。它揭示了新添加模块与现有三个核心模块之间的关联关系。通过目标检测模块和语义校正组件有效地消除动态物体的影响。
3.1. 漏检补偿算法
在实验过程中观察到神经网络的检测精度在SLAM场景下表现欠佳,并仍有提升空间。因为图片之间的相关性较弱,在传统的目标检测任务中难以仅凭上下文信息提升精度。然而,在SLAM系统中各帧呈时间顺序输入,在此情况下可利用前一帧的结果推断下一帧的检测结果以避免漏检或误检的发生。
在评估目标检测任务的准确性时,研究人员通常会关注精确率与召回率这两个关键指标.对于SLAMIDE问题中的动态目标检测任务,在动态场景下召回率显得尤为重要.当出现漏检或误检时,在连续的两个图像之间由于差异显著增加而导致特征点匹配数量骤减,则会导致系统运行稳定性受到影响.根据Davis等人的工作[42],召回率和漏检率可以定义如下:

在SSD中

标志用于将默认框i与物体类别p的真实框j进行匹配,在出现漏检情况下。

等于0,预测框(l)与真实框(g)之间的平滑 L1 定位损失[15]将增加:

其中,D(cu,cv,w,h)表示边界框(d)的中心点坐标(cu,cv)以及宽度和高度。
开发了一种基于相邻帧间的漏检调整方法,并将其应用于运动目标检测领域。该方法建立在以下合理假设的基础上:在短时间内,动态物体的运动速度趋向于恒定(即加速度趋近于零)。通过分析动态物体在像素层面上的速度变化特征被

表示为 amax 代表像素平面上动态物体速度变化率的阈值界限值。它们之间必须满足的关系约束条件为:

移动速度被用来衡量动态实体在多个帧间的运动偏移量。 在实际应用中, 视频序列中两个连续帧之间的时间间隔非常短暂, 动态实体在运动偏移过程中的变化幅度较小。 该系统能够判断是否存在漏检情况, 并在此情况下提出应对方案。 在过去的某个时间段内, 当前帧K与其前一帧对应的边界区域可以通过

来确认。如果

当检测值高于amax时,则被认为是不匹配的情况,并导致漏检。
当前关键帧K接入SSD网络,并生成对象检测结果列表。
列表中的每一项包含边界框标记位置的信息,并表示目标物体在图像中的具体位置信息

(

,其中

是帧K中的边界框数)。对于前一帧

的每个检测结果,如果在当前帧确定的范围

内未检测到,将被认为是漏检,并需要将

添加到帧 K 的检测列表中,

其中:k代表用于在当前帧上实施漏检并进行补偿所需的前一个连续帧的数量。算法处理如下:

该算法的补偿效果已在图3中得以展示。其在动态目标的选择与跟踪方面具有关键性作用,在上述公式中参数k与amax的选择将直接影响漏检补偿的灵敏度;当k值过小时可能会导致补偿过于敏感并出现误报;通常建议在确定K值之前选取3至5帧作为基础;同时,在连续两帧以上未检测到目标时则会放弃实施补救措施;这可能会导致少量误报情况出现;但能有效降低漏检率;此外,在amax设置过小时可能会导致正确检测结果被误判为存在漏检现象;而当其设置过大时则会导致系统缺乏灵敏度从而可能出现多个动态目标检测区域发生重叠的情况

图3展示了遗漏检测补偿算法的工作原理示意图。其中用红色边界框标注了SSD网络检测到的目标区域。该算法首先根据设定的阈值 amax(用蓝色虚线框标注)进行判断;随后利用速度不变性假设计算出相应的补偿结果(用绿色虚线框标示)。对于本图表中的颜色标记,请参见文章的网络版本
3.2. 基于先验知识的动态物体确定
环境物体的语义概念是人类基于经验对环境的认识。当记忆陌生环境时,在先验知识的支持下会自动过滤掉车辆、行人等动态物体,并识记建筑物、植被等静态物体会更加清晰。若SLAM系统无法从语义层面解析周围环境,则无法实现对动态与静态物体会区分开来;仅能在短时间内识别出移动物体会导致长期一致性难以维持。因此,在结合目标检测结果的基础上运用先验知识,在语义层面上可执行动态物体现在判定模型设计中。对于Dynamic-SLAM系统而言,在前端SSD目标检测模块输出信息中存在冗余部分;它仅需明确所检特征点属于静态还是动态便足够了;根据人类认知基础可将目标运动特性打分为从0分(静止)到10分(运动)之间的一个分数值;该分数值须与预先设定阈值进行比较分析才能实现特征点运动特性的分类判别;在0至10分区间内常见物体会对应的近似得分情况如图4所示。

在理论上来说,这是一个最大后验概率估计问题。当在处理某一帧时发现该边界框被识别为动态物体时,在这一时刻所对应的边界框也会被视为同一位置并进行重新定位;从而触发缺失检测补偿机制。

和

分别作为边界框的真实情况和测量值,在贝叶斯规则的基础上,

然后:

基于Dynamic-SLAM框架中,在第K帧的判定结果可能受到之前多个帧的影响。根据 K-1 帧的概率扩展有:

利用先验知识进行动态物体检测能够有效提取或去除神经网络提供的冗余语义信息,并在特征点处理过程中展现出显著优势。
3.3. 物体检测模块和选择性跟踪
特征点追踪并非十分复杂;然而,并非所有特征点都适合用于追踪动态物体;同样地,并非所有的动态物体的特征点都能够被用于有效追踪。第一种特殊情况是:当一个被归类为动态物体的对象在一个场景中实际上是静止不动时(如停车场中的汽车)。第二种特殊情况则是当动态物体占据了相机视野的主要部分时(如人群密集的商场)。准确地区分不同场景中的前景动态特性和背景静态特性至关重要。
Dynamic-SLAM系统的整体架构如图2所示。物体检测线程借助SSD网络识别目标物的类型及其位置信息。随后,在经过语义校正是后将目标物区分为动态与静态两类,并将所得出的动态物信息传递给追踪系统。追踪系统则对每帧图像提取ORB特征并将其与参考帧对比确定各特征点间的对应关系,在此基础上推算出相机的姿态信息。
初始化完成后,姿态估计被视作PnP(透视n点)问题进行处理。采用基于Bundle Adjustment [43]的非线性优化方法来解决这个问题。该算法能够充分运用所有匹配结果以获得姿态的最佳估计。
非线性优化的成本函数定义如下:

最小投影误差是其观测像素坐标 ui 与其在当前姿态 ξ 下三维点 Pi 的重影坐标之间的差异。
优化目标是寻求使重投影误差最小化的过程。
在动态场景中,
动态物体上特征点的重投影误差将显著提升,
导致相机姿态难以收敛至最佳状态。
Dynamic-SLAM中的语义校正模块通过生成mask(u,v)={0,1}的形式实现决策,
其中mask(u,v)是一个与原始图像尺寸相同二维矩阵,
矩阵元素为0表示静态像素,
而值为1则代表动态像素。

图5展示了选择性跟踪算法的过程。 动态特征点的像素坐标

是由语义校正模块提取出来的;随后,在该像素区域内计算所有静态特征点的平均位置偏移量。

,该区域距离边界框

的距离为 l。 最后,计算动态特征点的像素位移并进行判断:


图5 选择性跟踪算法的过程
其中 ρ 是决策系数,

是决策阈值,计算方法如下:

如果运动特征点与固定特征点之间的变化量在允许的范围内,则允许用于追踪目标;否则该方法将不再进行追踪。 该算法能够有效地利用深度学习技术提取目标特征信息。

当动态物体处于静止状态或者占据视野大部分区域时,在某种程度上损失了维度信息的情况下,在机器人低速运行过程中,则这一策略依然奏效。它可以有效地解决特征点问题,并从而保证系统的稳定性。
为了确保该系统能够实现实时处理,在算法设计阶段将目标检测与跟踪任务划分为两个独立的线程,并引入名为Detection的新数据结构类进行管理。为了防止多线程操作中的资源竞争问题,我们采用unique_lock互斥锁机制实现了多线程间的无冲突访问。由于目标检测与跟踪任务在处理速度上存在差异,在同步机制上选择了异步读写共享变量的方式来实现各子进程之间的通信,并通过合理调度策略充分释放了处理器资源。
4 Experiments and result
为了对DynamicSLAM系统的鲁棒性和精度进行全面评估,在动态环境下进行了六项关键环节的设计与开展。这些环节涵盖SSD目标检测性能评估、动态物体干扰下的鲁棒性测试(抗干扰能力测定)、初始化阶段性能优化检验、基于TUM动态数据集的室内精度评估、户外大规模环境下的全局定位性能检验以及基于移动机器人的真实环境下的应用效果评估。
实验中使用的SSD神经网络基于20类对象作为先验知识(包括飞机、自行车等),这些对象能够被网络识别出来。该模型基于经过训练的SSD300* VOC 2 〉+1 〉+COCO版本。在漏检补偿模块中, amax作为先验知识,其值设定为每个方块帧2 〉个像素,采样率为3 〉帧/秒。实验操作环境是一台配备有Intel Core i5-730@H@Q CPU(4核,2.5 GHz)处理器,8GB内存以及NVIDIA GeForce GTX1@O@Ti GPU(4GB显存)的笔记本电脑
4.1. SSD目标检测验证
为了降低SLAM系统中的漏检率并提升召回率,在第3节部分中详细阐述了这一技术方案。为此,在第4节中对算法进行了全面的理论推导与实验验证,并通过对比分析展示了该方法相较于现有技术的优势
TUM RGB-D基准测试[46]是由TUM计算机视觉团队开发的一系列数据集,在SLAM领域具有重要研究价值。这些数据集全面涵盖了从基础到高级的SLAM相关问题。在walking_rpy序列中,在连续拍摄的487帧图像中,“SSD网络”精准检测到了401次目标物体,“漏检”发生了86次(即漏检率约为17.3%)。经过运动补偿优化后,在该序列中实现了几乎全部的成功率(即漏检率降至0.2%)。图6详细展示了每隔30帧时进行的对象检测抽样结果。实验数据显示,“漏检补偿模型”的引入显著提升了目标物体检测的召回率(即准确检测的比例),为后续定位与建图模块奠定了坚实的基础

图6. SSD目标检测测试结果对比分析。上方为SSD原始检测输出(召回率指标达82.3%),下方为经过优化后的检测结果(召回率达到99.8%)。用红色标注显示检测到物体的位置,并标示了物体类别。(对于图例中颜色的解释,请参考本文章的网页版本。)
4.2. 抗动态物体干扰测试
在机器人应用领域中,摄像头视野中通常会遇到动态物体的存在情况。当这些动态物体相对于环境发生移动时,传统的SLAM系统便难以准确识别并确定应采用哪些特征参数来实现自身运动的估计
构建了模拟场景的数据集以探究动态特征点的选择策略

图7. ORB-SLAM2(上方)和Dynamic-SLAM(下方)在抗动态物体干扰时的特征提取。

图8. 定位与建模结果。左侧为ORB-SLAM2(失败),右侧为Dynamic-SLAM(成功)。其中关于图例颜色说明,请参见本文的网页版本。

图9. 在该极端动态场景中对整个过程中的动态与静态特征点数量进行分析。 动态特征点的占比达到76.33%,较静态特征点高出47.93个百分点。
4.3 动态对象干扰下的初始化测试
从视觉SLAM的整体框架来看,初始化被视为一个关键环节。当动态物体以较高的速度移动时,在捕捉到这些变化之前就可能出现初始化错误。由于缺乏预先构建的地图信息,在初期阶段只能依靠首帧匹配来确定尺度参数和姿态信息。
基于图10的实验设置中,在相机被固定安装的情况下考察动态环境对初始化过程的影响。观察发现,在动态场景中存在较大的初始化不确定性问题导致现有算法难以准确恢复系统状态。与之相比 Dynamic-SLAM 则能够通过精确的运动估计方法准确识别出运动物体的具体位置 并有效滤除了潜在的干扰因素 从而显著降低了系统误初值的概率
接下来,在相机轻微摆动的状态下持续观察,并在人与相机距离发生变化的情况下依次进行20次操作。实验结果显示,在相同的实验条件下ORB-SLAM2算法仅实现了15次成功的初始化操作(初始化成功率较低),而对比而言Dynamic-SLAM2算法则实现了19次的成功初始化(初始化成功率高达95%)。这种优化策略显著提升了动态环境下SLAM算法的初始化效果,在相同的时间段内通过结合先验知识与训练过的检测网络来识别动态物体的效率得到了明显提升

图10展示了动态物体干扰下系统初始化的效果比较。左侧为ORB-SLAM2算法的结果示意图右侧为Dynamic-SLAM的效果对比图。在ORB-SLAM2算法中发现,在第四帧图像中出现较大的误检测现象该算法对动态物体的特征提取不够精准。当系统检测到特征点颜色由绿色渐变至蓝色时表明当前算法实现了较为理想的初始化效果。经过实验验证大多数情况下系统的收敛速度均不超过5秒这一指标确保了算法的有效性与实时性
4.4 使用TUM动态数据集进行室内精度测试
在动态环境下完成定位与建模任务往往难以取得理想效果。基于TUM RGB-D基准库提供的真实场景数据集,在模拟动态环境条件下对目标框架进行性能评估是提升实际应用价值的关键路径之一。通过构建一个两人协作完成模型构建任务的模拟场景,在有限的工作区域下保持较大的运动自由度且视野覆盖比例较高。
基于TUM数据集的系统性比较分析了当前最先进的单目视觉SLAM方法。在缩放因子不确定的情况下, 通过关键帧轨迹计算绝对姿态误差(APE)和相对姿态误差(RPE2), 以评估各框架的位置精度。采用Sim(3)空间中的Umeyama变换对齐方法进行计算, RPE指标包括相对平移误差和相对旋转误差两部分。由于仅关注平移部分的精度, 在计算APE时排除了旋转误差的影响。基于数据质量评估的标准, 我们主要采用了均方根误差(RMSE)、平均值(Mean error)、中位数偏差(Median error)以及标准差(Std.)等指标来进行结果量化分析。本研究中所采用的改进方案及其性能评估方法将在后续部分详细说明。

其中κ代表改进程度(或改进幅度),γ源自ORB-SLAM2算法中的参数设置;而λ则源自Dynamic-SLAM动态优化机制中的参数配置。对于每一个测试序列,在三次独立运行中对轨迹Root Mean Square Error(RMSE)误差进行比较分析以评估方法性能表现。
在表1中对ORB-SLAM2(Mono)[2]、SVO [7]、LSD-SLAM[5]以及PTAM[4]这4种框架进行了绝对位置误差的对比分析,并将DynaSLAM[40]纳入研究范畴作为与之竞争的方法之一,在其实验数据来源方面也遵循了相同的评估标准[11,40]。在表2和表3中则着重于对ORB-SLAM2与Dynamic-SLAM这两种框架在相对位置误差上的对比研究,在计算旋转部分误差值时采用了以度数为单位的量化方法以提高精度表现。图11展示了基于ORB-SLAM2与Dynamic-SLAM算法处理后的序列数据fr3_walking_xyz图像序列效果,并记录了在参数设置一致的前提下各关键帧节点下的定位结果并与真实值进行比对计算得出了最终误差数据

图11 显示了序列fr3_walking_xyz中ORB-SLAM2和Dynamic-SLAM的实时图像

绝对位姿误差的相关数据已完整展示于表1及图12。相对位姿误差的具体数值则分布在表2和表3。综合查看表1至表3的数据可知,在绝大多数测试场景中,采用Dynamic-SLAM所得结果显著优于其他现有框架。基于RMSE指标评估时发现,Dynamic-SLAM的表现优势明显,其平均准确度较ORB-SLAM2提升了7.48%至62.33%.就执行效率而言,walking_xyz这一特定运动轨迹上的运行时间数据如图4所示.Dynamic-SLAM的表现优势依然明显,其平均运行时间较ORB_S L AM 5 %提升显著;对于其余测试序列而言,两者的性能差异基本可以忽略不计



虽然在不影响整体性能的前提下,Dynamic-SLAM新增了一个专门负责物体检测的子进程,并未使其运行速度受到影响

采用Sim(3) Umeyama算法对TUM数据集中所有动态序列的绝对位姿误差进行了详细展示,并将这些误差信息绘制在轨迹图上。对于每个序列部分,在页面中设置了三个子图:左侧子图为ORB-SLAM2算法相对于平移基准部分的位置精度(以米为单位);中间子图为Dynamic-SLAM算法相对于平移基准部分的位置精度(以米为单位);右侧子图为通过与真实轨迹对比所呈现的位置精度分布情况(虚线表示真实轨迹),右侧色条表示不同区域内的位置精度范围。经过观察发现各子图之间的差异不明显,在此不做进一步对比分析。值得注意的是,在左侧和中间两个子图中进行比较发现:Dynamic-SLAM的表现优于ORB-SLAM2。
4.5. KITTI数据集中的户外动态大规模地图构建
动态环境在大范围应用场景中更具实用性性。KITTI数据集[47]被公认为目前最广泛应用于自动驾驶大范围场景下的计算机视觉基准数据集。该集合共收录了11个真实的户外实景片段,并借助GPS定位系统与LiDAR技术获取了精确的真实地面参考数据作为基准度量标准。这些数据被用于评估算法在真实世界环境下的性能(特例除外)。鉴于ORBSLAM2已经在大范围场景应用中取得了良好效果,因此我们采用其单目版本作为基准,对比分析单目ORB-SLAM框架与Dynamic-SLAM方法之间的性能提升。
APE和RPE也用于评估结果的精度。由于KITTI数据集的大规模,RPE旋转部分的单位采用每米的角度。评估方法的其他部分与TUM数据集的测试相同。图13显示了动态SLAM的实时图像。表5和图14显示了绝对位姿误差结果。表6和表7显示了相对位姿误差分别与平移部分和旋转部分有关。ORB-SLAM和DynaSLAM的数据来自报告的结果[11, 40]。从表5可以看出,Dynamic-SLAM的性能比ORB-SLAM2好0.10%∼53.69%。同时,70%的结果比DynaSLAM好。表6和表7还显示,在90%的情况下,Dynamic-SLAM的结果比ORB-SLAM2好。


在使用KITTI数据集进行测试的过程中,在线展示了Dynamic-SLAM算法所生成的实时图像效果。其中被红色掩模覆盖的对象均为动态物体,在这种情况下包含了汽车、行人等多种类型的人体运动物体。这些物体表面分布着许多特征点,在定位精度与全局地图构建方面均受到了显著影响。(对于图例中颜色的解释,请参阅本文章的网络版本。)

图14. 使用Sim(3) Umeyama方法对KITTI数据集中每个动态序列的绝对位姿误差进行了详细展示,并将这些误差绘制在轨迹图上。对于数据集中的每个序列片段, 左侧展示了ORB-SLAM2在平移部分上的绝对位姿误差曲线(单位: 米),中间展示了Dynamic-SLAM在平移部分上的绝对位姿误差曲线(单位: 米)。右侧则绘制了与地面真实轨迹(虚线)对比的绝对位姿误差曲线,并用色条表示各点的误差范围。由于轨迹图中各曲线的变化幅度较小,在此不做进一步比较分析;而对于左侧和中间子图中的数据, Dynamic-SLAM的表现均优于ORB-SLAM2
在ORB-SLAM2框架中运行这些动态物体时会生成许多特征点这些特征点对系统的定位精度和地图构建产生了显著影响
4.6.使用移动机器人进行实际环境测试
然而,在TUM和KITTI数据集之间存在显著差异:尽管KITTI数据集中存在一些动态物体处于静止状态的情况(这与真实场景存在明显差异),但整体上其复杂度相对较低。对于基于单目视觉的SLAM系统而言,在TUM的数据集中仍面临诸多挑战——由于其运动模糊性及较小的尺度变化范围(这些因素都会对算法性能产生直接影响)。因此,在真实世界的复杂动态环境中进行算法验证显得尤为重要:为了进一步验证Dynamic-SLAM系统的性能,在真实的动态环境中进行了实验研究,并利用物理机器人作为实验平台。
4.6.1.移动机器人平台
SLAM的各种应用场景均依赖于嵌入式系统平台的支持以达成小型化和实时操作的目的。机器人平台主要由嵌入式开发板与机械组件集成构成。通过自定义固件在嵌入级上运行的方式满足了反馈控制及性能评估的需求。如图15所示,该机器人具有一体化设计,其尺寸为65厘米×55厘米×50厘米,重量达40千克,是一款无 ground 无人地面车辆(UGV)产品。核心组件包含搭载Dynamic-SLAM系统(ROS package)以及UGV控制模块的NVIDIA Jetson TX23开发板,该设备集成了一块NVIDIA Pascal架构GPU(共256个CUDA核心)、四核ARM架构CPU(标准频率1.4 GHz)及8GB内存存储空间,以支持高效的计算需求。视觉感知系统采用MatrixVision公司生产的mvBlueFox-MLC200w单色全局快门摄像头,其分辨率设置为752×480像素,每像素尺寸为6微米×6微米,从而保证了稳定的图像采集能力。UGV运行控制中心采用32位MCU芯片并由Jetson TX2进行有效管理,确保系统的稳定运行。所有算法开发工作均在Ubuntu 16.04及ROS Kinetic4平台上使用C++语言完成

图15 UGV控制模块的NVIDIA Jetson TX23开发板
4.6.2. 移植后的性能优化和评估
移植到机器人平台后,处理速度因低性能CPU和GPU导致提升了一倍多(具体数值分别为0.156秒与0.045秒)。为验证算法实时性,采用动态场景Walking_xyz来自TUM RGB-D基准数据集进行测试,评估结果显示于表8中,具体实验曲线可见图16。当优化级别提高时,跟踪效率随之增强,最终效果接近于笔记本电脑的水平。虽然精度有所下降但影响较小。综合来看,移植后的性能表现与原有设备基本持平


**图16. 采用TUM RGB-D基准数据集中的动态场景序列walking_xyz升级提升后进行测试与评估。该序列经过跟踪、检测以及均方根误差(RMSE)的变化分析。在GPU上未对检测过程进行优化。为了获得稳定结果,在每一次优化过程中进行了三次实验并计算三次实验结果的平均值作为最终评估指标。
4.6.3. 现实世界实验
在嵌入式平台上进行了一次室外大规模场景实验。该次实验场景设于北京市的一个社区区域。整个场景从北到南方向延伸约达350米,在东西方向则延伸约达370米而形成一个完整闭环。在测试过程中,在保证移动稳定性的同时对UGV的最大移动速度限定为2米每秒,并确保持续时长达到了15分钟以上。为了保证结果的一致性与可靠性,在此基础之上对本次测试进行了三次重复运行并采用了相同的优化条件以确保结果的一致性与可靠性。此外还使用了APX-15无人机以及由Velodyne生产的VLP-16激光雷达传感器系统来收集地面真实数据
图17展示了Dynamic-SLAM在实时环境下的特征提取与动态物体消除能力。该系统成功实现了定位与建模的结果,并分别体现在图18与图19中。

图17. 基于嵌入式平台的户外大规模复杂动态真实场景实验作为评估Dynamic-SLAM算法性能的重要手段之一。

图18. ORB-SLAM2的定位和建图结果(失败)。

图19. Dynamic-SLAM的定位和建图结果(成功)。
图17展示了Dynamic−SLAM成功检测到的人与车辆,并有效地去除了动态物体的影响。因为动态物体之间存在错误关联性问题,在这种情况下ORBSLAM₂无法实现正常的全局优化过程。结果显示在闭环系统运行后难以修正之前的错误判断,请参考图18所示的结果最终未能达到预期目标。相比之下,在闭环系统运行后Dynamic−SLAM实现了可靠的定位结果。将其与基于地面真实数据的标准对比后发现,在此场景下 Dynamic−SLAM 的轨迹 RMSE 值达到了 2.29 米水平(即约 0.75 英尺),这属于可接受的空间定位精度
研究结果表明,在动态环境中运行的Dynamic-SLAM算法能够在嵌入式移动机器人平台上实现实时的定位与地图构建过程。
5 结论
在本论文中, 开发了一个全面的SLAM系统框架, 称之为DynamicSLAM, 该系统采用深度学习技术以提高动态环境下语义单目视觉的同时定位与地图构建性能。其主要贡献包含三个方面: 针对现有SSD目标检测网络中存在的漏检问题, 提出了基于速度不变性的漏检补偿算法; 通过引入速度差分信息, 开发了一种选择性跟踪算法以有效去除动态物体; 最后构建了基于特征的人工智能驱动视觉DynamicSLAM系统。基于SSD卷积神经网络的新颖对象检测模块融合了先验知识, 实现了机器人定位与地图构建中对动态物体的语义级检测能力显著提升。为了全面评估Dynamic-SLAM的表现, 设计并完成了六项实验以验证其优越性、准确性及鲁棒性等关键指标。实验结果表明: 在TUM数据集上, Dynamic-SLAM较传统SSD网络提升了17.6%的目标检测召回率; 在TUM室内动态环境测试中, Dynamic-SLAM相比当前最先进的ORB-SLAM2系统定位精度提升了约15.9%, 同时运行效率也有明显提升; 在KITTI室外大规模动态环境测试中,Dynamic-SLAM实现了精准的地图构建并超越了ORB-SLAM2及DynaSLAM等系统。进一步的研究发现, 将Dynamic-SLAM移植至嵌入式机器人平台成功实现了真实世界环境下的定位与地图构建功能, 而传统ORB-SLAM2在此场景下未能完成同样任务。实验数据分析表明,Dynamic-SLAM在动态环境下展现出卓越的性能优势及应用前景十分广阔。综上所述,本研究探索了现实动态环境中SLAM技术的应用边界并展示了基于深度学习与SLAM融合的人工智能发展的无限可能
