视觉词袋模型属于基于内容的图像检索中的算 法,其实现主要依赖于图像特征提取和词典构建。
视觉词袋模型算法的步骤如下
步骤1. 特征提取。在训练阶段,将一个图像 划分为“块” (patch)。其中选取特征提取算法是关键 步骤,提取的每个图像关键点都是一个 patch,每 一个 patch 用 128 维特征向量表示。
步骤 2. 词典构建。假设有 M 幅训练图像,提 取图像集合中全部的 patch,用 K-means++算法对 patch 集合进行聚类,当 K-means++收敛时,得到 K 类相当于词典中有 K 个不同的单词,代表单词的数 量。
步骤3. 词典表示。首先设置一个维数 K、值 全为 0 的直方图,K 代表词典中的单词量,计算查 询图像所有 patch 与词典中各个单词的距离,根据 距离排序大小,找到与每个 patch 距离最近的单词, 在直方图上找到对应单词的坐标,对应计数上加 1, 所有 patch 计算完毕后进行归一化处理,得到的归 一化的直方图,即图像的向量化,使得图像可用 K 维向量表示。
步骤 4. 图像检索。训练图像同样使用 K 维向 量表示,对用户给出的查询图像,计算查询图向量 与所有训练图向量之间距离,并返回距离值排序最 小的若干幅。
论文整理:基于感知哈希和视觉词袋模型的图像检索方法