欢迎个人转发朋友圈;机构或媒体转载,后台请留言
FutureMapping:
Computational Structure of
Spatial AI Systems
安德鲁 J • 戴维森
帝国理工学院
https//arxiv.org/pdf/1803..pdf
00
摘要
我们讨论和预测了同步定位和地图构建(SLAM)演变为智能嵌入式设备上具有一般几何和语义“空间人工智能”感知能力。增强现实眼镜或消费者机器人等设备所需要的视觉感知性能与现实产品状况的约束之间存在很大差距。因此,算法,处理器和传感器的协同设计将是必要的。我们探索当前和未来空间人工智能算法的计算结构,并在硬件发展情况下持续思考这一领域的相关问题。
01
简介
虽然通常计算机视觉的目标是以一般方式指出图像中“什么”是“哪里”,但计算机视觉在空间人工智能问题中被认为是一个实时在线问题,通常与其他传感器一起使用,是人工智能的一部分(AI),它允许现实设备可以与其环境进行有效交互。该设备必须实时运行,以目标导向运行。这可能就是我们设想中的机器人,一个完全自主的人类替代品,或者它可能是一个像增强现实头盔一样的设备,被设计为人类用来增强他们的能力。正如Markoff [31]最近阐明的那样,在机器人中的自主AI或像AR这样的“智能增强”(IA)系统在空间AI方面具有非常相似的要求。
因此,空间人工智能系统的目标不是抽象出对场景的理解,而是不断捕捉正确的信息,并正确地表示信息,以实现实时解释和行动。这种系统一方面要根据任务的性能来设计,另一方面又受限于所使用的具体设备。
让我们考虑未来的大众消费市场中的家用机器人产品的例子,设置其任务为监控,清洁和打扫。这些任务要求其有能力检查家具和物体是否或更换;清洁家具和物体表面并知道何时进行清洁;识别,和操作物体;迅速避开人类行走线路或帮助人类处理这些事务。与此同时,由一个或多个摄像头,其他辅助传感器,处理器和算法组成的空间人工智能系统,将受到包括价格,美学,尺寸,安全性和电源使用等因素的制约,这些因素都必须符合消费品的使用要求。
第二个例子,来自智能增强IA领域,我们设想一个未来的增强现实系统,它应该为佩戴者提供一个健壮的空间记忆功能,记录他们所遇到的所有地点,物体和人物,从而可以轻松找到丢失的物体,以及在任何空间实体上放置虚拟笔记或其他注释。为了实现广泛采用,该设备应具有标准眼镜(65g)的尺寸,重量和外观,并且可以全天候工作,无需电池充电(功耗<1W)。
这些功能强大的空间人工智能系统在可用的应用程序中需要做什么,与现实世界的限制条件下使用当前技术可以实现什么存在巨大差异。对于所需的算法和技术有很多有前景的研究,但即使在昂贵,庞大的传感器和无限的计算资源可用的情况下,仍然难以获得稳健的性能。考虑到对实际产品的限制,现实和理想表现之间的差距变得更加重要。特别是,目前高级机器人视觉系统使用的计算机处理器的尺寸,成本和功率要求对这些应用所施加的限制与我们设想的相差甚远。
来自曼彻斯特大学,爱丁堡大学和帝国理工大学的PAMELA项目通过广泛研究空间人工智能算法与他们运行必须使用的越来越多样化的处理器之间的相互作用,开创了这方面的研究,开创了诸如SLAMBench框架[38,4]。随着项目接近尾声,本文中我们对空间人工智能研究有了长远的了解,对这些问题的关键计算结构进行了一些,并且考虑到处理器技术的持续发展趋势,对该领域的未来做出了一些预测。
02 SLAM,Spatial AI 和 ML
机器人和计算机视觉中的视觉SLAM(同步定位和地图构建)研究领域以来一直关注机器人周围场景的形状和结构以及机器人在其中的位置的实时增量估计。从稀疏特征(例如[8])到稠密(例如[42])地图以及现在越来越多的语义标签[33,54],实时SLAM中可能的场景表示的级别已经逐渐改善。
商业SLAM方案供应商SLAMcore[1]分别将稀疏定位,稠密地图构建和语义标签分别称为1,2,3级功能。这些是SLAM向空间感知方向发展的现实进程。观察了超过20年的SLAM的稳步一致的进展,我们相信,当前和可以预知环境的SLAM系统运行是我们对未来空间人工智能算法结构的最佳指南。
空间人工智能将成为我们无法想象的下一代智能机器人,设备和其他产品的基础支持技术;一个新的技术层面可能最终普遍存在。在加州大学伯克利分校针对人工智能系统挑战的最新技术报告[51]中,有人认为,通过持续学习能够在其环境中智能地行动的设备必须能够实现模拟现实(SR),该模拟现实可以“真实地模拟真实世界环境,因为环境不断变化,意外发生,运行速度比实时更快”。 Judea Pearl最近讨论了有效的情境学习和对因果关系的推理[43],他认为“人类拥有的其他物种所缺乏的是心智表征,他们可以操纵的环境的蓝图,在这个蓝图中他们可以在设想的环境中规划和学习”。这两个表述描述了我们设想的SLAM持续进化为空间人工智能的最终目标。
大多数Spatial AI系统将有多个应用程序,在设计时并非全部可预测。因此,我们提出以下假设:当设备必须长时间运行时,执行各种各样的任务(并非所有这些任务都必须在设计时已知),并与包括人类在内的其他实体进行通信,其空间AI系统应该建立一个通用且持续的场景表示,它至少在本地是接近度量3D几何的,并且是人类可以理解的。清楚的是,这个定义为许多关于场景表示的选择留下了很多空间,既有学习和设计的元素,也排除了利用非常具体的以任务为中心的表示的算法。
我们的第二个假设是:空间人工智能系统对于各种任务的通用性可以使用相对少量的性能测量得到很好的体现。也就是说,该系统是否被用来指导自动飞行在狭小空间中的运输无人机,或者家庭机器人整理,或者可以使增强现实眼镜能够将增强信息的合成物体添加到场景中,即使这些应用程序确实具有不同的要求和约束,空间人工智能系统的适用性对于每个可以通过少量性能参数来确定。确定的参数描述了诸如全局设备定位精度和更新延迟等方面,但我们相信还有其他度量对于应用程序更有意义,例如与表面接触的距离的预测精度,物体识别精度或跟踪鲁棒性。我们将在第9节中进一步讨论性能指标。
对于本文其余部分,我们将使用这样一个模块,即空间人工智能系统,该模块实时并且主要从视觉输入和可量化的性能指标逐步构建和维护通用的,接近度量的场景表示。
2.1 机器学习
近年来,机器学习(ML)在人工智能领域中日益脱颖而出,并在许多问题上战胜了人为设计的方法。在机器学习中,将输入转换为输出的黑箱计算单元的参数通过基于训练数据对其进行调整来学习,目的是优化其性能,或者与外部提供的显式标签进行比较(监督学习),或者更加间接地通过在一段时间内对高层任务目标的绩效进行评判(强化学习)。机器学习与估算方法形成对比,估算方法实现人工智能任务是计算实现的,机器学习是用可命名的变量,模块,算法和其他结构进行手动设计的。
计算机视觉已被证明是机器学习应用的一个非常成功的领域。众所周知,主要基于卷积神经网络(CNN)的深度学习方法已经成为许多视觉问题(如图像分类或分割)中实现最先进结果的主要方法。
最近,深度学习已经开始在视觉导航机器人技术中出现预期结果(例如[13])。在这些方法中,处理输入图像的原始像素的深度网络通过来自非学习系统的监督(例如[21])或通过基于离散任务,例如对象放置或本地导航,实现的强化学习来“端对端”训练。这些网络基于视觉输入的电机控制直接学习输出,因此,根据实现任务所需的要求的网络内部表示(例如环境的形状以及机器人在内部的位置)以一种隐含的形式来表示,除了无法访问当前任务之外的任务。
一般而言,空间人工智能问题迄今为止在机器学习方法中取得的成功如此之少,从多种方式增量式地改善对世界的表示。这种学习需要一个计算单位,它具有记忆并随时间捕捉自己的内部表征。递归神经网络(RNN)是具有这样一个基本概念的网络,它的激活和输出不仅依赖于当前输入数据的“单一镜头”,还依赖于先前输入结果的内部状态。有许多相关的想法,并且努力将深度网络与外部存储器连接起来。
在空间人工智能中,训练一个RNN或类似网络,从输入数据的实时流中顺序产生有用的输出,要求它在其内部状态内捕获一组持续的概念,这些概念必须与周围环境的形状和质量密切相关设备。我们当然看到了一些旨在做到这一点的方法的成功,例如Wen等人的工作。 [55]使用RNN进行视频估计的增量视觉测距,其RNN的训练是通过监督的已知姿态训练。
然而,一组看似非常有前途的方法旨在强化网络学习的结构。古普塔等人的工作[16]提出了一种局部导航的方法,迫使深度网络以倾向于度量网格的方式了解机器人的环境,通过向其呈现基于机器人已知的2D运动的度量空间变换实现度量网格。周等人[59]激动人心地展示了网络如何估算增量摄像机运动,场景深度可以通过未标记的视频数据的耦合方式进行训练,使用光度一致性,通过纹理深度帧之间的几何变形作为自我监督。
这些是学习架构,使用设计者自身关于底层估计问题结构的知识来增强从训练数据中获得的结果,可以看作是纯黑盒学习和手工构建估计之间的混合模式。另一篇关于这方面的论文介绍了空间变换网络[20]的概念,这在Handa等人的gvnn[17]中得到了进一步泛化。为什么神经网络必须利用其一些能力来学习像3D几何这样一个很好理解和模拟的概念?相反,它可以将其学习集中于难以捕捉因素,例如在照明条件变化下的表面对应关系。
这些观点支持我们的第一个假设,即未来的SpatialAI系统将具有可识别的和一般性的地图构建能力,从而建立一个可度量的3D模型。 这个’SLAM’元素可以嵌入到一个专门架构的神经网络中,或者在另一个使用标准估计方法存储和更新地图属性的模块(比如SemanticFusion [33])中更加明确地与机器学习分离。 在这两种情况下,应该有一个可识别的记忆区域,其中包含空间的表示,并带有一些可识别的几何结构。除了实用性之外,这样的AI系统将具有可以传达给人类并且被人类理解的信息表达的附加优势,并且因此在原则上被控制。
2.2 回环SLAM
一个携带至少一个摄像头和其他传感器的传感器平台,可以主动控制或者由另一个设备控制运行,所以不同任务的空间AI系统的基本算法可以总结如下:
这种方法的关键计算质量在于它的回环特性,其中世界模型是持续和增量更新的,以抽象形式表示迄今为止已获取的所有有用数据,并且在实时循环中用于数据关联和跟踪。
这与执行增量估计的视觉系统(例如视觉测距法,其中相机运动根据帧估计而不保留数据结构),或者与仅在离线后实现全局一致性的视觉系统事件批量计算,都有所不同。这并不是说在闭环空间人工智能系统中,每个计算应该以固定的速率进行,但更重要的是,它应该在需要时可用,以便让整个系统的实时操作在没有停顿的情况下继续进行。
回环SLAM通常通过概率估计来实现,基本构建模型方法是,将过去的数据汇总为已知概率,新数据可以正确加权和融合。在基于稀疏特征的SLAM中,概率融合通过扩展卡尔曼滤波器(如[8])或增量非线性优化(如[28])实现。
稀疏特征地图也是有效的,作为地标用于位置估计,但是无法提供关于摄像机周围场景的足够信息,并且最近的进展是通过稠密地图构建和现在的语义地图来实现更好的系统。最终,如果场景模型是完全生成的,那么它可以用来对传感器数据做出完整的预测。这很重要,因为原则上可以将每一个传感器数据与模型预测进行比较,以揭示以前在场景中看不见或变化的内容。简而言之,对于一个系统需要识别出一些不寻常的东西,它必须维护一个始终更新的正常工作的全预测模型。
最新的实时SLAM系统是混合型,将跟踪和稠密表面形状用于标记和识别的学习到的组件的估计相结合(例如SemanticFusion [33])。如前所述,其他学习得到的组件现在正在为整个系统的其他元素(如视觉里程计和深度估计)寻找突破(例如Zhou et al [59])。我们希望这些组件以越来越紧密和相互联系的方式聚集在一起,互相帮助和互相通信。虽然SemanticFusion目前使用基于几何SLAM和基于CNN的标签作为单独模块使用,融合为最终标记的地图输出,但在不久的将来,系统将集成在一个紧密的循环中,这肯定会提供更好的性能。例如,用于标注的CNN作为输入,不只是新的实时图像帧序列,而且3D地图重投影的当前标签分布应该会更好,这样的想法已经开始被证明[58]。
一个明确的目标是创建一个SLAM系统,它可以尽可能直接和有效地在被识别的对象和实体层面上理解场景(如原型系统SLAM ++ [49]),为自己保留自下而上的重建和标记未曾识别的元素。构成这种系统的组件不管是设计还是学习,可能不会对整体计算结构产生重大影响。
因此,本文其余部分的主要目的是空间人工智能系统的计算结构,同时避免在困难的地方过多讨论细节,并对未来的实施做出一些预测和尝试性设计选择。其中一个关键因素是空间人工智能系统基本上是一个嵌入式系统的实时问题。 我们坚信,所需算法和数据结构的设计应与处理器和传感器紧密集成在一起,形成一个完整的系统。在下一节中,我们将考虑处理器和传感器设计中的相关领域。
03 处理器 和 传感器 的未来
SLAM研究多年来在单核CPU处理器时钟速度倍增的时代可靠地进行研究,每隔1 – 2年处理器能力就会增强。近几年来,这一切都已经停止。摩尔定律的严格定义描述了集成电路中晶体管密度加倍的速度,并继续保持到现在。由于另一个鲜为人知的经验法则称为Dennard Scaling,该规则说明随着晶体管变小,它们的功率密度保持不变,这种变化已不能再按比例转化为串行CPU性能。当晶体管的尺寸缩小到今天的纳米尺寸时,与原子尺寸相差不大,它们会泄漏电流并升温。这种“耗能墙”限制了它们可以合理运行的时钟速度,而到4GHz左右无法控制过热。
因此,处理器设计人员必须越来越多地寻找替代方法,而不是简单的快速时钟来提高计算性能。处理器的格局变得更加复杂,并行和专业化,正如Sutter的在线文章“欢迎来到丛林”[53]中所描述的那样。即使在“云”数据中心,处理器设计也变得更加多样和复杂。在空间人工智能等嵌入式应用中,离开CPU的压力更大,因为在这种情况下,功耗是一个关键问题,而并行,异步的专用处理器似乎是实现计算性能的唯一途径,空间人工智能系统需要控制功耗合适地应用于真正的产品中。所以,尽管目前的嵌入式视觉系统,比如对于无人机,通常只使用SLAM算法的CPU(而不需要GPU),但我们认为这不是的正确方法。虽然目前的桌面GPU显然是耗电的,但空间人工智能系统最终必须接受计算中的并行性和异步性,并且认为这将成为实际系统的主流方式。
主流几何计算机视觉开始利用近10年前GPU(图形处理器)形式的并行处理(例如[45]),而在Spatial AI中,这帮助了稠密SLAM的突破[42,41]。 GPU提供的SIMT(单指令,多线程)并行性非常适合实时视觉元素,其中需要将相同的操作应用于图像或地图空间中常规阵列的每个元素。同时,GPU是计算机视觉深度学习出现的核心[27],它提供了计算资源,使足够规模的神经网络得到训练,最终证明其在诸如图像分类等重要任务中的价值。
作为计算机视觉的主要处理工具,从CPU到GPU的转变只是处理技术如何发展的开始。我们预见未来,嵌入式Spatial AI系统将具有异构,多核,专用的架构,其中低功耗操作必须与高性能一起实现。用于嵌入式视觉的标准SoC(片上系统)从现在开始可用于个人设备,无人机或AR眼镜,十年后仍可能仍具有与今天的CPU和GPU类似的设计元素,因为它们的灵活性和大量有用的软件可以运行。但是,它也可能有一些针对低功耗实时视觉进行优化的专用处理器。
高效处理的关键是速度快并且功耗很小,因此要在大量相对较低的时钟速率或其他简单的内核之间划分计算,并尽量减少它们之间的数据。当CPU执行计算时,CPU会逐个拉取小数据块并将其逐个推送到单独的主存储器,并将常规使用的数据进行本地缓存,这是减少流量的唯一机制。对单个CPU编程非常简单,因为任何类型的算法都可以分解为连续的步骤,并可访问单个存储器,但存储器中的数据逐段传输会产生巨大的功耗成本。
更高效的处理器设计旨在将处理和数据紧密结合在一起,并限制中间结果的传输。达到此目标的理想方法是处理器/存储体系结构的设计与其必须运行的算法之间的紧密匹配。对许多计算机视觉处理任务来说,GPU肯定比CPU具有更大的优势,但最终GPU是最初为计算机图形而不是视觉和AI设计的处理器。其SIMT体系结构可以高效地运行算法,其中在许多不同的数据元素上同时执行相同的操作。在一个完整的空间人工智能系统中,仍然有许多方面与此不太吻合,目前需要联合CPU / GPU架构,并在两者之间进行大量数据传输。
虽然设计定制的“加速器”处理器相对容易,但可以高效地实现某些特定的低级算法(例如参见Khronos Group的OpenVX项目),直到最近才开始考虑整体整个闭环嵌入式系统(如Spatial AI)的计算结构。当然,低功耗视觉被视为工业中越来越重要的目标,定制处理器已经出来了,例如Movidius的Myriad系列。这些处理器将低功耗CPU,DSP和自定义元素整合到一个完整的封装中。微软针对HololensAR眼镜定制设计的’HPU’在设计上非常相似,最近宣布的第二个版本将包括对神经网络的额外定制硬件支持。
如果我们试图向前看,我们可以想象处理器设计可以提供架构和算法之间更紧密的匹配。与我们的目标高度相关的是目前正在进行的重大尝试,这些努力正在通过由大量和相对低规格的核心组成的,以通信为重点的大规模处理的新方法的产生。 SpiNNaker [15]是曼彻斯特大学的一个主要研究项目,旨在构建模拟生物大脑的机器。该生产了一个由电路板组成的原型机,每个电路板有数百个ARM内核,并且总共有多达100万个内核。由于为AI提供重要的新型处理器的商业目标不同,Graphcore是一家英国,’IPU’处理器,在单个芯片上包含数千个高度互连的内核。
这两个项目主要针对神经网络的高效实现进行设计,在SpiNNaker和Graphcore中,重要的是大量内核的整体拓扑结构,每个内核都执行不同的操作,以图方式配置有效地互连,以适合实际用例。这些设计并没有就每个内核所执行的处理类型或者它们可以交换的消息类型做出强有力的决定,将这些问题留给未来的程序员选择。这与更明确的神经形态体系架构旨在实施生物大脑操作的特定模型,如IBM的Truenorth项目,有所不同。
这样的体系结构还没有为嵌入式视觉做好准备,但似乎为Spatial AI系统的设计提供了很好的潜力,其中我们使用的算法和存储器存储的图结构可以与处理器上的实现定制和潜在的高效方式相匹配。我们将在稍后更详细地考虑这一点。
但我们也相信,我们应该进一步考虑将SpatialAI分布到单个处理器,即使它具有内部图形体系结构。图的更一般的概念适用于与相机和其他传感器,执行机构和其他输出,并且可能完全使用云端计算资源。
一个特别重要的考虑因素是SpatialAI系统中一个或多个摄像头传感器与地图存储和处理的主要处理资源之间的实时数据流。视频数据传输量巨大且昂贵。但是,它在时间和空间上都非常冗余:空间和时间上的附近像素通常具有相似的值。
随着传感器设计人员的不断创新,摄像机的概念正在变得越来越广泛,对于我们的使用目的,我们认为任何设备都基本上捕捉到一系列光的视觉传感器。大多数是被动的,因为它们记录和测量从周围环境到达它们的环境光线,而另一大类相机以或多或少的受控方式发射自己的光线。在空间人工智能中,已经使用了许多类型的相机,其中最常见的是被动单目和立体相机,以及基于结构光或飞行时间的深度相机。每个摄像机的设计都代表了它提供的信息质量(以空间和时间分辨率和动态范围等方式测量),以及诸如尺寸和功耗使用等系统使用中的限制。在之前的工作[18]中,我们研究了实时跟踪的空间人工智能子问题的性能和计算成本之间的一些可能的折衷方案。
一种特别有希望用于空间人工智能的视觉传感器被称为事件相机。这种传感器,它不是像标准摄像机那样捕获一系列完整图像帧,而只是记录和传输强度变化。传感器的输出是来自灵敏模拟式像素的“事件”流,每个都有像素坐标和准确的时间戳。其原理是事件流以极低的比特率对视频内容进行编码,同时提供时间和强度灵敏度,并且最近已经证明(例如[23])可以制定SLAM算法来估计相机运动,场景光强度以及仅来自事件流的深度。
事件相机无疑只是图像传感器技术快速变化的起点,低功耗计算机视觉将成为日益重要的驱动因素。我们可以期望将事件相机的概念完全概括为对光强数据进行重要处理的传感器,作为感测过程本身的一部分,并且将以抽象形式双向方式与主处理器进行通信,该抽象形式与感测原始视频流是不同的。
图1.集成视觉感测和处理的SCAMP5架构
(图取自Martel和Dudek[32],转载了作者的原图)
这个领域的一个重要的持续学术项目是来自曼彻斯特大学的SCAMP系列视觉芯片的平面内处理(参见[32]的介绍),以及从该论文中提取的图1 SCAMP5芯片运行功耗1.2瓦,图像分辨率为256×256,每个像素由每像素单独处理控制处理。使用模拟电流模式电路,可以非常快速和高效地实现与相邻像素的求和,相减,除法,平方和值的通信,以允许完全在芯片上进行显著水平的实时视觉处理。在低更新率就足够的应用中,可以替代地实现超低功率操作。
正如我们将在后面讨论的那样,最终可能由这样的图像平面处理器执行的视觉处理的应用范围仍然要被完全发现。明显的用途是在前端预处理中,如特征检测或局部运动跟踪。我们认为,较的潜力是,尽管基于全模型的Spatial AI需要处理器,但接近传感器处理可以通过双向低通信完全与其交互,主要目的是减少传感器和主处理器之间所需的带宽以及通信功耗要求。
最后,在考虑Spatial AI计算资源的演变时,我们不应该忘记,云计算资源将继续扩大容量并降低成本。所有未来的空间人工智能系统大多数时候都可能与云连接,并且从他们的角度来看,云的处理和内存资源可以假定接近无限且免费。不的是嵌入式设备与云之间的通信,这在功耗方面可能很昂贵,特别是在传输诸如视频的高带宽数据时。另一个重要考虑因素是将数据发送到云进行处理的时间延迟,通常是重要的几分之一秒。
与云连接的空间人工智能的潜力显然是巨大的。 Oculus研究科学主任Richard Newcombe的愿景是,所有这些设备都应该进行交流和协作,以建立和维护共享的“机器感知图”。主地图将存储在云中,并且各个设备将根据需要与其中的一部分进行交互。由于传感器覆盖范围和可以投入的计算资源,共享地图可以比任何单个设备构建的共享地图更加完整和详细。一个特别有趣的问题是,每个单独设备在这个设置中需要做的空间AI工作在理论上可以大大减少。估计了它在全球地图中的位置后,如果其他设备已经完成了这项工作并且它们的地图可以简单地投影到其视野中,则无需稠密地图或语义标记其周围环境。它只需要警惕变化,并在返回更新中发挥作用。
04
高阶设计
我们现在转向更具体的空间AI设备体系结构的设计。尽管云连接共享地图构建具有明显的潜力,但我们选择纯粹专注于单个设备,而该设备需要在仅具有板载资源的空间内运行,因为这是最常用的设置,可用于任何应用程序而不需要额外的基础设施。
在假想未来空间人工智能系统的设计中首先要考虑的是它需要做什么:
我们高阶想法的下一个要素是确定我们可以通过高性能但低功耗要求实现所有这些核心方式。
我们认为空间人工智能中高效处理的关键是在所需算法中识别计算和数据的图数据结构,并尽可能地利用或设计具有相同属性的处理硬件,其具体目标是尽量减少架构周围的数据。我们需要确定以下几点:什么存储在哪里?什么处理在哪里?什么在哪里传送?
我们不会试图在这里与神经科学产生强烈的相似之处,但显然有很大的余地将我们在人工Spatial AI系统中讨论的想法和设计与生物大脑的视觉和空间推理能力和结构联系起来。人类大脑显然使用低于10瓦的功率实现了高性能,完全“嵌入”的语义和几何视觉,当然它的结构具有反映我们讨论的一些概念的特性。我们会将其留给其他作者进一步他们之间的关系;这主要是由于我们缺乏神经科学方面的专业知识,也部分归因于这样的信念:虽然人工视觉系统显然仍然有很多东西可以从生物学中学习,但它们不需要被设计成大脑的性能或结构。我们仅从工程角度考虑空间人工智能计算问题,其目标是实现应用程序所需的性能,同时最大限度地减少资源。我们的解决方案的某些方面应该模仿那些被生物进化发现的方面,这当然不足为奇了,但在其他方面,由于两种对比,我们可能会发现完全不同的方法:首先,增量式“必须一直工作”设计进化路线和我们在AI设计中增加的度;其次是可用作计算基础的固件和硬件。
05 SLAM的图结构
SLAM和更广泛的空间AI问题有一些明显的图结构。我们将在此着眼于识别和讨论这些问题。
5.1 几何图
从摄像机和3D空间的几何结构以及代表这些数据的数据中可以看到众所周知的图数据结构。
5.1.1 图像图结构
首先,构成相机图像传感器的像素具有规则的,通常为矩形的几何形状。
虽然这些像素中的每一个通常对光强度敏感,但许多视觉算法都利用了附近像素的输出趋于强相关这一事实。这是因为附近的像素经常观察相同场景对象和结构的部分。最常见的情况是,每个像素连接到其四个(上,下,左,右)邻居的规则图形被用作许多早期视觉问题(如稠密匹配或光流估计)中的平滑操作的基础(例如[44 ])。
图像的规则图结构也被CNN的早期卷积层用于各种计算机视觉任务。这里,多级卷积也承认图像数据中局部规则性的典型分层性质。
5.1.2 地图图结构
空间人工智能问题中存在的另一个清晰的几何图是由SLAM系统构建和维护环境的地图或模型。这个图结构已被许多重要的SLAM方法所识别和使用(例如[22,26,49,12,35])。
当摄像机并观察世界时,SLAM算检测,追踪并插入从地图数据中提取的地图特征。(请注意,我们在这里通常使用“特征”这个词来表示一个场景实体的抽象,并且我们并没有将我们的思路局限于稀疏的点状地标)。场景中的每个特征都有一个相机区域可测量的位置。如果特征位于相机视野之外,则该特征无法测量;如果被遮挡; 或出于其他原因,使得它与照相机的距离或观察角度与最初观察到的时间差别很大。
这意味着,当相机在场景中时,特征会以可变的重叠模式进行观察。由于测量是由当前可见的特征组成的,因此对它们位置的估计得到改善,并且测量结果也用于估计摄像机的运动。通过不确定的相机状态,同时观察到的特征位置的估计变得彼此强相关。在相机运动“附近”的特征相关,但有时稍弱一些; 大量运动中“遥远”的特征(和基于中间特征的SLAM),特征出现在这两种观测之间,弱相关。
SLAM算法输出的特征位置上的概率密度密度可以通过一个图有效地表示,其中“附近”特征由强边缘连接,“远”边缘由弱边缘连接。可以根据概率表示的准确性来选择阈值,其导致删除较弱的边缘,因此选择仅连接“附近”特征的稀疏图。
一种设计SLAM的方法不是明确地估计场景特征的状态,而是构造一个摄像机所处的历史位姿子集的地图,包含场景地图。这通常被称为位姿图SLAM,并且在这种类型的地图中,图结构是显而易见的,因为我们将它们连接在一起,我们已经能够获得传感器对应关系。在时间上连续的位姿加入;并且在更长时间段之后我们能够检测到重访的位置也被加入(这称为闭环)。无论历史位姿图还是场景特征,其结构都非常相似,因为它连接了“附近”位姿或从这些位姿测量的特征,并且这两种方法之间没有差异。
与其他传感器不同的被动相机的特性在于其实际上具有无限的范围。它可以看到精致细节中非常接近的物体;还要观察极其远的物体。视觉地图将包含所有这些东西,这就是为什么我们到目前为止对“附近”和“远处”的概念尚未精确。视觉地图中的地点不是简单的度量距离问题。记住重要的是,由于相机运动和测量,特征位置估计如何变得相关,SLAM图将具有多尺度特征,使得从靠近相机(桌子上的不同对象)测量的元素可以形成图的重要互连块,而另一类似块从远处看包含更多分离元素(城市另一侧的一组建筑物)。
这导致我们得出结论:空间人工智能最可能的表示是用特征图来表示三维空间,该特征图与多个相机运动相关的多尺度模式相关联,并且一起能够生成稠密的场景预测。
Chli和Davison[5]研究了一种通过纯粹在测量空间中相关性来发现基于特征地图层级图结构的自动方法,显而易见,将这样的结构与共同可见性关键帧图很类似地给出了相似的结果。但是,这项工作是基于标准点特征。我们还没有发现一种合适的特征表示,它以一种相对稀疏的特征预测稠密场景的方式描述局部外观和几何形状。我们相信,持续几何深度学习研究所产生的学习特征将为此提供途径。
最近一些非常有希望的工作,我们认为这是正确的方向,是Bloesch等人的CodeSLAM [3]。此方法使用图像自动编码器来发现具有少量参数的可优化代码,这些参数描述关键帧处的稠密深度图。在SLAM中,摄像机位姿和这些深度代码可以被联合优化以估计由相对较少参数表示的稠密场景形状。在这种方法中,场景几何图形仍然锁定在关键帧上,但我们相信下一步是发现可以有效表示外观和三维形状的学习代码,并将这些代码作为图结构SLAM系统的元素。
5.1.3 图像/模型的对应
让我们更深入地了解这个想法,特别是要理解,当摄像机在世界中时,其图像图与地图图之间的接触或对应将会以一种非常动态的方式,快速但不是随机的。这对于我们应该在Spatial AI中使用的计算结构意味着什么?
基本上,在SLAM过程中,我们无法预先计算将要构建的地图的形状,因为它取决于相机的运动。但是,也许我们可以有一个通用的结构,它代表了许多类型的运动,随着空间的探索,在需要时可以随时填充。从计算的角度来看,图结构地图中重要的是拓扑:哪些东西与其他东西相连,以什么模式相连。已经出了规则空间中的分层拓扑地图,例如多尺度专用网格或高度地图(例如[57,60]),并且这些实现了可以将定位分离的更好的系统中高效构建地图。在一般的视觉SLAM中,图需要一个灵活的结构,它是多尺度的,但也可以在闭环时进行调整,关于如何设计理想容器还存在很多问题。可以用当前稠密SLAM系统进行实验,以确定各种应用中表面元素之间的典型相关模式。
5.2 计算图
我们可以在空间AI问题中轻松识别的另一种关键类型的图是在SLAM系统的实时循环中进行的计算。
我们假设未来SLAM系统最紧密的实时循环的核心计算图将有许多与当今系统类似的元素。特别是由Newcombe等人引入的稠密SLAM算法 [39,41,42]在我们的观点中处于中心位置,因为这种方法旨在以稠密的生成方式模拟世界,使得来自相机的每个新像素数据都可以与基于模型的预测进行比较。这使得系统可以“感知”,因为他们在照相机前不断对世界的状态建模,他们可以检测何时该模型不合适,因此正在稠密SLAM系统超越静态场景来重建和追踪动态场景[40,47]。稠密SLAM系统也可以最好地使用场景先验信息,这越来越多来自学习而不是手工设计。
根据其中的一些论点,Newcombe等人的KinectFusion算法[41]被选为第一版SLAMBench框架[38]的基础,该框架旨在为SLAM系统的计算特性提供前瞻性基准。自KinectFusion以来,稠密SLAM在SemanticFusion [33]等系统中增加了语义标注,该系统使用基于surfel和loop闭包的ElasticFusion[56]作为稠密SLAM基础。除了用于SLAM外,传入的图像和深度帧还会被传送到一个CNN,该CNN已经针对每个像素的语义标签预先训练成13个典型的家庭场景,例如墙,地板,桌子,椅子或床等。每个像素的输出是标签的分布,然后将这些投影到3D SLAM地图上,其中每个surfel通过贝叶斯融合来维护和更新标签概率分布。
正如我们之前所讨论的,这一系列研究的目标是找到一个通用的SLAM系统,该系统能够识别和估计场景中所有对象的位置,SLAM ++以原型方式演示的样式[ 49],它可以在精确的3D位姿下直接在物体层次上进行有效的地图绘制,但只能处理少量的特定对象类型。我们怎样才能回到这种“面向对象SLAM”能力的更一般的应用上,那就是可以处理不同风格和细节的各种对象类别?如前所述,未来的SLAM地图可能会表示为描述几何,外观和语义的学习特征的多尺度图。这些功能中的一部分将代表SLAM ++中立即识别的整个对象。其他的将表示通用语义元素或几何部分(平面,角落,腿,盖子?),它们是已知或尚未发现的对象的一部分。其他的可能会使用面片或其他标准稠密几何元素来表示其语义标识尚未知晓或不需要知道的部分几何和外观。
识别和无监督学习将对这些特征图进行操作,对它们进行聚类,标记和分割。在SLAM运行过程中,做这项工作的机器学习方法本身会通过自我监督来提高自己的工作效率,并利用SLAM的稠密特性作为’通信引擎'[50]。
图2:空间人工智能系统中实时计算图的元素
从SLAMBench [38]中KinectFusion的算法的起点,我们尝试绘制图2中通用未来空间AI系统的计算图。
大多数计算涉及到世界模型,它是一个持续不断地改变和改进数据存储系统对场景重要元素的生成表示,也涉及输入摄像机数据流。一些主要的计算元素是:
在下面的章节中,我们将考虑这些数据和计算元素在未来架构中的可能运行位置。
06
主地图的处理:表示,预测和更新
在我们的SpatialAI计算系统的整体架构中,高效性能的关键是将算法的自然图结构与物理硬件的配置进行匹配。正如我们所看到的,这种推理导致使用“靠近传感器”的处理,如平面图像处理,以及尽量减少从传感器到执行机构或其他输出的数据传输的尝试,并使用事件等规则。
但是,我们仍然相信嵌入式SpatialAI系统中的大量计算最好通过相对集中的处理资源来执行。其中一个关键原因是逐渐构建和使用的表示系统知晓其状态和环境的世界模型的基本和角色。最终将可能来自多个摄像头和传感器的每个新数据与该模型进行比较,用于更新或丢弃,如果数据与设备的短期或目标无关。
然而,我们对这种处理资源的预期与CPU和RAM存储器的模型差别很大。 CPU可以以相似的成本访问其RAM中的任何内容,但在空间人工智能中存在着更多的结构,正如我们在第5节中看到的,无论是表示世界知识的数据(5.1),还是整合新数据所涉及的计算工作量的结构(5.2)。
处理和存储图结构应该构建进世界模型计算单元的设计中,该单元应该以完全集成的方式结合存储和处理。已经有很多新的方法来设计明确灵活的图架构。
为了专注于当前正在的一种处理器体系结构,Graphcore的IPU或图结构处理器被设计用于高效地执行AI工作负载,这已经在稀疏图上很好地进行了建模,特别是当所有必需的数据本身也保存在同一图表中时而不是在外部存储器中。一个IPU芯片有大量的内核(数千个),每个内核可以运行自己的任意程序并拥有自己的本地内存存储空间,然后是一个强大的通信基板,以便内核可以在它们之间高效地发送消息。当程序在IPU上运行时,首先通过它所需的计算和通信模式将其编译成合适的形式。生成操作,数据和通信通道的优化位置的合适的图拓扑。
图3:Graphcore的Poplar图编译器将算法规格从TensorFlow等框架转换为计算图的定义,该定义适用于其IPU图处理器上的高效分布式部署。这是AlexNet图像分类CNN结果的可视化结果,支持训练和运行时操作,其中空间配置和着色表明需要不同处理模块的紧密连接。图片由Graphcore提供。
Graphcore迄今为止都集中在IPU实现深度神经网络,如何优化训练时间和运行时间。图3是由图编辑器Poplar根据用于图像分类的标准CNN的TensorFlow定义标识的图结构的可视化。从神经元基于权重乘法激活的元素计算开始,将它们加在一起并通过非线性处理传递结果,他们建立了一个处理图,它定义了这些计算如何通过数据输入和输出连接在一起。当这个非常详细的图在不断扩大的范围内可视化,并且“缩小”视图时,高度相互关联的操作聚类显而易见,对这些聚类着色使其可视化,整个图构建到磁盘上。其结果非常吸引人,类似于大脑,网络中的各个层显示为不同大小的块,其内部结构可见。注意到这个计算结构表示了训练CNN运行时的操作和训练时的操作。
Graphcore相信,与GPU相比,IPU已经具备执行众所周知的深度神经网络的性能优势,而且他们的初始产品将成为云端机器学习的加速卡。然而,他们的愿景比这更大,他们说随着模型复杂性的增加,IPU的优势将越来越大。首席执行官Nigel Toon表示:“最终的游戏是深度的,广泛的强化学习,或者更简单地说,构建可以随着使用而改进的网络”,思考具有记忆和不断输入和输出数据的自我训练结构。显然,这与我们对未来SLAM和空间人工智能的看法非常吻合,我们在这里想象的系统具有复杂的设计和学习模块模式,实时与输入传感器和输出执行结构进行通信,以及不断学习和改进他们的内部信息表示。
图4:空间人工智能大脑:想象一个普通空间人工智能系统的表示和图结构处理如何载入到图处理器。我们确定的关键要素是实时处理循环,基于图的地图存储以及与传感器和输出执行结构的接口。 请注意,我们设想在视觉传感器中增加“靠近传感器”处理,旨在减少主处理器和摄像机之间的数据带宽(最终在两个方向上),这些通常位于一定距离之外。
在图4中,我们首先尝试绘制一个与Graphcore可视化类似的空间AI脑模型。该圆盘包含我们预计在主处理器内部运行的模块。两个主要领域之一是地图存储,这是存储当前世界模型的地方。这有一个与世界几何相关的内部图结构。它还将包含重要的内部处理能力,以便对模型中的数据进行本地操作,我们将在短期内讨论其作用。第二个主要区域是实时循环,这是实现将输入图像流连接到世界模型的主要实时计算的地方。它具有处理图结构,并且必须支持大型实时数据流和图像/地图结构上的并行计算,主要是在优化这一点。
主处理器还具有附加模块。有摄像头接口,每个接口的工作是模拟和预测其连接的传感器的数据。然后这将连接到相机本身,机器人或其他设备的物理设计可能会迫使相机远离主处理器。连接可以是串行或并行。
然后,我们可以想象,每个摄像头都有自己的“靠近传感器”处理能力,通过数据链路与主处理器分离。在主处理器内对输入进行建模的目标是尽量减少实际数据传输到接近传感器的处理器。可能是接近传感器处理器以类似于SCAMP项目的方式执行纯粹的图像驱动计算,并向主处理器提供抽象表示。或者,相机和主处理器之间可能存在双向数据传输。通过将模型预测发送给接近传感器的处理器,他们知道主处理器中已有的功能,并且只报告差异。这是事件相机概念的概括。事件相机仅报告强度的变化,而未来效率最佳的相机应报告接收到的数据与预测数据不同的地方。我们将在第7节中进一步讨论接近传感器的处理。
6.1 地图存储
在3D场景的表示中可以有很的选择,但是如第5.1.2节所述,我们可以设想地图由学习特征的图组成,这些特征以与摄像机运动相关的多尺度模式相关联。这些特征必须表示几何形状以及外观,以便它们可以用于从新视角呈现场景的稠密预测视图。这可能是因为它们不需要表示完整的光度测量外观,并且只要捕捉到几何细节就可以获得某种抽象的视图。
在主处理器内,主要区域将致力于存储该地图,其分布在潜在的大量单个核心中,这些核心在拓扑中强连接以镜像表示地图的图拓扑。在SLAM中,地图当然是定义好的、动态增长的,因此处理器内部的图必须能够动态更改,或者必须使用SLAM进程填充大量未使用的容量进行初始定义。
重要的是,与大规模SLAM相关的大量处理可直接构建到该图中。这种主要的“维护”处理是通过地图优化和自身优化;包含:
随着时间,数据和处理的进行,以稠密几何图形和低级别特征开始的地图可以朝着高效的对象级地图进行细化。其中一些操作将以非常高的并行性运行,因为地图的每个部分都在其本地内核上进行了优化,而其他操作(如回环检测和优化)则需要在图的大部分区域传递消息。不过,重要的是,它们可以以地图存储在自身内部。
像Graphcore的IPU等下一代图结构处理器的片上存储器完全分布在处理器之间,总容量最初不会很大(当然与标准的处理器RAM相比),因此应该强调快速抽象地图存储器朝向高效的形式。
优化SLAM图中的几何估计,使得度量地图状态是考虑到获得的测量历史的最可能的解决方案,这是众所周知的优化问题,称为计算机视觉中的捆集调整(BA)或机器人中的图优化。由测量引起的位姿和特征之间的稀疏约束导致所需求解器的稀疏性(例如[25])。虽然BA可以用矩阵运算来解释,但它通常也被直接作为图算法[11],并且显然非常适合在图处理器上以消息传递方式实现。
6.2 实时回环
该图结构的另一主要部分包括内核处理器,该处理器对从相机和其他传感器输入的实时数据进行操作,并将其连接到地图。根据地图上的投影跟踪新图像并融合到更新后的信息表示中。这通常是GPU加速稠密SLAM系统所熟悉的大规模并行处理,并且这些功能可以被定义为计算图中的固定元素,其使用多个节点并使用大部分主要计算资源。诸如输入图像的分割和标记之类的功能也将在此处实现(或者可能在主处理器之外靠近传感器处理器上处理)。
当场景预测视图用于跟踪新图像数据、进行融合时,从新数据获取的信息(几何图形和标签)更新地图内容时,都需要对地图存储的数据进行渲染。
将图结构处理应用到实时回环中最困难的问题是,由于相机运动,用于这些操作的基于图结构的地图存储的相关部分也会不断变化。这似乎就不需要定义一个到存储地图信息的分布式存储器的高效固定的数据路径。虽然在地图存储中也会有内部处理,但这主要用于数据维护,似乎在地图存储周围快速模拟数据不适合,例如,使地图当前观测部分始终放置于图结构的特定位置。
相反,可能的解决方案是定义位于实时回环和地图存储之间的特殊接口节点。这些节点都集中在通信上,它们与实时回环处理的相关组件连接,然后也连接到地图图结构中的各个节点,这和哺乳动物大脑的海马体的结构有一些类似。如果地图存储的组织结构使其具有“微小世界”拓扑结构,这意味着任何部分都可以通过极少的边缘跳跃连接到任何其他部分,那么接口节点就应该能够只进行少量的操作便可以访问()任何相关的地图数据,并将其提供给实时回环。
地图存储中的每个节点都在此通信过程中扮演一定的角色,在这种情况下,它有时会用作来回地图数据链路的一部分。
07
图像处理器
机器人或其他设备有一个或多个相机与主处理器连接,并且我们相信该技术将进一步发展以允许在传感器内部或附近进行大量处理,其主要目的在于减少从相机流出的冗余数据。第一个想法是直接将相机连接到主处理器本身,直接从像素到多个处理节点的并行连接(导线),这是非常有吸引力的,并且在某些情况下是可能的。但是,在大多数设备中,很可能主处理器不能位于相机旁边,例如散热或空间问题。相机的理想位置不可能与主处理器的理想位置相同。无论如何,大多数未来的设备都可能有多个摄像头,都需要与同一主处理器和地图存储连接。因此需要一些与主处理器连接的远端相机,这引起了相机自身或在附近进行处理。
最简单的是,一个面内处理类似于SCAMP5[32]的传感器可以用来对输入图像流进行纯粹的自下而上的处理;抽象,简化和检测功能,以将其缩减为更紧凑,更丰富的数据格式。也可以执行诸如局部跟踪(例如光流估计),分割和简单标记的计算。
使用平面处理进行跟踪是一个有趣的问题。在平面处理中,数据访问控制在非常小的局部区域是很好的,所以估计局部图像运动(光流),输出的是每个像素的运动矢量,这非常合适。每次更新时,都可以使用局部正则化来增强局部图像变化量,平滑算子使用相邻像素的差值计算。如果我们看一下Pock TV-L1光流法的并行实现,可以看到它也涉及像素并行操作,其中涉及数据项的纯并行计算步骤与涉及梯度计算的正则化步骤交替,使用相邻邻居之间的消息传递来实现。所以这样的算法是在平面处理器上实现的很好的方案。
更具挑战性的是SLAM中通常需要的跟踪,我们希望通过局部图像变化来估计与模型相关的全局一致运动参数。这可能是瞬时相机运动估计,我们希望通过整个图像对齐来估计一帧和下一帧之间的全局旋转量[30],或者如稠密SLAM [29,39]中跟踪连续时间的场景模型。当在标准处理器上执行稠密跟踪时,它会涉及到在所有像素中进行误差项计算的纯并行步骤的交替操作,其中所有误差求和与全局运动参数被更新。全局模式的删减步骤主要用于正则化,但最大的区别在于,这里的正则化是全局的而非局部的。
在现代系统中,这种全局跟踪通常最好通过GPU和CPU的组合来实现,因此需要在两者之间进行常规(并且是昂贵的)数据传输。但是如果我们希望使用平面处理,在局部进行所有计算和内存,我们就不需要这样做。使用数据本地化处理的主要选择是放弃追踪的全局一致性,但可以通过本地消息传递来实现这一目标。每个像素可以保留对兴趣点的全局运动参数的估计,并且在每次迭代之后与邻居共享这些估计。这最终会达到全局收敛,但是在经过一定次数的迭代之后,每个像素保持的值可能足够接近,以至于可以查询单个像素就可以获得可用的估计。如果平面处理器在像素之间还具有一些较长的数据传递链路,或者更一般地具有“小世界”互连模式,则会更快地收敛。
谈到使用本地处理进行标记的问题,这当然是可行的,但是复杂标记的问题在于当前平面处理器设计中的存储器非常小,难以存储计算好的卷积结果或其他类似数据。
未来处理器自下而上的处理,可能超出纯粹在图像平面中的处理,并且使用可能非常适合实现卷积神经网络的3D芯片堆叠方法。目前3D堆叠很难制造,在散热和成本方面存在特殊挑战,但是这一天肯定会到来的:使用计算机视觉相机的内置功能提取特征层次结构。像Czarnowski等人的特征度量跟踪[6]这样的工作显示了这将具有广泛的应用前途。我们应该研究一个单纯的前向CNN在用多任务学习方法进行训练时要做的全部输出。
一个有趣的问题是,靠近图像平面的处理是否会保持纯粹的自下而上,或者相机和主处理器之间的双向通信是否值得。这可以让世界地图预测的模型传送给相机,因此可以在那里执行更高级别的处理,例如基于模型的相机运动或已知物体的跟踪。
在极限情况下,如果完全基于模型的预测能够和相机通信,则相机只需要返回与预测不同的信息。这在某种意义上是事件相机工作方式的限制。如果某个像素的亮度发生变化,则事件相机会输出数据 – 这就像假定默认情况下相机的场景视图保持不变。如果与预测的情况不同,“基于模型的事件相机”就会输出数据。这些问题都是“自下而上”与“自上而下”处理的关键问题,我们将在下一部分进一步考虑这些问题。
最后要说明的是,任何SpatialAI系统最终都必须提供确定任务的输出。这可以是发送给机器人执行器的命令,与另一个机器人的通信或者发送并显示注释以便在智能增强系统中给操作人员操作。正如“靠近传感器”的处理器效率一样,“靠近执行器”处理器也应该是同样角色,特别是因为执行器或通信通道有自己的感知方式(执行器的扭矩反馈;可能是AR眼镜的眼睛跟踪或其他观测值)融合到紧耦合回环中。
08
目标机制 或 主动视觉
主动视觉[2]主张使用传感器资源,例如相机指向的方向或处理器提供的反馈信息,这取决于当前的任务和现有的知识。这种“自上而下”的方法与“自下而上”,即从相机接收所有数据进行全面处理,形成对比。
在Davison “ActiveSearch for Real-Time Vision”中,有人提出通过预测和主动搜索可以大大减少跟踪和SLAM中的图像处理[9]。图像特征不需要在每一帧中“自下而上”检测,但是它们的位置是根据模型预测的,并以有针对性的方式进行搜索。这个想法带来的问题是,虽然图像处理操作可以通过预测和主动搜索来保存,但是需要太多的计算来决定在哪里查找。自此以来,大多数成功的实时视觉系统都采用了“”方法来处理低层图像。在SLAM中,这意味着要么是简单特征的全帧检测(例如PTAM [24]中的FAST特征[46]),要么是稠密全图像跟踪(例如DTAM [42])。 [9]中的概率计算是顺序的,非常难转移到[24]或[42]的并行架构。
生物视觉具有自下而上的处理(早期视觉,似乎以纯粹自下而上的方式进行操作)和主动或自上而下的视觉相结合(我们头部和眼睛为任务寻找相关基于模型预测的信息)。我们相信,主动视觉方法将返回到实时计算机视觉,但处于比原始像素更高的水平。特别是,图结构处理器架构的灵活性比CPU / GPU系统更适合主动处理。
我们现在非常了解,完全自下而上的图像处理或短序列处理(例如,通过CNN)可以实现诸如语义标记,目标检测,深度估计和局部运动估计等卓越的功能。我们应该在什么水平上打断这个处理过程,以引入基于模型的预测或任务相关需求?例如,当我们可以将先前构建的3D物体投影到新估计的相机位姿中,然后将物体检测应用于良好物体模型都无法解释的图像区域时,是否有必要将通用物体检测处理应用于每个图像帧(如SLAM ++ [49]所示)?最大的问题是:在与基于模型的数据,预测和优化进行交互之前,我们应该期望一个纯粹自下而上的算法在输入图像执行什么样的处理?
这个问题的答案必须回到[9]中使用的相同类型的信息获取与计算资源,但现在应考虑更多。该论文研究了基于模型的预测(例如增量概率SLAM)环境下的低层特征匹配,并且表明,匹配一组特征所需的图像处理量通过逐个搜索策略可以大大减少。每次搜索都减少了整个模型的不确定性,因此也减少了其他特征的搜索区域的大小以及匹配它们所需的计算量。所需搜索的顺序是根据互信息计算确定的:每个候选测量的预期不确定度降低。这种方法存在的问题是,图像处理的减少最终超过了进行概率和信息论计算所需的额外计算。最后,匹配点特征所需的基本图像处理计算并不昂贵,无法使主动搜索变得有价值,事实证明,检测和匹配所有特征更为简单。
但是当我们从视觉上实时理解全景时,随着诸如稠密重建,分割或识别等要素所需的更高计算负荷,主动选择将再次有意义。考虑一个简单的语义视觉的自下而上的处理流水线:
1. 使用稀疏特征定位
2. 稠密重建
3. 逐像素场景标注
4. 物体实例分割
5. 三维物体模型拟合
在中,我们可以将每个元素的每像素计算成本估计为流水线的一部分,并评估其输出的质量。然后应该将这些衡量标准与替代的“预测更新”程序进行比较,该程序可以在任何输出水平上执行。在这里,我们从内存中恢复现有模型,根据较低级别的更新对它们进行变换,以便对当前时间步进进行预测,然后对此与新图像一起使用“融合”处理来更新和增强预测成为最终的输出。计算的重点应放在尚未建模的区域上,例如在图像边缘可见的场景的新部分,或者在遮挡过后的显示,或者改进具有高度不确定性的区域的估计,例如在接近或观察到照明变换时更详细地看到的那些部分。这种“改进”通常是概率优化的形式,其中加权组合是基于模型的预测和来自新数据的信息。
在评估自下而上和自上而下的视觉的相对效率时,我们不仅要考虑处理操作,还要考虑数据传输,以及每种备选方案在何种程度上实现内存局部化和图结构计算。这将使基于模型的预测中的某些可能性变得不具吸引力,例如搜索大型全局地图或数据库。基于CNN视觉的惊人进步意味着我们不得不提高我们的视野,我们可以从纯粹的自下而上的图像处理中有所期待。而且,图结构处理肯定会允许有效地存储和检索模型数据的新方法,并有利于保持和更新具有局部数据的全局模型(图结构SLAM地图)。
09
性能指标和评估方法
我们在本文开始时所做的一个假设是,空间AI系统对于广泛任务的通用性可以通过相对较少的具有普遍重要性的性能指标来体现。
SLAM中最常见的性能测量重点是定位精度,并且为此创建了基准数据集(例如[52])。运动捕捉系统的外部位姿数据是对SLAM算法进行比较的基准。
我们认为空间人工智能不仅仅是位姿估计,最新的数据集试图扩大可以评估的范围。稠密场景建模很难评估,因为它需要昂贵且耗时的过程,例如详细的激光扫描来捕获真实场景的完整模型,该场景精确且完整,足以被视为比较基准。对于这种评估和其他评估方法,另一种方法是使用计算机图形生成综合测试数据,如ICL-NUIM数据集[19]。最近,这种方法也被扩展为语义标注提供比较基准(例如SceneNet RGB-D [34]),这是另一种难以获得真实数据的良好基本对比基准。对综合测试数据进行评估的价值是很自然的,并且有许多新方法来收集大规模真实建图数据,例如众包(例如ScanNet [7])。但是,合成数据变得越来越好,我们认为这会越来越重要。
更进一步讲,我们可以质疑对所有SpatialAI系统使用基准的价值。这是一个经常听到的评论,计算机视觉研究人员对数据集评估很感兴趣,并且已经花费了太多的精力来优化和组合算法,以在基准测试中获得更多的百分点,而不是致力于新的想法和技术。 SLAM由于其实时性,以及针对不同应用有广泛的有用输出和性能级别,难以有有意义的基准测试。我通常认为,通过播放一分钟左右的视觉SLAM系统,可以通过实时可视化自适应地定性检查其行为,而不是根据任何基准测量其性能。因此,高质量的实时开源SLAM研究系统(如MonoSLAM [8,10],PTAM [24],KinectFusion [41],LSD-SLAM [12],ORB-SLAM [36],OKVIS [28],SVO [14],ElasticFusion[56]),都可以尝试,而不是基准对比。
SLAM的基准测试一直不令人满意,因为他们对场景类型和形状,相机和其他传感器的选择和安放,帧速率和分辨率等做出了假设,并且将精力集中在某些评估方面,例如准确性,而低估其他更重要的评估方面诸如效率或鲁棒性。例如,许多评估算法与准确度基准的论文在诸如[52]的数据集中的测试序列之间进行选择,并只在基本可“工作”的那些系统上报告性能。
这带来了我们是否应该建立基准并根据SLAM系统进行评估和比较的问题?我们仍然认为是,但重点是扩大空间人工智能系统基准的含义,并承认我们不应该过分相信他们告诉我们的内容。
PAMELA研究项目[38]发布的SLAMBench框架代表了关于整个空间AI系统性能的重要初始工作。在SLAMBench中,SLAM算法(特别是KinectFusion [41])在一系列处理器平台的准确度和计算成本方面进行测量,并使用不同的语言实现。最近发布的SLAMBench2 [4]现在允许在一个统一的测试框架内比较各种SLAM算法,而PAMELA项目中的其他工作正在扩大其他方面的工作。 例如Saeedi等人开始解决量化运动类型的SLAM挑战赛以及在特定应用中存在的典型场景几何和外观的问题。可穿戴设备,地面机器人和无人机的运动都不同,它们需要在不同的环境中工作。虽然无人机上的SLAM由于快速运动而具有挑战性,但由于许多室内环境中可用的低质感以及其接近地面的地方存在许多遮挡,因此小型地面机器人也可能有困难的情况。
从长远来看,我们认为基准测试应该转向可以预测空间人工智能需要执行任务的一般能力的测量。这显然是一个多目标度量指标,帕累托前沿[37]的将允许为特定应用做出选择。
一组可能的指标包括:
10
结论
总之,空间人工智能和SLAM的研究领域将继续获得重要性,并且随着估算和机器学习技术的完全结合,将演变为许多不同类型应用所需的一般3D感知能力。然而,在实际应用中的广泛使用将需要这种先进的功能压缩所需的资源,这需要对算法、处理器和传感器进行联合思考。高效系统的关键在于识别和设计算法和数据存储中的稀疏图模式,并尽可能地将其应用于即将变成主流的新型硬件中。
致谢
这篇论文代表了我个人的观点和思考,但近年来在许多讨论和合作中受益匪浅。特别感谢我在由EPSRC Grant EP / K0 / 1资助的PAMELA项目中所有合作者,特别是Paul Kelly,Steve Furber,Mike O’Boyle,Mikel Luj’an,Bj¨ornFranke,Graham Riley, Zeeshan Zia,Sajad Saeedi,Luigi Nardi,Bruno Bodin,Andy Niet和John Mawer。
我也感谢帝国理工学院Dyson机器人实验室,机器人视觉组织,SLAMcore,Dyson和其他地方的其他同事,他们与我讨论过许多这些想法; 特别是Stefan Leutenegger,Jacek Zienkiewicz,Owen Nicholson,Hanme Kim,Charles Collis,Mike Aldred,Rob Deaves,Walterio Mayol-Cuevas,Pablo Alcantarilla,Richard Newcombe,David Moloney,Simon Knowles,Julien Martel,Piotr Dudek和Matthew Cook。
参考文献
[1] SLAMcore. URLhttp//www.slamcore.com/, 2025. 2
[2] D. H. Ballard.Animate Vision. Artificial Intelligence, 4857–86, 1991. 15
[3] M. Bloesch, J.Czarnowski, R. Clark, S. Leutenegger, and A. J. Davison. CodeSLAM — learning acompact, optimisable representation for dense visual SLAM. In Proceedings ofthe IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2025. 9
[4] B. Bodin, H.Wagstaff, S. Saeedi, L. Nardi, E. Vespa, J. H. Mayer, A. Niet, M. Luj′an, S.Furber, A. J. Davison, P. H. J. Kelly, and M. O’Boyle. SLAMBench2Multi-objective head-to-head benchmarking for visual SLAM. In Proceedings ofthe IEEE International Conference on Robotics and Automation (ICRA), 2025. 1,16
[5] M. Chli and A. J.Davison. Automatically and Efficiently Inferring the Hierarchical Structure ofVisual Maps. In Proceedings of the IEEE International Conference on Roboticsand Automation (ICRA), 2009. 9
[6] J. Czarnowski, S.Leutenegger, and A. J. Davison. Semantic texture for robust dense tracking. InProceedings of the International Conference on Computer Vision Workshops(ICCVW), 2025
2025
2025
2025
2025. 14
[7] A. Dai, A. X.Chang, M. Savva, M. Halber, T. Funkhouser, and M. Nie?ner. ScanNetRichly-annotated 3d reconstructions of indoor scene. In Proceedings of the IEEEConference on Computer Vision and Pattern Recognition (CVPR), 2025
2025
2025
2025
2025. 16
[8] A. J. Davison.Real-Time Simultaneous Localisation and Mapping with a Single Camera. InProceedings of the International Conference on Computer Vision (ICCV), 2003. 2,4, 16
[9] A. J. Davison.Active Search for Real-Time Vision. In Proceedings of the InternationalConference on Computer Vision (ICCV), 2005. 15
[10] A. J. Davison,N. D. Molton, I. Reid, and O. Stasse. MonoSLAM Real-Time Single Camera SLAM.IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI),29(6)1052–1067, 2007. 16
[11] F. Dellaert andM. Kaess. Square Root SAM Simultaneous Localization and Mapping via SquareRoot Information Smoothing. International Journal of Robotics Research (IJRR),1–1203, 2006. 13
[12] J. Engel, T.Schoeps, and D. Cremers. LSD-SLAM Largescale direct monocular SLAM. InProceedings of the European Conference on Computer Vision (ECCV), 2025. 8, 16
[13] C. Finn, X. Y.Tan, Y. Duan, T. Darrell, S. Levine, and P. Abbeel. Deep spatial autoencodersfor visuomotor learning. In arXiv preprint1509., 2025. 2
[14] C. Forster, M.Pizzoli, and D. Scaramuzza. SVO Fast Semi-Direct Monocular Visual Odometry. InProceedings of the IEEE International Conference on Robotics and Automation(ICRA), 2025. 16
[15] S. B. Furber, F.Galluppi, S. Temple, and L. A. Plana. The SpiNNaker Project. Proceedings of theIEEE, 2–665, 2025. 5
[16] S. Gupta, J.Davidson, S. Levine, R. Sukthankar, and J. Malik. Cognitive mapping andplanning for visual navigation. arXiv preprint arXiv1702., 2025
2025
2025
2025
2025. 3
[17] A. Handa, M.Bloesch, V. Patraucean, S. Stent, J. McCormac, and A. J. Davison. gvnn Neuralnetwork library for geometric computer vision. arXiv preprint arXiv1607.,2025. 3
[18] A. Handa, R. A.Newcombe, A. Angeli, and A. J. Davison. Real-Time Camera Tracking When is HighFrame Rate Best? In Proceedings of the European Conference on Computer Vision(ECCV), 2025. 6
[19] A. Handa, T.Whelan, J. B. McDonald, and A. J. Davison. A Benchmark for RGB-D VisualOdometry, 3D Reconstruction and SLAM. In Proceedings of the IEEE InternationalConference on Robotics and Automation (ICRA), 2025. 16
[20] M. Jaderberg, K.Simonyan, A. Zisserman, and K. Kavukcuoglu. Spatial transformer networks. arXivpreprint arXiv1506., 2025. 3
[21] S. James, A. J.Davison, and E. Johns. Transferring End-to-End Visuomotor Control fromSimulation to Real World for a Multi-Stage Task . In Conference on RobotLearning (CoRL), 2025
2025
2025
2025
2025. 2
[22] M. Kaess, H.Johannsson, R. Roberts, V. Ila, J. Leonard, and F. Dellaert. iSAM2 IncrementalSmoothing and Mapping Using the Bayes Tree. International Journal of RoboticsResearch (IJRR), 2025. To appear. 8
[23] H. Kim, S.Leutenegger, and A. J. Davison. Real-time 3D reconstruction, 6-DoF tracking andintensity reconstruction with an event camera. In Proceedings of the EuropeanConference on Computer Vision (ECCV), 2025. 6
[24] G. Klein and D.W. Murray. Parallel Tracking and Mapping for Small AR Workspaces. InProceedings of the International Symposium on Mixed and Augmented Reality(IAR), 2007. 15, 16
[25] K. Konolige.Sparse Sparse Bundle Adjustment. In Proceedings of the British Machine VisionConference (BMVC), 2010. 13
[26] K. Konolige andM. Agrawal. FrameSLAM From Bundle Adjustment to Real-Time Visual Mapping. IEEETransactions on Robotics (T-RO), 6–1077, 2008. 8
[27] A. Krizhevsky,I. Sutskever, and G. Hinton. ImageNet classification with deep convolutionalneural networks. In Neural Information Processing Systems (NIPS), 2025. 5
[28] S. Leutenegger,S. Lynen, M. Bosse, R. Siegwart, and P. Furgale. Keyframe-based visual-inertialodometry using nonlinear optimization. The International Journal of RoboticsResearch, 34(3)314–334, 2025. 4, 16
[29] S. J. Lovegrove.Parametric Dense Visual SLAM. PhD thesis, Imperial College London, 2011. 14
[30] B. D. Lucas andT. Kanade. An Iterative Image Registration Technique with an Application toStereo Vision. In Proceedings of the International Joint Conference onArtificial Intelligence (IJCAI), 1981. 14
[31] J. Markoff.Machines of Loving Grace The Quest for Common Ground Between Humans andRobots. HarperCollins, 2025. 1
[32] J. Martel and P.Dudek. Vision chips with in-pixel processors for high-performance low-powerembedded vision systems. In ASR-MOV Workshop, CGO, 2025. 6, 14
[33] J. McCormac, A.Handa, A. J. Davison, and S. Leutenegger. SemanticFusion Dense 3D semanticmapping with convolutional neural networks. In Proceedings of the IEEEInternational Conference on Robotics and Automation (ICRA), 2025
2025
2025
2025
2025. 2, 3, 4, 9
[34] J. McCormac, A.Handa, S. Leutenegger, and A. J. Davison. SceneNet RGB-D Can 5M synthetic imageeat generic ImageNet pre-training on indoor segmentation? In Proceedings ofthe International Conference on Computer Vision (ICCV), 2025
2025
2025
2025
2025. 16
[35] C. Mei, G.Sibley, M. Cummins, P. Newman, and I. Reid. RSLAM A System for Large-ScaleMapping in Constant Time Using Stereo. International Journal of Computer Vision(IJCV), –214, 2011. 8
[36] R. Mur-Artal, J.M. M. Montiel, and J. D. Tard′os. ORBSLAMa Versatile and Accurate MonocularSLAM System. IEEE Transactions on Robotics (T-RO), 31(5)7–1163, 2025. 16
[37] L. Nardi, B.Bodin, S. Saeedi, E. Vespa, A. J. Davison, and P. H. J. Kelly. Algorithmicperformance-accuracy trade-off in 3d vision applications using hypermapper.arXiv preprint arXiv1702., 2025
2025
2025
2025
2025. 17
[38] L. Nardi, B.Bodin, M. Z. Zia, J. Mawer, A. Niet, P. H. Kelly, A. J. Davison, M. Lujan, M.F. OBoyle, G. Riley,
N. Topham, and S.Furber. Introducing SLAMBench, a performance and accuracy benchmarkingmethodology for SLAM. In Proceedings of the IEEE International Conference onRobotics and Automation (ICRA), 2025. 1, 9, 10,16
[39] R. A. Newcombe.Dense Visual SLAM. PhD thesis, Imperial College London, 2025. 9, 14
[40] R. A. Newcombe,D. Fox, and S. M. Seitz. Dynamicfusion Reconstruction and tracking ofnon-rigid scenes in real-time. In Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition (CVPR), 2025. 9
[41] R. A. Newcombe,S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A. J. Davison, P. Kohli, J.Shotton, S. Hodges,
and A. Fitzgibbon.KinectFusion Real-Time Dense Suce Mapping and Tracking. In Proceedings ofthe International Symposium on Mixed and Augmented Reality (IAR), 2011. 5, 9,16
[42] R. A. Newcombe,S. Lovegrove, and A. J. Davison. DTAM Dense Tracking and Mapping in Real-Time.In Proceedings of the International Conference on Computer Vision (ICCV), 2011.2, 5, 9, 15
[43] J. Pearl.Theoretical impediments to machine learning, with seven sparks from the causalrevolution. Technical report, University of California, Los Angeles, 2025
2025
2025
2025
2025.Technical Report R-275. 2
[44] T. Pock. FastTotal Variation for Computer Vision. PhD thesis, Graz University of Technology,2008. 8, 14
[45] T. Pock, M.Grabner, and H. Bischof. Real-time Computation of Variational Methods onGraphics Hardware. In Proceedings of the Computer Vision Winter Workshop, 2007.4
[46] E. Rosten and T.Drummond. Machine learning for highspeed corner detection. In Proceedings ofthe European Conference on Computer Vision (ECCV), 2006. 15
[47] M. R¨unz and L.Agapito. Co-Fusion Real-time segmentation, tracking and fusion of multipleobjects. In Proceedings of the IEEE International Conference on Robotics andAutomation (ICRA), 2025
2025
2025
2025
2025. 9
[48] S. Saeedi, L.Nardi, E. Johns, B. Bodin, P. Kelly, and A. Davison. Application-orienteddesign space exploration for SLAM algorithms. In Proceedings of the IEEEInternational Conference on Robotics and Automation (ICRA), 2025
2025
2025
2025
2025. 16
[49] R. F.Salas-Moreno, R. A. Newcombe, H. Strasdat, P. H. J. Kelly, and A. J. Davison.SLAM++ Simultaneous Localisation and Mapping at the Level of Objects. InProceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2025. 4, 8, 9, 15
[50] T. Schmidt, R.Newcombe, and D. Fox. Self-supervised visual descriptor learning for densecorrespondence. In Proceedings of the IEEE International Conference on Roboticsand Automation (ICRA), 2025
2025
2025
2025
2025. 10
[51] I. Stoica, D.Song, R. A. Popa, D. A. Patterson, M. W. Mahoney, R. H. Katz, A. D. Joseph, M.Jordan, J. M. Hellerstein, J. Gonzalez, K. Goldberg, A. Ghodsi, D. E. Culler,and P. Abbeel. A Berkeley view of systems challenges for AI. Technical report,Electrical Engineering and Computer Sciences University of California atBerkeley, 2025
2025
2025
2025
2025. Technical Report UCB/EECS-2025
2025
2025
2025
2025-159. 2
[52] J. Sturm, N.Engelhard, F. Endres, W. Burgard, and D. Cremers. A Benchmark for theEvaluation of RGB-D SLAM Systems. In Proceedings of the IEEE/RSJ Conference onIntelligent Robots and Systems (IROS), 2025. 16
[53] H. Sutter.Welcome to the jungle. URL https//herbsutter.com/welcome-to-the-jungle, 2011.4
[54] K. Tateno, F.Tombari, I. Laina, and N. Navab. CNN-SLAM Real-time dense monocular slam withlearned depth prediction. In Proceedings of the IEEE Conference on ComputerVision and Pattern Recognition (CVPR), 2025
2025
2025
2025
2025. 2
[55] H. Wen, S. Wang,R. Clark, and N. Trigoni. DeepVO Towards end to end visual odometry with deeprecurrent convolutional neural networks. In Proceedings of the IEEEInternational Conference on Robotics and Automation (ICRA), 2025
2025
2025
2025
2025. 3
[56] T. Whelan, S.Leutenegger, R. F. Salas-Moreno, B. Glocker, and A. J. Davison. ElasticFusionDense SLAM without a pose graph. In Proceedings of Robotics Science andSystems (RSS), 2025. 9, 16
[57] K. M. Wurm, A.Hornung, M. Bennewitz, C. Stachniss, and W. Burgard. OctoMap A Probabilistic, Flexible,and Compact 3D Map Representation for Robotic Systems. In Proceedings of theICRA 2010 Workshop on Best Practice in 3D Perception and Modeling for MobileManipulation, 2010. 9
[58] Y. Xiang and D.Fox. DA-RNN Semantic mapping with data associated recurrent neural networks.arXiv preprint arXiv1703., 2025
2025
2025
2025
2025. 4
[59] T. Zhou, M.Brown, N. Snavely, and D. G. Lowe. Unsupervised learning of depth andego-motion from video. In Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition (CVPR), 2025
2025
2025
2025
2025. 3, 4
[60]J. Zienkiewicz, A. Tsiotsios, A. J. Davison, and S. Leutenegger. Monocular,Real-Time Suce Reconstruction using Dynamic Level of Detail. In Proceedingsof the International Conference on 3D Vision (3DV), 2025. 9