论文部分内容阅读
近年来视觉SLAM被广泛应用于各种机器人任务场景当中,日渐复杂的视觉任务对场景模型表达语义信息的能力提出了更高的需求。由于深度学习方法在视觉领域呈现的有效性,许多研究使用网络层替换SLAM中的功能模块,使系统适用于特殊场景。然而现有方法存在着以下不足:第一,经典的SLAM方法对场景做出了静态假设,场景中动态对象的遮挡及运动干扰使得SLAM系统的定位和建图性能下降,现有方法使用几何或深度学习方法剔除场景中动态对象以排除干扰,但未能进一步有效利用场景中的动态语义信息对SLAM进行优化。第二,现有的语义建模方法将语义标注与地图基元进行对应,未能实现实例级别的语义标注,在实际应用中难以发挥作用,且场景中的动态对象被剔除于建模环节之外,使得场景模型语义信息不够完整。本文提出的DSP-SLAM方法针对以上问题做出了以下的工作:第一,基于现有的SLAM前端处理动态对象时使用的运动检测与删除方法,本文重新定义了动态对象及剔除的标准,并且针对运动情况提出语义ICP算法,通过决策是否使用动态对象参与相机位姿计算,在动态场景下跟踪精度提升的同时保证在一般场景下与先进方法具有同等水平的跟踪性能。第二,为了进一步利用场景中的动态对象约束和场景语义信息,提出了融合动态对象运动自约束与语义对应的SLAM后端因子图优化方法,并给出了因子图的构建模型及目标优化函数的推导过程。第三,在建图环节分别对静态场景和运动对象使用语义八叉树建图,在场景模型中同时维护了静态、动态语义结果。借此,动态对象能被正确显示并且随着对象运动更新位姿。实验结果表明,本文DSP-SLAM方法在TUM动态场景序列上绝对轨迹误差精度达到厘米级,与ORB SLAM2相比误差降低了一个数量级;同时在静态场景图像序列上DSP-SLAM前端通过语义ICP算法取得了高于Dyna SLAM的精度。DSP-SLAM后端基于GTSAM改进图优化技术,融合了动态与语义约束因子,在一些数据集上使误差在前端优化的基础上进一步减少了8%,证明了DSP-SLAM的因子图优化方法的科学性和有效性。DSP-SLAM最终给出了带有动态信息标注的语义场景结果。