• 【SLAM】10.纵观SLAM,对比方案和未来方向


    "天下谁人配白衣”

    SLAM方案

    站在历史角度,看一下为SLAM的发展带来贡献的方案:

    1. 2007年—A.J.Davison—MonoSLAM
    • 视觉SLAM的先驱,建立在EKF基础上,此前基本无法在线运行,意义较大;
    • 应用场景窄;
      在这里插入图片描述
    1. 2007—Klein—PTAM
    • 也是SLAM重要事件:双线程结构;跟踪部分实时响应,地图优化没必要实时,第一个使用非线性优化后端,引入关键帧机制,带有AR效果;
    • 场景小跟踪容易丢失;
      图源视觉SLAM14讲
    1. 2014—J.Engle—LSD-SLAM
    • 单目直接法 用直接法构建半稠密地图(不需要特征点),半稠密:估计梯度明显的像素位置。可在CPU上进行,极线搜索做法是极线等距取5点,度量SSD,深度估计采取随机数再归一化等,减小了尺度漂移;
    • 直接法的缺点:对相机内参和曝光敏感,运动过快容易丢失,没有直接法的回环检测,依赖特征点;

    在这里插入图片描述

    1. 2014—Forster—SVO
    • 半直接法 特征点与直接法混合使用,跟踪角点,没有描述子,直接根据关键点周围信息估计相机运动;4X4大小的块匹配,速度极快,SVO2.0可以达到400帧每秒,提出了深度滤波器;
    • 只要是无人机俯视相机使用,平视表现不好,单目初始化等;舍弃了后端优化和回环检测,故称一个VO而非SLAM。

    在这里插入图片描述

    1. 2015—PTAM的继承者—ORB-SLAM
    • 特征点SLAM中的顶峰支持单目、双目、RGB-D模式;用ORB特征计算视觉里程计和回环检测的ORB字典,精度与效率折中;回环检测优秀,一个很大的ORB字典文件;三个线程完成SLAM,跟踪特征点、小图BA、大图全局位姿图和优化线程;
    • 必须对每个图像都计算一遍ORB特征,耗时,三线程CPU负担,没有开放存储和读取地图后重定位,无法提供导航、避障、交互等。

    在这里插入图片描述

    1. RTAB-MAP 是专用RGB-D SLAM的方案,基于特征的视觉里程计,基于词袋的回环检测,后端的位姿图优化以及点云和三角网格地图,完整庞大的SLAM方案。

    其他一些方案可以在官网查找

    研究方向

    1. 视觉+惯导 :具有明显互补性:
    • IMU:角速度,加速度存在明显漂移,使积分两次得到的数据不可靠,但是短时间内快速运动,IMU能提供较好的估计;
    • 相机:运动过快,运动模糊,重叠区域太少,数据基本不漂移,运动过快可以依靠IMU保持位姿估计;
    • 图像变化时,不知道是相机自身运动还是外接环境变化,IMU却可以感受到;

    复杂的VIO

    1. 语义SLAM

    结合深度学习

    • 语义帮助SLAM:给图带标签,得到带标签的地图,有助于与回环检测和BA优化;
    • SLAM帮助语义:深度学习上,从不同视角采集物体数据标定,辛苦。而在SLAM中可以估计相机运动,自动计算物体在图像中的位置,省去人工成本。
    • 在深度学习之前,场景分割识别通过支持向量机,条件随机场等传统工具进行。使用深度学习后,很有前景
    1. 基于线/面特征的SLAM
    2. 动态场景下的SLAM
    3. 多机器人的SLAM

    都有待探索。

    我们正处在提出问题—寻找算法—完善算法 的第三个阶段,各位共勉!

  • 相关阅读:
    Android之在设备之间传输--MediaRouter、Google Cast、Amazon Fling介绍
    北京ib国际学校大盘点
    六、DataLoader
    Spring(SpringBoot)--解决拦截器中注入Bean失败的问题
    C++:list?自己模拟实现!
    keil4工程创建并进行流水灯实验
    SpringBoot--使用@RequestHeader获取请求头
    Java内部类(自用)
    Unity3D制作塔防类游戏
    asyncawait和promise的区别
  • 原文地址:https://blog.csdn.net/Eric_Sober/article/details/133015319