后端优化是对相机位姿和点位置的再度优化(相较于前端优化规模更大),回环检测是对地图进行的一种修正(当机器人回到原来位置时,地图也实现一个闭环)。
后端优化
主要介绍三种方法:EKF(扩展卡尔曼滤波器)、BA图优化、位姿图。已知运动数据和观测数据,对它们进行优化。
扩展卡尔曼滤波器
假设了马尔可夫性,即当前状态仅与前一时刻有关。先对参数进行预测,然后计算卡尔曼增益,计算出后验概率(即根据结果推测出概率)的分布,利用最大后验概率作为估计形式。
由于SLAM中的模型一般为非线性,所以采用的是扩展卡尔曼滤波器(泰勒展开后只保留一阶项)。马尔科夫性和一阶泰勒展开也是它的缺点,同时,它被认为不适用于大型场合。
BA与图优化
实际像素位置与推测像素位置的误差尽可能地小(同时优化了相机位姿和路标)。实际计算的时候,计算量大,可利用H矩阵的稀疏性利用Schur消元法来求解(也可以使用Cholesky分解)。
为使误差大的边不影响其它边的优化,可定义鲁棒核函数。
位姿图
不优化路标(几次优化后固定),只优化位姿。本质上是一个最小二乘问题。
也可以从因子图的角度看待后端优化,iSAM可以增量式地处理后端优化,Gstam是基于因子图优化的SLAM后端库。
回环检测
回环检测的核心在于确认机器人回到了原来的位置,即如何确定两幅图像的相似性。回环检测要求准确率高(认为对的都是对的),对召回率要求低(漏掉了实际上对的情况)。
通过 K-means聚类(或层次聚类法、K-means++)训练了字典模型,字典模型数据结构为树结构(或Fabmap、Chou-Liu tree)。查找图像中是否出现了某一单词(即某一特征),利用TF-IDF(频率-逆文档频率)来作为出现的某一特征在向量中的值。比较两图像之间这种向量的相似性即可判断。
可用先验相似度作为参考值进行归一化(区别特征较相似的环境和有较大不同的环境),关键帧的选取注意间隔,可把关键帧相近的回环聚类,回环检测得结果要持续一定帧数(防止误检验)。
仍需深入探讨的问题
- 回环检测中有没有可能使用更好地深度学习方法,比如神经网络来进行聚类
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)