SuperGlobal
ICCV 2023
读论文思考的问题
-
论文试图解决什么问题?
-
图片检索方法通常由粗粒度图片检索和精确的结果重排列两个模块组成。人们通常认为图片的 local feature 在结果重排列中是不可或缺的,但对大量的 local feature 的计算需要较高的计算资源和时间
-
能否只用图片的 global feature 来进行高效、可靠的图片检索,降低检索过程中的计算量?
-
-
文章提出了什么样的解决方法?
-
从GeM pooling 中获取灵感,提出了 SuperGlobal 模型,针对粗粒度检索和图片重排两部分设计了一系列改进模块(可即插即用),达到了只利用图片的全局特征进行可靠、高效的检索的目的
-
粗粒度检索:提出了 GeM+, Regional-GeM, Scale-GeM, ReLU+ 四个模块
-
重排列:提出了 Top-M descriptor augmentation 和 reranking with maximum descriptors aggregation 两个步骤
-
-
你觉得解决方法的关键之处在哪里?
- 通过细腻地设计 aggregation 方式,得到了既包含图片全局信息,又保留了局部信息的 image global feature
-
这个解决方法的局限性在哪里?有没有更好的解决方法?
-
文章是通过设计什么样的实验来支撑其解决方法的有效性的?(你说有效就有效吗,我不信)你觉得设计的实验有什么问题或者是缺少了什么实验?
实验:
-
和其他方法的效果对比
-
时间和显存占比的对比
-
各个模块的 ablation study
-
要点
-
粗粒度检索里的四个模块
-
GeM+
-
以往的方法中,聚合特征所用的 GeM Pooling 方法通常会训练出得到偏低的 p
-
原因:用于损失计算的角度间隔损失(Angular Margin Loss)会导致正样本梯度和负样本梯度的不相等,导致偏低的 p (p.s. 这个数学推导并没有看懂)
-
在一个小数据集(ROxford 5k)上进行了参数 p 搜索,对推导过程中 p 的取值进行了比较好的估计
-
-
Regional-GeM
-
如果只使用 GeM Pooling 进行全局特征聚合,会导致局部特征的损失;直接在 GeM Pooling 前面加上 \(L_p\) Pooling 又会导致全局特征中,局部特征占据主导
-
将 \(L_p\) Pooling 后的特征和卷积层输出的特征 \(D_{h,w}\) 残差求和即可,即
\(g=W(\frac{1}{H_dW_d}\sum\limits_{h,w}{\frac{M_{h,w}+D_{h,w}}{2}}^{p_r})^{1/p_{r}}\)
-
-
Scale-GeM
-
多尺度特征的融合在图片检索中有很好的效果,但不能直接采用类似于 GeM Pooling 的方式进行融合(因为不同特征的最小值是不一样的)
-
每层各自加上自己的最小值,再进行类似 GeM Pooling 的操作进行融合
-
-
ReLU+
-
使激活函数 ReLU 具有类似于 GeM Pooling 的强化信号的效果
-
将分段函数的临界点改为一个正数 \(\alpha\) ,而不使用 0
-
-
-
重排列中的两个步骤
-
Top-M descriptors augmentation
-
先用 query image 的全局特征进行搜索,得到一个粗略的 M+1 张图片的集合(包括自己),再在集合中进行 top-K DBA
-
大大降低了 DBA 的复杂度
-
-
Reranking with maximum descriptors aggregation
-
首先利用 DBA refine 过的 query 进行检索,得到一轮分数 S1,随后根据 top K 结果来做 (maximum) aggregation。用聚合后的特征来做第二轮检索,得到分数 S2。最后将两轮分数平均
-
实际上是一种非常激进的 query expansion
-
-
问题
- 那堆数学证明有点难,暂时看不懂