Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

第一作者:Yoli Shavit,Ron Ferens

研究机构: Toga Networks (华为,以色列)

这篇论文将现有的相机位姿估计方法根据实现原理分为两个大类,基本涵盖了大部分关键方法,有助于入门相机位姿估计这一研究方向。

论文解决的问题

论文回顾总结了基于深度学习相机绝对位姿估计方法,

并描述了该领域的关键方法,并确定了未来的发展趋势,即改进原始深度位姿回归解。

提供了一些基于学习的位姿估计方法的交叉对比实验,以及重现代码时的的实用tricks.

最后,讨论了新的解决方案和潜在的未来研究方向。

背景简介

最开始是Kendall等人在GoogLeNet的基础上,将最后几层softmax替换为全连接层,使其能够预测一张图片中相机的位姿,命名为 PoseNet。这是第一个使用深度学习来回归相机位姿的方法,具有推理速度快、内存消耗少、不需要特征工程等优点。但是PoseNet过拟合严重,缺乏泛化性,在室内室外的定位误差相差非常大,鲁棒性差。

在PoseNet之后,启发了非常多的工作来对相机的绝对位姿进行估计(absolute pose estimation,APE)

本文贡献:

  • 提供了深入学习绝对位姿估计的指南,提供理论背景和实践建议
  • 超过20种深度学习姿势估计器的性能和特征的交叉比较
  • 总结深度位姿估计的现有趋势和新兴趋势,以及当前的挑战和局限性
APE问题与RPE问题的定义

给定由相机C拍摄的图像ICI_C,一个相机绝对位姿估计器E 尝试ICI_C中恢复相机的3D位姿。

相机的位姿数据由p=(x,q)p=(x,q)唯一的确定。

其中xR3x\in R^3为相机的三维坐标,q有多种表达形式,可以是旋转矩阵、四元数或者欧拉角。四元数由于参数少使用方便(“elevates the need for orthonormalization”),可以方便的与旋转矩阵互相转化,成为了大多数时候的选择。需要注意的是四元数的歧义性: q 和 –q表示同一位姿。一种欧拉角的变种已经被用于解决这个问题(《Delving deeper into convolutional neural networks for camera relocalization》)。

APE问题就是要估计出一个好的E,使得:
E(Ic)=(xc,qc) E(I_c)=(x_c,q_c)
与APE问题相对应的叫做RPE(relative pose estimation,相对位姿估计问题),此时输入为两张图片,模型尝试预测两张图片中相机的相对位姿。
E(Ic1,Ic2)=(xcrel,qcrel) E(I_c^1,I_c^2)=(x_c^{rel},q_c^{rel})

评估指标
  • 相机位姿真值的获取
    通常,可以通过扫描设备(例如Microsoft Kinect)或通过使用SfM方法进行重建来提供与一组图像和 对应的点云进行训练和测试。流行的SfM工具有Bundler ,COLMAP 和VisualSFM。

  • APE评估指标计算

    设位姿真值 ????=(????,????),预测位姿p^=(x^,q^)\hat p=(\hat x,\hat q)

    平移误差:terr=x=xx^2terr=∆x=‖x−\hat x‖_2 ,单位 米

    旋转误差:使用角度来衡量 , 单位 °
    roterr=α=2cos1qq^180π rot_{err}=\alpha=2cos^{−1}|q\hat q|\frac{180}{\pi}

  • RPE评估指标,与APE相同

很多论文中 使用给定一个阈值(如:.25m, 2°),当误差在该阈值范围内时记为定位成功,根据此计算出定位率(localization rate)用于评估模型性能

基于深度学习的APE模型

传统上有两种解决视觉APE问题的方法:

  • 基于几何结构的方法:

    依赖于SFM技术。SFM将3D点云和2D图像以及特征点对应起来。这里的特征点可以手工提取也可以通过学习得到。然后使用PnP(n point pose)算法解得候选的位姿集合,通过RANSAC算法选择最佳候选位姿。最后通过进一步细化得到输出位姿。

    这种方法的缺点就是太慢了,2D-3D匹配、PnP求解、RANSAC都非常消耗计算资源,且基于几何结构的方法泛化性能和鲁棒性差。

  • 基于图像检索的方法:

    方法的思想是对图像进行特征编码并构建一个图像数据库, 包括图像的全局描述子及其对应的真实世界位姿。对于给定的检索图像,其首先在数据库中检索最相似的图像,然后将其位姿作为检索图像的位姿。

    这里的全局描述子可以基于特征、也可通过学习得到。

    一些SOTA工作可以获得非常有效的图像encoding描述子:

    1. NetVLAD: CNN architecture for weakly supervised place recognition.
    2. Deep image retrieval: Learning global representations for image search

    然而即使是SOTA其精度也只是粗略的对位姿进行估计,主要用于place recognition以及粗定位等,或者用于APE评估中的基线(论文《Understanding the Limitations of CNN-based AbsoluteCamera Pose Regression》证明了使用CNN来回归位姿的模型的精度不会高于基于检索的模型的精度)。

以上两种方法均使用了图像的特征描述子:基于几何结构的方法使用局部特征描述子进行2D-3D匹配,基于检索的方法使用全局特征描述子对图像进行检索找到最接近检索图像的匹配。

Kendall 等人尝试不学习图像的描述子,而是学习整个位姿估计的pipeline。基于一般视觉任务中的底层特征能够在位姿估计任务中仍然适用的假设,PoseNet使用预训练好的dCNNS 进行迁移学习来完成位姿估计预测。PoseNet结构图:

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

损失函数:
Lβ(Ic)=Lx(Ic)+βLq(Ic)=xx^2+βqq^q^22  Pose Loss L_{\beta}(I_c)=L_x(I_c)+\beta L_q(I_c)=‖x−\hat x‖_2+\beta‖q−\frac{\hat q}{‖\hat q‖_2}‖_2\quad --- \ \ Pose \ Loss
使用深度神经网络直接回归绝对位姿的优点有:不需要任何特征工程,图像编码更加鲁棒,相比基于几何结构的方法其内存消耗更少,速度更快。迁移学习使得模型可以在中等大小的通用数据集上学习。

然而,PoseNet的定位误差相比基于几何特征的SOTA模型非常大,还有在未见场景中的泛化性以及模型的学习能力等问题没有解决。

深度APE模型

作者将PoseNet之后的深度APE模型分为多个层级的类别,如图:

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

主要有两个大类:端到端的和混合训练的模式

  1. 端到端相机位姿学习:

    1. 绝对位姿回归器(Absolute Pose Regressors):即把位姿预测视为回归问题,如PoseNet以及一些变种
    2. 辅助学习模型(Auxiliary Learning):即与多个学习任务(语义分割、视觉里程计、场景理解)一起学习APE模型。
  2. 混合位姿学习:

    1. 基于几何结构的定位pipeline
    2. 基于图像检索的相对位姿回归
    3. 分层方法:并将图像检索与基于结构的学习方法相结合

接下来逐个介绍四个类别:

end2end learning of pose estimation

在PoseNet之后,Kendall等人又设计了基于伯努利分布的贝叶斯CNN,称 Bayesian PoseNet.

对网络的神经元使用固定概率的dropout得到不同的样本,然后将样本平均得到最终预测的位姿。这些预测的协方差可以用于衡量模型的不确定性,而不确定性与位姿误差是有关联的。Bayesian PoseNet的位姿误差相比PoseNet提升了10%-20%。

不久之后,其他的姿势回归方法着重于对架构和/或损失函数的修改,以提高PoseNet的性能。

1.位姿回归器

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

Bayesian PoseNet通过正则化模型解决过拟合的问题,Walch等人则提出在2048维的全连接层后(即图中的localizer)加入四层LSTM解决过拟合问题。作者认为,是图像encoding 的高维性导致过拟合,因为最终的FC层(回归)需要学习具有许多*度的回归问题。因此四层LSTM分别在四个上下左右方向上执行,这样可以图像encoding的维度来限制学习。(《Image-based localization using lstms for structured feature correlation》)

其他的一些PoseNet变种则主要对encoder和localizer进行了修改。Hourglass-Pose模型将encoder的GooLeNet换成了ResNet34。SVS-Pose模型换成了VGG16。BranchNet模型将PoseNet的共享localizer换成了GoogLeNet+Inception module的组合,并设计了两个Branch来输出平移量和旋转量。以上几个模型对regressor均未进行修改。

Kendall发现,相比将朝向和平移量通过加权损失函数进行联合训练,将朝向和平移量分开训练会导致精度下降。但是加权损失的权值β\beta的合适值需要大量实验才能获得,且户内户外不同环境下的参数值不同。因此作者提出了PoseNet2,使用了一种可以学习不确定参数的损失函数,提升了模型精度。论文还介绍了使用重投影误差的方法:将3D 点云投影到2D像素,然后计算真值与2D像素之间的欧氏距离的平均值。在实现时作者发现训练并不收敛,但是应用到对一个预训练PoseNet进行fine tuning的场景时,可以提升模型性能。详见PoseNet2博客链接

Brahmbhatt等人提出在绝对位姿误差的基础上,使用额外信息设计损失函数,即MapNet。MapNet使用了使用绝对位姿真值和相对位姿真值对网络进行监督,详见MapNet博客链接 。在此基础上的扩展版本,MapNet++,使用了附加传感器数据如IMU、GPS或者无标签的视频等来预测绝对位姿。

提到的模型之间的结构对比如下:

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

结构图:

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

2.辅助学习

PoseNet的变种模型的性能都有一定幅度的提升,但是与基于结构的经典方法相比仍然有差距。

Valada等人认为这是学习过程中缺乏3D 信息的原因(《Deep auxiliary learning for visual localization and odometry》)。因此提出了学习与 绝对位姿 共享特征表达的辅助任务,最大化学习效果。VLocNet则使用了这种思想,同时学习绝对位姿估计和相对位姿估计任务。其损失函数可以使用相对位姿误差或者绝对位姿误差。借助辅助训练以及几何约束,VLocNet在户外以及户内数据集上均达到了SOTA的性能水平(仅相比于位姿回归器而言,但是已经是非常成功的一个思路了)。

VLocNet 之后,VLocNet++被提出,加入了语义分割作为第二个辅助学习的任务(第一个是估计相对位姿),扩展网络结构,包括了一个专门用于语义分割的网络,该网络的中间输出与绝对位姿估计网络交换。

DGRNets则基于VlocNet,将其修改为只输出绝对位姿,加入了LSTM层来捕获时间相关性,并将相对运动中的知识直接嵌入到绝对姿势的预测中。几何一致性损失扩展为时间几何一致的损失。

Hybrid Pose Learning

端到端的深度APE模型提供了一种简单而吸引人的模式:一种能够学习将输入映射为输出的复杂函数的简单的结构。然而,根据论文《Understanding the Limitations of CNN-based AbsoluteCamera Pose Regression》以及论文《 Failures of gradient-based deep learning》,相对于将定位pipeline分开来学习,对整个pipeline进行学习会导致次优的性能。此外,端到端的学习将紧密耦合到场景坐标中,因而可以将网络视为潜在地图的压缩版本,这限制了网络的泛化能力。混合姿势学习方法将学习转向局部或相关问题,并将其与传统的图像检索和基于结构的pipeline相结合。

1.基于图像检索到的相对位姿回归器

对于检索图像a, 设其位姿真值为pa=(xa,qa)p_a=(x_a,q_a), 通过检索得到的最近邻图像为b, 其位姿pb=(xb,qb)p_b = (x_b,q_b),

则相对位姿变换: pa>b=(xbxa,qa1qb)p_{a->b}=(x_b-x_a,q_a^{-1}q_b)

在已知该相对位姿变换的情况下:检索图像a 的绝对位姿为:
xa=xb(xbxa)qa=(qa1qbqb1)1 x_a = x_b-(x_b-x_a)\\ q_a = (q_a^{-1}q_bq_b^{-1})^{-1}
因此网络只需要学习a相对于b的相对位姿变换即可。

论文《Camera relocalization by computing pairwise relative poses using convolutional neural network.》中的NNnet使用相同的两个ResNet34对图像对分别进行编码,将得到的两个512维的向量链接在一起送入定位模块和回归模块,类似PoseNet,得到相对位姿的估计值。

ReLocNet(《Relocnet: Continuous metric learning relocalisation using neural nets》)提出相似的结构,但是增加了额外的损失函数。模型提取的两个特征向量被用于回归位姿(同NNnet),以及计算相机截椎体损失。此外模型使用旋转矩阵表示朝向,而不是常用的四元数。

模型训练好之后可以使用其中的一支对图像数据库进行编码。在推理阶段,使用同一的分支对检索图像进行编码然后使用向量点乘找到K近邻的图像,根据k近邻图像的位姿真值与预测的相对位姿计算出检索图像的位姿估计值。

2.基于几何结构的局部学习

给定最小为n/2的2D-3D匹配,使用PnP求解器来生成位姿假设,每一个候选位姿假设被应用到整个2D点来检查其整体的一致性(一般使用inliner count作为一致性的衡量),选择inlier count 最大的位姿假设作为位姿的估计值。论文《DSAC-differentiable RANSAC for camera localization》提出直接回归2D像素的3D坐标并将这种学习与基于结构的pipeline相结合来执行传统上基于描述符匹配的2D-3D匹配。有两个CNN网络,一个用于从2D像素回归3D坐标,一个用于对位姿假设打分选择最佳的位姿假设。选择最佳位姿假设时的argmax函数不可导,因此作者基于概率选择设计了可导的RANSAC算法。网络时端到端训练的,损失函数为场景坐标回归损失和位姿损失之和,但是这里位姿损失值是平移损失和旋转损失的最大值。之后,作者假设学习打分功能会降低性能,提出了只回归场景坐标的网络(去掉了位姿假设评分网络),使用sigmoid函数计算soft inlier count。

例如对于位姿假设P:
s(p)=isig(τwri(p))ri(p)iτinlier countwsigmoidsoftness s(p)=\sum_i sig(\tau−wr_i(p))\\ 其中r_i(p)是i点的重投影误差, \\\tau 是inlier\ count的阈值, \\w控制sigmoid函数的softness
整体的优化流程为:

  1. 通过场景坐标回归损失函数学习场景坐标回归
  2. 对场景坐标回归任务进一步学习,使用重投影误差,在不需要3D模型的前提下间接的加入3D几何信息进行监督
  3. 使用位姿损失进行端到端训练。

相比于DSAC,多了第二步,加入了3D几何信息。加上一些额外的优化手段如裁切策略、最佳位姿假设优化等,最终超越了基于特征的室内外场景构造方法。

3.分层结构位姿估计

基于图像检索的方法快速,简单,但只能给出粗略的姿势估计。

基于几何结构的方法需要一个与场景大小成线性增长的三维模型。而且随着场景size的增长,在共享描述符空间(2D-3D匹配)的搜索变得更慢,更容易出错(搜索空间增长,模糊匹配的可能性更大)

在最近的一项研究中(《From coarse to fine: Robust hierarchical localization at largescale》),研究人员提出了一种有粗到细的分层模式,以达到两种方法之间的协同作用效果:

  1. 根据检索图像首先找到数据库中的K近邻图像(离线查询,基于全局描述子),然后将捕获的图像映射到对应的可视图中的连接组件中以识别图像中的“小场景(子场景)“。可视图由SFM生成。
  2. 根据给定的候选场景,可以定义一个受限的搜索空间,使用基于几何结构的位姿估计方法来估计姿态值。

有粗到西指的是先用检索方法得到大致的场景范围,然后再有限的场景中执行基于结构的位姿估计方法,得到精细的位姿估计值。

研究人员使用NetVLAD执行图像检索,使用SuperPoint作为局部特征描述子作为概念验证。该模型在几个具有挑战性的数据集上取得了最新的成果,这些数据集包含了光照,季节和视点的变化。

HF-Net是将这种模式应用于移动端的蒸馏网络,其精度只有轻微的下降。该模型使用MobileNet 作为共享特征的提取网络,使用第二个MobileNet +NetVLAD 的组合在特征输出上预测全局描述子,使用SuperPoint 解码器计算局部特征描述子以及描述子的得分。训练时,使用NetVLAD 和SuperPoint 作为teachers进行多任务蒸馏( multi-task distillation ),损失函数由三部分组成:

  1. teacher NetVLAD (dsgd_s^g)和 student HF-Net(dtgd_t^g)预测的全局描述子之间的平方欧氏距离

  2. teacher SuperPoint (dsld_s^l)和student HF-Net(dtld_t^l)预测的局部描述子之间的平方欧氏距离

  3. teacher SuperPoint (ktk_t)和student HF-Net(ksk_s)预测的关键点得分之间的交叉熵
    LH(Ic)=ew1dsg+dtg22+ew2dsldtgl22+2ew3CrossEntropy(kt,ks)+wi L_H(I_c)=e^{−w1}‖d_s^g+d_t^g‖_2^2+e^{−w2}‖d_s^l−d_t^{gl}‖_2^2 \\+2e^{−w3}CrossEntropy(k_t,k_s)+\sum wi
    ????1,????2,????3是可学习的参数,最后一项是正则化项。

蒸馏得到了紧凑的网络模型,解决了内存有限的设备上运行的需求;多任务学习解决了训练数据有限的问题,利用共享特征来提高每个任务的性能。

实验内容以及分析

下表是21个位姿估计的方法,以及对应的发表日期、方法类别、损失函数、推理时间、原始实现等信息。 Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

位姿误差中位数的对比( 以基于结构的SOTA方法:ActiveSearch作为参考)(在提到的模型中只有66%代码开源)

数据集: 7Scenes dataset

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

数据集:Cambridge dataset

Introduction to Camera Pose Estimation with Deep Learning && 2019 论文笔记

这两个数据集包含了视觉定位应用的常见挑战和场景:中/小规模、室内/室外、重复元素、无纹理特征和显著的视点变化以及训练集和测试集之间的轨迹变化。

实验数据分析

可以看出

  1. pose regressors 的性能是最差的,结构变化和损失函数的调整只能带来逐步的提升。
  2. 即使与相对姿态回归相结合,图像检索的方法也不会产生较优的姿态误差,性能与pose regressors接近。
  3. 表中性能最好的方法是辅助学习和基于结构的方法。
  4. HF-Net没有在这两个数据集上测试,但是性能超越了Active Search和DSAC++。

辅助学习方法和基于结构的方法显示出性能上的优越性,这些方法无论是利用基于结构的pipeline(DSAC, DSAC++ and HF-Net),或是联合学习绝对位姿和相对运动(VLocNet, VLocNet++),且均依赖于几何约束。

混合结构的方法学习的重点在于局部的计算机视觉问题,例如 DSAC++中的2D-3D匹配,HF-Net中的全局、局部描述子。

辅助学习得益于新增加的辅助任务,提供了场景中的新的信息以及提供了重要的图像patches(VLocNet, VLocNet++)。

此外,通过创造性地整合任务,损失和权重来捕获场景的不同方面,可以在同一方法的不同变体之间显示出更好的性能。例如在增加了语义分割的辅助任务后, VLocNet++ 相比于 VLocNet获得了非常大的提升。

在所有方法中,从室内到室外精度都会下降。有些如VLocNet、DSAC++在大的户外场景中出现了学习失败(不收敛)的现象,一种可能的解释为:模型容量受到模型可学习的空间范围的限制。而HF-Net由于其分层结构,能够正常运行。

尽管混合模式的模型展现出了SOTA的性能,且少部分混合结构(HF-Net)能够在大的户外场景中工作,但是end2end的模式在推理速度(实时)、模型结构的简洁上具有绝对优势。

一些实现和部署的实用说明:

复现代码或者运行开源代码需要花很多精力解决一些没有被提到的问题,这里给出一些可供参考的措施。

  1. 四元数的正则化

    一些模型在训练阶段对表示旋转量的四元数不进行归一化。由于没有显式约束,估计的四元数可能无法映射到有效的旋转。结果导致取向误差可能取非数值(NAN)。

    作者在实验中发现如果使用pose loss作为损失函数,且为PoseNet-like的模型,其所估计的四元数的范数随时间推移接近1,即单位四元数。尽管如此,大多数方法在训练时还是使用了归一化。在测试时,估计的四元数被归一化,以避免无效的方向预测值。

  2. 相对位姿数据的计算

    有些方法除了绝对姿势外,还需要相对姿势来训练。

    图像需要首先按其捕获时间进行排序,对于具有K个序列的场景,将有K个(非重叠)序列对列表

    但是在NNnet中,选择具有足够视觉重叠的图像对用于训练中。作者使用像素重叠的比例来衡量视觉重叠度。

    或者,可视重叠可以基于摄像机截头体信息或通过测量通过同形或投影(与地面真实姿势)计算的匹配之间的重叠来量化。

    本文描述的所有论文中,相对位姿均指的是从参考图像到目标图像的运动,或者在序列场景中,是从It1I_{t-1}ItI_{t}的运动.

  3. 损失函数和优化方法

    Pose loss是最简单版本的损失函数,包含平移误差和旋转误差。但是需要确定β\beta参数。经验表明,在室内场景设为接近1的值可以达到较好的效果。PoseNet2则提出,该参数是场景的特征,故将其设置为一个可学习的参数。

    VLocNet 和VLocNet ++中则使用了新的优化策略。选择优化绝对位姿误差和相对位姿误差之中的一个。相比于将二者进行联合优化,性能更好。

未来的挑战和方向

普遍挑战

绝对位姿估计涉及到一些并非深度学习独有的挑战,即绝对位姿估计中存在的普遍挑战:

  1. 真值获取

    评估任何姿态估计器的基本要求是拥有准确的姿态真值。获取此类数据通常需要昂贵的原始数据采集(例如,激光雷达和带有精确GPS的摄像机的校准装置)和用于重建三维模型的软件(例如,COLMAP、Bundler等),这些软件通常耗时、计算量大且运行繁琐。

  2. 隐私

    准确的姿势估计通常需要密集的三维模型。这意味着这样的模型可以提供对私人场景(例如卧室)的详细描述。此外,Pittaluga等人阿尔哈维最近的研究表明(《Revealing scenes by inverting structure from motion reconstructions》),即使是来自SfM的稀疏三维点云模型也能保留足够的信息来重建场景的实际外观。此外,在推断用户所拍摄图像的姿势的应用中,有理由假设场景中的个人将在不知情和/或未经允许的情况下被定位。

  3. Benchmark

    虽然位姿误差通常在论文中报告,用于不同姿势估计器的交叉比较,但其他关键方面,如推断时间和内存占用并不是一致发布的。这就妨碍了在某些情况下的全面比较(例如,资源有限的实时应用程序)

  4. 视觉识别

    场景动态以及闪电,季节性和视点的变化会极大地影响场景的视觉外观,使其难以根据视觉提示进行定位。 此外,纹理和重复元素对依赖于局部信息进行2D-2D或2D-3D匹配的方法提出了挑战。

特有的挑战

除了上述挑战之外,使用深度学习的方法带来了一些新的挑战:

  1. 过拟合。研究者因此使用了替代的损失函数来更好的捕获场景的几何或时空约束,或者融合其他数据源(VO,IMU,GPS),如:

    《Deep auxiliary learning for visual localization and odometry》

    《Geometry-aware learning of maps for camera localization》

    《Vlocnet++: Deep multitask learning for semantic visual localization and odometry.》

    《Deep Global-Relative Networks for End-to-End 6-DoF Visual Localization and Odometry》

    《Relocnet: Continuous metric learning relocalisation using neural nets.》

    《DSAC-differentiable RANSAC for camera localization.》

    《Learning less is more-6d camera localization via 3d surface regression》

  2. 用于获取3D模型的摄像头与最终用户的摄像头之间的差异可能会导致训练数据集和测试数据集的分布之间出现差异,从而导致推理时的性能较差。

    利用神经样式传递和生成对抗网络进行数据增强可以丰富场景训练数据,从而缓解这一问题

  3. 对于诸如VLocNet ++和DSAC ++之类的当前最先进的姿势估计器,未见场景的泛化仍然是一个未解决的问题。

    为了避免这个问题,整个目标区域应包括在训练过程中。 为了解决网络的容量限制,可以将全局场景分解为单独的部分重叠的场景,这些场景将用于训练单独的模型,以及推理时的查询

  4. 随着对移动设备深度学习的广泛需求,推理时间和内存占用已成为重要因素。

    HF-Net的成功以及网络蒸馏技术的最新发展,使我们期望出现更多基于实时的、轻量的姿势估计方法。

  5. 迁移学习

    以上论文均使用了迁移学习技术。然而,最近的几项研究表明,在许多情况下,如果有高质量的中等大小数据集,从头开始的训练会产生更好的结果。(《Do better imagenet models transfer better》)

    这一发现是否适用于deep位姿估计,至今仍是一个开放问题

  6. 置信度

    与分类任务相反,在分类任务中,softmax函数的输出可以用作概率的替代值,姿势估计器不提供对其置信度的度量。 评估网络不确定性的最新进展(《 Learning Loss for Active Learning》)(在未使用softmax或类似功能的情况下)可用于将深度姿态估计与定位的置信度结合在一起(置信度重要的一点是,可以表明模型可能定位失败)。

综上,有发展前景 的三种方法为:辅助学习(VLocNet++),混合分层结构(HF-Net),基于几何结构的局部学习方法 (DSAC++). 他们的共同点是使用了场景的几何信息,这说明场景几何是精确估计位姿的关键,这与论文《Understanding the Limitations of CNN-based AbsoluteCamera Pose Regression》中的结论相同:端到端的位姿回归器与基于图像检索的位姿逼近更加相关,现有方法并不能够稳定的超越基于图像检索思想的baseline,且他们均不能超越基于结构的方法。

为了解决视觉识别方面的挑战,除了场景的几何形状以外,有关场景的其他信息也可能是有益的。例如,时间信息、语义分割和注意图可以帮助识别显著特征。另外,辅助数据比如来自IMU、GPS和其他传感器可以用于提高性能。

混合方法,尤其是分层方法,可以扩展为采用先进的粗到细匹配策略。

这里所讨论的挑战要求对创造性和新颖的思想进行研究。我们希望这篇综述能为有兴趣的读者提供必要的工具,使他们能够将相机姿态估计的研究历程与深入学习结合起来。