论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)

8. 行动和姿态估计

8.1 2D运动估计-光流

  光流被定义为两个图像之间的亮度图案的二维运动。该定义仅表示图像平面中强度的运动,而不表示场景中的对象的3D运动。 恢复3D运动本身是8.2节中讨论的场景流的目标。 图23显示了合成Yosemit序列,其中光流基础数据是由Yosemite山谷的山脉深度图上的纹理映射生成的。 光流提供有关场景的重要信息,并作为若干任务的输入,例如自我运动估计(第8.3节),运动结构和跟踪(第9节)。 关于这个问题的研究始于几十年前,由Horn&Schunck(1981)提出的变分公式假设像素的亮度随时间变化是恒定的。 光流是一个反问题,其中给出的信息不足以完全指定解决方案。 像素处的亮度仅提供一个约束,而未知运动矢量具有两个分量。 这被称为孔径问题,并且只能通过引入附加约束来解决,该附加约束通常是鼓励相邻像素之间的类似运动矢量的平滑度假设。 尽管光流问题有着悠久的历史,但是对于现代方法来说,遮挡,大位移和精细细节仍然是具有挑战性的。 光流定义的基本问题是除了感兴趣的实际运动之外,照明变化,反射和透明度也可以引起除运动之外的强度变化。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图23:Quam(1984)生成的Yosemite序列和Heeger(1988)创建的相应真实值流程。 该序列随后被并入Baker等人的Middlebury数据集中。(2011年)。 改编自Heeger(1988)。
变分公式:传统上,光流问题已经采用变分公式。 变分方法最小化由数据项组成的能量方程,假设外观随时间变化很小,以及平滑项,鼓励空间相邻像素之间的相似性。 Horn&Schunck(1981)引入了亮度恒定性假设,该假设像素的强度值随时间的恒定。 考虑一个像素,这个假设产生一个具有两个未知数的方程,这个方程不能这样解决(孔径问题)。 为了估计光流,需要额外的约束。 使变分光流估计正则化的常用方法是鼓励空间相邻流向量的相似性。这种先验的动机是流场通常是平滑的,并且不连续性通常仅在对象边界处发生。 Horn&Schunck(1981)的原始公式在数据和平滑项中使用了二次罚函数。这具有主要限制,即不能处理违反亮度恒定性假设(如变化的照明条件)。缓解这个问题的一种非常流行的方法是使用Black&Anandan(1993)提出的鲁棒惩罚函数。此外,已经提出了几种不同的数据项,它们受光照变化的影响较小。 Vogel等人(2013)在KITTI数据集的统一测试平台上系统地评估基于像素和基于图块的数据成本(Geiger等人(2012b))。在实际数据上,他们发现基于图块的数据项比基于像素的数据项表现更好。 Horn&Schunck(1981)对原始方法的另一个限制是均匀的非鲁棒平滑项不允许流动不连续。然而,在现实世界场景中,不同的物体经常在其边界处引起光流不连续,因此违反了该假设。 Zach等人使用的总变异正则化(2007)用L 1范数代替二次惩罚,以保持流场中的不连续性。 该模型的另一个缺点是它适用于前平行表面,这对现实场景来说不是一个现实的假设。因此,Bredies等人提出了总广义变化(TGV)模型的高阶正则化。(2010年)。 TGV先验可以更好地表示真实数据,因为它们利用分段仿射运动模型。 Ranftl等人的非局部全广义变异。 (2014)是该模型的扩展,其在当地社区中实施分段仿射假设。 他们观察到,只考虑直接邻居会导致数据项模糊不清的区域的性能下降。 齐默等人(2011)为变分公式提供了图像和流动驱动正则化器的详细评估,并讨论了不同数据数据项的质量。 除了模型规范之外,优化方法的选择及其实现是影响变分光流估计算法性能的附加因素。Sun等人提供了光流方法的详细研究(2014)。 他们揭示了现代光学流动方法成功的原因,并提出了一种用现代技术优化经典方法的方法。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图24:快速手部动作(左)是经典变形方法失败的示例(中间左侧),但Brox&Malik(2011)引入的稀疏匹配有助于估计流量(中间右侧)。 流程的颜色编码在右图中可视化。 改编自Brox&Malik(2011)。
稀疏匹配:一个主要的挑战,特别是对于变分方法,是对大位移的估计,因为通常使用仅在像素运动的情况下保持的线性近似。 这个问题通常采用从粗到细的策略来解决,在较粗糙的分辨率上估计流量以在更精细的分辨率上初始化估计。 虽然这种策略适用于复杂程度较低的大型结构,但在此过程中往往会丢失精细的几何细节。 此外,对于通信估计很重要的纹理细节在粗分辨率下丢失,因此导致优化器达到局部最小值。 图24中用快速移动的手示出了丢失细节的一个示例。如Brox&Malik(2011)所提出的,通过将稀疏特征整合到变分公式中可以减轻这些问题。 从粗网格上的最近邻搜索获得的特征匹配在粗到细优化中用作软约束。 虽然在图24中,翘曲方法无法恢复手的光流,但是特征匹配导致优化到正确的解决方案。 Revaud等人提出了另一种处理大位移的可能性。(2015年)。它们用稀疏匹配的插值替换粗到精策略,以全分辨率初始化密集优化。 使用DeepMatching获得稀疏匹配,DeepMatching是Weinzaepfel等人引入的深度神经网络匹方法法。(2013年)。 与DeepMatching相比,Menze等人(2015a)使用近似最近邻搜索来生成一组候选区域作为要在离散优化框架中使用的候选。 通过将匹配的数量限制为具有非最大值抑制的最可能的匹配并利用成对电位的截断形式,推断是可行的。 由于Siamese网络在立体匹配领域的成功(Zbontar&LeCun(2016))(见7.1节),Güney&Geiger(2016)将这项工作扩展到2D图块匹配的学习。他们进一步研究了Yu&Koltun(2016)提出的用于语义分割的扩张卷积的感受野大小的重要性。 Chen和Koltun(2016)认为,用于使推理更加可行的启发式剪枝操作破坏了映射空间的高度规则结构,并提出了对整个空间的离散优化。 Minonvolutions用于降低复杂性并使用Kolmogorov(2006)的Tree-Reweighted Message Passing的修改版本有效地优化大标签空间。 Wulff&Black(2015)提出了一种从稀疏匹配中获得密集光流的不同方法。在他们的方法中,光流场被表示为从参考流场学习的基础流场的加权和,其已经从好莱坞电影中获得评估。 他们通过找到相对于检测到的稀疏特征对应关系最小化误差的权重来估计光流。 虽然这会导致流场过于平滑,但这种方法非常快。 此外,还采用了较慢的分层方法,可以更好地处理流动不连续性。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图25:KITTI 2012的性能和速度之间的权衡Geiger等。(2012B).改编自Wulff&Black(2015)。
高速流动:除了一些例外(Wulff&Black(2015); Timofte&Gool(2015); Weinzaepfel等人(2013); Farneback(2003); Zach等人(2007)),大多数光流方法效率很低 并且不能实时应用,但这些要求是自动驾驶应用所必需的。 在KITTI 2012基准测试中,不同算法的准确性和速度之间的权衡取决于Geiger等人(2012b)如图25所示。 基于变分推理的方法产生最佳精度,但属于最慢的运动估计方法集。 然而,Zach等人提出了基于对偶的全变差光流方法(2007)允许高效的GPU实现,以320×240的分辨率实时(30 Hz)执行。稀疏匹方法法通常比变分公式更有效率,但通常需要变分细化作为后处理步骤以实现亚像素精度。 最近对光流问题的深度学习的引入产生了几种几乎实时的方法(Dosovitskiy等人(2015); Ranjan&Black(2016)),包括Ilg等人(2016),它在流行的数据集上实现了最先进的性能。 这些方法将在下面讨论。Kroeger等人提出的方法(2016)实现权衡准确性和计算时间。 他们通过逆搜索实现了快速图块对应,并获得了密集的流场,并且沿着多个尺度聚集了图块。 这使他们能够以高达600 Hz的频率估算光流,但代价是精度低。
当前最高水平:目前,Sintel Butler等(2012年)和KITTI Geiger等人。 第2节中讨论的(2012b,2013)是用于评估光流算法的最流行的数据集。 但是,在本次调查中,我们专注于自动驾驶应用。 因此,我们在比较方法时只会参考KITTI排行榜。 尽管如此,并非专门为自动驾驶设计的光流方法在Sintel上具有相似的排名。 在表7中,我们显示了KITTI 2015基准测试的排行榜。使用异常值的百分比来评估方法的性能,异常值是绝对端点误差(EPE)超过3个像素和其真实值的5%的流向量。 异常值的百分比在背景(F1-bg),前景(F1-fg)和所有区域(F1-all)上取平均值。 此外,还提供了输出流场的密度和运行时间。表现最佳的方法要么学习端到端的光流(Ilg等人(2016)),要么使用语义分割将场景分割成独立移动的物体Bai等。(2016); 塞维利亚 - 拉拉等人。(2016)。 性能最佳的方法FlowNet2(Ilg等人(2016))训练深度神经网络来解决光流问题。
极线流:在自动驾驶的背景下,简化的假设可用于缓解光流问题。 假定静态场景或将场景分解成刚性移动的物体允许将光流作为沿着从扩展焦点辐射的极线的匹配问题处理。 Yamaguchi等人(2013)提出了倾斜平面马尔可夫随机场,其表示具有倾斜平面的每个区段的极线流动。 该方法需要耗费时间进行优化,但可以通过Yamaguchi等人的联合立体匹配和光流的方法来避免。(2014)。 他们假设场景是静态的,并使用立体匹配和视频的联合信息实现新的半全局块匹配算法。 这一方法使他们在KITTI 2012中排名第三,同时比最佳表现方法快10倍。 与这些方法相反,Bai等人(2016)仅将倾斜平面模型用于背景流估计。实例分割允许它们为每个移动物*定独立的极线流估计问题。 而对于KITTI 2012而言,由于静态场景,这种方法的优势并不明显,在包含动态场景的KITTI 2015上,它们可以获得更好的效果(表7)。
语义分段:自动驾驶环境中的场景通常由静态背景和动态移动交通参与者组成。 可以通过将场景分成独立移动的对象。 如上所述,Bai等人(2016)(2016)中提取使用实例级分割交通参与者和对不同的实例独立地估计光流。塞维利亚 - 拉拉等人(2016)以多种方式使用语义分割进行光流估计:一方面,语义提供关于对象边界的信息以及用于推理深度排序的对象之间的空间关系。另一方面,场景的划分允许Sevilla-Lara等人(2016)根据相应的对象类型利用不同的运动模型,类似于Bai等人(2016)。 平面区域的运动用单应性建模,而独立运动的物体通过仿射运动建模,允许偏差。 像植被这样的复杂物体用经典的空间变化密集流场建模。 最后,对象随时间的恒定性用于促进光流的时间一致性。
置信度:考虑到光流中仍存在的挑战,需要一种评估估计流量质量的置信度量。 已经提出了基于空间和时间梯度的若干度量(Uras等人(1988); Anandan(1989); Simoncelli等人(1991)),其量化了估计特定图像的流量的难度。 相比之下,已经提出了算法特定的度量(Bruhn&Weickert(2006); Kybic&Nieuwenhuis(2011)),其仅对特定的一组方法给出估计的置信度。 基于学习的测量如Kondermann等人(2007,2008)学习了一种模型,该模型将流动算法成功与时空图像数据或计算流场相关联。 Mac Aodha等人给出了对不同置信度测量的详细评估。(2013年)。此外,他们提出了另一种基于深度学习的方法,该方法使用多种特征类型,例如时间,纹理,距图像边缘的距离等,以估计给定方法成功的置信度。
深度学习:大多数光流方法都没有包含任何高级信息,如语义,这使得难以解决歧义。 关于物体及其材料特性的知识可用于模拟反射率和透明度,这将使得光流估计不受这些现象的影响。最近卷积神经网络学习高级信息的成功导致了将它们用于光流问题的尝试。 Dosovitskiy等(2015)介绍了使用CNN学习端到端光流的FlowNet。 FlowNet由提取重要特征的收缩部分和产生高分辨率流动的扩展部分组成。 他们提出了两种不同的架构:堆叠图像的简单网络和关联单独处理图像的特征的复杂网络。 学习光流的一个问题是训练数据量有限。KITTI 2012 Geiger等人(2012b)和KITTI 2015 Menze&Geiger(2015)仅提供约200个训练样例,而Sintel Butler等人(2012)拥有1041个训练图像对。 由于这些数据集太小而无法训练大型CNN,因此Dosovitskiy等人(2015)通过在Flickr的图像上渲染3D椅子模型来创建飞行椅数据集。 这种端到端光流学习的第一次尝试表明,有可能学习光流但无法在KITTI(表7)或Sintel上达到最先进的性能。 然而,与几乎实时执行的方法相比,它们表现最佳。与Dosovitskiy等人(2015)的承包和扩展网络形成对比,Ranjan&Black(2016)展示了SpyNet,这是一种受传统光流估算技术中利用的粗到精匹配策略启发的架构。 网络的每个层表示不同的比例,并且仅估计相对于翘曲图像的残余流量。 这种方法使他们能够实现与FlowNet类似的性能,同时更快。 比FlowNet小96%,主要贡献是内存效率,这使其对嵌入式系统具有吸引力。 Ilg等人(2016)通过堆叠架构并将堆叠网络融合到专门针对小运动的子网来呈现FlowNet2,FlowNet的改进版本。与SpyNet类似,他们也将扭曲的图像输入到堆叠网络中。 但是,每个堆叠网络估计原始帧之间的流量,而不是SpyNet中的剩余流量。 与FlowNet和SpyNet相比,他们使用FlyingThings3D数据集(Mayer等人(2016)),其中包括22k静态3D场景渲染以及来自ShapeNet数据集的移动3D模型(Savvaetal(2015))。 FlowNet2与Sintel上最先进的方法相当,在KITTI 2015(表7)上表现优于其他所有方法,同时也是最快的方法之一。 它们为8 fps和140 fps之间的频谱提供不同的网络变体,允许在准确度和计算资源之间进行权衡。
讨论:强大的光流方法需要处理不是由感兴趣的实际运动引起的强度变化,而是由照明变化,反射和透明度引起的。 在现实世界的场景中,重复模式和遮挡是错误的常见来源。 虽然新的数据数据项已经解决了光照变化(Black& Anandan(1993); Vogel等人(2013)),但反射,透明度,模糊和遮挡引起的问题仍然很大程度上没有得到解决。 在图26中,我们显示了KITTI 2015上15种表现最佳的方法的累积误差(Menze&Geiger(2015))。 对于移动到图像域之外的区域,可以观察到最高误差。在许多情况下,无纹理,反射和透明区域也会导致大的错误。 为解决这些问题,必须更好地了解世界。 语义学(Bai等人(2016); Sevilla-Lara等人(2016))和学习的高容量模型(Dosovitskiy等人(2015); Ranjan&Black(2016); Ilg等人(2016))已经证明可以通过解决数据中的模糊来估计流量改善光流。 此外,场景流的方法,其共同推理流和深度已经实现了令人鼓舞的成绩。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图26:KITTI 2015光流分析。 在KITTI 2015 Flow基准测试中发布的15种最佳光学流动方法的累积误差。 根据Menze&Geiger(2015)中定义的3px / 5%标准,红色对应于大多数方法导致坏像素的区域。黄色对应于某些方法失败的区域。 通过所有方法正确估计的区域显示为透明的。

8.2 3D运动估测-场景流

  立体匹配不会显示任何运动信息,并且来自单个摄像机的光流不受很好的约束,并且缺少投影丢失的深度信息。另一方面,人类能够随着时间的推移从观察中毫不费力地整合深度和运动线索。 这种推理对于自动驾驶中的许多任务是必不可少的,例如3D世界中的运动物体的分割。 场景流程将光流传播到3D,或者将密集的立体匹配推广到动态场景。给定立体图像序列,目标是估计三维运动场,其是场景中每个可见表面上的每个点的3D运动矢量。 基于图像的场景流估计的最小设置由图27中可视化的两个连续立体图像对给出。建立四个图像之间的对应关系导致两个帧中的表面点的3D位置,因此完全描述了那个表面点3D运动。 尽管存在一些用于实时目的的早期稀疏方法,但是密集输出是优选的(Franke等人(2005))。场景流与立体声和光学流动共享一些挑战,例如在弱纹理区域中匹配模糊度和孔径问题。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图27:场景流程。 基于图像的场景流估计的最小设置由两个连续的立体图像对给出。 改编自Geiger(2015)。
变分方法:在Vedula等人(1999)的开创性工作之后,该问题传统上是在变化的环境中制定的,其中优化以粗到细的方式进行,并且利用局部正则化器来促进深度和运动的平滑性。 Wedel等人(2008,2011)通过将运动估计与视差估计解耦同时保持立体约束来提出变分框架。 从每个时间步长的预先计算的视差图开始,估计参考帧的光流和另一视图的视差。 通过为每个任务选择最佳技术,解耦的动机主要是计算效率。 此外,Wedel等人(2011)提出了一种基于残差图像改变光照条件的解决方案,并提供了一种不确定性测量,该测量显示对于物体分割是有用的。 Rabe等人(2010)将卡尔曼滤波器与时间平滑性和鲁棒性的解耦方法相结合。
分段刚性:类似于立体匹配和光流,可以利用先前关于几何和运动的假设来更好地处理场景流问题的挑战。 Vogel等人(2015)和Lv等人(2016)将动态场景表示为刚性移动平面区域的集合,如图28所示.Vogel等人(2015)联合恢复该分割,同时推断每个分割的形状和运动参数。他们使用离散优化框架,并以几何,运动和分割的空间正则化的形式结合遮挡推理以及其他场景先验。 此外,他们通过约束分段在时间窗口上保持稳定来推理多个帧。他们的实验表明,他们的视图一致的多帧方法显着提高了挑战场景的准确性,并在KITTI基准测试中实现了最先进的性能(见表8)。 使用相同的表示法,Lv等人(2016)专注于解决问题的有效方法。 他们假设固定的超像素分割并在连续域中执行优化以便更快地推断。 从基于深度匹配的初始化开始,它们独立地细化场景的几何和运动,并最终使用Levenberg-Marquardt算法执行全局非线性细化。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图28:分段刚度。 场景被建模为刚性移动的平面段的集合。 改编自Vogel等人(2015年)
物体层面的分段刚性:Menze&Geiger(2015)也遵循倾斜平面方法,但除了Vogel等人(2015); Lv等人(2016),他们将场景的分解模型化为少数独立移动的物体和背景。通过调节超像素化,他们联合估计这种分解以及物体的刚性运动和离散连续CRF中每个超像素的平面参数。与Vogel等人(2015年)相比; Lv等人(2016),他们利用更紧凑的表示,隐含地在更远的距离上正规化。他们还通过使用详细的3D CAD模型从KITTI原始数据集中注释动态场景来呈现新的场景流数据集。他们在Menze等人(2015b)中进一步展示了该模型的扩展,其中除了刚性运动和分割之外还推断出物体的姿态和3D形状。特别地,它们将可变形的3D活动形状车辆模型结合到场景流方法中。
最新技术:在表8中,我们显示了KITTI场景流程2015基准测试方法的排名(Menze&Geiger(2015))。 根据错误像素的百分比比较这些方法。具体而言,表格的每一列显示第一帧(D1)中立体差异离群值的百分比,第二帧(D2)中立体差异异常值的百分比,光流偏离量(F1)的百分比,以及场景流异常值的百分比( SF),即D0,D1或F1中的异常值。前景/背景区域的异常值分别可以在基准30的网站上找到,由于空间原因在此省略。 表现最佳的方法(Vogel等人(2015); Menze&Geiger(2015); Lv等人(2016))使用刚性运动段的假设。 此外,Menze&Geiger(2015)模拟了独立运动物体的运动,并在前景区域的FI和SF上表现更好,但它比其他两个更长。 Lv等(2016)通过关注连续域中的有效优化,更快地获得了良好的结果。 Derome等人(2016)提出了一种GPU上的两阶段方法,其运行速度比其他方法快几个数量级。 首先,他们使用立体和视觉测距来计算静态流量,并使用实时光学方法校正动态流量Plyer等人(2014)。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
表8:KITTI 2015场景流程排行榜。 根据Menze&Geiger(2015)中针对第一帧(D1)中的视差,第二帧(D2)中的视差,两帧(F1)之间的光流的定义的3px / 5%标准,数字对应于坏像素的百分比。 以及产生最终场景流量度量(SF)的所有标准的组合。 水平线下方的方法是较旧的条目,作为参考。
讨论:场景流估计与立体声和光流共享大部分挑战,同时整合更多信息以获得更好的结果。 理想情况下,方法应该利用深度和运动线索来推理动态3D场景。 我们在图29中显示了KITTI场景流基准的前5种方法的累积误差。由于匹配问题和汽车的独立运动,汽车表面是最成问题的区域。 靠近图像边界的像素是另一种典型的误差源,尤其是在发生大规模变化的汽车前方的路面上。 尽管局部平面度和刚度假设缓解了这个问题,但由于植被,行人或自行车等复杂的几何对象,它们经常受到打扰。 错误的平面估计,例如延伸到多个表面的超像素会引起额外的问题,尤其是在物体的边界处。语义图像理解可以帮助解决这些问题,特别是在对象级别通过分割汽车实例。 整合更多信息的另一种方法是考虑长期的时间交互。

8.3 自运动估计

  自我运动的估计,汽车的位置和方向,是实现自动驾驶的另一个基本问题。 传统上,这个问题通过车轮编码器来解决,车轮编码器通过随时间积分测量来测量车轮的旋转。 这些方法在不平坦的地形或不利条件下遭受车轮打滑,并且不能从测量中的误差中恢复。 视觉里程计或基于激光雷达的测距技术,它们可以从图像或激光测距中估算自我运动,因为它们受这些条件的影响较小,并且可以通过识别已经访问过的位置(称为环闭合)来纠正估计误差(第8.4节)。1)。 Scaramuzza&Fraundorfer(2011)和Fraundorfer&Scaramuzza(2011)提供了该主题的详细教程。
公式:在视觉测距中,目标是从图像中恢复一个摄像机或摄像机系统的完整轨迹。 这通过估计两个时间步长处的相机位置之间的相对变换并且随时间累积所有变换以恢复完整轨迹来递增地完成。 增量方法如图30所示。不同的方法可分为两类:基于特征的方法,从原始测量中提取中间表示(特征),以及直接在原始测量上操作的公式。 基于特征的方法通常仅适用于符合所使用的要素类型的环境。 特别是在人造环境中,考虑关键点,关于直边和弯边的重要信息被丢弃。相反,直接方法利用整个图像的梯度信息。 因此,这些方法通常在环境开关很少的关键点上实现更高的准确性和鲁棒性。 该领域由基于特征的方法主导,因为它们通常更有效,但直接方法最近越来越受欢迎。 在基于特征和直接的公式中,提取的表示或原始测量通常用作概率模型中的输入,以计算未知的隐藏模型参数,例如相机运动或世界模型。 最大似然法通常找到最大化获得测量概率的模型参数。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图29:KITTI 2015场景流分析。 在KITTI 2015场景流程基准测试中发布了15种表现最佳的场景流程方法的累积误差。 根据Menze&Geiger(2015)中定义的3px / 5%标准,红色对应于大多数方法导致坏像素的区域。 黄色对应于某些方法失败的区域。 通过所有方法正确估计的区域显示为透明的。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图30:Scaramuzza&Fraundorfer(2011)的视觉测距问题图示。 使用视觉特征获得两个相邻摄像机位置(或摄像机系统的位置)之间的变换T k,k-1。 所有变换的累积产生相对于初始坐标系k = 0的绝对姿态C k。改编自Scaramuzza&Fraundorfer(2011)。
漂移:增量方法极大地受到由各个变换的估计误差的累积引起的漂移的影响。它通常通过对最后x个图像的迭代细化来解决。这是通过三角测量将图像点重新投影到3D并最小化重投影误差平方和(滑动窗口束调整或窗口束调整)来完成的。减少漂移的另一种方法是同时定位和建图(SL等)(Lee等人(2013a); Engel等人(2015); Pire等人(2015); Mur Artal等人(2015)),其共同估计位置和环境地图,用于识别之前访问过的地点。已映射位置的检测称为环闭合,用于减少轨迹和地图的漂移并实现全局一致性。一些工作侧重于特定的环闭合检测(Cummins&Newman(2008); Paul&Newman(2010); Lee等(2013b)),将在8.4.1节中详细讨论。这些方法在计算上是昂贵的,并且仔细选择提取的特征已经可以减少估计误差和漂移。基特等人。 (2010)例如使用bucketing来获得分布均匀的角落特征匹配,而Deigmoeller&Eggert(2016)在流量和深度估计上使用不同的启发法来拒绝非稳定特征。
2D到2D匹配:根据两个时间步长之间的对应点的表示方式(2D或3D),必须使用不同的方法来获得相机变换。 在2D特征匹配(2D到2D)的情况下,可以估计基本矩阵,其表示两个相机之间的对极几何。 可以直接从基本矩阵中提取平移和旋转。 八点算法(Longuet-Higgins(1981))是使用校准和未校准相机的简单解决方案,而五点算法(Nistér(2004))是一种最小的解决方案,仅适用于校准场景相机。 Scaramuzza等人(2009)使用单一图像来估计基本矩阵,其中仅使用一个2D特征对应,使用轮式车辆的非完整约束来施加限制性运动模型。Lee等人(2013a)将这一想法扩展到一种新颖的两点最小解决方案,该解决方案能够使用多相机系统获得公制尺度。 与非完整约束相反,Lee等人(2014)假设垂直方向是已知的(来自惯性测量单元)并且为多相机系统提出了最小的四点和线性八点算法。 Kitt等人(2010)使用三焦张量估计自我运动,三焦张量涉及三幅图像之间的特征。 在RANSAC中使用这些算法,可以在这些特殊情况下稳健地获得所有6个*度。 保证使用RANSAC找到正确解决方案所需的迭代次数取决于可以实例化模型的点数。 因此,减少的对应数量将减少迭代次数和方法的运行时间。
3D到2D匹配:在前一时间步的3D特征和当前时间步(2D到2D)的2D图像特征的情况下,根据立体数据(或使用单眼图像时的三角测量)估计变换。 Geiger等人(2011)提出了一种使用视觉测距法的实时三维重建方法。 它们使用斑点,角点检测器检测稀疏特征,并通过最小化重投影误差来估计自我运动。 使用卡尔曼滤波器来细化估计,而通过对图像点进行三角测量来获得密集的3D重建。 相比之下,Engel等人(2013)连续估计了一个半密集的逆深度图,用单目相机进行实时视觉测距。对于具有不合格梯度的像素,使用多视图立体匹配估计深度,并且由高斯概率分布表示。 深度估计在帧与帧之间传播,并且使用全图像对准来估计变换。 使用这种半密度方法,它们可以实现与完全密集方法相当的性能,同时不需要深度传感器。 Engel等(2016)提出了单眼视觉测距的直接稀疏方法。 他们使用完全定向的概率模型并联合优化所有模型参数(相机姿势,相机内在函数,反深度)。
3D到3D匹配:在处理3D对应(3D到3D)时,可以通过对齐3Dfeatures的twosets来获得变换。 在视觉测距的情况下,使用深度将来自图像的提取的特征投影到3D中,而诸如Zhang和Singh(2014,2015)的基于LiDAR的方法直接从传感器获得3D点。 由于小的基线和相对于距离的误差的二次增加,来自立体的三角形3D点将表现出大的各向异性不确定性。 因此,最小化图像中的重投影误差是更自然的,其中可以更容易地近似误差统计,而基于激光的方法不会遇到该问题,因此可以在3D空间中更容易地优化。

8.3.1 最先进的技术

  只有少数数据集用于视觉测距,大多数数据集太短或由低质量图像组成。 KITTI基准Geiger等。 第2节中讨论的(2012b)提供了具有挑战性的序列和评估指标的大型数据集。 我们在表9中提供了单眼方法的KITTI排行榜,表10中的立体方法和基于激光雷达的方法在表11中提供。性能用所有可能的子序列的平均平移和旋转误差来测量(100,… ,800)米。
单目视觉测距法:单目视觉测距方法仅可以按照一定比例恢复运动。 然后可以通过计算场景中的对象的大小,运动约束或与其他传感器的集成来确定绝对标度。 Longuet-Higgins(1981)提出的八点方法在存在噪声的情况下表现不佳,特别是对于未校准的相机。 Mirabdollah&Mertsching(2014)研究了基本矩阵的二阶统计量,以便用八点法减少估计误差。 他们使用泰勒展开到二阶项来获得协方差矩阵,该协方差矩阵与共面方程一起充当正则项。 由于缺乏深度信息,单眼视觉测距中的漂移问题尤其困难。通过实时单眼SfM系统中的地平面估计,Song&Chandraker(2014)处理尺度漂移并改进Mirabdollah&Mertsching(2014)的结果,如表9所示。它们将多个线索与学习模型相结合,以自适应权重地平面估计的帧观测协方差。 Mirabdollah&Mertsching(2015)使用迭代五点法提出了一种实时且稳健的单眼视觉测距方法。 他们使用概率三角测量法获得具有不确定性的地标的位置,并估计地平面上具有低质量特征的运动的尺度。 通过这种方法,它们优于表9中的所有单目视觉测距方法。由于KITTI数据集需要度量输出,因此规模估计对方法的性能具有强烈影响。
立体视觉测距法:立体视觉测距法没有估算比例的问题,因为它是从摄像机之间的基线直接知道的。 此外,它们允许通过自我运动估计和映射的联合公式来处理漂移问题。 因此,立体方法通常优于KITTI数据集上的单眼方法(参见表9和表10)。 Engel等人(2015)提出了一种实时大规模直接SLAM算法,该算法将时间多视图立体声与来自摄像机设置的静态立体匹配耦合(图31)。 这允许他们估计静态立体匹配中受限的像素的深度,同时避免使用多视图立体匹配发生的尺度漂移。 基于高对比度像素的光照一致性直接对准图像。 Pire等人。 (2015)将问题分为可以并行运行的摄像机跟踪和地图优化。在共享相同的地图时,跟踪任务匹配要素,创建新点并估计相机姿势,而地图优化通过束调整来细化地图。 该方法允许它们在更快的同时实现相同的性能。 Deigmoeller&Eggert(2016)采用了一种完全不同的方式,完全依赖于前面提到的纯测量。 通过对哈里斯角上的场景流的估计和具有不同启发式的特征的拒绝,它们在平移误差方面优于两个SLAM方法,但在表10中具有最高的旋转误差和运行时间。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图31:Engel等人(2015)的Stereo LSD-SLAM实时计算准确的相机移动以及半密集概率深度图。 深度可视化对于远处的场景点使用蓝色,对于近处的对象使用红色。 改编自Engel等人(2015年)。
  Persson等人(2015)提出了一种基于单目视觉测距技术的汽车应用的立体视觉测距系统。 特别是,他们使用运动模型预测跟踪通过匹配,类似于Song等人(2013)和延迟异常值识别。 他们认为立体技术优于单眼技术,因为问题的表述更容易。 因为他们需要处理的本质更困难的问题单眼技术应该更加细化和稳健。 这使得它们在表10中的平移误差中胜过其他方法。两种表现最佳的方法将旋转和平移的估计分离,因为它们的估计之间存在根本差异。平移取决于与旋转相反的深度。 Buczko&Willert(2016a)声称,深度估计误差会影响耦合公式中的旋转估计,并且可以通过解耦来避免。 因此,它们使用初始旋转估计来解耦旋转和平移光流。 然后使用所得特征来排除异常值。 Cvisic&Petrovic(2015)使用五点法和使用三点法的平移来单独估算旋转来计算运动。 它们还提供了适用于嵌入式系统的改进的IMU辅助算法版本。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
表10:KITTI Odometry立体声排行榜。 数字显示相对平移误差和相对旋转误差,在所有长度为100米到800米的子序列上取平均值。 水平线下方的方法是较旧的条目以供参考。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图32:Zhang和Singh(2014)的LOAM匹配两个连续的LiDAR扫描(LiDAR Odometry)并将新扫描注册到地图(LiDAR Mapping)。 改编自Zhang&Singh(2014)。
  Kre so&Segvi’c(2015)观察到摄像机校准对于视觉测距非常重要,并且像KITTI这样的预校准系统中的剩余校准误差对估计结果具有对抗性影响。 因此,他们建议通过利用真实值运动来校正相机的校准。 通过优化地面运动下相邻立体帧中点特征对应的重投影误差来恢复变形场。 使用变形场,他们获得了当时最先进的结果。
基于LiDAR的测距法:KITTI上表现最佳的方法是使用点云进行自我运动估计(表11)。 Zhang&Singh(2014)将SLAM问题分解为高频率的基于LiDAR的测距法,低保真度和低频LiDAR映射,如图32所示。基于LiDAR的测距法匹配两个连续的LiDAR扫描,而LiDAR映射匹配和 注册新的扫描地图。 这导致低漂移和计算复杂性,而不需要高精度范围的orinertial测量。 章&辛格(2015)通过视觉里程计在高频与低频这允许它们以进一步提高激光雷达映射组合扩展这项工作。
讨论:虽然有几种方法已经解决了单眼视觉测距中的尺度漂移问题,但他们无法与使用KITTI数据集上的3D信息的方法竞争。 虽然LiDAR为自我运动估计提供了最丰富的信息来源,但基于立体匹配的方法显示出有竞争力的结果。 在图33中,我们可视化KITTI基准测试中表现最佳的视觉测距方法的平均横向和旋转误差。 第二列显示平移误差,第三列显示旋转误差,而最后一列显示速度。 在强转弯中,最高的平移和旋转误差通常是正面的。此外,误差与速度和场景中独立移动的物体的数量相关,这降低了背景中的特征数量。 虽然在拥挤的高速公路场景中可以观察到大的错误(右起第二个),但是当高速公路为空时(右侧和第二个左侧)仅发生中度错误。 在特征位移较大的非常狭窄的环境中(右起第四个)也可以观察到更大的误差。 总的来说,到目前为止,使用3D信息实现了最准确的运动估计。 然而,与激光雷达扫描仪相比,立体相机是非常便宜的传感器,并且基于立体的方法获得了有竞争力的结果。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
表11:KITTI Odometry LiDAR排行榜。 数字显示相对平移误差和相对旋转误差,在所有长度为100米到800米的子序列上取平均值。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图33:KITTI Odometry。 从上到下:来自序列的示例图像,平均平移误差,平均旋转误差和速度。 平均值计算超过400米长的轨迹和KITTI网站上公布的15种表现最佳的方法。 较暗的颜色(即红色)表示较大的错误或较高的速度。 单行中的每个图形都以相同的方式标准化,以使它们具有可比性。

8.4 即时定位和地图构建(SLAM)

  详细的环境地图是自动驾驶汽车的路径规划和导航的常用先决条件。但是,在没有提供地图或不完整地图的地方,自动驾驶汽车需要在生成地图时定位自己。此外,需要不断更新地图以反映随时间的环境变化。在这种情况下,SLAM指的是在连续构建环境地图的同时估计主体的位置的任务。自动驾驶中的一个特殊挑战是这些系统需要实时处理大型环境。
公式:传统上,地图是由一系列地标来表示的,例如图像特征。SLAM的早期研究使用扩展卡尔曼滤波器(Smith et al.(1987))或粒子滤波器(Montemerlo et al.(2002))使用贝叶斯公式来解决这个问题。给定最后一个状态和当前观测值,当前状态(由姿态、速度和地标位置表示)将递归更新。但是,这个公式不适用于大型环境,因为过滤器更新的信任状态和时间复杂度随地图中地标数量的二次方式增长。信任状态表示所有变量对之间的所有相关性,即O(n2),并且每当观察到界标时,需要以相同的复杂度更新与所有其他变量的相关性。减少复杂性的一种解决方案是基于图形模型的过滤技术,该技术使用薄节点树(Paskin, 2003)保持对信任状态的可处理近似。然而,众所周知,当应用于非线性SLAM问题时,过滤总是会产生不一致的映射(Julier&Uhlmann(2001)),这在处理实际数据时通常就是这种情况。相比之下,完整的SLAM方法,例如基于图形或最小二乘的公式,可以提供考虑所有姿势的精确解决方案。Kaess等人(2008)提出了一种基于快速增量矩阵分解的增量平滑和映射方法。他们将Dellaert & Kaess(2006)关于非线性最小二乘问题矩阵分解的工作扩展到一种增量方法,这种方法只重新计算矩阵中变化的项。Kaess等人(2012)引入了贝叶斯树,这是一种新颖的数据结构,可以更好地理解图形模型推理与SLAM中的稀疏矩阵分解之间的联系。分解概率密度编码在贝叶斯树中,贝叶斯树自然映射到稀疏矩阵。
环境变化:SLAM项目的一个主要挑战是环境的变化,这些变化可能无法用地图来表示。为了缓解这个问题,Levinson等人(2007)创建了一个只包含很可能是静态特征的地图。使用3D 激光雷达,它们仅保留平坦表面并获得路面俯视图的红外反射率图。然后该地图用于实时定位具有粒子滤波器的车辆。Levinson&Thrun(2010)将这项工作考虑为地图是作为环境属性的概率分布而不是固定的表示。具体来说,概率图的每个单元都表示为其在汇出值上的高斯分布。这使他们能够更准确地表示世界,并以更少的错误定位世界。此外,他们还可以使用离线SLAM在不同时间对同一环境的多个通道进行对齐,以建立对世界日益强大的理解。

8.4.1 环路闭合检测

  已构建地图区域的重定位是SLAM的一个重要子问题,称为环路闭合检测。重定位用于校正轨迹中的漂移和由漂移引起的地图中的不准确性。 Cummins&Newman(2008)提出了一种基于外观识别场所的概率方法。他们使用词汇库学习地方外观的生成模型,因为视觉词的独特组合通常来自普通对象。这样生成的模型是健壮的,即使在视觉重复的环境中也能工作。该方法的性能在自记录数据集上得到证明,并在图34中可视化。Paul&Newman(2010)通过将与视觉词对的观察相关联的词之间的距离与随机图相结合来扩展这一想法。随机图模拟的是单词之间的两两距离,除了它们的出现的分布。Lee et al. (2013b)的研究表明,在具有重叠视图的多摄像机系统中,两个闭环点之间具有度量尺度的相对位姿可以直接从超极几何中得到。他们用平面约束简化了问题,用最小二乘优化估计了环路约束。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图34:由Cummins & Newman(2008)提供的基于外观匹配的环路闭合。两个概率大于99%的图像被标记为红色。改编自康明斯&纽曼(2008)。
基于LiDAR:在强烈的照明变化或强烈的视点变化的情况下,基于图像的闭环检测可能变得不可靠。 相比之下,基于LiDAR的定位不受照明变化的影响,并且不会因捕获的3D几何形状而受到视点变化的影响。 Dube’et al(2016)提出了一种基于匹配3D段的闭环检测算法。使用描述符的组合来提取和描述来自点云的片段。 通过在特征空间中获得具有kd树搜索的候选者并且使用随机森林估计候选者的匹配分数来执行片段的匹配。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图35:Frahm et al(2010)来自罗马(左)和柏林(右)的示例模型,其模型计算时间少于24小时。改编自Frahm等人(2010)

8.4.2 .视觉SLAM

  Lategahn等人(2011)提出了一种密集立体视觉SLAM方法,可以估计出密集的3D地图。通过使用稀疏视觉SLAM系统,他们可以获得姿态和稀疏地图。对于密集的三维地图,他们在局部坐标系中计算立体的密集表示,并用稀疏SLAM系统跟踪局部坐标系,不断更新地图。Engel等人(2014)通过优化相似变换的公式,对视觉测距半密度法(Engel等人(2013))进行了扩展,采用图像对齐和闭环检测。利用小基线的多视点立体估计半密度深度,使用位图优化创建和细化半密度图。由Leutenegger et al.(2013)提出的视觉和惯性信号融合利用了它们的互补性。他们使用非线性优化方法而不是过滤,并将IMU误差与地标的重新定位误差集成到联合成本函数中。mura - artal等人(2015)使用Rublee等人(2011)提出的ORB特性来跟踪、映射、重新定位和闭环。他们结合了环路检测(Ga’lvez-Lo’pez和Tardo(2012)),循环闭合(Strasdat等人(2010,2011))和姿势图优化(Ku¨mmerle等人(2011)))成一个系统。

8.4.3 构建地图

  对于自动驾驶应用程序,需要在不同层次的细节上使用度量和语义映射来解决不同的任务。尺度地图允许精确的定位,而语义地图可以提供特定问题的信息,比如自动停车的停车位。这些地图还可以在离线状态下使用昂贵的计算方法生成,然后整合到自动驾驶系统中。
尺度地图:Google街景项目(Anguelov等人(2010年))是世界各地城市中大量全景图像的一个突出示例。为了收集数据集,他们根据基于卡尔曼滤波器的方法估算姿势,融合来自GPS,车轮编码器和惯性导航的数据。100 Hz的估计允许精确地将来自15个小型相机的图像像素与来自激光扫描仪的3D光线相匹配。姿态估计通过网络的概率图形模型进行细化,该模型表示世界上所有已知的道路和交叉。从图像和激光扫描数据中,他们通过稳健地拟合粗网格来重建场景并获得逼真的3D模型。Frahm等人(2010)提出了一种来自互联网规模照片集的密集3D重建方法。使用2D外观,颜色和3D多视图几何约束的组合来估计图像之间的几何关系。他们通过快速平面扫描立体和深度地图融合的方法获得场景的密集几何形状。利用外观和几何限制,他们提出了一种高度平行的方法,允许一天之内在一台电脑上处理300万张图像。图35显示了从罗马和柏林的Flickr图像重建的两个示例模型。对于自动驾驶应用,通常足以在2D中(即,在鸟瞰视图中)绘制路面图,其允许相对于道路上的特征(例如道路标记或路面中的缺陷)进行定位。Geiger(2009)提出了一种在动态环境中进行道路拼接的方法,以创建无障碍的鸟瞰图。利用哈里斯角上的光流提取路面,用平面逼近。这允许用同构图描述图像之间的映射。最后采用多波段混合技术对道路图像进行组合。
语义地图:到目前为止讨论的所有方法都关注于创建尺度地图而忽略语义信息。然而,对于像自动泊车这样的任务,需要一个与尺度地图一起更新的语义地图。Grimmett等人(2015)将语义地图和尺度地图融合到仅用于视觉的自动停车中。他们用静态和动态标签更新地图,并使用主动学习来检测车道、停车位和人行横道。

8.5 定位

  定位是机器人学和视觉学研究得很透彻的问题,涉及的技术范围很广,从使用噪声感官测量的机器人室内定位到定位在世界各地拍摄的照片的位置。从自动驾驶的角度来看,主要任务是在地图上精确定位自我汽车。定位也是SLAM方法的一个重要子例程,在绘制环境地图时用于检测环路闭包和纠正漂移,见8.4.1节。
  定位可以使用像GPS系统这样的传感器或基于图像的视觉信息来完成。单独使用GPS通常提供5米左右的精度。虽然在开放空间中使用传感器的组合可以达到厘米级精度(Geiger et al. (2012b)),但在交通场景中,由于植被和建筑物遮挡或由于反射而产生的多路径效应等干扰效果,这种方法通常是不可行的。因此,独立于卫星系统的基于图像的定位具有高度的相关性。
早期基于图像的技术(Li et al., 2009);Zheng et al.(2009))将这个问题归类为一个预定义的地点集合,称为“地标”。其他的(如Hays & Efros(2008))则创建一个具有已知位置的图像数据库,并将定位作为一个图像检索问题进行表述。这些方法需要进行相似度测量,基于局部或全局外观线索来比较图像。数据库越大,定位任务就越困难。挑战包括外观的改变,相似的外观的地方,以及由于观察点或位置的改变。
调查:Lowry等人(2016)对地点识别研究的现状进行了全面的回顾。他们首先通过参考心理学和神经科学的研究来定义机器人导航环境下的位置。然后,他们回顾了使用本地或全局描述符以及尺度范围信息来描述地点的方法。它们还根据地图中的物理抽象级别以及地点描述中是否包含尺度信息提供分类。他们进一步讨论了地点识别解决方案如何隐式或显式地解释环境中的外观变化,最后就深度学习、语义场景理解和视频描述方面的进展提供了一些未来的方向。
蒙特卡罗方法:传统的地图定位方法采用蒙特卡罗方法,通过绘制一组样本来恢复物体位姿的概率分布。Dellaert等人(1999)将室内定位分为两个步骤:全局位置估计和随时间的局部位置跟踪。他们不是对概率密度函数本身进行建模,而是通过维护一组样本来表示不确定性,并使用蒙特卡罗方法随时间更新表示。这允许他们以高效存储的方式模拟任意多模态分布。与室内定位任务相比,由于规模问题以及传感器信息通常不可靠(例如GPS失效),室外定位通常更具挑战性。Oh等(2004)使用地图中可用的语义信息来补偿GPS传感器的失效情况。通过利用与环境有关的知识,他们将概率分配给地图上的目标区域,比如建筑物的零概率。他们在粒子滤波公式中加入了这些基于地图的先验,使运动模型偏向概率更高的区域。
尺度、拓扑、地形:视觉定位技术通常分为尺度和拓扑方法。尺度定位是通过关于地图的三维姿态计算来实现的。拓扑定位方法从有限的可能位置集合中提供粗略的估计,这些位置被表示为图中的节点,这些节点根据距离或外观标准被连接起来。尺度定位可以非常精确,但通常不适用于长序列,而拓扑定位可能更可靠,但只提供粗略的估计。Badino等人(2012)提出了一种地形测量方法,将拓扑定位和尺度定位结合起来,使用基于图形的方法提供精确的几何定位。与拓扑方法不同的是,图的粒度更细,每个节点对应于一个没有语义含义的尺度位置。在构建地图阶段,利用GPS在固定距离间隔下测得的车辆位置,将视觉或3D特征与相应的图形节点相关联,构建图形。在运行时,通过将从传感器数据中提取的特征与地图的特征数据库进行匹配,利用Bayes滤波器估计车辆在路线上位置的概率分布,实现实时定位。然而,与传统的定位方法不同的是,它们不需要环境的视觉特征数据库,而是直接根据从OpenStreetMap中提取的道路网络构建这个图。他们进一步提出了概率模型,其允许使用视觉里程测量来推断车辆位置上的分布。为了在非常大的环境中易于处理,它们利用了几种解析近似法来进行高效的推理,与基于粒子滤波技术相比,其稳定性更高,因为前者易出现当长时间存在模糊性时粒子会耗尽的问题。
规模和精度:对于定位问题,目标区域的规模是用来比较不同方法的独特属性,并且与所实现的准确性相关。规模和精度都取决于所使用的方法,例如基于地图的方法(Brubaker等人(2016)),这种方法可能受到地图上的错误以及基于描述符的方法的影响(Badino等人(2012); Schreiber等人( 2013))使用全局或局部描述符。Badino等人(2012)的基于描述符的方法在8 km路线上实现了1 m的平均定位精度,而Brubaker等人(2016)的基于道路网络的定位方法在18 平方公里的地图上获得了4 m的精度,其中还包含2,150公里的可行驶道路。Schreiber等人(2013)指出,自动驾驶和未来驾驶辅助系统所需的精度在几厘米的范围内,并且提出了基于特征的定位算法,该算法可以在大约50公里的乡村道路上实现这一点。他们从车道识别的角度来解决这个问题。在一个单独的驾驶过程中,他们创建了一个高度精确的地图,其中包括道路标记和路缘。在驾驶过程中,他们检测标记并将其与地图匹配,以确定车辆相对于标记的位置。
基于结构的定位:传统的定位方法的输出要么是粗糙的摄像机位置,要么是位置上的分布,而最近的一种工作称为“基于结构的定位”,目的是估计所有的摄像机矩阵参数,包括位置、方向和摄像机内部特性。定位是作为一个2D- 3D匹配问题来实现的,图像上的2D点与一个大的、标记过的3D点云相匹配,根据对应关系估计姿态,如图36所示。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图36:定位。查询图像会被匹配到一个基于运动点云的地理参考结构数据库(左图)。在基于结构的方法中,目标是通过匹配这个全球点云(右)来计算新查询图像的地理参考位姿。改编自Li等人(2012)。

  在基于结构的方法中,姿势估计为验证位置估计提供了强大的几何约束。然而,直接的解决方案,例如使用SIFT特征的近似最近邻搜索的直接匹配,将导致许多不正确的匹配。随着模型大小的增加,描述符的判别力降低,匹配变得更加模糊。因此,RANSAC技术很难找到正确的姿势。为了解决这个问题,Li等人(2012)发现了图像中3D模型点的统计共现,并将其作为RANSAC利用共现关系的先验抽样。此外,他们采用双向匹配方法,正向为从图像中的特征到数据库中的点,逆向则为从点到图像特征。结果表明,双向匹配方法的性能优于仅正向匹配和仅反向匹配。除了模糊之外,存储模型中包含的大量描述符所需的内存数量也是与大规模相关的另一个问题。通过减少点数来进行模型压缩会产生较少的匹配,并且会增加无法定位的图像数量。相反,更近期的方法(Sattler等人(2015年,2016年))将量化用于精细词汇表,其中每个描述符由其词ID表示。 Sattler等人(2015)将寻找独特的2D-3D匹配的难题分成两个更简单的问题。他们首先利用良好的视觉词汇以及对3D点和摄像机之间的可见关系进行编码的可视化图表,建立了本地独特的2D-3D匹配。然后,他们使用一个简单的投票方案来消除这些匹配的歧义,以加强选定的3D点的共同可见性(共现性)。他们的实验表明,基于视觉词汇的匹配可以达到最先进的水平。Sattler等(2016)提出了一种基于量化的优先匹方法案,以效率为中心。通过首先考虑更有可能的特性,并在找到足够匹配的情况下终止对应搜索,它们显著地加速了2d - 3d匹配。
使用深度学习的基于结构的定位:Kendall等人(2015)和Walch等人(2016)使用卷积神经网络将单端RGB图像以端到端的方式回归为相机姿态。使用CNNs完成这项任务的动机是为了消除由大的无纹理区域、重复结构、运动模糊和光照变化引起的问题,这些问题对于基于特征的方法来说是具有挑战性的。经典的的定位方法的运行时间取决于几个因素,比如查询图像中发现的特性的数量或模型中的3D点的数量,与之不同,基于cnn的方法的运行时间只取决于网络的大小。Kendall等(2015)对GoogLeNet (Szegedy等(2015))进行了修改,将softmax分类器替换为仿射回归,并在最终回归器之前插入另一个全连接层,该层可作为定位特征向量进行进一步分析。最终的体系结构,被称为PoseNet,是通过使用像ImageNet (Deng et al., 2009)和Places (Zhou et al., 2014)等大型数据集上训练的分类网络的权重来初始化的。此外,它在新的姿势数据集上进行微调,该数据集是通过使用SfM从场景的视频生成相机姿势而自动创建的。Walch等人(2016)使用了类似的方法,但是他们通过利用它们的记忆能力,在空间上将CNN输出的每个元素与长短期记忆(LTSM)单元相关联。通过这种方式,该网络能够捕获更多的上下文信息,并在不同的定位任务中包括大型户外、小型室内和新候选区域的大型室内定位基准等任务胜过PoseNet。虽然基于cnn的方法不能与目前最先进的基于筛选的方法的精度相匹配(Sattler et al.(2016)),但是在室内环境中,基于筛选的方法不能产生足够的匹配以获得正确的SfM重构,因此其重要性变得更加明显。
交叉视图定位:在全球范围内保持地面图像的更新是很困难的,而从航空图像和卫星上建立实时地图则要容易得多。这就产生了一种新的方法——地理定位,试图将地面图像记录到航空图像中。其基本思想是学习地面和空中图像视点之间的映射,以便在空中图像参考数据库中定位地面查询。林等人(2013)将地面级查询与传统地理定位中的其他地面参考照片进行匹配,然后使用这些地面匹配的航空外观和土地覆盖属性在空中和土地覆盖域中构建滑动窗口分类器。与以前的方法不同,通过学习不同视图中特性的共现性,即使数据库中没有相应的地面图像,它们也可以对查询进行定位。Lin等人(2015)使用来自Google街景的范围数据和相机参数来收集交叉视图图块数据集,以使主要建筑物表面平面大致看起来像45%的鸟瞰图。受到使用深度学习的人脸验证算法成功的启发,他们训练了一个暹罗网络来匹配相同位置的交叉视图对。Workman等人(2015)介绍了另一个大规模的交叉视图数据集。他们首先使用CNNs提取地面图像特征,然后,他们学习从相同位置的空中图像中预测这些特征。通过这种方式,CNN能够从航空图像中提取有意义的语义特征,而无需手动指定语义标签。他们的结论是,横向定位方法可以得到与上述方法不同的对地理位置的精确估计。否则,它可以用作更昂贵的匹配过程的预处理步骤。
论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第八章)
图37:街道视图匹配。建筑物的重复模式可以提供有价值的信息,以便使用规则驱动的方法进行匹配。改编自Wolff et al.(2016)。
交叉视图定位:建筑:在交叉视图匹配中有专门用于建筑立面的方法。重复模式可以为规则驱动的方法提供有价值的匹配指示器(图37)。Bansal et al.(2011)通过结合卫星和斜鸟瞰图,首先提取建筑轮廓和立面,然后根据立面形态的统计描述将地面图像与斜空中图像进行匹配Wolff等人(2016)定义了匹配成本函数,基于颜色,纹理和基于边缘的上下文特征的相似性将街景图案与鸟瞰图图案进行比较。
交叉视图定位:重建:另一项工作通过自动与卫星图像,平面图,地图或其他俯视图对齐来解决地理参考重建的问题。Kaminsky等人(2009)使用目标函数计算SfM重构与俯视图像之间的最优对齐,这个目标函数可以将3D点与图像边缘匹配,并根据每个相机中点的可见性施加可通行区域约束。直接匹配地面和空中图像是一项困难的工作,因为它们的摄像机视点、遮挡和成像条件等都有很大的差异。Shan等人(2014)没有寻找不变的特征检测,而是利用近似的对齐信息和基础三维几何结构提出一种基于视点的匹配技术。
激光雷达的语义一致性:一些公司通过安装在汽车上的扫描设备获取激光雷达数据,从而获得真实城市环境的3D模型。然而,三维扫描仪所获得的三维点位置的精度取决于GPS、惯性传感器和SfM所预测的扫描仪姿态,而这在城市环境中经常会失败。这些失调导致了点云配准方法的问题。Yu et al.(2015)提出了在不同尺度下能够进行稳定匹配的语义特征的对齐。通过遵循粗到精的方法,它们首先依次对齐道路、立面和极点,这些可以被稳定地匹配。再往后,他们匹配汽车和其他小物体,这需要更好的初始校准以找到正确的对应关系。语义特征的使用为激光雷达扫描提供了全局一致的对齐方式,它们的评估显示了相比初始对齐方式这种对齐方式有提高。