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
将地点识别问题看作是图像检索问题,有未知地点的图像作为查询图像,检索一个地理标注的数据集合,然后返回排序较高的图像。
图像特征提取: offline
待查询图像特征: online
goal:找到与待查询图像最近的图像,欧氏距离 Euclidean distance , 也有其他的距离计算方法,但是本文采用的是欧氏距离。
本文提出以端到端的方式学习图像的特征表示 ,特征表示通过 参数化。 ,欧式距离为
Deep architecture for place recognition
本章主要讨论
提取图像特征最好使得这些特征对一些特性具有鲁棒性,对于光照以及视角转变的鲁棒性是由特征描述子决定,尺度不变性是通过在多个尺度下提取描述子进行保证的。
本文设计的CNN结构模拟的是标准的检索过程。
第一步、去掉CNN的最后一层,把它作为描述子,输出是 的向量,可以将其看作一个D维度的描述子,一共由 个。
第二部、设计一个新的池化层 NetVLAD(受VLAD启发)对提取到的描述子进行池化,使其成为一个固定的图像表示,参数是通关过BP学习得到的。
NetVLAD: A Generalized VLAD layer ()
BoW 统计的是 visual words 的数量,VLAD 统计的是 每个visual word 的残差和(sum of residuals)(描述子和其相应的聚类中心的差值)
input:
cluster centers(visual words):
output image representation
is 1 if cluster is the closest cluster to descriptor and 0 otherwise
也就是说,VLAD的向量V存储的是所有的x在其对应的聚类中上的残差和
找到每个聚类中心中的所有的X,然后以该聚类中心为基础,计算所有的残差和:遍历所有的样本点,利用a(x) 决定是否属于该样本点,然后计算相应的残差,最后求和,这样得到了一个聚类中心的残差和,就是得到了V的一行。
遍历k个聚类中心,得到 V的k行。
最后对V进行 a vector 处理,然后进行L2归一化。
要通过BP对参数进行优化,就需要对所有参数以及输入都是可微分的,所有对 进行修改
其中 是一个正数,控制学习速率
将(2)中的平方展开, 会消失,得到
新的到的NetVLAD 依赖于三分参数 ,使其灵活性更好。
图2 将NetVLAD分解成一个CNN层和一个有向五环图。
The output after normalization is a descriptor.
Max pooling (fmax)
在实验中对 个D维的特征使用了最大池化,产生一个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信息的作用:潜在的正确项 (距离较近),绝对的错误项 (距离很远)怎样的损失 loss 是合适的
设计了一个弱监督三元组损失 ( a new weakly supervised triplet ranking loss) 来解决数据的不完整以及噪声
给定一个图像,目的是找出与其最为近似的图像,也就是说找到欧氏距离最小的图像与其匹配。
将其转化为一个三元组
从Google Street View Time Machine中得到训练集
至少有一个与查询图像匹配的正确项。
得到损失函数
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.
通过随机梯度下降的方法训练得到
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