Geo-localization论文阅读list2
Geo-localization论文阅读list2
文章目录
1. NetVLAD: CNN architecture for weakly supervised place recognition
1.1 Thinkings
NetVLAD主要的contributions在两点:
- 设计了NetVLAD这个pluggable to any CNN的architecture。
- 设计了一种仅仅利用图像GPS坐标这种label的newly weakly supervised ranking loss
1.2 Principle Analysis
鉴于本篇论文是一个经典的论文,所以我将论文的详细原理介绍和Thinkings都写到了NetVLAD原理详解和推导这篇单独的博客。
2. Learned Contextual Feature Reweighting for Image Geo-Localization
2.1 Thinkings
这篇论文提出了一种基于图像上下文学习权重的方式CRN(Contextual Reweighting Network),让网络可以focus on那些对geo-localization有积极贡献的区域。个人感觉就是加入了spatial attention机制。总结下来论文的contributions主要在以下3点:
- 提出了一个基于图像上下文学习空间权重的end-to-end全卷积网络CRN。
- 作者整个训练过程只会利用到GPS-tags,而空间权重是作为整个网络学习过程中的byproduct产生的。即训练过程中,空间权重的产生是无监督的。
- 提出了一个训练的pipeline,仅仅利用图像的geo-tags去自动生成训练集,并且还在其中开发了一个高效且适合geo-localization的hard negative mining。
2.2 Principle Analysis
如上图所示,论文的整个网络是基于NetVLAD网络进行改进的,相当于给VLAD soft assignment又乘上了一个空间上面权重。如下公式(2)所示,其中W就是维度为
H
×
W
×
1
H \times W \times 1
H×W×1的权重mask,论文写成
W
×
H
×
1
W \times H \times 1
W×H×1也是一样的,不过实际代码矩阵遍历操作还是前者的写法比较常见:
V
(
j
,
k
)
=
∑
i
=
1
N
a
ˉ
k
(
x
i
)
(
x
i
(
j
)
−
c
k
(
j
)
)
(1)
V(j, k) = \sum^{N}_{i=1}\bar{a}_k (x_i)(x_i(j) - c_k(j)) \tag{1}
V(j,k)=i=1∑Naˉk(xi)(xi(j)−ck(j))(1)
For k∈K, i ∈ H, j∈ W (不清楚K代表什么就可以看看我前一篇NetVLAD论文总结):
a
ˉ
k
(
i
,
j
)
=
W
(
i
,
j
)
∗
a
k
(
i
,
j
)
(2)
\bar{a}_k(i, j) = W(i, j) * a_k(i, j) \tag{2}
aˉk(i,j)=W(i,j)∗ak(i,j)(2)
3. MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
cvpr2015
3.1 Thinkings
从标题上面就可以看出来本篇论文主要有两个关键点,Unifying和Patch-Based Matching。
先来说Unifying,一般这种匹配问题的pipeline主要由提取图片的representation和对比两张图像的representations这两部分构成。一般基于深度学习获取representations的方式在比较的时候会直接使用欧式距离进行比较,而本篇论文将提取和对比这两个过程整合起来,在CNN之后又加入了全连接网络,最后以softmax输出2维向量,第一个元素代表这两个图像匹配的概率,第二个元素代表不匹配的概率(加起来和为1)。
Patch-Based是作者强调整个网络达到sota是在patch matching datasets上面做的实验,而整个网络学习的也不是image representations而是patch representations。
总体来说作者的contributions主要为以下四点:
- 提出了一个sota的patch-based matching网络结构。
- 用一个bottleneck layer减少representation的维度,还能达到sota的效果。‘
- 一系列的实验评估这个系统各个部分的贡献,类似于消融实验。
- 提供了一个public release of MatchNet trained using our own large collection of patches。
3.2 Principle Analyse
如上图所示,整个MatchNet就包括Feature Network和Metric Network两个部分。Feature Network就相当于一个Siamese Network,用来提取两个patch的representations。Metric Network就是用全连接网络去学习Metric,而不是直接使用欧式距离,最后以softmax输出2维向量,第一个元素代表这两个图像匹配的概率,第二个元素代表不匹配的概率(加起来和为1)。
Feature Network中的bottleneck layer也是一个全连接层,它的主要目的就是给representation降维。作者通过实验证明了即使是维度下降了很多,也能达到sota。
inference的流程是输入两个patch,通过Feature Network提取两个patch的representation,然后把两个representation concatenate起来输入Metric Network。
如上图所示,这里是作者开发的一个efficient的训练pipeline。由于在训练的时候会有patch重复地被提取representation(因为两两结合需要
n
1
×
n
2
n_1 \times n_2
n1×n2个pairs),所以作者把train的pipeline变成了一个two-stage的过程。先用Feature Network提取全部patch representation,然后把这些向量两两组合成Feature pairs,输入Metric Network后,便可以节省很多重复representation提取的成本。