一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

位姿优化方法、装置、设备和存储介质与流程

2021-11-24 23:48:00 来源:中国专利 TAG:


1.本技术涉及定位导航领域,特别是涉及一种位姿优化方法、装置、计算机设备和存储介质。


背景技术:

2.即时定位与地图构建(simultaneous localization and mapping,slam)技术作为一种前沿技术被广泛应用于移动机器人、无人机、增强现实、自动驾驶等领域,用于实现实时定位以及自动构建大规模高精度地图。即时定位与地图构建技术通过观测数据计算当前时刻与期上一时刻的相对运动来不断递推目标的位姿,实现定位。然而由于传感器观测误差以及采用的计算方法及物理模型的误差,计算的相对运动会有一定偏差,通常单次计算的误差都不大,但是系统长期运行后误差会逐渐累积到不能满足需要的程度。因此通常需要不时的对定位位姿进行全局或局部优化以抑制误差的增长。
3.目前一般采用最优化的方法,先建立一个误差代价函数,通过多次迭代搜索代价函数的局部极小值点的方式来获得最优解。此方法计算复杂度较高,耗时过大,难以满足在终端上实现实时计算的需求。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够降低计算过程复杂度的位姿优化方法、装置、计算机设备和存储介质。
5.一种位姿优化方法,所述方法包括:
6.获取位姿优化目标对应的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束;
7.根据所述位姿初始值数据以及所述相对运动约束,构建旋转线性方程式组,基于所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据;
8.根据所述位姿初始值数据以及所述相对运动约束,构建平移线性方程式组,基于所述平移线性方程式组,获取所述位姿优化目标对应的平移估计数据;
9.根据所述旋转估计数据以及所述平移估计数据,获取所述位姿优化目标的位姿优化数据。
10.在其中一个实施例中,所述不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束包括回环约束;
11.所述获取位姿优化目标对应的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束包括:
12.识别所述位姿初始值数据中表征所述位姿优化目标处于相似位置的位姿初始值数据;
13.根据所述表征所述位姿优化目标处于相似位置的位姿初始值数据构建回环约束。
14.在其中一个实施例中,所述识别所述位姿初始值数据中表征所述位姿优化目标处
于相似位置的位姿初始值数据包括:
15.通过视觉词袋或者深度学习,识别所述位姿初始值数据中表征所述位姿优化目标处于相似位置的位姿初始值数据。
16.在其中一个实施例中,所述根据所述位姿初始值数据以及所述相对运动约束,构建旋转线性方程式组,基于所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据包括:
17.获取不同时刻下位姿优化目标对应的位姿初始值数据中的旋转数据,以及所述位姿初始值数据之间的相对运动约束;
18.根据所述旋转数据以及所述相对运动约束,构建旋转约束方程式;
19.将所述旋转约束方程式中的旋转矩阵替换为所述旋转矩阵对应的单位四元数,而后将所述旋转约束方程式中的四元数乘法转化为矩阵乘法,获得旋转线性方程式组;
20.根据所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据。
21.在其中一个实施例中,所述根据所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据包括:
22.获取所述位姿优化目标对应的待优化变量数目;
23.当所述相对运动约束的数量大于所述待优化变量数目时,通过最小二乘法求解所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据。
24.在其中一个实施例中,所述根据所述位姿初始值数据以及所述相对运动约束,构建平移线性方程式组,基于所述平移线性方程式组,获取所述位姿优化目标对应的平移估计数据包括:
25.获取不同时刻下位姿优化目标对应的位姿初始值数据中的平移数据,以及所述位姿初始值数据之间的相对运动约束;
26.根据所述平移数据以及所述相对运动约束,构建第一平移约束方程式;
27.获取所述位姿优化目标对应的初始位置,由所述初始位置构建第二平移约束方程式;
28.根据所述第一平移约束方程式以及所述第二平移约束方程式构建平移线性方程式组;
29.根据所述平移线性方程式组,获取所述位姿优化目标对应的平移估计数据。
30.一种位姿优化装置,所述装置包括:
31.数据获取模块,用于获取位姿优化目标对应的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束;
32.旋转估计模块,用于根据所述位姿初始值数据以及所述相对运动约束,构建旋转线性方程式组,基于所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据;
33.平移估计模块,用于根据所述位姿初始值数据以及所述相对运动约束,构建平移线性方程式组,基于所述平移线性方程式组,获取所述位姿优化目标对应的平移估计数据;
34.位姿优化模块,用于根据所述旋转估计数据以及所述平移估计数据,获取所述位姿优化目标的位姿优化数据。
35.在其中一个实施例中,所述相对运动约束包括回环约束,所述数据获取模块具体用于:识别所述位姿初始值数据中表征处于相似位置的位姿初始值数据;根据所述表征处
于相似位置的位姿初始值数据构建回环约束。
36.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
37.获取位姿优化目标对应的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束;
38.根据所述位姿初始值数据以及所述相对运动约束,构建旋转线性方程式组,基于所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据;
39.根据所述位姿初始值数据以及所述相对运动约束,构建平移线性方程式组,基于所述平移线性方程式组,获取所述位姿优化目标对应的平移估计数据;
40.根据所述旋转估计数据以及所述平移估计数据,获取所述位姿优化目标的位姿优化数据。
41.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
42.获取位姿优化目标对应的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束;
43.根据所述位姿初始值数据以及所述相对运动约束,构建旋转线性方程式组,基于所述旋转线性方程式组,获取所述位姿优化目标对应的旋转估计数据;
44.根据所述位姿初始值数据以及所述相对运动约束,构建平移线性方程式组,基于所述平移线性方程式组,获取所述位姿优化目标对应的平移估计数据;
45.根据所述旋转估计数据以及所述平移估计数据,获取所述位姿优化目标的位姿优化数据。
46.上述位姿优化方法、装置、计算机设备和存储介质,方法进行位姿优化的过程中,先获取位姿优化目标的初始的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束,而后位姿初始值数据以及位姿之间的相对运动约束,来分别构建旋转数据优化的旋转线性方程式组以及平移数据优化的平移线性方程式组,通过分步求解线性方程式组的方式来分别对旋转以及平移的位姿进行优化,相比非线性的最优化方法,利用线性方程式组的求解方式可以有效降低计算过程复杂度,从而提高位姿优化过程的计算效率。
附图说明
47.图1为一个实施例中位姿优化方法的应用环境图;
48.图2为一个实施例中位姿优化方法的流程示意图;
49.图3为一个实施例中构建回环约束步骤的流程示意图;
50.图4为一个实施例中获取旋转估计数据步骤的流程示意图;
51.图5为一个实施例中获取平移估计数据步骤的流程示意图;
52.图6为一个实施例中位姿优化装置的结构框图;
53.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.在一个实施例中,提供了一种位姿优化方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端102和服务器104的系统,该系统具体可以参照图1。如图2所示,该方法具体包括以下步骤:
56.步骤201,获取位姿优化目标对应的位姿初始值数据,以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束。
57.其中,本技术具体可以运用于定位导航领域,即时定位与地图构建技术中的位姿优化过程,即时定位与地图构建技术通过观测数据计算当前时刻与上一时刻的相对运动来不断递推目标的位姿,实现定位。由于传感器观测误差以及采用的计算方法及物理模型的误差,计算的相对运动会有一定偏差,通常单次计算的误差都不大,但是系统长期运行后误差会逐渐累积到不能满足需要的程度。因此通常需要不时的对定位位姿进行全局或局部优化以抑制误差的增长。而本技术中的位姿优化目标具体是指即时定位与地图构建中的运动目标。位姿初始值数据则是指通过传感器所采集到的优化目标在实现即时定位与地图构建技术的运动过程中所采集到的,可能包含有误差的初始位姿数据。而对于不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束,记位姿优化目标在m
i
(i=0,1......n)时刻在世界坐标系下的位姿为t
i
,t
i
=[r
i
,t
i
],其中r
i
为目标相对世界坐标系的旋转,t
i
为优化目标相对世界坐标系原点的平移。就即时定位与地图构建技术的系统而言,系统会连续观测并计算当前时刻m
i
相对上一时刻m
i
‑1的相对运动t
i

1,i
,m
i
时刻的位姿态可以由上一时刻m
i
‑1的姿态和和相对运动得到:
[0058]
t
w,i
=t
w,i
‑1t
i

1,i
[0059]
假定初始时刻m0的位姿t0已知,或者可以设t0=[i
3x3
,0],即令m0时刻目标的坐标系为世界坐标系,由此可以得到位姿的初值{t
i
,i=0,....,n},也是我们待优化的变量,及位姿之间的相对运动约束{t
i

1,i
,i=1,......,n},在其中一个实施例中,还可以由以上n个位置和n

1约束关系来构建位姿图,通过位姿图的形式来表示位姿数据,而后优化的对象变为优化位姿图内的顶点。
[0060]
步骤203,根据位姿初始值数据以及相对运动约束,构建旋转线性方程式组,基于旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0061]
其中,旋转线性方程式组用于优化位姿初始值数据中的旋转数据。通过构建旋转线性方程式组,并求解旋转线性方程式组,来快速地确定对优化目标的旋转进行估计,从而得到优化后的旋转估计数据。
[0062]
具体地,本技术为了提高位姿优化过程中的计算效率,在进行位姿优化时,可以将旋转和平移分开,先估计旋转再估计平移。此外,在另一个实施例中,也可以先估计平移,再估计旋转。在具体的优化过程中,可以设位姿优化目标在m
i
,m
j
时刻在世界坐标系下的位姿初值分别为t
i
=[r
i
,t
i
],t
j
=[r
j
,t
j
],其中,r表示旋转量,而t表示平移量。如r
i
表示位姿优化目标在m
i
时刻的旋转初值数据,t
i
表示位姿优化目标在m
i
时刻的平移初值数据。同理,其中r
j
表示位姿优化目标在m
j
时刻的旋转初值数据,t
j
表示位姿优化目标在m
j
时刻的平移初
值数据。
[0063]
m
i
,m
j
时刻之间目标的相对运动约束为t
i,j
=[r
i,j
,t
i,j
],他们直接有如下关系:
[0064]
r
i
r
i,j

r
j
=0
[0065]
当存在多个约束r
i,j
时,每个约束r
i,j
都可与r
i
、r
j
得到一个线性方程式,也就是说当存在多个约束r
i,j
时,就可以直接得到一个关于m
i
,m
j
时刻的旋转线性方程式组,该线性方程式组内的方程式数量等于约束的数量,而后通过求解该方程式组,即可得到位姿优化目标对应的旋转估计数据。
[0066]
步骤205,根据位姿初始值数据以及相对运动约束,构建平移线性方程式组,基于平移线性方程式组,获取位姿优化目标对应的平移估计数据。
[0067]
其中,平移线性方程式组用于优化位姿初始值数据中的平移数据。具体地,类似于旋转线性方程式组的获取过程,可以先确定优化目标对应的位姿初始值数据以及不同时刻下优化目标的相对运动约束,因此,可以得关于平移估计数据的方程式。
[0068]
在具体的平移优化过程中,可以设优化目标在m
i
,m
j
时刻在世界坐标系下的平移初值分别为t
i
,t
j
。m
i
,m
j
时刻之间目标的相对运动约束为t
i,j
,则有:
[0069]
t
j

t
i
=t
i,j
[0070]
当存在多个约束t
i,j
时,每个约束t
i,j
都可与t
i
、t
j
得到一个线性方程式,也就是说当存在多个约束t
i,j
时,就可以直接得到一个关于m
i
,m
j
时刻的平移线性方程式组,该线性方程式组内的方程式数量等于约束的数量,而后可以通过求解平移线性方程式组,来快速地确定对优化目标的平移进行估计,从而得到优化后的平移估计数据。
[0071]
步骤207,根据旋转估计数据以及平移估计数据,获取位姿优化目标的位姿优化数据。
[0072]
在分别得到位姿优化目标对应的旋转估计数据,以及位姿优化目标对应的平移估计数据,所得到的数据即是优化后的位姿数据的估计,可以将旋转估计数据和平移估计数据相结合,就可以得到优化目标对应的完整的位姿优化数据,从而进行更准确地运行即时定位与地图构建算法,建立相应的地图。
[0073]
上述位姿优化方法,方法进行位姿优化的过程中,先获取初始的位姿初始值数据以及位姿之间的相对运动约束,而后位姿初始值数据以及位姿之间的相对运动约束,来分别构建旋转数据优化的旋转线性方程式组以及平移数据优化的平移线性方程式组,通过分步求解线性方程式组的方式来分别对旋转以及平移的位姿进行优化,相比非线性的最优化方法,利用线性方程式组的求解方式可以有效降低计算过程复杂度,从而提高位姿优化过程的计算效率。
[0074]
在一个实施例中,不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束包括回环约束。如图3所示,步骤201包括:
[0075]
步骤302,识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据。
[0076]
步骤304,根据表征位姿优化目标处于相似位置的位姿初始值数据构建回环约束。
[0077]
其中,回环是指优化目标在出发之后又回到之前经过的地方。当存在回环时,通过直接计算一对回环m
c
,m
l
之间的相对运动t
c,l
得到一个回环约束。回环约束可以用于构建位姿优化过程的旋转线性方程式以及平移线性方程式。这样,当约束数量大于待优化的变量
个数时,可以通过求最小二乘解来计算相应的线性方程式组。
[0078]
具体地,在得到位姿之间的相对运动约束,为了增加约束的数量,可以构建回环约束。本实施例中,通过引入回环约束,能有效校正优化目标的位姿,避免其偏离正确位置太远。
[0079]
在一个实施例中,步骤302包括:通过视觉词袋或者深度学习,识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据。
[0080]
其中,视觉词袋即visual bag of words,是一种信息搜索模型,用于计算图像之间相似度的技术。常用于图像分类当中。该方法起源于文本检索(信息检索),是对nlp“单词袋”算法的扩展。在“单词袋”中,算法可以扫描整个文档,并保留文档中出现的每个单词的计数。然后,创建单词频率的直方图,并使用此直方图来描述文本文档。而在视觉词袋中,输入的是图像而不是文本文档,并且通过使用局部特征来描述图像。而深度学习是机器学习的一种,而机器学习是实现人工智能的必经路径。深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。通过视觉词袋技术或者深度学习技术,都可以得到不同位姿时刻下场景的相似度,从而识别出表征处于相似位置的位姿初始值数据。
[0081]
具体地,回环时目标回到之前经过的场景附近,因此一对回环帧对周围环境的观测数据有明显的相似性。对于基于视觉的即时定位与地图构建而言可以用视觉词袋或者深度学习方法,通过图像的内容来识别相似出的场景,从而找出回环。找到不同时刻的一对回环图像后,通过从图像中提取、匹配特征,并结合的即时定位与地图构建已有的观测数据就可以估计出他们之间的相对运动t
c,l
,即回环约束。如果目标在运动过程中出现多次回环,每检测到一次回环即可建立一个回环约束。本实施例中,通过视觉词袋或者深度学习来进行相似场景的识别,从而能准确识别出表征处于相似位置的位姿初始值数据,保证回环约束构建的准确性。
[0082]
在其中一个实施例中,如图4所示,步骤203包括:
[0083]
步骤401,获取不同时刻下位姿优化目标对应的位姿初始值数据中的旋转数据,以及位姿初始值数据之间的相对运动约束。
[0084]
步骤403,根据旋转数据以及相对运动约束,构建旋转约束方程式。
[0085]
步骤405,将旋转约束方程式中的旋转矩阵替换为旋转矩阵对应的单位四元数,而后将旋转约束方程式中的四元数乘法转化为矩阵乘法,获得旋转线性方程式组。
[0086]
步骤407,根据旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0087]
其中,四元数是一种超复数,就是形如ai bj ck d的数,a、b、c、d是实数。四元数可用于表示旋转,其中i旋转代表z轴与y轴相交平面中z轴正向向y轴正向的旋转,j旋转代表x轴与z轴相交平面中x轴正向向z轴正向的旋转,k旋转代表y轴与x轴相交平面中y轴正向向x轴正向的旋转,

i、

j、

k分别代表i、j、k旋转的反向旋转。设优化目标在m
i
,m
j
时刻在世界坐标系下的位姿初值分别为t
i
=[r
i
,t
i
],t
j
=[r
j
,t
j
]。
[0088]
m
i
,m
j
时刻之间目标的相对运动约束为t
i,j
=[r
i,j
,t
i,j
],他们之间有如下关系:
[0089]
r
i
r
i,j

r
j
=0
[0090]
其中,旋转矩阵r有9个元素,冗余量大,不适合直接求解,因此,可以进而转换为更紧凑的、适合求解的四元数求解。用单位四元数q
i
,q
j
,q
i,j
分别替换r
i
r
i,j

r
j
=0中的旋转矩阵r
i
,r
j
,r
i,j
,并将四元数相乘写成矩阵乘法的形式得:
[0091]
q
i,j
q
i

q
j
=0
[0092]
其中q
i,j
为右乘四元数q
i,j
对应的变换矩阵,q
i
,q
j
分别为以向量形式表示的四元数,四元数有对应的矩阵表示和向量表示,所以可以将四元数相乘直接写为矩阵乘法形式,q
i,j
转换为对应的变换矩阵q
i,j
,q
i
,q
j
为四维向量,就相当于4*4的矩阵乘以四维向量再减去一个四维向量。如此就可以构建关于单位四元数的线性方程组,通过求解旋转线性方程式组即可获取位姿优化目标对应的旋转估计数据。
[0093]
在其中一个实施例中,步骤407包括:获取位姿优化目标对应的待优化变量数目;当相对运动约束的数量大于待优化变量数目时,通过最小二乘法求解旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0094]
具体地,上述中的得到q
i,j
q
i

q
j
=0为关于优化变量q的线性方程组,设待优化的旋转量q的个数为n,当约束q
i,j
个数大于等于n,即有一个以上回环约束时,求解线性方程组即可得所有旋转量q。特别当q
i,j
个数大于n时,旋转线性方程式组超定(方程式数量大于未知量个数的方程式组),此时可以求取旋转线性方程式组的最小二乘解。同时,单位四元数表示旋转,但由q
i,j
q
i

q
j
=0求解到的四元数不一定是单位四元数,但是一般需要利用单位四元数来表示旋转,保证旋转的模不会变化,不会有缩放,因此,当得到求解结果的四元数后,可以将其单位化为单位四元数。此外,若求解后若希望初始时刻的旋转q0保持不变,设优化后的旋转为^q0,则需对求解后的所有结果右乘其中为^q0的逆,表示和^q0相反的旋转。通过对优化后的所有位姿结果整体做一个旋转,从而使初始时刻的位姿不变,因为优化只能保证所有时刻间的相对位姿是准确的,但整体可能在空间中任意旋转,因此可以通过上述操作来将所有的位姿的旋转部分固定。在本实施例中,通过最小二乘法求解旋转线性方程式组,可以有效保证旋转线性方程式组的求解效率,从而保证位姿优化的计算效率。
[0095]
在其中一个实施例中,如图5所示,步骤205包括:
[0096]
步骤502,获取不同时刻下位姿优化目标对应的位姿初始值数据中的平移数据,以及位姿初始值数据之间的相对运动约束。
[0097]
步骤504,根据平移数据以及相对运动约束,构建第一平移约束方程式。
[0098]
步骤506,获取位姿优化目标对应的初始位置,由初始位置构建第二平移约束方程式。
[0099]
步骤508,根据第一平移约束方程式以及第二平移约束方程式构建平移线性方程式组。
[0100]
步骤510,根据平移线性方程式组,获取位姿优化目标对应的平移估计数据。
[0101]
具体地,通过构建平移线性方程式组,并求解平移线性方程式组,来快速地确定对优化目标的平移进行估计,从而得到优化后的平移估计数据。
[0102]
在具体的平移优化过程中,可以设优化目标在m
i
,m
j
时刻在世界坐标系下的平移初值分别为t
i
,t
j
。m
i
,m
j
时刻之间目标的相对运动约束为t
i,j
,则有第一平移约束方程式,为:
[0103]
t
j

t
i
=t
i,j
[0104]
此外,即时定位与地图构建中已有了初始的优化目标位置,因此在计算过程中希望平移优化求解的结果贴近初始的优化目标位置,可由初始位置构建第二平移约束方程式:
[0105]
εt
i
=ε^t
i
[0106]
其中ε为一个足够小的数,如1e
‑4,用来控制原始位置对整体轨迹形状的影响,^t
i
为优化后的平移数据。而后基于上述两个关于平移过程的公式来生成的所有方程,从而组成平移线性方程式组。通过求解该平移线性方程式组,得到位姿优化目标对应的平移估计数据。此外,还可以进行类似于旋转时的操作,为了保证初始时刻的平移不变,将平移优化后的所有位姿做整体平移。设优化后的平移为^t,需要对所有求得的^t加上t0‑
^t0。通过对优化后的所有位姿结果整体做一个平移,从而使初始时刻的位姿不变,因为优化只能保证所有时刻间的相对位姿是准确的,但整体可能在空间中任意平移,因此可以通过上述操作来将所有的位姿的平移部分固定。本实施例中,通过构建平移线性方程式组,可以有效对位姿优化目标对应的位姿初始值数据进行优化,并保证优化的准确率。
[0107]
应该理解的是,虽然图2

5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2

5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0108]
在一个实施例中,如图6所示,提供了一种位姿优化装置,包括:
[0109]
数据获取模块601,用于获取位姿优化目标对应的位姿初始值数据以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束。
[0110]
旋转估计模块603,用于根据位姿初始值数据以及相对运动约束,构建旋转线性方程式组,基于旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0111]
平移估计模块605,用于根据位姿初始值数据以及相对运动约束,构建平移线性方程式组,基于平移线性方程式组,获取位姿优化目标对应的平移估计数据。
[0112]
位姿优化模块607,用于根据旋转估计数据以及平移估计数据,获取位姿优化目标的位姿优化数据。
[0113]
在其中一个实施例中,相对运动约束包括回环约束,数据获取模块601具体用于:识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据;根据表征位姿优化目标处于相似位置的位姿初始值数据构建回环约束。
[0114]
在其中一个实施例中,数据获取模块601还用于:通过视觉词袋或者深度学习,识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据。
[0115]
在其中一个实施例中,旋转估计模块603具体用于:获取不同时刻下位姿优化目标对应的位姿初始值数据中的旋转数据,以及位姿初始值数据之间的相对运动约束;根据旋转数据以及相对运动约束,构建旋转约束方程式;将旋转约束方程式中的旋转矩阵替换为旋转矩阵对应的单位四元数,而后将旋转约束方程式中的四元数乘法转化为矩阵乘法,获得旋转线性方程式组;根据旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0116]
在其中一个实施例中,旋转估计模块603还用于:获取位姿优化目标对应的待优化
变量数目;当相对运动约束的数量大于待优化变量数目时,通过最小二乘法求解旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0117]
在其中一个实施例中,平移估计模块605具体用于:获取不同时刻下位姿优化目标对应的位姿初始值数据中的平移数据,以及位姿初始值数据之间的相对运动约束;根据平移数据以及相对运动约束,构建第一平移约束方程式;获取位姿优化目标对应的初始位置,由初始位置构建第二平移约束方程式;根据第一平移约束方程式以及第二平移约束方程式构建平移线性方程式组;根据平移线性方程式组,获取位姿优化目标对应的平移估计数据。
[0118]
关于位姿优化装置的具体限定可以参见上文中对于位姿优化方法的限定,在此不再赘述。上述位姿优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0119]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储流量转发数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种位姿优化方法。
[0120]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0121]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0122]
获取优化目标对应的位姿初始值数据以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束;
[0123]
根据位姿初始值数据以及相对运动约束,构建旋转线性方程式组,基于旋转线性方程式组,获取位姿优化目标对应的旋转估计数据;
[0124]
根据位姿初始值数据以及相对运动约束,构建平移线性方程式组,基于平移线性方程式组,获取位姿优化目标对应的平移估计数据;
[0125]
根据旋转估计数据以及平移估计数据,获取位姿优化目标的位姿优化数据。
[0126]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据;根据表征位姿优化目标处于相似位置的位姿初始值数据构建回环约束。
[0127]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过视觉词袋或者深度学习,识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据。
[0128]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取不同时刻下位姿优化目标对应的位姿初始值数据中的旋转数据,以及位姿初始值数据之间的相对运动约束;根据旋转数据以及相对运动约束,构建旋转约束方程式;将旋转约束方程式中的旋转矩阵替换为旋转矩阵对应的单位四元数,而后将旋转约束方程式中的四元数乘法转化为矩阵
乘法,获得旋转线性方程式组;根据旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0129]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取位姿优化目标对应的待优化变量数目;当相对运动约束的数量大于待优化变量数目时,通过最小二乘法求解旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0130]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取不同时刻下位姿优化目标对应的位姿初始值数据中的平移数据,以及位姿初始值数据之间的相对运动约束;根据平移数据以及相对运动约束,构建第一平移约束方程式;获取位姿优化目标对应的初始位置,由初始位置构建第二平移约束方程式;根据第一平移约束方程式以及第二平移约束方程式构建平移线性方程式组;根据平移线性方程式组,获取位姿优化目标对应的平移估计数据。
[0131]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0132]
获取优化目标对应的位姿初始值数据以及不同时刻位姿优化目标的位姿初始值数据之间的相对运动约束;
[0133]
根据位姿初始值数据以及相对运动约束,构建旋转线性方程式组,基于旋转线性方程式组,获取位姿优化目标对应的旋转估计数据;
[0134]
根据位姿初始值数据以及相对运动约束,构建平移线性方程式组,基于平移线性方程式组,获取位姿优化目标对应的平移估计数据;
[0135]
根据旋转估计数据以及平移估计数据,获取位姿优化目标的位姿优化数据。
[0136]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据;根据表征位姿优化目标处于相似位置的位姿初始值数据构建回环约束。
[0137]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过视觉词袋或者深度学习,识别位姿初始值数据中表征位姿优化目标处于相似位置的位姿初始值数据。
[0138]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取不同时刻下位姿优化目标对应的位姿初始值数据中的旋转数据,以及位姿初始值数据之间的相对运动约束;根据旋转数据以及相对运动约束,构建旋转约束方程式;将旋转约束方程式中的旋转矩阵替换为旋转矩阵对应的单位四元数,并而后将旋转约束方程式中的四元数乘法转化为矩阵乘法,获得旋转线性方程式组;根据旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0139]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取位姿优化目标对应的待优化变量数目;当相对运动约束的数量大于待优化变量数目时,通过最小二乘法求解旋转线性方程式组,获取位姿优化目标对应的旋转估计数据。
[0140]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取不同时刻下位姿优化目标对应的位姿初始值数据中的平移数据,以及位姿初始值数据之间的相对运动约束;根据平移数据以及相对运动约束,构建第一平移约束方程式;获取位姿优化目标对应的初始位置,由初始位置构建第二平移约束方程式;根据第一平移约束方程式以及第二平移约束方程式构建平移线性方程式组;根据平移线性方程式组,获取位姿优化目标对应的
平移估计数据。
[0141]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。
[0142]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0143]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献