视觉slam十四讲 pdf_视觉SLAM十四讲|第12讲 回环检测

40b870906542ad4053c3c2db4e658fdf.png

1. 什么是回环检测

前面有说过累积误差的问题,前一时刻的误差会积累到后面,导致画不成圈圈,如图12-1所示,而画圈圈(全局一致性)很重要,所以需要有一个步骤来纠正当前的计算偏差。

6c4d430d869581596882a1484df36856.png

回环检测通过判断相机是否经过同一个地方来进行纠正的,本讲介绍的方法是基于外观的,拿到两张图像后,比较两张图像的相似度,越高说明越有可能是同一个地方。在评价时更注重算法的准确率。

2.相似度计算

在计算相似度之前需要定义一个能够用来描述图像的量,这个量可以表达图像的特征或者属性,我们可以通过这个量来计算图像的相似度。在本节中采用词袋模型。

词袋模型是用向量来描述图像,比如用向量[0,1,1,0,1]来表达图像a,其中第i个元素表示图像是否拥有特征i,向量的维度也就是总的特征数量由“字典”决定(也可以看成每个特征是字典中的一个单词,字典从a到z有3000个单词,那么向量就有3000维,如果某个图像只具有100个特征,那么除了这100个元素以外,该图像其他位置的元素值都是0)。

字典生成:前面学习了提取ORB特征来描述图像,在生成字典时,通常会选用一个比较大的图像数据集,用ORB特征描述每一幅图像,然后使用聚类算法,聚成N类,生成N维的ORB字典。

当字典很大时,O(n)的查找效率会很影响使用,为了提升查找效率可以使用k叉树结构表达字典。先聚成k类,作为k个根结点,在根结点上再对属于当前根结点的所有图像聚成k类,作为第二层,依次向下,最后得到的叶子节点就是词袋模型中的每个特征(也可以说是字典中的每个单词)。

相似度计算,最简单的方法是使用TF-IDF模型,TF计算的是特征i在图像A中出现的频率(也就是单词i,在句子中出现的频率),

IDF是指某个特征在整个字典中出现的频率越低,则这个特征的区分度越高(比如一组100张的人脸图片,提取出来的特征有眼睛、鼻子、嘴巴、苹果,那么对于这100张图片来说几乎每张都有眼睛、鼻子、嘴巴的特征,这些特征出现频率很高,不能够对于这组图片进行很好的区分。然而可能只有20张图片中有苹果,所以苹果这个特征能够很好的将这20张图片区分出来)

假设当前字典中有N个单词,根据词袋模型,图片A就要用N维向量表示,每一维的元素值,是这一维特征的TFIDF值,

,再根据两张图像的向量进行距离计算,得到相似度。

3. 后续处理

两张图片的相似度数值,并不能直接说明是否同一场景,会存在同一个环境下每个地方都不一样的情况。在实际比较时取先验相似度

,表示此时与上一时刻关键帧的相似性,将其他分值根据这个值进行归一化。认为如果当前帧与之前某关键帧的相似度超过了当前帧与上一帧相似度的3倍,则可能存在回环。

参考文献

[1] 《视觉SLAM十四讲从理论到实践》 高翔,张涛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值