快看,那个学SLAM 的崩溃了!

激光slam理论与实践 本篇是记录曾书格老师的课程《激光slam理论与实践》 先贴一下个人总结(有理解的不正确的,麻烦指出来): 第一章:激光SLAM简要介绍 1、输出Metrical map尺度地图,slam分为两种:基于滤波的 filter-based 的SLAM,和Graph-based的SLAM。 2、 (1)基于Graph-based的代表是cartographer,可以修复 t 时刻之前的误差分... 阅读详情

点“计算机视觉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学习与求职经验分享_李阳阳 什么是「 SLAM研习社」? 计算机视觉life读者自发组织,专注于SLAM的开源学习组织 宗旨: SLAM技术从基础到应用,懂原理会应用,完全搞透彻,不留死角 角色:主讲、联络、宣传 报名: simiter@126.com 报名主讲/嘉宾不需要你是大牛,只要熟悉SLAM某个知识点即可 SLAM研习社详细介绍、直播预告、视频回... 阅读详情

相关推荐

5G NR 帧结构

本节主要介绍5G NR中的帧结构[38.211-4.3]。5G帧结构(Frame Structure)为时域结构。其设计比其4G LTE更为灵活,这种灵活性使5G能够根据应用需求(如增强移动宽带eMBB,超高可靠低时延通信URLLC)进行调整,同时支持差异化的应用场景,提高了5G的利用效率与响应能力。具体而言,5G帧结构是基于时隙和OFDM符号设计的,且5G网络能够根据服务需求动态调整各时隙持续时长。

夫子喵的博客 5286

快看!那个学vSLAM的上吊了! —— (一)综述

不同于之前发布的文章。我将使用一种全新的方式,iPad Notability+Blog的方式打开这个板块的大门。原因有两个: (1)Notability更方便手写长公式,也方便手绘坐标系变换等等; (2)之前Apple Pencil找不到了新破费买了支,加上时间上不太充裕用KaTeX编写公式,也算是投机取巧吧。 大多数笔记会通过图片的格式发布,当然也可以找我要原版PDF私信我就好啦!链接和其他blog更方便的形式我还会以MarkDown的形式呈现,感谢包容! 这就是大致的综述,算是水了一篇文章哈~也是

LY. RoboLab 1738

西门子博途系列学习笔记SCL(三)______自由口通讯(RS485轮询程序)

西门子博途V16系列学习笔记SCL(三)___自由口通讯轮询程序(RS485) 西门子博途系列学习笔记SCL(三)______自由口通讯(RS485轮询程序) 文章目录西门子博途V16系列学习笔记SCL(三)___自由口通讯轮询程序(RS485)前言一、FreePort自由口通讯是什么?二、使用步骤1.模块参数定义2.定义FB功能块参数:3.程序代码如下(每天写代码100行,学不会你来找我):总结 前言 很长时间都没有更新了,主要是最近在学习罗克韦尔的STUDIO5000PLC编程软件,怎么说,和博

weixin_42940283的博客 1万+

调试calc(Convolutional Autoencoder for Loop Closure)的问题

  这两天看了一篇做回环检测的,觉得很有意思。文章叫<<Lightweight Unsupervised Deep Loop Closure>>,大体思路是给定一张图片,首先在四个角各取一个点,然后作为新的图像,然后原图像计算HOG,新图像送到抗噪编码器产生和HOG一样的维度,最后两个HOG的欧氏距离,计算L2损失函数,解决了视角、尺度变化的问题,使回环更具鲁棒性;并且网络...

CaptainYJJ的博客 1338

C++中为什么要引入引用变量?

C++引用机制的设计哲学在于平衡性能与安全性。它解决了指针的三个痛点:语法噪音、空指针风险和语义模糊,同时保持了指针的效率优势。引用必须绑定有效对象且不可重绑定的特性增强了安全性,其值语义语法更直观。尤其在运算符重载和const引用场景中,引用展现了不可替代的优势。本质上,引用是编译器优化的指针实现,体现了C++"零开销抽象"的核心思想——既保持底层性能,又提供高级抽象。这种设计允许开发者根据场景灵活选择指针或引用,反映了C++多范式共存的语言智慧。

教学 & 技术专栏 175

XGBoost算法案例 - 红酒品质分类

数据集共包含 11 个特征,共计 3269 条数据. 我们通过训练模型来预测红酒的品质, 品质共有 6 个各类别,分别使用数字: 0、1、2、3、4、5 来表示。

YIAN爱学习的博客 449

​综述 | SLAM回环检测方法

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达作者丨任旭倩来源丨计算机视觉life在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿解算当前帧位姿,因此其中的误差...

3D视觉工坊 3798

图像相似度的评价指标 : FID(Fréchet Inception Distance)

FID(Fréchet Inception Distance) 是用来计算真实图像与生成图像的特征向量间距离的一种度量。如果FID值越小,则相似程度越高。最好情况即是FID=0,两个图像相同。 实际计算: 参考链接:https://machinelearningmastery.com/how-to-implement-the-frechet-inception-distance-fid-from-scratch/ # example of calculating the frechet inceptio

weixin_43723625的博客 1万+

[学习SLAM]深度学习+视觉SLAM 的可行性/方向

时间:2019.07 作者:干磊 背景:本文统计的是2018年及以前的相关论,未涉及2019年的论文。 1,深度学习+SLAM的可行性 长期来讲,深度学习有极大可能会去替代目前SLAM技术中的某些模块,但彻底端到端取代SLAM可能性不大。 短期来讲(三到五年),深度学习不会对传统SLAM技术产生很大冲击。 2,深度学习+SLAM的 5 个主要研究方向 1)单目SLAM学习尺度/深度...

开源节流 6751

详解机器人标定

这里是机器人在取料之前,先把自己的角度补正到与 物料当前角度一致,到(X’,Y’)位置处,然后移动 CDx,Cdy,与物料位置也重合,然后去取料。可以使用实物标定,机器人抓住工件摆放9个位置,得到9个机械坐标,相机也得到9个像素坐标,(机器人每次需要回到固定位置拍照),然后标定。(X0,Y0)为旋转中心, (X1,Y1)及(X2,Y2)为工件在视野中旋转角度a的前后坐标,(Xt,Yt)为两点连线的延长。(rx0, ry0)为旋转中心,( x, y)为被旋转的点,(x0,y0)旋转后的点。

weixin_56819992的博客 7629

31、贝叶斯认知建模与隐马尔可夫模型:理论与应用

本文探讨了贝叶斯认知建模与隐马尔可夫模型(HMM)的理论基础及其在认知科学和神经科学中的应用。重点介绍了贝叶斯定理和HMM的基本原理,并结合实际案例,如情绪识别系统和脑机接口(BCI),展示了它们在处理复杂认知任务中的强大能力。文章还讨论了贝叶斯-HMM模型的技术细节、优势与局限性,以及未来的发展前景。

meat5的博客 141

从零开始一起学习SLAM | 学习SLAM到底需要学什么?

SLAM涉及的知识面很广,我简单总结了 “SLAM知识树” 如下所示: (公众号菜单栏回复 “树” 可获得清晰版) 可以看到涉及的知识面还是比较广的。这里放出一张SLAM圈子里喜闻乐见的表达悲喜交加心情的漫画图,大家可以感受一下: 每个学SLAM的小伙伴可以说都是冒着“头顶凉凉”的巨大风险,勇气可嘉。下面结合SLAM知识树展开具体说说。 编程环境 首先先说电脑环境和编程。 1、...

计算机视觉life 6万+

uniapp(vue3)- 详解安装/使用pinia报错reportJSException >>>> exception function:createInstanceContext, excepti

uniapp vue3 pinia报错reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack -> at useStore,H5网页,微信小程序,安卓App,苹果App,nvue,uniapp安装使用pinia出现报错at useStore,uniapp+vue3+ts 使用pinia报

🏆 前端领域优质创作者 4047

ORB-SLAM3在保存地图时高频率崩溃问题

ORB-SLAM3中有一个地图保存和加载机制,但是在跑数据集和实车测试过程中,保存地图会出现高频的崩溃现象,而且有时保存地图后再次加载地图时会出现地图匹配慢甚至匹配不上的问题。针对这两个问题的优化进行记录。

超爱吃小蛋糕的66的博客 1621

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

从零开始一起学习SLAM(2)学习SLAM到底需要学什么?

文章目录 编程环境 数学 计算机视觉相关 英语 开源代码 数据集 作业   此文发于公众号:计算机视觉life。   原文链接:从零开始一起学习SLAM | 学习SLAM到底需要学什么?   SLAM涉及的知识面很广,我简单总结了 “SLAM知识树” 如下所示:   可以看到涉及的知识面还是比较广的。这里放出一张SLAM圈子里喜闻乐见的表达悲喜交加心情的漫画图,大家可...

wb790238030的博客 602

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

视觉惯性SLAM系列——ORB_SLAM3中的地图保存时出现的程序崩溃等问题(三十五)

第二个是猜测在程序Shutdown()时,局部建图和回环检测线程还未结束就进行了地图保存,导致线程资源使用出现了冲突,因为这两个线程会用到关键帧和地图点信息。对于思路1主要是在PreSave()函数中,对地图点进行处理之前创建一个临时容器,将点copy一份到临时容器中,然后在对这个临时容器中Mappoints进行处理,防止与其他线程的调用出现冲突。每次崩溃都出现在关键帧或者地图点的PreSave()函数中,一开始认为是内存溢出导致的,所以尝试reserve用于存放地图点的容器的大小,扩大至2倍。

曾经也曾立志 538

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

动态SLAM 开源方案汇总及介绍(一)

比如人手上拿着的书、正在搬运的椅子等等。首先最经典的肯定是DS-SLAM和DynaSLAM了,这两篇文章也都来源于2018 IROS,虽然时间比较早,但是思想具有很高的借鉴意义。

weixin_62952541的博客 3917

slam有要求计算机语言吗,从零开始一起学习SLAM | 学习SLAM到底需要学什么?

首先先说电脑环境和编程。1、电脑环境:Linux环境,推荐Ubuntu16.04。有人问Windows行不行?这么说吧,如果你是一位SLAM领域的大牛,并且具有超强的解决bug能力,你可以用Windows,否则,非常不建议在Windows下编译,因为你早晚会被各种依赖库,各种bug搞崩溃的。而且大部分的SLAM开源代码都在Linux环境下编译,很多第三方依赖库在Linux下可以非常方便的安装。如果...

weixin_35825858的博客 1000

Cartographer ROS2实战:从零搭建激光SLAM系统(附常见崩溃问题解决方案)

本文详细介绍了在ROS2环境下从零部署Cartographer激光SLAM系统的完整实战流程。内容包括稳定的源码版本选择、工作空间配置、核心Lua参数详解,并重点提供了针对‘collect_metrics重复定义’等常见崩溃问题的解决方案,帮助开发者快速搭建并调试稳定的SLAM系统。

grape的博客 909

slam常见c++崩溃问题

内存耗尽崩溃问题,在建图或地图保存过程中经常遇到内存耗尽崩溃,大多数是因为在建子图过程中反复申请内存,同时没有及时释放,另外对于大场景的地图,所需内存更大,多出现建图完成保存地图过程中发生内存耗尽而崩溃。建图出栅格地图边界未处理导致越界,跑机过程中如果设置栅格地图界限,当机器建图过程中到达栅格地图边界时会将点云更新到地图中,如果不对插入地图的点云栅格索引进行判断会导致栅格地图索引越界,因此需要加点云是否在地图内的界限判断。调试slam程序中经常会遇到崩溃问题,大多数跟c++程序的使用有关,常见的如下几个。

weixin_43802726的博客 265

经典 SLAM 框架全解析:Cartographer、ORB-SLAM、LOAM 系列,选型与入门看这篇就够了

SLAM技术三大经典框架深度解析 摘要:SLAM(同步定位与地图构建)是机器人、自动驾驶等领域的核心技术。本文系统分析了三大经典开源SLAM框架:Google的Cartographer(2D激光SLAM标杆)、ORB-SLAM系列(视觉SLAM王者)和LOAM系列(3D激光SLAM奠基者)。Cartographer以工业级稳定性和鲁棒性著称,ORB-SLAM凭借特征点提取和三线程架构成为视觉SLAM基准,LOAM系列则通过解耦优化开创了3D激光SLAM新时代。文章详细拆解了各框架的核心原理、技术特点、优劣势

2301_80100415的博客 1896

【激光SLAM】不同3D激光SLAM方案对比

文章目录NDT_MappingLOAM算法Lego_LOAMSC-Lego-LOAMALOAMFLOAMLIO-SAMBALM其他总结 NDT_Mapping 使用日本名古屋大学和Tier IV主导的全栈开源自动驾驶系统Autoware提供的Mapping模块。 关于NDT原理详细的数学推倒,请参考AdamShan的博客无人驾驶汽车系统入门(十三)——正态分布变换(NDT)配准与无人车定位 或直接参考原论文The Normal Distributions Transform: A New Approac

xiewf的博客 4007

fisheye-ORB-SLAM 项目常见问题解决方案

fisheye-ORB-SLAM 项目常见问题解决方案 1. 项目基础介绍和主要编程语言 项目名称: fisheye-ORB-SLAM 项目简介: fisheye-ORB-SLAM 是一个基于 ORB-SLAM2 框架的实时单目视觉 SLAM 系统,专门为鱼眼相机设计。该项目通过使用增强的统一相机模型(EUCM)作为投影函数,能够在不进行图像校正或裁剪的情况下,充分利用图像的全部区域,即使在高畸变...

gitblog_00936的博客 727

【ORB-SLAM2:一、 简介】

ORB-SLAM2是一种开源的、实时的基于特征的视觉SLAM系统,由RaúlMur-Artal等人于2017年提出。它是ORB-SLAM的升级版本,支持单目、双目和RGB-D三种模式,能够实现高精度的相机定位和稠密环境的稀疏地图构建。在ORB-SLAM2的代码中,变量的命名具有一定的规律和风格。这一功能显著提高了系统的长期鲁棒性和地图的全局一致性。ORB-SLAM2在开源平台GitHub上提供代码、文档和示例,拥有活跃的用户和开发者社区,这为其快速推广和改进奠定了基础。

计算机领域博客,与时俱进的思想与技术。 1603
上一篇: Git小白到老鸟的进阶之路
下一篇: 实战 | 源码入门之Faster RCNN
计算机视觉life
博客等级 码龄12年 4344粉丝 209原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值