动态SLAM论文(5) — SOF-SLAM: A Semantic Visual SLAM for DynamicEnvironments
目录
1 引言
A. 相关工作
B. 目的
C. 贡献和概述
2 Semantic optical flow SLAM
A. 系统概述
B. 语义光流
3 Evaluation
B. 在真实环境中的评估
4 Conclusion and Discussions
论文的论述有些许繁琐
摘要:
索引词: 计算机视觉,机器人,语义,同时定位和地图构建。
1 引言
基于操作SLAM系统的平台收集的数据构建周围世界的地图,并在地图中实现自身的同时定位。平台搭载的观测外界世界的传感器种类繁多,在此基础之上构建出完整的环境感知系统。当这些传感器被部署为视觉传感器时,则形成了视觉SLAM系统这一概念。这种基础且不可或缺的部分广泛应用于服务机器人、增强现实与自动驾驶汽车等领域,在这些应用中相机姿态估计与环境三维重建成为核心任务。经过数十年的发展研究,在视觉SLAM领域已取得了诸多优秀成果如MonoSLAM[1]、PTAM[2]、ORB-SLAM[3]及ORB-SLAM2[4]等创新性算法的问世与完善。其中,在动态元素较为稀少的情况下这类算法仍可维持令人满意的性能水平;但此类方法往往将这些异常情况视为需重点处理的对象并引入鲁棒模块如RANSAC及鲁棒成本函数加以解决。然而在实际应用场景中由于复杂环境中的动态特性更为显著尤其是在城市街道上人车流量往往占据较大比重这类传统标准算法难以满足现实需求导致其准确率明显下降从而影响最终结果的可靠性程度
图1(a)呈现了一个充满活力的场景,在此场景中两人正步履匆匆前行。当将其应用于该场景时,OR-B-LAS-2算法检测到约一半提取出的ORB特征点集中在两人的身影上(如图1(b)所示)。值得注意的是这些动态特征点并非孤立存在而是在短时间内频繁出现其数量不容忽视由于这些特征点的存在估算出的相机运动轨迹变得不可信(如图1(c)所示)。对比图1(c)中的蓝色虚线与黑色虚线可以看出两者呈现出完全不同的形态这种显著差异表明SLAM系统未能准确捕捉到真实环境中的空间信息这种现象的根本原因在于现有SLAM算法通常假设环境处于相对静态状态而无法有效应对快速变化的情景因此需要对传统SLAM算法进行优化以提升其在动态环境下的性能

图1. 在高动态场景中,ORB-SLAM2估计的相机轨迹完全无法使用。
已有多种方法旨在提升标准SLAM系统的准确度,在动态环境中。我们将介绍这些技术手段。
A. 相关工作
在处理高动态环境中的视觉定位与建模(SLAM)问题时
在几何方法领域,最相关的方法如下。
- Kundu等人[9]使用机器人的测距数据构建基本矩阵,以定义两个几何约束条件,其中一个是从本质矩阵而来的。根据本质矩阵的几何约束,如果匹配的特征点距离对极线太远,那么它很可能被认为是动态的。这种方法的关键是估计基本矩阵,如果能够获得相对可靠的基本矩阵,那么大部分的动态特征将很容易被检测出来。基本矩阵可以使用纯粹的视觉方法获得,比如5点法[10]或8点法[11]。如果有其他的运动传感器,比如惯性测量单元(IMU),则可以通过对IMU数据进行双重积分来轻松计算相机运动。
- Lin和Wang[12]通过观察到在位姿估计计算中存在动态特征会显著降低SLAM系统的精度,从而检测动态特征。当跟踪到一个新的特征时,计算出两个局部SLAM:一个不加入新检测到的特征,另一个在假设这个新特征是静止的情况下加入这个特征。与其对特征进行动态或静态分类的判断,不如使用二进制贝叶斯滤波器对两个结果的差异进行时间集成。经过一定的更新次数后,如果对数比例大于预设阈值,这个新的特征可以被归类为静态;否则,它将被归类为运动。利用重投影误差来检测动态特征是另一种几何方法。
- Zou和Tan[13]通过分析三角化一致性将地图点分为动态和静态两类。他们将前一帧中的特征点投影到当前帧,然后测量跟踪到的特征点的重投影误差。如果地图点是静态的,重投影误差应该很小;否则,地图点将被归类为动态的。
- 王等人[14] 将当前RGB图像、之前的图像和当前深度图像作为输入,首先将深度图像聚类成几个对象,提取当前RGB图像中的特征,并计算每个对象上的特征数量和百分比。然后,使用当前RGB图像和之前的RGB图像之间的特征对应关系来计算基础矩阵,然后使用基础矩阵来滤除异常值,再次计算每个对象上剩余内点的数量和百分比。剩余的内点用于再次计算基础矩阵,后续步骤与之前相同。最后,基于上述获得的统计特征设计了一个移动物体判断模型,一旦一个物体被认为是移动的,其上的所有特征将被消除。
- 孙等人[15] 改进了代码本学习和推理机制,以处理动态环境中的SLAM问题,他们的运动去除方法包括两个在线并行过程:学习过程,用于建立和更新前景模型;推理过程,使用建立的模型逐像素地分割前景。
- 范等人[16] 构建了一个适用于移动平台的相机运动模型,然后将运动模型分解为平移和旋转两个部分。最后,提出了两个约束条件来定位动态区域。
仅基于语义信息的方法较为直接。该方法主要依据人类常识与经验推断出动态物体通常被视为能够自主移动的人类及汽车等实体。随着深度学习技术的进步,在计算机视觉领域中完成物体会检测以及语义分割的任务已展现出卓越的效果,并且其准确率甚至能够超越人类水平。在SLAM框架中,在接收新的帧数据时可通过部署YOLO [17]、SSD [18]、SegNet [19]以及Mask-RCNN [20]等先进的卷积神经网络模型来提取并生成相应的语义标签描述。随后识别出属于人体或车辆这类动态实体特征后予以剔除。
钟等人[21] 采用了目标检测网络SSD来进行可移动物体的探测。例如,在探测到一个人时(无论是站立还是行走),都会将其视为可能处于运动状态,并从相关区域删除所有特征。
张等人[22] 通过YOLO网络获取了语义信息,并认为位于移动物体上的某些特征不够稳定而予以去除。
王等人[23] 开发了一种分阶段的方法,在目标检测与轮廓提取的基础上实现了对动态物体语义信息的高效抽取。
肖等人[24] 在独立线程中部署了SSD的目标检测网络以获得动态物体先验知识,并通过追踪线程中的选择性跟踪算法对动态物体上的特征进行处理以显著降低位姿估计误差。
一些最新的研究致力于将几何计算的动态检测结果与语义信息进行结合。Yu等人的研究采用SegNet,在单一处理线程中提取了每个像素对应的语义标签。当一个特征被分类为"人"时,则应用极线几何约束来进行后续的一致性检查。如果检查结果显示该特征表现出明显的运动特性,则将其归类并移除所有带有"人"标签的相关特征;这种方法实际上将具有"人"标签的所有特征视为同一整体,并取两组结果(从语义和几何角度)的交集作为最终判断依据。Bescos等人的研究结合了Mask R-CNN算法以及多视图几何中的语义分割技术;他们综合运用这两种方法:无论是从语义角度还是从几何角度显示出来的运动特性的对象都被纳入考虑范围。”
B. 目的
该系统的动态SLAM技术在某种程度上显著提升了准确度。然而,在现有研究中发现的主要局限性在于其主要局限于利用单一类型的信息(如仅依靠几何或仅依靠语义),或者直接结合这些数据以解决运动相关的挑战。从直观上看,在现有的研究中发现这些不同类型的数学模型之间存在较弱的相关性。因此,在未来研究中若能开发出一种方法来加强这两者之间的关联性,则相应的动态特性能够更有效地被去除,并进一步提升系统的整体准确度
C. 贡献和概述
该文提出了一种基于动态环境的视觉语义SLAM系统(SOF-SLAM),其架构建立于ORB-SLAM2之上。为提升系统的准确性,《该框架旨在提高系统的准确性》这一目标通过创新性地结合几何与语义信息得以实现。
采用我们的动态特征检测与去除方法——语义光流——通过紧密关联的方式综合运用几何与语义信息来显著降低环境中动态物体的影响。
本研究的主要贡献体现在以下方面:本系统巧妙地结合了语义分割所提供的运动先验信息与极线几何约束中的运动检测能力,在现有SLAM方法中,默认情况下大多数仅利用单一类型的信息(如语义或几何),或者简单地将不同方法的结果集成以去除动态元素。值得注意的是,在SOF-SLAM算法中我们提出了一种基于语义光流的动态特征检测算法——这种方法不仅能够利用语义分割信息辅助计算极线几何关系(而非仅仅依赖于结果组合),从而实现了对动态特性的更为精准识别与处理机制。这一改进使得我们的系统能够更加合理和高效地去除动态元素,并显著提高了结果的质量
2 Semantic optical flow SLAM
在本节中,我们将对SOF-SLAM系统进行全面介绍.本文着重探讨了动态特性的检测与消除方法.
A. 系统概述
图2详细阐述了所提SOF-SLAM方案的整体架构。首先采用ORB(Oriented FAST and Rotated BRIEF)算法进行图像特征提取的方法与传统的ORB-SLAM2方法一致,并分别提取出静态物体特征以及运动物体特征。在此基础上提出了基于语义光流的动力态特征求取方法(Semantic Optical Flow),这种算法能够有效去除运动物体带来的干扰影响。随后将剩余的静态物体特征引入到姿态估计任务中辅助完成新帧的目标识别工作。对于局部建图相关的功能模块而言其构建地图的方式与传统的ORB-SLAM2完全一致包括地图点创建过程以及回环检测机制等部分。值得注意的是,在本框架中占据核心地位的就是语义光流算法这一关键组件因此我们对它的实现原理及优化策略进行了深入探讨

如图2所示SOF-SLAM的整体架构具有显著特点其中局部建模和闭环检测机制与ORB-SLAM2具有相似性前者负责构建周围环境的具体地图模型并在这一过程中精确估算相机的姿态后者则专注于识别闭环路径并实施误差校正以减少累积偏差为此我们将一种基于语义光流的方法整合到追踪流程中通过这一技术手段可以使得动态变化的因素得到有效的抑制这样在后续的数据处理阶段仅需关注稳定不变的空间信息
B. 语义光流
如图3所示的是用于实现动态特征检测与去除的技术流程图。一方面,在当前处理中使用RGB图像提取ORB特征;另一方面,在另一个独立线程运行时通过SegNet生成当前RGB图像的语义分割结果,并结合之前的RGB图像信息来计算对应的语义光流。通过这一系列操作可以得到可靠的基线矩阵,并在此基础上有效地识别出真实的动态特征。

图3 语义光流对动态特征进行检测和移除的流程图
我们采用了语义光流这一方法来进行动态特征检测。其中通过将语义先验与多视角几何信息进行深度整合从而有效提取运动物体的三维空间信息。接下来我们将首先介绍语义光流的整体架构:从语义分割中的运动先验分析出发深入探讨其在动态特征检测中的多视角几何约束分析以及如何有效地利用语义和几何信息以实现紧密耦合的技术方案。
1)从语义分割中获得的动作先验
在针对语义分割任务的应用中, 我们采用了SegNet编码-解码结构来实现每个输入图像的逐像素分类目标. SegNet模型的主要架构包含两大核心组件: 编码器网络与解码er网络
具体而言, 该模型主要由编码er网络与解码er网络两大核心组件构成, 其中编码er负责提取图像特征并进行降采样, 而解码er则通过上采样操作恢复图像细节并完成分类任务
编码器网络由共计13个卷积层构成。每一个编码器层都对应着一个解码器层,并由此推导出解码er网络共有13层。首先将输入图像输入至编码er网络中进行处理。随后依次经过批归一化、ReLU(修正线性单元)激活函数以及最大池化操作。经由解码er网络接收后输出相应的特征图序列。
通过从相应编码器提取记忆化的最大池化索引来利用其记忆能力的信息来源对输入源特征图执行上采样操作
我们基于caffe框架实现了一个SegNet模型架构来完成像素级语义分割的任务。该模型经过PASCAL VOC数据集训练后能够精准识别并分类20个不同类别(飞机、自行车、鸟、船等),涵盖了广泛的生活场景与物体类型。
基于 pixels 的语义标签信息中包含其动作特征的相关知识。例如,在 pixels 标签为 '人'的情况下,则表明该 pixel 位于人体上;我们有较高的信心认为该 pixel 是动态变化的部分因为人类通常会移动;当 pixels 标签指向 '餐桌'时则可以推断出这是一个相对固定的区域;而当 pixels 标签指向 '椅子'时情况便有所不同了:由于椅子本身不具备移动能力因此在常规状态下它是静止不动;然而在其他物体的影响下如人体活动可能会导致椅子出现微小位移从而使得无法准确判断 chair 上 pixels 的运动特性;基于上述分析我们将此类对象上所有 pixels 视为‘潜在具有动态变化的可能性’
该方法能够帮助我们获取关于像素的动作特征的一些先验知识这对于提升动态环境中SLAM系统的准确性具有重要意义。一种常见的方法是利用语义分割结果作为掩模来去除动态特征这一想法虽然看似直接简单但确实是一种有效的方法来提高动态环境中的定位精度然而有两个限制因素需要考虑第一个限制涉及传感器融合的问题第二个限制则与计算效率相关我们需要在接下来详细探讨这两个关键问题
首先,在上述讨论的基础上指出,在视频处理过程中每个像素所具有的先验知识大致可分为三个类别:静态物体、潜在运动物体以及真实运动物体。在传统语义SLAM框架中,默认情况下会保留所有静态特性和未动物体(即所谓的静止场景),而运动物体则被排除在外。然而对于潜在运动物体,则有两种不同的处理策略可以选择——一种方法是将其归类为静止状态进行处理;另一种方法则是将其视为真正的动态元素纳入建模过程中。其中一种方法可能导致系统性能下降,并给后续数据融合带来复杂性问题
图4展示了一个包含潜在动态物体的场景。在这一场景中放置了两个显示器和两把椅子。根据SegNet分割算法的结果显示,在这种配置下它们原本应被视为潜在具有动态特徵的对象但实际上它们各自具有的运动特性却大不相同:两个显示器处于静止状态而左边带轮子的椅子因上方有人而移动右边的一把椅子同样保持静止状态。如果我们考虑将所有这些物体上的特徵均归类为动态特徵并予以去除这将导致定位精度下降其主要原因在于这两个显示器和两把椅子上都存在大量静态特徵特别是那些位于角落处的关键特徵尤为突出这意味着这些关键特徵能够在连续帧之间建立可靠的一一对应关系然而仅仅减少静态特徵的数量尤其是那些显著特徵的存在能够显著提升定位精度水平若将其视为静态特徵并予以保留则会因为左边椅面上存在的动态特徵而导致定位精度受到影响换句话说仅凭语义分割技术难以完全处理场景中某些具有复杂运动特性的对象

图4 潜在动态物体的场景
其次, 虽然因为近年来出现的先进卷积神经网络结构而导致语义分割准确性显著提升, 在物体边界区域中, 分割结果仍然难以避免地存在明显的模糊性
图5展示了通过一种简单的方法使用语义分割结果作为掩码来过滤动态ORB特征的具体案例分析。在图5(a)中,请注意由ORB-SLAM2提取的ORB特征在整个图像中呈现均匀分布状态,在这一过程中我们能够清晰地观察到许多ORB特征求得于人物身上而人物则是场景中的主要运动元素之一。这些运动特性可能导致SLAM系统定位精度下降的问题表现如图5(b)所示其中红色粉色蓝色及黑色分别代表椅子人物显示器及背景区域的不同类别标签在传统的语义SLAM解决方案中通常会采用将包含人物标签的部分作为遮挡层从而去除动态OROB特征求得于人体上的部分效果如图5(c)所示我们可以观察到大部分位于人物上的动态OROB特征求得已被成功去除但仍有一些位于人体腰部腿部及手部附近的OROB特征求得未能被完全排除这种现象源于人体分割不够精细在图5(b)中即可轻易识别出一个位于人体手部边缘却带有"背景"语义标签的OROB特征求得由于某些腰腿部OROB特征求得被误判为"椅子"类别导致一些原本属于人体部位的关键点信息未能被有效去除这直接限制了系统进一步提升定位精度的能力

图5 通过简单地使用语义分割结果作为掩码来过滤动态ORB特征的示例
在SLAM问题中,在应用SegNet进行语义分割时确实有助于去除动态元素。但需要注意的是,在这种情况下, SegNet 的分割效果与场景的实际运动情况并没有直接关联。具体而言, 在任何情况下(不论是物体处于动态状态还是静态状态), SegNet 的分割效果都不会受到影响。因此进一步地需要提供一种能够反映场景实际运动情况的信息源来辅助处理。
2)多视图几何约束

图6 多视图几何中静态特征的对极约束。
利用对极几何属性的几何约束可以用来检查特征是动态的还是静态的。静态特征应该满足多视图几何中的对极约束,而动态特征将违反标准的对极约束。图6(a)显示了在两个连续帧中对应图像点之间的关系。X是一个静态地图点,它在两个连续帧中被成像,x1在帧 I1 中,x2 在帧 I2 中。C1和C2分别是I1和I2相机的光学中心,连接C1和C2的线被称为基线。基线和地图点 X 确定了一个平面π,称为对极平面。平面π与图像平面 I1 和 I2 在线L1和L2上相交。L1和L2被称为对极线。基线与图像平面的交点被称为对极点,即图6中的e1和e2。假设我们只知道 I1 中的x1,我们想要找到它在I2中的对应点x2,如图6(b)所示。在没有深度信息的情况下,我们只知道地图点X位于从x1反向投影的射线上,因此我们只知道x2位于对极线L2上。这个几何约束实际上描述了从一个图像中的点到另一个图像中相应的对极线的映射,这个映射关系可以用基础矩阵F来描述:

p1和p2分别是对应图像点 x1 和 x2 的齐次坐标。给定图像点x1和基础矩阵F,(1)提供了一个约束条件,如果地图点X是静态地图点,则 x2 必须满足该条件。因此,我们可以使用这个约束条件来判断ORB特征对应的地图点是动态的还是静态的。然而,由于特征提取和基础矩阵 F 估计中不可避免的不确定性存在,静态地图点的两个图像点可能不严格满足(1)。直观上,图像点 x2 不精确地位于由图像点 x1 和基础矩阵F确定的对极线上,而是非常接近该对极线,就像图7中的x2一样。因此,我们可以计算 x2 与对应的对极线L2之间的距离D。如果D小于预定义的阈值,则认为该图像点是静态的;否则认为它是动态的。

图7 一个静态特征应该与所有种类的错误和不确定性接近对极线。
对极几何中的关键是估计基础矩阵F :

F 的值可以通过最少五对特征对应计算得出;然而,在实际应用中通常会采用经典的八点法算法来确定其值。在图6中举例说明,在该匹配图像中取两点x₁和x₂进行分析,则可表示为:
其齐次坐标表示为:

(u1, v1)和(u2, v2)分别是x1和x2的像素坐标。通过组合(1)(2)(3),我们可以得到(4):

设 f 表示包含基础矩阵 F 所有元素的向量:

通过对(4)进行展开,我们可以得到关于变量f的一个方程:

f 包含了9个未知量;然而由于基础矩阵F所具有的尺度自由特性的影响,在计算过程中其自由度可降低至8个。因此,在相邻帧之间对应了8对图像点的情况下,我们可以通过求解形式为(6)的一组方程来确定矩阵F。
对于在两个连续帧之间确定对应的图像点而言,光流是一种便捷且高效的手段。通过减少错误对应的影响来应用RANSAC算法。事实上,这种方法本质上具有自洽性。为了使用对极几何约束检测动态特征,则必须依赖于基本矩阵F的估计值。另一方面,在计算光流的过程中存在一个限制:场景中的大多数特征必须是静态的这一条件导致了对场景动态特性的严格限制。这样RANSAC才能有效地减少剩余动态特征的影响。
3)紧密耦合形式下的动态特征检测
为了针对仅仅依赖语义分割先验或多视图几何约束而导致动态特征处理不足的问题, 我们提出了一种语义光流方法.该方法通过将语义信息与几何信息紧密融合, 有效识别动态ORB特征.在此过程中, 我们采用"紧密融合机制"与传统方法进行比较, 而这些传统方法同样基于结合几何信息与语义信息来去除动态特征.我们将其归类为"松散融合模式".其核心在于, 这些传统方法通常会分别利用几何信息或语义信息独立识别动态特征, 然后通过投票模块将两个结果进行综合判断.其中, 两个独立结果均为动态特征则最终结果认定为动态[25], 或者只要其中一个结果为动态特征则最终结果即为动态[26].在我们提出的方法中, 则首先通过语义信息获取较为可靠的基本矩阵F, 然后利用该矩阵结合几何约束来精确识别真正存在的动态特征.值得注意的是, 在我们的框架中, 基本矩阵F被设计为一种关键工具, 它能够整合这两种信息源并完成统一决策过程: 判断一个特征是静态还是动态.这一详细流程将在后续部分进行深入阐述.
在处理流程中,在采用SegNet框架下完成动作先验的学习后,在计算相邻帧之间的光流时(当我们计算从当前帧到上一帧的光流时),通过采用SegNet框架所提取的动作先验信息作为遮蔽层(也可视为掩膜),从而排除掉不稳定的动态配准关系(即潜在动态特征对应的不稳定配准关系)。在此基础上仅保留那些稳定可靠的关系(如图8所示)。继而采用语义静态特征对应的稳定配准结果而非所有可能存在的配准关系来计算基本矩阵F。

图8 语义光流示例
通过上述计算得到了基本矩阵F,并应用极线约束以识别真实的动态特征。在本研究中,我们设定阈值为1个像素,并将当前帧与上一帧中的特征进行匹配比较。如果某个特征与对极线的距离超过该阈值,则认为其为真实的动态特征。

图9 朴素语义方法和我们方法之间动态特征去除效果的比较
Fig.9(a)显示了仅基于语义分割结果实现动态特征去除的效果。图9(b)则展示了我们提出的语义光流方法在动态特征去除方面的应用效果。首先观察到,在移动人物所处区域几乎所有动态特征均被成功去除。与传统的朴素语义方法相比,在改进了SegNet在分割完整性及准确性方面的不足基础上我们的方法取得了更好的效果。其次经确认右侧两个显示器及椅子上明显存在的静态特征不再具有动态特性而位于左侧椅子上的某些特征则表现出明显的动态特性这是因为这些特征上装配有轮子且随人运动而发生位置变化。
3 Evaluation
基于公共TUM RGB-D数据集对我们的SOF-SLAM系统进行了实验研究,旨在评估该系统在动态环境下的表现。首先进行对比分析,将SO...
基于TUM RGB-D数据集的评估
在经过评估的五个选定动态序列上运行ORB-SLAM²、带朴素语义的ORB-SLAM²以及我们开发的系统。这些系统的相机运动估计结果与地面真实运动路径在同一幅图中进行展示。我们将三维运动路径投影至二维平面,并利用二维运动分析工具对这些系统的准确性进行直观评估。当估计的相机运动与实际运动路径吻合度更高时,则相应的系统表现更为优异。具体比较结果分别体现在图10和图11中,在低动态变化场景下(s_static),三个系统的估计结果非常接近于实际的真实值;而在高动态变化场景中(如本研究中的测试数据),我们提出的方法SOF-SLAM以及带朴素语义的ORB-SLAM²的表现均优于传统ORB-SLAM²算法;然而由于ORB-SLAM²中的异常检测机制无法有效应对高动态变化场景这一限制,在这种情况下其运动估计精度相对较低

图10 低动态序列s_static中对比

图11 高动态序列对比
进一步比较这三个系统的质量,并用于验证SOF-SLAM的有效性。将ATE(绝对轨迹误差)的均方根误差(RMSE)用作实验的质量评估指标。针对每种方法,在所有序列上运行五次实验,并计算其RMSE结果的中位数、平均数以及最大和最小值。这有助于降低系统不确定性带来的影响。结果如表1所示
从表1的数据可以看出,在低动态序列s_static中,这三种方法的表现基本上是相同的。在高动态环境所代表的其余四个序列中,则无论采用我们的系统还是naive semantic ORB-SLAM2的方法,在准确性方面都较原始的ORB-SLAM2实现了显著提升。具体而言,在中值、平均值、最小值和最大值等指标上计算出的RMSE值明显降低了数量级。这是因为语义信息对于去除动态特征确实很有帮助。然而尽管如此但语义信息本身也具有一定的不确定性正如我们在第二节所述。在高动态条件下仍然存在一些难以有效去除的动力学特征。针对这些问题本文提出了一种基于语义光流的方法它能够充分结合并利用两者的潜在特性从而更加有效地去除了动力学特征因此我们系统的定位准确率达到了最高的水平

如表所示,在表格2中以百分比形式展示了改进情况

图12以柱状图的形式直观地显示了三个系统的比较。

展示了对ORB-SLAM2及其传统语义版本与我们系统中统计指标中的中位数、平均值以及极值范围进行对比分析的柱状图。
此外,在动态环境下与其他最先进的SLAM系统进行了对比实验,并基于原始论文中的评估指标进行了分析。我们选择将DS-SLAM [25]、DynaSLAM [26]、Detect-SLAM [21]以及Zhang等人[22]的系统与之对比。具体实验结果可见表3。通过对比分析发现,在动态环境中不同算法表现出不同的性能特征:我们的SOF-SLAM方法也采用基于ORB-SLAM2框架的设计思路,并通过相对RMSE减小比例作为关键评价指标来量化系统的性能提升效果(如图13所示)。具体而言,在低动态序列s_static中,我们的系统表现略低于DS-SLAM;但在其余四个高动态序列中则取得了更好的成绩。进一步分析表明,在低动态环境中动态特征较少且易于被消除这一特点使得特征保留能力更强从而提升了整体精度;而在高动态环境下由于特征更新频率更高可能导致部分特征被误判从而影响最终效果。综合来看,在四个高动态序列测试中我们的系统均表现出了显著的优势

图13 通过对比分析现有几种主流动态SLAM算法(包括DS-SLAM、DynaSLAM、Detect-SLAM以及L. Zhang等研究团队开发的系统)在动态环境下表现的显著差异性。
B. 在真实环境中的评估
我们在真实环境中进行了实验以验证系统的有效性,并通过使用MYNT深度相机捕获RGB图像及其对应的深度数据来实现这一目标。其中摄像机沿顺时针方向连续旋转形成一个圆形路径,并对这一过程进行了详细记录与分析。如图所示,在这一复杂的真实世界场景下进行测试能够更好地反映系统的实际性能表现与应用潜力。具体而言,在如图(a)所示的部分中发现多个ORKeypoint(ORKeypoint)被检测到且集中在两个行走的人群周围区域;而在如图(b)所示的部分中发现这些ORKeypoint(ORKeypoint)几乎全部分布在静止背景区域并均匀分布于该区域的不同位置处。进一步观察发现,在这一动态变化的真实世界场景下进行测试能够更好地反映系统的实际性能表现与应用潜力,并且通过结合多帧图像信息能够有效提高定位精度与鲁棒性等关键指标的表现水平

图14 对ORB-SLAM2与我们系统之间ORB特征提取过程的对比研究。该方法能够有效地去除行人行走过程中的动态特征。

图15 ORB-SLAM2和我们的系统之间估计的相机轨迹的定性比较。
4 Conclusion and Discussions
本文提出了一种基于ORB-SLAM2的语义视觉SLAM系统SOF-SLAM。我们引入了一个独立线程用于执行SegNet算法以实现像素级语义分割,并提出了一种新的方法称为语义光流来有效移除动态特征。我们的系统能够克服仅依赖于单一信息源所带来的局限性,并避免简单混合这两种信息的方法所带来的问题。我们采用一种紧密耦合的方式利用这两种信息以实现动态特征的有效去除。为了评估SOF-SLAM系统的性能我们进行了多方面的测试并选用了TUM RGB-D公共数据集以及真实的实验室环境作为实验平台进行了测试与验证结果显示我们的系统相比传统的ORB-SLAM2在定位精度上得到了显著提升达96.73%的提升率并且在动态环境处理方面表现更为出色相较于其他四种先进方法我们的系统的相对RMSE降低了45.8%以上。然而目前我们的系统仍有一些待改进的地方主要集中在两个方面第一点是当前系统仅依赖于相邻帧的信息来进行动态特征检测这可能导致时间分辨率不足的问题因此我们计划引入更多历史帧的数据以提高检测效果第二点是目前系统采用硬阈值方法来判断特征类型这可能导致误判问题因此我们计划采用概率框架来计算特征属于动态类别的概率从而进一步提高系统的鲁棒性。
