点“计算机视觉life”关注,置顶更快接收消息!


本文列举了当前优秀SLAM方案,点出了SLAM学习者的困境,最后打算搞点大事

请把此文转发给你认识的SLAM大神,愿你头发浓密,心想事成

当前优秀SLAM方案一览

研究SLAM的小伙伴入门的时候都经历过痛苦阶段,这是因为SLAM是个系统工程,算法比较难实现。但好在有不少优秀的开源代码可以借鉴,这里列举一些目前比较流行的开源SLAM方案(分类方式不一定科学,凑合看哈):

纯视觉SLAM开源方案:

稀疏地图

  • ORB SLAM v2 (单目、双目、RGB-D)

半稠密地图

  • LSD SLAM (单目、双目、RGB-D)
  • DSO (单目)
  • SVO(单目, 仅VO)

稠密地图

  • RGB-D SLAM V2 (RGB-D)
  • Kintinuous (RGB-D)
  • Elastic Fusion (RGB-D)
  • Bundle Fusion (RGB-D)
  • InfiniTAM (RGB-D)
  • RTAB-Map (RGB-D,双目,LIDAR)

多传感器融合

  • VINS (单目+IMU、双目+IMU)
  • OKVIS (单目+IMU、双目+IMU)
  • ROVIO (单目+IMU)
  • RKSLAM (单目+IMU)
  • Cartographer (LIDAR + IMU)
  • V-LOAM (单目+LIDAR)

和深度学习结合

  • CNN-SLAM: 将LSD-SLAM里的深度估计和图像匹配都替换成基于CNN的方法,并可以融合语义
  • VINet : Visual-inertial odometry as a sequence-to-sequence learning problem: 利用CNN和RNN构建了一个VIO,即输入image和IMU信息,直接输出估计的pose
  • 3DMV: Joint 3D-Multi-View Prediction for 3D Semantic Scene Segmentation: 联合3D多视图预测网络在室内环境中进行RGB-D扫描的3D语义场景分割
  • ScanComplete: Large-Scale Scene Completion and Semantic Segmentation for 3D Scans: 将场景的不完整3D扫描作为输入,能够预测出完整的3D模型以及每个体素的语义标签
  • DeepVO: A Deep Learning approach for Monocular Visual Odometry
  • Lightweight Unsupervised Deep Loop Closure: 用CNN解决闭环问题

以上不全,还请大神留言补充哈

下面是重点~

那些年有没有哭晕在厕所?

很多研究SLAM的小伙伴通常会经历以下阶段:

  1. 看SLAM相关的论文,发现很多公式、理论看不懂,好不容易努力看了个大概,也不知道具体怎么用。
  2. 于是去跑开源代码,安装调试出错,网上也找不到解决方案。不知道是环境配置问题还是代码有bug。
  3. 好不容易跑通了代码。在实际测试时发现问题很多,远不如论文里写的那么牛逼,不知道这个算法的适用场景是什么。抓不住重点瞎折腾,浪费了时间。
  4. 没办法,硬着头皮去看代码,代码量又非常大,看起来非常痛苦,急需大牛帮忙梳理思路。
  5. 摸索了很久,终于发现有几个点(藏的很深)好像比较影响算法性能,还发现了一些trick的东西。自己也不会改进,感觉被骗了,纠结要不要换个开源试试。
  6. 反反复复好不容易找到适合自己的开源方案,发现上面过程要再来一遍,想要理清代码,搞懂原理也要花费大量精力,更别提改进代码了。
  7. 哭晕在SLAM的汪洋大海里。。。

学习SLAM中经历上述阶段是令人痛苦的,关键是浪费了很多宝贵的时间,即使是SLAM大神,我估计或多或少都经历过上述阶段。如果一开始有大神指点一下,肯定能绕开不少坑吧

希望在这里

基于此,计算机视觉life想要做一件事情,就是解读目前流行的开源SLAM方案(包括但不限于上述列表),帮助SLAM学习者少踩坑。如果你是一位SLAM研究者,对目前SLAM流行的开源方案有一定研究,可以加入我们,一起搞点大事。

加入方法:

请简单介绍一下自己的基本信息,如果能直接附上简历(可选)就更好啦,基本信息包括但不限于:

姓名、微信号、所在学校/公司、熟悉哪个SLAM框架,可以详细描述一下特长:比如对xx开源算法熟悉原理应用,做过xx项目,发表过xx论文,主导过xx产品等。

以上越详细越好,请务必留下微信号,方便取得联系

本文长期有效,请将上述信息发送至 simiter@126.com,邮件标题「开源SLAM」。不管是否通过筛选,一周内都会收到回复。

最后,请把此文转发给你认识的SLAM大神,愿你头发浓密,心想事成

推荐阅读

从零开始一起学习SLAM | 为什么要学SLAM?
从零开始一起学习SLAM | 学习SLAM到底需要学什么?
从零开始一起学习SLAM | SLAM有什么用?
从零开始一起学习SLAM | C++新特性要不要学?
从零开始一起学习SLAM | 为什么要用齐次坐标?
从零开始一起学习SLAM | 三维空间刚体的旋转
从零开始一起学习SLAM | 为啥需要李群与李代数?
从零开始一起学习SLAM | 相机成像模型
从零开始一起学习SLAM | 不推公式,如何真正理解对极约束?
从零开始一起学习SLAM | 神奇的单应矩阵
从零开始一起学习SLAM | 你好,点云
从零开始一起学习SLAM | 给点云加个滤网
从零开始一起学习SLAM | 点云平滑法线估计
从零开始一起学习SLAM | 点云到网格的进化
从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码
零基础小白,如何入门计算机视觉?
SLAM领域牛人、牛实验室、牛研究成果梳理
我用MATLAB撸了一个2D LiDAR SLAM
可视化理解四元数,愿你不再掉头发
最近一年语义SLAM有哪些代表性工作?
视觉SLAM技术综述
汇总 | VIO、激光SLAM相关论文分类集锦

快看,那个学SLAM 的崩溃了!的更多相关文章

  1. 快看Sample代码,速学Swift语言(1)-语法速览

    Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#.Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超 ...

  2. 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览

    快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...

  3. 跟vczh看实例学编译原理——一:Tinymoe的设计哲学

    自从<序>胡扯了快一个月之后,终于迎来了正片.之所以系列文章叫<看实例学编译原理>,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点. 但 ...

  4. 跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析

    文章中引用的代码均来自https://github.com/vczh/tinymoe.   看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了.在正确分析"print ...

  5. 跟vczh看实例学编译原理——零:序言

    在<如何设计一门语言>里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的.不过单纯讲这个也是很无聊的,所以我开了这个<跟vczh看实例学编译原理>系列,意在科普一些 ...

  6. 看代码学知识之(2) ListView无数据时显示其他View

    看代码学知识之(2) ListView无数据时显示其他View 今天看的一块布局是这样的: <!-- The frame layout is here since we will be show ...

  7. 看日记学git摘要~灰常用心的教程

    看日记学git linux 命令行 cd ls / ls -a clear mkdir rmdir echo "hi, good day" > hi.txt touch he ...

  8. 比年轻更年轻,快看能否接棒B站?

    撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 背靠超新Z世代,快看能否接棒B站? 国漫什么时候能追上日漫? 国漫作者真能挣到钱吗? 国漫什么时候才能走向世界? 这是中国漫画从业者的"灵魂三问 ...

  9. 快看Sample代码,速学Swift语言(2)-基础介绍

    Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或者Objective-C的开发经验获得一种熟悉感.Swif ...

随机推荐

  1. git推送远程仓库以及分支介绍

    1.介绍 我们要把本地仓库的项目推送到远程服务器,首先我们得有自己的服务器,一般我们选择码云和github,码云和github的操作差不多,今天我们再次介绍码云的使用 2.码云的使用 第一步:首先我们 ...

  2. 波特词干(Porter Streamming)提取算法无代码单纯理解

    最近写东西提到这个算法,要看一下,结果网上都是直接根据代码解释,对于我这种菜鸟在刚开始看一个算法的时候真心不想直接看代码学.奈何都是各种语言的代码,么得办法.先走了一遍,有了大致的了解,翻译成自己的话 ...

  3. Shiro认证、角色、权限

    Apache Shiro 是 Java 的一个安全框架.Shiro 可以帮助我们完成:认证.授权.加密.会话管理.与 Web 集成.缓存等. Shiro的内置Realm:IniRealm和JdbcRe ...

  4. HTTP网页请求状态码

    我们平时在打开一些网页的时候,会遇到打不开的情况,页面提示404错误,这个404就是http状态码.如果我们可以正常打开网页,这时也会有http状态码的,这个状态码就是200,只不过这时我们是无法通过 ...

  5. TCP 客户端编程

    1.Qt中TCP客户端编程 对Qt编程而言,网络只是数据传输的通道: Qt提供了QTcpSocket类(封装了TCP协议细节): 将QTcpSocket的对象当做黑盒使用,进行数据首发. 1.1QTc ...

  6. 第一周-----基本数据类型(primitive data type)

  7. 使用 netkeeper 创翼电脑开 WiFi 方法(12)

    学校的宽带使用"netkeeper"联网,但是电脑依然可以开启WiFi,以下是方法: 1. Win10用户请看 2. Win7用户请看 Win7无法在"任务管理器&quo ...

  8. git 显示文件改动,但无具体改动信息

     事件:        同步代码,进行了换行符替换 过程 : 同步代码,在正式服务器的 git 分支基础上创建新的分支,按照同步代码流程,将对方代码换行符转换(对方mac,我方windows) 替换需 ...

  9. Python习题006

    作业一:打印10*10  星星 ★☆ 要求一:普通打印★ l = 0 while l <10: h = 0 while h < 9: print("★", end=&q ...

  10. SAS学习笔记42 宏程序

    Autocall Macro是由SAS提供的一些实现特定功能的Macro Program,可以在代码中直接使用 其中以Q开头的相比正常的多了隐藏特殊字符的功能(称之为Macro Quoting): K ...