图优化系统、方法、计算机程序产品以及存储介质技术方案

技术编号:35931839 阅读:15 留言:0更新日期:2022-12-14 10:17
本申请的实施例提供了一种图优化系统、方法、计算机程序产品以及存储介质。系统包括第一计算装置和多个第二计算装置,第一计算装置用于:获取图的顶点数据;对图的顶点数据进行分块处理,以获得多组分块顶点数据,并将每组分块顶点数据一对一地存储到多个第二计算装置;自多个第二计算装置分别接收优化后的分块顶点数据,并基于优化后的分块顶点数据,重建图;第二计算装置用于:基于各自存储的分块顶点数据执行第一计算操作以获得计算数据,并基于计算数据以及从多个第二计算装置中的其他第二计算装置获得的计算数据确定优化后的分块顶点数据。避免了由于中间数据较多而导致的系统崩溃问题,保证了图优化的顺利进行,显著提高了图优化的效率。提高了图优化的效率。提高了图优化的效率。

【技术实现步骤摘要】
图优化系统、方法、计算机程序产品以及存储介质


[0001]本申请涉及计算机
,更具体地涉及一种图优化系统、一种图优化方法、一种计算机程序产品以及一种存储介质。

技术介绍

[0002]图优化技术把一个常规的优化问题以图(Graph)的形式来表述。图是由顶点和边组成的结构,例如其可以是地图、路线图、人脸图等。具体例如,线路图中的特征点以及人脸图中的关键点等都可以看作图的顶点。每个顶点之间可以根据不同的规则进行连线以获得拓扑图。图优化可以认为是对这些拓扑图中的顶点数据以及采集这些图所利用的相机的位姿信息等参数进行误差分析并优化的过程。图优化技术在三维(3D)视觉、同步定位与建图(SLAM)的后端优化等领域有着广泛的应用。其应用范围包括但不限于例如大规模地图重建、高精度地图重建等。
[0003]一般地,在执行图优化的过程中需要求解稀疏线性方程。现有的图优化系统通常仅包括一个图形处理器(GPU),依赖该GPU的计算能力对稀疏线性方程求解。具体地,在求解稀疏线性方程时,该GPU往往首先利用舒尔消元法对该稀疏线性方程进行消元,之后对消元后得到的消元线性方程进行求解。而在利用舒尔消元法进行消元的过程中包括一系列计算操作,进而可能产生并存储大量的中间数据。因此,上述消元过程可能会占用大量的内存,而内存占用过多必然对GPU的处理速度造成较大影响,从而降低图优化的效率。此外,随着稀疏线性方程的规模的增大,舒尔消元过程中涉及到的中间数据也更多。在中间数据的数量超过内存所能承载的阈值时,该GPU将无法实现对稀疏线性方程的求解,进而,无法实现图优化。
[0004]因此,亟需一种新的技术方案以解决上述技术问题。

技术实现思路

[0005]考虑到上述问题而提出了本申请。根据本申请的一个方面,提供了一种图优化系统,包括:第一计算装置和多个第二计算装置,第一计算装置用于:获取图的顶点数据;对图的顶点数据进行分块处理,以获得多组分块顶点数据,并将每组分块顶点数据一对一地存储到多个第二计算装置;自多个第二计算装置分别接收优化后的分块顶点数据,并基于优化后的分块顶点数据,重建图;第二计算装置用于:基于各自存储的分块顶点数据执行第一计算操作以获得计算数据,并基于计算数据以及从多个第二计算装置中的其他第二计算装置获得的计算数据确定优化后的分块顶点数据。
[0006]示例性地,第一计算装置还用于获取用于计算图的重投影误差的目标函数;对于第i个第二计算装置,第i个第二计算装置基于所存储的分块顶点数据执行第一计算操作以获得计算数据,并基于计算数据以及从多个第二计算装置中的其他第二计算装置获得的计算数据确定优化后的分块顶点数据,通过以下方式实现:基于所存储的分块顶点数据以及目标函数,计算分块重投影误差、分块重投影误差关于分块顶点数据的分块雅可比矩阵;基
于分块重投影误差,构建关于分块雅可比矩阵的分块稀疏线性方程;以及基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据确定优化后的分块顶点数据,其中,第i个第二计算装置的计算数据是基于分块重投影误差、分块雅可比矩阵和分块稀疏线性方程执行第二计算操作获得的。
[0007]示例性地,第i个第二计算装置基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据确定优化后的分块顶点数据,通过以下方式实现:基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据执行第三计算操作,确定使图的重投影误差最小的顶点数据相对于当前的顶点数据的第一增量;判断第一增量是否满足图重建条件;对于第一增量不满足图重建条件的情况,基于第一增量更新当前的分块顶点数据,以再次确定使图的重投影误差最小的顶点数据相对于更新后的顶点数据的第一增量,重复上述操作直至最新确定的第一增量满足图重建条件;基于满足图重建条件的第一增量更新当前的分块顶点数据,以获得优化后的分块顶点数据。
[0008]示例性地,第i个第二计算装置基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据执行第三计算操作,确定使图的重投影误差最小的顶点数据相对于当前的顶点数据的第一增量,通过以下方式实现:利用共轭梯度法基于第i个第二计算装置的计算数据以及其他第二计算装置的计算数据执行第四计算操作,确定第一向量和第二向量中的任意一个向量,其中,第一向量和第二向量能够拼接形成第一增量;基于第一向量和第二向量中的所确定的向量,计算第一向量和第二向量中的另一个向量,以确定第一增量。
[0009]示例性地,第i个第二计算装置基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据执行第三计算操作,确定使图的重投影误差最小的顶点数据相对于当前的顶点数据的第一增量时,其中,对于Al的乘积的计算通过以下方式实现:将运算式A中的对应的数据右乘向量l,以获得乘积向量;与其他第二计算装置进行通信,并将乘积向量和经由通信获得的其他第二计算装置的乘积向量进行累加,以获得Al的乘积;其中,A表示关于矩阵E的运算式,E表示用于采集顶点数据的图像采集装置的位置信息与图的角点的位置信息之间的约束矩阵,图的顶点数据中包括图的角点的位置信息,l表示任意向量,E
i
表示分块约束矩阵,n表示第二计算装置的个数。
[0010]示例性地,第一计算装置对图的顶点数据进行分块处理,通过以下方式实现:根据第二计算装置的个数,对图的顶点数据进行平均分块处理。
[0011]根据本申请的第二方面,还提供了一种图优化方法,包括:
[0012]利用第一计算装置获取图的顶点数据,并且对图的顶点数据进行分块处理,以获得多组分块顶点数据,并将每组分块顶点数据一对一地存储到多个第二计算装置;
[0013]利用第二计算装置基于各自存储的分块顶点数据执行第一计算操作以获得计算数据,与其他第二计算装置之间进行通信,并基于计算数据以及经由通信获得的其他第二计算装置的计算数据确定优化后的分块顶点数据;
[0014]利用第一计算装置基于优化后的分块顶点数据,重建图。
[0015]根据本申请的第三方面,还提供了一种计算机程序产品,包括程序指令,程序指令在运行时用于执行如前所述的图优化方法。
[0016]根据本申请的第四方面,还提供了一种存储介质,在存储介质上存储了程序指令,
程序指令在运行时用于执行如前所述的图优化方法。
[0017]在上述技术方案中,对整个图的顶点数据进行分块处理,使得每块顶点数据可以利用不同的计算装置分别独立更新,以获得优化后的分块顶点数据,进而基于这些优化后的分块顶点数据完成整个图的重建。由于对于单个计算装置来说,其数据处理量有限,所以避免了由于中间数据较多而导致的系统崩溃问题,保证了图优化的顺利进行,而且,显著提高了图优化的效率。
附图说明
[0018]通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图优化系统,其特征在于,包括:第一计算装置和多个第二计算装置,所述第一计算装置用于:获取图的顶点数据;对所述图的顶点数据进行分块处理,以获得多组分块顶点数据,并将每组分块顶点数据一对一地存储到所述多个第二计算装置;自所述多个第二计算装置分别接收优化后的分块顶点数据,并基于所述优化后的分块顶点数据,重建所述图;所述第二计算装置用于:基于各自存储的分块顶点数据执行第一计算操作以获得计算数据,并基于所述计算数据以及从所述多个第二计算装置中的其他第二计算装置获得的计算数据确定所述优化后的分块顶点数据。2.如权利要求1所述的图优化系统,其特征在于,所述第一计算装置还用于获取用于计算所述图的重投影误差的目标函数;对于第i个第二计算装置,所述第i个第二计算装置基于所存储的分块顶点数据执行第一计算操作以获得计算数据,并基于所述计算数据以及从所述多个第二计算装置中的其他第二计算装置获得的计算数据确定所述优化后的分块顶点数据,通过以下方式实现:基于所存储的分块顶点数据以及所述目标函数,计算分块重投影误差、所述分块重投影误差关于分块顶点数据的分块雅可比矩阵;基于所述分块重投影误差,构建关于所述分块雅可比矩阵的分块稀疏线性方程;以及基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据确定所述优化后的分块顶点数据,其中,第i个第二计算装置的计算数据是基于所述分块重投影误差、所述分块雅可比矩阵和所述分块稀疏线性方程执行第二计算操作获得的。3.如权利要求2所述的图优化系统,其特征在于,第i个第二计算装置基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据确定所述优化后的分块顶点数据,通过以下方式实现:基于第i个第二计算装置的计算数据以及从其他第二计算装置获得的计算数据执行第三计算操作,确定使所述图的重投影误差最小的顶点数据相对于当前的顶点数据的第一增量;判断所述第一增量是否满足图重建条件;对于所述第一增量不满足所述图重建条件的情况,基于所述第一增量更新当前的分块顶点数据,以再次确定使所述图的重投影误差最小的顶点数据相对于更新后的顶点数据的第一增量,重复上述操作直至最新确定的第一增量满足所述图重建条件;基于满足所述图重建条件的第一增量更新当前的分块顶点数据,以获得所述优化后的分块顶点数据。4.如权利要求3所述的图优化系统,其特征在于,第i个第二计算装置基于第i个第二计算装...

【专利技术属性】
技术研发人员:任杰梁文腾闫冉
申请(专利权)人:北京迈格威科技有限公司深圳旷视金智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1