美文网首页
词袋和DBoW2库

词袋和DBoW2库

作者: liampayne_66d0 | 来源:发表于2019-07-26 15:25 被阅读0次

词袋模型

以文本为例,一篇文章可能有一万个词,其中可能只有500个不同的单词,每个词出现的次数各不相同。词袋就像一个个袋子,每个袋子里装着同样的词。这构成了一种文本的表示方式。这种表示方式不考虑文法以及词的顺序。度量袋词的相似度 就可以度量两篇文章的相似度(余弦相似度)

  • 视觉词袋模型
    特征点是由兴趣点和描述子表达的,把具有某一类特征的特征点放到一起就构成了一个单词(word),由所有这些单词就可以构成字典(vocabulary)了,有了字典之后,给定任意特征f_i,只要在字典中逐层查找(使用的是汉明距离),最后就能找到与之对应的单词
    w_j

  • 构建视觉词袋的步骤:

    • 1.先对一图像集合 检测特征,形成特征描述量。2.通过对描述子进行聚类来形成词典,比如用层次Kmeans来形成一个词汇树(Vocabulary Tree),每个节点下的描述子集相近,可以认为同一个节点下的这些描述子是一个视觉单词(当然更顶层的表示越的图像越复杂)。每一类用该类中所有特征的平均特征(meanValue)作为代表,称为单词(word)。每个叶节点被赋予一个权重。DBoW2作者提供了TF、IDF、BINARY、TF-IDF等权重作为备选,默认为TF-IDF。

    TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是TF * IDF,TF代表词频(Term Frequency),表示词条在文档d中出现的频率。
    TF=\frac{某个词在文中出现次数}{文章中总词数}
    IDF代表逆向文件频率(Inverse Document Frequency)。如果包含词条t的文档越少,IDF越大,表明词条t具有很好的类别区分能力。(来自百度百科)
    IDF=log\frac{词料库文章总数}{包含该词的文章数目+1}
    - 对图像集中的每张图像,提取其对应特征描述量进行分类,然后得到分别属于每一类的描述子个数。即得到一个n维度的向量,归一化该向量,则将该图像表示成一个n维的向量。
    - 将张图像都如上述表示成n维向量,则可以根据向量相似度知道每两张图像之间的相似度。IDF值可以根据大量数据训练得到

  • 在DBoW2库中,如果特征描述是ORB特征,那就训练得到ORB词典;如果是SIFT特征,那就训练得到SIFT词典。DBoW2库利用一个大的图像数据库,离线训练好了ORB库和SIFT库,供大家使用。因此,在使用DBoW2库时,首先需要载入一个离线视觉词典。

回环检测

  • 对一新进来的图像帧,将其中每个特征点都从单词树根节点往下遍历,取汉明距离最小的节点接着往下遍历直到叶节点。最终同上,计算各个叶节点上的数目并形成Bow向量v。
  • 根据BoW向量,计算当前图像和其它图像之间的距离。
    s(v_1,v_2)=1-\frac{1}{2}|\frac{v_1}{|v_1|}-\frac{v_2}{|v_2|}|
    差异越大得分越小趋近于0;相似则趋近于1

相关文章

  • 词袋和DBoW2库

    词袋模型 以文本为例,一篇文章可能有一万个词,其中可能只有500个不同的单词,每个词出现的次数各不相同。词袋就像一...

  • 【火炉炼AI】机器学习038-NLP创建词袋模型

    【火炉炼AI】机器学习038-NLP创建词袋模型 (本文所使用的Python库和版本号: Python 3.6, ...

  • 为什么台球职业选手很少打翻袋?

    1 我们平时和朋友打台球,经常会打翻袋,中袋一库不进,说不定两库可以进对面的中袋。有时逼急了,还要打顶库的长距离翻...

  • 【火炉炼AI】机器学习051-视觉词袋模型+极端随机森林建立图像

    【火炉炼AI】机器学习051-视觉词袋模型+极端随机森林建立图像分类器 (本文所使用的Python库和版本号: P...

  • 词袋模型

    词袋模型(Bag of words,简称 BoW ) 词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考...

  • 词集模型(SOW)和词袋模型(BOW)

    (1)词集模型:Set Of Words,单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一...

  • 词袋模型BoW和词集模型SoW

    Bag-of-Words词袋模型,经常用在自然语言处理和信息检索当中.在词袋模型中,一篇文本(文章)被表示成"装着...

  • DBoW2算法 精析

    在ORB-SLAM和Kintinuous中都使用到了一种闭环检测算法DBoW2,下面结合论文对该算法做详细介绍。 ...

  • 词向量构造 - 词袋模型

    对于机器学习任务而言,不管是什么类型的数据(语言,声音,图像,视频),都必须转化为数值型数据,一般均为向量或者矩阵...

  • 几个传统NLP模型演进

    词袋模型(BOW) 属于词频模型在推荐系统中,如果将一个物品看作一个词袋,我们可以根据袋中的词来召回相关物品,例如...

网友评论

      本文标题:词袋和DBoW2库

      本文链接:https://www.haomeiwen.com/subject/pgcdrctx.html