Ⅵ. 表示Ⅱ:语义地图模型
语义建图包括将语义概念与机器人环境中的几何实体相关联。近年来,纯几何建图的局限已经被认识到,并且已经促进了对环境进行语义建图的很重要并且正在进行的工作,致力于加强机器人的自动化和鲁棒性,从而满足更复杂的任务需求(例如,在行驶中避开泥泞的道路),从路径规划到任务规划,并且促进先进的人机交互[10,27,217]。这些观察催生了语义建图的各种方法,其语义概念的数量和类型各不相同,以及将它们与环境的不同部分相关联的方式也不尽相同。举个例子,Pronobis和Jensfelt[206]为不同的房间进行标签,而PillAI和Leonard[201]在地图上分割了几个已知的物体。除几种方法外,基本上语义分析被当作是分类问题,其中传感器数据和语义概念之间的简单映射已经被考虑。
A. 语义建图与拓扑建图
正如Ⅰ节中所提到的,拓扑建图丢弃了度量信息,仅利用场景识别来构建其中节点表示可区分的“地点”的图,而边表示地点之间的到达能力。我们注意到,拓扑建图与语义建图完全不同。前者需要能够识别之前已经到达过的地方(而不需要考虑这个地方到底是厨房或是走廊什么的。),后者的兴趣则在于根据语义标签将地点进行分类。Lowry等人[160]提出了基于视觉的拓扑SLAM的全面调查。而这方面的一些挑战我们已经在Ⅲ节中讨论了。在本节的接下来部分,我们将重点放在语义建图上。
B. 语义SLAM:概念的结构与细节
人类的概念的数量和关系之间存在无限的关系,这就开启了一台更加哲学化,任务驱动的关于语义概念的层次和组织的决定。细节和组织取决于什么样的背景,以及哪里的背景,机器人应该执行一项任务,并在不同阶段影响问题的复杂性。通过定义以下几个方面来构建语义表示:
1)语义概念的级别/细节:对于给定的机器人任务,如“从房间A到达房间B”,粗糙的类别(房间,走廊,门)可以使任务执行得很顺利,而对于其他类型的例如“拿起茶杯”,则需要更精细的类别(桌子,茶杯,玻璃杯)。
2)语义概念的组织:语义概念并不是唯一的。更重要的是,一台实体可以拥有无限数量的属性或概念。一台椅子可以说是“可移动的”和“可以坐的”;一台饭桌可以说是“可移动的”和“不可以坐的”。尽管椅子和饭桌都是家具,它们共享可移动的这个属性,但二者的可用性却不相同。平面或分层的组织,共享或不共享一些属性,必须被设计出来,从而处理这种多重概念。
C. 简短的调查
有三种主要的方法来应付语义建图,并将语义概念分配给数据。
1)SLAM帮助语义:从事语义建图工作的第一批机器人研究人员率先使用将经典SLAM系统构建的度量图分割成语义概念的直接方法。Mozos等人[176]是这方面的一台早期工作,用二维激光扫描仪建立一台几何地图,然后通过关联马尔科夫网络融合每个机器人姿态的分类语义地点。类似的,Lai等人[148]根据RGB-D序列建立一台三维地图来执行一台离线的对象分类。随后Pronobis等人[206]提出了一台在线语义建图的系统,结合三层推理(感官,分类和地点),使用激光和相机传感器构建环境的语义地图。最近,Cadena等人[27]采用运动估计,并将粗略的语义分割与不同的物体检测器互连,以超越单个系统。Pillai和Leonard[201]使用单目SLAM系统来提升视频中对象识别任务的性能。
2)语义帮助SLAM:在第一台语义建图出来后不久,另一台趋势就是利用已知的语义类或对象。思路是如果我们能够识别地图中的物体或其他元素,那么我们可以使用我们关于它们几何的先验知识来改善对该地图的估计。这方面的第一次尝试是在小尺度上的,Castle等人[45]和Civera等人[51]使用稀疏特征的单目SLAM来做的,而Dame等人[57]则使用了稠密地图表示。Salas-Moreno等人[217]利用RGB-D传感器的优势,提出了基于对环境中已知物体的识别的SLAM系统。
3)联合SLAM和语义推理:具有计算机视觉和机器人技术专长的研究人员认识到,他们可以在联合制作中执行单目SLAM和地图分割。Flintetal等人的在线系统[80]提出了一种利用曼哈顿世界假设在室内场景的主平面中分割地图的模型。Bao等人[10]提出了一种方法,在场景中使用几何和语义属性,同时估计相机参数、平面点,以及物体标签。在它们的工作中,作者们以每个图像对的20分钟的运行时间为代价证明了改进的对象识别性能和鲁棒性,并且对象类别的有限数量使得该方法对于在线机器人操作而言不切实际。同时,Hane等人[103]在户外场景下解决更专门化的类相关优化问题。虽然仍然是离线的,Kundu等人[147]通过语义分割和度量图的后期融合来降低问题的复杂性,Sengupta等人[219]则更早提出了类似的想法,它们使用的是立体相机。注意到,[147]和[219]只关注建图部分,不能优化早期计算得到的位姿。最近,Vineet等人[251]提出了一种很有前景的在线系统,该系统使用立体相机和稠密的地图表示。
D. 公开问题
在SLAM中包含语义信息的问题还处于初级阶段,与度量SLAM相反,它仍然缺乏一致性的表述。图5显示了一台施工现场的简单例子,由此我们可以找到下面讨论的挑战。
图5 语义理解可以让人类在不同的时间尺度上去预测环境中的变化。例如,在图中所示的施工现场,,人类解释了起重机的运动,并预计起重机-卡车在不久的将来不会移动,同时我们可以预测该地点的外表,即使在施工完成后,我们也可以定位。这是可能的,因为我们对环境中实体的功能特性和相互关系进行了推理
1)一致的语义-度量融合:尽管在短暂融合方面上已经做了些工作,例如,每一帧语义证据[219,251],但将不同来源的语义信息与度量信息一致地融合在一起的问题仍然没有解决。在已知的因子图中加入语义分类的置信度或不确定度这种方式或许有助于实现联合语义-度量推理框架。
2)语义建图不仅仅是分类问题:语义概念正在演变为更为专业化的信息,例如地图中实体的可供性和可操作性以及环境中不同活动代理之间交互的可能性。如何表示这种性质和交互关系,是高级人机交互的问题。
3)无知,意识和适应:在给定先验知识后,机器人应该能够推理新概念及其语义表征,也就是说,它应该能发现环境中的新事物或分类,通过与其他机器人的积极交互来学习到新的性质,并且随着时间的推移调整表示方法以适应发生缓慢和突然变化的环境。例如,假设一台轮式机器人需要判别一台地形是否可驱动,以通知其导航系统。如果机器人在以前认为是可行驶的道路上发现一些泥泞的地方,则机器人应该根据穿越泥泞地区的难度等级学习一台新的等级,或者如果另一辆车被困在泥泞中,则调整它的分类器。
4)基于语义的推理:作为人类,语义表征可以让我们能够压缩和加速关于环境的推理,但评估准确的度量表示则需要一些努力。目前,机器人并不是这样的。机器人可以处理度量表示,但无法真正地使用语义概念。我们的机器人目前无法使用环境中的语义概念(类别,关系和属性)来进行有效和高效的定位和连续建图。例如,当检测到汽车时,机器人应该推断出汽车下方有平面地面(即使被遮挡),而当车移动时,地图更新只需使用新的传感器数据来重新修正那些没有切实证据的地面。更重要的是,相同的更新应该改变汽车的整体位姿,而不只是更新,例如每个单个体素。
Ⅶ. SLAM的新理论工具
本节讨论那些为SLAM算法建立性能保证的最新进展,并阐述了尚未解决的问题。理论分析是很重要的,原因主要有三点。第一,SLAM算法和实现通常只在几个问题实例中进行测试,如何将相应的结果如何推广到新的实例中或是很难理解的。第二,理论结果揭示了问题的内在属性,揭示了在实证评估过程中可能违反直觉的方面。第三,真正理解问题的结构可以推动算法发展,从而扩展可以解决的一系列实际SLAM实例。
SLAM算法的早期理论分析是基于EKF;我们建议读者阅读[65,255],了解对EKF SLAM的一致性和可观察性进行的全面讨论。这里我们将重点放在因子图优化方法上。除了在实用中的优点(准确性,效率)外,因子图优化还提供了一台更适用于分析的优雅框架。
在没有先验的情况下,MAP估计退化为最大似然估计。因此,没有先验,SLAM便继承了最大似然估计的所有性质:(4)式中的估计量是一致的、渐近高斯的、渐近有效的,并且对于欧几里得空间中的变换是不变的[171,Th.11-1,2]。在有先验时,这些性质当中有些就会失去(例如,估计量不再是不变的[171,page193])。
在这种情况下,我们对算法的性质更感兴趣:给定的算法是否会收敛于MAP估计?我们如何提高或检查收敛性?在出现虚假测量时,什么是折点?
图6 大多数SLAM算法的核心是机器人轨迹的MAP估计,这是一台非线性优化。该图显示了两个模拟基准问题的轨迹估计,即球体a和环面,其中机器人在球面和环面上运行。第一行展示正确的轨迹估计值,对应于优化问题的全局最优值。最下面一行显示由于收敛到局部最小值导致的不正确的轨迹估计。目前的理论工具可
A. 简短的调查
大部分SLAM算法都是基于迭代非线性优化[64,100,125,192,204]。SLAM是一台非凸问题,迭代优化只能保证收敛到局部最小值。当一台算法收敛到局部最小值时,它通常会返回一台完全错误且不适合导航的估计值(见图6)。最先进的迭代求解器不能收敛到相对较小噪声水平的全局最小代价[33,38]。
未能在迭代方法中进行收敛的问题已经推动了了对SLAM问题更深入理解的努力。Huang等人 [111]率先开展了这项工作,最初的工作是讨论SLAM中非凸性的性质。Huang等人 [112]讨论小位姿图优化问题中的最小值的数目。Knuth和Barooah [138]研究了没有闭环时误差的增长。Carlone[30]提供了Gauss-Newton方法收敛的估计。Carlone和Censi[33]表明,旋转估计可以用二维的封闭形式求解,并且表明相应的估计是唯一的。最近使用替代最大似然公式(例如,假设旋转时的Von Mises噪声[35,211])的方法已经实现了更好的结果。Carlone和Dellaert [32,37]表明,在实践中经常遇到的某些条件下(强性),最大似然估计是唯一的,位姿图优化可以通过(凸)半定规划(SDP)全局求解。[110]给出了关于SLAM理论方面的最新概述。
正如在之前所提到的,理论分析有时候是建立一台更好的算法的第一步。除了[32,37]的SDP方法外,其他作者提出了凸松弛以避免收敛到局部最小值。这些贡献包括Liu等人的工作[159]和Rosen等人[211]。另一台改善收敛的成功策略包括计算用于迭代非线性优化的合适的初始化。在这方面,首先解决旋转问题并使用所得来自非线性迭代的估计的想法已被证明在实践中非常有效[21,31,33,38]。Khosoussi等人[130]利用平移和旋转之间的(近似)可分性来加速优化。
最近在SLAM中使用拉格朗日对偶的理论结果也使得验证技术的设计成为可能:给定一台SLAM估计问题,这些技术能够判断这样的估计是否是最优的。能够确定给定SLAM解决方案的质量对于为安全关键型应用设计故障检测和恢复策略是至关重要的。有关SLAM验证技术的文献很新:目前的方法[32,37]能够通过求解一台稀疏线性系统来进行验证,并且只要强二元性保持不变(稍后更多),就可以保证提供正确的答案。
我们注意到,这些在机器人环境中提出的方法,也为其他社区的相关工作提供了有益的补充,包括多系统中的定位[47,199,202,45,254],计算机视觉中的从运动中恢复结构[87,96,104,168],以及和低温电子显微镜[224,225]。
B. 公开问题
虽然这几年有了空前的进展,但仍有几个理论问题尚未解决。
1)一般性,保证和确认:第一台问题涉及可用结果的一般性。有关保证全局解和验证技术的大多数结果已经在位姿图优化的情况下提出了。那么这些结果是否可以推广到任意的因子图当中呢?另外,大多数理论结果假定测量噪声是各向同性的或者至少是结构化的。那我们能将现有的结果推广到任意的噪声模型吗?
强对偶或是弱对偶?[32,37]表明,强大的对偶性保证SLAM可以在全局范围内解决;此外,他们提供了经验证据表明强对偶性在实际应用中遇到的大多数问题在实例中都具有。悬而未决的问题在于建立强有力的对偶性成立的先验。我们想回答这个问题:“给定一组传感器(以及相应的测量噪声统计)和一台因子图结构,强对偶是否成立?”回答这个问题的能力将定义我们可以计算(或验证)SLAM全局解决方案的应用领域。这一理论研究也将其传感器设计和主动SLAM提供基本的见解(见VIII节)。
2)对异常值的抗性:第三个问题是关于存在假测量时的估计。尽管最近的结果为位姿图优化提供了强有力的保证,但这种类型的结果不适用于存在异常值的情况。尽管有关鲁棒SLAM(见III节)和用于非高斯噪声情况的新建模工具[212]做了很多工作,但可以抵抗异常值的全局技术的设计和可以保证在出现异常值时给定估计的正确性的验证技术仍有待于解决。
Ⅷ. 主动SLAM
到目前为止,我们都把SLAM描述成由机器人执行的一种估计问题,例如,机器人利用传感器数据执行SLAM,但并不是主动去采集数据。在本节,我们讨论如何利用机器人的运动来改进建图和定位的结果。我们将为了最小化地图表示和定位的不确定性而采用的机器人运动控制问题称之为“主动SLAM”。这个定义源于众所周知的Bajcsy的主动感知[9]和Thrun的机器人探索[240,ch.17]范式。
A. 简短的调查
第一台提出来的主动SLAM算法要追溯到Feder[78],其算法名称则来自于[152]。然而,主动SLAM的根源在于人工智能和机器人探索的想法,这可以追溯到更早期的80年代[11]。Thrun在[239]中得出结论认为,解决勘探环境开发困境,即在探访新地点(勘探)和重新探知已知地区(开采)来减少不确定性之间寻求平衡,就随机勘探或纯粹方法而言,提供了更有效的选择。
主动SLAM是一台决策问题,有几个通用的决策框架可以作为勘探开发决策的核心。其中一台框架是最优实验设计理论(TOED)[198],将其应用于主动SLAM [42,44],可以让机器人根据预测地图的不确定性选择未来的行动。信息理论[164,208]方法也被应用于主动SLAM [41,232];在这种情况下,决策通常以信息获取的概念做为指导。主动SLAM的控制理论方法包括使用模型预测控制[152,153]。其他的一些工作则是利用了部分可观察的马尔可夫决策过程[123],通常被认为是难以计算的;用于主动SLAM的近似但容易处理的解决方案包括贝叶斯优化[169]或有效的高斯信念传播[195]等等。
主动SLAM的一台流行框架是在一组有选择的方案中选择最佳未来行动。这种主动SLAM算法包括三个主要的步骤[16],如下:
1)机器人在其当前的地图估计中识别可能探索或利用的位置,即有利位置。
2)机器人计算访问每个有利位置的效用,并选择具有最高效用的动作。
3)机器人执行选定的动作并决定是否需要继续或终止任务。
接下来,我们详细讨论每一台要点。
1)选择有利点:理想情况下,执行主动SLAM算法的机器人应该评估机器人和地图空间中的每个可能的动作,但是评估的计算复杂度随着搜索空间呈指数增长,这在实际应用中被证明是很难以计算的[25,169]。在实际中,使用诸如基于前沿探索的技术来选择地图中的一小部分位置[127,262]。最近的工作[250]和[116]提出了可用于主动SLAM在不确定性下的连续空间规划方法;这些方法只能保证收敛到局部最优策略。主动SLAM算法的另一台最近的连续域通道是使用潜在的场。一些例子是[249],使用卷积技术来计算熵和选择机器人的动作,以及[122],采用边界值问题的方法。
2)计算动作的效用:理想情况下,为了计算给定的动作的效用,机器人应该考虑机器人后面的位姿和地图的演变,并考虑将来的(可控制的)动作和未来的(未知的)测量。如果这些后验已知,作为信息增益的信息理论函数可以用来对不同的行为进行排序[23,233]。然而,一般来说,通过分析来计算这种联合概率在计算上是很处理的[36,77,233]。实际中,都是采用近似估计。最初的工作考虑了地图和机器人的独立性[246]或条件独立[233]的不确定性。大部分这些方法都是将效用定义为一台度量的线组合,量化机器人和地图的不确定性[23,36]。这种方法有一台缺点,就是这两个不确定性的数值范围是不可比较的,即地图不确定性往往比机器人的大一台数量级,所以需要手动调整才能纠正它。针对这个问题,已经提出了一些方法并用在基于粒子滤波器的SLAM [36]和位姿图优化[41]。
TOED [198]也可以用来说明执行动作的效用。在TOED中,每一台动作都被视为一种随机设计,并且通过所谓的最优性标准,例如A-opt,D-opt和E-opt,使用它们相关联的协方差矩阵来完成设计之间的比较。关于主动SLAM中最优性标准的使用的研究可以在[44]和[43]中找到。
3)执行操作或终止探索:尽管执行动作通常是一台很简单的任务,运用运动规划中的成熟技术即可做到,但是关于勘探任务是否完整的决定,目前是我们在下一段讨论的一台公开挑战。
B. 公开问题
主动SLAM在实际应用中产生的影响仍然需要解决一些问题。
1)快速准确地预测未来的状态:在主动SLAM中,机器人的每一台动作都应该有助于减少建图的不确定性,并提高定位的准确性;出于这个目的,机器人必须能够在地图和机器人定位上预测将来动作的影响。预测必须快速,以满足延迟约束,并精确有效地支持决策过程。在SLAM社区中,众所周知,回环封闭是一台很好的方法,可以降低不确定性,提高建图和定位的精确度。尽管如此,预测回环封闭的发生和影响的有效方法仍尚未设计出来。另外,预测未来动作的影响仍是一台耗费计算资源的任务[116]。最近的机器人状态预测方法可以在机器学习文献中找到,涉及频谱技术[230]和深度学习[252]的使用。
够了够了:你什么时候停止做主动SLAM?主动SLAM是一台很耗费计算资源的任务:因此:一台很自然的问题就是我们什么时候需要停止主动SLAM,并且切换回经典(被动的)SLAM,从而将资源余留给其他任务。平衡主动SLAM决策和外部任务是至关重要的,因为在大多数实际任务中,主动SLAM只是实现预期目标的手段。此外,有一台停止标准是必要的,因为在某些时候,可以证明,更多的信息不仅会导致收益递减效应的减弱,而且在信息矛盾的情况下会导致不可恢复的状态(例如,几次错误的回环封闭)。TOED的任务导向的不确定性度量标准似乎很有希望成为停止标准,而信息理论度量标准很难在系统间进行比较[40]。
2)性能保证:另一台重要的途径是求解主动SLAM的数学证明和近乎最优的策略。由于解决这个问题确实是棘手的,所以希望有具有明确性能的近似算法。这方面的努力的例子是在配置有源传感器的相关领域中使用子模数[94]。
Ⅸ. 新前沿:传感器和学习
新的传感器的开发和新的计算工具的使用往往是SLAM的关键驱动因素。Ⅸ节-A回顾非传统和新型传感器,以及它们在SLAM环境中所带来的挑战和机遇。Ⅸ节-D讨论(深度)学习作为SLAM重要前沿的角色,分析该工具将改进、影响甚至重塑SLAM问题的可能方式。
A. 用于SLAM的新型和非传统传感器
除了新算法的开发之外,SLAM(以及一般的移动机器人)的进展也经常由新型传感器的可用性所促进。例如,二维激光测距仪的引入使得SLAM系统的创建成为可能,而3D激光雷达已成为近期应用(如自动驾驶汽车)的主要推动力。在过去的十年里,大量的研究致力于视觉传感器,并成功应用于增强现实和基于视觉的导航。
机器人技术中的感知主要依靠激光雷达和传统视觉传感器。不过,也有许多其他的可用于SLAM的传感器,例如深度、光场和基于事件的摄像机,目前它们正在商业化,以及磁性,嗅觉和热传感器。
1)简短的调查:我们回顾了SLAM中最相关的新传感器及其应用,并在本节末尾来讨论未解决的问题。
a)范围相机:发光深度相机并不是新的传感器,但随着微软Kinect游戏机的问世,它们在2010年成为了商用硬件。它们根据不同的原理进行操作,例如结构光,飞行时间,干涉测量或编码孔径。结构光照相机通过三角测量工作;因此,它们的精确度受相机与图案家用投影仪之间的距离(结构光)的限制。相比之下,飞行时间(ToF)相机的精确度仅取决于TOF测量设备;因此,它们提供最高的量程精度(几毫米到几米)。ToF相机于2000年左右在民用领域开始商用,但在2004年才开始用于移动机器人[256]。虽然第一代ToF和结构光相机具有低信噪比和高价格的特点,但它们很快成为视频游戏应用的流行牌子,这有助于使其价格合理并提高其准确性。由于量程相机带有自个的光源,因此它们也可以在黑暗和无纹理的场景中工作,从而可以实现出色的SLAM效果[183]。
b)光场相机:与仅记录每个像素的光强度的标准相机相反,光场相机(也称为全光相机)记录光线的强度和方向[186]。一种流行的光场相机使用放置在传统图像传感器前面的微透镜阵列来感测强度、颜色和方向信息。由于制造成本的原因,商用光场照相机仍具有相对较低的分辨率(< 1MP),目前的技术正努力克服这个问题。光学相机与标准相机相比,具有深度估计、降噪[58]、视频稳定[227]、分离器[59]以及去除镜面反射[119]等多种优势。他们的光学元件还提供宽光圈和宽与传统相机相比[15]。
c)基于事件的摄像机:与以固定帧率发送整个图像的基于标准帧的摄像机不同,基于事件的摄像机(如动态视觉传感器(DVS)[156]或基于异步时间的图像传感器(ATIS)[205 ],仅发送场景中由运动所引起的局部像素变化。
与传统的基于帧的相机相比,它们具有五大优势:时间延迟为1毫秒,更新速率高达1 MHz,动态范围高达140 dB(与标准相机的60-70dB相比),功耗为20mW(相对于1.5 W的标准相机)以及非常低的带宽和存储要求(因为只传输强度变化)。这些特性使得能够设计一类新的SLAM算法,该算法可以在标准相机失效的高速运动[90]和高动态范围[132,207]的场景中运行。但是,由于输出由一系列异步事件组成,所以传统的基于帧的计算机视觉算法不适用。这需要从过去50年开发的传统计算机视觉方法的范式做出转变。最近已经提出基于事件的实时定位和建图算法[132,207]。这种算法的设计目标是每个输入事件都可以异步改变系统的估计状态,从而保留传感器基于事件的特性并允许设计微秒级的延迟控制算法[178]。
2)公开问题:有源相机的主要瓶颈是其最大范围和其他的干扰光源(如日光);但是,这些弱点可以通过发射更多的光功率来改善。
SLAM中很少使用光场相机,因为它们通常被认为会增加过多的数据量并且需要更多的计算能力。然而,最近的研究表明,它们特别适用于SLAM应用程序,因为他们允许将运动估计问题表达为线性优化,并且只要设计得合适,就可以提供更精确的运动估计[66]。
基于事件的相机是具有革命性意义的图像传感器,能够克服标准相机在高动态范围和高速运动场景下的局限性。公开问题涉及传感器噪声和传感器非理想性的完整表征:基于事件的相机具有复杂的模拟电路,具有可改变像素灵敏度的非线性和偏差以及使事件易受噪声影响的其他动态特性。由于单个事件没有足够的信息用于状态估计,而且由于事件相机每秒平均产生100000个事件,致使状态空间的尺寸迅速增大,因此在单个事件的离散时间执行SLAM可能会变得棘手。使用连续时间框架[13],使用基函数(例如三次样条函数),估计的轨迹可以通过刚体运动空间中的平滑曲线近似,并根据观察事件进行优化[177]。尽管时间分辨率非常高,但基于事件的相机的空间分辨率相对较低(QVGA),目前的技术正在努力克服这个问题[155]。新开发的事件传感器克服了一些之前的局限:ATIS传感器发送像素级亮度的大小;DAVIS传感器[155]可以输出帧和事件(这是通过将标准的基于帧的传感器和DVS嵌入到相同的像素阵列中实现的)。这可以允许在帧之间的盲时间跟踪特征和运动[144]。
我们在本节中总结了关于使用SLAM新的感应模式的一些一般性观察结论。
a) 其他传感器:大多数SLAM研究一直致力于研究范围和视觉的传感器。但人类或动物能够通过使用触觉,嗅觉,声音,磁性和热刺激来提高他们的感知能力。例如,触觉暗示被盲人或啮齿动物用于物体的触觉探测,蜜蜂用嗅觉来寻找回家的路,家鸽用磁场来导航,蝙蝠用声波来探测障碍物和导航,而一些蛇可以看到热物体发出的红外辐射。不幸的是,这些替代传感器与执行SLAM的距离和视觉传感器没有被认为具有相同的深度。触觉SLAM可用于物体或场景的触觉探测[237,263]。嗅觉传感器可用于定位气体或其他气味来源[167]。虽然基于超声波的定位在早期的移动机器人中占主导地位,但随着便宜的光学距离传感器的出现,其使用迅速下降。尽管如此,动物(如蝙蝠)可以只用回声定位就做到非常快速的导航。热传感器在夜间和恶劣天气条件下提供重要线索[165]。环境磁场的局部异常目前存在于许多室内环境中,为定位提供了极好的线索[248]。最后,预先存在的无线网络,如WiFi,可用于改进机器人导航,而无需事先了解天线位置[79]。
哪个传感器更适合SLAM?一台很自然的问题可以提出:未来什么样的传感器技术会推动长期SLAM研究?显然,对于SLAM所给定的算法-传感器,其性能取决于传感器和算法参数以及环境[228]。目前尚未确定如何选择算法和传感器以实现最佳性能的完整处理。Censi等人的初步研究[46]表明,对于给定任务,其性能还取决于可用于感知的功率。这也表明了最佳传感架构可能有多个传感器,可以根据所需的性能等级瞬时打开和关闭,或者通过不同的物理原理测量相同的现象以提高鲁棒性[69]。
B. 深度学习
这篇论文旨在考虑SLAM未来的方向,而不是介绍深度学习。它对计算机视觉的影响是革命性的,在写这篇文章的时候,它已经对包括SLAM在内的传统机器人技术有了重大的推进。
研究人员已经表明,用深度学习网络学习回归问题是有可能的,直接从移动机器人的两个相邻的图像之间获取相应的姿态,从而有效地取代了可视化测量的标准几何形状。同样,用回归森林[247]和卷积神经网络有可能会对相机的6个自由度进行定位,并且从一台单一的视图,用仅作为输入图像的函数[28,71,158]来估计场景深度(实际上就是地图)。
我们认为,这并不意味着传统SLAM方法就落后了,目前说这些方法仅仅是出于好奇心,想看看它们能在理论层次上做些什么,但并不会取代传统的、理解力强的方法,或者它们将完全接管。
1)公开问题:我们在这里重点介绍SLAM的一些未来方向,我们认为机器学习和更深入的特定学习将会产生影响,或者SLAM应用将面临深度学习的挑战。
a)感知工具:很明显,一些已经超出现有的计算机视觉算法范围的感知问题目前可以得到解决。例如,对于imagenet类[213]的对象识别,可以将其视为一台黑盒子,从机器人学者或SLAM研究者的角度来看,它可以很好地工作。同样,各种场景类型的像素的语义标注达到大约80%或更高的性能水平[75]。我们已经广泛地评论了SLAM系统更具语义意义的地图的趋势,而这些黑盒子工具将会有所帮助。但更重要的是:深度网络显示出更多的承诺,可以将原始传感器数据链接到理解层面,或将原始传感器数据链接到动作,而不是之前的任何事情。
b)实际部署:深度学习的成功离不开长时间的超级计算机的训练和专用GPU硬件推断一次性结果。SLAM研究员(或者说,的确任何人都想在他们的系统中嵌入令人印象深刻的结果)的一台挑战就是,如何在嵌入式系统中提供足够的计算能力。我们是应该就等着科技赶上来,或是研究一台更小、更便宜的网络来得到“足够好”的结果,并考虑长时间的传感的影响?
c)在线和长期学习:一台更重要的挑战就是在线学习和调整,这对于任何未来的长期SLAM系统来说都是至关重要的。SLAM系统通常在开放的世界中持续观察,会遇到新的物体和场景。但是对于数据,深度网络通常在封闭的世界场景中(也就是说,固定类别的数量)训练。一台重大挑战就是在one-shot或zero-shot情况下利用深度网络的力量(即只有一台新的类别的训练样本,甚至没有)去支持一台持续移动、持续观察的SLAM系统进行长期的学习。类似地,现有的网络倾向于接受大量具有标签的数据来进行训练,但是并不总能保证存在合适的数据集或者用于监督训练的实用的标签。最近取得了一些进展的一台领域是单视点深度估计:Garg等人[91]最近展示了如何通过观察大量的立体图像对来简单地训练用于单视点深度估计的深度网络,而不需要明确地观察或计算深度。是否能够为诸如语义场景标记之类的任务开发类似的方法,还有待观察。
d)引导:有关场景的先验信息越来越多地被证明能够显着提升SLAM系统的性能。迄今为止文献中的例子包括已知对象[57,217]。先验知识包括场景中的预期结构,如DTAM [184]中的平滑度,[80]中的曼哈顿约束,或者甚至预期的对象[10]。很显然,深度学习能够提取特定任务的先验知识,如估计场景标签或场景深度。如何最好地提取和使用这些信息是一台重要的公开问题。它在SLAM中比其他一些领域更为贴切,因为在SLAM中,我们对场景几何的数学有着坚实的把握——那么问题就是如何将这个良好理解的几何与深度网络的输出融合在一起。必须解决的一台特殊挑战是描述来自深度网络的估计的不确定性。
SLAM为探索深度学习架构与大规模图形模型中的递归状态估计之间的潜在联系提供了一台具有挑战性的环境。例如,Krishan等人[142]最近提出了深度卡尔曼滤波器;也许有朝一日有可能创建一台使用深层架构的端到端SLAM系统,而不需要显式的特征建模,数据关联等。
Ⅹ. 总结
在过去的30年里,同时定位与建图问题已经取得了非常大的进展。随着新方法、新传感器和新计算工具的发展,一些重要问题已经得到解答,同时提出了许多新的和有趣的问题。重温这个问题“SLAM是必要的?”我们相信答案取决于实际应用程序,但通常答案是肯定的。SLAM与其相关技术(如视觉-惯性测距)正在越来越多地应用于自驾车、移动设备等各种现实环境中。SLAM技术会越来越被依赖于为一些特定情况下仍能提供可靠的指标定位,如基于基础设施的解决方案(如GPS)不可用或不能提供足够的准确性的情况下。可以设想,基于云的位置——即服务功能上线,建图将会变得商品化,以便为移动设备和代理商提供定位信息的价值。
在一些应用中,如自动驾驶汽车,精确定位通常通过将当前传感器数据与预先创建的环境的高定义图匹配来执行[154]。如果先验地图是精确的,则并不需要在线SLAM。然而,在高度动态环境下的运行,需要动态在线地图更新来处理道路的基础设施的建设或主要变化。由大型自主车辆创建的视觉地图的分布式更新和维护是未来工作中一台引人注目的领域。
人们可以针对不同的任务来确定合适的SLAM方案。例如,可以使用拓扑图来分析给定地点的到达能力,但它不适合运动规划和低级控制;一台局部一致的度量地图非常适用于避障和局部与环境的交互,但它可能会牺牲准确性;全局一致的度量映射允许机器人执行全局路径规划,但计算和维护可能在计算上要求很高。
甚至可以设计一些例子,其中SLAM是完全不必要的,可以用其他技术来替代,例如用于局部控制和稳定的视觉伺服,或者“教导和重复”以执行重复的导航任务。选择最合适的SLAM系统的更一般的方法是将SLAM看作是计算足够统计量的机制,该统计量总结了机器人的所有过去观察结果,从这个意义上说,要保留在这个压缩表示中的哪些信息,得具体问题具体分析的。
对于这个本文中熟悉的问题“SLAM解决了吗?”,我们认为,当我们进入鲁棒感知时代时,如果没有指定机器人/环境/性能组合,这个问题就不能回答。对于许多应用和环境来说,许多重大挑战和重要问题仍然存在。为了使长期自主机器人实现真正的鲁棒感知和导航,需要对SLAM进行更多的研究。作为一项具有重要现实意义的学术活动,SLAM并未得到解决。
未解决的问题涉及四个主要方面:强大的性能、高层次的理解、资源意识和任务驱动推理。从稳健性的角度来看,故障安全自调整的SLAM系统的设计是一台艰巨的挑战,许多方面都很难被探索。对于长期自主性,构建和维护大规模时变地图的技术以及定义何时记住、更新或忘记信息的策略仍需要大量的基础研究;在严重资源受限的机器人系统中也有类似的问题,但规模不同。
另一台基本问题是关于环境的度量和语义表示的设计。尽管与环境的相互作用对机器人的大多数应用来说是至关重要的,但现代SLAM系统不能提供对周围世界的几何和语义的高度紧密耦合的理解;这种表示的设计必须是由任务驱动的,并且目前还缺乏一种将任务与最优表示相联系的易处理的框架。开发这样一台框架将把机器人和计算机视觉社区联系在一起。
除了讨论SLAM社区的许多成就和未来挑战之外,我们还研究了与使用新型传感器、新工具(例如,凸松弛和对偶理论或深度学习)相关的可能性,以及主动感测的作用。SLAM仍然是大多数机器人应用中不可或缺的支柱,尽管在过去几十年中取得了令人瞩目的进步,但现有的SLAM系统远未能提供具有洞察力、可操作性和紧凑型环境的模型,能够与人类轻松创建和使用的模型相媲美。
致谢
作者要感谢Google Plus社区的所有贡献者和成员[26],尤其是L. Paul、A. Handa、S.Grif fi th、H.Tom&#39;e、A.Censi和R. M.Artal,他们为讨论SLAM中的公开问题投入了很多精力。他们也感谢RSS研讨会的所有发言人[26],J.D.Tardos、S.Huang、R.Eustice、P.Pfaff、J.Meltzer、J.Hesch、E.Nerurkar、R.Newcombe、Z.Zia 、和A.盖格; G.(Paul)Huang和U.Frese在编写本文件期间进行讨论;并感谢G. Gallego和J. Delmerico对本文件的早期评论。最后,他们非常感谢T-RO编辑团队,包括主编F. Park、副主编,以及所有评审人员的快速,有价值和建设性的反馈,这大大提高了质量 这份手稿。 |