视觉惯性里程计参数值更新方法、装置、设备及存储介质与流程

未命名 09-07 阅读:268 评论:0


1.本技术涉及定位技术领域,尤其涉及一种视觉惯性里程计参数值更新方法、装置、设备及存储介质。


背景技术:

2.视觉惯性里程计(visual-inertial odometry,vio)最主要的目的就是输出高精度的定位结果,因此,如何提升vio输出位姿的精度成为视觉slam(即时定位与地图构建,simultaneous localization and mapping)中最重要的问题。
3.相关技术中,在双目vio系统中,可以确定出设定参数例如特征点的逆深度值或深度值提供给后端进行位姿计算。其中逆深度是深度的倒数,是一个标量。以逆深度为例,某个特征点的逆深度主要是靠左右目图像帧的三角化来计算的,如果左目或者右目的位姿不准确,即会造成计算的逆深度存在较大的偏差,使得特征点的位置不准确,从而增大重投影误差,致使vio输出位姿的精度降低。
4.因此,如何给后端优化器提供更加准确的设定参数值例如逆深度值或深度值,以使其更接近真实值,从而提高vio输出位姿的精度,已成为本领域技术人员亟待解决的问题。


技术实现要素:

5.为克服相关技术中存在的问题,本技术提供一种视觉惯性里程计参数值更新方法、装置、设备及存储介质,能够得到更准确的参数值,使得vio可以根据参数值输出更准确的位姿结果。
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.本技术提供的方案,在通过预设方式确定所述特征点的预设参数初值之后,再根据所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值;对同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的所述特征点的预设参数目标值;将所述预设参数初值更新为所述预设参数目标值。可见,通过根据所述特征点的预设参数初值进行概率分布建模,利用概率分布函数得到预设参数测量值,并进一步进行融合处理,最终得到预设参数目标值作为更新的预设参数初值,使更新后的预设参数初值更加接近真实值,这样输入后端进行位姿优化的预设参数初值更加准确,那么后端优化输出的位姿也就更加准确,从而提升解算的位姿精度。
48.进一步的,本技术可以根据所述特征点的深度的深度初值进行概率分布建模,得到逆深度测量值或深度测量值。以预设参数为逆深度为例,通过将所述特征点的逆深度初值进行概率分布建模,利用概率分布函数得到逆深度测量值,并进一步进行融合处理,最终得到逆深度目标值作为更新的逆深度初值,可以使更新后的逆深度初值更加接近真实值,这样输入后端进行位姿优化的逆深度初值更加准确,那么后端优化输出的位姿也就更加准确,从而提升解算的位姿精度。
49.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
50.通过结合附图对本技术示例性实施方式进行更详细的描述,本技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号通常代表相同部件。
51.图1是本技术实施例示出的视觉惯性里程计参数值更新方法的流程示意图;
52.图2是本技术实施例示出的视觉惯性里程计逆深度值更新方法的流程示意图;
53.图3是本技术实施例示出的逆深度高斯建模示意图;
54.图4是本技术实施例示出的视觉惯性里程计参数值更新装置的结构示意图;
55.图5是本技术实施例示出的电子设备的结构示意图。
具体实施方式
56.下面将参照附图更详细地描述本技术的优选实施方式。虽然附图中显示了本技术的优选实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
57.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
58.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
59.申请人在研究中发现,vio在运行时,每一时刻都能检测到很多的特征点,然后对这些特征点进行跟踪匹配;在后端位姿优化中,利用这些匹配的特征点构建重投影误差函数,然后最小化误差函数用于求解系统位姿。所以,检测到的特征点位置越准确,那么特征点的逆深度就越接近于真实值,优化器就可以更快速和更准确地求解出位姿。由于系统中每一时刻检测到的特征点数量比较多,这些特征点的逆深度在状态变量中占比很大,如果大多数的逆深度都没有一个很好的初值,那么会导致优化器优化时间过长、优化结果偏差大、甚至不收敛。目前在双目vio系统中,一个特征点的逆深度主要是靠左右目图像帧的三角化来计算,这就会造成一个问题,即如果左目图像帧或者右目图像帧的位姿不准确,就会造成计算的逆深度存在较大的偏差,使得特征点的位置不准确,从而增大了重投影误差。
60.相关技术中,对于基于优化的vio系统来说,系统后端主要利用非线性优化的方法最小化代价函数对状态变量进行更新。也就是说,如果后端在优化变量的过程中,可以使系统的状态变量都收敛到全局最小值,那么系统解算的位姿就可以达到一个比较精确的结果。然而,在实际的工程应用中,由于vio系统都是非线性的,所以要想使所有的状态变量都收敛到全局最小值是一个非常困难的问题。所以,在大多数情况下,优化器只能尽可能地逼近最小值,而无法完全到达最小值。需要注意的是,非线性优化对变量的初值比较敏感,如果初值偏离最小值比较远,那么非线性优化最终输出的结果就可能陷入局部极小值,而无法收敛到全局最小值,这就使得系统输出位姿的精度下降。
61.针对上述问题,本技术提供一种视觉惯性里程计参数值更新方法,能够得到更准确的参数值,使得vio可以根据参数值输出更准确的位姿结果。
62.以下结合附图详细描述本技术实施例的技术方案。
63.图1是本技术实施例示出的视觉惯性里程计参数值更新方法的流程示意图。
64.参见图1,本技术实施例的方法包括:
65.s101:获取视觉惯导里程计观测目标图像得到的特征点,通过预设方式确定特征点的预设参数初值。
66.其中,可以通过对特征点进行三角化处理,确定特征点的深度初值或逆深度初值,其中逆深度初值根据深度初值得到。
67.s102:根据特征点的预设参数初值进行概率分布建模,得到预设参数测量值。
68.其中,可以在特征点被观测到的次数大于预设阈值时,根据特征点的预设参数初值进行概率分布建模,得到预设参数测量值。概率分布建模包括高斯分布建模或高斯-均匀混合分布模型建模。
69.其中,可以根据特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,根据特征点的深度初值进行概率分布建模,得到深度测量值。
70.其中,根据特征点的逆深度初值进行概率分布建模,得到逆深度测量值,可以包括:根据特征点的深度初值确定特征点的逆深度均值和逆深度方差;利用逆深度均值和逆深度方差确定概率分布函数值作为逆深度测量值;或,
71.根据特征点的深度初值进行概率分布建模,得到深度测量值,可以包括:根据特征点的深度初值确定特征点的深度均值和深度方差;利用深度均值和深度方差确定概率分布函数值作为深度测量值。
72.其中,根据特征点的逆深度初值进行概率分布建模,得到逆深度测量值,可以包括:遍历目标图像中观测到特征点的关键帧,根据特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,
73.根据特征点的深度初值进行概率分布建模,得到深度测量值,可以包括:遍历目标图像中观测到特征点的关键帧,根据特征点的深度初值进行概率分布建模,得到深度测量值。
74.s103:对同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的特征点的预设参数目标值。
75.例如,对同一特征点的至少两个逆深度测量值进行融合处理,得到融合后的特征点的逆深度目标值;或,对同一特征点的至少两个深度测量值进行融合处理,得到融合后的特征点的深度目标值。
76.s104:将预设参数初值更新为预设参数目标值。
77.例如,将逆深度初值更新为逆深度目标值;或,将深度初值更新为深度目标值。
78.从该实施例可以看出,本技术提供的方案,在通过预设方式确定特征点的预设参数初值之后,再根据特征点的预设参数初值进行概率分布建模,得到预设参数测量值;对同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的特征点的预设参数目标值;将预设参数初值更新为预设参数目标值。可见,通过根据特征点的预设参数初值进行概率分布建模,利用概率分布函数得到预设参数测量值,并进一步进行融合处理,最终得到预设参数目标值作为更新的预设参数初值,使更新后的预设参数初值更加接近真实值,这样输入后端进行位姿优化的预设参数初值更加准确,那么后端优化输出的位姿也就更加准确,从而提升解算的位姿精度。
79.图2是本技术实施例示出的视觉惯性里程计逆深度初值更新方法的流程示意图。图2实施例中以预设参数为逆深度为例但不局限于此。
80.需要说明的是,特征点的逆深度就是深度的倒数,是一个标量。对于一个slam系统而言,由于其是非线性化的系统,所以系统不可能准确求解出逆深度的真实值,也就是说每
次用双目三角化求解的逆深度都是存在误差的。因此,本技术实施例提出一种逆深度求解方法,即:将每个特征点的逆深度都建模为一个高斯分布,高斯分布的均值就是逆深度的理想值,高斯分布的方差就是逆深度的偏差。通过上述处理,可以将逆深度建模为一个概率分布,而不是一个具体值,这样更加符合实际情况。因为逆深度的真实值是无法得到的,因此通过最大化概率函数可以得到概率意义上逆深度的真实值。当一个逆深度值有多个测量值时,本技术实施例将其建模为高斯分布可以更方便地将多个测量值的信息进行融合。经过实验统计,高斯分布可以比较好地表征特征点逆深度的分布情况。
81.参见图2,本技术实施例方法包括:
82.s201:获取视觉惯导里程计观测目标图像得到的特征点,通过对特征点进行三角化处理,确定特征点的逆深度初值。
83.视觉惯导里程计在运行时,每一时刻都能检测到很多的特征点。该步骤中,可以获取视觉惯导里程计观测目标图像得到的特征点。
84.该步骤中,对特征点进行三角化处理,得到特征点的逆深度初值。在双目视觉slam中,特征点的三角化就是通过同一关键帧的左右目图像位姿求解特征点在左目图像的深度。由于在后续的处理中,需要知道每一个特征点的深度,所以特征点三角化处理一般先于高斯建模执行。在对每个特征点都进行了三角化之后,后续再进入逆深度的高斯建模过程。一个特征点的深度是指该点在相机光轴上的投影,如图3中z或者z

所示。由于逆深度无法直接求解,所以一般先求解深度。特征点的深度一般可以通过三角化处理得到,根据深度可以再得到逆深度。
85.对特征点进行三角化处理可以如下:
86.如图3所示,对于某一个空间点p,它可以被两帧相机c1和c2看到。相机c1可以是左目相机,相机c2可以是右目相机。
87.已知的条件是:p在c1下的归一化坐标在c2下的归一化坐标相机c1的投影矩阵相机c2的投影矩阵
88.根据坐标变换可得:
[0089][0090][0091]
其中,s1是p
c1
的深度,s2是p
c2
的深度,深度也就是它们在各自坐标系下的z分量。
[0092]
在(1)式中,两边同时叉乘可得:
[0093][0094]
对于(2)式,执行同样的操作,所以两式合并可得:
[0095][0096]
求解该齐次方程组,可得p在世界坐标系下的坐标为:p=[x
w y
w zw]
t
。然后将p从世界坐标系转换到c1的相机坐标系为:
[0097][0098]
则点p在c1下的深度初值就是
[0099]
进一步的,根据特征点的深度初值可可以得到特征点的逆深度初值。
[0100]
本技术实施例得到的逆深度初值可以作为逆深度的均值,即逆深度的均值可以为:
[0101][0102]
s202:判断当前关键帧是否为观测到特征点的起始帧,如果当前关键帧是起始帧,进入s203,如果当前关键帧不是起始帧,进入进入s204。
[0103]
s203:在当前关键帧为观测到特征点的起始帧时,根据同一当前关键帧的左目图像位姿和右目图像位姿中特征点的逆深度初值进行概率分布建模,得到逆深度测量值,返回步骤s202。
[0104]
如果当前关键帧为观测到特征点的起始帧时,获得观测到特征点的起始帧的左目图像位姿和右目图像位姿,根据左目图像位姿和右目图像位姿计算求解,得到逆深度测量值。
[0105]
对于任意一个高斯分布,只要知道了它的均值和方差,就等于得到了它的概率分布。以下介绍本技术实施例的逆深度的高斯建模过程。
[0106]
如图3所示,对于某一个空间点p,它可以被两帧相机c1和c2看到。相机c1可以是左目相机,相机c2可以是右目相机,需要求解它在c1相机下的逆深度均值和逆深度方差。由于逆深度无法直接求解,所以一般先求解深度的均值和方差,然后将其转换为逆深度的高斯分布。因逆深度均值在特征点三角化过程已经求解过,所以在此不需要再次求解逆深度均值。
[0107]
也就是说,如果关键帧是观测到该特征点的起始帧,那么需要根据该起始帧的左右目相机求解特征点的逆深度方差。
[0108]
进一步的,在求解逆深度方差时,可以只考虑像素偏差对深度造成的影响。如图3所示,当特征点在归一化相机坐标系下有1.5个像素的偏差时,原来的p点变成了p

,此时在c2的相机坐标系下造成的角度误差为:
[0109][0110]
其中pixel_noise就是像素偏差(图3中是1.5个像素),f是相机焦距。
[0111]
在得到了角度误差后,就可以根据正弦定理得到的二范数为:
[0112][0113]
因为之前已经计算得到了p点在c1下的坐标,所以可以得到方向上的单位向量:
[0114][0115]
根据公式(8)和公式(9),即可得到p

在c1下的坐标为:
[0116][0117]
则点p

在c1下的深度就是
[0118]
在得到了p点和p

的深度之后,根据图3就可以看到深度的偏差为:
[0119][0120]
根据深度的偏差,可以得到逆深度的偏差,因此,逆深度方差就可以表示为:
[0121][0122]
然后,可以利用逆深度均值和逆深度方差进行概率分布建模,确定概率分布函数,得到逆深度测量值。
[0123]
在本技术实施例中,可以根据公式(6)的逆深度均值和公式(12)的逆深度方差,得到逆深度的高斯分布函数为:
[0124][0125]
然后,将求解得到的逆深度均值和逆深度方差存入逆深度管理器中。逆深度管理器是一个键-值对的映射关系,每个键对应一个特征点的编号,每个值对应该特征点的逆深度均值和逆深度方差,设置逆深度管理器可以方便地更新和查找每一个特征点的高斯分布。
[0126]
s204:在当前关键帧为观测到特征点的非起始帧时,根据起始帧的左目图像位姿和当前关键帧的左目图像位姿中特征点的逆深度初值进行概率分布建模,得到逆深度测量
值。
[0127]
如果当前关键帧为观测到特征点的非起始帧时,获得观测到特征点的起始帧的左目图像位姿和当前关键帧的左目图像位姿,根据起始帧的左目图像位姿和当前关键帧的左目图像位姿计算求解,得到逆深度测量值。
[0128]
也就是说,如果关键帧是观测到该特征点的非起始帧,那么就需要根据起始帧的左目图像位姿和当前帧的左目图像位姿,计算出特征点的逆深度均值和逆深度方差。值得注意的是,如果计算得到的深度小于等于0,那么由于不符合相机的成像规律,就要跳过这次循环,继而处理下一帧。
[0129]
其中,计算特征点的逆深度均值的过程可参见s201中通过三角化处理计算逆深度均值的过程。
[0130]
其中,计算特征点的逆深度方差的过程可以参见s203中计算特征点的逆深度方差的过程,只是s203中是使用同一帧的左目图像位姿和右目图像位姿,s204中使用两个不同帧的图像位姿例如使用起始帧的左目图像位姿和当前关键帧的左目图像位姿,其计算原理是类似,可参考相关技术实现,本技术在此不加以限定。
[0131]
s205:对多个逆深度测量值进行高斯融合处理,得到融合后特征点的逆深度目标值。
[0132]
在得到逆深度的高斯分布之后,就可以对同一特征点的多个逆深度测量值进行高斯融合。
[0133]
在上述计算得到了逆深度均值和逆深度方差后,相当于得到了高斯参数新的逆深度测量值,然后就可以将逆深度管理器中存储的高斯参数即逆深度测量值和本次新得到的逆深度测量值进行高斯融合。
[0134]
假设某个逆深度λ有两个逆深度测量值λ1和λ2,高斯分布函数分别为:
[0135][0136][0137]
那么进行融合之后新的高斯分布函数为:
[0138]
λ

~(μ


′2)(16)
[0139]
其中:
[0140][0141]
因此,根据公式(17)即可对多个逆深度测量值进行计算得到得到融合后特征点的逆深度目标值,也即高斯分布函数值。
[0142]
s206:判断当前关键帧是否为观测到特征点的最后一帧,如果是观测到特征点的最后一帧,则进入s207,如果不是观测到特征点的最后一帧,返回步骤s204。
[0143]
本技术实施例中,对于每一个特征点,遍历所有能够观测到该特征点的关键帧,这是因为每一个关键帧都可以计算一个该特征点的逆深度信息,将同一个特征点的多个逆深度测量值进行融合,就可以在最大程度上利用多个测量值的情况得到更准确的更新后的逆深度初值。
[0144]
s207:将特征点的逆深度初值更新为逆深度目标值。
[0145]
上述步骤将对多个逆深度测量值进行计算得到得到融合后特征点的逆深度目标值,也即高斯分布函数值。该步骤中,将特征点的逆深度初值更新为逆深度目标值,从而实现逆深度初值的更新,实现更准确获得逆深度初值。
[0146]
由于使用新的测量值更新了旧的参数,所以在进行完高斯融合后,可以将得到的结果依然赋值给逆深度处理器,以更新该特征点的逆深度分布,即将特征点的逆深度初值更新为逆深度目标值。
[0147]
按照上述方式不断进行循环,直到结束循环,然后处理下一个特征点。在循环完所有的特征点之后,每一个特征点都对应着一个高斯分布。本技术实施例中,高斯分布的均值可以表征逆深度初值,该更新后的初值由于融合了多个不同的测量值,所以可以更加充分地表征逆深度的真实数值,而高斯分布的方差可以表征该概率分布的离散程度,方差越小,就证明用均值代表逆深度的初值越可信。
[0148]
还需说明的是,可以根据同一特征点被观测到的次数判断该特征点的有效性;若特征点被观测的次数大于或等于设定阈值,则确定特征点有效。如果同一个特征点被观测到的次数小于设定阈值,就证明该特征点还不够稳定,那么就要跳过该特征点。在本技术实施例中,设定阈值可以设置为4但不局限于此。也就是说,当观测到某个特征点的关键帧小于4时,可以舍弃这个特征点,不将这个特征点加入系统的优化变量。
[0149]
进一步的,在更新完特征点的逆深度初值之后,就可以将这些特征点的逆深度初值输入到后端优化,后端优化根据系统总体的代价函数,优化系统的各个状态变量,从而得到更准确的位姿。需要注意的是,由于位姿和逆深度初值都是需要优化的状态变量,所以在后端优化执行完之后,系统的位姿和逆深度初值都进行了更新,这就导致之前计算的逆深度的高斯分布已经不符合当前逆深度的实际情况,因此,在进行完后端优化之后,就需要对逆深度管理器进行清除,然后再次计算逆深度的高斯分布。
[0150]
也就是说,本技术中的vio系统,其处理流程包括:初始化-后端优化-初始化-后端优化-...,所以是一个初始化和后端优化的循环过程。每进行了一次“初始化-后端优化”相当于完成了一次计算,然后返回循环再进行下次“初始化-后端优化”操作,一直继续运行,直到程序停止。本技术实施例的方案,实现逆深度初值更新,是在初始化中的处理过程。所以,每次开始初始化的时候都可以对特征点初值进行更新。
[0151]
需要说明的是,本技术是以将逆深度建模为高斯概率分布来进行后续处理举例说明但不局限于此。本技术实施例还可以将逆深度建模为其他的概率分布,例如高斯-均匀混合分布模型。此外,本技术实施例也可以不使用逆深度建模而使用深度进行建模,且深度同样也可以建模为高斯分布,然后再进行后续的一系列处理。
[0152]
还需说明的是,图2实施例中是以预设参数为逆深度为例但不局限于此,如果预设参数为深度,其处理原理是类似的,其处理过程也与图2流程图的处理过程基本相同。
[0153]
综上所描述,本技术实施例通过将特征点的逆深度建模为概率分布函数,在检测到新的测量值时,对逆深度的概率分布函数的参数进行更新,可以充分利用观测到的特征点的信息及时更新逆深度初值,使逆深度初值更加接近真实值。由于输入后端优化的逆深度初值更加准确,那么后端优化输出的位姿自然也就更加准确,从而达到提升位姿精度的目的。
[0154]
与前述应用功能实现方法实施例相对应,本技术还提供了一种视觉惯性里程计参数值更新装置、电子设备及相应的实施例。
[0155]
图4是本技术实施例示出的视觉惯性里程计参数值更新装置的结构示意图。
[0156]
参见图4,本技术实施例提供的视觉惯性里程计参数值更新装置包括:初值模块41、建模模块42、融合模块43、更新模块44。其中:
[0157]
初值模块41,用于获取视觉惯导里程计观测目标图像得到的特征点,通过预设方式确定特征点的预设参数初值。
[0158]
建模模块42,用于根据初值模块41确定的特征点的预设参数初值进行概率分布建模,得到预设参数测量值。
[0159]
融合模块43,用于对建模模块42得到的同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的特征点的预设参数目标值。
[0160]
更新模块44,用于将初值模块41确定的预设参数初值更新为融合模块43得到的预设参数目标值。
[0161]
其中,初值模块41可以通过对特征点进行三角化处理,确定特征点的深度初值或逆深度初值,其中逆深度初值根据深度初值得到。
[0162]
其中,建模模块42可以根据特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,根据特征点的深度初值进行概率分布建模,得到深度测量值。
[0163]
进一步的,建模模块42可以根据特征点的深度初值确定特征点的逆深度均值和逆深度方差;利用逆深度均值和逆深度方差确定概率分布函数值作为逆深度测量值。其中,遍历目标图像中观测到特征点的关键帧,根据特征点的逆深度初值进行概率分布建模,得到逆深度测量值。例如,遍历目标图像中观测到特征点的关键帧,在当前关键帧为观测到特征点的起始帧时,根据同一当前关键帧的左目图像位姿和右目图像位姿中特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,在当前关键帧为观测到特征点的非起始帧时,根据起始帧的左目图像位姿和当前关键帧的左目图像位姿中特征点的逆深度初值进行概率分布建模,得到逆深度测量值。
[0164]
进一步的,建模模块42可以根据特征点的深度初值确定特征点的深度均值和深度方差;利用深度均值和深度方差确定概率分布函数值作为深度测量值。其中,可以遍历目标图像中观测到特征点的关键帧,根据特征点的深度初值进行概率分布建模,得到深度测量值。例如,遍历目标图像中观测到特征点的关键帧,在当前关键帧为观测到特征点的起始帧时,根据同一当前关键帧的左目图像位姿和右目图像位姿中特征点的深度初值进行概率分布建模,得到深度测量值;或,在当前关键帧为观测到特征点的非起始帧时,根据起始帧的左目图像位姿和当前关键帧的左目图像位姿中特征点的深度初值进行概率分布建模,得到深度测量值。
[0165]
进一步的,建模模块42可以在特征点被观测到的次数大于预设阈值时,根据特征点的预设参数初值进行概率分布建模,得到预设参数测量值。其中概率分布建模包括高斯分布建模或高斯-均匀混合分布模型建模。
[0166]
进一步的,融合模块43可以对同一特征点的至少两个逆深度测量值进行融合处理,得到融合后的特征点的逆深度目标值;或,对同一特征点的至少两个深度测量值进行融合处理,得到融合后的特征点的深度目标值。
[0167]
进一步的,更新模块44可以将逆深度初值更新为逆深度目标值;或,将深度初值更新为深度目标值。
[0168]
从该实施例可以看出,本技术提供的方案,通过根据特征点的预设参数初值进行概率分布建模,利用概率分布函数得到预设参数测量值,并进一步进行融合处理,最终得到预设参数目标值作为更新的预设参数初值,使更新后的预设参数初值更加接近真实值,这样输入后端进行位姿优化的预设参数初值更加准确,那么后端优化输出的位姿也就更加准确,从而提升解算的位姿精度。
[0169]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
[0170]
图5是本技术实施例示出的电子设备的结构示意图。
[0171]
参见图5,电子设备400包括存储器410和处理器420。
[0172]
处理器420可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0173]
存储器410可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器420或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器410可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器410可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0174]
存储器410上存储有可执行代码,当可执行代码被处理器420处理时,可以使处理器420执行上文述及的方法中的部分或全部。
[0175]
上文中已经参考附图详细描述了本技术的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本技术所必须的。另外,可以理解,本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本技术实施例装置中的模块可以根据实际需要进行合并、划分和删减。
[0176]
此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机
程序代码指令。
[0177]
或者,本技术还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本技术的上述方法的各个步骤的部分或全部。
[0178]
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
[0179]
附图中的流程图和框图显示了根据本技术的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0180]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:
1.一种视觉惯性里程计参数值更新方法,其特征在于,包括:获取视觉惯导里程计观测目标图像得到的特征点,通过预设方式确定所述特征点的预设参数初值;根据所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值;对同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的所述特征点的预设参数目标值;将所述预设参数初值更新为所述预设参数目标值。2.根据权利要求1所述的方法,其特征在于,所述通过预设方式确定所述特征点的预设参数初值,包括:通过对所述特征点进行三角化处理,确定所述特征点的深度初值或逆深度初值,其中所述逆深度初值根据所述深度初值得到。3.根据权利要求2所述的方法,其特征在于,所述根据所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值,包括:根据所述特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,根据所述特征点的深度初值进行概率分布建模,得到深度测量值。4.根据权利要求3所述的方法,其特征在于:所述根据所述特征点的逆深度初值进行概率分布建模,得到逆深度测量值,包括:根据所述特征点的深度初值确定所述特征点的逆深度均值和逆深度方差;利用所述逆深度均值和逆深度方差确定概率分布函数值作为逆深度测量值;或,所述根据所述特征点的深度初值进行概率分布建模,得到深度测量值,包括:根据所述特征点的深度初值确定所述特征点的深度均值和深度方差;利用所述深度均值和深度方差确定概率分布函数值作为深度测量值。5.根据权利要求3所述的方法,其特征在于:所述根据所述特征点的逆深度初值进行概率分布建模,得到逆深度测量值,包括:遍历所述目标图像中观测到所述特征点的关键帧,根据所述特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,所述根据所述特征点的深度初值进行概率分布建模,得到深度测量值,包括:遍历所述目标图像中观测到所述特征点的关键帧,根据所述特征点的深度初值进行概率分布建模,得到深度测量值。6.根据权利要求5所述的方法,其特征在于,所述遍历所述目标图像中观测到所述特征点的关键帧,根据所述特征点的逆深度初值进行概率分布建模,得到逆深度测量值,包括:遍历所述目标图像中观测到所述特征点的关键帧,在当前关键帧为观测到所述特征点的起始帧时,根据同一当前关键帧的左目图像位姿和右目图像位姿中特征点的逆深度初值进行概率分布建模,得到逆深度测量值;或,在当前关键帧为观测到所述特征点的非起始帧时,根据起始帧的左目图像位姿和当前关键帧的左目图像位姿中特征点的逆深度初值进行概率分布建模,得到逆深度测量值。7.根据权利要求5所述的方法,其特征在于,所述遍历所述目标图像中观测到所述特征点的关键帧,根据所述特征点的深度初值进行概率分布建模,得到深度测量值,包括:遍历所述目标图像中观测到所述特征点的关键帧,
在当前关键帧为观测到所述特征点的起始帧时,根据同一当前关键帧的左目图像位姿和右目图像位姿中特征点的深度初值进行概率分布建模,得到深度测量值;或,在当前关键帧为观测到所述特征点的非起始帧时,根据起始帧的左目图像位姿和当前关键帧的左目图像位姿中特征点的深度初值进行概率分布建模,得到深度测量值。8.根据权利要求1至7任一项所述的方法,其特征在于,所述根据所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值,包括:在所述特征点被观测到的次数大于预设阈值时,根据所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值。9.根据权利要求1至7任一项所述的方法,其特征在于,所述概率分布建模包括高斯分布建模或高斯-均匀混合分布模型建模。10.一种视觉惯性里程计参数值更新装置,其特征在于,包括:初值模块,用于获取视觉惯导里程计观测目标图像得到的特征点,通过预设方式确定所述特征点的预设参数初值;建模模块,用于根据所述初值模块确定的所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值;融合模块,用于对所述建模模块得到的同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的所述特征点的预设参数目标值;更新模块,用于将所述初值模块确定的预设参数初值更新为所述融合模块得到的预设参数目标值。11.一种电子设备,其特征在于,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-9中任一项所述的方法。12.一种非暂时性机器可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-9中任一项所述的方法。

技术总结
本申请是关于一种视觉惯性里程计参数值更新方法、装置、设备及存储介质。该方法包括:获取视觉惯导里程计观测目标图像得到的特征点,通过预设方式确定所述特征点的预设参数初值;根据所述特征点的预设参数初值进行概率分布建模,得到预设参数测量值;对同一特征点的至少两个预设参数测量值进行融合处理,得到融合后的所述特征点的预设参数目标值;将所述预设参数初值更新为所述预设参数目标值。本申请提供的方案,能够得到更准确的参数值,使得VIO可以根据参数值输出更准确的位姿结果。可以根据参数值输出更准确的位姿结果。可以根据参数值输出更准确的位姿结果。


技术研发人员:董博 陶永康 彭登 傅志刚
受保护的技术使用者:广东汇天航空航天科技有限公司
技术研发日:2023.06.14
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐