整理了AIRX团队平时学习SLAM的一些开源工程、书籍、论文项目等。

1、Cartographer

Cartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和制图(SLAM)。

https://github.com/cartographer-project/cartographer

2、Openvslam

一个通用的视觉SLAM框架。OpenVSLAM是单眼,立体声和RGBD视觉SLAM系统。值得注意的功能是:

  • 它与各种类型的相机型号兼容,并且可以轻松地针对其他相机型号进行定制。

  • 可以存储和加载创建的地图,然后OpenVSLAM可以基于预构建的地图本地化新图像。

  • 该系统是完全模块化的。它是通过使用易于理解的API将几个功能封装在单独的组件中而设计的。

OpenVSLAM基于具有稀疏功能的间接SLAM算法,例如ORB-SLAM,ProSLAM和UcoSLAM。OpenVSLAM值得注意的功能之一是该系统可以处理各种类型的摄像机模型,例如透视,鱼眼和等角矩形。如果需要,用户可以轻松实现额外的相机模型(例如双鱼眼,折反射)。例如,上面显示了使用等矩形相机模型(例如RICOH THETA系列,insta360系列等)的可视SLAM算法。

https://github.com/xdspacelab/openvslam

3、Mvision

机器人视觉 移动机器人 VS-SLAM ORB-SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶

https://github.com/Ewenwan/MVision

4、Recent_slam_research

Track Advancement of SLAM 跟踪SLAM前沿动态【2020 version】

https://github.com/YiChenCityU/Recent_SLAM_Research

5、G2o

g2o是用于优化基于图形的非线性误差函数的开源C ++框架。g2o被设计为易于扩展到各种各样的问题,通常可以在几行代码中指定一个新问题。当前的实现为SLAM和BA的多个变体提供了解决方案。

机器人技术和计算机视觉中的许多问题都涉及最小化可以表示为图形的非线性误差函数。典型实例是同时定位和映射(SLAM)或捆绑包调整(BA)。这些问题的总体目标是找到能最大程度解释受高斯噪声影响的一组测量值的参数或状态变量的配置。g2o是用于解决此类非线性最小二乘问题的开源C ++框架。g2o被设计为易于扩展到各种各样的问题,通常可以在几行代码中指定一个新问题。当前的实现为SLAM和BA的多个变体提供了解决方案。对于特定的问题,g2o的性能可与最新方法的实现相媲美。

https://github.com/RainerKuemmerle/g2o

6、Awesome Visual Slam

基于视觉的SLAM /视觉Odometry的开源项目,博客和论文列表

https://github.com/tzutalin/awesome-visual-slam

7、Maplab

一个开放的视觉-惯性映射框架。这是一个用C ++编写的开放式,面向研究的视觉惯性映射框架,用于创建,处理和操纵多会话地图。一方面,可以将maplab视为现成的视觉惯性制图和定位系统。另一方面,maplab为研究社区提供了多会话映射工具的集合,这些工具包括地图合并,视觉惯性批处理优化和循环闭合。此外,它还包括一个在线前端ROVIOLI,它可以创建视觉惯性图,还可以跟踪本地化图中的无漂移姿态。

https://github.com/ethz-asl/maplab

8、Elasticfusion

实时密集视觉SLAM系统。实时密集可视SLAM系统,能够捕获使用RGB-D摄像机探索的房间尺度环境的综合密集全局一致的基于surfelf的地图。

https://github.com/mp3guy/ElasticFusion

9、Evo

用于评估里程表和SLAM的Python软件包。该软件包提供可执行文件和一个小型库,用于处理,评估和比较测距法和SLAM算法的轨迹输出。

https://github.com/MichaelGrupp/evo

10、Mrpt

移动机器人编程工具包(MRPT)。移动机器人编程工具包(MRPT)提供了面向移动机器人和计算机视觉研究人员的c++库。库包括SLAM解决方案、3D(6D)几何、SE(2)/SE(3)李群、点、地标、姿态和地图上的概率密度函数(pdf)、贝叶斯推理(卡尔曼滤波、粒子滤波)、图像处理、避障等。MRPT还提供了用于立体相机校准、数据集检查等的GUI应用程序。

https://github.com/MRPT/mrpt

11、Loam_velodyne

激光里程表和制图(Loam)是一种使用3D激光雷达进行状态估计和制图的实时方法。

https://github.com/laboshinl/loam_velodyne

12、LeGO-LOAM

经过地面优化的激光雷达里程表和可变地形映射。该项目包含用于ROS兼容UGV的轻型且经过地面优化的激光雷达测距和制图(LeGO-LOAM)系统的代码。系统从Velodyne VLP-16激光雷达(水平放置)和可选的IMU数据中输入点云作为输入。它实时输出6D姿态估计。

https://github.com/RobustFieldAutonomyLab/LeGO-LOAM

13、Hdl_graph_slam

hdl_graph_slam是使用3D LIDAR的实时6DOF SLAM的开源ROS软件包。它基于3D Graph SLAM,以及基于NDT扫描匹配的测距法估计和环路检测。它还支持多种图形约束,例如GPS,IMU加速度(重力矢量),IMU方向(磁传感器)和地板(在点云中检测到)。我们已经在室内和室外环境中使用Velodyne(HDL32e,VLP16)和RoboSense(16通道)传感器测试了此封装。

https://github.com/koide3/hdl_graph_slam

14、Gms Feature Matcher

GMS:基于网格的运动统计,用于快速、超健壮的特征对应(CVPR 17和IJCV 19)

https://github.com/JiawangBian/GMS-Feature-Matcher

15、Kintinuous

实时大规模密集视觉SLAM系统。仅使用一种低成本的商品RGB-D传感器,就可以实时在数百米范围内实时生成高质量的全局一致点和网格重建。

https://github.com/mp3guy/Kintinuous

16、Kimera Vio

具有SLAM功能和3D网格生成的视觉惯性里程表。

https://github.com/MIT-SPARK/Kimera-VIO

17、Open_vins

一个用于视觉-惯性导航研究的开源平台。OpenVINS项目包含一些核心计算机视觉代码以及基于过滤器的最新视觉惯性估计器。核心滤波器是扩展卡尔曼滤波器,将惯性信息与稀疏的视觉特征轨迹融合在一起。这些视觉特征轨迹是利用多状态约束卡尔曼滤波器(MSCKF)滑动窗口公式融合而成的,该公式允许3D特征更新状态估计,而无需直接估计滤波器中的特征状态。受到基于图的优化系统的启发,所包含的过滤器具有模块化功能,可通过适当的基于类型的状态系统方便地进行协方差管理。

https://github.com/rpng/open_vins

18、Xivo

XIVO是用于视觉惯性测距/映射的开源库。XIVO在存储的数据(此处来自RealSense D435i传感器)或实时流上以140FPS的速度运行,延迟时间约为1-7ms,具体取决于硬件。它以来自经过校准的摄像机的视频帧和来自IMU的惯性测量为输入,并输出具有摄像机特性属性和6 DOF姿态的稀疏点云。它执行摄像机和IMU之间的相对姿态的自动校准以及时间戳对齐。

https://github.com/ucla-vision/xivo

19、Lio Mapping

紧密耦合3D激光雷达惯性测距法和制图(LIO映射)的实现。

https://github.com/hyye/lio-mapping

20、Dynslam

动态环境中同时定位和制图的硕士论文。分别从其中重建静态环境和动态对象,例如汽车。这是一个用C ++编写的密集SLAM系统。它基于InfiniTAM构建,增加了对立体声输入,室外操作以及单独的动态对象(例如汽车)重建的支持。

https://github.com/AndreiBarsan/DynSLAM

21、Co Fusion

多目标的实时分割、跟踪和融合。这是一种密集的SLAM系统,它以RGB-D图像的实时流作为输入并将场景分为不同的对象。使用多种模型拟合方法,其中每个对象可以独立于背景移动,并且仍然有效地跟踪其形状,并且仅使用与该对象标签关联的像素信息随时间融合其形状。先前处理动态场景的尝试通常将移动区域视为机器人不感兴趣的异常值,因此不对它们的形状建模或随时间推移跟踪其运动。相比之下,我们使机器人能够维护每个分割对象的3D模型,并通过融合不断改进它们。结果,我们的系统具有使机器人能够在对象级别维护场景描述的好处,这可能允许与其工作环境进行交互。即使是动态场景。

https://github.com/martinruenz/co-fusion

22、Cube_slam

Monocular 3D Object Detection and SLAM

https://github.com/shichaoy/cube_slam

23、Dynaslam

DynaSLAM是在单目,立体声和RGB-D设置的动态环境中具有强大功能的SLAM系统。

https://github.com/BertaBescos/DynaSLAM

24、MaskFusion

实时识别、跟踪和重建多个移动对象。MaskFusion是一种实时的,可感知对象的,语义和动态RGB-D SLAM系统,它超越了仅输出仅几何图的传统系统-MaskFusion可以识别,分段并将语义类标签分配给对象中的不同对象场景,同时跟踪和重建它们,即使它们独立于摄像机移动也是如此。当RGB-D相机扫描混乱的场景时,基于图像的实例级语义分割会创建语义对象蒙版,从而实现实时对象识别以及为世界地图创建对象级表示。与以前的基于识别的SLAM系统不同,MaskFusion不需要先验知识或已知的模型即可识别并可以处理多个独立运动。MaskFusion充分利用了使用实例级语义分割来使语义标签融合到对象感知映射中的优势。我们展示了增强现实应用程序,这些应用程序展示了MaskFusion输出的地图的独特功能:实例感知,语义和动态。

https://github.com/martinruenz/maskfusion

25、Comma2k19

用于融合姿态估计器和映射算法的开发和验证的驾驶数据集。comma.ai展示了comma2k19,这是加利福尼亚州280高速公路上通勤时间超过33小时的数据集。这意味着在加利福尼亚州圣何塞和旧金山之间20公里的高速公路上行驶的2019年路段各长1分钟。comma2k19是完全可复制且可伸缩的数据集。数据是使用逗号EON收集的,逗号EON的传感器类似于任何现代智能手机,包括路面摄像头,手机GPS,温度计和9轴IMU。

https://github.com/commaai/comma2k19

26、G2opy

SLAM图优化框架g2o的Python绑定。

https://github.com/uoip/g2opy

27、Vio Doc

主流VIO论文推导及代码解析

  • VINS

  • MSCKF

  • ICE-BA

  • ROVIO

https://github.com/StevenCui/VIO-Doc

28、Stereo_ptam

Python实现的SLAM算法Stereo-PTAM。

https://github.com/uoip/stereo_ptam

29、Semantic_slam

用手持RGB-D摄像机在ROS中实现实时语义slam。语义SLAM可以仅使用手持RGB-D摄像机(例如Asus xtion)实时生成基于3D体素的语义图。我们使用ORB_SLAM2作为SLAM后端,即CNN(PSPNet)来产生语义预测并将语义信息融合到octomap中。请注意,我们的系统也可以配置为生成不带语义信息的rgb octomap。

https://github.com/floatlazer/semantic_slam

30、Interactive_slam

Interactive_slam是基于开源3D LIDAR的映射框架。与现有的自动SLAM软件包相反,我们旨在开发一种半自动框架,该框架使用户能够以最少的人工来交互且直观地纠正制图失败(例如,里程表损坏,回路错误检测,地图变形等)。该框架提供了几种地图校正功能:

  • [手动和自动]循环关闭

  • [手册]基于平面的地图校正

  • [手册]多个地图合并

  • [自动]姿势边缘细化

https://github.com/SMRT-AIST/interactive_slam

31、Awesome Slam

主要总结了GitHub上与SLAM / VO相关的很棒的存储库,包括PC端,移动端的存储库以及一些对学习者友好的教程。

https://github.com/YoujieXia/Awesome-SLAM

32、Recent Stars 2020

SLAM,姿势/对象跟踪,深度/视差/流估计,3D图形等相关论文和代码。

https://github.com/Vincentqyw/Recent-Stars-2020

33、Orb_slam_2_ros

这是用于单目,立体声和RGB-D摄像机的ORB-SLAM2实时SLAM库的ROS实现,可计算摄像机的轨迹和稀疏的3D重建(在具有真实比例的立体声和RGB-D情况下)。它能够实时检测环路并重新定位摄像机。

https://github.com/appliedAI-Initiative/orb_slam_2_ros

34、Camlasercalibratool

摄像机和二维激光的外部标定。这是一个基于 ROS 的单线激光和相机外参数自动标定代码。标定原理如下图所示,相机通过二维码估计标定板平面在相机坐标系下的平面方程,由于激光点云落在平面上,将点云通过激光坐标系到相机坐标系的外参数 $ T_{cl} $ 转换到相机坐标系,构建点到平面的距离作为误差,使用非线性最小二乘进行求解。

https://github.com/MegviiRobot/CamLaserCalibraTool

35、Easy_slam_tutorial

首个中文的简单从零开始实现视觉SLAM理论与实践教程,使用Python实现。包括:ORB特征点提取,对极几何,视觉里程计后端优化,实时三维重建地图。A easy SLAM practical tutorial (Python).图像处理、otsu二值化。

https://github.com/varyshare/easy_slam_tutorial

36、Orb Slam2 Based Ar On Android

这是一个基于ORB-SLAM2和OpenGL的Android增强现实应用,它可以很好地工作在户外和室内环境中。

https://github.com/muziyongshixin/ORB-SLAM2-based-AR-on-Android

37、Visual Gps Slam

这是作者硕士论文关于视觉SLAM与GPS融合的研究报告。它包含了研究论文,代码和其他有趣的数据。

https://github.com/GSORF/Visual-GPS-SLAM

38、Orb_slam_2_ros

python实现3D可视化库Pangolin。

https://github.com/uoip/pangolin

39、Vi_orb_slam2

基于ORB-SLAM2的单目/立体视觉惯性ORB-SLAM。

https://github.com/YoujieXia/VI_ORB_SLAM2

40、Deep Learning Interview Book

深度学习面试宝典(含数学、机器学习、深度学习、计算机视觉、自然语言处理和SLAM等方向)

https://github.com/amusi/Deep-Learning-Interview-Book

更多阅读:

1、SLAM开发最强最全资源汇总:

https://zhuanlan.zhihu.com/p/137761414

2、SLAM学习资源 | 国内外优秀实验室汇总:

https://zhuanlan.zhihu.com/p/140499750

END

备注:slam

SLAM交流群

SLAM、增强现实(AR)、机器人等最新技术,

若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

推荐收藏 | SLAM优秀开源工程汇总相关推荐

  1. 汇总| SLAM优秀开源工程

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1.Cartographer Cartographer是一个系统,可跨多个平台和传感器配置以2D和3D ...

  2. SLAM优秀开源工程大汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理了三次方AIRX团队平时学习SLAM的一些开源工程.书籍.论文项目等. 1.Cartographe ...

  3. 技术福利:最全实时音视频开发要用到的开源工程汇总

    [转自] https://my.oschina.net/jb2011/blog/1619628 1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前 ...

  4. Golang优秀开源项目汇总(持续更新。。。)

    Golang优秀开源项目汇总(持续更新...) 我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open ...

  5. Android 优秀开源项目汇总

    收集总结 Android 项目中值得推荐的优秀开源项目,将收集到的开源项目分类汇总到表格中,并在后面对项目进行介绍. 表格中的数据会定期进行更新,希望大家能遇到自己喜欢的优秀项目,学习或者使用.同时, ...

  6. 福利贴:最全实时音视频开发要用到的开源工程汇总

    1.前言 实时音视频的开发学习有很多可以参考的开源项目.一个实时音视频应用共包括几个环节:采集.编码.前后处理.传输.解码.缓冲.渲染等很多环节.每一个细分环节,还有更细分的技术模块.比如,前后处理环 ...

  7. 推荐收藏:河海大学物联网工程学院历年复试线汇总

    大家好,我是大巴学长,最近不少同学咨询学长河海大学近几年复试线.学长今天就抽时间把物联网工程学院近八年来(2013-2020)的复试线为大家汇总了,并把2020年复试要求和2019年复试要求为大家梳理 ...

  8. 40个姿态估计优秀开源项目汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨AIRX社区 编辑丨极市平台 1.AlphaPose 实时全身多人姿势估计与跟踪系统.它是第一个 ...

  9. 推荐.neter常用优秀开源项目系列之二

    .net社区有很多优秀的开源项目,我们今天再推荐12个开源项目: 1. Domain-Driven-Design-Example DDD 示例 挺不错的. github https://github. ...

最新文章

  1. shocked的歌曲 类似shell_Wiz Khalifa - Shell Shocked[FLAC格式]
  2. C# winform自己实现Windows消息处理
  3. python 判断div 之间的内容是否为空_python实现单向链表数据结构及其基本方法
  4. fork source exec区别差异
  5. 生成指定序列的前一字典序序列(洛谷P2525题题解,C++语言描述)
  6. python Scrapy爬取天气预报,零基础的你也可以快速上手
  7. mysql锁表查询_Mysql upate 更新锁表还是锁行测试
  8. C# 多线程同步和线程通信
  9. BZOJ2142: 礼物
  10. 基于SIFT特征提取的图像拼接算法matlab仿真
  11. CSS实现文字动画效果
  12. Mac OS X 键盘字母键和数字键的切换
  13. Google 以图搜图 - 相似图片搜索原理 - Java实现
  14. 2001-2022年全国各城市风速数据(逐日、逐月、逐年)
  15. 孤尽班第22天 -- 系统安全规约
  16. 如何在Mac上的Pages文稿中升高和降低字符和文本?
  17. python在查询sqlServer中numeric类型时出现形如0e-8问题
  18. 谷歌chrome浏览器不能启动完美解决
  19. 2个用到数学归纳法的有意思的证明
  20. 记录一次自己刷bios

热门文章

  1. 医药计算机人员试题及答案,医药计算机应用试题.doc
  2. mysql state_MySQL进程常见的State【转】
  3. linux 内核模型,The Linux Kernel Device Model - Overview -- Linux 内核设备模型概述
  4. frps 多个_同时穿透多个内网web服务,提示冲突
  5. php 表单条件设置_PHP基础知识总结
  6. educoder实训平台java入门_educoder上的实训题目(学习-Java包装类之Byte类)
  7. c语言编写考试程序,c语言考试编写三个程序:1.从键盘输入一些字符,逐个把它们送到磁? 爱问知识人...
  8. mysql win10 无法配置文件_MySQL设置文件无法更改的处理方案详细说明(Win10)
  9. linux下mysql目录结构_linux下mysql安装、目录结构、配置
  10. python误删文件怎么恢复_记录一次脚本误删文件后恢复