视觉 SLAM 十四讲 —— 第八讲 视觉里程计2

视觉 SLAM 十四讲 —— 第八讲 视觉里程计2

本讲主要介绍求解相机位姿的直接法,其中涉及光流法跟踪特征点,以及直接法的具体原理。

直接法的引出

上一讲中介绍虽然特征点法当前是SLAM的主流,但是其存在以下几个缺点:

  • 关键点的提取和描述子的计算非常耗时,即使使用ORB计算也需要20毫秒,如果整个SLAM以30毫秒/帧的速度运行,那么一大半时间都花在了计算特征点上
  • 只使用特征点丢弃了大部分可能有用的图像信息
  • 相机有时会运动到特征缺失的地方(一堵白墙),往往这些地方没有明显的纹理信息

为了克服这些问题,有以下思路:

  • 保留特征点,但只计算关键点,不计算描述子。同时,使用光流法(Optical Flow)来跟踪特征点的运动。这样可以回避计算和匹配描述子带来的时间,但光流本身的计算需要一定时间
  • 只计算关键点,不计算描述子。同时,使用直接法(Direct Method)来计算特征点在下一时刻图像的位置。这同样可以跳过描述子的计算过程,而且直接法的计算更加简单
  • 既不计算关键点、也不计算描述子,而是根据像素灰度的差异,直接计算相机运动。

第一种方法仍然使用特征点,只是把匹配描述子替换成了光流跟踪,估计相机运动时仍使用对极几何、PnP 或 ICP 算法。而在后两个方法中,我们会根据图像的像素灰度信息来计算相机运动,它们都称为直接法。

直接法根据像素的亮度信息,估计相机的运动,可以完全不用计算关键点和描述子,于是,既避免了特征的计算时间,也避免了特征缺失的情况。只要场景中存在明暗变化(可以是渐变,不形成局部的图像梯度),直接法就能工作。

光流

光流是一种描述像素随着时间,在图像之间运动的方法。其假定图像中的物体能够保持在运动过程中灰度不变。而根据计算像素的多少又可以分为稀疏光流,稠密光流。稀疏光流以 Lucas-Kanade 光流为代表,并可以在 SLAM 中用于跟踪特征点位置。因此,本节主要介绍 Lucas-Kanade 光流,亦称 LK 光流。

Lucas-Kanade 光流

其基本思路就是对运动后的像素值进行一阶泰勒展开

由于我们假定了灰度不变,因此

其中 dx/dt 为像素在 x 轴上运动速度,而 dy/dt 为 y 轴速度。

由于上述方程存在两个未知数,却只有一个方程,因此在 LK 光流中,我们假设某一个窗口内的像素具有相同的运动。因此存在如下超定方程

这又可以通过最小二乘进行求解。

注意事项:

  • 每次使用了 Taylor 一阶近似,在离优化点较远时效果不佳,不过可以看成最小化像素误差的非线性优化,从而进行多次迭代
  • 运动较大时要使用金字塔
  • 可以用来跟踪图像中的稀疏关键点的运动轨迹

存在的问题:

  • 没有用到相机本身的几何结构
  • 没有考虑相机的旋转和图像的缩放

而后面介绍的直接法,考虑了这些因素。

直接法

直接法基于观测到的两帧数据和初始的变换矩阵来对变换矩阵进行迭代优化。其基本原理是基于已知的观测点空间坐标和初始变换矩阵,求解空间点在第二帧图像上的近似投影位置。同时,基于灰度不变假设,调整空间点的投影位置使光度误差变小,从而最终得到空间点投影位置的关联关系。

从而相机位姿估计问题变为最小化如下光度差异

由于优化目标是相机的位姿,因此误差基于位姿的导数为

直接法的讨论

相比于特征点法,直接法完全依靠优化来求解相机位姿。从式(8.16)中可以看到,像素梯度引导着优化的方向。如果我们想要得到正确的优化结果,就必须保证大部分像素梯度能够把优化引导到正确的方向。注意到,直接法的梯度是直接由图像梯度确定的,因此我们必须保证沿着图像梯度走时,灰度误差会不断下降。然而,图像通常是一个很强烈的非凸函数。

实际当中,如果我们沿着图像梯度前进,很容易由于图像本身的非凸性(或噪声)落进一个局部极小值中,无法继续优化。只有当相机运动很小,图像中的梯度不会有很强的非凸性时,直接法才能成立。

直接法的优缺点

优点:

  • 可以省去计算特征点、描述子的时间。
  • 只要求有像素梯度即可,无须特征点。因此,直接法可以在特征缺失的场合下使用。比较极端的例子是只有渐变的一张图像。它可能无法提取角点类特征,但可以用直接法估计它的运动。
  • 可以构建半稠密乃至稠密的地图,这是特征点法无法做到的。

缺点:

  • 非凸性——直接法完全依靠梯度搜索,降低目标函数来计算相机位姿。其目标函数中需要取像素点的灰度值,而图像是强烈非凸的函数。这使得优化算法容易进入极小,只在运动很小时直接法才能成功。
  • 单个像素没有区分度。找一个和他像的实在太多了!——于是我们要么计算图像块,要么计算复杂的相关性。由于每个像素对改变相机运动的“意见”不一致。只能少数服从多数,以数量代替质量。
  • 灰度值不变是很强的假设。如果相机是自动曝光的,当它调整曝光参数时,会使得图像整体变亮或变暗。光照变化时亦会出现这种情况。特征点法对光照具有一定的容忍性,而直接法由于计算灰度间的差异,整体灰度变化会破坏灰度不变假设,使算法失败。针对这一点,目前的直接法开始使用更细致的光度模型标定相机,以便在曝光时间变化时也能让直接法工作。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值