一种大场景元宇宙空间叠加方法和装置与流程

文档序号:33325855发布日期:2023-03-03 23:11阅读:26来源:国知局
一种大场景元宇宙空间叠加方法和装置与流程

1.本发明涉及元宇宙技术领域,还涉及空间定位技术领域,具体涉及一种大场景元宇宙空间叠加方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.元宇宙是一种集合了信息技术、通信技术、ar、vr等虚拟技术的一种开放与共享的线上平台,是一个巨大的、正在发展的虚拟宇宙。虽然受限于现有技术的发展水平,目前的应用场景主要包括游戏、社交、广告营销与宣传和虚拟办公等等,但是随着时间的推移、技术的提高,应用场景将越来越多,也会有越来越多的人将进入元宇宙生活。其中,元宇宙空间是这个虚拟宇宙的基本载体,元宇宙空间的构建质量直接地影响着元宇宙中的各种场景及人们的体验。
3.根据元宇宙空间与现实世界的关联可以大致分为三种:一种是与现实世界完全脱离的数字世界,如一些游戏公司创建的一些在线游戏,人们进入游戏后,置身于另一个与现实完全不同的空间;另一种是虚拟空间和现实空间叠加整合后的融合空间,例如目前采用ar技术依据当前环境创建一个与现实完全重合的数字空间,通过在该空间内填加虚拟标识、三维模型从而达到增强现实的目的;第三种是1:1复原、模拟现实空间的虚拟空间,如虚拟办公场景中的虚拟空间等。当然,还有一些上述各种情况的交叉、融合,例如,将与现实空间1:1的虚拟空间叠加到现实空间内,与现实空间融合在一起。
4.为了将虚拟空间的数字内容与现实空间融合在一起,ar设备通常采用视觉识别、v-slam等技术创建与现实叠加的数字空间,再将数字内容融合到数字空间。其中,在向数字空间叠加虚拟空间时,需要对现实空间场景进行识别,并对设备在现实空间的位置进行准确定位,从而确定在虚拟空间的位置。在通常的场景下,通过识别到的现实场景中的实体结构特征能够比较好地完成场景识别和定位,然而对于一些空间实体少的一些大场景,如空旷的海边、海面、沙漠、大广场等室外场景,由于空间实体的视觉特征过少,传统的视觉定位方法无法有效地识别现实场景,进而影响定位的准确性,从而使得虚拟空间与现实空间的叠加效果不好,最终影响到数字内容与现实空间的融合效果。


技术实现要素:

5.有鉴于此,本发明实施例提供一种大场景元宇宙空间叠加方法、装置、电子设备、计算机可读存储介质及计算机程序产品,用于解决在大场景中,由于无法有效识别当前场景而导致元宇宙空间叠加效果不好的技术问题。
6.根据本发明的一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加方法,包括以下步骤:
7.实时获取当前大场景环境的视觉图像、终端设备传感数据和终端设备的gps数据,其中,所述终端设备传感数据至少包括imu数据和地磁数据;
8.基于当前大场景环境的视觉图像进行视觉特征提取;对所述imu数据进行处理得
到终端设备的位姿数据;基于gps数据和地磁数据得到终端设备的地理位置平面坐标;
9.基于当前环境的视觉图像和终端设备的位姿数据构建与当前环境重合的三维ar数字空间;
10.基于终端设备的gps数据或地理位置平面坐标从元宇宙系统获取用于叠加的1:1的元宇宙虚拟空间及当前大场景的虚拟三维空间模型;
11.基于提取到的视觉特征、地理位置平面坐标和当前大场景的虚拟三维空间模型进行视觉定位以得到现实空间三维坐标;
12.基于所述现实空间三维坐标和终端设备当前的位姿数据确定终端设备在元宇宙虚拟空间的虚拟空间位置;以及
13.按照虚拟空间位置将元宇宙虚拟空间融合到ar数字空间中。
14.根据本发明的另一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加方法,所述方法应用于终端设备,包括以下步骤:
15.实时获取当前大场景环境的视觉图像、终端设备传感数据和终端设备的gps数据,其中,所述终端设备传感数据至少包括imu数据和地磁数据;
16.基于当前大场景环境的视觉图像进行视觉特征提取;对所述imu数据进行处理得到终端设备的位姿数据;基于gps数据和地磁数据得到终端设备的地理位置平面坐标;
17.基于当前环境的视觉图像和终端设备的位姿数据构建与当前环境重合的三维ar数字空间;
18.向服务器发送终端设备的gps数据或地理位置平面坐标及请求,获取用于叠加的1:1的元宇宙虚拟空间;
19.向服务器发送当前大场景环境的视觉图像或基于当前大场景环境的视觉图像提取的视觉特征信息,以及终端设备的地理位置平面坐标,并从服务器接收一个或多个第一预估三维坐标;
20.在得到多个第一预估三维坐标时,从所述传感数据中获取气压数据,基于所述气压数据计算终端设备的海拔高度;
21.计算所述海拔高度与每个第一预估三维坐标中的高度坐标的差值,将差值最小的第一预估三维坐标作为现实空间三维坐标;
22.基于所述现实空间三维坐标和终端设备当前的位姿数据确定终端设备在元宇宙虚拟空间的虚拟空间位置;以及
23.按照虚拟空间位置将元宇宙虚拟空间融合到ar数字空间中。
24.根据本发明的另一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加方法,所述方法应用于终端设备,包括以下步骤:
25.实时获取当前大场景环境的视觉图像、终端设备传感数据和终端设备的gps数据,其中,所述终端设备传感数据包括imu数据、地磁数据和气压数据;
26.对所述imu数据进行处理得到终端设备的位姿数据;基于gps数据和地磁数据得到终端设备的地理位置平面坐标;基于所述气压数据计算终端设备的海拔高度;
27.基于当前环境的视觉图像和终端设备的位姿数据构建与当前环境重合的三维ar数字空间;
28.向服务器发送终端设备的gps数据或地理位置平面坐标及请求,获取用于叠加的
1:1的元宇宙虚拟空间;
29.向服务器发送当前大场景环境的视觉图像、终端设备的地理位置平面坐标和终端设备的海拔高度,并从服务器接收终端设备在当前大场景的现实空间三维坐标;
30.基于所述现实空间三维坐标和终端设备当前的位姿数据确定终端设备在元宇宙虚拟空间的虚拟空间位置;以及
31.按照虚拟空间位置将元宇宙虚拟空间融合到ar数字空间中
32.根据本发明的另一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加方法,所述方法应用于服务器,包括以下步骤:
33.响应于终端设备发送的定位请求时,从定位请求中获取终端设备的地理位置平面坐标和当前大场景环境的视觉特征信息;
34.基于当前大场景的虚拟三维空间模型对提取到的视觉特征进行场景匹配以得到预估位置数组,所述预估位置数组包括多个分别对应一个与视觉特征匹配的预估场景的预估三维坐标;
35.基于地理位置平面坐标从所述预估位置数组中筛选出一个或多个第一预估三维坐标,并发送给所述终端设备;以及
36.响应于接收到终端设备发送的元宇宙虚拟空间请求,将对应所述请求的元宇宙虚拟空间数据返回给所述终端设备。
37.根据本发明的另一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加方法,所述方法应用于服务器,包括以下步骤:
38.响应于终端设备发送的定位请求时,从定位请求中获取终端设备的地理位置平面坐标、当前大场景环境的视觉图像和终端设备的海拔高度;
39.从当前大场景环境的视觉图像中提取到视觉特征;
40.基于海拔高度确定当前大场景的虚拟三维空间模型中的匹配范围;
41.在所述匹配范围对提取到的视觉特征进行场景匹配以得到预估位置数组,所述预估位置数组包括多个分别对应一个与视觉特征匹配的预估场景的预估三维坐标;
42.基于地理位置平面坐标从所述预估位置数组中筛选出一个预估三维坐标作为现实空间三维坐标,并发送给所述终端设备;以及
43.响应于接收到终端设备发送的元宇宙虚拟空间请求,将对应所述请求的元宇宙虚拟空间数据返回给所述终端设备。
44.根据本发明的另一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加装置,所述装置应用于终端设备,包括以下模块:
45.客户端通信模块,经配置以与服务端进行数据传输;
46.数据获取模块,经配置以实时获取当前大场景环境的视觉图像、终端设备传感数据和终端设备的gps数据,其中,所述终端设备传感数据至少包括imu数据和地磁数据;
47.数据预处理模块,其与所述数据获取模块相连接,经配置以基于当前大场景环境的视觉图像进行视觉特征提取;对所述imu数据进行处理得到终端设备的位姿数据;基于gps数据和地磁数据得到终端设备的地理位置平面坐标;
48.数字空间构建模块,其与所述数据获取模块和数据预处理模块相连接,经配置以基于当前环境的视觉图像和终端设备的位姿数据构建与当前环境重合的三维ar数字空间;
49.请求模块,其与所述数据获取模块、数据预处理模块和客户端通信模块相连接,经配置以向服务器发送定位请求,所述定位请求至少包括视觉特征信息和地理位置平面坐标;向服务器发送元宇宙虚拟空间请求;
50.第一定位模块,其与客户端通信模块和所述数据获取模块和相连接,经配置以从服务器返回的定位数据中的多个分别对应一个预估场景的第一预估三维坐标中确定一个作为现实空间三维坐标;
51.第二定位模块,其与所述第一定位模块相连接,经配置以基于所述现实空间三维坐标和终端设备当前的位姿数据确定终端设备在元宇宙虚拟空间的虚拟空间位置;以及
52.空间融合模块,其与所述数字空间构建模块、客户端通信模块和第二定位模块相连接,经配置以将服务器返回的元宇宙虚拟空间按照虚拟空间位置融合到三维ar数字空间中进行增强显示。
53.根据本发明的另一个方面,本发明提供了一种大场景元宇宙虚拟空间叠加装置,所述装置应用于服务器,包括以下模块:
54.服务端通信模块,经配置以与终端设备进行数据传输,其中,接收终端设备发送的定位请求和元宇宙虚拟空间请求,所述定位请求包括地理位置平面坐标和当前大场景环境的视觉特征信息;
55.视觉定位模块,其与所述服务端通信模块相连接,经配置以基于定位请求,基于当前大场景的虚拟三维空间模型对视觉特征进行场景匹配以得到预估位置数组,所述预估位置数组包括多个分别对应一个与视觉特征匹配的预估场景的预估三维坐标;
56.定位数据筛选模块,其与所述视觉定位模块相和服务端通信模块连接,经配置以基于地理位置平面坐标从所述预估位置数组中筛选出一个或多个第一预估三维坐标,并经所述服务端通信模块发送给所述终端设备;以及
57.资源处理模块,其与所述服务端通信模块相连接,经配置以基于终端设备发送的元宇宙虚拟空间请求时,将对应所述请求的元宇宙虚拟空间数据返回给所述终端设备。
58.根据本发明的另一个方面,本发明提供了一种电子设备,包括处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现前述在终端设备中应用的大场景元宇宙虚拟空间叠加方法;或者,所述处理器执行所述计算机程序指令时实现前述的在服务器中应用的大场景元宇宙虚拟空间叠加方法。
59.根据本发明的另一个方面,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述在终端设备中应用的大场景元宇宙虚拟空间叠加方法;或者,实现前述的在服务器中应用的大场景元宇宙虚拟空间叠加方法。
60.根据本发明的另一个方面,本发明提供了一种计算机程序产品,其特征在于,其包括计算机程序指令,所述计算机程序指令被处理器执行时实现前述在终端设备中应用的大场景元宇宙虚拟空间叠加方法;或者,实现前述的在服务器中应用的大场景元宇宙虚拟空间叠加方法。
61.本发明在终端设备所在场景大、视觉特征少、单调等情况下,通过地理位置坐标的辅助可以快速确定终端设备的空间位置,减少了视觉定位的计算量,提高了定位的准确性和速度,从而能够响应终端用户在大场景中的移动速度,使终端用户通过终端设备看到的
mounted displays,hmd)、智能手套、服饰等智能可穿戴电子设备。在一些示例中,终端设备20可为通用的ar设备,例如手机、便携式计算机、笔记本电脑、平板电脑、虚拟现实(virtual reality,vr)设备、车载设备、导航设备、游戏设备等等。
79.以ar头盔或ar眼镜为例,可将头戴式显示器、机器视觉系统、移动计算机等集成,设置在可绑定佩戴的设备中,该设备具有外形类似眼镜的显示器,工作时佩戴在使用者头部,该设备能将增强现实类信息传输至显示器上或投射至使用者的眼球中,从而增强用户的视觉沉浸感。在一些示例中,ar设备还具有摄像头,可为广角摄像头、长焦摄像头,还可为结构光摄像头(也称点云深度摄像头、3d结构光摄像头或深度摄像头)。其中结构光摄像头基于3d视觉技术,可获取物体的平面和深度信息。结构光摄像头可通过近红外激光器将具有一定结构特征的光线投射到被拍摄物体上,再由红外摄像头采集反射光,由处理器芯片处理,其计算原理是根据物体导致的光信号的变化计算物体位置和深度信息,呈现3d图像。通常的终端设备例如手机上呈现二维图像,并不能显示图像上不同位置的深度,利用结构光摄像头可拍摄获取3d图像信息数据,即不仅可获得图像中不同位置的颜色等信息,还可获得不同位置的深度信息,可用于ar测距。当然,普通的终端设备也可以基于光学摄像头采集2d图像并结合深度学习算法等方式获取2d图像的深度信息,最终也可呈现3d图像。
80.在一些示例中,终端设备20中安装有具备ar功能的软件或应用程序app。服务器10可以是该软件或app的管理服务器或应用服务器。服务器10可以为一台服务器,也可以为多台服务器组成的服务器集群,也可以为云服务器或称云端服务器等。终端设备20中集成有具备联网功能的模块,例如无线保真(wireless-fidelity,wifi)模块、蓝牙模块、2g/3g/4g/5g通信模块等,以便通过网络连接到服务器10。
81.示例性地,用户可通过安装在手机中的app登录用户账号,用户还可通过安装在ar眼镜中的软件登录用户账号。
82.以具备ar导航功能的app为例,app可以具备例如高精地图导航能力、环境理解能力和虚实融合渲染能力等,app可通过终端设备20向服务器10上报当前地理位置信息,服务器10基于实时地理位置信息为用户提供ar导航服务。示例性地,以终端设备20是手机为例,响应于用户启动app的操作,手机可启动摄像头采集现实环境的图像,然后通过系统对摄像头采集的现实环境图像进行ar增强,在现实环境图像中融入或叠加渲染的ar效果(例如导航路线标识、道路名称、商户信息、广告展示等),将虚实融合的图像展示在手机屏幕上。
83.图2示意性地示出了一种利用手机端app进行ar导航的虚实融合图像,其中ar导航的指示箭头叠加在图中真实的路面上及空间中,商户促销的电子资源以降落伞携带礼盒的形式漂浮在空间中的指定位置。
84.本发明的实施例涉及终端设备和/或服务器。以下将通过若干示例性实施例或代表性实施方式,对本发明的原理和精神进行详细阐释。
85.图3是根据本发明一个实施例的大场景元宇宙虚拟空间叠加方法流程图,在本实施例中,所述方法应用于一个ar应用中,所述ar应用例如在元宇宙虚拟空间举办的展览、创建的建筑或建筑群、制造的景观等,当终端用户启动该ar应用观看时,需要在当前的场景增强显示该元宇宙虚拟空间,具体包括以下步骤:
86.步骤s11,终端设备采集数据并发送元宇宙虚拟空间请求。其中,终端设备按照一定的频率采集视觉图像,终端设备中的一些传感器按照一定的频率采集数据。所述传感器
例如为imu单元,其采集终端设备的三轴加速度和三轴角速度,所述的传感器还例如为地磁传感器,用于采集地磁数据,所述的传感器还例如为可选地气压传感器,用于采集当前海拔的气压数据,终端设备中的gps模块获得gps数据。
87.步骤s12,进行数据处理以得到对应的数据集。其中,对采集的视觉图像进行处理得到当前空间的视觉特征,所述视觉特征包括构成空间结构的点、线、面、颜色、纹理以及深度等信息,从而构成视觉特征集合c
ti
,其中,ti对应视觉图像的拍摄时刻。例如,终端设备首先基于环境视觉图像对终端设备的相机进行滤波,例如采用中值滤波算法或高斯滤波算法去除图像中的噪声,减少干扰,而后进行标定,标定的过程包括计算摄像头的内、外参数和畸变参数。其中包括根据采集到的图像及镜头数据确定像素坐标系、图像坐标系、相机坐标系和世界坐标系,计算四个坐标系之间总的关系获得左右摄像头内参矩阵。根据摄像头的镜头数据计算左右畸变系数,进而得到径向畸变和切向畸变,从而构成了畸变矩阵。基于kruppa方程、张正友标定法得到一个摄像头相对于另一个摄像头的旋转矩阵和平移矩阵,其中所述的畸变矩阵、旋转矩阵和平移矩阵统称为外参矩阵。而后基于相机的内、外参数和畸变参数对实时采集到的环境视觉图像进行立体矫正,包括纠正畸变误差、改变视角、水平对象等,从而得到位于同一个平面的无畸变且矫正的图像。而后,终端设备基于采集到的当前环境视觉图像进行视觉特征识别。例如可以利用已训练好的3d卷积网络模型对每一帧图像进行特征检测和提取,得到多个视觉特征,所述视觉特征包括构成空间结构的点、线、面、颜色、纹理以及深度等信息。对于本发明中的大场景空间,通常只能获得极少的视觉特征,例如在一个空旷的广场,获得的视觉特征例如为地面、广场边缘的建筑等视觉特征。
88.关于imu单元采集的加速度和角速度,由于imu数据的采集频率大于视觉图像的采集频率,因而在处理imu数据时,在一个实施例中,以视觉图像的采集周期作为imu数据的处理时间段,经过预积分、积分等处理得到对应两帧视觉图像的终端设备的角度偏移量和位置偏移量,从而可以得到当前的位姿数据。
89.基于gps数据和地磁数据得到终端设备的地理位置平面坐标。其中,由于gps数据能够比较准确地表达运动状态的终端设备的位置,而当终端设备处于静止状态,基于地磁数据得到的位置比较准确,因而在一个实施例中,首先基于imu数据判断终端设备的运动状态。例如,当imu数据中当前一段时间内三轴加速度值为0时,可以确定终端设备处于静止状态,当三轴加速度值不为0时,可以确定终端设备处于运动状态。在终端设备处于静止状态时,基于地磁数据确定终端设备的地理位置平面坐标;在终端设备处于运动状态时,基于gps数据确定终端设备的地理位置平面坐标。其中,基于地磁传感器感测到当前场景中的地磁信息,经预处理后得到磁场总强度、矢量强度、磁倾角、磁偏角和强度梯度等地磁定位数据,而后根据当前地磁定位数据检索预置的当前场地的地磁定位信息表,而可以得到终端设备的地理位置平面坐标。另外,为了保持地磁数据的准确性,减少由于干扰等造成的信息误差,在终端设备处于运动状态时基于gps数据校准地磁数据。
90.基于气压传感器采集的当前海拔的气压数据计算终端设备所在的海拔高度。在通常情况下,所述海拔高度约等于终端设备距离当前场景的地面高度。
91.步骤s13,对终端设备的位置进行定位。其中包括定位初始化流程和实时定位流程,具体参见图4及其说明。通过步骤s13确定了终端设备在现实空间的位置进而确定其在元宇宙虚拟空间的虚拟位置。所述虚拟位置包括空间一点的三维坐标及位姿,位姿具体为
相对于空间坐标系三轴的角度偏移,因而虚拟位置不仅能够表达出终端设备在空间一个具体点的位置,而且可以确定其面对的具体方位,该方位对应着具体的一个空间场景。
92.步骤s14,基于当前环境的视觉图像和终端设备的位姿数据构建与当前环境重合的三维ar数字空间。
93.步骤s15,在得到终端设备在元宇宙虚拟空间的虚拟位置后,按照该位置将元宇宙虚拟空间融合到当前的三维ar数字空间,即可以在终端设备中增加显示元宇宙虚拟空间。其中,所述的元宇宙虚拟空间例如为当前现实场景的虚拟场景及在该虚拟场景中增加的虚拟建筑、景观、展览等等。当前现实场景与其虚拟场景为1:1的比例,在虚拟场景中增加的虚拟建筑、景观、展览等与现实的比例也是1:1,因而在根据终端设备在元宇宙虚拟空间的虚拟位置将元宇宙虚拟空间融合到当前的三维ar数字空间时,能够使终端用户有身临其镜的感觉,例如,当元宇宙虚拟空间中包括有虚拟建筑群时,通过定位,终端用户通过终端设备看到的是其位于融合后的虚拟建筑群中的一个具体位置,看到的建筑群是与位姿对应的场景。并且,由于本发明在步骤s13中提供的定位方法定位速度快、准确,因而能够快速响应终端用户在该场景中的移动速度,从而保证终端用户通过终端设备看到的场景自然、场景转换、变动流畅,进而提供了终端用户观看的舒适度。
94.步骤s16,判断该应用是否结束,如果结束,则停止叠加、定位等流程,如果没有,则返回步骤s13继续定位,获得实时位置,并在步骤s15中按照实时获得的位置调整元宇宙虚拟空间在三维ar数字空间显示角度。
95.图4是根据本发明一个实施例的大场景元宇宙虚拟空间叠加方法中终端设备与服务器交互实现定位初始化流程图。
96.参见图4,步骤s131,终端设备向服务器发送定位请求,在定位请求中包括当前大场景环境的视觉图像或基于当前大场景环境的视觉图像提取的视觉特征信息以及终端设备的地理位置平面坐标。在一个实施例中,终端设备处理完一个图像得到一个视觉特征集合c
ti
,并在处理完成后将其发送给服务器。在另一个实施例中,终端设备处理完多个图像,分别得到对应的视觉特征集合c
ti
后,将多个视觉特征集合cti同时发送给服务器。或者,终端设备不进行图像处理,而是直接将采集的当前大场景环境的视觉图像发送给服务器,由服务器基于当前环境视觉图像进行视觉特征识别来得到视觉特征集合c
ti

97.步骤s231,服务器接收到终端设备发送来的定位请求后,从中得到视觉特征集合c
ti
及终端设备的地理位置平面坐标。
98.步骤s232,在数据库中基于当前地点的三维虚拟场景模型进行场景检索和匹配得到预估位置数组。其中,服务器根据定位请求中的地理位置平面坐标从数据库中得到对应该地点的三维虚拟场景模型。由于本发明中终端设备所在的场景为空间特征较少的大场景,因而前述得到的视觉特征集合c
ti
中的视觉特征较少,在进行场景检索、匹配时,将得到多个与视觉特征集合c
ti
匹配的场景,在此称为预估场景,数据库中为三维虚拟场景模型标定有位置坐标,因而在确定了预估场景后即可以得到对应的预估三维坐标,从而构成预估位置数组。在确定预估场景时,在一个实施例中,按照匹配度从高到低的顺序对匹配到的场景排序,将排序在前的预置数量的场景si作为预估场景。在另一个实施例,设置匹配阈值,将匹配度大于匹配阈值的场景si作为预估场景。在得到多个预估场景时,获取对应的位置坐标(x
0i
,y
0i
,z
0i
)作为预估三维坐标,此时得到预估位置数组,其中包括多个预估三维坐
标,如[(x
01
,y
01
,z
01
),(x
02
,y
02
,z
02
)
……
(x
0i
,y
0i
,z
0i
)]。
[0099]
步骤s233,基于地理位置平面坐标从所述预估位置数组中筛选出一个或多个第一预估三维坐标。具体地,将地理位置平面坐标(x
p
,y
p
)与预估位置数组中的三维坐标(x
0i
,y
0i
,z
0i
)做交集计算。判断预估位置数组中是否有与地理位置平面坐标(x
p
,y
p
)相同三维坐标,如果有,则将与地理位置平面坐标(x
p
,y
p
)相同的三维坐标作为第一预估三维坐标。如果没有,则计算地理位置平面坐标(x
p
,y
p
)与每一个预估三维坐标中的x坐标和y坐标的差异,将差异最小的一个三维坐标作为第一预估三维坐标。在另一个实施例中,按照地理位置平面坐标(x
p
,y
p
)与每一个预估三维坐标中的x坐标和y坐标的差异值的大小排序,将最小的预置数量的预估三维坐标作为第一预估三维坐标。在又一个实施例中,还可以对得到的多个第一预估三维坐标的x坐标和y坐标进行校准,例如,计算已经确定的第一预估三维坐标中x坐标和地理位置平面坐标中x
p
坐标的平均值,将其平均值作为第一预估三维坐标的x坐标,同理得到第一预估三维坐标的y坐标,从而使发送给终端设备的第一预估三维坐标是经过校准的坐标,进而提高定位准确度。
[0100]
步骤s234,向终端设备返回视觉定位数据。在一个实施例中,服务器每得到一个拍摄时刻对应的场景的预估位置数组时,将其发送给终端设备,或者,在处理时间允许的情况下,服务器在得到多个拍摄时刻对应场景的预估位置数组时,批量发送给终端设备。
[0101]
步骤s132,终端设备接收到服务器返回的预估位置数据后,根据气压数据得到的海拔高度从多个第一预估三维坐标中确定一个作为将现实空间三维坐标。在一个实施例中,计算所述海拔高度与每个第一预估三维坐标中的高度坐标的差值,将差值最小的第一预估三维坐标作为现实空间三维坐标。在另一个实施例中,对差值最小的第一预估三维坐标的高度坐标进行校准。校准的一个方法是计算海拔高度与当前第一预估三维坐标的高度坐标的平均值,将所述平均值作为现实空间三维坐标。
[0102]
步骤s133,将当前确定的现实空间三维坐标作为初始定位位置坐标,对应当前场景的imu数据得到角度偏移量和位置偏移量作为初始位姿。
[0103]
步骤s134,基于当前初始定位位置标定imu累积位置对应的空间位置坐标。
[0104]
在上述的定位初始化流程中,服务器端通过地理位置坐标的辅助可以快速从得到的多个预估三维坐标中筛选出更加可靠的位置坐标,从而减少了处理量,加快了对终端设备的初始定位过程,也提高了初始定位位置的准确性。在终端设备所在场景大、视觉特征少、单调等原因而无法得到准确的位置时,不需要反复获取视觉图像、反复提取视觉特征。
[0105]
在上述定位初始化的另一个实施例中,在计算所述海拔高度与每个第一预估三维坐标中的高度坐标的差值之后,进一步将所述差值与一个阈值进行对比。在所述差值大于或等于阈值时,通过视觉计算得到一个终端设备到相对地面的高度,再采用所述距离替换第一预估三维坐标中的高度坐标,将所述替换了高度坐标的第一预估三维坐标作为现实空间三维坐标。所述视觉计算的过程例如首先通过当前的多幅视觉图像进行地面平面的识别,再计算视觉深度图。计算视觉深度时可以获得终端设备摄像头相对当前地面的距离,如图5中的两个三角形中的斜边l1、l2,并可以得到两个斜边之间的距离d,进而通过解三角形得到终端设备摄像头到地面的距离h。在本实施中,由于通过气压数据得到的所述海拔高度可能不准确时,可能通过平面检测、深度计算及解三角形等计算得到相对准确的终端设备摄像头到地面的距离,从而提高得到的现实空间三维坐标的准确认。
[0106]
而后以当前的初始位置进行实时定位处理流程。实时定位处理流程除了包括与上述定位初始化相同的处理过程外,还包括对位姿的计算、累积误差的矫正等。在一些实施例中,在对服务器发送来的第一预估三维坐标的高度坐标进行处理时,还可以参考位姿数据中的位置数据,例如,根据当前imu数据中的三轴加速度数据,经过积分处理后得到当前时刻的位置三轴偏移量,再基于前一位姿数据中的位置数据可以计算得到当前时刻的空间位置,即空间三维坐标(xi,yi,zi)。以所述空间三维坐标(xi,yi,zi)校准第一预估三维坐标得到现实空间三维坐标。所述校准例如计算坐标的平均值,以坐标的平均值作为最终现实空间三维坐标,或者在二者差异较少时,保持第一预估三维坐标不变。通过实时定位过程中的各种数据的校准,既保持了各类数据的一致性,也消除了一些数据(如imu数据、地磁数据)的累积误差,不但提高了定位的准确度,而且也提高了定位速度,提高了对实际终端移动速度的响应。
[0107]
图6是根据本发明一个实施例的大场景元宇宙虚拟空间叠加方法中服务器的定位处理流程图,在本实施例中,终端设备与服务器共同实现大场景元宇宙虚拟空间叠加方法,元宇宙虚拟空间的叠加流程与前述图3相同,在此不再赘述,终端定位的处理流程如图4所示,在此不再赘述,在以下的说明中说明服务器的定位处理流程。
[0108]
步骤s231a,服务器接收到终端设备发送来的定位请求后,从定位请求中得到终端设备的地理位置平面坐标及多幅视觉图像,并对视觉图像进行处理得到对应每一幅视觉图像的视觉特征集合c
ti

[0109]
步骤s232a,基于多幅视觉图像进行视觉计算得到终端设备摄像头到地面的距离h。
[0110]
步骤s233a,在数据库中,所述距离h确定在当前地点的三维虚拟场景模型进行场景匹配的第一场景匹配范围。
[0111]
步骤s234a,基于地理位置平面坐标在所述第一场景匹配范围中确定第二匹配范围;
[0112]
步骤s235a,在所述第二匹配范围对提取到的视觉特征进行场景匹配以得到预估位置数组,所述的预估位置数组包括一个或多个第一预估三维坐标。
[0113]
在本实施例中,服务器在进行视觉定位时,通过视觉计算得到的终端设备摄像头到地面的距离h和地理位置平面坐标确定匹配范围,大大缩小了匹配计算量,因而有效地提高了定位速度。
[0114]
图7是根据本发明另一个实施例的大场景元宇宙虚拟空间叠加方法中终端设备的定位处理流程图,图8是对应的服务器的定位处理流程图。在本实施例中,终端设备与服务器共同实现大场景元宇宙虚拟空间叠加方法,元宇宙虚拟空间的叠加流程与前述图3相同,在此不再赘述。
[0115]
步骤s131b,终端设备向服务器发送定位请求,在定位请求中包括当前大场景环境的视觉图像或基于当前大场景环境的视觉图像提取的视觉特征信息、终端设备的地理位置平面坐标和基于气压数据计算得到的终端设备所在的海拔高度。
[0116]
步骤s132b,接收从服务器返回的定位数据,从中获取到三维坐标。
[0117]
步骤s133b,计算所述三维坐标与计算位姿时得到位置坐标的差异。
[0118]
步骤s134b,判断所述差异是否大于等于阈值,如果大于或等于阈值,在步骤s135b
采用计算位姿时得到位置坐标对当前现实空间三维坐标进校准,并在步骤s136b将校准之后的坐标作为现实空间三维坐标。如果所述差异小于阈值,则在步骤s137b将当前从服务器接收的坐标作为现实空间三维坐标。
[0119]
参见图8,步骤s231b,接收终端设备发送的定位请求,从定位请求中获取终端设备的地理位置平面坐标、当前大场景环境的视觉图像和终端设备的海拔高度。
[0120]
步骤s232b,从当前大场景环境的视觉图像中提取到视觉特征。
[0121]
步骤s233b,基于海拔高度确定当前大场景的虚拟三维空间模型中的匹配范围。
[0122]
步骤s234b,在所述匹配范围对提取到的视觉特征进行场景匹配以得到预估位置数组,所述预估位置数组包括多个分别对应一个与视觉特征匹配的预估场景的预估三维坐标。
[0123]
步骤s235b,基于地理位置平面坐标从所述预估位置数组中筛选出一个预估三维坐标作为现实空间三维坐标,并发送给所述终端设备。
[0124]
在本实施例中,充分利用了基于气压数据计算得到的终端设备所在的海拔高度,通过所述终端设备所在的海拔高度缩小场景匹配范围,进而减小计算量,提高定位速度。
[0125]
需要说明,对于本发明的各个实施例,为描述清楚,均表述为一系列的动作或处理的组合。本领域技术人员应知悉,其实现过程不受所描述的动作或处理的顺序限制,本发明实施例中的某些步骤可以采用其他顺序处理或者同时进行处理。
[0126]
图9是根据本发明一个实施例应用于终端设备的大场景元宇宙虚拟空间叠加装置原理框图,包括客户端通信模块11、数据获取模块12、数据预处理模块13、数字空间构建模块14、请求模块15、第一定位模块16、第二定位模块17和空间融合模块18。
[0127]
其中,所述客户端通信模块11用于与服务端进行数据传输。所述数据获取模块12用于实时获取当前大场景环境的视觉图像、终端设备传感数据和终端设备的gps数据,其中,所述终端设备传感数据至少包括imu数据和地磁数据。例如,所述数据获取模块12按照一定的拍摄频率控制终端设备的摄像头拍摄图像,以一定的频率读取各个传感器的传感数据;按照一定的频率读取gps数据。并将这些数据发送给数据预处理模块13。
[0128]
数据预处理模块13与所述数据获取模块12相连接,用于对各种数据进行处理。例如,基于当前大场景环境的视觉图像进行视觉特征提取;对所述imu数据进行处理得到终端设备的位姿数据;基于gps数据和地磁数据得到终端设备的地理位置平面坐标;基于气压数据得到海拔高度等。
[0129]
所述数字空间构建模块14与所述数据获取模块12和数据预处理模块13相连接,基于当前环境的视觉图像和终端设备的位姿数据构建与当前环境重合的三维ar数字空间。例如,基于slam技术构建出空间地图,并实时显示,从而形成了一个与当前现实场景重合的三维ar数字空间。
[0130]
所述请求模块15与所述数据获取模块12、数据预处理模块13和客户端通信模块11相连接,用于向服务器发送定位请求,并在所述定位请求至少包括视觉特征信息和地理位置平面坐标;同时向服务器发送元宇宙虚拟空间请求。
[0131]
所述第一定位模块16与客户端通信模块11和所述数据获取模块12,基于终端设备的海拔高度从服务器返回的定位数据中的多个分别对应一个预估场景的第一预估三维坐标中确定一个作为现实空间三维坐标。或者基于视觉计算得到的高度从服务器返回的定位
数据中的多个分别对应一个预估场景的第一预估三维坐标中确定一个作为现实空间三维坐标。
[0132]
所述第二定位模块17与所述第一定位模块16相连接,基于所述现实空间三维坐标和终端设备当前的位姿数据确定终端设备在元宇宙虚拟空间的虚拟空间位置。
[0133]
所述空间融合模块18与所述数字空间构建模块14、客户端通信模块11和第二定位模块17相连接,用于将服务器返回的元宇宙虚拟空间按照虚拟空间位置融合到三维ar数字空间中进行增强显示。
[0134]
图10是根据本发明一个实施例的应用于服务器的大场景元宇宙虚拟空间叠加装置原理框图。在本实施例中,所述装置包括服务端通信模块21、视觉定位模块22、定位数据筛选模块23和资源处理模块24。其中,所述服务端通信模块21用于与终端设备进行数据传输,其中,接收终端设备发送的定位请求和元宇宙虚拟空间请求,所述定位请求包括地理位置平面坐标和当前大场景环境的视觉特征信息。所述视觉定位模块22与所述服务端通信模块21相连接,基于定位请求,基于当前大场景的虚拟三维空间模型对视觉特征进行场景匹配以得到预估位置数组,所述预估位置数组包括多个分别对应一个与视觉特征匹配的预估场景的预估三维坐标。
[0135]
所述定位数据筛选模块23与所述视觉定位模块22相和服务端通信模块21连接,基于地理位置平面坐标从所述预估位置数组中筛选出一个或多个第一预估三维坐标,并经所述服务端通信模块发送给所述终端设备。
[0136]
所述资源处理模块24与所述服务端通信模块21相连接,在接收到终端设备发送的元宇宙虚拟空间请求时,将对应所述请求的元宇宙虚拟空间数据返回给所述终端设备。
[0137]
在一个可选的方案中,所述装置还进一步包括视觉计算模块25,其与其与所述服务端通信模块21相连接,基于当前的多幅视觉图像计算得到终端设备相对地面的高度h;并把所述距离h发送给视觉定位模块22,视觉定位模块22在进行场景匹配时,先基于终端设备相对地面的高度确定当前大场景的虚拟三维空间模型中的匹配范围,在所述匹配范围对提取到的视觉特征进行场景匹配以得到预估位置数组。另外,当所述定位请求中包括终端设备的海拔高度时,所述视觉定位模块22在进行场景匹配时,先基于终端设备相对地面的高度确定当前大场景的虚拟三维空间模型中的匹配范围,在所述匹配范围对提取到的视觉特征进行场景匹配以得到预估位置数组。
[0138]
本领域技术人员应理解,本文中所描述的实施例属于优选实施例,所涉及的动作、步骤、模块或单元等并不一定是本发明实施例所必须的。在上述实施例中,本发明实施例对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0139]
图11为本发明实施例提供的一种电子设备的结构示意图,电子设备60包括处理器61、存储器62以及用于连接处理器61和存储器62的通信总线,其中在存储器62中存储有可以在处理器61上运行的计算机程序,处理器61运行该计算机程序时可执行或称实现本发明中各个实施例的方法中的步骤。电子设备60还包括通信接口,用于接收和发送数据。电子设备60可以是本发明实施例中的服务器,电子设备60也可以是云端服务器。电子设备60也可以是本发明实施例中的终端设备或ar设备。在合适的情况下电子设备也可称为计算设备。
[0140]
在一些实施例中,处理器61可以是中央处理器(central processing unit,cpu)、
图形处理器(graphics processing unit,gpu)、应用处理器(application processor,ap)、调制解调处理器、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器、神经网络处理器(neural-network processing unit,npu)等;处理器61还可以是其他通用处理器、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,也可以是任何常规的处理器等。其中,神经网络处理器npu通过借鉴生物神经网络结构,可对输入信息快速处理,还可以不断进行自我学习。通过npu电子设备60可以实现智能认知等应用,例如图像识别、人脸识别、语义识别、语音识别、文本理解等。
[0141]
在一些实施例中,存储器62可以是电子设备60的内部存储单元,例如电子设备60的硬盘或内存;存储器62也可以是电子设备60的外部存储设备,例如电子设备60上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。存储器62还可以既包括电子设备60的内部存储单元也包括外部存储设备。存储器62可用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器62包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)或便携式只读存储器(compact disc read-only memory,cd-rom)。存储器62用于存储电子设备60所执行的程序代码和所传输的数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
[0142]
本领域技术人员可以理解,图11仅是电子设备60的举例,并不构成对电子设备60的限定,电子设备60可以包括比图示更多或更少的部件,或者组合某些部件,或者包括不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0143]
图12是本发明实施例的终端设备的软件结构示意图。以手机操作系统为android系统为例,在一些实施例中,将android系统分为四层,分别为:应用程序层、应用程序框架层(framework,fwk)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
[0144]
首先,应用程序层可以包括多个应用程序包,应用程序包可以是例如通话、相机、视频、导航、天气、即时通讯、教育等各种应用程序app,也可以是基于ar技术的应用程序app。
[0145]
第二,应用程序框架层fwk为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
[0146]
应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
[0147]
其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0148]
其中,资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0149]
其中,通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0150]
此外,应用程序框架层还可以包括视图系统,视图系统包括可视控件,例如显示文字的控件、显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的,例如短信通知图标的显示界面上可以包括显示文字的视图以及显示图片的视图。
[0151]
第三,系统层可以包括多个功能模块,例如传感器服务模块、物理状态识别模块、三维图形处理库(例如:opengles),等等。
[0152]
其中,传感器服务模块用于对硬件层各类传感器上传的传感器数据进行监测,确定手机的物理状态;物理状态识别模块用于对用户手势、人脸等进行分析和识别;三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0153]
此外,系统层还可以包括表面管理器和媒体库。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。
[0154]
最后,硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动、摄像头驱动、传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。
[0155]
本发明实施例还提供一种计算机可读存储介质,其存储有计算机程序或指令,该计算机程序或指令被执行时以实现上述实施例中所涉及的大场景元宇宙虚拟空间叠加方法中的步骤。
[0156]
本发明实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被执行时以实现上述实施例中所涉及的大场景元宇宙虚拟空间叠加方法中的步骤。示例性的,该计算机程序产品可以为一个软件安装包。
[0157]
本领域技术人员应该知悉,本发明实施例所描述的方法、步骤或者相关模块/单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式来实现,也可以是由处理器执行计算机程序指令的方式来实现。其中,该计算机程序产品包括至少一个计算机程序指令,计算机程序指令可以由相应的软件模块组成,软件模块可以被存放于ram、闪存、rom、eprom、eeprom、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质中。该计算机程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质、或者半导体介质(如ssd)等。
[0158]
关于上述实施例中描述的各个装置/产品,其中包含的模块/单元可以是软件模块/单元,也可以是硬件模块/单元,还可以部分是软件模块/单元,部分是硬件模块/单元。
例如,对于应用或集成于芯片的装置/产品,其包含的各个模块/单元可以都用电路等硬件的方式实现,或者,至少部分模块/单元采用软件程序的方式实现,运行于芯片内部集成的处理器,剩余的部分模块/单元采用电路等硬件方式实现。又如,对于应用或集成于终端的装置/产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元采用软件程序的方式实现,运行于终端内部集成的处理器,剩余部分模块/单元可以采用电路等硬件方式实现。
[0159]
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1