HD地图的可扩展图形SLAM
相关申请的交叉引用
本申请要求Irion等人于2018年2月23日提交的题为“SCALABLE GRAPH SLAM FOR HDMAPS”的美国临时申请序列号62/634,327的优先权,所述美国临时申请的公开内容特此通过引用以其整体并入本文中。
技术领域
本公开涉及用于解决图形SLAM问题的系统和方法,并且特别地涉及用于解决HD地图的图形SLAM问题的系统和方法。
背景技术
图形SLAM的目标是要找到使如下代价函数最小化的姿态集合
其中
其中
通过将边如下线性化来获得更新
并且代入(3),得到二次近似
这通过下式(8)被最小化
大多数先前已知的解算器在单个节点上迭代求解该线性系统。然而,这样的单节点解算器并不很好地适应建图区的大小。这使对于用来为更大的区域构建HD地图的可扩展系统和算法的需要成为必需。
发明内容
根据本公开的一个实施例,一种使用计算系统解决HD地图的图形同时定位和建图(图形SLAM)的方法包括将图形分区成多个子图,所述子图中的每个具有图形的所有顶点以及图形的边的子集。定义子图的受约束顶点和非约束顶点。使用分区的图形定义图形SLAM的交替方向乘子法(ADMM)公式。然后,基于ADMM公式,根据受约束顶点和非约束顶点定义分布式图形SLAM算法。然后使用分布式图形SLAM算法来解决针对HD地图的图形SLAM问题。
附图说明
图1(a)示出了如何定义图形
图1(b)示出了子图
图2是用于实现本文中所述的HD地图的分布式图形SLAM算法的计算系统的示意性描绘。
具体实施方式
出于促进对本公开原理的理解的目的,现在将参考在附图中图示并且在以下书写的说明书中描述的实施例。应当理解,并不旨在由此对本公开的范围进行限制。应当进一步理解,本公开包括对所图示实施例的任何变更和修改,并且包括如本公开所属领域的普通技术人员通常将想到的本公开原理的进一步的应用。
存在可用于大规模计算和存储的各种框架。这样的框架可以宽泛地被分类为;
a.单节点内存系统,其中整个数据在单个计算机的存储器中被加载和处理;
b.磁盘中系统,其中整个数据驻留在磁盘中,并且大块数据在存储器中被加载和处理。尽管不存在许多采用该方法来解决(1)的可用工具,但是大多数单节点解决方案可以通过标准计算平台中可用的标准磁盘中能力进行扩展。例如,MATLAB中的内存映射文件(memmapfile),Python中的内存映射(mmap),等;
c.数据库中系统,其中数据存储在数据库中,并且处理被带到数据驻留在其中的数据库;
d.分布式存储装置和计算系统,其中数据驻留在多个节点中,并且计算分布在那些节点之中。典型的框架牵涉Hadoop、Apache Spark(分布式内存分析,其存储在HDFS上)。
在一个实施例中,具有存储在HDFS中的数据的Apache Spark计算框架被用于实现可扩展的图形SLAM系统。这提供若干个优点。首先,与现有的基于单节点的解决方案相比,分布式架构允许对大规模建图的计算进行扩展。进一步地,与像Hadoop的其它分布式解决方案相比,Spark提供了具有延迟执行的分布式内存计算。这使得它与需要将所有中间数据写入磁盘的Hadoop(映射-归约(Map-Reduce))相比是非常快速并且具有容错性的,尤其对于迭代任务而言。在替代实施例中,可以使用任何合适的计算框架。
利用这样的分布式架构必需采用能够大规模处置问题(1)的先进优化算法。基本上,(1)中的问题需要迭代地求解二次规划(QP)。最近对于在分布式环境中解决这样的QP的研究典型地采用以下方法中的一个:
a.一阶方法,其使用来自目标的一阶信息,像梯度估计、割线近似等。这样的方法招致低的每次迭代计算复杂度,并且提供了独立于维数的收敛性。然而,收敛速率在很大程度上取决于对步长的选择和问题的条件性;
b.二阶方法,其使用附加的曲率信息,像黑塞(或像L-BFGS之类的近似),并且改进了问题的条件性。这样的方法提供了提高的收敛速率,但导致更坏的每步计算成本;
c.随机化算法,其使用原始大规模数据的二次抽样或低秩表示来解决小规模等价问题。
另一类更广泛的算法采用拆分技术,其将目标函数解耦成更小的子问题,并且迭代地对它们求解。所得到的子问题是更容易解决的,并且可以使用上面讨论的方法以分布式方式容易地解决。一些这样的流行算法是近端梯度法、近端(拟)牛顿法、交替方向乘子法(ADMM)等。在这些方法中,已经广泛地采用ADMM来解决若干个大规模的实际问题。为了利用问题的结构,定制了对ADMM的若干种适配。非常适合于并行和分布式环境的一个这样的版本是一致性ADMM。
一致性ADMM以其基本形式解决了以下问题:
服从
一致性ADMM步骤是
这里,
注意的是,这样的形式非常适合于在Spark中使用映射-归约范例的分布式环境。在这种情况下,w步骤牵涉将计算分布(映射)在若干个节点
为了利用用于图形SLAM的一致性ADMM,将图形
观察到梯度和黑塞矩阵分别由下式给出
在
服从
此后,ADMM变量
虽然每个子图
1)子图
2)子图
3)当对图形进行分区时,每个顶点被指定为恰好一个子图的原生(native)顶点,对于该子图它是受约束顶点;当多个子图包含约束顶点的边时,必须决定选取它的原生子图。
图1中描绘了图形分区的简化示例。图G被分区成子图
为了简化符号,让我们将
并且,如之前一样,让
标示对对应于受约束顶点的条目的限制。
在具有这些定义在位的情况下,我们现在可以根据受约束顶点和非约束顶点来分解更新,并且经由ADMM呈现我们的分布式算法以用于解决图形SLAM:
以上呈现的算法将收敛。为了获得对称的正定矩阵
应当选择矩阵
其中
注意到,
通过如在(33)中那样重新定义边,可以计及更多的约束,这转而使得黑塞能够成为更好的近似,从而产生更好的预处理矩阵。
值得提及的是,子图的黑塞
图2描绘了用于实现上述可扩展图形SLAM框架的示例性系统100。系统100包括可操作地连接到存储器系统104的处理系统102。处理系统102包括一个或多个处理器,所述一个或多个处理器可以位于相同设备/位置中,或者可以跨一个或多个位置处的多个设备分布。可以使用任何合适类型的(一个或多个)处理器。
处理系统可操作地连接到存储器系统104。存储器系统104可以包括任何合适类型的非暂时性计算机可读存储介质。存储器系统104可以跨多个设备和/或位置分布。编程指令存储在存储器系统中。编程指令包括用于实现操作系统和系统的各种功能的指令。编程指令还包括用于实现本文中描述的可扩展图形SLAM和ADMM算法的指令。
系统的组件可以通过一个或多个网络106通信地连接。可以使用任何合适类型的(一个或多个)网络,包括有线和无线类型的网络。计算设备包括使得能够经由(一个或多个)网络传输和接收数据的适当的网络接口设备。
虽然已经在附图和前面的描述中详细图示和描述了本公开,但是应当认为它们在符号方面是说明性的,而不是限制性的。应当理解的是,仅呈现了优选实施例,并且在本公开的精神内的所有改变、修改和进一步的应用都希望受到保护。