CN113298692B - 基于移动端浏览器实现实时设备位姿解算的增强现实方法 - Google Patents
基于移动端浏览器实现实时设备位姿解算的增强现实方法 Download PDFInfo
- Publication number
- CN113298692B CN113298692B CN202110555745.4A CN202110555745A CN113298692B CN 113298692 B CN113298692 B CN 113298692B CN 202110555745 A CN202110555745 A CN 202110555745A CN 113298692 B CN113298692 B CN 113298692B
- Authority
- CN
- China
- Prior art keywords
- web
- browser
- mobile terminal
- pose
- main thread
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 22
- 238000004364 calculation method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000033001 locomotion Effects 0.000 claims description 23
- 238000005457 optimization Methods 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 230000000007 visual effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种基于移动端浏览器实现实时设备位姿解算的增强现实方法。其方法应用于终端设备,包括:浏览器主线程调用所述移动终端的视觉传感器按照第一预定频率采集图像数据;将采集到的图像数据转换为灰度图;调用web worker实时构建每帧灰度图的图像金字塔;对于每帧灰度图,web worker利用web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,web GPU或web GL模块用于调用GPU进行并行数据处理;在位姿跟踪初始化阶段,浏览器主线程利用当前实时处理结果进行位姿跟踪初始化,输出初始化结果;位姿跟踪初始化完成后,利用当前实时处理结果确定当前位姿,输出当前位姿数据。
Description
技术领域
本申请实施例涉及位姿跟踪技术领域,尤其涉及一种基于移动端浏览器实现实时设备位姿解算的增强现实方法。
背景技术
增强现实(Augmented Reality,AR)技术是一种将虚拟信息与真实世界融合展示的技术,其广泛运用了人工智能、三维建模、实时跟踪注册、虚实融合、智能交互、传感计算等多种技术手段,将计算机生成的文字、图像、三维模型、音频、视频、动画等虚拟信息模拟仿真后,应用到真实世界的展示中。增强现实技术同时考虑了真实世界与虚拟信息的相互关系,虚实信息互为补充,从而实现对真实世界的增强。
实时跟踪移动终端6DoF(6Degree of Freedom,6自由度)位姿是包括无标记(Markerless)增强现实技术(Augmented Reality,AR)在内的诸多技术的核心基础。
当前在移动终端实现位姿跟踪的过程如下:通过移动终端的摄像头采集场景图像、通过IMU(Inertial Measurement Unit,惯性测量单元)采集IMU数据(包括移动终端的直线加速度和角加速度),融合场景图像的数据和IMU数据解算出移动终端的6DoF位姿,建立世界坐标系,实现移动终端的运动跟踪,渲染虚拟元素到世界坐标系中,通过将渲染虚拟元素的摄像机与移动终端的摄像头对齐即可实现虚拟融合的增强现实功能。
其中,实现设备位姿跟踪的过程也称为SLAM(Simultaneous Localization AndMapping,即时定位与建图)。由于SLAM算法对计算资源要求严格,现有移动终端位姿跟踪实现方案均为APP(Application,应用程序)方式,图像与IMU数据采集、前端里程计的实现和优化计算等操作均在移动终端本地完成,未安装APP的用户无法使用基于SLAM算法的相关功能(如AR功能),极大限制了相关功能的适用范围和分享传播。
目前常见的浏览器有标记(Marker)增强现实实现方案是采用图像作为识别物的识别方案,即使用类二维码的黑边图作为识别Marker或者经过训练的自然图像。这种方案虽然能在移动浏览器端以较高帧率实时运行,但由于需要事先制作跟踪图像,因此不易于推广,也无法实现6DoF设备位姿跟踪。
发明内容
本申请实施例提供一种基于移动端浏览器实现实时设备位姿解算的增强现实方法,以达到终端用户通过web浏览器实现位姿跟踪及AR渲染的目的。
本申请实施例提供一种基于移动端浏览器实现实时设备位姿解算的增强现实方法,包括:
运行在所述移动终端CPU上的浏览器主线程调用所述移动终端的视觉传感器按照第一预定频率采集图像数据;
所述浏览器主线程将采集到的图像数据转换为灰度图;
所述浏览器主线程调用运行在所述移动终端CPU上的web worker实时构建每帧灰度图的图像金字塔;
对于每帧灰度图,所述web worker利用运行在所述移动终端CPU上的web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,所述web GPU或web GL模块用于调用所述移动终端的GPU进行并行数据处理;
在位姿跟踪初始化阶段,所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化,输出初始化结果;
位姿跟踪初始化完成后,所述浏览器主线程利用当前实时处理结果确定所述移动终端的当前位姿,输出当前位姿数据。
本申请实施例提供的方法不依赖预装的服务组件/插件、也不依赖云端服务器实现设备6DoF位姿跟踪,从而可以实现基于浏览器的无标记增强现实功能。为了提高处理速度,降低CPU压力,本申请实施例提供的方法通过web worker利用GPU进行并行加速,既不影响浏览器正常工作,又提高了处理速度。
附图说明
图1为本申请一个实施例提供的基于移动端浏览器实现实时设备位姿解算的增强现实方法流程图;
图2为本申请另一个实施例提供的基于移动端浏览器实现实时设备位姿解算的增强现实方法流程图;
图3为本申请一个实施例提供的移动终端结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本申请实施例提供一种基于移动端浏览器实现实时设备位姿解算的增强现实方法,该方法由安装有浏览器的移动终端实现,如图1所示,该方法包括:
步骤101、运行在所述移动终端CPU上的浏览器主线程调用所述移动终端的视觉传感器按照第一预定频率采集图像数据。
本申请实施例中,视觉传感器可以但不仅限于是摄像头,更进一步的,为单目摄像头。
步骤102、所述浏览器主线程将采集到的图像数据转换为灰度图。
步骤103、所述浏览器主线程调用运行在所述移动终端CPU上的web worker实时构建每帧灰度图的图像金字塔。
步骤104、对于每帧灰度图,所述web worker利用运行在所述移动终端CPU上的webGPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,所述web GPU或web GL模块用于调用所述移动终端的GPU进行并行数据处理。
步骤105、在位姿跟踪初始化阶段,所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化,输出初始化结果。
步骤106、位姿跟踪初始化完成后,所述浏览器主线程利用当前实时处理结果确定所述移动终端的当前位姿,输出当前位姿数据。
本申请实施例提供的方法不依赖预装的服务组件/插件、也不依赖云端服务器实现设备6DoF位姿跟踪,从而可以实现基于浏览器的无标记增强现实功能。为了提高处理速度,降低CPU压力,本申请实施例提供的方法通过web worker利用GPU进行并行加速,既不影响浏览器正常工作,又提高了处理速度。
可选的,所述浏览器主线程调用所述移动终端的运动传感器按照第二预定频率采集运动数据。相应的,所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化,包括:所述浏览器主线程利用当前实时处理结果和指定运动数据进行位姿跟踪初始化,所述指定运动数据包括当前帧灰度图与前一帧灰度图之间采集到的运动数据;所述浏览器主线程利用当前实时处理结果确定所述移动终端的当前位姿,包括:所述浏览器主线程利用当前实时处理结果和指定运动数据确定所述移动终端的当前位姿。
其中,运动传感器可以但不仅限于是IMU传感器,相应的,运动数据为IMU数据。
应当指出的是,为降低计算量,可以不使用运动数据,即只获取一个没有尺度的相机变换矩阵T,通过约束模型使用尺寸,设置渲染相机的位置和投影矩阵匹配虚拟元素渲染。
优选的,所述web worker利用运行在所述移动终端CPU上的web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,包括:
所述浏览器主线程将所述图像金字塔中的每层图像分别发送给一个所述webworker;
每个所述web worker分别初始化一个所述web GPU或web GL模块;
多个所述web GPU或web GL模块并行运行,分别使用GPU对各层图像进行实时处理。
本申请实施例既可以采用光流法进行位姿跟踪,也可以采用特征点法进行位姿跟踪。
若采用特征点法进行位姿跟踪,所述多个所述web GPU或web GL模块并行运行,分别使用GPU对各层图像进行实时处理,包括:多个所述web GPU或web GL模块并行运行,分别使用GPU提取各层图像的ORB特征点提取以及BRIEF描述子;相应的,所述web worker利用运行在所述移动终端CPU上的web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,还包括:所述web worker对ORB特征分布进行均衡化处理。
若采用光流法进行位姿跟踪,则利用GPU计算着色器(Compute Shader)进行计算加速。
优选的,所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化的过程包括:所述浏览器主线程利用当前实时处理结果构建三维点云地图以及关键帧链表,利用所述三维点云地图和所述关键帧链表构建全局本征(Essential Graph)图,利用所述关键帧列表构建全局生成树(Spanning Tree);
位姿跟踪初始化完成后,所述方法还包括:所述浏览器主线程判断是否需要全局优化;若需要全局优化,所述浏览器主线程利用当前全局本征图和当前全局生成树进行全局优化,并利用全局优化结果更新所述三维点云地图、所述关键帧列表和历史位姿,利用更新后的所述三维点云地图和所述关键帧链表更新所述全局本征图,利用更新后的所述关键帧列表更新所述全局生成树。
更进一步的,所述利用全局优化结果更新所述三维点云地图、所述关键帧列表,包括:
利用全局优化结果识别不符合特定约束的噪声点,以及冗余关键帧;
从三维点云地图中删除识别出的噪声点,并从关键帧链表中删除识别出的冗余关键帧。
其中,所述判断是否需要全局优化,包括:
判断距离上一次优化的时间长度是否超过预定时间长度;
和/或,
判断关键帧列表中是否有关键帧删除。
其中,冗余关键帧是指与其他关键帧共视地图点数量大于设定阈值的关键帧。通过维护3D点云地图和关键帧链表,控制内存使用量,提高系统鲁棒性。为了降低计算量,可选的,可通过删除超出共视图范围的3D地图点数据和关键帧数据实现对3D点云地图和关键帧链表的维护。
本申请实施例还提供一种终端的AR渲染方法,应用于移动终端的浏览器,利用上述任意实施例提供的方法进行位姿跟踪;利用位姿跟踪结果调整三维渲染相机位姿,更新虚拟元素渲染效果。
下面结合具体应用场景,对本申请实施例提供的基于移动端浏览器实现实时设备位姿解算的增强现实方法进行详细说明。
在该具体应用场景中,智能手机的浏览器利用GPU实现位姿跟踪,进而实现AR渲染。本实施例中,智能手机浏览器的主线程调用智能手机的摄像头采集图像数据,调用智能手机的IMU传感器采集IMU运动数据。其中,浏览器可以是网页浏览器、微信浏览器、支付宝浏览器、小程序等。其中,图像数据的采集频率是20帧/秒,IMU数据的采集频率是200次/秒。
本实施例中,当采集到第i帧图像数据,相应的位姿跟踪处理过程如图2所示,包括如下操作:
步骤201、浏览器的主线程将第i帧图像数据转换为灰度图,并实时构建第i帧灰度图的图像金字塔。
步骤202、上述主线程将图像金字塔的每层图像分别提交到一个web worker模块。
步骤203、每个web worker模块初始化一个webGPU或webGL模块,各个webGPU或webGL模块使用GPU并行提取每层图像的ORB(Oriented FAST and Rotated BRIEF,方向FAST特征及旋转BRIEF描述子)特征和BRIEF(Binary Robust Independent ElementaryFeatures,二进制鲁棒独立的基本特征)描述子,主线程对ORB特征分布进行均衡化处理防止特征过于密集并提高跟踪稳定性。
步骤204、主线程检查位姿跟踪初始化是否完成,如果未完成,执行步骤205,否则执行步骤209。
步骤205、主线程同时开启两个线程计算第i帧图像数据与第i-1帧图像数据间的基础矩阵F和单应矩阵H,对所有特征点使用F矩阵和H矩阵进行验证,选择效果好的矩阵进行SVD分解(Singular Value Decomposition,奇异值分解),得到旋转矩阵R和平移向量t。
其中,使用Web Worker多线程防止界面阻塞。
步骤206、主线程使用IMU预积分模型结合图像匹配结果恢复尺度因子s。
步骤207、主线程使用三角化方式生成3D点云,建立全局点云地图,建立关键帧链表,进而构建全局本征图和生成树。
步骤208、主线程返回变换矩阵T。
本实施例中,变换矩阵T包括旋转矩阵R、平移向量t和尺度因子s。应当指出的是,若实现方案中不使用运动数据恢复尺度因子,那么,变换矩阵T不包括尺度因子s。
步骤209、主线程分别使用恒速模型和参考帧模型对第i帧位姿进行粗略估计,并按照一定规则维护点云地图与关键帧链表,移除超出共视图(Covisibility Graph)范围的3D点云和关键帧,维护一个全局的本征图和生成树。
步骤210、主线程使用粗略估计的位姿和IMU预积分对共视图进行局部优化,调整变换矩阵T和尺度因子s;
步骤211、主线程检查是否需要全局优化,如果暂时不需要全局优化,执行步骤208,否则,执行步骤212。
步骤212、利用本征图和生成树进行全局优化,同时调整相机位姿和3D点云。
本申请实施例提供的方法至少具备如下技术效果:
本发明直接在移动端Web浏览器中实现设备的运动跟踪,规避了需要下载安装APP的问题,利用浏览器的普适标准性大大拓展增强现实适用范围,也可以通过链接分享简化AR体验共享。基于Web浏览器的设备运动跟踪,由于不依赖特定的组件/插件,因此可以跨安卓、iOS、鸿蒙系统使用,可以应用到Web网页、微信、小程序、支付宝等以浏览器为基础的增强现实应用中。
本发明运动跟踪完全实现于Web浏览器,不需要云端服务器或者第三方边缘计算设备支持,无需对外发送图像和IMU数据,因此,当计算包体加载完成后对网络连接没有要求,可以离线运行。
本发明采用GPU对计算密集的特征点提取、描述子计算进行并行加速,降低了CPU的压力,并使用Web Worker进行多线程处理,防止界面阻塞。
本发明为实现运动跟踪的实时性和控制内存使用量,只维护一个外点非常少的3D点云地图和一个严格控制大小的关键帧链表,及时移除超出局部范围的3D点云和关键帧,但会维护一个全局的本征图和生成树,通过它们进行全局优化,降低累积漂移。
本发明舍弃回环检测和全局BA(Bundle Adjustment,集束调优),只保留与当前帧有共视关系的3D点云和关键帧链表,减低内存消耗,简化位姿求解,降低计算量,加速解算过程,并采用本征图和生成树进行全局优化提高跟踪精度。
基于与方法同样的发明构思,本申请实施例提供一种移动终端,包括处理器和存储器;
存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。处理器可以是包括中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。
本申请实施例提供的移动终端,如图3所示,移动终端不仅包括处理器和存储器,还包括输入设备(例如触摸屏、摄像头、传声器等)、输出设备(例如显示屏、扬声器等)、通信模块、电源模块。
其中,存储器、输入设备、输出设备、通信模块、电源模块通过串口、总线或USB接口与处理器连接。其中,对于单处理器移动终端,处理器即CPU(中央处理器);对于双处理器移动终端,处理器包括主处理器和从处理器,由其主处理器执行应用程序实现本发明实施例提供的方法,若其中需要与外界进行通信,则由从处理器控制通信模块配合实现;对于包含GPU(图形处理器)和CPU的移动终端,处理器是指GPU和CPU,由GPU和CPU配合或由CPU单独实现本申请实施例提供的方法。
其中,移动终端的存储器可以但不仅限于包括:Flash(闪存)存储器、RAM(随机存取存储器)、ROM(只读存储器)等。RAM主要用于存储移动终端运行时的程序和数据,需要执行的程序或者需要处理的数据都必须先装入RAM内。ROM主要用于检查移动终端操作系统的配置情况,并提供最基本的输入输出(I/O)程序。Flash存储器是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)存储器,数据删除不是以单个的字节为单位,而是以固定的区块为单位。由于Flash存储器断电时仍能保存数据,它通常被用来保存设置信息,如用户对手机的设置信息等。
应当指出的是,针对不同的移动终端(单处理器智能手机、双处理器智能手机、智能穿戴设备、平板电脑等等),其可能包括比图3所示的移动终端更多或更少的硬件结构,但只要包括存储器和处理器,且能够实现上述方法实施例的功能,均在本公开的保护范围内。
上述各实施例中的移动终端包括智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备等等。
基于与方法同样的发明构思,本申请实施例还提供一种计算机可读存储介质,存储有执行上述各个实施例所述方法的程序。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (6)
1.一种基于移动端浏览器实现实时设备位姿解算的增强现实方法,其特征在于,包括:
运行在移动终端CPU上的浏览器主线程调用所述移动终端的视觉传感器按照第一预定频率采集图像数据;
所述浏览器主线程将采集到的图像数据转换为灰度图;
所述浏览器主线程调用运行在所述移动终端CPU上的web worker实时构建每帧灰度图的图像金字塔;
对于每帧灰度图,所述web worker利用运行在所述移动终端CPU上的web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,所述web GPU或web GL模块用于调用所述移动终端的GPU进行并行数据处理;
在位姿跟踪初始化阶段,所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化,输出初始化结果;
位姿跟踪初始化完成后,所述浏览器主线程利用当前实时处理结果确定所述移动终端的当前位姿,输出当前位姿数据;
所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化的过程包括:所述浏览器主线程利用当前实时处理结果构建三维点云地图以及关键帧链表,利用所述三维点云地图和所述关键帧链表构建全局本征图,利用所述关键帧链表构建全局生成树;
位姿跟踪初始化完成后,所述方法还包括:所述浏览器主线程判断是否需要全局优化;若需要全局优化,所述浏览器主线程利用当前全局本征图和当前全局生成树进行全局优化,并利用全局优化结果更新所述三维点云地图、所述关键帧链表和历史位姿,利用更新后的所述三维点云地图和所述关键帧链表更新所述全局本征图,利用更新后的所述关键帧链表更新所述全局生成树。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述浏览器主线程调用所述移动终端的运动传感器按照第二预定频率采集运动数据;
所述浏览器主线程利用当前实时处理结果进行位姿跟踪初始化,包括:所述浏览器主线程利用当前实时处理结果和指定运动数据进行位姿跟踪初始化,所述指定运动数据包括当前帧灰度图与前一帧灰度图之间采集到的运动数据;
所述浏览器主线程利用当前实时处理结果确定所述移动终端的当前位姿,包括:所述浏览器主线程利用当前实时处理结果和指定运动数据确定所述移动终端的当前位姿。
3.根据权利要求2所述的方法,其特征在于,所述web worker利用运行在所述移动终端CPU上的web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,包括:
所述浏览器主线程将所述图像金字塔中的每层图像分别发送给一个所述web worker;
每个所述web worker分别初始化一个所述web GPU或web GL模块;
多个所述web GPU或web GL模块并行运行,分别使用GPU对各层图像进行实时处理。
4.根据权利要求3所述的方法,其特征在于,所述多个所述web GPU或web GL模块并行运行,分别使用GPU对各层图像进行实时处理,包括:多个所述web GPU或web GL模块并行运行,分别使用GPU提取各层图像的ORB特征点提取以及BRIEF描述子;
所述web worker利用运行在所述移动终端CPU上的web GPU或web GL模块对每帧灰度图的图像金字塔进行实时处理,还包括:所述web worker对ORB特征分布进行均衡化处理。
5.根据权利要求1所述的方法,其特征在于,所述利用全局优化结果更新所述三维点云地图、所述关键帧链表,包括:
利用全局优化结果识别不符合特定约束的噪声点,以及冗余关键帧;
从三维点云地图中删除识别出的噪声点,并从关键帧链表中删除识别出的冗余关键帧。
6.根据权利要求5所述的方法,其特征在于,所述判断是否需要全局优化,包括:
判断距离上一次优化的时间长度是否超过预定时间长度;
和/或,
判断关键帧链表中是否有关键帧删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555745.4A CN113298692B (zh) | 2021-05-21 | 2021-05-21 | 基于移动端浏览器实现实时设备位姿解算的增强现实方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555745.4A CN113298692B (zh) | 2021-05-21 | 2021-05-21 | 基于移动端浏览器实现实时设备位姿解算的增强现实方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113298692A CN113298692A (zh) | 2021-08-24 |
CN113298692B true CN113298692B (zh) | 2024-04-16 |
Family
ID=77323425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110555745.4A Active CN113298692B (zh) | 2021-05-21 | 2021-05-21 | 基于移动端浏览器实现实时设备位姿解算的增强现实方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113298692B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806054A (zh) * | 2021-09-27 | 2021-12-17 | 北京市商汤科技开发有限公司 | 任务处理方法及装置、电子设备和存储介质 |
CN117876419B (zh) * | 2023-11-29 | 2024-07-16 | 西安工业大学 | 一种双视场空中目标检测及跟踪方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105953796A (zh) * | 2016-05-23 | 2016-09-21 | 北京暴风魔镜科技有限公司 | 智能手机单目和imu融合的稳定运动跟踪方法和装置 |
CN106373141A (zh) * | 2016-09-14 | 2017-02-01 | 上海航天控制技术研究所 | 空间慢旋碎片相对运动角度和角速度的跟踪系统和跟踪方法 |
CN109307508A (zh) * | 2018-08-29 | 2019-02-05 | 中国科学院合肥物质科学研究院 | 一种基于多关键帧的全景惯导slam方法 |
WO2019169540A1 (zh) * | 2018-03-06 | 2019-09-12 | 斯坦德机器人(深圳)有限公司 | 紧耦合视觉slam的方法、终端及计算机可读存储介质 |
CN110310326A (zh) * | 2019-06-28 | 2019-10-08 | 北京百度网讯科技有限公司 | 一种位姿数据处理方法、装置、终端及计算机可读存储介质 |
CN110598139A (zh) * | 2019-08-14 | 2019-12-20 | 四川致和博视科技有限公司 | 基于5G云计算的Web浏览器增强现实实时定位的方法 |
CN111583136A (zh) * | 2020-04-25 | 2020-08-25 | 华南理工大学 | 一种救援场景下自主移动平台同时定位与建图方法 |
CN112132893A (zh) * | 2020-08-31 | 2020-12-25 | 同济人工智能研究院(苏州)有限公司 | 一种适用于室内动态环境的视觉slam方法 |
-
2021
- 2021-05-21 CN CN202110555745.4A patent/CN113298692B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105953796A (zh) * | 2016-05-23 | 2016-09-21 | 北京暴风魔镜科技有限公司 | 智能手机单目和imu融合的稳定运动跟踪方法和装置 |
CN106373141A (zh) * | 2016-09-14 | 2017-02-01 | 上海航天控制技术研究所 | 空间慢旋碎片相对运动角度和角速度的跟踪系统和跟踪方法 |
WO2019169540A1 (zh) * | 2018-03-06 | 2019-09-12 | 斯坦德机器人(深圳)有限公司 | 紧耦合视觉slam的方法、终端及计算机可读存储介质 |
CN109307508A (zh) * | 2018-08-29 | 2019-02-05 | 中国科学院合肥物质科学研究院 | 一种基于多关键帧的全景惯导slam方法 |
CN110310326A (zh) * | 2019-06-28 | 2019-10-08 | 北京百度网讯科技有限公司 | 一种位姿数据处理方法、装置、终端及计算机可读存储介质 |
CN110598139A (zh) * | 2019-08-14 | 2019-12-20 | 四川致和博视科技有限公司 | 基于5G云计算的Web浏览器增强现实实时定位的方法 |
CN111583136A (zh) * | 2020-04-25 | 2020-08-25 | 华南理工大学 | 一种救援场景下自主移动平台同时定位与建图方法 |
CN112132893A (zh) * | 2020-08-31 | 2020-12-25 | 同济人工智能研究院(苏州)有限公司 | 一种适用于室内动态环境的视觉slam方法 |
Non-Patent Citations (3)
Title |
---|
ORB-SLAM: A Versatile and Accurate Monocular SLAM System;Raúl Mur-Artal et al.;《IEEE Transactions on Robotics》;第31卷(第5期);第1149-1158页 * |
基于Web技术的移动机器人SLAM方法研究;潘从祥;《中国优秀硕士学位论文全文数据库 信息科技辑》(第1期);正文第5-6、14-16、63-65页 * |
基于二维码的室内相机定位算法设计;项首彦;《中国优秀硕士学位论文全文数据库 信息科技辑》(第1期);正文第22-36、39-52、54-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113298692A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102051889B1 (ko) | 스마트 글래스에서 2d 데이터를 기반으로 3d 증강현실을 구현하는 방법 및 시스템 | |
AU2018292610B2 (en) | Method and system for performing simultaneous localization and mapping using convolutional image transformation | |
US11928800B2 (en) | Image coordinate system transformation method and apparatus, device, and storage medium | |
CN107292949B (zh) | 场景的三维重建方法、装置及终端设备 | |
KR20220009393A (ko) | 이미지 기반 로컬화 | |
CN113298692B (zh) | 基于移动端浏览器实现实时设备位姿解算的增强现实方法 | |
US20230206565A1 (en) | Providing augmented reality in a web browser | |
CN111598993A (zh) | 基于多视角成像技术的三维数据重建方法、装置 | |
US10909764B2 (en) | Providing augmented reality target images in a web browser | |
CN112861830A (zh) | 特征提取方法、装置、设备、存储介质以及程序产品 | |
KR20160098012A (ko) | 영상 매칭 방법 및 장치 | |
CN108229281B (zh) | 神经网络的生成方法和人脸检测方法、装置及电子设备 | |
CN113382365B (zh) | 移动终端的位姿跟踪方法及设备 | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN113766117B (zh) | 一种视频去抖动方法和装置 | |
CN108520532B (zh) | 识别视频中物体运动方向的方法及装置 | |
CN116246026B (zh) | 三维重建模型的训练方法、三维场景渲染方法及装置 | |
CN112750164A (zh) | 轻量化定位模型的构建方法、定位方法、电子设备 | |
Oberhofer et al. | Natural feature tracking in javascript | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN108520259B (zh) | 一种前景目标的提取方法、装置、设备及存储介质 | |
KR102067423B1 (ko) | 지피유 가속 컴퓨팅을 이용한 3차원 복원 클라우드 포인트 생성 방법 | |
CN113808196A (zh) | 平面融合定位方法、装置、电子设备及存储介质 | |
CN113761965A (zh) | 动作捕捉方法、装置、电子设备和存储介质 | |
CN113298693A (zh) | 终端的位姿跟踪方法、ar渲染方法及设备、存储介质 |
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 |