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

一种位姿显示方法、装置及系统与流程

2022-03-16 05:13:57 来源:中国专利 TAG:


1.本技术涉及计算机视觉领域,尤其涉及一种位姿显示方法、装置及系统。


背景技术:

2.gps(global positioning system,全球定位系统)是一种以人造地球卫星为基础的高精度无线电导航定位系统,gps在全球任何地方以及近地空间均能够提供准确的地理位置、车行速度及精确的时间信息。北斗卫星导航系统由空间段、地面段和用户段三部分组成,可在全球范围内全天候、全天时为用户提供高精度、高可靠定位、导航、授时服务,具备区域导航、定位和授时能力。
3.由于终端设备具有gps或北斗卫星导航系统,因此,在需要对终端设备进行定位时,可以采用gps或北斗卫星导航系统对终端设备进行定位。在室外环境下,由于gps信号或北斗信号比较好,可以采用gps或北斗卫星导航系统对终端设备进行准确定位。但是,在室内环境下,由于gps信号或者北斗信号比较差,导致gps或北斗卫星导航系统无法对终端设备进行准确定位。比如说,在煤炭、电力、石化等能源行业,对于定位的需求越来越多,这些定位需求一般是在室内环境,由于信号遮挡等问题,导致无法对终端设备进行准确定位。


技术实现要素:

4.本技术提供一种位姿显示方法,应用于云边管理系统,所述云边管理系统包括终端设备和服务器,服务器包括目标场景的三维视觉地图,所述方法包括:
5.所述终端设备在目标场景的移动过程中,获取所述目标场景的目标图像和所述终端设备的运动数据,基于所述目标图像和所述运动数据确定所述终端设备的自定位轨迹;若所述目标图像包括多帧图像,则从所述多帧图像中选取部分图像作为待测图像,将所述待测图像和所述自定位轨迹发送给服务器;
6.所述服务器基于所述待测图像和所述自定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹,所述融合定位轨迹包括多个融合定位位姿;
7.针对所述融合定位轨迹中的每个融合定位位姿,所述服务器确定与该融合定位位姿对应的目标定位位姿,并显示所述目标定位位姿。
8.本技术提供一种云边管理系统,所述云边管理系统包括终端设备和服务器,所述服务器包括目标场景的三维视觉地图,其中:
9.所述终端设备,用于在目标场景的移动过程中,获取所述目标场景的目标图像和所述终端设备的运动数据,基于所述目标图像和所述运动数据确定所述终端设备的自定位轨迹;若所述目标图像包括多帧图像,则从所述多帧图像中选取部分图像作为待测图像,将所述待测图像和所述自定位轨迹发送给服务器;
10.所述服务器,用于基于所述待测图像和所述自定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹,所述融合定位轨迹包括多个融合定位位姿;针对所述融合定位轨迹中的每个融合定位位姿,确定与该融合定位位姿对应的目标定位位姿,并显示
所述目标定位位姿。
11.本技术提供一种位姿显示装置,应用于云边管理系统中的服务器,所述服务器包括目标场景的三维视觉地图,所述装置包括:
12.获取模块,用于获取待测图像和自定位轨迹;其中,所述自定位轨迹是终端设备基于所述目标场景的目标图像和所述终端设备的运动数据确定,所述待测图像是所述目标图像包括的多帧图像中的部分图像;
13.生成模块,用于基于所述待测图像和所述自定位轨迹生成终端设备在所述三维视觉地图中的融合定位轨迹,所述融合定位轨迹包括多个融合定位位姿;
14.显示模块,用于针对所述融合定位轨迹中的每个融合定位位姿,确定与该融合定位位姿对应的目标定位位姿,并显示所述目标定位位姿。
15.由以上技术方案可见,本技术实施例中,提出一种云边结合的定位及显示方法,边缘端的终端设备采集目标图像和运动数据,依据目标图像和运动数据进行高帧率的自定位,得到高帧率的自定位轨迹。云端的服务器接收终端设备发送的待测图像和自定位轨迹,依据待测图像和自定位轨迹得到高帧率的融合定位轨迹,即三维视觉地图中的高帧率的融合定位轨迹,实现高帧率和高精度的定位功能,实现高精度、低成本、易部署的室内定位功能,是一种基于视觉的室内定位方式,并能够显示融合定位轨迹。在上述方式中,由终端设备计算高帧率的自定位轨迹,仅发送自定位轨迹和少量待测图像,减少网络传输的数据量。在服务器进行全局定位,从而减少终端设备的计算资源消耗和存储资源消耗。能够应用在煤炭、电力、石化等能源行业,实现人员(如工人、巡检人员等)的室内定位,快速获知人员的位置信息,保障人员安全。
附图说明
16.图1是本技术一种实施方式中的位姿显示方法的流程示意图;
17.图2是本技术一种实施方式中的云边管理系统的结构示意图;
18.图3是本技术一种实施方式中的确定自定位轨迹的流程示意图;
19.图4是本技术一种实施方式中的确定全局定位轨迹的流程示意图;
20.图5是自定位轨迹、全局定位轨迹和融合定位轨迹的示意图;
21.图6是本技术一种实施方式中的确定融合定位轨迹的流程示意图;
22.图7是本技术一种实施方式中的位姿显示装置的结构示意图。
具体实施方式
23.在本技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本技术。本技术和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
24.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
25.本技术实施例中提出一种位姿显示方法,该方法可以应用于云边管理系统,该云边管理系统可以包括终端设备(即边缘端的终端设备)和服务器(即云端的服务器),且服务器可以包括目标场景(如室内环境、室外环境等)的三维视觉地图,参见图1所示,为该位姿显示方法的流程示意图,该方法可以包括:
26.步骤101、终端设备在目标场景的移动过程中,获取目标场景的目标图像和终端设备的运动数据,并基于目标图像和运动数据确定终端设备的自定位轨迹。
27.示例性的,若目标图像包括多帧图像,则终端设备从多帧图像中遍历出当前帧图像;基于当前帧图像前面的k帧图像对应的自定位位姿、终端设备在自定位坐标系中的地图位置和该运动数据确定当前帧图像对应的自定位位姿;基于多帧图像对应的自定位位姿生成终端设备在自定位坐标系中的自定位轨迹。
28.示例性的,若当前帧图像是关键图像,则可以基于终端设备的当前位置(即与当前帧图像对应位置)生成自定位坐标系中的地图位置。若当前帧图像是非关键图像,则不需要基于终端设备的当前位置生成自定位坐标系中的地图位置。
29.若当前帧图像与当前帧图像的前一帧图像之间的匹配特征点数量未达到预设阈值,则确定当前帧图像是关键图像。若当前帧图像与当前帧图像的前一帧图像之间的匹配特征点数量达到预设阈值,则确定当前帧图像是非关键图像。
30.步骤102、若目标图像包括多帧图像,则终端设备从多帧图像中选取部分图像作为待测图像,并将待测图像和自定位轨迹发送给服务器。
31.比如说,终端设备可以从多帧图像中选取m帧图像作为待测图像,m可以为正整数,如1、2、3等。显然,终端设备发送给服务器的是多帧图像中的部分待测图像,从而可以减少网络传输的数据量,节省网络带宽资源。
32.步骤103、服务器基于该待测图像和该自定位轨迹生成终端设备在三维视觉地图中的融合定位轨迹,该融合定位轨迹可以包括多个融合定位位姿。
33.示例性的,服务器可以从目标场景的三维视觉地图中确定出与该待测图像对应的目标地图点,并基于目标地图点确定终端设备在该三维视觉地图中的全局定位轨迹。然后,服务器基于该自定位轨迹和该全局定位轨迹生成终端设备在该三维视觉地图中的融合定位轨迹。示例性的,该融合定位轨迹包括的融合定位位姿的帧率可以大于该全局定位轨迹包括的全局定位位姿的帧率,即该融合定位轨迹的帧率高于该全局定位轨迹的帧率,该融合定位轨迹可以是三维视觉地图中的高帧率位姿,该全局定位轨迹可以是三维视觉地图中的低帧率位姿,融合定位轨迹的帧率高于全局定位轨迹的帧率,表示融合定位位姿的数量大于全局定位位姿的数量。此外,该融合定位轨迹包括的融合定位位姿的帧率可以等于该自定位轨迹包括的自定位位姿的帧率,即该融合定位轨迹的帧率等于自定位轨迹的帧率,即自定位轨迹可以是高帧率位姿。融合定位轨迹的帧率等于自定位轨迹的帧率,表示融合定位位姿的数量等于自定位位姿的数量。
34.在一种可能的实施方式中,该三维视觉地图可以包括但不限于以下至少一种:样本图像对应的位姿矩阵、样本图像对应的样本全局描述子、样本图像中的特征点对应的样本局部描述子、地图点信息。其中,服务器从目标场景的三维视觉地图中确定出与该待测图像对应的目标地图点,并基于目标地图点确定终端设备在该三维视觉地图中的全局定位轨
迹,可以包括但不限于:针对每帧待测图像,基于该待测图像与该三维视觉地图对应的多帧样本图像之间的相似度,从多帧样本图像中选取出候选样本图像。从该待测图像中获取多个特征点;针对每个特征点,从该候选样本图像对应的多个地图点中确定出与该特征点对应的目标地图点。基于多个特征点和多个特征点对应的目标地图点确定该待测图像对应的该三维视觉地图中的全局定位位姿。基于所有待测图像对应的全局定位位姿生成终端设备在该三维视觉地图中的全局定位轨迹。
35.服务器基于该待测图像与该三维视觉地图对应的多帧样本图像之间的相似度,从多帧样本图像中选取出候选样本图像,可以包括:确定该待测图像对应的待测全局描述子,确定该待测全局描述子与该三维视觉地图对应的每帧样本图像对应的样本全局描述子之间的距离;其中,该三维视觉地图至少包括每帧样本图像对应的样本全局描述子。基于该待测全局描述子与每个样本全局描述子之间的距离,从多帧样本图像中选取出候选样本图像;其中,该待测全局描述子与候选样本图像对应的样本全局描述子之间的距离为最小距离;或,该待测全局描述子与候选样本图像对应的样本全局描述子之间的距离小于距离阈值。
36.服务器确定该待测图像对应的待测全局描述子,可以包括但不限于:基于已训练的字典模型确定该待测图像对应的词袋向量,将该词袋向量确定为该待测图像对应的待测全局描述子;或,将该待测图像输入给已训练的深度学习模型,得到该待测图像对应的目标向量,将该目标向量确定为该待测图像对应的待测全局描述子。当然,上述只是确定待测全局描述子的示例,对此不做限制。
37.服务器从候选样本图像对应的多个地图点中确定出与该特征点对应的目标地图点子,可以包括但不限于:确定该特征点对应的待测局部描述子,该待测局部描述子用于表示该特征点所处图像块的特征向量,且该图像块可以位于该待测图像中。确定该待测局部描述子与该候选样本图像对应的每个地图点对应的样本局部描述子之间的距离;其中,该三维视觉地图至少包括该候选样本图像对应的每个地图点对应的样本局部描述子。然后,可以基于该待测局部描述子与每个样本局部描述子之间的距离,从该候选样本图像对应的多个地图点中选取目标地图点;其中,该待测局部描述子与目标地图点对应的样本局部描述子之间的距离可以为最小距离,且该最小距离小于距离阈值。
38.其中,服务器基于该自定位轨迹和该全局定位轨迹生成终端设备在该三维视觉地图中的融合定位轨迹,可以包括但不限于:服务器可以从自定位轨迹包括的所有自定位位姿中选取出与目标时间段对应的n个自定位位姿,并从全局定位轨迹包括的所有全局定位位姿中选取出与目标时间段对应的p个全局定位位姿;其中,n大于p。基于n个自定位位姿和p个全局定位位姿确定n个自定位位姿对应的n个融合定位位姿,n个自定位位姿与n个融合定位位姿一一对应。基于n个融合定位位姿生成终端设备在三维视觉地图中的融合定位轨迹。
39.在基于该自定位轨迹和该全局定位轨迹生成终端设备在该三维视觉地图中的融合定位轨迹之后,服务器还可以从该融合定位轨迹中选取出初始融合定位位姿,从该自定位轨迹中选取出与该初始融合定位位姿对应的初始自定位位姿。从该自定位轨迹中选取出目标自定位位姿,并基于该初始融合定位位姿、该初始自定位位姿和该目标自定位位姿确定目标融合定位位姿。然后,基于目标融合定位位姿和该融合定位轨迹生成新的融合定位
轨迹,以替换原融合定位轨迹。
40.步骤104、针对该融合定位轨迹中的每个融合定位位姿,服务器确定与该融合定位位姿对应的目标定位位姿,并显示该目标定位位姿。
41.比如说,服务器可以将该融合定位位姿确定为目标定位位姿,并在三维视觉地图中显示该目标定位位姿。或者,服务器基于三维视觉地图与三维可视化地图之间的目标变换矩阵,将该融合定位位姿转换为三维可视化地图中的目标定位位姿,并通过该三维可视化地图显示该目标定位位姿。
42.示例性的,三维视觉地图与三维可视化地图之间的目标变换矩阵的确定方式,可以包括但不限于:针对多个标定点中的每个标定点,可以确定该标定点对应的坐标对,该坐标对可以包括该标定点在三维视觉地图中的位置坐标和该标定点在三维可视化地图中的位置坐标;基于多个标定点对应的坐标对确定该目标变换矩阵。或者,获取初始变换矩阵,基于该初始变换矩阵将三维视觉地图中的位置坐标映射为三维可视化地图中的映射坐标,基于该映射坐标与三维可视化地图中的实际坐标的关系确定该初始变换矩阵是否已收敛;若是,则将该初始变换矩阵确定为目标变换矩阵;若否,则对该初始变换矩阵进行调整,将调整后变换矩阵作为初始变换矩阵,返回执行基于该初始变换矩阵将三维视觉地图中的位置坐标映射为三维可视化地图中的映射坐标的操作,以此类推,一直到得到目标变换矩阵。或者,对三维可视化地图进行采样,得到与三维可视化地图对应的第一点云;以及,对三维视觉地图进行采样,得到与三维视觉地图对应的第二点云;采用icp算法对第一点云和第二点云进行配准,得到三维视觉地图与三维可视化地图之间的目标变换矩阵。
43.由以上技术方案可见,本技术实施例中,提出一种云边结合的定位及显示方法,边缘端的终端设备采集目标图像和运动数据,依据目标图像和运动数据进行高帧率的自定位,得到高帧率的自定位轨迹。云端的服务器接收终端设备发送的待测图像和自定位轨迹,依据待测图像和自定位轨迹得到高帧率的融合定位轨迹,即三维视觉地图中的高帧率的融合定位轨迹,实现高帧率和高精度的定位功能,实现高精度、低成本、易部署的室内定位功能,是基于视觉的室内定位方式,并能够在三维可视化地图中显示融合定位轨迹。在上述方式中,由终端设备计算高帧率的自定位轨迹,仅发送自定位轨迹和少量待测图像,减少网络传输的数据量。在服务器进行全局定位,从而减少终端设备的计算资源消耗和存储资源消耗。能够应用在煤炭、电力、石化等能源行业,实现人员(如工人、巡检人员等)的室内定位,快速获知人员的位置信息,保障人员安全。
44.以下结合具体实施例,对本技术实施例的位姿显示方法进行说明。
45.本技术实施例提出一种云边结合的视觉定位及显示方法,在终端设备在目标场景的移动过程中,由服务器确定终端设备在三维视觉地图中的融合定位轨迹,并显示融合定位轨迹。目标场景可以是室内环境,即终端设备在室内环境移动时,由服务器确定终端设备在三维视觉地图中的融合定位轨迹,即提出基于视觉的室内定位方式,当然,目标场景也可以是室外环境,对此不做限制。
46.参见图2所示,为云边管理系统的结构示意图,云边管理系统可以包括终端设备(即边缘端的终端设备)和服务器(即云端的服务器),当然,云边管理系统还可以包括其它设备,如无线基站和路由器等,对此不做限制。服务器可以包括目标场景的三维视觉地图、与该三维视觉地图对应的三维可视化地图,服务器可以生成终端设备在该三维视觉地图中
的融合定位轨迹,并在三维可视化地图中显示该融合定位轨迹(需要转换为能够在三维可视化地图中显示的轨迹),从而使管理人员通过web端查看三维可视化地图中的融合定位轨迹。
47.终端设备可以包括视觉传感器和运动传感器等,视觉传感器可以如摄像机等,视觉传感器用于在终端设备的移动过程中,采集目标场景的图像,为了区分方便,将该图像记为目标图像,目标图像包括多帧图像(即终端设备移动过程中的多帧实时图像)。运动传感器可以如imu(inertial measurement unit,惯性测量单元)等,imu是包含陀螺仪和加速度计的测量装置,运动传感器用于在终端设备的移动过程中,采集终端设备的运动数据,如加速度和角速度等。
48.示例性的,终端设备可以为可穿戴设备(如视频安全帽、智能手表、智能眼镜等等),且视觉传感器和运动传感器部署在可穿戴设备上;或者,终端设备为记录仪(如由工作人员在执行工作时随身携带,具有集实时视音频采集、照相、录音、对讲、定位等功能于一体的设备),且视觉传感器和运动传感器部署在记录仪上;或者,终端设备为摄像机(如分体式摄像机等),且视觉传感器和运动传感器部署在摄像机上。当然,上述只是示例,对此终端设备的类型不做限制,如还可以为智能手机等,只要部署视觉传感器和运动传感器即可。
49.示例性的,终端设备可以获取目标图像和运动数据,依据目标图像和运动数据进行高帧率的自定位,得到高帧率的自定位轨迹(如6dof(六自由度)的自定位轨迹),自定位轨迹可以包括多个自定位位姿,由于自定位轨迹是高帧率的自定位轨迹,因此,自定位轨迹中的自定位位姿的数量比较多。
50.终端设备可以从目标图像的多帧图像中选取部分图像作为待测图像,并将高帧率的自定位轨迹和待测图像发送给服务器。服务器可以得到自定位轨迹和待测图像,服务器可以依据待测图像和目标场景的三维视觉地图进行低帧率的全局定位,得到低帧率的全局定位轨迹(即待测图像在三维视觉地图中的全局定位轨迹),全局定位轨迹可以包括多个全局定位位姿,由于全局定位轨迹是低帧率的全局定位轨迹,因此,全局定位轨迹中的全局定位位姿的数量比较少。
51.基于高帧率的自定位轨迹和低帧率的全局定位轨迹,服务器可以将高帧率的自定位轨迹和低帧率的全局定位轨迹进行融合,得到高帧率的融合定位轨迹,即三维视觉地图中的高帧率的融合定位轨迹,即得到高帧率全局定位结果。融合定位轨迹可以包括多个融合定位位姿,由于融合定位轨迹是高帧率的融合定位轨迹,因此,融合定位轨迹中的融合定位位姿的数量比较多。
52.在上述实施例中,位姿(如自定位位姿、全局定位位姿、融合定位位姿等)可以是位置与姿态,一般用旋转矩阵和平移向量表示,对此不做限制。
53.综上所述,本实施例中,基于目标图像和运动数据,就可以实现全局统一的高帧率视觉定位功能,得到三维视觉地图中的高帧率的融合定位轨迹(如6dof位姿),是一种高帧率全局一致的定位方法,实现终端设备的高帧率、高精度、低成本、易部署的室内定位功能,实现室内全局一致的高帧率定位功能。
54.以下结合具体应用场景,对本技术实施例的上述过程进行详细说明。
55.一、终端设备的自定位。终端设备是带有视觉传感器和运动传感器的电子设备,可以获取目标场景的目标图像(如连续视频图像)和终端设备的运动数据(如imu数据),并基
于目标图像和运动数据确定终端设备的自定位轨迹。
56.目标图像可以包括多帧图像,针对每帧图像,终端设备确定与该图像对应的自定位位姿,即多帧图像对应多个自定位位姿,终端设备的自定位轨迹可以包括多个自定位位姿,可以理解为,自定位轨迹是多个自定位位姿的集合。
57.针对多帧图像中的第一帧图像,终端设备确定第一帧图像对应的自定位位姿,针对多帧图像中的第二帧图像,终端设备确定第二帧图像对应的自定位位姿,以此类推。第一帧图像对应的自定位位姿可以是参考坐标系(即自定位坐标系)的坐标原点,第二帧图像对应的自定位位姿是在参考坐标系中的位姿点,即相对于坐标原点(即第一帧图像对应的自定位位姿)的位姿点,第三帧图像对应的自定位位姿是在参考坐标系中的位姿点,即相对于坐标原点的位姿点,以此类推,各帧图像对应的自定位位姿均是在参考坐标系中的位姿点。
58.综上所述,在得到每帧图像对应的自定位位姿之后,就可以将这些自定位位姿组成参考坐标系中的自定位轨迹,该自定位轨迹包括这些自定位位姿。
59.在一种可能的实施方式中,参见图3所示,采用如下步骤确定自定位轨迹:
60.步骤301、获取目标场景的目标图像和终端设备的运动数据。
61.步骤302、若目标图像包括多帧图像,则从多帧图像中遍历出当前帧图像。
62.在从多帧图像中遍历出第一帧图像作为当前帧图像时,第一帧图像对应的自定位位姿可以是参考坐标系(即自定位坐标系)的坐标原点,即自定位位姿与该坐标原点重合。在从多帧图像中遍历出第二帧图像作为当前帧图像时,可以采用后续步骤确定第二帧图像对应的自定位位姿。在从多帧图像中遍历出第三帧图像作为当前帧图像时,可以采用后续步骤确定第三帧图像对应的自定位位姿,以此类推,可以遍历出每帧图像作为当前帧图像。
63.步骤303、利用光流算法计算当前帧图像与当前帧图像的前一帧图像之间的特征点关联关系。其中,光流算法是利用当前帧图像中像素在时间域上的变化以及前一帧图像之间的相关性,来找到当前帧图像与前一帧图像之间存在的对应关系,从而计算出当前帧图像与前一帧图像之间物体的运动信息的方式。
64.步骤304、基于当前帧图像与前一帧图像之间的匹配特征点数量确定当前帧图像是否为关键图像。比如说,若当前帧图像与前一帧图像之间的匹配特征点数量未达到预设阈值,则用于表示当前帧图像与前一帧图像的变化较大,导致两帧图像之间的匹配特征点数量比较少,则确定当前帧图像是关键图像,执行步骤305。若当前帧图像与前一帧图像之间的匹配特征点数量达到预设阈值,则用于表示当前帧图像与前一帧图像的变化较小,导致两帧图像之间的匹配特征点数量比较多,则确定当前帧图像是非关键图像,执行步骤306。
65.示例性的,还可以基于当前帧图像与前一帧图像之间的匹配特征点数量计算当前帧图像与前一帧图像之间的匹配比例,比如说,匹配特征点数量与总特征点数量的比例。若该匹配比例未达到预设比例,则确定当前帧图像是关键图像,若该匹配比例达到预设比例,则确定当前帧图像是非关键图像。
66.步骤305、若当前帧图像是关键图像,则基于终端设备的当前位置(即终端设备采集当前帧图像时所处的位置)生成自定位坐标系(即参考坐标系)中的地图位置,即生成一个新的3d地图位置。若当前帧图像是非关键图像,则不需要基于终端设备的当前位置生成自定位坐标系中的地图位置。
67.步骤306、基于当前帧图像前面的k帧图像对应的自定位位姿、终端设备在自定位坐标系中的地图位置和终端设备的运动数据,确定当前帧图像对应的自定位位姿,k可以为正整数,可以是根据经验配置的数值,对此不做限制。
68.比如说,可以对当前帧图像的前一帧图像与当前帧图像之间的所有运动数据进行预积分,得到这两帧图像之间的惯性测量约束。基于当前帧图像前面的k帧图像(如滑窗)对应的自定位位姿和运动数据(例如速度、加速度、角速度等)、自定位坐标系中的地图位置、惯性测量约束(前一帧图像与当前帧图像之间的速度、加速度、角速度等),可以采用捆集优化进行联合优化更新,得到当前帧图像对应的自定位位姿,对此捆集优化过程不做限制。
69.示例性的,为了维护待优化变量的规模,还可以将滑窗内的某个帧及部分地图位置进行边缘化,并将这些约束信息以先验的形式保留下来。
70.示例性的,终端设备可以采用vio(visual inertial odometry,视觉惯性里程计)算法确定自定位位姿,也就是说,vio算法的输入数据是目标图像和运动数据,vio算法的输出数据是自定位位姿,比如说,基于目标图像和运动数据,vio算法可以得到自定位位姿,例如,采用vio算法执行步骤301-步骤306,得到自定位位姿。该vio算法可以包括但不限于vins(visual inertial navigation systems,视觉惯性导航系统)、svo(semi-direct visual odometry,半直接视觉里程计)、msckf(multi state constraint kalman filter,多状态约束下的kalman滤波器)等,这里不做限定,只要能够得到自定位位姿即可。
71.步骤307、基于多帧图像对应的自定位位姿生成终端设备在自定位坐标系中的自定位轨迹,该自定位轨迹包括自定位坐标系中的多个自定位位姿。
72.至此,终端设备可以得到自定位坐标系中的自定位轨迹,该自定位轨迹可以包括多帧图像对应的自定位位姿,显然,由于视觉传感器可以采集大量图像,因此,终端设备可以得到这些图像对应的自定位位姿,即自定位轨迹可以包括大量自定位位姿,也就是说,终端设备能够得到高帧率的自定位轨迹。
73.二、数据发送。若目标图像包括多帧图像,则终端设备可以从多帧图像中选取部分图像作为待测图像,并将待测图像和自定位轨迹发送给服务器。比如说,终端设备通过无线网络(如4g、5g、wifi等)将自定位轨迹以及待测图像发送到服务器,由于待测图像的帧率较低,因此占用的网络带宽较小。
74.三、目标场景的三维视觉地图。需要预先构建目标场景的三维视觉地图,并将三维视觉地图存储到服务器,这样,服务器就可以基于该三维视觉地图进行全局定位。三维视觉地图是对目标场景的图像信息的一种存储方式,可以采集目标场景的多帧样本图像,并基于这些样本图像构建三维视觉地图,比如说,基于目标场景的多帧样本图像,可以采用sfm(structure from motion,运动恢复结构)或者slam(simultaneous localization and mapping,同时定位与建图)等视觉建图算法,构建目标场景的三维视觉地图,对此构建方式不做限制。
75.在得到目标场景的三维视觉地图之后,该三维视觉地图可以包括如下信息:
76.样本图像位姿:样本图像是构建三维视觉地图时具有代表性的图像,即可以基于样本图像构建三维视觉地图,样本图像的位姿矩阵(可以简称为样本图像位姿)可以被存储到三维视觉地图中,三维视觉地图可以包括样本图像位姿。
77.样本全局描述子:针对每帧样本图像,该样本图像可以对应图像全局描述子,将该
图像全局描述子记为样本全局描述子,样本全局描述子是用高维向量来表示该样本图像,样本全局描述子用于区分不同样本图像的图像特征。
78.其中,针对每帧样本图像,可以基于已训练的字典模型确定该样本图像对应的词袋向量,并将该词袋向量确定为该样本图像对应的样本全局描述子。比如说,视觉词袋(bag of words)方法是一种用于确定全局描述子的方式,在视觉词袋方法中,可以构建词袋向量,该词袋向量是一种用于图像相似检测的向量表示方法,可以将该词袋向量作为样本图像对应的样本全局描述子。
79.在视觉词袋方法中,需要预先训练一个“字典”,也称为字典模型,一般是利用大量图像中的特征点描述子进行聚类,训练得到一个分类树,每一类分类树可以代表一种视觉“单词”,这些视觉“单词”就组成字典模型。
80.针对样本图像来说,可以将该样本图像中的所有特征点描述子进行“单词”分类,并统计所有单词的出现频率,这样,字典中每个单词的频率可构成一个向量,该向量即为该样本图像对应的词袋向量,该词袋向量可以用于衡量两幅图像的相似程度,将该词袋向量作为该样本图像对应的样本全局描述子。
81.其中,针对每帧样本图像,可以将该样本图像输入给已训练的深度学习模型,得到该样本图像对应的目标向量,并将该目标向量确定为该样本图像对应的样本全局描述子。比如说,深度学习方法是一种用于确定全局描述子的方式,在深度学习方法中,可以通过深度学习模型对样本图像进行多层卷积,并最终得到一个高维的目标向量,将该目标向量作为样本图像对应的样本全局描述子。
82.在深度学习方法中,需要预先训练深度学习模型,如cnn(convolutional neural networks,卷积神经网络)模型等,一般是利用大量图像训练得到深度学习模型,对此深度学习模型的训练方式不做限制。针对样本图像来说,可以将该样本图像输入给深度学习模型,由深度学习模型对该样本图像进行处理,得到一个高维的目标向量,将该目标向量作为该样本图像对应的样本全局描述子。
83.样本图像的特征点对应的样本局部描述子:针对每帧样本图像,该样本图像可以包括多个特征点,特征点可以是该样本图像中具有特异性的像素点位置,该特征点可以对应一个图像局部描述子,将该图像局部描述子记为样本局部描述子,样本局部描述子是用一个向量来描述特征点(即像素点位置)附近范围内的图像块的特征,该向量也可以称为特征点的描述子。综上所述,样本局部描述子是用于表示特征点所处图像块的特征向量,且该图像块可以位于该样本图像中。需要注意的是,针对样本图像中的特征点(即二维特征点),该特征点可以对应三维视觉地图中的地图点(即三维地图点),因此,特征点对应的样本局部描述子,也可以是该特征点对应的地图点对应的样本局部描述子。
84.其中,可以采用orb(oriented fast and rotated brief,定向快速旋转)、sift(scale-invariant feature transform,尺度不变特征变换)、surf(speeded up robust features,加速稳健特征)等算法,从样本图像中提取特征点,并确定特征点对应的样本局部描述子。也可以采用深度学习算法(如superpoint,delf,d2-net等),从样本图像中提取特征点,并确定特征点对应的样本局部描述子,对此不做限制,只要能够得到特征点,并确定样本局部描述子即可。
85.地图点信息:地图点信息可以包括但不限于:该地图点的3d空间位置、所有被观测
的样本图像以及对应的2d特征点(即地图点对应的特征点)编号。
86.四、服务器的全局定位。基于已获取的目标场景的三维视觉地图,服务器在得到待测图像后,从目标场景的三维视觉地图中确定出与待测图像对应的目标地图点,基于目标地图点确定终端设备在三维视觉地图中的全局定位轨迹。
87.针对每帧待测图像,服务器可以确定与待测图像对应的全局定位位姿,假设存在m帧待测图像,则m帧待测图像对应m个全局定位位姿,终端设备在三维视觉地图中的全局定位轨迹可以包括m个全局定位位姿,可以理解为,全局定位轨迹是m个全局定位位姿的集合。针对m帧待测图像中的第一帧待测图像,确定第一帧待测图像对应的全局定位位姿,针对第二帧待测图像,确定第二帧待测图像对应的全局定位位姿,以此类推。针对每个全局定位位姿,该全局定位位姿是三维视觉地图中的位姿点,即三维视觉地图坐标系中的位姿点。综上所述,在得到m帧待测图像对应的全局定位位姿后,将这些全局定位位姿组成三维视觉地图中的全局定位轨迹,该全局定位轨迹包括这些全局定位位姿。
88.基于目标场景的三维视觉地图,在一种可能的实施方式中,参见图4所示,服务器可以采用如下步骤确定终端设备在该三维视觉地图中的全局定位轨迹:
89.步骤401、服务器从终端设备获取目标场景的待测图像。
90.示例性的,终端设备可以获取目标图像,且目标图像包括多帧图像,终端设备可以从多帧图像中选取m帧图像作为待测图像,并将m帧待测图像发送给服务器。比如说,多帧图像包括关键图像和非关键图像,在此基础上,终端设备可以将多帧图像中的关键图像作为待测图像,而非关键图像不作为待测图像。又例如,终端设备可以按照固定间隔从多帧图像中选取出待测图像,假设固定间隔是5(当然,固定间隔可以根据经验任意配置,对此不做限制),则可以将第1帧图像作为待测图像,将第6(1 5)帧图像作为待测图像,将第11(6 5)帧图像作为待测图像,以此类推,每隔5帧图像选取出一帧待测图像。
91.步骤402、针对每帧待测图像,确定该待测图像对应的待测全局描述子。
92.示例性的,针对每帧待测图像,该待测图像可以对应图像全局描述子,可以将该图像全局描述子记为待测全局描述子,待测全局描述子是用高维向量来表示该待测图像,待测全局描述子用于区分不同待测图像的图像特征。
93.其中,针对每帧待测图像,基于已训练的字典模型确定该待测图像对应的词袋向量,将该词袋向量确定为该待测图像对应的待测全局描述子。或者,针对每帧待测图像,将该待测图像输入给已训练的深度学习模型,得到该待测图像对应的目标向量,将该目标向量确定为该待测图像对应的待测全局描述子。
94.综上所述,可以基于视觉词袋方法或者深度学习方法确定待测图像对应的待测全局描述子,确定方式参见样本全局描述子的确定方式,在此不再赘述。
95.步骤403、针对每帧待测图像,确定该待测图像对应的待测全局描述子与三维视觉地图对应的每帧样本图像对应的样本全局描述子之间的相似度。
96.参见上述实施例,三维视觉地图可以包括每帧样本图像对应的样本全局描述子,因此,可以确定该待测全局描述子与每个样本全局描述子之间的相似度,以相似度是“距离相似度”为例,则可以确定待测全局描述子与每个样本全局描述子之间距离,如欧式距离,即计算两个特征向量之间的欧式距离。
97.步骤404、基于该待测全局描述子与每个样本全局描述子之间的距离,从三维视觉
地图对应的多帧样本图像中选取出候选样本图像;其中,该待测全局描述子与候选样本图像对应的样本全局描述子之间的距离为最小距离;或,该待测全局描述子与候选样本图像对应的样本全局描述子之间的距离小于距离阈值。
98.比如说,假设三维视觉地图对应样本图像1、样本图像2和样本图像3,则可以计算该待测全局描述子与样本图像1对应的样本全局描述子之间的距离1,并计算该待测全局描述子与样本图像2对应的样本全局描述子之间的距离2,并计算该待测全局描述子与样本图像3对应的样本全局描述子之间的距离3。
99.在一种可能的实施方式中,若距离1是最小距离,则将样本图像1选取为候选样本图像。或者,若距离1小于距离阈值(可以根据经验进行配置),且距离2小于距离阈值,但是距离3不小于距离阈值,则将样本图像1和样本图像2均选取为候选样本图像。或者,若距离1是最小距离,且距离1小于距离阈值,则将样本图像1选取为候选样本图像,但是,若距离1是最小距离,且距离1不小于距离阈值,则无法选取出候选样本图像,即重定位失败。
100.综上所述,针对每帧待测图像,可以从三维视觉地图对应的多帧样本图像中选取出与该待测图像对应的候选样本图像,候选样本图像的数量为至少一个。
101.步骤405、针对每帧待测图像,从该待测图像中获取多个特征点,针对每个特征点,确定该特征点对应的待测局部描述子,该待测局部描述子用于表示该特征点所处图像块的特征向量,且该图像块可以位于该待测图像中。
102.比如说,该待测图像可以包括多个特征点,特征点可以是该待测图像中具有特异性的像素点位置,该特征点可以对应一个图像局部描述子,将该图像局部描述子记为待测局部描述子,待测局部描述子是用一个向量来描述特征点(即像素点位置)附近范围内的图像块的特征,该向量也可以称为特征点的描述子。综上所述,待测局部描述子是用于表示特征点所处图像块的特征向量。
103.其中,可以采用orb、sift、surf等算法,从待测图像中提取特征点,并确定特征点对应的待测局部描述子。也可以采用深度学习算法(如superpoint,delf,d2-net等),从待测图像中提取特征点,并确定特征点对应的待测局部描述子,对此不做限制,只要能够得到特征点,并确定待测局部描述子即可。
104.步骤406、针对待测图像对应的每个特征点,确定该特征点对应的待测局部描述子与该待测图像对应的候选样本图像对应的每个地图点对应的样本局部描述子(即候选样本图像中的每个特征点对应的地图点对应的样本局部描述子)之间的距离,如欧式距离,即计算两个特征向量之间的欧式距离。
105.参见上述实施例,针对每帧样本图像,三维视觉地图包括该样本图像对应的每个地图点对应的样本局部描述子,因此,在得到待测图像对应的候选样本图像后,从三维视觉地图中获取候选样本图像对应的每个地图点对应的样本局部描述子。在得到待测图像对应的每个特征点后,确定该特征点对应的待测局部描述子与候选样本图像对应的每个地图点对应的样本局部描述子之间的距离。
106.步骤407、针对每个特征点,基于该特征点对应的待测局部描述子与候选样本图像对应的每个地图点对应的样本局部描述子之间的距离,从候选样本图像对应的多个地图点中选取目标地图点;其中,该待测局部描述子与目标地图点对应的样本局部描述子之间的距离为最小距离,且最小距离小于距离阈值。
107.比如说,假设候选样本图像对应地图点1、地图点2和地图点3,则可以计算该特征点对应的待测局部描述子与地图点1对应的样本局部描述子之间的距离1,并计算该待测局部描述子与地图点2对应的样本局部描述子之间的距离2,并计算该待测局部描述子与地图点3对应的样本局部描述子之间的距离3。
108.在一种可能的实施方式中,若距离1是最小距离,则可以将地图点1选取为目标地图点。或者,若距离1小于距离阈值(可以根据经验进行配置),且距离2小于距离阈值,但是距离3不小于距离阈值,则可以将地图点1和地图点2均选取为目标地图点。或者,若距离1是最小距离,且距离1小于距离阈值,则可以将地图点1选取为目标地图点,但是,若距离1是最小距离,且距离1不小于距离阈值,则无法选取出目标地图点,即重定位失败。
109.综上所述,针对待测图像的每个特征点,从待测图像对应的候选样本图像中选取与该特征点对应的目标地图点,得到特征点与目标地图点的匹配关系。
110.步骤408、基于待测图像对应的多个特征点以及多个特征点对应的目标地图点,确定该待测图像对应的三维视觉地图中的全局定位位姿。
111.针对一帧待测图像来说,该待测图像可以对应多个特征点,且每个特征点对应一个目标地图点,比如说,特征点1对应的目标地图点是地图点1,特征点2对应的目标地图点是地图点2,以此类推,从而得到多个匹配关系对,每个匹配关系对包括一个特征点(即二维特征点)和一个地图点(即三维视觉地图中的三维地图点),该特征点表示待测图像中的二维位置,该地图点表示三维视觉地图中的三维位置,即匹配关系对包括二维位置到三维位置的映射关系,即待测图像中的二维位置到三维视觉地图中的三维位置的映射关系。
112.若多个匹配关系对的总数量未达到数量要求,则表示无法基于多个匹配关系对确定出该待测图像对应的三维视觉地图中的全局定位位姿。若多个匹配关系对的总数量达到数量要求(即总数量达到预设数量值),则表示能够基于多个匹配关系对确定出该待测图像对应的三维视觉地图中的全局定位位姿,可以基于多个匹配关系对确定出该待测图像对应的三维视觉地图中的全局定位位姿。
113.比如说,可以采用pnp(perspective npoint,n点透视)算法计算出该待测图像在三维视觉地图中的全局定位位姿,对此计算方式不做限制。例如,pnp算法的输入数据是多个匹配关系对,针对每个匹配关系对,该匹配关系对包括待测图像中的二维位置和三维视觉地图中的三维位置,基于多个匹配关系对就可以采用pnp算法计算出待测图像在三维视觉地图中的位姿,即全局定位位姿。
114.综上所述,针对每帧待测图像,得到该待测图像对应的三维视觉地图中的全局定位位姿,即得到该待测图像在三维视觉地图坐标系中的全局定位位姿。
115.在一种可能的实施方式中,在得到多个匹配关系对之后,还可以从多个匹配关系对中查找到有效的匹配关系对。基于这些有效的匹配关系对,则可以采用pnp算法计算出该待测图像在三维视觉地图中的全局定位位姿。比如说,可以采用ransac(random sample consensus,随机样本一致性)检测算法,从所有匹配关系对中找到有效的匹配关系对,对此过程不做限制。
116.步骤409、基于m帧待测图像对应的全局定位位姿生成终端设备在三维视觉地图中的全局定位轨迹,该全局定位轨迹包括三维视觉地图中的多个全局定位位姿。至此,服务器可以得到三维视觉地图中的全局定位轨迹,也就是三维视觉地图坐标系中的全局定位轨
迹,该全局定位轨迹可以包括m帧待测图像对应的全局定位位姿,即该全局定位轨迹可以包括m个全局定位位姿。由于m帧待测图像是从所有图像中选取的部分图像,因此,全局定位轨迹可以包括少量待测图像对应的全局定位位姿,即,服务器能够得到低帧率的全局定位轨迹。
117.五、服务器的融合定位。服务器得到高帧率的自定位轨迹和低帧率的全局定位轨迹之后,将高帧率的自定位轨迹与低帧率的全局定位轨迹进行融合,得到三维视觉地图坐标系下的高帧率的融合定位轨迹,即终端设备在三维视觉地图中的融合定位轨迹。融合定位轨迹是三维视觉地图中的高帧率位姿,全局定位轨迹是三维视觉地图中的低帧率位姿,即融合定位轨迹的帧率高于全局定位轨迹的帧率,融合定位位姿数量大于全局定位位姿数量。
118.参见图5所示,白色实线圆表示自定位位姿,将多个自定位位姿组成的轨迹称为自定位轨迹,即自定位轨迹包括多个自定位位姿。第一帧图像对应的自定位位姿可以是参考坐标系s
l
(即自定位坐标系)的坐标原点,将第一帧图像对应的自定位位姿记为自定位位姿与参考坐标系s
l
的坐标原点重合。针对自定位轨迹中的每个自定位位姿,是在参考坐标系s
l
下的自定位位姿。
119.灰色实线圆表示全局定位位姿,将多个全局定位位姿组成的轨迹称为全局定位轨迹,即全局定位轨迹包括多个全局定位位姿,全局定位位姿可以是三维视觉地图坐标系sg下的位姿,即全局定位轨迹中的每个全局定位位姿均是三维视觉地图坐标系sg下的全局定位位姿,也即三维视觉地图下的全局定位位姿。
120.白色虚线圆表示融合定位位姿,将多个融合定位位姿组成的轨迹称为融合定位轨迹,即融合定位轨迹包括多个融合定位位姿,融合定位位姿可以是三维视觉地图坐标系sg下的位姿,即融合定位轨迹中的每个融合定位位姿均是三维视觉地图坐标系sg下的融合定位位姿,也即三维视觉地图下的融合定位位姿。
121.参见图5所示,由于目标图像包括多帧图像,每帧图像对应一个自定位位姿,并从多帧图像中选取部分图像作为待测图像,每帧待测图像对应一个全局定位位姿,因此,自定位位姿的数量大于全局定位位姿的数量。在基于自定位轨迹和全局定位轨迹得到融合定位轨迹时,每个自定位位姿对应一个融合定位位姿(即自定位位姿与融合定位位姿一一对应),即自定位位姿的数量与融合定位位姿的数量相同,因此,融合定位位姿的数量也大于全局定位位姿的数量。
122.在一种可能的实施方式中,服务器可以实现轨迹融合功能和位姿变换功能,参见图6所示,服务器可以采用如下步骤实现轨迹融合功能和位姿变换功能,以得到终端设备在该三维视觉地图中的融合定位轨迹:
123.步骤601、从自定位轨迹包括的所有自定位位姿中选取出与目标时间段对应的n个自定位位姿,并从全局定位轨迹包括的所有全局定位位姿中选取出与目标时间段对应的p个全局定位位姿,示例性的,n可以大于p。
124.比如说,在对目标时间段的自定位轨迹和全局定位轨迹进行融合时,可以确定目标时间段对应的n个自定位位姿(即基于目标时间段采集的图像确定的自定位位姿),并确定目标时间段对应的p个全局定位位姿(即基于目标时间段采集的图像确定的全局定位位
姿),参见图5所示,可以将和之间的自定位位姿作为目标时间段对应的n个自定位位姿,可以将和之间的全局定位位姿作为目标时间段对应的p个全局定位位姿。
125.步骤602、基于n个自定位位姿和p个全局定位位姿确定n个自定位位姿对应的n个融合定位位姿,n个自定位位姿与n个融合定位位姿一一对应。
126.比如说,参见图5所示,可以基于n个自定位位姿和p个全局定位位姿,确定自定位位姿对应的融合定位位姿确定自定位位姿对应的融合定位位姿确定自定位位姿对应的融合定位位姿以此类推。
127.在一种可能的实施方式中,假设存在n个自定位位姿、p个全局定位位姿和n个融合定位位姿,n个自定位位姿均为已知值,p个全局定位位姿均为已知值,n个融合定位位姿均是未知值,是需要求解的位姿值。如图5所示,自定位位姿与融合定位位姿对应,自定位位姿与融合定位位姿对应,自定位位姿与融合定位位姿对应,以此类推。全局定位位姿与融合定位位姿对应,全局定位位姿与融合定位位姿对应,以此类推。
128.可以基于n个自定位位姿和n个融合定位位姿确定第一约束值,第一约束值用于表示融合定位位姿与自定位位姿之间的残差值,如可以基于与的差值、与的差值、

、与的差值,计算第一约束值。关于第一约束值的计算公式,本实施例中不做限制,与上述各差值有关即可。
129.可以基于p个全局定位位姿和p个融合定位位姿(即从n个融合定位位姿中选取出与p个全局定位位姿对应的p个融合定位位姿)确定第二约束值,第二约束值用于表示融合定位位姿与全局定位位姿之间的残差值(即绝对差值),如可以基于与的差值、

、与的差值,计算第二约束值。关于第二约束值的计算公式,本实施例中不做限制,与上述各差值有关即可。
130.可以基于第一约束值和第二约束值计算目标约束值,如目标约束值可以为第一约束值与第二约束值之和。由于n个自定位位姿和p个全局定位位姿均为已知值,n个融合定位位姿均是未知值,因此,通过调整n个融合定位位姿的取值,使得目标约束值为最小。当目标约束值为最小时,n个融合定位位姿的取值就是最终求解的位姿值,至此,得到n个融合定位位姿的取值。
131.在一种可能的实施方式中,可以采用公式(1)计算目标约束值:
[0132][0133]
在公式(1)中,f(t)表示目标约束值,加号前面的部分(后续记为第一部分)为第一约束值,加号后面的部分(后续记为第二部分)为第二约束值,当然,上述只是目标约束值、第一约束值和第二约束值的示例,对此不做限制。
[0134]
ω
i,i 1
是针对自定位位姿的残差信息矩阵,可以根据经验配置,对此不做限制,ωk是针对全局定位位姿的残差信息矩阵,可以根据经验配置,对此不做限制。
[0135]
第一部分表示自定位位姿与融合定位位姿的相对变换约束,可以通过第一约束值反映,n为自定位轨迹中的所有自定位位姿,即n个自定位位姿。第二部分表示全局定位位姿与融合定位位姿的全局定位约束,可以通过第二约束值反映,p为全局定位轨迹中的所有全局定位位姿,即p个全局定位位姿。
[0136]
针对第一部分和第二部分,还可以通过公式(2)和公式(3)表示:
[0137][0138][0139]
在公式(2)和公式(3)中,和为融合定位位姿(没有对应的全局定位位姿),和为自定位位姿,为两个自定位位姿之间的相对位姿变化约束,e
i,i 1
为和相对位姿变化与约束的残差。
[0140]
为融合定位位姿(有对应的全局定位位姿),为对应的全局定位位姿,ek表示融合定位位姿相对于全局定位位姿的残差。
[0141]
由于自定位位姿和全局定位位姿为已知,融合定位位姿为未知,优化目标可以是使f(t)的取值为最小,从而可以得到融合定位位姿,即三维视觉地图坐标系下的融合定位轨迹可以参见公式(4):arg min f(t),通过使f(t)的取值为最小,就可以得到融合定位轨迹,且该融合定位轨迹可以包括多个融合定位位姿。
[0142]
示例性的,为了使f(t)的取值为最小,可以采用高斯牛顿、梯度下降、lm(levenberg-marquardt)等算法求解,得到融合定位位姿,在此不再赘述。
[0143]
步骤603、基于n个融合定位位姿生成终端设备在三维视觉地图中的融合定位轨迹,该融合定位轨迹包括三维视觉地图中的n个融合定位位姿。
[0144]
至此,服务器得到三维视觉地图中的融合定位轨迹,即三维视觉地图坐标系中的融合定位轨迹,该融合定位轨迹中的融合定位位姿的数量大于全局定位轨迹中的全局定位位姿的数量,也就是说,能够得到高帧率的融合定位轨迹。
[0145]
步骤604、从该融合定位轨迹中选取出初始融合定位位姿,并从该自定位轨迹中选取出与该初始融合定位位姿对应的初始自定位位姿。
[0146]
步骤605、从该自定位轨迹中选取出目标自定位位姿,并基于该初始融合定位位姿、该初始自定位位姿和该目标自定位位姿确定目标融合定位位姿。
[0147]
示例性的,在生成该融合定位轨迹之后,还可以对该融合定位轨迹进行更新,在轨迹更新过程中,可以从该融合定位轨迹中选取出初始融合定位位姿,并从该自定位轨迹中选取出初始自定位位姿,并从该自定位轨迹中选取出目标自定位位姿。在此基础上,可以基于该初始融合定位位姿、该初始自定位位姿和该目标自定位位姿确定目标融合定位位姿。
然后,可以基于该目标融合定位位姿和该融合定位轨迹生成新的融合定位轨迹,以替换原融合定位轨迹。
[0148]
比如说,在步骤601-步骤603中,参见图5所示,自定位轨迹包括和之间的自定位位姿,全局定位轨迹包括和之间的全局定位位姿,融合定位轨迹包括和之间的融合定位位姿,在此之后,若得到新的自定位位姿但是,由于没有对应的全局定位位姿,则无法基于全局定位位姿和自定位位姿确定出自定位位姿对应的融合定位位姿在此基础上,本实施例中,还可以采用如下公式(4)确定融合定位位姿
[0149][0150]
在公式(4)中,表示自定位位姿对应的融合定位位姿,即目标融合定位位姿,表示融合定位位姿,即从融合定位轨迹中选取的初始融合定位位姿,表示表示自定位位姿,即从自定位轨迹中选取的与对应的初始自定位位姿,表示表示自定位位姿,即从自定位轨迹中选取的目标自定位位姿。综上可以看出,可以基于该初始融合定位位姿该初始自定位位姿和该目标自定位位姿确定目标融合定位位姿
[0151]
在得到目标融合定位位姿之后,可以生成新的融合定位轨迹,即新的融合定位轨迹可以包括目标融合定位位姿从而对融合定位轨迹进行更新。
[0152]
在上述过程中,步骤601-步骤603是轨迹融合过程,步骤604-步骤605是位姿变换过程,轨迹融合是将自定位轨迹与全局定位轨迹进行配准融合的过程,实现自定位轨迹从自定位坐标系到三维视觉地图坐标系的转换,利用全局定位结果对轨迹进行修正,当新的一帧能够获得全局定位轨迹,进行一次轨迹融合。由于不是所有的帧都能够成功获得全局定位轨迹,因此,这些帧的位姿是通过位姿变换的方式输出三维视觉地图坐标系的融合定位位姿,即位姿变换过程。
[0153]
六、目标场景的三维可视化地图。需要预先构建目标场景的三维可视化地图,并将三维可视化地图存储到服务器,服务器就可以基于该三维可视化地图进行轨迹展示。三维可视化地图是目标场景的3d三维可视化地图,主要用于轨迹展示,可以通过激光扫描和人工建模得到,是可以查看的可视化地图,对此三维可视化地图的构建方式不做限制,可以采用构图算法得到。
[0154]
基于目标场景的三维视觉地图和目标场景的三维可视化地图,需要对三维视觉地图和三维可视化地图进行配准,保证三维视觉地图和三维可视化地图在空间上对齐。比如说,对三维可视化地图进行采样,将三维可视化地图由三角面片形式变为稠密点云形式,并利用该点云与三维视觉地图的3d点云通过icp(iterative closest point,迭代最近点)算法进行配准,得到三维可视化地图到三维视觉地图的变换矩阵t;最后,使用变换矩阵t将三
维可视化地图变换至三维视觉地图坐标系下,得到与三维视觉地图对齐的三维可视化地图。
[0155]
示例性的,可以采用如下方式确定变换矩阵t(记为目标变换矩阵):
[0156]
方式1、在构建三维视觉地图和三维可视化地图时,可以在目标场景部署多个标定点(可以通过不同形状区分不同标定点,从而能够从图像中识别出标定点),三维视觉地图可以包括多个标定点,三维可视化地图也可以包括多个标定点。针对多个标定点中的每个标定点,可以确定该标定点对应的坐标对,该坐标对包括该标定点在三维视觉地图中的位置坐标和该标定点在三维可视化地图中的位置坐标。基于多个标定点对应的坐标对就可以确定该目标变换矩阵。比如说,目标变换矩阵t可以是m*n维的变换矩阵,三维视觉地图和三维可视化地图的变换关系可以是:w=q*t,w表示三维可视化地图中的位置坐标,q表示三维视觉地图中的位置坐标,那么,将多个标定点对应的多个坐标对代入上述公式(即标定点在三维视觉地图中的位置坐标作为q,标定点在三维可视化地图中的位置坐标作为w),可以得到目标变换矩阵t,对此过程不再赘述。
[0157]
方式2、获取初始变换矩阵,基于该初始变换矩阵将三维视觉地图中的位置坐标映射为三维可视化地图中的映射坐标,基于该映射坐标与三维可视化地图中的实际坐标的关系确定该初始变换矩阵是否已收敛;若是,则可以将该初始变换矩阵确定为目标变换矩阵,即得到目标变换矩阵;若否,则可以对该初始变换矩阵进行调整,并将调整后变换矩阵作为初始变换矩阵,然后,返回执行基于该初始变换矩阵将三维视觉地图中的位置坐标映射为三维可视化地图中的映射坐标的操作,以此类推,一直到得到目标变换矩阵。
[0158]
比如说,可以先获取一个初始变换矩阵,对此初始变换矩阵的获取方式不做限制,可以是随机设置的初始变换矩阵,也可以采用某种算法得到的初始变换矩阵,这个初始变换矩阵是需要迭代优化的矩阵,即,不断对初始变换矩阵进行迭代优化,将迭代优化后的初始变换矩阵作为目标变换矩阵。
[0159]
在得到初始变换矩阵之后,就可以基于初始变换矩阵将三维视觉地图中的位置坐标映射为三维可视化地图中的映射坐标,比如说,三维视觉地图和三维可视化地图的变换关系可以是:w=q*t,也就是说,将三维视觉地图中的位置坐标作为q,将初始变换矩阵作为t,就可以得到三维可视化地图中的位置坐标(为了区分方便,将其记为映射坐标)。然后,基于三维可视化地图中的映射坐标与三维可视化地图中的实际坐标的关系确定初始变换矩阵是否已收敛。例如,三维可视化地图中的映射坐标是基于初始变换矩阵转换后的坐标,三维可视化地图中的实际坐标是三维可视化地图中的真实坐标,当映射坐标与实际坐标的差值越小时,就表示初始变换矩阵的准确性越高,当映射坐标与实际坐标的差值越大时,就表示初始变换矩阵的准确性越差。基于上述原理,就可以基于映射坐标与实际坐标的差值确定初始变换矩阵是否已收敛。
[0160]
例如,若映射坐标与实际坐标的差值(可以是多组差值之和,每组差值对应一个映射坐标与实际坐标的差值)小于阈值,则确定初始变换矩阵已收敛,若映射坐标与实际坐标的差值不小于阈值,则确定初始变换矩阵未收敛。
[0161]
若初始变换矩阵未收敛,则可以对该初始变换矩阵进行调整,对此调整过程不做限制,如采用icp算法对初始变换矩阵进行调整,将调整后变换矩阵作为初始变换矩阵,返回执行基于初始变换矩阵将三维视觉地图中的位置坐标映射为三维可视化地图中的映射
坐标的操作,以此类推,一直到得到目标变换矩阵。若初始变换矩阵已收敛,则将该初始变换矩阵确定为目标变换矩阵。
[0162]
方式3、对三维可视化地图进行采样,得到与三维可视化地图对应的第一点云;对三维视觉地图进行采样,得到与三维视觉地图对应的第二点云。采用icp算法对第一点云和第二点云进行配准,得到三维视觉地图与三维可视化地图之间的目标变换矩阵。显然,由于可以得到第一点云和第二点云,第一点云包括大量3d点,第二点云包括大量3d点,基于第一点云的大量3d点和第二点云的大量3d点,就可以采用icp算法进行配准,对此配准过程不做限制。
[0163]
七、轨迹显示。服务器得到融合定位轨迹之后,针对融合定位轨迹中的每个融合定位位姿,服务器可以基于三维视觉地图与三维可视化地图之间的目标变换矩阵,将该融合定位位姿转换为三维可视化地图中的目标定位位姿,并通过三维可视化地图显示该目标定位位姿。在此基础上,管理人员可以打开web浏览器,通过网络访问服务器,从而查看三维可视化地图中显示的目标定位位姿,这些目标定位位姿组成一条轨迹。服务器通过读取三维可视化地图并渲染,就能够将终端设备的目标定位位姿显示到三维可视化地图中,以使管理人员查看三维可视化地图中显示的目标定位位姿。管理人员可以通过鼠标拖动改变查看视角,实现轨迹的3d查看。比如说,服务器包括客户端软件,客户端软件读取三维可视化地图并进行渲染,并将目标定位位姿显示到三维可视化地图。在此基础上,用户(如管理人员)可以通过web浏览器访问客户端软件,以通过客户端软件查看三维可视化地图中显示的目标定位位姿。示例性的,在通过客户端软件查看三维可视化地图中显示的目标定位位姿时,可以通过鼠标拖动改变三维可视化地图的查看视角。
[0164]
由以上技术方案可见,本技术实施例中,提出一种云边结合的定位及显示方法,由终端设备计算高帧率的自定位轨迹,仅发送自定位轨迹和少量待测图像,减少网络传输的数据量。在服务器进行全局定位,从而减少终端设备的计算资源消耗和存储资源消耗。采用云边融合的系统架构,能够分摊计算压力,减少终端设备的硬件成本,减少网络传输数据量。最终的定位结果能够在三维的三维可视化地图中进行显示,管理人员通过web端访问服务器进行交互显示。
[0165]
基于与上述方法同样的申请构思,本技术实施例中提出一种云边管理系统,所述云边管理系统包括终端设备和服务器,所述服务器包括目标场景的三维视觉地图,其中:所述终端设备,用于在目标场景的移动过程中,获取所述目标场景的目标图像和所述终端设备的运动数据,基于所述目标图像和所述运动数据确定所述终端设备的自定位轨迹;若所述目标图像包括多帧图像,则从所述多帧图像中选取部分图像作为待测图像,将所述待测图像和所述自定位轨迹发送给服务器;所述服务器,用于基于所述待测图像和所述自定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹,所述融合定位轨迹包括多个融合定位位姿;针对所述融合定位轨迹中的每个融合定位位姿,确定与该融合定位位姿对应的目标定位位姿,并显示所述目标定位位姿。
[0166]
示例性的,所述终端设备包括视觉传感器和运动传感器;其中,所述视觉传感器,用于获取所述目标场景的目标图像,所述运动传感器,用于获取所述终端设备的运动数据;其中,所述终端设备为可穿戴设备,且所述视觉传感器和所述运动传感器部署在所述可穿戴设备上;或者,所述终端设备为记录仪,且所述视觉传感器和所述运动传感器部署在所述
记录仪上;或者,所述终端设备为摄像机,且所述视觉传感器和所述运动传感器部署在所述摄像机上。
[0167]
示例性的,所述服务器基于所述待测图像和所述自定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹时具体用于:
[0168]
从所述三维视觉地图中确定出与所述待测图像对应的目标地图点,基于所述目标地图点确定所述终端设备在所述三维视觉地图中的全局定位轨迹;
[0169]
基于所述自定位轨迹和所述全局定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹;其中,所述融合定位轨迹包括的融合定位位姿的帧率大于所述全局定位轨迹包括的全局定位位姿的帧率;所述融合定位轨迹包括的融合定位位姿的帧率等于所述自定位轨迹包括的自定位位姿的帧率。
[0170]
示例性的,所述服务器确定与该融合定位位姿对应的目标定位位姿,并显示所述目标定位位姿时具体用于:基于所述三维视觉地图与三维可视化地图之间的目标变换矩阵,将所述融合定位位姿转换为所述三维可视化地图中的目标定位位姿,并通过所述三维可视化地图显示所述目标定位位姿;
[0171]
其中,所述服务器包括客户端软件,所述客户端软件读取所述三维可视化地图并进行渲染,并将所述目标定位位姿显示到所述三维可视化地图;
[0172]
其中,用户通过web浏览器访问所述客户端软件,以通过所述客户端软件查看所述三维可视化地图中显示的所述目标定位位姿;
[0173]
其中,在通过所述客户端软件查看所述三维可视化地图中显示的所述目标定位位姿时,通过鼠标拖动改变所述三维可视化地图的查看视角。
[0174]
基于与上述方法同样的申请构思,本技术实施例中提出一种位姿显示装置,应用于云边管理系统中的服务器,所述服务器包括目标场景的三维视觉地图,参见图7所示,为所述位姿显示装置的结构图,所述位姿显示装置包括:
[0175]
获取模块71,用于获取待测图像和自定位轨迹;其中,所述自定位轨迹是终端设备基于所述目标场景的目标图像和所述终端设备的运动数据确定,所述待测图像是所述目标图像包括的多帧图像中的部分图像;生成模块72,用于基于所述待测图像和所述自定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹,所述融合定位轨迹包括多个融合定位位姿;显示模块73,用于针对所述融合定位轨迹中的每个融合定位位姿,确定与该融合定位位姿对应的目标定位位姿,并显示所述目标定位位姿。
[0176]
示例性的,所述生成模块72基于待测图像和自定位轨迹生成终端设备在三维视觉地图中的融合定位轨迹时具体用于:从三维视觉地图中确定出与所述待测图像对应的目标地图点,基于所述目标地图点确定所述终端设备在所述三维视觉地图中的全局定位轨迹;基于所述自定位轨迹和所述全局定位轨迹生成所述终端设备在所述三维视觉地图中的融合定位轨迹;融合定位轨迹包括的融合定位位姿的帧率大于全局定位轨迹包括的全局定位位姿的帧率;所述融合定位轨迹包括的融合定位位姿的帧率等于所述自定位轨迹包括的自定位位姿的帧率。
[0177]
示例性的,所述三维视觉地图包括以下至少一种:样本图像对应的位姿矩阵、样本图像对应的样本全局描述子、样本图像中的特征点对应的样本局部描述子、地图点信息;所述生成模块72从三维视觉地图中确定出与所述待测图像对应的目标地图点,基于所述目标
地图点确定终端设备在三维视觉地图中的全局定位轨迹时具体用于:针对每帧待测图像,基于待测图像与三维视觉地图对应的多帧样本图像之间的相似度,从多帧样本图像中选取出候选样本图像;从待测图像中获取多个特征点;针对每个特征点,从候选样本图像对应的多个地图点中确定出与该特征点对应的目标地图点;基于所述多个特征点和所述多个特征点对应的目标地图点确定所述待测图像对应的三维视觉地图中的全局定位位姿;基于所有待测图像对应的全局定位位姿生成所述终端设备在所述三维视觉地图中的全局定位轨迹。
[0178]
示例性的,所述生成模块72基于自定位轨迹和全局定位轨迹生成所述终端设备在三维视觉地图中的融合定位轨迹时具体用于:从自定位轨迹包括的所有自定位位姿中选取出与目标时间段对应的n个自定位位姿,并从所述全局定位轨迹包括的所有全局定位位姿中选取出与所述目标时间段对应的p个全局定位位姿;n大于p;基于所述n个自定位位姿和所述p个全局定位位姿确定n个自定位位姿对应的n个融合定位位姿,n个自定位位姿与n个融合定位位姿一一对应;基于n个融合定位位姿生成所述终端设备在三维视觉地图中的融合定位轨迹。
[0179]
示例性的,所述显示模块73确定与该融合定位位姿对应的目标定位位姿,并显示所述目标定位位姿时具体用于:基于所述三维视觉地图与三维可视化地图之间的目标变换矩阵,将所述融合定位位姿转换为所述三维可视化地图中的目标定位位姿,并通过所述三维可视化地图显示所述目标定位位姿;其中,所述显示模块,所述显示模块73,还用于采用如下方式确定三维视觉地图与三维可视化地图之间的目标变换矩阵:针对多个标定点中的每个标定点,确定该标定点对应的坐标对,所述坐标对包括该标定点在三维视觉地图中的位置坐标和该标定点在所述三维可视化地图中的位置坐标;基于所述多个标定点对应的坐标对确定所述目标变换矩阵;或者,获取初始变换矩阵,基于所述初始变换矩阵将所述三维视觉地图中的位置坐标映射为所述三维可视化地图中的映射坐标,基于该映射坐标与所述三维可视化地图中的实际坐标的关系确定所述初始变换矩阵是否已收敛;若是,则将所述初始变换矩阵确定为所述目标变换矩阵;若否,则对所述初始变换矩阵进行调整,将调整后变换矩阵作为初始变换矩阵,返回执行基于所述初始变换矩阵将所述三维视觉地图中的位置坐标映射为所述三维可视化地图中的映射坐标的操作;或者,对所述三维可视化地图进行采样,得到与所述三维可视化地图对应的第一点云;以及,对所述三维视觉地图进行采样,得到与所述三维视觉地图对应的第二点云;采用icp算法对所述第一点云和所述第二点云进行配准,得到所述三维视觉地图与三维可视化地图之间的目标变换矩阵。
[0180]
基于与上述方法同样的申请构思,本技术实施例中提出一种服务器,所述服务器可以包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本技术上述示例公开的位姿显示方法。
[0181]
基于与上述方法同样的申请构思,本技术实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本技术上述示例公开的位姿显示方法。
[0182]
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动
器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0183]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0184]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0185]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0186]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0187]
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0188]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献