【阅读文献】单目视觉SLAM方法综述【4】~特征点深度获取+地图尺度控制

2.3 特征点深度的获取

单目摄像机相当于Bearing(方向) Only类传感器,不能立刻获得深度信息。

特征点深度获取方法主要有以下3种: 几何三角化反深度(inverse depth)、粒子滤波法

2.3.1 几何三角化

  • 目前采用关键帧与稀疏捆绑调整( sparse bundle adjustment, SBA) 框架的单目视觉SLAM 系统, 普遍采用类似运动恢复结构( structure from motion,SFM) 中的多关键帧匹配点三角化,重建特征点的三维位置,如图3 所示。
  • 对于非关键帧则不进行特征点的初始化和更新,这类方法,在定位精度要求不高的情况下能够取得比较好的运行效率。

【阅读文献】单目视觉SLAM方法综述【4】~特征点深度获取+地图尺度控制_第1张图片

2.3.2 Inverse Depth

  • 为了减小深度分布非高斯性的影响,Civera提出了Inverse Depth 方法,将深度的倒数在EKF 系统状态里进行更新,这种方法获得了比较好的线性效果。
  • Inverse Depth 方法利用一个6 维向量来表示一个特征点的三维位置,包括摄像机的位置以及特征点方向和深度信息。
  • 随着滤波器不断地进行更新,当特征估计协方差小于某一阈值的情况下,将特征点的6 维表示转换为3 维的欧式坐标( 如图4)
  • Inverse Depth 方法相比3 维欧式坐标增加了系统状态向量的长度,也增加了系统时间复杂度。
  • 为了解决这一问题,Pietzsch 等提出了各自的解决方案,利用在同一帧图像建立多个特征点,将属于同一帧特征点的表示形式缩减为一个摄像机姿态加多个深度的形式,有效地降低了系统状态的长度。 

【阅读文献】单目视觉SLAM方法综述【4】~特征点深度获取+地图尺度控制_第2张图片

 2.3.3 粒子滤波 Particle Filter

  • ParticleFilter 方法最先被Davison 采用,当特征初始化以后,在特征所在深度方向生成多个粒子。通过粒子的匹配与更新,恢复特征点深度的概率分布,其深度估计的收敛过程如图5 所示。
  • Forster实现的单目测距系统,SVO 系统中的Depth Filter 也采用了类似的思想。
  • 这种方法将特征点的深度从EKF 滤波器中分离出来,单独进行估计,虽然降低了滤波器整体的更新时间,但是容易增加系统的不一致性,最终导致概率估计的发散。

【阅读文献】单目视觉SLAM方法综述【4】~特征点深度获取+地图尺度控制_第3张图片

2.4 地图尺度控制

2.4.1 7DOF SLAM

  • 7DOF SLAM 的方法由Strasdat首次提出,主要解决基于EKF 滤波器的单目视觉SLAM 的尺度漂移问题。
  • 该方法将地图尺度作为一个估计量加入到系统状态中,使三维摄像机姿态由6 自由度变为7 自由度,尺度的估计量随滤波器一起更新,有效地控制了尺度漂移。

2.4.2 Global SBA 

  • Global SBA 方法主要应用于基于关键帧的单目视觉SLAM 方法中,利用全局SBA 优化以统一整个地图的尺度

2.4.3 利用IMU等其他传感器

  • 单目视觉无法获取确切的尺度信息,而IMU( inertial measurement unit) 等惯性传感器能够实时地输出真实的加速度信息。因此,可以通过分析加速度信息与摄像机运动之间的相关性,以获得地图真实的尺度

你可能感兴趣的:(SLAM,SLAM)