CBIR 利用计算机对图像进行分析,建立图像特征矢量描述(SIFT特征提取 )并存入图像特征库,当用户输入一张查询图像时,用相同的特征提取方法(SIFT)提取查询图像的特征得到查询向量,然后在某种相似性度量准则下计算查询向量到特征库中各个特征的相似性大小,最后按相似性大小进行排序并顺序输出对应的图片。
基于内容的图像检索技术将图像内容的表达和相似性度量交给计算机进行自动的处理,克服了采用文本进行图像检索所面临的缺陷,并且充分发挥了计算机长于计算的优势,大大提高了检索的效率,从而为海量图像库的检索开启了新的大门。
矢量空间模型(BOW表示模型、Bag of Words)
矢量空间模型 是一个用于表示和搜索文本文档的模型。它基本上可以应用于任何对象类型,包括图像。该名字来源于用矢量来表示文本文档,这些矢量是由文本词频直方图构成的。矢量包括了每个单词出现的次数,而且在其他别的地方包含很多 0 元素。由于其忽略了单词出现的顺序及位置,该模型也被称为 BOW 表示模型(Bag of Words)。
通过单词计数来构建文档直方图向量 v,从而建立文档索引。通常,在单词计数时会忽略掉一些常用词,如 “这” “和” “是” 等,这些常用词称为 停用词 。由于每篇文档长度不同,故除以直方图总和将向量归一化成单位长度。对于直方图向量中的每个元素,一般根据每个单词的重要性来赋予相应的权重。通常,数据集(或语料库)中一个单词的重要性与它在文档中出现的次数成正比,而与它在语料库中出现的次数成反比。
最常用的权重是 tf-idf (term frequency-inverse document frequency,词频-逆向文档频率),单词 w 在文档 d 中的词频是:
t f w , d = n w ∑ j n j t f_{w, d}=\frac{n_{w}}{\sum_{j} n_{j}} tfw,d=∑jnjnw
nw是单词 w 在文档 d 中的出现的次数。为了归一化,将n_w除以整个文档中单词的数。
逆向文档频率为:
i d f w , d = log ∣ ( D ) ∣ ∣ { d : w ∈ d } ∣ i d f_{w, d}=\log \frac{|(D)|}{|\{d: w \in d\}|} idfw,d=log∣{d:w∈d}∣∣(D)∣
∣D∣是在语料库 D DD 中文档的数目,分母是语料库中包含单词 w 的文档数 d 。将两者相乘可以得到矢量 v 中对应元素的 tf-idf权重
视觉单词
为了将文本挖掘技术应用到图像中,我们首先需要建立视觉等效单词,通常采用SIFT局部描述子技术。它的思想是将描述子空间量化成一些典型实例,并将图像中的每个描述子指派到其中的某个实例中。这些典型实例可以通过分析训练图像集确定,并被视为视觉单词。所有这些视觉单词构成的集合称为 视觉词汇 ,有时也称为 视觉码本 。对于给定的问题、图像类型,或在通常情况下仅需要呈现视觉内容,可以创建特定的词汇。
从一个训练图像集提取特征描述子,利用一些聚类算法可以构建出视觉单词。聚类算法中最常用的是 KMeans算法。视觉单词并不高端,只是在给定特征描述子空间中的一组向量集,在采用 KMeans进行聚类时得到的视觉单词是聚类质心。用视觉单词直方图来表示图像,则该模型便称为 BOW 模型。
Bag of features原理
Bag of Feature 是一种图像特征提取方法,它借鉴了文本分类的思路(Bag of Words),从图像抽象出很多具有代表性的「关键词」,形成一个字典,再统计每张图片中出现的「关键词」数量,得到图片的特征向量