Bag-of-words model in computer vision
一、Bag-of-words model
该模型在自然语言处理及信息检索领域被用作一种相对简单的文本表示方法。借助此模型,则可通过统计每篇文档内各单词出现的次数来进行描述。其特点在于忽略句子结构以及单词出现顺序,并在文档分类这类任务中得到广泛应用,并以其统计每词频率的方式提取特征。
通过下面的例子来说明用这一model来表示文档的基本方法:
如下两篇简单的文本文档:

基于这两篇文档构建一个Dictionary如下:

It is evident that this dictionary consists of 10 distinct words. These indexes are used as index terms. Each of the two documents can be represented as a 10-entry vector, as shown below.

通俗的讲:
Bag-of-words model本质上就是将文档转化为一个向量空间模型,在这个模型中每个向量代表了一种具体的语义表达方式。其中向量空间的维度就等于词汇表中的单词数量,在这种情况下每个向量元素代表了对应位置上词汇在文档中的出现频率或者相关度信息。例如,在之前的例子中,我们可以看到当我们将一篇论文转化为BoW模型时,实际上是在构建一个反映文章主题分布情况的特征向量。具体来说,在这个过程中我们通过统计该文档中与第i个位置对应的词汇出现次数来填充整个向量空间中的各个维度值。由此可知BoW model作为一种简单的文本表示方法其实质就是在计算词语在给定语料库中的频率分布情况并以此构建特征向量进行描述
二、Bag-of-words model in computer vision
自2003年以来,在Computer Vision领域中,许多研究者将BoW模型类比地应用于相关研究中。其中一些应用包括但不限于图像分类和图像检索等技术。为了更好地理解这一过程,请先考虑如何从文档中找到单词与图像之间的对应关系:此时,默认情况下将这些单词视为图像的特征(Features)。常用的特征提取方法是SIFT算法(1999年首次提出,并逐步完善至2004年)。如前所述,在后续分析中,默认将一张图片表示为基于其Feature属性构建的直方图。
具体步骤如下:
通过SIFT算法从图像集中提取图像特征形成视觉词汇向量(此处使用的是128维向量)。
假如有自行车、人脸、吉他,我们提取词汇如下:

(2)从上一阶段获取的SIFT特征向量以及视觉词汇数据出发,在采用聚类技术(例如k-means算法)的基础上完成数据分类工作。研究者通过上述簇心集合构建Visual Vocabulary(Visual Codebook),并将其作为后续模型训练的基础输入。
为了实现基于深度学习的图像分类系统开发目标,在数据预处理阶段需要完成特征提取与聚类编码工作。具体而言,在获取图像分类基准数据集后,在其基础上进行特征学习与表示提取步骤。该系统旨在通过多模态数据融合构建统一的人脸识别模型框架。

对每张图片进行统计时,计算其中每个单词(来自词典)与对应的SIFT特征的相关数量。这样一来,则可以用一个具有K个元素的向量来表示这张图片的数据情况;或者也可以将其表示为基于单词频率的直方图形式。
对于我们的例子,我们将图像用统计histgram的形式可表示如下:
综上:
采用BoW模型对图像进行表示后生成了一个vector。这使得我们可以根据其特征来进行图像检索和分类。
我们可以通过下图更加整体的理解用词袋模型表示一幅图的方法:
参考:
(1)<>
(2)http://www.cnblogs.com/platero/archive/2012/12/03/2800251.html
Bag-of-words scheme in visual perception system
Bag-of-words scheme in visual perception system
该链接提供关于 bag-of-words 模型的详细信息
An assessment of Bag-of-Visual-Words Representations within the context of Scene Classification has been conducted in this study(文献)
