动态SLAM论文(3) — Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial
目录
1 Introduction
2 Related Work
3 Detect-SLAM
3.1 移动物体去除
3.2 Mapping Objects
3.3 增强SLAM检测器
4 实验
4.1 动态环境下的鲁棒SLAM
4.2. 提升检测性能
5 结论
Abstract
1 Introduction
近年来,在SLAM和基于图像的物体检测领域取得了巨大进展。作为一个广泛研究的课题,已经提出了许多基于视觉的SLAM系统,其定位精度可达几厘米,并且能够实时构建大规模的三维地图[5, 12, 18]。随着深度卷积神经网络(CNN)的最新发展,基于图像的物体检测性能得到了提升[14, 24, 26]。然而,这两个功能各自在单独运行时的性能和应用受到一系列棘手的问题的限制。例如,SLAM系统通常在动态环境中容易失败,检测器对视角变化、遮挡等都很敏感[22]。然而,这两个任务可以相互补充:SLAM旨在从视频中估计环境的自运动和几何特征;物体检测器通过在实例周围放置一个预定义对象类别的边界框来表示图像的语义信息。直观上,提出了一个问题,即是否可能将SLAM与物体检测器集成到一个系统中,以共享几何信息和语义理解,使它们相互受益?
得益于将SLAM与物体检测相结合的成功案例[2, 3, 7, 21, 32]的启发下,我们开发了一个创新性的框架Detect-SLAM。该框架整合了视觉SLAM技术与基于深度神经网络(DNN)的物体检测器,在实现两者的相互促进作用的同时提升了整体性能。
在Detect-SLAM系统中,通过利用语义信息来抵消SLAM流程中由于移动物体带来的负面影响
经研究发现,在SLAM技术与基于深度神经网络(DNN)的检测技术首次深度融合的基础上

该框架基于Detect-SLAM算法设计。动态物体会被移除后进行处理;随后进行物体重识别及SLAM增强过程;最后构建完整的三维地图。系统接收的数据类型为RGB-D图像。动态物体制识与本地建模的任务由ORBSLAM完成,并建立局部几何模型。深度检测模块基于SSD算法,在GPU上进行实时计算;而其余处理逻辑则在CPU上执行。
在Detect-SLAM中,我们集成ORB-SLAM [18]和Single Shot Multibox Object Detector (SSD) [14]。ROS [23]接口通过通信实现了Detect-SLAM在移动设备与GPU上的分布式部署。
2 Related Work
SLAM技术:传统的SLAM方法主要假设室内或室外环境中大部分场景均为静态状态,并且相机作为唯一移动设备位于场景中。然而,在实际应用中这一理想状态难以满足需求[9, 37]。为了处理动态主体(通常为主人公),这些方法倾向于将动态主体视为异常值并从环境建模中排除它们。此外, 一些改进型的SLAM系统采用将SLAM技术与物体跟踪和检测相结合的方法, 以此来提高在复杂动态环境中定位精度的方法包括[13, 16, 17, 35]
近年来仍沿用该融合SLAM与检测的技术架构。
基于深度学习的目标检测: 随着人工智能技术的进步[8,14,24,25,26],图像目标检测领域的性能得到了显著提升[1,10]. 在该领域中,Faster R-CNN被认为是最具代表性的模型之一,其在PASCAL VOC数据集上的平均精确率超过80%,这一成绩得益于区域建议算法的进步[6]. Redmon团队开发了一种统一的设计框架用于YOLO[24]及其增强版本YOLOv2[25],这种方法不仅提升了速度还实现了更高的精度. 其中,YOLOv2在PASCAL VOC数据集上达到了91FPS运行速度的同时还能获得69%的平均精确率;而另一种称为SSD的方法则首次实现了实时目标检测功能并获得了78.6%的平均精确率. 这种能够平衡速度快与高精度的方法最终被部署到我们的Detect-SLAM系统中作为核心探测模块.
然而,在与SLAM通信或将其部署于嵌入式系统时会面临难以实现实时性能的问题。为了缓解SLAM与检测器之间的延迟问题我们选择避免单帧检测并考虑连续帧间的时空一致性
整合SLAM技术和目标检测:
3 Detect-SLAM
本节将详细介绍Detect-SLAM的核心技术
- 移动物体的特征去除 ,剔除与移动物体相关的特征信息。
- 物体制模 ,基于关键帧重建被检测到的静态物体现状。其构建基于由分配了唯一物体系 ID 的密集点云数据构成。
- 增强型 SLAM 探测器 通过将物体制图作为先验知识应用于具有挑战性环境中的增强型 SLAM 探测器来提升其性能表现
3.1 移动物体去除
在处理移动物体去除问题时,我们对ORB-SLAM2中的跟踪与局部建模模块进行了优化调整。通过这一改进措施,在一定程度上能够减少由于运动物体所带来的负面影响(如图3所示)。值得注意的是,在这一过程中所涉及的移动物体属于可动类别,在其运行过程中可能会发生位置变化;例如人、狗、猫以及汽车等元素。一旦检测到某一对象无论是处于行进状态还是站立状态,则将其归类为潜在的运动目标,并相应地移除图像中被检测到该目标区域内的特征描述部分
关于增强型SLAM的一个主要问题是目标检测的效率。这一过程必须足够高效以实现逐帧实时处理,并且能够有效过滤掉不可靠区域。然而,在每一帧中单独应用检测器仍然不可行——即使是最先进的SSD[14]技术也只能支持约3帧/秒的处理速度,在我们的初步实验中表现得仅能支持约3帧/秒的处理速度。
在本节内容中,我们提出了两种策略以有效解决该问题:1) 在关键帧上识别移动物体并调整局部地图中的点移动概率以加快跟踪速度;2) 通过特征匹配及扩展匹配点的方法传播移动概率,在估算相机位姿之前高效去除移动物体上的特征点
我们将特征点属于移动物体的概率定义为移动概率。从图中可以看出,在这种情况下(如图2所示),我们根据移动概率将这些特征点划分为四个不同的状态。在匹配点扩展过程中,在每一个新的匹配点上引入高置信度的特征时会传递给相邻的未被匹配的特征。在每个特征点通过传播获得其对应的移动概率后,在此之后我们会移除所有动态产生的干扰,并采用RANSAC算法来过滤出其他可能存在的异常外点。

图2 移动概率将这些特征点区分为四个状态
基于检测过程中的延迟问题以及连续帧之间的时空一致性考虑,在本研究中仅在关键帧上执行颜色图像的检测过程(如图3所示)。这些关键帧的选择遵循与ORB-SLAM2一致的原则。随后利用深度神经网络对目标图像进行预处理,并在跟踪过程中通过前向传播计算各时刻的概率分布。当检测结果获得后将这些关键帧信息插入到局部地图中,并根据以下公式更新其对应的局部地图中的匹配点三维位置概率值:

其中,

是上一个关键帧

中3D点

更新后的移动概率。如果是一个新点,我们将

。关键帧

中与匹配关键点

的状态为

它由检测区域决定。当关键点xi位于移动物体的边界框内时,我们将这些关键点视为确定性的动态点,并将其状态值设定为。

。其他的点被视为确定的静态点,状态值为

α是一个用于平滑即时检测结果的关键参数,在我们的系统中被广泛应用于处理实时数据流。当α取值较大时,系统会更加关注当前时刻的检测结果;而当α较小,则倾向于综合考虑多维度的历史数据以提升稳定性和可靠性。经过实验验证,在复杂环境中可能出现误报的情况时(即检测器有时会给出错误的结果),我们将α设定为0.3以获得最佳平衡点

图3 消除移动物体的过程
移动概率传播机制 。在整个跟踪过程中,在每一轮迭代中我们会依次执行以下两步操作以估算各关键点的运动概率:首先利用特征匹配算法完成两帧之间的对应关系建立(步骤1),随后对每一对匹配结果进行空间扩展运算以获得更为精确的概率估计值(步骤2)。在此基础上我们将此称为“基于传播的概率运动估计”,其核心思想在于当前时间层面上各关键点的概率信息完全由上一层的时间层面上对应的关键点所承载的数据所支撑,并无需依赖任何外部检测信息即可完成计算。如图4所示,在符号表示法中详细展示了这一过程。
特征配准过程。
我们采用与ORB-SLAM2一致的Interest Points描述,并利用ORB Feature 的鲁棒性和高效性进行配准操作[28]。
在配准过程中,
当Interest Points xit 与前一帧中的 Interest Points xit−1 进行配准时,
移动概率 Pt(xit−1) 被传递至后续处理阶段。
特征配准过程。
我们采用与ORB-SLAM2一致的Interest Points描述,并利用ORB Feature 的鲁棒性和高效性进行配准操作[28]。
在配准过程中,
当Interest Points xit 与前一帧中的 Interest Points xit−1 进行配准时,
移动概率 Pt(xit−1) 被传递至后续处理阶段。
在追踪过程中****************(...) ,我们采用两种操作:首先进行特征匹配;其次进行匹配点扩展。这些操作帮助我们逐步计算出关键点的移动可能性,并将其命名为**基于前帧的移动扩散(...)算法。这一命名方式源于当前计算出的概率值是由前一帧的关键点扩散而来,并且该方法完全无需本地地图中检测结果的影响。图4详细展示了符号所涉及的移动扩散过程。

图4 运动概率传播的信息
特征配准 。我们采用与ORB-SLAM2相同的ORB特征进行提取,并基于其鲁棒性和高效性进行计算[28]。在配准过程中,在关键位点xi,t与前一帧的关键位点之间建立对应关系时

匹配时,运动概率

被传播。
除此之外,一旦一个关键点与本地地图中的任何3D点

匹配,它也被分配一个运动概率,该运动概率等于匹配点

该值值得特别注意的是,在同一帧中的上一区域和当前区域均存在匹配特征的情况下,则应优先考虑当前区域的概率分布作为该点的目标位置推断依据。在此基础上,在这一帧中尚未被匹配的所有目标特征点均需为其分配一个初始概率值

。初始概率

设置为0.5,因为我们对这些点属于哪个状态没有先验假设。
我们总结了使用特征匹配来传播运动概率的操作,如下所示:

其中

,

和

分别表示点

,

和

的ORB特征。θ 是特征匹配的阈值。
匹配点扩展 。该过程旨在将运动概率从高置信度点延伸至其他在特征匹配操作中未有对应匹配点的邻近点上,并基于以下假设:即通常情况下邻域内各点的状态保持一致。
因此,在通过特征匹配传播后,我们选择高置信度点

涵盖静态与动态两类数据。随后,在这一基础上将高置信度数据的影响范围扩大至半径r的圆形区域内,并从该区域内筛选出尚未被匹配的数据样本。这些样本其出现概率依据如下规定进行调整:

其中

代表初始运动概率P_0。当一个点受到多个具有较高可信度的点的影响时,在计算其状态更新值之前,我们需要将这些邻近具有较高可信度的点对目标的影响总和进行加权求和运算。在考虑具有较高可信度的点对目标的影响时,在此过程中我们引入了运动概率修正因子以提高预测精度


的差异和距离因子

。如果一个点在高置信度点的影响区域内(d ≤ r),距离因子

,其中C是一个常数值;否则(d > r),

。
3.2 Mapping Objects
在SLAM系统的核心能力中构成了一个关键环节的是地图构建活动

其中R1是被检测到的区域,在本研究中与之对应的R2是基于对象地图投影得到的特定区域。
当我们在分析中发现两个区域存在重叠现象(IOU值大于0.5)时,则推断两者位于同一深度层。
在这种情况下认为两者位于同一深度层的可能性将被进一步提升。

其中 disparity(depth) 是重叠区域中观测到的深度与投影深度之间的均方误差

我们用Do(u,v)和Dp(u,v)分别表示像素位置(u,v)处的实际深度值与投影后的估计深度值。令R1 ∩ R2为两张图像重叠区域的点云集合,则N代表该区域内点云的数量。
当检测到目标区域的深度置信度高于阈值θd时,在该区域内赋予预先存在的对象ID作为标记;相反地,在未达到置信度阈值的情况下,在该区域内生成新的对象ID作为标记。
在实际应用中,尽管检测器能够输出物体的边界框……
重建 。基于对象掩码的方法下,在3D空间中创建带有目标ID的对象点云,并通过在3D空间中去除噪声点来优化数据质量。最终,在相机位姿的帮助下完成目标点云从局部坐标系到全局坐标系的转换,并将其整合到目标地图中完成重建过程。

3.3 增强SLAM检测器
语义地图不仅具备优化轨迹估计的能力(具体文献引用:[2,15]),还能进一步提升目标检测系统的性能(具体文献引用:[21])。相较于传统的目标检测方法仅关注单帧信息的特点,在机器人环境中的多视角观测能够提供更为丰富的情境信息。通过整合重建三维场景中的几何特征数据(此处应补充:具体指什么?),可以使目标检测系统更加智能地识别物体特征(此处应补充:具体如何应用?)。当该系统能够同时融合预生成的地图数据(即预先构建的空间布局图)以及精确计算出相机的姿态参数(即位置与朝向)时,则能够实现对物体定位的高度准确性和一致性支持
区域提取 。在增强 SLAM 的目标检测器中借助跟踪估计获得当前相机的姿态信息将三维物体地图 M 投影至二维平面确定每个物体的具体位置并提出相应的候选区域。基于投影图像我们将具有相同标识符的对象 ID 像素进行聚类从而筛选出可能包含具体目标的对象候选区域由于在构建物体地图时我们对点云进行了赋值操作因此在生成的目标检测图上这些对应 pixel 自然获得了相同的 object ID 每个候选区域内可以直接获取其对应的 object ID 这种方法使得后续识别过程更加高效准确
基于深度的空间分割算法设计与实现 但实际应用中可能会遇到一些特殊情况,例如由于点云噪声引起的某些小范围或者包含被遮挡物体的小范围.因此,在图像处理阶段,我们筛选出面积大于等于20×20像素的有效候选块,并基于观察深度与投影深度之间的相似度来检测可能存在的遮挡情况.值得注意的是,所采用的方法与其所依据的块匹配函数(公式5)存在本质区别:其中常数IoU = 1.
难样本收集研究[30]表明

** 图7 困难样本的实例显示**
4 实验
采用Python开发了基于深度神经网络(DNN)的检测引擎,并用C++构建了其他组件;其中,在深度感知领域采用了经过预训练并基于Inception v3架构的SSD模型作为深度检测引擎;此外,在SLAM方面采用了基于RGB-D和ORB-SLAM的基本框架;通过机器人操作系统[23]实现了各模块之间的通信;所有实验均在真实环境下运行
我们对系统进行了两方面的性能评估:动态物体消除与基于SLAM的空间定位探测器。鉴于所使用的数据集存在缺失,并未对物体现状图进行评估。然而基于SLAM的空间定位探测器性能的提升可被视为支持构建物体现状图的一个关键证据。我们的系统运行在搭载了一台高性能Intel Core i7-4700处理器配置的笔记本电脑上,并配备了16GB RAM以及Nvidia GPU GTX960M以实现实时运算能力。其中GPU仅负责执行深度检测任务
4.1 动态环境下的鲁棒SLAM
本节中,在TUM RGB-D数据集中展示了一种基于检测器的方法用于去除移动物体。研究者引用了Sturm等人[31]的研究,并利用RGB-D Kinect相机捕获了多组视频序列来评估RGB-D SLAM系统的性能和效果。此外,他们还提供了相机运动轨迹数据,并指出这些轨迹来自高精度运动捕捉系统获取的信息。其中相机的运动模式多样丰富:除了沿x、y、z轴方向平移外,在滚动-俯仰-偏航轴上也实现了旋转动作;此外还有半球形路径式的复杂运动方式可选。该数据集包含了几个典型的动态场景:例如,在fr3/w/rpy测试序列中,研究者设置了两人在桌子周围走动的情况,并让摄像头随之进行旋转操作;由于这些场景大多涉及动态变化的部分区域被拍摄到并加以分析处理的能力有限性问题而导致整个任务难度极大
ORB-SLAM被视为是在静止和缓慢运动的环境中表现出色的最佳方案,在这项研究中我们将其应用领域拓展到高速运动的情况。为了全面评估我们提出的移动物体去除算法的性能,在实验阶段我们特意选择了七组具有显著运动特性的数据集进行测试,并结合两组相对稳定的低动态数据以及一组纯粹的静态参考数据进行分析评估。
图4.1展示了基于TUM数据集生成的若干轨迹示例,并将其结果与其他真实参考轨迹及经典的RGB-D视觉SLAM算法OR...

为了定量比较的目的, 我们对每个系统的序列均运行五次, 并计算其中位数, 以此考虑多线程系统中的非确定性特性. 将实验结果汇总于表1中, 包含基于RGB-D的ORB-SLAM的传统方法33, 动态场景下用于RGB-D SLAM的运动去除方法33, 以及我们去除最后一个关键帧匹配部分后的方法(标记为Ours2). 在序列表示中采用了fr(Freiburg数据集)、half(半球体)、w(行走)、s(坐下)、d(写字桌)、v(验证)六个关键词.

如我们所知,在应对复杂动态环境时应用受限的情况下
此外,在对比实验中(对比实验中),我们发现,在传播移动概率的过程中逐帧追踪移动特征是必要且有效的策略(为了防止因检测延迟而导致本地地图中的点无法及时更新其移动概率),尤其是在物体发生较大位移时(尤其是当物体发生较大位移时)。此外研究了三种关键环节:移动概率传播机制、本地映射中的动态更新过程以及目标检测系统的实时性能评估(深入探讨了三种关键环节:移动概率传播机制、本地映射中的动态更新过程以及目标检测系统的实时性能评估)。需要注意的是,在将关键帧发送给目标检测器前(在将关键帧发送给目标检测器前),系统需完成图像预处理工作,并在深度神经网络中完成特征传播步骤(由于ORB-SLAM原系统已完成特征匹配任务),因此我们仅关注额外增加的时间成本分析(由于ORB-SLAM原系统已完成特征匹配任务),因此我们仅关注额外增加的时间成本分析)。与其他核心环节相比,在关键帧插入时刻执行目标检测属于相对耗时的操作(与其他核心环节相比,在关键帧插入时刻执行目标检测属于相对耗时的操作)。而我们的方法通过优化跟踪线程运行效率显著提升了整体性能表现(而我们的方法通过优化跟踪线程运行效率显著提升了整体性能表现)。表2详细列出了各子模块的时间消耗数据

4.2. 提升检测性能
基于TUM数据集中的15个序列,在实验室环境中采集了200组显示器相关的困难样本;同时,在办公室内又获取了5组盆栽植物相关数据样本。这些数据样本将被用于对SSD模型进行微调训练,并从而进一步提高物体检测器对物体形变及不同观察视角下的运动模糊识别能力。在微调过程中,默认情况下仅更新分类预测层
为了全面评估检测器的改进效果, 我们采集并标注了两个典型视频序列(fr2/desk 和 fr1/plant). 这些视频分别展示了桌面环境与植物状态, 观察视角发生了显著的变化, 其中部分场景中包含了局部细节内容. 在 fr2/desk 序列中, 在实际操作过程中由于其他物体经常遮挡而导致画面质量受到影响; 而在 fr1/plant 序列中, 则因为相机位置的变化产生了明显的模糊现象. 因此, 在提高检测器性能方面所面临的主要挑战包括局部观察、运动模糊和遮挡等多方面的因素.
在实验中, 我们可以看出当置信度阈值设定为0.7时, 三种方法所提出的大部分边界框均为精确结果. 在大多数挑战性场景下, 原始SSD未能成功识别目标物体, 而我们的方法则成功识别出了它. 通过定量评估, 我们对比分析了两个测试序列中三种检测器对目标物体的召回率数据(如图3所示). 可以看出, 采用联合优化与微调相结合的方法显著增强了显示器观测范围的同时构建起了物体位置信息地图这一创新体系, 进而使得增强型SLAM检测器性能提升效果显著性分析框架中被采用的方法数量增多. 此外, 收集并筛选的一系列具有代表性的困难测试样例也使得经过微调后的SSD系统表现更加稳定. 最终实验结果表明, 本系统所提出的边界框定位方案既保证了定位精度, 又验证了物体位置信息地图构建的有效性

图9中的第一幅图像(a)通过圆形布局展示了监视器方向的成功检测。蓝色区域代表原始SSD的工作原理;黄区显示经过微调优化后的SSD性能;绿色扇区则体现了我们自定义改进版的SLAM算法。观察结果显示,在大多数方向上都能实现精准探测;经过优化调整后的新版本SSD在准确率上进一步提升。其余三幅图片则展示了从不同角度及位置观测监视器的实际效果

5 结论
本文提出了一种名为Detect-SLAM的新框架。该框架将传统的目标检测器与SLAM技术进行了创新性结合,在同一个系统中实现了互利共赢的效果。具体而言,在动态环境中实现了精准的定位,并构建了具有语义信息的目标地图。此外,该框架还具备较强的稳定性和准确性,在这一过程中能够稳健地完成目标物体的检测与识别任务。实验结果表明我们的SLAM和目标检测系统均表现出色,在TUM数据集上的实验结果表明我们的SLAM和目标检测系统均表现出色。为了进一步提升系统的鲁棒性,在生成的目标地图基础上增强了检测器的能力,并确保其在运动模糊和其他非常规视角下依然能够维持较高的性能水平。随后我们将该框架应用于TUM数据集中出现的一些特殊场景(如监控摄像头和植物)以及进行了SSD网络的优化调整。
