SLAM学习笔记(三) 后端优化与回环检测

后端优化是对相机位姿和点位置的再度优化(相较于前端优化规模更大),回环检测是对地图进行的一种修正(当机器人回到原来位置时,地图也实现一个闭环)。

后端优化与回环检测

  • 后端优化
    • 扩展卡尔曼滤波器
    • BA与图优化
    • 位姿图
  • 回环检测
  • 仍需深入探讨的问题

后端优化

主要介绍三种方法:EKF(扩展卡尔曼滤波器)、BA图优化、位姿图。已知运动数据和观测数据,对它们进行优化。

扩展卡尔曼滤波器

假设了马尔可夫性,即当前状态仅与前一时刻有关。先对参数进行预测,然后计算卡尔曼增益,计算出后验概率(即根据结果推测出概率)的分布,利用最大后验概率作为估计形式。

由于SLAM中的模型一般为非线性,所以采用的是扩展卡尔曼滤波器(泰勒展开后只保留一阶项)。马尔科夫性和一阶泰勒展开也是它的缺点,同时,它被认为不适用于大型场合。

BA与图优化

实际像素位置与推测像素位置的误差尽可能地小(同时优化了相机位姿和路标)。实际计算的时候,计算量大,可利用H矩阵的稀疏性利用Schur消元法来求解(也可以使用Cholesky分解)。

为使误差大的边不影响其它边的优化,可定义鲁棒核函数。
在这里插入图片描述

位姿图

不优化路标(几次优化后固定),只优化位姿。本质上是一个最小二乘问题。

也可以从因子图的角度看待后端优化,iSAM可以增量式地处理后端优化,Gstam是基于因子图优化的SLAM后端库。

回环检测

回环检测的核心在于确认机器人回到了原来的位置,即如何确定两幅图像的相似性。回环检测要求准确率高(认为对的都是对的),对召回率要求低(漏掉了实际上对的情况)。

通过 K-means聚类(或层次聚类法、K-means++)训练了字典模型,字典模型数据结构为树结构(或Fabmap、Chou-Liu tree)。查找图像中是否出现了某一单词(即某一特征),利用TF-IDF(频率-逆文档频率)来作为出现的某一特征在向量中的值。比较两图像之间这种向量的相似性即可判断。

可用先验相似度作为参考值进行归一化(区别特征较相似的环境和有较大不同的环境),关键帧的选取注意间隔,可把关键帧相近的回环聚类,回环检测得结果要持续一定帧数(防止误检验)。

仍需深入探讨的问题

  • 回环检测中有没有可能使用更好地深度学习方法,比如神经网络来进行聚类

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