图像检索重磅综述(2016年以前)

本文转自https://zhuanlan.zhihu.com/p/36088972 仅供我的学习,若有侵权,请联系删除算法

1 前言数据库

基于内容的图像检索任务(CBIR)长期以来一直是计算机视觉领域重要的研究课题,自20世纪90年代早期,研究人员前后采用了图像的全局特征,局部特征,卷积特征的方法对CBIR任务进行研究和探索,并取得了卓越的成果。windows

这篇刊登在 TPAMI 上的综述《SIFT Meets CNN: A Decade Survey of Instance Retrieval》全面调研了十多年来图像检索任务中所使用的图像编码、检索算法,并对比了各类方法在各大数据集上的实验结果,旁征博引,内容详实。若是您刚接触图像检索领域,能够经过本篇文章摸清其概貌;若是您在领域内深耕多年,也能够在本文中查漏补缺,裨益良多。网络

TPAMI是计算机视觉领域顶级期刊,此文的质量也没必要多言,我在此斗胆将这篇综述加以整理,翻译成文,如有不当之处还望指出。数据结构

 

标题

当SIFT邂逅CNN:图像检索任务跨越十年的探索历程架构

 

论文做者

Liang Zheng, Yi Yang, and Qi Tianapp

 

摘要

 

在基于内容的图像检索技术(CBIR)发展早期,研究人员大多基于图像的全局特征进行研究。自2003年开始,因为SIFT特征在图像变换(译者注:尺度、方向变化)问题中的优异表现,十多年来基于局部描述算子(如SIFT描述算子)的图像检索方法一直被普遍研究。最近,基于卷积神经网络(CNN)的图像表示方法吸引了社区愈来愈多的关注,同时这种方法也展示出了使人赞叹的性能。咱们领域正处于快速发展时期,本文对实例检索近十多年来的进展进行了综合且全面的调查研究,主要展现了基于SIFT和CNN特征的两类主要方法。对SIFT一类的方法,咱们根据字典本大小,将相关文献按照字典的大/中/小规模进行组织。对CNN一类的方法,咱们主要依据预训练模型,微调模型和混合模型进行分类和讨论。预训练模型和微调模型方法采用了单通道的图像输入方法而混合模型则采用了基于块的特征提取策略。本篇综述选取了在现代实例检索任务中先前的各种工做,展示了该任务中的里程碑时刻,并提出了关于SIFT与CNN的内在联系的看法。在分析与比较了各类方法在几个数据集上的检索性能后,咱们分别讨论了通用实例检索和专用实例检索任务将来的发展前景。框架

 

1 介绍

 

基于内容的图像检索任务(CBIR)是计算机视觉领域一项由来已久的研究课题。CBIR研究在20世纪90年代早期正式开始,研究人员根据诸如纹理、颜色这样的视觉特征对图像创建索引,在这一时期大量的算法和图像检索系统被提出。其中一种简单明了的策略就是提取出图像的全局描述符,这种策略在1990s和2000s早期是图像检索社区研究的重点。然而,众所周知,全局描述符这种方法在诸如光照,形变,遮挡和裁剪这种状况下难以达到预想的效果。这些缺陷也致使了图像检索准确率的低下,也局限了全局描述符算法的应用范围。恰在这时,基于局部特征的图像检索算法给解决这一问题带来了曙光。less

本篇综述主要关注于实例级的图像检索任务。在这个任务中,给定一张物体/场景/建筑类型的待查询图片,查询出包含拍摄自不一样角度、光照或有遮挡的,含有相同物体/场景/建筑的图片。实例检索不一样于类别检索任务,由于后者的目标是检索出同类别的图片。接下来,若是没有特别指出的话,“图像检索”和“实例检索”两个名词能够相互替代。ide

在图1中咱们展现了多年来实例检索任务中的里程碑时刻,而且在图中着重标出了基于SIFT特征和CNN特征算法的提出的时间。2000年能够认为是大部分传统方法结束的时间,当时Smeulders等撰写了“早期的终结”这篇综述。三年后(2003),词袋模型(BoW)进入图像检索社区的视野,并在2004年结合了SIFT方法符被应用于图像分类任务。这后来的近10年时间里,社区见证了BoW模型的优越性,它给图像检索任务带来了各类提高。在2012年,Krizhevsky等人使用AlexNet在ILSRVC 2012上取得了当时世界上最高的识别准确率。从那之后,研究的重心开始向基于深度学习特别是卷积神经网络(CNN)的方法转移。

图1:图像检索里程碑

 

基于SIFT特征的方法大多依赖于BoW模型。BoW方法最初是为解决文档建模问题而提出的,由于文本自己就是由单词组成的。它经过累加单词响应到一个全局向量来给文档创建单词直方图。在图像领域,尺度不变(SIFT)特征的引入使得BoW模型变得可行。最初,SIFT由检测器和描述符组成,但如今描述符被单独提取出来使用。在这篇综述中,若是没有特别指明的话,SIFT每每是指128维的描述符,这也是社区的惯例。经过一个预训练的字典(译者注:补充说明一下,在工业届的项目中,待检索的图像每每有特定的范围,使用范围内的有表明性的图片构建出预训练字典能够取得比较好的效果),局部特征被量化表示为视觉词汇。一张图片可以被表示成相似文档的格式,这样就可使用经典的权重索引方案。

近几年,CNN这种层次结构模型在许多视频相关的任务上取得的成绩远好于手工特征,基于SIFT特征的模型的风头彷佛被CNN盖过了。基于CNN的检索模型一般计算出紧密的图像表示向量,并使用欧氏距离或ANN(approximate nearest neighbor)查找算法进行检索。最近的文献可能会直接使用预训练好的CNN模型或微调后应用于特定的检索任务。这些方法大多只将图像输入到网络中一次来获取描述符。一些基于图像块的方法则是将图像屡次输入到网络中,这和SIFT方法的习惯有些相似。在这篇综述中,咱们将这些方法称为混合型方法。

 

2 分类方法

 

根据不一样的视觉表示方法,本文将检索文献大体分为两类:基于SIFT特征的和基于CNN特征的。进一步地,基于SIFT的方法根据编码本大小又分为大,中,小编码本三类。咱们注意到,编码本的大小与所选取的编码方法紧密相关。基于CNN的方法分为使用预训练的模型,微调的模型以及混合模型方法。他们的异同点列于表1。

表1:各类图像检索模型的异同点

 

基于SIFT的方法在2012年以前一直是研究的重点(固然近年来也有很多相关的杰出工做)。这一类方法一般使用如Hessian-Affine这种探测器,同时也使用SIFT这种描述符。编码本将局部特征映射到一组向量中。基于编码本大小,咱们将基于SIFT的方法分为以下三类。

  • 使用小型编码本。视觉词汇少于几千个,紧凑向量在降维和编码以前生成。
  • 使用中型编码本。鉴于BoW的稀疏性和视觉词汇的低区分度,使用倒排索引和二进制签名方法。准确率和效率间的权衡是算法的主要影响因素。
  • 使用大型编码本。鉴于BoW直方图的稀疏性和视觉词汇的高区分度,在算法中使用了倒排索引和存储友好型的签名方式。在编码本的生成和编码中使用了相似的方法。

基于CNN的方法使用CNN模型提取特征,创建紧凑向量(固定长度)。它们也分为三类:

  • 混合型方法。图像块被屡次输入进CNN用于特征提取。编码与索引方法和基于SIFT的检索方法近似。
  • 使用预训练的模型。经过在大规模图像集(例如ImageNet)上预训练的CNN模型进行单通道传播提取特征。使用紧凑编码/池化技术进行检索。
  • 使用微调的模型。在图像与目标数据库具备类似的分布的训练集上,对CNN模型进行微调。经过单通道CNN模型,运用端到端的方法提取出CNN特征。这种视觉表示方法提高了模型的区分能力。

 

3 基于SIFT特征的图像检索系统

3.1 基本流程

基于SIFT特征的图像检索流程如图2所示。

 

图2:基于SIFT特征的图像检索流程

 

局部特征提取。假设咱们有一个含N张图片的画廊\mathcal{G} 。指定一个特征检测器,咱们从稀疏的感兴趣点或密集的图像块中提取局部描述符。咱们用 D 来表示局部描述符,用{f_{i}}{i=i}^{D},f{i}\in\mathbb{R} 表示图像中被检测的区域。

编码本的训练。基于SIFT的方法你先训练编码本。编码本中的每个视觉词汇位于子空间的中心,这称为“沃罗诺伊单元”。更大的码本对应于更精细的划分,从而产生更多区分性的视觉词,反之亦然。假设已有一些局部描述符 \mathcal{F}\equiv{{f_{i}}}_{i=1}^{M} 从无标签的训练集中计算出。例如k-means这样的基准方法就是将 M 个点聚类成 K 簇,获得的 K 个视觉词汇即编码本的大小 K 。

特征编码。一个局部描述符 f_{i}\in\mathbb{R}^{p} 经过特征编码过程 f_{i} \to g_{i} 被映射到嵌入特征 g_{i} \in \mathbb{R}^{l} 。在使用k-means方法时,能够根据 f_{i} 到视觉词汇的距离进行编码。对于大规模的编码本,硬量化和软量化方法都是很好的选择。前者量化获得只有一个非零条目的嵌入特征 g_{i} ,后者则是将 f_{i} 量化表示为少许的视觉词汇。在汇总全部的局部嵌入特征后就获得了一个全局签名。对于中等规模的编码原本说,能够经过额外的二值签名拉埃保护原始信息。当使用小规模编码本时,大多使用VLAD,FV之类的编码方法(译者注:VLAD能够理解为是BOF和FV的折中,BOF是把特征点作kmeans聚类,而后用离特征点最近的一个聚类中心去代替该特征点,损失较多信息;FV是对特征点用GMM建模,GMM实际上也是一种聚类,只不过它是考虑了特征点到每一个聚类中心的距离,也就是用全部聚类中心的线性组合去表示该特征点,在GMM建模的过程当中也有损失信息;VLAD像BOF那样,只考虑离特征点最近的聚类中心,同时保存了每一个特征点到离它最近的聚类中心的距离;像FV那样,VLAD考虑了特征点的每一维的值,对图像局部信息有更细致的刻画)。

 

3.2 局部特征提取

局部不变特征针对精准匹配图像局部结构而提出。基于SIFT的方法和大多特征提取步骤相似,都是由特征检测器和描述符组成。

局部检测器。感兴趣点检测器旨在于在多样的图像场景中定位出一系列特征稳定的局部区域。在检索社区中,寻找图像的仿射协变区域(affine-covariant regions)一直是首选方法。它之因此称之为“协变的”是由于检测区域随着仿射变化而改变,所以区域描述符具备不变性。这种仿射协变区域检测器和以关键点为中心的海森检测器(Hessian detector)不一样,固然也和以寻找尺度不变区域为目标的高斯差分检测器(DoG detector)。适应于局部强度模式的椭圆区域由仿射检测器探测到。这就确保了相同的图像局部结构即便是由于视角变化而产生形变时也能被检测到,视角形变问题也是图像检索任务中的常见问题。在里程碑事件中,咱们也提到了最稳定连通域(MSER)检测器和仿射拓展的海尔-拉普拉斯检测器( affine extended Harris-Laplace detector)这两种具备仿射不变性的区域检测器。鉴于海森仿射检测器在解决视角变化问题中的优异性能,社区认为它是要优于DoG检测器的。为了解决这些仿射协变区域方向模糊的问题,重力假设方法应运而生。这种方法抛弃了方向估计的思路,并在建筑物数据集上的效果不断改善。在图像检索中也尝试了其余的非仿射检测器,例如拉普拉斯-高斯(LOG)和海尔检测器。对于代表光滑的物体,仅有少许的关键点会产生响应,所以能够用物体边缘做为局部特征描述。

另外一方面,针对密集区域检测器也有很多研究。在对比了密集采样图像块和探测图像块两种方法后,Sicre等指出前者表现更优。为了恢复密集采样图像块的旋转不变性,提出了图像块主旋转角方法。各类密集采样策略以及关键点检测器的综合比较能够在《A comparison of dense region detectors for image search and fine-grained classification》这篇文献中查阅到。

局部描述符。局部描述符使用一系列检测区域对局部图像内容进行编码。SIFT描述符一直以来都是你们默认使用的描述符。这种128维的向量在匹配准确率上从众多描述符中脱颖而出。更进一步地,PCA-SIFT描述符将特征向量的维度从128维减小到36维,经过增长特征创建计算量和下降区分度来加快匹配速度。另外一种改进方法是RootSIFT,它首先将SIFT描述符进行 \ell1 归一化,随后对每一个元素开方。RootSIFT如今是基于SIFT的检索方法惯用方法。除了SIFT以外,SURF描述符也被普遍应用。SURF描述符结合了海森-拉普拉斯检测器和局部梯度直方图。积分图技巧能够用于加速特征的计算(译者注:积分图技巧会对原图像首先生成一张积分图,这种经过空间换取时间的策略,在计算图像的诸如海尔特征时能够大幅提升计算速度)。SURF能够取得和SIFT近乎同样的准确率,同时SURF计算速度更快。文献《A comparison of sift, pca-sift and surf》对SIFT,PCA-SIFT和SURFF进行了比较。为了进一步加快匹配速度,二值描述符用汉明距离替代了欧氏距离。

除了手工特征,一些研究人员也提出了学习式的方案来提升局部描述符特征的区分度。例如,Philbin等提出了一种非线性的变换使得投影SIFT描述符为真实匹配产生更小的差别。Simoyan等更进一步地设计了学习池化区域和线性描述符投影的方案来改进Philbin等的方案。

 

3.3 使用小规模编码本进行检索

小规模编码本通常包含几千、几百甚至更少的视觉词汇,所以编码本生成以及编码算法的时间复杂度不高。这方面一些有表明性的工做包括BoW、VLAD和FV。咱们主要讨论了VLAD和FV模型,同时根据《Multiple measurements
and joint dimensionality reduction for large scale image search
with short vectors》这篇文献综合评价了BoW压缩向量。

 

3.3.1 生成编码本

聚类时的算法复杂度很大程度上依赖于编码本的大小。用VLAD或FV生成打的编码本一般很小,通常是64,128,256。在VLAD中使用平面k-means聚类算法生成编码本。在FV中使用GMM算法,例如 u_{\lambda}(x)=\Sigma_{i=1}^{K}w_{i}u_{i}(x) ,式中K表示高斯混合曲线的数目,经过极大似然估计算法训练获得 K 。GMM用 K 个混合高斯分布曲线描述特征空间,这同时也能够表示为 \lambda={w_{i},\mu_{i},\Sigma_{i},i=1,\dots,K},其中 w_{i} , \mu_{i} 和 \Sigma_{i} 分别表示混合权重,均值向量和高斯曲线 \Sigma_{i} 的协方差矩阵。

 

3.3.1 编码方法

由于小规模编码本尺寸小的缘故,相对复杂的和存储信息的方法能够在这上面使用。咱们在这个小节中主要调研了FV,VLAD方法及其发展。使用预先训练的GMM模型,FV描述局部特征和GMM中心之间的平均一阶和二阶差别。它的维度是 2pK ,其中 p 是局部描述符的维度, K 是GMM编码本的长度。FV一般进行指数归一化(power normalization)以抑制突发性问题。在这一步,FV的每一部分在的非线性变换由参数 \alpha,x_{i}:=sign(x_{i})\lVert x_{i} \rVert^{\alpha} 表征。接下来使用 l2 归一化,这样FV就从各方面获得提高。例如,Koniusz等人用每一个描述符的空间坐标和相关的可调权重来对其进行扩充。在《Revisiting the fisher vector for fine-grained classification》这篇文献中,更大的编码本(将近4096)表现出比小编码本更好的分类准确率,固然计算花费同时也增大了。为了修正局部区域独立同分布这一假设,Cinbis等人提出了非独立同分布模型,这个工做抑制了突发事件的影响,同时也改进了指数归一化的效果。

VLAD编码方案由Jégou提出,能够认为VLAD是FV的简化版本。VLAD量化将局部特征量化为最近邻视觉词汇,同时记录下二者的距离。因为编码本规模小,所以最近邻检索方案可行。在残差向量被总和池化聚合后进行归一化。VLAD的维度是 pK 。一样,研究人员对VLAD在多方面进行了改进。Jégou和Chum提出使用PCA和白化(在表5中表示为PCA _{w} )去消除视觉词语共现现象,而且训练多个编码本以减小量化带来的损失。Arandjelovi \acute{c} 等从三个方面拓展了VLAD:1)归一化每一个粗糙聚类中的残差和,称为内部归一化,2)经过词汇自适应来解决数据集迁移问题,3)用多VLAD模型(multi-VLAD)来解决小目标发掘问题。Delhumeau等提出应该将残差向量归一化,而不是求残差和;他们还提倡在每一个Voronoi格内进行PCA降维,而不是像《Aggregating local image descriptors into compact codes》中所提出的降维方案。《Improving large-scale image retrieval
through robust aggregation of local descriptors》中提出应该使用软任务和经验性地为每一个等级学习最佳权重来改进硬量化方案。

注意到许多常规的方法对VLAD,FV,BoW,局部约束线性编码(LLC)以及单项嵌入这些嵌入方法有益。Tolias等人提出结合SIFT描述符,用方向协变嵌入的方法来对SIFT特征主方向进行编码。它经过在感兴趣的区域内使用几何线索来实现与弱几何一致性(WGC)类似的协方差属性,使得与主方向类似的匹配点被加权,反之亦然。三角嵌入方法只考虑了输入向量的方向而没有考虑其大小。Jégou等人一样也提出了一种限制映射向量之间干扰的民主聚合的方法。除了相似民主聚合的思想,Murray和Perronnin提出,经过均衡池化向量和每一个编码表示之间的类似性优化广义最大池化(GMP)方法。

BoW,VLAD和FV的复杂度基本一致。咱们忽视线下训练时间和SIFT特征提取时间。在视觉词汇分配这一步中,VLAD(FV)模型中每个特征(高斯曲线)须要计算和每个视觉词汇的距离(soft assignment coefficient),所以这一步的计算复杂度为 \mathcal{O}(pK) 。而且其余步骤的计算复杂度都要小于 \mathcal{O}(pK) 。考虑到是以求和池化方式进行的嵌入,所以编码过程总的计算复杂度为 \mathcal{O}(pKD) ,其中 D 表示图像中提取的特征的数目。三角嵌入式VLAD的一个变异体,它和VLAD的计算复杂度类似,都是 \mathcal{O}(pKD) 。及multi-VLAD的计算复杂度也是 \mathcal{O}(pKD) ,可是它匹配过程的复杂度过大。分层的VLAD的计算复杂度是 \mathcal{O}(pKK'D) ,其中 K' 表示第二个编码本的大小。在特征聚类这一步,GMP和民主聚合方案都有很高的计算复杂度。GMP的复杂度是 \mathcal{O}(\cfrac{p^{2}}{K}) ,式中 P 是特征嵌入的维度, 民主聚类方法的计算复杂度主要来源于Sinkhorn算法。

 

3.3.3 最似最近邻检索

因为VLAD/FV嵌入的维度至关高,所以研究人员提出了高效的压缩和最似最近邻检索(ANN)算法。例如,主成分分析(PCA)算法常适用于降维任务,特别是使用PCA降维后检索的准确度甚至会提升。对于基于哈希的最似最近邻方法,Perronnin等人使用标准二值编码方法,如局部敏感哈希(LSH)和谱哈希(spectral hashing)。然而,在使用SIFT和GIST特征数据库进行测试时,谱哈希方法被证实要优于乘积量化方法。在这些基于量化的最似最近邻算法中,PQ算法表现得最为出色。关于VLAD和PQ算法的详细研究能够参见《A comprehensive study over vlad and product quantization in large-scale image retrieval》。一样,PQ算法后来也被不断改进。Douze等人提出对聚类中心从新排序,使得相邻的中心具备较小的汉明距离。该方法与基于汉明距离的最似最近邻检索相兼容,这为PQ算法提供了显著的加速。咱们参阅了《A survey on learning to hash》做为ANN方法的调研报告。

图3:在大规模编码本生成中的两个里程碑似的聚类算法 (a) 分层k-means(HKM) (b) 近似k-means(AKM)

 

咱们还提到一种新兴的ANN算法,群组测试算法。简要地说,该算法将数据库分组,每组都由一个组向量表示。经过查询和组向量之间的比较计算出一个组包含正确匹配的可能性。由于组向量数目远少于数据库向量,所以检索时间大大缩短。Iscen等提出直接找出数据库中最优组向量,而不用精确地分组,这个方案减小了内存的消耗。

 

3.4 使用大规模编码本进行检索

一个大规模编码本可能含有1百万个甚至更多的视觉词汇。其中一些步骤和小编码本方案比起来有很大的差别。

 

3.4.1 生成编码本

在将数据分配到大量集群中,近似方法是相当重要的。在检索社区中,两个有表明性的工做是:分层k-means(HKM)和近似k-means(AKM),如图1和图3所示。HKM方法在2006年提出,HKM分层次地应用标准k-means方法进行特征训练。HKM首先将特征空间中的点划分为几个簇,接着递归地将每一个簇划分为更多的群集。在每次递归时,每一个点都要被归类为 \bar{k} 个簇中的某一个,聚类树的深度为 \mathcal{O}(logK) ,其中 K 是指望获得的聚类簇数目。HKM的计算复杂度是 \mathcal{O}(\bar{k}MlogK) ,其中 M 是训练样本数。当 K 很大的时候,HKM的计算复杂度远小于扁平k-means(flat k-means) \mathcal{O}(MK) 的计算复杂度(译者注:显然大规模编码本的 logK 要远小于 K )。
另外一个里程碑式的大规模编码本生成算法是AKM。该方法利用随机K-D树对K聚类中心进行索引,使得在分配步骤中可以高效地使用ANN搜索。

在AMK算法中,分配步骤的花费能够表示为 \mathcal{O}(KlogK+vMlogK)=\mathcal{O}(vMlogK) ,其中 v 是K-D树中要访问的最近簇的候选数。所以AKM的计算复杂度与HKM至关,而且当K较大时,明显小于扁平k-means算法。实验代表AKM的量化偏差要低于HKM,所以它要要优于HKM算法。在大多数基于AKM的方法中,最似最近邻检索算法选用FLANN。

 

3.4.2 特征编码(量化)

特征编码与编码本聚类是相互交错的,ANN检索对二者都相当重要。在AKM和HKM等一些经典方法中应用的ANN技术可用于聚类和编码中。在大规模编码本中,关键是要平衡量化偏差和计算复杂度二者。在编码步骤中,诸如FV,稀疏编码的信息存留式编码方法大都不可行,由于它们的计算复杂度太高。所以,如何在保证量化效率的同时减小量化偏差还是一个极具挑战的问题。

对ANN方法来讲,最先的解决方案是沿着分层树结构量化局部特征。不一样级别的量化树节点被赋予不一样的权重。然而,因为高度不平衡的树结构,该方法优于基于k-d树的量化方法:一个视觉词被分配给每一个局部特征,使用从码书构建的k-d树来进行快速ANN搜索。对这种硬量化方案的一种改进是Philbin等人提出的软量化方案,这种方案将一个特征量化为几个最近的视觉词汇。由式 e^{-\frac{d^{2}}{2\sigma^{2}}} 指出,每一个指定的视觉单词的权重与它到特征的距离呈负相关,其中d是描述符和聚类中心之间的距离。虽然软量化是基于欧几里得距离,但Mikulik等人提出经过无监督的匹配特征集为每一个视觉单词找到相关的视觉单词。基于几率模型,这些备选词每每包含匹配特征的描述符。为了减小软量化的存储成本和查询视觉词汇的数量,Cai等提出当局部特征离最近的视觉词汇距离很远时,该特征能够被丢弃并且不会带来性能的降低。为了进一步加速量化,标量量化提出局部特征在没有明确训练的编码本的状况下被量化。浮点向量是二值化的,而且所得的二进制向量的第一维直接转换为十进制数做为视觉词汇。在高量化偏差和低召回率的状况下,标量量化使用位翻转(bit-flop)来为局部特征生成数百个视觉词汇。

 

3.4.3 特征加权

TF-IDF. 视觉词汇在编码本 \mathcal{C} 中每每被分配给指定的权重。称为频率与逆文档频率(TF-IDF),这种策略被集成在BoW编码中。TF定义以下:
TF(c_{i}^{j}) = \sigma_{i}^{j}, \tag{1}

式中 \sigma_{i}^{j} 是视觉词汇 c_{i} 在图像 j 中出现的次数。另外一方面,IDF经过全局统计来代表给定视觉词汇(对文档)的贡献。视觉词汇经典的IDF计算公式以下:
IDF(c_{i})=log\frac{N}{n_{i}},n_{i}=\sum_{j \in \mathcal{G}}1(\sigma_{i}^{j}>0), \tag{2} 
式中 N 是图像数目, n_{i} 表示视觉词汇 c_{i} 出现的图像编号。视觉词汇 c_{i} 出如今图像 j 的的TF-IDF值为:
w(c_{i}^{j})=TF(c_{i}^{j})IDF(c_{i}). \tag{3}

 

改进方案。与视觉单词加权相关的一个主要问题是突变性。它指的是图像中出现重复结构的现象。这个问题每每在图像类似度中占主要位置。Jégou等人提出了几个TF的变种来解决突变问题。一个有效的策略是在TF上进行平方运算。Revaud等人提出了检测在不相关图像中频繁出现的关键点组来下降评分函数的计算值,而不是用相同的单词索引来分组特征。尽管上述两种方法都提出在量化后检测突变组,Shi等人提出在描述符阶段检测它们。检测到的突变描述符通过平均池化而且送往BoW结构中。在改进IDF方面,Zheng等人提出了 \mathcal{L}_{p} -norm IDF方法来处理突变状况,同时Murata等人设计了后来被并入到BM25公式的指数IDF。在大多数方案都以抑制突变性为目的时,Torii等人将这个问题视为体系结构的一个显着特征,并在突发检测后设计新的类似性度量方法。

另外一个特征加权策略是数据库端的特征加强,在《Better matching with fewer features: The selection of useful features in large database recognition problems》和《Three things everyone should know to improve object retrieval》。两种方法都离线构建图像的图结构,经过边缘指示两个图像是否共享同一对象。对第一种方案来讲,只有经过几何验证的特征才会被被保留,这下降了存储成本。而后,利用其链接图像的全部视觉字来加强基础图像的特征。第二种方案进一步进行对其进行改进,经过只添加那些被认为在加强图像中可见的视觉词汇,从而干扰性的视觉词被排除。

 

3.4.4 倒排

倒排是一种提升存储和检索效率的算法,它常被用于大/中等规模的编码本中,结构如图4所示。

图4:倒排索引的数据结构

 

倒排是一种单一尺寸的结构,其中每个条目对应编码本中低的一个视觉词汇。每个视觉词汇都包含一个倒排表,每一个倒排表中的索引被称为索引特征或者记录。倒排索引很好地发挥了大规模编码本词汇直方图稀疏性的特色。新的文献提出新的检索方法来适应倒排算法。在基准方案中,图像ID和TF值都被存储在一条记录中。但其余的信息被整合进来时,它们的尺寸应该足够小。例如,在《Contextual weighting for vocabulary tree based image retrieval》中,原始数据在一条记录中被描述符上下文,描述符密度,平均关联日志规模和平均方向差别等属性量化。类似地,方向等空间信息也会被量化。在联合检索的方法中,当倒排索引随着全局一直近邻增加是,单独分割的图片将会被删除以减小内存消耗。在《The inverted multi-index》中提出,原始的单一尺寸倒排索引能够拓展为二维结构来进行替代了SITF特征向量的ANN检索。后来,这种方法被《Packing and padding: Coupled multi-index for accurate image retrieval》改进,融合局部颜色和SIFT描述符进行实例检索。

 

3.5 使用中等规模编码本进行检索

中等规模编码本通常含有10——200k个视觉词汇。视觉词汇展示了中等区分能力,同时检索时也使用了倒排索引。

 

3.5.1 编码本的生成与量化

考虑到中等规模编码本和大规模编码本相比,计算成本较低,扁平k-means能够在中等规模编码本的生成中使用。一样也有文献指出使用AKM算法能够在聚类中取得很好的效果。

在量化过程当中,最近邻检索用来搜索最近的视觉词汇。实践代表使用高精度的ANN算法能够获得更好的检索效果。和大规模编码本下量化算法的研究热度比起来,中等规模编码本的研究明显低了不少。

 

3.5.2 汉明嵌入算法及其改进

在中等规模编码本下视觉词汇的区分度介于小规模编码本和大规模编码本之间。所以,对量化过程当中带来的信息损失须要进行补偿。最终,汉明嵌入(HE)这个里程碑式的工做成为实践中的主流算法。

HE算法由Jégou等人在论文《Hamming embedding and weak geometric consistency for large scale image search》中提出,它提高了中等规模编码本下视觉词汇的区分能力,也是首次将一个SIFT描述符 f \in \mathbb{R}^{p} 从 p 维空间映射到 p_{b} 维空间:
x=P \cdot f=(x_{1}, \dots x_{p_{b}}), \tag{4} 
式中, P \in \mathbb{R}{b}^{p}\times p 是一个投影矩阵, x 是一个低维向量。经过建立一个高斯随机矩阵同时对它使用 QR 分解,矩阵 p做为最后正交阵的前 p{b} 行。对于二值化 x ,Jegou等人提出在每一个Voronoi单元 c_{i} 中使用描述符降低法来计算低维向量的中值向量 \overline{x_{i}}=( \overline{x_{1,i}}, \dots \overline{x_{p_{b},i}}) 。给定描述符 f 和它的投影向量 x ,HE计算它的视觉词汇 c_{t} ,HE二值向量计算公式以下:

b_{j}(x) = \begin{cases} 1, & \text{if }\ x_{j}>\overline{x_{j,t}}, \\ 0, & \text{otherwise} \end{cases} ,\tag{5}

其中 b(x)=(b_{1}(x),\dots,b_{p_{b}}(x)) 是第 p_{b} 维的HE向量计算结果。二值特征 b(x) 做为特征匹配的第二重校验。当知足如下两个标准时,一对局部特征能够认为是匹配的:1) 它们是同一个视觉词汇;2) 它们的HE哈希值距离很小。HE的扩展方法经过指数函数估计特征 f_{1} 和 f_{2} 与Hamming距离的匹配强度:

^{w}HE(f_{1},f_{2})=\text{exp}(-\frac{\mathcal{H}( b(x_{1}),b(x_{2}) )}{ 2\gamma^{2} }), \tag{6}

其中, b(x_{1}) 和 b(x_{2}) 分别表明特征 f_{1} 和 f_{2} 的二值向量, \mathcal{H}(\cdot,\cdot) 计算两个二值向量的汉明距离, \gamma 是权重参数。如图6所示,HE及其加权版本在2008和2010年准确率大大提升。

 

HE的应用于视频拷贝检测、图像分类和重排序等场合。例如,在图像分类中,例如,在图像分类中,将HE集成到基于线性核的SVM中,有效地提升了了图像块匹配类似度的速度。在图像重排序任务中,Tolias等人使用更低的HE阈值来找到相似于RANSAC获得的(图像局部特征)严格对应关系,而且获得的图像子集更可能包含真正应查得的图像。

 

有不少工做都对HE提高,特别是从匹配核的角度对HE进行改进。为了减小查询上的信息损失,Jain等人提出一种矢量二值距离比较法。它利用向量到超平面距离,同时保持倒排索引的效率。更进一步地,Qin等人在几率框架内设计一个高阶匹配核函数,并经过假匹配的距离分布自适应地标准化局部特征距离。该方法的思想相似于《Accurate image search using the contextual dissimilarity measure》,其中,根据每一个视觉词汇的邻域分布,将字-字距离而不是特征-特征距离归一化。虽然在《Accurate image search using the contextual dissimilarity measure》中,一个词与它的邻居之间的平均距离被规范为几乎为恒定值,但后来在《Triangulation embedding and democratic aggregation for image search》中采用了将单个嵌入向量的贡献民主化的想法。在《To aggregate or not to aggregate: Selective match kernels for image search》中,Tolias等人代表VLAD和HE向量具备类似的性质,并提出了一种新的匹配核函数,它在局部特征聚合和特征到特征匹配之间进行折衷,使用和《Query adaptive similarity for large scale object retrieval》类似的匹配函数。他们还证实了在HE中使用更多比特位(例如128bit)优于原始64比特方案,代价是效率的下降。在《Scalar quantization for large scale image search》中使用了更多的位(256),可是这种方法可能使得结果的召回率相对较低。


 

3.6 其余重要问题

3.6.1 特征融合

局部-局部特征融合。 SIFT特征的一个问题就是它只提供了局部梯度描述,在图像中编码的其余判别信息仍然没有被利用。在图5(B)中,因为一对错误匹配在SIFT空间中的类似性,所以这对匹配没有被HE编码拒绝,可是其余局部(或区域)特征的融合能够纠正这个问题。

图5:(A) HE, (B) 局部-局部特征融合, (C) 局部-全局特征融合

将SIFT与颜色描述符耦合是局部-局部特征融合的一个好选择。颜色-SIFT描述符融合特征的使用能够部分地解决不变性和辨别能力之间的权衡问题。在几个基准识别测试集上已经对几个诸如HSV-SIFT,HueSIFT和OpponentSIFT几个融合特征进行了评估。HSV-SIFT和HueSIFT特征都属于尺度,平移不变性特征。OpponentSIFT使用SIFT描述符描述对立的颜色空间中的全部通道,而且对光照颜色变化大的图像具备很强的鲁棒性。在《Evaluating color descriptors for object and scene recognition》中认为OpponentSIFT是当有关数据没有先验知识时的优先选择。在最近的工做中,二进制颜色签名都存储在倒排索引中。尽管现有的图像检索方法在一些数据集上取得了很好的检索精度,但一个潜在不容忽视:照明的密集变化可能会有损颜色特征检索的有效性。

 

局部-全局特征融合。局部特征和全局特征从不一样的角度来描述图像并互为补充。在图5(C)中,但局部(以及区域)信息不足以判断出一个错误的匹配对时,进一步整合更广的上下文尺度视觉信息是有效的。前期和后期融合是两种可能的方式。在前期融合中,图像邻域关系由如AlexNet中的FC8这样的全局特征挖掘出,并融合在基于SIFT的倒排索引中。在后期融合中,Zhang等人为每种类型的特征建立一个离线图,随后在在线查询期间进行特征融合。在对《Query specific fusion for image retrieval》中的方法进行改进时,Deng等人在《Visual reranking through weakly supervised multi-graph learning》提出增长弱监督锚(weakly supervised anchors)来协助图融合。两个工做都是在排序方面进行研究。对于分数级别的融合,将自动学习的类别的特定属性与预训练的类级别信息相结合。Zheng等人在《Query-adaptive late fusion for image search and person re-identification》中提出经过提取一些特征(局部或全局特征,好的或坏的特征)进行后期特征融合的自适应查询,而且以自适应查询的方式赋给特征相应的权重。

 

3.6.2 几何学上的匹配问题

BoW模型的一个常见问题是缺少局部特征间的几何约束。几何验证能够用做各类场景的关键预处理步骤,例如拓展查询,特征选择,数据库端的特征加强,大规模咯物体挖掘等。著名的全局空间验证方法是RANSAC。RANSAC它重复计算每一个对应的仿射变换,并经过适合变换的内点数来验证。RANSAC算法有效地从新排列排名最高的图像的子集,但存在效率问题。最终,如何在SIFT为基础的框架下有效、准确地结合空间信息被普遍地研究。

 

一个好的方法是研究局部特征间的空间上下文。例如,视觉短语在独立的视觉词汇中产生以提供更加精准的匹配规范。估计和聚合整个图像中的视觉词汇共现是一种研究思路,同时也有研究员研究视觉词汇在局部邻域中的聚类。视觉短语也能够经过临近图像块,随机空间分割和局部稳定区域(如MSER)的方式来组成。

 

另外一种策略使用投票机制来检查几何一致性。在投票空间中,具备较大值的容器更可能表明真正的转换。其中一项重要的工做就是弱几何一致性(WGC),这种方法关注匹配特征在尺度和方向上的差别,不一样空间则被量化到容器中。Hough投票方法被用来定位在规模或方向上类似或相异的子集。许多后来的研究工做能够看做是WGC的扩展。例如,Zhang等人的工做《Image retrieval with geometrypreserving visual phrases》能够被视为使用x,y偏移量而不是比例和方向的WGC方法。该方法具备目标平移不变性,但因为采用了刚体坐标量化,所以对尺度和旋转变化敏感。为了从新得到目标的尺度和旋转的不变性,Shen等人在《Object retrieval and localization with spatially-constrained similarity measure and k-nn re-ranking》中提出在应用多个变换后,量化查询区域的角度和尺度。Shen等人的这个方法的一个缺点就是,查询时间和存储效率的下降。实现高效的投票方法并减轻量化损失,论文《Hough pyramid matching: Speeded-up geometry re-ranking for large scale image retrieval》提出了霍夫金字塔匹配(HPM)方法,经过分层划分变换空间来分配匹配结果。HPM在灵活性和准确性之间取得了平衡,很是高效。还能够经过容许单个通讯对多个容器进行投票来减小量化损失。HPM和这种方法都在速度上快于RANSAC算法,同时也能够被看做是对和HE一块儿提出的WGC在旋转和尺度不变性上的拓展。在《Pairwise geometric matching for large-scale object retrieval》中提出了一种基于投票的全局方向和尺度的粗略估计方法,以此来检验经过匹配特征获得的变形参数。《A vote-and-verify strategy for fast spatial verification in image retrieval》结合了基于假设的方法(如RANSAC)和基于投票的方法的优势,经过投票和后续的验证、精确微调来肯定可能的假设。该方法保有了投票方法的效率,同时由于它的输出是显式变换和一组内值,所以还支持了查询扩展。

 

3.6.3 拓展查询

做为后处理步骤,拓展查询(QE)对提升检索的准确度颇有帮助。简单地说,QE就是采用来自原始排名列表的多个排在前列的图像来发布新的查询,新的查询用于得到新的排名列表。QE能够增长额外的有区分度的特征到原始查询中,所以提升了召回率。

 

在实例检索任务中,Chum等人是第一个提出研究这项工做的。他们提出了平均拓展查询(AQE)方法,用排名靠前的图像的平均特征来发出新的查询。一般,空间验证用于重排序以及局部特征经过平均池化得到感兴趣区域。AQE被后来许多工做做为标准工具来使用。递归AQE和尺度-带递归QE是对AQE有效的改进,但它们的计算成本更大。四年后,Chum等从学习背景的混淆、扩展查询区域和增长空间验证的角度来改进QE。在《Three things everyone should know to improve object retrieval》中分别使用最靠前和最靠后图片做为训练正负样本。在线训练了一个线性支持向量机。学习到的权重向量用于计算平均查询。其余重要的QE算法的扩展包括基于互惠邻居思想的“hello neighbor”算法,基于排序的权重QE算法,汉明QE算法等。

 

3.6.4 小目标检索

检索图像中的一小部分对象是一项具备挑战性的任务因为1) 检测到的局部特征数量少,2) 背景噪声过大。TRECVID活动中的实例检索任务和logo检索任务都是小目标检索任务中的重要竞赛/应用。

 

通常来数,TRECVID任务和logo检索均可以用类似的流程来处理。对于基于关键点的检索方法,局部特征之间的空间上下文对区分目标是相当重要的,特别是对要求苛刻的小目标检索任务来讲。其余有效的方法包括突发性处理,考虑查询对象和目标对象之间不一样的比率。在第二种方法中,有效的可能区域或多尺度图像块可用做候选对象区域。在《Efficient diffusion on region manifolds: Recovering small objects with compact cnn representations》中,提出了一种基于邻域图的区域扩散机制,以进一步提升小对象的查全率,达到了当时最高水平。

 

小结

本文是《SIFT Meets CNN: A Decade Survey of Instance Retrieval》的上篇,概述了图像检索任务极其发展历程,介绍了图像检索系统的基本架构和设计难点,详细展现了基于图像局部特征(以SIFT为表明)的检索流程以及核心算法。

 

2 前言

本文是《SIFT Meets CNN: A Decade Survey of Instance Retrieval》的下篇。在上 篇中概述了图像检索任务极其发展历程,介绍了图像检索系统的基本架构和设计难点,详细展现了基于图像局部特征(以SIFT为表明)的检索流程以及关键环节的核心算法。

在下篇中将介绍基于CNN特征的图像检索系统的流程及关键问题,并在几个常见数据集上测试六个经典检索系统的性能。最后文章将对图像检索领域的发展趋势进行展望。

这篇刊登在 TPAMI 2018年5月刊上的综述《SIFT Meets CNN: A Decade Survey of Instance Retrieval》全面调研了十多年来图像检索任务中所使用的图像编码、检索算法,并对比了各类方法在各大数据集上的实验结果,旁征博引,内容详实。若是您刚接触图像检索领域,能够经过本篇文章摸清其概貌;若是您在领域内深耕多年,也能够在本文中查漏补缺,裨益良多。

TPAMI是计算机视觉领域顶级期刊,此文的质量也没必要多言,我在此斗胆将这篇综述加以整理,翻译成文,如有不当之处还望指出。

 

标题

当SIFT邂逅CNN:图像检索任务跨越十年的探索历程

 

论文做者

Liang Zheng, Yi Yang, and Qi Tian

 

4 基于CNN的图像检索系统

基于CNN的图像检索方法近年来不断被提出,而且在逐渐取代基于手工检测器和描述符的方法。在这篇综述中,基于CNN的方法被分为三类:使用预训练的CNN模型,使用微调的CNN模型以及使用混合模型。前两类方法使用单向传递网络来提取全局特征,混合模型方法可能须要多个网络传递。如图2所示。

 

图2:基于SIFT特征与CNN特征的图像检索流程

 

4.1 使用预训练CNN模型的图像检索系统

因为预训练CNN模型是单通模式,所以这种方法在特征计算中很是高效。考虑到传输特性,它的成功在于特征提取和编码步骤。咱们将首先描述一些经常使用的数据集和网络进行预训练,而后进行特征计算。

 

4.1.1 预训练的CNN模型

表2:可供使用的预训练CNN模型

 

流行的CNN网络结构。 AlexNet,VGGNet,GoogleNet以及ResNet这几个CNN网络适用于特征提取,详见表2.简单来讲,CNN网络能够视为一系列非线性函数的集合,它由如卷积,池化,非线性等多个层组成。CNN是一个分层次的结构。自网络的底层到顶层,图像通过滤波器的卷积,同时这些图像滤波器的感觉野随增加而增长。同一层的滤波器尺寸相同可是参数不一样。AlxNet是这些网络中最先被提出的的,它有五个卷积层和三个全链接(FC)层。它的第一层大小96个11×11×3的滤波器,在第五层中有256个大小为3×3×192的滤波器。Zeiler等人观察到滤波器对某些视觉模式十分敏感,这些模式从底层的低级的图像纹理演变到顶层的高级的图像目标。对于低层次和简单的视觉刺激,CNN滤波器相似局部手工制做的特征中的检测器,可是对于高层次和复杂的刺激,CNN滤波器具备不一样于SIFT类检测器的特质。AlxNET已被证实被新的的如具备最大数量参数的VGGNet超越。ResNet和GoogleNet分别赢得了ILSVRC 2014和2015的挑战,代表CNN网络的效果和网络层数成正比。若是要调研所有这些网络超出了本文的范围,咱们建议读者参阅《Imagenet classification with deep convolutional neural networks》,《Return of the devil in the details: Delving deep into convolutional nets》和《Very deep convolutional networks for large-scale image recognition》中的细节。

 

用于预训练模型的数据集。 一些大规模的识别数据集被用于CNN网络的预训练。在其中,ImageNet数据集常被研究员拿来使用。它包含1000个语义类的120万个图像,而且一般被认为是具备普适性的。用于预训练模型的另外一个数据集是PASES-205,它的数据规模是ImageNet的两倍但图像种类却要比ImageNet少五倍。它是一个以场景为主的数据集,描绘了各类室内场景和室外场景。在《Learning deep features for scene recognition using places database》中,混合了ImageNet和PASES-205的数据集也一样会被拿来用于模型的预训练。HybridNet在《Going deeper with convolutions》,《Deep residual learning for image recognition》,《Factors of transferability for a generic convnet representation》和《A practical guide to cnns and fisher vectors for image instance retrieval》中被用于实例检索任务的评估。

 

迁移问题。 最近的一些工做综合评估了各类CNN网络在实例检索任务中的表现,迁移问题是你们都比较关心的。在《Factors of transferability for a generic convnet representation》中将实例检索任务认为是距离原始数据集最远的(计算机视觉)目标。首先,在模型迁移过程当中,从不一样层提取的特征表现出不一样的检索性能。实验代表高层网络的泛化能力要低于较低层的网络。例如,在ImageNet上预训练的网络AlexNet代表,FC六、FC7和FC8在检索精度上呈递减顺序。《Particular object retrieval with integral max-pooling of cnn activations》和《Good practice in cnn feature transfer》也指出,当使用适当的编码技术时,AlexNet和VGGNet的pool5层特征甚至优于FC6层特征。其次,当原始的训练集不一样时,模型的准确率也会受到影响。例如,Azizpour等人指出HybridNet在Holidays数据集上展示出的性能要劣于PCA。他们一样发如今ImageNet上预训练的AlexNet模型在包含常见物体而非建筑场景图像的Ukbench数据集上的表现要好于PlacesNet和HybridNet(译者注:AlexNet,PlacesNet和HybridNet预训练模型使用的训练集不一样)。所以,当使用预训练的CNN模型时,源和目标的类似度在实例检索中起着相当重要的做用。

 

4.1.2 特征提取

FC描述符。 最直接的想法就是网络的全链接层(FC layer)提取描述符,在AlexNet中就是FC6或FC7中的描述符。FC描述符是在与输入图像卷积的层以后生成的,具备全局表示性,所以能够被视为全局特征。它在欧几里德距离下产生较好的检索精度,而且可使用指数归一化来提升检索精度。

 

中间局部特征。 许多最新的检索方法专一于研究中间层的描述符。在这种方法中,低层网络的卷积核用于检测局部视觉模式。做为局部检测器,这些滤波器具备较小的感觉野并密集地应用于整张图像。与全局FC特征相比,局部检测器对于诸如截断和遮挡的图像变换更鲁棒,其方式相似于局部不变量检测器。

 

局部描述符与这些中间局部检测器紧密耦合,换而言之,它们是输入图像对这些卷积运算的响应。另外一方面,在卷积运算后等到的激活图层能够看作是特征的集成,在这篇综述中将其称为“列特征”。例如,在AlexNet中第一层有 n=96 个检测器(卷积滤波器)。这些滤波器产生了 n=96张大小为 27 \times 27 热力图(在最大池化后)。热力图中的每一个像素点具备 19 \times 19 大小的感觉野,同时记录了图像对滤波器的响应。所以列特征的大小是 1 \times 1 \times 96 ,它能够看做是对原始图像中某个图像块的描述。该描述符的每一个维度表示相应检测器的激活程度,而且在某种程度上相似于SIFT描述符。列特征最先出如今《Visual instance retrieval with deep convolutional networks》中,Razavian等人首先在分好块的特征图上进行最大池化,而后将它们链接在全部过滤器上,最终生成列特征。在《Hypercolumns for object segmentation and fine-grained localization》中,来自多层的列特征被链接造成“超列”(hypercolumn)特征。

 

4.1.3 特征编码与池化

当提取列特征时,图像由一组描述符表示。为了将这些描述符聚合为全局表示,目前采用了两种策略:编码和直接池合并(如图2所示)。

编码。 一组列特征相似于一组SIFT特征,所以能够直接使用标准编码方案。经常使用的方法就是VLAD和FV算法,两个算法的简要介绍能够参加本文3.3.2节。一个里程碑式的工做发布于《Exploiting local features from deep networks for image retrieval》,文中后首次将列特征用VLAD算法编码。这个想法后来扩展为CNN的微调。BoW编码一样也可使用,具体工做能够参见《Hybrid multi-layer deep cnn/aggregator feature for image classification》。每一个层内的列特征被汇集成一个BoW向量,而后跨层链接。《Bags of local convolutional features for scalable instance search》是固定长度表示的一个例外,这篇文章将列特征用大小为25K的码本量化,还采用了倒排索引结构来提高效率。

 

池化。 CNN特征与SIFT的主要区别在于前者在每一个维度上都有明确的含义,也就是对输入图像的特定区域的滤波器响应。所以,除了上面提到的编码方案以外,直接池化技术也能够产生具备区分度的特征。

 

这方面的一项里程碑工做包括Tolias等人提出的最大卷积激活(MAC)。在没有扭曲或裁剪图像的状况下,MAC用单个前向传递来计算全局描述符。特别地,MAC计算每一个中间特征映射的最大值,并将全部这些值串联在一个卷积层内。在其多区域版本中,使用积分图算法和最似最大算子进行快速计算。随后局部的MAC描述符随着一系列归一化和PCA白化操做被一块儿合并。咱们在本次调研中也注意到了其余一些工做一样也采用了类似的思想,在中间特征映射上采用最大或平均池化,其中Razavian等人的《Visual instance retrieval with deep convolutional networks》是打开先河的工做。同时你们也发现最后一层卷积层(如VGGNet的pool5)在池化后达到的准确率要高于FC描述符以及其余卷积层。

 

除了直接特征池化,在池化以前给每一个层内的特征图分配一些特定的权重也是有益的。在《Aggregating local deep features for image retrieval》中,Babenko等人提出“目标对象每每出如今图像中心”这样一个先验知识,并在总池化前对特征图施加一个2-D高斯掩膜。Xie等人在《Interactive: Inter-layer activeness propagation》中改进了MAC表示法,他们将高层语义和空间上下文传播到底层神经元,以提升这些底层激活神经元的描述能力。Kalantidis等人使用了一个更常规的加权策略,他们同时执行特征映射和信道加权以突出高激活的空间响应,同时减小异常突发状况的影响。

 

4.2 使用微调CNN模型的图像检索系统

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

 

表3:用于微调网络方法的实例检索级的数据集统计

 

4.2.1 用于微调网络的数据集

微调网络时使用的数据集对学习高区分度的CNN特征具备相当重要的做用。ImageNet仅提供了图像的类别标签,所以预训练的CNN模型能够对图像的类别进行分类,但却难以区分同一类的图像。所以要面向任务数据集进行CNN模型微调。

 

近年来用于微调网络方法数据集统计在表3中。数据集主要集中于建筑物和普通物体中。微调网络方向一个里程碑式的工做是《Neural codes for image retrieva》。这篇文章经过一个半自动化的方法收集地标数据集:在Yandex搜索引擎中自动地爬取流行的地标,而后手动估计排名靠前的相关图像的比例。该数据集包含672类不一样的地标建筑,微调网络在相关的地标数据集,如Oxford5k和假日数据集上表现优异,可是在Ukbench数据集(包含有普通物体)上性能下降了。Babenko等人也在含有300个多角度拍摄的平常物品图像的多视图RGB-D数据集上对CNN模型进行了精细调整,以提升在Ukbench数据集上的性能。地标数据集后来被Gordo等人使用,他们使用基于SIFT匹配的自动清洗方法后再微调网络。在《Cnn image retrieval learns from bow: Unsupervised fine-tuning with hard examples》中,Radenovi等人利用检索和运动结构的方法来构建三维地标模型,以便将描述相同建筑的图像进行分组。使用这个标记的数据集,线性判别投影方法(在表5中表示为 L_{w} )优于先前的白化方法。另外一个名为Tokyo Time Machine的数据集使用谷歌街景时间机器工具来收集图像,谷歌提供的这个工具能够提供同一地点不一样时间的图像。上述的大部分数据集主要关注了地标图像,而Bell等人则创建了一个由家具组成的产品数据集,经过开发众包流程来绘制现场的目标和相应产品之间的链接。对所获得的查询集进行微调也是可行的,可是这种方法可能不适合于新的查询类型。

 

4.2.2 微调的网络

用于微调的CNN结构主要分为两类:基于分类的网络和基于验证的网络。基于分类的网络被训练以将建筑分类为预约义的类别。因为训练集和查询图像之间一般不存在类重叠,所以在AlexNet中如FC6或FC7的学习到的嵌入特征用于基于欧氏距离的检索。该训练/测试策略采用在方框中,其中最后的FC层被修改成具备对应于地标数据集中类的数目的672个节点。在《Neural codes for image retrieval》中采用训练/测试策略,其网络最后的FC层被修改成672个节点,对应于地标数据集中类别数目。

 

验证网络可使用孪生网络(siamese network)结合成对损失函数(pairwise loss)或三元损失函数(triplet loss),这种方法已经被更普遍地用于微调网络任务中。在《Learning visual similarity for product design with convolutional neural networks》中采用了基于AlexNet的孪生网络和对比损失函数。在《Cnn image retrieval learns from bow: Unsupervised fine-tuning with hard examples》中Radenovi´c等人提出用MAC成代替全链接层。更进一步地,能够经过创建的3维建筑模型挖掘训练对。基于共同观测的3D点云(匹配的SIFT特征)的数目来选择正例图像对,而CNN描述符中距离较小的那些图像对被认为是负例样本。这些图像输入到孪生网络中,而且用 l_{2} 正则后的MAC层输出计算对比损失函数。与《Cnn image retrieval learns from bow: Unsupervised fine-tuning with hard examples》同时进行的一项工做是《Deep image retrieval: Learning global representations for image search》,Gordo等人在Landmark数据库上对三元损失网络和区域提取网络进行微调。《Deep image retrieval: Learning global representations for image search》这项工做的的优越性在于物体其定位能力,它很好地在特征学习和提取步骤中排除了图像背景。在这两项工做中,微调模型在landmark,OxFoD5K、PARIS6K和Holidays数据集上表现出了最早进的精度,以及在UKBayes数据集上表现出良好的泛化能力(将表5)。在《Netvlad: Cnn architecture for weakly supervised place recognition》中,在最后一个卷积层中插入一个相似VLAD编码层,经过反向传播进行训练。与此同时,设计了一个新的三元损失函数来利用弱监督的Google

Street View Time Machine数据。

 

4.3 基于CNN模型的混合式方法

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

 

4.3.1 特征提取

在混合方法中,特征提取过程包括图像块检测和描述符生成。对第一步而言,主要有三种区域检测器。第一种检测器是网格化图像块。例如,在《Multi-scale orderless pooling of deep convolutional activation features》中使用了两个尺寸滑动窗口的策略来生成图像块。在《Cnn features off-the-shelf: an astounding baseline for recognition》中首先对数据集进行裁剪和旋转,而后将其划分为不一样尺度的图像块。第二类是具备不变性的关键点/区域检测器。例如高斯差分特征点在《Learning to compare image patches via convolutional neural networks》中使用。MSER区域检测器在《Descriptor matching with convolutional neural networks: a comparison to sift》中被使用。第三种是区域建议方法,它也一样提供了潜在对象可能的位置信息。Mopuri等人使用选择性搜索策略来提取图像块,而边缘区域方法在《Fisher encoded convolutional bag-of-windows for efficient image retrieval and social image tagging》中使用。在《Faster r-cnn features for instance search》中使用区域建议网络(RPN)来对目标进行定位。

 

《Descriptor matching with convolutional neural networks: a comparison to sift》证明了CNN一类的区域描述是有效的,而且在出模糊图像以外的图像匹配任务繁重要优于SIFT描述符。对于给定的图像块,混合CNN方法一般使用全链接层或池化的方法来整合CNN特征,相关文献对此均有研究。这些研究从多尺度的图像区域中提取4096维FC特征或目标建议区域。另外一方面,Razavian等人还在最大池化后采用中间描述符来做为区域描述符。

 

上述方法采用预训练模型进行图像块特征提取。以手工检测器为基础,图像块描述符也能够经过有监督或无监督方式进行CNN训练学习,这相对于以前关于SIFT描述符学习的工做有所改进。Yi等人进一步提出了一种在单个流程中集成了区域检测器、方向估计和特征描述符结果的端到端学习方法。

 

4.3.2 特征编码与索引

混合方法的编码/索引过程相似于基于SIFT的检索,如同在小码本下的VLAD / FV编码或大码本下的倒排索引。

 

VLAD/FV编码过程紧随SIFT特征提取后,在上文已经详细描述过这样的流程,再也不赘述。另外一方面,有一些工做研究探索了图像块的CNN特征的倒排索引。一样,在SIFT方法流程中诸如HE之类的编码方法也被使用。除了上述提到的编码策略,咱们注意到《Cnn features off-the-shelf: an astounding baseline for recognition》,《Visual instance retrieval with deep convolutional networks》,《Image classification and retrieval are one》这些工做提取每一个图像的多个区域描述符进行多对多匹配,这种方法称为称为“空间搜索”。该方法提升了检索系统对平移和尺度变化的鲁棒性,但可能会遇到效率问题。另外一种使用CNN最高层特征编码的策略是在基于SIFT编码(如FV)的最后面创建一个CNN结构(主要由全链接层组成)。经过在天然图像上训练一个分类模型,中间的全链接层能够被用来进行检索任务。

 

4.4 讨论

4.4.1 基于SIFT和CNN的方法间的关系

在本篇综述中,咱们将现有的文献分为六个精细的类,表1和表5总结了六个类别的差别和表明性做品。咱们的观察结果以下。

 

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

 

第二,单向CNN方法倾向于将SIFT和混合方法中的各个步骤结合起来。在表5中,“预训练单向网络”一类方法整合了特征检测和描述步骤;在“微调单向网络”中,图像级描述符一般是在端到端模式下提取的,所以不须要单独的编码过程。在《Deep image retrieval: Learning global representations for image search》中,集成了相似“PCA”层以减小区分维数,进一步完善了端到端的特征学习。

 

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

 

4.2.2 哈希与实例检索

哈希方法是最似最近邻问题的主流解决方案。它能够被分类类为局部敏感哈希(LSH)算法和哈希学习方法。LSH是数据无关的且常经过学习哈希来得到更优异的性能。对于学习哈希方法,最近的一项调研《A survey on learning to hash》将其归类为量化和成对类似性保留这两类。咱们在3.3.2节已经详细讨论过量化方法热,再也不赘述。成对类似性保留方法包括一些经常使用的手工设计哈希方法,如谱哈希,LDA哈希等。

 

近年来随着深度网络的发展,哈希方法也从手工设计的方式转变到受监督的训练方式。这些方法将原始图像做为输入,并在二值化以前生成学习的特征。然而,这些方法大多集中于图像分类式的检索任务,与本次调研所中讨论的实例图像检索不一样。实例检索任务中,当能够收集到足够的训练数据时(例如建筑和行人和数据)时,深度散列方法多是相当重要的。

 

5 实验比较

5.1 图像检索数据集

在本次调研中使用了五个流行的实例检索数据集,这些数据集的统计数据如表4所示。

表4:流行的实例检索数据集统计

 

Holidays数据集由Jégou等人从我的假日相册中收集,所以图像包含各类各样的场景。该数据库由500组1,491幅类似图像组成,每组图像有一条查询记录,共计500条。除了《Efficient representation of local geometry for large scale object retrieval》和《Learning a fine vocabulary》,大多数基于SIFT的方法手动地将图像旋转成直立方向。最近许多基于CNN的方法也使用了旋转版的Holidays数据集。在表5中这两个版本数据集上的结果用"/"间隔,旋转图像能够带来2%-3%的mAP值。

 

Ukbench数据集包括10,200种不一样内容的图像,如物体、场景和CD封面。全部图像被分为2,550组,每一个组有四个图像描述相同的物体/场景,在不一样的角度,照明,形变,等状况下的表现。该数据集中的每一个图像依次做为查询记录,所以有10,200条查询记录。

 

Oxford5k数据集用牛津11个地标名从Flickr网站爬取共计5062幅图像组建数据集。该数据集经过手绘边界框为每一个地标的定义五个查询记录,从而总共存在55个感兴趣区域(ROI)查询记录。每一个数据库图像被分配了好的还能够的垃圾的,或坏的四个标签之一。前两个标签表示与查询的感兴趣区域是匹配的,而“坏”表示不匹配。在糟糕的图像中,只有不到25%的对象是可见的,或者它们遭受严重的遮挡或变形,所以这些图像对检索精度影响不大。

 

Flickr100k数据集包括99,782张来Flickr网站145个最流行标签的高清图像。在文献中,一般将该数据集添加到Oxford5k中,以测试检索算法的可扩展性。

 

Paros6k数据集从11指定的巴黎建筑查询中爬出6,412中图像。每一个地标有五个查询记录,所以这个数据集一样有55个带有边界框的查询记录。数据库图像使用和Oxford5k同样的四种类型的标签做为Oxford5k数据集标签。针对Oxford5k和Paris6k数据集有两个评估准则。对于基于SIFT的方法,被裁剪的区域一般用于查询。对于基于CNN的方法,有些工做采用的是全尺寸图像,有些工做采用的是将裁剪的ROI传入CNN或者用CNN提取全图特征后再裁剪获得ROI。使用完整的图像的方法能够提升mAP指标。详细的指标能够参见表5。

 

表5:一些有表明性的图像检索方法在六个数据集上的表现

 

5.2 评价指标

精准度-召回率。召回指的是返回的正确匹配数占数据库中总数或正确匹配数的比率,而精准度是指返回结果中真实匹配的那部分图像。给定一个集合含有 n 张返回的图像,假设其中有 n_{p} 张正确匹配的图像,而整个数据集中有 N_{p} 张正确匹配的图像,那么召回率 @n ( r@n )和精准度 @np@n )分别计算为 \frac{n_{p}}{N_{p}} 和 \frac{n_{p}}{n} 。在图像检索中,给定一张待查询图像和返回列表,能够根据( r@1 , p@1 ),( r@2 , p@2 ),...,( r@N , p@N )这些点绘制精准度-召回率曲线,其中 N 是数据库中的图像数目。

 

平均准确率和平均精度。 为了更加清晰地记录图像检索系统的性能,咱们使用平均准确率(average precision)对其进行衡量,它至关于精准度-召回率曲线下的面积。一般,较大的AP值意味着更高的精准度-召回率曲线,亦即更好的检索性能。因为图像检索数据集一般具备多个查询图像,因此对它们各自的AP值进行平均,以产生最终的性能评价,即平均精度(mean average precision, mAP)。传统地,咱们使用mAP来评估检索系统在Oxford5k、Paris6k和Holidays数据集上的准确度。

 

N-S得分。 N-S得分专用于Ukbench数据集,它是以David Nistér 和Henrik Stewénius的名字来命名的。N-S得分其实等价于精准度 @4 或者召回率 @4 ,由于在Ukbench数据集中的每一个查询在数据库中都有四个正确的匹配项。N-S得分用总排名列表中前四中的真实匹配的平均数量来计算。

 

图6:多年来在Holidays(a), Ukbench(b), Oxford5k(c)数据集上的最优表现

5.3 比较与分析

5.3.1 多年来性能的改进

咱们在图6中展现了过去十年图像检索精度的改善以及在表5中展现了一些有表明性的方法。实验结果经过在独立的数据集上创建的编码原本计算。咱们能够清楚地看到,实例检索的领域一直在不断改进。10多年前提出的基线方法(HKM)在Holidays, Ukbench, Oxford5k, Oxford5k+Flickr100k以及Paris6k数据集上的准确率分别仅为59.7%, 2.85, 44.3%, 26.6%以及46.5%。从基线方法开始,经过引入高区分度编码本、空间约束和互补描述符,大规模编码本方法开始稳定地提高。对于中型编码本方法来讲,随着Hamming嵌入及其改进的方法,在2008年至2010年间它见证了最显著的精度提高。从那时起,主要的改进来自特征融合的强度,特别是使用在Holiday和Ukbench数据集上提取的的颜色和CNN特征。

 

图7:特征维度对图像检索系统准确率的影响

 

表6:不一样类别方法间的效率和准确度的比较

 

另外一方面,基于CNN的检索模型在图像例检索中迅速显示出其优点。在2012年AlexNet刚提出时,当时的FC特征的性能与SIFT模型相比仍然远不能使人满意。例如,在ImageNet上预训练的AlexNet,其FC描述符在Holidays,Ukbench和Oxford5k数据集上的AP,N-S得分和mAP上的得分分别为 64.2%,3.42,43.3%。这些指标是要比《Contextual weighting for vocabulary tree based image retrieval》在Holidays和Ukbench数据集上的成绩低13.85%和0.14,比《Object retrieval and localization with spatially-constrained similarity measure and k-nn re-ranking》在Oxford5k上的成绩低31.9%。然而,然而,CNN网络结构和微调策略的进步,基于CNN的方法的性能迅速提升,在Holidays和Ukbench数据集上极具竞争力,而且在Oxford5k数据集上的指标略低,但它具的内存消耗更小。

 

5.3.2 准确率比较

不一样数据集上不一样类别的检索精度能够在图6,表5和表6中查看。从这些结果中,咱们有三个发现。

 

第一,在基于SIFT的方法中,中等规模编码本对的表现要优于小规模编码本。一方面,因为大的沃罗诺伊方格,中等规模编码本的视觉词汇可使相关匹配的召回率变高。HE方法的进一步集成在很大程度上提升了模型区分度,实现了匹配图像召回率和精度之间较好的平衡。另外一方面,虽然小规模编码本中的视觉词具备最高的匹配召回率,但因为聚合过程和维度小,它们的图像区分能力没有显著提升。所以它的表现能够认为是不佳的。

 

第二,在基于CNN的方法中,微调的模型在特定任务(如地标/场景检索)中的表现要有很大优点,这些任务的数据通常和训练集数据分布类似。虽然这一观察是在预期以内,有趣的是咱们发如今《Deep image retrieval: Learning global representations for image search》中提出的微调模型在通用检索(例如Ukbench数据集)上的表现极具竞争力,而它与训练集的数据分布并不一样。事实上,Babenko等人在《Neural codes for image retrieval》中代表,在Landmarks数据集上进行微调的CNN特征会下降在Ukbench上的的准确率。《Deep image retrieval: Learning global representations for image search》这项工做的泛化能力能够归因于对区域提取网络的有效训练。相比之下,使用预先训练模型能够在Ukbench上表现出较高的精度,但在landmarks数据集上的表现中等。类似地,混合方法在全部的任务中的表现都至关,但它仍然可能遇到效率问题时。

 

第三,比较这六中方法,“CNN微调模型”和“SIFT中等编码本”方法具备最好的整体准确度,而“SIFT小编码本”类别具备相对较低的准确度。

 

图8:在 Oxford5k数据集上的存储代价和检索准确率

 

5.3. 效率比较

特征计算时间。 在基于SIFT的方法中,主要的步骤就是局部特征的提取。一般状况下,根据图像的复杂度(纹理),CPU提取640 \times 480大小图像的基于Hessian仿射区域的SIFT描述符须要1-2s。对于基于CNN的方法,在TitanX卡上经过VGG16网络对一个224×224和1024×768的图像进行单向传递分别须要0.082s和0.34 7s。据报道,四幅图像(最大边724像素)能够在1s内处理。预训练列特征的编码(VLAD或FV)的时间很是快。对于CNN混合方法,提取几十个区域的CNN特征可能须要几秒钟。整体而言,CNN预训练模型和微调模型在用GPU进行特征计算时的效率高。一样应该注意的是,当使用GPU进行SIFT提取时,也能够实现高效率。

 

检索时间。 最似最近邻搜索算法用于“SIFT大编码本”,“SIFT小编码本”,“CNN预训练模型”和“CNN微调模型”时都是至关高效的,这是由于倒排列表对于适当训练的大码原本说是简短的,而且由于后者三有一个紧凑的表示,用像PQ这样的ANN搜索方法来加速是可行的。中等规模编码本的效率较低,由于它的倒排索引与大码本相比包含更多的条目,而且汉明嵌入方法的过滤效果只能在必定程度上修正这个问题。如4.3节所述,混合方法的检索复杂度会由于多对多匹配策略的影响而变得低效率。

 

训练时间。 用AKM或HKM训练大型或中型编码本一般须要几个小时,使用小型编码本能够缩短训练时间。对于微调模型,Gordo等人在一块K40 GPU上花费了5天训练三元损失模型。可能在孪生网络或者分类模型上这会花费更少的时间,可是要比生成SIFT编码本的时间长得多。所以,在训练方面,使用直接池或小码本的效率更高。

 

存储代价。 表5和图8代表具备大码本的SIFT方法和紧凑方法在存储成本上都是高效的。还可使用PQ或其余有效的量化/散列方法将紧凑表示压缩成紧凑编码,从而能够进一步减小它们的存储消耗。相比之下,使用中等码本的方法是最消耗内存的,由于二进制签名应该存储在倒排索引中。混合方法总要有混合存储成本,由于多对多策略须要存储每一个图像的多个区域描述符,而其余一些方法则采用高效的编码方法。

 

空间验证与查询拓展。 空间验证一般和QE算法一块儿使用,可使得检索结果排列表更加精准。RANSAC验证在《Object retrieval with large vocabularies and fast spatial matching》中提出,它的复杂度为 \mathcal{O}(z^{2}) ,其中 z 是匹配的特征数目,能够看出算法的复杂度较高。ADV方法的复杂度相对较小,为 \mathcal{O(zlogz)} ,由于它可以避免不相关的Hough选票。《Hough pyramid matching: Speeded-up geometry re-ranking for large scale image retrieval》和《A vote-and-verify strategy for fast spatial verification in image retrieval》提出的方法最有效,复杂度仅为 \mathcal{O}(z),同时后一项工做进一步地输出QE的变换和内值。

 

从查询扩展的角度来看,因为提出了新的查询,搜索效率会受到影响。例如,因为新查询,AQE的搜索时间几乎增长了一倍。对于递归AQE和带尺度递归QE方法,搜索时间更加长了,由于要执行好几个新的搜索。其余QE变体所提出的改进只比执行另外一搜索增长了边际成本,所以它们的复杂性相似于QE方法。

 

5.3.4 重要的参数

咱们总结编码本大小对使用SIFT特征的大/中型码本的影响,以及维数对包括SIFT小编码本和基于CNN方法的紧凑表示的影响。

 

编码本规模。 图9展现了模型在Oxford5k上的mAP结果,对大规模编码本和中规模编码本的方法进行对比。有两点值得注意。第一,mAP值一般随着编码本增大而增长,但当码本足够大时aMP值可能达到饱和。这是由于更大的码本提升了匹配精度,可是若是它太大,匹配的召回率变低,致使性能饱和甚至损害性能。第二,当编码本规模变化时,使用中等规模编码本的方法表现更稳定。这能够归因于HE方法,它对更小的码本贡献更多,弥补了较低的基线方法的性能。

 

维数。 维数对紧凑向量的影响在图7中给出。咱们的发现检索精度一般在较大的尺寸下较为稳定,而当维数低于256或128时精度迅速降低。咱们第二个发现是关于区域提取的。这些方法在各类特征长度下都表现出很是出色的性能,这多是因为它们在目标定位方面的优越能力。

 

5.3.5 讨论

咱们简要地讨论什么时候使用CNN或SIFT以及其余相关方法。上文对二者特征进行了详细的比较。

一方面,表示向量长度固定的CNN方法几乎在全部的基准数据集上的性能都占有优点。具体而言,在两种状况下基于CNN的方法能够考虑优先使用。第一种是对于特定对象的检索(例如建筑物、行人),当提供的训练数据足够时,能够充分利用CNN网络嵌入学习的能力。第二种,对于常见的对象检索或类检索,预训练的CNN模型是有竞争力的。

另外一方面,尽管基于CNN方法的一般是具备优点的,咱们仍认为SIFT特征在某些状况下仍然具备优点。例如,当查询或一些目标图像是灰度图像时,CNN可能不如SIFT有效,由于SIFT是在灰度图像上计算而不诉诸于颜色信息。当物体颜色变化很是剧烈时也一样如此。另外,在小对象检索中或当查询对象被严重遮挡时,使用诸如SIFT之类的局部特征是更好的选择。在书籍/CD封面检索等应用中,因为丰富的纹理,咱们也能够期待SIFT的良好性能。

6 将来的研究方向

6.1 面向通用任务的实例检索

图像检索一个很是重要的方向就是使用搜索引擎实现通用检索。为了实现这个目标须要解决两个重要问题。

 

第一个,须要引入大规模图像数据集。虽然如表3所示展现了多个图像数据集,但这些数据集一般包含特定类型的实例,例如地标或室内物品。虽然Gordo等人在《Deep image retrieval: Learning global representations for image search》中使用的RPN结构除了在构建数据集以外,还在在Ukbench数据集上表现得富有竞争力,但若是在更通用的数据集上训练CNN可否带来进一步的改进,则仍然是未知数。所以,社区迫切须要大规模的图像数据集或一种能够以监督或非监督的方式生成这样一个数据集的有效方法。

 

第二,设计新的CNN网络和学习策略对于充分利用训练数据具备重要意义。先前有工做采用标准分类模型,成对损失或三重损失模型对CNN网络进行微调。Faster R-CNN在实例检索中的引入对更精确的对象定位来讲是一个良好的开始。此外,在另外一个检索任务中采用微调模型时,迁移学习方法也是很是重要。

 

6.2 面向专用任务的实例检索

另外一方面,在专用实例检索中的研究也愈来愈多。例如地点检索,行人检索,车辆检索,标志检索等。在这些任务中的图像具备特定的先验知识。例如在行人检索任务中,循环神经网络(RNN)能够链接身体部分的描述符,在车辆检索任务中,在特征学习期间能够推断视图信息,同时牌照图像也能够提供关键信息。

 

同时,训练数据的收集过程能够进一步研究。例如,能够经过谷歌街景收集不一样地点的训练图像。车辆图像能够经过监视视频或互联网图像来获取。在这些特定的数据集上探索新的学习策略以及研究迁移学习的效果将是有趣的。最后,紧凑向量编码或短编码也将在现实的检索任务设置中变得重要。

 

7 结语

本篇综述回顾了基于SIFT和CNN特征的实例检索方法。根据编码本的规模,咱们将基于SIFT的方法分为三类:使用大,中,小规模的编码本。基于CNN的方法也被分为了三类:使用预训练模型,微调模型和混合模型的方法。在每一个类别下都对先前的方法进行了全面的调研。从各类方法的演变能够看出,混合方法处于SIFT和CNN方法的过渡位置,紧凑编码方法愈来愈流行,而且实例检索正朝着端到端的特征学习和提取的方向发展。

 

经过在几个基准数据集上收集的实验结果,对六种方法进行了比较。咱们发现CNN微调模型策略在不一样的检索任务上都获得了较高准确率,而且在效率上也具备优点。将来的研究可能集中于学习更通用的特征表示或更特定的检索任务。

 

写在最后

毋庸置疑,这是一篇极高水准的综述,本人斗胆将其翻译成文愿对你们有所帮助。

图像检索系统做为计算机视觉领域的一项关键技术,以其诱人的前景不断激励着一代代的科研工做者攻克难点,追求卓越。从文中咱们能够看到,仅仅十多年的时间,图像检索方面的研究已经取得了不俗的成绩,尤为是近年来兴起的深度学习技术又为该领域的发展添加了助燃剂。

然而,咱们也应该意识到挑战仍然是存在且巨大的。更加鲁棒的图像特征描述符,更加快速的检索算法都是咱们须要继续研究的课题。同志们,任重道远啊