Bag-of-words词袋模型最初被用在信息检索领域。例如检索一篇文档,只需考虑文档中出现单词的频率,而不用考虑语法语序等。在图像领域,如果把一幅图像当作文档,图像中的图像块的特征向量视为文档内的词,BoW在图像领域也可以取得很好的效果。这个过程可以分为几步:提取特征,训练虚拟词表,量化特征,用虚拟词频表示图片。
1、特征提取
- 检测图像块
- 归一化图像块
- 用SIFT描述器表示
2、训练虚拟词表
通过聚类(k-means)的方法,把所有SIFT表示的特征归为几类,这些归类的特征可视为虚拟词表(visual vocabulary)。
每一个归类的特征(cluster center)被称为虚拟词(visual word),然后量化特征。
3、用词频表表示图片
统计图像中每个词在图像中出现的频率,用频率直方图表示。
4、BoW在图像检索中的应用
4.1 构建数据库
- 提取数据库图像的特征向量
- 训练所有图像的词表
- 计算每一个词的权重
- 创建词-图的映射
4.2 TF-IDF(term frequency-inverse document frequency)权重
单词 j 的IDF(逆文本频率)计算公式:
单词 j 的TF(词频)计算公式:
单词 j 的TF-IDF计算公式:
TF-IDF的值越大说明这个词也重要,也就是关键词。
4.3 创建词-图映射
把词映射到文档
5、图像的空间金字塔(Spatial pyramid)
计算每一块的直方图
计算金字塔图的每一个小区域的直方图
把金字塔和直方图结合在一起进行比较,判断匹配项