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

定位方法、装置、电子设备及计算机可读存储介质与流程

2022-05-11 11:05:00 来源:中国专利 TAG:


1.本公开实施例涉及计算机视觉技术领域,具体涉及一种定位方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着技术的发展,越来越多的场景(比如无人驾驶、ar导航等)需要获得被定位对象(如智能手机、汽车、机器人等)高精度(米级及以下)的定位结果。为了获得高精度的定位结果,现有技术提供了基于高精gnss ins组合导航系统的定位方案,该方案借助高精gnss ins组合导航系统获得被定位对象每一时刻的定位结果(经纬度位置以及姿态)。发明人在对该方案研究的过程中发现,该方案虽然能够得到高精度的定位结果,但高精gnss ins组合导航系统所使用的传感器及芯片价格昂贵,过高的成本导致该方案的适用性不强。因此,亟需提供一种能够保障定位精度且成本低廉的更普适的定位方案。


技术实现要素:

3.本公开实施例提供一种定位方法、装置、电子设备及计算机可读存储介质。
4.第一方面,本公开实施例中提供了一种定位方法。
5.具体的,所述定位方法,包括:
6.基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据;
7.对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数;
8.若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿;
9.基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
10.结合第一方面,本公开实施例在第一方面的第一种实现方式中,所述基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据,包括:
11.获取相机采集的初始帧图像和gnss接收机输出的gnss位置数据,向视觉定位服务发送定位请求,其中,所述定位请求携带有所述初始帧图像和gnss位置数据,使其基于所述初始帧图像和gnss位置数据计算并返回t0时刻的相机初始位姿估计数据。
12.结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,包括:
13.若采集所述第n帧图像时满足设定的视觉定位修正条件,获取相机采集的第n帧图
像和tn时刻的位置数据;
14.向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻的位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻的位置数据计算并返回tn时刻的视觉定位位姿。
15.结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述视觉定位修正条件包括:每隔m帧图像进行一次修正,或者,采集图像的场景为设定的进行视觉定位修正的场景。
16.结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述tn时刻的位置数据为所述tn时刻的相机位姿估计数据中的位置数据。
17.结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式和第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果,包括:
18.对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿;
19.基于经异步校正后的tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
20.结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式、第一方面的第五种实现方式和第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,所述对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿,包括:
21.向所述视觉定位服务发送定位请求后,记录定位请求发送时间t
t
,并备份t
t
时刻所述视觉定位时序模型的状态量;
22.记录t
t
时刻后每一时刻的速度值和imu传感数据,直至第t
t p
时刻接收到tn时刻的视觉定位位姿;
23.利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;
24.将校正后的t
t
时刻所述视觉定位时序模型的状态量、记录的速度值和imu传感数据输入所述视觉定位时序模型,得到经异步校正后的tn时刻的视觉定位位姿。
25.第二方面,本公开实施例中提供了一种定位方法。
26.具体的,所述定位方法,包括:
27.响应于接收到终端发送的定位请求,获取所述定位请求携带的位置数据和图像;
28.基于所述位置数据和图像计算得到相机位姿估计数据;
29.将所述相机位姿估计数据发送给所述终端,以作为所述终端上运行的预先训练的视觉定位时序模型的输入或用于对所述视觉定位时序模型输出的结果进行修正。
30.结合第二方面,本公开实施例在第二方面的第一种实现方式中,当所述图像为初始帧图像时,所述位置数据为gnss位置数据;当所述图像为在所述初始帧图像之后采集的
第n帧图像时,所述位置数据为tn时刻的相机位姿估计数据中的位置数据,其中,所述tn时刻的相机位姿估计数据由所述视觉定位时序模型根据tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据预测得到。
31.结合第二方面和第二方面的第一种实现方式,本公开实施例在第二方面的第二种实现方式中,所述基于所述位置数据和图像计算得到相机位姿估计数据,包括:
32.根据所述位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像,其中,所述参考图像数据库中存储有预先计算得到位姿数据的图像;
33.计算所述图像与所述候选参考图像之间的图像相似度,将所述图像相似度满足预设条件的候选参考图像确定为所述图像对应的参考图像;
34.计算所述图像与所述参考图像之间的相对位姿数据;
35.获取所述参考对象的位姿数据,基于所述参考对象的位姿数据和所述相对位姿数据计算得到所述图像的位姿数据,将其作为相机位姿估计数据。
36.结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述计算所述图像与所述参考图像之间的相对位姿数据,被实施为:
37.将所述图像和参考图像输入预训练过的相对位姿数据计算模型,计算得到所述图像与所述参考图像之间的相对位姿数据。
38.第三方面,本公开实施例中提供了一种定位方法。
39.具体的,所述定位方法,包括:
40.终端基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据;
41.云端响应于接收到终端发送的定位请求,基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据,发送给所述终端;
42.终端对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数,若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,并基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
43.结合第三方面,本公开实施例在第三方面的第一种实现方式中,所述云端基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据,包括:
44.根据所述gnss位置数据从参考图像数据库中确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像,其中,所述参考图像数据库中存储有预先计算得到位姿数据的图像;
45.计算所述初始帧图像与所述候选参考图像之间的图像相似度,将所述图像相似度满足预设条件的候选参考图像确定为所述初始帧图像对应的参考图像;
46.计算所述初始帧图像与所述参考图像之间的相对位姿数据;
47.获取所述参考对象的位姿数据,基于所述参考对象的位姿数据和所述相对位姿数据计算得到所述初始帧图像的位姿数据,将其作为t0时刻的相机初始位姿估计数据。
48.结合第三方面和第三方面的第一种实现方式,本公开实施例在第三方面的第二种实现方式中,所述计算所述初始帧图像与所述参考图像之间的相对位姿数据,被实施为:
49.将所述初始帧图像和参考图像输入预训练过的相对位姿数据计算模型,计算得到所述初始帧图像与所述参考图像之间的相对位姿数据。
50.结合第三方面、第三方面的第一种实现方式和第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,所述tn时刻的位置数据为所述tn时刻的相机位姿估计数据中的位置数据。
51.结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,还包括:
52.终端对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿。
53.结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式和第三方面的第四种实现方式,本公开在第三方面的第五种实现方式中,所述终端对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿,包括:
54.向所述视觉定位服务发送定位请求后,记录定位请求发送时间t
t
,并备份t
t
时刻所述视觉定位时序模型的状态量;
55.记录t
t
时刻后每一时刻的速度值和imu传感数据,直至第t
t p
时刻接收到tn时刻的视觉定位位姿;
56.利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;
57.将校正后的t
t
时刻所述视觉定位时序模型的状态量、记录的速度值和imu传感数据输入所述视觉定位时序模型,得到经异步校正后的tn时刻的视觉定位位姿。
58.第四方面,本公开实施例中提供了一种定位装置。
59.具体的,所述定位装置,包括:
60.第一请求模块,被配置为基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据;
61.预测模块,被配置为对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数;
62.第二请求模块,被配置为若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿;
63.修正模块,被配置为基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
64.第五方面,本公开实施例中提供了一种云服务器。
65.具体的,所述云服务器,包括:
66.获取模块,被配置为响应于接收到终端发送的定位请求,获取所述定位请求携带的位置数据和图像;
67.计算模块,被配置为基于所述位置数据和图像计算得到相机位姿估计数据;
68.发送模块,被配置为将所述相机位姿估计数据发送给所述终端,以作为所述终端上运行的预先训练的视觉定位时序模型的输入或用于对所述视觉定位时序模型输出的结果进行修正。
69.第六方面,本公开实施例中提供了一种定位装置。
70.具体的,所述定位装置,包括:
71.终端,被配置为基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据,对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数,若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,并基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果;
72.云端,被配置为响应于接收到终端发送的定位请求,基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据,发送给所述终端。
73.第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持定位装置执行上述定位方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述定位装置还可以包括通信接口,用于定位装置与其他设备或通信网络通信。
74.第八方面,本公开实施例提供了一种计算机可读存储介质,用于存储定位装置所用的计算机指令,其包含用于执行上述定位方法为定位装置所涉及的计算机指令。
75.第九方面,本公开实施例提供了一种导航服务,其中,基于上述定位方法,获得被导航对象的定位结果,并基于所述定位结果为所述被导航对象提供相应场景的导航引导服务。
76.结合第九方面,本公开实施例在第九方面的第一种实现方式中,所述相应场景为ar导航或者高架导航或者主辅路导航中的一种或多种的组合。
77.本公开实施例提供的技术方案可包括以下有益效果:
78.上述技术方案仅基于民用级imu获取的imu传感数据、预先训练过的视觉定位时序模型,以及来自云端的视觉定位服务提供的视觉定位位姿进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像和视觉定位服务提供的视觉定位位姿,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。
79.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。
附图说明
80.结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:
81.图1示出根据本公开一实施方式的定位方法的流程图;
82.图2示出根据本公开一实施方式的运动模型示意图;
83.图3示出根据本公开一实施方式的对于tn时刻的视觉定位位姿的修正时序图;
84.图4示出根据本公开另一实施方式的定位方法的流程图;
85.图5示出根据本公开再一实施方式的定位方法的流程图;
86.图6示出根据本公开一实施方式的定位装置的结构框图;
87.图7示出根据本公开一实施方式的云服务器的结构框图;
88.图8示出根据本公开另一实施方式的定位装置的结构框图;
89.图9是适于用来实现根据本公开一实施方式的定位方法的计算机系统的结构示意图。
具体实施方式
90.下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
91.在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
92.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。
93.本公开实施例提供的技术方案仅基于民用级imu获取的imu传感数据、预先训练过的视觉定位时序模型,以及来自云端的视觉定位服务提供的视觉定位位姿进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像和视觉定位服务提供的视觉定位位姿,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。
94.图1示出根据本公开一实施方式的定位方法的流程图,如图1所示,所述定位方法包括以下步骤s101-s104:
95.在步骤s101中,基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据;其中,所述相机可以是摄像头,所述gnss接收机可以是gps接收机,所述摄像头和gps接收机可以集成在同一个终端中,比如手机或者行车记录仪,也可以为相互独立的部件但搭载在同一个被定位对象上,比如汽车、机器人等。
96.在步骤s102中,对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数;
97.在步骤s103中,若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿;
98.在步骤s104中,基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
99.上文提及,随着技术的发展,越来越多的场景(比如无人驾驶、ar导航等)需要获得被定位对象(如智能手机、汽车、机器人等)高精度(米级及以下)的定位结果。为了获得高精度的定位结果,现有技术提供了基于高精gnss ins组合导航系统的定位方案,该方案借助高精gnss ins组合导航系统获得被定位对象每一时刻的定位结果(经纬度位置以及姿态)。发明人在对该方案研究的过程中发现,该方案虽然能够得到高精度的定位结果,但高精gnss ins组合导航系统所使用的传感器及芯片价格昂贵,过高的成本导致该方案的适用性不强。因此,亟需提供一种能够保障定位精度且成本低廉的更普适的定位方案。
100.考虑到上述问题,在该实施方式中,提出一种定位方法,该方法仅基于民用级imu获取的imu传感数据、预先训练过的视觉定位时序模型,以及来自云端的视觉定位服务提供的视觉定位位姿进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像和视觉定位服务提供的视觉定位位姿,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。该定位方案可以应用于ar导航场景,当用户启动ar导航服务时,开始执行运行本方案,亦可应用于其他需要精度较高定位结果的场景,比如高架路、主辅路等。
101.在本公开一实施方式中,所述定位方法可适用于可执行定位处理的终端计算机、计算设备、电子设备、服务器、服务集群等。
102.在本公开一实施方式中,所述定位方法可基于某一包括多帧图像的图像序列进行。
103.在本公开一实施方式中,所述初始帧图像指的是相机采集得到的、所述包括多帧图像的图像序列中的第0帧。
104.在本公开一实施方式中,所述初始帧图像的采集时间和gnss位置数据的采集时间可以相同也可以不相同,只要所述gnss位置数据为gnss接收机输出的位置数据中最接近拍摄所述初始帧图像的位置的gnss位置数据即可。其中,所述gnss位置数据比如可以为gps位置数据、北斗位置数据等等。
105.在本公开一实施方式中,所述t0时刻的相机初始位姿估计数据指的是与所述初始帧图像对应时刻的、由云端视觉定位服务确定的相机位姿估计数据。在该实施方式中,可将所述t0时刻的云端视觉定位服务确定的相机位姿估计数据作为与所述初始帧图像对应的t0时刻的相机初始位姿估计数据,还可作为后续对于相机位姿进行预测的视觉定位时序模型的初始状态数据。
106.在本公开一实施方式中,所述位姿估计数据可包括经纬度等位置数据以及姿态偏航角等姿态数据。
107.在本公开一实施方式中,所述imu传感数据指的是imu(惯性测量单元)传感器检测得到的数据,比如,对于由3个加速度计和3个陀螺仪组成的6轴imu传感器,其检测得到的数据可包括3个方向的加速度和3个方向的角速度。
108.在本公开一实施方式中,所述定位时序模型指的是预先训练得到的、能够对于下
一时刻视觉定位数据进行预测的模型,比如,当n=1时,在已获得t0时刻的相机初始位姿估计数据之后,就可以根据所述t0时刻的相机初始位姿估计数据和获取得到的t1时刻的imu传感数据预测得到第1帧图像对应t1时刻的相机位姿估计数据;之后,当n=2时,可根据t1时刻的相机位姿估计数据和获取得到的t2时刻的imu传感数据预测得到第2帧图像对应t2时刻的相机位姿估计数据,以此类推,即可获取全部图像对应时刻的相机位姿估计数据。即,对于所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型中,即可预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数。
109.在本公开一实施方式中,所述视觉定位时序模型可基于卡尔曼滤波器(kalman filter)实现,在该实施方式中,所述视觉定位时序模型包括基于运动模型的预测部分和基于观测结果的修正部分。图2为根据本公开一实施方式的运动模型示意图,如图2所示,在该运动模型中,可对目标位置p、目标姿态r及目标速度v三个状态量进行估计,在该实施方式中,所述运动模型可满足如下更新关系:
110.r
n 1
=rnexp((ωndt)
×
)
[0111]vn 1
=vn (r
nan
g)dt
[0112]
p
n 1
=pn vndt
[0113]
其中,ωn和an分别表示为imu传感数据中的角速度和加速度。
[0114]
基于上述视觉定位时序模型,就可以根据tn时刻的状态来预测得到t
n 1
时刻的状态。
[0115]
在该实施方式中,对于所述初始帧图像之后采集的图像,可直接将所述视觉定位时序模型预测得到的对应时刻的相机位姿估计数据作为所述图像对应时刻的定位结果,但若采集第n帧图像时确定满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,然后基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻经修正后的定位结果。其中,所述tn时刻的位置数据指的是所述tn时刻的相机位姿估计数据中的位置数据。
[0116]
上述实施方式借助视觉定位时序模型,基于时空连续性假设,结合历史时序信息,得到准确的相机位姿估计数据,因此,可以较好地改善视觉定位中单帧预测不稳定的问题,从而有效提升视觉定位的精度,同时,由于卡尔曼滤波器算法非常高效,因此其对于终端的计算成本基本可以忽略,即可以大大节约计算消耗。
[0117]
在本公开一实施方式中,所述步骤s101中基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据的步骤,可包括以下步骤:
[0118]
获取相机采集的初始帧图像和gnss接收机输出的gnss位置数据,向视觉定位服务发送定位请求,其中,所述定位请求携带有所述初始帧图像和gnss位置数据,使其基于所述初始帧图像和gnss位置数据计算并返回t0时刻的相机初始位姿估计数据。
[0119]
由于t0时刻缺少历史时序信息,难以进行预测,因此在该实施方式中,借助云端的视觉定位服务获取t0时刻的相机初始位姿估计数据。具体地,终端获取t0时刻的gnss位置数据和初始帧图像,并将所述t0时刻的gnss位置数据和初始帧图像携带在定位请求中向云端
的视觉定位服务发送,以获得云端的视觉定位服务根据所述t0时刻的gnss位置数据和初始帧图像计算得到的t0时刻的相机位姿估计数据,所述云端的视觉定位服务获得的t0时刻的相机位姿估计数据可作为t0时刻的相机初始位姿估计数据。
[0120]
类似地,所述步骤s103,即若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿的步骤,可包括以下步骤:
[0121]
若采集所述第n帧图像时满足设定的视觉定位修正条件,获取相机采集的第n帧图像和tn时刻的位置数据;
[0122]
向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻的位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻的位置数据计算并返回tn时刻的视觉定位位姿。
[0123]
考虑到所述视觉定位时序模型存在一定的估计偏差,因此,为了提高相机位姿估计数据的准确性,需要参考云端相机位姿估计数据对于所述视觉定位时序模型生成的相机位姿估计数据进行修正。但同时考虑到对于云端计算成本的控制,并非对于每一帧图像均需参考云端相机位姿估计数据,而是首先判断采集所述第n帧图像时是否满足设定的视觉定位修正条件,若满足,则获取相机采集的第n帧图像和tn时刻的位置数据,向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻的位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻的位置数据计算并返回tn时刻的视觉定位位姿,后续可基于所述tn时刻的视觉定位位姿对于所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的最终定位结果。其中,所述视觉定位修正条件可包括:每隔m帧图像进行一次修正,或者,采集图像的场景为设定的进行视觉定位修正的场景,比如gnss定位信号被遮挡导致gnss位置不准确,遇到岔路或者转弯等情况导致imu数据有一定误差,当前使用的视觉定位时序模型的不确定性超过预设阈值(即所述视觉定位时序模型的误差较大),或者通信网络中断或数据传输不稳定的场景。
[0124]
在本公开另一实施方式中,当采集所述第n帧图像时满足设定的视觉定位修正条件时,也可不直接使用所述tn时刻的相机位姿估计数据中的位置数据作为所述tn时刻的位置数据,而是与所述相机初始位姿估计数据的获取过程类似,先使用所述tn时刻gnss接收机输出的gnss位置数据作为所述tn时刻的位置数据,基于所述tn时刻gnss位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿。此时,所述步骤s103,即若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿的步骤,可包括以下步骤:
[0125]
若采集所述第n帧图像时满足设定的视觉定位修正条件,获取相机采集的第n帧图像和tn时刻gnss接收机输出的gnss位置数据;
[0126]
向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻gnss接收机输出的gnss位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻gnss接收机输出的gnss位置数据计算并返回tn时刻的视觉定位位姿。
[0127]
只是在实际应用中某些图像帧对应的gnss位置数据可能会发生不可预测的漂移,导致云端无法计算或者无法得到准确的相机位姿估计数据,此时,就需要对于gnss位置数据进行校正,将校正后的gnss位置数据发送给云端,使其基于校正后的gnss位置数据计算
相机位姿估计数据,从而避免gnss定位误差所带来的视觉定位错误。考虑到上述基于卡尔曼滤波器实现的视觉定位时序模型可以通过运动模型由上一时刻的位姿数据预测得到当前时刻的位姿数据,因此,在需要对于gnss位置数据进行校正时,再使用所述视觉定位时序模型预测得到的当前时刻的位姿数据中的位置数据作为产生漂移的gnss位置数据的校正数据,此时又使用所述tn时刻的相机位姿估计数据中的位置数据作为所述tn时刻的位置数据。
[0128]
即,在该实施方式中,所述方法还包括以下步骤:
[0129]
响应于接收到所述视觉定位服务发送的重新发送位置数据请求,将所述tn时刻的相机位姿估计数据中的位置数据发送给所述视觉定位服务,以使所述视觉定位服务基于所述第n帧图像和该位置数据计算并返回tn时刻的视觉定位位姿。
[0130]
其中,所述重新发送位置数据请求指的是由于之前发送给云端视觉定位服务的gnss位置数据无法使用或者无法借其得到准确的相机位姿估计数据,而由云端视觉定位服务向终端发送的使得终端重新发送位置数据的请求。
[0131]
在本公开一实施方式中,所述第n帧图像的采集时间和所述gnss位置数据的采集时间可以相同也可以不相同,只要所述gnss位置数据为gnss接收机输出的位置数据中最接近拍摄所述第n帧图像的位置的gnss位置数据即可。
[0132]
在本公开一实施方式中,所述步骤s104,即基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果的步骤,可包括以下步骤:
[0133]
对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿;
[0134]
基于经异步校正后的tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
[0135]
考虑到在实际应用中,由于网络传输、云端计算等因素,终端对于云端相机位姿估计数据计算服务的调用存在一定的时间开销,这就使得云端与终端之间出现异步现象,也就是说,终端在发出定位请求,并在一定时间后接收到云端发送的相机位姿估计数据时,此时接收到的相机位姿估计数据并非是终端在发出定位请求时对应时刻的云端相机位姿估计数据。因此,在该实施方式中,需要对于第n帧图像对应的tn时刻的相机位姿估计数据进行异步校正,然后再利用经异步校正后的tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
[0136]
在本公开一实施方式中,所述对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿的步骤,可包括以下步骤:
[0137]
向所述视觉定位服务发送定位请求后,记录定位请求发送时间t
t
,并备份t
t
时刻所述视觉定位时序模型的状态量;
[0138]
记录t
t
时刻后每一时刻的速度值和imu传感数据,直至第t
t p
时刻接收到tn时刻的视觉定位位姿;
[0139]
利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;
[0140]
将校正后的t
t
时刻所述视觉定位时序模型的状态量、记录的速度值和imu传感数
据输入所述视觉定位时序模型,得到经异步校正后的tn时刻的视觉定位位姿。
[0141]
在该实施方式中,通过对于发送定位请求时的视觉定位时序模型的状态量进行修正,并利用修正后的视觉定位时序模型的状态量进行预测,来实现对于tn时刻的视觉定位位姿的修正。具体地,如图3所示,其中,图3中的序号代表执行顺序,

终端向云端视觉定位服务发送视觉定位请求,记录定位请求发送的时间,记为t
t
,并备份此时视觉定位时序模型的状态量;

自t
t
时刻起,记录t
t
时刻后每一时刻的速度值和imu传感数据,直至到达

第t
t p
时刻接收到云端发送的第n帧图像对应tn时刻的视觉定位位姿,即请求结果停止;

利用接收到的所述第n帧图像对应tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;

将校正后的t
t
时刻所述视觉定位时序模型的状态量、之前记录的每个时刻的速度值和imu传感数据输入至所述视觉定位时序模型中,将预测推演得到的最后时刻的相机位姿估计数据作为校正后的第n帧图像对应tn时刻云端相机位姿估计数据,之后

可结合速度值和imu传感数据继续预测推演后续时刻的相机位姿估计数据。
[0142]
在本公开一实施方式中,所述利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正的步骤,可被实施为:
[0143]
将所述第n帧图像对应tn时刻的视觉定位位姿作为观测量输入至所述视觉定位时序模型中进行修正,得到修正后的t
t
时刻视觉定位时序模型的状态量。
[0144]
上文提及,所述基于卡尔曼滤波器实现的视觉定位时序模型包括基于运动模型的预测部分和基于观测结果的修正部分,因此,在该实施方式中,将所述第n帧图像对应t
t
时刻的视觉定位位姿作为观测量输入至所述视觉定位时序模型的修正部分中执行校正操作,即可得到校正后的t
t
时刻视觉定位时序模型的状态量。
[0145]
类似地,在本公开一实施方式中,所述步骤s104中基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正的步骤,可被实施为:
[0146]
将所述tn时刻的视觉定位位姿作为观测量输入至所述视觉定位时序模型中进行修正,得到修正后的tn时刻的定位结果。
[0147]
图4示出根据本公开另一实施方式的定位方法的流程图,如图4所示,所述定位方法包括以下步骤s401-s403:
[0148]
在步骤s401中,响应于接收到终端发送的定位请求,获取所述定位请求携带的位置数据和图像;
[0149]
在步骤s402中,基于所述位置数据和图像计算得到相机位姿估计数据;
[0150]
在步骤s403中,将所述相机位姿估计数据发送给所述终端,以作为所述终端上运行的预先训练的视觉定位时序模型的输入或用于对所述视觉定位时序模型输出的结果进行修正。
[0151]
上文提及,随着技术的发展,越来越多的场景(比如无人驾驶、ar导航等)需要获得被定位对象(如智能手机、汽车、机器人等)高精度(米级及以下)的定位结果。为了获得高精度的定位结果,现有技术提供了基于高精gnss ins组合导航系统的定位方案,该方案借助高精gnss ins组合导航系统获得被定位对象每一时刻的定位结果(经纬度位置以及姿态)。发明人在对该方案研究的过程中发现,该方案虽然能够得到高精度的定位结果,但高精gnss ins组合导航系统所使用的传感器及芯片价格昂贵,过高的成本导致该方案的适用性
不强。因此,亟需提供一种能够保障定位精度且成本低廉的更普适的定位方案。
[0152]
考虑到上述问题,在该实施方式中,提出一种定位方法,该方法仅基于民用级imu获取的imu传感数据、终端预先训练过的结合视觉定位时序模型得到视觉定位位姿并发送给终端,使得终端进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。
[0153]
在本公开一实施方式中,所述步骤s402,即基于所述位置数据和图像计算得到相机位姿估计数据的步骤,可包括以下步骤:
[0154]
根据所述位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像,其中,所述参考图像数据库中存储有预先计算得到位姿数据的图像;
[0155]
计算所述图像与所述候选参考图像之间的图像相似度,将所述图像相似度满足预设条件的候选参考图像确定为所述图像对应的参考图像;
[0156]
计算所述图像与所述参考图像之间的相对位姿数据;
[0157]
获取所述参考对象的位姿数据,基于所述参考对象的位姿数据和所述相对位姿数据计算得到所述图像的位姿数据,将其作为相机位姿估计数据。
[0158]
在该实施方式中,基于具有预先计算得到位姿数据的参考图像与终端发送图像之间的对比来确定与终端发送图像对应时刻的相机位姿估计数据。具体地,首先根据终端发送的位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的一个或多个候选参考图像,即将与所述位置数据之间的距离较近的一个或多个图像作为所述候选参考图像,其中,所述参考图像数据库指的是存储有具有预先计算得到准确的位姿数据的、后续可作为位置参考的图像的数据库,其中,所述预设范围可根据实际应用的需要进行设置;然后计算终端发送的图像与所述候选参考图像之间的图像相似度,将图像相似度满足预设条件,比如大于某一预设相似度阈值的候选参考图像确定为与所述图像对应的参考图像;然后计算所述图像与所述参考图像之间的相对位姿数据;最后获取所述参考对象预先计算得到的位姿数据,基于所述参考对象的位姿数据和之前计算得到的所述相对位姿数据,比如将所述参考对象的位姿数据与所述相对位姿数据相加,即可得到所述图像的位姿数据,可将其作为与所述图像对应时刻的相机位姿估计数据,比如,若所述图像为初始帧图像,则得到的所述相机位姿估计数据为相机初始位姿估计数据,可作为所述终端上运行的预先训练的视觉定位时序模型的初始输入;若所述图像为第n帧图像,则得到的所述相机位姿估计数据为tn时刻的相机位姿估计数据,可用于对所述视觉定位时序模型相应时刻输出的结果进行修正。
[0159]
在本公开一实施方式中,所述计算所述图像与所述参考图像之间的相对位姿数据的步骤,可被实施为:
[0160]
将所述图像和参考图像输入预训练过的相对位姿数据计算模型,计算得到所述图像与所述参考图像之间的相对位姿数据。
[0161]
在该实施方式中,所述相对位姿数据的计算借助预训练得到的深度神经网络模型等相对位姿模型来获得,其中,所述相对位姿模型的预训练过程属于本领域技术人员应当掌握的技术,本公开在此不作赘述。
[0162]
在本公开一实施方式中,当所述图像为初始帧图像时,所述位置数据为gnss位置数据,即使用gnss位置数据来计算相机初始位姿估计数据;当所述图像为在所述初始帧图像之后采集的第n帧图像时,所述位置数据为tn时刻的相机位姿估计数据中的位置数据,即使用tn时刻的相机位姿估计数据中的位置数据来计算相机位姿估计数据,其中,所述tn时刻的相机位姿估计数据由所述视觉定位时序模型根据tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据预测得到。
[0163]
在本公开另一实施方式中,当所述图像为在所述初始帧图像之后采集的第n帧图像时,所述位置数据也可不直接使用所述tn时刻的相机位姿估计数据中的位置数据,而是与所述相机初始位姿估计数据的计算过程类似,先使用所述tn时刻的gnss位置数据计算相机位姿估计数据。此时,所述方法还可包括以下步骤:
[0164]
当根据所述gnss位置数据从参考图像数据库中无法确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像时,向所述终端发送重新发送位置数据请求,以使所述终端将利用视觉定位时序模型预测得到的tn时刻的相机位姿估计数据中的位置数据发送给视觉定位服务;
[0165]
根据接收到的位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像。
[0166]
上文提及,在实际应用中某些图像帧对应的gnss位置数据可能会发生不可预测的漂移,导致云端无法计算或者无法得到准确的相机位姿估计数据,此时,就需要对于gnss位置数据进行校正,使得云端能够根据校正后的位置数据计算得到相机位姿估计数据,从而避免gnss位置定位误差所带来的视觉定位错误。因此,进一步地,当发现根据终端发送的gnss位置数据从参考图像数据库中无法确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像时,需向所述终端发送重新发送位置数据请求,以使所述终端将利用视觉定位时序模型预测得到的tn时刻的相机位姿估计数据中的位置数据发送给云端;云端在接收到新的位置数据后,根据新的位置数据再次从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像。
[0167]
以下以每隔五帧做一次修正为例,对本公开提供的方案进行详细说明,其中,终端将相机采集的初始帧图像即第0帧图像和gnss接收机输出的gnss位置数据发送给视觉定位服务,使得所述视觉定位服务基于第0帧图像和gnss位置数据计算得到t0时刻的相机位姿估计数据,作为终端的相机初始位姿估计数据;对于相机采集的第1帧图像,终端获取t1时刻的imu传感数据,并将t1时刻的imu传感数据和t0时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到t1时刻的相机位姿估计数据;对于相机采集的第2帧图像,与t1时刻相比,区别在于视觉定位时序模型输入的相机位姿估计数据是视觉定位时序模型预测得到t1时刻的相机位姿估计数据,第3-5帧图像的处理原理与第2帧图像相同,此处不再赘述;对于相机采集的第6帧图像,因为满足视觉定位修正条件,则需要按照与第2-5帧相同的处理原理得到视觉定位时序模型预测的t6时刻的相机位姿估计数据,以及,将第6帧图像和t6时刻的相机位姿估计数据中的位置数据发送给视觉定位服务,请求视觉定位服务返回t6时刻的视觉定位位姿,使用所述视觉定位服务返回的t6时刻的视觉定位位姿对所述视觉定位时序模型预测的t6时刻的相机位姿估计数据进行修正,得到t6时刻的定位结果(即,最终的t6时刻的相机位姿估计数据);对于相机采集的第7帧图像,将修正后的t6时刻的定位
结果以及获取的t7时刻的imu传感数据输入预先训练的视觉定位时序模型,预测得到t7时刻的相机位姿估计数据,
……
,后续帧以此类推,本文不再赘述。
[0168]
图4所示及相关实施方式中涉及的技术术语和技术特征与图1-3所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图4所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-3所示及相关实施方式的解释的说明,此处不再赘述。
[0169]
图5示出根据本公开再一实施方式的定位方法的流程图,如图5所示,所述定位方法包括以下步骤:
[0170]
终端基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据;
[0171]
云端响应于接收到终端发送的定位请求,基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据,发送给所述终端;
[0172]
终端对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数,若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,并基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果,其中,所述tn时刻的位置数据可以为所述tn时刻的相机位姿估计数据中的位置数据,也可以为tn时刻的gnss位置数据。
[0173]
上文提及,随着技术的发展,越来越多的场景(比如无人驾驶、ar导航等)需要获得被定位对象(如智能手机、汽车、机器人等)高精度(米级及以下)的定位结果。为了获得高精度的定位结果,现有技术提供了基于高精gnss ins组合导航系统的定位方案,该方案借助高精gnss ins组合导航系统获得被定位对象每一时刻的定位结果(经纬度位置以及姿态)。发明人在对该方案研究的过程中发现,该方案虽然能够得到高精度的定位结果,但高精gnss ins组合导航系统所使用的传感器及芯片价格昂贵,过高的成本导致该方案的适用性不强。因此,亟需提供一种能够保障定位精度且成本低廉的更普适的定位方案。
[0174]
考虑到上述问题,在该实施方式中,提出一种定位方法,该方法仅基于民用级imu获取的imu传感数据、终端预先训练过的视觉定位时序模型,以及来自云端的视觉定位服务提供的视觉定位位姿进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像和视觉定位服务提供的视觉定位位姿,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。
[0175]
在本公开一实施方式中,所述定位方法可适用于包括终端和云端的定位系统。
[0176]
在本公开一实施方式中,所述云端基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据,包括:
[0177]
根据所述gnss位置数据从参考图像数据库中确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像,其中,所述参考图像数据库中存储有预先计算得到位姿数据的图像;
[0178]
计算所述初始帧图像与所述候选参考图像之间的图像相似度,将所述图像相似度
满足预设条件的候选参考图像确定为所述初始帧图像对应的参考图像;
[0179]
计算所述初始帧图像与所述参考图像之间的相对位姿数据;
[0180]
获取所述参考对象的位姿数据,基于所述参考对象的位姿数据和所述相对位姿数据计算得到所述初始帧图像的位姿数据,将其作为t0时刻的相机初始位姿估计数据。
[0181]
在本公开一实施方式中,所述计算所述初始帧图像与所述参考图像之间的相对位姿数据,被实施为:
[0182]
将所述初始帧图像和参考图像输入预训练过的相对位姿数据计算模型,计算得到所述初始帧图像与所述参考图像之间的相对位姿数据。
[0183]
在本公开一实施方式中,所述tn时刻的位置数据为所述tn时刻的相机位姿估计数据中的位置数据。
[0184]
在本公开一实施方式中,还包括:
[0185]
云端当根据所述gnss位置数据从参考图像数据库中无法确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像时,向所述终端发送重新发送位置数据请求,并根据接收到的位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像;
[0186]
终端响应于接收到所述重新发送位置数据请求,将所述tn时刻的相机位姿估计数据中的位置数据发送给所述云端。
[0187]
在本公开一实施方式中,还包括:
[0188]
终端对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿。
[0189]
在本公开一实施方式中,所述终端对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿,包括:
[0190]
向所述视觉定位服务发送定位请求后,记录定位请求发送时间t
t
,并备份t
t
时刻所述视觉定位时序模型的状态量;
[0191]
记录t
t
时刻后每一时刻的速度值和imu传感数据,直至第t
t p
时刻接收到tn时刻的视觉定位位姿;
[0192]
利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;
[0193]
将校正后的t
t
时刻所述视觉定位时序模型的状态量、记录的速度值和imu传感数据输入所述视觉定位时序模型,得到经异步校正后的tn时刻的视觉定位位姿。
[0194]
图5所示及相关实施方式中涉及的技术术语和技术特征与图1-4所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图5所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-4所示及相关实施方式的解释的说明,此处不再赘述。
[0195]
下述为本公开装置实施例,可以用于执行本公开方法实施例。
[0196]
图6示出根据本公开一实施方式的定位装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述定位装置包括:
[0197]
第一请求模块601,被配置为基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据;其中,
时刻的相机初始位姿估计数据,还可作为后续对于相机位姿进行预测的视觉定位时序模型的初始状态数据。
[0208]
在本公开一实施方式中,所述位姿估计数据可包括经纬度等位置数据以及姿态偏航角等姿态数据。
[0209]
在本公开一实施方式中,所述imu传感数据指的是imu(惯性测量单元)传感器检测得到的数据,比如,对于由3个加速度计和3个陀螺仪组成的6轴imu传感器,其检测得到的数据可包括3个方向的加速度和3个方向的角速度。
[0210]
在本公开一实施方式中,所述定位时序模型指的是预先训练得到的、能够对于下一时刻视觉定位数据进行预测的模型,比如,当n=1时,在已获得t0时刻的相机初始位姿估计数据之后,就可以根据所述t0时刻的相机初始位姿估计数据和获取得到的t1时刻的imu传感数据预测得到第1帧图像对应t1时刻的相机位姿估计数据;之后,当n=2时,可根据t1时刻的相机位姿估计数据和获取得到的t2时刻的imu传感数据预测得到第2帧图像对应t2时刻的相机位姿估计数据,以此类推,即可获取全部图像对应时刻的相机位姿估计数据。即,对于所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型中,即可预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数。
[0211]
在本公开一实施方式中,所述视觉定位时序模型可基于卡尔曼滤波器(kalman filter)实现,在该实施方式中,所述视觉定位时序模型包括基于运动模型的预测部分和基于观测结果的修正部分。图2为根据本公开一实施方式的运动模型示意图,如图2所示,在该运动模型中,可对目标位置p、目标姿态r及目标速度v三个状态量进行估计,在该实施方式中,所述运动模型可满足如下更新关系:
[0212]rn 1
=rnexp((ωndt)
×
)
[0213]vn 1
=vn (r
nan
g)dt
[0214]
p
n 1
=pn vndt
[0215]
其中,ωn和an分别表示为imu传感数据中的角速度和加速度。
[0216]
基于上述视觉定位时序模型,就可以根据tn时刻的状态来预测得到t
n 1
时刻的状态。
[0217]
在该实施方式中,对于所述初始帧图像之后采集的图像,可直接将所述视觉定位时序模型预测得到的对应时刻的相机位姿估计数据作为所述图像对应时刻的定位结果,但若采集第n帧图像时确定满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,然后基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻经修正后的定位结果。其中,所述tn时刻的位置数据指的是所述tn时刻的相机位姿估计数据中的位置数据。
[0218]
上述实施方式借助视觉定位时序模型,基于时空连续性假设,结合历史时序信息,得到准确的相机位姿估计数据,因此,可以较好地改善视觉定位中单帧预测不稳定的问题,从而有效提升视觉定位的精度,同时,由于卡尔曼滤波器算法非常高效,因此其对于终端的计算成本基本可以忽略,即可以大大节约计算消耗。
[0219]
在本公开一实施方式中,所述第一请求模块601可被配置为:
[0220]
获取相机采集的初始帧图像和gnss接收机输出的gnss位置数据,向视觉定位服务发送定位请求,其中,所述定位请求携带有所述初始帧图像和gnss位置数据,使其基于所述初始帧图像和gnss位置数据计算并返回t0时刻的相机初始位姿估计数据。
[0221]
由于t0时刻缺少历史时序信息,难以进行预测,因此在该实施方式中,借助云端的视觉定位服务获取t0时刻的相机初始位姿估计数据。具体地,终端获取t0时刻的gnss位置数据和初始帧图像,并将所述t0时刻的gnss位置数据和初始帧图像携带在定位请求中向云端的视觉定位服务发送,以获得云端的视觉定位服务根据所述t0时刻的gnss位置数据和初始帧图像计算得到的t0时刻的相机位姿估计数据,所述云端的视觉定位服务获得的t0时刻的相机位姿估计数据可作为t0时刻的相机初始位姿估计数据。
[0222]
类似地,所述第二请求模块603可被配置为:
[0223]
若采集所述第n帧图像时满足设定的视觉定位修正条件,获取相机采集的第n帧图像和tn时刻的位置数据;
[0224]
向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻的位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻的位置数据计算并返回tn时刻的视觉定位位姿。
[0225]
考虑到所述视觉定位时序模型存在一定的估计偏差,因此,为了提高相机位姿估计数据的准确性,需要参考云端相机位姿估计数据对于所述视觉定位时序模型生成的相机位姿估计数据进行修正。但同时考虑到对于云端计算成本的控制,并非对于每一帧图像均需参考云端相机位姿估计数据,而是首先判断采集所述第n帧图像时是否满足设定的视觉定位修正条件,若满足,则获取相机采集的第n帧图像和tn时刻的位置数据,向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻的位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻的位置数据计算并返回tn时刻的视觉定位位姿,后续可基于所述tn时刻的视觉定位位姿对于所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的最终定位结果。其中,所述视觉定位修正条件可包括:每隔m帧图像进行一次修正,或者,采集图像的场景为设定的进行视觉定位修正的场景,比如gnss定位信号被遮挡导致gnss位置不准确,遇到岔路或者转弯等情况导致imu数据有一定误差,当前使用的视觉定位时序模型的不确定性超过预设阈值(即所述视觉定位时序模型的误差较大),或者通信网络中断或数据传输不稳定的场景。
[0226]
在本公开另一实施方式中,当采集所述第n帧图像时满足设定的视觉定位修正条件时,也可不直接使用所述tn时刻的相机位姿估计数据中的位置数据作为所述tn时刻的位置数据,而是与所述相机初始位姿估计数据的获取过程类似,先使用所述tn时刻gnss接收机输出的gnss位置数据作为所述tn时刻的位置数据,基于所述tn时刻gnss位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿。此时,所述第二请求模块603可被配置为:
[0227]
若采集所述第n帧图像时满足设定的视觉定位修正条件,获取相机采集的第n帧图像和tn时刻gnss接收机输出的gnss位置数据;
[0228]
向所述视觉定位服务发送定位请求,其中,所述定位请求携带有所述第n帧图像和tn时刻gnss接收机输出的gnss位置数据,使得所述视觉定位服务基于所述第n帧图像和tn时刻gnss接收机输出的gnss位置数据计算并返回tn时刻的视觉定位位姿。
[0229]
只是在实际应用中某些图像帧对应的gnss位置数据可能会发生不可预测的漂移,导致云端无法计算或者无法得到准确的相机位姿估计数据,此时,就需要对于gnss位置数据进行校正,将校正后的gnss位置数据发送给云端,使其基于校正后的gnss位置数据计算相机位姿估计数据,从而避免gnss定位误差所带来的视觉定位错误。考虑到上述基于卡尔曼滤波器实现的视觉定位时序模型可以通过运动模型由上一时刻的位姿数据预测得到当前时刻的位姿数据,因此,在需要对于gnss位置数据进行校正时,再使用所述视觉定位时序模型预测得到的当前时刻的位姿数据中的位置数据作为产生漂移的gnss位置数据的校正数据,此时又使用所述tn时刻的相机位姿估计数据中的位置数据作为所述tn时刻的位置数据。
[0230]
即,在本公开一实施方式中,所述装置还包括:
[0231]
第一发送模块,被配置为响应于接收到所述视觉定位服务发送的重新发送位置数据请求,将所述tn时刻的相机位姿估计数据中的位置数据发送给所述视觉定位服务,以使所述视觉定位服务基于所述第n帧图像和该位置数据计算并返回tn时刻的视觉定位位姿。
[0232]
其中,所述重新发送位置数据请求指的是由于之前发送给云端视觉定位服务的gnss位置数据无法使用或者无法借其得到准确的相机位姿估计数据,而由云端视觉定位服务向终端发送的使得终端重新发送位置数据的请求。
[0233]
在本公开一实施方式中,所述第n帧图像的采集时间和所述gnss位置数据的采集时间可以相同也可以不相同,只要所述gnss位置数据为gnss接收机输出的位置数据中最接近拍摄所述第n帧图像的位置的gnss位置数据即可。
[0234]
在本公开一实施方式中,所述修正模块604可被配置为:
[0235]
对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿;
[0236]
基于经异步校正后的tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
[0237]
考虑到在实际应用中,由于网络传输、云端计算等因素,终端对于云端相机位姿估计数据计算服务的调用存在一定的时间开销,这就使得云端与终端之间出现异步现象,也就是说,终端在发出定位请求,并在一定时间后接收到云端发送的相机位姿估计数据时,此时接收到的相机位姿估计数据并非是终端在发出定位请求时对应时刻的云端相机位姿估计数据。因此,在该实施方式中,需要对于第n帧图像对应的tn时刻的相机位姿估计数据进行异步校正,然后再利用经异步校正后的tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果。
[0238]
在本公开一实施方式中,所述对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿的部分,可被配置为:
[0239]
向所述视觉定位服务发送定位请求后,记录定位请求发送时间t
t
,并备份t
t
时刻所述视觉定位时序模型的状态量;
[0240]
记录t
t
时刻后每一时刻的速度值和imu传感数据,直至第t
t p
时刻接收到tn时刻的视觉定位位姿;
[0241]
利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;
[0242]
将校正后的t
t
时刻所述视觉定位时序模型的状态量、记录的速度值和imu传感数据输入所述视觉定位时序模型,得到经异步校正后的tn时刻的视觉定位位姿。
[0243]
在该实施方式中,通过对于发送定位请求时的视觉定位时序模型的状态量进行修正,并利用修正后的视觉定位时序模型的状态量进行预测,来实现对于tn时刻的视觉定位位姿的修正。具体地,如图3所示,其中,图3中的序号代表执行顺序,

终端向云端视觉定位服务发送视觉定位请求,记录定位请求发送的时间,记为t
t
,并备份此时视觉定位时序模型的状态量;

自t
t
时刻起,记录t
t
时刻后每一时刻的速度值和imu传感数据,直至到达

第t
t p
时刻接收到云端发送的第n帧图像对应tn时刻的视觉定位位姿,即请求结果停止;

利用接收到的所述第n帧图像对应tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;

将校正后的t
t
时刻所述视觉定位时序模型的状态量、之前记录的每个时刻的速度值和imu传感数据输入至所述视觉定位时序模型中,将预测推演得到的最后时刻的相机位姿估计数据作为校正后的第n帧图像对应tn时刻云端相机位姿估计数据,之后

可结合速度值和imu传感数据继续预测推演后续时刻的相机位姿估计数据。
[0244]
在本公开一实施方式中,所述利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正的部分,可被配置为:
[0245]
将所述第n帧图像对应tn时刻的视觉定位位姿作为观测量输入至所述视觉定位时序模型中进行修正,得到修正后的t
t
时刻视觉定位时序模型的状态量。
[0246]
上文提及,所述基于卡尔曼滤波器实现的视觉定位时序模型包括基于运动模型的预测部分和基于观测结果的修正部分,因此,在该实施方式中,将所述第n帧图像对应t
t
时刻的视觉定位位姿作为观测量输入至所述视觉定位时序模型的修正部分中执行校正操作,即可得到校正后的t
t
时刻视觉定位时序模型的状态量。
[0247]
类似地,在本公开一实施方式中,所述基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正的部分,可被配置为:
[0248]
将所述tn时刻的视觉定位位姿作为观测量输入至所述视觉定位时序模型中进行修正,得到修正后的tn时刻的定位结果。
[0249]
图7示出根据本公开一实施方式的云服务器的结构框图,该云服务器可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,所述定位装置包括:
[0250]
获取模块701,被配置为响应于接收到终端发送的定位请求,获取所述定位请求携带的位置数据和图像;
[0251]
计算模块702,被配置为基于所述位置数据和图像计算得到相机位姿估计数据;
[0252]
第二发送模块703,被配置为将所述相机位姿估计数据发送给所述终端,以作为所述终端上运行的预先训练的视觉定位时序模型的输入或用于对所述视觉定位时序模型输出的结果进行修正。
[0253]
上文提及,随着技术的发展,越来越多的场景(比如无人驾驶、ar导航等)需要获得被定位对象(如智能手机、汽车、机器人等)高精度(米级及以下)的定位结果。为了获得高精度的定位结果,现有技术提供了基于高精gnss ins组合导航系统的定位方案,该方案借助高精gnss ins组合导航系统获得被定位对象每一时刻的定位结果(经纬度位置以及姿态)。发明人在对该方案研究的过程中发现,该方案虽然能够得到高精度的定位结果,但高精
gnss ins组合导航系统所使用的传感器及芯片价格昂贵,过高的成本导致该方案的适用性不强。因此,亟需提供一种能够保障定位精度且成本低廉的更普适的定位方案。
[0254]
考虑到上述问题,在该实施方式中,提出一种云服务器,该云服务器仅基于民用级imu获取的imu传感数据、终端预先训练过的结合视觉定位时序模型得到视觉定位位姿并发送给终端,使得终端进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。
[0255]
在本公开一实施方式中,所述计算模块702可被配置为:
[0256]
根据所述位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像,其中,所述参考图像数据库中存储有预先计算得到位姿数据的图像;
[0257]
计算所述图像与所述候选参考图像之间的图像相似度,将所述图像相似度满足预设条件的候选参考图像确定为所述图像对应的参考图像;
[0258]
计算所述图像与所述参考图像之间的相对位姿数据;
[0259]
获取所述参考对象的位姿数据,基于所述参考对象的位姿数据和所述相对位姿数据计算得到所述图像的位姿数据,将其作为相机位姿估计数据。
[0260]
在该实施方式中,基于具有预先计算得到位姿数据的参考图像与终端发送图像之间的对比来确定与终端发送图像对应时刻的相机位姿估计数据。具体地,首先根据终端发送的位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的一个或多个候选参考图像,即将与所述位置数据之间的距离较近的一个或多个图像作为所述候选参考图像,其中,所述参考图像数据库指的是存储有具有预先计算得到准确的位姿数据的、后续可作为位置参考的图像的数据库,其中,所述预设范围可根据实际应用的需要进行设置;然后计算终端发送的图像与所述候选参考图像之间的图像相似度,将图像相似度满足预设条件,比如大于某一预设相似度阈值的候选参考图像确定为与所述图像对应的参考图像;然后计算所述图像与所述参考图像之间的相对位姿数据;最后获取所述参考对象预先计算得到的位姿数据,基于所述参考对象的位姿数据和之前计算得到的所述相对位姿数据,比如将所述参考对象的位姿数据与所述相对位姿数据相加,即可得到所述图像的位姿数据,可将其作为与所述图像对应时刻的相机位姿估计数据,比如,若所述图像为初始帧图像,则得到的所述相机位姿估计数据为相机初始位姿估计数据,可作为所述终端上运行的预先训练的视觉定位时序模型的初始输入;若所述图像为第n帧图像,则得到的所述相机位姿估计数据为tn时刻的相机位姿估计数据,可用于对所述视觉定位时序模型相应时刻输出的结果进行修正。
[0261]
在本公开一实施方式中,所述计算所述图像与所述参考图像之间的相对位姿数据的部分,可被配置为:
[0262]
将所述图像和参考图像输入预训练过的相对位姿数据计算模型,计算得到所述图像与所述参考图像之间的相对位姿数据。
[0263]
在该实施方式中,所述相对位姿数据的计算借助预训练得到的深度神经网络模型等相对位姿模型来获得,其中,所述相对位姿模型的预训练过程属于本领域技术人员应当掌握的技术,本公开在此不作赘述。
[0264]
在本公开一实施方式中,当所述图像为初始帧图像时,所述位置数据为gnss位置数据,即使用gnss位置数据来计算相机初始位姿估计数据;当所述图像为在所述初始帧图像之后采集的第n帧图像时,所述位置数据为tn时刻的相机位姿估计数据中的位置数据,即使用tn时刻的相机位姿估计数据中的位置数据来计算相机位姿估计数据,其中,所述tn时刻的相机位姿估计数据由所述视觉定位时序模型根据tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据预测得到。
[0265]
在本公开另一实施方式中,当所述图像为在所述初始帧图像之后采集的第n帧图像时,所述位置数据也可不直接使用所述tn时刻的相机位姿估计数据中的位置数据,而是与所述相机初始位姿估计数据的计算过程类似,先使用所述tn时刻的gnss位置数据计算相机位姿估计数据。此时,所述装置还可包括:
[0266]
第三发送模块,被配置为当根据所述gnss位置数据从参考图像数据库中无法确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像时,向所述终端发送重新发送位置数据请求,以使所述终端将利用视觉定位时序模型预测得到的tn时刻的相机位姿估计数据中的位置数据发送给视觉定位服务;
[0267]
根据接收到的位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像。
[0268]
上文提及,在实际应用中某些图像帧对应的gnss位置数据可能会发生不可预测的漂移,导致云端无法计算或者无法得到准确的相机位姿估计数据,此时,就需要对于gnss位置数据进行校正,使得云端能够根据校正后的位置数据计算得到相机位姿估计数据,从而避免gnss位置定位误差所带来的视觉定位错误。因此,进一步地,当发现根据终端发送的gnss位置数据从参考图像数据库中无法确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像时,需向所述终端发送重新发送位置数据请求,以使所述终端将利用视觉定位时序模型预测得到的tn时刻的相机位姿估计数据中的位置数据发送给云端;云端在接收到新的位置数据后,根据新的位置数据再次从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像。
[0269]
图7所示及相关实施方式中涉及的技术术语和技术特征与图6所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图7所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图6所示及相关实施方式的解释的说明,此处不再赘述。
[0270]
图8示出根据本公开另一实施方式的定位装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,所述定位装置包括:
[0271]
终端801,被配置为基于相机采集的初始帧图像和gnss接收机输出的gnss位置数据,请求视觉定位服务返回所述相机的t0时刻的相机初始位姿估计数据,对所述相机在所述初始帧图像之后采集的第n帧图像,获取tn时刻的imu传感数据,将所述tn时刻的imu传感数据和t
n-1
时刻的相机位姿估计数据输入预先训练的视觉定位时序模型,预测得到所述tn时刻的相机位姿估计数据,其中,n为大于等于1的整数,若采集所述第n帧图像时满足设定的视觉定位修正条件,则基于所述tn时刻的位置数据和第n帧图像,请求视觉定位服务返回所述tn时刻的视觉定位位姿,并基于所述tn时刻的视觉定位位姿对所述视觉定位时序模型输出的所述tn时刻的相机位姿估计数据进行修正,得到tn时刻的定位结果;
[0272]
云端802,被配置为响应于接收到终端发送的定位请求,基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据,发送给所述终端。
[0273]
上文提及,随着技术的发展,越来越多的场景(比如无人驾驶、ar导航等)需要获得被定位对象(如智能手机、汽车、机器人等)高精度(米级及以下)的定位结果。为了获得高精度的定位结果,现有技术提供了基于高精gnss ins组合导航系统的定位方案,该方案借助高精gnss ins组合导航系统获得被定位对象每一时刻的定位结果(经纬度位置以及姿态)。发明人在对该方案研究的过程中发现,该方案虽然能够得到高精度的定位结果,但高精gnss ins组合导航系统所使用的传感器及芯片价格昂贵,过高的成本导致该方案的适用性不强。因此,亟需提供一种能够保障定位精度且成本低廉的更普适的定位方案。
[0274]
考虑到上述问题,在该实施方式中,提出一种定位装置,该装置仅基于民用级imu获取的imu传感数据、终端预先训练过的视觉定位时序模型,以及来自云端的视觉定位服务提供的视觉定位位姿进行定位,与现有技术相比,不需要高昂的传感器和芯片,进一步,该技术方案在定位过程中结合了相机采集的图像和视觉定位服务提供的视觉定位位姿,保障了最终定位结果的精度,是一种低成本普适性更强的定位方案。
[0275]
在本公开一实施方式中,所述定位装置可实现为包括终端和云端的定位系统。
[0276]
在本公开一实施方式中,所述云端基于所述gnss位置数据和初始帧图像计算得到t0时刻的相机初始位姿估计数据的部分,可被配置为:
[0277]
根据所述gnss位置数据从参考图像数据库中确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像,其中,所述参考图像数据库中存储有预先计算得到位姿数据的图像;
[0278]
计算所述初始帧图像与所述候选参考图像之间的图像相似度,将所述图像相似度满足预设条件的候选参考图像确定为所述初始帧图像对应的参考图像;
[0279]
计算所述初始帧图像与所述参考图像之间的相对位姿数据;
[0280]
获取所述参考对象的位姿数据,基于所述参考对象的位姿数据和所述相对位姿数据计算得到所述初始帧图像的位姿数据,将其作为t0时刻的相机初始位姿估计数据。
[0281]
在本公开一实施方式中,所述计算所述初始帧图像与所述参考图像之间的相对位姿数据的部分,可被配置为:
[0282]
将所述初始帧图像和参考图像输入预训练过的相对位姿数据计算模型,计算得到所述初始帧图像与所述参考图像之间的相对位姿数据。
[0283]
在本公开一实施方式中,所述tn时刻的位置数据为所述tn时刻的相机位姿估计数据中的位置数据。
[0284]
在本公开一实施方式中,
[0285]
所述云端还被配置为当根据所述gnss位置数据从参考图像数据库中无法确定与所述gnss位置数据之间的距离在预设范围内的候选参考图像时,向所述终端发送重新发送位置数据请求,并根据接收到的位置数据从参考图像数据库中确定与所述位置数据之间的距离在预设范围内的候选参考图像;
[0286]
所述终端还被配置为响应于接收到所述重新发送位置数据请求,将所述tn时刻的相机位姿估计数据中的位置数据发送给所述云端。
[0287]
在本公开一实施方式中,
[0288]
所述终端还被配置为对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿。
[0289]
在本公开一实施方式中,所述终端对于所述tn时刻的视觉定位位姿进行异步校正,得到经异步校正后的tn时刻的视觉定位位姿的部分,还被配置为:
[0290]
向所述视觉定位服务发送定位请求后,记录定位请求发送时间t
t
,并备份t
t
时刻所述视觉定位时序模型的状态量;
[0291]
记录t
t
时刻后每一时刻的速度值和imu传感数据,直至第t
t p
时刻接收到tn时刻的视觉定位位姿;
[0292]
利用所述tn时刻的视觉定位位姿对于所述t
t
时刻所述视觉定位时序模型的状态量进行校正;
[0293]
将校正后的t
t
时刻所述视觉定位时序模型的状态量、记录的速度值和imu传感数据输入所述视觉定位时序模型,得到经异步校正后的tn时刻的视觉定位位姿。
[0294]
图8所示及相关实施方式中涉及的技术术语和技术特征与图1-7所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图8所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-7所示及相关实施方式的解释的说明,此处不再赘述。
[0295]
本公开实施例还公开了一种导航服务,其中,基于上述的定位方法,获得被导航对象的定位结果,并基于所述定位结果为所述被导航对象提供相应场景的导航引导服务。其中,所述相应场景为ar导航或者高架导航或者主辅路导航中的一种或多种的组合。
[0296]
本公开实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;其中,
[0297]
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方法步骤。
[0298]
图9是适于用来实现根据本公开一实施方式的定位方法的计算机系统的结构示意图。
[0299]
如图9所示,计算机系统900包括处理单元901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行上述实施方式中的各种处理。在ram903中,还存储有计算机系统900操作所需的各种程序和数据。处理单元901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0300]
以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。其中,所述处理单元901可实现为cpu、gpu、tpu、fpga、npu等处理单元。
[0301]
特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述定位方法的程序代码。在这样的实施方
式中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
[0302]
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0303]
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0304]
作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。
[0305]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

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

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

相关文献