“ 在深度模型没有盛行之前,基于传统局部特征(SIFT,SURF)的方案是图像分类和检索领域的主流。以基于内容的图像检索为例,给定一个查询图像和待检索图像集合,我们希望在待检索图像集合中找到与查询图像内容相同或相似的图像,返回结果依据相似度进行排序。问题核心转换为如何将一张图像转换为可以进行相似性度量的表示。传统方案是对每张图像抽取多个局部特征然后再将其聚合成单个紧致向量,得到的向量便可以基于各种距离来进行相似性度量,从而实现图像的检索。给定一张图像,我们抽取它的局部特征(SIFT,SURF),一般情况下,局部特征数量很大,我们需要将其聚合成单个向量从而方便后续的索引和检索流程。最经典的聚合方案就是BOVW、VLAD、FV三种,下面我们一一介绍。 ”
1.BOVW(bag of visual words)
BOVW的基本思想是用一组特征来表示一副图像,特征由关键点和描述符构成。关键点是一副图像的”突出”点,无论图像旋转还是放缩,其关键点始终是相同的。描述符是对关键点的描述,我们使用描述符来构建视觉词典。有了视觉词典,就可以将每张图像转换成特征的频率直方图。BOVW的基本流程如下: 1.1抽取特征 抽取的局部特征要有较高的区分度,并且要满足旋转不变性和尺度不变性,我们一般使用SIFT特征,它可以很好的满足上述条件。单张图片抽取的SIFT特征数量不固定,但特征维度一般为128。 1.2学习视觉词典 基于上一阶段得到特征集合进行聚类,最常用的聚类算法是K-Means。聚类的超参K即对应视觉字典的大小,K的选择要根据实验和具体场景来确定。聚类完成后,我们得到了这 K 个聚类中心组成的字典,这 K 个向量就叫做视觉单词 (visual word)。 1.3 利用词典得到图像的直方图表示对单张图像,可以抽取到多个SIFT特征,每个特征在确定距离度量的情况下都可以在词典中找到距离它最近的视觉单词。这样我们就可以统计一个K维的直方图向量,每个维度对应一个视觉单词,值则对应于视觉单词出现的频率。这个K维直方图向量就是用作代表一副图像的全局特征向量。2.VLAD(vector of locally aggregated descriptors)
有了前面BOVW的基础,VLAD就很好理解了,它的基本流程如下 2.1 特征抽取设图像集合为 ,遍历 ,对每一张图像 抽取 个D维特征向量(使用SIFT特征的情况下 D=1 28, 的值每张图像不一样),最终得到一个局部特征集合 F,F的大小为 。 2.2 学习视觉词典使用聚类算法(K-Means等)对步骤2.1的得到特征集合进行聚类得到维度为的视觉词典。 2.3 利用词典得到图像的全局特征图 设一张图像