视觉SLAM初识

       视觉SLAM是一个新型领域,尽管SLAM的发展已经近十年,但视觉SLAM的发展不过是近两年的事情。在我开始接触SLAM 的时候也是一团雾水,不知如何下手,由于时间紧,任务重,不得不自己摸索。现将摸索心得和一些学习SLAM 的必备知识列举出来,帮助初学者有一个清晰的学习思路。SLAM学习涉及很多数学上的专业知识以及计算机视觉,图像处理等很多专业性极强的知识。不要慌,只要肯沉得下心,入门应该不是难事。最开始千万不要望而却步。

       SLAM技术又称为同步定位与地图创建,最开始是在机器人领域比较盛行。那么,究竟什么是同步定位与地图创建呢,这个问题说的是有一个机器人,进入一幢陌生的大楼,这个时候机器人需要确定几个问题,第一,我在哪,第二,我周围的环境是什么样子的。只有知道了这两个问题,机器人才会知道它下一步该怎么走。所以SLAM技术主要解决这两个问题。

       SLAM技术总的来说分为两大类,一类是基于激光雷达的SLAM,一类是基于视觉的SLAM。分类的依据便是传感器的不同。我们知道,SLAM技术研究的就是机器人所处的位置以及周围的环境。所以在机器人工作之处,它一定是通过某种渠道先获取信息。这种渠道便是传感器。基于视觉的SLAM所使用的传感器就是摄像头,相机。那么一定有人会问,现在GPS定位技术不是更好么。但是我们要知道,如果在GPS无法正常获取信息的情况下,我们怎么办。至于激光雷达传感器,造价特别昂贵,所以,逐渐,基于视觉的SLAM也就是使用相机的SLAM技术便逐渐发展起来。

       OK,在我们弄懂了SLAM是干什么的,我们就要开始讨论SLAM技术了。这里我先提一本高翔博士的书《视觉SLAM十四讲》,这本书的确是很幽默的讲解了视觉SLAM 的方方面面的知识,但是作为初学者,我在刚开始接触视觉SLAM 的时候有一点看不懂。不知道有没有人和我有一样的困惑。在网络上搜集的资料中有LSD-SLAM算法,ORB-SLAM算法,当然也有的帖子介绍说视觉SLAM的流程包括视觉里程计,后端.......等等,然而LSD-SLAM算法上讲解的流程怎么和高翔博士的书有些不一样,而且高翔博士在整本书的末尾才提到这些算法,这是怎么回事呢?现在我帮大家梳理一下,其实在网上找到的各个算法和高博士书里面介绍的并不矛盾。首先,高翔博士严格按照视觉SLAM的标准流程(就是前面提到的视觉里程计,后端等)做分析。只不过书里面将视觉里程计的所有方法全部都列举,同理前端后端也是一样,每一种方法都列举在里面。比如在视觉里程计中书分了两个章节,1和2,那么1讲的是基于特征点的方法,2讲的是不基于特征点的方法。而我们看到的LSD-SLAM算法就是基于非特征点的方法,ORB-SLAM就是基于特征点的算法。所以,现在大家明白了没,也就是书里面将每一个步骤的多种方法都介绍了,而具体的LSD,ORB-SLAM等则是使用了这些步骤中的一种加以组合,同时加以改进。这样再去理解也就不会糊涂了。

     经典的视觉SLAM算法流程是固定不变的,至少目前是这样的。包括前端里程计,后端优化,回环检测和建图。即使是成熟的LSD-SLAM以及ORB-SLAM也无法避免。每一个阶段包含的算法种类在书中已经说的很详细了。下面,列举一下我在学习过程中的遇到的障碍和疑惑供大家参考。

       首先,前端视觉里程计要解决什么问题?我们可以想一下,如果我们想要构建立体地图,我们通过相机拍摄的是二维图片,没办法知道深度信息(指的是焦距到真实物体的距离)。那么前端视觉里程计要解决的问题有两个,一,相机是怎么运动的(求得相机运动的旋转矩阵R和平移向量t),二是相机看到的物体的深度信息(目前只是获得初步的深度信息,在后端那一part还要继续对深度信息进行优化)。后端优化,顾名思义,就是对先前的运动数据,状态数据通过数学手段使其误差不断减少。回环检测部分的主要目的是通过对比特征点的特征来看是否机器曾经到过这一部分。目前,不论是哪一种方式,回环检测都要用到特征点的方法。

       在最初的理解中,李群李代数的含义还是比较关键的,尤其对于非数学专业的人来说。下面我来说一下我对李群李代数的理解。在计算机视觉领域,有一类旋转矩阵,正交并且矩阵的秩为1,记为R。如果将R与平移向量t组合成四维矩阵,就得到变换矩阵。所谓群,指的是矩阵加上运算。比如旋转矩阵几何和矩阵乘法就构成群。而李群指的是具有连续光滑性的群。李代数是与李群具有某种映射关系的向量。那么引入李群李代数的用途是什么?我的理解是,在后面,我们在优化的时候,会对旋转矩阵平移向量等做优化,进行求导求解最优或者添加一个小扰动,但是矩阵的求导加减并不容易,而其对应的李代数就容易多了。

       至于具体每个阶段的算法,在视觉SLAM十四讲中都有介绍。下面,我将我找到的关于SLAM 的资料网址附上。以上内容如有理解错误的地方,还请多多指正。

**************************************分割线*******************************************************************************

http://36kr.com/p/5047655.html

无人驾驶成为技术新风口我们和LiDAR鼻祖Velodyne聊了聊


http://www.sohu.com/a/141363905_256868

10家值得关注的LiDAR初创公司已完成4亿美元融资在视觉slam上也可以加以考虑

列举了国际上的LIDAR前沿发展公司

 

 

http://www.sohu.com/a/191502573_114877谷歌):包含开源算法

激光SLAM与视觉SLAM的现状与趋势

分析了激光SLAM和视觉SLAM的优缺点以及两者融合的发展趋势

 

 

https://www.leiphone.com/news/201707/ETupJVkOYdNkuLpz.html

激光SLAM Vs 视觉SLAM

分析了激光SLAM和视觉SLAM 的优缺点

 

https://www.jianshu.com/p/84489be33bb7

初识视觉SLAM:用相机解决定位和建图问题介绍了一些相机种类视觉SLAM十四讲的第一讲

 

 

https://www.jianshu.com/p/e87cd392b4e2

机器人工程师学习计划研究生阶段包含了几种常用的视觉定位算法

主要给出研究生在学习SLAM时的一些建议

 

 

https://www.researchgate.net/publication/322498936_pingxingganzhiACP_lilunzaishijueSLAM_jishuzhongdeyingyong

平行感知:ACP 理论在视觉SLAM 技术中的应用简单介绍了国际上的定位算法以及相关外文文献的来源看参考文献)(粗略),同时对算法进行扩展提出了平行感知理论

 

http://www.it610.com/article/5639969.htm

国际上一些视觉研究组的大牛们

 

https://www.media.mit.edu/articles/new-depth-sensors-could-be-sensitive-enough-for-self-driving-cars/

美国麻省理工关于新型传感器在无人驾驶的应用

 

https://www.media.mit.edu/articles/new-depth-sensors-could-be-sensitive-enough-for-self-driving-cars/

麻省理工的新型激光传感器网站

 

http://velodynelidar.com/index.html

Velodyne Lidar中的激光传感器

 

 

https://www.stanford.edu/research/

斯坦福大学的官网

 

http://blog.csdn.net/amds123/article/details/70045135

SLAM算法解析抓住视觉SLAM难点了解技术发展大趋势  

 

http://blog.csdn.net/u012062327/article/details/51440969

视觉slam学习():历史与现状

http://blog.csdn.net/u012062327/article/details/51440992

视觉slam学习():历史与现状

 

http://blog.csdn.net/qq_18661939/article/details/51919329

ICCV研讨会实时SLAM的未来以及深度学习与SLAM的比较  (中文版无链接

http://www.computervisionblog.com/2016/01/why-slam-matters-future-of-real-time.html

TOMBONEblog讲述内容是ICCV研讨会概述英文版有链接

 

 

 

http://blog.csdn.net/peterli_xue/article/details/7380571

研究SLAM的有用网站

 

 

http://blog.csdn.net/zhuquan945/article/details/72784260

Visual SLAM梳理详细分析很有用):在里面提到几个网站十分有用

同时里面的视觉SLAM提出的比较全包括SLAM提出年限以及作者参考文献等等都有

 

 

http://blog.csdn.net/zwlq1314521/article/details/74171087

VINS(简介与代码结构 视觉slam(后续介绍非常有用

 

http://blog.csdn.net/hemmingway/article/details/47030123

一些研究SLAM的团队和网站 [20081020]

 

http://blog.csdn.net/xidianzhimeng/article/details/52447335

SLAM学习资料汇总

主要是给出了一些SLAM研究的网站和网址

 

 

http://blog.csdn.net/flyyufenfei/article/details/70766726

视觉slam学习资料

 

https://www.zhihu.com/question/52983997

如何通过视觉SLAM构建得到的三维地图进行机器人的路径规划

知乎

 

http://www.docin.com/p-1622371369.html

地图构建中基于视觉的物体识别和定位.pdf..pd

 

 

 

http://blog.csdn.net/hjwang1/article/details/62235841

基于谷歌graphslam

 

 

https://www.cnblogs.com/wangxiaocvpr/p/5709453.html

() SLAM系统的研究点介绍  Kinect视觉SLAM技术介绍

主要为研究人员/研究生提供一些研究SLAM的方向和建议附带参考的文献资料

 

 

  http://www.opencv.org.cn/forum.php?mod=viewthread&tid=37672

视觉SLAM研究分析的一点认识

主要针对各个不同模块使用什么方法比较难理解没看懂

 

http://blog.csdn.net/dukai392/article/details/71692486

SLAM的一点认识

主要介绍了LSD-SLAMORB-SLAM以及SLAM的主框架

 

 

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

无人驾驶领域这家中国公司走了多远

 

 https://www.zhihu.com/question/50385799

单目SLAM在移动端应用的实现难点有哪些? - 知乎高博回答

 

 

http://slamcn.org/index.php/%E9%A6%96%E9%A1%B5#.E4.B8.BB.E6.B5.81.E5.BC.80.E6.BA.90SLAM.E6.96.B9.E6.A1.88

国内关于主流SLAM的分类

主要介绍了SLAM的一些基本框架和主流SLAM的分类以及一些比较全的资料网站开发团队博客等等

 

 

  http://blog.csdn.net/david_han008/article/details/53560736

视觉slam14讲学习笔记持续更新中) - David_Han008的博客 - CSDN博客

跟着SLAM十四讲的一个笔记在系统学习这本书的时候可以作为参照里面有手写的公式推导参考

 

 https://www.cnblogs.com/gaoxiang12/p/5161223.html

视觉SLAM实战):ORB-SLAM2 with Kinect2 - 半闲居士 - 博客园 

 

 

http://www.cnblogs.com/gaoxiang12/

半闲居士的blog

 

 

http://geek.csdn.net/news/detail/86807

SLAM刚刚开始的未来

类似SLAM的一个概述

 

https://www.leiphone.com/news/201605/2wNeRXQzo2ZqgOwW.html

无人驾驶市场争夺战

 

http://blog.csdn.net/segments/article/details/51995622

无人驾驶系列基于ROS的无人驾驶系统

 

 

http://www.elecfans.com/d/612455.html

视觉SLAM技术以及其应用详解

 

https://www.cnblogs.com/li-yao7758258/p/8213578.html

对比几种基于机器人操作系统(ROS)框架工作的SLAM算法。:基于激光传感器的几种SLAM算法

 

 

http://blog.csdn.net/zhuquan945/article/details/73134831

VSLAM的分类

 

 

 

http://www.sohu.com/a/166136329_715754

泡泡机器人翻译专栏】LSD-SLAM : 基于直接法的大范围单目即时定位和地图构建方法

http://www.cnblogs.com/hitcm/p/4907536.html

 

 

 

http://blog.csdn.net/kokerf/article/details/78006703

内含LSD-SLAM的编程代码以及解析

 

http://www.doc88.com/p-5824540784086.html

基于视觉的目标定位技术研究和发展

主要就是将单目双目RGB-D的基本原理以论文的形式介绍

 

 

https://max.book118.com/html/2016/1214/72157309.shtm

介绍ROS系统

 

https://wenku.baidu.com/view/a1f90fd4ce2f0066f4332202.html

机器人产业的发展

https://wenku.baidu.com/view/0cbdeb2f915f804d2b16c182.html

基于视觉的同步定位和地图创建综述兰州理工大学百度文库



l



你可能感兴趣的:(视觉SLAM初识)