System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于即时定位,尤其涉及一种基于imu的关键帧追踪方法、装置、头戴式设备以及计算机可读存储介质。
技术介绍
1、在vr(virtual reality,虚拟现实)和ar(augmented reality,增强现实)领域,在通过slam(simultaneous localization and mapping,即时定位与地图构建)算法在室内的使用场景中进行追踪时,需要进行关键帧匹配,而且常用的关键帧追踪方案包括跟踪恒速运动模型、跟踪参考关键帧以及重定位等。
2、但是,在传统的关键帧追踪方案在已经建立地图集的情况下,由于地图集中包括的关键帧数量较大,所以在进行关键帧追踪时需要根据大量的关键帧进行位姿求解,再进行位姿优化并判断关键帧是否匹配正确,其中涉及计算量较大,复杂程度高。综上所述,现有的关键帧追踪方案耗时较长,导致位姿输出的实时性偏低。
技术实现思路
1、本申请的主要目的在于提供一种基于imu的关键帧追踪方法、装置、头戴式设备以及计算机可读存储介质。旨在通过这种基于imu的关键帧追踪方法减少关键帧匹配过程中的计算量,从而提高追踪定位信息的精度和实时性。
2、为了实现上述目的,本申请提供一种基于imu的关键帧追踪方法,所述基于imu的关键帧追踪方法包括:
3、根据头戴式设备的imu数据,确定所述头戴式设备采集到的当前帧对应的第一四元数;
4、根据所述第一四元数,从所述头戴式设备所处地图的多个关键帧中筛选出目标关键帧;
6、基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量;
7、若所述删除外点数量小于预设数量,判定关键帧追踪成功,并将所述当前位姿置为所述头戴式设备的真实位姿。
8、可选地,所述根据头戴式设备的imu数据,确定所述头戴式设备采集到的当前帧对应的第一四元数的步骤,包括:
9、从所述imu数据中提取出陀螺仪数据;
10、对所述陀螺仪数据进行积分,得到所述当前帧对应的第一四元数。
11、可选地,所述根据所述第一四元数,从所述头戴式设备所处地图的多个关键帧中筛选出目标关键帧的步骤,包括:
12、遍历各所述关键帧,根据所述第一四元数和各所述关键帧的第二四元数计算各所述关键帧与所述当前帧之间的旋转角度差值和向量差值;
13、将旋转角度差值和向量差值分别小于预设角度差值阈值和预设向量差值阈值的关键帧置为候选关键帧;
14、将各所述候选关键帧中旋转角度差值最小的候选关键帧置为目标关键帧。
15、可选地,所述通过所述当前帧的第一词袋模型与所述目标关键帧的第二词袋模型,确定匹配特征点的步骤,包括:
16、通过预设的词袋算法,将所述当前帧中的特征点转换成第一词袋模型,其中,所述第一词袋模型中包括所述当前帧中各特征点对应的特征向量;
17、通过所述第一词袋模型与所述目标关键帧的第二词袋模型中的特征向量进行特征匹配,得到多个匹配特征点。
18、可选地,所述基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量的步骤,包括:
19、将所述当前帧对应的上一帧的位姿作为初始位姿,并通过所述匹配特征点对所述初始位姿进行位姿优化,得到所述头戴式设备的当前位姿;
20、根据所述当前位姿以及各所述匹配特征点,确定删除外点数量。
21、可选地,在所述基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量的步骤之后,所述方法还包括:
22、若所述删除外点数量不小于所述预设数量,则判定关键帧追踪失败;
23、通过预设的恒速运动模型算法,追踪所述当前帧对应的目标关键帧;
24、当目标关键帧追踪成功时,基于所述目标关键帧定位所述头戴式设备的真实位姿。
25、可选地,所述基于imu的关键帧追踪方法还包括:
26、若目标关键帧追踪失败,则将遍历各所述关键帧,得到各所述关键帧分别与所述当前帧之间匹配成功的特征点数量;
27、选取特征点数量大于预设特征点数量阈值的关键帧置为候选关键帧;
28、通过各所述候选关键帧对所述头戴式设备进行定位,得到各所述候选关键帧分别对应的初始位姿;
29、对各所述初始位姿分别进行位姿优化,得到所述头戴式设备的真实位姿。
30、此外,为实现上述目的,本申请还提供一种基于imu的关键帧追踪装置,所述装置应用于头戴式设备;
31、所述基于imu的关键帧追踪装置包括:
32、四元数计算模块,用于根据头戴式设备的imu数据,确定所述头戴式设备采集到的当前帧对应的第一四元数;
33、关键帧筛选模块,用于根据所述第一四元数,从所述头戴式设备所处地图的多个关键帧中筛选出目标关键帧;
34、特征点匹配模块,用于通过所述当前帧的第一词袋模型与所述目标关键帧的第二词袋模型,确定匹配特征点;
35、位姿定位模块,用于基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量;
36、追踪判断模块,用于若所述删除外点数量小于预设数量,判定关键帧追踪成功,并将所述当前位姿置为所述头戴式设备的真实位姿。
37、此外,为实现上述目的,本申请还提供一种头戴式设备,所述头戴式设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于imu的关键帧追踪程序,所述基于imu的关键帧追踪程序被所述处理器执行时实现如上所述的基于imu的关键帧追踪方法的步骤。
38、此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于imu的关键帧追踪程序,所述基于imu的关键帧追踪程序被处理器执行时实现如上所述的基于imu的关键帧追踪方法的步骤。
39、本申请实施例提出的一种基于imu的关键帧追踪方法、装置、头戴式设备以及计算机可读存储介质,首先根据头戴式设备的imu数据,确定所述头戴式设备采集到的当前帧对应的第一四元数;根据所述第一四元数,从所述头戴式设备所处地图的多个关键帧中筛选出目标关键帧;通过所述当前帧的第一词袋模型与所述目标关键帧的第二词袋模型,确定匹配特征点;基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量;若所述删除外点数量小于预设数量,判定关键帧追踪成功,并将所述当前位姿置为所述头戴式设备的真实位姿。
40、如此,本申请实施例的技术方案中在对头戴式设备进行定位追踪时,主要通过当前帧的四元数来快速筛选出该角度下的关键帧,相比传统的关键帧匹配方案,有效地减少了需要计算的关键帧的数量,从而降低了slam算法的计算复杂度,减少了匹配计算量,能更快更及时地确定关键帧,减少了对头戴式设备的定位耗时,在保本文档来自技高网...
【技术保护点】
1.一种基于IMU的关键帧追踪方法,其特征在于,所述基于IMU的关键帧追踪方法包括:
2.如权利要求1所述的基于IMU的关键帧追踪方法,其特征在于,所述根据头戴式设备的IMU数据,确定所述头戴式设备采集到的当前帧对应的第一四元数的步骤,包括:
3.如权利要求1所述的基于IMU的关键帧追踪方法,其特征在于,所述根据所述第一四元数,从所述头戴式设备所处地图的多个关键帧中筛选出目标关键帧的步骤,包括:
4.如权利要求1所述的基于IMU的关键帧追踪方法,其特征在于,所述通过所述当前帧的第一词袋模型与所述目标关键帧的第二词袋模型,确定匹配特征点的步骤,包括:
5.如权利要求1所述的基于IMU的关键帧追踪方法,其特征在于,所述基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量的步骤,包括:
6.如权利要求1-5任一项所述的基于IMU的关键帧追踪方法,其特征在于,在所述基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量的步骤之后,所述方法还包括:
7.如权利要求6所述的基于IMU的关键帧追踪
8.一种基于IMU的关键帧追踪装置,其特征在于,所述基于IMU的关键帧追踪装置包括:
9.一种头戴式设备,其特征在于,所述头戴式设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于IMU的关键帧追踪程序,所述基于IMU的关键帧追踪程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于IMU的关键帧追踪方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于IMU的关键帧追踪程序,所述基于IMU的关键帧追踪程序被处理器执行时实现如权利要求1至7中任一项所述的基于IMU的关键帧追踪方法的步骤。
...【技术特征摘要】
1.一种基于imu的关键帧追踪方法,其特征在于,所述基于imu的关键帧追踪方法包括:
2.如权利要求1所述的基于imu的关键帧追踪方法,其特征在于,所述根据头戴式设备的imu数据,确定所述头戴式设备采集到的当前帧对应的第一四元数的步骤,包括:
3.如权利要求1所述的基于imu的关键帧追踪方法,其特征在于,所述根据所述第一四元数,从所述头戴式设备所处地图的多个关键帧中筛选出目标关键帧的步骤,包括:
4.如权利要求1所述的基于imu的关键帧追踪方法,其特征在于,所述通过所述当前帧的第一词袋模型与所述目标关键帧的第二词袋模型,确定匹配特征点的步骤,包括:
5.如权利要求1所述的基于imu的关键帧追踪方法,其特征在于,所述基于所述匹配特征点,定位所述头戴式设备的当前位姿,得到删除外点数量的步骤,包括:
6.如权利要求1-5任一项所述的基于imu的关键帧追踪方法...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。