美文网首页深度学习视觉定位
深度学习定位系列3_NetVLAD

深度学习定位系列3_NetVLAD

作者: 叶秋花夏 | 来源:发表于2019-02-10 22:20 被阅读1次

深度学习定位系列3_NetVLAD

论文名称:NetVLAD: CNN architecture for weakly supervised place recognition
论文地址:https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Arandjelovic_NetVLAD_CNN_Architecture_CVPR_2016_paper.pdf
项目地址:https://www.di.ens.fr/willow/research/netvlad/

1 摘要

  本论文所解决的问题是大规模视觉场景识别(即给定查询图片,快速准确地给出图像所在位置)。该论文的贡献包括三个方面:(1)提出了一种卷积神经网络结构,可以实现端到端的场景识别;该模型结构的主要部分是VLAD网络层(称为NetVLAD),NetVLAD的设计灵感来自图像检索中用于图像表征的VLAD方法(Vector of Locally Aggregated Descriptors,局部聚合描述子向量);同时,本文所设计的NetVLAD网络层可以嵌入到任意神经网络。(2)提出了一种弱监督排序损失用于模型参数训练(采用的训练数据集是Google Street View Time Machine)。(3)在两个具有挑战性的场景识别任务上,相较于非学习的图像表征方法以及CNN的表征方法,本文所提出的NetVLAD模型具有优异的性能;同时在表征图像检索基线上获得了较好的实验结果。

2 实验

  该四部分内容:(1)介绍数据集以及评价指标;(2)定量评价所提出方法;(3)定性评价所提出方法;(4)在标准图像检索数据集上进行基线评价。

2.1 数据集与评价指标

(1)数据集介绍
  Pittsburgh (Pitts250k)包含250K数据库图像,以及24K张取自不同时间的测试图像(跨度为几年)。作者将数据集划分为3个大致相等的部分(划分依据是地理位置的独立),每个部分分别划分训练集、测试集和验证集(即每个部分包括83K左右图像和8K测试图像)。
  Tokyo 24/7包含76K数据库图像,以及315张利用手机拍摄的查询图像。该数据库图像仅在白天采集,而查询图像却在白天、阳光充足、夜晚等条件下利用手机拍摄,因此具有很大的挑战性。同时作者自己采集了部分图像作为验证集,命名为TokyoTM。
(2)评价指标
  采用标准的场景识别评价指标。查询成功的标准是:TopN中有一张图像与真值图像相距25m以内;然后,对不同的TopN取值下的查询召回率进行绘图。
(3)实现细节
  作者使用AlexNet和VGG-16基本网络(基本网络的最后一层被移除)对最大池化和NetVLAD层进行扩展。

2.2 实验结果与讨论

(1)基准测试
  与VLAD和CNN的方法进行比较,NetVLAD相较于现有的最好方法,均取得了较好的性能,实验结果如下:


NetVLAD实验结果

  本文提出一种可以进行端到端学习的场景识别模型,并在数据集Street View Time Machine上进行弱监督(存在三种弱监督类型:不完全监督、不确切监督、不准确监督)训练。
(2)降维
  采用标准的VLAD降维方法,即PCA+白化处理+L2归一化。实验结果表明,降维后的结果与降维前结果基本相同。
(3)场景识别端到端训练的优势
  在Pitts250k-test测试集上,文章对AlexNet+NetVLAD方法与AlexNet+VLAD进行了对比,前者相对后者提升了47%。由此可以得到两个小结论:对场景识别,本文的方法能得到更加紧致的特征表达向量;对于特定任务(如场景识别),预训练模型的特征表达向量不是最优的结果。
(4)VLAD vs Max
  从实验结果来看,VLAD池化的结果好于Max池化;在采用NetVLAD+白话操作的情形下,即使降维60%,其性能也与Max池化相当。
(5)哪些层需要进行训练?
  针对场景识别任务,文章对不同层进行了训练,实验结果表明,训练NetVLAD层对结果的提升最大,同时训练其它层也能取得进一步的性能提升。


训练不同层对性能的影响
(6)时序数据用于训练的重要性
  在作者设置的数据集上,没有时序训练的结果为38.7%,但增加时序训练后结果提升至68.5%;这说明了时序数据用于训练的重要性。文中作者认为,时序训练能提升模型的泛化性;例如:一辆相同的汽车可能出现在不同的地方,时序训练将能促使模型关注静态可用于场景识别的图像区域。

2.3 质量评估

  作者可视化了场景识别模型所学习和关注到的图像区域,结果如下图所示:


场景识别模型所关注的图像区域可视化

由可视化结果可知,预训练(ImageNet数据集上)的AlexNet模型更关注与汽车,而文中提出的场景识别模型更加关注于能用于场景识别的区域,说明该论文提出的方法效果更好,具有更强的泛化性。

3 所提出方法

3.1 场景识别(图像检索)问题描述

  离线训练与编码阶段:给定查询库Q和特征表示函数f(eg. 神经网络等),那么可以得到对应于查询库Q的特征表示集合{f(I_i)};在线测试阶段,利用特征表示函数f对查询图像进行特征表示f(q),然后采用某种距离度量获取查询库中最相似的图像;如果采用的距离度量是欧式距离,那么有:
I^* = arg min_i(d(q, I_i)), 其中d(q, I_i)=||f(q)-f(I_i)||_2^{2}
  由以上问题定义可知,如何获取一个性能优良的特征表示函数f_{\theta}是求解该问题的关键步骤。本文所提出的方法则重点解决该问题,立足于获取性能优越、鲁棒的特征表示。

3.2 基于深度学习的场景识别模型

3.2.1 传统VLAD编码方法

  存在一张图像x,利用某种局部特征提取方法对该图像进行特征提取,共获取N个D维特征向量{x_i}来表示该图像。现给定K个距离中心(也可称为视觉单词)c_k作为VLAD方法的输入参数,那么VLAD将对N个D维特征向量编码为一个图像表征,其维数为K \time D,该图像表征是一个进行归一化的一维向量(一般在表示时可以看做为矩阵),其中第j个特征向量到第k个视觉单词的元素V(j,k)如下:
V(j,k)=\sum_{i=1}^N \alpha _{k}(x_i)(x_i(j)-c_k(j))
  其中\alpha_k(x_i)=1当且仅当x_i 属于 c_k

3.2.2 可训练VLAD编码模型:NetVLAD

  由3.2.1节可知\alpha_k(x_i) \in \{0, 1\},这将无法利用神经网络进行训练,因此本文将其平滑化,具体如下:
\overline \alpha_k(x_i) = \frac{e^{-\alpha ||x_i - c_k||^2}}{\sum_{k'} e^{-\alpha ||x_i - c_{k'}||^2}} \in (0, 1)
  展开-\alpha ||x_i - c_k||^2得到-\alpha (x_i^2 - 2x_i c_k + c_k^2),舍去x_i^2,则有:
\overline \alpha_k(x_i) = \frac{e^{w_k^T x_i + b_k}}{\sum_{k'} e^{w_{k'}^T x_i + b_{k'}}} \in (0, 1)
  那么VLAD编码V(i,k)可以重写为如下:
V(j,k)=\sum_{i=1}^N \frac{e^{w_k^T x_i + b_k}}{\sum_{k'} e^{w_{k'}^T x_i + b_{k'}}} (x_i(j)-c_k(j))
  在以上重写的公式中,w_k, b_k, c_k为可训练参数,那么在监督训练的情况下,极有可能训练出一个更好的聚类中心c_k,如下图所示:

监督训练VLAD优势
  基于以上分析,本文提出了NetVLAD层用于 CNN architecture with the NetVLAD layer

3.2.3 训练数据构建

  为了训练本文提出的NetVLAD网络,需要解决两个主要的问题:如何获取足够多的带标签训练数据集;对于场景识别任务,如何设置一个合适的损失函数。(1)给定一个训练查询图像,可以将距离该图像GPS位置近的图像设置为潜在正样本{p_i^q},而距离较远的图像设置为负样本{n_j^q}。(2)三元组排序损失函数:假设训练样本为一个三元组(q, {p_i^q}, {n_j^q}),那么在潜在正样本中至少存在一个最佳匹配图像{p_{i^*}^q},即:
{p_{i^*}^q} = argmin_{p_i^q} d_{\theta}(q, p_i^q) \Rightarrow d_{\theta}(q, p_{i^*}^q) < d_{\theta}(q, p_i^q)
  基于此,作者构建了弱监督排序损失函数,本采用了hinge loss函数l(x)=max(x, 0),详细形式如下:
L_{\theta} = \sum_{j} l(min_i d_{\theta}(q, p_{i^*}^q) + m - d_{\theta}(q, p_i^q))

4 结论

  本篇文章设计了一个新的用于场景识别的卷积神经网络架构,该架构包括两个贡献:NetVLAD池化层、弱监督排序损失函数。经过实验评估,本文提出的在场景识别任务上取得了较好的结果。



相关文章

网友评论

    本文标题:深度学习定位系列3_NetVLAD

    本文链接:https://www.haomeiwen.com/subject/wjzxeqtx.html