论文笔记:DS-SLAM

注:只是用做笔记,具体方法和实验请参照原论文,参考资料见文末。会不断完善,如有错误的地方请指出,谢谢!

目录

简介

框架

系统

语义分割

运动一致性检验

过滤离群值

稠密语义3D八叉树建图

参考资料


DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments

简介

传统SLAM存在的问题:

  1. 难以对动态甚至恶劣环境中的异常动态物体进行处理
  2. 无法对机器人提供对周围环境更高级的理解以完成更高级的任务

DS-SLAM:基于ORB-SLAM2提出的面向动态环境的鲁棒语义视觉SLAM

有五个并行运行的线程:

  1. 追踪
  2. 语义分割
  3. 局部建图
  4. 闭环检测
  5. 稠密语义地图创建

贡献:结合了语义分割运动一致性检验来过滤场景中的动态部分,减少了对动态物体对位姿估计的影响,在动态的环境中提高了精度和鲁棒性,并生成稠密语义八叉树地图可用于高级任务。

框架

这里过滤离群点到视觉里程计也有个箭头,画漏了

系统

语义分割

DS-SLAM采用SegNet实时提供基于caffe的像素级语义分割。在实际应用中,人最可能是动态的对象,所以假设位于人身上的特征点最可能是异常值。

运动一致性检验

由于运动分割耗时且语义分割结果可以从另一个线程得到,故只需要确定分割结果中的关键点是否移动。如果分割后的物体内的某些点为动态的,则该物体可视为动态物体。步骤如下:

STEP1:计算光流金字塔,得到匹配的特征点;

STEP2:判断匹配特征点是否可用,如果匹配对太靠近图像的边缘或匹配对中心的3 × 3图像块的像素差太大,匹配对将被丢弃;

STEP3:使用包含最多正确数据的RANSAC计算基础矩阵,用来计算极线I。设p_{1}p_{2}为上一帧和当前帧匹配点,P_{1}P_{2}为齐次形式,有:

 匹配点到极线的距离:

 如果距离D大于预设的阈值\epsilon,则判断其为运动的点。算法如下:

过滤离群值

由于人体等运动物体的灵活变形和复杂运动,仅用运动一致性检测方法提取动态物体轮廓困难且耗时,而采用语义分割网络可以很容易得到对象的完整轮廓。将这两者结合以完成两级语义知识库的建立:动态物体和静态物体。如果由运动一致性检验产生的一定数量的动态点落在分割物体的轮廓中,则确定该物体是运动的,并移除位于目标轮廓中的所有特征点。

稠密语义3D八叉树建图

八叉树地图的特点:灵活、压缩、能随时更新,存储效率高,易于导航。语义信息也纳入到八叉树地图中,八叉树地图中的每个体素与特定的颜色相关联,每个颜色代表一个语义标签。

语义分割过滤动态物体的准确性有限,还需要使用概率对数值(Log-odds)最小化动态物体的影响。设p\in [0,1]表示体素被占用的概率,l\in R表示概率对数值。

 其反变换为:

设某体素为n,观测数据为z,从开始到t时刻该体素的概率对数值为L(n|z_{1:t}),t+1时刻为:

只有当占据概率p大于预定义的阈值时,体素才被认为是被占据的,并将在八叉树地图中显示出来。换句话说,被观察到多次被占用的体素被认为是稳定被占据的体素。该方法可以很好地解决动态环境下的地图构建问题。

参考资料

[1] DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments

[2] ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras

[3] SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

[4] 【语义分割—SegNet】SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation_gkm0120的博客-CSDN博客

[5] 详解八叉树地图_陈建驱的博客-CSDN博客_八叉树地图 

[6] 《视觉SLAM十四讲》

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
LSD-SLAM是一种大规模直接单目SLAM算法,它是在2013年由扬·恩格尔斯等人提出的。该算法的目标是实现在没有任何先验知识或环境特征的情况下,通过单个摄像头从连续的图像序列中建立和跟踪三维地图,并且能够同时确定相机的姿态。 LSD-SLAM的核心思想是利用摄像头的像素强度信息进行定位和建图,而不依赖于传统的特征点提取和匹配。它通过高斯金字塔和灰度差分技术来提取特征,并使用稀疏数据库存储和匹配这些特征,以实现实时的建图和定位。 在LSD-SLAM中,首先需要对图像进行预处理,包括降噪和创建高斯金字塔。然后,通过计算图像中相邻帧之间的灰度差分,得到特征点的深度信息。通过对这些深度信息进行尺度一致性检查和相机姿态估计,可以建立起相机的轨迹和三维地图。 LSD-SLAM的优点之一是其能够在大规模环境下进行建图,且对于纹理较弱的区域也能较好地定位。此外,LSD-SLAM还具有较低的计算复杂度,能够实时运行,适用于移动机器人、增强现实和无人驾驶等领域。 然而,LSD-SLAM也存在一些限制,如对于场景中出现大运动或快速变化的情况,其定位和建图的精度可能会下降。此外,它对于镜头畸变和光照变化也较为敏感。 总结来说,LSD-SLAM是一种利用单个摄像头进行大规模建图和定位的算法。它通过直接使用图像的像素强度信息,不依赖于传统特征点的提取和匹配。尽管LSD-SLAM具有优点和限制,但其在许多实际应用中具有潜在的价值和广阔的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值