CN112785700A - 虚拟物体显示方法、全局地图更新方法以及设备 - Google Patents

虚拟物体显示方法、全局地图更新方法以及设备 Download PDF

Info

Publication number
CN112785700A
CN112785700A CN201911099310.2A CN201911099310A CN112785700A CN 112785700 A CN112785700 A CN 112785700A CN 201911099310 A CN201911099310 A CN 201911099310A CN 112785700 A CN112785700 A CN 112785700A
Authority
CN
China
Prior art keywords
map
coordinate system
global
electronic device
slam
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.)
Pending
Application number
CN201911099310.2A
Other languages
English (en)
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 PCT/CN2020/113321 priority Critical patent/WO2021088497A1/zh
Publication of CN112785700A publication Critical patent/CN112785700A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了虚拟物体显示方法、全局地图更新方法以及设备,全局地图更新方法包括:从服务器获取与电子设备的位置关联的全局子地图;根据第二坐标系下的SLAM地图与第二坐标系下的全局子地图的比较结果,或者根据第一坐标系下的SLAM地图与第二坐标系下的全局子地图的比较结果以及坐标系变换信息,获得地图更新信息;地图更新信息用于指示第二坐标系下或者第一坐标系下的SLAM地图相对于第二坐标系下的全局子地图的差异;将地图更新信息发送给服务器,地图更新信息用于更新服务器中第二坐标系下的全局地图。实施本申请能够实现高效率的全局地图更新,提升用户使用体验。

Description

虚拟物体显示方法、全局地图更新方法以及设备
本申请要求于2019年11月08日提交中国专利局、申请号为2019110973931、申请名称 为“虚拟物体显示方法、全局地图更新方法以及设备”的中国专利申请的优先权,其全部内 容通过引用结合在本申请中。
技术领域
本申请涉及虚拟场景技术领域,尤其涉及虚拟物体显示方法、全局地图更新方法以及电 子设备和服务器。
背景技术
虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)和混合现实(Mixed Reality,MR)技术是近年来新兴的多媒体虚拟场景技术。其中,VR技术是一种可以创建和 体验虚拟世界的仿真技术,AR技术是一种可以将虚拟现实和真实世界叠加并进行互动的技术。 MR技术是通过合并真实世界和虚拟世界而产生的新的可视化环境,并且在真实世界、虚拟 世界和用户之间搭起一个交互反馈的信息回路的综合技术。
在上述虚拟场景技术中,通常采用同时定位与建图(Simultaneous Localizationand Mapping,SLAM)技术进行电子设备自身在环境中的定位。SLAM技术具体可实现电子设备 (例如手机、VR眼镜等移动电子设备)在环境中从一个未知位置开始移动时,在移动过程中 根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,以便于后续的 定位,采用SLAM技术的系统或模块又可称为空间定位引擎。
在一些城市级交互式VR或AR应用中,全局地图是虚拟物体的载体,是用户之间互联 的桥梁。在实现电子设备的局部坐标系与全局地图的全局坐标系同步后,全局坐标系中的虚 拟物体就可以在电子设备上显示。然而,全局地图的生成公司创建的全局地图时往往覆盖率 有限,而且在现实环境中城市建筑景观经常会发生变化,环境景观随季节发生变化,环境可 视度随光照发生变化,等等。这些因素都会造成全局地图中的地图内容和现实环境有差异, 从而导致电子设备的全局定位不准确甚至无法定位。因此,如何有效进行全局地图更新是本 领域技术人员亟需解决的技术问题。
发明内容
本申请实施例提供了虚拟物体显示方法、全局地图更新方法以及设备,能够实现高效率 的全局地图更新,提升用户使用体验。
第一方面,本申请实施例提供了一种虚拟物体显示方法,应用于具有显示组件(例如显 示屏(例如,触摸屏、柔性屏、曲面屏等,或者光学组件)和摄像头的第一电子设备,第一 电子设备可以是手持终端(如手机),VR或AR眼镜,无人机,无人车等。该方法包括:检 测到用户打开应用的操作;响应于所述操作,从服务器下载第一全局子地图并存储到所述第一电子设备的即时定位与地图构建(SLAM)系统中;所述第一全局子地图是全局地图中与所述第一电子设备的位置关联的子地图;在所述显示组件上基于所述第一电子设备的位姿数 据来显示虚拟物体(或者,在所述显示组件上显示所述虚拟物体的位置与姿态),所述第一电 子设备的位姿数据是所述SLAM系统至少根据所述摄像头采集的视频图像和所述第一全局子 地图执行位姿计算得到的,其中所述服务器上的全局地图是根据一个或多个第二电子设备发 送的地图更新信息进行更新得到的,其中,所述一个或多个第二电子设备为除所述第一电子 设备外的电子设备,第二电子设备例如也可以是手持终端(如手机),VR或AR眼镜,无人 机,无人车等。
其中,所谓“打开应用的操作”可以是通过点击、触摸、滑动、或抖动等方式打开应用, 也可以是声控或者其它途径打开应用,本申请对此不作限定。举例来说,电子设备检测到用 户的触摸操作后,应用中的导航功能被启动,摄像头被启动等等。
其中,服务器可作为向第一电子设备和第二电子设备的VR或AR或MR应用提供内容和信息支撑的平台。在服务器中存储有全局地图,通常来讲,全局地图是一种大地理范围的高精度的地图,所谓“大地理范围”是相对于电子设备中的SLAM地图所代表的地理范围而言的,例如全局地图可以是由一个或多个第二电子设备生成的多个SLAM地图的地图更新信息按照一定的规则进行融合得到的。相应的,全局子地图表示全局地图中与第一电子设备的 位置关联的子地图(亦称为与第一电子设备的位置关联的子地图),也就是说,可以以第一电 子设备的实际位置在全局地图中的位置点为起点,获取起点周围预设区域内的地图内容作为 所述全局子地图。
应当理解的是,本申请不限于用户触发,也可以是第一电子设备自动检测是否符合下载 全局子地图(或启动下载全局子地图)的条件,即本申请又一种可能的实现中,第一电子设 备也可以通过其他方式来启动下载全局子地图的步骤,例如,通过检测环境光线的变化或者 检测环境的变化来启动下载全局子地图的步骤。
本实施例中,第一电子设备可安装有VR或AR或MR应用等虚拟场景应用,并可基于用户的操作(例如点击、触摸、滑动、抖动、声控等)运行该VR或AR或MR应用。第一 电子设备可通过本地摄像头采集环境中的视频图像,结合采集的视频图像以及所下载的全局 子地图确定电子设备的当前位姿,进而基于第一电子设备的当前位姿在显示组件上显示虚拟物体的位置与姿态。虚拟物体相应可以为VR场景、AR场景或MR场景中的虚拟物体(即虚 拟环境中的物体)。
其中,所述地图更新信息用于指示所述第二坐标系下或者所述第一坐标系下的SLAM地 图相对于所述第二坐标系下的全局子地图的差异。所述第一坐标系下是所述SLAM系统的 SLAM地图的坐标系,所述第二坐标系是所述全局子地图的坐标系,这里的第一或第二仅是 为了方便区分而已。
本申请实施例中,充分利用了各个第二电子设备的计算资源来计算获得地图更新信息, 减轻服务器计算负载。而地图更新信息相比起摄像头拍摄的图像数据而言,数据量更少,节 省了传输带宽资源,而服务器能够基于一个或多个第二电子设备的地图更新信息快速实现全 局地图更新,更新效率高。由于服务器中的全局地图能够被高效、准确地更新,所以也促进 了第一电子设备的全局定位的准确度更高,鲁棒性更好。第一电子设备检测到用户打开应用 的操作后,通过请求服务器下载全局子地图,利用比SLAM地图精度更高的全局子地图作为 视觉观测输入给SLAM系统,SLAM系统使用全局子地图和采集的视频图像来估计电子设备 的位姿,确保在VR或AR或MR应用的长时间(例如超过1分钟)运行中虚拟物体在电子 设备的显示位置和方向不会偏移,长时间正确地显示虚拟物体(例如,在视频图像所表示的 环境和时长下,以相对准确的方式显示虚拟物体),从而提升用户的使用体验。
其中,所述第一电子设备的位姿数据可以为第一坐标系下的所述第一电子设备的位姿数 据,或者,第二坐标系下的所述第一电子设备的位姿数据;所述第一坐标系下是所述SLAM 系统的SLAM地图的坐标系,所述第二坐标系是所述全局子地图的坐标系,这里的第一或第 二仅是为了方便区分而已。
本文中,构建SLAM地图所采用的坐标系可称为第一坐标系,本文中的第一坐标系在某 些应用场景下也可能被称为局部坐标系、SLAM坐标系、相机坐标系或其他某个合适的术语。 相应的,电子设备在局部坐标系下所体现出的位姿(位姿数据)可以称为局部位姿。
构建该全局地图所采用的坐标系可称为第二坐标系,本文中的第二坐标系在某些应用场 景下也可能被称为全局坐标系、世界坐标系或其他某个合适的术语。相应的,电子设备在全 局坐标系下所体现出的位姿(位姿数据)可以称为全局位姿。
基于第一方面,在一种实现方案中,所述地图更新信息是所述第二电子设备的SLAM系 统根据第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果获得的;其 中,所述第二坐标系下的SLAM地图是基于所述电子设备的SLAM系统所构建的第一坐标系 下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换信息得到的;所述 比较结果体现了所述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差 异,SLAM系统根据所述差异能够进一步获得所述地图更新信息。
在另一种实现方案中,所述地图更新信息是所述第二电子设备的SLAM系统根据所述第 一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换 信息获得的,所述比较结果体现了所述第一坐标系下的SLAM地图相对于所述第二坐标系下 的全局子地图的差异,SLAM系统可将所述差异转换到第二坐标系下去表示,根据第二坐标 系下的差异能够进一步获得所述地图更新信息。
其中,SLAM系统可利用关键帧来构建SLAM地图,SLAM地图可以理解为SLAM系统根据 采集设备采集到的环境信息所绘制出的地图,采集设备例如可以包括电子设备中的图像采集 装置(例如摄像头或相机)和惯性测量单元(Inertial Measurement Unit,IMU),IMU中可以 包括:陀螺仪、加速度计等传感器。
SLAM地图可以包含以下地图内容:多个关键帧、三角测量的特征点以及关键帧和特征 点之间的关联。关键帧可以基于摄像头采集的图像和用来产生图像的相机参数(例如,电子 设备在SLAM坐标系中的位姿)而形成。如本文中所用的特征点(即特征)是作为图像的令 人感兴趣的或显著的一部分。其中所述特征点可以表示SLAM地图中沿着三维空间的不同的 3D地图点以及在3D地图点上的特征描述。每一特征点可具有关联的特征位置。每个特征点 可表示3D坐标位置,并且与一或多个描述符相关联。特征点又可称为3D特征、特征点、 3D特征点或者其他合适的名字。
例如,当电子设备拍摄到一张图像后,是否将该图像作为新的关键帧加入到SLAM地 图,可以从新的关键帧自身和新的关键帧与SLAM地图中的已有关键帧之间的关系这两方面 来考虑。也就是说,一方面,新的关键帧自身图像质量要好,比如不能是非常模糊的图像、 特征点数量要充足、特征点分布要尽量均匀等等;另一方面,对于新的关键帧需要与SLAM地 图中的已有关键帧有少量的共视关系,且大部分特征点是新特征点,以达到既存在约束,又 尽量少的信息冗余的效果,比如SLAM地图中的一个邻近关键帧的特征点在该新的关键帧里 有10%能观测到,剩余90%观测不到,等等。
其中,3D地图点(或称三维地图点或称三维空间坐标点)表示在三维空间轴线X、Y及Z上的坐标,例如,对于局部坐标系下的SLAM地图,3D地图点表示在局部坐标系三维 空间轴线X、Y及Z上的坐标。对于全局坐标系下的SLAM地图,3D地图点表示在全局坐 标系三维空间轴线X、Y及Z上的坐标。
为了描述上的方便,本申请实施例中,所谓“关键帧的3D地图点”或者所谓“非冗余关键帧的3D地图点”中,3D地图点的概念可以包含了二维图像中的视觉特征信息。
基于第一方面,在可能的实施方式中,所述地图更新信息包括:由所述第二电子设备的 SLAM系统所构建的SLAM地图的目标关键帧对应的位姿数据、三维(3D)地图点以及共视 数据,所述共视数据用于指示所述目标关键帧与所述第二电子设备中的第二全局子地图的关 键帧之间的共视关系。所述第二全局子地图是全局地图中与所述第二电子设备的位置关联的 子地图。
具体的,所述目标关键帧为非冗余关键帧,所述非冗余关键帧表示存在于所述第二电子 设备的SLAM地图中但不存在于所述第二全局子地图中的关键帧。
例如,地图更新信息可以是该目标关键帧被转换到全局坐标系下后再融合进全局子地图 后的相关信息(即目标关键帧对应的位姿、共视关系、3D地图点等信息)。即地图更新信息 是经融合的全局子地图中相比起原先的全局子地图而言,被更新的那一部分信息。
本申请实施例中,地图更新信息只需包含所变化的关键帧位姿、共视关系以及3D地图 点,相比原先下载的全局子地图而言数据量会小很多,所以进一步节省了传输带宽资源。第 二电子设备将地图更新信息发送给服务器后,服务器就能够基于地图更新信息实现对服务器 中的全局地图的更新。这样,减轻服务器计算负载,且提高了全局地图的更新效率和鲁棒性。
基于第一方面,在可能的实施方式中,所述地图更新信息包括:存在于所述第二电子设 备的SLAM地图中但不存在于所述第二全局子地图中的关键帧。所述第二全局子地图是全局 地图中与所述第二电子设备的位置关联的子地图。
本申请实施例中,地图更新信息可以直接为非冗余关键帧,第二电子设备识别出该 SLAM地图的非冗余关键帧后,并将非冗余关键帧发送给服务器,服务器再利用非冗余关键 帧融合到全局地图,从而也能够实现对服务器中的全局地图的高效率的更新。这样的方案有 利于减轻电子设备的计算负载,保证地图融合的准确性。
基于第一方面,在可能的实施方式中,所述响应于所述操作,从服务器下载第一全局子 地图,包括:向服务器发送用于指示所述第一电子设备的初始位置的第一位置指纹信息;从 所述服务器接收所述第一全局子地图,所述第一全局子地图对应有第二位置指纹信息,且所 述第一位置指纹信息和所述第二位置指纹信息相匹配。通过服务器执行地图匹配操作,提高 了匹配效率和精准度,进而有利于减少下载地图的时延。
第二方面,本申请实施例提供了一种全局地图更新方法,应用于电子设备,电子设备可 以是手持终端(如手机),VR或AR眼镜,无人机,无人车等。该方法包括:从服务器获取与所述电子设备的位置对应的全局子地图,所述全局子地图是第二坐标系下的全局地图中与 所述电子设备的位置关联的子地图;根据所述电子设备的SLAM系统所构建的第二坐标系下 的SLAM地图与所述第二坐标系下的全局子地图的比较结果,或者根据所述电子设备的 SLAM系统所构建的第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结 果以及所述坐标系变换信息,获得地图更新信息,其中所述第二坐标系下的SLAM地图是基 于所述第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换 信息得到的,所述地图更新信息用于指示所述第二坐标系下或者所述第一坐标系下的SLAM 地图相对于所述第二坐标系下的全局子地图的差异;将所述地图更新信息发送给所述服务器, 所述地图更新信息用于更新所述服务器中所述第二坐标系下的全局地图。
其中,当方案实现为“根据第二坐标系下的SLAM地图与所述第二坐标系下的全局子地 图的比较结果,获得地图更新信息”时,所述地图更新信息用于指示所述第二坐标系下的 SLAM地图相对于所述第二坐标系下的全局子地图的差异。也就是说,所述第二坐标系下的 SLAM地图是基于第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的 坐标系变换信息得到的,所述比较结果体现了所述第二坐标系下的SLAM地图相对于所述第 二坐标系下的全局子地图的差异,SLAM系统根据所述差异能够进一步获得所述地图更新信 息。
当方案实现为“根据第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比 较结果以及所述坐标系变换信息,获得地图更新信息”时,所述地图更新信息用于指示所述 第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。所述比较结果即 体现了所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。在这 里的“差异”是在第一坐标系下所表示的差异,而SLAM系统可以将所述差异基于所述第一坐 标系和所述第二坐标系之间的坐标系变换信息进一步转换到第二坐标系下去表示,且根据第 二坐标系下的差异能够进一步获得所述地图更新信息。所以,所述地图更新信息能够用于“指 示所述差异”。
其中,服务器可作为向电子设备的VR或AR或MR应用提供内容和信息支撑的平台。在服务器中存储有全局地图,通常来讲,全局地图是一种大地理范围的高精度的地图,所谓“大地理范围”是相对于电子设备中的SLAM地图所代表的地理范围而言的,例如全局地图可以是由一个或多个电子设备生成的多个SLAM地图按照一定的规则进行整合得到的。相应的,全局子地图表示全局地图中与电子设备的位置关联的子地图,也就是说,可以以电子设备的实际位置在全局地图中的位置点为起点,获取起点周围预设区域内的地图内容作为所述 全局子地图。
本申请实施例中,电子设备从服务器下载全局地图中全局子地图,通过比较全局子地图 和电子设备中的SLAM地图,利用电子设备侧的计算资源和运算能力来获得地图更新信息, 该地图更新信息能够被用来更新全局子地图中的地图内容。所以电子设备将地图更新信息发 送给服务器后,服务器就能够基于地图更新信息实现对服务器中的全局地图更新。这样,减 轻服务器计算负载,提高了服务器更新全局地图的效率。而地图更新信息相比起摄像头拍摄 的图像数据而言,数据量更少,所以也节省了传输带宽资源。
基于第二方面,在可能的实施方式中,所述第二坐标系下的SLAM地图具体为根据基于 所述坐标系变换信息对所述第一坐标系下的SLAM地图进行变换得到的;所述根据所述电子 设备的SLAM系统所构建的第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的 比较结果,获得地图更新信息,包括:通过比较所述第二坐标系下的SLAM地图与所述第二 坐标系下的全局子地图,以获得非冗余关键帧,所述非冗余关键帧表示存在于所述第二坐标 系下的SLAM地图中但不存在于所述第二坐标系下的全局子地图中的关键帧;将所述非冗余 关键帧融合到所述第二坐标系下的全局子地图,得到经融合后的全局子地图;从所述经融合 后的全局子地图中获得所述地图更新信息。
其中,SLAM系统可利用关键帧来构建SLAM地图,SLAM地图可以理解为SLAM系 统根据采集设备采集到的环境信息所绘制出的地图,SLAM地图可以包含以下地图内容: 多个关键帧、三角测量的特征点以及关键帧和特征点之间的关联。关键帧可以基于摄像头采 集的图像和用来产生图像的相机参数(例如,电子设备在SLAM坐标系中的位姿)而形成。 如本文中所用的特征点(即特征)是作为图像的令人感兴趣的或显著的一部分。其中所述特 征点可以表示SLAM地图中沿着三维空间的不同的3D地图点以及在3D地图点上的特征描 述。每一特征点可具有关联的特征位置。每个特征点可表示3D坐标位置,并且与一或多个 描述符相关联。
其中,3D地图点(或称三维地图点)表示在三维空间轴线X、Y及Z上的坐标,例如,对于局部坐标系下的SLAM地图,3D地图点表示在局部坐标系三维空间轴线X、Y及Z上 的坐标。对于全局坐标系下的SLAM地图,3D地图点表示在全局坐标系三维空间轴线X、Y 及Z上的坐标。
为了描述上的方便,本申请实施例中,所谓“关键帧的3D地图点”或者所谓“所谓“非 冗余关键帧的3D地图点”中,3D地图点的概念可以包含了二维图像中的视觉特征信息。
本申请一种实施例中,SLAM地图中的关键帧和地图点可以变换到全局坐标系中表示, SLAM地图可以也变换到全局坐标系中表示。在SLAM系统运行过程中,会不断更新SLAM地图,所谓“更新SLAM地图”体现在不断向全局坐标系下的SLAM地图插入关键帧。当有 一个新的关键帧插入或者即将要插入到所述SLAM地图时,电子设备判断SLAM系统插入的 关键帧是否与下载的全局子地图中的关键帧存在冗余。所谓关键帧的冗余指关键帧关联的3D地图点信息在全局子地图中已经存在,即全局子地图已经保存了当前环境中的视觉信息,不 需要再增加该关键帧了。而关键帧不冗余即关键帧关联的3D地图点信息在全局子地图中未 存在,全局子地图需要增加该关键帧来实现更新,以便于地图内容与真实环境同步。本申请 实施例中,所述全局坐标系下的SLAM地图中不与全局子地图中的关键帧存在冗余的关键帧 可称为非冗余关键帧。后续可将所述非冗余关键帧融合到全局坐标系下的全局子地图。
其中,将所述非冗余关键帧融合到所述全局坐标系下的全局子地图后,所获得所述地图 更新信息可以包括非冗余关键帧对应的位姿、共视关系、3D地图点等信息,即地图更新信息 是经融合的全局子地图中相比起原先的全局子地图而言,被更新的那一部分信息。所以电子 设备可以从所述经融合后的全局子地图中获得所述地图更新信息以及发送给服务器。
本申请又一种实施例中,在SLAM系统运行过程中,当有一个新的关键帧插入或者即将 要插入到局部坐标系下的SLAM地图时,电子设备判断SLAM系统插入的关键帧是否与下载 的全局子地图中的关键帧存在冗余,即是否存在非冗余关键帧,非冗余关键帧表示所述局部 坐标系下的SLAM地图中不与全局子地图中的关键帧存在冗余的关键帧。若存在,则可将所 述非冗余关键帧变换到全局坐标系下表示,并将所述全局坐标系下的非冗余关键帧融合到全 局坐标系下的全局子地图。
其中,将所述全局坐标系下非冗余关键帧融合到所述全局坐标系下的全局子地图后,所 获得所述地图更新信息可以包括所述全局坐标系下的非冗余关键帧对应的位姿、共视关系、 3D地图点等信息,即地图更新信息是经融合的全局子地图中相比起原先的全局子地图而言, 被更新的那一部分信息。所以电子设备可以从所述经融合后的全局子地图中获得所述地图更 新信息以及发送给服务器。
本申请实施例中,地图更新信息可以从经融合后的全局子地图中获得,所以相比原先下 载的全局子地图而言数据量会小很多,所以进一步节省了传输带宽资源。第二电子设备将地 图更新信息发送给服务器后,服务器就能够基于地图更新信息实现对服务器中的全局地图的 更新。这样,减轻服务器计算负载,且提高了全局地图的更新效率和鲁棒性。
基于第二方面,在可能的实施方式中,所述将所述非冗余关键帧融合到所述第二坐标系 下的全局子地图,包括:将所述非冗余关键帧作为新的关键帧节点增加到在所述第二坐标系 下的全局子地图;更新所述非冗余关键帧与所述第二坐标系下的全局子地图中的关键帧的共 视关系;计算所述非冗余关键帧对应的位姿数据和三维地图点;相应的,所述从所述经融合 后的全局子地图中获得所述地图更新信息,包括:从所述经融合后的全局子地图中获取所述 非冗余关键帧对应的位姿数据、三维地图点以及共视数据作为所述地图更新信息(即地图更 新信息是经融合的全局子地图中相比起原先的全局子地图而言,被更新的那一部分信息),所 述共视数据用于指示所述非冗余关键帧与所述第二坐标系下的全局子地图的关键帧之间的共 视关系。
具体的,对于全局子地图中的某一3D地图点,如果该3D地图点能同时被若干个关键 帧观测到,那么该若干个关键帧就具有对该3D地图点的共视关系。所以,电子设备可计算 出全局子地图中的哪些3D地图点能同时被全局子地图中的至少一个关键帧和非冗余关键帧 观测到,从而更新全局子地图中的关键帧和非冗余关键之间的共视关系。
在更新了全局子地图的关键帧共视关系之后,电子设备可利用三角化算法计算新的3D 地图点,以及通过BA算法优化非冗余关键帧对应的位姿和3D地图点坐标,从而完成了将非 冗余关键帧融合(或称插入)到全局子地图,实现了该全局子地图的更新,并将非冗余关键 帧对应的位姿数据、三维地图点以及共视数据作为所述地图更新信息。
本申请实施例中,地图更新信息只需包含所变化的关键帧位姿、共视关系以及3D地图 点,相比原先下载的全局子地图而言数据量会小很多,所以进一步节省了传输带宽资源。第 二电子设备将地图更新信息发送给服务器后,服务器就能够基于地图更新信息实现对服务器 中的全局地图的更新。这样,减轻服务器计算负载,且提高了全局地图的更新效率和鲁棒性。
基于第二方面,在可能的实施方式中,所述根据第一坐标系下的SLAM地图与所述第二 坐标系下的全局子地图的比较结果以及所述坐标系变换信息,获得地图更新信息,包括: 通过比较所述第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图,以获得非冗余 关键帧,所述非冗余关键帧为存在于所述第一坐标系下的SLAM地图的关键帧,且所述非冗 余关键帧经所述坐标系变换信息变换后不存在于所述第二坐标系下的全局子地图;将经所述 坐标系变换信息变换后的非冗余关键帧融合到所述第二坐标系下的全局子地图,以获得所述 地图更新信息。所述经所述坐标系变换信息变换后的非冗余关键帧即是所述第二坐标系下的 关键帧。
综上可以看到,本申请实施例中,当方案实现为“根据第二坐标系下的SLAM地图与所 述第二坐标系下的全局子地图的比较结果,获得地图更新信息”时,所述地图更新信息用于 指示所述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。所述比 较结果体现了所述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异, 这种差异可以是第二坐标系下的SLAM地图中的非冗余关键帧,即该非冗余关键帧不存在于 全局子地图。SLAM系统后续可以将所述非冗余关键帧融合到全局子地图,从而获得地图更 新信息(包括非冗余关键帧对应的位姿数据、三维地图点以及共视数据)发给服务器。SLAM 系统也可以直接将所述非冗余关键帧作为地图更新信息发给服务器。
当方案实现为“根据第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比 较结果以及所述坐标系变换信息,获得地图更新信息”时,所述地图更新信息用于指示所述 第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。所述比较结果即 体现了所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。这种 差异可以是第一坐标系下的SLAM地图中的非冗余关键帧。SLAM系统可以将该非冗余关键 帧转换到第二坐标系下,获得第二坐标系下的非冗余关键帧。后续,SLAM系统可将第二坐 标系下的非冗余关键帧融合到全局子地图,从而获得地图更新信息(包括第二坐标系下的非 冗余关键帧对应的位姿数据、三维地图点以及共视数据)发给服务器。SLAM系统也可以直 接将所述第二坐标系下的非冗余关键帧作为地图更新信息发给服务器。
基于第二方面,在可能的实施方式中,所述从服务器获取与所述电子设备的位置对应的 全局子地图,包括:向服务器发送所述电子设备的初始位置的指示信息;从所述服务器接收 所述全局子地图,所述全局子地图是根据所述电子设备的初始位置确定的。
其中,所述电子设备的初始位置的指示信息可包括用于指示所述电子设备的初始位置的 第一位置指纹信息;所述全局子地图对应有第二位置指纹信息,且所述第一位置指纹信息和 所述第二位置指纹信息相匹配。通过服务器执行地图匹配操作,提高了匹配效率和精准度, 进而有利于减少下载地图的时延。
基于第二方面,在可能的实施方式中,在获得地图更新信息之前,还包括:根据采集的 视频图像和第一坐标系下的SLAM地图,确定所述电子设备在所述第一坐标系下的SLAM地 图中的第一位姿数据;根据所述视频图像和第二坐标系下的全局子地图,确定所述电子设备 在所述第二坐标系下的全局子地图中的第二位姿数据;根据所述第一位姿数据和所述第二位 姿数据,获得所述SLAM地图的第一坐标系和所述全局地图的第二坐标系之间的所述坐标系 变换信息。
其中,本申请一种实施例中的视频图像也可以直接为一张图像。本申请又一种实施例中 的视频图像也可以表示电子设备的摄像头采集的视频图像序列中的第K帧图像,K为大于等 于1的整数。也就是说,所述摄像头采集的视频图像可以是一个视频序列(视频流),包括多 帧图像,而第K帧图像可以是视频流中的某一帧。
本申请实施例通过根据同一帧分别获得终端在局部坐标系中的位姿和全局坐标系中的 位姿,基于这两种位姿就能够获得两种坐标系之间的坐标系变换信息(例如坐标系变换矩阵), 根据这个坐标系变换矩阵就可以实现了两个坐标系同步,这样,原先用局部坐标系来表示的 信息(例如局部位姿、图像的特征点、SLAM地图的3D地图点等等)就可以基于坐标系变 换矩阵变换到全局坐标系下。这样,就能够实现将局部坐标系下的SLAM地图转换到全局坐 标系下,或者将局部坐标系下的非冗余关键帧转换到全局坐标系下。
基于第二方面,在可能的实施方式中,所述根据采集的视频图像和第一坐标系下的 SLAM地图,确定所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据,包括: 根据所述视频图像、所述第一坐标系下的SLAM地图以及所述电子设备采集的运动数据,获 得所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据;所述运动数据包括运 动速度数据和运动方向数据。
例如,电子设备中设置有IMU,SLAM系统的输入信号包括来自摄像头采集的视频图像、IMU采集的运动数据和局部坐标系下的SLAM地图。IMU高频率地检测电子设备的角 速度和线加速度,并对角加速度和线加速度分别积分,进而可计算出电子设备的的位姿。摄 像头采集的视频图像通过在局部坐标系下的SLAM地图中做匹配,从而也能计算获得电子设备的的位姿。那么,基于这两种位姿以一定算法进行运算,就可以获得该第一位姿数据。
基于第二方面,在可能的实施方式中,所述根据所述视频图像和第二坐标系下的全局子 地图,确定所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据,包括: 对所述视频图像进行特征提取,以获得图像特征;将所述图像特征在所述第二坐标系下的全 局子地图中进行特征匹配,以获得与所述图像特征匹配的地图特征;根据所述图像特征和所 述地图特征,计算得到所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据。
例如,电子设备对第K帧图像进行特征检测,在第K帧图像中提取出特征的图像位置, 特征检测算法不限于FAST、ORB、SIFT、SURF、D2Net、SuperPoint等特征检测方法。然后对每一个检测出的特征进行特征描述,特征描述算法不限于ORB、SIFT、SURF、BRIEF、BRISK、FREAK、D2Net、SuperPoint等特征描述方法,从而形成一个一维向量,用于后续的 特征匹配。通过特征匹配,电子设备可从全局子地图中匹配出与第K帧图像最相似的地图内容(例如一帧或多帧关键帧),具体方法例如包括基于BOW、VLAD等传统图像检索方法以 及基于NetVLAD、AI的新型图像检索方法。找出与第K帧图像最相似的地图内容后,就可 以基于第K帧图像和最相似的地图内容进行位姿估计,例如可采用PnP、EPnP、3D-3D等配 准算法,从而可以计算出该第二位姿数据。
本申请实施例可以实现在电子设备侧,充分利用电子设备的运算能力,计算第一位姿数 据和第二位姿数据,提高了处理效率,还能够减轻服务器的计算负担。
基于第二方面,在可能的实施方式中,所述根据所述视频图像和第二坐标系下的全局子 地图,确定所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据,包括:向所 述服务器发送所述视频图像;从所述服务器接收所述第二位姿数据,所述第二位姿数据是所 述服务器根据所述视频图像和所述第二坐标系下的全局地图中与所述电子设备的位置关联的 全局子地图进行特征提取和特征匹配确定的。
其中,当视频图像为电子设备的摄像头采集的视频图像序列中的第K帧图像时,所述第 K帧图像可以是摄像头拍摄的视频图像序列中的第1帧图像。
本实施例中,由于电子设备需要先下载对应区域的全局子地图。下载地图的过程需要花 费一定时间。为了加快用户进入应用的速度,可以采用第一次全局位姿估计在服务器端完成 的方式。也即是说,应用启动后,第一次全局位姿估计在服务器侧进行,在启动全局位姿估 计的同时,服务器相应获取全局子地图并向电子设备传输,提高用户进入应用的速度。用户 并不会感知到地图下载流程的时延存在,这样,能够避免了下载时延造成的用户等待,进一 步提升用户体验。
第三方面,本申请实施例提供了一种全局地图更新方法,应用于服务器,该方法包括: 根据电子设备的请求,向所述电子设备发送与所述电子设备的位置对应的全局子地图,所述 全局子地图是第二坐标系下的全局地图中与所述电子设备的位置关联的子地图;从所述电子 设备接收地图更新信息;所述地图更新信息用于指示所述电子设备的SLAM系统所构建的第 一坐标系下或者所述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差 异根据所述地图更新信息来更新所述全局地图。
在一种实现方案中,所述地图更新信息用于指示所述电子设备的SLAM系统所构建的所 述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。具体的,所述 地图更新信息是所述电子设备的SLAM系统根据第二坐标系下的SLAM地图与所述第二坐标 系下的全局子地图的比较结果获得的;其中,所述第二坐标系下的SLAM地图是基于SLAM 系统所构建的第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标 系变换信息得到的;所述比较结果体现了所述第二坐标系下的SLAM地图相对于所述第二坐 标系下的全局子地图的差异,SLAM系统可根据所述差异能够进一步获得所述地图更新信息, 并将所述地图更新信息发送给服务器。
在另一种实现方案中,所述地图更新信息用于指示所述电子设备的SLAM系统所构建的 所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异。具体的,所 述地图更新信息是所述第二电子设备的SLAM系统根据所述第一坐标系下的SLAM地图与所 述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息获得的,所述比较结果体 现了所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异,SLAM 系统可将所述差异转换到第二坐标系下去表示,根据第二坐标系下的差异能够进一步获得所 述地图更新信息,并将所述地图更新信息发送给服务器。
本申请实施例中,服务器给电子设备发送全局地图中全局子地图,电子设备通过比较全局 子地图和电子设备中的SLAM地图,利用电子设备侧的计算资源和运算能力来获得地图更新 信息,该地图更新信息能够被用来更新全局子地图中的地图内容。所以服务器收到电子设备 发送的地图更新信息后,就能够基于地图更新信息实现对服务器中的全局地图更新。这样, 减轻服务器计算负载,提高了服务器更新全局地图的效率。而地图更新信息相比起摄像头拍 摄的图像数据而言,数据量更少,所以也节省了传输带宽资源。
基于第三方面,在可能的实施方式中,所述地图更新信息表示与非冗余关键帧相关联的 信息;所述非冗余关键帧可以表示存在于所述第二坐标系下的SLAM地图中但不存在于第二 坐标系下的全局子地图中的关键帧。
相应的,所述根据所述地图更新信息来更新所述全局地图,包括:将所述地图更新信息 加入到所述全局地图。
所述地图更新信息具体包括:所述非冗余关键帧对应的位姿数据、三维地图点以及共视 数据,所述共视数据用于指示所述非冗余关键帧与所述第二坐标系下的全局子地图的关键帧 之间的所述共视关系。也就是说,所述地图更新信息表示所述非冗余关键被融合进全局子地 图后得到的相关信息(例如非冗余关键对应的位姿、共视关系、3D地图点等信息)。即地图 更新信息是经融合的全局子地图中相比起原先的全局子地图而言,被更新的那一部分信息。
由于地图更新信息只需包含所变化的关键帧位姿、共视关系以及3D地图点,相比原先 下载的全局子地图而言数据量会小很多,所以进一步节省了传输带宽资源。服务器收到地图 更新信息后,就能够基于地图更新信息实现对服务器中的全局地图的更新。这样,减轻服务 器计算负载,且提高了全局地图的更新效率和鲁棒性。
基于第三方面,在可能的实施方式中,所述根据所述地图更新信息来更新所述全局地图, 包括:将所述地图更新信息加入到所述全局地图。由于所述地图更新信息是从经融合的全局 子地图中获得的,而全局子地图是从服务器的全局地图中取得的,所以服务器也能够直接将 所述地图更新信息快速加入到服务器的全局地图中,极大提高了全局地图的更新效率。
基于第三方面,在可能的实施方式中,所述地图更新信息包括非冗余关键帧,相应的, 所述根据所述地图更新信息来更新所述全局地图,包括:将所述非冗余关键帧作为新的关键 帧节点增加到在所述全局地图;更新所述非冗余关键帧与所述全局地图中的关键帧的共视关 系;计算所述非冗余关键帧对应的位姿数据和三维地图点。
具体的,对于全局地图中的某一3D地图点,如果该3D地图点能同时被若干个关键帧 观测到,那么该若干个关键帧就具有对该3D地图点的共视关系。所以,服务器可计算出全 局地图中的哪些3D地图点能同时被全局地图中的至少一个关键帧和所述非冗余关键帧观测 到,从而更新全局地图中的关键帧和非冗余关键之间的共视关系。
在更新了全局地图的关键帧共视关系之后,服务器可利用三角化算法计算新的3D地图 点,以及通过BA算法优化非冗余关键帧对应的位姿和3D地图点坐标,从而完成了将非冗余 关键帧融合(或称插入)到全局地图,实现了该全局地图的更新。
本申请实施例中,电子设备通过比较SLAM地图和全局子地图,识别出非冗余关键帧, 并将非冗余关键帧发送给服务器,服务器再利用非冗余关键帧融合到全局地图,从而也能够 实现对服务器中的全局地图的高效率的更新。这样的方案有利于减轻电子设备的计算负载, 保证地图融合的准确性。
基于第三方面,在可能的实施方式中,所述根据电子设备的请求,向所述电子设备发送 与所述电子设备的位置对应的全局子地图,包括:接收所述电子设备的初始位置的指示信息; 根据所述电子设备的初始位置,在所述全局地图中获取所述与所述电子设备的位置对应的所 述全局子地图;将所述全局子地图发送给所述电子设备。
其中,所述电子设备的初始位置的指示信息可以包括用于指示所述电子设备的初始位置 的第一位置指纹信息;所述全局地图中的全局子地图对应有第二位置指纹信息;所述根据所 述电子设备的初始位置,在所述全局地图中获取所述与所述电子设备的位置对应的所述全局 子地图,包括:根据所述第一位置指纹信息,在所述全局地图中找到具有与所述第一位置指 纹信息相匹配的第二位置指纹信息的所述全局子地图。通过服务器执行地图匹配操作,提高 了匹配效率和精准度,进而有利于减少下载地图的时延。
第四方面,本申请实施例提供了一种用于虚拟物体显示的电子设备,包括:一个或多个 处理器、存储器以及一个或多个应用程序、一个或多个计算机程序;所述一个或多个计算机 程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子 设备执行时,使得电子设备执行上述第一方面或第一方面任一项可能的实施方式中描述的虚 拟物体显示方法。
第五方面,本申请实施例提供了一种用于全局地图更新的电子设备,包括:一个或多个 处理器、存储器,以及一个或多个计算机程序;所述一个或多个计算机程序被存储在所述存 储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得电 子设备执行上述第二方面或第二方面任一项可能的实施方式中描述的虚拟物体显示方法。
第六方面,本申请实施例提供了一种用于全局地图更新的服务器,包括:一个或多个处 理器、存储器,以及一个或多个计算机程序;所述一个或多个计算机程序被存储在所述存储 器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得电子 设备执行上述第三方面或第三方面任一项可能的实施方式中描述的虚拟物体显示方法。
第七方面,本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器 通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的任一可能的实施方 式中的虚拟物体显示方法。
可选地,作为一种实施方式,所述芯片还可以包括存储器,所述存储器中存储有指令, 所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行 第一方面或第一方面的任一可能的实施方式中的虚拟物体显示方法。
第八方面,本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器 通过所述数据接口读取存储器上存储的指令,执行第二方面或第二方面的任一可能的实施方 式中的全局地图更新方法。
可选地,作为一种实施方式,所述芯片还可以包括存储器,所述存储器中存储有指令, 所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行 第二方面或第二方面的任一可能的实施方式中的全局地图更新方法。
第九方面,本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器 通过所述数据接口读取存储器上存储的指令,执行第三方面或第三方面的任一可能的实施方 式中的全局地图更新方法。
可选地,作为一种实施方式,所述芯片还可以包括存储器,所述存储器中存储有指令, 所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行 第三方面或第三方面的任一可能的实施方式中的全局地图更新方法。
第十方面,本申请实施例提供一种用于全局地图更新的电子设备,包括:
通信模块,用于从服务器获取与所述电子设备的位置对应的全局子地图,所述全局子地 图是第二坐标系下的全局地图中与所述电子设备的位置关联的子地图;
SLAM模块,用于根据所述SLAM模块所构建的第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果,或者根据所述SLAM模块所构建的第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息,获得地图更新信息,其中所述第二坐标系下的SLAM地图是基于所述第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换信息得到的;所述地图更新信息用于 指示所述第二坐标系下或者所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局 子地图的差异;;
所述通信模块还用于,将所述地图更新信息发送给所述服务器,所述地图更新信息用于 更新所述服务器中所述第二坐标系下的全局地图。
其中,所述SLAM模块可以是本申请的实施例中所描述的SLAM系统,例如可以是本文后文实施例描述的SLAM系统12。
基于第十方面,在可能的实施方式中,所述第二坐标系下的SLAM地图具体为根据基于 所述坐标系变换信息对所述第一坐标系下的SLAM地图进行变换得到的;
所述SLAM模块具体用于:通过比较所述第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图,以获得非冗余关键帧,所述非冗余关键帧表示存在于所述第二坐标系下 的SLAM地图中但不存在于所二坐标系下的全局子地图中的关键帧;将所述非冗余关键帧融 合到所述第二坐标系下的全局子地图,得到经融合后的全局子地图;从所述经融合后的全局 子地图中获得所述地图更新信息。
基于第十方面,在可能的实施方式中,所述SLAM模块具体用于:将所述非冗余关键帧 作为新的关键帧节点增加到在所述第二坐标系下的全局子地图;更新所述非冗余关键帧与所 述第二坐标系下的全局子地图中的关键帧的共视关系;计算所述非冗余关键帧对应的位姿数 据和三维地图点;从所述经融合后的全局子地图中获取所述非冗余关键帧对应的位姿数据、 三维地图点以及共视数据作为所述地图更新信息,所述共视数据用于指示所述非冗余关键帧 与所述第二坐标系下的全局子地图的关键帧之间的共视关系。
基于第十方面,在可能的实施方式中,所述SLAM模块具体用于:通过比较所述第一坐 标系下的SLAM地图与所述第二坐标系下的全局子地图,以得到非冗余关键帧,所述非冗余 关键帧为存在于所述第一坐标系下的SLAM地图的关键帧,且所述非冗余关键帧经所述坐标 系变换信息变换后不存在于所述第二坐标系下的全局子地图;将经所述坐标系变换信息变换 后的非冗余关键帧融合到所述第二坐标系下的全局子地图,获得所述地图更新信息,所述经 所述坐标系变换信息变换后的非冗余关键帧是所述第二坐标系下的关键帧。
基于第十方面,在可能的实施方式中,所述通信模块具体用于:向服务器发送所述电子 设备的初始位置的指示信息;从所述服务器接收所述全局子地图,所述全局子地图是根据所 述电子设备的初始位置确定的。
基于第十方面,在可能的实施方式中,所述电子设备的初始位置的指示信息包括用于指 示所述电子设备的初始位置的第一位置指纹信息;所述全局子地图对应有第二位置指纹信息, 且所述第一位置指纹信息和所述第二位置指纹信息相匹配。
基于第十方面,在可能的实施方式中所述电子设备还包括全局定位模块和坐标系变化矩 阵计算模块;所述SLAM模块具体用于,根据采集的视频图像和第一坐标系下的SLAM地图, 确定所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据;所述全局定位模块 具体用于,根据所述视频图像和第二坐标系下的全局子地图,确定所述电子设备在所述第二 坐标系下的全局子地图中的第二位姿数据;所述坐标系变化矩阵计算模块具体用于,根据所 述第一位姿数据和所述第二位姿数据,获得所述SLAM地图的第一坐标系和所述全局地图的 第二坐标系之间的所述坐标系变换信息。
基于第十方面,在可能的实施方式中,所述SLAM模块具体用于:根据所述视频图像、 所述第一坐标系下的SLAM地图以及所述电子设备采集的运动数据,获得所述电子设备在所 述第一坐标系下的SLAM地图中的第一位姿数据;所述运动数据包括运动速度数据和运动方 向数据。
基于第十方面,在可能的实施方式中,所述全局定位模块具体用于,对所述视频图像进 行特征提取,以获得图像特征;将所述图像特征在所述第二坐标系下的全局子地图中进行特 征匹配,以获得与所述图像特征匹配的地图特征;根据所述图像特征和所述地图特征,计算 得到所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据。
基于第十方面,在可能的实施方式中,所述通信模块具体用于:向所述服务器发送所述 视频图像;从所述服务器接收所述第二位姿数据,所述第二位姿数据是所述服务器根据所述 视频图像和所述第二坐标系下的全局地图中与所述电子设备的位置关联的全局子地图进行特 征提取和特征匹配确定的。
第十一方面,本申请实施例提供一种用于全局地图的服务器,包括:
通信模块,用于根据电子设备的请求,向所述电子设备发送与所述电子设备的位置对应 的全局子地图,所述全局子地图是第二坐标系下的全局地图中与所述电子设备的位置关联的 子地图;
所述通信模块还用于,从所述电子设备接收地图更新信息;所述地图更新信息用于指示 所述电子设备的SLAM系统所构建的第一坐标系下或者所述第二坐标系下的SLAM地图相对 于所述第二坐标系下的全局子地图的差异;
处理模块,用于根据所述地图更新信息更新所述全局地图。
基于第十一方面,在可能的实施方式中,所述差异信息表示与非冗余关键帧相关联的信 息;所述非冗余关键帧表示存在于所述第二坐标系下的SLAM地图中但不存在于第二坐标系 下的全局子地图中的关键帧。
基于第十一方面,在可能的实施方式中,所述地图更新信息具体包括:所述非冗余关键 帧对应的位姿数据、三维地图点以及共视数据,所述共视数据用于指示所述非冗余关键帧与 所述第二坐标系下的全局子地图的关键帧之间的共视关系。
基于第十一方面,在可能的实施方式中,所述处理模块具体用于:将所述地图更新信息 加入到所述全局地图。
基于第十一方面,在可能的实施方式中,所述通信模块具体用于:接收所述电子设备的 初始位置的指示信息;根据所述电子设备的初始位置,在所述全局地图中获取所述与所述电 子设备的位置对应的所述全局子地图;将所述全局子地图发送给所述电子设备。
基于第十一方面,在可能的实施方式中,所述电子设备的初始位置的指示信息包括用于 指示所述电子设备的初始位置的第一位置指纹信息;所述全局地图中的全局子地图对应有第 二位置指纹信息;所述处理模块具体用于:根据所述第一位置指纹信息,在所述全局地图中 找到具有与所述第一位置指纹信息相匹配的第二位置指纹信息的所述全局子地图。
第十二方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读介质存储用 于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实 施方式中的方法的指令,或者,所述程序代码包括用于执行第二方面或者第二方面或者第三 方面的任一可能的实施方式中的方法的指令。
第十三方面,本发明实施例提供了一种计算机程序产品,该计算机程序产品可以为一个 软件安装包,该计算机程序产品包括程序指令,当该计算机程序产品被电子设备执行时,该 电子设备的处理器执行前述第一方面或第二方面或者第三方面中的任一可能的实施方式中的 方法。
可以看到,本申请实施例中,电子设备从服务器下载全局地图中全局子地图,通过比较 全局子地图和电子设备中的SLAM地图,利用电子设备侧的计算资源和运算能力来获得地图 更新信息,该地图更新信息能够被用来更新全局子地图中的地图内容。所以电子设备将地图 更新信息发送给服务器后,服务器就能够基于地图更新信息实现对服务器中的全局地图更新。 这样,减轻服务器计算负载,提高了服务器更新全局地图的效率。而地图更新信息相比起摄 像头拍摄的图像数据而言,数据量更少,所以也节省了传输带宽资源。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背 景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种应用架构的示意图;
图2是本申请实施例提供的一种电子设备的结构示意图;
图3是本申请实施例提供的一种服务器的结构示意图;
图4是本申请实施例提供的一种系统,以及该系统中的电子设备和服务器的结构示意图;
图5是本申请实施例提供的又一种系统,以及该系统中的电子设备和服务器的结构示意 图;
图6是本申请实施例提供的一种地图融合模块的功能实现示意图;
图7是本申请实施例提供的一种虚拟物体显示方法的流程示意图;
图8是本申请实施例提供的一种采用本申请方法实现的场景的示意图;
图9是本申请实施例提供的一种全局地图更新方法的流程示意图;
图10是本申请实施例提供的又一种全局地图更新方法的流程示意图;
图11是本申请实施例提供的一种坐标系变换矩阵相关的场景示意图;
图12是本申请实施例提供的一种描述关键帧之间共视关系的场景示意图;
图13是本申请实施例提供的又一种采用本申请方法实现的场景的示意图;
图14是本申请实施例提供的又一种采用本申请方法实现的场景的示意图;
图15是本申请实施例提供的又一种全局地图更新方法的流程示意图;
图16是本申请实施例提供的又一种系统,以及该系统中的电子设备和服务器的结构示 意图;
图17是本申请实施例提供的又一种全局地图更新方法的流程示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用 的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于 区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申 请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其 它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例或所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也 旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/ 或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。如本文所使用的,单 数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解, 术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指定所陈述的特征、整数、步骤、操作、要素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、 要素、组件和/或其群组的存在或添加。
需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非 旨在限制本申请。
参见图1,图1是本申请实施例所提供的一种应用架构。本申请实施例提供的应用架构 包括多个电子设备和服务器,如图示中所述多个电子设备包括第一电子设备、一个或多个第 二电子设备(图1中以2个第二电子设备为例),所述一个或多个第二电子设备为除所述第一 电子设备外的若干个电子设备,各个电子设备和服务器之间可进行通信,例如对于任意电子 设备,可通过比如无线保真(wireless-fidelity,Wifi)通信、蓝牙通信、或蜂窝2/3/4/5代 (2/3/4/5generation,2G/3G/4G/5G)通信等方式与服务器进行通信。需要说明的是,本文中所谓 的“多个第二电子设备”仅用于表示除第一电子设备外的多个其他电子设备,而并不限定该 各个第二电子设备的类型是否相同。
对于图1所示的多个电子设备的各个电子设备,可以为配置有摄像头和显示组件的各种 类型的设备,例如电子设备可以为手机、平板电脑、笔记本电脑、录像机等终端设备(如图 1中以各个电子设备为手机为例),也可以是用于虚拟场景交互的设备,如VR眼镜、AR设 备,MR互动设备等,可以为智能手表、智能手环等可穿戴电子设备,还可以是无人驾驶车辆、无人机等载具中的车载设备。本申请实施例对电子设备的具体形式不做特殊限制。
此外,所述多个电子设备中任意电子设备也可能被称为用户装备(UE)、订户站、移动单 元、订户单元、无线单元、远程单元、移动设备、无线设备、无线通信设备、远程设备、移动订户站、终端设备、接入终端、移动终端、无线终端、智能终端、远程终端、手持机、用 户代理、移动客户端、客户端、或其他某个合适的术语。
服务器具体可以是一台或多台物理服务器(例如图1中示例性地示出了一台物理服务器), 也可以是计算机集群,还可以是云计算场景的虚拟机,等等。
本申请实施例中,所述多个电子设备中的各个电子设备可安装VR或AR或MR应用等虚拟场景应用程序,并可基于用户的操作(例如点击、触摸、滑动、抖动、声控等)运行该 VR或AR或MR应用。电子设备可通过本地摄像头和/或传感器采集环境中任意物体的视频 图像,根据采集的视频图像在显示组件上显示虚拟物体。虚拟物体相应可以为VR场景、AR 场景或MR场景中的虚拟物体(即虚拟环境中的物体)。
需要说明的是,本申请实施例中,电子设备中的虚拟场景应用可以是电子设备自身内置 的应用程序,也可以是用户自行安装的第三方服务商提供的应用程序,本申请实施例不作限 定。
本申请实施例中,所述多个电子设备中各个电子设备还配置有即时定位与地图构建 (simultaneous localization and mapping,SLAM)系统,SLAM系统能够实现在完全未知环境中 创建地图,并利用该地图进行自主定位、位姿(位置与姿态)确定、导航等。本文中由SLAM 系统所构建的地图可简称SLAM地图,SLAM地图可以理解为SLAM系统根据采集设备采集 到的环境信息所绘制出的地图,采集设备例如可以包括电子设备中的图像采集装置(例如摄 像头或相机)和惯性测量单元(Inertial Measurement Unit,IMU),IMU中可以包括:陀螺仪、 加速度计等传感器。
SLAM地图可以包含以下地图内容:多个关键帧、三角测量的特征点以及关键帧和特征 点之间的关联。关键帧可以基于摄像头采集的图像和用来产生图像的相机参数(例如,电子 设备在SLAM坐标系中的位姿)而形成。如本文中所用的特征点(即特征)是作为图像的令 人感兴趣的或显著的一部分。其中所述特征点可以表示SLAM地图中沿着三维空间的不同的 3D地图点(例如三维空间轴线X、Y及Z上的坐标)以及在3D地图点上的特征描述。每一 特征点可具有关联的特征位置。每个特征点可表示3D坐标位置,并且与一或多个描述符相 关联。
例如,当电子设备拍摄到一张图像后,是否将该图像作为新的关键帧加入到SLAM地图, 可以从新的关键帧自身和新的关键帧与SLAM地图中的已有关键帧之间的关系这两方面来 考虑。也就是说,一方面,新的关键帧自身图像质量要好,比如不能是非常模糊的图像、特 征点数量要充足、特征点分布要尽量均匀等等;另一方面,对于新的关键帧需要与SLAM地 图中的已有关键帧有少量的共视关系,但大部分特征点是新特征点,以达到既存在约束,又 尽量少的信息冗余的效果,比如SLAM地图中的一个邻近关键帧的特征点在该新的关键帧里 有10%能观测到,剩余90%观测不到,等等。
构建该SLAM地图所采用的坐标系可称为第一坐标系,本文中的第一坐标系在某些应用 场景下也可能被称为局部坐标系、SLAM坐标系、相机坐标系或其他某个合适的术语。为了 理解上的方便,后文将主要以“局部坐标系”的名称进行方案的介绍。相应的,电子设备在 局部坐标系下所体现出的位姿可以称为局部位姿。
本申请实施例中,服务器可作为向任意电子设备的VR或AR或MR应用提供内容和信息支撑的平台。服务器中存储有全局地图。通常的,全局地图相比单一电子设备中的SLAM地图而言,包含了更大的区域,而且地图内容精度更高,由服务器对全局地图进行维护和更新。本申请实施例中,全局地图可以是由所述多个电子设备中一个或多个电子设备提供的多 个地图更新信息按照一定的规则进行整合得到的。
构建该全局地图所采用的坐标系可称为第二坐标系,本文中的第二坐标系在某些应用场 景下也可能被称为全局坐标系、世界坐标系或其他某个合适的术语。为了理解上的方便,后 文将主要以“全局坐标系”的名称进行方案的介绍。相应的,电子设备在全局坐标系下所体 现出的位姿可以称为全局位姿。
参见图2,图2示例性地示出了电子设备10的一种结构示意图。电子设备10可以为第 一电子设备和第二电子设备中的至少一者。应该理解的是,本申请实施例示意的结构并不构 成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多 或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图中所示出 的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和 软件的组合中实现。
如图2所示,电子设备10可包括:芯片310、存储器315(一个或多个计算机可读存储介质)、用户接口322、显示组件323、摄像头324、用于设备定位的定位模块331以及用于 通信的收发器332。这些部件可在一个或多个通信总线314上通信。
芯片310可集成包括:一个或多个处理器311、时钟模块312以及电源管理模块313。集 成于芯片310中的时钟模块312主要用于为处理器311提供数据传输和时序控制所需要的计 时器,计时器可实现数据传输和时序控制的时钟功能。处理器311可以根据指令操作码和时 序信号,执行运算,产生操作控制信号,完成取指令和执行指令的控制。集成于芯片310中 的电源管理模块313主要用于为芯片310以及电子设备10的其他部件提供稳定的、高精确度 的电压。
处理器110又可称为中央处理器(CPU,central processing unit),处理器110具体可以包 括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,AP), 调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基 带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理 单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口, 脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface, MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
存储器315可与处理器311通过总线连接,也可以与处理器311耦合在一起,用于存储 各种软件程序和/或多组指令。具体实现中,存储器315可包括高速随机存取的存储器(例如 高速缓冲存储器),并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备 或其他非易失性固态存储设备。存储器315可以存储操作系统,例如ANDROID,IOS, WINDOWS,或者LINUX等嵌入式操作系统。存储器315还用于存储SLAM系统的相关程序。存储器315用于存储数据(例如图像数据、点云数据、地图数据、关键帧数据、位姿数 据、坐标系转换信息、地图更新信息等)。存储器315还可以存储通信程序,该通信程序可用 于与一个或多个服务器或者其他设备进行通信。存储器315还可以存储一个或多个应用程序。如图示中这些应用程序可包括:AR/VR/MR等虚拟场景应用程序、地图类应用程序、图像管理类应用程序等等。存储器115还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将应用程序的内容(如AR/VR/MR等虚拟场景中的虚拟物体)形象逼真的显示出来并通过显示组件323呈现,以及实现通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。存储器315可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。
用户接口322例如可以是触控面板,通过触控面板可检测用户在检测触控面板上的操作 指令,用户接口322也可以是小键盘、物理按键或者鼠标。
电子设备10可以包括一个或多个显示组件323。电子设备10可通过显示组件323、芯片 310中的图形处理器(GPU)以及应用处理器(AP)等共同实现显示功能。GPU为用于图像处 理的微处理器,连接显示组件323和应用处理器。GPU用于执行数学和几何计算,用于图形 渲染。显示组件323用于显示系统当前输出的界面内容,例如显示AR/VR/MR等虚拟场景中 的图像、视频等,界面内容可包括正在运行的应用程序的界面以及系统级别菜单等,具体可 由下述界面元素组成:输入型界面元素,例如按键(Button),文本输入框(Text),滑动条(Scroll Bar),菜单(Menu)等等;以及输出型界面元素,例如视窗(Window),标签(Label),图 像,视频,动画等等。
显示组件323在具体实现中,可以是显示面板,镜片(例如VR眼镜),投影屏等。显示面板也可以称为显示屏,例如可以是触摸屏、柔性屏、曲面屏等,或者其他光学组件。也即是说在本申请中电子设备具有显示屏时,显示屏可以是触摸屏、柔性屏、曲面屏或者其它形式的屏幕,电子设备的显示屏具有显示图像的功能,至于显示屏的具体材质以及形状本申请 对此不作任何限定。
例如,当显示组件323包括显示面板时,显示面板可以采用液晶显示屏(liquidcrystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二 极体或主动矩阵有机发光二极体(active-matrix organic lightemitting diode的,AMOLED),柔 性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发 光二极管(quantum dot light emittingdiodes,QLED)等。此外,一些具体实现中,可以将用户 接口322中的触控面板和显示组件323中的显示面板耦合在一起设置,例如触控面板可设置 于显示面板下方,触控面板可用于检测用户通过显示面板输入触控操作(例如点击、滑动, 触摸等)时作用于显示面板上的触控压力,显示面板用于进行内容显示。
摄像头324可以是单目摄像头或双目摄像头或深度摄像头,用于对环境进行拍摄/录像, 以获得图像/视频图像。摄像头324所采集的图像/视频图像例如可作为SLAM系统的一种输 入数据,或者可通过显示组件323进行图像/视频显示。
在一些场景中,也可以把摄像头324视为一种传感器。摄像头324采集的图像可以是IMG 格式,也可以是其他格式类型,这里不做限定。
传感器325可用于采集与电子设备10的状态变化(例如旋转、摆动、移动、抖动等)相 关的数据,传感器325所采集的数据例如可作为SLAM系统的一种输入数据。传感器325可包括一种或多种传感器,例如惯性测量单元(Inertial Measurement Unit,IMU),飞行时间(Time of Flight,TOF)传感器等。其中IMU中可进一步包括陀螺仪、加速度计等传感器。陀螺仪 可用于测量电子设备运动时的角速度,加速度计用于测量电子设备运动时的加速度。TOF传 感器可进一步包括光发射器和光接收器,光发射器可用于向外发射光线,例如激光、红外线、 雷达波等,光接收器可用于检测反射的光线,例如反射的激光、红外线、雷达波等。
需要说明的,传感器325还可以包括更多的其他传感器,例如惯性传感器,气压计,磁 力计,轮速计等。
定位模块331用于实现对电子设备10的物理定位,例如用于获取电子设备10的初始位 置。定位模块331例如可包括WIFI定位模块、蓝牙定位模块、基站定位模块、卫星定位模 块中的一个或多个。其中卫星定位模块中可设置有全球导航卫星系统(GlobalNavigation Satellite System,GNSS)以辅助定位,GNSS不限于北斗系统、GPS系统、GLONASS系统、 Galileo系统。
收发器332用于实现电子设备10与服务器或其他电子设备之间的通信。收发器332集成 了发射器和接收器,分别用于发送和接收射频信号。具体实现中,收发器332可包括但不限 于:天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理 器、CODEC芯片、SIM卡和存储介质等。在一些实施例中,还可在单独的芯片上实现收发器332。收发器332例如可支持通过2G/3G/4G/5G等中的至少一种的数据网络通信,和/或支持以下近距无线通信的方式中的至少一种:蓝牙(Bluetooth,BT)通信,无线保真(WirelessFidelity,WiFi)通信,近场通信(Near Field Communication,NFC),红外(Infrared, IR)无线通信,超宽带(UWB,Ultra Wide Band)通信,ZigBee通信。
本申请实施例中,处理器311通过运行存储在存储器315的指令,从而执行电子设备10 的各种功能应用以及数据处理,具体的,可执行如图7实施例所示方法步骤,或者可执行如 图9,图10,图15或图17实施例中电子设备侧的功能。
参见图3,图3是本申请实施例提供的一种服务器20的实施方式的结构框图。服务器20 可以是图1实施例中所描述的服务器。如图3所示,服务器20包括处理器403、存储器401 (一个或多个计算机可读存储介质)、收发器402。这些部件可在一个或多个通信总线404上 通信。其中:
处理器403可以是一个或多个中央处理器(Central Processing Unit,CPU),在处理器403 是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器401可与处理器403通过总线连接,也可以与处理器403耦合在一起,用于存储 各种软件程序和/或多组指令、以及数据(例如地图数据、位姿数据等)。具体实现中,存储 器401包括但不限于是随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)、或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)。
收发器402主要集成了接收器和发射器,其中接收器用于接收电子设备发送的数据(例 如请求、图像等),发射器用于向电子设备发送数据(例如地图数据、位姿数据等)。
应当理解,上述服务器20仅为本申请实施例提供的一个例子,具体实现中,服务器20 可具有比图示更多的部件。
本申请具体实施例中处理器403可用于调用存储器401中的程序指令,执行如图9,图 10,图15或图17实施例中服务器侧的功能。
本文所使用的术语“耦合”意指直接连接到、或通过一个或多个居间组件或电路来连接。 本文所描述的在各种总线上提供的任何信号可以与其他信号进行时间复用并且在一条或多条 共用总线上提供。另外,各电路元件或软件块之间的互连可被示为总线或单信号线。每条总 线可替换地为单信号线,而每条单信号线可替换地为总线,并且单线或总线可表示用于各组 件之间的通信的大量物理或逻辑机制中的任一个或多个。
在一种现有的全局地图更新方案中,当电子设备向服务器发出全局定位的请求时,电子 设备向服务器上传图像,在服务器基于图像执行全局定位,同时触发在服务器进行全局地图 的更新。具体的,服务器对电子设备上传的图像提取特征点,将上传图像作为节点,插入到 全局地图中,通过全局非线性优化算法来优化全局地图,从而实现全局地图的更新。这种方 案中,一方面,电子设备的全局定位请求通常是低频率的,上传图像频次少,所以采用这种 方案更新全局地图会比较慢。另一方面,假设电子设备可以频繁向服务器上传图像来更新服 务器中的全局地图,那么不仅电子设备要消耗更多的通信资源,当多用户同时上传图像时, 服务器负载也会特别大。再一方面,电子设备直接上传图像到服务器会存在隐私泄漏的风险。
而实施本申请实施例,能够克服现有方案的缺陷,实现高效率的全局地图更新。参见图 5,图5是本申请实施例提供的一种系统的结构框图。该系统包括电子设备10和服务器20, 电子设备10和服务器20之间可通过各自的收发器实现通信连接。在电子设备10中配置SLAM 系统12、数据采集模块13、交互模块14和通信模块11,SLAM系统12、数据采集模块13、交互模块14和通信模块11可以以软件代码的形式存在,在一具体实现中,这些功能模块的数据/程序可被存储于如图2所示的存储器315,并可运行于如图2所示的处理器311。其中:
通信模块11可利用如图2所示的收发器332,实现与服务器20的通信,具体的,通信模块11被配置成从服务器20获取全局子地图,所述全局子地图是服务器20所存储的全局地图中与电子设备10的位置信息关联的子地图。并将全局子地图存储到电子设备10的SLAM系统12中的全局子地图的数据库123中。
数据采集模块13被配置成利用如图2所示的传感器325来获得电子设备10的状态数据, 利用如图2所示的摄像头324来获得视频图像,以及利用如图2所示的定位模块331来获得 电子设备的位置。
交互模块14被配置成利用如图2所示的用户接口322实现用户操作的检测获得,以及利 用如图2所示的显示组件323实现图像/视频/虚拟物体等的显示,例如AR/VR/MR等应用内容 的显示。
SLAM系统12中的计算模块121被配置成根据摄像头324采集的视频图像和所下载的全 局子地图执行位姿计算,以得到电子设备10的位姿数据;交互模块14可基于电子设备10的 位姿数据,在显示组件上显示虚拟物体。
SLAM系统12自身所构建的SLAM地图保存在SLAM地图的数据库122中,SLAM系 统还被配置成基于电子设备10的位姿数据来更新数据库122中的SLAM地图。
具体实施例中,电子设备10中的各功能模块可相互配合,以执行如图7实施例所示方法 中的步骤,或者执行如图9,图10,图15或图17实施例中电子设备侧的功能。
在服务器20中配置通信模块21、地图更新模块22、全局地图的数据库23。通信模块21、 处理模块22和全局地图的数据库23可以以软件代码的形式存在。在一具体实现中,这些功 能模块的数据/程序可被存储于如图3所示的存储器401,并可运行于如图3所示的处理器403。
其中:
全局地图的数据库23用于存储、维护和更新全局地图。
地图更新模块22可被配置成基于电子设备上传的地图更新信息来更新数据库23中的全 局地图。
通信模块21可利用如图3所示的收发器402,实现与电子设备10的通信。具体的,通信模块21可将全局子地图发送给电子设备10,以及接收来自电子设备10的地图更新信息。
具体实施例中,服务器20中的各功能模块可相互配合,以执行如图9,图10,图15或图17实施例中服务器侧的功能。
参见图5,图5示出了在一种具体实现中,图4所示的电子设备10中的各功能模块进一 步可能包含的组件(或称子模块),以及服务器20中的各功能模块进一步可能包含的组件(或 称子模块)。需要说明的是,电子设备10中的各功能模块(例如SLAM系统、数据采集模块 13,交互模14)进一步可能包含的组件和服务器20中的各功能模块(例如处理模块22)进一步可能包含的组件(或称子模块)仅为本申请实施例的示例,在其他实施例中,上述功能模块还可以包含更多或更少的组件(或称子模块)。
如图5所示,SLAM系统12中的计算模块121进一步包括建图模块1211,位姿估计模块1212,位姿估计模块1212、特征处理模块1213和特征匹配模块1214和地图融合模块1215。此外,在电子设备10中还包括全局定位模块16和软件开发工具包(Software DevelopmentKit,SDK)。全局定位模块16进一步包括图像检索模块161、特征提取模块162、特征匹配模块163和位姿估计模块164。SDK中可包括分别用于全局位姿和局部位姿的数据库以及坐标系变化矩阵计算模块15,SDK还可以调用交互模块14通过显示组件实现显示。
特征处理模块1213可用于与视觉特征处理相关的操作,例如在一种实施例中特征处理模 块1213可进一步包括特征检测功能和特征描述功能,特征检测功能是在图像中提取出特征的 图像位置,特征描述功能是对每一个检测出的特征进行描述,形成一个一维向量。特征匹配 模块1214可用于实现图像特征与地图特征之间特征匹配。位姿估计模块1212可进一步根据 特征匹配的结果进行位姿估计。
数据采集模块13(例如IMU传感器)能输出高频率的角速度、线加速度,位姿估计模块1212对角加速度、线加速度分别积分,并结合摄像头拍摄的视频图像进行位姿估计,可计算出电子设备的位置和姿态。位姿估计的结果可作为SLAM系统输出。同时,位姿估计的结果也可作为建图模块1211的输入。建图模块1211在局部坐标系下,创建SLAM系统能感知 到的环境地图,即SLAM地图。SLAM系统在空间中不断运行的过程中,不断在创建/更新 SLAM地图。在一些实施例中,SLAM地图反过来也可以作为位姿估计模块1212进行位姿估 计的输入,提高位姿估计的准确度。
在一种实施例中,数据库123中保存有从服务器10下载的全局子地图,位姿估计模块 1212被配置成根据所述全局子地图和摄像头324采集的视频图像以及传感器325采集的运动 数据执行位姿计算以得到电子设备10的位姿数据,即获得电子设备10的全局位姿,从而实 现对电子设备10的位姿的跟踪定位。所述运动数据包括电子设备10的运动速度数据和运动 方向数据,例如加速度、角速度等。具体的,特征处理模块1213可用于提取视频图像的2D 特征,位姿估计模块1212可根据所述视频图像的2D特征、全局子地图的3D地图点以及数 据采集模块13(例如IMU)采集的运动数据,获得电子设备10在所述全局子地图中的全局位姿。
在一些实施例中,SLAM系统的位姿估计模块1212也可用于根据摄像头采集的视频图像 和局部坐标系下的SLAM地图,确定电子设备10在局部坐标系下的SLAM地图中的局部位 姿。具体的,特征处理模块1213可用于提取所述视频图像中的2D特征,位姿估计模块1212 可根据所述视频图像中的2D特征、局部坐标系下的SLAM地图的3D地图点以及数据采集 模块13(例如IMU)采集的运动数据,获得电子设备10在所述局部坐标系下的SLAM地图中的局部位姿;所述运动数据包括电子设备10的运动速度数据和运动方向数据,例如加速度、 角速度等。
全局位姿模块16用于根据所采集的视频图像和全局子地图,确定所述电子设备10在全 局子地图中的全局位姿。具体的,可通过图像检索模块161获取视频图像,通过特征提取模 块162根据所述视频图像进行特征提取,获得图像特征,通过特征匹配模块163将所述图像 特征在全局子地图中进行特征匹配,获得与所述图像特征匹配的地图特征;通过位姿估计模 块164根据所述图像特征和所述地图特征,计算获得所述电子设备10在全局子地图中的全局 位姿。
上述局部位姿和全局位姿可分别保存于SDK中的数据库。坐标系变化矩阵计算模块15 可配置成根据所述同一视频图像的局部位姿和全局位姿,计算获得所述SLAM地图的局部坐 标系和所述全局地图的全局坐标系之间的坐标系变换信息(例如,坐标系变换矩阵)。并将该 坐标系变换信息反馈给SLAM系统。
SLAM系统中的建图模块1211可被配置成根据电子设备10的位姿数据更新SLAM系统 的数据库122中的SLAM地图。具体的,建图模块1211可将根据坐标系变换信息将SLAM 地图变换到全局坐标系下,以电子设备10的全局位姿作为在全局坐标系下的SLAM地图中 的位姿数据来更新所述全局坐标系下的SLAM地图。
SLAM系统运行过程中,建图模块1211会不断创建SLAM地图,体现在不断插入关键帧。SLAM地图中的关键帧和地图点可以变换到全局坐标系中表示。
地图融合模块1215可用于比较SLAM地图和全局子地图,从而识别出当前的SLAM地图是否存在非冗余关键帧,若存在非冗余关键帧,则将所述非冗余关键帧融合到全局子地图, 获得地图更新信息。所述地图更新信息可指示所述全局坐标系下的SLAM地图相对于全局坐 标系下的全局子地图的差异。具体实施例中,所述地图更新信息包括:所述非冗余关键帧对 应的位姿数据、三维地图点以及共视数据,所述共视数据用于指示所述非冗余关键帧与所述 全局子地图的关键帧之间的所述共视关系。
如图6所示,本申请一种实施例中,地图融合模块1215执行地图融合的过程可被描述为: 地图融合模块1215判断SLAM系统新插入的关键帧是否与下载的全局子地图中的关键帧存 在冗余。关键帧冗余指关键帧关联的3D地图点信息在全局子地图中已经存在,即全局子地 图已经保存了当前环境中的视觉信息,不需要再增加关键帧了。关键帧不冗余指关键帧关联 的3D地图点信息在全局子地图中未存在(这样的关键帧可简称非冗余关键帧)。如果需要将 非冗余关键帧插入到全局子地图,则在全局子地图中增加关键帧节点(无向图结构),并更新 全局子地图中的关键帧之间的共视关系。更新全局子地图的关键帧共视关系之后,利用三角 化算法计算新的3D地图点,在通过BA算法优化关键帧的位姿和3D地图点坐标,从而实现 在对全局子地图的更新,即获得了经更新的全局子地图(或称经融合的全局子地图)保存于 数据库123。经更新的全局子地图可被应用到全局定位模块16进行全局位姿的计算。
一些实施例中,经更新的全局子地图可用于为服务器20提供地图更新信息(例如非冗余 关键帧对应的位姿,3D地图点,共视关系等),即电子设备10可从经更新的全局子地图获取 该地图更新信息并发送给服务器20,以便于服务器20利用地图更新信息更新全局地图。
在又一些实施例中,电子设备10也直接将非冗余关键帧发送给服务器20;服务器20再 进一步利用非冗余关键帧更新全局地图。经更新的全局子地图可被应用到全局定位模块16进 行全局位姿的计算。
具体实施例中,电子设备10中的各功能模块可相互配合,以执行如图7实施例所示方法 中的步骤,或者执行如图9,图10,图15或图17实施例中电子设备侧的功能。
在一种实施例中,服务器20中除了地图更新模块22,还包括子地图地图更新模块221 和位置指纹匹配模块222,地图更新模块22可被配置成将所述地图更新信息加入到所述全局 地图,实现全局地图的更新;或者被配置成将非冗余关键帧融合到所述全局地图,实现全局 地图的更新。位置指纹匹配模块222被配置成根据电子设备10的发送的初始位置的位置指纹 信息(这里可称为第一位置指纹信息),在所述全局地图中寻找具有与所述第一位置指纹信息 相匹配的位置指纹信息(这里可称为第二位置指纹信息)。子地图处理模块221用于在所述数 据库23的全局地图中取出具有所述第二位置指纹信息的全局子地图。该全局子地图也可另外 保存于服务器20的数据库,以便于下次快捷取用。服务器20可将具有所述第二位置指纹信 息的全局子地图发送给电子设备10。
具体实施例中,服务器20中的各功能模块可相互配合,以执行如图9,图10,图15或图17实施例中服务器侧的功能。
基于上文的描述,下面给出本申请实施例提供的一些虚拟物体显示方法。对于下文描述 的各方法实施例,为了方便起见,将其都表述为一系列的动作步骤的组合,但是本领域技术 人员应该知悉,本申请技术方案的具体实现并不受所描述的一系列的动作步骤的顺序的限制。
参见图7,图7是本申请实施例提供的一种虚拟物体显示方法的流程示意图,在一些实 现中,该方法可应用于具有显示组件和摄像头的第一电子设备。该方法包括但不限于以下步 骤:
S1011、检测到用户打开应用的操作。
S1012、响应于该操作,从服务器下载第一全局子地图并存储到电子设备的即时定位与地 图构建(SLAM)系统中;所述第一全局子地图是全局地图中与所述电子设备的位置关联的 子地图。
S1013、在显示组件上基于电子设备的位姿数据来显示虚拟物体,电子设备的位姿数据是 至少根据所述摄像头采集的视频图像和所述第一全局子地图执行位姿计算得到的,其中所述 服务器上的全局地图是根据一个或多个第二电子设备发送的地图更新信息进行更新得到的, 其中,所述一个或多个第二电子设备为除所述第一电子设备外的电子设备。
本申请实施例中,用户在电子设备上输入用于打开应用(application,APP)的操作,例 如例如点击、触摸、滑动、抖动、声控等操作,响应于所述操作,一方面在电子设备的显示 组件(例如显示面板或者镜片)上显示应用的界面,另一方面启动从服务器或者其他设备(例 如其他终端设备或硬盘、USB等存储介质)下载全局子地图的进程。其中,应用可以是电子 设备中安装的AR/VR/MR等应用。
本申请一些实施例中,服务器接收来自各个第二电子设备的地图更新信息,基于地图更 新信息就可以不断地更新服务器中的全局地图。其中,地图更新信息是第二电子设备根据第 二电子设备的SLAM地图与第二电子设备自己所下载的全局子地图的比较结果、以及第二电 子设备自己的局部坐标系和全局子地图对应的全局坐标系之间的坐标系变换信息得到的。
在一种实施例中,地图更新信息具体可以包括:由所述第二电子设备的SLAM系统所构 建的目标关键帧对应的位姿数据、三维地图点(或称3D地图点)以及共视数据,所述共视 数据用于指示所述目标关键帧与第二电子设备中的全局子地图的关键帧之间的共视关系。其 中,目标关键帧是非冗余关键帧,非冗余关键帧表示存在于所述第二电子设备的SLAM地图 中但不存在于第二电子设备中的全局子地图中的关键帧。
在这样的全局地图更新方案中,充分利用了各个第二电子设备的计算资源来计算获得地 图更新信息,减轻服务器计算负载。而地图更新信息相比起摄像头拍摄的图像数据而言,数 据量更少,节省了传输带宽资源,而服务器能够基于第二电子设备的地图更新信息快速实现 全局地图更新,更新效率高。由于服务器中的全局地图能够被高效、准确地更新,所以也促 进了第一电子设备的全局定位的准确度更高,鲁棒性更好。
示例性的,参见图8,在一种可能的实现场景中,以第一电子设备为电子设备10为例, 图示中电子设备10为手机,电子设备10中安装有某种虚拟场景应用(例如,可以是带有AR 功能的导航地图应用),图8中的(a)示出了电子设备10的显示面板上的一种图形用户界面 (graphical user interface,GUI),该GUI为电子设备的桌面101。当电子设备检测到用户点 击桌面101上的虚拟场景应用的图标102的操作后,一方面在后台启动下载全局子地图的流 程,另一方面,在启动该虚拟场景应用后,在显示面板上显示如图8中的(b)所示的另一 GUI,该GUI的用户界面103以AR导航界面为例。该用户界面103上可以包括取景框104。该取景框104内可以实时显示电子设备10所在的真实环境的预览视频流。该预览视频流是通 过电子设备10的摄像头拍摄获得的。在该预览视频流上,还叠加有AR应用的虚拟物体。虚 拟物体的数量可以是一个或多个,如图8中的(b)所示中,虚拟物体示例性地以导航指示105、互动机器人107为例,导航指示105能够通过方位箭头来实时指示当前位置到达某目的地的导航路线,互动机器人107可用来实现语音对话、语音介绍、或者仅仅作为街边趣味性的展示等等。
具体的,在电子设备10在后台(处理器)中,根据所获得的全局子地图和摄像头实时拍 摄的视频图像,执行位姿计算,从而实时获得电子设备10当前在全局坐标系下的位姿数据(即 全局位姿)。AR场景中虚拟物体的位置和姿态可由电子设备10的全局位姿来决定,即电子设 备的全局位姿表征了所述虚拟物体的位置与姿态。所以,可以实时基于电子设备10的全局位 姿,在该取景框104内显示AR场景中虚拟物体的位置与姿态。
AR应用可借助计算机图形技术和可视化技术生成现实环境中不存在的虚拟物体,并基于 电子设备10当前的全局位姿,将虚拟物体叠加到取景框104内,从而在取景框104内把虚拟 物体叠加到取景框104的视频流中。
举例来说,电子设备10通过摄像头捕获到视频图像后,AR应用向AR云服务器发送视 频图像,以向AR云服务器请求获取与视频图像对应的待渲染对象,待渲染对象可以包括待 渲染对象的标识和/或待渲染对象的名称、元数据等信息。AR云服务器将与视频图像对应的 待渲染对象发给电子设备10,电子设备10确定出与该待渲染对象对应的业务规则,利用每 个待渲染对象的业务规则渲染对应的待渲染对象,从而生成多个一个或多个AR对象(即虚 拟物体),并基于电子设备10的全局位姿,把虚拟物体叠加到取景框104的视频流中。
当用户手持电子设备10行走一段时间(例如1分钟、5分钟、10分钟等,这里不做限定), 电子设备10依然能够持续将虚拟物体准确地叠加在取景框104的视频流中,提升用户使用体 验。在一种实施例中,当电子设备10快要移出全局子地图的地理范围时,可以基于电子设备 10的位置提前请求下载新的全局子地图,后续电子设备10即可根据新的全局子地图来执行 全局位姿估计,从而能进一步避免在两个全局子地图对应的地理范围切换时位姿突变的发生, 进一步提升用户使用体验。
参见图9,图9是本申请实施例提供的一种全局地图更新方法的流程示意图,在一些实 现中,该方法从电子设备和服务器侧分别进行描述,该电子设备可以是前文所述的第一电子 设备,也可以是前文所述的第二电子设备。该方法包括但不限于以下步骤:
S201、服务器基于电子设备的请求,下发全局子地图给电子设备。相应的,电子设备接 收该全局子地图。该全局子地图是全局地图中与电子设备的位置关联的子地图。
S202、电子设备将该全局子地图存储到所述电子设备的SLAM系统中。
S203、电子设备根据自己构建的SLAM地图和全局子地图,获得地图更新信息。
其中,该地图更新信息可用于指示在全局坐标系下的SLAM地图相对于全局坐标系下的 全局子地图的差异。
在一种实现中,电子设备可利用局部坐标系和全局坐标系两者之间的坐标系变换信息, 将自身构建的SLAM地图转换到全局坐标系下,再通过比较全局坐标系下的SLAM地图和全 局子地图来获得比较结果(此时的比较结果为全局坐标系下的比较结果),进而根据比较结果 来获得地图更新信息。
例如,该比较结果可以是全局坐标系下的SLAM地图中的至少一帧关键帧,也就是说, 该至少一帧关键帧不存在于全局子地图中,或者与全局子地图中的各个关键帧均有显著差异, 那么可以根据该至少一帧关键帧获得地图更新信息,地图更新信息可能是该至少一帧关键帧 融合进全局子地图后的相关信息(例如位姿、共视关系、3D地图点等信息),地图更新信息 也可能直接就是该至少一帧关键帧。
在又一种实现中,电子设备首先直接根据局部坐标系下的SLAM地图与全局坐标系下的 全局子地图获得比较结果(此时的比较结果为局部坐标系下的比较结果),进而利用局部坐标 系和全局坐标系两者之间的坐标系变换信息,将比较结果转换到全局坐标系下,从而获得地 图更新信息。
例如,该比较结果可以是局部坐标系下的SLAM地图中的至少一帧关键帧,该至少一帧 关键帧被转换到全局坐标系下后也不存在于全局子地图中、或者与全局子地图中的各个关键 帧均有显著差异,那么可以根据该至少一帧关键帧获得地图更新信息,地图更新信息可能是 该至少一帧关键帧被转换到全局坐标系下后再融合进全局子地图后的相关信息(例如位姿、 共视关系、3D地图点等信息),地图更新信息也可能直接就是该至少一帧关键帧转换到全局 坐标系下形成的关键帧。
本文中为了便于理解,上述该至少一帧关键帧还可以称为非冗余关键帧。
S204、电子设备将地图更新信息发送给服务器,相应的,服务器接收该地图更新信息。
S205、服务器根据该地图更新信息更新服务器中的全局地图。由于地图更新信息能够表 征全局地图的子地图中所欠缺的地图内容,所以地图更新信息能够应用来更新服务器中的全 局地图。
可以看到,本申请实施例中,电子设备从服务器下载全局地图中全局子地图,通过比较 全局子地图和电子设备中的SLAM地图,利用电子设备侧的计算资源和运算能力来获得地图 更新信息,该地图更新信息能够被用来更新全局子地图中的地图内容。所以电子设备将地图 更新信息发送给服务器后,服务器就能够基于地图更新信息实现对服务器中的全局地图更新。 这样,减轻服务器计算负载,提高了服务器更新全局地图的效率。而地图更新信息相比起摄 像头拍摄的图像数据而言,数据量更少,所以也节省了传输带宽资源。
参见图10,图10是本申请实施例提供的又一种全局地图更新方法的流程示意图,从电 子设备和服务器侧分别进行描述。该方法包括但不限于以下步骤:
S301、电子设备向服务器发送用于指示所述电子设备的初始位置的第一位置指纹信息。
本申请实施例中,电子设备向服务器上传位置指纹信息,所述初始位置可能是所述电子 设备请求下载地图时电子设备所处的地理位置信息,例如位置指纹信息来源包括GNSS/WiFi/ 蓝牙/基站等定位方式所测得的初始位置信息、信号强度信息、信号特征信息等等;也可能是 在由用户输入的位置信息。
S302、服务器从全局地图中,获取与第一位置指纹信息匹配的全局子地图。全局子地图 是全局地图中与所述电子设备的位置关联的子地图。
S303、服务器下发全局子地图给电子设备。相应的,电子设备接收全局子地图。
一种实施例中,服务器根据上述第一位置指纹信息,与服务器预先保存在数据库中的子 地图的位置指纹信息做匹配,所述数据库中的子地图为隶属于全局地图的子地图。如果有匹 配上的子地图,则将匹配上的子地图传输到电子设备。
又一种实施例中,服务器根据上述第一位置指纹信息,在服务器保存的全局地图中遍历, 直到寻找到位置指纹信息匹配的区域,服务器从全局地图中取出该区域作为全局子地图,将 全局子地图传输到电子设备。
S304、电子设备将该全局子地图存储到所述电子设备的SLAM系统中。
S305、电子设备计算坐标系变换信息,并基于坐标系变换信息对SLAM地图进行变换。
具体的,电子设备计算坐标系变换信息的过程可描述如下:电子设备获取摄像头采集的 一帧视频图像;然后,一方面,根据该视频图像和SLAM地图,确定电子设备在原先所构建 的局部坐标系下的SLAM地图中的局部位姿(这里可称为第一位姿数据)。
例如,电子设备中设置有IMU,SLAM系统的输入信号包括来自摄像头采集的视频图像、IMU采集的运动数据和局部坐标系下的SLAM地图。IMU高频率地检测电子设备的角 速度和线加速度,并对角加速度和线加速度分别积分,进而可计算出电子设备的的位姿。摄 像头采集的视频图像通过在局部坐标系下的SLAM地图中做匹配,从而也能计算获得电子设备的的位姿。那么,基于这两种位姿以一定算法进行运算,就可以获得该第一位姿数据。
又例如,电子设备中除了摄像头和IMU外,还设置有与位姿或运动相关的定位模块(GPS 定位、北斗定位、WIFI定位、或基站定位等),那么,SLAM系统还可共同参考摄像头采集的视频图像、IMU采集的运动数据、局部坐标系下的SLAM地图以及定位模块所采集的数据来计算获得该第一位姿数据。
另一方面,可根据该视频图像和全局子地图,对该视频图像进行特征提取,并与全局子 地图进行特征匹配,进而确定电子设备在全局子地图中的全局位姿(这里可称为第二位姿数 据)。
例如,电子设备对视频图像进行特征检测,在视频图像中提取出特征的图像位置,特征 检测算法不限于FAST、ORB、SIFT、SURF、D2Net、SuperPoint等特征检测方法。然后对每一个检测出的特征进行特征描述,特征描述算法不限于ORB、SIFT、SURF、BRIEF、BRISK、FREAK、D2Net、SuperPoint等特征描述方法,从而形成一个一维向量,用于后续的特征匹配。通过特征匹配,电子设备可从全局子地图中匹配出与视频图像最相似的地图内容(例如一帧 或多帧关键帧),具体方法例如包括基于BOW、VLAD等传统图像检索方法以及基于NetVLAD、AI的新型图像检索方法。特征匹配具体是计算两个特征描述之间的相似程度,对于Float型向量,可以通过欧氏距离计算;对于二值向量,可以通过异或计算。找出与视频图像最相似的地图内容后,就可以基于视频图像和最相似的地图内容进行位姿估计,例如可采 用PnP、EPnP、3D-3D等配准算法,从而可以计算出该第二位姿数据。
然后,电子设备可根据所述第一位姿数据和所述第二位姿数据,获得所述SLAM地图的 第一坐标系和所述全局地图的第二坐标系之间的坐标系变换信息,坐标系变换信息例如可以 是坐标系变换矩阵。
例如,如图11所示,令视频图像在局部坐标系下的位姿(第一位姿数据)为LTc,在全局坐标系下位姿(第二位姿数据)为GTc,则
GTcGTL LTc (1)
GTLGTc(LTc)-1 (2)
这里,GTL可表示局部坐标系和全局坐标系之间的坐标系变换矩阵,根据这个坐标系变换 矩阵就可以实现了两个坐标系同步,这样,原先用局部坐标系来表示的信息(例如关键帧、 局部位姿、图像的特征点、SLAM地图的3D地图点等等)就可以基于坐标系变换矩阵变换到全 局坐标系下。原先用局部坐标系来表示的SLAM地图可以基于坐标系变换矩阵变换到全局坐标 系下。
S306、电子设备判断是否存在非冗余关键帧。
本申请实施例中,SLAM地图中的关键帧和地图点可以变换到全局坐标系中表示,SLAM 地图可以也变换到全局坐标系中表示。在SLAM系统运行过程中,会不断更新SLAM地图, 所谓“更新SLAM地图”体现在不断向SLAM地图插入关键帧。
当有一个新的关键帧插入或者即将要到SLAM地图时,电子设备判断SLAM系统插入的 关键帧是否与下载的全局子地图中的关键帧存在冗余。所谓关键帧的冗余指关键帧关联的3D 地图点信息在全局子地图中已经存在,即全局子地图已经保存了当前环境中的视觉信息,不 需要再增加该关键帧了。而关键帧不冗余即关键帧关联的3D地图点信息在全局子地图中未 存在,全局子地图需要增加该关键帧来实现更新,以便于地图内容与真实环境同步。
本文中为了便于理解,不与全局子地图中的关键帧存在冗余的关键帧可简称为非冗余关 键帧。在一些实施例中,电子设备识别非冗余关键帧的方法例如可以是,检测当前关键帧与 电子设备的当前位置的全局子地图中关键帧的地图点关联情况,如果全局子地图上的地图点 投影在当前关键帧上,找不到关联的2D特征点,或关联上的2D特征点很少(例如低于50%, 需要说明的是,这里仅用于解释说明),则判断该关键帧为非冗余关键帧。如果全局子地图上 的地图点投影在当前关键帧上,可以关联上很多的2D特征点(例如大于等于50%,需要说 明的是,这里仅用于解释说明),则判断该关键帧不是非冗余关键帧。
S307、若存在非冗余关键帧,则电子设备将非冗余关键帧融合到全局子地图,获得地图 更新信息。
具体的,当存在非冗余关键帧,则电子设备则在全局子地图中增加关键帧节点(无向图 结构),并更新该非冗余关键帧与全局子地图中的关键帧之间的共视关系,如图12所示,图 12为用于说明非冗余关键帧与全局子地图中的关键帧之间的共视关系的示意图。对于全局子 地图中的某一3D地图点,如果该3D地图点能同时被若干个关键帧观测到,那么该若干个关 键帧就具有对该3D地图点的共视关系。所以,电子设备可计算出全局子地图中的哪些3D地 图点能同时被全局子地图中的至少一个关键帧和非冗余关键帧观测到,从而更新全局子地图 中的关键帧和非冗余关键之间的共视关系(如图示中虚线所示)。
在更新了全局子地图的关键帧共视关系之后,电子设备可利用三角化算法计算新的3D 地图点,以及通过BA算法优化非冗余关键帧对应的位姿和3D地图点坐标,从而完成了将非 冗余关键帧融合(或称插入)到全局子地图,实现了该全局子地图的更新。
S308、电子设备将地图更新信息发送给服务器,相应的,服务器接收该地图更新信息。
S309、服务器根据该地图更新信息更新服务器中的全局地图。
本申请实施例中,电子设备所上传的地图更新信息包括全局子地图中所更新的非冗余关 键帧对应的位姿、共视数据以及3D地图点。其中所述共视数据用于指示所述非冗余关键帧 与所述第二坐标系下的全局子地图的关键帧之间的所述共视关系。即是说,地图更新信息包 括全局子地图被下载到电子设备后所变化的关键帧位姿、共视关系以及3D地图点。
本申请一种可能的实现场景中,当电子设备判断该电子设备将要离开全局子地图对应的 实际地理范围时,会请求服务器下载基于当前位置信息的另一全局子地图。在电子设备在请 求所述另一个子地图的之前,或者在电子设备在请求所述另一个子地图的同时,电子设备将 地图更新信息上传到服务器。所述上传的地图更新信息相比原先下载的全局子地图而言,因 为只需包含所变化的关键帧位姿、共视关系以及3D地图点,所以数据量会小很多。
服务器在接收到地图更新信息之后,可直接基于地图更新信息,在服务器的全局地图上 更新关键帧共视关系,更新地图点坐标值,更新关键帧位姿,经过这样的更新后,就相当于 将相当于已将非冗余关键帧融合到了全局地图,从而实现了全局地图的高效率更新。可以看 到,本实施例中电子设备已提前完成了三角化计算、BA优化计算等等计算量大的计算步骤来 实现获得地图更新信息,所以服务器使用地图更新信息来更新全局地图的过程中无需执行三 角化计算、BA优化计算等等这些计算步骤,进而大大减少了服务器的计算负担。
本申请又一种可能的实现场景中,从用户点击虚拟场景应用到电子设备上传地图更新信 息给服务器的过程可以通过如下方式实现:
如图13所示,以电子设备10为手机为例,电子设备10中安装有某种虚拟场景应用(例 如,可以是带有AR功能的导航地图应用),图13中的(a)示出了电子设备10的显示面板上的桌面101。当电子设备检测到用户点击桌面101上的虚拟场景应用的图标102的操作后,一方面,电子设备进入应用,例如在电子设备10的显示面板上显示如图13中的(b)所示的用户界面106,这里的用户界面106中例如包括电子地图的界面以及多个控件,例如图示中包括电子地图控件,卫星地图控件和AR控件。示例性地,电子地图控件为控制应用进入电子地图界面的控件,卫星地图控件为控制应用进入卫星地图界面的控件,AR控件是控制应用 进入AR界面的控件。
另一方面,电子设备10在后台启动下载全局子地图的流程,全局子地图下载完成后,电 子设备10在后台进一步执行非冗余关键帧的识别,若存在非冗余关键帧,则可进一步将非冗 余关键帧融合到全局子地图,获得地图更新信息。
为了实现地图更新信息的及时上传,在某些合适的时机,在可以在电子设备10的用户界 面106中跳出供用户操作的控件,如图13中的(b)所示的控件109,该控件109向用户指 示是否需要上传地图更新信息以便于实现服务器侧的全局地图的更新,控件109中例如可包 括“拒绝”“同意”两个选项,当电子设备10检测到用户点击“同意”时,则启动地图更新信息上传流程,从而将地图更新信息上传到服务器进行全局地图的更新。而当电子设备10检 测到用户点击“拒绝”时,不启动地图更新信息的上传流程。通过这样的设计,既考虑到上 传地图更新信息的及时性,又考虑到用户当前共享地图更新信息的意愿(比如用户不想额外 耗费流量时可不上传),从而提升了用户的使用体验。
本申请又一种可能的实现场景中,从用户点击虚拟场景应用到电子设备上传地图更新信 息给服务器的过程还可以通过如下方式实现:
如图14所示,以电子设备10为手机为例,电子设备10中安装有某种虚拟场景应用(例 如,可以是带有AR功能的导航地图应用),图14中的(a)示出了电子设备10的显示面板上的桌面101。当电子设备检测到用户点击桌面101上的虚拟场景应用的图标102的操作后,在电子设备10的显示面板上显示如图14中的(b)所示的用户界面108,用户界面108中包 括用于输入账号和密码的文本框,以提示用户通过验证身份来登陆应用。用户界面108还包括待选择控件110。该待选择控件110用于指示是否允许电子设备自动上传地图更新信息。当电子设备10检测到用户点击触发勾选待选择控件110时,则在后台允许地图更新信息的自 动上传。相反,用户没有点击触发勾选待选择控件110时,则在后台不允许地图更新信息的 自动上传。通过这样的设计,既考虑到用户当前共享地图更新信息的意愿(比如用户不想额 外耗费流量时可不上传),在征得用户同意时,又能在后台自动实现上传地图更新信息,保证 了上传地图更新信息的及时性,又避免上传地图更新信息的环节干扰到用户对应用的使用。
在电子设备10用户点击触发勾选待选择控件11,且检测到用户输入账号和密码进行登 录后(电子设备10验证账号和密码正确)后,一方面,电子设备进入应用,例如在电子设备 10的显示面板上显示如图14中的(c)所示的用户界面106,这里的用户界面106中例如包 括电子地图的界面以及多个控件,例如图示中包括电子地图控件,卫星地图控件和AR控件。 示例性地,电子地图控件为控制应用进入电子地图界面的控件,卫星地图控件为控制应用进 入卫星地图界面的控件,AR控件是控制应用进入AR界面的控件。
另一方面,电子设备10在后台启动下载全局子地图的流程,全局子地图下载完成后,电 子设备10在后台进一步执行非冗余关键帧的识别,若存在非冗余关键帧,则可进一步将非冗 余关键帧融合到全局子地图,获得地图更新信息,并在后台将地图更新信息上传到服务器进 行全局地图的更新。
可以看到,本申请实施例中,电子设备从服务器下载全局地图中全局子地图,通过根据 同一帧分别获得终端在局部坐标系中的位姿和全局坐标系中的位姿,基于这两种位姿就能够 获得两种坐标系之间的坐标系变换信息(例如坐标系变换矩阵),根据这个坐标系变换矩阵就 可以实现了两个坐标系同步,这样,原先用局部坐标系来表示的信息(例如局部位姿、图像 的特征点、SLAM地图的3D地图点等等)就可以基于坐标系变换矩阵变换到全局坐标系下。 通过比较全局坐标系下的SLAM地图和全局子地图和电子设备中的SLAM地图,识别该 SLAM地图的非冗余关键帧,利用电子设备侧的计算资源和运算能力来将非冗余关键帧融合 到全局子地图中,从而获得地图更新信息,地图更新信息只需包含所变化的关键帧位姿、共 视关系以及3D地图点,相比原先下载的全局子地图而言数据量会小很多,所以进一步节省 了传输带宽资源。电子设备将地图更新信息发送给服务器后,服务器就能够基于地图更新信 息实现对服务器中的全局地图的更新。这样,减轻服务器计算负载,且提高了全局地图的更 新效率和鲁棒性。
参见图15,图15是本申请实施例提供的又一种全局地图更新方法的流程示意图,从电 子设备和服务器侧分别进行描述。图15与前述图10实施例的主要区别在于,图10实施例中 的地图更新信息为全局子地图中所变化的关键帧位姿、共视关系以及3D地图点,而图15实 施例中的地图更新信息直接为非冗余关键帧。该方法的相关步骤简述如下:
S501、电子设备向服务器发送用于指示所述电子设备的初始位置的第一位置指纹信息。
S502、服务器从全局地图中,获取与第一位置指纹信息匹配的全局子地图。所述全局子 地图是全局地图中与所述电子设备的位置关联的子地图。
S503、服务器下发全局子地图给电子设备。相应的,电子设备接收全局子地图。
S504、电子设备将该全局子地图存储到所述电子设备的SLAM系统中。
S505、电子设备计算坐标系变换信息,并基于坐标系变换信息对SLAM地图进行变换。
S506、电子设备判断是否存在非冗余关键帧。
上述步骤S501-S506的具体内容可与前述图10实施例中步骤S301-S306相同,为了说 明书的简洁,这里不在赘述。
S507、若存在非冗余关键帧,则电子设备将非冗余关键帧发送给服务器,相应的,服务 器接收该非冗余关键帧。
S508、服务器根据所述地图更新信息更新服务器中的全局地图。
本实施例中,当有一个新的关键帧插入或者即将要到SLAM地图时,如果电子设备判断 该新的关键帧为非冗余关键帧,为了节省电子设备的运算能力,也可以直接将该非冗余关键 帧发送给服务器,由服务器执行将非冗余关键帧融合(或称插入)到服务器中的全局地图的 过程。
类似的,服务器可以在全局地图中增加关键帧节点(无向图结构),并更新该非冗余关键 帧与全局地图中的关键帧之间的共视关系,即服务器可计算出全局地图中的哪些3D地图点 能同时被全局地图中的至少一个关键帧和该非冗余关键帧观测到,从而更新全局地图中的关 键帧和非冗余关键之间的共视关系。在更新全局地图的关键帧共视关系之后,服务器可利用 三角化算法计算新的3D地图点,以及通过BA算法优化非冗余关键帧对应的位姿和3D地图 点坐标,从而完成了将非冗余关键帧融合(或称插入)到全局地图的过程,实现了该全局地 图的更新。
可以看到,本申请实施例中,电子设备从服务器下载全局地图中全局子地图,通过根据 同一帧分别获得终端在局部坐标系中的位姿和全局坐标系中的位姿,基于这两种位姿就能够 获得两种坐标系之间的坐标系变换信息(例如坐标系变换矩阵),根据这个坐标系变换矩阵就 可以实现了两个坐标系同步,这样,原先用局部坐标系来表示的信息(例如局部位姿、图像 的特征点、SLAM地图的3D地图点等等)就可以基于坐标系变换矩阵变换到全局坐标系下。 通过比较全局坐标系下的SLAM地图和全局子地图,识别该SLAM地图的非冗余关键帧,并 将非冗余关键帧发送给服务器,服务器再利用非冗余关键帧融合到全局地图,从而也能够实 现对服务器中的全局地图的高效率的更新。这样的方案有利于减轻电子设备的计算负载,保 证地图融合的准确性。
参见图16,图16示出了在又一种具体实现中,图4所示的电子设备10中的各功能模块 进一步可能包含的组件,以及服务器20中的各功能模块进一步可能包含的组件。图16实施 例和前述图5实施例的主要区别在于,图16实施例所示功能模块架构中,全局定位模块16 的功能配置在服务器20侧实现,即服务器20中还包括图像检索模块161、特征提取模块162、 特征匹配模块163和位姿估计模块164。
服务器20中的全局位姿模块16用于在初始时刻乃至之后的任一时刻,获取电子设备上 传的至少一帧视频图像,基于该视频图像计算出电子设备10在全局子地图中的全局位姿(例 如为第二位姿数据),并将该全局位姿发送给电子设备10。具体的,可通过图像检索模块161 获取电子设备10上传的视频图像序列中的视频图像,通过特征提取模块162根据所述视频图 像进行特征提取,获得图像特征,通过特征匹配模块163将所述图像特征在全局子地图中进 行特征匹配,获得与所述图像特征匹配的地图特征;通过位姿估计模块164根据所述图像特 征和所述地图特征,计算获得所述电子设备10在全局子地图中的全局位姿(例如为第二位姿 数据),并将该全局位姿发送给电子设备10。
图16所示的服务器20中的其他功能模块进一步可能包含的组件可类似参考前述图5实 施例中对服务器20的相关描述,为了说明书的简洁,这里不再赘述。
图16所示的电子设备10中的各功能模块进一步可能包含的组件可类似参考前述图5实 施例中对电子设备10的相关描述,为了说明书的简洁,这里也不再赘述。
具体实施例中,电子设备10中的各功能模块可相互配合,以执行如图17实施例中电子 设备侧的功能。服务器20中的各功能模块可相互配合,以执行如图17实施例中服务器侧的 功能
参见图17,图17是本申请实施例提供的又一种虚拟物体显示方法的流程示意图,从电 子设备和服务器侧分别进行描述。该方法包括但不限于以下步骤:
S601、电子设备向服务器发送用于指示所述电子设备的初始位置的第一位置指纹信息和 至少一帧视频图像。
具体实施例中,为实现电子设备的第一次全局定位,电子设备需要向服务器上传位置指 纹信息和至少一张或多张当前采集的视频图像。其中,所述至少一帧视频图像可以是电子设 备通过摄像头拍摄的视频图像序列中的视频图像。比如,可以是摄像头拍摄的视频图像序列 中的第1帧图像。所述位置指纹信息所指示的初始位置可能是所述电子设备请求下载地图时 电子设备所处的地理位置信息,例如位置指纹信息来源包括GNSS/WiFi/蓝牙/基站等定位方 式所测得的初始位置信息、信号强度信息、信号特征信息等等;也可能是在由用户输入的位 置信息。
在一种具体实现中,电子设备可以将第一位置指纹信息和一帧视频图像一起打包发送给 服务器。
在又一种具体实现中,电子设备也可以将第一位置指纹信息和一帧视频图像分别独立发 送给服务器。
S602、服务器从全局地图中,获取与第一位置指纹信息匹配的全局子地图。所述全局子 地图是全局地图中与所述电子设备的位置关联的子地图。
一种实施例中,服务器根据上述第一位置指纹信息,与服务器预先保存在数据库中的子 地图的位置指纹信息做匹配,所述数据库中的子地图为隶属于全局地图的子地图。如果有匹 配上的子地图,则该子地图即为后续需要下发给电子设备的全局子地图。
又一种实施例中,服务器根据上述第一位置指纹信息,在服务器保存的全局地图中遍历, 直到寻找到位置指纹信息匹配的区域,服务器从全局地图中取出该区域作为全局子地图。
S603、服务器根据该视频图像和全局子地图进行位姿计算,获得电子设备在全局子地图 中的全局位姿(这里也可称为第二位姿数据)。
本申请的一种实施例中,第一次计算电子设备的全局位姿可以放在服务器端完成,服务 器执行全局位姿计算的过程同样包括包括图像检索、特征提取、特征匹配、位姿估计等过程,
例如,服务器对该视频图像进行特征检测,在该视频图像中提取出特征的图像位置,特 征检测算法不限于FAST、ORB、SIFT、SURF、D2Net、SuperPoint等特征检测方法。然后对 每一个检测出的特征进行特征描述,特征描述算法不限于ORB、SIFT、SURF、BRIEF、BRISK、 FREAK、D2Net、SuperPoint等特征描述方法,从而形成一个一维向量,用于后续的特征匹配。 通过特征匹配,服务器可从全局子地图中匹配出与该视频图像最相似的地图内容(例如一帧 或多帧关键帧),具体方法例如包括基于BOW、VLAD等传统图像检索方法以及基于 NetVLAD、AI的新型图像检索方法。特征匹配具体是计算两个特征描述之间的相似程度,对 于Float型向量,可以通过欧氏距离计算;对于二值向量,可以通过异或计算。找出与视频图 像最相似的地图内容后,就可以基于该视频图像和最相似的地图内容进行位姿估计,例如可 采用PnP、EPnP、3D-3D等配准算法,从而可以计算出该第二位姿数据。
S604、服务器在完成位姿估计之后,下发所述电子设备在全局子地图中的全局位姿(第 二位姿数据)给电子设备。相应的,电子设备接收该第二位姿数据。电子设备后续可利用该 第二位姿数据来计算坐标系变换信息(例如坐标系变换矩阵)。
S605、服务器下发全局子地图给电子设备。相应的,电子设备接收该全局子地图。
S606、电子设备将该全局子地图存储到所述电子设备的SLAM系统中。
S607、电子设备计算坐标系变换信息。
电子设备计算坐标系变换信息的过程可描述如下:电子设备获取视频图像,所述视频图 像和S601中所发送给服务器的视频图像为相同图像;然后,一方面,根据该视频图像和SLAM 地图,确定电子设备在原先所构建的局部坐标系下的SLAM地图中的局部位姿(这里可称为 第一位姿数据)。具体实现过程可类似参考图10实施例的S305中有关于第一位姿数据的描述, 为了说明书的简洁,这里不再赘述。
然后,电子设备可根据所述第一位姿数据和通过S604所获得的第二位姿数据,进一步获 得所述SLAM地图的第一坐标系和所述全局地图的第二坐标系之间的坐标系变换信息,坐标 系变换信息例如可以是坐标系变换矩阵。关于坐标系变换矩阵的相关内容可类似参考图11实 施例的相关描述,为了说明书的简洁,这里也不再赘述。
S608、电子设备判断是否存在非冗余关键帧。
S609、若存在非冗余关键帧,则电子设备将非冗余关键帧融合到全局子地图,获得地图 更新信息。
S610、电子设备将地图更新信息发送给服务器,相应的,服务器接收该地图更新信息。
S611、服务器根据所述地图更新信息更新服务器中的全局地图。
上述步骤S608-S611的具体实现过程可类似参考图10实施例S306-S309的描述,为了说 明书的简洁,这里也不再赘述。
可以看到,本申请实施例中,电子设备需要先下载对应区域的全局子地图,下载地图的 过程需要花费一定时间。为了加快用户进入应用的速度,可以采用第一次全局位姿估计在服 务器端完成的方式。也即是说,应用启动后,第一次全局位姿估计在服务器侧进行,在启动 全局位姿估计的同时,服务器相应获取全局子地图并向电子设备传输,提高用户进入应用的 速度。用户并不会感知到地图下载流程的时延存在,这样,能够避免了下载时延造成的用户 等待,进一步提升用户体验。电子设备通过比较全局子地图和电子设备中的SLAM地图,利 用电子设备侧的计算资源和运算能力来获得地图更新信息,该地图更新信息能够被用来更新 全局子地图中的地图内容。所以电子设备将地图更新信息发送给服务器后,服务器就能够基 于地图更新信息实现对服务器中的全局地图更新。这样,减轻服务器计算负载,提高了服务 器更新全局地图的效率。而地图更新信息相比起摄像头拍摄的图像数据而言,数据量更少, 所以也节省了传输带宽资源。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使 用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包 括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产 生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算 机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或者从一个计 算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网 络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线 (例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传输。所述 计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个或多个可用 介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、 硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以 参见其他实施例的相关描述。

Claims (46)

1.一种虚拟物体显示方法,应用于具有显示组件和摄像头的第一电子设备,其特征在于,所述方法包括:
检测到用户打开应用的操作;
响应于所述操作,从服务器下载第一全局子地图并存储到所述第一电子设备的即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)系统中;所述第一全局子地图是全局地图中与所述第一电子设备的位置关联的子地图;
在所述显示组件上基于所述第一电子设备的位姿数据来显示虚拟物体,所述第一电子设备的位姿数据是所述SLAM系统至少根据所述摄像头采集的视频图像和所述第一全局子地图执行位姿计算得到的,其中所述服务器上的全局地图是根据一个或多个第二电子设备发送的地图更新信息进行更新得到的,其中,所述一个或多个第二电子设备为除所述第一电子设备外的电子设备。
2.根据权利要求1所述的方法,其特征在于,所述地图更新信息是所述第二电子设备的SLAM系统根据第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果获得的;其中,所述第二坐标系下的SLAM地图是基于第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换信息得到的;或者,
所述地图更新信息是所述第二电子设备的SLAM系统根据所述第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息获得的。
3.根据权利要求1或2所述的方法,其特征在于,所述地图更新信息包括:
所述第二电子设备的SLAM系统所构建的SLAM地图的目标关键帧对应的位姿数据、三维地图点以及共视数据,所述共视数据用于指示所述目标关键帧与所述第二电子设备中的第二全局子地图的关键帧之间的共视关系,所述第二全局子地图是全局地图中与所述第二电子设备的位置关联的子地图。
4.根据权利要求3所述的方法,其特征在于,所述目标关键帧为非冗余关键帧,所述非冗余关键帧表示存在于所述第二电子设备的SLAM地图中但不存在于所述第二全局子地图中的关键帧。
5.根据权利要求1或2所述的方法,其特征在于,所述地图更新信息包括:
存在于所述第二电子设备的SLAM地图中但不存在于所述第二电子设备中的第二全局子地图中的关键帧,所述第二全局子地图是全局地图中与所述第二电子设备的位置关联的子地图。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述响应于所述操作,从服务器下载第一全局子地图,包括:
向服务器发送用于指示所述第一电子设备的初始位置的第一位置指纹信息;
从所述服务器接收所述第一全局子地图,所述第一全局子地图对应有第二位置指纹信息,且所述第一位置指纹信息和所述第二位置指纹信息相匹配。
7.一种全局地图更新方法,应用于电子设备,其特征在于,所述方法包括:
从服务器获取与所述电子设备的位置关联的全局子地图,所述全局子地图是第二坐标系下的全局地图中与所述电子设备的位置关联的子地图;
根据所述电子设备的SLAM系统所构建的第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果,或者根据所述电子设备的SLAM系统所构建的第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息,获得地图更新信息;其中所述第二坐标系下的SLAM地图是基于所述第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换信息得到的;所述地图更新信息用于指示所述第二坐标系下或者所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异;
将所述地图更新信息发送给所述服务器,所述地图更新信息用于更新所述服务器中所述第二坐标系下的全局地图。
8.根据权利要求7所述的方法,其特征在于,所述第二坐标系下的SLAM地图具体为基于所述坐标系变换信息对所述第一坐标系下的SLAM地图进行变换得到的;
所述根据所述电子设备的SLAM系统所构建的第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果,获得地图更新信息,包括:
通过比较所述第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图,以获得非冗余关键帧,所述非冗余关键帧表示存在于所述第二坐标系下的SLAM地图中但不存在于所述第二坐标系下的全局子地图中的关键帧;
将所述非冗余关键帧融合到所述第二坐标系下的全局子地图,得到经融合后的全局子地图;
从所述经融合后的全局子地图中获得所述地图更新信息。
9.根据权利要求8所述的方法,其特征在于,所述将所述非冗余关键帧融合到所述第二坐标系下的全局子地图,包括:
将所述非冗余关键帧作为新的关键帧节点增加到在所述第二坐标系下的全局子地图;
更新所述非冗余关键帧与所述第二坐标系下的全局子地图中的关键帧的共视关系;
计算所述非冗余关键帧对应的位姿数据和三维地图点;
相应的,所述从所述经融合后的全局子地图中获得所述地图更新信息,包括:
从所述经融合后的全局子地图中获取所述非冗余关键帧对应的位姿数据、三维地图点以及共视数据作为所述地图更新信息,所述共视数据用于指示所述非冗余关键帧与所述第二坐标系下的全局子地图的关键帧之间的共视关系。
10.根据权利要求7所述的方法,其特征在于,所述根据第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息,获得地图更新信息,包括:
通过比较所述第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图,以得到非冗余关键帧,所述非冗余关键帧为存在于所述第一坐标系下的SLAM地图的关键帧,且所述非冗余关键帧经所述坐标系变换信息变换后不存在于所述第二坐标系下的全局子地图;
将经所述坐标系变换信息变换后的非冗余关键帧融合到所述第二坐标系下的全局子地图,以获得所述地图更新信息;所述经所述坐标系变换信息变换后的非冗余关键帧是所述第二坐标系下的关键帧。
11.根据权利要求7-10任一项所述的方法,其特征在于,所述从服务器获取与所述电子设备的位置对应的全局子地图,包括:
向服务器发送所述电子设备的初始位置的指示信息;
从所述服务器接收所述全局子地图,所述全局子地图是根据所述电子设备的初始位置确定的。
12.根据权利要求11所述的方法,其特征在于,所述电子设备的初始位置的指示信息包括用于指示所述电子设备的初始位置的第一位置指纹信息;所述全局子地图对应有第二位置指纹信息,且所述第一位置指纹信息和所述第二位置指纹信息相匹配。
13.根据权利要求7-12任一项所述的方法,其特征在于,在获得地图更新信息之前,还包括:
根据采集的视频图像和第一坐标系下的SLAM地图,确定所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据;
根据所述视频图像和第二坐标系下的全局子地图,确定所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据;
根据所述第一位姿数据和所述第二位姿数据,获得所述SLAM地图的第一坐标系和所述全局地图的第二坐标系之间的所述坐标系变换信息。
14.根据权利要求13所述的方法,其特征在于,所述根据采集的视频图像和第一坐标系下的SLAM地图,确定所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据,包括:
根据所述视频图像、所述第一坐标系下的SLAM地图以及所述电子设备采集的运动数据,获得所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据;所述运动数据包括运动速度数据和运动方向数据。
15.根据权利要求13或14所述的方法,其特征在于,所述根据所述视频图像和第二坐标系下的全局子地图,确定所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据,包括:
对所述视频图像进行特征提取,以获得图像特征;
将所述图像特征在所述第二坐标系下的全局子地图中进行特征匹配,以获得与所述图像特征匹配的地图特征;
根据所述图像特征和所述地图特征,计算得到所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据。
16.根据权利要求13或14所述的方法,其特征在于,所述根据所述视频图像和第二坐标系下的全局子地图,确定所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据,包括:
向所述服务器发送所述视频图像;
从所述服务器接收所述第二位姿数据,所述第二位姿数据是所述服务器根据所述视频图像和所述第二坐标系下的全局地图中与所述电子设备的位置关联的全局子地图进行特征提取和特征匹配确定的。
17.一种全局地图更新方法,应用于服务器,其特征在于,所述方法包括:
根据电子设备的请求,向所述电子设备发送与所述电子设备的位置对应的全局子地图,所述全局子地图是第二坐标系下的全局地图中与所述电子设备的位置关联的子地图;
从所述电子设备接收地图更新信息;所述地图更新信息用于指示所述电子设备的SLAM系统所构建的第一坐标系下或者所述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异;
根据所述地图更新信息更新所述全局地图。
18.根据权利要求17所述的方法,其特征在于,所述地图更新信息表示与非冗余关键帧相关联的信息;所述非冗余关键帧表示存在于所述第二坐标系下的SLAM地图中但不存在于第二坐标系下的全局子地图中的关键帧。
19.根据权利要求18所述的方法,其特征在于,所述地图更新信息具体包括:
所述非冗余关键帧对应的位姿数据、三维地图点以及共视数据,所述共视数据用于指示所述非冗余关键帧与所述第二坐标系下的全局子地图的关键帧之间的共视关系。
20.根据权利要求18或19所述的方法,其特征在于,所述根据所述地图更新信息更新所述全局地图,包括:
将所述地图更新信息加入到所述全局地图。
21.根据权利要求17-20任一项所述的方法,其特征在于,所述根据电子设备的请求,向所述电子设备发送与所述电子设备的位置对应的全局子地图,包括:
接收所述电子设备的初始位置的指示信息;
根据所述电子设备的初始位置,在所述全局地图中获取所述与所述电子设备的位置对应的所述全局子地图;
将所述全局子地图发送给所述电子设备。
22.根据权利要求21所述的方法,其特征在于,所述电子设备的初始位置的指示信息包括用于指示所述电子设备的初始位置的第一位置指纹信息;所述全局地图中的全局子地图对应有第二位置指纹信息;
所述根据所述电子设备的初始位置,在所述全局地图中获取所述与所述电子设备的位置对应的所述全局子地图,包括:
根据所述第一位置指纹信息,在所述全局地图中找到具有与所述第一位置指纹信息相匹配的第二位置指纹信息的所述全局子地图。
23.一种用于虚拟物体显示的电子设备,所述电子设备为第一电子设备,其特征在于,包括:显示组件;摄像头;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述第一电子设备执行以下步骤:
检测到用户打开应用的操作;
响应于所述操作,从服务器下载第一全局子地图并存储到所述第一电子设备的即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)系统中;所述第一全局子地图是全局地图中与所述第一电子设备的位置关联的子地图;
在所述显示组件上基于所述第一电子设备的位姿数据来显示虚拟物体,所述第一电子设备的位姿数据是至少根据所述摄像头采集的视频图像和所述第一全局子地图执行位姿计算得到的,其中所述服务器上的全局地图是所述SLAM系统根据一个或多个第二电子设备发送的地图更新信息进行更新得到的,其中,所述一个或多个第二电子设备为除所述第一电子设备外的电子设备。
24.根据权利要求23所述的电子设备,其特征在于,所述地图更新信息是所述第二电子设备的SLAM系统根据第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果获得的;其中,所述第二坐标系下的SLAM地图是基于第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换信息得到的;或者,
所述地图更新信息是所述第二电子设备的SLAM系统根据所述第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息获得的。
25.根据权利要求23或24所述的电子设备,其特征在于,所述地图更新信息包括:
所述第二电子设备的SLAM系统所构建的SLAM地图的目标关键帧对应的位姿数据、三维地图点以及共视数据,所述共视数据用于指示所述目标关键帧与所述第二电子设备中的第二全局子地图的关键帧之间的共视关系,所述第二全局子地图是全局地图中与所述第二电子设备的位置关联的子地图。
26.根据权利要求25所述的电子设备,其特征在于,所述目标关键帧为非冗余关键帧,所述非冗余关键帧表示存在于所述第二电子设备的SLAM地图中但不存在于所述第二全局子地图中的关键帧。
27.根据权利要求23或24所述的电子设备,其特征在于,所述地图更新信息包括:
存在于所述第二电子设备的SLAM地图中但不存在于所述第二电子设备中的第二全局子地图中的关键帧,所述第二全局子地图是全局地图中与所述第二电子设备的位置关联的子地图。
28.根据权利要求23-27任一项所述的电子设备,其特征在于,当所述指令被所述电子设备执行时,使得所述电子设备具体执行以下步骤:
向服务器发送用于指示所述第一电子设备的初始位置的第一位置指纹信息;
从所述服务器接收所述第一全局子地图,所述第一全局子地图对应有第二位置指纹信息,且所述第一位置指纹信息和所述第二位置指纹信息相匹配。
29.一种用于全局地图更新的电子设备,其特征在于,包括:
通信模块,用于从服务器获取与所述电子设备的位置关联的全局子地图,所述全局子地图是第二坐标系下的全局地图中与所述电子设备的位置关联的子地图;
SLAM模块,用于根据所述SLAM模块所构建的第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果,或者根据所述SLAM模块所构建的第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图的比较结果以及所述坐标系变换信息,获得地图更新信息;其中所述第二坐标系下的SLAM地图是基于所述第一坐标系下的SLAM地图以及所述第一坐标系和所述第二坐标系之间的坐标系变换信息得到的;所述地图更新信息用于指示所述第二坐标系下或者所述第一坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异;
所述通信模块还用于,将所述地图更新信息发送给所述服务器,所述地图更新信息用于更新所述服务器中所述第二坐标系下的全局地图。
30.根据权利要求29所述的电子设备,其特征在于,所述第二坐标系下的SLAM地图具体为基于所述坐标系变换信息对所述第一坐标系下的SLAM地图进行变换得到的;
所述SLAM模块具体用于:
通过比较所述第二坐标系下的SLAM地图与所述第二坐标系下的全局子地图,以获得非冗余关键帧,所述非冗余关键帧表示存在于所述第二坐标系下的SLAM地图中但不存在于所二坐标系下的全局子地图中的关键帧;
将所述非冗余关键帧融合到所述第二坐标系下的全局子地图,得到经融合后的全局子地图;
从所述经融合后的全局子地图中获得所述地图更新信息。
31.根据权利要求30所述的电子设备,其特征在于,所述SLAM模块具体用于:
将所述非冗余关键帧作为新的关键帧节点增加到在所述第二坐标系下的全局子地图;
更新所述非冗余关键帧与所述第二坐标系下的全局子地图中的关键帧的共视关系;
计算所述非冗余关键帧对应的位姿数据和三维地图点;
从所述经融合后的全局子地图中获取所述非冗余关键帧对应的位姿数据、三维地图点以及共视数据作为所述地图更新信息,所述共视数据用于指示所述非冗余关键帧与所述第二坐标系下的全局子地图的关键帧之间的共视关系。
32.根据权利要求29所述的电子设备,其特征在于,所述SLAM模块具体用于:
通过比较所述第一坐标系下的SLAM地图与所述第二坐标系下的全局子地图,以得到非冗余关键帧,所述非冗余关键帧为存在于所述第一坐标系下的SLAM地图的关键帧,且所述非冗余关键帧经所述坐标系变换信息变换后不存在于所述第二坐标系下的全局子地图;
将经所述坐标系变换信息变换后的非冗余关键帧融合到所述第二坐标系下的全局子地图,获得所述地图更新信息;所述经所述坐标系变换信息变换后的非冗余关键帧是所述第二坐标系下的关键帧。
33.根据权利要求29-32任一项所述的电子设备,其特征在于,所述通信模块具体用于:
向服务器发送所述电子设备的初始位置的指示信息;
从所述服务器接收所述全局子地图,所述全局子地图是根据所述电子设备的初始位置确定的。
34.根据权利要求33所述的电子设备,其特征在于,所述电子设备的初始位置的指示信息包括用于指示所述电子设备的初始位置的第一位置指纹信息;所述全局子地图对应有第二位置指纹信息,且所述第一位置指纹信息和所述第二位置指纹信息相匹配。
35.根据权利要求29-34任一项所述的电子设备,其特征在于,所述电子设备还包括全局定位模块和坐标系变化矩阵计算模块;
所述SLAM模块具体用于,根据采集的视频图像和第一坐标系下的SLAM地图,确定所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据;
所述全局定位模块具体用于,根据所述视频图像和第二坐标系下的全局子地图,确定所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据;
所述坐标系变化矩阵计算模块具体用于,根据所述第一位姿数据和所述第二位姿数据,获得所述SLAM地图的第一坐标系和所述全局地图的第二坐标系之间的所述坐标系变换信息。
36.根据权利要求35所述的电子设备,其特征在于,所述SLAM模块具体用于:
根据所述视频图像、所述第一坐标系下的SLAM地图以及所述电子设备采集的运动数据,获得所述电子设备在所述第一坐标系下的SLAM地图中的第一位姿数据;所述运动数据包括运动速度数据和运动方向数据。
37.根据权利要求35或36所述的电子设备,其特征在于,所述全局定位模块具体用于,
对所述视频图像进行特征提取,以获得图像特征;
将所述图像特征在所述第二坐标系下的全局子地图中进行特征匹配,以获得与所述图像特征匹配的地图特征;
根据所述图像特征和所述地图特征,计算得到所述电子设备在所述第二坐标系下的全局子地图中的第二位姿数据。
38.根据权利要求35或36所述的电子设备,其特征在于,所述通信模块具体用于:向所述服务器发送所述视频图像;
从所述服务器接收所述第二位姿数据,所述第二位姿数据是所述服务器根据所述视频图像和所述第二坐标系下的全局地图中与所述电子设备的位置关联的全局子地图进行特征提取和特征匹配确定的。
39.一种用于全局地图的服务器,其特征在于,包括:
通信模块,用于根据电子设备的请求,向所述电子设备发送与所述电子设备的位置对应的全局子地图,所述全局子地图是第二坐标系下的全局地图中与所述电子设备的位置关联的子地图;
所述通信模块还用于,从所述电子设备接收地图更新信息;所述地图更新信息用于指示所述电子设备的SLAM系统所构建的第一坐标系下或者所述第二坐标系下的SLAM地图相对于所述第二坐标系下的全局子地图的差异;
处理模块,用于根据所述地图更新信息更新所述全局地图。
40.根据权利要求39所述的服务器,其特征在于,所述地图更新信息表示与非冗余关键帧相关联的信息;所述非冗余关键帧表示存在于所述第二坐标系下的SLAM地图中但不存在于第二坐标系下的全局子地图中的关键帧。
41.根据权利要求40所述的服务器,其特征在于,所述地图更新信息具体包括:
所述非冗余关键帧对应的位姿数据、三维地图点以及共视数据,所述共视数据用于指示所述非冗余关键帧与所述第二坐标系下的全局子地图的关键帧之间的共视关系。
42.根据权利要求40或41所述的服务器,其特征在于,所述处理模块具体用于:
将所述地图更新信息加入到所述全局地图。
43.根据权利要求39-42任一项所述的服务器,其特征在于,所述通信模块具体用于:
接收所述电子设备的初始位置的指示信息;
根据所述电子设备的初始位置,在所述全局地图中获取所述与所述电子设备的位置对应的所述全局子地图;
将所述全局子地图发送给所述电子设备。
44.根据权利要求43所述的服务器,其特征在于,所述电子设备的初始位置的指示信息包括用于指示所述电子设备的初始位置的第一位置指纹信息;所述全局地图中的全局子地图对应有第二位置指纹信息;
所述处理模块具体用于:根据所述第一位置指纹信息,在所述全局地图中找到具有与所述第一位置指纹信息相匹配的第二位置指纹信息的所述全局子地图。
45.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至6中任一项所述的虚拟物体显示方法或者执行如权利要求7至16中任一项所述的全局地图更新方法。
46.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在服务器上运行时,使得所述服务器执行如权利要求17至22中任一项所述的全局地图更新方法。
CN201911099310.2A 2019-11-08 2019-11-11 虚拟物体显示方法、全局地图更新方法以及设备 Pending CN112785700A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/113321 WO2021088497A1 (zh) 2019-11-08 2020-09-03 虚拟物体显示方法、全局地图更新方法以及设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019110973931 2019-11-08
CN201911097393 2019-11-08

Publications (1)

Publication Number Publication Date
CN112785700A true CN112785700A (zh) 2021-05-11

Family

ID=75749882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911099310.2A Pending CN112785700A (zh) 2019-11-08 2019-11-11 虚拟物体显示方法、全局地图更新方法以及设备

Country Status (2)

Country Link
CN (1) CN112785700A (zh)
WO (1) WO2021088497A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113398577A (zh) * 2021-05-13 2021-09-17 杭州易现先进科技有限公司 一种线下空间的多人ar互动方法和系统
CN115439536A (zh) * 2022-08-18 2022-12-06 北京百度网讯科技有限公司 视觉地图更新方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120306850A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
CN105143821A (zh) * 2013-04-30 2015-12-09 高通股份有限公司 依据slam地图的广域定位
CN107818592A (zh) * 2017-11-24 2018-03-20 北京华捷艾米科技有限公司 协作式同步定位与地图构建的方法、系统及交互系统
WO2019010466A1 (en) * 2017-07-07 2019-01-10 Escher Reality, LLC INCREASED REALITY THAT CAN USE THE CLOUD
CN109887053A (zh) * 2019-02-01 2019-06-14 广州小鹏汽车科技有限公司 一种slam地图拼接方法及系统
CN110246182A (zh) * 2019-05-29 2019-09-17 深圳前海达闼云端智能科技有限公司 基于视觉的全局地图定位方法、装置、存储介质和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9429438B2 (en) * 2010-12-23 2016-08-30 Blackberry Limited Updating map data from camera images
CN103674011B (zh) * 2012-09-19 2017-07-25 联想(北京)有限公司 即时定位与地图构建设备、系统与方法
CN109086277B (zh) * 2017-06-13 2024-02-02 纵目科技(上海)股份有限公司 一种重叠区构建地图方法、系统、移动终端及存储介质
CN111177167B (zh) * 2019-12-25 2024-01-19 Oppo广东移动通信有限公司 增强现实的地图更新方法、装置、系统、存储与设备
CN111369628A (zh) * 2020-03-05 2020-07-03 南京华捷艾米软件科技有限公司 一种多相机集中式协同slam方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120306850A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
CN105143821A (zh) * 2013-04-30 2015-12-09 高通股份有限公司 依据slam地图的广域定位
WO2019010466A1 (en) * 2017-07-07 2019-01-10 Escher Reality, LLC INCREASED REALITY THAT CAN USE THE CLOUD
CN107818592A (zh) * 2017-11-24 2018-03-20 北京华捷艾米科技有限公司 协作式同步定位与地图构建的方法、系统及交互系统
CN109887053A (zh) * 2019-02-01 2019-06-14 广州小鹏汽车科技有限公司 一种slam地图拼接方法及系统
CN110246182A (zh) * 2019-05-29 2019-09-17 深圳前海达闼云端智能科技有限公司 基于视觉的全局地图定位方法、装置、存储介质和设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113398577A (zh) * 2021-05-13 2021-09-17 杭州易现先进科技有限公司 一种线下空间的多人ar互动方法和系统
CN113398577B (zh) * 2021-05-13 2024-04-09 杭州易现先进科技有限公司 一种线下空间的多人ar互动方法和系统
CN115439536A (zh) * 2022-08-18 2022-12-06 北京百度网讯科技有限公司 视觉地图更新方法、装置及电子设备
CN115439536B (zh) * 2022-08-18 2023-09-26 北京百度网讯科技有限公司 视觉地图更新方法、装置及电子设备

Also Published As

Publication number Publication date
WO2021088497A1 (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN109949422B (zh) 用于虚拟场景的数据处理方法以及设备
US9699375B2 (en) Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
CN111649724B (zh) 基于移动边缘计算的视觉定位方法和装置
US9558559B2 (en) Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
US11776151B2 (en) Method for displaying virtual object and electronic device
WO2021088497A1 (zh) 虚拟物体显示方法、全局地图更新方法以及设备
WO2022252238A1 (zh) 3d地图的压缩、解压缩方法和装置
WO2022252236A1 (zh) 3d地图的编解码方法及装置
WO2022252237A1 (zh) 3d地图的编解码方法及装置
WO2022252345A1 (zh) 3d地图的压缩、解压缩方法和装置
US20240104781A1 (en) 3D Map Compression Method and Apparatus, and 3D Map Decompression Method and Apparatus
US20240119639A1 (en) Apparatus and method for decoding 3d map, and encoded bitstream of 3d map
WO2022252234A1 (zh) 3d地图的编码装置和方法
JP2024522154A (ja) 3次元マップ圧縮方法および装置、並びに、3次元マップ復元方法および装置
CN116594048A (zh) 定位系统、定位方法及装置、存储介质和电子设备
CN117635697A (zh) 位姿确定方法、装置、设备、存储介质和程序产品
CN114061579A (zh) 室内定位、室内导航的方法、装置、电子设备及存储介质

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