词袋向量及其计算方法

词袋向量及其计算方法

词袋模型基础

(略)

词袋向量的特点

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

词袋向量的计算

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

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

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

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

他们常见的搭配如下表:

方法
二进制 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框架不需要图像特征,只需要似然)。

posted @ 2017-07-24 18:16  七厘米光影  阅读(1407)  评论(0编辑  收藏  举报