图像检索综述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TTdreamloong/article/details/82733654

图像检索综述

1.前言

基于内容的图像检索任务(CBIR)长期以来一直是计算机视觉领域重要的研究课题,自20世纪90年代早期,研究人员先后采用了图像的全局特征,局部特征,卷积特征的方法对CBIR任务进行研究和探索,并取得了卓越的成果。自2003年开始,由于SIFT特征在图像尺度、方向变化问题中的优异表现,十多年来基于局部描述算子(如SIFT描述算子)的图像检索方法一直被广泛研究。最近,基于卷积神经网络(CNN)的图像表示方法吸引了社区越来越多的关注,同时这种方法也展现出了令人赞叹的性能。对SIFT一类的方法,我们根据字典本大小,将相关文献按照字典的大/中/小规模进行组织。对CNN一类的方法,我们主要依据预训练模型,微调模型和混合模型进行分类和讨论。预训练模型和微调模型方法采用了单通道的图像输入方法而混合模型则采用了基于块的特征提取策略。在下面的章节中我们首先给出一部分在SIFT基础上的发展状况,剩余的部分将重点介绍基于CNN模型的研究现状,并结合SIFT特征的提取,阐述CNN模型预SIFT之间的联系。

2.图像检索发展历程综述

 

图2.1 图像检索时间线

介绍此部分之前,我们结合图像检索的整体过程,分析此段时间内图像检索的发展现状与趋势,如图2.2所示。

图2.2 图像检索过程图

在检索之前,首先需要我们先要提取到图像的特征,也就是特征提取的阶段,从2003年到2012年的这段时间内,提取特征的方法主要基于SIFT的特征,由于SIFT特征在图像尺度、方向变化问题中的优异表现,十多年来基于局部描述算子(如SIFT描述算子)的图像检索方法一直被广泛研究。在这期间,研究学者主要贡献在于提出了多种特征编码与聚合的方法,2003年词袋模型(BoW)【1】进入图像检索社区的视野,并在2004年结合了SIFT方法符被应用于图像分类任务。在后来的近10年时间里,见证了BoW模型的优越性,它给图像检索任务带来了各种提升。2008年,Jégou et al.2】提出了汉明嵌入,中等codebook在图像检索中开始占有一席之地,2010Perronnin et al.Jégou et al.34】提出了FV和压缩视觉词汇表达VLAD,小码本开始受到了欢迎。2012年Krizhevsky et al.【5】提出了新的CNN模型,深度学习在大赛上的优异表现,图像检索提取特征的方法逐渐从SIFT特征向CNN特征转变,总结这十几年的贡献主要在于特征编码与聚合的阶段,2012年以后,深度学习发展迅速,但是在图像检索领域表现平平,一直没有达到让人满意的水平,甚至低于SIFT时代提出的方法,但是依然有前赴后继的研究学者涌向这个新的方向,相继提出了许多有效的方法,精度也不断的逼近与SIFT特征。我们把基于CNN的方法被分为三类:使用预训练的CNN模型,使用微调的CNN模型以及使用混合模型。前两类方法使用单向传递网络来提取全局特征,混合模型方法可能需要多个网络传递,由Razavian et al.【6】在2014年最早提出。

由于预训练CNN模型是单通模式,因此这种方法在特征计算中非常高效。考虑到传输特性,它的成功在于特征提取和编码步骤。这种方法大多采用的是Imagenet预训练的模型,并且提取的特征层的深度会直接影响到检索的性能。最直接的想法就是网络的全连接层(FC layer)提取描述符,在AlexNet中就是FC6或FC7中的描述符。FC描述符是在与输入图像卷积的层之后生成的,具有全局表示性,因此可以被视为全局特征。它在欧几里德距离下产生较好的检索精度,并且可以使用指数归一化来提高检索精度。许多最新的检索方法专注于研究中间层的描述符,在这种方法中,低层网络的卷积核用于检测局部视觉模式。作为局部检测器,这些滤波器具有较小的感受野并密集地应用于整张图像。与全局FC特征相比,局部检测器对于诸如截断和遮挡的图像变换更鲁棒,其方式类似于局部不变量检测器。局部描述符与这些中间局部检测器紧密耦合,换而言之,它们是输入图像对这些卷积运算的响应。另一方面,在卷积运算后等到的激活图层可以看做是特征的集成,在这篇综述中将其称为“列特征”【7】。当提取列特征时,图像由一组描述符表示。为了将这些描述符聚合为全局表示,目前采用了两种策略:编码和直接池合并。

编码。一组列特征类似于一组SIFT特征,因此可以直接使用标准编码方案。常用的方法就是VLAD和FV算法,【8】首次将列特征用VLAD算法编码。这个想法后来扩展为CNN的微调。BoW编码同样也可以使用,具体可见【9】. 每个层内的列特征被聚集成一个BoW向量,然后跨层连接. 【10】是固定长度表示的一个例外,这篇文章将列特征用大小为25K的码本量化,还采用了倒排索引结构来提升效率。

池化。 CNN特征与SIFT的主要区别在于前者在每个维度上都有明确的含义,也就是对输入图像的特定区域的滤波器响应。因此,除了上面提到的编码方案之外,直接池化技术也可以产生具有区分度的特征。【11】提出的最大卷积激活(MAC),在没有扭曲或裁剪图像的情况下,MAC用单个前向传递来计算全局描述符。特别地,MAC计算每个中间特征映射的最大值,并将所有这些值串联在一个卷积层内。在其多区域版本中,使用积分图算法和最似最大算子进行快速计算。随后局部的MAC描述符随着一系列归一化和PCA白化操作被一起合并。【12】在中间特征映射上采用最大或平均池化。同时大家也发现最后一层卷积层(如VGGNet的pool5)在池化后达到的准确率要高于FC描述符以及其他卷积层。除了直接特征池化,在池化之前给每个层内的特征图分配一些特定的权重也是有益的。Babenko et al.【13】提出“目标对象往往出现在图像中心”这样一个先验知识,并在总池化前对特征图施加一个2-D高斯掩膜。【14】改进了MAC表示法,他们将高层语义和空间上下文传播到底层神经元,以提高这些底层激活神经元的描述能力。Kalantidis et al.【15】使用了一个更常规的加权策略,他们同时执行特征映射和信道加权以突出高激活的空间响应,同时减少异常突发情况的影响。此外,还有一些研究是对卷积特征进行区域分析。Tolias et al.【16】提出R-MAC。这种方法使用一个特定区域对给定的卷积层进行最大池化,以生成一系列的区域向量,是一种对卷积特征进行聚合的方法。对生成的区域进行一些处理(L2归一化、PCA白化和L2归一化),然后使用求和池化将其聚合成一个密集表达。这种方法的一个不足是它使用的一个固定位置的网格。对此,一些方法在R-MAC的基础之上进行了改进。Jimenez et al.【17】使用(CAMs)的方法对R-MAC进行了改进。CAMs生成一系列表示图像中各部分区域重要性的空间图,该空间图是和图像的类别信息有关的。该方法之后使用每一个图对卷积特征进行加权处理,得到了一系列类向量,之后进行一些处理得到R-MAC中介绍的区域向量。同样,Cao et al.【18】提出直接从卷积层中获得一系列基本区域,然后使用一种可适应的重排方法。Lanskar 和 Kannala 【19】使用直接从卷积特征获得的显著性方法来对R-MAC的区域重要性进行加权。此外,Simeoni et al.【20】在最近的研究中也提出一种从卷积特征中获得的显著性方法,该方法对各通道进行加权求和,其中权重表示的是通道的稀疏性。他们在R-MAC的均匀采样的基础之上进行改进,提出一种直接从显著性特征图中提取一系列矩形区域的方法。

虽然预先训练的CNN模型已经取得了令人惊叹的检索性能,但在指定训练集上对CNN模型进行微调也是一个热门话题。当采用微调的CNN模型时,图像级的描述符通常以端到端的方式生成,那么网络将产生最终的视觉表示,而不需要额外的显式编码或合并步骤。

用于微调的CNN结构主要分为两类:基于分类的网络和基于验证的网络。基于分类的网络被训练以将建筑分类为预定义的类别。通常训练集和查询图像之间通常不存在类重叠。验证网络可以使用孪生网络(siamese network)结合成对损失函数(pairwise loss)或三元损失函数(triplet loss),这种方法已经被更广泛地用于微调网络任务中。【21】中采用了基于AlexNet的孪生网络和对比损失函数。【16】用MAC成代替全连接层。【22】用 l2 正则后的MAC层输出计算对比损失函数。【23】在Landmark数据库上对三元损失网络和区域提取网络进行微调,这项工作的的优越性在于物体其定位能力,它很好地在特征学习和提取步骤中排除了图像背景。【24】在最后一个卷积层中插入一个类似VLAD编码层,通过反向传播进行训练。与此同时,设计了一个新的三元损失函数来利用弱监督的Google Street View Time Machine数据。

混合式方法中使用多网络传递方式。许多图像块从输入图像中获得并被输入网络中进行特征提取,随后进行编码/池化。由于“检测器+描述符”的方式和基于SIFT的方法很相似,因此我们称其为“混合式”方法。这种方法的效率通常比单通传递要低。

在混合方法中,特征提取过程包括图像块检测和描述符生成。对第一步而言,主要有三种区域检测器。第一种检测器是网格化图像块。【25】中使用了两个尺寸滑动窗口的策略来生成图像块。【6】中首先对数据集进行裁剪和旋转,然后将其划分为不同尺度的图像块。

第二类是具有不变性的关键点/区域检测器。例如高斯差分特征点在【26】中使用。MSER区域检测器在【27】中被使用。第三种是区域建议方法,它也同样提供了潜在对象可能的位置信息。Mopuri et al.【28】使用选择性搜索策略来提取图像块,而边缘区域方法在【29】中使用。在【30】中使用区域建议网络(RPN)来对目标进行定位。【27】证实了CNN一类的区域描述是有效的,并且在除模糊图像之外的图像匹配任务要优于SIFT描述符,对于给定的图像块,混合CNN方法通常使用全连接层或池化的方法来整合CNN特征。这些研究从多尺度的图像区域中提取4096维FC特征或目标建议区域。另一方面,Razavian et al.【7】还在最大池化后采用中间描述符来作为区域描述符。

混合方法的编码/索引过程类似于基于SIFT的检索,如同在小码本下的VLAD / FV编码或大码本下的倒排索引。【6】【7】【31】这些工作提取每个图像的多个区域描述符进行多对多匹配,这种方法称为称为“空间搜索”。该方法提高了检索系统对平移和尺度变化的鲁棒性,但可能会遇到效率问题。另一种使用CNN最高层特征编码的策略是在基于SIFT编码(如FV)的最后面建立一个CNN结构(主要由全连接层组成)。通过在自然图像上训练一个分类模型,中间的全连接层可以被用来进行检索任务。

3.小结

对于以上的讨论,我们将图像检索分为三类,基于混合方法的,基于预训练模型的,基于微调模型的,总的来说检索的方法往更轻量级,更简单的方法过度。SIFT的方法逐渐被CNN网络取代,但是在某些方面,又可以作为CNN特征的补充。

第一,混合方法可被视为从SIFT到基于CNN的方法的过渡方法,除了将CNN特征提取为局部描述符之外,它在所有方面都类似于基于SIFT的方法。由于在图像块特征提取期间需要多次访问网络,因此特征提取步骤的效率可能会受到影响。

第二,单向CNN方法倾向于将SIFT和混合方法中的各个步骤结合起来。“预训练单向网络”一类方法整合了特征检测和描述的步骤;在“微调单向网络”中,图像级描述符通常是在端到端模式下提取的,因此不需要单独的编码过程。在【19】中,集成了类似“PCA”层以减少区分维数,进一步完善了端到端的特征学习。

第三,出于效率上的考虑,特征编码的固定长度表示方法越来越流行。它可以通过聚集局部描述符(SIFT或CNN)、直接汇或端到端特征计算的方法来获得。通常,诸如PCA的降维方法可以在固定长度的特征表达中使用,ANN搜索方法(如PQ或哈希)可用于快速检索。

参考文献

【1】J. Sivic and A. Zisserman, “Video google: A text retrieval approach to object matching in videos,” in ICCV, 2003

【2】H. Jégou, M. Douze, and C. Schmid, “Hamming embedding and weak geometric consistency for large scale image search,” in ECCV, 2008

【3】F. Perronnin, J. Sánchez, and T. Mensink, “Improving the fisher kernel for large-scale image classification,” in ECCV, 2010

【4】H. Jégou, M. Douze, C. Schmid, and P. Pérez, “Aggregating local descriptors into a compact image representation,” in CVPR, 2010

【5】A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification with deep convolutional neural networks,” in NIPS, 2012

【6】A. Sharif Razavian, H. Azizpour, J. Sullivan, and S. Carlsson, “Cnn-features off-the-shelf: an astounding baseline for recognition,” in CVPR Workshops, 2014

【7】A. S. Razavian, J. Sullivan, S. Carlsson, and A. Maki, “Visual instance retrieval with deep convolutional networks,” in ICLR workshops, 2015.

【8】J. Ng, F. Yang, and L. Davis, “Exploiting local features from deep networks for image retrieval,” in CVPR Workshops, 2015

【9】P. Kulkarni, J. Zepeda, F. Jurie, P. Perez, and L. Chevallier, “Hybrid multi-layer deep cnn/aggregator feature for image classification,”in ICASSP, 2015.

【10】E. Mohedano, K. McGuinness, N. E. O’Connor, A. Salvador,F. Marqués, and X. Giró-i Nieto, “Bags of local convolutional features for scalable instance search,” in ACM MM, 2016.

【11】G. Tolias, R. Sicre, and H. Jégou, “Particular object retrieval with integral max-pooling of cnn activations,” in ICLR, 2016.

【12】A. S. Razavian, J. Sullivan, S. Carlsson, and A. Maki, “Visual instance retrieval with deep convolutional networks,” in ICLR workshops, 2015.

【13】A. Babenko and V. Lempitsky, “Aggregating local deep features for image retrieval,” in ICCV, 2015.

 【14】L. Xie, L. Zheng, J. Wang, A. Yuille, and Q. Tian, “Interactive:Inter-layer activeness propagation,” in CVPR, 2016.

【15】Y. Kalantidis, C. Mellina, and S. Osindero, “Cross-dimensional weighting for aggregated deep convolutional features,” in ECCV,2016.

【16】G. Tolias, R. Sicre, and H. Jégou, “Particular object retrieval with integral max-pooling of cnn activations,” in ICLR, 2016.

【17】A. Jimenez, J. M. Alvarez, and X. Giro-i Nieto. Classweighted convolutional features for visual instance search.In 28th British Machine Vision Conference (BMVC), September 2017.

【18】J. Cao, L. Liu, P. Wang, Z. Huang, C. Shen, and H. T. Shen.Where to focus: Query adaptive matching for instance retrieval using convolutional feature maps. arXiv preprint

arXiv:1606.06811, 2016.

【19】Z. Laskar and J. Kannala. Context aware query image representation for particular object retrieval. In Scandinavian Conference on Image Analysis, pages 88–99. Springer, 2017

【20】O. Simeoni, A. Iscen, G. Tolias, Y. Avrithis, and O. Chum. ´Unsupervised deep object discovery for instance recognition.arXiv preprint arXiv:1709.04725, 2017.

【21】S. Bell and K. Bala, “Learning visual similarity for product design with convolutional neural networks,” ACM Transactions on Graphics, vol. 34, no. 4, p. 98, 2015.

【22】F. Radenovi´c, G. Tolias, and O. Chum, “Cnn image retrieval learns from bow: Unsupervised fine-tuning with hard examples,” in ECCV, 2016.

【23】A. Gordo, J. Almazán, J. Revaud, and D. Larlus, “Deep image retrieval: Learning global representations for image search,” in ECCV, 2016

【24】R. Arandjelovi´c, P. Gronat, A. Torii, T. Pajdla, and J. Sivic, “Netvlad: Cnn architecture for weakly supervised place recognition,” in CVPR, 2016

【25】Y. Gong, L. Wang, R. Guo, and S. Lazebnik, “Multi-scale orderless pooling of deep convolutional activation features,” in ECCV, 2014

【26】S. Zagoruyko and N. Komodakis, “Learning to compare image patches via convolutional neural networks,” in CVPR, 2015.

【27】P. Fischer, A. Dosovitskiy, and T. Brox, “Descriptor matching with convolutional neural networks: a comparison to sift,” arXiv:1405.5769, 2014

【28】K. Mopuri and R. Babu, “Object level deep feature pooling for compact image representation,” in CVPR Workshops, 2015.

【29】T. Uricchio, M. Bertini, L. Seidenari, and A. Bimbo, “Fisher encoded convolutional bag-of-windows for efficient image retrieval and social image tagging,” in ICCV Workshops, 2015.

【30】S. Ren, K. He, R. Girshick, and J. Sun, “Faster r-cnn: Towards realtime object detection with region proposal networks,” in NIPS, 2015.

【31】L. Xie, R. Hong, B. Zhang, and Q. Tian, “Image classification and retrieval are one,” in ICMR, 2015.

猜你喜欢

转载自blog.csdn.net/TTdreamloong/article/details/82733654