一、基础概念
1.按照相机的工作方式,我们把相 机分为单目(Monocular)、双目(Stereo)和深度相机(RGB-D)三个大类。
2.照片,本质上是拍照时的场景(Scene),在相机的成像平面上留下的一个投影。它以二维的形式反映了三维的世界。显然,这个过程丢掉了场景的一个维度:也就是所谓的深 度(或距离)。在单目相机中,我们无法通过单个图片来计算场景中物体离我们的距离(远 近)——之后我们会看到,这个距离将是 SLAM 中非常关键的信息。由于我们人类见过大 量的图像,养成了一种天生的直觉,对大部分场景都有一个直观的距离感(空间感)。
我们必须移动相机之后,才能估计它的运动(Motion),同时估计场景中物体的远近和大小,不妨称之为结构(Structure)。近处的物体移动快,远处的物体则运动缓慢。于是,当相机移动时,这些物体在图像上的运动,形 成了视差。
直观地说,如果把相机的运动和场景大小同时放大两倍,单目所看到的像是一样的。同样的,把这个大小乘以任意倍数,我们都将看到一样的景象。这 说明了单目 SLAM 估计的轨迹和地图,将与真实的轨迹、地图,相差一个因子,也就是所 谓的尺度(Scale)。由于单目 SLAM 无法仅凭图像确定这个真实尺度,所以又称为尺度 不确定性。
3.视觉里程计 (Visual Odometry, VO)将不可避免地出现累计漂移(Accumulating Drift)。这是由于视觉里程计(在最简单的情况下)只估计两个图像间运动造成的。我们知道,每次估计都带有一定的误差,而由于里程计的工作方式,先前时刻的误差将会传递到下一时刻,导致经过一段时间之后,估计的轨迹将不再准确。
为了解决漂移问题,我们还需要两种技术:后端优化和回环检测前端和计算机视觉研究领域更为相关,比如图像的特征提取与匹配等,后端则主要是滤波与非线性优化算法。
后端优化主要指处理 SLAM 过程中噪声的问题后端优化要考虑的问题,就是如何从这些带有噪声的数据中,估计整个系统的状态,以及这个状态估计的不确定性有多大——这称为最大后验概率估计(Maximum-a-Posteriori,MAP)
回环检测,又称闭环检测(Loop Closure Detection),主要解决位置估计随时间漂移 的问题。