CN109949422B - 用于虚拟场景的数据处理方法以及设备 - Google Patents

用于虚拟场景的数据处理方法以及设备 Download PDF

Info

Publication number
CN109949422B
CN109949422B CN201811201612.1A CN201811201612A CN109949422B CN 109949422 B CN109949422 B CN 109949422B CN 201811201612 A CN201811201612 A CN 201811201612A CN 109949422 B CN109949422 B CN 109949422B
Authority
CN
China
Prior art keywords
terminal
data
image
coordinate system
camera coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811201612.1A
Other languages
English (en)
Other versions
CN109949422A (zh
Inventor
姜军
刘小伟
冯蔚腾
莫运能
吴宗武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811201612.1A priority Critical patent/CN109949422B/zh
Priority to CN202011394754.1A priority patent/CN112530024A/zh
Publication of CN109949422A publication Critical patent/CN109949422A/zh
Priority to EP19874171.2A priority patent/EP3855400A4/en
Priority to PCT/CN2019/110330 priority patent/WO2020078250A1/zh
Application granted granted Critical
Publication of CN109949422B publication Critical patent/CN109949422B/zh
Priority to US17/230,102 priority patent/US20210233272A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

本申请提供了用于虚拟场景的数据处理方法以及设备,该方法包括:第一终端通过相机采集第一图像,第一图像包括物体的图像;根据第一图像,获得所述物体的第一点云数据;第一点云数据表示所述物体的表面点在第一终端的第一相机坐标系中的三维坐标值;根据第一图像,获得第一终端在第一相机坐标系中的位姿数据;根据位姿数据、第一点云数据和第一图像,获得二维特征图像;根据第一点云数据、位姿数据和二维特征图像生成地图数据;向第二终端或服务器发送所述地图数据。实施本申请能够实现相同款或不同款的终端在任意自然场景中跨平台实现虚拟场景的坐标系同步,兼容各种空间定位引擎,满足用户需求。

Description

用于虚拟场景的数据处理方法以及设备
技术领域
本发明涉及虚拟场景技术领域,尤其涉及用于虚拟场景的数据处理方法以及设备。
背景技术
虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)和混合现实(Mixed Reality,MR)技术是近年来新兴的多媒体虚拟场景技术。其中,VR技术是一种可以创建和体验虚拟世界的仿真技术,AR技术是一种可以将虚拟现实和真实世界叠加并进行互动的技术。MR技术是通过合并真实世界和虚拟世界而产生的新的可视化环境,并且在真实世界、虚拟世界和用户之间搭起一个交互反馈的信息回路的综合技术。
在上述虚拟场景技术中,通常采用同时定位与建图(Simultaneous Localizationand Mapping,SLAM)技术进行终端自身在环境中的定位。SLAM技术具体可实现终端(例如手机、VR眼镜等移动终端)在环境中从一个未知位置开始移动时,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,以便于后续的定位,采用SLAM技术的系统或模块又可称为空间定位引擎。
在多用户交互的虚拟场景中,不同移动终端的类型或型号可能不同(如手机与VR眼镜、或者苹果手机与华为手机),它们具有的空间定位引擎算法也各有差异。不同移动终端之间的坐标系同步(内容同步)是核心技术,通过坐标系同步可实现多用户VR或AR或MR应用中的虚拟内容在同一个坐标系空间共享和交互。
一种现有方案是基于规则几何形状平面(例如正方形桌面)实现坐标系同步。具体如下:移动终端利用计算当前所在位置水平桌面的中心点坐标,作为终端参考坐标系原点。然后利用桌面边缘信息计算参考坐标系的坐标轴。进而,建立终端参考坐标系。不同用户的移动终端计算过程皆如此,从而建立相同的参考坐标系,利用移动终端空间定位引擎输出的位姿,即可计算终端相对参考坐标系的位姿,进而计算出终端之间的相对位姿,从而实现坐标系同步。该方案可以实现不同款的移动终端在同一桌面上实现多用户VR或AR或MR应用交互。
由于这种方案依赖于规则几何形状平面,应用场景受到局限,在任意平面或非平面场景,此方案将无法实现坐标系同步。
发明内容
本发明实施例提供了用于虚拟场景的数据处理方法以及设备,能够实现不同款的终端在任意自然场景中跨平台实现虚拟场景的坐标系同步(内容同步),兼容各种空间定位引擎,满足用户需求。
第一方面,本发明实施例提供了一种用于虚拟场景的数据处理方法,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。所述方法包括:第一终端通过相机采集第一图像,所述第一图像包括任意自然环境(真实世界)中的任意物体的图像;所述第一终端根据所述第一图像,获得所述物体的第一点云数据;所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;所述第一终端根据所述第一图像,获得所述第一终端在所述第一相机坐标系中的位姿数据;所述第一终端根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像;所述第一终端根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据;所述第一终端向第二终端或服务器发送所述地图数据。
其中,当第一终端向第二终端发送所述地图数据时,所述第二终端可用于根据所述地图数据对虚拟场景中的内容进行同步操作;第一终端和第二终端所采用的空间定位引擎可以是不同的,也可以是相同的。
其中,当第一终端向服务器发送所述地图数据时,所述服务器用于根据所述地图数据,得到所述第一终端的第一相机坐标系和第二终端的第二相机坐标系之间的坐标系变换数据,并将所述坐标系变换数据发送至第二终端,以便于所述第二终端根据所述坐标系变换数据对虚拟场景中的内容进行同步操作。其中,第一终端和第二终端所采用的空间定位引擎可以是不同的,也可以是相同的。
可以看到,实施本发明实施例,第一终端皆能够利用本地的空间定位引擎的输出数据,进行图像特征提取,并生成地图数据发送给第二终端或服务器,以便于实现第二终端基于地图数据实现两终端间的坐标系同步。其中,第一终端和第二终端所采用的空间定位引擎可以是不同的。也就是说,即使不同终端安装不同空间定位引擎,依然可实现虚拟场景中的内容同步,这样有利于实现不同空间定位引擎之间的跨平台的多人共享AR/VR/MR开发和应用,满足用户需求,提高用户使用体验。
还可以看到,本发明实施例通过有效的特征提取方式,能够对任意自然场景中的任意物体进行特征提取,进而实现不同终端之间的坐标系同步,所以多人共享AR应用场景不受环境的限制,即在实现多用户虚拟场景交互的过程中,不再需要依赖特定几何形状物体,所以,实现多人共享AR/VR/MR应用不再受环境影响,满足了各种应用场景的需求。
基于第一方面,在可能的实施例中,所述第一终端根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像,包括:所述第一终端依据所述位姿数据将第一点云数据投影到所述第一图像,获得所述第一点云数据对应在所述第一图像的图像坐标系中的二维图像坐标(又称为2D图像坐标),然后,根据二维图像坐标对应在所述第一图像中的图像块或者图像特征点描述子,提取出二维特征图像(又可称2D特征图像)。其中所述图像特征点描述子包括但不限于Brief、Brisk、ORB、Freak、SIFT、SURF中的一种。
在一具体实施方式中,第一终端可隔一段预设时间选取一帧图像(第一图像),以及空间定位引擎输出的同一时间戳的位姿数据和第一点云数据,将第一点云数据通过该位姿投影到该第一图像中,获取2D图像坐标,再对2D图像坐标进行2D特征描述,所述特征描述可以是图像特征点描述子或图像块描述,其中所述图像特征点描述子包括但不限于Brief、Brisk、ORB、Freak、SIFT、SURF中的一种。这样,就可获得图像对应的同一时间戳的2D特征图像。本发明实施例中,可将第一终端的同一时间戳相关联的2D特征图像、第一点云数据、以及位姿数据的集合设置为第一终端的一个关键帧。
基于第一方面,在可能的实施例中,第一终端的空间定位引擎可根据相机采集的数据(第一图像),计算获得第一终端在所述第一相机坐标系中的位姿数据。
在又一可能实施例中,第一终端中还设置有惯性测量单元(Inertialmeasurement unit,IMU)传感器,那么空间定位引擎的输入信号包括来自相机采集的图像数据和IMU传感器采集的数据(可称为运动数据),空间定位引擎可根据该图像数据和运动数据,计算获得第一终端在所述第一相机坐标系中的位姿数据。
在又一可能实施例中,第一终端中除了相机和IMU外,还设置有与位姿或运动相关的定位模块(GPS定位、北斗定位、WIFI定位、或基站定位等,具体可参考下文中关于终端结构的描述),那么,那么空间定位引擎还可进一步参考定位模块所采集的数据来计算获得第一终端在所述第一相机坐标系中的位姿数据。
基于第一方面,在可能的实施例中,在所述第一终端根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据之前,所述方法还包括:所述第一终端获取定位数据,所述定位数据包括所述终端的GPS定位数据、所述第一终端的北斗定位数据、所述第一终端的WIFI定位数据、所述第一终端的蓝牙定位数据、或所述第一终端的基站定位数据中的至少一种。然后将该定位数据与上述地图数据一起打包成数据包以便于后续发送;或者,也可将定位数据携带于地图数据中,以便于后续发送。
第二方面,本发明实施例提供了又一种用于虚拟场景的数据处理方法,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。所述方法包括:第二终端接收第一终端发送的地图数据,所述地图数据是基于任意物体的第一点云数据、所述第一终端在所述第一终端的第一相机坐标系中的位姿数据、以及所述第一终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;所述第二终端获取所述第二终端在所述第二终端的第二相机坐标系中的位姿数据;所述第二终端获取所述第二终端的二维特征图像;所述第二终端根据所述地图数据、所述第二终端在所述第二相机坐标系中的位姿数据和所述第二终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;所述第二终端根据所述坐标系变换数据对虚拟场景中的内容进行同步。
可以看到,实施本发明实施例,第二终端皆能够利用本地的空间定位引擎的输出数据,进行二维图像特征提取,接收第一终端发送的地图数据,并根据所述地图数据、所述第二终端的位姿数据和该二维特征图像,获得坐标系变换数据,最终基于坐标系变换数据实现两终端间的坐标系同步。其中,第一终端和第二终端所采用的空间定位引擎可以是不同的。也就是说,即使不同终端安装不同空间定位引擎,依然可实现虚拟场景中的内容同步,这样有利于实现不同空间定位引擎之间的跨平台的多人共享AR/VR/MR开发和应用,满足用户需求,提高用户使用体验。
还可以看到,本发明实施例通过有效的特征提取方式,能够对任意自然场景中的任意物体进行特征提取,进而实现不同终端之间的坐标系同步,所以多人共享AR应用场景不受环境的限制,即在实现多用户虚拟场景交互的过程中,不再需要依赖特定几何形状物体,所以,实现多人共享AR/VR/MR应用不再受环境影响,满足了各种应用场景的需求。
基于第二方面,在可能的实施例中,所述第二终端根据所述地图数据、所述第二终端在所述第二相机坐标系中的位姿数据和所述第二终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据,包括:所述第二终端使用所述第二终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述第二终端在所述第一相机坐标系中的位姿数据;所述第二终端根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
在一具体实施方式中,第二终端可隔一段预设时间选取一帧图像(第二图像),以及空间定位引擎输出的同一时间戳的位姿数据和第二点云数据,将第二点云数据通过该位姿投影到该第二图像中,获取2D图像坐标,再对2D图像坐标进行2D特征描述,所述特征描述可以是图像特征点描述子或图像块描述,其中所述图像特征点描述子包括但不限于Brief、Brisk、ORB、Freak、SIFT、SURF中的一种。这样,就可获得图像对应的同一时间戳的2D特征图像。本发明实施例中,可将第二终端的同一时间戳相关联的第二终端的2D特征图像、第二点云数据、以及第二终端的位姿数据的集合设置为第二终端的一个关键帧。
在一实现中,第二终端可根据自身所确定的关键帧以及所接收的地图数据进行特征匹配,分别提取出两者相同的图像特征,输出特征点匹配集合,进而估计第二终端相对于第一相机坐标系的位姿数据,其中位姿估计算法可以是PNP算法。然后,第二终端根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得第一相机坐标系与第二相机坐标系之间的坐标系变换数据(例如坐标系变换矩阵)。在具体的实现中,后续还可根据该坐标系变换矩阵计算出虚拟场景所采用锚点的姿态变换数据。
在可能的实施例中,所述第二终端根据所述坐标系变换数据对虚拟场景中的内容进行同步,包括:所述第二终端根据所述坐标系变换数据,获得所述虚拟场景的锚点的姿态变换数据;所述第二终端根据所述锚点的姿态变换数据,对所述虚拟场景中的内容进行同步。
基于第二方面,在可能的实施例中,所述第二终端获取所述第二终端在所述第二终端的第二相机坐标系中的位姿数据之前,包括:所述第二终端采集第二图像,所述第二图像包括所述物体的图像。由于第二图像是对环境进行拍摄而获得的,而第一终端和第二终端都处于该环境中,所以第二图像中有环境中该物体的图像,该物体即为第一终端采集的第一图像中所采用的物体;所述第二终端根据所述第二图像,获得所述物体的第二点云数据;所述第二点云数据表示所述物体的表面点在所述第二相机坐标系中的三维坐标值;
相应的,所述第二终端获取所述第二终端在所述第二终端的第二相机坐标系中的位姿数据,包括:所述第二终端根据所述第二图像,获得所述第二终端在所述第二相机坐标系中的位姿数据;
相应的,所述第二终端获取所述第二终端的二维特征图像,包括:所述第二终端根据所述第二终端在所述第二相机坐标系中的位姿数据,将所述第二点云数据投影到所述第二图像,以得到所述第二点云数据对应在所述第二图像的图像坐标系中的二维图像坐标;所述第二终端根据所述二维图像坐标对应在所述第二图像中的图像块或者图像特征点描述子,获得所述第二终端的二维特征图像。所述图像特征点描述子包括但不限于Brief、Brisk、ORB、Freak、SIFT、SURF中的一种。
基于第二方面,在可能的实施例中,所述地图数据还携带有定位数据,所述定位数据包括所述第一终端的GPS定位数据、所述第一终端的北斗定位数据、所述第一终端的WIFI定位数据、所述第一终端的蓝牙定位数据、或所述第一终端的基站定位数据中的至少一种;相应的,所述第二终端获取所述第二终端的二维特征图像,包括:所述第二终端根据所述定位数据,确定二维特征图像的搜索范围;根据所述搜索范围,从多个历史二维特征图像中确定所述第二终端的二维特征图像。
也就是说,如果第一终端向第二终端发送过来的数据包或地图数据中携带有第一种终端的定位数据,那么在特征匹配过程中,第二终端可先根据定位数据,确定二维特征图像的搜索范围,从而根据所述搜索范围对第二终端多次生成的多个关键帧进行筛选,例如选择出离定位数据较近或最近的关键帧,再使用该关键帧在地图数据中进行特征匹配,获得所述第二终端在第一终端的第一相机坐标系中的位姿数据。这样,有利于提高匹配效率和准确性。
第三方面,本发明实施例提供了一种用于虚拟场景的数据处理方法,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种,所述方法包括:服务器接收第一终端发送的地图数据,所述地图数据是基于物体的第一点云数据、所述第一终端在所述第一终端的第一相机坐标系中的位姿数据、以及所述第一终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;所述服务器接收第二终端在所述第二终端的第二相机坐标系中的位姿数据,以及所述第二终端的二维特征图像;所述服务器使用所述第二终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述第二终端在所述第一相机坐标系中的位姿数据;所述服务器根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;所述服务器将所述坐标系变换数据发送至所述第二终端。
可以看到,实施本发明实施例,不同移动终端皆能够利用各自空间定位引擎的输出数据,进行相同类型的图像特征提取,其中第一终端可进一步生成地图数据上传至服务器,第二终端可进一步生成关键帧上传至服务器,服务器进而根据关键帧及地图数据获得坐标系同步数据并下发至第二终端,实现终端间的坐标系同步。也就是说,即使不同移动安装不同空间定位引擎,依然可实现虚拟场景中的内容同步,这样有利于实现不同空间定位引擎之间的跨平台的多人共享AR/VR/MR开发和应用,提高用户使用体验。同时,由于采用服务器作为不同终端之间的数据交互节点,所以能够高效率地满足大量终端之间的内容同步需求。
还可以看到,本发明实施例通过有效的特征提取方式,能够对任意场景中的物体进行特征提取,进而实现不同终端之间的坐标系同步,所以多人共享AR应用场景不受环境的限制,即在实现多用户虚拟场景交互的过程中,不再需要特定几何形状物体,所以,实现多人共享AR/VR/MR应用不再受环境影响,满足了各种应用场景的需求。
第四方面,本发明实施例提供了一种用于虚拟场景的数据处理的终端,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。终端具体包括:图像获取模块,用于通过所述终端的相机采集第一图像,所述第一图像包括物体的图像;SLAM模块,用于根据所述第一图像,获得所述物体的第一点云数据;所述第一点云数据表示所述物体的表面点在所述终端的第一相机坐标系中的三维坐标值;所述SLAM模块还用于,根据所述第一图像,获得所述终端在所述第一相机坐标系中的位姿数据;特征提取模块,用于根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像;地图生成模块,用于根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据;通信模块,用于向其他终端或服务器发送所述地图数据。
基于第四方面,在可能的实施例中,所述特征提取模块具体用于:根据所述位姿数据,将所述第一点云数据投影到所述第一图像,获得所述第一点云数据对应在所述第一图像的图像坐标系中的二维图像坐标;根据所述二维图像坐标对应在所述第一图像中的图像块或者图像特征点描述子,获得所述二维特征图像。
基于第四方面,在可能的实施例中,所述SLAM模块具体用于:根据所述第一图像以及惯性测量单元IMU采集的运动数据,获得所述终端在所述第一相机坐标系中的位姿数据。
基于第四方面,在可能的实施例中,所述终端还包括定位模块;所述定位模块用于,获取定位数据,所述定位数据包括所述终端的GPS定位数据、所述终端的北斗定位数据、所述终端的WIFI定位数据、所述终端的蓝牙定位数据、或所述终端的基站定位数据中的至少一种;相应的,所述地图生成模块所生成的地图数据还携带有所述定位数据。
具体实现中,该终端的各个功能模块可用于实现第一方面描述的方法。
第五方面,本发明实施例提供了一种用于虚拟场景的数据处理的终端,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。终端具体包括:通信模块,用于接收其他终端发送的地图数据,所述地图数据是基于物体的第一点云数据、所述其他终端在所述其他终端的第一相机坐标系中的位姿数据、以及所述其他终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述其他终端的第一相机坐标系中的三维坐标值;SLAM模块,用于获取所述终端在所述终端的第二相机坐标系中的位姿数据;所述SLAM模块还用于,获取所述终端的二维特征图像;坐标系变换模块,用于根据所述地图数据、所述终端在所述第二相机坐标系中的位姿数据和所述终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;内容同步模块,用于根据所述坐标系变换数据对虚拟场景中的内容进行同步。
基于第五方面,在可能的实施例中,所述坐标系变换模块具体用于:使用所述终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述终端在所述第一相机坐标系中的位姿数据;根据所述终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
基于第五方面,在可能的实施例中,所述终端还包括图像获取模块,所述图像获取模块用于,通过相机采集第二图像,所述第二图像包括所述物体的图像;所述SLAM模块还用于,根据所述第二图像,获得所述物体的第二点云数据;所述第二点云数据表示所述物体的表面点在所述第二相机坐标系中的三维坐标值;所述SLAM模块具体用于,根据所述第二图像,获得所述终端在所述第二相机坐标系中的位姿数据;所述SLAM模块还具体用于,根据所述终端在所述第二相机坐标系中的位姿数据,将所述第二点云数据投影到所述第二图像,以得到所述第二点云数据对应在所述第二图像的图像坐标系中的二维图像坐标;根据所述二维图像坐标对应在所述第二图像中的图像块或者图像特征点描述子,获得所述终端的二维特征图像。
基于第五方面,在可能的实施例中,所述内容同步模块具体用于:根据所述坐标系变换数据,获得所述虚拟场景的锚点的姿态变换数据;根据所述锚点的姿态变换数据,对所述虚拟场景中的内容进行同步。
基于第五方面,在可能的实施例中,所述地图数据还携带有定位数据,所述定位数据包括所述其他终端的GPS定位数据、所述其他终端的北斗定位数据、所述其他终端的WIFI定位数据、所述其他终端的蓝牙定位数据、或所述其他终端的基站定位数据中的至少一种;所述SLAM模块具体用于,根据所述定位数据,获取所述终端的二维特征图像。
具体实现中,该终端的各个功能模块可用于实现第二方面描述的方法。
第六方面,本发明实施例提供了一种用于虚拟场景的数据处理的服务器,所述服务器包括:接收模块,用于接收第一终端发送的地图数据,所述地图数据是基于物体的第一点云数据、所述第一终端在所述第一终端的第一相机坐标系中的位姿数据、以及所述第一终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;所述接收模块还用于,接收第二终端在所述第二终端的第二相机坐标系中的位姿数据,以及所述第二终端的二维特征图像;坐标系变换模块,用于使用所述第二终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述第二终端在所述第一相机坐标系中的位姿数据;根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;发送模块,用于将所述坐标系变换数据发送至所述第二终端。
具体实现中,该服务器的各个功能模块可用于实现第三方面描述的方法。
第七方面,本发明实施例提供了又一种终端,终端包括:处理器以及耦合的存储器、发射器,该处理器可调用存储器存储的程序指令,实现第一方面描述的方法。
第八方面,本发明实施例提供了又一种终端,终端包括:处理器以及耦合的存储器、接收器,该处理器可调用存储器存储的程序指令,实现第二方面描述的方法。
第九方面,本发明实施例提供了又一种服务器,服务器包括:处理器以及耦合的存储器、通信接口,该处理器可调用存储器存储的程序指令,实现第三方面描述的方法。
第十方面,本发明实施例提供了一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第一方面所述方法的实现代码。所述程序代码被计算设备执行时,所述计算设备用于第一方面所述方法。
第十一方面,本发明实施例提供了又一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第二方面所述方法的实现代码。所述程序代码被计算设备执行时,所述用户设备用于第二方面所述方法。
第十二方面,本发明实施例提供了又一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第三方面所述方法的实现代码。所述程序代码被计算设备执行时,所述用户设备用于第三方面所述方法。
第十三方面,本发明实施例提供了一种计算机程序产品;该计算机程序产品包括程序指令,当该计算机程序产品被计算设备执行时,该控制器执行前述第一方面所述方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在控制器上执行该计算机程序产品,以实现第一方面所述方法。
第十四方面,本发明实施例提供了又一种计算机程序产品。该计算机程序产品包括程序指令,当该计算机程序产品被用户设备执行时,该控制器执行前述第二方面的任一种可能的设计提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第二方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在控制器上执行该计算机程序产品,以实现第二方面所述方法。
第十五方面,本发明实施例提供了又一种计算机程序产品。该计算机程序产品包括程序指令,当该计算机程序产品被用户设备执行时,该控制器执行前述第二方面的任一种可能的设计提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第二方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在控制器上执行该计算机程序产品,以实现第三方面所述方法。
可以看到,实施本发明实施例,不同移动终端皆能够利用各自空间定位引擎的输出数据,进行相同类型的图像特征提取,第二终端根据自身生成的关键帧以及第一终端提供的地图数据实现两终端间的坐标系同步,或者第二终端根据服务器下发的坐标系变换数据实现两终端间的坐标系同步。也就是说,即使不同移动安装不同空间定位引擎,依然可实现虚拟场景中的内容同步,这样有利于实现不同空间定位引擎之间的跨平台的多人共享AR/VR/MR开发和应用,提高用户使用体验。
还可以看到,本发明实施例通过有效的特征提取方式,能够对任意场景中的物体进行特征提取,进而实现不同终端之间的坐标系同步,所以多人共享AR应用场景不受环境的限制,即在实现多用户虚拟场景交互的过程中,不再需要依赖特定几何形状物体等已知信息,所以,实现多人共享AR/VR/MR应用不再受环境影响,满足了各种应用场景的需求。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例提供的一种应用架构的示意图;
图2是本发明实施例提供的又一种应用架构的示意图;
图3是本发明实施例提供的一种用于虚拟场景的数据处理方法的流程示意图;
图4是本发明实施例提供的第一终端、第二终端分别生成地图和关键帧的示意图;
图5是本发明实施例提供的第二终端获得坐标系变换数据、锚点姿态变换数据的示意图;
图6是本发明实施例提供的又一种用于虚拟场景的数据处理方法的流程示意图;
图7是本发明实施例提供的终端的结构示意图;
图8是本发明实施例提供的一种服务器的结构示意图;
图9是本发明实施例提供的一种系统、以及第一终端与第二终端的结构示意图;
图10是本发明实施例提供的又一种系统,以及第一终端、第二终端和服务器的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
首先描述本发明实施例所涉及的两种应用架构。
参见图1,本发明实施例提供的第一种应用架构包括多个终端,终端可以为手机、平板电脑、笔记本电脑、录像机等移动终端设备,也可以是虚拟场景终端设备(如VR眼镜、MR互动设备等)。多个终端中的各个终端可以是相同款的终端(例如同型号的手机),也可以是不同款的终端(例如多个终端包括不同型号的手机,或者多个终端包括移动终端设备与虚拟场景终端设备),例如图1中示例性地示出了第一终端和第二终端,且第一终端与第二终端是不同型号的手机。
第一终端与第二终端可在真实世界的同一环境中运动,所述环境可以是任意自然环境。第一终端与第二终端分别运行虚拟场景应用(VR或AR或MR应用),且第一终端与第二终端之间可进行通信连接。第一终端可通过相机和/或传感器采集环境中任意物体的信息(例如图示中采集环境中的物体1的图像,物体1可以是一个完整的物体,也可以是一个物体的部分特征),进而向第二终端发送数据(如发送下文所描述的地图数据)。第二终端可根据第一终端发送的数据,实现第二终端所运动的虚拟场景内容与第一终端所运行的虚拟场景内容的同步。
参见图2,本发明实施例提供的第二种应用架构包括多个终端和服务器,其中终端可以为手机、平板电脑、笔记本电脑、录像机等移动终端设备,也可以是虚拟场景终端设备(如VR眼镜、MR互动设备等)。多个终端中的各个终端可以是相同款的终端(例如同型号的手机),也可以是不同款的终端(例如多个终端包括不同型号的手机,或者多个终端包括移动终端设备与虚拟场景终端设备),例如图2中示例性地示出了第一终端和第二终端,且第一终端与第二终端是不同型号的手机。服务器可以是一台或多台物理服务器(例如图2中示例性地示出了一台物理服务器),也可以是计算机集群,还可以是云计算场景的虚拟机。
第一终端与第二终端可在真实世界的同一环境场景中运动。第一终端与第二终端可分别运行虚拟场景应用(VR或AR或MR应用),且第一终端与服务器之间可进行通信连接,第二终端与服务器之间也可进行通信连接。第一终端可通过本地相机和/或传感器采集环境中任意物体的信息(例如图示中采集环境中的物体1的图像),进而向服务器上传数据(如发送下文所描述的地图数据)。第二终端也可通过本地相机和/或传感器采集环境中与第一终端相同的物体的信息(例如图示中采集环境中的物体1的图像),进而向服务器上传数据(如发送下文所描述的二维特征图像)。服务器综合上述数据进行计算获得内容同步相关数据(如下文描述的坐标系转换数据),并将相关数据下发至第二终端,第二终端根据相关数据实现第二终端所运动的虚拟场景内容与第一终端所运行的虚拟场景内容的同步。
基于上述第一种应用架构,下面描述本发明实施例提供的应用于虚拟场景的数据处理方法,所述虚拟场景即为VR场景、AR场景、MR场景中的一种,请参见图3,图3是本发明实施例提供的一种数据处理方法的流程示意图,从第一终端侧和第二终端侧的角度进行描述。其中第一终端和第二终端可以是相同款的终端,也可以是不同款的终端。该方法包括但不限于如下步骤:
步骤101:第一终端通过所述第一终端的相机采集第一图像。
具体地,第一终端中设置有相机(或称摄像头,具体可参考下文中关于终端结构的描述)。所以第一终端可通过该相机对真实世界的环境进行拍摄,从而获得第一图像。
步骤102:第一终端根据所述第一图像,获得环境中物体的第一点云数据。
具体的,第一终端中配置有空间定位引擎(又可称SLAM模块或SLAM系统,具体可参考下文中关于终端结构的描述)。由于第一图像是对环境进行拍摄而获得的,所以第一图像中有环境中物体的图像,该物体可以是环境中具有任意形状的任意物体的全部或部分特征,即该物体不必是特定物体,也不必具有规则形状。
空间定位引擎可根据所述第一图像计算获得该物体的第一点云数据,其中,第一点云数据表示所述环境中物体的表面点在第一终端的第一相机坐标系中的三维坐标值(或称3D坐标值)。所述第一终端的第一相机坐标系即为第一终端的局部参考坐标系,第一相机坐标系是以光轴与图像平面的交点为图像坐标系的原点所构成的直角坐标系。在一具体实现中,第一相机坐标系的原点为第一终端的相机的光心,第一相机坐标系的x轴与y轴与图像坐标系的两个轴平行,第一相机坐标系的z轴可为相机光轴,其与图像平面垂直。
步骤103:第一终端根据所述第一图像,获得所述第一终端在所述第一相机坐标系中的位姿数据。
其中,位姿数据用于表示第一终端在第一相机坐标系中的位置和姿态(或方向),位置可以通过三个坐标轴x、y、z表示,方向可以通过(α,β,γ)来表示,(α,β,γ)表示围绕三个坐标轴旋转的角度。
在一可能实施例中,第一终端的空间定位引擎可根据相机采集的数据(第一图像),计算获得第一终端在所述第一相机坐标系中的位姿数据。
在又一可能实施例中,第一终端中还设置有惯性测量单元(Inertialmeasurement unit,IMU)传感器,那么空间定位引擎的输入信号包括来自相机采集的图像数据和IMU传感器采集的数据(可称为运动数据),空间定位引擎可根据该图像数据和运动数据,计算获得第一终端在所述第一相机坐标系中的位姿数据。
在又一可能实施例中,第一终端中除了相机和IMU外,还设置有与位姿或运动相关的定位模块(GPS定位、北斗定位、WIFI定位、或基站定位等,具体可参考下文中关于终端结构的描述),那么,那么空间定位引擎还可进一步参考定位模块所采集的数据来计算获得第一终端在所述第一相机坐标系中的位姿数据。
步骤104:第一终端根据同一时间戳对应的位姿数据、第一点云数据和第一图像,获得二维特征图像。
具体的,所述第一终端依据所述位姿数据将第一点云数据投影到所述第一图像,获得所述第一点云数据对应在所述第一图像的图像坐标系中的二维图像坐标(又称为2D图像坐标),然后,根据二维图像坐标对应在所述第一图像中的图像块或者图像特征点描述子,提取出二维特征图像(又可称2D特征图像)。
在一具体实施方式中,如图4所示的第一终端中,第一终端可隔一段预设时间选取一帧图像(第一图像),以及空间定位引擎输出的同一时间戳的位姿数据和第一点云数据,将第一点云数据通过该位姿投影到该第一图像中,获取2D图像坐标,再对2D图像坐标进行2D特征描述,所述特征描述可以是图像特征点描述子或图像块描述,其中所述图像特征点描述子包括但不限于Brief、Brisk、ORB、Freak、SIFT、SURF中的一种。这样,就可获得图像对应的同一时间戳的2D特征图像。本发明实施例中,可将第一终端的同一时间戳相关联的2D特征图像、第一点云数据、以及位姿数据的集合设置为第一终端的一个关键帧。
步骤105:第一终端根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据。
具体的,第一终端根据空间定位引擎输出第一点云数据和位姿数据、以及上述步骤104提取出的与上述第一点云数据关联的2D特征图像生成地图数据,打包成数据包以便于后续的外发。
本发明实施例中,如果可将同一时间戳相关联的2D特征图像、第一点云数据、以及位姿数据的集合设置为第一终端的一个关键帧,那么,如果第一终端每隔一段预设时间重复上文所描述的步骤101-步骤104,那么,在步骤105中,最终所打包的地图数据可以是第一终端所在局部区域的一个或多个关键帧的集合。
另外,在可能的实施例中,如果第一终端设置有定位模块(如GPS定位、北斗定位、WIFI定位、或基站定位等,具体可参考下文中关于终端结构的描述),那么第一终端还可以通过定位模块获取生成地图数据时所述第一终端的定位数据,即定位数据包括GPS定位数据、北斗定位数据、WIFI定位数据、蓝牙定位数据、或基站定位数据中的至少一种。然后将该定位数据与上述地图数据一起打包成数据包(或将定位数据携带于地图数据中),以便于后续的外发。
步骤106:所述第一终端发送地图数据至第二终端,相应的,第二终端接收所述地图数据。
步骤107:第二终端通过所述第二终端的相机采集第二图像。
具体地,第二终端中同样可设置有相机(或称摄像头,具体可参考下文中关于终端结构的描述)。所以第二终端可通过该相机对真实世界的环境进行拍摄,从而获得第二图像。
步骤108:所述第二终端根据所述第二图像,获得环境中所述物体的第二点云数据。所述第二点云数据表示所述物体的表面点在第二终端的第二相机坐标系中的三维坐标值。
具体的,第二终端中同样配置有空间定位引擎(又可称SLAM模块或SLAM系统,具体可参考下文中关于终端结构的描述),并且第二终端的空间定位引擎可以不同于第一终端的空间定位引擎,也可以与第一终端的空间定位引擎相同。由于第二图像是对环境进行拍摄而获得的,所以第二图像中有环境中物体的图像,该物体即为第一终端在步骤102所采用的物体。
同理,该空间定位引擎可根据所述第二图像计算获得该物体的第二点云数据,其中,第二点云数据表示所述环境中物体的表面点在第二终端的第二相机坐标系中的三维坐标值(或称3D坐标)。所述第二终端的第二相机坐标系即为第二终端的局部参考坐标系,第二相机坐标系是以光轴与图像平面的交点为图像坐标系的原点所构成的直角坐标系。在一具体实现中,第二相机坐标系的原点为第二终端的相机的光心,第二相机坐标系的x轴与y轴与图像坐标系的两个轴平行,第二相机坐标系的z轴可为相机光轴,其与图像平面垂直。
步骤109:所述第二终端根据所述第二图像,获得所述第二终端在所述第二相机坐标系中的位姿数据。
同理,该位姿数据用于表示第二终端在第二相机坐标系中的位置和姿态(或方向),位置可以通过三个坐标轴x、y、z表示,方向可以通过(α,β,γ)来表示,(α,β,γ)表示围绕三个坐标轴旋转的角度。
在一可能实施例中,第二终端的空间定位引擎可根据相机采集的数据(第二图像),计算获得第二终端在所述第二相机坐标系中的位姿数据。
在又一可能实施例中,第二终端中还设置有IMU传感器,那么空间定位引擎的输入信号包括来自相机采集的图像数据和IMU传感器采集的数据(可称为运动数据),空间定位引擎可根据该图像数据和运动数据,计算获得第二终端在所述第二相机坐标系中的位姿数据。
在又一可能实施例中,第二终端中除了相机和IMU外,还设置有与位姿或运动相关的定位模块(GPS定位、北斗定位、WIFI定位、或基站定位等,具体可参考下文中关于终端结构的描述),那么,那么该空间定位引擎还可进一步参考定位模块所采集的数据来计算获得第二终端在所述第二相机坐标系中的位姿数据。
步骤110:所述第二终端根据所述位姿数据、所述第二点云数据和所述第二图像,获得二维特征图像。
同理,第二终端依据所述第二终端在所述第二相机坐标系中的位姿数据,将所述第二点云数据投影到所述第二图像,获得所述第二点云数据对应在所述第二图像的图像坐标系中的二维图像坐标(又称为2D图像坐标),然后根据所述二维图像坐标对应在所述第二图像中的图像块或者图像特征点描述子,获得所述第二终端的二维特征图像(又可称2D特征图像)。
在一具体实施方式中,如图4所示的第二终端中,第二终端可隔一段预设时间选取一帧图像(第二图像),以及空间定位引擎输出的同一时间戳的位姿数据和第二点云数据,将第二点云数据通过该位姿投影到该第二图像中,获取2D图像坐标,再对2D图像坐标进行2D特征描述,所述特征描述可以是图像特征点描述子或图像块描述,其中所述图像特征点描述子包括但不限于Brief、Brisk、ORB、Freak、SIFT、SURF中的一种。这样,就可获得图像对应的同一时间戳的2D特征图像。本发明实施例中,可将第二终端的同一时间戳相关联的第二终端的2D特征图像、第二点云数据、以及第二终端的位姿数据的集合设置为第二终端的一个关键帧。
需要说明的是,上述步骤107-步骤110与步骤106之间没有必然的先后顺序,也就是步骤106可能在步骤107之前实施,步骤106也可能在步骤107-步骤110之间实施,步骤106也可能在步骤110之后实施,本发明不作具体限定。
步骤111:所述第二终端根据所述地图数据、所述第二终端在所述第二相机坐标系中的位姿数据和所述第二终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
具体地,第二终端可使用第二终端的关键帧,在第一终端所发送过来的地图数据中进行特征匹配,从而获得所述第二终端在第一终端的第一相机坐标系(这里也可称为地图坐标系)中的位姿数据;然后,第二终端根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
在一实现中,如图5所示,第二终端可根据自身所确定的关键帧以及所接收的地图数据进行特征匹配,分别提取出两者相同的图像特征,输出特征点匹配集合,进而估计第二终端相对于第一相机坐标系的位姿数据,其中位姿估计算法可以是PNP算法。然后,第二终端根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得第一相机坐标系与第二相机坐标系之间的坐标系变换数据(例如坐标系变换矩阵)。在具体的实现中,后续还可根据该坐标系变换矩阵计算出虚拟场景所采用锚点的姿态变换数据。
需要说明的是,在可能的实施例中,如果第一终端向第二终端发送过来的数据包或地图数据中携带有第一种终端的定位数据,那么在特征匹配过程中,第二终端可先根据定位数据,确定二维特征图像的搜索范围,从而根据所述搜索范围对通过步骤110多次生成的多个关键帧进行筛选,例如选择出离定位数据较近或最近的关键帧,再使用该关键帧在地图数据中进行特征匹配,获得所述第二终端在第一终端的第一相机坐标系中的位姿数据。这样,有利于提高匹配效率和准确性。
步骤112:所述第二终端根据所述坐标系变换数据对虚拟场景中的内容(如虚拟物体)进行同步操作。
具体的,在根据坐标系变换数据获得所述虚拟场景的锚点的姿态变换数据后,第二终端可根据所述锚点的姿态变换数据,实现虚拟场景中的虚拟物体姿态同步,也就是说通过同步操作能够使得第二终端正确显示第一终端所共享过来的虚拟物体的位姿。
可以看到,实施本发明实施例,不同移动终端皆能够利用各自空间定位引擎的输出数据,进行相同类型的图像特征提取,第二终端进而根据自身生成的关键帧以及第一终端提供的地图数据实现两终端间的坐标系同步。也就是说,即使不同移动安装不同空间定位引擎,依然可实现虚拟场景中的内容同步,这样有利于实现不同空间定位引擎之间的跨平台的多人共享AR/VR/MR开发和应用,提高用户使用体验。
还可以看到,本发明实施例通过有效的特征提取方式,能够对任意场景中的物体进行特征提取,进而实现不同终端之间的坐标系同步,所以多人共享AR应用场景不受环境的限制,即在实现多用户虚拟场景交互的过程中,不再需要依赖Marker图像、特定几何形状物体等已知信息,所以,实现多人共享AR/VR/MR应用不再受环境影响,满足了各种应用场景的需求。
基于上述第二种应用架构,下面描述本发明实施例提供的应用于虚拟场景的又一种数据处理方法,所述虚拟场景即为VR场景、AR场景、MR场景中的一种,请参见图6,图6是本发明实施例提供的又一种数据处理方法的流程示意图,从第一终端侧、服务器侧和第二终端侧的角度进行描述。其中第一终端和第二终端可以是相同款的终端,也可以是不同款的终端。该方法包括但不限于如下步骤:
步骤201:第一终端通过所述第一终端的相机采集第一图像。具体实现可参考图3实施例步骤101的描述,这里不再赘述。
步骤202:所述第一终端根据所述第一图像,获得环境中物体的第一点云数据。具体实现可参考图3实施例步骤102的描述,这里不再赘述。
步骤203:所述第一终端根据所述第一图像,获得所述第一终端在所述第一相机坐标系中的位姿数据。具体实现可参考图3实施例步骤103的描述,这里不再赘述。
步骤204:所述第一终端根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像。具体实现可参考图3实施例步骤104的描述,这里不再赘述。
步骤205:所述第一终端根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据。具体实现可参考图3实施例步骤105的描述,这里不再赘述。
步骤206:所述第一终端发送地图数据至服务器,相应的,服务器接收所述地图数据。
步骤207:第二终端通过所述第二终端的相机采集第二图像。具体实现可参考图3实施例步骤107的描述,这里不再赘述。
步骤208:所述第二终端根据所述第二图像,获得环境中所述物体的第二点云数据。具体实现可参考图3实施例步骤108的描述,这里不再赘述。
步骤209:所述第二终端根据所述第二图像,获得所述第二终端在所述第二相机坐标系中的位姿数据。具体实现可参考图3实施例步骤109的描述,这里不再赘述。
步骤210:所述第二终端根据所述位姿数据、所述第二点云数据和所述第二图像,获得二维特征图像。具体实现可参考图3实施例步骤110的描述,这里不再赘述。
步骤211:所述第二终端发送该二维特征图像、第二终端的位姿数据至服务器。
具体实施例中,第二终端可将同一时间戳相关联的第二终端的2D特征图像、第二点云数据、以及第二终端在第二相机坐标系中的位姿数据的集合设置为第二终端的一个关键帧。那么,第二终端也可直接将该关键帧发送至服务器。
步骤212:服务器根据所述地图数据、所述第二终端在所述第二相机坐标系中的位姿数据和所述第二终端的二维特征图像,获得坐标系变换数据。
具体实施例中,服务器可使用第二终端的关键帧,在第一终端所发送过来的地图数据中进行特征匹配,从而获得所述第二终端在第一终端的第一相机坐标系(这里也可称为地图坐标系)中的位姿数据;然后,服务器根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
另外,在可能的实施例中,后续服务器还可根据该坐标系变换数据计算出虚拟场景所采用锚点的姿态变换数据。
需要说明的是,本步骤212的具体实现过程可参考图3实施例步骤111的描述,这里不再赘述。
步骤213:服务器发送该坐标系变换数据至第二终端。需要说明的是,如果上述步骤212中,服务器已根据该坐标系变换数据计算出虚拟场景所采用锚点的姿态变换数据,那么服务器也可发送锚点的姿态变换数据至第二终端。
步骤214:第二终端根据所述坐标系变换数据对虚拟场景中的内容进行同步操作。具体实现过程可参考图3实施例步骤112的描述,这里不再赘
可以看到,实施本发明实施例,不同移动终端皆能够利用各自空间定位引擎的输出数据,进行相同类型的图像特征提取,其中第一终端可进一步生成地图数据上传至服务器,第二终端可进一步生成关键帧上传至服务器,服务器进而根据关键帧及地图数据获得坐标系同步数据并下发至第二终端,实现终端间的坐标系同步。也就是说,即使不同移动安装不同空间定位引擎,依然可实现虚拟场景中的内容同步,这样有利于实现不同空间定位引擎之间的跨平台的多人共享AR/VR/MR开发和应用,提高用户使用体验。同时,由于采用服务器作为不同终端之间的数据交互节点,所以能够高效率地满足大量终端之间的内容同步需求。
还可以看到,本发明实施例通过有效的特征提取方式,能够对任意场景中的物体进行特征提取,进而实现不同终端之间的坐标系同步,所以多人共享AR应用场景不受环境的限制,即在实现多用户虚拟场景交互的过程中,不再需要依赖Marker图像、特定几何形状物体等已知信息,所以,实现多人共享AR/VR/MR应用不再受环境影响,满足了各种应用场景的需求。
上文详细描述了本发明实施例提供的相关方法,基于相同的发明构思,下面进一步描述本发明实施例的相关设备。
参见图7,图7是本发明实施例提供的一种终端的实现方式的结构框图。如图7所示,终端300可包括:芯片310、存储器315(一个或多个计算机可读存储介质)、外围系统317、定位模块331以及通信模块332。这些部件可在一个或多个通信总线314上通信。
外围系统317主要用于实现终端300和用户/外部环境之间的交互功能,具体实现中,外围系统317可包括:触摸屏控制器318、相机控制器319以及传感器管理模块320中的若干个部件。各个控制器可与各自对应的外围设备如触摸屏323、相机324以及传感器325等耦合。其中,在一些实施例中,触摸屏323可以通过耦合触控感应元件和显示屏而获得,触控感应元件可设置于显示屏下方,触控感应元件可用于检测用户通过显示屏输入触控操作时作用于显示屏上的触控压力(如用户的触摸、滑动操作),显示屏用于进行内容显示(如显示虚拟场景应用的虚拟物体);在一些实施例中,相机324可以是单目摄像头或双目摄像头或深度摄像头;在一些实施例中,传感器325可包括惯性测量单元IMU,此外还可能包括其他传感器(例如,近距感应传感器)。需要说明的,外围系统317还可以包括其他I/O外设。
芯片310可集成包括:一个或多个处理器311、时钟模块312以及可能的电源管理模块313。集成于芯片310中的时钟模块312主要用于为处理器311产生数据传输和时序控制所需要的时钟。集成于基带芯片310中的电源管理模块313主要用于为处理器311以及外围系统提供稳定的、高精确度的电压。
存储器315与处理器311耦合,用于存储数据(例如图像数据、点云数据、地图数据、关键帧数据、坐标系转换数据等)、各种软件程序和/或多组程序指令。具体实现中,存储器315可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器315还可以存储一个或多个应用程序。如图示中这些应用程序可包括:AR/VR/MR等虚拟场景应用程序、地图类应用程序、图像管理类应用程序等等。存储器115还可以用于存储操作系统,例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储器115还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。存储器115还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将应用程序的内容(如虚拟场景中的虚拟物体)形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。
定位模块331用于实现对终端300的物理定位,通过定位模块331可采集终端300的运动数据。定位模块331例如可包括WIFI定位模块、蓝牙定位模块、基站定位模块、卫星定位模块(如GPS定位模块和/或北斗定位模块)中的一个或多个。
通信模块332集成了发射器和接收器,用于接收和发送射频信号,以便于终端300与其他终端建立通信连接,或者终端300与服务器建立通信连接。通信模块332主要集成了终端300的接收器和发射器。具体实现中,通信模块332可包括但不限于:天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、SIM卡和存储介质等。在一些实施例中,还可在单独的芯片上实现通信模块332。
应当理解,上述终端300仅为本发明实施例提供的一个例子,并且,终端300可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本发明具体实施例中,上述终端300可以是上述图3或图6实施例中第一终端和/或第二终端。具体实现中,相机324可用于采集环境中物体的图像,处理器311可用于调用存储器315中的程序指令,实现本发明实施例上文图3或图6实施例描述的数据处理方法中第一终端或第二终端的功能,故终端300的各个部件的功能实现可参考上文的描述,这里不再赘述。
参见图8,图8是本发明实施例提供的一种服务器的实现方式的结构框图。如图8所示,服务器400包括处理器403、存储器401(一个或多个计算机可读存储介质)、通信接口402。这些部件可在一个或多个通信总线404上通信。其中:
处理器403可以是一个或多个中央处理器(Central Processing Unit,CPU),在处理器403是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器401与处理器403耦合,用于存储各种软件程序和/或多组指令、以及数据(例如地图数据、关键帧数据、坐标系转换数据等)。具体实现中,存储器401包括但不限于是随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM),具体的,该存储器401还可用于存储用于计算坐标系转换数据的算法程序。
通信接口402主要集成了接收器和发射器,其中接收器用于接收终端发送的数据,发射器用于向终端发送数据。具体实现中,发射器可用于向终端下发坐标系转换数据或锚点的姿态转换数据,接收器可用于接收终端上传的地图数据或关键帧数据。
应当理解,上述服务器400仅为本发明实施例提供的一个例子,具体实现中,服务器400可具有比图示更多的部件。
本发明具体实施例中,上述服务器400可以是上述图6实施例中服务器。具体实现中,处理器403可用于调用存储器401中的程序指令,实现本发明实施例上文图6实施例描述的数据处理方法中服务器的功能,故服务器400的各个部件的功能实现可参考上文的描述,这里不再赘述。
参见图9,图9是本发明实施例提供的一种多用户交互系统的结构框图。该系统包括终端51和终端52,终端51和终端52之间可通过各自的通信模块实现通信连接。
其中,终端51包括图像获取模块511、SLAM模块512、特征提取模块513、地图生成模块514、通信模块515,在一具体实现中,这些功能模块的数据/程序可被存储于上述存储器315,且这些功能模块可被运行于上述处理器311。其中:
图像获取模块511,用于获取第一图像;
SLAM模块512,用于根据所述第一图像,获得环境中物体的第一点云数据;所述第一点云数据表示所述环境中物体的表面点在终端51的第一相机坐标系中的三维坐标值;还用于,根据所述第一图像,获得终端51在所述第一相机坐标系中的位姿数据;
特征提取模块513,用于根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像;
地图生成模块514,用于根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据;
通信模块515,用于将所述地图数据发送至终端52。
其中,终端52包括图像获取模块521、SLAM模块522、特征提取模块523、坐标系变换模块524、通信模块525、内容同步模块526,在一具体实现中,这些功能模块的数据/程序可被存储于上述存储器315,且这些功能模块可被运行于上述处理器311。其中:
通信模块525,用于接收终端51发送的地图数据,所述地图数据是基于环境中物体的第一点云数据、终端51在所述终端51的第一相机坐标系中的位姿数据、以及所述终端51的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述终端51的第一相机坐标系中的三维坐标值;
图像获取模块521,用于获取第二图像;
SLAM模块522,用于获取终端52在所述终端52的第二相机坐标系中的位姿数据;
特征提取模块523,用于获取所述终端52的二维特征图像;
坐标系变换模块524,用于根据所述地图数据、所述终端52在所述第二相机坐标系中的位姿数据和所述终端52的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;
内容同步模块526,用于根据所述坐标系变换数据对虚拟场景中的内容进行同步操作。
需要说明的是,本发明具体实施例中,上述终端51可以是上述图3或图6实施例中第一终端,上述终端52可以是上述图3或图6实施例中第二终端。也就是说,具体实现中,终端51中的相关模块和终端52中的相关模块可分别用于实现本发明实施例上文图3或图6实施例描述的数据处理方法中第一终端、第二终端的相关功能步骤,这里不再赘述。
参见图10,图10是本发明实施例提供的又一种多用户交互系统的结构框图。该系统包括终端61、终端62和服务器63,终端61和服务器63之间可进行通信连接,终端62和服务器63之间可进行通信连接。
其中,终端61包括图像获取模块611、SLAM模块612、特征提取模块613、地图生成模块614、通信模块615,在一具体实现中,这些功能模块的数据/程序可被存储于上述存储器315,且这些功能模块可被运行于上述处理器311。其中:
图像获取模块611,用于获取第一图像;
SLAM模块612,用于根据所述第一图像,获得环境中物体的第一点云数据;所述第一点云数据表示所述环境中物体的表面点在终端61的第一相机坐标系中的三维坐标值;还用于,根据所述第一图像,获得终端61在所述第一相机坐标系中的位姿数据;
特征提取模块613,用于根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像;
地图生成模块614,用于根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据;
通信模块615,用于将所述地图数据发送至服务器63。
其中,终端62包括图像获取模块621、SLAM模块622、特征提取模块623、通信模块624、内容同步模块625,在一具体实现中,这些功能模块的数据/程序可被存储于上述存储器315,且这些功能模块可被运行于上述处理器311。其中:
图像获取模块621,用于获取第二图像;
SLAM模块622,用于获取终端62在所述终端62的第二相机坐标系中的位姿数据;
特征提取模块623,用于获取所述终端62的二维特征图像;
通信模块624,用于向服务器发送终端62的关键帧,终端62的关键帧包括终端62在所述终端62的第二相机坐标系中的位姿数据以及所述终端62的二维特征图像。
通信模块624还用于,接收服务器63发送的坐标系变换数据。
内容同步模块625,用于根据所述坐标系变换数据对虚拟场景中的内容进行同步操作。
其中,服务器包括接收模块631、坐标系变换模块632和发送模块633,在具体实现中,还可将接收模块631和发送模块633整合成通信模块634,即接收模块631、发送模块633分别作为通信模块634的两个子功能。在一具体实现中,这些功能模块的数据/程序可存储于上述存储器401,且这些功能模块可被运行于上述处理器403。其中:
接收模块631,用于接收终端61发送的地图数据,所述地图数据是基于环境中物体的第一点云数据、终端61在所述终端61的第一相机坐标系中的位姿数据、以及所述终端61的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述终端61的第一相机坐标系中的三维坐标值;还用于,接收终端62在所述终端62的第二相机坐标系中的位姿数据,以及所述终端62的二维特征图像;
坐标系变换模块632,用于使用所述终端62的二维特征图像在所述地图数据中进行特征匹配操作,获得所述终端62在所述第一相机坐标系中的位姿数据;根据所述终端62在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;
发送模块633,用于将所述坐标系变换数据发送至所述终端62。
需要说明的是,本发明具体实施例中,上述终端61可以是上述图6实施例中第一终端,上述终端62可以是上述图6实施例中第二终端,上述服务器63可以是上述图6实施例中的服务器。也就是说,具体实现中,终端61中的相关模块、终端62中的相关模块、服务器63的相关模块可分别用于实现本发明实施例上文图6实施例描述的数据处理方法中第一终端、第二终端、服务器的相关功能步骤,这里不再赘述。
需要说明的是,本发明上述图9或图10实施例提出的特征提取模块、地图生成模块和坐标系变换模块,可提供统一对外接口,通过统一的对外接口,能够大量减少针对不同应用场景的多人共享AR应用的开发工作,提升用户使用体验。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

Claims (24)

1.一种用于虚拟场景的数据处理方法,其特征在于,所述方法包括:
第一终端通过相机采集第一图像,所述第一图像包括现实环境中任意的物体的图像;
所述第一终端根据所述第一图像,获得所述物体的第一点云数据;所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;
所述第一终端根据所述第一图像,获得所述第一终端在所述第一相机坐标系中的位姿数据;
所述第一终端根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像;
所述第一终端根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据;
所述第一终端向第二终端或服务器发送所述地图数据。
2.根据权利要求1所述的方法,其特征在于,所述第一终端根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像,包括:
所述第一终端根据所述位姿数据,将所述第一点云数据投影到所述第一图像,以得到所述第一点云数据对应在所述第一图像的图像坐标系中的二维图像坐标;
所述第一终端根据所述二维图像坐标对应在所述第一图像中的图像块或者图像特征点描述子,获得所述二维特征图像。
3.根据权利要求2所述的方法,其特征在于,所述第一终端根据所述第一图像,获得所述第一终端在所述第一相机坐标系中的位姿数据,具体包括:
所述第一终端根据所述第一图像以及惯性测量单元IMU采集的运动数据,获得所述第一终端在所述第一相机坐标系中的位姿数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述第一终端根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据之前,所述方法还包括:
所述第一终端获取定位数据,所述定位数据包括所述终端的GPS定位数据、所述第一终端的北斗定位数据、所述第一终端的WIFI定位数据、所述第一终端的蓝牙定位数据、或所述第一终端的基站定位数据中的至少一种;
相应的,所述地图数据还携带有所述定位数据。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。
6.一种用于虚拟场景的数据处理方法,其特征在于,所述方法包括:
第二终端接收第一终端发送的地图数据,所述地图数据是基于现实环境中任意的物体的第一点云数据、所述第一终端在所述第一终端的第一相机坐标系中的位姿数据、以及所述第一终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;
所述第二终端获取所述第二终端在所述第二终端的第二相机坐标系中的位姿数据;
所述第二终端获取所述第二终端的二维特征图像;
所述第二终端根据所述地图数据、所述第二终端在所述第二相机坐标系中的位姿数据和所述第二终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;
所述第二终端根据所述坐标系变换数据对虚拟场景中的内容进行同步。
7.根据权利要求6所述的方法,其特征在于,所述第二终端根据所述地图数据、所述第二终端在所述第二相机坐标系中的位姿数据和所述第二终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据,包括:
所述第二终端使用所述第二终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述第二终端在所述第一相机坐标系中的位姿数据;
所述第二终端根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
8.根据权利要求7所述的方法,其特征在于,所述第二终端获取所述第二终端在所述第二终端的第二相机坐标系中的位姿数据之前,包括:
所述第二终端采集第二图像,所述第二图像包括所述物体的图像;以及,
所述第二终端根据所述第二图像,获得所述物体的第二点云数据;所述第二点云数据表示所述物体的表面点在所述第二相机坐标系中的三维坐标值;
相应的,所述第二终端获取所述第二终端在所述第二终端的第二相机坐标系中的位姿数据,包括:所述第二终端根据所述第二图像,获得所述第二终端在所述第二相机坐标系中的位姿数据;
相应的,所述第二终端获取所述第二终端的二维特征图像,包括:所述第二终端根据所述第二终端在所述第二相机坐标系中的位姿数据,将所述第二点云数据投影到所述第二图像,以得到所述第二点云数据对应在所述第二图像的图像坐标系中的二维图像坐标;所述第二终端根据所述二维图像坐标对应在所述第二图像中的图像块或者图像特征点描述子,获得所述第二终端的二维特征图像。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述第二终端根据所述坐标系变换数据对虚拟场景中的内容进行同步,包括:
所述第二终端根据所述坐标系变换数据,获得所述虚拟场景的锚点的姿态变换数据;
所述第二终端根据所述锚点的姿态变换数据,对所述虚拟场景中的内容进行同步。
10.根据权利要求6-8任一项所述的方法,其特征在于,所述地图数据还携带有定位数据,所述定位数据包括所述第一终端的GPS定位数据、所述第一终端的北斗定位数据、所述第一终端的WIFI定位数据、所述第一终端的蓝牙定位数据、或所述第一终端的基站定位数据中的至少一种;
相应的,所述第二终端获取所述第二终端的二维特征图像,包括:
所述第二终端根据所述定位数据,确定二维特征图像的搜索范围;
根据所述搜索范围,从多个历史二维特征图像中确定所述第二终端的二维特征图像。
11.根据权利要求6-8任一项所述的方法,其特征在于,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。
12.一种用于虚拟场景的数据处理方法,其特征在于,所述方法包括:
服务器接收第一终端发送的地图数据,所述地图数据是基于现实环境中任意的物体的第一点云数据、所述第一终端在所述第一终端的第一相机坐标系中的位姿数据、以及所述第一终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;
所述服务器接收第二终端在所述第二终端的第二相机坐标系中的位姿数据,以及所述第二终端的二维特征图像;
所述服务器使用所述第二终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述第二终端在所述第一相机坐标系中的位姿数据;
所述服务器根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;
所述服务器将所述坐标系变换数据发送至所述第二终端。
13.一种用于虚拟场景的数据处理的终端,其特征在于,具体包括:
图像获取模块,用于通过所述终端的相机采集第一图像,所述第一图像包括现实环境中任意的物体的图像;
SLAM模块,用于根据所述第一图像,获得所述物体的第一点云数据;所述第一点云数据表示所述物体的表面点在所述终端的第一相机坐标系中的三维坐标值;
所述SLAM模块还用于,根据所述第一图像,获得所述终端在所述第一相机坐标系中的位姿数据;
特征提取模块,用于根据所述位姿数据、所述第一点云数据和所述第一图像,获得二维特征图像;
地图生成模块,用于根据所述第一点云数据、所述位姿数据和所述二维特征图像生成地图数据;
通信模块,用于向其他终端或服务器发送所述地图数据。
14.根据权利要求13所述的终端,其特征在于,所述特征提取模块具体用于:
根据所述位姿数据,将所述第一点云数据投影到所述第一图像,获得所述第一点云数据对应在所述第一图像的图像坐标系中的二维图像坐标;
根据所述二维图像坐标对应在所述第一图像中的图像块或者图像特征点描述子,获得所述二维特征图像。
15.根据权利要求14所述的终端,其特征在于,所述SLAM模块具体用于:
根据所述第一图像以及惯性测量单元IMU采集的运动数据,获得所述终端在所述第一相机坐标系中的位姿数据。
16.根据权利要求13-15任一项所述的终端,其特征在于,所述终端还包括定位模块;所述定位模块用于,获取定位数据,所述定位数据包括所述终端的GPS定位数据、所述终端的北斗定位数据、所述终端的WIFI定位数据、所述终端的蓝牙定位数据、或所述终端的基站定位数据中的至少一种;
相应的,所述地图生成模块所生成的地图数据还携带有所述定位数据。
17.根据权利要求13-15任一项所述的终端,其特征在于,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。
18.一种用于虚拟场景的数据处理的终端,其特征在于,具体包括:
通信模块,用于接收其他终端发送的地图数据,所述地图数据是基于现实环境中任意的物体的第一点云数据、所述其他终端在所述其他终端的第一相机坐标系中的位姿数据、以及所述其他终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述其他终端的第一相机坐标系中的三维坐标值;
SLAM模块,用于获取所述终端在所述终端的第二相机坐标系中的位姿数据;
所述SLAM模块还用于,获取所述终端的二维特征图像;
坐标系变换模块,用于根据所述地图数据、所述终端在所述第二相机坐标系中的位姿数据和所述终端的二维特征图像,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;
内容同步模块,用于根据所述坐标系变换数据对虚拟场景中的内容进行同步。
19.根据权利要求18所述的终端,其特征在于,所述坐标系变换模块具体用于:
使用所述终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述终端在所述第一相机坐标系中的位姿数据;
根据所述终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据。
20.根据权利要求19所述的终端,其特征在于,所述终端还包括图像获取模块,所述图像获取模块用于,通过相机采集第二图像,所述第二图像包括所述物体的图像;
所述SLAM模块还用于,根据所述第二图像,获得所述物体的第二点云数据;所述第二点云数据表示所述物体的表面点在所述第二相机坐标系中的三维坐标值;
所述SLAM模块具体用于,根据所述第二图像,获得所述终端在所述第二相机坐标系中的位姿数据;
所述SLAM模块还具体用于,根据所述终端在所述第二相机坐标系中的位姿数据,将所述第二点云数据投影到所述第二图像,以得到所述第二点云数据对应在所述第二图像的图像坐标系中的二维图像坐标;根据所述二维图像坐标对应在所述第二图像中的图像块或者图像特征点描述子,获得所述终端的二维特征图像。
21.根据权利要求18-20任一项所述的终端,其特征在于,所述内容同步模块具体用于:
根据所述坐标系变换数据,获得所述虚拟场景的锚点的姿态变换数据;
根据所述锚点的姿态变换数据,对所述虚拟场景中的内容进行同步。
22.根据权利要求18-20任一项所述的终端,其特征在于,所述地图数据还携带有定位数据,所述定位数据包括所述其他终端的GPS定位数据、所述其他终端的北斗定位数据、所述其他终端的WIFI定位数据、所述其他终端的蓝牙定位数据、或所述其他终端的基站定位数据中的至少一种;
所述SLAM模块具体用于,根据所述定位数据,获取所述终端的二维特征图像。
23.根据权利要求18-20任一项所述的终端,其特征在于,所述虚拟场景为虚拟现实VR场景、增强现实AR场景、混合现实MR场景中的一种。
24.一种用于虚拟场景的数据处理的服务器,其特征在于,所述服务器包括:
接收模块,用于接收第一终端发送的地图数据,所述地图数据是基于现实环境中任意的物体的第一点云数据、所述第一终端在所述第一终端的第一相机坐标系中的位姿数据、以及所述第一终端的二维特征图像而生成的;其中,所述第一点云数据表示所述物体的表面点在所述第一终端的第一相机坐标系中的三维坐标值;
所述接收模块还用于,接收第二终端在所述第二终端的第二相机坐标系中的位姿数据,以及所述第二终端的二维特征图像;
坐标系变换模块,用于使用所述第二终端的二维特征图像在所述地图数据中进行特征匹配操作,获得所述第二终端在所述第一相机坐标系中的位姿数据;根据所述第二终端在所述第一相机坐标系中的位姿数据和在所述第二相机坐标系中的位姿数据,获得所述第一相机坐标系与所述第二相机坐标系之间的坐标系变换数据;
发送模块,用于将所述坐标系变换数据发送至所述第二终端。
CN201811201612.1A 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备 Active CN109949422B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811201612.1A CN109949422B (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备
CN202011394754.1A CN112530024A (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备
EP19874171.2A EP3855400A4 (en) 2018-10-15 2019-10-10 DATA PROCESSING METHOD AND DEVICE FOR VIRTUAL SCENE
PCT/CN2019/110330 WO2020078250A1 (zh) 2018-10-15 2019-10-10 用于虚拟场景的数据处理方法以及设备
US17/230,102 US20210233272A1 (en) 2018-10-15 2021-04-14 Data processing method and device used in virtual scenario

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811201612.1A CN109949422B (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011394754.1A Division CN112530024A (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备

Publications (2)

Publication Number Publication Date
CN109949422A CN109949422A (zh) 2019-06-28
CN109949422B true CN109949422B (zh) 2020-12-15

Family

ID=67005928

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811201612.1A Active CN109949422B (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备
CN202011394754.1A Pending CN112530024A (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011394754.1A Pending CN112530024A (zh) 2018-10-15 2018-10-15 用于虚拟场景的数据处理方法以及设备

Country Status (4)

Country Link
US (1) US20210233272A1 (zh)
EP (1) EP3855400A4 (zh)
CN (2) CN109949422B (zh)
WO (1) WO2020078250A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109949422B (zh) * 2018-10-15 2020-12-15 华为技术有限公司 用于虚拟场景的数据处理方法以及设备
KR102608127B1 (ko) * 2019-04-08 2023-12-01 삼성전자주식회사 이미지 프로세싱을 수행하는 전자 장치 및 방법
CN112348887A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 终端位姿确定方法以及相关装置
CN110989825B (zh) * 2019-09-10 2020-12-01 中兴通讯股份有限公司 增强现实互动实现方法及系统、增强现实设备、存储介质
CN110673115B (zh) * 2019-09-25 2021-11-23 杭州飞步科技有限公司 雷达与组合导航系统的联合标定方法、装置、设备及介质
CN110866977B (zh) * 2019-10-31 2023-06-16 Oppo广东移动通信有限公司 增强现实处理方法及装置、系统、存储介质和电子设备
CN112785715A (zh) 2019-11-08 2021-05-11 华为技术有限公司 虚拟物体显示方法以及电子设备
WO2021089006A1 (zh) * 2019-11-08 2021-05-14 华为技术有限公司 数字空间的管理方法、装置与设备
CN111078003B (zh) * 2019-11-27 2021-10-22 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
CN111060118B (zh) * 2019-12-27 2022-01-07 炬星科技(深圳)有限公司 场景地图建立方法、设备及存储介质
CN111338474B (zh) * 2020-02-19 2022-11-08 Oppo广东移动通信有限公司 虚拟对象位姿校准方法及装置、存储介质和电子设备
CN111415388B (zh) * 2020-03-17 2023-10-24 Oppo广东移动通信有限公司 一种视觉定位方法及终端
CN111506323B (zh) * 2020-04-20 2023-06-27 武汉灏存科技有限公司 基于虚拟场景的数据处理方法、装置、设备及存储介质
CN112634439B (zh) * 2020-12-25 2023-10-31 北京奇艺世纪科技有限公司 一种3d信息展示方法及装置
CN114812381B (zh) * 2021-01-28 2023-07-18 华为技术有限公司 电子设备的定位方法及电子设备
CN112950711A (zh) * 2021-02-25 2021-06-11 深圳市慧鲤科技有限公司 一种对象的控制方法、装置、电子设备及存储介质
US11409359B1 (en) * 2021-08-06 2022-08-09 Kinoo, Inc. Systems and methods for collective control of virtual objects
CN113784049B (zh) * 2021-09-17 2023-08-01 西安万像电子科技有限公司 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质
CN114794667B (zh) * 2022-03-31 2023-04-14 深圳市如本科技有限公司 工具标定方法、系统、装置、电子设备以及可读存储介质
CN115222899B (zh) * 2022-09-21 2023-02-21 湖南草根文化传媒有限公司 虚拟数字人生成方法、系统、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107223269A (zh) * 2016-12-29 2017-09-29 深圳前海达闼云端智能科技有限公司 三维场景定位方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140267234A1 (en) * 2013-03-15 2014-09-18 Anselm Hook Generation and Sharing Coordinate System Between Users on Mobile
US9773313B1 (en) * 2014-01-03 2017-09-26 Google Inc. Image registration with device data
WO2015161307A1 (en) * 2014-04-18 2015-10-22 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9928656B2 (en) * 2015-09-11 2018-03-27 Futurewei Technologies, Inc. Markerless multi-user, multi-object augmented reality on mobile devices
US9858669B2 (en) * 2015-10-23 2018-01-02 The Boeing Company Optimized camera pose estimation system
US9630619B1 (en) * 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
CN105528082B (zh) * 2016-01-08 2018-11-06 北京暴风魔镜科技有限公司 三维空间及手势识别追踪交互方法、装置和系统
CN106355647A (zh) * 2016-08-25 2017-01-25 北京暴风魔镜科技有限公司 增强现实系统和方法
GB201705767D0 (en) * 2017-04-10 2017-05-24 Blue Vision Labs Uk Ltd Co-localisation
CN107230225B (zh) * 2017-04-25 2020-06-09 华为技术有限公司 三维重建的方法和装置
CN110799804A (zh) * 2017-06-30 2020-02-14 深圳市大疆创新科技有限公司 地图生成系统和方法
CN107820593B (zh) * 2017-07-28 2020-04-17 深圳市瑞立视多媒体科技有限公司 一种虚拟现实交互方法、装置及系统
CN107748569B (zh) * 2017-09-04 2021-02-19 中国兵器工业计算机应用技术研究所 用于无人机的运动控制方法、装置及无人机系统
CN107885871A (zh) * 2017-11-24 2018-04-06 南京华捷艾米软件科技有限公司 基于云计算的同步定位与地图构建方法、系统、交互系统
CN108389264B (zh) * 2018-02-07 2022-03-29 杭州易现先进科技有限公司 坐标系统确定方法、装置、存储介质及电子设备
WO2019204800A1 (en) * 2018-04-20 2019-10-24 WeRide Corp. Method and system for generating high definition map
CN109949422B (zh) * 2018-10-15 2020-12-15 华为技术有限公司 用于虚拟场景的数据处理方法以及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107223269A (zh) * 2016-12-29 2017-09-29 深圳前海达闼云端智能科技有限公司 三维场景定位方法和装置

Also Published As

Publication number Publication date
US20210233272A1 (en) 2021-07-29
EP3855400A4 (en) 2021-11-10
WO2020078250A1 (zh) 2020-04-23
CN112530024A (zh) 2021-03-19
EP3855400A1 (en) 2021-07-28
CN109949422A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109949422B (zh) 用于虚拟场景的数据处理方法以及设备
US11145083B2 (en) Image-based localization
CN110140099B (zh) 用于跟踪控制器的系统和方法
KR102606785B1 (ko) 동시 로컬화 및 매핑을 위한 시스템 및 방법
WO2019223468A1 (zh) 相机姿态追踪方法、装置、设备及系统
CN109947886B (zh) 图像处理方法、装置、电子设备及存储介质
JP6255085B2 (ja) 位置特定システムおよび位置特定方法
CN106846497B (zh) 应用于终端的呈现三维地图的方法和装置
CN111738220A (zh) 三维人体姿态估计方法、装置、设备及介质
US11776151B2 (en) Method for displaying virtual object and electronic device
CN111060138B (zh) 标定方法及装置、处理器、电子设备、存储介质
KR102197615B1 (ko) 증강 현실 서비스를 제공하는 방법 및 증강 현실 서비스를 제공하기 위한 서버
CN108389264A (zh) 坐标系统确定方法、装置、存储介质及电子设备
CN109767470B (zh) 一种跟踪系统初始化方法及终端设备
JP2018524657A (ja) 電子デバイス上における環境マッピング用のフィーチャ・データの管理
CN108430032B (zh) 一种实现vr/ar设备位置共享的方法及设备
WO2021088497A1 (zh) 虚拟物体显示方法、全局地图更新方法以及设备
KR20230017864A (ko) 증강 현실 디바이스의 추적
CA3122654A1 (en) Sensor synchronization
CN114187509B (zh) 对象定位方法、装置、电子设备以及存储介质
CN114529452A (zh) 用于显示图像的方法、装置和电子设备
CN116152075A (zh) 光照估计方法、装置以及系统
CN109255095B (zh) Imu数据的积分方法、装置、计算机可读介质及电子设备
CN117906634A (zh) 一种设备检测方法、装置、设备及介质
KR20240017917A (ko) 3d 맵 압축 방법 및 장치, 및 3d 맵 압축해제 방법 및 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant