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

2023-09-19 11:21:59

"天下谁人配白衣”

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

都有待探索。

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

更多推荐

MyCat主从数据库集群搭建

1背景最近工作需要对比几种数据库技术方案,主从读写分离集群也是其中之一。接着上一篇文章《MySQL主从数据库搭建》基础上继续搭建MyCat主从集群。2MyCat什么是MyCat?MyCat是数据库中间件,就是介于数据库和应用之间,进行数据处理与交互的中间服务。可以对数据进行分片处理,从原有一个库,被切分为多个分片数据库

安装torch113、cuda116并运行demo【Transformer】

文章目录01.导读02.显卡驱动版本03.创建环境、下载安装必要包04.运行参考代码:01.导读安装torch113、cuda116并运行demo【Transformer】02.显卡驱动版本C:\Users\Administrator>nvidia-smi-l10WedSep1323:35:082023±-------

Docker 原理

基础技术试验进程linuxnamespaceMount(mnt)namespace可以在不影响宿主机文件系统的基础上挂载或者取消挂载文件系统了;PID(ProcessID)在一个pidnamespace中,第一个进程的pid为1,所有在此namespace中的其他进程都是此进程的子进程,操作系统级别的其他进程不需要在此

kruskal重构树

Kruskal重构树第二次学了。大致思路就是在最小生成树加边的时候,把每条边也设一个点,和他连着的两个点连边。由于最小生成树的贪心,感觉很像哈夫曼树,有性质是经过的边的长度(已经转化为点权)越向上越大/越小,取决于生成树的排序。那就可以通过倍增找不经过长度超过x的边所能走到的所有点,实际上是一直往上跳的那个子树。for

红海云签约科百特,“膜界”小巨人人力资源数字化转型全面提速

杭州科百特过滤器材有限公司(以下简称“科百特”)是全球优秀的创新过滤企业,专注于纳米膜材料的开发和应用,致力于为全球集成电路制造和生物制药产业提供创新的过滤纯化解决方案。近日,科百特与广州红海云计算股份有限公司达成战略合作。红海云作为一家技术驱动的专业型厂商,基于深厚的人力资源管理专业积累和前沿的数字技术,成功打造了众

Linux CentOS7系统运行级别

运行级别就是Linux操作系统当前正在运行的功能级别。在早期系统设置中,共设有七个运行级别,编号从0到6。系统可以引导到任何给定的运行级别。每个运行级别指定不同的系统配置,并允许访问不同的进程组合。默认情况下,Linux会引导至运行级别3或运行级别5。启动时一次只执行一个运行级别,它不会一个接一个地执行。在SysVin

Buffer Pool

一.BufferPool的含义BufferPool:缓冲池,简称BP,其作用是用来缓存表数据与索引数据,减少磁盘IO操作,提升效率。当Mysql执行查询的sql语句的时候,会先去缓存当中看是否有对应的数据,如果有则直接读内存,如果没有则去磁盘里拿,然后把数据放到BufferPool里拿,来提高查询速度。BufferPo

Unity减少发布打包文件的体积——获取精灵图片的信息限制它的大小

一、起因一个工程,打包成webGL且压缩成zip文件后,接近400M,后来把大的精灵图片设置最大尺寸,降低大小后,再次发布,zip文件缩减到250M二、如何一键获得工程里面的精灵图片信息三、获取精灵图片信息1、查找项目中的所有精灵图片//查找工程文件中的所有精灵图片string[]guids=AssetDatabase

2023年中秋·国庆节放假通知

放假期间如有业务、技术及其他相关需求,欢迎新老客户前来咨询!放假期间如给您带来不便敬请谅解!注意事项1、放假离开公司前须全面清扫所属办公区域的卫生,收拾好桌面、保管好个人办公物品;2、关闭个人电脑等办公设备的电源,切断用电设备的插座电源开关,锁好门窗防雨,做好防火防盗工作;3、节日期间重点安全部门,如仓库,要加强对仓库

【计算机网络】网络编程接口 Socket API 解读(5)

Socket是网络协议栈暴露给编程人员的API,相比复杂的计算机网络协议,API对关键操作和配置数据进行了抽象,简化了程序编程。本文讲述的socket内容源自Linuxman。本文主要对各API进行详细介绍,从而更好的理解socket编程。connectconnect()遵循POSIX.1-20081.库标准c库,li

IP归属地应用的几个主要特点

作为一款优秀的IP地址定位工具,主题IP归属地的应用无疑是最好的选择之一。该应用可以将您需要查询的IP地址快速定位到所在的具体物理位置,并提供详细的地址和地图信息。接下来,让我们一起来看一看IP归属地应用的几个主要特点:1.快速查询IP地址归属地主题IP归属地应用的查询速度非常快,您只需要输入需要查询的IP地址点击“查

热文推荐