本博客主要记录学习高翔老师视觉SLAM14讲的总结笔记,若有总结不对的地方,欢迎大家与我讨论。
一、回环检测的意义
- 仅靠前端和后端也难免会产生累计误差,无法构建全局一致的轨迹和地图,所以需要回环检测模块来给出除了相邻帧的一些时隔更加久远的约束。
- 回环检测最关键的在于如何有效地检测出相机经过同一个地方,使两个帧之间构造误差边,从而拉回累计误差。
- 重定位:如何在已经构建好地地图中完成重定位,也可以利用到回环检测。
二、回环检测的方法
- 基于里程计的几何关系:当相机运动到了之前的某个位置附近时,检测它们有没有回环关系,该方法本身与回环检测的初衷矛盾,但要是有GPS等外部数据作为参考则较为可行。
- 基于外观的几何关系:根据两幅图像的相似程度来确定回环检测关系。
三、词袋模型BOW
-
目的是用“图像上有哪几种特征”来描述一幅图像
w1-w3表示不同类型在词典中的单词,向量就可表达A的意义。向量的描述仅关于该单词是否出现,而不关心出现的顺序和数量,也因此称为Bag
- 计算A,B图像的相似性可以用范数表示
- 词袋模型的两个关键为:字典的生成和相似度评分。
四、字典生成
- 字典生成问题类似于聚类问题,常用K-means算法
- 由于SLAM中单词过多,所以当有新的特征出现时,如何快速查找它属于哪一类是一个大问题,因此可以采用K-d树的数据结构
五、相似度计算
- TF-IDF:TF是指 单词在一幅图像中出现的频率,IDF是指某单词在字典中出现的频率越低,区分度越高