CN111311756B - 增强现实ar显示方法及相关装置 - Google Patents

增强现实ar显示方法及相关装置 Download PDF

Info

Publication number
CN111311756B
CN111311756B CN202010087613.9A CN202010087613A CN111311756B CN 111311756 B CN111311756 B CN 111311756B CN 202010087613 A CN202010087613 A CN 202010087613A CN 111311756 B CN111311756 B CN 111311756B
Authority
CN
China
Prior art keywords
image frame
current image
point
feature
point cloud
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
CN202010087613.9A
Other languages
English (en)
Other versions
CN111311756A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010087613.9A priority Critical patent/CN111311756B/zh
Publication of CN111311756A publication Critical patent/CN111311756A/zh
Application granted granted Critical
Publication of CN111311756B publication Critical patent/CN111311756B/zh
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
    • G06T19/006Mixed reality
    • 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
    • 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
    • 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

Abstract

本申请实施例公开了一种增强现实AR显示方法,包括:通过移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:生成当前图像帧的特征表达集合;在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与该当前图像帧的特征表达集合匹配的关键帧;根据该关键帧的自定义描述子确定该当前图像帧在该AR离线地图的第一坐标系下的第一位姿;根据该第一位姿,以及该当前图像帧在该当前场景的第二坐标系下的第二位姿,计算出该第一坐标系和该第二坐标系之间的相对坐标变换矩阵;根据该相对坐标变换矩阵在该当前图像帧中显示每个锚点对应的虚拟物体。本申请实施例有利于成功进行重定位。

Description

增强现实AR显示方法及相关装置
技术领域
本申请涉及移动终端技术领域,具体涉及一种增强现实AR显示方法及相关装置。
背景技术
增强现实(Augmented Reality,AR)技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,真实环境和虚拟物体之间重叠之后,能够在同一个画面以及空间中同时存在,从而实现超越现实的感官体验,实现对真实世界的“增强”。
重定位是指在即时定位与地图构建(Simultaneous localization and mapping,SLAM)中,当对相机位姿的追踪丢失,或加载离线地图后,计算相机在原有坐标系下的位姿,重定位在AR应用中有着至关重要的作用。
发明内容
本申请实施例提供了一种增强现实AR显示方法及相关装置,以期成功进行重定位。
第一方面,本申请实施例提供一种增强现实AR显示方法,应用于移动终端,所述方法包括:
通过所述移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:
生成当前图像帧的特征表达集合;
在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;
根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态;
根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;
根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
第二方面,本申请实施例提供一种增强现实AR显示装置,应用于移动终端,所述装置包括处理单元和通信单元,其中,
所述处理单元,用于通过所述移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:
生成当前图像帧的特征表达集合;
在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;
根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态;
根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;
根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
第三方面,本申请实施例提供一种移动终端,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤
第五方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第六方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中,移动终端通过摄像头采集当前场景的多个图像帧,然后针对每个图像帧执行如下操作:先生成当前图像帧的特征表达集合,再在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与该当前图像帧的特征表达集合匹配的关键帧,之后根据该关键帧的自定义描述子确定该当前图像帧在该AR离线地图的第一坐标系下的第一位姿,然后根据该第一位姿,以及该当前图像帧在该当前场景的第二坐标系下的第二位姿,计算出该第一坐标系和该第二坐标系之间的相对坐标变换矩阵,最后根据该相对坐标变换矩阵在该当前图像帧中显示每个锚点对应的虚拟物体。移动终端根据自定义描述子确定的当前图像帧在预配置的AR离线地图第一位姿,之后再根据该第一位姿和当前图像帧在所述当前场景的第二坐标系下的第二位姿确定相对坐标变换矩阵,最后根据该相对坐标变换矩阵确定AR离线地图中各锚点在当前图像帧中对应的位置,并在该位置显示对应的虚拟物体,有利于成功进行重定位,在当前图像帧中与预配置的AR离线地图相同的位置显示虚拟物体。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种移动终端的结构示意图;
图2A是本申请实施例提供的一种增强现实AR显示方法的流程示意图;
图2B是本申请实施例提供的一种增强现实AR显示方法中AR离线地图的生成方法的流程示意图;
图3是本申请实施例提供的另一种增强现实AR显示方法的流程示意图;
图4是本申请实施例提供的一种移动终端的结构示意图;
图5是本申请实施例提供的一种增强现实AR显示装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的移动终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(MobileStation,MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为移动终端。
下面,将本申请涉及到的术语进行详细的介绍:
点云:众多的特征点即可构成特征点云,简称点云。特征点是指捕获的摄像头图像中的视觉差异特征点,这些视觉差异点是从图像中明暗、颜色、灰度差异比较大的点中挑选出来的,这些特征点在机器视觉中就可以被解析成特定的位置信息,通过特征点即可以计算其位置变化情况。这些特征点信息与设备惯性测量单元(Inertial measurement unit,IMU)的惯性测量结果结合,可以跟踪到用户(移动终端)随着时间推移而相对于周围世界的姿态。
位姿:相机或一般物体的位置和姿态。
词袋模型:一种在检索中应用的特征表达方式。一段文本,一个图像的特征点可以用一个装有特定词的“袋子”表示。
持久地图:一种描述环境全局信息的地图存储方式。
锚点:AR地图中记录虚拟物体位置的一种方式。
AR应用中的地图通常指的是描述环境的一种信息存储方式。用户可以通过这个地图了解场景中点云的形状,以及点云所对应的空间中物体的颜色,形状等特征。通常会将颜色和形状等特征抽象成描述子进行存储。而为了使用时能够快速检索一片点云,在很多即时定位与地图构建(Simultaneous localization and mapping,SLAM)系统中会存储利用关键帧的检索方式。
目前,通常基于自己定制的SLAM系统,或者建图时可以了解SLAM内部的信息。例如谷歌提供的云锚点功能,使用谷歌自研的SLAM系统,能在空间中的特定位置放置锚点,并能在同一位置进行重定位,但谷歌提供的云锚点功能,不是持久地图,也就是说我们不能在空间中任意位置进行重定位,只能在放置过锚点的特定位置重定位,并且在实际测试中,重定位成功率并不高。或者利用双目相机对相机位姿进行追踪,并进行实时建图,放置虚拟物体。但由于手机端双目相机基线过短,无法进行双目的视觉定位和建图。
谷歌的云锚点功能基于谷歌的ArCore,这是一个能提供点云、相机位姿、平面信息和命中检测等功能的软件开发工具包(Software Development Kit,SDK)。当我们希望进行持久建图,也就是记录整个环境的信息,而不是个别地点的信息时,我们只能获取到每帧的相机位姿和观测到的点云位置,而不能得到描述点云的描述子。通常,在即时定位与地图构建SLAM系统中,点云的描述子是通过找到点云对应的2D特征,用它附近的像素计算出来的。而在ArCore中,我们无法获得这一对应关系。而其他开源即时定位与地图构建SLAM系统,能够获取这些信息,但他们要么需要双目,或者深度相机,要么在单目的相机位姿追踪方面,稳定性和精度不及ArCore。
针对上述问题,本申请实施例提供一种增强现实AR显示方法及相关装置,下面结合附图对本申请实施例进行详细介绍。
如图1所示,移动终端100包括增强现实AR显示模块,在移动终端进行增强现实AR显示时,可以通过该增强现实AR显示模块实现。
请参阅图2A,图2A是本申请实施例提供了一种增强现实AR显示方法的流程示意图,本增强现实AR显示方法应用于移动终端,如图所示,本增强现实AR显示方法包括以下操作。
S201,通过移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:
S202,生成当前图像帧的特征表达集合;
其中,所述特征表达集合例如可以是词袋模型特征。
具体实现中,当前图像的特征表达集合的生成方式采用与预配置的AR离线地图的关键帧的特征表达集合相同的生成方式。
S203,在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;
其中,词袋模型是一种在检索中应用的特征表达方式,一段文本,一个图像的特征点可以用一个装有特定词的“袋子”表示,点云由众多的特征点构成,锚点是AR地图中记录虚拟物体位置的一种方式。
具体实现中,在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与该当前图像帧的特征表达集合匹配的关键帧,可以是移动终端在AR离线地图的所有关键帧中搜索出和当前图像帧的特征表达集合最接近的一个关键帧。
S204,根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿;
其中,所述自定义描述子适配所述当前图像帧的2D特征点。所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态。
其中,所述点云例如可以是ArCore点云,ArCore是一个能提供点云、相机位姿、平面信息和命中检测等功能的SDK。
S205,根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;
S206,根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
具体实现中,步骤S204、S205和S206中,当前图像帧上的2D特征点可以是点云投影到该当前图像帧上的点,移动终端通过当前图像帧的2D特征点和AR离线地图中找到的关键帧的点云进行自定义描述子的匹配,找到满足需要数量的2D特征点和点云的匹配关系之后,可以计算PnP,PnP算法指的是用图像上的2D特征点和空间中的3D点云之间的匹配关系,求解相机位姿的过程。例如这里可以用开源计算机视觉库(Open Source Computer VisionLibrary,openCV)的solvePnPransac(是PnP位姿估计鲁棒算法的一种)计算PnP问题,也就是计算当前图像帧在离线地图坐标系下的位姿,然后可以再用当前图像帧在AR离线地图坐标系下的位姿,和在当前坐标系下的位姿,计算出两个坐标系之间的相对坐标变换。这样就可以将AR离线地图中的锚点,也就是对应的虚拟物体,转换到当前SLAM坐标系下,使得虚拟物体仍在真实场景中的同一个位置上。用户可以通过移动终端在与预配置的离线地图相同的位置,通过移动终端的显示屏看到虚拟物体,进一步的如果有多个用户同时在当前场景使用移动终端进行AR显示,则可以进行多人AR。
可以看出,本申请实施例中,移动终端通过摄像头采集当前场景的多个图像帧,然后针对每个图像帧执行如下操作:先生成当前图像帧的特征表达集合,再在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与该当前图像帧的特征表达集合匹配的关键帧,之后根据该关键帧的自定义描述子确定该当前图像帧在该AR离线地图的第一坐标系下的第一位姿,然后根据该第一位姿,以及该当前图像帧在该当前场景的第二坐标系下的第二位姿,计算出该第一坐标系和该第二坐标系之间的相对坐标变换矩阵,最后根据该相对坐标变换矩阵在该当前图像帧中显示每个锚点对应的虚拟物体。移动终端根据自定义描述子确定的当前图像帧在预配置的AR离线地图第一位姿,之后再根据该第一位姿和当前图像帧在所述当前场景的第二坐标系下的第二位姿确定相对坐标变换矩阵,最后根据该相对坐标变换矩阵确定AR离线地图中各锚点在当前图像帧中对应的位置,并在该位置显示对应的虚拟物体,有利于成功进行重定位,在当前图像帧中与预配置的AR离线地图相同的位置显示虚拟物体。
在一个可能的示例中,所述生成当前图像帧的特征表达集合,包括:提取所述当前图像帧的高斯差特征点;根据所述当前图像帧的高斯差特征点确定所述当前图像帧的描述子;根据所述描述子生成所述当前图像帧的特征表达集合。
其中,所述描述子例如可以是ArCore描述子。
具体实现中,确定当前图像帧的描述子的方式与预配置的AR离线地图确定描述子的方式相同,移动终端可以先提取图像的高斯差特征点,再确定用以描述局部特征即点云的描述子,之后再根据描述子生成描述整个当前图像帧的特征表达集合。
可见,本示例中,先提取当前图像帧的高斯差特征点,再通过该高斯差特征点确定该当前图像帧的描述子,最后根据该描述子生成该当前图像帧的特征表达集合,通过描述子描述对应的特征,有利于提高后续通过该特征表达集合进行匹配时匹配结果的准确性。
在一个可能的示例中,所述根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体,包括:将所述离线地图中的所述每个锚点转换到所述当前场景的第二坐标系下,以使得所述每个锚点对应的虚拟物体在所述当前场景的位置与在所述离线地图对应的场景中的位置相同;通过屏幕在所述当前图像帧中显示坐标变换后的所述每个锚点对应的虚拟物体。
具体实现中,移动终端根据AR离线地图中的第一坐标系和当前场景的第二坐标系的相对变换矩阵,可以将AR离线地图中即第一坐标系下的每个锚点转换到当前场景的第二坐标系下对应的位置,之后就可以通过屏幕在当前图像帧中显示转换到当前场景的第二坐标系下的每个锚点对应的虚拟物体。
可见,本示例中,先通过将离线地图中的每个锚点转换到当前场景的第二坐标系下,之后再通过屏幕在当前图像帧中显示坐标变换后的该每个锚点对应的虚拟物体,由于将记录虚拟物体位置的锚点经过坐标转换对应到当前场景的坐标系下,之后再根据坐标转换后的锚点显示对应的虚拟物体,有利于提高显示虚拟物体的位置的准确度。
在一个可能的示例中,所述通过所述移动终端的摄像头采集当前场景的多个图像帧之前,所述方法还包括:下载所述AR离线地图;针对所述AR离线地图进行反序列化,得到所述当前场景的所述多个点云帧的特征表达集合。
其中,序列化是将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其当前状态写入到临时或持久性存储区。序列化是指把对象转换为字节序列的过程,而反序列化是指把字节序列恢复为对象的过程。
具体实现中,由于AR地图建图完成之后,会对关键帧序列进行序列化,转换成二进制的文件,然后上传至云端,所以移动终端可以从云端下载AR离线地图,然后针对该AR离线地图进行反序列化,得到该AR离线地图中该当前场景的多个点云帧的特征表达集合。
可见,本示例中,移动终端先下载AR离线地图,之后再针对该离线地图进行反序列化,从而得到当前场景的多个点云帧的特征表达集合,通过序列化和反序列的方式可以实现远程通信,通过网络传送对象的字节序列,便于地图的网络传输和下载使用。
在一个可能的示例中,请参阅图2B,图2B是本申请实施例提供的一种增强现实AR显示方法中AR离线地图的生成方法的流程示意图,所述AR离线地图通过以下操作生成:
S2A01,通过所述移动终端的摄像头扫描所述当前场景,调用增强现实应用确定所述当前场景的多个点云帧和每个点云帧的相机位姿;
其中,所述增强现实应用例如可以是ArCore应用。
其中,ArCore本身是有关键帧即点云帧判定的,在SLAM中,通常需要判定关键帧。关键帧主要用来生成和维护点云,各关键帧之间需要一定的视差,但视差不能过大,根据从ArCore获取的点云的时间戳的变化,来判断是否插入了关键帧,在地图中,也只保存关键帧数据。通过移动终端的摄像头扫描当前场景的目的就是获取多个点云帧。
具体实现中,移动终端并不会获取ArCore输出的所有的点云。ArCore的点云有置信度这一个参数,用来描述点云的位置是否稳定,当点云刚刚生成出来时,由于尚未被优化过很多次,在空间中的位置尚不稳定,所以通常置信度较低,可以对点云进行筛选,例如可以选取置信度大于0.1的点云,输出到后续的操作中。
S2A02,确定采样时间距离当前图像帧的采样时间最近的至少一个点云帧,根据所述至少一个点云帧的相机位姿确定所述至少一个点云帧的点云特征点投影到所述当前图像帧的2D特征点;
具体实现中,考虑到直接从ArCore获得的点云,通常不是这一帧能看到的全部点云,一般只有一小部分。所以这里可以维护一个点云帧的滑动窗口,保存最近几帧的点云,例如可以保存最近三帧的点云。需要说明的是,这里的三帧只是一个示例,三只是一个参数,具体实现中可以根据需要保存其他数量的帧的点云。获取最近三帧的点云后,可以将点云投影到当前帧的图像上,获取点云的特征点的2D位置,即2D特征点的位置。
S2A03,提取所述当前图像帧的高斯差特征点;
为了确定描述点云的描述子,来描述点云的特征,需要图像、和点云对应的2D特征的位置,而ArCore并不提供这一对应关系,故本申请实施例仅使用ArCore提供的点云和相机位姿,然后移动终端自己提取2D特征,并与3D点云关联,再确定描述子。可以将2D特征和距离该2D特征最近的点云投影关联起来,即将移动终端自己提取的2D特征和点云特征点投影到所述当前图像帧的2D特征点关联起来。
具体实现中,这里移动终端自己提取2D特征即移动终端提取当前图像帧的高斯差特征点,可以使用opencv中的做法,例如,移动终端先根据输入的图像,建立不同缩放比例下的图像金字塔。这是为了在不同尺度下提取特征,从而保证不同尺度下的特征能够匹配。然后可以在图像金字塔的每一层中,将图像进行六次标准差不同的高斯模糊操作。每次的高斯模糊的输入都是上一次的高斯模糊的输出。然后将每两张相邻的图像相减,这样就得到五张差值图像。
再对每层金字塔中的五张差值图象中的第2、3、4张图像中的每个像素进行极值判定。判定方法为:如果这个像素的值为正,且在这张图像和相邻两张差值图像的3个3x3邻域,一共27个像素点中是最大,或者这个像素为负值,在这27个像素点中最小,则判定为极值。这样处理完三张差值图像后,将它们的极值点汇总,就得到了图像金字塔中某一层图像的高斯差特征点。
S2A04,建立所述点云特征点的2D特征点与所述高斯差特征点中距离所述2D特征点最近的高斯差特征点的关联关系;
具体实现中,在建立点云特征点的2D特征点与高斯差特征点的关联关系的时候,为了提高搜索速度,可以将高斯差特征点分配到和图像大小一样的网格中,例如图像分辨率为640x480,那么可以取一个同样大小的网格,将高斯差特征点根据它们在图像中的位置,分配到网格中,接着可以计算每个点云特征点投影在网格中的位置,这样就可以直接索引到每个点云投影特征点即每个点云特征点的2D特征点周围的高斯差特征点,相比于一一比较每个投影特征点和高斯差特征点的位置,时间复杂度从O(n2)降到了O(n)。另外,这里只考虑一对一的对应关系,即对于已经和某一个点云关联上的高斯差特征点,则不再将其他点云和它关联。
S2A05,根据所述关联关系确定所述点云特征点在所述当前图像帧中的自定义描述子;
具体实现中,用步骤S2A04中得到的关键帧的2D特征点即与点云投影关联到的高斯差特征点,以及当前图像帧,根据步骤S2A04中建立的关联关系计算每个投影特征点对应的3D点云特征点在该当前图像帧中的自定义描述子,这里在提取到了点云对应的高斯差特征点之后,可以提取多种描述子,例如BRIEF,ORB,FREAK等。
S2A06,根据所述自定义描述子生成所述当前图像帧的特征表达集合;
具体实现中,通过上述步骤提取完局部特征即个点云特征点对应的自定义描述子之后,就可以根据生成的该自定义描述子生成当前图像帧的特征表达集合。
S2A07,按照上述步骤确定多个图像帧的多个特征表达集合;
S2A08,根据所述多个特征表达集合生成参考AR离线地图;
S2A09,在所述参考AR离线地图中添加所述至少一个锚点以生成所述AR离线地图。
具体实现中,步骤S2A07、S2A08、S2A09中,通过S2A07之前的步骤可以确定多个图像帧分别对应的多个特征表达集合,再根据该多个特征表达集合生成参考AR离线地图,最后可以在参考AR离线地图中添加至少一个锚点,生成供使用的AR离线地图。各锚点和不同的虚拟物体一一对应,放置锚点即向地图中放置虚拟物体,例如对商场建立参考图完成之后,可以放置一些虚拟广告牌,最后生成离线地图,然后对关键帧序列进行序列化,转换成二进制文件并上传至云端,之后用户可以通过移动终端直接从云端上下载该离线地图。
可见,本示例中,移动终端将ArCore的点云反投影回图像,并在图像上提取高斯差特征点,再将高斯差特征点和距离它最近的点云投影点相关联,这样可以在图像的上提取自定义描述子,再根据描述子建立地图,可以在ArCore的基础上生成持久地图,后续能够根据自定义的描述子进行重定位,有利于后续下载使用该离线地图时成功进行重定位。
在一个可能的示例中,所述提取所述当前图像帧的高斯差特征点,包括:使用并行加速机制提取所述当前图像帧的高斯差特征点;或者,使用三次均值滤波或者高斯滤波提取所述当前图像帧的高斯差特征点;或者,在所述当前图像帧的图像金字塔的每一层提取2D角点,处理得到所述当前图像帧的高斯差特征点。
其中,可以使用OpenMP并行加速机制提取所述当前图像帧的高斯差特征点。
具体实现中,考虑到图像帧中的高斯差特征点的耗时的问题,在提取高斯差特征点的时候,可以针对提取的耗时进行优化,例如使用OpenMP并行加速机制提取该当前图像帧的高斯差特征点,或使用三次均值滤波或者高斯滤波提取该当前图像帧的高斯差特征点,或者还可以使用速度更快的特征提取方式,例如用FAST在该当前图像帧的图像金字塔的每一层提取2D角点,再和点云投影进行关联,处理得到该当前图像帧的高斯差特征点。
可见,本示例中,移动终端提取所述当前图像帧的高斯差特征点可以选择采用以下任意一种方式:使用并行加速机制提取所述当前图像帧的高斯差特征点、使用三次均值滤波或者高斯滤波提取所述当前图像帧的高斯差特征点、在所述当前图像帧的图像金字塔的每一层提取2D角点,处理得到所述当前图像帧的高斯差特征点,有利于减少图像帧中的高斯差特征点提取的耗时。
与上述图2A所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种增强现实AR显示方法的流程示意图,如图所示,本增强现实AR显示方法包括以下步骤。
S301,通过移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:
S302,提取当前图像帧的高斯差特征点;
S303,根据所述当前图像帧的高斯差特征点确定所述当前图像帧的描述子;
S304,根据所述描述子生成所述当前图像帧的特征表达集合;
S305,在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;
S306,根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿;
其中,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态。
S307,根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;
S308,根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
可以看出,本申请实施例中,根据提取到的当前图像的高斯差特征点确定当前图像帧的描述子,之后再根据该描述子生成该当前图像帧的特征表达集合,然后再根据该当前图像帧的特征表达集合在预配置的AR离线地图中的多个点云帧中搜索特征表达集合匹配的关键帧,之后根据该关键帧的适配当前图像的2D特征点的自定义描述子确定当前图像帧在AR离线地图的第一坐标系下的第一位姿,之后再根据第一位姿和第二位姿,确定相对坐标变换矩阵,进而根据相对坐标变换矩阵在移动终端采集的当前场景的当前图像帧中与AR离线地图相同的位置显示虚拟物体,通过提取当前图像帧中的高斯差特征点确定当前图像帧的描述子,进而确定当前图像帧的特征表达集合,再与离线地图中的点云帧进行匹配确定关键帧,最后在基于自定义的描述子确定离线地图和当前场景中坐标系的关联,进而最终完成重定位,在当前图像帧中与预配置的AR离线地图相同的位置显示虚拟物体,有利于成功进行重定位。
与上述图2A、图3所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种移动终端400的结构示意图,如图所示,所述移动终端400包括应用处理器410、存储器420、通信接口430以及一个或多个程序421,其中,所述一个或多个程序421被存储在上述存储器420中,并且被配置由上述应用处理器410执行,所述一个或多个程序421包括用于执行上述方法实施例中任一步骤的指令。
在一个可能的示例中,所述一个或多个程序421包括用于执行以下步骤的指令:通过所述移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:生成当前图像帧的特征表达集合;在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态;根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
在一个可能的示例中,在所述生成当前图像帧的特征表达集合方面,所述程序421中的指令具体用于执行以下操作:提取所述当前图像帧的高斯差特征点;根据所述当前图像帧的高斯差特征点确定所述当前图像帧的描述子;根据所述描述子生成所述当前图像帧的特征表达集合。
在一个可能的示例中,在所述根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体方面,所述程序421中的指令具体用于执行以下操作:将所述离线地图中的所述每个锚点转换到所述当前场景的第二坐标系下,以使得所述每个锚点对应的虚拟物体在所述当前场景的位置与在所述离线地图对应的场景中的位置相同;通过屏幕在所述当前图像帧中显示坐标变换后的所述每个锚点对应的虚拟物体。
在一个可能的示例中,在所述通过所述移动终端的摄像头采集当前场景的多个图像帧之前,所述程序421还包括用于执行以下操作的指令:下载所述AR离线地图;针对所述AR离线地图进行反序列化,得到所述当前场景的所述多个点云帧的特征表达集合。
在一个可能的示例中,在所述AR离线地图的生成方面,所述程序421中的指令具体用于执行以下操作:通过所述移动终端的摄像头扫描所述当前场景,调用增强现实应用确定所述当前场景的多个点云帧和每个点云帧的相机位姿;确定采样时间距离当前图像帧的采样时间最近的至少一个点云帧,根据所述至少一个点云帧的相机位姿确定所述至少一个点云帧的点云特征点投影到所述当前图像帧的2D特征点;提取所述当前图像帧的高斯差特征点;建立所述点云特征点的2D特征点与所述高斯差特征点中距离所述2D特征点最近的高斯差特征点的关联关系;根据所述关联关系确定所述点云特征点在所述当前图像帧中的自定义描述子;根据所述自定义描述子生成所述当前图像帧的特征表达集合;按照上述步骤确定多个图像帧的多个特征表达集合;根据所述多个特征表达集合生成参考AR离线地图;在所述参考AR离线地图中添加所述至少一个锚点以生成所述AR离线地图。
在一个可能的示例中,在所述提取所述当前图像帧的高斯差特征点方面,所述程序421中的指令具体用于执行以下操作:使用并行加速机制提取所述当前图像帧的高斯差特征点;或者,使用三次均值滤波或者高斯滤波提取所述当前图像帧的高斯差特征点;或者,在所述当前图像帧的图像金字塔的每一层提取2D角点,处理得到所述当前图像帧的高斯差特征点。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,移动终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对移动终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图5是本申请实施例中所涉及的增强现实AR显示装置500的功能单元组成框图。该增强现实AR显示装置500应用于移动终端,所述增强现实AR显示装置包括处理单元501和通信单元502,其中,所述处理单元501,用于执行如上述方法实施例中的任一步骤,且在执行诸如发送等数据传输时,可选择的调用所述通信单元502来完成相应操作。下面进行详细说明。
所述处理单元501用于,通过所述移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:生成当前图像帧的特征表达集合;在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态;根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
在一个可能的示例中,在所述生成当前图像帧的特征表达集合方面,所述处理单元501具体用于,提取所述当前图像帧的高斯差特征点;根据所述当前图像帧的高斯差特征点确定所述当前图像帧的描述子;根据所述描述子生成所述当前图像帧的特征表达集合。
在一个可能的示例中,在所述根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体方面,所述处理单元501具体用于,将所述离线地图中的所述每个锚点转换到所述当前场景的第二坐标系下,以使得所述每个锚点对应的虚拟物体在所述当前场景的位置与在所述离线地图对应的场景中的位置相同;通过屏幕在所述当前图像帧中显示坐标变换后的所述每个锚点对应的虚拟物体。
在一个可能的示例中,在所述通过所述移动终端的摄像头采集当前场景的多个图像帧之前,所述处理单元501还用于,下载所述AR离线地图;针对所述AR离线地图进行反序列化,得到所述当前场景的所述多个点云帧的特征表达集合。
在一个可能的示例中,在所述AR离线地图的生成方面,所述处理单元501具体用于,通过所述移动终端的摄像头扫描所述当前场景,调用增强现实应用确定所述当前场景的多个点云帧和每个点云帧的相机位姿;确定采样时间距离当前图像帧的采样时间最近的至少一个点云帧,根据所述至少一个点云帧的相机位姿确定所述至少一个点云帧的点云特征点投影到所述当前图像帧的2D特征点;提取所述当前图像帧的高斯差特征点;建立所述点云特征点的2D特征点与所述高斯差特征点中距离所述2D特征点最近的高斯差特征点的关联关系;根据所述关联关系确定所述点云特征点在所述当前图像帧中的自定义描述子;根据所述自定义描述子生成所述当前图像帧的特征表达集合;按照上述步骤确定多个图像帧的多个特征表达集合;根据所述多个特征表达集合生成参考AR离线地图;在所述参考AR离线地图中添加所述至少一个锚点以生成所述AR离线地图。
在一个可能的示例中,在所述提取所述当前图像帧的高斯差特征点方面,所述处理单元501具体用于,使用并行加速机制提取所述当前图像帧的高斯差特征点;或者,使用三次均值滤波或者高斯滤波提取所述当前图像帧的高斯差特征点;或者,在所述当前图像帧的图像金字塔的每一层提取2D角点,处理得到所述当前图像帧的高斯差特征点。
其中,所述增强现实AR显示装置500还可以包括存储单元503,用于存储移动终端的程序代码和数据。所述处理单元501可以是处理器,所述通信单元502可以是触控显示屏或者收发器,存储单元503可以是存储器。
可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括移动终端。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种增强现实AR显示方法,其特征在于,应用于移动终端,所述方法包括:
通过所述移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:
生成当前图像帧的特征表达集合;
在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;
根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态;
根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;
根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
2.根据权利要求1所述的方法,其特征在于,所述生成当前图像帧的特征表达集合,包括:
提取所述当前图像帧的高斯差特征点;
根据所述当前图像帧的高斯差特征点确定所述当前图像帧的描述子;
根据所述描述子生成所述当前图像帧的特征表达集合。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体,包括:
将所述离线地图中的所述每个锚点转换到所述当前场景的第二坐标系下,以使得所述每个锚点对应的虚拟物体在所述当前场景的位置与在所述离线地图对应的场景中的位置相同;
通过屏幕在所述当前图像帧中显示坐标变换后的所述每个锚点对应的虚拟物体。
4.根据权利要求1或2所述的方法,其特征在于,所述通过所述移动终端的摄像头采集当前场景的多个图像帧之前,所述方法还包括:
下载所述AR离线地图;
针对所述AR离线地图进行反序列化,得到所述当前场景的所述多个点云帧的特征表达集合。
5.根据权利要求4所述的方法,其特征在于,所述AR离线地图通过以下操作生成:
通过所述移动终端的摄像头扫描所述当前场景,调用增强现实应用确定所述当前场景的多个点云帧和每个点云帧的相机位姿;
确定采样时间距离当前图像帧的采样时间最近的至少一个点云帧,根据所述至少一个点云帧的相机位姿确定所述至少一个点云帧的点云特征点投影到所述当前图像帧的2D特征点;
提取所述当前图像帧的高斯差特征点;
建立所述点云特征点的2D特征点与所述高斯差特征点中距离所述2D特征点最近的高斯差特征点的关联关系;
根据所述关联关系确定所述点云特征点在所述当前图像帧中的自定义描述子;
根据所述自定义描述子生成所述当前图像帧的特征表达集合;
按照上述步骤确定多个图像帧的多个特征表达集合;
根据所述多个特征表达集合生成参考AR离线地图;
在所述参考AR离线地图中添加所述至少一个锚点以生成所述AR离线地图。
6.根据权利要求2或5所述的方法,其特征在于,所述提取所述当前图像帧的高斯差特征点,包括:
使用并行加速机制提取所述当前图像帧的高斯差特征点;或者,
使用三次均值滤波或者高斯滤波提取所述当前图像帧的高斯差特征点;或者,
在所述当前图像帧的图像金字塔的每一层提取2D角点,处理得到所述当前图像帧的高斯差特征点。
7.一种增强现实AR显示装置,其特征在于,应用于移动终端,所述装置包括处理单元和通信单元,其中,
所述处理单元,用于通过所述移动终端的摄像头采集当前场景的多个图像帧;针对每个图像帧执行如下操作:
生成当前图像帧的特征表达集合;
在预配置的AR离线地图中的多个点云帧中搜索特征表达集合与所述当前图像帧的特征表达集合匹配的关键帧,所述AR离线地图包括所述当前场景的多个点云帧的特征表达集合,所述多个点云帧中包括至少一个锚点,每个锚点对应一个虚拟物体;
根据所述关键帧的自定义描述子确定所述当前图像帧在所述AR离线地图的第一坐标系下的第一位姿,所述自定义描述子是根据图像帧的高斯差特征点和距离所述高斯差特征点最近的2D特征点生成的,所述2D特征点是点云在所述图像帧上的特征点,位姿用于描述所述摄像头的位置和姿态;
根据所述第一位姿,以及所述当前图像帧在所述当前场景的第二坐标系下的第二位姿,计算出所述第一坐标系和所述第二坐标系之间的相对坐标变换矩阵;
根据所述相对坐标变换矩阵在所述当前图像帧中显示所述每个锚点对应的虚拟物体。
8.一种移动终端,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
9.一种芯片,其特征在于,处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6任一项所述的方法。
CN202010087613.9A 2020-02-11 2020-02-11 增强现实ar显示方法及相关装置 Active CN111311756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010087613.9A CN111311756B (zh) 2020-02-11 2020-02-11 增强现实ar显示方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010087613.9A CN111311756B (zh) 2020-02-11 2020-02-11 增强现实ar显示方法及相关装置

Publications (2)

Publication Number Publication Date
CN111311756A CN111311756A (zh) 2020-06-19
CN111311756B true CN111311756B (zh) 2023-04-11

Family

ID=71147026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010087613.9A Active CN111311756B (zh) 2020-02-11 2020-02-11 增强现实ar显示方法及相关装置

Country Status (1)

Country Link
CN (1) CN111311756B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861871A (zh) * 2020-07-17 2020-10-30 浙江商汤科技开发有限公司 一种图像匹配方法及装置、电子设备和存储介质
CN112037314A (zh) * 2020-08-31 2020-12-04 北京市商汤科技开发有限公司 图像显示方法、装置、显示设备及计算机可读存储介质
CN112509153B (zh) * 2020-12-22 2023-11-10 上海影谱科技有限公司 基于移动设备定位的ar模型显示处理方法及装置
CN112817026A (zh) * 2021-01-29 2021-05-18 西人马帝言(北京)科技有限公司 运动对象的位姿确定方法、装置、设备及存储介质
CN113484889A (zh) * 2021-07-07 2021-10-08 中国人民解放军国防科技大学 基于移动终端的增强现实和卫星定位的沉浸式导航系统
WO2023070441A1 (zh) * 2021-10-28 2023-05-04 深圳市大疆创新科技有限公司 可移动平台的定位方法和装置
CN115619837B (zh) * 2022-12-20 2023-04-14 中科航迈数控软件(深圳)有限公司 一种ar图像生成方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457414A (zh) * 2019-07-30 2019-11-15 Oppo广东移动通信有限公司 离线地图处理、虚拟对象显示方法、装置、介质和设备
CN110648397A (zh) * 2019-09-18 2020-01-03 Oppo广东移动通信有限公司 场景地图生成方法、装置、存储介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111795704B (zh) * 2020-06-30 2022-06-03 杭州海康机器人技术有限公司 一种视觉点云地图的构建方法、装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457414A (zh) * 2019-07-30 2019-11-15 Oppo广东移动通信有限公司 离线地图处理、虚拟对象显示方法、装置、介质和设备
CN110648397A (zh) * 2019-09-18 2020-01-03 Oppo广东移动通信有限公司 场景地图生成方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN111311756A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111311756B (zh) 增强现实ar显示方法及相关装置
WO2019184889A1 (zh) 增强现实模型的调整方法、装置、存储介质和电子设备
CN106846497B (zh) 应用于终端的呈现三维地图的方法和装置
CN112070906A (zh) 一种增强现实系统及增强现实数据的生成方法、装置
CN113038264B (zh) 直播视频处理方法、装置、设备和存储介质
CN108765270B (zh) 一种虚拟三维空间标签绑定方法及装置
WO2019196745A1 (zh) 人脸建模方法及相关产品
CN107084740B (zh) 一种导航方法和装置
US11798181B2 (en) Method and system for location detection of photographs using topographic techniques
TWI783472B (zh) Ar場景內容的生成方法、展示方法、電子設備及電腦可讀儲存介質
CN109754464B (zh) 用于生成信息的方法和装置
CN112308977B (zh) 视频处理方法、视频处理装置和存储介质
CN111696215A (zh) 一种图像处理方法、装置及设备
CN113256781A (zh) 虚拟场景的渲染和装置、存储介质及电子设备
CN114531553B (zh) 生成特效视频的方法、装置、电子设备及存储介质
CN112181141A (zh) Ar定位的方法、装置、电子设备及存储介质
EP3961571A1 (en) Virtual paintbrush implementing method and apparatus, and computer readable storage medium
CN113178017A (zh) Ar数据展示方法、装置、电子设备及存储介质
CN109816791B (zh) 用于生成信息的方法和装置
CN112070901A (zh) 一种园林的ar场景构建方法、装置、存储介质及终端
CN114862997A (zh) 图像渲染方法和装置、介质和计算机设备
CN114049403A (zh) 一种多角度三维人脸重建方法、装置及存储介质
CN114900621A (zh) 特效视频确定方法、装置、电子设备及存储介质
CN114494659A (zh) 一种图像显示方法、装置、ar头戴设备及存储介质
CN113436332A (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
GR01 Patent grant
GR01 Patent grant