状态区分方法、装置、设备及存储介质与流程

未命名 09-10 阅读:102 评论:0


1.本公开涉及但不限于计算机视觉技术领域,尤其涉及一种状态区分方法、装置、设备及存储介质。


背景技术:

2.如视觉惯性导航系统(visual inertial navigation system,vins)等视觉惯性跟踪定位系统是计算机视觉、机器人、无人车、三维重建及增强现实等领域的重要底层技术。视觉惯性跟踪定位系统的快速稳定初始化方法在增强现实和虚拟现实等领域有着重要的实用价值。然而,现有的视觉惯性跟踪定位系统无法很好地区分静止状态与匀速运动状态,导致视觉惯性跟踪定位系统所对应的初始化方法都较为复杂,用户需要受到较专业的技术指导才能正常使用,使得初始化方法稳定性较差、失败率较高,继而影响视觉惯性跟踪定位系统的精度等。


技术实现要素:

3.有鉴于此,本公开实施例至少提供一种状态区分方法、装置、设备及存储介质。
4.本公开实施例的技术方案是这样实现的:
5.一方面,本公开实施例提供一种状态区分方法,包括:从视觉惯性定位系统中获取图像信息和位姿信息;其中,所述图像信息是通过所述视觉惯性定位系统中的视觉传感器采集的,所述位姿信息是通过所述视觉惯性定位系统中的惯性传感器采集的;基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态;其中,所述运行状态至少包括待初始化静止和待初始化运动。
6.另一方面,本公开实施例提供一种状态区分装置,包括:获取模块,用于从视觉惯性定位系统中获取图像信息和位姿信息;其中,所述图像信息是通过所述视觉惯性定位系统中的视觉传感器采集的,所述位姿信息是通过所述视觉惯性定位系统中的惯性传感器采集的;区分模块,用于基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态;其中,所述运行状态至少包括待初始化静止和待初始化运动。
7.再一方面,本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
8.又一方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
9.又一方面,本公开实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算机设备中运行时,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
10.又一方面,本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存
储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。
11.本公开实施例中,首先,通过从视觉惯性定位系统中获取图像信息和位姿信息;其中,图像信息是通过视觉惯性定位系统中的视觉传感器采集的,位姿信息是通过视觉惯性定位系统中的惯性传感器采集的。其次,基于图像信息和位姿信息,对视觉惯性定位系统的运行状态进行区分,得到视觉惯性定位系统的目标状态;其中,运行状态至少包括待初始化静止和待初始化运动。这样,通过将视觉传感器的图像信息和惯性传感器的位姿信息向结合,解决了相关技术中单独利用惯性传感器无法准确区分运行状态的问题,有助于简单准确地区分待初始化静止和待初始化运动,以使得视觉惯性定位系统可以在待初始化静止或待初始化运动的情况下,准确地实现初始化,提高初始化的稳定性和准确性等。
12.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
13.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
14.图1为本公开实施例提供的一种状态区分方法的实现流程示意图;
15.图2为本公开实施例提供的一种状态区分方法的实现流程示意图;
16.图3为本公开实施例提供的一种状态区分方法的实现流程示意图;
17.图4为本公开实施例提供的一种状态区分方法的实现流程示意图;
18.图5为本公开实施例提供的一种状态区分装置的组成结构示意图;
19.图6为本公开实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
20.为了使本公开的目的、技术方案和优点更加清楚,下面结合附图和实施例对本公开的技术方案进一步详细阐述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
21.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
22.除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开的目的,不是旨在限制本公开。
23.本公开实施例提供一种状态区分方法,该方法可以由计算机设备的处理器执行。其中,计算机设备指的可以是机器人、无人车、无人机等移动设备,也可以是用户设备、用户
终端、无绳电话、个人数字助理、手持设备、计算设备、车载设备、增强现实设置、虚拟现实设备、视觉惯性导航设备等具备状态区分能力的设备。图1为本公开实施例提供的一种状态区分方法的实现流程示意图,如图1所示,该方法包括如下步骤s101至步骤s102:
24.步骤s101,从视觉惯性定位系统中获取图像信息和位姿信息。
25.这里,视觉惯性定位系统可以是表示一类将图像信息(也可以称为视觉信息)和位姿信息(也可以称为惯性信息)进行融合,并用于同步定位和环境重建的方法。图像信息可以是通过视觉惯性定位系统中的视觉传感器采集的,位姿信息可以是通过视觉惯性定位系统中的惯性传感器采集的。视觉传感器可以为摄像头等装置,惯性传感器可以是指惯性测量单元(inertial measurement unit,imu)等装置,惯性传感器可以包括陀螺仪和加速度计等组件。图像信息可以是指由摄像头拍摄所得到的多帧二维图像,也可以是基于多帧二维图像所确定的二维图像中的关键特征点的数量和位置,基于多帧二维图像所确定的二维图像中对象的朝向、位移、转动等跟踪信息;位姿信息可以包括位置信息和朝向信息(或姿态信息)等,也可以包括通过陀螺仪采集的角速度以及通过加速度计采集的加速度等信息,这里并不限定。
26.步骤s101实施过程中,可以包括:利用视觉惯性定位系统中的视觉传感器进行图像数据采集,得到图像信息;利用视觉惯性定位系统中的惯性传感器进行惯性数据采集,得到位姿信息。
27.步骤s102,基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态。
28.这里,运行状态可以是指部署有视觉惯性定位系统的计算机设备进行机械运动时相对某个参考系的状态,如,匀速运动、静止、不确定等状态等。运行状态至少可以包括待初始化静止和待初始化运动,待初始化静止可以是指能够进行后续针对视觉惯性定位系统进行初始化的静止状态,待初始化运动可以是指能够进行后续初始化的运动状态。目标状态可以是指基于图像信息和位姿信息所确定的运动状态,如,视觉惯性定位系统的目标状态为待初始化静止等。
29.步骤s102实施过程中,可以包括:基于图像信息进行第一次运动状态识别处理,得到第一识别结果;基于位姿信息进行第二次运动状态识别处理,得到第二识别结果;基于第一识别结果和第二识别结果,确定视觉惯性定位系统的目标状态。例如:在第一识别结果与第二识别结果同时表征为待初始化静止的情况下,确定目标状态为待初始化静止;在第一识别结果与第二识别结果同时表征为待初始化运动的情况下,确定目标状态为待初始化运动等。
30.以图像信息为多帧图像、位姿信息为位置信息和姿态信息为例进行说明:按照视觉传感器和惯性传感器各自预设的采集频率,获取预设时长内的多帧图像和多组位姿信息;对多帧图像进行关键点检测,得到多个特征点;确定每一图像上特征点的坐标;基于每一图像上特征点的坐标,确定多帧图像所对应的视差;在该视差小于预设阈值的情况下,确定预设时长内视觉传感器处于待初始化静止;在该视差大于或等于预设阈值的情况下,确定预设时长内视觉传感器处于待初始化运动等;基于预设时长内的多组位姿信息,确定惯性传感器的位置变化量和状态变化量;在位置变化量和状态变化量满足预设条件的情况下,确定预设时长内惯性传感器处于待初始化静止;在位置变化量和状态变化量不满足预
设条件的情况下,确定预设时长内惯性传感器处于待初始化运动等。
31.在一些实施例中,在确定视觉惯性定位系统处于待初始化静止或待初始化运动的情况下,可以基于图像信息和位姿信息对视觉惯性定位系统进行初始化处理。视觉惯性定位系统的初始化处理包括以下至少之一:将图像信息所对应的初始帧的位姿和世界坐标对齐,计算出尺度统一的视觉估计变换到真实尺度下的尺度因子,确定视觉惯性定位系统的初始速度、惯性传感器的偏置、重力向量等,确定惯性传感器和视觉传感器之间的旋转外参等。通过初始化,可以完成图像信息所对应的图像坐标系与视觉传感器所对应的相机坐标系的变换、图像信息所对应的图像坐标系与世界坐标系之间的对齐,得到初始帧附近的真实尺度下的速度与位移,并且估计出惯性传感器的偏置等参数;其中,该参数可以用于后续视觉惯性定位系统的运行。本公开实施例中,在确定视觉惯性定位系统处于待初始化静止或待初始化运动的情况下,可以基于图像信息和位姿信息对视觉惯性定位系统进行初始化处理,也就是提供了一种不依赖三维场景结构恢复的惯性导航系统初始化过程,这样不仅能够处理更加复杂的场景,而且对于纹理不丰富或者较大规模室外环境等场景,可以提升初始化的成功率。
32.本公开实施例中,对于视觉惯性定位系统初始化处理的过程,这里并不限定。例如:可以先构建旋转约束和平移约束,基于多个时刻的旋转量构建多个约束;利用鲁棒性函数,确定预设的矩阵方程;采用奇异值分解或非线性优化的方式,对矩阵方程进行求解处理,得到旋转外参数,以实现对旋转外参数的估计;其中,奇异值分解中的最小奇异值对应的奇异向量可以作为旋转外参数。在一些实施例中,也可以先基于图像信息确定视觉传感器的视觉跟踪结果,继而基于视觉跟踪结果和位姿信息对视觉惯性定位系统进行初始化处理等,这里并不限定。
33.本公开实施例中,首先,通过从视觉惯性定位系统中获取图像信息和位姿信息;其中,图像信息是通过视觉惯性定位系统中的视觉传感器采集的,位姿信息是通过所述视觉惯性定位系统中的惯性传感器采集的。其次,基于图像信息和位姿信息,对视觉惯性定位系统的运行状态进行区分,得到视觉惯性定位系统的目标状态;其中,运行状态至少包括待初始化静止和待初始化运动。这样,通过将视觉传感器的图像信息和惯性传感器的位姿信息向结合,解决了相关技术中单独利用惯性传感器无法准确区分运行状态的问题,有助于简单准确地区分待初始化静止和待初始化运动,以使得视觉惯性定位系统可以在待初始化静止或待初始化运动的情况下,准确地实现初始化,提高初始化的稳定性和准确性等。
34.本公开实施例提供一种状态区分方法,如图2所示,该方法包括如下步骤s201至步骤s203:
35.步骤s201对应于前述步骤s101,在实施时可以参照前述步骤s101的具体实施方式。
36.步骤s202,对所述图像信息和所述位姿信息进行交叉验证,得到第一检测结果。
37.这里,交叉验证可以是指基于视觉传感器所采集的图像信息确定视觉传感器是否处于静止,同时,基于惯性传感器所采集的位姿信息确定惯性传感器是否处于静止;继而基于视觉传感器的状态和惯性传感器的状态共同确定视觉惯性定位系统的第一检测结果;其中,第一检测结果用于表征视觉惯性定位系统是否处于初始化静止。例如:获取预设时间间隔的首帧图像和尾帧图像,确定首帧图像与尾帧图像之间的视差,在视差满足预设条件的
情况下,确定视觉传感器处于静止;获取预设时间间隔的第一位姿和第二位姿,确定第一位姿和第二位姿之间的位姿变化量,在位姿变化量满足预设条件的情况下,确定惯性传感器处于静止;在视觉传感器和惯性传感器同时处于静止的情况下,确定第一检测结果表征视觉惯性定位系统处于待初始化静止等。
38.步骤s203,基于所述位姿信息对所述视觉惯性定位系统进行运动检测,得到第二检测结果。
39.这里,运动检测可以是指基于惯性传感器所采集的位姿信息确定惯性传感器是否处于运动,继而基于惯性传感器的状态确定视觉惯性定位系统的状态,第二检测结果用于表征视觉惯性定位系统是否处于待初始化运动。例如:获取预设时间间隔的第一位姿和第二位姿,确定第一位姿和第二位姿之间的位姿变化量,在位姿变化量不满足预设条件的情况下,确定惯性传感器处于运动,继而确定第二检测结果表征视觉惯性定位系统处于待初始化运动等。其中,运动检测的目的是确认在后续滑窗处理过程中滑窗中的关键帧是否是处于某些不利于初始化的极端运动。
40.本公开实施例中,通过结合图像信息和位姿信息,采用不同的方式,可以准确地对视觉惯性定位系统的运行状态进行区分,提高状态区分的准确率和效率等。
41.在一些实施例中,上述步骤s202可以包括如下步骤s2021至步骤s2023:
42.步骤s2021,基于第一时段内的位姿信息,确定所述第一时段内所述惯性传感器的位置方差和角度方差。
43.这里,位姿信息可以包括位置信息和姿态信息,位置方差可以用于表征惯性传感器的移动变化程度,角度方差可以用于表征惯性传感器的转动变化程度等。若惯性传感器可以直接判别当前是否处于静止,则直接使用惯性传感器的判别结果,作为惯性传感器的检测结果。若惯性传感器不能直接判别当前是否处于静止,可以利用位置方差和角度方差确定惯性传感器是否处于静止。例如:按照预设的采集频率,获取第一时段的多组位姿信息;确定每一组位姿信息所对应的第一时刻的位置和姿态;基于所有时刻的位置,确定第一时段内所对应的位置方差;基于所有时刻的姿态,确定第一时段内所对应的角度方差。
44.步骤s2022,基于所述第一时段内的图像信息,确定所述第一时段内所述视觉传感器所采集特征点的至少两个图像视差和所述特征点的分布区域。
45.这里,图像视差可以用于表征视觉传感器的运行变化程度,图像视差可以是指图像中所有像素点所表征的视差,也可以是指图像中部分像素点(特征点)所表征的视差,这里并不限定。例如:可以获取第一时段内的多帧图像作为图像信息,确定每帧图像与尾帧图像之间的图像视差,基于所有图像视差,确定视觉传感器是否处于静止。例如:确定每帧图像所对应所有像素点的像素值;基于每帧图像所对应所有像素点的像素值,确定各图像对应像素点之间的第一像素点差值,将该第一像素点差值确定为图像视差。还可以对首帧图像进行特征点检测,得到多个特征点;确定每一图像中特征点所对应的像素值;基于每一图像中特征点所对应的像素值,确定各图像中特征点之间的第二像素点差值,将该第而像素点差值确定为图像视差。
46.步骤s2023,在所述位置方差、所述角度方差和所述图像视差满足第一预设条件的情况下,确定所述视觉惯性定位系统处于所述待初始化静止。
47.这里,第一预设条件至少包括:位置方差小于第一阈值、角度方差小于第二阈值、
每一图像视差小于第三阈值、在所述图像视差大于或等于第三阈值的情况下,分布区域的面积大于第四阈值。例如:若确定位置方差小于第一阈值、角度方差小于第二阈值,则确定惯性传感器处于静止;若确定每一图像视差小于第三阈值均小于第三阈值,则确定视觉传感器处于静止;由于视觉传感器所采集的场景中可能存在移动对象(如,车辆或行人等),导致存在至少一个图像视差大于或等于第三阈值,那么可以确定图像视差大于或等于第三阈值的特征点的分布,如果特征点不是集中在图像的某一个小区域,则也确定视觉传感器处于静止,如,确定特征点所对应的分布区域,继而确定分布区域所的面积,若分布区域的面积大于第四阈值,则确定特征点不是集中在图像的某一个小区域。
48.在一些实施例中,在同时满足上述三个预设条件的情况下,确定视觉惯性定位系统处于待初始化静止,也即表征视觉惯性定位系统的静止检测成功;在同时不满足上述三个预设条件的情况下,确定视觉惯性定位系统不处于待初始化静止,也即表征视觉惯性定位系统的静止检测失败。
49.相较于相关技术中,静止检测模块无法准确地区分静止状态与匀速运动状态,以及静止检测模块单纯使用相邻两帧的特征点视差来进行判定。本公开实施例中,通过确定位置方差、角度方差、图像视差等属性,继而判断是否满足预设条件,得到判断结果,以使得可以基于判断结果快速准确地确定视觉惯性定位系统是否处于待初始化静止。
50.在一些实施例中,上述步骤s203可以包括如下步骤s2031至步骤s2033:
51.步骤s2031,获取所述位姿信息所对应的运行时长。
52.这里,运行时长表征惯性传感器成功运行的时长,如,基于预设时间间隔,连续接收到惯性传感器的位姿信息,则确定惯性传感器运行成功,并记录运行时长;基于预设时间间隔,不能连续接收到惯性传感器的位姿信息,则确定惯性传感器运行失败。
53.步骤s2032,基于第二时段内的位姿信息,确定所述第二时段内所述惯性传感器的朝向变化、位移速度和位移距离。
54.这里,位姿信息可以包括位置信息和姿态信息,位置信息可以是基于惯性传感器采集的加速度确定的,姿态信息可以是基于惯性传感器采集的加速度确定的。朝向变化、位移速度和位移距离用于表征惯性传感器的运动变化程度,如,可以确定第二时段内的起始姿态和终止姿态,将起始姿态和终止姿态之间的变化量确定为朝向变化;可以确定第二时段内的起始位置和终止位置,将起始位置和终止位置之间的变化量确定为位移距离;在确定位移距离的情况下,基于惯性传感器预设的采集频率,确定位移时间;基于位移距离和位移时间,确定对应的位移速度(第二时段内的平均速度)。
55.步骤s2033,在所述运行时长、所述朝向变化、所述位移速度和所述位移距离满足第二预设条件的情况下,确定所述视觉惯性定位系统处于所述待初始化运动。
56.这里,第二预设条件包括以下至少之一:运行时长大于第五阈值、朝向变化小于第六阈值、位移速度小于第七阈值、位移距离小于第八阈值。例如:若运行时长小于或等于第五阈值,则确定视觉惯性定位系统的运动检测失败;若朝向变化大于或等于第六阈值,则确定视觉惯性定位系统的运动检测失败;若第二时段内的位移速度大于或等于第七阈值,或者第二时段内某一时刻的最大速度大于预设的速度阈值,则确定视觉惯性定位系统的运动检测失败;若第二时段内的位移距离大于或等于第八阈值,则定视觉惯性定位系统的运动检测失败;若以上四个第二预设条件均不满足,则表征视觉惯性定位系统的运动检测成功,
也即视觉惯性定位系统处于待初始化运动。若任意一个第二预设条件不满足,则确定视觉惯性定位系统处于不确定状态。
57.本公开实施例中,通过确定运行时长、朝向变化、位移速度和位移距离等多维度的属性,可以准确地基于第二预设条件进行判断,确定视觉惯性定位系统是否处于待初始化运动,提高状态区分的准确率和效率。
58.本公开实施例提供一种状态区分方法,如图3所示,该方法包括如下步骤s301至步骤s304:
59.步骤s301至步骤s302分别对应于前述步骤s101至步骤s102,在实施时可以参照前述步骤s101至步骤s102的具体实施方式。
60.步骤s303,在所述视觉惯性定位系统的运行状态为所述待初始化静止或所述待初始化运动的情况下,对所述图像信息和所述位姿信息进行对齐,得到对齐结果。
61.这里,图像信息和位姿信息的对齐用于确定后续视觉惯性定位系统初始化所需的一些数值:视觉传感器位姿、速度、重力向量、惯性传感器偏置和路标点(关键点)位置等,以实现视觉惯性对齐。通过视觉惯性对齐,可以确定视觉传感器所对应的坐标系(如,相机坐标系)与世界坐标系之间的转换关系,从而将视觉传感器所对应的坐标系中的轨迹(pose)对齐到世界坐标系,并且可以根据惯性传感器所对应的预积分值,获取视觉传感器所对应的尺度因子等。其中,视觉惯性对齐可以包括:若旋转外参数未知,则先估计旋转外参;利用旋转约束(如,通过视觉传感器测得的旋转变化等于通过惯性传感器测得的旋转变化)估计惯性传感器的偏置;利用平移约束估计重力方向、以及尺度初始值;对重力向量进一步优化;求解世界坐标系和相机坐标系之间的旋转矩阵,并将相机坐标系中对象的轨迹对齐到世界坐标系。
62.例如:基于预设的约束条件,确定残差项和优化变量(如,惯性传感器所对应的预积分变量);确定残差项对优化变量的雅可比矩阵;确定损失函数如何由残差项构成(如,鲁棒核函数等);采用非线性最小二算法进行优化。对齐结果可以是指对残差项进行优化的结果,如,对齐结果包括对齐成功和对齐失败,在对齐成功的情况下,对齐结果可以包括视觉状态变量和惯性状态变量等优化置信度,视觉状态变量包括以下至少之一:三维点逆深度、位置、角度等,惯性状态变量包括以下至少之一:重力向量、位置、角度、速度、尺度、惯性传感器偏置等。
63.步骤s304,在所述对齐结果表征对齐成功的情况下,确定与所述对齐结果匹配的先验信息。
64.这里,先验信息用于对视觉惯性定位系统进行初始化,先验信息可以用于确定状态变量的初始值。例如:在对齐失败的情况下,将预设参数确定为视觉惯性定位系统的先验信息;在对齐成功的情况下,将对齐结果中的优化置信度确定为视觉惯性定位系统的先验信息;在视觉惯性定位系统运行的过程中,对视觉惯性定位系统中的状态变量进行更新;在确定更新后的状态变量满足收敛的情况下,完成视觉惯性定位系统的初始化。
65.本公开实施例中,通过对图像信息和位姿信息进行对齐,得到对齐结果,可以快速准确地确定与对齐结果匹配的先验信息,有助于后续基于先验信息准确地实现视觉惯性定位系统的初始化。
66.在一些实施例中,上述步骤s303可以包括如下步骤s3031至步骤s3034:
67.步骤s3031,采用滑窗方式,对所述图像信息中特征点进行三角化处理,得到所述图像信息中的特征点的三维信息。
68.这里,滑窗可以是指:维护一个长度一定的滑动窗口,滑窗内存储了一定数量的图像帧和位姿信息;当获取到新的图像帧后,根据新的图像帧与滑窗中每一图像帧之间的视差,判断新的图像帧是否为关键帧,若是,则删除滑窗中最早存储的图像帧,否则删除最晚存储的图像帧;继而基于滑窗中的图像帧和对应的位姿信息,实现视觉惯性对齐,得到对齐结果。三角化,也可以称为三角定位(triangulation),通过至少两次视觉传感器位姿和同一特征点坐标求得对应特征点的三维信息(如,三维空间点坐标)。如,获取滑窗中相邻两帧图像,对该相邻两帧图像分别进行特征点检测,得到两组特征点集合;对两组特征点进行匹配处理,得到多个特征点对;基于每一特征点对的坐标以及每一特征点所对应的视觉传感器的位姿信息,确定每一特征点对所对应的三维信息(也即世界坐标)。
69.在一些实施例中,可以基于滑窗中图像信息上特征点的三维信息和惯性传感器对应的位姿信息,确定对应的残差项,继而对该残差项进行优化,实现视觉惯性对齐,得到对齐结果等,这里并不限定。
70.步骤s3032,基于所述位姿信息所对应的置信度矩阵和所述三维信息,确定所述图像信息中特征点所对应的置信度矩阵。
71.这里,位姿信息所对应的置信度矩阵用于表征位姿信息的属性特征,图像信息中特征点所对应的置信度矩阵可以用于表征特征点在预设约束下的属性特征。在实现视觉惯性对齐的过程中,可以对位姿信息进行归一化等预处理,将位姿信息转换为对应的置信度矩阵,得到位姿信息所对应的置信度矩阵;具体地,惯性传感器对陀螺仪和加速度计的输出值进行处理即可以得到位姿信息对应的置信度矩阵;当然,还可以基于迭代最近点(iterative closest point,icp)算法对位姿信息进行相对位姿变换估计得到协方差矩阵,再根据协方差矩阵进行置信度矩阵转换处理得到对应的置信度矩阵。基于图像信息中特征点所对应的坐标矩阵和位姿信息所对应的置信度矩阵,确定图像信息中特征点所对应的置信度矩阵。例如:基于视觉传感器与光惯性传感器之间的预设约束,确定对应的转换矩阵;利用该转换矩阵与特征点所对应的坐标矩阵和位姿信息所对应的置信度矩阵相乘,得到图像信息中特征点所对应的置信度矩阵。
72.步骤s3033,基于所述图像信息中特征点所对应的置信度矩阵,确定所述视觉惯性定位系统所对应的优化函数。
73.这里,优化函数可以由边缘化先验残差、预积分残差、重投影残差组成,也可以称为残差项,用于确定优化置信度,边缘化先验残差可以是从滑动窗口中去掉的位姿和特征点的约束确定的,如,在采用滑窗方式的过程中,可以利用边缘化与舒尔补方式,对计算过程中的矩阵进行处理,得到边缘化先验残差。预积分残差可以是指基于滑动窗口中相邻帧间的位姿信息确定的,由于惯性传感器采集数据的频率高,两帧间的位姿信息并不小,如果每一层迭代优化都要重新计算积分(用于确定位移、速度、旋转等属性),需要大量的算力,为了减少算力,从而采用预积分的方式进行处理;预积分的目的是将世界坐标系中的旋转运动转化为相对上一帧时,惯性传感器所对应的坐标系的旋转运动。重投影残差指的世界坐标系中的真实坐标在图像平面上的投影(也就是图像上的像素点)和重投影(如,用计算值得到的虚拟的像素点)的差值。例如:从第i帧的相机坐标系反投影到世界坐标系,再由世
界坐标系重投影到第j帧的相机坐标系,得到一个基本的预测值。然后,可以通过特征点的匹配确定一个真实的观测值,该预测值与观测值之间的误差可以确定为重投影残差。
74.在一些实施例中,在确定优化函数的过程中,将滑窗中各图像帧对应的位姿、速度、惯性传感器偏置、特征点第一次被观测时的深度作为状态量,继而基于该状态量,构建光束法平差(bundleadjustment,ba)模型,以确定优化函数。例如:可以利用如下公式确定优化函数:
75.x=[x0,x1,x2,...,x
n-1
,λ1,λ2,...,λ
m-1
](1);
[0076][0077][0078]
公式(1)、(2)和(3)中,λi表示特征点第i次被观测到的深度,i表示正整数;xi表示滑窗中第i帧的状态,包括位置pi、姿态qi、速度vi、加速度计偏置b
acc,i
、陀螺仪偏置b
gyr,i
,n表示滑动窗口长度,m表示特征点数量;r
p-h
p
x表示边缘化先验残差,表示预积分残差,表示重投影残差;r
p
、h
p
为边缘化得到的结果,rb为预积分误差,为相邻两帧之间的预积分结果,为对应的协方差矩阵,c为图像帧与位姿信息的组合组成的集合,rc为重投影误差,为位姿信息在对应图像帧的观测,为对应的协方差矩阵等。
[0079]
步骤s3034,利用非线性优化方式对所述优化函数进行优化,得到优化结果。
[0080]
这里,优化结果用于表征对齐结果。例如:采用最速下降法、牛顿法、高斯牛顿法(gauss-newton,gn)、列文伯格-马夸尔特法(levenberg-marquardt,lm)等非线性方式对优化函数进行优化,若存在优化结果,则表明对齐成功,并且得到包含有优化置信度的优化结果;若不存在优化结果,则表明对齐失败。
[0081]
在一些实施例中,若优化函数无解(如,优化函数不收敛);或者,确定重投影误差(或者重投影残差)小于预设的第一误差阈值的数量,若该数量小于预设的数量阈值;或者,重投影误差(或者重投影残差)大于预设的第二误差阈值;则确定视觉惯性对齐失败。若确定视觉惯性对齐成功,确定重投影误差(或者重投影残差)大于预设的第三误差阈值的特征点(或者世界坐标系中的三维点),可以将该特征点确定为外点,将外点剔除,可以再对视觉惯性定位系统进行一次优化处理等;其中,外点可以是指初始化处理过程中的噪声。
[0082]
本公开实施例中,通过图像信息和位姿信息,可以快速地构建优化函数,继而通过对优化函数进行优化,准确地得到优化结果。
[0083]
本公开实施例提供一种状态区分方法,所述优化结果包括优化置信度;如图4所示,该方法包括如下步骤s401至步骤s404:
[0084]
步骤s401至步骤s403分别对应于前述步骤s301至步骤s303,在实施时可以参照前述步骤s301至步骤s303的具体实施方式。
[0085]
步骤s404,获取所述惯性传感器采集的加速度偏置量和角速度偏置量,以及预设滑窗中的位姿信息和三维信息。
[0086]
这里,优化置信度用于表征对优化函数的优化结果,优化置信度可以用于确定先验信息,以使得视觉惯性定位系统实现初始化。其中,惯性传感器采集的加速度偏置量和角
速度偏置量以及预设滑窗中的位姿信息和三维信息用于确定为视觉惯性定位系统的先验信息,三维信息所对应的特征点的初始置信度为优化置信度。例如:若对齐成功,可以预设滑窗中惯性传感器采集的位姿信息和图像信息中特征点的三维信息直接确定为视觉惯性定位系统的先验信息,其中,特征点的初始置信度直接使用优化过程中得到的优化置信度;以及将由惯性传感器所确定的加速度偏置和角速度偏置直接确定为视觉惯性定位系统的先验信息,并可以设置较高的置信度。
[0087]
本公开实施例中,在对齐成功的情况下,可以基于优化置信度准确地确定视觉惯性定位系统的先验信息。
[0088]
在一些实施例中,上述方法在实施步骤s303之后还可以包括如下步骤s311:
[0089]
步骤s311,在所述视觉惯性定位系统处于所述待初始化静止的情况下,对所述视觉惯性定位系统进行零速更新,得到更新后的视觉惯性定位系统。
[0090]
这里,零速更新是指利用零速更新算法消除零速状态下的累积误差,零速更新算法通常指在零速区间内利用卡尔曼滤波器估计导航误差,卡尔曼滤波器的基本原理是:在连续的更新时刻根据视觉惯性定位系统的计算结果和观测数据对视觉惯性定位系统的误差进行迭代估计。若视觉惯性定位系统在处于待初始化静止的情况下,实现视觉惯性对齐,由于待初始化静止的情况下,视觉惯性定位系统的自由度较小,那么可以对滑窗中关键帧所对应的位置、朝向、速度等状态量设置较高的置信度;同时,还可以对视觉惯性定位系统进行零速更新,得到更新后的视觉惯性定位系统,有助于抑制速度的不合理增长。
[0091]
本公开实施例中,通过对视觉惯性定位系统进行零速更新,有助于抑制速度的不合理增长。
[0092]
在一些实施例中,上述方法在实施步骤s303之后还可以包括如下步骤s321:
[0093]
步骤s321,在所述视觉惯性定位系统处于所述待初始化运动的情况下,将所述优化置信度确定为所述预设滑窗中图像信息所对应的位置状态量、角度状态量和速度状态量。
[0094]
这里,若视觉惯性定位系统在处于待初始化运动的情况下,实现视觉惯性对齐,则滑窗中关键帧所对应的位置、朝向、速度等状态量可以直接使用优化得到的优化置信度。
[0095]
本公开实施例中,可以基于优化置信度准确地确定视觉惯性定位系统在处于待初始化运动的情况下的先验信息。
[0096]
本公开实施例提供的状态区分方法,下面以视觉惯性定位系统中的初始化场景为例进行说明。
[0097]
相关技术中的视觉惯性定位系统初始化方法都较为复杂,用户需要接收较专业的技术指导,而且初始化方法依赖于场景的三维结构恢复,在纹理不丰富、景深较远等场景下容易失败。同时,相关技术中,将初始化分为运动初始化和静止初始化。对于运动初始化,一方面,计算机设备静止或者旋转时,无法提供足够的视差,无法完成视觉的初始化;另一方面,受到视觉传感器初始化效果和惯性传感器所采集的位姿数据的影响,惯性传感器的初始化仍有一定的概率不会成功,以及对于纹理不丰富或者较大规模室外环境等场景,初始化的成功率较低。对于静止初始化,需要将计算机设备持续一段相对静止的时间,从静止到运动的过程中,一方面尺度与惯性传感器中的加速度计的偏置相互耦合,很难得到正确的尺度;另一方面,静止初始化是通过零速更新的策略让视觉惯性定位系统在没有三维点的
状况下得到约束,但从静止到运动过程中很容易产生错误的零速更新,这同样也会导致尺度求解出错。
[0098]
本公开实施例中,提出了一个基于视觉惯性定位系统的初始化方法,能够处理更加复杂的初始化运动模式;其中,该视觉惯性定位系统初始化不依赖于三维场景结构恢复,能够处理更加复杂的场景;相较于相关技术中,视觉惯性定位系统局部运动时精度较差,无法直接用其得到的位姿信息来对视觉惯性定位系统做初始化,本公开实施例中,通过视觉联合优化的方式使得其结果能够融入视觉惯性定位系统;同时,相较于相关技术中的视觉惯性定位系统无法准确区分匀速运动和静止状态,本公开实施例将视觉惯性定位系统的静止判定与视觉特征跟踪(如,基于图像信息确定的跟踪结果等)相结合,降低了视觉惯性定位系统的既有问题的影响,提升了初始化的稳定性;由于静止初始化与运动初始化对视觉惯性定位系统有不一样的要求,本公开实施例中的视觉惯性定位系统可以兼容静止初始化和运动初始化,在两种初始化模式下均有良好表现。
[0099]
本公开实施例中视觉惯性定位系统的初始化方法可以包括:静止检测模型、运动检测模块、对齐模块、初始化模型。其中,静止检测模型可以利用惯性传感器的输出(如,位姿信息)和视觉传感器的输出(如,由图像信息确定的视觉跟踪结果)进行交叉验证,判断设备是否处于待初始化静止;运动检测模块可以利用惯性传感器输出的(设备)位姿信息判定当前的运动模式(也即待初始化运动)是否适合进行视觉惯性定位系统的初始化;对齐模块可以在待初始化静止或待初始化运动的情况下,将惯性传感器得到的设备位姿信息与视觉传感器得到的视觉特征跟踪信息进行对齐,得到对齐结果;初始化模型可以利用对齐模块输出的对齐结果对视觉惯性定位系统的状态量和其对应的初始置信度赋予初始值,从而完成初始化。
[0100]
其中,本公开实施例中的视觉惯性定位系统,可以是基于模式匹配、基于步态处理、基于深度学习等方式运行的,这里并不限定;运动检测模块的检测既可以是惯性传感器的一个识别结果,也可以在初始化过程中基于位姿信息进行识别;在确定视觉跟踪结果的过程中,既可以使用特征描述子匹配,也可以使用基于图像纹理信息的图像块进行匹配等,这里并不限定。
[0101]
例如:同时开启静止检测模块和运动检测模块,对于最新的一帧图像和惯性传感器所采集的位姿信息,如果其中某个模块检测成功,则进入对齐模块;若均未检测成功,则等待下一帧数据。对齐模块尝试将惯性传感器输出的位姿信息、视觉传感器输出的图像信息以及惯性传感器的预积分信息进行对齐;如果对齐失败,则返回上一步,继续进行静止检测和运动检测;如果对齐成功,则进入初始化模块;初始化模块将对齐模块得到的优化置信度用于初始化视觉惯性定位系统,并且依据对齐模块的对齐结果对不同的系统状态量(如,视觉状态量和惯性状态量)分别施以不同的置信度,以实现初始化。
[0102]
其中,由于惯性传感器在局部运动时得到的轨迹精度较低,无法直接用于视觉惯性定位系统,需要使用联合视觉信息优化的方式进一步提升系统精度。例如:采用滑窗的方式,利用惯性传感器得到的设备位姿信息对滑窗中所有特征点进行三角化,同时,利用惯性传感器输出设备位姿信息的置信度矩阵,计算每个三维点三维位置的置信度矩阵(如,采用逆深度方式表示三维点位置信息,其锚点帧为观测到该三维点的首帧等);若没有足够视差的三维点,或者距离视觉传感器(如,相机)较远的三维点,针对相机的运动距离,分别给与
一个假定的逆深度值,并对其深度加上一个较大的不确定度,继而实现基于惯性传感器的粗略三维结构构建,以构建一个优化方程;然后,利用预设的优化器对该优化方差进行优化,得到优化结果等;最后,可以基于优化结果,利用初始化模块实现初始化;其中,初始化模块的作用是使用对齐模块的对齐结果对视觉惯性定位系统进行初始化,确保视觉惯性定位系统有可靠的先验信息。
[0103]
本公开实施例中,针对用户初始化视觉惯性定位系统的操作难点,提出了一个融合视觉传感器和惯性传感器的初始化方案,有效地降低了初始化对用户运动模式和对场景三维信息的依赖,以及兼容运动和静止初始化,同时提升了初始化系统的鲁棒性,有助于让用户更加轻松地完成视觉惯性定位系统的初始化操作。其中,该视觉惯性定位系统可应用于智能手机、虚拟现实头盔、增强现实眼镜以及其他同时具有视觉(或图像)传感器和惯性传感器模组的设备。
[0104]
基于前述的实施例,本公开实施例提供一种状态区分装置,该装置包括所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(central processing unit,cpu)、微处理器(microprocessor unit,mpu)、数字信号处理器(digital signal processor,dsp)或现场可编程门阵列(field programmable gate array,fpga)等。
[0105]
图5为本公开实施例提供的一种状态区分装置的组成结构示意图,如图5所示,状态区分装置500包括:获取模块510和区分模块520,其中:
[0106]
获取模块510,用于从视觉惯性定位系统中获取图像信息和位姿信息;其中,所述图像信息是通过所述视觉惯性定位系统中的视觉传感器采集的,所述位姿信息是通过所述视觉惯性定位系统中的惯性传感器采集的;区分模块520,用于基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态;其中,所述运行状态至少包括待初始化静止和待初始化运动。
[0107]
在一些实施例中,所述区分模块,还用于:对所述图像信息和所述位姿信息进行交叉验证,得到第一检测结果;其中,所述第一检测结果用于表征所述视觉惯性定位系统是否处于所述初始化静止;基于所述位姿信息对所述视觉惯性定位系统进行运动检测,得到第二检测结果;其中,所述第二检测结果用于表征所述视觉惯性定位系统是否处于所述待初始化运动。
[0108]
在一些实施例中,所述区分模块,还用于:基于第一时段内的位姿信息,确定所述第一时段内所述惯性传感器的位置方差和角度方差;基于所述第一时段内的图像信息,确定所述第一时段内所述视觉传感器所采集特征点的至少两个图像视差和所述特征点的分布区域;在所述位置方差、所述角度方差和所述图像视差满足第一预设条件的情况下,确定所述视觉惯性定位系统处于所述待初始化静止;其中,所述第一预设条件至少包括:所述位置方差小于第一阈值、所述角度方差小于第二阈值、每一所述图像视差小于第三阈值、在存在所述图像视差大于或等于所述第三阈值的情况下,所述分布区域的面积大于第四阈值。
[0109]
在一些实施例中,所述区分模块,还用于:获取所述位姿信息所对应的运行时长;其中,所述运行时长表征所述惯性传感器成功运行的时长;基于第二时段内的位姿信息,确定所述第二时段内所述惯性传感器的朝向变化、位移速度和位移距离;在所述运行时长、所述朝向变化、所述位移速度和所述位移距离满足第二预设条件的情况下,确定所述视觉惯
性定位系统处于所述待初始化运动;其中,所述第二预设条件包括以下至少之一:所述运行时长大于第五阈值、所述朝向变化小于第六阈值、所述位移速度小于第七阈值、所述位移距离小于第八阈值。
[0110]
在一些实施例中,所述装置还包括:对齐模块,用于在所述视觉惯性定位系统的运行状态为所述待初始化静止或所述待初始化运动的情况下,对所述图像信息和所述位姿信息进行对齐,得到对齐结果;第一确定模块,用于在所述对齐结果表征对齐成功的情况下,确定与所述对齐结果匹配的先验信息;其中,所述先验信息用于对所述视觉惯性定位系统进行初始化。
[0111]
在一些实施例中,所述对齐模块,还用于:采用滑窗方式,对所述图像信息中特征点进行三角化处理,得到所述图像信息中的特征点的三维信息;基于所述位姿信息所对应的置信度矩阵和所述三维信息,确定所述图像信息中特征点所对应的置信度矩阵;基于所述图像信息中特征点所对应的置信度矩阵,确定所述视觉惯性定位系统所对应的优化函数;其中,所述优化函数由边缘化先验残差、预积分残差、重投影残差组成;利用非线性优化方式对所述优化函数进行优化,得到优化结果;其中,所述优化结果用于表征所述对齐结果。
[0112]
在一些实施例中,所述优化结果包括优化置信度;所述第一确定模块,还用于:获取所述惯性传感器采集的加速度偏置量和角速度偏置量,以及预设滑窗中的位姿信息和三维信息;其中,所述惯性传感器采集的加速度偏置量和角速度偏置量以及所述预设滑窗中的位姿信息和三维信息用于确定为所述视觉惯性定位系统的先验信息;所述三维信息所对应的特征点的初始置信度为所述优化置信度。
[0113]
在一些实施例中,所述装置还包括:更新模块,用于在所述视觉惯性定位系统处于所述待初始化静止的情况下,对所述视觉惯性定位系统进行零速更新,得到更新后的视觉惯性定位系统。
[0114]
在一些实施例中,所述装置还包括:第二确定模块,用于在所述视觉惯性定位系统处于所述待初始化运动的情况下,将所述优化置信度确定为所述预设滑窗中图像信息所对应的位置状态量、角度状态量和速度状态量。
[0115]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
[0116]
需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的状态区分方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本公开实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
[0117]
本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可
在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
[0118]
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
[0119]
本公开实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
[0120]
本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0121]
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
[0122]
需要说明的是,图6为本公开实施例中计算机设备的一种硬件实体示意图,如图6所示,该计算机设备600的硬件实体包括:处理器601、通信接口602和存储器603,其中:
[0123]
处理器601通常控制计算机设备600的总体操作。
[0124]
通信接口602可以使计算机设备通过网络与其他终端或服务器通信。
[0125]
存储器603配置为存储由处理器601可执行的指令和应用,还可以缓存待处理器601以及计算机设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。处理器601、通信接口602和存储器603之间可以通过总线604进行数据传输。
[0126]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0127]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该
要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0128]
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0129]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0130]
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0131]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0132]
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0133]
本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0134]
若本公开实施例涉及个人信息,应用本公开实施例的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本公开实施例涉及敏感个人信息,应用本公开实施例的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。
[0135]
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。

技术特征:
1.一种状态区分方法,其特征在于,包括:从视觉惯性定位系统中获取图像信息和位姿信息;其中,所述图像信息是通过所述视觉惯性定位系统中的视觉传感器采集的,所述位姿信息是通过所述视觉惯性定位系统中的惯性传感器采集的;基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态;其中,所述运行状态至少包括待初始化静止和待初始化运动。2.根据权利要求1所述的方法,其特征在于,所述基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态,包括:对所述图像信息和所述位姿信息进行交叉验证,得到第一检测结果;其中,所述第一检测结果用于表征所述视觉惯性定位系统是否处于所述初始化静止;基于所述位姿信息对所述视觉惯性定位系统进行运动检测,得到第二检测结果;其中,所述第二检测结果用于表征所述视觉惯性定位系统是否处于所述待初始化运动。3.根据权利要求2所述的方法,其特征在于,所述对所述图像信息和所述位姿信息进行交叉验证,得到第一检测结果,包括:基于第一时段内的位姿信息,确定所述第一时段内所述惯性传感器的位置方差和角度方差;基于所述第一时段内的图像信息,确定所述第一时段内所述视觉传感器所采集特征点的至少两个图像视差和所述特征点的分布区域;在所述位置方差、所述角度方差和所述图像视差满足第一预设条件的情况下,确定所述视觉惯性定位系统处于所述待初始化静止;其中,所述第一预设条件至少包括:所述位置方差小于第一阈值、所述角度方差小于第二阈值、每一所述图像视差小于第三阈值、在存在所述图像视差大于或等于所述第三阈值的情况下,所述分布区域的面积大于第四阈值。4.根据权利要求2或3所述的方法,其特征在于,所述基于所述位姿信息对所述视觉惯性定位系统进行运动检测,得到第二检测结果,包括:获取所述位姿信息所对应的运行时长;其中,所述运行时长表征所述惯性传感器成功运行的时长;基于第二时段内的位姿信息,确定所述第二时段内所述惯性传感器的朝向变化、位移速度和位移距离;在所述运行时长、所述朝向变化、所述位移速度和所述位移距离满足第二预设条件的情况下,确定所述视觉惯性定位系统处于所述待初始化运动;其中,所述第二预设条件包括以下至少之一:所述运行时长大于第五阈值、所述朝向变化小于第六阈值、所述位移速度小于第七阈值、所述位移距离小于第八阈值。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:在所述视觉惯性定位系统的运行状态为所述待初始化静止或所述待初始化运动的情况下,对所述图像信息和所述位姿信息进行对齐,得到对齐结果;在所述对齐结果表征对齐成功的情况下,确定与所述对齐结果匹配的先验信息;其中,
所述先验信息用于对所述视觉惯性定位系统进行初始化。6.根据权利要求5所述的方法,其特征在于,所述对所述图像信息和所述位姿信息进行对齐,得到对齐结果,包括:采用滑窗方式,对所述图像信息中特征点进行三角化处理,得到所述图像信息中的特征点的三维信息;基于所述位姿信息所对应的置信度矩阵和所述三维信息,确定所述图像信息中特征点所对应的置信度矩阵;基于所述图像信息中特征点所对应的置信度矩阵,确定所述视觉惯性定位系统所对应的优化函数;其中,所述优化函数由边缘化先验残差、预积分残差、重投影残差组成;利用非线性优化方式对所述优化函数进行优化,得到优化结果;其中,所述优化结果用于表征所述对齐结果。7.根据权利要求6所述的方法,其特征在于,所述优化结果包括优化置信度;所述确定与所述对齐结果匹配的先验信息,包括:获取所述惯性传感器采集的加速度偏置量和角速度偏置量,以及预设滑窗中的位姿信息和三维信息;其中,所述惯性传感器采集的加速度偏置量和角速度偏置量以及所述预设滑窗中的位姿信息和三维信息用于确定为所述视觉惯性定位系统的先验信息;所述三维信息所对应的特征点的初始置信度为所述优化置信度。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在所述视觉惯性定位系统处于所述待初始化静止的情况下,对所述视觉惯性定位系统进行零速更新,得到更新后的视觉惯性定位系统。9.根据权利要求7所述的方法,其特征在于,所述方法还包括:在所述视觉惯性定位系统处于所述待初始化运动的情况下,将所述优化置信度确定为所述预设滑窗中图像信息所对应的位置状态量、角度状态量和速度状态量。10.一种状态区分装置,其特征在于,包括:获取模块,用于从视觉惯性定位系统中获取图像信息和位姿信息;其中,所述图像信息是通过所述视觉惯性定位系统中的视觉传感器采集的,所述位姿信息是通过所述视觉惯性定位系统中的惯性传感器采集的;区分模块,用于基于所述图像信息和所述位姿信息,对所述视觉惯性定位系统的运行状态进行区分,得到所述视觉惯性定位系统的目标状态;其中,所述运行状态至少包括待初始化静止和待初始化运动。11.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9任一项所述方法中的步骤。12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述方法中的步骤。

技术总结
本公开公开了一种状态区分方法、装置、设备及存储介质,其中,所述方法包括:从视觉惯性定位系统中获取图像信息和位姿信息;其中,图像信息是通过视觉惯性定位系统中的视觉传感器采集的,位姿信息是通过视觉惯性定位系统中的惯性传感器采集的;基于图像信息和位姿信息,对视觉惯性定位系统的运行状态进行区分,得到视觉惯性定位系统的目标状态;其中,运行状态至少包括待初始化静止和待初始化运动。状态至少包括待初始化静止和待初始化运动。状态至少包括待初始化静止和待初始化运动。


技术研发人员:翟尚进 陈丹鹏 王楠
受保护的技术使用者:浙江商汤科技开发有限公司
技术研发日:2023.06.15
技术公布日:2023/9/7
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐