您的位置:首页 > 大数据 > 人工智能

Modelling Uncertainty in Deep Learning for Relocaliz基于不确定性建模的DL相机重定位

2018-03-14 15:04 441 查看
本博客仅为作者记笔记之用,不对之处,望见谅,欢迎批评指正。

更多相关博客请查阅:http://blog.csdn.net/weixin_39779106

如需转载,请附上本文链接:http://blog.csdn.net/weixin_39779106/article/details/79554855

原论文链接

项目链接

一、摘要

二、介绍

三、相关工作(略)

四、对定位不确定性进行建模
A. 估计不确定性

B. 创建可用于比较的不确定性统计量

C. 结构

五、实验结果
A. 用不确定性估计误差

B. 用不确定性作为路标检测子

C. 位姿的不确定是如何产生的

D. 系统效率

六、总结与展望

一、摘要



原文摘要翻译
We use a Bayesian convolutional neural network to regress the 6-DOF camera pose from a single RGB image. It is trained in an end-to-end manner with no need of additional engineering or graph optimisation.我们利用基于贝叶斯的卷积神经网络从单幅彩色图片中回归得到相机六自由度姿态。该方法是一种端到端的方法,不需要多余的工程手段以及后端优化。
taking under 6ms to compute. It obtains approximately 2m and 6∘∘ accuracy for very large scale outdoor scenes and 0.5m and 10∘∘ accuracy indoors.每幅图像的处理时间只要6ms。概算发在室内环境中的精度为2m,6∘∘,室外环境中的精度为0.5m,10∘∘。
We leverage the uncertainty measure to estimate metric relocalization error and to detect the presence or absence of the scene in the input image. We show that the model’s uncertainty is caused by images being dissimilar to the training dataset in either pose or appearance.我们利用的不确定性度量来估计定位误差并检测输入图像场景是否存在。我们展示了该模型的不确定性是由于测试图像与训练数据集在姿态和外观上的不一致所导致的。

二、介绍





原文摘要翻译
PoseNet removes the need for separate mechanisms for appearance based relocalization and metric pose estimation. Furthermore it does not need to store key frames, or establish frame to frame correspondence. It does this by mapping monocular images to a high dimensional space which is linear in pose and robust to annoyance variables. We can then regress the full 6-DOF camera pose from this representation. This allows us to regress camera pose from the image directly, without the need of tracking or landmark matching.posenet不需要分别为基于外观的定位和姿态估计设置单独的机制/算法(mechanisms)。此外,它不需要存储关键帧,也不需要建立帧间的联系。它通过将单目图像映射到一个高维线性空间来实现这些关系的构建。因此在这个高维空间中姿态是线性,且对噪声变量具有一定的鲁棒性。然后,我们就可以从这个高维空间描述中回归得到完整的六自由度相机姿态。这使我们能够直接从图像中提取相机的姿态,而不需要进行跟踪或特征匹配。
个人理解1. 这段话很好的总结了作者上一篇文章提出的PoseNet相较于传统定位或位姿估计算法的优势,关于PoseNet的详细解读可以参看本人博客:PoseNet - A Convolutional Network for Real-Time 6-DOF Camera Relocalization 端到端的重定位系统

原文摘要翻译
The main contribution of this paper is extending this framework to a Bayesian model which is able to determine the uncertainty of localization. Our Bayesian convolutional neural network requires no additional memory, and can relocalize in under 6ms per frame on a GPU. By leveraging this probabilistic approach, we achieve an improvement on PoseNet’s performance.本文的主要贡献是将原PoseNet框架扩展成为能够确定定位不确定性的贝叶斯模型。所提出的贝叶斯卷积神经网络不需要占用额外的内存,并在6ms每帧的处理速度下实现超实时定位(基于一块GPU)。利用概率的方法,本文对PoseNet的性能进行了提高。
Furthermore, our approach qualitatively improves the system by producing a measure of model uncertainty. We leverage this uncertainty value to estimate: 1. metric relocalization error for both position and orientation, 2. the confidence of modelling the data (detect if the scene is actually present in the input image).此外,我们的方法通过对模型的不确定性进度量从而定性地对系统进行改进。我们利用不确定性估计对以下两个方面进行估计:1.位置和方向的定位误差,2. 对数据进行建模的置信度(检测场景是否存在于输入图像中)。
Understanding model uncertainty is an important feature for a localization system. A non-Bayesian system which outputs point estimates does not interpret if the model is making sensible predictions or just guessing at random. By measuring uncertainty we can understand with what confidence we can trust the prediction.理解模型的不确定性对于定位系统而言非常重要。输出点估计的非贝叶斯系统不能很好的解释模型是否做出了合理的预测或只是随机猜测。通过测量不确定性,我们可以得到该模型每次预测的置信度。
Secondly, it is easy to imagine visually similar landmarks and we need to be able to understand with what confidence can we trust the result.其次,该系统很容易从视觉上展示相同的路标,同时我们需要能够理解在什么样的置信度的情况下我们可以相信此次结果。
个人理解2. 这几段主要描述了本文提出的基于贝叶斯的深度学习重定位算法相较于之前提出的纯基于深度学习的端到端的重定位算法的优势。主要是可以对模型的不确定进行度量,从而更好的对定位误差进行估计,同时能够得到每次预测的置信度,从而解释模型是否做出了合理的预测。

三、相关工作(略)

四、对定位不确定性进行建模



原文摘要翻译
We can consider sampling with dropout as a way of getting samples from the posterior distribution of models. They link this approximate model to variational inference in Bayesian convolutional neural networks with Bernoulli distributions. We leverage this method to obtain probabilistic inference of our pose regression model, forming a Bayesian PoseNet.我们通过dropout采样从模型的后验分布中获取样本。他们将这种近似模型与伯努利分布的贝叶斯卷积神经网络的变分推理联系起来。我们利用这种方法来获得我们姿态回归模型的概率推理,从而提出基于贝叶斯的posenet。


具体算法

首先在基于给定带标注YY的训练样本XX的情况下,找到卷积网络权值WW的后验分布:p(W|X,Y)p(W|X,Y)但在通常情况下,这一后验分布是很难求得的。因此我们必须利用一些来近似这些权值的后验,在本文中我们利用变分推理(variational inference)来进行近似。通过最小化这一近似值和全后验之间的KL散度,我们就可以学习得到网络的权值分布q(W)q(W)。KL(q(W)||p(W|X,Y))KL(q(W)||p(W|X,Y))其中每一层ii的近似变分分布q(Wi)q(Wi)定义如下:bi,j∼Bernoulli(pi)j=1,...,Ki−1bi,j∼Bernoulli(pi)j=1,...,Ki−1Wi=Midiag(bi)Wi=Midiag(bi)其中bibi是伯努利分布随机变量向量,MiMi是高斯过程近似模型的变分参数。dropout的概率pipi可以进一步进行优化,但在本文中我们使用标准的50%,即pi=0.5pi=0.5

最小化姿态回归网络中的欧氏损失目标函数具有最小化KL散度的效果。 因此,使用随机梯度下降法训练网络将促进模型学习能够更好解释数据的权重分布,同时防止过度拟合。本来利用dropout来描述贝叶斯卷积神经网络应该在每一个卷积层后面加一个的dropout层,但在实际应用中不可行,将在稍后C小节中进行解释。因此使用标准库,例如caffe,我们就可以有效实现

伯努利贝叶斯卷积神经网络。在测试时,我们通过平均dropout网络的随机样本从而实现推理。

个人理解3.本文所谓的基于贝叶斯的卷积神经网络,实际上是用贝叶斯概率工具来对现有的神经网络进行解释,并没有对神经网络结构进行大的改进,如称原有的dropout采样实际上可以近似看作变分推理,而随机梯度下降法和欧式损失函数就可以很好的实现KL散度最小化从而很好的实现变分推理。

A. 估计不确定性



可以通过与蒙特卡罗采样相结合来评估贝叶斯卷积网络中的后验姿态分布,如图2所示,蓝点代表后验网络输出的蒙特卡洛采样,绿点表示GoogLeNet的第一个辅助姿态回归器的输出采样,辅助层深度浅,其分布可以体现随着深度的加深,卷积神经网络是如何进行学习的。

总输出(蓝点)的分布近似于各向同性和单模态高斯分布。网络对特定位姿比较确定。通过对模型分布进行dropout采样,我们可以观察到围绕单个姿态估计的一些各向同性散射。而较浅网络的输出(第一个辅助位姿回归器,绿点)则表现为多模态,尤其是在有视觉歧义的图像中(如图c中的窗户在很多场景中都出现过)

使用dropout来对较浅深度处的模型分布进行采样,将产生具有从多个位姿假设中抽取的分量的分布。 这表明,剩下的的深度能够学习一种具有足够区分性的表示,以区分视觉上相似的地标。因此,我们将网络最终姿态回归器的样本拟合成单模态高斯分布,并将这些样本的均值作为位姿的点估计,将拟合得到的高斯分布协方差的迹(trace)当作不确定性的描述。由于迹是特征值之和,具有旋转不变性,能够有效的表示高斯分布中包含的不确定性。作者也证明了行列式以及其他多模态拟合出的模型不适合当作不确定性的描述,暂且不表,详见论文。

B. 创建可用于比较的不确定性统计量





1. 为了比较模型的不确定性,我们提出了下面的方法来创建一个标准化的度量(Z分数)。 这是一个可以直接在模型之间进行比较的不确定性统计量。

2. 从场景的测试集中获取图像模型不确定性分布的估计值可以让我们评估新图像的不确定性值的相对位置。图3显示了街景测试集不确定性结果的典型分布。我们选择用Gamma分布拟合,通过使用Gamma分布的累积分布函数来估计平移和旋转的不确定性值。我们将这个值(是一个百分数)视为Z分数,平移和旋转不确定性分布有各自的Z分数,并且每个场景也有各自的Z分数。

3. 如图所示,旋转和平移的不确定性是高度相关的,因此我们可以通过将两者的Z分数平均而得到一个总的描述所提出模型位姿估计置信度的度量值(或者说是分数)。

C. 结构



1. 想要构建一个完整的贝叶斯网络我们本应该在每一个卷积层后加入dropout层,但在实际操作中,我们发现这样做并不是最优的,我们发现直接对已经训练好的(利用Places之类的数据集训练过的网络)进行微调可以提高定位精度,但该训练好的网络并没有加入dropout。

2. 我们对微调的网络加入dropout进行了实验。当在每一层后都加入时,我们观察到明显的定位精度下降。当我们仅在随机初始化权重的卷积层之前加入dropout时,我们获得了更优的结果。作者给出的解释是:特征之间的共适应性(co-adapt)是十分脆弱的,而转移学习(transferring)会打破这种共适应性。没有经过dropout优化的权重的局部最小值需要复杂的共适应,在使用dropout时破坏了这种共适应性。因此最终仅在inception (sub-net)层和最终输出层之后加入dropout。

3. 在此架构下,我们就可以在测试时从概率模型中抽样,以获得姿势的估计值。我们可以通过平均蒙特卡洛dropout采样值来提高定位性能。

4. 如图5所示,5个采样就可以超过原本网络定位的性能,40个采样之后性能提升不明显。

五、实验结果

A. 用不确定性估计误差



1. 图8展示了不确定估计和定位误差之间有很强的关联性,因此我们可以利用不确定来预测定位误差。图8表示不确定性与误差之间是线性关系(位置姿态都是这样),但比例梯度在不同场景之间变化很大。

B. 用不确定性作为路标检测子



1. 我们可以用不确定性检测测试图像是否来自训练场景。图像在相同场景中的不确定性是最小的。

2. 如图9所示,我们给出了Cambridge和7Scenes数据集测试的融合矩阵

C. 位姿的不确定是如何产生的



1. PoseNet能够产生一个2048维的特征向量,我们用这个向量表示一幅图像,我们可以通过计算两幅图像对应高维向量的欧式距离来表示两幅图像的差异。

2. 图10展示的是模型的不确定性和图像最近训练样本高维向量欧式距离之间的关系。两者之间的强相关性表明,模型对于(在局部特征空间中)与训练数据集中图像不太相似的图像具有更强的不确定。

D. 系统效率

与原PoseNet相比,改进后基于概率的PoseNet继承了原有网络的所有优点。加入dropout不确定性并不需要更过的参数,因此体量仍为50MB,利用蒙特卡洛采样生成随机样本仅需要花费很少的时间,在使用GPU(NVIDIA Titan X)的情况下,40个样本只需要5.4ms。

六、总结与展望

本文展示了如何成功地在卷积神经网络位姿回归问题中使用不确定性框架,提高了PoseNet在室内室外的嗯定位精度。我们利用蒙特卡洛dropout对贝叶斯神经网络权值的伯努利后验分布进行采用,并取其平均值来实现这一过程,并不需要加入额外的参数。

此外,我们利用这些采样样本协方差矩阵的迹来估计模型的不确定性,我们表明这个不确定性估计很好的反映了定位误差并可以用于检测是否是训练集中的场景。我们证明了与训练集不一样的图片(不在同一场景)的不确定性更高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐