当前位置:文档之家› 多维度对比激光SLAM与视觉SLAM

多维度对比激光SLAM与视觉SLAM

多维度对比激光SLAM与视觉SLAM

多维度对比激光SLAM与视觉SLAM

SLAM(同步定位与地图构建),是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程,解决机器人等在未知环境下运动时的定位与地图构建问题。目前,SLAM 的主要应用于机器人、无人机、无人驾驶、AR、VR 等领域。其用途包括传感器自身的定位,以及后续的路径规划、运动性能、场景理解。

由于传感器种类和安装方式的不同,SLAM 的实现方式和难度会有一定的差异。按传感器来分,SLAM 主要分为激光SLAM 和VSLAM 两大类。其中,激光SLAM 比VSLAM 起步早,在理论、技术和产品落地上都相对成熟。基于视觉的SLAM 方案目前主要有两种实现路径,一种是基于RGBD 的深度摄像机,比如Kinect;还有一种就是基于单目、双目或者鱼眼摄像头的。VSLAM 目前尚处于进一步研发和应用场景拓展、产品逐渐落地阶段。

激光SLAM:早在2005 年的时候,激光SLAM 就已经被研究的比较透彻,框架也已初步确定。激光SLAM,是目前最稳定、最主流的定位导航方法。

激光SLAM 地图构建

VSLAM(基于视觉的定位与建图):随着计算机视觉的迅速发展,视觉SLAM 因为信息量大,适用范围广等优点受到广泛关注。

(1)基于深度摄像机的Vslam,跟激光SLAM 类似,通过收集到的点云数据,能直接计算障碍物距离;

(2)基于单目、鱼眼相机的VSLAM 方案,利用多帧图像来估计自身的位姿变化,再通过累计位姿变化来计算距离物体的距离,并进行定位与地图构建;

视觉SLAM 地图构建,图片来源:百度AI

一直以来,不管是产业界还是学术界,对激光SLAM 和VSLAM 到底谁更胜一筹,谁是未来的主流趋势这一问题,都有自己的看法和见解。下面就简单从几个方面对比了一下

视觉SLAM漫淡

视觉SLAM漫谈 1. 前言 开始做SLAM(机器人同时定位与建图)研究已经近一年了。从一年级开始对这个方向产生兴趣,到现在为止,也算是对这个领域有了大致的了解。然而越了解,越觉得这个方向难度很大。总体来讲有以下几个原因: ?入门资料很少。虽然国内也有不少人在做,但这方面现在没有太好的入门教程。《SLAM for dummies》可以算是一篇。中文资料几乎没有。 ?SLAM研究已进行了三十多年,从上世纪的九十年代开始。其中又有若干历史分枝和争论,要把握它的走向就很费工夫。 ?难以实现。SLAM是一个完整的系统,由许多个分支模块组成。现在经典的方案是“图像前端,优化后端,闭环检测”的三部曲,很多文献看完了自己实现不出来。 ?自己动手编程需要学习大量的先决知识。首先你要会C和C++,网上很多代码还用了11标准的C++。第二要会用Linux。第三要会cmake,vim/emacs及一些编程工具。第四要会用openCV, PCL, Eigen等第三方库。只有学会了这些东西之后,你才能真正上手编一个SLAM 系统。如果你要跑实际机器人,还要会ROS。 当然,困难多意味着收获也多,坎坷的道路才能锻炼人(比如说走着走着才发现Linux和C++才是我的真爱之类的。)鉴于目前网上关于视觉SLAM的资料极少,我于是想把自己这一年多的经验与大家分享一下。说的不对的地方请大家批评指正。 这篇文章关注视觉SLAM,专指用摄像机,Kinect等深度像机来做导航和探索,且主要关心室内部分。到目前为止,室内的视觉SLAM仍处于研究阶段,远未到实际应用的程度。一方面,编写和使用视觉SLAM需要大量的专业知识,算法的实时性未达到实用要求;另一方面,视觉SLAM生成的地图(多数是点云)还不能用来做机器人的路径规划,需要科研人员进一步的探索和研究。以下,我会介绍SLAM的历史、理论以及实现的方式,且主要介绍视觉(Kinect)的实现方式。 2. SLAM问题 SLAM,全称叫做Simultaneous Localization and Mapping,中文叫做同时定位与建图。啊不行,这么讲下去,这篇文章肯定没有人读,所以我们换一个讲法。 3. 小萝卜的故事 从前,有一个机器人叫“小萝卜”。它长着一双乌黑发亮的大眼睛,叫做Kinect。有一天,它被邪恶的科学家关进了一间空屋子,里面放满了杂七杂八的东西。

多维度对比激光SLAM与视觉SLAM

多维度对比激光SLAM与视觉SLAM SLAM(同步定位与地图构建),是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程,解决机器人等在未知环境下运动时的定位与地图构建问题。目前,SLAM 的主要应用于机器人、无人机、无人驾驶、AR、VR 等领域。其用途包括传感器自身的定位,以及后续的路径规划、运动性能、场景理解。 由于传感器种类和安装方式的不同,SLAM 的实现方式和难度会有一定的差异。按传感器来分,SLAM 主要分为激光SLAM 和VSLAM 两大类。其中,激光SLAM 比VSLAM 起步早,在理论、技术和产品落地上都相对成熟。基于视觉的SLAM 方案目前主要有两种实现路径,一种是基于RGBD 的深度摄像机,比如Kinect;还有一种就是基于单目、双目或者鱼眼摄像头的。VSLAM 目前尚处于进一步研发和应用场景拓展、产品逐渐落地阶段。 激光SLAM:早在2005 年的时候,激光SLAM 就已经被研究的比较透彻,框架也已初步确定。激光SLAM,是目前最稳定、最主流的定位导航方法。 激光SLAM 地图构建 VSLAM(基于视觉的定位与建图):随着计算机视觉的迅速发展,视觉SLAM 因为信息量大,适用范围广等优点受到广泛关注。 (1)基于深度摄像机的Vslam,跟激光SLAM 类似,通过收集到的点云数据,能直接计算障碍物距离; (2)基于单目、鱼眼相机的VSLAM 方案,利用多帧图像来估计自身的位姿变化,再通过累计位姿变化来计算距离物体的距离,并进行定位与地图构建; 视觉SLAM 地图构建,图片来源:百度AI 一直以来,不管是产业界还是学术界,对激光SLAM 和VSLAM 到底谁更胜一筹,谁是未来的主流趋势这一问题,都有自己的看法和见解。下面就简单从几个方面对比了一下

Kinect视觉SLAM技术介绍 – 视觉机器人

Kinect视觉SLAM技术介绍–视觉机器人 本文介绍SLAM的历史、理论以及实现的方式,且主要介绍基于视觉(Kinect)的实现方式。 1. 前言 开始做SLAM(机器人同时定位与建图)研究已经近一年了。从一年级开始对这个方向产生兴趣,到现在为止,也算是对这个领域有了大致的了解。然而越了解,越觉得这个方向难度很大。总体来讲有以下几个原因: 1)入门资料很少。虽然国内也有不少人在做,但这方面现在没有太好的入门教程。《SLAM for dummies》可以算是一篇。中文资料几乎没有。 2)SLAM研究已进行了三十多年,从上世纪的九十年代开始。其中又有若干历史分枝和争论,要把握它的走向就很费工夫。 3)难以实现。SLAM是一个完整的系统,由许多个分支模块组成。现在经典的方案是“图像前端,优化后端,闭环检测”的三部曲,很多文献看完了自己实现不出来。 4)自己动手编程需要学习大量的先决知识。首先你要会C和C++,网上很多代码还用了11标准的C++。第二要会用Linux。第三要会cmake,vim/emacs及一些编程工具。第四要会用openCV, PCL, Eigen等第三方库。只有学会了这

些东西之后,你才能真正上手编一个SLAM系统。如果你要跑实际机器人,还要会ROS。 当然,困难多意味着收获也多,坎坷的道路才能锻炼人(比如说走着走着才发现Linux和C++才是我的真爱之类的。)鉴于目前网上关于视觉SLAM的资料极少,我于是想把自己这一年多的经验与大家分享一下。说的不对的地方请大家批评指正。 这篇文章关注视觉SLAM,专指用摄像机,Kinect等深度像机来做导航和探索,且主要关心室内部分。到目前为止,室内的视觉SLAM仍处于研究阶段,远未到实际应用的程度。一方面,编写和使用视觉SLAM需要大量的专业知识,算法的实时性未达到实用要求;另一方面,视觉SLAM生成的地图(多数是点云)还不能用来做机器人的路径规划,需要科研人员进一步的探索和研究。以下,我会介绍SLAM的历史、理论以及实现的方式,且主要介绍视觉(Kinect)的实现方式。 2. SLAM问题 SLAM,全称叫做Simultaneous Localization and Mapping,中文叫做同时定位与建图。啊不行,这么讲下去,这篇文章肯定没有人读,所以我们换一个讲法。 3. 小萝卜的故事 从前,有一个机器人叫“小萝卜”。它长着一双乌黑发

【CN110189390A】一种单目视觉SLAM方法及系统【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910279226.2 (22)申请日 2019.04.09 (71)申请人 南京航空航天大学 地址 210016 江苏省南京市江宁区将军大 道29号 (72)发明人 杨吉多才 程月华 徐贵力  董文德 谢瑒  (74)专利代理机构 南京纵横知识产权代理有限 公司 32224 代理人 董建林 (51)Int.Cl. G06T 11/20(2006.01) (54)发明名称一种单目视觉SLAM方法及系统(57)摘要本发明公开了一种单目视觉SLAM方法及系统,涉及计算机视觉中的同步定位与建图领域技术领域,包括如下步骤:从当前输入的图像中获取当前帧,对获取的当前帧进行关键帧筛选,并将当前帧送入帧列队;依次获取帧列队中每一关键帧,对获取的每一关键帧进行初始化、局部地图优化;依次获取帧队列中每一关键帧,对获取的每一关键帧进行点线特征提取,并将点线特征作为种子点送入深度滤波器,深度滤波器遍历种子点,在帧队列中每一帧上对其进行极线搜索、深度滤波,估计点线特征深度,并建立新的地图信息;本发明能够保证较高实时性的同时,建立更有利于导航的点线地图,且具有更好的鲁棒 性。权利要求书2页 说明书4页 附图3页CN 110189390 A 2019.08.30 C N 110189390 A

权 利 要 求 书1/2页CN 110189390 A 1.一种单目视觉SLAM方法,其特征在于,包括如下步骤: 从当前输入的图像中获取当前帧,对获取的所述当前帧进行关键帧筛选,并将所述当前帧送入帧列队; 依次获取所述帧列队中每一关键帧,对获取的所述每一关键帧进行初始化、局部地图优化; 依次获取所述帧队列中每一关键帧,对获取的所述每一关键帧进行点线特征提取,并将所述点线特征作为种子点送入深度滤波器,所述深度滤波器遍历种子点,在所述帧队列中每一帧上对其进行极线搜索、深度滤波,估计所述点线特征深度,并建立新的地图信息。 2.根据权利要求1所述的单目视觉SLAM系统,其特征在于,对从图像中获取的当前帧进行关键帧筛选前还包括如下步骤: 对处于初始状态的所述当前帧进行SLAM初始化; 对处于正常状态的后续输入帧进行运动估计,通过稀疏图像对齐、特征细化、位姿及结构优化对所述当前帧进行运动估计; 对处于跟丢状态的后续输入帧进行重定位。 3.根据权利要求2所述的单目视觉SLAM方法,其特征在于,对处于初始状态的所述当前帧进行SLAM初始化和对处于跟丢状态的后续输入帧进行重定位均采用半直接法单目视觉里程计。 4.根据权利要求2所述的单目视觉SLAM方法,其特征在于,对所述当前帧进行运动估计的过程中根据特征的不同选择不同的运动估计方法;其中所述特征包括:角点特征、梯度点特征和梯度线特征。 5.根据权利要求1所述的单目视觉SLAM方法,其特征在于,对获取的所述当前帧进行关键帧筛选包括如下步骤: 步骤5.1、判断所述当前帧与上一帧的特征点数量差是否大于数量阈值20,若是则认为跟踪即将丢失,立刻插入新的关键帧;若否则执行步骤5.2; 步骤5.2、所述当前帧与上一关键帧匹配特征点的视差平均值是否大于视差阈值40像素,若是则进入步骤5.3作进一步筛选;若否,则直接结束; 步骤5.3、在运动估计的特征细化中,将所述当前帧图像划分为了nrows行ncols列的图像格,并构建了以关键帧组成的局部地图;统计存在所述局部地图投影点的网格数量ncells,设r=ncells/(nrows×ncols),如果r小于比例阈值0.7,则插入新关键帧,否则进入下一步; 5.4考虑空间变换,计算所述局部地图的平均深度d min,遍历所述局部地图的关键帧并得其到与所述当前帧的位移,判断该位移是否都超过位移阈值,若是则插入新关键帧;其中位移阈值设置为d min的10%至18%。 6.根据权利要求5所述的单目视觉SLAM方法,其特征在于,对获取的所述每一关键帧进行初始化和局部地图优化中的优化变量为所述关键帧所保存的地图点线及位姿;其中,初始化的图优化对象为参与视觉里程计初始化的两帧关键帧,局部地图的图优化对象为由所述关键帧所构建的局部地图。 7.根据权利要求1所述的单目视觉SLAM方法,其特征在于,对关键帧进行点线特征提取中的特征包括角点特征、梯度点特征、梯度线特征;所述角点特征通过FAST算法提取,所述 2

相关主题
文本预览
相关文档 最新文档