视觉SLAM入门十四讲
视觉SLAM入门十四讲
- 写在前面的话
- 什么是视觉SLAM
- 视觉SLAM中所使用的摄像头传感器
- 单目摄像头
- 双目摄像头
- 深度摄像头
- 经典视觉SLAM框架
写在前面的话
考研期间迷上了SLAM,买来了高翔、张涛等著的《视觉SLAM十四讲——从理论到实践》,感悟颇深,作文记之。愿心之所向,梦亦同趋。
什么是视觉SLAM
SLAM是Simulataneous Location and Mapping的缩写,中文译为“同时定位与地图构建”。通俗来讲就是两个部分,“定位”与“建图”。同时此处所用的传感器主要为摄像头,故称为视觉SLAM。
视觉SLAM中所使用的摄像头传感器
如上所讲,视觉SLAM需要实现的两个部分——“定位”与“建图”,即带有哲学性质的两个提问,“我在哪里?”,“我周围是怎么样?”。通过眼睛观察,人类可以轻而易举地回答这两个问题,而机器人要实现这个目标,也需要有眼睛,传感器,就是机器人的眼睛。而安装于环境中的传感器,对环境的要求比较高,实际应用中,机器人的使用环境往往是多种多样的,这就意味着,使用携带式的传感器是我们重点关心的一个问题。而视觉SLAM中所需要的摄像头,需要以一定速率拍摄周围的环境,形成一个连续的视频流。按照工作方式不同,摄像头可以分为单目摄像头(Monocular)、双目摄像头(Stereo)以及深度摄像头(RGB-D)。下面对着三种摄像头以及它们的工作方式分别进行介绍。
单目摄像头
顾名思义,单目摄像头只有一个镜头。而摄像头所拍摄的图像是三维图像在二维世界的投影,要想恢复三维结构,必须移动摄像头。通过一个很简单的生活常识:近处的物体移动得快,看起来大,远处的物体移动地慢,看起来小。 我们可以通过摄像头在移动时产生的视差来对物体远近进行相对的定量的判断。需要注意此处得到的物体远近是相对的,可以通过特摄剧来理解,我们无法判断是怪兽摧毁了高楼大厦,还是穿着怪兽皮套的演员摧毁了高楼模型。进一步理解,我们可以认为,单目摄像机得到的图像,是将真实的三维世界的投影乘以一个因子进行了缩放,这个因子可称为尺度,由于这个尺度是不确定的,故单目摄像头具有尺度不确定性。但要注意,单目摄像机可以确定深度,但需要平移之后才能计算深度,加上无法确定尺度,这给"SLAM“带来了很大的麻烦。
双目摄像头
双目摄像头,双目摄像头是由两个单目摄像头组成,该两个单目摄像头的距离是已知的,我们称他为基线,据此通过复杂的计算可以得到深度,但此处的计算是通过软件算法实现的,比较占用系统资源,需要使用GPU、FPGA等设备来进行加速。计算量是双目摄像头目前最主要的问题。
深度摄像头
深度摄像头即RGB-D摄像头,它最大的特点是通过红外结构或Time-of-Flight(ToF)原理,笔者参加全国大学生智能汽车竞赛时曾使用过ToF模块进行距离测量,效果比较好。深度摄像头通过主动发出红外光并接收返回的光,来得到物体与摄像头之间的距离。通过物理的方式进行深度的获取,在对比双目摄像头来说有较大的优势,可以很好地节省计算资源。
经典视觉SLAM框架
经典视觉SLAM的结构框架由以下步骤组成:
经典视觉
总结
以上是生活随笔为你收集整理的视觉SLAM入门十四讲的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java防止SQL注入
- 下一篇: dex2jar官网和jdgui官网链接