0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

视觉SLAM开源方案汇总及设备选型建议

INDEMIND 来源:INDEMIND 2023-04-23 11:09 次阅读

本文重点分享了SLAM原理、视觉SLAM框架、开源SLAM分类及传感器选择等方面内容。

01SLAM的引入

1.1定义

SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器主要为相机,那就称为“视觉 SLAM”。

1.2开发背景

321f2ed6-e034-11ed-bfe3-dac502259ad0.png

图1-1 SLAM中建图的分类与作用

引入SLAM的主要目的如下:

1)建图

使用SLAM可在传感器具有良好表现的环境下建立精度较高的全局地图,建立好的地图会为后面的定位、导航等功能提供服务。

2)定位

视觉SLAM中可通过帧间数据匹配计算相机的相对变换,对应的就是机器人的位姿信息,不过该计算结果中存在累计误差的影响;利用SLAM建立的全局地图,通过相机采集到的环境信息与地图进行匹配可以减小累积误差的影响,获得更加精准的机器人位姿。

3)导航

如果我们建立的地图中包含了“哪些地方可以通过,哪些地方不能通过”的信息,那么我们可以以此实现机器人在地图中从某一起点到某一终点的路径规划与跟踪,并能够对地图中固定障碍物实现避障。但这对我们能够建立的地图有要求,需要是“稠密”地图。

02视觉SLAM

2.1 经典视觉SLAM框架

SLAM至今已历经三十多年的研究,这里给出经典视觉SLAM框架,这个框架本身及其包含的算法已经基本定型,并且已经在许多视觉程序库和机器人程序库中提供。

32338d18-e034-11ed-bfe3-dac502259ad0.png

图2-1 经典视觉SLAM框架

我们把整个视觉 SLAM 流程分为以下几步:

1)传感器信息读取,在视觉 SLAM 中主要为相机图像信息的读取和预处理。如果在机器人中,还可能有码盘、惯性传感器等信息的读取和同步。

2)视觉里程计(Visual Odometry, VO),视觉里程计任务是估算相邻图像间相机的运动,以及局部地图的样子,VO 又称为前端(Front End)。

3)后端优化(Optimization),后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。由于接在 VO 之后,又称为后端(Back End)。

4)回环检测(Loop Closing),回环检测判断机器人是否曾经到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。

5)建图(Mapping),它根据估计的轨迹,建立与任务要求对应的地图。

某些使用场合中,我们只截取SLAM的部分功能应用到实际场景中。举例来说只使用VO部分我们可以得到连续的相机相对运动信息,虽然该运动信息存在累计误差,但应用中对此要求不高甚至不做要求,譬如VR头显中计算头显设备运动时的位姿。

不过一般在机器人应用场景中,个人认为建图功能也是不可或缺的。因为前端包括后端优化得到的运动信息始终包含累积误差,该累积误差在SLAM中只能通过回环检测(机器人回到某一处曾经经过的地方且系统识别出来)或者与事先建立好的具有较高精度的全局地图匹配来消除。但是机器人在实际运动中,不能保证全局路径一定会有重叠处,也就是说在SLAM计算中很可能出现不存在回环的情况,此时累积误差只能通过与全局地图匹配来消除,因此SLAM的建图功能也不可或缺。

3240ff98-e034-11ed-bfe3-dac502259ad0.png

图2-2 回环检测消除累积误差

这一点在VINS开源项目(香港科技大学团队基于单目+IMU开发的开源SLAM方案)中的测试视频(见“视频/VINS/[Open Source] VINS-Mono_ Monocular Visual-Inertial System in EuRoC MAV Dataset (MH_05 V1_03).mp4”)中也有体现。在回环检测前,SLAM计算得到的位姿与真实位姿之间已经产生了很大的偏差,如图2-3所示;该偏差只有在相机回到了曾经经过的地方且SLAM成功执行了回环检测后才得到了消除,如图2-4所示。

324db760-e034-11ed-bfe3-dac502259ad0.png

图2-3 未进行回环检测前的位姿累积误差

325c2926-e034-11ed-bfe3-dac502259ad0.png

图2-4 回环检测消除累计误差

2.2视觉SLAM方案的分类

视觉SLAM方案可按照传感器的不同(单目、双目、RGBD、与IMU的组合等)、前端方法的不同(主要分为直接法和特征点法)、后端优化方案的不同(滤波或者非线性优化)、生成地图形式的不同(稀疏地图、稠密地图等)具有不同的划分。这里主要以传感器的不同对slam方案进行简单的介绍。

1)单目slam

只使用一个摄像头采集信息,在尺度完成初始化的情况下(即相机初始阶段进行了一段位移且确定了该段位移的实际大小作为参考),能够完成连续图像间相机位姿的计算与建图。优点在于设备简单,成本低。缺点在于存在尺度漂移现象;图像的深度信息只能通过三角测量计算得到,对环境适应性差;在相机位移较小时计算误差较大,建图精度不高。

2)双目slam

使用双目相机采集信息,双目相机可以通过立体视觉原理计算得到像素深度,这样就不存在单目slam中深度未知的情况。优点在于对环境的适应性要高于单目slam,且能够计算得到像素真实深度;缺点在于像素深度计算量较大,一般通过FPGA或者GPU加速实现实时计算输出。

3)RGBD SLAM

RGBD相机是指能够同时输出RGB图像和对应的深度图的相机,其测量像素深度不再通过耗时的被动双目匹配计算,而是通过激光散斑增加图像纹理加速计算或者硬件测量(结构光、TOF等)实现。因此它可以看做减小了计算量的双目SLAM,但是RGBD相机普遍在室外表现效果不佳,更多用于室内环境。

4)近年来有学者提出单目/双目+IMU的slam方案,其中IMU主要起到的作用包括:

(1)解决单目slam的初始化尺度问题

(2)追踪中提供较好的初始位姿

(3)提供重力方向

(4)提供一个时间误差项以供优化。理论上来说IMU提供了冗余的运动信息,通过数据融合可以得到更加精确的运动估计。

从实现难度上来看:单目SLAM>双目SLAM>RGBD SLAM。

2.3 开源视觉SLAM方案汇总

目前比较流行的开源视觉SLAM方案如表2-1所示:

方案名称 传感器形式 地址
MonoSLAM 单目 https://github.com/hanmekim/SceneLib2
PTAM 单目 http://www.robots.ox.ac.uk/~gk/PTAM/
ORB-SLAM2 单目/双目/RGBD https://github.com/raulmur/ORB_SLAM2
LSD-SLAM 单目为主 http://vision.in.tum.de/research/vslam/lsdslam
SVO 单目 https://github.com/uzh-rpg/rpg_svo
DTAM RGB-D https://github.com/anuranbaka/OpenDTAM
DVO RGB-D https://github.com/tum-vision/dvo_slam
DSO 单目 https://github.com/JakobEngel/dso
RTAB-MAP 双目/RGB-D https://github.com/introlab/rtabmap
RGBD-SLAM-V2 RGB-D https://github.com/felixendres/rgbdslam_v2
Elastic Fusion RGB-D https://github.com/mp3guy/ElasticFusion
OKVIS 多目+IMU https://github.com/ethz-asl/okvis
ROVIO 单目+IMU https://github.com/ethz-asl/rovio
VINS 单目+IMU https://github.com/HKUST-Aerial-Robotics/VINS-Mono

表2-1 开源SLAM方案汇总

03

视觉SLAM设备选型

3.1 设备选型的重要性

设备选型的重要性不言而喻,毕竟“好模型架不住坏数据”,SLAM模型建立得再好,如果设备采集的数据本身误差过大,计算结果必定也不够理想。先以VINS项目为例,根据论文内容他们的设备型号和具体信息如下。

相机模块:单目相机,型号为MatrixVision的mvBlueFOX-MLC200w,具有全局快门;cmos型号为MT9V034,单色,分辨率为752X480,帧率20Hz。

IMU:该模块使用的是大疆的集成飞控模块A3的内置IMU模块,芯片型号为ADXL278和ADXRS290(都为工业级IMU芯片);可以确定A3内置对IMU的校准去躁等处理算法。

326b44ce-e034-11ed-bfe3-dac502259ad0.png

图3-1 VINS中设备型号

由此看来VINS选用的硬件是具有一定要求的,其采集数据的精度也对SLAM算法最终的效果产生正向作用。

3.2 设备类型选择

以RGBD相机为例,很多基于结构光或者ToF方案的深度摄像头在室外表现不佳,主要原因是室外自然光的影响。个人初步倾向于选用双目或者RGBD(双目某些情况下可视为RGBD)+IMU的方案,主要理由如下:

1)双目/RGBD+IMU的硬件,可在此基础上尝试基于单目/双目/RGBD/单目+IMU/双目+IMU等多种开源SLAM方案;反之单目+IMU的设备对开源方案的限制较大(只能是单目/单目+IMU)。

32939906-e034-11ed-bfe3-dac502259ad0.png

INDEMIND双目惯性模组(点击原文链接了解详情)

2)单目SLAM在建图方面,尤其是深度估计方面,对场景适应性不好且精度较差。双目/RGBD因为可以计算得到深度,在建图方面相对具有优势,更容易建立“稠密”地图。

3)SLAM定位实现中,基于单目的方案其计算量也要比基于双目/RGBD要大,且因为引入了三角测量部分,对于环境适应性较差。

所以在选型方面,可主要聚焦在双目/RGBD类型;同时为了加快开发进程,可选择类似INDEMIND双目惯性模组提供开发SDK等工具的产品,可以省去对于相机的标定、数据同步等开发工作。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    50999

    浏览量

    752957
  • 机器人
    +关注

    关注

    211

    文章

    28366

    浏览量

    206887
  • SLAM
    +关注

    关注

    23

    文章

    423

    浏览量

    31814

原文标题:干货丨视觉SLAM开源方案汇总及设备选型建议

文章出处:【微信号:gh_c87a2bc99401,微信公众号:INDEMIND】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是SLAM视觉SLAM怎么实现?

    上周的组会上,我给研一的萌新们讲解什么是SLAM,为了能让他们在没有任何基础的情况下大致听懂,PPT只能多图少字没公式,这里我就把上周的组会汇报总结一下。 这次汇报的题目我定为“视觉SLAM:一直在
    的头像 发表于 08-21 10:02 1w次阅读
    什么是<b class='flag-5'>SLAM</b>?<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>怎么实现?

    视觉SLAM特征点法与直接法对比分析

    视觉SLAM——特征点法与直接法对比以及主流开源方案对比 ORB LSD SVO DSO
    发表于 06-02 16:56

    视觉SLAM笔记总结

    【总结】视觉SLAM笔记整理
    发表于 07-17 14:05

    激光SLAM视觉SLAM有什么区别?

    机器人定位导航中,目前主要涉及到激光SLAM视觉SLAM,激光SLAM在理论、技术和产品落地上都较为成熟,因而成为现下最为主流的定位导航方式,在家用扫地机器人及商用送餐机器人等服务机
    发表于 07-05 06:41

    基于视觉slam自动驾驶

    基于视觉slam自动驾驶,这是我们测试的视频《基于slam算法的智能机器人》调研分析报告项目背景分析机器人曾经是科幻电影中的形象,可目前已经渐渐走入我们的生活。机器人技术以包含机械、电子、自动控制
    发表于 08-09 09:37

    激光SLAM视觉VSLAM的分析比较

    什么是激光SLAM视觉VSLAM又是什么?激光SLAM视觉VSLAM有哪些不同之处?
    发表于 11-10 07:16

    高压成套开关设备--常用供配电设备选型手册,第四册

    高压成套开关设备--常用供配电设备选型手册,第四册
    发表于 04-21 09:12 0次下载
    高压成套开关<b class='flag-5'>设备</b>--常用供配电<b class='flag-5'>设备选型</b>手册,第四册

    视频会议系统设备选型常识

    视频会议系统设备选型常识 视频会议系统传送的是多媒体数据,与普通数据不同,由于声音和动态图像的源信号的数据量较大,无法
    发表于 02-21 09:21 369次阅读

    海上风电场群输电关键设备选型优化

    输电系统关键设备选型对海上风电系统的经济性影响至关重要,而海上风资源特性是其选型的关键影响因素。考虑到风资源高风速区间累计分布占比小的特点,提出了考虑高风速截尾风险的海上风电场群输电关键设备选型优化
    发表于 12-17 11:05 0次下载
    海上风电场群输电关键<b class='flag-5'>设备选型</b>优化

    科普|视觉SLAM是什么——三种视觉SLAM方案

    ,就相当于人类失去了双眼一样。 一、什么是视觉SLAM? SLAM的英文全称是Simultaneous Localization and Mapping,中文称作「即时定位与地图创建」,而视觉
    的头像 发表于 04-17 09:21 5.6w次阅读

    视觉SLAM方案和硬件选型调研的总结

    SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器主要为相机,那就称为“视觉
    的头像 发表于 03-20 09:13 4299次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b><b class='flag-5'>方案</b>和硬件<b class='flag-5'>选型</b>调研的总结

    油田污水处理仪表设备选型原则

    油田污水处理工艺介质、化学药剂具有腐蚀性强、组分复杂等特点。本工程涉及到盐酸、氢氧化钠、除油剂、混凝剂及助凝剂等。对于仪表设备选型,尤其是接液材质的选型具有很高的要求。选型原则为仪表
    的头像 发表于 07-26 08:40 946次阅读

    经典视觉SLAM框架开源方案

    SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器主要为相机,那就称为“视觉
    发表于 12-05 10:16 1515次阅读

    视觉SLAM开源方案汇总 视觉SLAM设备选型

    SLAM至今已历经三十多年的研究,这里给出经典视觉SLAM框架,这个框架本身及其包含的算法已经基本定型,并且已经在许多视觉程序库和机器人程序库中提供。
    发表于 08-10 14:15 1057次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b><b class='flag-5'>开源</b><b class='flag-5'>方案</b><b class='flag-5'>汇总</b> <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b><b class='flag-5'>设备选型</b>

    视觉SLAM是什么?视觉SLAM的工作原理 视觉SLAM框架解读

    近年来,SLAM技术取得了惊人的发展,领先一步的激光SLAM已成熟的应用于各大场景中,视觉SLAM虽在落地应用上不及激光SLAM,但也是目前
    的头像 发表于 09-05 09:31 3947次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>是什么?<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>的工作原理 <b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>框架解读