打印

SLAM:回环检测

[复制链接]
154|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2023-3-22 17:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
回环检测的意义






使用特权

评论回复
沙发
keer_zu|  楼主 | 2023-3-22 17:33 | 只看该作者
回环检测的方法







使用特权

评论回复
板凳
keer_zu|  楼主 | 2023-3-22 17:36 | 只看该作者
准确率和召回率
从人类角度来看,至少我们自认为,我们能够以很高的精确度,感觉到“两幅图像是否相似”或“这两张图像是从通过一个地方拍摄的”这一事实,但由于目前尚未掌握人脑的工作原理,无从清楚地描述自己是如何完成这个判断的。从程序的角度来看,我们希望算法能够得出和人类或者事实一致的判断。当我们觉得,或者事实上就是,两幅图像从同一个地方拍摄,那么回环检测算法也应该给出“这是回环”的结果。反之,如果我们觉得,或事实上,两幅图像是从不同地方拍摄的,那么程序也应该给出“这不是回环”的判断。当然,程序的判断并不总是与我们的人类的想法一致,所以可能出现表11-1中的4中情况。




这里阴性/阳性的说法借用了医学上的说法。假阳性(False Positive)又称为感知偏差,而假阴性(False Negative)称为感知变异。为了方便书写,用缩写TP代表True Positive(真阳性),用TN代表True Negative(真阴性),其余类推。由于希望算法和人类的判断一致,所以希望TP和TN尽量高,而FP和FN尽可能低。所以,对于某种特定算法,我们可以统计它在某个数据集上的TP、TN、FP、FN的出现次数,并计算两个统计量:准确率和召回率(Precision and Recall)




从公式上意义上来看,准确率Precision描述的是算法提取的所有回环中确实是真实回环的概率。而召回率Recall则是指,在所有真实回环中被正确检测出来的概率。为什么取这两个统计量呢?因为它们有一定的代表性,并且通常是一对矛盾。
一个算法往往有很多的设置参数。例如,当提高某个阈值时,算法可能变得更加“严格”--它检测出更少的回环,使准确率得以提高。同时,由于检出的数量变少了,许多原本是回环的地方就可能被漏掉,导致召回率下降。反之,如果我们选择更加宽松的配置,那么检出的回环的数量将增加,得到更高的召回率。但是其中混杂了一些不是回环的情况,于是准确率就下降。



使用特权

评论回复
地板
keer_zu|  楼主 | 2023-3-22 17:57 | 只看该作者
本帖最后由 keer_zu 于 2023-3-22 18:07 编辑

词袋模型
既然直接用两张图像相减的方式不够好,我们就需要一种更可靠的方式。结合前面几讲的内容,一种思路是:为何不像视觉里程计中那样使用特征点来做回环检测呢?和视觉里程计一样,我们对两幅图像的特征点进行匹配,只要匹配数量大于一定值,就认为出现了回环。根据特征点匹配,我们还能计算出这两幅图像之间的运动关系。当然这种做法存在一些问题,例如,特征的匹配会比较费时,当光照变化时特征描述可能不稳定等,但离我们要介绍的词袋模型已经很相近了。下面先介绍词袋的做法,再来讨论数据结构之类的实现细节。
词袋,也就是Bag-of-Words(BoW),目的是用“图像上的哪几种特征”来描述一幅图像。例如,我们说某张照片中有一个人、一辆车;而另一张中有两个人、一只狗。根据这样的描述,就可以度量这两幅图像的相似性。再具体一些,我们要做一下三步:
  • 确定“人”“狗”“车”等概念,对应于BoW中的视觉“单词”(Word),许多单词放在一起,组成了一本视觉“字典”。
  • 确定一幅图像中出现了哪些在字典中定义的概念,我们用单词出现的情况(或直方图)描述整幅图像。这就把一幅图像转换成了一个向量的描述。
  • 比较上一步中的描述的相似程度。




  • \

  • 接下来的问题是什么?

    • 虽然清楚了字典的定义方式,但其到底是怎么来的?
    • 如果能够计算两幅图像之间的相似程度评分,是否就足够判断回环?
    所以接下来,首先介绍字典的生成方式,然后介绍如何利用字典实际地计算两幅图像间的相似性。



使用特权

评论回复
5
keer_zu|  楼主 | 2023-3-24 14:24 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1338

主题

12373

帖子

53

粉丝