位姿优化方法、装置、电子设备及存储介质与流程

文档序号:25606461发布日期:2021-06-25 13:50阅读:153来源:国知局
位姿优化方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机视觉技术领域,具体而言,涉及一种位姿优化方法、装置、电子设备和存储介质。


背景技术:

2.目前,通过视觉来进行无人设备的定位,是机器人、无人机、自动导航及增强现实领域应用的重要组成部分,由于单目相机具有低成本、轻量化和易于安装的特点,在视觉定位中得到了广泛应用。但是,通过单目相机采集的图像数据不能提供这些物体真实的三维大小信息,因此无法确定单目视觉里程计的尺度,进而使得位姿计算存在一定的误差。


技术实现要素:

3.本公开实施例至少提供一种位姿优化方法、装置、电子设备及存储介质。
4.第一方面,本公开实施例提供了一种位姿优化方法,包括:
5.基于移动设备拍摄的第一图像,确定所述移动设备的当前预测位姿;所述第一图像包括所述移动设备处于当前位置时拍摄的当前帧图像以及所述移动设备处于所述当前位置之前的起始位置时拍摄的起始帧图像;
6.确定所述移动设备在移动到所述当前位置时,所经历的目标移动过程对应的移动参数信息;所述目标移动过程位于所述起始位置与所述当前位置之间;
7.获取所述移动设备的多个估计位姿信息,所述多个估计位姿信息包括所述起始帧图像对应的估计位姿信息、所述当前帧图像对应的估计位姿信息以及所述起始帧图像和所述当前帧图像之间的多帧图像分别对应的估计位姿信息;
8.基于所述移动参数信息以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到当前优化位姿。
9.本公开实施例中,通过获取移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息,来恢复视觉里程计的尺度信息,并基于该尺度信息对当前预测位姿进行优化,进而可以提高位姿的计算精度。另外,该方法将获取的移动参数信息作为尺度约束,进而来得到一个优化位姿信息,计算的复杂度较低,降低了对设备的性能的要求(比如应用在一些低端手机上),从而提高了该方法的适应性。
10.根据第一方面,在一种可能的实施方式中,所述移动参数信息包括移动距离;
11.所述确定所述移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息,包括:
12.基于行人航位推算法,确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动距离;
13.所述基于所述移动参数信息以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到当前优化位姿,包括:
14.基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,
得到所述当前优化位姿。
15.本公开实施例中,基于行人航位推算法来确定所述目标移动过程对应的所述移动距离,可以简化移动距离的确定过程,提高了移动距离的确定效率,进而提高了位姿优化方法的运算效率。
16.根据第一方面,在一种可能的实施方式中,所述基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿,包括:
17.确定所述目标移动过程对应的移动起始时间和移动结束时间;
18.根据图像拍摄时间,确定所述移动起始时间对应的移动初始帧图像和所述移动结束时间对应的移动结束帧图像,并分别确定与所述移动初始帧图像和移动结束帧图像对应的移动初始估计位姿以及移动结束估计位姿;
19.将所述移动距离确定为所述移动初始估计位姿以及移动结束估计位姿之间的距离,并结合所述多个估计位姿信息,对所述当前预测位姿进行优化,得到所述当前优化位姿。
20.本公开实施例中,根据图像拍摄时间以及目标移动过程对应的移动起始时间和移动结束时间,确定与所述移动初始帧图像和移动结束帧图像对应的移动初始估计位姿以及移动结束估计位姿,并将所述移动距离确定为所述移动初始估计位姿以及移动结束估计位姿之间的距离,如此使得移动初始估计位姿以及移动结束估计位姿之间得到了距离的约束,进而可以实现对当前预测位姿的优化,提高了视觉定位的精度。
21.根据第一方面,在一种可能的实施方式中,所述基于行人航位推算法,确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的移动距离,包括:
22.获取所述移动设备的用户在所述目标移动过程中的行走步数;
23.基于所述行走步数以及所述用户的步长,确定所述移动距离。
24.本公开实施例中,由于利用用户的行走步数以及步长来确定移动距离,因此只需要精度较低的imu(inertial measurement unit,惯性测量单元)即可实现,进而可以在提高定位精度的同时降低对imu精度的要求,使得该方法可以在算力受限场景下(例如,低端手机的小程序上)进行室内定位。
25.根据第一方面,在一种可能的实施方式中,所述移动参数信息还包括移动速度;
26.所述确定所述移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息,还包括:
27.确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动速度;
28.所述基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿,包括:
29.基于所述移动距离、所述移动速度,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
30.本公开实施例中,在确定移动距离之后还确定移动速度,使得用户行走一步的距离所对应多帧图像的对应估计位姿信息也得到了距离的约束,进而进一步提高了当前预测位姿的优化精度。
31.根据第一方面,在一种可能的实施方式中,所述确定所述移动设备在移动到所述
当前位置时,所经历的所述目标移动过程对应的所述移动速度,包括:
32.获取所述移动设备的用户的历史运动速度;
33.基于运动模型和所述历史运动速度预测所述移动速度。
34.本公开实施例中,通过运动模型和历史运动速度来预测该目标过程的移动速度,相较于直接基于imu测量的用户行走的速度,可以提高参数获取的精度。
35.根据第一方面,在一种可能的实施方式中,在得到所述当前优化位姿之后,所述方法还包括:
36.判断所述当前优化位姿的误差是否小于预设阈值;
37.在所述当前优化位姿的误差超过所述预设阈值的情况下,获取所述移动设备的当前预测速度以及当前朝向;
38.基于所述当前优化位姿、所述当前预测速度以及所述当前朝向,确定所述移动设备的实时位姿信息。
39.本公开实施例中,在当前优化位姿的误差超过所述预设阈值的情况下,也即视觉跟踪结果比较差的情况,可以直接采用当前预测速度和当前朝向进行继续跟踪一段时间,直到视觉跟踪恢复。如此,即使在视觉里程计难以定位的场景下,通过行人航位信息仍然能够得到导航定位结果,提高了该方法的适用性。
40.根据第一方面,在一种可能的实施方式中,在得到所述当前优化位姿之后,所述方法还包括:
41.基于所述当前优化位姿、用户输入的目的地以及存储的地图,规划导航线路,并在所述地图上展示所述导航线路。
42.本个公开实施例中,采用优化后的当前预测位姿进行当行线路规划,可以提高所规划的线路的精准度。
43.根据第一方面,在一种可能的实施方式中,所述基于所述当前优化位姿、用户输入的目的地以及存储的地图,规划导航线路,并在所述地图上展示所述导航线路,包括:
44.响应所述用户出入的目的地输入请求,在所述地图中确定所述目的地的位置信息;
45.基于所述当前优化位姿、以及所述目的地的位置信息,确定所述当前优化位姿与所述目的地之间的至少一条连接线路;
46.在所述地图中展示所述至少一条连接线路。
47.本公开实施例中,在线路规划过程中,首先在地图中确定用户输入的目的地信息,然后根据当前优化位姿以及所述目的地的位置信息,规划出至少一条连接线路,并在所述地图中展示所述至少一条连接线路,如此可以为用户提供多的选择,使得用户可以根据实际情况从多条线路中,选择一条进行导航,进而提高了导航线路的适用性。
48.第二方面,本公开实施例提供了一种位姿优化装置,包括:
49.位姿估计模块,用于基于移动设备拍摄的第一图像,确定所述移动设备的当前预测位姿;所述第一图像包括所述移动设备处于当前位置时拍摄的当前帧图像以及所述移动设备处于所述当前位置之前的起始位置时拍摄的起始帧图像;
50.参数确定模块,用于确定所述移动设备在移动到所述当前位置时,所经历的目标移动过程对应的移动参数信息;所述目标移动过程位于所述起始位置与所述当前位置之
间;
51.位姿获取模块,用于获取所述移动设备的多个估计位姿信息,所述多个估计位姿信息包括所述起始帧图像对应的估计位姿信息、所述当前帧图像对应的估计位姿信息以及所述起始帧图像和所述当前帧图像之间的多帧图像分别对应的估计位姿信息;
52.位姿优化模块,用于基于所述移动参数信息以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到当前优化位姿。
53.根据第二方面,在一种可能的实施方式中,所述移动参数信息包括移动距离;
54.所述参数确定模块具体用于:
55.基于行人航位推算法,确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动距离;
56.所述位姿优化模块具体用于:
57.基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
58.根据第二方面,在一种可能的实施方式中,位姿优化模块具体用于:
59.确定所述目标移动过程对应的移动起始时间和移动结束时间;
60.根据图像拍摄时间,确定所述移动起始时间对应的移动初始帧图像和所述移动结束时间对应的移动结束帧图像,并分别确定与所述移动初始帧图像和移动结束帧图像对应的移动初始估计位姿以及移动结束估计位姿;
61.将所述移动距离确定为所述移动初始估计位姿以及移动结束估计位姿之间的距离,并结合所述多个估计位姿信息,对所述当前预测位姿进行优化,得到所述当前优化位姿。
62.根据第二方面,在一种可能的实施方式中,参数确定模块具体用于:
63.获取所述移动设备的用户在所述目标移动过程中的行走步数;
64.基于所述行走步数以及所述用户的步长,确定所述移动距离。
65.根据第二方面,在一种可能的实施方式中,所述移动参数信息还包括移动速度;
66.所述参数确定模块具体还用于:
67.确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动速度;
68.所述位姿优化模块具体用于:
69.基于所述移动距离、所述移动速度,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
70.根据第二方面,在一种可能的实施方式中,参数确定模块具体用于:
71.获取所述移动设备的用户的历史运动速度;
72.基于运动模型和所述历史运动速度预测所述移动速度。
73.根据第二方面,在一种可能的实施方式中,所述位姿优化模块还用于:
74.判断所述当前优化位姿的误差是否小于预设阈值;
75.在所述当前优化位姿的误差超过所述预设阈值的情况下,获取所述移动设备的当前预测速度以及当前朝向;
76.基于所述当前优化位姿、所述当前预测速度以及所述当前朝向,确定所述移动设
备的实时位姿信息。
77.根据第二方面,在一种可能的实施方式中,所述位姿优化装置还包括线路规划模块,所述线路规划模块用于:
78.基于所述当前优化位姿、用户输入的目的地以及存储的地图,规划导航线路,并在所述地图上展示所述导航线路。
79.根据第二方面,在一种可能的实施方式中,线路规划模块具体用于:
80.响应所述用户出入的目的地输入请求,在所述地图中确定所述目的地的位置信息;
81.基于所述当前优化位姿、以及所述目的地的位置信息,确定所述当前优化位姿与所述目的地之间的至少一条连接线路;
82.在所述地图中展示所述至少一条连接线路。
83.第三方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面所述的位姿优化方法。
84.第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面所述的位姿优化方法。
85.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
86.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
87.图1示出了本公开实施例所提供的一种位姿优化方法的流程图;
88.图2示出了本公开实施例所提供的一种基于移动距离对当前预测位姿优化的方法流程图;
89.图3示出了本公开实施例所提供的一种获取移动距离方法的流程图;
90.图4示出了本公开实施例所提供的一种获取移动速度方法的流程图;
91.图5示出了本公开实施例所提供的另一种位姿优化方法的流程图;
92.图6示出了本公开实施例所提供的一种位姿优化装置的结构示意图;
93.图7示出了本公开实施例所提供的另一种位姿优化装置的结构示意图;
94.图8示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
95.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例
中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
96.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
97.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
98.目前,通过视觉来进行无人设备的定位,是机器人、无人机、自动导航、及增强现实领域应用的重要组成部分,视觉方法仅仅依赖于相机采集到的图像信息,基于相机模型与视觉几何学模型等来计算机器本身的六自由度运动。这种基于图像信息的自定位定向方法类似于传统里程计的航迹推算,因此称为视觉里程计。
99.经研究发现,由于单目相机具有低成本、轻量化和易于安装的特点,在视觉定位中得到了广泛应用。但是,通过单目相机采集的图像数据不能提供这些物体真实的三维大小信息,因此无法确定单目视觉里程计的尺度,进而使得位姿计算存在一定的误差。因此,如何提高单目视觉里程计的定位精度,为本公开要解决的技术问题。
100.基于上述研究,本公开提供了一种位姿优化方法,基于移动设备拍摄的第一图像,确定移动设备的当前预测位姿;第一图像包括移动设备处于当前位置时拍摄的当前帧图像以及移动设备处于当前位置之前的起始位置时拍摄的起始帧图像;确定移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息;所述目标移动过程位于所述起始位置与所述当前位置之间;获取移动设备的多个估计位姿信息,多个估计位姿信息包括起始帧图像及当前帧图像分别对应的估计位姿信息以及起始帧图像和当前帧图像之间的多帧图像分别对应的估计位姿信息;基于移动参数信息以及多个估计位姿信息对当前预测位姿进行优化,得到当前优化位姿。
101.也即,本公开实施例中的方法,在进行视觉定位的过程中,通过获取移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息,来恢复视觉里程计的尺度信息,并基于该尺度信息对当前预测位姿进行优化,进而可以提高位姿计算精度。
102.为便于对本实施例进行理解,首先对本公开实施例所公开的一种位姿优化方法进行详细介绍,本公开实施例所提供的位姿优化方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为移动设备、用户终端、终端、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该位姿优化方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
103.参见图1所示,为本公开实施例提供的位姿优化方法的流程图,该位姿优化方法包括以下s101~s104:
104.s101,基于移动设备拍摄的第一图像,确定所述移动设备的当前预测位姿;所述第一图像包括所述移动设备处于当前位置时拍摄的当前帧图像以及所述移动设备处于所述当前位置之前的起始位置时拍摄的起始帧图像。
105.在视觉定位的过程中,通常包括视觉跟踪、估计位姿以及优化的过程。其中,可以通过视觉跟踪得到图像间特征点与特征点之间的关联,然后再根据特征点之间的关联估计相机的粗略位姿。例如,对于两张图像,应该首先选取一些具有代表性的点,称为特征点;之后,仅针对这些特征点估计相机的运动,同时估计特征点的空间位置,图像里其他非特征点的信息,则被丢弃。比如常用的特征点提取方法,包括图像中的角点、色块等。
106.移动设备是指可以搭载于一载体(比如人体)上且可以随着载体一起移动的设备。示例性地,移动设备具体可以包括手机、平板电脑、增强现实(augmented reality,ar)眼镜等。也即,该移动设备可以是前述具有一定计算能力的电子设备中的移动设备或者手持设备等。移动设备可以内置图像采集部件也可以外接图像采集部件,在移动设备进入工作状态后,可以通过图像采集部件对现实场景图像进行拍摄,得到若干图像。其中,所述第一图像为该若干图像中的部分,即所述第一图像包括所述移动设备处于当前位置时拍摄的当前帧图像以及所述移动设备处于所述当前位置之前的起始位置时拍摄的起始帧图像。
107.其中,起始位置可以根据具体的现实场景环境的复杂性而进行设定,比如,若当前现实场景较为空旷简单,则可以将当前位置之前距离当前位置较远的位置作为起始位置;若当前现实场景环境较为复杂,则可以将当前位置之前距离当前位置较近的位置作为起始位置,在此不做限定。
108.可以理解,由于本公开实施例中的图像采集部件为单目相机,存在尺度不确定的问题,也即,基于第一图像采用特征点法只能得到当前位置相对于起始位置的相对位置,因此,得到的当前预测位姿仅仅是相对位姿,并不准确,需要对当前预测位姿进行优化。
109.s102,确定所述移动设备在移动到所述当前位置时,所经历的目标移动过程对应的移动参数信息;所述目标移动过程位于所述起始位置与所述当前位置之间。
110.示例性地,目标移动过程可以是以所述起始位置为起点,以所述当前位置为终点的过程,也可以是所述起始位置与所述当前位置之间的任意一段过程,在此不做限定。
111.一些实施方式中,所述移动参数信息可以只包括移动距离;另一些实施方式中,移动参数信息包括移动距离和移动速度,具体详见后文阐述。
112.s103,获取所述移动设备的多个估计位姿信息,所述多个估计位姿信息包括所述起始帧图像对应的估计位姿信息、所述当前帧图像对应的估计位姿信息以及所述起始帧图像和所述当前帧图像之间的多帧图像分别对应的估计位姿信息。
113.可以理解,由于在移动设备的移动过程中会拍摄多张图像,而根据特征点法,每一图像都会存在与该图像对应的相机(移动设备)的估计位姿信息。具体地,在匹配好特征点后,可以得到两个一一对应的像素点集,然后根据两组匹配好的点集,估计相机的运动。
114.s104,基于所述移动参数信息以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到当前优化位姿。
115.示例性地,可以基于光速平差法(bundle adjustment)对当前预测位姿进行优化。其中,光束法平差法通过将相机的姿态和测量点的三维坐标作为未知参数,将影像上探测到的用于前方交会的特征点坐标作为观测数据从而进行平差得到最优的相机参数和世界
点坐标。
116.本公开实施例中,在进行视觉定位的过程中,通过获取移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息,来恢复视觉里程计的尺度信息,并基于该尺度信息对当前预测位姿进行优化,进而可以提高位姿计算精度。另外,该方法将获取的移动参数信息作为约束,进而来得到一个优化位姿信息,计算的复杂度较低,降低了对设备的性能的要求(比如应用在一些低端手机上),从而提高了该方法的适应性。
117.在一些实施例中,移动参数信息包括移动距离,因此,针对上述s102,在确定所述移动设备在移动到所述当前位置时,所经历的目标移动过程对应的移动参数信息时,可以包括:基于行人航位推算法,确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动距离;针对上述s104,在所述基于所述移动参数信息以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到当前优化位姿时,可以包括:基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
118.其中,航位推算(dead reckoning)是一种基于先前确定的位置、估计的速度和流逝的时间段来计算用户的当前位置的典型过程,其可以基于由惯性传感器生成的传感器数据来确定。
119.本实施方式中,通过获取移动设备在移动到当前位置时,所经历的目标移动过程对应的移动距离,来恢复视觉里程计的尺度信息,进而实现位姿的优化,提高了视觉定位的精度。另外,基于行人航位推算法来确定所述目标移动过程对应的所述移动距离,可以简化移动距离的确定过程,提高了移动距离的确定效率,进而提高了位姿优化方法的运算效率。
120.参见图2所示,基于所述移动距离对所述当前预测位姿进行优化的方法流程图,包括以下s1041~1043:
121.s1041,确定所述目标移动过程对应的移动起始时间和移动结束时间。
122.s1042,根据图像拍摄时间,确定所述移动起始时间对应的移动初始帧图像和所述移动结束时间对应的移动结束帧图像,并分别确定与所述移动初始帧图像和移动结束帧图像对应的移动初始估计位姿以及移动结束估计位姿。
123.s1043,将所述移动距离确定为所述移动初始估计位姿以及移动结束估计位姿之间的距离,并结合所述多个估计位姿信息,对所述当前预测位姿进行优化,得到所述当前优化位姿。
124.本公开实施例中,根据图像拍摄时间以及目标移动过程对应的移动起始时间和移动结束时间,确定与所述移动初始帧图像和移动结束帧图像对应的移动初始估计位姿以及移动结束估计位姿,并将所述移动距离确定为所述移动初始估计位姿以及移动结束估计位姿之间的距离,如此使得移动初始估计位姿以及移动结束估计位姿之间得到了距离的约束,进而可以实现对当前预测位姿的优化。
125.针对上述s102,在基于行人航位推算法,确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的移动距离时,参见图3所示,可以包括以下s1021~1022:。
126.s1021,获取所述移动设备的用户在所述目标移动过程中的行走步数。
127.s1022,基于所述行走步数以及所述用户的步长,确定所述移动距离。
128.示例地,可以基于移动设备上的imu获取移动设备的用户在所述目标移动过程中的行走步数。比如,加速度计和磁力计之类的板载惯性传感器使得移动计算设备能够对用户的步数进行计数,并通过行人航位推算计算该用户一步运动的距离,即步长。
129.本公开实施例中,由于利用行人航位推算算法来确定目标移动过程的移动距离,因此只需要精度较低的imu即可实现,进而可以在提高定位精度的同时降低对imu精度的要求,使得该方法可以在算力受限场景下(例如,低端手机的小程序上)进行室内导航。
130.由于行人航位推算法只有当行人完成一步之后才能得到距离信息,行人处于行走一步的过程中时是没有距离信息的,因此导致行人一步之内的几帧图像是缺乏距离的信息约束的,因此,为了进一步提高视觉定位的精度,在另一些实施例中,移动参数还包括移动速度。
131.本实施方式中,针对上述s102,在所述确定所述移动设备在移动到当前位置时,所经历的目标移动过程对应的移动参数信息,还包括:确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动速度;针对上述s104,在基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿时,可以包括:基于所述移动距离、所述移动速度,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
132.本公开实施例中,在确定移动距离之后还确定移动速度,使得用户行走一步的距离所对应多帧图像的对应估计位姿信息也得到了距离的约束,进而进一步提高了当前预测位姿的优化精度。
133.针对上述s102,在确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动速度时,参见图4所示,可以包括以下s102a~102b:
134.s102a,获取所述移动设备的用户的历史运动速度。
135.s102b,基于运动模型和所述历史运动速度预测所述移动速度。
136.示例地,可以基于imu获取移动设备的用户的历史运动速度。其中,运动模型可以是匀速运动模型、也可以是匀加速度运动模型、还可以是更为复杂的运动模型,在此不做限定。
137.如此,根据历史运动速度以及运动模型,可以预测用户在该目标移动过程中的移动速度,再将预测的移动速度也加入到视觉里程计的优化算法,计算得出当前位置的优化位姿信息。也即,根据该预测的移动速度结合用户的行走时间,可以得出在该目标移动过程中的任意两帧图像所对应的尺度信息,进而可以进一步提高视觉定位的精度。
138.需要说明的是,本实施方式中的,历史运动速度是指在该目标移动过程之前的一段时间的用户的平均运动速度。另外,若基于imu直接测量用户行走的速度误差会比较大,本实施例中,通过运动模型和历史运动速度来预测该目标过程的移动速度,可以提高参数获取的精度。
139.参见图5所示,为本公开实施例提供的另一种位姿优化方法的流程图,与图1中的位姿优化方法不同的是,该位姿优化方法在步骤s104之后还包括以下s105~s108:
140.s105,判断所述当前优化位姿的误差是否小于预设阈值;若是,则执行步骤s108;若否,则执行步骤s106。
141.可以理解,由于在一些环境(强反光、弱纹理、动态物理)下,视觉里程计难以跟踪,
进而会导致当前优化位姿的误差较大,因此需要对当前优化位姿进行判断。例如,可以基于重投影误差来确定当优化位姿的误差是否超过预设阈值,在所述当前优化位姿信息的误差超过预设阈值的情况下,执行步骤s106。
142.s106,获取所述移动设备的当前预测速度以及当前朝向。
143.其中,当前预测速度的预测方法与前述移动速度的预测方法相同,当需要说明的是,此时的历史运动速度为当前时刻之前的一段时间的用户运动的平均速度,也即,虽然预测的方法相同,但由于用户在不同时间段的历史运动速度不同,因此,得到的预测速度也不同。另外,当前朝向可以通过imu测量获取。
144.s107,基于所述当前优化位姿、所述当前预测速度以及所述当前朝向,确定所述移动设备的实时位姿信息。
145.在所述当前优化位姿的误差超过预设阈值的情况下,也即,在视觉跟踪比较差的情况,可以基于当前优化位姿,直接采用当前预测速度和当前朝向进行继续跟踪一段时间,直到当前优化位姿的误差小于预设阈值。如此,在视觉里程计难以定位的场景下,通过行人航位信息仍然能够得到粗略的导航定位结果,提高了该方法的适用性。
146.s108,基于所述当前优化位姿(或实时位姿信息)、用户输入的目的地以及存储的地图,规划导航线路,并在所述地图上展示所述导航线路。
147.具体地,可以响应用户的目的地输入请求,在所述地图中确定所述目的地的位置信息;然后基于当前优化位姿、以及所述目的地的位置信息,确定所述当前优化位姿与所述目的地之间的至少一条连接线路;最后在所述地图中展示所述至少一条连接线路。
148.本公开实施例中,可以基于当前优化位姿、用户输入的目的地以及地图,进行线路规划,使得即使在室内环境下,也能为用户提供较为精确的导航功能,提高了用户体验。另外,在线路规划过程中,首先在地图中确定用户输入的目的地信息,然后根据当前优化位姿以及所述目的地的位置信息,规划出至少一条连接线路,并在所述地图中展示所述至少一条连接线路,如此可以为用户提供多的选择,使得用户可以根据实际情况从多条线路中,选择一条进行导航,进而提高了导航线路的适用性。
149.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
150.基于同一技术构思,本公开实施例中还提供了与位姿优化方法对应的位姿优化装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述位姿优化方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
151.参照图6所示,为本公开实施例提供的一种位姿优化装置500的示意图,该位姿优化装置500包括:
152.位姿估计模块501,用于基于移动设备拍摄的第一图像,确定所述移动设备的当前预测位姿;所述第一图像包括所述移动设备处于当前位置时拍摄的当前帧图像以及所述移动设备处于所述当前位置之前的起始位置时拍摄的起始帧图像;
153.参数确定模块502,用于确定所述移动设备在移动到所述当前位置时,所经历的目标移动过程对应的移动参数信息;所述目标移动过程位于所述起始位置与所述当前位置之间;
154.位姿获取模块503,用于获取所述移动设备的多个估计位姿信息,所述多个估计位姿信息包括所述起始帧图像对应的估计位姿信息、所述当前帧图像对应的估计位姿信息以及所述起始帧图像和所述当前帧图像之间的多帧图像分别对应的估计位姿信息;
155.位姿优化模块504,用于基于所述移动参数信息以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到当前优化位姿。
156.在一种可能的实施方式中,所述移动参数信息包括移动距离;
157.所述参数确定模块502具体用于:
158.基于行人航位推算法,确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动距离;
159.所述位姿优化模块504具体用于:
160.基于所述移动距离,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
161.在一种可能的实施方式中,位姿优化模块504具体用于:
162.确定所述目标移动过程对应的移动起始时间和移动结束时间;
163.根据图像拍摄时间,确定所述移动起始时间对应的移动初始帧图像和所述移动结束时间对应的移动结束帧图像,并分别确定与所述移动初始帧图像和移动结束帧图像对应的移动初始估计位姿以及移动结束估计位姿;
164.将所述移动距离确定为所述移动初始估计位姿以及移动结束估计位姿之间的距离,并结合所述多个估计位姿信息,对所述当前预测位姿进行优化,得到所述当前优化位姿。
165.在一种可能的实施方式中,参数确定模块502具体用于:
166.获取所述移动设备的用户在所述目标移动过程中的行走步数;
167.基于所述行走步数以及所述用户的步长,确定所述移动距离。
168.在一种可能的实施方式中,所述移动参数信息还包括移动速度;
169.所述参数确定模块502具体还用于:
170.确定所述移动设备在移动到所述当前位置时,所经历的所述目标移动过程对应的所述移动速度;
171.所述位姿优化模块504具体用于:
172.基于所述移动距离、所述移动速度,以及所述多个估计位姿信息对所述当前预测位姿进行优化,得到所述当前优化位姿。
173.在一种可能的实施方式中,参数确定模块502具体用于:
174.获取所述移动设备的用户的历史运动速度;
175.基于运动模型和所述历史运动速度预测所述移动速度。
176.在一种可能的实施方式中,所述位姿优化模块504还用于:
177.判断所述当前优化位姿的误差是否小于预设阈值;
178.在所述当前优化位姿的误差超过所述预设阈值的情况下,获取所述移动设备的当前预测速度以及当前朝向;
179.基于所述当前优化位姿、所述当前预测速度以及所述当前朝向,确定所述移动设备的实时位姿信息。
180.在一种可能的实施方式中,参见图7所示,所述位姿优化装置500还包括线路规划模块505,所述线路规划模块505用于:
181.基于所述当前优化位姿、用户输入的目的地以及存储的地图,规划导航线路,并在所述地图上展示所述导航线路。
182.在一种可能的实施方式中,线路规划模块505具体用于:
183.响应所述用户出入的目的地输入请求,在所述地图中确定所述目的地的位置信息;
184.基于所述当前优化位姿、以及所述目的地的位置信息,确定所述当前优化位姿与所述目的地之间的至少一条连接线路;
185.在所述地图中展示所述至少一条连接线路。
186.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
187.基于同一技术构思,本公开实施例还提供了一种电子设备。参照图8所示,为本公开实施例提供的电子设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换。
188.本申请实施例中,存储器702具体用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。也即,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行存储器702中存储的应用程序代码,进而执行前述任一实施例中所述的方法。
189.其中,存储器702可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
190.处理器701可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
191.可以理解的是,本申请实施例示意的结构并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
192.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的位姿优化方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
193.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的位姿优化方法的步骤,具体可参见上述方法实施例,在此不再赘述。
194.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
195.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
196.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
197.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
198.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
199.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1