一种视觉导航系统的跟踪恢复方法和装置转让专利

申请号 : CN201811558677.1

文献号 : CN109671105B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 付寅飞吴涛

申请人 : 青岛小鸟看看科技有限公司

摘要 :

本发明公开一种视觉导航系统的跟踪恢复方法和装置。本发明的方法包括:获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中;在利用视觉导航系统内部跟踪方法跟踪失败时,根据从关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪。本发明针对视觉导航系统内部跟踪方法无法进行跟踪时,利用导航系统的视觉图像,对当前帧图像进行处理,从关键帧数据库中获取符合要求的目标关键帧数据进行重定位,在重定位成功时利用获取到的位姿数据恢复跟踪,提高视觉导航系统定位跟踪的鲁棒性。

权利要求 :

1.一种视觉导航系统的跟踪恢复方法,其特征在于,所述方法包括:

获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中;

在利用视觉导航系统内部跟踪方法跟踪失败时,根据从所述关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪,其中所述根据从所述关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪,包括:获取所述目标关键帧图像的第一数量和每目标关键帧图像与当前帧图像匹配的特征点的第二数量;

在所述第一数量和所述第二数量满足设定条件时,利用所述目标关键帧和匹配上的特征点确定位姿数据,并将当前帧图像作为关键帧数据存储至所述关键帧数据库中;

在所述第一数量和所述第二数量不满足设定条件时,利用导航系统的惯性测量单元IMU测量的IMU数据进行重定位,获取位姿数据以恢复跟踪。

2.根据权利要求1所述的方法,其特征在于,所述从所述关键帧数据库中与当前帧图像相似的目标关键帧图像,包括:获取当前帧的词袋字典,并从所述关键帧数据库中获取与当前帧图像具有设定数量的共享的词特征的候选关键帧图像;

根据所述候选关键帧图像与当前帧图像之间的相似度,和/或所述候选关键帧图像与当前帧图像之间特征点的描述字数量,和/或所述候选关键帧图像与当前帧图像之间特征点的数量,和/或所述候选关键帧图像的数量,确定所述目标关键帧。

3.根据权利要求1所述的方法,其特征在于,所述利用视觉导航系统的惯性测量单元IMU测量的IMU数据进行重定位,获取位姿数据以恢复跟踪,包括:获取当前时刻的IMU数据,所述IMU数据包括加速度数据和角速度数据,并根据上一时刻确定的姿态信息、速度信息、位置信息,以及所述角速度数据、加速度数据和当前时刻与上一时刻之间的时间差,确定当前时刻的姿态信息、速度信息和位置信息为当前时刻的位姿数据;

在当前帧图像的特征点数量大于第一阈值时,将当前帧图像存储至所述关键帧数据库中。

4.根据权利要求1所述的方法,其特征在于,所述将当前帧图像数据存储至关键帧数据库中,包括:在当前帧图像的特征点数量大于第二阈值时,和/或当前帧图像距离上一个关键帧图像的时间大于设定时间阈值时,和/或当前帧图像与上一个关键帧图像之间相匹配的关键点数量小于第三阈值时,将当前帧图像数据存储至关键帧数据库中。

5.一种视觉导航系统的跟踪恢复装置,其特征在于,所述装置包括:

获取与存储单元,用于获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中;

跟踪恢复处理单元,用于在利用视觉导航系统内部跟踪方法跟踪失败时,根据从所述关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪,其中所述跟踪恢复处理单元包括第一处理模块和第二处理模块;

所述第一处理模块,用于获取所述目标关键帧图像的第一数量和每目标关键帧图像与当前帧图像匹配的特征点的第二数量;在所述第一数量和所述第二数量满足设定条件时,利用所述目标关键帧和匹配上的特征点确定位姿数据,并将当前帧图像作为关键帧数据存储至所述关键帧数据库中;

所述第二处理模块,用于在所述第一数量和所述第二数量不满足设定条件时,利用导航系统的惯性测量单元IMU测量的IMU数据进行重定位,获取位姿数据以恢复跟踪。

6.根据权利要求5所述的装置,其特征在于,

所述第一处理模块,还用于获取当前帧的词袋字典,并从所述关键帧数据库中获取与当前帧图像具有设定数量的共享的词特征的候选关键帧图像;根据所述候选关键帧图像与当前帧图像之间的相似度,和/或所述候选关键帧图像与当前帧图像之间特征点的描述字数量,和/或所述候选关键帧图像与当前帧图像之间特征点的数量,和/或所述候选关键帧图像的数量,确定所述目标关键帧。

7.根据权利要求5所述的装置,其特征在于,

所述第二处理模块,还用于获取当前时刻的IMU数据,所述IMU数据包括加速度数据和角速度数据,并根据上一时刻确定的姿态信息、速度信息、位置信息,以及所述角速度数据、加速度数据和当前时刻与上一时刻之间的时间差,确定当前时刻的姿态信息、速度信息和位置信息为当前时刻的位姿数据;在当前帧图像的特征点数量大于第一阈值时,将当前帧图像存储至所述关键帧数据库中。

8.根据权利要求5所述的装置,其特征在于,

所述获取与存储单元,用于在当前帧图像的特征点数量大于第二阈值时,和/或当前帧图像距离上一个关键帧图像的时间大于设定时间阈值时,和/或当前帧图像与上一个关键帧图像之间相匹配的关键点数量小于第三阈值时,将当前帧图像数据存储至关键帧数据库中。

说明书 :

一种视觉导航系统的跟踪恢复方法和装置

技术领域

[0001] 本发明涉及跟踪定位技术领域,尤其涉及一种视觉导航系统的跟踪恢复方法和装置。

背景技术

[0002] 目前,视觉惯性里程计(visual-inertial odometry,VIO)可以为并发建图与定位(simultaneous localization and mapping,SLAM)、机器人、无人车、无人机等系统提供基于视觉的高精度定位导航功能,VIO逐渐成为智能移动终端的一个重要组成部分,在VIO的辅助下,智能移动终端可以完成自主导航、避障、路线规划、三维建图等多种功能。
[0003] 现有技术中,VIO跟踪方法主要包括:利用摄像头拍摄的图像对终端位置进行粗估算,在粗估算的基础上利用惯性测量单元(inertial measurement unit,IMU)测量的IMU数据对终端位置进行细估算,得到终端的高精度位置和姿态结果。此种VIO跟踪方法在周围环境比较良好的情况下,视觉定位导航系统可以连续输出高精度的位置和姿态数据。但是,在周围环境出现光线过强或者过暗、在室内经过白墙体时、移动终端快速移动或者旋转等不利条件时,VIO系统可能很难从图像中获得足够数量的特征数据来实现正确跟踪,因而视觉导航系统很容易出现漂移、甚至跟踪丢失的情况,进而导致导航功能失效。
[0004] 在VIO系统中,当发生终端跟踪丢失的情况,通常采用把当前帧图像跟过去关键帧图像进行对比的方法试图恢复跟踪,但是实际效果受到很多限制。例如,保存过去关键帧数据来帮助恢复视觉导航系统出现漂移或者丢失的情况的方案只有在移动终端重新回到原来的场景中才可能发挥效果,如果移动终端快速运动或者不返回的话,已有的技术方案就不能发挥作用。

发明内容

[0005] 本发明提供了一种视觉导航系统的跟踪恢复方法和装置,以解决在周围环境出现光线过强或者过暗、在室内经过白墙体时、移动终端快速移动或者旋转等不利条件时,现有技术无法有效进行跟踪恢复的问题。
[0006] 本发明一方面提供了一种视觉导航系统的跟踪恢复方法,包括:获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中;在利用视觉导航系统内部跟踪方法跟踪失败时,根据从关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪。
[0007] 本发明一方面提供了一种视觉导航系统的跟踪恢复装置,包括:获取与存储单元,用于获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中;跟踪恢复处理单元,用于在利用视觉导航系统内部跟踪方法跟踪失败时,根据从关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪。
[0008] 本发明针对视觉导航系统内部跟踪方法无法进行跟踪时,利用导航系统的视觉图像,对当前帧图像进行处理,从关键帧数据库中获取符合要求的目标关键帧数据进行重定位,在重定位成功时利用获取到的位姿数据恢复跟踪,避免在较短时间内发生环境光线过暗、摄像头曝光过度或者成像模糊、经过白色墙体、跟踪目标快速移动、旋转等不利环境视觉导航系统存在的跟踪丢失问题,提高视觉导航系统定位跟踪的有效性和鲁棒性。

附图说明

[0009] 图1为本发明实施例示出的视觉导航系统的跟踪恢复方法的流程图;
[0010] 图2为本发明实施例示出的包括视觉重定位和IMU重定位的跟踪恢复方法的流程图;
[0011] 图3为本发明实施例示出的视觉重定位的流程图;
[0012] 图4为本发明实施例示出的视觉导航系统的跟踪恢复装置的结构框图;
[0013] 图5为本发明实施例示出的视觉导航系统的跟踪恢复装置的硬件结构示意图。

具体实施方式

[0014] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0015] 以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0016] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0017] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0018] 附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
[0019] 因此,本发明的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本发明的技术可以采取存储有指令的机器可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本发明的上下文中,机器可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,机器可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。机器可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
[0020] 针对利用保存过去关键帧数据来帮助恢复视觉导航系统出现漂移或者丢失的情况的方案只有在移动终端重新回到原来的场景中才可能发挥效果,如果移动终端快速运动或者不返回的话,那么已有的技术方案就不能发挥作用的情况,以及现有方案需要保存过去所有的关键帧,不对关键帧进行筛选,当移动终端的运动路径较长时,对计算能力和存储空间都带来极大的挑战的情况,本发明实施例针对在较短时间内发生环境光线过暗、摄像头曝光过度或者成像模糊、经过白色墙体等不利环境的情况下,设计一种跟踪恢复方案,在时间和空间上保存相近时段的终端位姿信息,采用仅靠IMU独立跟踪、或者仅靠视觉图像进行重定位跟踪的方式,多层次的解决跟踪丢失的问题,使视觉导航系统能够继续跟踪,不发生跟踪丢失,以及在移动终端遭遇快速移动或者旋转等不利环境,尽可能的恢复跟踪,减少跟踪丢失的概率。
[0021] 本发明一方面提供一种视觉导航系统的跟踪恢复方法。
[0022] 图1为本发明实施例示出的视觉导航系统的跟踪恢复方法的流程图,如图1所示,本实施例的方法包括:
[0023] S110,获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中。
[0024] 视觉导航系统内部跟踪方法为现有跟踪方法,例如根据摄像头拍摄的图像,对图像进行特征点提取,基于图像特征点进行跟踪,获取终端位置的粗定位,在粗定位的基础上利用IMU数据进行细定位,得到高精度的终端位置和终端姿态。
[0025] 本实施例可以根据设定的存储策略对当前帧图像进行检测,将满足设定存储策略的当前帧图像数据存储至关键帧数据库中,所述存储策略包括图像特征点检测、图像采集的间隔时间检测或图像上匹配特征点的检测中的一种或多种检测。
[0026] S120,在利用视觉导航系统内部跟踪方法跟踪失败时,根据从关键帧数据库中与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪。
[0027] 本实施例针对视觉导航系统内部跟踪方法无法进行跟踪时,利用导航系统的视觉图像,对当前帧图像进行处理,从关键帧数据库中获取符合要求的目标关键帧数据进行重定位,在重定位成功时利用获取到的位姿数据恢复跟踪,避免在较短时间内发生环境光线过暗、摄像头曝光过度或者成像模糊、经过白色墙体、跟踪目标快速移动、旋转等不利环境视觉导航系统存在的跟踪丢失问题,提高视觉导航系统定位跟踪的有效性和鲁棒性。
[0028] 本发明上述步骤S110-S120的跟踪恢复方法可以作为视觉导航系统,例如作为VIO系统的增强部分,提高VIO系统定位跟踪的有效性。
[0029] 图2为本发明实施例示出的包括视觉重定位和IMU重定位的跟踪恢复方法的流程图,图3为本发明实施例示出的视觉重定位的流程图,下面结合如图2-3对上述步骤S110-S120进行详细说明。
[0030] 首先,执行步骤S110,即获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中。
[0031] 本实施例为提高跟踪定位的计算速度,减小存储空间的存储压力,在利用视觉导航系统内部跟踪方法成功跟踪终端时,将满足设定存储策略的当前帧图像数据存储至关键帧数据库中。即在当前帧图像的特征点数量大于第二阈值时,和/或当前帧图像距离上一个关键帧图像的时间大于设定时间阈值时,和/或当前帧图像与上一个关键帧图像之间相匹配的关键点数量小于第三阈值时,将当前帧图像数据存储至关键帧数据库中。
[0032] 一个示例中,在当前帧图像的特征点数量大于第二阈值,当前帧图像距离上一个关键帧图像的时间大于设定时间阈值,当前帧图像与上一个关键帧图像之间相匹配的关键点数量小于第三阈值时,将当前帧图像数据存储至关键帧数据库中。例如,当前帧图像的特征点数量大于20,当前帧图像距离上一个关键帧图像的时间大于3分钟,当前帧图像与上一个关键帧图像之间相匹配的关键点数量小于10时,将当前帧图像数据存储至关键帧数据库中。
[0033] 本实施例中关键帧数据库中的每帧图像数据之间互不相同,即关键帧数据库中的每帧图像数据具有唯一性。
[0034] 在利用视觉导航系统内部跟踪方法跟踪失败,继续执行步骤S120,即根据从关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪。
[0035] 在本实施例中,通过下述方法从关键帧数据库中筛选出目标关键帧图像:首先获取当前帧的词袋字典,并从关键帧数据库中获取与当前帧图像具有设定数量的共享的词特征的候选关键帧图像;其中,词袋是指一组图像上可能会出现的所有特征的集合,这个集合是通过大量数据集预先训练获得的。然后根据候选关键帧图像与当前帧图像之间的相似度,和/或候选关键帧图像与当前帧图像之间特征点的描述字数量,和/或候选关键帧图像与当前帧图像之间特征点的数量,和/或候选关键帧图像的数量,确定目标关键帧;本实施例的筛选条件包括相似度、特征点描述字、特征点数量、帧数量四个方面的筛选条件,在实际应用中,可以从这四方面的筛选条件任选一种或多种从关键帧数据库中筛选目标关键帧图像。
[0036] 在一个示例中,先从关键帧数据库中选择与当前帧图像具有设定数量的共享的词特征的候选关键帧图像,例如选择与当前帧图像具有20个共享的词特征的帧图像作为候选关键帧图像。接着计算每帧候选关键帧图像和当前帧图像之间的相似度,将相似度大于设定值,例如将当前帧图像的相似度大于80%的候选关键帧图像作为第一组候选关键帧图像。然后匹配第一组候选关键帧图像与当前帧图像的特征点的描述字的数量,将特征点的描述字的匹配数量大于描述字数量阈值的第一组候选关键帧图像筛选出来,将筛选出来的第一组候选关键帧图像作为第二组候选关键帧图像。继续计算第二组候选关键帧图像与当前帧图像的特征点的匹配数量是否大于第一数量阈值,将特征点的匹配数量大于第一数量阈值的第二组候选关键帧图像筛选出来,将筛选出来的第二组候选关键帧图像作为第三组候选关键帧图像,以及计算第三组候选关键帧图像的数量是否大于第二数量阈值,在第三组候选关键帧图像的数量大于第二数量阈值时,确定第三组候选关键帧图像为目标关键帧图像。
[0037] 在确定目标关键帧图像后,可以在利用视觉导航系统内部跟踪方法跟踪失败时,根据目标关键帧图像和当前帧图像进行重定位。如图2所示,本实施例的跟踪恢复方法包括仅基于视觉导航系统的视觉图像重定位跟踪,和仅基于视觉导航系统的IMU数据重定位跟踪。
[0038] 可以理解的是,在执行图2中的结束步骤后,继续执行上述步骤S110,利用下一时刻的帧图像更新当前帧图像,基于更新后的当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将更新后的当前帧图像数据存储至关键帧数据库中;在利用视觉导航系统内部跟踪方法跟踪失败时,根据从关键帧数据库中与更新后的当前帧图像相似的目标关键帧图像和更新后的当前帧图像进行重定位,获取位姿数据以恢复跟踪。
[0039] 其中,本实施例中基于视觉导航系统的视觉图像重定位跟踪方案对应为根据目标关键帧图像和当前帧图像进行重定位的方案。
[0040] 在利用视觉导航系统内部跟踪方法跟踪失败时,利用视觉图像进重定位跟踪,在视觉图像进行重定位跟踪成功时,输出位姿数据,并将当前帧图像数据进行存储;在视觉图像进行重定位跟踪失败时,利用IMU数据进行重定位跟踪,输出位姿数据,并将特征点数量大于第一阈值的当前帧图像数据存储至关键帧数据库中。
[0041] 本实施例基于视觉导航系统的视觉图像进行重定位跟踪方案的流程如下:首先,获取目标关键帧图像的第一数量和每目标关键帧图像与当前帧图像匹配的特征点的第二数量;然后在第一数量和第二数量满足设定条件时,利用目标关键帧和匹配上的特征点确定位姿数据,将当前帧图像作为关键帧数据存储至关键帧数据库中;在第一数量和第二数量不满足设定条件时,利用导航系统的IMU测量的IMU数据进行重定位,获取位姿数据以恢复跟踪。
[0042] 如图3所示,对从关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像的数量和目标关键帧图像上与当前帧图像的特征点相匹配的特征点数量进行判断,在目标关键帧图像的第一数量大于第三数量阈值,目标关键帧图像与当前帧图像匹配的特征点的第二数量大于第四数量阈值,例如,目标关键帧图像的第一数量大于第三数量阈值5,每帧目标关键帧图像与当前帧图像匹配的特征点的第二数量大于第四数量阈值10时,确定基于视觉导航系统的视觉图像成功的进行了重定位跟踪,此时利用目标关键帧图像和匹配的特征点确定位姿数据以恢复跟踪,例如可以根据透视n点方法(Perspective-n-Point,PnP)确定终端当前的位置和姿态,同时将当前帧图像数据存储至关键帧数据库中。而在目标关键帧图像的第一数量不大于第三数量阈值,和/或目标关键帧图像与当前帧图像匹配的特征点的第二数量不大于第四数量阈值时,例如目标关键帧图像的第一数量小于第三数量阈值5,每帧目标关键帧图像与当前帧图像匹配的特征点的第二数量也小于第四数量阈值10时,确定基于视觉导航系统的视觉图像重定位跟踪失败,利用导航系统的IMU测量的IMU数据进行重定位。
[0043] 本实施例利用导航系统的IMU测量的IMU数据进行重定位的方法如下:
[0044] 获取当前时刻的IMU数据,IMU数据包括加速度数据和角速度数据,并根据上一时刻确定的姿态信息、速度信息、位置信息,以及角速度数据、加速度数据和当前时刻与上一时刻之间的时间差,确定当前时刻的姿态信息、速度信息和位置信息为当前时刻的位姿数据。
[0045] 一个示例中,本实施例可以根据公式 计算当前的姿态信息,根据公式v=v0+(R*a-g)*dt计算当前的速度,以及根据公式 计
算当前位置。
[0046] 上述公式中,q为当前的姿态信息,q0为上一时刻的姿态信息,q{ω*dt}为由陀螺仪的角速度测量值ω产生的增量, 标识四元数乘法;v和v0为分别为当前时刻和上一时刻跟踪目标(例如跟踪目标为移动终端)沿着世界坐标系的三个坐标轴的速度值,p和p0为分别为当前时刻和上一时刻跟踪目标(例如跟踪目标为移动终端)的位置信息,v与v0,p和p0均为3*1的矩阵,dt表示上一时刻与当前时刻的时间间隔,R为从IMU本体坐标系到世界坐标系的3*3旋转矩阵,a为当前时刻三轴加速度计的测量值,g为重力加速度沿着世界坐标系的三个坐标轴的重力分量,a与g均为3*1的矩阵。
[0047] 在利用导航系统的IMU测量的IMU数据进行重定位时,当前帧图像的特征点数量大于第一阈值时,将当前帧图像存储至关键帧数据库中。
[0048] 本实施例可以大幅度的降低视觉图像的特征点盲区下或者快速旋转等不利情况下导致的短暂跟踪丢失概率,显著提高视觉导航系统定位跟踪的鲁棒性。
[0049] 需要说明的是,本实施例所涉及的各种阈值,例如第一数量阈值至第四数量阈值,第一阈值至第三阈值等阈值可以根据经验值或数据统计进行设定。
[0050] 本发明另一方面提供一种视觉导航系统的跟踪恢复装置。
[0051] 图4为本发明实施例示出的视觉导航系统的跟踪恢复装置的结构框图,如图4所示,本实施例的装置包括:
[0052] 获取与存储单元41,用于获取当前帧图像,根据当前帧图像并利用视觉导航系统内部跟踪方法进行跟踪,在跟踪成功时,将当前帧图像数据存储至关键帧数据库中;
[0053] 跟踪恢复处理单元42,用于在利用视觉导航系统内部跟踪方法跟踪失败时,根据从关键帧数据库中筛选出的与当前帧图像相似的目标关键帧图像和当前帧图像进行重定位,获取位姿数据以恢复跟踪。
[0054] 在本实施例中,跟踪恢复处理单元42包括第一处理模块和第二处理模块;
[0055] 第一处理模块用于获取目标关键帧图像的第一数量和每目标关键帧图像与当前帧图像匹配的特征点的第二数量;在第一数量和第二数量满足设定条件时,利用目标关键帧和匹配上的特征点确定位姿数据,并将当前帧图像作为关键帧数据存储至关键帧数据库中;
[0056] 第二处理模块用于在第一数量和第二数量不满足设定条件时,利用导航系统的惯性测量单元IMU测量的IMU数据进行重定位,获取位姿数据以恢复跟踪。
[0057] 在一个示例中,第一处理模块还用于获取当前帧的词袋字典,并从关键帧数据库中获取与当前帧图像具有设定数量的共享的词特征的候选关键帧图像;根据候选关键帧图像与当前帧图像之间的相似度,和/或候选关键帧图像与当前帧图像之间特征点的描述字数量,和/或候选关键帧图像与当前帧图像之间特征点的数量,和/或候选关键帧图像的数量,确定目标关键帧。
[0058] 第二处理模块还用于获取当前时刻的IMU数据,IMU数据包括加速度数据和角速度数据,并根据上一时刻确定的姿态信息、速度信息、位置信息,以及角速度数据、加速度数据和当前时刻与上一时刻之间的时间差,确定当前时刻的姿态信息、速度信息和位置信息为当前时刻的位姿数据;在当前帧图像的特征点数量大于第一阈值时,将当前帧图像存储至所述关键帧数据库中。
[0059] 在另一个示例中,获取与存储单元41还用于在当前帧图像的特征点数量大于第二阈值时,和/或当前帧图像距离上一个关键帧图像的时间大于设定时间阈值时,和/或当前帧图像与上一个关键帧图像之间相匹配的关键点数量小于第三阈值时,将当前帧图像数据存储至关键帧数据库中。
[0060] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0061] 本发明提供的视觉导航系统的跟踪恢复装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,参照图5所示,本发明提供的视觉导航系统的跟踪恢复装置可包括处理器501、存储有机器可执行指令的机器可读存储介质502。处理器501与机器可读存储介质502可经由系统总线503通信。并且,通过读取并执行机器可读存储介质502中与视觉导航系统的跟踪恢复逻辑对应的机器可执行指令,处理器501可执行上文描述的视觉导航系统的跟踪恢复方法。
[0062] 本发明中提到的机器可读存储介质502可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
[0063] 根据本发明公开的示例,本发明还提供了一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读存储介质502,机器可执行指令可由视觉导航系统的跟踪恢复装置中的处理器501执行以实现上文描述的视觉导航系统的跟踪恢复方法。
[0064] 以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。