slam-回环检测 笔记

       回环检测模块能够给出除了相邻帧之外的一些时隔更加久远的约束,这是因为我们观察到相机经过了同一个地方,采集到了相似的数据。而回环检测关键是如何有效监测出相机经过同一个地方这件事。可直观的想象成回环边把带有累计误差的边拉到了正确的位置。

1 回环检测如何实现?

       希望有个哪处可能出现回环的预计,才不那么盲目地去检测。两种思路:

       基于里程计的几何关系。当我们发现当前相机运动到了之前的某个位置附近时,检测他们有没有回环关系。但由于积累误差的存在,往往没法正确发现运动到了之前某个位置附近的事实。

      基于外观。仅根据两幅图像的相似性确定回环检测关系。摆脱了积累误差,使回环检测模块成为slam系统中相对独立的模块。在此算法中,核心问题是如何计算图像间的相似性。

2 召回率和准确率

算法\事实                   是回环
            不是回环
是回环
真阳性(True Positive)
假阳性(False Positive)
不是回环
假阴性(False Negative)
真阴性(True Negative)
        准确率=TP/(TP+FP )             召回率=TP/(TP+FN)

       准确率描述的是,算法提取的所有回环中确实是真实回环的概率;召回率则是说在所有真实回环中被正确检测出来的概率。在slam中对准确率要求更高,对召回率相对宽容。

3 词袋模型

词袋,Bag-of-Words(BoW),目的是用“图像上有哪几种特征”来描述一幅图像。首先通过某种方式得到一本字典。例如“人”“车”“狗”都是记录在字典中的单词,记为w1,w2,w3。然后对于图像A,根据它们含有的单词,记为

                                 A=1*w1+1*w2+0*w3

       字典是固定的,只要用[1,1,0]这个向量就可以表达A的意义。该向量描述的是“图像是否含有某类特征”的信息。比单纯的灰度值更加稳定。描述向量说的是“是否出现”,而不管它们“在哪出现”,所以与物体的空间位置和排列顺序无关,因此相机发生少量运动时,只要物体仍在视野范围内,就可以保证描述向量不发生变化。

同理用[2,0,1]描述图像B。如果只考虑“是否出现”,而不考虑数量,也可以是[1,0,1],这时向量就是二值的。

4字典

当有N个数据,想要归成k个类,用K-means聚类主要包括以下步骤:

1)随机选取k个中心点:c1,....,ck。

2)对每个样本,计算它与每个中心点之间的距离,取最小的作为它的归类。

3)重新计算每个类的中心点。

4)如果每个中心点变化很小,则算法收敛,退出;否则返回第2步。

       k叉树来表达字典,类似于层次聚类,是k-means的直接扩展。假如有N个特征点,希望构建一个深度为d,每次分叉为k的树,做法如下:

1)在根节点,用k-means把所有样本聚成k类,这样得到第一层。

2)对每一层的每个节点,把属于该节点的样本再聚成k类,得到下一层。

3)以此类推,最后得到叶子层。叶子层即为所谓的words。

最终仍在叶子层构建了单词,而树结构中的中间节点仅供快速查找时使用。一个k分支,深度为d的树,可容纳k的d次方个单词。在查找某个给定特征对应的单词时,只需将它与每个中间节点的聚类中心作比较,即可找到最后的单词。

5相似度计算

       不同单词在区分性上的重要性并不相同,通过给定不同的权值对单词的区分性或重要性加以评估。在文本检索中,常用到TF-IDF(Term Frequency-Inverse Document Frequency)。TF部分的思想是,某单词在一幅图像中经常出现,它的区分度就高;IDF的思想是,某单词在词典中出现的频率越低,则分类图像时区分度越高。

 统计某个叶子节点wi中的特征数量相对于所有特征数量的比例作为IDF部分。假设所有特征数量为n,wi数量为ni,该单词的IDF为 

                    IDFi=log(n/ni)

TF部分指某个特征在单幅图像中出现的频率。假设图像A中单词wi出现了ni次,而一共出现的单词次数为n,则

                          TFi=ni/n

wi的权重等于TF与IDF之积。

                  ci=TFi×IDFi

对于某幅图像A,它的特征点可对应到许多个单词,组成它的Bag-of-Words:

              

向量vA是一个稀疏的向量,它的非零部分指示了图像A中含有哪些单词,而这部分的值为TF-IDF的值。

给定vA和vB,计算它们的差异存在若干种解决方式,L1范数形式:

               







  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值