vslam优化方法(激光 VS 视觉)

二次信任 提交于 2019-12-15 05:24:57

转载https://cloud.tencent.com/developer/article/1436532

最近在做基于激光信息的机器人行人跟踪发现如果单独利用激光信息很难完成机器人对行人的识别、跟踪等功能,因此考虑与视觉融合的方法,这样便可以充分利用激光雷达提供的精确位置信息及视觉提供的丰富纹理、颜色等场景信息。以下是最近调研视觉SLAM中的实现方法的总结,包括三方面内容:姿态计算、闭环检测、BA优化。

姿态计算

一、通过提取图像的特征描述子,如ORB、SURF和SIFT等特征描述子,然后通过RANSAC算法进行图像匹配去除匹配点中的外点,再通过将二维点对映射到三维之后,便可以利用PnP或ICP算法计算相机位姿。基于特征提取的位姿计算算法对场景有一定的要求,在无纹理场景会出现位姿计算失败的情形。

二、直接图像匹配方法:直接图像匹配并不对图片进行特征提取,核心思想是在旋转坐标系下,基于相机一致性的假设,在相机的刚体变换已知的情况下,利用相机变换矩阵将目标图片投影到当前图片上,其像素之间的差异应该最小,将姿态计算转换为加权最小二乘问题。直接图像匹配算法的计算效率很高,不依赖GPU,具有很高的理论和商用价值。

闭环检测

闭环检测算法指的是通过检测算法检测出之前访问过的场景。如图1所示,当机器人在移动过程中,特别是在探索大面积的场景时,由于模型的不确定性以及设备的噪声,不确定性会逐渐增长。通过引入闭环检测技术,识别出历史访问过的场景以增加位姿之间的约束,可以很好的减少这种不确定性。

 

闭环检测方法有:
一、最简单的闭环检测算法是将新检测出来的关键帧和过去所有的关键帧一一进行比较,虽然这种方法能比较好的检测出当前场景是否在之前出现过,但是在大规模场景下,机器人往往有成千上万个关键帧,这种方法检测效率及其底下,不能再实际场景中使用。

二、通过将图像中的特征和整个地图中的路标对应起来,然后建立一个所有路标的数据库,通过使用路标分类器来加快场景识别速度。比如讲所有路标构建成一棵KD-Tree,当新添加一帧关键帧时,将关键帧在KD-Tree中进行检索,从中检索之前出现过的场景。

三、基于视觉词袋的闭环检测方法,这种方法通过将特征描述子抽象成词汇,通过TF-IDF方法识别出现过的场景。如图2所示,是闭环检测中基于词袋模型流程图。使用视觉词袋的方法效率很高,可用在大规模地图的创建上。

BA优化

一、问题阐述:同时对三维点位置和相机参数进行非线性优化。

二、LM法的原理与优势:
原理:是一种“信赖域”的方法,当收敛速度较快时,增大信赖域使算法趋向于高斯牛顿法;当收敛速度较慢时,减小信赖域使算法趋向于最速下降法。
优势:速度快;可以在距离初始值较远处得到最优解。

SLAM优化算法对比

算法 缺点 优点
KF/EKF 假设噪声为高斯分布,在高维状态空间时计算效率较低,不适合大规模场景的地图构建 原理简单,小场景下收敛性好。
PF 会不可避免出现粒子退化现象,每个粒子需包含整张地图信息导致不适合大场景地图构建 将运动方程表示为一组粒子,通过蒙特卡罗方法求解,能够处理非线性非高斯噪声。
EM 计算量大,不能用于大规模场景 有效解决了数据关联问题
图优化 对闭环检测算法的要求严格 出现多种图优化框架,能够有效解决滤波器算法的缺陷,能用于大规模场景的地图创建

优化方法(激光 VS 视觉)

原创weixin_38651019 发布于2019-09-16 15:59:33 阅读数 22  收藏

展开

  • 增量式优化

    • 保持当前的状态估计,在有新数据加入时,更新已有的估计。
    • KF:线性系统+高斯噪声。
    • EKF:非线性系统+高斯噪声。
    • PF:非线性系统+非高斯噪声。
    • 图优化:
  • 批量式优化

    • 给定一定规模数据(观测和运动),计算该数据下的状态估计。

EKF

  • 步骤:预测部分、卡尔曼增益、更新部分。
  • 优点:推导简单,容易做多传感器融合。
  • 缺点:
    • 线性化误差。
    • 需要计算和存储所有状态的均值和方差,平方增长。
    • 一阶马尔科夫性假设过于简单。

PF

  • 步骤:初始化粒子、权重计算、重采样、建图。
  • 优点:小场景建图效果较好。
  • 缺点:每个粒子需要存储一张地图,大场景时计算量大。

BA

  • 属于批量式优化方法:给定很多个相机位姿与观测数据,计算最优的状态估计。
  • 与图结构关系:定点为优化变量,边为运动或观测约束。
  • 利用增量方程中H矩阵的稀疏性,可以采用边缘化或Schur消元方法加速计算。

梯度下降 VS 高斯牛顿

  • 梯度下降:优点是计算量小,在步长设置的比较大时,可以有较快的收敛速度;缺点是在极小值点处发生震荡。
  • 高斯牛顿:优点是在极小值附近更快的收敛(二阶导数反应梯度的趋势);缺点需要计算H矩阵。

激光建图 VS 视觉建图

  • 三个模块:前端激光里程计或视觉里程计,后端图优化(捆集调整),回环检测。
  • 前端位姿估计:激光采用的方法有ICP、NDT、特征;视觉中有对极几何、PnP、ICP。
  • 后端图优化:
    • 分为批量优化方法(回环的时候)和增量优化方法(每次定位);批量优化方法是一次性给所有的观测和控制数据之后进行优化得出最终轨迹和地图,增量优化方法是给定历史轨迹地图和当前的观测控制数据之后优化得到最终的轨迹和地图。
    • 利用H矩阵的稀疏性,采用边缘化或schur补方法对变量进行消元。
  • 回环检测:激光采用分支定界方法;视觉采用词袋模型。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!