abstract
本文关注的是大规模的地点识别问题,任务是从一张图像中快速准确地识别位置。
1. 提出一种卷积神经网络结构,可以实现端到端的识别。主要组件是 NetVLAD,这是一个新生成的VLAD层。NetVLAD 可以很容易地运用到任何的CNN结构中,并且可以使用BP优化。
2. 基于一种新的弱监督排序损失(a new weakly supervised ranking loss),提出了一个训练过程,来学习得到所需要的参数。使用的数据集是Google Street View Time Machine。
3. 结果显示我们提出的结构得到的特征比其他非学习的图像表示(non-learnt image representations)以及现有的CNN描述子得到的特征要好,
introduction
地点识别现在主要应用在自主驾驶,增强学习等
地点识别一个挑战是,我们如何在一个城市或国家中识别相同的街角,即使有光照等其他因素的影响。关键问题是如何找到这样的一个具有代表性并且具有区分性的地方。
传统做法是将地点识别问题看作实例检索任务,使用具有局部不变性的特征(SIFT)来表示每一个图像,然后将特征聚合成一个向量表示,方法有 BOW, VLAD, FV等。近些年,CNNs的出现为多种类级的识别任务提供了更强性能的图像表示。
虽然CNN能够用在较大的数据集上,但是如果直接迁移使用CNN,那么它作为一个黑盒进行特征提取,对于实例识别任务会在性能上有限制。所以本文的任务是探究这种性能上的差距能够使用CNN特征减小。主要的问题是:
- 如何定义一个好的CNN结构,
- 怎样得到足够多的标注数据
- 怎么训练来提升结构性能
第一,基于现有的神经网络架构,本文提出一种一个带有VLAD层的卷积神经网络结构,NetVLAD,可以被加到任何的CNN结构中,并且可以使用BP算法优化,然后使用PCA降维得到compact descriptor of the image。
第二,为了训练网络,使用 the Google Street View Time Machine 收集了大量的不同时间不同角度相同地点的全景图。通过这些数据进行训练是弱监督学习:两幅相似的全景图是通过他们的GPS特征近似得到的,但是并不知道图像中的哪个部分决定了这两幅全景图是同一个地方。
第三,使用了端到端的模式来学习得到参数。得到的特征对于视角和光照情况具有鲁棒性。
method overview
将地点识别问题看作是图像检索问题,有未知地点的图像作为查询图像,检索一个地理标注的数据集合,然后返回排序较高的图像。
图像特征提取:
f(Ii)
f
(
I
i
)
offline
待查询图像特征:
f(q)
f
(
q
)
online
goal:找到与待查询图像最近的图像,欧氏距离 Euclidean distance
d(q,Ii)
d
(
q
,
I
i
)
, 也有其他的距离计算方法,但是本文采用的是欧氏距离。
本文提出以端到端的方式学习图像的特征表示 f(I) f ( I ) ,特征表示通过 θ θ 参数化。 fθ(I) f θ ( I ) ,欧式距离为 dtheta(Ii,Ij)=∥fθ(Ii)−fθ(Ij)∥ d t h e t a ( I i , I j ) = ‖ f θ ( I i ) − f θ ( I j ) ‖
Deep architecture for place recognition
本章主要讨论 fθ f θ
提取图像特征最好使得这些特征对一些特性具有鲁棒性,对于光照以及视角转变的鲁棒性是由特征描述子决定,尺度不变性是通过在多个尺度下提取描述子进行保证的。
本文设计的CNN结构模拟的是标准的检索过程。
第一步、去掉CNN的最后一层,把它作为描述子,输出是
H×W×D
H
×
W
×
D
的向量,可以将其看作一个D维度的描述子,一共由
H×W
H
×
W
个。
第二部、设计一个新的池化层 NetVLAD(受VLAD启发)对提取到的描述子进行池化,使其成为一个固定的图像表示,参数是通关过BP学习得到的。
NetVLAD: A Generalized VLAD layer ( fVLAD f V L A D )
BoW 统计的是 visual words 的数量,VLAD 统计的是 每个visual word 的残差和(sum of residuals)(描述子和其相应的聚类中心的差值)
input:
N×{xi}∈RD
N
×
{
x
i
}
∈
R
D
cluster centers(visual words):
K×{ck}
K
×
{
c
k
}
output image representation
V∈RK×D
V
∈
R
K
×
D
V(j,k)=∑Ni=1ak(xi)(xi(j)−ck(j))
V
(
j
,
k
)
=
∑
i
=
1
N
a
k
(
x
i
)
(
x
i
(
j
)
−
c
k
(
j
)
)
ak
a
k
is 1 if cluster
ck
c
k
is the closest cluster to descriptor
xi
x
i
and 0 otherwise
也就是说,VLAD的向量V存储的是所有的x在其对应的聚类中上的残差和
找到每个聚类中心中的所有的X,然后以该聚类中心为基础,计算所有的残差和:遍历所有的样本点,利用a(x) 决定是否属于该样本点,然后计算相应的残差,最后求和,这样得到了一个聚类中心的残差和,就是得到了V的一行。
遍历k个聚类中心,得到 V的k行。
最后对V进行 a vector 处理,然后进行L2归一化。
要通过BP对参数进行优化,就需要对所有参数以及输入都是可微分的,所有对
ak
a
k
进行修改
其中
α
α
是一个正数,控制学习速率
将(2)中的平方展开,
e−α∥xi∥2
e
−
α
‖
x
i
‖
2
会消失,得到
新的到的NetVLAD 依赖于三分参数
{wk},{bk},{ck}
{
w
k
}
,
{
b
k
}
,
{
c
k
}
,使其灵活性更好。
图2 将NetVLAD分解成一个CNN层和一个有向五环图。
The output after normalization is a
(K×D)×1
(
K
×
D
)
×
1
descriptor.
Max pooling (fmax)
在实验中对 H×W H × W 个D维的特征使用了最大池化,产生一个D维度的输出,然后使用 L2−normalized L 2 − n o r m a l i z e d
Learning from Time Machine data
本章主要是怎样通过端到端的学习得到涉及到的参数。
怎样得到足够多的带有标记的数据
通过 the Google Street View Time Machine 得到大量的弱监督图像。这些图像仅仅有地理位置的标记,表示他们是相近的位置,但是没有图像本身上的近似,所以是弱监督问题。
两个地理位置相近的图像能相互替代(two geographically close perspective images do not necessarily depict the same objects since they could be facing different directions or occlusions could take place)。
对于一个给定的训练图片,GPS信息的作用:潜在的正确项 {pqi} { p i q } (距离较近),绝对的错误项 {nqj} { n j q } (距离很远)怎样的损失 loss 是合适的
设计了一个弱监督三元组损失 ( a new weakly supervised triplet ranking loss) 来解决数据的不完整以及噪声
给定一个图像,目的是找出与其最为近似的图像,也就是说找到欧氏距离最小的图像与其匹配。 dθ(q,Ii∗)<dθ(q,Ii) d θ ( q , I i ∗ ) < d θ ( q , I i )
将其转化为一个三元组 {q,Ii∗,Ii} { q , I i ∗ , I i }
从Google Street View Time Machine中得到训练集
(q,{pqi},{nqj})
(
q
,
{
p
i
q
}
,
{
n
j
q
}
)
{pqi}
{
p
i
q
}
至少有一个与查询图像匹配的正确项。
得到损失函数
l(x)=max(x,0)
l
(
x
)
=
m
a
x
(
x
,
0
)
if the margin between the distance to the negative image and to the best matching positive is violated, the loss is proportional to the amount of violation.
通过随机梯度下降的方法训练得到
fθ
f
θ
Experiments
Datasets and evaluation methodology
datasets:
- Pittsburgh (Pitts250k)
- Tokyo 24/7
- Evaluation metric
Implementation details:
- two base architectures: AlexNet and VGG-16
- both are cropped at the last convolutional layer (conv5), before ReLU
- K = 64 resulting in 16k and 32k-D image representations for the two base architectures, respectively
Results and discussion
- Baselines and state-of-the-art.
- Dimensionality reduction. PCA and whitening followed by L2-normalization
- Benefits of end-to-end training for place recognition: first, our approach can learn rich yet compact image representations for place recognition. second, the popular idea of using pretrained networks “off-the-shelf” is sub-optimal as the networks trained for object or scene classification are not necessary suitable for the end-task of place recognition. 在分类任务上预训练的网络对于图像检索任务不是最好的
- Comparison with state-of-the-art.
- VLAD versus Max.
- Which layers should be trained?
- Importance of Time Machine training
Qualitative evaluation
Image retrieval
Conclusions
提出了一种端到端的学习方式进行地点识别,使用的是卷积神经网络,数据集(Street View Time Machine data)是弱监督的。
两个重要的组件:
- the NetVLAD pooling layer
- weakly supervised ranking loss
NetVLAD可以容易地用于其他的CNN结构中。
The weakly supervised ranking loss 作用很大 opens up the possibility of end-to-end learning for other ranking tasks where large amounts of weakly labelled data are available, for example, images described with natural language
paper: NetVLAD: CNN architecture for weakly supervised place recognition