快看,那个学SLAM 的崩溃了!
点“计算机视觉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的小伙伴通常会经历以下阶段:
- 看SLAM相关的论文,发现很多公式、理论看不懂,好不容易努力看了个大概,也不知道具体怎么用。
- 于是去跑开源代码,安装调试出错,网上也找不到解决方案。不知道是环境配置问题还是代码有bug。
- 好不容易跑通了代码。在实际测试时发现问题很多,远不如论文里写的那么牛逼,不知道这个算法的适用场景是什么。抓不住重点瞎折腾,浪费了时间。
- 没办法,硬着头皮去看代码,代码量又非常大,看起来非常痛苦,急需大牛帮忙梳理思路。
- 摸索了很久,终于发现有几个点(藏的很深)好像比较影响算法性能,还发现了一些trick的东西。自己也不会改进,感觉被骗了,纠结要不要换个开源试试。
- 反反复复好不容易找到适合自己的开源方案,发现上面过程要再来一遍,想要理清代码,搞懂原理也要花费大量精力,更别提改进代码了。
- 哭晕在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 的崩溃了!的更多相关文章
- 快看Sample代码,速学Swift语言(1)-语法速览
Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#.Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超 ...
- 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览
快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...
- 跟vczh看实例学编译原理——一:Tinymoe的设计哲学
自从<序>胡扯了快一个月之后,终于迎来了正片.之所以系列文章叫<看实例学编译原理>,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点. 但 ...
- 跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析
文章中引用的代码均来自https://github.com/vczh/tinymoe. 看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了.在正确分析"print ...
- 跟vczh看实例学编译原理——零:序言
在<如何设计一门语言>里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的.不过单纯讲这个也是很无聊的,所以我开了这个<跟vczh看实例学编译原理>系列,意在科普一些 ...
- 看代码学知识之(2) ListView无数据时显示其他View
看代码学知识之(2) ListView无数据时显示其他View 今天看的一块布局是这样的: <!-- The frame layout is here since we will be show ...
- 看日记学git摘要~灰常用心的教程
看日记学git linux 命令行 cd ls / ls -a clear mkdir rmdir echo "hi, good day" > hi.txt touch he ...
- 比年轻更年轻,快看能否接棒B站?
撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 背靠超新Z世代,快看能否接棒B站? 国漫什么时候能追上日漫? 国漫作者真能挣到钱吗? 国漫什么时候才能走向世界? 这是中国漫画从业者的"灵魂三问 ...
- 快看Sample代码,速学Swift语言(2)-基础介绍
Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或者Objective-C的开发经验获得一种熟悉感.Swif ...
随机推荐
- springboot-mybatis-pagehelper(分页插件)
依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://m ...
- java根据模板生成pdf
原文链接:https://www.cnblogs.com/wangpeng00700/p/8418594.html 在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支 ...
- Linux安装expect
主要参考:https://www.cnblogs.com/zhenbianshu/p/5867440.html expect解释器 expect是一个能实现自动和交互式任务的解释器,它也能解释常见的s ...
- HTML中关于动态创建的标签无法绑定js事件的解决方法:.on()方法的 [.selector]
在前端页面的时候,会经常遇到用JavaScript动态创建出来的Button按钮或其他标签无法使用点击事件的问题.如下代码,使用jquery在body中动态创建一个class为demo的Button按 ...
- 工欲善其事必先利其器之Vagrant + VirtualBox
Vagrant 可以管理 VirtualBox,实现快速配置创建虚拟机 1.下载软件 VirtualBox虚拟机下载地址:https://www.virtualbox.org/wiki/Downloa ...
- C# 延迟初始化 Lazy<T>
概念:延时初始化重点是延时,用时加载,意思是对象在使用的时候创建而不是在实例化的的时候才创建. 延时加载主要应用的场景: 数据层(ADO.NET或Entity Framework等ORM,Java ...
- gradient 渐变
看了大漠 写的关于 Gradient 的文章,我也想写点以便加深记忆. 首先gradient 分为linear-gradient (线性渐变) 和 radial-gradient(径向渐变),渐变是作 ...
- Vue路由相关配置
什么是路由? 1.在以前页面跳转使用的是超链接a标签或者js location.href,而路由是跳转切换组件的跳转方式 2.路由就是监听url的改变并提供相对应的组件用于展示 3.vue-route ...
- Android开发中UI相关的问题总结
UI设计和实现是Android开发中必不可少的部分,UI做不好的话,丑到爆,APP性能再好,估计也不会有多少人用吧,而且如果UI和业务代码逻辑中间没有处理好,也会很影响APP的性能的.稍微总结一下,开 ...
- leetcode-174. Dungeon Game 地下城游戏
一道关于骑士救公主故事的题目. 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过 ...