slam回环检测
回环检测为估计的地图在长时间的正确性提供约束,并且提供当前数据和历史数据的关联,所以如果跟踪丢失还可以重新定位
1.实现方法
1.1基于外观的回环检测算法
1.2 词袋模型
求差方法:
这里取L1范数
1.2.1 字典
K-means
实现:
int main(int argc,char** argv) { //读取 vector<Mat> imgaes; for (int i=0;i<10;i++) { string path = "./data/"+to_string(i+1)".png"; images.push_back(imread(path)); } //检测orb特征点 Ptr<Feature2D> detector = ORB::creat(); vector<Mat> descriptors; for (Mat& image:images) { vector<Keypoint> keypoints; Mat descriptor; detector->detectAndCompute(image,Mat(),keypoints,descriptor); descriptors.push_back(descriptor); } //建立字典 DBoW3::Vocabulary vocab; vocab.create(descriptors); vocab.save("vocabulary.yml.gz"); return 0; }1.2.2相似度计算
实现:
