ORBSLAM:词袋(Bag of Words)

ORBSLAM中,采用词袋模型进行闭环检测。Bag-of-words模型是信息检索领域常用的文档表示方法。在信息检索中,BOW模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。例如有如下两个文档:
1:Bob likes to play basketball, Jim likes too.
2:Bob also likes to play football games.

基于这两个文本文档,构造一个词典:

Dictionary = {1:”Bob”, 2. “like”, 3. “to”, 4. “play”, 5. “basketball”, 6. “also”, 7. “football”, 8. “games”, 9. “Jim”, 10. “too”}。

这个词典一共包含10个不同的单词,利用词典的索引号,上面两个文档每一个都可以用一个10维向量表示(用整数数字0~n(n为正整数)表示某个单词在文档中出现的次数):
1:[1, 2, 1, 1, 1, 0, 0, 0, 1, 1]
2:[1, 1, 1, 1 ,0, 1, 1, 1, 0, 0]

词袋的相关定义

1.特征描述符:描述特征点的向量,常用的由SIFT、ORB等等;
2.单词(word):由一组特征描述符组成,是图像库中的所有特征描述符通过若干次聚类形成;
3.单词树(vocabulary tree):特征聚类过程中形成的结构,聚类的数量k为码本的长度,设根节点为第0层,一个有L层的单词树的单词数量为kL个;
4.词袋由字典树、正向索引和反向索引组成;

字典树的形成

给定一组图像集,将图像中的N个特征描述符,利用Kmean等聚类方法进行聚类,得到k个簇,对每个簇再进行聚类,又得到k个簇,以此类推,形成L层的树状结构,树的叶子节点即为单词(1个单词可能包含了1个或多个特征)。这种树状结构的好处就是搜索速度快,判断一个特征特征属于哪个单词由原来的kL次搜索缩小为kL次,判断过程由计算汉明距离实现。如图1,字典树有2层,每一层分为两个簇,则1、2、3、4分别为一个单词。

图1 特征聚类

索引

正向索引(direct index)

正向索引中,存储了图像,图像中的特征以及特征所在的节点,如右图,图像1中包含了第10,32,65号等特征,其中10,32位于节点4,65位于节点3。正向索引用于特征匹配,即确定了另两幅相似的图像后(也就是SLAM中找到了回环图像后),对两幅图像中的特征点通过节点进行快速匹配

反向索引

反向索引存储的是单词的序号,以及包含该单词的图像序号。反向索引用于判断一幅新图像与已有图像中的哪一幅匹配。匹配过程为:(1)当获得一幅新图像Q后,提取Q中的特征,确定图像中包含了哪些单词;(2)根据获得的单词,在索引中找到对应的位置,该位置存储着包含该单词的一组图像(每个图像都有对应的编号);(3)某个编号的图像出现一次,在voting array中对应的基数+1,投票最多的前几个为Candidate图像。不需要计算与所有图像之间的相似度,加速搜索。

权重

图像可以由单词进行表示,类似于(w1, w2,…wn)的序列,其中wn为单词的索引。如果图像中属于某一类单词的特征很多,那我们一般认为这个单词的重要性会更大。另一方面来说,如果某个单词在我们构造的vocabulary tree中出现频率很低(生僻字),那么如果图像中出现了该单词,则这个单词的重要性也应该大一些(少见)。也就是涉及到了单词的权值计算问题,DboW2使用了TF-IDF(Term Frequency-Inverse Document Frequency)来计算单词权值。

1.词频Term Frequency(TF):某个词在图像中出现的次数。为了归一化,词频也可以定义成,某个词在图像中出现的次数 / 图像中的总词数。如果一个词比较少见,那么区分度就大。
2.逆向文件频率Inverse document frequency(IDF):log(单词树/ 包含该词的图像 +1 )。如果一个词越常见,那么分母就越大,逆文档频率就越小,越接近0。
3.TF-IDF:词频(TF)* 逆向文件频率(IDF)。如果某个词比较少见,但是它在一幅图像中多次出现,那么它很可能就反映了这幅图像的特性,正是我们所需要的关键词。某个词对图像的重要性越高,它的TF-IDF值就越大。

引用

BOW 原理及代码解析
词袋模型一些理解
ORB-SLAM2代码(五)DBoW2词袋模型
ORBSLAM2学习(三):DBoW2理论知识学习

ORBSLAM:词袋(Bag of Words)相关推荐

  1. BoW(词袋Bag of words)

    Bag-of-words词袋模型最初被用在信息检索领域.例如检索一篇文档,只需考虑文档中出现单词的频率,而不用考虑语法语序等.在图像领域,如果把一幅图像当作文档,图像中的图像块的特征向量视为文档内的词 ...

  2. 用词袋(bag of word)实现场景识别

    前段时间在standford university的计算机视觉:算法与应用这门课上做了一个小作业--利用词袋实现场景识别(Scene recognition with bag of words),下面 ...

  3. ORB词袋特征提取和匹配

    一.预备知识点 Bag-of-Words ORB特征提取与匹配 5. Bag of Word 作用: 加速匹配 和 回环 在跟踪线程里面 一进来就要对每帧进行词袋的提取 词袋模型是由Node和Word ...

  4. NLP从词袋到Word2Vec的文本表示

    目录 1.离散表示 1.1 One-hot表示 1.2 词袋模型 1.3 TF-IDF 1.4 n-gram模型 1.5 离散表示存在的问题 2. 分布式表示 2.1 共现矩阵 3.神经网络表示 3. ...

  5. SLAM笔记(七)回环检测中的词袋BOW

    1.词频 (摘自阮一峰博客,参见附录参考) 如果某个词很重要,它应该在这篇文章中多次出现.于是,我们进行"词频"(Term Frequency,缩写为TF)统计.考虑到文章有长短之 ...

  6. 词袋 图像检索 matlab,词袋模型BoW图像检索Python实战

    前几天把HABI哈希图像检索工具包更新到V2.0版本后,小白菜又重新回头来用Python搞BoW词袋模型,一方面主要是练练Python,另一方面也是为了CBIR群开讲的关于图像检索群活动第二期而准备的 ...

  7. 第05课:面向非结构化数据转换的词袋和词向量模型

    通过前面几个小节的学习,我们现在已经学会了如何获取文本预料,然后分词,在分词之后的结果上,我们可以提取文本的关键词查看文本核心思想,进而可以通过可视化技术把文档从视觉的角度表达出来. 下面,我们来看看 ...

  8. 8.词袋和词向量模型

    1.非结构化数据转换为词袋和词向量模型 文本数据(非结构化数据)转换成计算机能够计算的数据.有两种常用的模型:词袋和词向量模型. 2.词袋模型(Bag of Words Model) 词袋模型看起来好 ...

  9. 词袋模型和TF-IDF

    作者|PURVA HUILGOL 编译|VK 来源|Analytics Vidhya 机器理解文本的挑战 "语言是一种极好的交流媒介" 你和我很快就会明白那句话.但机器根本无法处理 ...

  10. 从词袋到transfomer,梳理十年Kaggle竞赛,看自然语言处理的变迁史

    大数据文摘出品 来源:medium 编译:LYLM.胡笳 自2010年创办以来,Kaggle作为著名的数据科学竞赛平台,一直都是机器学习领域发展趋势的风向标,许多重大突破都在该平台发生,数以千计的从业 ...

最新文章

  1. 网传 10 年技术岗老员工身患绝症,1780 元被知名游戏公司裁掉?公司回应:已达成和解
  2. c语言字体属性,【C】 5_变量属性
  3. LiteOS内核源码分析:任务栈信息
  4. NumPy:数组计算
  5. 基于visual Studio2013解决C语言竞赛题之0203格式化输出
  6. LINUX 游戏服务器之旅4_mongodb环境
  7. 文章2:多功能智能跟随行李箱控制系统设计 | 本科毕业设计 - 【论文终稿】
  8. windows10服务器iis发布网站,win10系统+iis7发布网站或服务的详细办法
  9. Putnam竞赛一道题及中科大自主招生试题的联系
  10. python爬取豆瓣图书前250
  11. SharePoint 2013 文档库“样式”变了
  12. 对访问和使用计算机的人员应釆取,计算机笔试模拟题全(含答案)
  13. Echarts -盒须图的使用说明
  14. 大数据平台测试目标与测试指标
  15. python 发送邮件乱码,及给多人发送邮件
  16. 【To be a better man】Timing(时机)---有想做的事情就赶快去做吧!
  17. MYSQL查询大于创建时间一小时的数据
  18. 《十周成为数据分析师》笔记——业务线 第三节 不做只懂技术不懂业务的“工具人”
  19. 树梅派迅雷远程下载服务器搭建
  20. 直播平台搭建,完整产业链和操作流程解析

热门文章

  1. android 单机地图,天地图app下载
  2. win7提示由于系统注册表文件丢失或损坏,无法开机
  3. Python 爬虫 ~ Prison Oriented Programming。
  4. Tomcat 发布时war解压
  5. 单点登录原理及其实现方案
  6. 怎么计算机械需要的电机,步进电机力矩的怎么计算?
  7. 电机功率与转矩/扭矩的关系
  8. 如何保险检查SD卡为扩容卡
  9. FS_FT_DFT_DFS_DTFT傅里叶
  10. 误删MySQL数据库中的mysql库怎么恢复