图像检索综述
一、文本检索到图像检索
CBIR领域,Josef Sivic 和Andrew Zisserman【1】将彼时成熟的文本检索方法用于视频图像搜索。【1】中先对文本检索【2】作简要回顾:
- 分词:documents采用某种分词方法,分割成一个个word;
- 词预处理1:将词根一样的词合并,如walk、walking、walks合并成walk;
- 词预处理2:去除停用词(stop-word),如常见的词:an、the等;
- 词典化:将留下的词组织成vocabulary dictionary;
- 向量化:每个文本/查询都表示成一个向量,每个维度上的值为该词的Term Frequence Inverse Document Frequence (TF-IDF);
- 排序:在文本检索时,通过计算文档向量和查询向量的夹角(夹角余弦值)排序得到文档序列,以此获取检索目标。
对于CBIR,将图像看成是一篇文档,图像(文档)由一系列视觉词描述,维基百科上对视觉词袋(BOVW)也做了归纳【3】,博文【7】对文献【1】也有归纳理解。具体流程分为以下步骤:
- (分词)图像的特征提取,文献【1】中介绍阐述的是两种视角不变性特征Shape Adapted(用了SIFT特征【4】【5】) 和 Maximally Stable(用了最大稳定极值区域特征MSER-Maximally Stable Extremal Regions【6】), 不过常规的实现中见到的以SIFT特征为主。
- (词预处理)图像视觉词(visual word / codeword)生成,利用k-means将前述提取的特征聚类成k个视觉词,文献【1】中k值依经验选取使得检索结果中的正确率最大(?理解可能有误)。其中,停用词(stop-list)选取范围为:特征映射到视觉词中词频在top 5% 和bottom 10%范围。
- (词典化)图像视觉词总去掉停用词,形成视觉词典;
- (向量化)按视觉词的tf-idf权重生成图片的向量;
- (排序)按查询图片和图片集中每张图片的夹角排序(也可以选用其他距离,如欧式距离)
二、词汇树–图像检索规模扩大[8]
词汇树的基本思想是利用hierarchical k-means (HKM)在多个层上得到尽可能多的clusters(直白地讲,就是个满k叉树)。层次k-means的意思是将空间中的点用普通k-means得到k个聚类中心,每个点都属于一个聚类中心代表的类。对于一类中的所有点,再递归的进行k-means,直到获得我们想要的层数。文献[8]中的k-means聚类中k=10,一共进行6层聚类,这样可以得到10^6个聚类中心。这样的聚类实际上得到了一个6层的10叉树,这棵树中保存了视觉单词,所以我们叫他词汇树。进行图像检索的过程中,从根节点开始,从上往下依次查找当前节点子类中最相似的类,最后一层可以排序返回多个相似图片。所用词项权重依然是tf-idf。
需要说明的是,文献[8]中提取的是MSER特征点周围的elliptical patch然后warp into circular patch再依照SIFT特征提取方式提取描述子。
三、大规模词汇和快速空间匹配[9]
文献[9]采用随机森林实现的一种近似最近邻方法(ANN)来提升大规模词汇。。。。未完。。。。
[1]:Video Google: A Text Retrieval Approach to Object Matching in Videos
[2]:《Modern Information Retrieval》 R. Baeza-Yates and B.Ribeiro-Neto
[3]:https://en.wikipedia.org/w/index.php?title=Bag-of-words_model_in_computer_vision&oldid=517192612#cite_note-3
[4]:http://www.cnblogs.com/starfire86/p/5735061.html
[5]:http://blog.csdn.NET/abcjennifer/article/details/7639681/
[6]:http://blog.csdn.net/zhaocj/article/details/40742191
[7]:http://blog.csdn.net/mqfcu8/article/details/44907109
[8]: Scalable Recognition with a Vocabulary Tree
[9]: Object retrieval with large vocabularies and fast spatial matching