Print

发布时间: 2018-12-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180137
2018 | Volume 23 | Number 12




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





动态匹配核函数图像检索
expand article info 洪睿, 康晓东, 李博, 王亚鸽
天津医科大学医学影像学院, 天津 300203

摘要

目的 在传统的词袋模型图像搜索问题中,许多工作致力于提高局部特征的辨识能力。图像搜索得到的图像在细节部分和查询图像相似,但是有时候这些图像在语义层面却差别很大。而基于全局特征的图像搜索在细节部分丢失了很多信息,致使布局相似实则不相关的图像被认为是相关图像。为了解决这个问题,本文利用深度卷积特征来构建一个动态匹配核函数。方法 利用这个动态匹配核函数,在鼓励相关图像之间产生匹配对的同时,抑制不相关图像之间匹配对的个数。该匹配核函数将图像在深度卷积神经网络全连接层最后一层特征作为输入,构建一个动态匹配核函数。对于相关图像,图像之间的局部特征匹配数量和质量都会相对增强。反之,对于不相关的图像,这个动态匹配核函数会在减少局部特征匹配的同时,降低其匹配得分。结果 从数量和质量上评估了提出的动态匹配核函数,提出了两个指标来量化匹配核函数的表现。基于这两个指标,本文对中间结果进行了分析,证实了动态匹配核函数相比于静态匹配核函数的优越性。最后,本文在5个公共数据集进行了大量的实验,在对各个数据集的检索工作中,得到的平均准确率从85.11%到98.08%,均高于此领域的同类工作。结论 实验结果表明了本文方法是有效的,并且其表现优于当前这一领域的同类工作。本文方法相比各种深度学习特征提取方法具有一定优势,由于本文方法使用特征用于构建动态匹配内核,而不是粗略编码进行相似性匹配,因此能在所有数据集上获得更好的性能。

关键词

图像检索; 词袋模型; 匹配核函数; 深度学习; 卷积神经网络; AlexNet

Application of dynamic match Kernel in image retrieval
expand article info Hong Rui, Kang Xiaodong, Li Bo, Wang Yage
School of Medical Image, Tianjin Medical University, Tianjin 300203, China
Supported by: The Key Foundation of Tianjin, China(17JC20J32500)

Abstract

Objective For the traditional image search retrieval problem based on the bag-of-words model, the enhancement of the recognition capability of local features of images has attracted considerable attention. Although the image results obtained by image search retrieval are similar to the query image in the detail part, the image results differ from the semantic perspective. In addition, an image search retrieval method based on global descriptors is used, which focuses on global features but loses several valuable information in the detail. Thus, the images that have similar layout but are not related are considered as related images. To solve this problem, this study uses deep convolution features to construct a dynamic matching kernel function. Method The proposed dynamic match kernel algorithm stimulates the feature matches between near-duplicate images and filters the matches between irrelevant images. This study extracts the features from the last fully connected layer in a convolutional neural network as the input for dynamic match kernel. Then, an adaptive threshold is constructed to match the local features. The threshold for relevant images should be large to enable the inclusion of positive matches. Conversely, for uncorrelated images, this dynamic matching kernel function reduces the matching score and local feature matching. Result In this study, we initially proposed two criteria to evaluate the effect of the dynamic match kernel algorithm and two indicators to quantify the performance of the dynamic matching kernel function. Then, on the basis of the two indicators, this study analyzed the intermediate results and verified the superiority of the dynamic matching kernel function through a comparison with the static matching kernel function. Finally, this study conducted a large number of experiments on five public datasets (Holidays, UKBench, Paris6K, Oxford5K, and DupImages), including the experiments with dynamic matching kernel function methods with other methods and experiments with dynamic matching kernel functions versus mainstream deep learning methods. The range of average accuracy is from 85.11% to 98.08% using our method, which indicates that the dynamic kernel method is compatible with other methods. Conclusion The dynamic kernel method can be used as a portable component of image retrieval to improve the experimental results of image search retrieval. In the contrast deep learning method, the experimental results of our dynamic matching method with other methods outperform the method based on deep learning features, which indicate that the proposed method is effective and its performance is better than the current work in this field.

Key words

image retrieval; bag-of-word model; match kernel; deep learning; convolutional neural network; AlexNet

0 引言

图像检索是计算机视觉中的一个重要子问题,其目的是在一个较大的数据库中检索与查询图像较为相似的图像。这里的相似是指图片描述的物体或者场景等一样或者是一类。图像检索可以应用到生活的方方面面,最直接的应用是被作为除文本以外的另一种检索方式,例如Google Image、Baidu Image以及TinEye。此外,图像检索还能被用来定位,比如对于一个路人来说,当他迷路时,可能需要一张照片就可以帮他确定所在位置(location recognition);图像检索可以替代人类的一部分工作或者作为另一种交互方式,因此有很多的研究工作在这方面展开[1-4]

对于一个图像检索系统,首先数据库中的图像会被有效地转化为特征表达而存储,通常一幅图像会被表示为一组局部特征(local feature)或者一个全局特征(global feature)。然后用户输入一幅查询图像,系统会用相同的方法,把查询图像转化为特征,据此计算其与数据库图像的相似度。最后,对数据库中的图像根据其相似度由大到小的排序返回最终结果。常用的局部特征有SIFT(scale-invariant feature transform)、HOG(histogram of oriented gradient)、ColorNames和LBP(local binary patterns)等。在图像检索中,这些局部特征被用来构建倒排索引表或者全局特征。目前全局特征主要分为两种:1)基于底层特征和一些词嵌入的方法,将底层特征整合成为一个特征,现在比较常用的词嵌入方法有BoF (bag-of-features) [5]、Fisher Vector[6]及VLAD (vector of locally aggregated descriptors) [7];2)基于深度卷积神经网络(CNN) [8],提取卷积神经网络全连接层的输出作为图像的全局特征表达,因为卷积神经网络被认为层数越高,其含有的语义信息就越丰富。也有工作将卷积神经网络的全连接层特征当作局部特征,然后利用特征聚合方法[9]聚合为一个固定长度的全局特征。

基于倒排索引表的图像检索由于不用检索整个数据库,因此简单高效。具体来说,对于基于词袋模型的图像检索,首先用一些检测算法[9-10]从图片中检测出关键点。局部特征(如SIFT、ColorNames)在检测到的关键点处被提取。接着,基于这些局部特征,利用量化算法,建立倒排索引表。然后,图像之间利用局部特征匹配函数和TF-IDF(term frequency-inverse document frequency)加权进行相似匹配。最后,根据数据库图像中的相似度对图像进行排序。在基于局部不变特征的图像检索中,图像之间通过全图局部特征的比较来进行匹配。对于局部特征的比较,最直观的方法是比较来自不同图像的局部特征之间的距离是否小于一个定值。当在数据库特征中检索时,图片特征和查询特征距离小于某个阈值,则被认为是查询特征的一个真正匹配[11]

定义1  积极匹配PM (positive match)为相关图像之间的一个匹配。消极匹配NM (negative match)为不相关图像之间的一个匹配。

对于上述定义,影响图像检索结果的一个关键因素就是查询图像PM和NM的多少。对于这种情况,最直接的想法就是让查询图像的PM尽可能得而NM尽可能少。

在之前的图片检索工作中,已经有许多令人印象深刻的方法。一般地,基于局部特征的图像检索框架包含4步:特征提取、特征量化、图像索引和结果排序。图像索引阶段,也就是查询图像和数据库图像进行相似度计算的过程,其对图像之间的相似度有着直接的影响。本文将围绕匹配核函数,介绍一些具有代表性的工作。

Nistér等人[12]利用视觉词典树结构化地把局部特征(例如SIFT)量化成视觉单词。对于数据库中的图像,局部特征被分配到视觉词典中离其最近的视觉单词上,然后对应的词频(term frequency)以及图像编号被存储进对应视觉单词项中。由于该方法中视觉词典树是被结构化地建立的,因此这个视觉词典可以具有很大的容量以及更多的辨识能力。然而由于在视觉词典树中,对应局部特征方法仅仅存储了离其最近的视觉单词的编号,而非特征本身,因此损失了较多的有用信息。作为一个改进工作,Jégou等人[2]提出了汉明嵌入(Hamming embedding),其利用一个随机矩阵$\mathit{\boldsymbol{P}}$将一个局部特征的空间位置信息编码进一个沃罗诺伊图中。通过矩阵$\mathit{\boldsymbol{P}}$,局部特征被投射到了另一个特征空间。对于每一个局部特征,其通过矩阵$\mathit{\boldsymbol{P}}$投射后会被映射到另一个特征空间。原来属于视觉单词$vi$的局部特征,在被投射之后仍然属于该视觉单词。对于所有属于视觉单词$vi$的局部特征集合$\mathit{\boldsymbol{X}}$,其投射后的集合为$\mathit{\boldsymbol{X}}$′,通过集合$\mathit{\boldsymbol{X}}$′计算得到这些投射后特征的均值。根据这个均值来二值化一个局部特征,在查询阶段,查询图像$\mathit{\boldsymbol{q}}$和数据库图像$\mathit{\boldsymbol{d}}$之间的相似度计算公式为

$ S\left( {\mathit{\boldsymbol{q}},\mathit{\boldsymbol{d}}} \right) = \sum\limits_{x \in \mathit{\boldsymbol{q}},y \in \mathit{\boldsymbol{d}}} {M\left( {x,y} \right){f_{{\rm{TF}} - {\rm{IDF}}}}\left( {x,y} \right)} $ (1)

式中,$M\left({x, y} \right)$是计算局部特征$x$$y$之间匹配得分的匹配核函数,${f_{{\rm{TF - IDF}}}}\left({x, y} \right)$是局部特征$x$$y$之间的词频权值。$\text{TF-IDF}$是在文本检索中常用的一种加权方式。在文献[2]中,$M\left({x, y} \right)$的定义为

$ M\left( {x,y} \right) = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} {\delta _{v\left( x \right),v\left( y \right)}}\\ 0 \end{array}&\begin{array}{l} h\left( {{b_x},{b_y}} \right) \le {h_t}\\ 其他 \end{array} \end{array}} \right. $ (2)

式中,$v$(·)是局部特征的量化函数,$\delta $是克罗内克函数,当且仅当$v\left(x \right) = v\left(y \right)$时,$\delta = 1$$b_x$$b_y$表示局部特征$x$$y$二值化之后的汉明编码。$h\left({{b_x}, {b_y}} \right)$表示汉明码$b_x$$b_y$之间的汉明距离,$h_t$是阈值,且$0 \le {h_t} \le bits$, 其中$bits $表示二值化后汉明码的长度。Tolias等人[3]将属于同一个视觉单词的局部特征聚合为一个向量。然后,通过汉明嵌入[2],聚合得到的向量被二值化成一个新的汉明编码。在匹配阶段,Tolias等人提出一个选择匹配核函数来计算局部特征之间的相似度,即

$ \begin{array}{*{20}{c}} {M\left( {x,y} \right) = }\\ {\left\{ {\begin{array}{*{20}{c}} \begin{array}{l} {\delta _{v\left( {x'} \right),v\left( {y'} \right)}}\\ 0 \end{array}&\begin{array}{l} {f_s}\left( {h\left( {{b_{x'}},{b_{y'}}} \right)} \right),h\left( {{b_{x'}},{b_{y'}}} \right) \le {h_t}\\ 其他 \end{array} \end{array}} \right.} \end{array} $ (3)

式中,$f_s$(·)是文献[3]中提出的选择匹配核函数,$x$′和$y$′分别表示图像$\mathit{\boldsymbol{q}}$$\mathit{\boldsymbol{d}}$中属于同一视觉单词聚合后的特征。这里的聚合是指对于一幅图像中属于同一视觉单词的所有局部特征,对其进行平均池化(average pooling)[5]或者最大池化(max pooling)[13]操作,形成聚合后的新特征。特征聚合对于图像检索很关键,它不仅可以有效地编码局部特征,还可以在一定程度上削弱由于局部特征的突发性造成的结果偏差。

在当前已经存在的方法中普遍采用静态匹配核函数,因此这些方法难以有效过滤NM而引入更多的PM。采用静态匹配核函数,无论图像相关与否,在匹配时都采用相同的阈值来衡量图像局部特征的相似性。这样一刀切的方式不能很好地考虑图像的关系,只要继续采用静态匹配核函数,图像之间相似度的计算仍然会依赖于这种方式。并且对于相关图像和不相关图像之间的局部特征匹配函数,对局部特征基础得分的削减程度都一样,这使得积极匹配和消极匹配被等同对待。更为合理的方法应该是,相比于消极匹配,积极匹配的基础得分衰减程度应该更小。

为了解决上述问题,本文提出了动态匹配核函数。新的匹配核函数会对相关图像和不相关图像区别对待。具体来说,就是该核函数可以在鼓励相关图像之间产生PM的同时抑制不相关图像之间产生NM,并且可以相对地增强PM的影响力。图 1展示了不同匹配核函数返回结果的实例。图 1中每一行的第1列是查询图像。返回结果中相关图像和不相关图像分别用绿色边框和红色边框标记。

图 1 图像检索的结果对比
Fig. 1 Comparison of image search results((a)results using static matching function; (b) results using dynamic matching function)

在5个公开数据集:Holidays[2]、UKBench[12]、Paris6K[14]、Oxford5K [15]和DupImage [16]上进行了实验检验动态匹配核函数,根据实验结果,本文方法所得结果优于目前同类方法。本文工作的贡献总结如下:

1) 研究了基于BoW模型图像检索中的匹配核函数,这是图像检索中和目前工作不同的出发点。利用从深度卷积神经网络提取的特征构建一个动态匹配核函数,该匹配核函数原理简单且易于实现。并且对于深度学习特征,直接加以利用而没有任何额外的聚合或者转化操作。最后经实验证实,本文方法可以和当前特征提取、特征量化、索引以及后处理等技术相兼容,以提升图像检索的结果。

2) 1.2节还提出了两个额外的评价指标,从特征匹配对的数量和质量上分析图像检索的表现,从更深的层次解释实验结果提升的原因。因为PM和NM对BoW模型的图像检索来说较有意义,因此这两个指标也可以作为分析其他以提升特征量化和匹配为目标的的同类工作的指标。

1 动态匹配核函数

1.1 动态匹配核函数

图片查询的返回结果有两种,即数据库中相关图像或不相关图像。正如相似度计算式(1),我们更倾向相关图像之间产生匹配对的同时,抑制不相关图像之间匹配对的个数,也即希望PM和NM的数量差距更大。此外,希望相关图像之间的特征匹配质量更高,即PM的贡献大于NM。对于图像之间的匹配,最直接的方法就是逐对比较两幅图像中未经任何处理的局部特征,因为此时其保留的有用信息是最多的。但是,无论在空间还是时间上,这种方法代价都比较大。作为一个折中方案,Jégou等人[2]提出将局部特征利用HE (Hamming embedding)二值化为汉明编码。对于保存尽可能多的有用信息来说,这是一个高效的方法。

匹配核函数对于图像匹配起着关键作用。在匹配核函数中,阈值$h_t$影响着最后图像的相似度得分,因为其对非零匹配个数(无论是PM还是NM)的多少起着关键作用。自然而然地,对于阈值的选取,最直接的方法是相关图像的阈值尽可能的大,这样就会有更多的匹配对被引入到最后图像相似度计算中,即得到更多的PM。而不相关图像之间的阈值尽可能的小,这样将会有许多匹配对被过滤掉,也就是更少的NM。

图片检索整体框图如图 2所示。首先从查询图像和数据库图像中提取局部特征,将这些局部特征二值化为汉明码并构建倒排索引表;在匹配阶段,来自查询图像$\mathit{\boldsymbol{q}}$的局部特征$x$和来自数据库图像$\mathit{\boldsymbol{d}}$的局部特征$y$都属于同一视觉单词$v_i$,其对应的汉明码分别为$b_x$$b_y$,这两个汉明码之间的距离为$h\left({{b_x}, {b_y}} \right)$。目前的工作基于静态匹配核函数中的固定阈值$h_t$选择特征对,利用现成的卷积神经网络构建一个动态的阈值。使用的卷积神经网络是事先训练好的(通常是在ImageNet[17]上训练的),用于图像分类。本文动态阈值函数为

$ \begin{array}{*{20}{c}} {M\left( {x,y} \right) = }\\ {\left\{ {\begin{array}{*{20}{c}} \begin{array}{l} {\delta _{v\left( x \right),v\left( y \right)}}\\ 0 \end{array}&\begin{array}{l} {f_s}\left( {h\left( {{b_x},{b_y}} \right)} \right),h\left( {{b_{x'}},{b_{y'}}} \right) \le {h_t}\left( {{d_s}} \right)\\ 其他 \end{array} \end{array}} \right.} \end{array} $ (4)

图 2 本文方法的整体框图
Fig. 2 An overall diagram of our approach

式中,$d_s$是基于深度学习特征计算的两幅图像的语义距离

$ {d_s} = \left\| {{{\hat z}_q} - {{\hat z}_d}} \right\|_2^2 $ (5)

$z_q$$z_d$分别是查询图像$\mathit{\boldsymbol{q}}$和数据库图像$\mathit{\boldsymbol{d}}$中提取的语义特征,即为用现成的卷积神经网络提取的全连接层最后一层的特征。${{\hat z}_q}$${{\hat z}_d}$是对特征$z_q$$z_d$进行$l_2$正则化后得到的特征。在本文工作中,采用的网络是在ImageNet上训练得到的卷积神经网络。两幅图像之间的语义距离是这两个语义特征进行$l_2$归一化后的欧氏距离。动态阈值${h_t}\left({{d_s}} \right)$的计算公式为

$ {h_t}\left( {{d_s}} \right) = \lambda {l_{\rm{H}}}{\exp ^{ - {d_s}/2}} $ (6)

式中,$\lambda $是一个权重因子,用来调节阈值的幅度大小,后面会对该参数给出具体实验值。$l_\text{H}$表示汉明距离。$d_s$是基于深度学习特征计算的两幅图像的语义距离。

对于一对图像来说,如果$d_s$减小,它们之间的语义差距变小,即表示其在语义上更接近。那么其对应的动态阈值${h_t}\left({{d_s}} \right)$根据式(6)将会增大。这意味着在这对图像之间将会有更多的非零匹配对被计入最后的相似度计算。相反,如果一对图像之间的$d_s$增大,意味着它们之间语义相差较大。那么其对应的动态阈值${h_t}\left({{d_s}} \right)$根据式(6)将会减小。这样这对图像之间,会有一些非零匹配对被过滤掉,它们的相似度将会相应地减小。

图 3是基于静态阈值(第1行)和基于动态阈值(第2行)的局部特征匹配。对于静态阈值,经实验验证,采用$h_t$= 64,这也和同类工作中使用的数值一样[2-3],均为汉明编码长度的一半,然后根据语义特征计算${h_t}\left({{d_s}} \right)$。相关图像之间的动态阈值为66,不相关图像之间的动态阈值为40。#matches表示两幅图像之间局部特征匹配对的个数,$S$表示两图最后的相似度得分。图 3显示了利用静态阈值和动态阈值情况下匹配对的个数。当使用静态阈值时,不相关图像之间存在很多的NM,甚至比相关图像之间的PM还多。如果采用动态阈值,根据式(6)得出相关图像和不相关图像的阈值分别为66和40,此时对比静态阈值可以看出,相关图像之间的PM增多而不相关图像之间的NM减少。这说明动态阈值达到了预期,对于相关图像,引入更多的非零匹配对,即更多的PM,而不相关图像,过滤掉一些非零匹配对,即更少的NM。

图 3 静态和动态阈值下的局部特征匹配
Fig. 3 Example of local feature matching between the dynamic match kernel and static match kernel ((a) correlated images; (b) query images; (c) uncorrelated images)

1.2 动态匹配核函数的有效性证明

本节从中间结果分析动态匹配核函数的影响。在BoW模型的图像检索中,影响检索结果的有两个方面,即特征匹配对的数量以及特征匹配对的质量。$Q$是评估图像检索中查询的数量评分,计算公式为

$ Q = \frac{1}{N}\sum\limits_{i = 1}^N {{Q_i}} $ (7)

式中,$N$是查询图像的个数,$Q_i$是第$i$幅查询图像的数量评分,具体定义为

$ {Q_i} = \frac{{\sum\limits_{j = 1}^K {n_{i,j}^ + } }}{{\sum\limits_{j = 1}^K {n_{i,j}^ + } + \sum\limits_{j = 1}^K {n_{i,j}^ - } }} $ (8)

对于一幅查询图像,假如其有$K$幅相关图像,选取这$K$幅相关图像作为正样本,那另外选取查询结果中前$K$个不相关图像作为负样本。式(8)中$n_{i, j}^ + $表示第$i$幅查询图像和其对应的第$j$个正样本之间积极匹配PM的个数。对应地,$n_{i, j}^- $表示第$i$幅查询图像和其对应的第$j$个负样本之间消极匹配NM的个数。

直观来说,这个指标比较了相关图像中积极匹配PM个数和消极匹配NM个数的多少。如果$Q$>0.5说明积极匹配PM个数多于消极匹配NM的个数,反之则少于NM的个数。从式(8)可以看出,0≤$Q$≤1,$Q$和积极匹配PM的个数成正比,$Q$越大越好。在计算这个指标时,相关图像在最后返回的排序结果中,不管位置在哪儿,都会被计入$Q$中,但是不相关图像必须是排名靠前的$K$幅图像。

影响图像之间最终相似度的,除了PM和NM的个数,每个PM和NM的匹配得分也会对结果产生影响。$P$用来评估查询图像特征匹配的质量评分,具体公式为

$ P = \frac{1}{N}\sum\limits_{i = 1}^K {{P_i}} $ (9)

式中,$N$是查询图像的个数,而$P_i$是第$i$幅查询图像的质量评分,具体定义为

$ {P_i} = \frac{{\sum\limits_{j = 1}^K {n_{i,j}^ + \bar M_{i,j}^ + } }}{{\sum\limits_{j = 1}^K {n_{i,j}^ + \bar M_{i,j}^ + } + \sum\limits_{j = 1}^K {n_{i,j}^ - \bar M_{i,j}^ - } }} $ (10)

式中,$K$是和第$i$幅查询图像相关的图像个数,同计算质量评分类似,选取$K$个相关图像作为正样本,选取排序靠前的$K$个不相关图像作为负样本。$n_{i, j}^ + $是第$j$个正样本中积极匹配PM的个数,$M_{i, j}^- $是第$j$个正样本中积极匹配PM的平均匹配得分,$n_{i, j}^- $$M_{i, j}^- $是第$j$个负样本中NM的个数和平均匹配得分。从式(10)可以看出,0≤$P$≤1。$P$和积极匹配PM的匹配得分成正比。这个指标显示了积极匹配PM的匹配得分所占比例。当$P$增大时,表示积极匹配PM的得分增加了,而对应地消极匹配NM的得分减少了。

图 4是每个数据集中查询图像数量评分的分布图。横坐标是数量评分的区间,对应的纵坐标是数量评分落在该区间的查询图像所占的比例。实线是静态匹配核函数下数量评分$Q_i$的分布情况,虚线是动态匹配核函数下数量评分$Q_i$的分布情况。比如在DupImage数据集中,当采用静态匹配核函数时,有30%的查询图像,其数量评分$Q_i$落在区间0.35 0.4之间。若采用动态匹配核函数,数量评分$Q_i$落在这个区间的查询图像数量为0。从图 4可以看出,当采用静态匹配核函数时,这几个数据集上的数量评分集中在0.3 0.6之间。说明在使用静态匹配核函数时,很多查询图像与其对应的相关图像之间的积极匹配PM的数量等于甚至少于不相关图像之间的消极匹配NM的数量。在使用了动态阈值的情况下,曲线整体右移,而数量评分分布也集中在0.8 1.0之间,这说明动态阈值增加了积极匹配的比例。

图 4 数量评分分布图
Fig. 4 Quantity score distribution chart

图 5统计了质量评分$P_i$在3个数据集上的分布情况。例如对于DupImage数据集,在采用静态匹配核函数时,$P_i$落在区间0.750.8的占比为30%。当换为动态匹配核函数时,DupImage数据集上面,查询图像中$P_i$落在该区间的占比下降到0。从图 5可以看出,采用静态匹配核函数时,DupImage数据集和Paris6K数据集上面,查询图像的$P_i$大多都分布在0.7 1.0之间。在采用动态匹配核函数时,近乎100%地分布在0.95 1.0之间。说明本文提出的动态匹配核函数在这两个数据集上,有效地扩大了积极匹配和消极匹配之间的匹配得分相对差距。在Holidays数据集上面,使用静态匹配核函数时,有很多查询图像质量评分$P_i$分布在低分区域,在替换为动态匹配核函数后,仍有少部分查询图像的质量评分分布在低分区域,大多数都集中在了0.95 1.0区间。整体来看,动态匹配核函数质量评分的分布曲线较之于静态匹配核函数,更加集中在高分区域,即0.95 1.0之间。说明本文提出的动态匹配核函数,有效地扩大了积极匹配PM和消极匹配NM之间匹配得分的相对差距。

图 5 质量评分分布图
Fig. 5 Quality score distribution chart

本文提出的两个评价指标,分别从特征匹配对的数量和质量上分析图像搜索的表现,在更深的层次解释最后的实验结果为什么会得以提升。这两个指标也可以用来作为评价以提升特征量化和特征匹配为目标的同类工作的标准。

2 实验结果与分析

2.1 数据集介绍

本文在Holidays[2]、UKBench[13]、Oxford5K[15]、Paris6K[14]以及DupImage[16]这5个公开数据集上测试了动态匹配核函数,进行对比实验,下面将对这些数据集做一些介绍:

1) Holidays数据集。该数据集一共有1 491幅图像,都是私人旅游照。图像共来自500个场景,对于每个场景包含213幅图像不等,每个描述同一场景的图像拍摄的角度、光照以及远近都不同。这些图像根据场景共分为500个组,平均每组包含3幅图像。每组的第1幅图像作为查询图像,余下的作为数据集图像。

2) UKBench数据集。该数据集一共有10 200幅图像,分为2 550组,每组图像包含4幅图像,和上面的Holidays数据集一样,这些图像拍摄的光照、角度以及远近不同。每张图像的大小为640×480像素,这些图像描述的既有物体也有场景。在查询阶段,所有这10 200幅图像都会被作为查询图像,而与之相关的图像都是同一组的图像。

3) Oxford5K数据集。这个数据集包含5 063幅图像,来自17个关键字。Philbin等人[15]用17个和牛津相关的关键词在Flickr上检索相关的建筑物,共有11种建筑物被检索。对于每一种建筑物,有5幅查询图像,因此一共有55幅查询图像。

4) Paris6K数据集。该数据集和前面所提到的Oxford5K数据集一样,是Philbin等人[14]通过在Flickr上检索关键字,搜集到的有关巴黎地标建筑物的图像。该数据集共有6 412幅图像,但是因为损坏,实际可用的有6 392幅。同Oxford5K一样这个数据集里边的每幅图像都拥有一个标签。该数据集也有11种相关建筑物,每种建筑物有5幅查询图像,共计55幅查询图像。

5) DupImage数据集。这个数据集含有1 104幅图像,描述33种物体或者logo,例如Google、苹果的logo。数据集中图像与图像之间或整体相似,或一部分相似。比如一张图中苹果的logo占据了整幅图像,而另一张图中,这个logo只在一个物体上,例如在一台放在办公桌上的MAC电脑上。这个数据集中,有108幅图像作为查询图像。

需要注意的是,上述数据集中,有些数据集图像尺寸过大,因此本文约束图像大小不超过1 024 × 768像素,如果大于该尺寸,就对图像进行缩放,将尺寸降到1 024×768像素或以下。

2.2 实验细节设置

对于检索结果的好坏,本文使用平均正确平均率(mAP)来统计。

式(6)中用来调节阈值幅度大小的参数为$\lambda $图 6反映在Holidays、Paris6K和DupImage数据集上,不同的$\lambda $对最后搜索结果的影响,从图 6中可以看出,当$\lambda $ < 0.5时,结果随着$\lambda $的增大迅速提升。这是因为当$\lambda $ < 0.5时,$\lambda $过小,所以根据式(6)得出的阈值也会过小,匹配条件太过严苛,导致非常少的局部特征匹配成功,所以最后的搜索结果较差。纵观全图,在$\lambda $=0.6左右获得最好的搜索结果,当$\lambda $过大就会使得搜索结果的mAP下降。这是因为阈值过大,失去了过滤作用。在文章剩余实验中,本文均采用$\lambda $ = 0.6作为默认参数。

图 6 参数$\lambda $对搜索结果的影响
Fig. 6 Effect of parameter $\lambda $ on search results

提取局部特征中,基于BoW模型的图像检索,利用检测算法从数据库图片中检测关键点,然后在这些关键点提取局部特征,例如SIFT、ColorNames、HOG等。在提取了局部特征之后,根据相似的局部特征构建一个视觉词典(visual vocabulary)[12, 15],通常使用聚类算法来产生这个词典,如K-means[18]。为了防止产生的词典发生过拟合的情况,一般训练词典用的局部特征来自其他不同于测试用的独立数据集,如Flickr60K[2]。此时已经有了视觉词典以及数据集图片的局部特征,就此构建倒排索引表。对于每一个局部特征$x_i$,在视觉词典中寻找离其最近的视觉单词$v_j$,然后将该局部特征$x_i$利用二值化算法二值化为汉明编码$b_i$,存入该视觉单词所在的表项,一起存入的还有图像的ID以及该局部特征$x_i$在图像中的TF值。构建倒排索引表之后进行图像查询。对于一张查询图像,首先按照上面的流程提取局部特征,然后计算离其最近的一个或多个视觉单词。对于这些视觉单词对应的表项中的局部特征,一一比对并计算匹配得分。最后计算查询图像和每一幅图像的相似度并根据相似度由大到小排序,返回图像。

以上就是基于BoW模型图像检索的基本流程。其他研究工作在一些步骤上有不同之处,例如文献[19]使用了双索引来构建倒排索引表,文献[20]使用贝叶斯原理合并两个不同的词典中的表项,文献[21-22]利用语义特征,删除同一表项中语义独立的图像,而对语义距离接近的却在某一表项中遗失的图像,则添加回去,以此来利用语义特征增强图像检索。

2.3 方法对比

2.3.1 实验结果

表 1中是结合不同的方法在5个公共数据集上产生的实验结果,方法包括MA即多匹配、Agg即特征聚合、Dyn即本文提出的动态匹配核函数。其中N-S得分专用于Ukbench数据集,它是以David Nistér和Henrik Stewénius的名字来命名的。N-S得分等价于精准度或者召回率,因为在Ukbench数据集中的每个查询在数据库中都有4个正确的匹配项。N-S得分用总排名列表中前四中的真实匹配的平均数量来计算。

表 1 5个公共数据集上的实验结果
Table 1 Experimental results on five common datasets

下载CSV
MA Agg Dyn N-S mAP/%
UKBench Holidays UKBench Paris6K Oxford5K DupImage
3.36 75.91 86.66 67.96 73.71 83.04
3.50 82.40 90.0 76.27 74.54 85.83
3.42 79.16 87.93 74.38 75.85 89.38
3.48 82.98 89.66 78.51 76.54 89.43
3.39 73.44 87.62 68.75 76.15 72.97
3.59 84.04 92.22 79.31 77.87 82.36
3.53 79.72 90.44 77.02 80.40 86.14
3.82 89.41 97.10 83.20 83.05 88.92
注:√表示使用了该列对应的方法,加粗字体表示最佳结果。

表 1可以看出,在不使用其他方法的情况下,只采用本文提出的动态匹配核函数,几个数据集上的检索结果均有所提升。特别是在Holidays数据集和Paris6K数据集上,其提升幅度较大。当仅使用特征聚合方法,可以看出本文方法在大多数数据集上对结果的提升要好于特征聚合和多匹配。

对比表 1第2到第4行的结果可以看出,本文方法和特征聚合[3]是兼容的。在除UKBench之外的数据集上,这两种方法的结合结果均好于只使用其中一种的结果。这是因为在UKBench这个数据集上,特征聚合虽然消除了特征突发性,但是忽略了局部特征的独立性。同一图中属于同一视觉单词的局部特征,如果不聚合,其生成的汉明码是不一样的,所以动态匹配核函数会具体处理这些不同的局部特征。而聚合后的特征仅仅只用一个汉明码替代所有这些局部特征,忽略了局部特征的独立性,所以两者结合结果会下降。对比表 1第5行、第6行可以看出,本文方法和多匹配技术是相互兼容的。除了DupImage数据集,在其他几个数据集上,多匹配和动态匹配核函数均能很好地提升实验结果。对比表 1最后1行和上面各行,可以看出结合这几种方法,实验结果在这几个数据集上都大幅提升。这说明本文方法和其他两种方法很好地兼容,可以作为图像检索的一个可移植部件,有助于提升图像检索的实验结果。

最后,使用图重排序算法(graph-based ranking)[23]对最后的检索结果进行重排序。该算法基于所有的排序结果构建一个无向加权图,其中边的权重是根据Jaccard系数产生的,最后通过最大化权重密度[27]来进行重排序。

经过重排序后,本文结果进一步提升,表 2是重排序前后实验结果的对比。需要注意的是,在本文方法中,除了SIFT局部特征以及深度学习特征之外,并未使用其他任何别的特征。从表 2可知,图重排序算法在所有数据集上都提升了检索结果。

表 2 利用图重排序算法对原始结果重排序
Table 2 Reordering results using graph reordering

下载CSV
N-S mAP/%
UKBench Holidays UKBench Paris6K Oxford5K DupImage
原始结果 3.82 89.41 97.10 83.20 83.05 89.92
重排序结果 3.89 92.13 98.08 86.49 85.11 90.58

2.3.2 基于深度学习方法结果对比

表 3是本文方法与目前基于深度学习特征的方法对比。各种特征聚合方法将原来从图像各处提取的深度学习特征,或者底层深度学习特征聚合为一个全局特征,而其中有些工作使用的网络模型是经过参数微调,或者训练和测试数据使用相同的图片,最后基于这个全局特征进行图像检索。本文方法中仅使用现有的网络模型,提取倒数第2层全连接层作为语义特征,不用聚合多处特征。

表 3 基于深度学习的图像检索结果对比
Table 3 Comparison of image search results based on deep learning

下载CSV
方法 N-S mAP/%
UKBench Holidays Paris6K Oxford5K
文献[23] - 84.0 69.4 64.9
文献[24] 3.55 78.9 - 55.7
文献[25] 3.76 79.3 - 56.5
文献[26] 3.84 88.0 - -
文献[27] - 80.2 - -
文献[28] - 84.3 79.5 68.0
文献[29] 3.65 80.2 - 65.7
文献[30] 3.65 85.7 81.2 -
文献[31] - 89.7 85.3 84.4
文献[32] - 79.5 82.4 79.7
本文 3.89 92.13 86.49 85.11
注:加粗字体表示最佳结果, “-”表示未使用该数据集。

文献[24]中使用卷积层的特征图谱(feature map)作为特征,文献[25]使用全局特征作为语义特征。其他对比方法类似都是通过深度学习方式得到的特征或者与索引特征进行组合。从表 3可以看出本文方法相比各种深度学习特征提取方法具有一定优势。不同的是,本文方法使用特征用于构建动态匹配内核,而不是粗略编码进行相似性匹配,因此能在所有数据集上获得更好的性能。

3 结论

本文对基于词袋模型的图像检索框架作出了改进,提出了动态匹配核函数,从局部特征匹配的数量和质量出发,提升相关图像的匹配相似度。具体来说,通过对词袋模型中匹配核函数的分析,提出了动态阈值来增加积极匹配的数量在查询时的占比。若两张图片相关,则使其匹配阈值在所有图像对之间来说相对较大,这样就会有更多的积极匹配产生。如果两幅图像是不相关的,那么使得其匹配阈值在所有图像对之间来说相对较小,以此抑制消极匹配的产生。而对于影响图像对相似度的另一个方面,即局部特征的匹配得分,通过动态指数权重项来增强积极匹配的相对得分。因为局部特征的基础匹配得分在0 1之间,因此对于相关图像之间,尽量使其指数项较小,使得其基础匹配得分衰减较慢,而不相关图像对之间,尽量使指数权重项较大,使得其基础匹配得分衰减更快。这样最后计算图像对相似度时,相关图像的相似度就会相对增大。另外,提出了两个评价指标,可以用来衡量图像检索中局部特征匹配的好坏,即局部特征匹配的数量评价指标$Q$和质量评价指标$P$,并从更深方面解释了本文方法之所以会有效的原因。

本文方法在计算动态匹配核函数参数时,使用的语义特征是从AlexNet[12]提取得来的。深度学习发展到现在,已经有很多更好的网络结构被提了出来,例如ResNet。本文工作的发展方向应为使用更为复杂的卷积神经网络提取语义特征,以提升实验结果。随着深度学习在图像处理方面体现出越来越大的优势,其在提取图像特征方面具有很大的潜力,因此借用深度卷积神经网络较为底层的特征作为局部特征,利用词袋模型进行图像检索,较传统方法而言具有一定优势。

参考文献

  • [1] Kang X D. Image Processing of Medical Imageology[M]. Beijing: People's Medical Publishing House, 2009. [ 康晓东. 医学影像图像处理[M]. 北京: 人民卫生出版社, 2009.]
  • [2] Jégou H, Douze M, Schmid C. Hamming embedding and weak geometric consistency for large scale image search[C]//Proceedings of the 10th European Conference on Computer Vision. Marseille: Springer, 2008: 304-317.[DOI: 10.1007/978-3-540-88682-2_24]
  • [3] Tolias G, Avrithis Y, Jégou H. To aggregate or not to aggregate: selective match kernels for image search[C]//Proceedings of 2013 IEEE International Conference on Computer Vision. Sydney: IEEE, 2013: 1401-1408.[DOI: 10.1109/ICCV.2013.177]
  • [4] Kang X D, Wang H, Guo J, et al. Unsupervised deep learning method for color image recognition[J]. Computer Application, 2015, 35(9): 2636–2639. [康晓东, 王昊, 郭军, 等. 无监督深度学习彩色图像识别方法[J]. 计算机应用, 2015, 35(9): 2636–2639. ] [DOI:10.11772/j.issn.1001-9081.2015.09.2636]
  • [5] Lazebnik S, Schmid C, Ponce J. Beyond bags of features: spatial pyramid matching for recognizing natural scene categories[C]//Proceedings of 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2006: 2169-2178.[DOI: 10.1109/CVPR.2006.68]
  • [6] Douze M, Ramisa A, Schmid C. Combining attributes and Fisher vectors for efficient image retrieval[C]//Proceedings of CVPR 2011. Colorado Springs: IEEE, 2011: 745-752.[DOI: 10.1109/CVPR.2011.5995595]
  • [7] Jégou H, Perronnin F, Douze M, et al. Aggregating local image descriptors into compact codes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(9): 1704–1716. [DOI:10.1109/TPAMI.2011.235]
  • [8] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe: ACM, 2012: 1097-1105.
  • [9] Mikolajczyk K, Schmid C. Scale & affine invariant interest point detectors[J]. International Journal of Computer Vision, 2004, 60(1): 63–86. [DOI:10.1023/B:VISI.0000027790.02288.f2]
  • [10] Matas J, Chum O, Urban M, et al. Robust wide-baseline stereo from maximally stable extremal regions[J]. Image and Vision Computing, 2004, 22(10): 761–767. [DOI:10.1016/j.imavis.2004.02.006]
  • [11] Liu Z, Li H Q, Zhou W G, et al. Uniting keypoints:local visual information fusion for large-scale image search[J]. IEEE Transactions on Multimedia, 2015, 17(4): 538–548. [DOI:10.1109/TMM.2015.2399851]
  • [12] Nister D, Stewenius H. Scalable recognition with a vocabulary tree[C]//Proceedings of 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2006: 2161-2168.[DOI: 10.1109/CVPR.2006.264]
  • [13] Yang J C, Yu K, Gong Y H, et al. Linear spatial pyramid matching using sparse coding for image classification[C]//Proceedings of 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami: IEEE, 2009: 1794-1801.[DOI: 10.1109/CVPR.2009.5206757]
  • [14] Philbin J, Chum O, Isard M, et al. Lost in quantization: improving particular object retrieval in large scale image databases[C]//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage: IEEE, 2008: 1-8.[DOI: 10.1109/CVPR.2008.4587635]
  • [15] Philbin J, Chum O, Isard M, et al. Object retrieval with large vocabularies and fast spatial matching[C]//Proceedings of 2007 IEEE Conference on Computer Vision and Pattern Recognition. Minneapolis: IEEE, 2007: 1-8.[DOI: 10.1109/CVPR.2007.383172]
  • [16] Zhou W G, Li H Q, Lu Y J, et al. SIFT match verification by geometric coding for large-scale partial-duplicate web image search[J]. ACM Transactions on Multimedia Computing, Communications, and Applications, 2013, 9(1): #4. [DOI:10.1145/2422956.2422960]
  • [17] Deng J, Dong W, Socher R, et al. ImageNet: a large-scale hierarchical image database[C]//Proceedings of 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami: IEEE, 2009: 248-255.[DOI: 10.1109/CVPR.2009.5206848]
  • [18] Aly M, Munich M, Perona P. Indexing in large scale image collections: scaling properties and benchmark[C]//Proceedings of 2011 IEEE Workshop on Applications of Computer Vision. Kona: IEEE, 2011: 418-425.[DOI: 10.1109/WACV.2011.5711534]
  • [19] Zheng L, Wang S J, Liu Z Q, et al. Packing and padding: coupled multi-index for accurate image retrieval[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 1947-1954.[DOI: 10.1109/CVPR.2014.250]
  • [20] Zheng L, Wang S J, Zhou W G, et al. Bayes merging of multiple vocabularies for scalable image retrieval[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 1963-1970.[DOI: 10.1109/CVPR.2014.252]
  • [21] Zhang S L, Yang M, Wang X Y, et al. Semantic-aware co-indexing for image retrieval[C]//Proceedings of 2013 IEEE International Conference on Computer Vision. Sydney: IEEE, 2013: 1673-1680.[DOI: 10.1109/ICCV.2013.210]
  • [22] Zhang S T, Yang M, Cour T, et al. Query specific fusion for image retrieval[C]//Proceedings of the 12th European Conference on Computer Vision. Florence: Springer-Verlag, 2012: 660-673.[DOI: 10.1007/978-3-642-33709-3_47]
  • [23] Yue-Hei Ng J, Yang F, Davis L S. Exploiting local features from deep networks for image retrieval[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Boston: IEEE, 2015: 53-61.[DOI: 10.1109/CVPRW.2015.7301272]
  • [24] Babenko A, Slesarev A, Chigorin A, et al. Neural codes for image retrieval[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich: Springer, 2014: 584-599.[DOI: 10.1007/978-3-319-10590-1_38]
  • [25] Paulin M, Douze M, Harchaoui Z, et al. Local convolutional features with unsupervised training for image retrieval[C]//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015: 91-99.[DOI: 10.1109/ICCV.2015.19]
  • [26] Zheng L, Wang S J, Tian L, et al. Query-adaptive late fusion for image search and person re-identification[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 1741-1750.[DOI: 10.1109/CVPR.2015.7298783]
  • [27] Gong Y C, Wang L W, Guo R Q, et al. Multi-scale orderless pooling of deep convolutional activation features[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich: Springer, 2014: 392-407.[DOI: 10.1007/978-3-319-10584-0_26]
  • [28] Razavian A S, Azizpour H, Sullivan J, et al. CNN features off-the-shelf: an astounding baseline for recognition[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Columbus: IEEE, 2014: 512-519.[DOI: 10.1109/CVPRW.2014.131]
  • [29] Yandex A B, Lempitsky V. Aggregating local deep features for image retrieval[C]//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015: 1269-1277.[DOI: 10.1109/ICCV.2015.150]
  • [30] Liu Y, Guo Y M, Wu S, et al. Deepindex for accurate and efficient image retrieval[C]//Proceedings of the 5th ACM on International Conference on Multimedia Retrieval. Shanghai: ACM, 2015: 43-50.[DOI: 10.1145/2671188.2749300]
  • [31] Razavian A S, Sullivan J, Carlsson S, et al. Visual instance retrieval with deep convolutional networks[J]. arXiv: 1412.6574, 2014.
  • [32] Radenović F, Tolias G, Chum O. CNN image retrieval learns from bow: unsupervised fine-tuning with hard examples[C]//Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016: 3-20.[DOI: 10.1007/978-3-319-46448-0_1]