学习记录-视觉SLAM十四讲第2版(二)

文章目录

  • 前言
  • 一、问题是什么?
  • 二、工具是什么?
    • 1.分类
    • 2.三种相机
      • (1)单目相机
      • (2)双目相机
      • (3)深度相机
  • 三、流程是什么?
    • 1.总的流程框架
    • 2.每个步骤说明
    • 3.补充
  • 四、尺度不确定性
  • 总结


前言

日常学习的记录,今天主要是对SLAM第二讲的一些概念和基础知识过了一遍,对SLAM的大致情况有了了解。这里主要总结2.1和2.2的内容,至于2.3,我看了一遍还是很晕,也看了一些相关的学习视频是建议先跳过2.3,因此下一次就把2.4和习题放一块写出来,希望有一起学习的人相互交流下。


一、问题是什么?

SLAM主要需要解决的问题就2个:定位和构图

二、工具是什么?

1.分类

根据是否在移动设备自身上,分为内部传感器和外部传感器这两大类。
内部传感器:轮式编码器、相机、激光雷达、IMU、GPS等;
外部传感器:导轨、二维码等
由于外部传感器对环境有要求,都是需要提前设置的,因此SLAM主要研究的还是适合未知环境的内部传感器,尤其是视觉SLAM,主要使用的就是各种相机。

2.三种相机

主要用到的相机分为单目相机、双目相机和深度相机。

(1)单目相机

只有一个摄像头的即为单目相机,由于单目相机通过单张图像无法确定深度,因此存在尺度不确定性,所以单目相机在SLAM中的应用较少。

(2)双目相机

双目相机由两个单目相机组成,利用两个相机之间的距离也即基线已知的条件,从而可以进行深度估计,但计算十分消耗计算资源,计算量是双目的主要问题之一。

(3)深度相机

也称为RGB-D相机,通过结构光或TOF的方法对深度进行物理测量,与双目相比可以节约大量计算资源,但存在测量范围窄、噪声大、视野小、易受日光干扰、无法测量透视材质等问题。目前主要运用于室内。

三、流程是什么?

1.总的流程框架

主要的视觉SLAM经典框架:
学习记录-视觉SLAM十四讲第2版(二)_第1张图片

2.每个步骤说明

(1)传感器数据:也即传感器信息读取,主要是对各种传感器信息的读取和同步,不过在视觉SLAM中主要是读取相机的数据并进行预处理。
(2)前端视觉里程计:估算相邻图像间相机的运动,以及局部地图的样子。
(3)后端非线性优化:后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信心,并进行优化,得到全局一致的轨迹和地图。
(4)回环检测:判断机器人是否到达过先前的位置。如果检测到则将信息提供给后端进行处理。
(5)建图:根据估计的轨迹,建立与任务要求对应的地图。

3.补充

(1)后端优化和回环检测是为了解决前端视觉里程计每次估计所产生的误差问题,如果不解决则会出现累计漂移的问题。回环检测负责确定回到了原始位置,后端优化根据这个信息对整个轨迹进行调整,保持一致性。
(2)建图的种类可以分为度量地图和拓扑地图2种。度量地图强调精确表示地图中物体的位置关系,并就是否表达所有物体分为稀疏地图和稠密地图;拓扑地图强调地图元素之间的关系,由节点和边组成,只考虑节点间的连通性。

四、尺度不确定性

问题:重新看单目相机的内容,发现还是不大理解尺度不确定性,因为在我看来单目相机移动后不就是双目相机了么?为什么还会有尺度不确定性的存在。
回答:认真搜索和研读了一些资料,尤其是高翔博士的解释后我才明白,的确单目相机可以通过平移来计算深度,但由于平移的这段距离我们是不清楚的,具体操作过程中把平移的这段距离当作1个单位来计算,从而得到的深度也就是以这个1为尺度的相对距离。它与真实距离中存在一个比例关系,这个比例也就是尺度。因此平移的这段距离到底大还是小单纯从照片上是无法判断的,因此也就有尺度的不确定性。正如奥特曼的拍摄一样,通过同步缩放事物的尺度和相机平移的距离,可以拍出来同样的效果图。(这件事情的确让人好伤心)
参考:高翔博士的回答


总结

以上就是今天要讲的内容,本文对视觉SLAM十四讲的第二讲中的2.1和2.2的内容进行了总结和回顾。

你可能感兴趣的:(学习记录,学习,计算机视觉)