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

一种基于协同计算的虚拟物体显示方法及系统与流程

2022-04-27 03:13:10 来源:中国专利 TAG:


1.本发明涉及计算机视觉领域,特别涉及一种基于协同计算的虚拟物体显示方法及系统。


背景技术:

2.slam(simultaneous localization and mapping,同时定位和建图)是虚拟现实等业务的核心技术,主要利用计算机视觉等技术,估计移动终端的位置和姿态(简称位姿)以及所在环境的局部地图数据。在现有的端-晕架构的slam系统中,移动终端上部署的算法是固定的,云端部署的算法也是固定的,在这种系统中,slam系统对移动终端的算力要求大,会导致移动终端功耗大、发热严重。
3.因此,现有技术还有待改进和提高。


技术实现要素:

4.针对现有技术的上述缺陷,本发明提供一种基于协同计算的虚拟物体显示方法及系统,旨在解决现有技术中深度端-云架构的slam系统中移动终端功耗大的问题。
5.为了解决上述技术问题,本发明所采用的技术方案如下:
6.本发明的第一方面,提供一种基于协同计算的虚拟物体显示方法,所述方法包括:
7.当移动终端与边缘服务器之间的网速小于第一预设阈值时:
8.所述移动终端计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征;
9.所述移动终端根据所述第一位姿和所述视觉特征计算得到局部地图,将所述局部地图发送给所述边缘服务器;
10.所述边缘服务器对所述局部地图进行更新,并获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
11.所述移动终端根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体;
12.当所述移动终端与所述边缘服务器之间的网速大于第二预设阈值时:
13.所述移动终端计算所述移动终端在第一坐标系下的第一位姿,并将所述移动终端拍摄的图像和所述第一位姿发送给所述边缘服务器;
14.所述边缘服务器根据所述移动终端拍摄的图像获取所述视觉特征,根据所述第一位姿和所述视觉特征计算得到所述局部地图;
15.所述边缘服务器对所述局部地图进行更新,并获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
16.所述移动终端根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体;
17.其中,所述第一预设阈值小于所述第二预设阈值。
18.所述的基于协同计算的虚拟物体显示方法,其中,所述方法还包括:
19.当所述移动终端与边缘服务器之间的网速大于所述第一预设阈值且小于所述第二预设阈值时:
20.所述移动终端计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征,将所述第一位姿和所述视觉特征发送至所述边缘服务器;
21.所述边缘服务器根据所述第一位姿和所述视觉特征计算得到所述局部地图;
22.所述边缘服务器对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
23.所述移动终端根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体。
24.所述的基于协同计算的虚拟物体显示方法,其中,所述边缘服务器对所述局部地图进行更新,并获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端,包括:
25.所述边缘服务器接收所述移动终端发送的所述局部地图后,对所述局部地图进行优化并更新所述局部地图;
26.所述边缘服务器将更新后的所述局部地图发送给云端服务器;
27.所述云端服务器根据多个所述移动终端对应的所述局部地图获取全局地图,将所述全局地图发送给所述边缘服务器;
28.所述边缘服务器根据所述移动终端的位置指纹在所述全局地图中确定所述移动终端对应的所述全局子地图,将所述全局子地图发送给所述移动终端。
29.所述的基于协同计算的虚拟物体显示方法,其中,所述移动终端根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,包括:
30.所述移动终端根据所述全局子地图计算所述移动终端在第k帧图像时的所述第二位姿;
31.所述移动终端根据所述第k帧图像时的所述第二位姿获取所述移动终端在第l帧图像时的所述第二位姿,其中,l≥k。
32.所述的基于协同计算的虚拟物体显示方法,其中,所述移动终端根据所述第k帧图像时的所述第二位姿获取所述移动终端在第l帧图像时的所述第二位姿,包括:
33.所述移动终端根据所述第k帧图像时的所述第二位姿获取所述第k帧图像时的目标转换矩阵,其中,所述目标转换矩阵为将所述第一坐标系中的三维坐标变换到所述第二坐标系的变换矩阵;
34.所述移动终端根据所述第k帧图像时的所述目标转换矩阵和所述移动终端在所述第l帧图像时的所述第一位姿获取所述移动终端在所述第l帧图像时的所述第二位姿。
35.所述的基于协同计算的虚拟物体显示方法,其中,所述移动终端根据所述第k帧图像时的所述第二位姿获取所述第k帧图像时的目标转换矩阵,包括:
36.所述移动终端通过第一预设公式获取所述目标转换矩阵;
37.所述第一预设公式为:
38.g
t
l,k
=gt
c,k
(
l
t
c,k
)-1

39.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,k
表示所述移动终端在
所述第k帧时的所述第二位姿,
l
t
c,k
表示所述移动终端在所述第k帧图像时的所述第一位姿。
40.所述的基于协同计算的虚拟物体显示方法,其中,所述移动终端根据所述第k帧图像时的所述目标转换矩阵和所述移动终端在所述第l帧图像时的所述第一位姿获取所述移动终端在所述第l帧图像时的所述第二位姿,包括:
41.所述移动终端通过第二预设公式获取所述移动终端在所述第l帧图像时的所述第二位姿;
42.所述第二预设公式为:
43.g
t
c,l
=gt
l,kl
t
c,l

44.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,l
表示所述移动终端在所述第l帧图像时的所述第二位姿,
l
t
c,l
表示所述移动终端在所述第l帧图像时的所述第一位姿。
45.本发明的第二方面,提供一种基于协同计算的虚拟物体显示系统,所述系统包括移动终端以及边缘服务器;
46.当所述移动终端与所述边缘服务器之间的网速小于第一预设阈值时;
47.所述移动终端用于计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征,根据所述第一位姿和所述视觉特征计算得到局部地图,将所述局部地图发送给所述边缘服务器;
48.所述边缘服务器用于对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
49.所述移动终端还用于根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体;
50.当所述移动终端与所述边缘服务器之间的网速大于第二预设阈值时:
51.所述移动终端用于计算所述移动终端在第一坐标系下的第一位姿,并将所述移动终端拍摄的图像和所述第一位姿发送给所述边缘服务器;
52.所述边缘服务器用于根据所述移动终端拍摄的图像获取所述视觉特征,根据所述第一位姿和所述视觉特征计算得到所述局部地图,对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
53.所述移动终端还用于根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体;
54.其中,所述第一预设阈值小于所述第二预设阈值。
55.所述的基于协同计算的虚拟物体显示系统,其中,当所述移动终端与边缘服务器之间的网速大于所述第一预设阈值且小于所述第二预设阈值时:
56.所述移动终端用于计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征,将所述第一位姿和所述视觉特征发送至所述边缘服务器;
57.所述边缘服务器用于根据所述第一位置和所述视觉特征计算得到所述局部地图,对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
58.所述移动终端用于根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体。
59.所述的基于协同计算的虚拟物体显示系统,其中,所述系统还包括云端服务器,所述边缘服务器包括地图更新模块;
60.所述地图更新模块用于在接收所述移动终端发送的所述局部地图后,对所述局部地图进行优化并更新所述局部地图,将更新后的所述局部地图发送给所述云端服务器;
61.所述云端服务器用于根据多个所述移动终端对应的所述局部地图获取全局地图,将所述全局地图发送给所述边缘服务器;
62.所述地图更新模块还用于根据所述移动终端的位置指纹在所述全局地图中确定所述移动终端对应的所述全局子地图,将所述全局子地图发送给所述移动终端。
63.所述的基于协同计算的虚拟物体显示系统,其中,所述移动终端包括第二位姿计算模块和位姿矫正模块;
64.所述第二位姿计算模块用于根据所述全局子地图计算所述移动终端在第k帧图像时的所述第二位姿;
65.所述位姿矫正模块用于根据所述第k帧图像时的所述第二位姿获取所述移动终端在第l帧图像时的所述第二位姿,其中,l≥k。
66.所述的基于协同计算的虚拟物体显示系统,其中,所述位姿矫正模块包括转换矩阵计算单元和位姿获取单元;
67.所述转换矩阵计算单元用于根据所述第k帧图像时的所述第二位姿获取所述第k帧图像时的目标转换矩阵,其中,所述目标转换矩阵为将局部坐标系中的三维坐标变换到世界坐标系的变换矩阵;
68.所述位姿获取单元用于根据所述第k帧图像时的所述目标转换矩阵和所述移动终端在所述第l帧图像时的所述第一位姿获取所述移动终端在所述第l帧图像时的所述第二位姿。
69.所述的基于协同计算的虚拟物体显示系统,其中,所述转换矩阵计算单用具体用于根据第一预设公式计算所述目标转换矩阵;
70.所述第一预设公式为:
71.g
t
l,k
=gt
c,k
(
l
t
c,k
)-1

72.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,k
表示所述移动终端在所述第k帧时的所述第二位姿,
l
t
c,k
表示所述移动终端在所述第k帧图像时的所述第一位姿。
73.所述的基于协同计算的虚拟物体显示系统,其中,所述位姿获取单元具体用于根据第二预设公式计算所述移动终端在所述第l帧图像时的所述第二位姿;
74.所述第二预设公式为:
75.g
t
c,l
=gt
l,kl
t
c,l

76.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,l
表示所述移动终端在所述第l帧图像时的所述第二位姿,
l
t
c,l
表示所述移动终端在所述第l帧图像时的所述第一位姿。
77.与现有技术相比,本发明提供了一种基于协同计算的虚拟物体显示方法及系统,
所述的基于协同计算的虚拟物体显示方法,移动终端和边缘服务器均可以进行视觉特征提取和局部地图计算,在网速较低时,由移动终端在本地根据拍摄的图像提取视觉特征,并计算局部地图,再将局部地图发送给边缘服务器以获得全局地图,在网速较高时,移动终端将拍摄的图像发送给边缘服务器,边缘服务器根据拍摄的图像提取视觉特征并计算局部地图再发送给移动终端,这样,在网速较低的时候,移动终端在本地根据拍摄的图像提取视觉特征并计算局部地图,不需要边缘服务器和移动终端之间的图像和地图数据传输过程,能够保证位姿数据输出的实时性,保证用户体验,而在网速较高的时候,移动终端将拍摄的图像发送给边缘服务器进行计算,由于网速较高,数据传输耗时少,在保证位姿数据输出的实时性的同时,也可以使得移动终端上不需要一直运行高算力要求的算法,降低了移动终端的功耗。
附图说明
78.图1为本发明提供的基于协同计算的虚拟物体显示方法的实施例中的流程图;
79.图2为本发明提供的基于协同计算的虚拟物体显示方法的实施例中端-边-云上分别设置的算法模块的示意图;
80.图3为本发明提供的基于协同计算的虚拟物体显示方法的实施例中第一种网络条件下移动终端和边缘服务器上运行的算法模块的示意图;
81.图4为本发明提供的基于协同计算的虚拟物体显示方法的实施例中第二种网络条件下移动终端和边缘服务器上运行的算法模块的示意图;
82.图5为本发明提供的基于协同计算的虚拟物体显示方法的实施例中第三种网络条件下移动终端和边缘服务器上运行的算法模块的示意图;
83.图6为本发明提供的基于系统计算的虚拟物体显示方法的实施例中三种网速条件下移动终端和边缘服务器上开启和关闭算法模块的逻辑示意图;
84.图7为本发明提供的基于协同计算的虚拟物体显示系统的实施例的结构原理图。
具体实施方式
85.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
86.本发明提供的基于协同计算的虚拟物体显示方法,可以应用于一种基于协同计算的虚拟物体显示系统中,所述系统中包括移动终端和边缘服务器,所述移动终端和所述边缘服务器之间可以进行通信,所述移动终端后的所述边缘服务器共同执行实现本发明提供的基于协同计算的虚拟物体显示方法。
87.实施例一
88.在本发明中,移动终端和边缘服务器协同完成虚拟物体显示,具体地,如图2所示,所述移动终端和所述边缘服务器上均布置有特征模块和地图模块,特征模块用于根据输入的图像提取视觉特征,地图模块用于根据视觉特征和所述移动终端在局部坐标系下的位姿计算局部地图,所述移动终端和所述边缘服务器上还均设置有通信模块以使得二者之间可以进行数据的传输。本发明中根据所述移动终端和所述边缘服务器之间的网速确定所述移
动终端和所述边缘服务器上的特征模块和地图模块是否打开,即在不同的网速条件下,所述移动终端和所述边缘服务器上执行的计算内容不同。所述移动终端和所述边缘服务器之间的网速可以由所述移动终端上设置的通信模块或者是所述边缘服务器上设置的通信模块获取。如图1所示,所述基于协同计算的虚拟物体显示方法的一个实施例中,当所述移动终端与所述边缘服务器之间的网速小于第一预设阈值时,包括步骤:
89.s110、所述移动终端计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征;
90.s120、所述移动终端根据所述第一位姿和所述视觉特征计算得到局部地图,将所述局部地图发送给所述边缘服务器。
91.当所述移动终端与所述边缘服务器之间的网速大于第二预设阈值时,包括步骤:
92.s210、所述移动终端计算所述移动终端在第一坐标下的第一位姿,并将所述移动终端拍摄的图像和所述第一位姿发送给所述边缘服务器;
93.s220、所述边缘服务器根据所述移动终端拍摄的图像获取所述视觉特征,根据所述第一位姿和所述视觉特征计算得到所述局部地图。
94.其中,所述第二预设阈值大于所述第一预设阈值。
95.当所述移动终端与所述边缘服务器之间的网速小于第一预设阈值时,所述网速较慢,说明所述移动终端和所述边缘服务器之间的数据传输耗费的时间会变长,特别是数据量较大的图像,会造成较大的延时,影像用户的实时性体验。如图3所示,在本实施例中,当所述移动终端与所述边缘服务器之间的网速小于第一预设阈值时,所述移动终端上的特征模块和地图模块均打开,所述移动终端拍摄图像后,在所述移动终端本地进行视觉特征的计算。具体地,提取视觉特征包括图像中特征点的检测和描述,可以利用已有的开源算法实现,例如,特征点检测算法包括fast、orb、dog、shi-tomasi、harris算法等,描述算法包括brief、rbrief、orb、sift算法等。所述特征模块的输出的2d特征为标准数据,例如特征点在图像上的2d坐标、特征点的特征描述。所述移动终端还计算所述移动终端在第一坐标系下的第一位姿,所述第一坐标系是所述移动终端的局部坐标系,也就是说,所述第一坐标系是以所述移动终端上的某一点为坐标系的原点。所述移动终端的所述第一位姿的数据可以是由slam/vio/vo模块计算,这个模块可以为非开源api、开源程序,该模块的输出为标准数据,例如,姿态为四元数、位置为三维坐标。在得到所述第一位姿和所述视觉特征后,可以通过地图模块计算所述移动终端的局部地图,地图模块的计算,包括3d特征计算、关键帧位姿计算,该模块可以利用非开源api、开源代码,该模块同样输出标准数据,例如关键帧上的2d特征、3d特征、位姿。具体地,2d特征、3d特征使用的特征描述可以是已有的或者新开发的,数据格式要求规范化,3d特征中的3d数据、关键帧的位置为三维坐标、关键帧的姿态为四元数,地图模块输出的2d特征与特征模块输出的2d特征的数据为同一标准。所述移动终端计算得到所述局部地图后,将所述局部地图发送给所述边缘服务器。
96.而当所述移动终端和所述边缘服务器之间的网速大于第二预设阈值时,说明网速较快,所述移动终端和所述边缘服务器之间的数据传输速度较大,造成的时延影响很小,此时为了防止所述移动终端上持续进行算力很高的运算导致所述移动终端功耗过大而发热,影响电池寿命,在本实施例中,如图4所示,当所述移动终端和所述边缘服务器之间的网速大于所述第二预设阈值时,关闭所述移动终端上的所述特征模块和所述地图模块,而所述
边缘服务器上的所述特征模块和所述地图模块被打开。所述移动终端拍摄图像后,将拍摄的图像和所述移动终端计算得到的所述第一位姿发送给所述边缘服务器,所述边缘服务器进行视觉特征提取获取所述视觉特征后,根据所述第一位姿和所述视觉特征计算得到所述移动终端对应的所述局部地图。
97.在一种可能的实现方式中,当所述移动终端和所述边缘服务器之间的网速大于所述第一预设阈值且小于所述第二预设阈值时,为了兼顾虚拟物体显示的实时性和所述移动终端的功耗,如图5所示,所述移动终端上的特征模块打开,地图模块关闭,所述边缘服务器上的特征模块关闭,地图模块打开。即,当所述移动终端和所述边缘服务器之间的网速大于所述第一预设阈值且小于所述第二预设阈值时,本实施例提供的虚拟物体显示方法包括:
98.s310、所述移动终端计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征,将所述第一位姿和所述视觉特征发送至所述边缘服务器;
99.s320、所述边缘服务器根据所述第一位姿和所述视觉特征计算得到所述局部地图。
100.在所述移动终端和所述边缘服务器之间的网速大于所述第一预设阈值且小于所述第二预设阈值时,说明网速一般,此时将数据量较大的图片留在所述移动终端本地进行特征提取,将提取出来的特征发送给所述边缘服务器进行局部地图的计算。这样可以实现所述虚拟物体显示计算的实时性和所述移动终端的功耗之间的平衡。
101.根据所述移动终端和所述边缘服务器之间的网速不同,所述移动终端和所述边缘服务器上的特征模块和地图模块的开启和关闭逻辑总图如图6所示。
102.所述边缘服务器为所述移动终端周边的算力高于所述移动终端的计算设备,例如计算机或专用服务器,一个所述边缘服务器对应多个所述移动终端,在获取到单个所述移动终端的所述局部地图后,需要对多个所述移动终端的所述局部地图进行融合,形成全局地图。具体地,如图1所示,在所述边缘服务器获取到所述局部地图之后,本实施例提供的基于协同计算的虚拟物体显示方法,还包括步骤:
103.s300、所述边缘服务器对所述局部地图进行更新,并获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
104.s400、所述移动终端根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体。
105.所述边缘服务器获取到所述移动终端对应的所述局部地图后,对所述局部地图进行更新,具体地,所述边缘服务器上可以设置有地图更新模块,在接收到所述移动终端对应的所述局部地图后,地图更新模块对其进行优化得到更加准确的局部地图,所述边缘服务器上的地图更新模块主要利用闭环矫正算法、非线性优化算法实现地图更新。
106.所述边缘服务器在更新所述局部地图后,根据更新后的所述局部地图获取所述移动终端对应的全局子地图。所述边缘服务器对所述局部地图进行更新,并获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端,包括:
107.所述边缘服务器接收所述移动终端发送的所述局部地图后,对所述局部地图进行优化并更新所述局部地图;
108.所述边缘服务器将更新后的所述局部地图发送给云端服务器;
109.所述云端服务器根据多个所述移动终端对应的所述局部地图获取全局地图,将所述全局地图发送给所述边缘服务器;
110.所述边缘服务器根据所述移动终端的位置指纹在所述全局地图中确定所述移动终端对应的所述全局子地图,将所述全局子地图发送给所述移动终端。
111.具体地,如图2所示,本实施例中,slam系统中还包括云端服务器,所述云端服务器中设置有地图更新模块,系统中每一个所述移动终端对应的所述局部地图都被发送至所述云端服务器中的地图更新模块,所述云端服务器中的地图更新模块利用闭环矫正算法、非线性优化算法将所有的所述局部地图融合为在同一个坐标系(全局坐标系)下的全局地图。
112.所述边缘服务器上为每一个邻近的所述移动终端提供一个地图存储空间,每个存储空间保存对应的所述移动终端的局部地图,这个局部地图可以包括所述移动终端经历的所有场景,因此,所述边缘服务器上的局部地图的大小可能远大于端上的局部地图,所述云端服务器将所述全局地图发送至所述边缘服务器,所述边缘服务器接收到所述云端服务器传回的所述全局地图后,将用这个传回的所述全局地图直接替代原来的地图数据,也就是说,这时边缘服务器上存储的地图将为全局地图。所述边缘服务器在获取到所述全局地图后,根据所述全局地图获取其对应的所述移动终端(即所述边缘服务器邻近的所述移动终端)的全局子地图并发送给相应的所述移动终端。所述边缘服务器根据各个所述移动终端的位置指纹从所述全局地图中划分所述移动终端对应的那一部分作为所述移动终端的所述全局子地图并发送给所述移动终端。
113.所述移动终端接收到所述全局子地图后,根据所述全局子地图计算在第二坐标系下的第二位姿。
114.所述第二坐标系为全局坐标系,所述全局地图是所述云端服务器将所有的所述移动终端的所述局部地图融合在所述第二坐标系下的地图,所述第二坐标系可以为世界坐标系。具体地,所述移动终端根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,包括:
115.所述移动终端根据所述全局子地图计算所述移动终端在第k帧图像时的所述第二位姿;
116.所述移动终端根据所述第k帧图像时的所述第二位姿获取所述移动终端在第l帧图像时的所述第二位姿,其中,l≥k。
117.所述移动终端可以通过pnp、epnp、3d-3d等配准算法根据所述全局子地图计算所述移动终端在各帧图像时的所述第二位姿。
118.为了减小所述移动终端上计算所述第一位姿时不断累积的位姿误差,保证显示的虚拟物体位姿准确,在本实施例中,根据所述移动终端在所述第k帧图像时的所述第二位姿进行位姿矫正,来获取所述移动终端在第l帧图像时的所述第二位姿,l≥k。
119.所述移动终端根据所述第k帧图像时的所述第二位姿获取所述移动终端在第l帧图像时的所述第二位姿,包括:
120.所述移动终端根据所述第k帧图像时的所述第二位姿获取所述第k帧图像时的目标转换矩阵,其中,所述目标转换矩阵为将所述第一坐标系中的三维坐标变换到所述第二坐标系的变换矩阵;
121.所述移动终端根据所述第k帧图像时的所述目标转换矩阵和所述移动终端在所述
第l帧图像时的所述第一位姿获取所述移动终端在所述第l帧图像时的所述第二位姿。
122.令所述移动终端在所述第k帧图像时根据所述全局子地图计算得到的在所述第二坐标系下的所述第二位姿为gt
l,k
,它表示第k帧图像对应的时刻将相机坐标系下表示的三维坐标变换到所述第二坐标系下表示时对应的变换矩阵,令所述移动终端在所述第k帧图像时计算得到的在所述第一坐标系下的所述第一位姿为
l
t
c,k
,那么有:
123.g
t
c,k
=gt
l,kl
t
c,k

124.g
t
l,k
表示第k帧图像时将所述第一坐标系中的三维坐标变换到所述第二坐标系的变换矩阵(即所述目标转换矩阵),那么,所述移动终端根据所述第k帧图像时的所述第二位姿获取所述第k帧图像时的目标转换矩阵,包括:
125.所述移动终端通过第一预设公式获取所述目标转换矩阵;
126.所述第一预设公式为:
127.g
t
l,k
=gt
c,k
(
l
t
c,k
)-1

128.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,k
表示所述移动终端在所述第k帧时的所述第二位姿,
l
t
c,k
表示所述移动终端在所述第k帧图像时的所述第一位姿。
129.利用第k帧图像时的所述目标转换矩阵作为后续位姿数据矫正的依据,在后续第l帧图像时,通过第二预设公式获取所述移动终端在所述第l帧图像时的第二位姿,所述第二预设公式为:
130.g
t
c,l
=gt
l,kl
t
c,l

131.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,l
表示所述移动终端在所述第l帧图像时的所述第二位姿,
l
t
c,l
表示所述移动终端在所述第l帧图像时的所述第一位姿。
132.也就是说,为了防止所述移动终端不断累积的位姿误差,在计算第l帧的所述第二位姿时,是采用根据第l帧之前的第k帧计算的所述第二位姿得到的所述目标转换矩阵来计算。可以每隔固定的时长更新一次所述目标转换矩阵,即l-k<n,也就是说,每次利用所述目标转换矩阵计算得到某一帧的所述第二位姿时,是根据与该帧的时间间隔在一定阈值内的帧对应的所述目标转换矩阵来计算的。这样,可以有效减小位姿的累计误差。
133.综上所述,本实施例提供一种基于协同计算的虚拟物体显示方法中,移动终端和边缘服务器均可以进行视觉特征提取和局部地图计算,在网速较低时,由移动终端在本地根据拍摄的图像提取视觉特征,并计算局部地图,再将局部地图发送给边缘服务器以获得全局地图,在网速较高时,移动终端将拍摄的图像发送给边缘服务器,边缘服务器根据拍摄的图像提取视觉特征并计算局部地图再发送给移动终端,这样,在网速较低的时候,移动终端在本地根据拍摄的图像提取视觉特征并计算局部地图,不需要边缘服务器和移动终端之间的图像和地图数据传输过程,能够保证位姿数据输出的实时性,保证用户体验,而在网速较高的时候,移动终端将拍摄的图像发送给边缘服务器进行计算,由于网速较高,数据传输耗时少,在保证位姿数据输出的实时性的同时,也可以使得移动终端上不需要一直运行高算力要求的算法,降低了移动终端的功耗。
134.应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有
明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
135.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
136.实施例二
137.基于上述实施例,本发明还相应提供了一种基于协同计算的虚拟物体显示系统,如图7所示,所述系统包括:移动终端以及边缘服务器;
138.当所述移动终端与所述边缘服务器之间的网速小于第一预设阈值时;
139.所述移动终端用于计算所述移动终端在第一坐标系下的第一位姿,并根据所述移动终端拍摄的图像获取视觉特征,根据所述第一位姿和所述视觉特征计算得到局部地图,将所述局部地图发送给所述边缘服务器;
140.所述边缘服务器用于对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
141.所述移动终端还用于根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体;
142.当所述移动终端与所述边缘服务器之间的网速大于第二预设阈值时:
143.所述移动终端用于计算所述移动终端在第一坐标系下的第一位姿,并将所述移动终端拍摄的图像和所述第一位姿发送给所述边缘服务器;
144.所述边缘服务器用于根据所述移动终端拍摄的图像获取所述视觉特征,根据所述第一位姿和所述视觉特征计算得到所述局部地图,对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
145.所述移动终端还用于根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体;
146.其中,所述第一预设阈值小于所述第二预设阈值,具体如实施例一中所述。
147.当所述移动终端与边缘服务器之间的网速大于所述第一预设阈值且小于所述第二预设阈值时:
148.所述移动终端用于计算所述移动终端在第一坐标系下的第一位姿,并根据所述移
动终端拍摄的图像获取视觉特征,将所述第一位姿和所述视觉特征发送至所述边缘服务器;
149.所述边缘服务器用于根据所述第一位置和所述视觉特征计算得到所述局部地图,对所述局部地图进行更新,获取所述移动终端对应的全局子地图,将所述全局子地图发送给所述移动终端;
150.所述移动终端用于根据所述全局子地图计算所述移动终端在第二坐标系下的第二位姿,根据所述第二位姿显示虚拟物体,具体如实施例一中所述。
151.所述系统还包括云端服务器,所述边缘服务器包括地图更新模块;
152.所述地图更新模块用于在接收所述移动终端发送的所述局部地图后,对所述局部地图进行优化并更新所述局部地图,将更新后的所述局部地图发送给所述云端服务器;
153.所述云端服务器用于根据多个所述移动终端对应的所述局部地图获取全局地图,将所述全局地图发送给所述边缘服务器;
154.所述地图更新模块还用于根据所述移动终端的位置指纹在所述全局地图中确定所述移动终端对应的所述全局子地图,将所述全局子地图发送给所述移动终端,具体如实施例一中所述。
155.所述移动终端包括第二位姿计算模块和位姿矫正模块;
156.所述第二位姿计算模块用于根据所述全局子地图计算所述移动终端在第k帧图像时的所述第二位姿;
157.所述位姿矫正模块用于根据所述第k帧图像时的所述第二位姿获取所述移动终端在第l帧图像时的所述第二位姿,其中,l≥k,具体如实施例一中所述。
158.所述位姿矫正模块包括转换矩阵计算单元和位姿获取单元;
159.所述转换矩阵计算单元用于根据所述第k帧图像时的所述第二位姿获取所述第k帧图像时的目标转换矩阵,其中,所述目标转换矩阵为将局部坐标系中的三维坐标变换到世界坐标系的变换矩阵;
160.所述位姿获取单元用于根据所述第k帧图像时的所述目标转换矩阵和所述移动终端在所述第l帧图像时的所述第一位姿获取所述移动终端在所述第l帧图像时的所述第二位姿,具体如实施例一中所述。
161.所述转换矩阵计算单用具体用于根据第一预设公式计算所述目标转换矩阵;
162.所述第一预设公式为:
163.g
t
l,k
=gt
c,k
(
l
t
c,k
)-1

164.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,k
表示所述移动终端在所述第k帧时的所述第二位姿,
l
t
c,k
表示所述移动终端在所述第k帧图像时的所述第一位姿,具体如实施例一中所述。
165.所述位姿获取单元具体用于根据第二预设公式计算所述移动终端在所述第l帧图像时的所述第二位姿;
166.所述第二预设公式为:
167.g
t
c,l
=gt
l,kl
t
c,l

168.其中,gt
l,k
表示所述第k帧图像时的所述目标转换矩阵,gt
c,l
表示所述移动终端在所述第l帧图像时的所述第二位姿,
l
t
c,l
表示所述移动终端在所述第l帧图像时的所述第一
位姿,具体如实施例一中所述。
169.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献