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

技术编号:32726747 阅读:63 留言:0更新日期:2022-03-20 08:32
本发明专利技术的实施例提供了一种图优化方法、系统、计算机程序产品以及存储介质。方法包括:获取图的顶点数据,接收用户输入的用于计算重投影误差的目标函数,其中顶点数据包括相机位姿信息;采用并行计算的方式执行以下操作中的一个或多个:基于当前获取的顶点数据以及目标函数,计算重投影误差及重投影误差关于顶点数据的雅可比矩阵;基于重投影误差及雅可比矩阵,确定使重投影误差最小的顶点数据相对于当前获取的顶点数据的增量;以及基于增量更新顶点数据用以重建所述图。上述技术方案极大地缩短了图优化过程中的运算求解时间,提高了工业生产效率,使众多基于图优化的重建算法具备了实时计算的可能。时计算的可能。时计算的可能。

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


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

技术介绍

[0002]图优化技术把一个常规的优化问题以图(Graph)的形式来表述。图是由顶点和边组成的结构,例如其可以是地图、路线图、人脸图等。具体例如,线路图中的特征点以及人脸图中的关键点等都可以看作图的顶点。每个顶点之间可以根据不同的规则进行连线以获得拓扑图。图优化可以认为是对这些拓扑图中的顶点数据以及采集这些图所利用的相机的位姿信息等参数进行误差分析并优化的过程。图优化技术在三维(3D)视觉、同步定位与建图(SLAM)的后端优化等领域有着广泛的应用。其应用范围包括但不限于例如大规模地图重建、高精度地图重建等。
[0003]现有的图优化技术的框架都是基于中央处理器(CPU)设计的,依赖CPU的计算能力对海量数据进行串行处理,以执行图优化。这一过程所消耗的时间较长,速度较慢。

技术实现思路

[0004]考虑到上述问题而提出了本专利技术。根据本专利技术的一个方面,提供了一种图优化方法,包括:获取图的顶点数据,接收用户输入的用于计算重投影误差的目标函数;采用并行计算的方式执行以下操作中的一个或多个:基于当前获取的顶点数据以及目标函数,计算重投影误差及重投影误差关于顶点数据的雅可比矩阵;基于重投影误差及雅可比矩阵,确定使重投影误差最小的顶点数据相对于当前获取的顶点数据的增量;以及基于增量更新顶点数据用以重建所述图。
[0005]示例性地,计算重投影误差及重投影误差关于顶点数据的雅可比矩阵利用并行加速的数学算子实现,图优化方法还包括:根据单个数学算子所需要的内存空间M0,开辟N1倍于内存空间M0的内存空间M1以生成动态内存池,并且生成N1个多线程句柄;其中,每次数学算子申请内存空间,都从动态内存池为该数学算子分配内存空间并且为该数学算子分配一个多线程句柄,每次数学算子销毁时,将为该数学算子分配的内存空间归还动态内存池同时归还为该数学算子分配的多线程句柄;对于当又一数学算子申请内存空间时动态内存池没有空闲空间的情况,重新申请N2倍于内存空间M0的内存空间M2,以扩大动态内存池,并且再次生成N2个多线程句柄,从扩大后的动态内存池中为该又一数学算子分配内存空间并且为该又一数学算子分配一个多线程句柄。
[0006]示例性地,从动态内存池为该数学算子分配内存空间包括:为该数学算子的运算结果分配内存空间,其中,为每个运算结果所分配的内存空间与和该运算结果表示同一物理参数的运算结果的内存空间相邻。
[0007]示例性地,数学算子包括正向传播自动微分算子;计算重投影误差及重投影误差关于顶点数据的雅可比矩阵,包括:基于当前获取的顶点数据以及目标函数,利用自动微分
算子计算重投影误差关于顶点数据的雅可比矩阵。
[0008]示例性地,采用并行计算的方式执行基于重投影误差及雅可比矩阵,确定使重投影误差最小的顶点数据相对于当前获取的顶点数据的增量,包括:采用并行计算的方式执行以下操作中的一个或二者:基于重投影误差及雅可比矩阵,确定线性方程(H+λI)Δx=b的参数矩阵H和常数向量b;其中,线性方程的解Δx表示增量,λ表示相机搜索半径,I表示单位矩阵;基于参数矩阵H和常数向量b求解线性方程(H+λI)Δx=b,以确定增量Δx。
[0009]示例性地,基于重投影误差及雅可比矩阵,确定线性方程(H+λI)Δx=b的参数矩阵H和常数向量b,包括:开辟共享内存;开启多个线程块,其中,每个线程块包括多个线程,每个线程用于将重投影误差和雅克比矩阵的相关数据存储到共享内存并从共享内存获取相关数据进行计算,以获得并存储参数矩阵H和常数向量b。
[0010]示例性地,基于重投影误差及雅可比矩阵,确定线性方程(H+λI)Δx=b的参数矩阵H和常数向量b,包括:基于重投影误差r及雅可比矩阵J,利用如下公式确定参数矩阵H和常数向量b:H=J
T
J和b=

J
T
r,其中,r表示重投影误差,J表示雅克比矩阵。
[0011]示例性地,并行计算的方式采用并行指令集来实现。
[0012]示例性地,并行计算的方式利用通用图形处理器来实现。
[0013]根据本专利技术的另一方面,提供了一种图优化系统,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行如上所述的图优化方法。
[0014]示例性地,处理器包括中央处理器和通用图形处理器,其中,中央处理器用于获取图的顶点数据,接收用户输入的用于计算重投影误差的目标函数,其中顶点数据包括相机位姿信息;通用图形处理器用于采用并行计算的方式执行以下操作中的一个或多个:基于当前获取的顶点数据以及目标函数,计算重投影误差及重投影误差关于顶点数据的雅可比矩阵;基于重投影误差及雅可比矩阵,确定使重投影误差最小的顶点数据相对于当前获取的顶点数据的增量;以及基于增量更新顶点数据,以重建图。
[0015]示例性地,图优化系统还包括相机,用于采集特征点图像并输出给处理器,其中顶点数据包括特征点图像。
[0016]根据本专利技术的又一方面,提供了一种计算机程序产品,包括程序指令,程序指令在运行时用于执行如上所述的图优化方法。
[0017]根据本专利技术的再一方面,提供了一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行如上所述的图优化方法。
[0018]在上述技术方案中,针对同一类型的数据的相同计算,可以同时并行运算以加速其计算过程。极大地缩短了图优化过程中的运算求解时间,提高了工业生产效率,使众多基于图优化的重建算法具备了实时计算的可能。
附图说明
[0019]通过结合附图对本专利技术实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0020]图1示出了用于实现根据本专利技术实施例的图优化方法和装置的示例电子设备的示意性框图;
[0021]图2示出了根据本专利技术一个实施例的图优化方法的示意性流程图;
[0022]图3示出了根据本专利技术一个实施例的计算重投影误差及重投影误差关于顶点数据的雅可比矩阵所涉及的加法计算的示意图;
[0023]图4示出了根据本专利技术一个实施例的生成以及动态分配内存池的示意性流程图;
[0024]图5示出了根据本专利技术一个实施例的多个线程并行计算参数矩阵和常数向量的示意图;
[0025]图6示出了根据本专利技术的一个实施例的图优化装置的示意性框图;以及
[0026]图7示出了根据本专利技术实施例的图优化系统的示意性框图。
具体实施方式
[0027]近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图优化方法,其特征在于,包括:获取图的顶点数据,接收用户输入的用于计算重投影误差的目标函数;采用并行计算的方式执行以下操作中的一个或多个:基于当前获取的顶点数据以及所述目标函数,计算所述重投影误差及所述重投影误差关于顶点数据的雅可比矩阵;基于所述重投影误差及所述雅可比矩阵,确定使所述重投影误差最小的顶点数据相对于当前获取的顶点数据的增量;以及基于所述增量更新所述顶点数据用以重建所述图。2.如权利要求1所述的图优化方法,其中,所述计算重投影误差及所述重投影误差关于所述顶点数据的雅可比矩阵利用并行加速的数学算子实现,所述图优化方法还包括:根据单个数学算子所需要的内存空间M0,开辟N1倍于所述内存空间M0的内存空间M1以生成动态内存池,并且生成N1个多线程句柄;其中,每次数学算子申请内存空间,都从所述动态内存池为该数学算子分配内存空间并且为该数学算子分配一个多线程句柄,每次数学算子销毁时,将为该数学算子分配的内存空间归还所述动态内存池同时归还为该数学算子分配的多线程句柄;对于当又一数学算子申请内存空间时所述动态内存池没有空闲空间的情况,重新申请N2倍于所述内存空间M0的内存空间M2,以扩大所述动态内存池,并且再次生成N2个多线程句柄,从扩大后的动态内存池中为该又一数学算子分配内存空间并且为该又一数学算子分配一个多线程句柄。3.如权利要求2所述的图优化方法,其中,所述从所述动态内存池为该数学算子分配内存空间包括:为该数学算子的运算结果分配内存空间,其中,为每个运算结果所分配的内存空间与和该运算结果表示同一物理参数的运算结果的内存空间相邻。4.如权利要求2或3所述的图优化方法,其中,所述数学算子包括正向传播自动微分算子;所述计算重投影误差及所述重投影误差关于顶点数据的雅可比矩阵,包括:基于当前获取的顶点数据以及所述目标函数,利用所述自动微分算子计算所述重投影误差关于顶点数据的雅可比矩阵。5.如权利要求1至4任一项所述的图优化方法,其中,采用并行计算的方式执行所述基于所述重投影误差及所述雅可比矩阵,确定使所述重投影误差最小的顶点数据相对于当前获取的顶点数据的增量,包括:采用并行计算的方式执行以下操作中的一个或二者:基于所述重投影误差及所述雅可比矩阵,确定线性方程(H+λI)Δx=b的参数矩阵H和常数向量b;其中,所述线性方程的解Δx表示所述增量,λ表示相机搜索半径,I表示单位矩阵;基于所述参数矩阵H和所述常数向量b求解所述线性方程(H+λI)Δ...

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

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

1