词袋向量及其计算方法

词袋向量及其计算方法

词袋模型基础

(略)

词袋向量的特点

通过词袋模型,一副图片可以用词袋向量描述。词袋向量的维度等于词典的维度(词典中单词的个数),故词袋向量往往是超高维的向量,几万,几十万的都有可能。这种超高维的特征一般是不能用的,但是索性词袋向量同时也是稀疏的,在几十万维度中非零项往往只有几百。这种高维稀疏特征带来的一个显著的好处就是区分性,正因此,它几乎成为场景识别,回环检测的主流特征。

词袋向量的计算

对于一个(n)维度词袋向量(bow=left{ word_{1},word_{2},...,word_{n} ight})中任意一个单词(word_{i} ,i in [1,n])

[word_{i}=value_{i} cdot weight_{i} ]

也就是说单词的计算是其值乘以单词的权重,值来源于图片,是变化的,权与图片无关是恒定的。值有3种:二进制,频数,频率(TF),权有两种:恒为1和IDF权重。

[valuetype=left{egin{matrix} 二进制\ 频数\ 频率(mathrm{TF}) end{matrix} ight. , weighttype=left{egin{matrix} 1\ mathrm{IDF} end{matrix} ight.]

他们常见的搭配如下表:

方法
二进制 1 二进制-1
频数 1 频数-1
频率 1 TF-1
频率 IDF TF-IDF

上述方法中的三种在DBoW2中都可选(binary,TF,TF-IDF),其中TF-IDF是回环检测中比较常用的一种词袋向量计算方法。它有效衡量了偶然性和区分性,TF词频是单词在图片中出现的频率,越高说明此单词越不可能是噪声。IDF是出现该单词场景占比的倒数的对数,越大,说明该词越不常见,区分度越好。对于离线词典来说,IDF值在词典训练的过程中就确定了,例如DBoW2中ymal词典文件中记录了每个节点的权(1或IDF)。但是对于在线的次词典创建来说,IDF是变动的,因为每次都会有新的图片加进来,所以严格讲使用TF-IDF的在线BOW是不存在词袋向量的,bayes框架多用这种去计算当前观测到各个场景的(likehood)(bayes框架不需要图像特征,只需要似然)。

原文地址:https://www.cnblogs.com/huaxiaforming/p/7230146.html