Advertisement

论文笔记——Dynamic-SLAM:Semantic monocular visual localization and mapping based on deep learning

阅读量:

本研究设计并实现了一种基于深度学习框架的动态环境SLAM系统。该系统能够实现对物体运动状态及位置信息的实时跟踪与更新,并通过深度神经网络模型对场景中的物体与人进行识别与分析。实验结果表明所设计系统具有良好的鲁棒性及准确性。该方法在动态环境下具有广泛的应用前景。

论文链接

文章摘要

受动态物体干扰影响,在动态环境下传统SLAM框架表现出明显不足。针对SLAM技术在动态环境中的局限性,
我们提出了一种基于语义级别的实时定位与建图的改进型Dynamic SLAM方法。
首先,在卷积神经网络的基础上,
构建了一个结合先验知识的改进型SSD目标检测模块。
在此基础上,
我们在语义层面设置了新的检测子任务来识别运动物体。
Aiming to address the low recall issue of existing SSD-based detection networks,
我们提出了一种基于相邻帧速度不变假设的新漏检补偿算法,
显著提升了目标检测的整体召回率。
最后,
我们开发了一个基于特征跟踪的技术架构,
通过该系统能够有效追踪运动场景中的关键特征点,
从而大幅降低了由于错误匹配导致的姿态估计误差。

导语

~~~~~~~为了使视觉SLAM系统在动态环境中正常工作,通常的方法是避免在动态对象上使用特征点。 因此,需要预先计算动态物体的位置。 同时,基于深度学习的目标检测和语义分割在这方面取得了显著成果。将深度学习技术应用于SLAM对于解决实际动态环境中的机器人定位和建图问题至关重要。
在本研究中,基于ORB-SLAM2 [2]构建的Dynamic-SLAM是基于动态环境中深度学习的语义单目视觉SLAM系统。Dynamic-SLAM主要包括一个可视里程表前端,该前端包括两个线程和一个模块,即跟踪线程,对象检测线程和语义校正模块。Dynamic-SLAM可以成功地在复杂的室内和室外动态环境中实时运行。 它解决了在行人和车辆在场的情况下的定位,BA,环路闭合,稀疏重建等问题。它可以满足普通真实环境中的定位和建图分配。

具体方法

在本研究中,在ORB-SLAM2 [2]的基础上引入了基于语义信息和特征点优化的动态对象决策模块,在此基础上构建了Dynamic-SLAM系统。通过将图像中的静态与动态特征分离处理,并将动态特征视作异常值来提高系统的鲁棒性。基于选择性追踪算法确定的静态特征点进行姿态估计及非线性优化处理以避免因动态环境物体干扰而导致的影响降低。针对现有SSD基于对象检测网络召回率较低的问题 提出了基于基本运动模型的漏检补偿方案 从而显著提升了目标检测精度

A.漏检补偿算法

在SSD架构中, x_{ij}^p = \{1, 0\}被用来指示默认框i与对象类别p的地面真实框j之间的匹配关系。当出现误检情况时, \hat{x}_{ij}^p = 0, 并导致预测框(l)与地面真实框(g)之间的平滑L1本地化损失出现显著升高。

公式1

其中D(cu, cv, w, h)代表边界框(d)的中心点坐标(cu, cv)及其宽度与高度。
基于合理的假设提出了相邻帧漏检补偿模型:动态物体的运动速度趋向于在短时间内基本不变(即加速度趋向于零)。同时,在像素平面中用v表示动态物体的速度,并且a_{max}用于像素平面中动态物体的速度变化率的阈值。
它们之间应满足以下关系:

a_{max} \geq \left|\frac{dv}{dt}\right|

公式2

动态物体运动位移的度量工具即为移动速度指标,在视频序列中多个帧之间的时间间隔非常短暂的情况下,运动物体的位置变化通常较为平缓。该算法设计不仅能够有效判断是否存在漏检问题,并且在检测结果出现偏差时还能提供相应的补偿措施以提高检测效率和准确性水平。当处理时间窗口较短时,在前一帧与当前第k帧之间的目标边界框匹配关系可通过∆\vec{v}向量精确计算得出;若匹配误差超出预设阈值a_{max}范围,则判定为误匹配情况并采取相应补救措施:在当前第k帧的目标检测结果列表中新增目标定位信息;对于前一时刻第k-1帧中的每一个检测结果项,在当前时刻k内未被正确识别则视为误判情况需及时反馈并纠正。

公式3

表示k是用来在当前帧上完成丢失识别并恢复其前驱帧序号的一个变量。具体而言,该算法首先通过对当前帧进行视频分析来识别丢失的部分;接着利用前驱帧的数据进行插值运算以恢复丢失的信息;最后通过误差校正优化整个过程以确保图像质量不受影响。

图片1

B.基于先验知识的动态对象确定

~~~~~~~基于经验和环境认知的人们对周围事物的理解构成了环境对象的语义。 在记忆不熟悉环境的过程中 人们会借助先验知识自动识别并优先关注静态物体如建筑与自然植被 而动态物体如车辆与行人则会被暂时忽视。 当SLAM系统的语义理解能力不足时 在区分动态与静态环境中存在局限性。 尽管能在短暂时间内检测到运动物体 它却无法确保长期的一致性 因此需要通过误检测补偿循环来维持稳定性。
实际上 这是一个最大化后验问题。 当前一帧边界框被判定为动态对象时 系统会在当前帧中将边界框重新检测并判断其一致性 同时进入误检测补偿循环以提高检测精度。
令C=\{c_i|K=1 2 … N\} 和 Z=\{d_i|K=1 2 … N\} 分别表示基于贝叶斯法则的实际边界框集合及其测量结果集合。

公式4

之后,

公式5

基于Dynamic-SLAM框架,在每一帧k上所获得的结果都会受到前面一系列连续帧的影响。 依据这一前提条件建立起来的状态转移模型是按照条件概率模型进行推导展开的:

公式6

利用先验知识建立的动态对象识别系统有效地去除了神经网络生成的多余语义内容,并且特别适用于特征点处理场景

C.物体检测模块和选择性跟踪

~~~~~~~特征跟踪并不麻烦,但并非所有特征都可用于跟踪,并且并非动态对象的所有特征也不可用于跟踪。在不同情况下区分前景动态特征点和背景静态特征点至关重要。对象检测线程使用SSD对象检测网络来计算对象的类别和位置。之后,对象将被语义校正模块进一步分为动态对象或静态对象,然后将动态对象的位置提供给跟踪线程。跟踪线程对每个关键帧图像进行ORB特征提取,然后将结果与参考帧进行匹配,以获得两个图像的特征点之间的对应关系,用于估计相机姿态。
当初始化完成时,姿势估计是PnP问题。 BA所代表的非线性优化方法被用来解决这个问题。 该方法可以充分利用所有匹配结果,并获得姿势的最佳估计。 非线性优化的成本函数定义如下:

公式6

最小重投影误差是在当前位姿\xi下观测到的像素坐标u_i与3D点p_i对应的重投影坐标之间的差值,在优化过程中我们旨在通过调整位姿参数以最小化各点间的重投影误差。然而,在动态环境中由于运动物体表面特征点会在不同时间出现或消失的现象其重投影误差可能会显著增加这会导致相机姿态难以收敛至理想状态动态SLAM中的语义校正模块则负责根据这些变化生成一个遮罩图像mask(u, v)= {0, 1}这一二维矩阵其大小与原始图像一致每个元素取值为0表示静态区域而取值为1则代表动态区域

公式7

与此同时

公式8

其中p是决策系数,\bar{S}_L是决策阈值,其计算如下:

公式9

只有当动态特征点与静态特征点之间的相对位移处于可接受范围内时才允许使用它们进行跟踪;超出此范围的则予以剔除。
该算法能够有效地利用深度学习技术生成的检测结果。
该方法特别适用于解决动态物体处于静止状态或其占据画面大部分区域时的特征提取难题。
从而显著提升了系统的鲁棒性。
在某种程度上牺牲了尺寸信息但这种策略仅适用于机器人低速运行场景。
为了确保Dynamic-SLAM系统的实时性能将对象检测与跟踪任务分别执行于两个独立线程。
同时通过设计名为"检测"的新数据结构类实现了安全高效的并发操作以传递检测结果。
此外采用名为uniqueJock的互斥锁机制确保两个线程之间不会出现访问冲突。
算法处理流程如下:

图片2

实验结果

开发并进行了六项不同领域的实验以评估DynamicSLAM系统在动态环境下的鲁棒性和准确性。这些实验涵盖SSD对象检测测试、抗动态对象干扰能力评估、动态目标环境下初始化能力测试,并基于TUM动态数据集进行室内精度评估。此外还包括覆盖城市道路场景的外域大范围地图测试以及通过移动机器人完成的城市真实环境仿真实验。

图片3
图片4
图片5
图片6
图片7
图片8
图片9
图片10

结论

~~~~~~~本文提出了一种全新的名为DynamicSLAM的深度学习基 SLAM体系结构,在机器人感知与导航领域取得了重要突破性进展。该体系旨在通过集成深度学习算法提升动态场景下物体识别与跟踪的能力,并实现了语义级别的实时定位与建图功能。研究工作包含以下三个主要创新点:其一,在现有研究基础上深入分析传统SSD算法在目标检测方面的不足,在此基础上设计了一种基于速度不变量的新漏检修正策略;其二,在传统跟踪算法的基础上融合先进的人工智能决策机制,在复杂运动环境中显著提升了系统的鲁棒性和精确度;其三,在此研究平台上优化并整合了新型深度学习模型以进一步增强系统的计算效率与感知精度。

全部评论 (0)

还没有任何评论哟~