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

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

3天内不再提示

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

新机器视觉 来源:CSDN博主 作者:CSDN博主 2021-03-20 09:13 次阅读

SLAM是机器人自动驾驶等应用重要的基础技术,如果离开了SLAM,相当于人类失去了双眼。SLAM可分为激光SLAM和视觉SLAM,视觉SLAM主要是基于相机来完成环境的感知工作,相对而言,相机成本较低,容易放到商品硬件上,且图像信息丰富,因此视觉SLAM也备受关注。本文主要是对之前关于视觉SLAM方案和硬件选型调研的总结,文中有关的视频是从youtube上收集的,上传到了百度网盘,有需自取。

01

SLAM的引入

1.1定义

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

1.2开发背景

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

引入SLAM的主要目的如下:

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

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

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

02

视觉SLAM

2.1 经典视觉SLAM框架

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

a1751f38-88ee-11eb-8b86-12bb97331649.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的建图功能也不可或缺。

图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所示。

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

图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所示:

表2-1 开源SLAM方案汇总

03

视觉SLAM设备选型

3.1 设备选型的重要性说了这么多,终于到了设备选型这一部分。设备选型的重要性不言而喻,毕竟“好模型架不住坏数据”,SLAM模型建立得再好,如果设备采集的数据本身误差过大,计算结果必定也不够理想。先以VINS项目为例,根据论文内容他们的设备型号和具体信息如下。 相机模块:单目相机,型号为MatrixVision的mvBlueFOX-MLC200w,具有全局快门;cmos型号为MT9V034,单色,分辨率为752X480,帧率20Hz IMU:该模块使用的是大疆的集成飞控模块A3的内置IMU模块,芯片型号为ADXL278和ADXRS290(都为工业级IMU芯片);可以确定A3内置对IMU的校准去躁等处理算法。

图3-1 VINS中设备型号 由此看来VINS选用的硬件是具有一定要求的,其采集数据的精度也对SLAM算法最终的效果产生正向作用。所以如果我们选用了精度没那么高的消费级IMU配合单目相机采集数据时,VINS的输出结果就不一定能够达到论文中的精度了。3.2 设备类型选择我们的项目中工作环境为室外,对传感器选型提出了较高要求。以RGBD相机为例,很多基于结构光或者TOF方案的深度摄像头在室外表现不佳,主要原因是室外自然光的影响。个人初步倾向于选用双目或者RGBD(双目某些情况下可视为RGBD)+IMU的方案,主要理由如下: 1)双目/RGBD+IMU的硬件,可在此基础上尝试基于单目/双目/RGBD/单目+IMU/双目+IMU等多种开源SLAM方案;反之单目+IMU的设备对开源方案的限制较大(只能是单目/单目+IMU) 2)单目SLAM在建图方面,尤其是深度估计方面,对场景适应性不好且精度较差。双目/RGBD因为可以计算得到深度,在建图方面相对具有优势,更容易建立“稠密”地图 3)SLAM定位实现中,基于单目的方案其计算量也要比基于双目/RGBD要大,且因为引入了三角测量部分,对于环境适应性较差 所以在选型方面,我主要聚焦在双目/RGBD类型;同时为了加快开发进程,若选择能够提供开发SDK等工具的厂家,可以省去对于相机的标定、数据同步等开发工作。 经过一些筛选后,个人列出如下备选设备。有关设备的参数信息在下方链接中都有详细说明,我只列出一些重要参数。3.2.1 ZED

图3-2 zed双目相机 1)官网:https://www.stereolabs.com/zed/ 2)基本参数:基于双目原理匹配计算深度信息,分辨率最高可达2.2K@15fps(4416X1242);Field of View: 90°(H) X 60°(V) X 110°(D);室内外最远20m深度感知;使用GPU加速运算(支持TX1、TX2) 3)SDK:提供SDK,支持包括Windows、LinuxROS等开发平台;使用SDK能够获得双目图像和深度图像、机器人位姿跟踪(官网称频率可达100Hz,位置精度达到1mm,角度精度达到0.1°)、3D重建等功能 4)应用:在网上搜到一些评测和应用视频,主要内容总结如下。 A.视频1(见“视频/zed/Realtime depth test using ZED stereo camera.mp4”)表明zed在深度计算方面室外表现较好,距离方面应该可以达15m以上;测距精度方面官方未给出参数,从双目原理上来说深度测距精度与测量距离的平方成正比,仅从zed输出的深度图上来看,深度图数据比较连续,未出现明显的误差情况。

图3-3 zed在室外测量深度的表现 B. 3D重建也是SLAM的一种应用,使用SLAM输出的全局世界坐标结合RGB信息可实现真实世界中场景的三维绘制,所以3D重建的效果好坏能够在一定程度上代表设备的深度计算精度与SLAM效果。从官方视频和youtube上视频(见“视频/zed/Introducing ZED for Live 3D Mapping.mp4”,“视频/zed/Outdoor Test for Graph-based RGB-D SLAM using ZED camera on UGV and UAV.mp4”,“视频/zed/ZEDfu - Real-time 3D Mapping using ZED stereo camera.mp4”)的测试效果来看,3D重建效果还是不错的,物体轮廓比较连续,未出现明显的边界不重合的情况。

图3-4 使用zed进行三维重建 C.有研究人员在室外汽车上使用zed采集信息接入ORB-SLAM2计算车辆的位姿(见“视频/zed/Evaluation of ORB-SLAM2 in outdoor urban scenes using ZED stereo camera.mp4”)。测量结果表明(1)在停车场环境和街道环境下大都能够实现闭环检测(2)非极端情况下相机采集的图像满足特征提取需求(3)车速越快对于相机帧率要求越高,zed在WVGA分辨率下帧率可到100Hz,满足了图像采集频率要求。

图3-5 使用zed接入ORB_SLAM2进行室外定位 5)价格:国外官网上为$449,国内淘宝上价格3200-3800元不等3.2.2 Intel D415/D435系列

图3-6 Intel D415/D435 1)官网:https://software.intel.com/zh-cn/realsense/d400 2)基本参数:基于主动红外测距(激光散斑增加纹理后立体匹配测距);RGB分辨率和帧率为1920X1080@30fps;内置视觉处理器可直接输出计算深度,深度流输出分辨率和帧率为1280X720@90fps;室内外检测范围为0.16m-10m;D415为卷帘快门,D435为全局快门

图3-7 D415/D435详细参数对比 3)SDK:支持Linux/windows/Mac OS,可获得彩色图像与深度图像,设置相机参数等 4)应用:根据网上相关测评视频整理如下 A.有人对比了D415和D435在室内的表现(见“视频/Intel/Intel RealSense D435 vs D415.mp4”),摄像头如图3-8所示放置。分别比较了彩色图、远距离深度图、近距离深度图的效果,具体如图3-9所示。结果表明D435在远距离深度图上效果要优于D415,后者出现较大面积的空洞(计算不出深度信息)。不过由于两个摄像头的测量环境并不完全一致,同时存在发射的红外光互相干涉影响的可能性,该结论是否成立不予保证。

图3-8 D435与D415对比

图 3-9 D435(左边)与D415(右边)室内表现效果对比 B.有人在室外街道中使用D415观察其深度信息(见“视频/Intel/Review on Intel Realsense D415 RGBD Camera Part 2_ Outdoor test.mp4”),具体效果如图3-10所示。结果表明: (1)室外D415的深度检测距离应该可以达到10m (2)相对于室内,室外的深度图噪点较多,这应该是自然光对于D415发射的红外光的影响,造成图像匹配失败或者误匹配

图3-10 D415在室外的深度测距表现 C.有人将D435固定在汽车上查看道路的深度信息(见“视频/Intel/Realsense D435 - Outdoor test on road.mp4”),这里截取几幅图像如图3-11所示。可以得出: (1)D435在室外能够获得比较丰富的深度信息 (2)D435深度计算错误/失败的情况多于zed 5)价格:官网上D435为$179.00,国内价格¥1500不等;官网上D415为$149.00,国内淘宝价格¥1300不等

图3-11 D435在室外深度测距表现3.2.3小觅双目摄像头

图3-12 小觅双目摄像头外观 1)官网链接 http://www.myntai.com/camera 2)基本参数:基于双目测距,内置6轴IMU(ICM2060,消费级IMU)。有常规版(即被动双目)和IR增强版(原理应该是激光散斑增加纹理后立体匹配测距),黑白CMOS,分辨率752X480@50FPS。

图3-13 小觅双目摄像头详细参数 3)SDK:支持Windows、Linux、TX1、TX2;基于CPU/GPU计算深度信息;提供接入了OKVIS、ORB-SLAM2、VINS、VIORB(都是开源SLAM工程)的sample 4)应用:目前尚未找到相关评测信息,不过据知乎上一些问题的回答,该模块的售后支持不错。深度图效果方面,只有天猫旗舰店上提供的一小段室内测试视频(见“视频/MYNT-EYE/室内景深测试.mp4”),截图如图3-14所示。个人感觉深度效果计算较差,有较多的计算错误点出现;无法判断深度范围大小能否达到宣称的20m。

图3-14 MYNT-EYE室内深度测试效果 5)价格:天猫¥1999.00 现在对以上几款设备进行一个信息的对比整理,如表3-1所示。

ab109126-88ee-11eb-8b86-12bb97331649.png

表3-1 三款设备主要信息对比3.3 个人意见整体看来,个人首先推荐zed,其次推荐DM435和MYNT-EYE。若选用zed或者D435后准备测试融合了IMU的开源SLAM方案时,可使用IMU模块采集相关信息,之后自己做数据同步。

责任编辑:lq

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

    关注

    2526

    文章

    48092

    浏览量

    740016
  • 机器人
    +关注

    关注

    206

    文章

    27033

    浏览量

    201389
  • SLAM
    +关注

    关注

    22

    文章

    390

    浏览量

    31590

原文标题:超全总结!视觉SLAM方案整理及硬件选型(附项目地址)

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法中引入深度学习技术,使得深度学习SLAM系统
    发表于 04-23 17:18 60次阅读
    深度解析深度学习下的语义<b class='flag-5'>SLAM</b>

    基于多摄像头的高鲁棒性视觉SLAM系统设计

    本文的主要目标是通过扩展ORB-SLAM2的功能来增强准确性,从多个摄像头中的姿态估计和地图重用开始。所有这些多摄像头的图像特征将被合并到跟踪模块中进行特征匹配,以及在闭环检测期间进行位置识别。
    发表于 04-20 17:51 87次阅读
    基于多摄像头的高鲁棒性<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>系统设计

    工程实践中VINS与ORB-SLAM的优劣分析

    ORB-SLAM是一种基于特征的单目视觉SLAM系统,广泛用于实时三维地图构建和机器人定位。该系统使用ORB特征进行高效的视觉识别和地图重建,支持关键帧技术和回环检测来优化地图的准确性
    的头像 发表于 04-08 10:17 366次阅读
    工程实践中VINS与ORB-<b class='flag-5'>SLAM</b>的优劣分析

    什么是SLAMSLAM算法涉及的4要素

    SLAM技术可以应用在无人驾驶汽车、无人机、机器人、虚拟现实等领域中,为这些领域的发展提供了支持。SLAM技术的发展已经逐渐从单纯的定位和地图构建转向了基于场景理解的功能。
    发表于 04-04 11:50 241次阅读

    机器视觉选型方式!

    我们将向各位毫无保留地介绍机器视觉入门核心技巧,这些信息正是菲特高级工程们在上百次的应用案例中提取的学习精华。机器视觉初学者也可以轻松入门,不担心起步难度;且今日所学是“充分且必要”的,可以应用在日后工作中,边学边练,早日成为“选型
    的头像 发表于 01-23 16:33 432次阅读
    机器<b class='flag-5'>视觉</b><b class='flag-5'>选型</b>方式!

    动态环境中基于神经隐式表示的RGB-D SLAM

    神经隐式表示已经被探索用于增强视觉SLAM掩码算法,特别是在提供高保真的密集地图方面。
    的头像 发表于 01-17 10:39 487次阅读
    动态环境中基于神经隐式表示的RGB-D <b class='flag-5'>SLAM</b>

    基于视觉SLAM的研究现状

    目前视觉SLAM系统可以在微型个人计算机(PC)和嵌入式设备中运行,甚至可以在智能手机等移动设备中运行(Klein和Murray,2009)。与室内或室外移动机器人不同,自动驾驶车辆具有更复杂的参数,尤其是当车辆在城市环境中自动驾驶时。
    发表于 12-04 09:22 730次阅读
    基于<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>的研究现状

    探讨目前主流3D激光SLAM算法方案

     激光SLAM局部定位精度高但全局定位能力差且对环境特征不敏感,而视觉SLAM全局定位能力好但局部定位相对激光雷达较差,两者融合可以提高SLAM系统的精度和鲁棒性。
    发表于 10-23 11:01 819次阅读
    探讨目前主流3D激光<b class='flag-5'>SLAM</b>算法<b class='flag-5'>方案</b>

    3D重建的SLAM方案算法解析

    GO-SLAM主要还是基于NeRF进行稠密重建,可以发现相较于NICE-SLAM这些SOTA方案,GO-SLAM重建场景的全局一致性更好,这主要是因为它引入了回环和全局BA来优化累计误
    发表于 09-11 10:03 784次阅读
    3D重建的<b class='flag-5'>SLAM</b><b class='flag-5'>方案</b>算法解析

    SLAM领域中的VIO(视觉惯性里程计)

    IMU测量可以提高视觉SLAM在某些复杂场景的鲁棒性,在于相机快速运动、动态障碍物、光线明暗变化明显、环境中纹理缺失等导致图像信息质量较差的情况下,利用IMU信息仍能得到有效的定位结果。
    的头像 发表于 09-07 16:57 1371次阅读
    <b class='flag-5'>SLAM</b>领域中的VIO(<b class='flag-5'>视觉</b>惯性里程计)

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

    近年来,SLAM技术取得了惊人的发展,领先一步的激光SLAM已成熟的应用于各大场景中,视觉SLAM虽在落地应用上不及激光SLAM,但也是目前
    的头像 发表于 09-05 09:31 1783次阅读
    <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>框架解读

    什么是线扫系统 线扫系统机器视觉部分的选型要点

    一个面阵视觉系统的配置选型是按照这样的顺序进行的:相机+采集卡->镜头->光源。线阵视觉系统也类似,首先根据系统的检测精度和速度要求,确定线阵 CCD 相机分辨率和行扫描速度,同时确定对应的采集卡。
    发表于 09-01 10:44 333次阅读

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

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

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

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

    slam技术研究现状 SLAM技术开发和应用挑战

    融合。   作为AR和计算机视觉领域的领先企业,谷东科技受邀参与本次技术了论坛,与业内专家和学者进行深入的交流和探讨,共同探索SLAM技术在现实世界中的发展和应用前景。我们分享了在SLAM技术方面的最新成果和经验,包括基于深度学
    的头像 发表于 08-01 09:37 585次阅读