文章目录
一、实验原理
1.1 BOW与BOF模型介绍
BOW模型即是bag of words,Bag-of-words模型是信息检索领域常用的文档表示方法。在信息检索中,BOW模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。
Bag-of-Features模型仿照文本检索领域的Bag-of-Words方法,把每幅图像描述为一个局部区域/关键点(Patches/Key Points)特征的无序集合。使用某种聚类算法(如K-means)将局部特征进行聚类,每个聚类中心被看作是词典中的一个视觉词汇(Visual Word),相当于文本检索中的词,视觉词汇由聚类中心对应特征形成的码字(code word)来表示(可看当为一种特征量化过程)。所有视觉词汇形成一个视觉词典(Visual Vocabulary),对应一个码书(code book),即码字的集合,词典中所含词的个数反映了词典的大小。图像中的每个特征都将被映射到视觉词典的某个词上,这种映射可以通过计算特征间的距离去实现,然后统计每个视觉词的出现与否或次数,图像可描述为一个维数相同的直方图向量,即Bag-of-Features。
1.2 BOF实现步骤
- 特征提取
本次实验采用sift方法做特征提取,构造sift特征数据库。关于sift算法相关内容可查看以前相关的博客内容,不再多做解释。 - 学习“视觉词典”
采用k-means聚类算法对提取出的特征点进行分类处理,将聚类得出的聚类中心称为视觉单词,用来作投票依据,而视觉单词组成的集合称为视觉词典/码本。 - 根据IDF原理,计算视觉单词的权
每个视觉单词的权重是不一样的,这与视觉词典的规模有关,词典规模大,计算量大,容易过拟合,词典规模小,无法覆盖所有可能的情况。 - 针对特征集,根据视觉词典进行量化
这一步骤将我们输入的特征集合,映射到上一步做来的码本之中。通过计算输入特征到视觉单词的距离,然后将其映射到距离最近的视觉单词中,并计数,投票量化 - 对输入图像,根据TF-IDF转化成视觉单词的频率直方图
这一步骤通过对图像特征提取,然后将提取出来的特征点,根据第四步,转换为频率直方图。 - 构造特征到图像的到排表,快速索引相关图像
倒排表是一种逆向的查找方式,通过对视觉词汇的反向查找,会得到拥有同一视觉词汇的图像集合,反复多次就能得到一张倒排表。倒排表可以快速的得到新的图像与数据库里相似的图像。 - 根据索引结果进行直方图匹配
根据欧式距离求解,进行相似度排序
1.3 TF-IDF原理
TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).
是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
上述引用总结就是, 一个词语在一篇文章中出现次数越多, 同时在所有文档中出现次数越少, 越能够代表该文章.
这也就是TF-IDF的含义.
TF为词频,指的是某一个给定的词语在该文件中出现的次数。单词 w 在文档 d 中的词频是:
t f = n w ∑ j n j tf_ = \frac{n_w}{\sum_jn_j} tf=∑jnjnw其中nw 是单词 w 在文档 d 中出现的次数。为了归一化,将 nw 除以整个文档中单词的总数。
逆向文件频率IDF是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。其计算公式为: i d f = l