视觉SLAM十四讲学习笔记——第十一讲 回环检测

        在已经了解的内容中,前端提供特征点的、轨迹、地图的初始值,后端负责对这些数据进行优化。但整个过程中仍会不可避免地出现累计误差,长期结果将不可靠。但是我们可以通过回环检测给出相隔时间更久远的约束,有效地消除累计误差,提高系统稳定性。实现回环检测的关键:如何有效检测出相机经过了同一个地方

        这里主要介绍了“词袋模型”,也就是用图像特征描述图像,在确定词库的内容和顺序后,用一个向量描述一幅图像

        实现过程中注意一下几点:

(1)常用K叉树来构造一个字典,以提高查找效率。

(2)简单“0”或“1”很难准确描述一个特征在一幅图像中的作用,因此还需要引入每个“单词”的权重,这里常用TF-IDF(频率-逆文档频率)作为加权方式。

(3)相似性的评价,对于含有权重的信息向量,可以用两幅图像向量差的L1范数计算相似度,用于评价两幅图像的相似性。

        应用过程中要注意:

(1)词袋要足够大,包含足够多的单词:增加字典规模会导致所有待匹配的图像相似性明显减小,但真正相似的图像会变得更加显著。

(2)检测标准要较为严格:漏掉一些实际的回环不会对系统产生不良影响,下一次回环成功时足以调整所有问题;将错误的回环误判却是致命的,严重的可能会使轨迹和地图完全失准。

        代码部分仅有使用DBoW3库训练ORB字典、利用字典计算相似性的方法。DBoW3库安装也比较简单,使用也比较简单,就不赘述了。示例中并没有检测到会回环后如何修正前期的累计误差的方法,需要我们自己思考了。

你可能感兴趣的:(视觉SLAM十四讲学习笔记,ubuntu,slam,计算机视觉)