当前位置: 首页 > ds >正文

(ICCV-2021)DOLG:通过局部和全局特征的深度正交融合实现单阶段图像检索

DOLG:通过局部和全局特征的深度正交融合实现单阶段图像检索

paper title:DOLG: Single-Stage Image Retrieval with Deep Orthogonal Fusion of
Local and Global Features

paper是百度发表在ICCV 2021的工作

Code:链接

Abstract

图像检索是一项基础任务,其目标是从数据库中获取与查询图像相似的图像。常见的图像检索实践是首先使用全局图像特征进行相似性搜索以检索候选图像,然后再利用它们的局部特征对候选集进行重新排序。以往基于学习的研究主要集中于全局或局部图像表示学习来解决检索任务。本文摒弃了这种两阶段范式,转而寻求通过将图像中的局部和全局信息融合到紧凑的图像表示中来设计一种有效的单阶段解决方案。具体而言,我们提出了一种深度正交局部与全局(Deep Orthogonal Local and Global,DOLG)信息融合框架,用于端到端的图像检索。该框架首先通过多空洞卷积和自注意力机制有选择地提取具有代表性的局部信息;然后从局部信息中提取与全局图像表示正交的成分;最后,将这些正交成分与全局表示拼接作为互补特征,并进行聚合以生成最终表示。整个框架是端到端可微分的,可以使用图像级标签进行训练。大量的实验结果验证了我们方法的有效性,并表明我们的模型在 Revisited Oxford 和 Paris 数据集上实现了当前最先进的图像检索性能。

1. Introduction

图像检索是计算机视觉中的一项重要任务,其主要目的是从大规模数据库中找出与查询图像相似的图像。该问题已经通过设计各种手工特征[25, 6, 50]得到了广泛研究。由于深度学习技术的发展,近年来取得了巨大进展[1, 29, 37, 9]。图像的表示(也称为描述符),用于编码图像内容并衡量其相似性,在该任务中起着核心作用。在基于学习的解决方案的文献中,主要探索了两类图像表示。一类是全局特征[4, 3, 44, 1],它作为高级语义图像签名;另一类是局部特征[5, 36, 29, 18],它能够包含关于特定图像区域的判别性几何信息。一般而言,全局特征可以学习到对视角和光照的不变性,而局部特征对局部几何和纹理更敏感。因此,以往的最新解决方案[38, 29, 9]通常采用两阶段范式。如图1(a)所示,首先通过全局特征以高召回率检索候选图像,然后利用局部特征进行重排序以进一步提高精度。

图1

图1:当前两阶段与我们单阶段图像检索的示意图。以往的方法(a)首先通过全局深度表示从数据库中获取与查询相似的候选图像,然后提取局部描述符进行重排序。我们的方法(b)通过正交融合聚合全局与局部特征以生成最终的紧凑描述符,然后执行一次性的相似性搜索。

在本文中,我们同样专注于基于深度网络的图像检索领域。尽管此前的两阶段方案已经取得了最先进的性能,但它们需要对图像进行两次排序,并且第二次重排序阶段是通过代价高昂的RANSAC[13]或AMSK[42]进行局部特征的空间验证。更重要的是,两阶段中不可避免地都存在错误。两阶段方案容易遭受错误累积的问题,这可能成为进一步提升性能的瓶颈。为缓解这些问题,我们放弃了两阶段框架,尝试寻找一种有效的统一单阶段图像检索方案,如图1(b)所示。以往的经验表明,全局特征和局部特征是图像检索中互补且必不可少的元素。直观上,将局部特征和全局特征融合为一个紧凑的描述符可以实现我们的目标。一种令人满意的局部与全局融合方案能够利用这两类特征相互促进,从而实现单阶段检索。此外,还能避免错误累积。因此,我们在技术上回答了如何设计一种有效的全局与局部融合机制,用于端到端的单阶段图像检索。

具体而言,我们提出了一种深度正交局部与全局特征融合模型(DOLG)。它包含一个局部分支和一个全局分支,用于联合学习两类特征,并通过一个正交融合模块将它们结合。具体来说,从局部特征中分解出与全局特征正交的局部成分。随后,将这些正交成分与全局特征进行拼接作为互补部分,最终聚合成一个紧凑的描述符。通过正交融合,能够提取最关键的局部信息,同时消除与全局信息冗余的部分,从而使局部和全局成分相互增强,产生最终具有目标导向训练的代表性描述符。为增强局部特征学习,受到先前研究经验的启发,我们在局部分支中引入了多空洞卷积[10]和自注意力[29]机制,以有选择性地提取具有代表性的局部特征。我们的思路与FP-Net[31]在正交特征空间学习方面类似,但DOLG旨在在正交空间中实现特征的互补融合。我们在Revisited Oxford和Paris[32]上的大量实验表明了该框架的有效性。DOLG在这两个数据集上均取得了最新的最优性能。

总结如下,我们的主要贡献包括:

  • 我们提出了一种在单阶段范式下进行图像检索的新颖正交全局与局部特征融合框架,该框架能够生成紧凑且具有代表性的图像描述符,并且是端到端可学习的。
  • 为了有选择性地提取判别性的局部特征,我们设计了一个由多空洞卷积层和自注意力模块组成的局部分支。
  • 我们进行了大量实验并提供了全面分析,以验证我们方案的有效性。我们的单阶段方法显著优于此前的两阶段最优方案。

2. Related Work

2.1. Local feature


在深度学习出现之前,SIFT[25]和SURF[6]是两种广为人知的手工设计局部特征。通常,这类局部特征会与KD树[7]、词汇树[28]结合,或通过[49, 22]等聚合方法进行编码,用于(近似)最近邻搜索。通过RANSAC[13]匹配局部特征来对候选检索结果进行空间验证与重排序[2, 30]也被证明能够显著提升精度。近年来,受深度学习发展的推动,从图像中学习局部特征的研究取得了显著进展,例如[48, 16, 15, 5, 36, 29, 18]。关于深度局部特征学习的全面综述可参考[51, 12]。在这些方法中,最先进的局部特征学习框架DELF[29],提出了一种适用于大规模图像检索的注意力局部特征描述符,与我们的工作密切相关。我们局部分支的一个设计选择——注意力特征提取,就受到其优点的启发。然而,DELF仅使用单尺度特征图,并忽略了自然图像中存在的多种目标尺度。我们的局部分支通过多空洞卷积层[10]来模拟SIFT[25]中使用的图像金字塔技巧。

2.2. Global feature


传统的解决方案通过聚合局部特征来获得全局特征,例如BoW[39, 33]、Fisher向量[24]或VLAD[23]。之后,聚合选择匹配核(ASMK)[42]尝试将基于聚合的技术与基于匹配的方法(如Hamming Embedding[21])统一起来。在深度学习时代,全局特征则通过可微分的聚合操作获得,如sum-pooling[43]和GeM pooling[34]。为了训练深度CNN模型,提出了基于排序的triplet[8]、quadruplet[11]、angular[46]和listwise[35]损失,或基于分类的损失[45, 14]。有了这些创新,如今大多数性能优异的全局特征都是通过深度CNN获得的,用于图像检索[4, 3, 44, 1, 17, 34, 35, 29, 27, 9]。在我们的工作中,我们借鉴了先前研究的经验,在训练阶段使用ArcFace损失[14],并探索不同的池化方式以提升性能。我们的模型同样生成一个紧凑的描述符,同时明确地考虑以正交方式融合局部和全局特征。

2.3. Joint local and global CNN features


将局部特征和全局特征联合考虑是很自然的,因为图像表示模型的特征图可以被解释为局部视觉词[38, 40]。联合学习局部匹配和全局表示可能对双方都有益处。因此,[37]提出将预训练的局部特征[15]和全局特征[1]蒸馏到一个紧凑的描述符中。DELG[9]更进一步,提出以端到端的方式联合训练局部和全局特征。然而,DELG仍然采用两阶段的方式。我们的工作与[29, 9]本质上不同,我们提出了正交的全局与局部融合,以实现准确的单阶段图像检索。

3. Methodology

3.1. Overview


图2

图2:我们深度正交局部与全局(DOLG)信息融合框架的框图。以ResNet[19]为例,我们在Res3之后构建了一个局部分支和一个全局分支。局部分支使用多空洞卷积层来模拟空间金字塔,以考虑图像之间的尺度变化。借鉴现有工作[29, 9]的经验,使用自注意力进行重要性建模。全局分支生成一个描述符,并与局部特征一起输入到正交融合模块中,以将两类特征整合为一个最终的紧凑描述符。“P”、“C”和“X”分别表示池化、拼接和逐元素乘法。

我们的DOLG框架如图2所示。遵循[29, 9],它建立在最先进的图像识别模型ResNet[19]之上。全局分支保持与原始ResNet相同,只是:1)将全局平均池化替换为GeM池化[34];2)在生成全局表示fg∈RC×1f_g \in R^{C \times 1}fgRC×1时使用全连接层来降低特征维度。具体来说,设Res4的输出特征图为f4∈RC4×h×wf_4 \in R^{C_4 \times h \times w}f4RC4×h×w,则GeM池化可以形式化为:

fg,c=(1hw∑(i,j)f4,(c,i,j)p)1/p,c=1,2,…,C4f_{g,c} = \left( \frac{1}{hw} \sum_{(i,j)} f_{4,(c,i,j)}^p \right)^{1/p}, \quad c=1,2,\ldots,C_4 fg,c=hw1(i,j)f4,(c,i,j)p1/p,c=1,2,,C4

其中p>0p > 0p>0是一个超参数,当p>1p > 1p>1时,输出会更加关注显著的特征点。在本文中,我们遵循DELG[9]的设置,经验上将其设为3.0。

为了联合提取局部描述符,一个局部分支被附加在ResNet的Res3块之后。我们的局部分支由多个空洞卷积层[10]和一个自注意力模块组成。然后,设计了一个新颖的正交融合模块,用于聚合全局特征fgf_gfg和由局部分支获得的局部特征张量fl∈RC×H×Wf_l \in R^{C \times H \times W}flRC×H×W。经过正交融合后,生成了一个最终的紧凑描述符,在其中局部与全局信息得到了良好整合。

3.2. Local Branch


图3

图3:我们的局部分支配置。“Ds, c, k”表示扩张率为s、输出通道数为c、卷积核大小为k的空洞卷积;“C, c, k”表示标准卷积。“R”、“B”和“S”分别表示ReLU、BN和Softplus。

我们的局部分支由两个主要构建模块组成:多空洞卷积层和自注意力模块。前者用于模拟特征金字塔,以处理不同图像实例之间的尺度变化;后者用于执行重要性建模。该分支的详细网络配置如图3所示。多空洞模块包含三个空洞卷积层,用于获取具有不同空间感受野的特征图,以及一个全局平均池化分支。这些特征被拼接后再通过一个1×1卷积层处理。输出的特征图随后被送入自注意力模块,以进一步建模每个局部特征点的重要性。具体来说,其输入首先通过一个1×1卷积-批归一化模块(conv-bn)处理,随后生成的特征会被归一化,并由一个通过1×1卷积层和SoftPlus操作生成的注意力图进行调制。

3.3. Orthogonal Fusion Module


图4

我们的正交融合模块的工作流程如图4a所示。它以flf_lflfgf_gfg作为输入,然后计算每个局部特征点fl(i,j)f_l^{(i,j)}fl(i,j)在全局特征fgf_gfg上的投影fl,proj(i,j)f_{l,proj}^{(i,j)}fl,proj(i,j)。数学上,投影可以形式化为:

fl,proj(i,j)=fl(i,j)⋅fg∣fg∣2fg,(2)f_{l,proj}^{(i,j)} = \frac{f_l^{(i,j)} \cdot f_g}{|f_g|^2} f_g, \tag{2} fl,proj(i,j)=fg2fl(i,j)fgfg,(2)

其中fl(i,j)⋅fgf_l^{(i,j)} \cdot f_gfl(i,j)fg是点积操作,∣fg∣2|f_g|^2fg2fgf_gfgL2L_2L2范数:

fl(i,j)⋅fg=∑c=1Cfl,c(i,j)fg,c,(3)f_l^{(i,j)} \cdot f_g = \sum_{c=1}^C f_{l,c}^{(i,j)} f_{g,c}, \tag{3} fl(i,j)fg=c=1Cfl,c(i,j)fg,c,(3)

∣fg∣2=∑c=1C(fg,c)2.(4)|f_g|^2 = \sum_{c=1}^C (f_{g,c})^2. \tag{4} fg2=c=1C(fg,c)2.(4)

如图4b所示,正交分量是局部特征与其投影向量之间的差值,因此我们可以得到相对于fgf_gfg的正交分量:

fl,orthi,j=fl(i,j)−fl,proj(i,j).(5)f_{l,orth}^{i,j} = f_l^{(i,j)} - f_{l,proj}^{(i,j)}. \tag{5} fl,orthi,j=fl(i,j)fl,proj(i,j).(5)

通过这种方式,可以提取一个C×H×WC \times H \times WC×H×W的张量,其中每个点都与fgf_gfg正交。随后,我们将该张量的每个点与C×1C \times 1C×1向量fgf_gfg拼接,然后将新张量聚合为一个Co×1C_o \times 1Co×1的向量。最后,使用全连接层生成一个512×1512 \times 1512×1的描述符。通常情况下,CCC在ResNet[19]中等于1024。在这里,我们简单地利用池化功能来聚合拼接后的张量,也就是说,图4a中的“A”表示的是我们当前实现中的池化操作。实际上,它也可以设计为其他可学习的模块来聚合张量。我们将在第4节和第5节对其进行进一步分析。

3.4. Training Objective


遵循DELG[9],我们的训练方法仅涉及一个L2L_2L2归一化的NNN类预测头W^∈R512×N\hat{W} \in R^{512 \times N}W^R512×N,并且只需要图像级标签。整个网络的训练采用ArcFace边距损失[14]:

L=−log⁡(exp⁡(γ×AF(ω^tTf^g,1))∑nexp⁡(γ×AF(ω^nTf^g,yn))),(6)L = -\log \left( \frac{\exp \left( \gamma \times AF(\hat{\omega}_t^T \hat{f}_g, 1) \right)} {\sum_n \exp \left( \gamma \times AF(\hat{\omega}_n^T \hat{f}_g, y_n) \right)} \right), \tag{6} L=lognexp(γ×AF(ω^nTf^g,yn))exp(γ×AF(ω^tTf^g,1)),(6)

其中ω^i\hat{\omega}_iω^i表示W^\hat{W}W^的第iii行,f^g\hat{f}_gf^gfgf_gfgL2L_2L2归一化版本。yyy是one-hot标签向量,ttt是真实类别索引(yt=1y_t = 1yt=1)。γ\gammaγ是一个缩放因子。AFAFAF表示ArcFace调整过的余弦相似度,其计算方式为:

AF(s,c)={cos⁡(acos⁡(s)+m),if c=1s,if c=0(7)AF(s, c) = \begin{cases} \cos(a \cos(s) + m), & \text{if } c = 1 \\ s, & \text{if } c = 0 \end{cases} \tag{7} AF(s,c)={cos(acos(s)+m),s,if c=1if c=0(7)

其中sss是余弦相似度,mmm是ArcFace边距,c=1c=1c=1表示这是正确的真实类别。

http://www.xdnf.cn/news/19935.html

相关文章:

  • 5.渗透-.DOS命令(文件操作)
  • WIFI协议全解析08:WiFi连接背后的握手过程,你的设备是如何“入网”的
  • 【LeetCode牛客数据结构】单链表的应用
  • 每秒扛住10万请求?RedissonRateLimiter 分布式限流器详解
  • (五)Python控制结构(循环结构)
  • C++学习——继承
  • 刷题日记0902
  • 一年级这样排座位,家长超满意!
  • 互联网大厂求职面试记:谢飞机的搞笑答辩
  • 零知开源——STM32红外通信YS-IRTM红外编解码器集成灯控与显示系统
  • 科学研究系统性思维的方法体系:数据分析方法
  • 海康摄像头开发---标准配置结构体(NET_DVR_STD_CONFIG)
  • AI任务相关解决方案13-AI智能体架构方案(意图识别+多任务规划+MCP+RAG)与关键技术深度解析研究报告,以及实现代码
  • CentOS 7/8 单用户模式重置 root 密码完整流程
  • Shell 秘典(卷七)—— 流刃裁文秘术・sed 玄章精解
  • Shell文本处理四剑客
  • 在 Qt 的 .pro 文件中设置警告级别和 C++11 标准
  • 宋红康 JVM 笔记 Day10|对象实例化
  • 2025年经济学专业人士证书选择与分析
  • 科技信息差(9.2)
  • =Windows下VSCode配置SSH密钥远程登录
  • BWN-4000指纹采集器技术规格书
  • 四端子电阻有哪些好处?-华年商城
  • WPF依赖属性和依赖属性的包装器:
  • 鸿蒙权限崩溃?一招解决闪退难题
  • 单调栈与单调队列
  • ThinkPHP的log
  • C++二维数组的前缀和
  • 小杰机械视觉(finally)——题库上——gray、thresh、erode、dilate、HSV、开运算、ROI切割、矫正。
  • 博主必备神器~