CN113382365A - 移动终端的位姿跟踪方法及设备 - Google Patents
移动终端的位姿跟踪方法及设备 Download PDFInfo
- Publication number
- CN113382365A CN113382365A CN202110555525.1A CN202110555525A CN113382365A CN 113382365 A CN113382365 A CN 113382365A CN 202110555525 A CN202110555525 A CN 202110555525A CN 113382365 A CN113382365 A CN 113382365A
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- pose
- mobile terminal
- image data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000015654 memory Effects 0.000 claims description 51
- 239000011159 matrix material Substances 0.000 claims description 34
- 230000009466 transformation Effects 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 28
- 230000008569 process Effects 0.000 abstract description 23
- 238000004590 computer program Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 101100365794 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sim3 gene Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种移动终端的位姿跟踪方法及设备。由移动终端采集场景图像数据和运动数据,并基于websocket协议将这些数据实时发送给网络设备,在网络设备上实现初始化和位姿跟踪的处理过程,并实时回传处理结果,从而支持移动终端的浏览器进行位姿跟踪,继而使用基于位姿跟踪的相关功能(例如AR功能)。在网络设备进行初始化及位姿跟踪处理过程中,融合了场景图像数据和运动数据,可以恢复出空间尺度,从而在实现AR功能时允许以真实尺寸渲染虚拟元素。在网络设备回传处理结果时,携带有时间戳,以便终端设备根据该时间戳判断接收到的处理结果是否与当前帧待处理数据对应,避免出现乱序。
Description
技术领域
本申请实施例涉及位姿跟踪技术领域,尤其涉及一种移动终端的位姿跟踪方法及设备。
背景技术
实时跟踪移动终端6DoF(6Degree of Freedom,6自由度)位姿是包括无标记(Markerless)增强现实技术(Augmented Reality,AR)在内的诸多技术的核心基础。
当前在移动终端实现位姿跟踪的过程如下:通过移动终端的摄像头采集场景图像、通过IMU(Inertial Measurement Unit,惯性测量单元)采集IMU数据(包括移动终端的直线加速度和角加速度),融合场景图像的数据和IMU数据解算出移动终端的6DoF位姿。实现设备位姿跟踪的过程也称为SLAM(Simultaneous Localization And Mapping,即时定位与建图)。
由于SLAM算法对计算资源要求严格,现有移动终端位姿跟踪实现方案均为APP(Application,应用程序)方式,图像与IMU数据采集、前端里程计的实现和优化计算等操作均在移动终端本地完成,未安装APP的用户无法使用基于SLAM算法的相关功能(如AR功能),极大限制了相关功能的适用范围和分享传播。
发明内容
本申请实施例提供一种移动终端的位姿跟踪方法及设备,以达到终端用户通过web浏览器使用基于位姿跟踪的功能的目的。
第一方面,本申请实施例提供一种移动终端的位姿跟踪方法,应用于网络设备,包括:
基于websocket协议接收移动终端发送的第i帧待处理数据,所述第i帧待处理数据包括第i帧场景图像数据和运动数据,所述运动数据包括所述第i帧场景图像数据与第i-1帧场景图像数据之间采集得到的运动数据,场景图像数据基于所述移动终端的视觉传感器实时采集得到;
对所述第i帧待处理数据进行预处理;
判断位姿跟踪初始化是否完成;
若位姿跟踪初始化未完成,利用预处理后的所述第i帧待处理数据进行位姿跟踪初始化,基于websocket协议向所述移动终端返回初始化结果,所述初始化结果中携带时间戳;
若位姿跟踪初始化完成,利用预处理后的所述第i帧待处理数据确定所述移动终端的位姿,基于websocket协议向所述移动终端返回位姿跟踪结果,所述位姿跟踪结果包括所述位姿和时间戳。
第二方面,本申请实施例提供一种移动终端的位姿跟踪方法,应用于移动终端,包括:
在预定条件下接收到第i-1帧位姿跟踪结果或初始化结果后,基于websocket协议向网络设备发送第i帧待处理数据,所述第i帧待处理数据包括第i帧场景图像数据和运动数据,所述运动数据包括所述第i帧场景图像数据与第i-1帧场景图像数据之间采集得到的运动数据,场景图像数据基于所述移动终端的视觉传感器实时采集得到;
基于websocket协议接收所述网络设备返回的初始化结果,所述初始化结果中携带时间戳;或者,
基于websocket协议接收所述网络设备返回的位姿跟踪结果,所述位姿跟踪结果包括位姿和时间戳,利用所述时间戳判断所述位姿是否为所述第i帧待处理数据对应的位姿。
第三方面,本申请实施例还提供一种网络设备,包括处理器和存储器;
存储器用于存储执行第一方面各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。
第四方面,本申请实施例还提供一种移动终端,包括处理器和存储器;
存储器用于存储执行第二方面各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。
本申请实施例提供的方法及设备,由移动终端采集场景图像数据和运动数据,并基于websocket协议将这些数据实时发送给网络设备,在网络设备上实现位姿跟踪和初始化的处理过程,并实时回传处理结果,从而支持移动终端的浏览器进行位姿跟踪,继而使用基于位姿跟踪的相关功能(例如AR功能)。在网络设备进行位姿跟踪以及初始化处理过程中,融合了场景图像数据和运动数据,可以恢复出空间尺度,从而在实现AR功能时允许以真实尺寸渲染虚拟元素。在网络设备回传处理结果时,携带有时间戳,以便终端设备根据该时间戳判断接收到的处理结果是否与当前帧待处理数据对应,避免出现乱序。
附图说明
图1为本申请一个实施例提供的移动终端的位姿跟踪方法流程图;
图2为本申请另一个实施例提供的移动终端的位姿跟踪方法流程图;
图3为本申请又一个实施例提供的移动终端的位姿跟踪方法流程图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
随着5G技术的推广普及,借助于5G通信低时延、高带宽的特性,基于云计算实现的移动终端浏览器实现位姿跟踪成为可能。整体思路是将前端里程计、后端优化计算等运动跟踪功能迁移到云端,移动终端只负责数据采集传输等功能,利用云端的强大计算能力减轻移动移动终端的运算压力,并利用浏览器实现相关功能的分享和传播。
下面分别从云端和移动终端侧对本申请实施例提供一种移动终端的位姿跟踪方法进行说明。
为了实现移动终端的位姿跟踪,云端侧的处理过程如图1所示,包括:
步骤101、基于websocket协议接收移动终端发送的第i帧待处理数据,所述第i帧待处理数据包括第i帧场景图像数据和运动数据,所述运动数据包括所述第i帧场景图像数据与第i-1帧场景图像数据之间采集得到的运动数据,场景图像数据基于所述移动终端的视觉传感器实时采集得到。
其中,i的取值为不小于2的自然数。
本申请实施例中,移动终端的视觉传感器(例如摄像头)按照预定的第一频率(例如30帧/秒)采集场景图像,移动终端的运动传感器(例如IMU)按照预定的第二频率(例如200次/秒)采集运动数据(例如IMU数据)。
本申请实施例中,场景图像的数据是移动终端对采集到的场景图像进行处理(例如灰度处理)得到的。
步骤102、对所述第i帧待处理数据进行预处理。
步骤103、判断位姿跟踪初始化是否完成。
若位姿跟踪初始化未完成,执行步骤104、利用预处理后的所述第i帧待处理数据进行位姿跟踪初始化,基于websocket协议向所述移动终端返回初始化结果,所述初始化结果中携带时间戳。
本实施例中,时间戳可以但不仅限于为移动终端发送第i帧数据时的时间戳。
位姿初始化的目的是确定移动终端的初始位姿。本申请实施例中,作为举例而非限定,能够成功解算出旋转矩阵、平移向量以及尺度因子,意味着初始化完成。应当指出的是,初始化过程可能持续多帧计算,也就是说,通过步骤104处理完第i帧待处理数据,可能并未完成初始化,那么,返回的初始化结果可能是指示初始化未完成的信息,也可能是初始化中间结果,本申请对此不作限定。优选的,在未完成初始化时,网络设备向移动终端返回的是空数据,用于告知移动终端,初始化正在进行中。
如上所述,初始化过程可能持续多帧计算。具体到步骤104,实际应用过程中,位姿跟踪初始化不仅使用所述第i帧待处理数据,还可能结合在前帧场景图像数据进行初始化。其中,在前帧场景图像数据可以是初始帧场景图像数据,也可以是第i-1帧场景图像数据,还可以是初始帧与第i-1帧之间的场景图像数据,本申请对此不作限定。
初始化及位姿跟踪处理的实现方式有多种,包括但不限于特征点法、光直流法等。本申请实施例的位姿跟踪初始化可以参照现有实现方式实现。
若位姿跟踪初始化完成,执行步骤105、利用预处理后的所述第i帧待处理数据确定所述移动终端的位姿,基于websocket协议向所述移动终端返回位姿跟踪结果,所述位姿跟踪结果包括所述位姿和时间戳。
步骤105的具体实现方式可以参照现有实现方式,此处不再赘述。
本申请实施例中,上述处理过程具体在云端服务器上实现。应当指出的是,本实施例仅以云端实现位姿跟踪处理为例进行说明,也可以依托5G通信技术,由其他网络设备实现上述处理过程。
如上所述,位姿跟踪及初始化的实现方式可以是特征点法和光直流法。以特征点法为例,上述对所述第i帧待处理数据进行预处理,包括:构建第i帧场景图像数据的图像金字塔;利用所述图像金字塔提取ORB特征点和BRIEF描述子;对所述ORB特征点进行特征分布均衡化处理。
更进一步的,构建所述第i帧场景图像数据的图像金字塔之前,还可以对所述第i帧场景图像数据进行图像均衡化处理。
优选的,使用四叉树对所述ORB特征点进行特征分布均衡化处理。
位姿随着时间会发生漂移,为解决漂移问题和提高定位精度,在步骤105中,具体可以判断是否存在回环帧;若存在回环帧,确定所述第i帧场景图像数据与所述回环帧场景图像数据之间的位姿变换关系,根据所述位姿变换关系确定所述移动终端的位姿,通过全局优化调整所述移动终端的位姿;若不存在回环帧,利用所述第i帧场景图像数据和运动数据确定所述移动终端的位姿。
实现过程中,可以采用多线程进行位姿跟踪及初始化。例如,初始化完成后,主线程判断是否存在回环帧;主线程调用回环线程确定所述第i帧场景图像数据与所述回环帧场景图像数据之间的位姿变换关系,根据所述位姿变换关系确定所述移动终端的位姿,主线程调用全局优化线程通过全局优化调整所述移动终端的位姿;或者,主线程利用所述第i帧场景图像数据和运动数据确定所述移动终端的位姿。初始化过程中,主线程利用所述ORB特征点和BRIEF描述子进行特征匹配;主线程调用第一初始化线程确定所述第i帧场景图像数据与在前帧场景图像数据之间的基础矩阵,并行调用第二初始化线程确定所述第i帧场景图像数据与在前帧场景图像数据之间的单应矩阵;主线程利用特征匹配结果验证所述基础矩阵和所述单应矩阵;主线程根据验证结果选择最优的所述基础矩阵或所述单应矩阵进行分解,得到旋转矩阵和平移向量;主线程利用所述运动数据确定所述第i帧场景图像数据的尺度因子。初始化完成后,主线程销毁第一初始化线程和第二初始化线程。
其中,在前帧场景图像数据可以是初始帧场景图像数据,也可以是第i-1帧场景图像数据,还可以是初始帧与第i-1帧之间的场景图像数据,本申请对此不作限定。
优选的,所述方法还包括:根据所述ORB特征点和BRIEF描述子维护3D点云地图;根据所述ORB特征点和BRIEF描述子判断所述第i帧场景图像数据是否为关键帧图像数据,若所述第i帧场景图像数据为关键帧图像数据,在关键帧链表中添加所述第i帧场景图像数据对应的节点。
作为举例而非限定,判断关键帧的依据可以包括以下至少一项:
1、当前第i帧数据中的特征点与之前关键帧特征点的匹配数量;
2、当前第i帧数据中的特征点与3D点云地图匹配数量;
3、3D点云地图可跟踪的地图点数量;
4、当前第i帧数据与之前关键帧之间的时间长度是否大于某一阈值。
在上述任意方法实施例的基础上,可选的,携带所述第i帧待处理数据的消息中包括如下数据:1、第i帧图像数据;2、第i-1帧图像数据与第i帧图像数据之间的IMU运动数据;3、获取第i帧图像数据时的时间戳数据。
在上述任意方法实施例的基础上,可选的,可以在网络设备本地保存状态标志位,初始化完成后即将该状态标志位设置为初始化完成状态,同步本地保存的状态标志位的取值(即状态)判断是否完成初始化。
为了实现移动终端的位姿跟踪,移动终端侧的处理过程如图2所示,包括:
步骤201、在预定条件下接收到第i-1帧位姿跟踪结果或初始化结果后,基于websocket协议向网络设备发送第i帧待处理数据,所述第i帧待处理数据包括第i帧场景图像数据和运动数据,所述运动数据包括所述第i帧场景图像数据与第i-1帧场景图像数据之间采集得到的运动数据,场景图像数据基于所述移动终端的视觉传感器实时采集得到。
上述预定条件是为了确保位姿跟踪不存在乱序。实际应用中,预定条件可以但不仅限于以下至少一条:距离发送第i-1帧待处理数据不超过预定时长;最新接收到的位姿跟踪结果或初始化结果中携带的时间戳不早于历史位姿跟踪结果或初始化结果中携带的时间戳;最新接收到的位姿跟踪结果或初始化结果中携带的时间戳不早于第i-1帧待处理数据的发送时间。
若在预定条件下没有接收到第i-1帧位姿跟踪结果或初始化结果,则丢弃第i-1帧待处理数据,发送第i帧待处理数据。
在一种实现方式中,移动终端将实时采集到的运动数据缓存到第一先进先出队列中;视觉传感器每采集到一帧场景图像,移动终端从第一先进先出队列中读取缓存的全部运动数据,并将这些运动数据从第一先进先出队列中移除;移动终端将读取到的运动数据与当前帧场景图像数据进行打包处理,将打包数据(即待处理数据)缓存到第二先进先出队列中,并从第二先进先出队列中依次读取待处理数据并发送。
步骤202、基于websocket协议接收所述网络设备返回的初始化结果,所述初始化结果中携带时间戳;或者,
步骤203、基于websocket协议接收所述网络设备返回的位姿跟踪结果,所述位姿跟踪结果包括位姿和时间戳,利用所述时间戳判断所述位姿是否为所述第i帧待处理数据对应的位姿。
优选的,移动终端可以根据接收到的第i-1帧待处理数据对应的处理结果进行如下后续处理:1、根据处理结果检查服务器端跟踪状态;2、根据服务器端跟踪状态进行后续操作(未完成初始化的操作或正常跟踪状态下的操作);3、根据处理数据时间戳防止乱序。
作为举例而非限定,服务器端向移动终端返回的数据包括:1、所处理数据的时间戳;2、处理结果标记(数据正常接收、数据接收异常、跟踪未初始化、跟踪正常、跟踪丢失、跟踪恢复);3、跟踪正常时的位姿矩阵;4、数据流控制指令(用于控制移动终端向服务器端发送数据的频率)。
如上所述,本申请实施例提出了一种通过BS(Browser-Service,浏览器-服务器)架构解决计算资源有限的移动终端稳健和高精度6DoF运动跟踪方法,通过将计算密集的特征点提取匹配、图像与IMU数据联合初始化、回环检测、局部与全局优化功能迁移到云端服务器,大大降低了对移动终端算力的要求,在高速率、低延时的5G网络支持下,可以实时的为移动终端提供高精度位姿信息,从而实现基于浏览器的无标记增强现实功能。
在一个具体实施例中,移动终端和云端服务器配合实现移动终端位姿跟踪的方法如下:
步骤1、移动终端通过浏览器应用调用移动终端的摄像头采集场景图像、调用IMU传感器采集IMU运动数据。
本实施例中,浏览器可以但不仅限于是网页(Web)浏览器,也可以是微信、小程序、支付宝等浏览器。
本实施例中,图像采集频率设定为30帧每秒,IMU运动数据采集频率设定为200次每秒。
步骤2、移动终端的浏览器将摄像头采集到的场景图像转化为灰度图(即场景图像数据),将每帧灰度图与相邻两帧之间的IMU运动数据以及获取图像数据时的时间戳打包压缩后,使用Websocket连接云端服务器并将压缩后的数据逐帧上传到服务端。
实际应用中,还可以将灰度图进行格式转换,压缩为jpeg格式以减小传输数据量。
具体的,浏览器发送每帧待处理数据之前,首先判断是否按照预定条件接收到前一帧待处理数据对应的处理结果。如果没有接收到,丢弃前一帧待处理数据,并发送下一帧待处理数据。
步骤3、云端服务器的应用接收场景图像数据和IMU运动数据进行初始化,使用多线程同时计算基础矩阵F和单应矩阵H,并对这两个矩阵结果进行验证,选择效果好的矩阵进行分解,解算出移动终端的旋转矩阵R和平移向量t,并利用IMU预积分恢复出空间尺度s。同时通过三角化构建空间3D点云,维护一个全局统一的地图,依据一定规则选择关键帧,维护一个全局关键帧链表。
步骤4、当云端服务器完成初始化后,对新接收到的场景图像数据按恒速模型、参考帧模型或重定位模型进行位姿预估,联合IMU数据进行局部优化,调整位姿估计值。
步骤5、云端服务器对新接收到的场景图像数据进行回环检测,区分情况对所有位姿进行全局优化,由于建立了全局统一的地图和关键帧链表,全局优化可以利用所有有效信息,得到最终的变换矩阵T,完成每一帧图像对应的移动终端位姿跟踪。
本实施例中,变换矩阵T包括旋转矩阵R、平移向量t和尺度因子s。应当指出的是,若不适用运动数据恢复尺度因子s,那么,变换矩阵T中不包括尺度因子s。
步骤6、云端服务器将最终位姿矩阵T回传给移动终端,供移动终端浏览器使用。
本实施例将基于特征点的SLAM算法迁移到云端服务器,为提高位姿解算的精度、鲁棒性,提高算法效率,全程采用了ORB特征跟踪方法,使用IMU预积分恢复空间尺度,通过多种手段确保位姿跟踪的实时性和稳定性。
其中,云端服务器逐帧对接收到待处理数据进行处理,其中,对第i帧待处理数据的处理过程如图3所示,包括:
步骤301、接收第i帧场景图像数据和第i帧与第i-1帧之间采集到的IMU运动数据。
步骤302、对第i帧场景图像数据进行预处理,具体包括:对场景图像数据进行图像均衡化处理以提高对比度,基于均衡化处理后的图像数据构建图像金字塔,将图像金字塔每层的图像划分到不同网格,提取每层图像的ORB特征值及其对应的BRIEF(Binary RobustIndependent Elementary Features,二进制鲁棒独立的基本特征)描述子,对ORB特征分布进行均衡化处理防止特征过于密集并提高跟踪稳定性。
步骤303、检查跟踪程序是否完成位姿跟踪初始化,如果未完成位姿跟踪初始化,则进入初始化流程,否则进入位姿跟踪流程。
其中,以特征点法为例,跟踪初始化流程如下:
步骤304、使用FLANN(Fast Library for Approximate Nearest Neighbors,快速近似最近邻)特征匹配算法对第i帧场景图像数据与第i-1帧场景图像数据进行匹配操作,同时开启两个线程计算两帧场景图像数据间的基础矩阵F和单应矩阵H,对所有特征点使用F矩阵和H矩阵进行验证,选择符合情况的矩阵进行SVD分解(Singular ValueDecomposition,奇异值分解),得到旋转矩阵R和平移向量t。
步骤305、使用IMU预积分模型结合图像匹配结果恢复尺度因子s。
步骤306、使用三角化方式生成3D点云,建立全局点云地图,建立关键帧链表,执行步骤307。
步骤307、返回变换矩阵T。
其中,位姿跟踪流程如下:
步骤304’、使用BoW词袋模型检测第i帧与关键帧链表是否存在回环,如果存在回环,则进入回环修正流程,执行步骤305’;如果不存在回环,则进入第i帧位姿预估和调整优化流程,执行步骤305”。
步骤305’、使用sim3相似变换求取第i帧与存在回环的关键帧(即回环帧)之间的位姿变换关系,并使用该变换关系修正第i帧的位姿,使用传播算法修正所有关键帧位姿,并按照一定规则维护地图与关键帧链表。
步骤306’、对所有地图点和关键帧进行一次全局BA(Bundle Adjustment,集束调优)优化,解算出最终的第i帧变换矩阵T,执行步骤307。
步骤305”、分别使用恒速模型和参考帧模型对第i帧位姿进行粗略估计,如果均不满足预设要求则使用重定位模型进行位姿估计,并按照一定规则维护地图与关键帧链表。
步骤306”、使用粗略估计的位姿和IMU预积分结合对共视图(CovisibilityGraph)进行局部优化调整变换矩阵T,执行步骤307。
本申请实施例提供的方法至少具备如下技术效果:
1)本申请采用BS架构方式,规避了需要下载安装APP的问题,利用浏览器的普适标准性大大拓展增强现实适用范围,也可以通过链接分享简化AR体验共享。将SLAM运动跟踪计算部分迁移到云端服务器处理,规避了移动终端硬件算力不足的问题,对移动终端算力没有要求,利用5G低时延和高带宽特性,实现移动终端Web浏览器高帧率、实时的6DoF跟踪,因此,可以应用到Web网页、微信、小程序、支付宝等以浏览器为基础的增强现实应用中。移动终端可以将主要算力用于虚拟元素渲染,实现复杂场景渲染和增强虚拟元素可信度。
2)本申请结合使用摄像头采集的场景图像数据和IMU运动数据,可以恢复出空间尺度,从而允许以真实尺寸渲染虚拟元素,实现虚拟元素尺度与真实物体尺度的统一,方便内容创作和渲染。
3)本申请使用ORB特征点和BRIEF描述子,采用快速近似最近邻FLANN匹配算法加速特征点匹配,使用ORB特征点进行跟踪,对光照不敏感,具有缩放和旋转不变性,跟踪更鲁棒。
4)本申请具有完整的全局BA优化、回环检测过程,能完整利用全部信息优化位姿,通过严格控制地图和关键帧链表,可以将内存使用控制在一个合理的范围内,并能在位姿出现漂移时有效的进行修正,从而提高位姿跟踪精度和鲁棒性。
基于与方法同样的发明构思,本申请实施例还提供一种网络设备,包括处理器和存储器;
存储器用于存储执行上述云端服务器侧的方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。处理器可以是包括中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。
在一个具体实现结构中,网络设备至少包括:电源,通过电源管理系统与中央处理器逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能;主板,提供部件之间的电连接通路,各个部件通过主板进行电信号传输,各个部件通过插接、焊接等方式安装在主板上;中央处理器,主要包括算术逻辑运算单元(ALU,Arithmetic LogicUnit)、程序计数器(PC,Program Counter)、寄存器组、高速缓冲存储器(Cache)以及用于传输数据、控制及状态的总线(Bus)接口;内存储器、磁盘(即上述保存有执行各个方法实施例所述方法的程序的存储器)、输入单元(包括鼠标、键盘、触控面板等)、显示单元(包括显示屏和显卡)和网卡通过总线与中央处理器进行数据交换。
执行各个方法实施例所述方法的程序及相关的数据首先从磁盘中被读取到内存储器中,中央处理器从内存储器中读取并加载程序。
基于与方法同样的发明构思,本申请实施例还提供一种移动终端,包括处理器和存储器;
存储器用于存储执行上述移动终端侧的方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。处理器可以是包括中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。
移动终端不仅包括处理器和存储器,还包括输入设备(例如触摸屏、摄像头、传声器等)、输出设备(例如显示屏、扬声器等)、通信模块、电源模块。
其中,存储器、输入设备、输出设备、通信模块、电源模块通过串口、总线或USB接口与处理器连接。其中,对于单处理器移动终端,处理器即CPU(中央处理器);对于双处理器移动终端,处理器包括主处理器和从处理器,由其主处理器执行应用程序实现本发明实施例提供的方法,若其中需要与外界进行通信,则由从处理器控制通信模块配合实现;对于包含GPU(图形处理器)和CPU的移动终端,处理器是指GPU和CPU,由GPU和CPU配合或由CPU单独实现本申请实施例提供的方法。
其中,移动终端的存储器可以但不仅限于包括:Flash(闪存)存储器、RAM(随机存取存储器)、ROM(只读存储器)等。RAM主要用于存储移动终端运行时的程序和数据,需要执行的程序或者需要处理的数据都必须先装入RAM内。ROM主要用于检查移动终端操作系统的配置情况,并提供最基本的输入输出(I/O)程序。Flash存储器是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)存储器,数据删除不是以单个的字节为单位,而是以固定的区块为单位。由于Flash存储器断电时仍能保存数据,它通常被用来保存设置信息,如用户对手机的设置信息等。
应当指出的是,针对不同的移动终端(单处理器智能手机、双处理器智能手机、智能穿戴设备、平板电脑等等),其可能包括比上述移动终端更多或更少的硬件结构,但只要包括存储器和处理器,且能够实现上述方法实施例的功能,均在本公开的保护范围内。
基于与方法同样的发明构思,本申请实施例还提供一种计算机可读存储介质,存储有执行上述各个实施例所述方法的程序。
本申请实施例提供的计算机可读存储介质中所保存的程序在检测到目标控件被触发后,在其显示屏的显示区域显示账户信息页面,该账户信息页面能够显示未登录状态下标记得到的标记数据。可见,本申请实施例提供的标记数据处理方法支持内容浏览者在未登录的状态下对内容和/或内容发布者做标记,并通过个人主页显示未登录状态下标记得到的标记数据,不仅简化了内容浏览者的操作复杂度,还增加了浏览未登录状态下标记得到的标记数据的功能,提高了操作灵活性和用户体验度。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (8)
1.一种移动终端的位姿跟踪方法,应用于网络设备,其特征在于,包括:
基于websocket协议接收移动终端发送的第i帧待处理数据,所述第i帧待处理数据包括第i帧场景图像数据和运动数据,所述运动数据包括所述第i帧场景图像数据与第i-1帧场景图像数据之间采集得到的运动数据,所述运动数据基于所述移动终端的运动传感器实时采集得到,场景图像数据基于所述移动终端的视觉传感器实时采集得到;
对所述第i帧待处理数据进行预处理;
判断位姿跟踪初始化是否完成;
若位姿跟踪初始化未完成,利用预处理后的所述第i帧待处理数据进行位姿跟踪初始化,基于websocket协议向所述移动终端返回初始化结果,所述初始化结果中携带时间戳;
若位姿跟踪初始化完成,利用预处理后的所述第i帧待处理数据确定所述移动终端的位姿,基于websocket协议向所述移动终端返回位姿跟踪结果,所述位姿跟踪结果包括所述位姿和时间戳。
2.根据权利要求1所述的方法,其特征在于,所述利用所述第i帧待处理数据确定所述移动终端的位姿,包括:
判断是否存在回环帧;
若存在回环帧,确定所述第i帧场景图像数据与所述回环帧场景图像数据之间的位姿变换关系,根据所述位姿变换关系确定所述移动终端的位姿,通过全局优化调整所述移动终端的位姿;
若不存在回环帧,利用所述当前帧场景图像数据和所述运动数据确定所述移动终端的位姿。
3.根据权利要求2所述的方法,其特征在于,所述对所述第i帧待处理数据进行预处理,包括:
构建第i帧场景图像数据的图像金字塔;
利用所述图像金字塔提取ORB特征点和BRIEF描述子;
对所述ORB特征点进行特征分布均衡化处理。
4.根据权利要求3所述的方法,其特征在于:
主线程判断是否存在回环帧;
主线程调用回环线程确定所述第i帧场景图像数据与所述回环帧场景图像数据之间的位姿变换关系,根据所述位姿变换关系确定所述移动终端的位姿,主线程调用全局优化线程通过全局优化调整所述移动终端的位姿;或者,主线程利用所述第i帧场景图像数据和所述运动数据确定所述移动终端的位姿。
所述利用预处理后的所述第i帧待处理数据进行位姿跟踪初始化,包括:
主线程利用所述ORB特征点和BRIEF描述子进行特征匹配;
主线程调用第一初始化线程确定所述第i帧场景图像数据与在前帧场景图像数据之间的基础矩阵,并行调用第二初始化线程确定所述第i帧场景图像数据与在前帧场景图像数据之间的单应矩阵;
主线程利用特征匹配结果验证所述基础矩阵和所述单应矩阵;
主线程根据验证结果选择最优的所述基础矩阵或所述单应矩阵进行分解,得到旋转矩阵和平移向量;
主线程利用所述运动数据确定所述第i帧场景图像数据的尺度因子;
初始化完成后,所述主线程销毁所述第一初始化线程和所述第二初始化线程。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述ORB特征点和BRIEF描述子维护3D点云地图;
根据所述ORB特征点和BRIEF描述子判断所述第i帧场景图像数据是否为关键帧图像数据,若所述第i帧场景图像数据为关键帧图像数据,在关键帧链表中添加所述第i帧场景图像数据对应的节点。
6.一种移动终端的位姿跟踪方法,应用于移动终端,其特征在于,包括:
在预定条件下接收到第i-1帧位姿跟踪结果或初始化结果后,基于websocket协议向网络设备发送第i帧待处理数据,所述第i帧待处理数据包括第i帧场景图像数据和运动数据,所述运动数据包括所述第i帧场景图像数据与第i-1帧场景图像数据之间采集得到的运动数据,场景图像数据基于所述移动终端的视觉传感器实时采集得到;
基于websocket协议接收所述网络设备返回的初始化结果,所述初始化结果中携带时间戳;或者,
基于websocket协议接收所述网络设备返回的位姿跟踪结果,所述位姿跟踪结果包括位姿和时间戳,利用所述时间戳判断所述位姿是否为所述第i帧待处理数据对应的位姿。
7.一种网络设备,其特征在于,包括处理器和存储器;
所述存储器用于存储执行权利要求1至5任一项所述方法的程序;
所述处理器被配置为执行所述存储器中存储的程序。
8.一种移动终端,其特征在于,包括处理器和存储器;
所述存储器用于存储执行权利要求6所述方法的程序;
所述处理器被配置为执行所述存储器中存储的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555525.1A CN113382365B (zh) | 2021-05-21 | 2021-05-21 | 移动终端的位姿跟踪方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555525.1A CN113382365B (zh) | 2021-05-21 | 2021-05-21 | 移动终端的位姿跟踪方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113382365A true CN113382365A (zh) | 2021-09-10 |
CN113382365B CN113382365B (zh) | 2022-06-10 |
Family
ID=77571447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110555525.1A Active CN113382365B (zh) | 2021-05-21 | 2021-05-21 | 移动终端的位姿跟踪方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113382365B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023083256A1 (zh) * | 2021-11-15 | 2023-05-19 | 杭州海康威视数字技术股份有限公司 | 位姿显示方法、装置及系统、服务器以及存储介质 |
WO2023236684A1 (zh) * | 2022-06-08 | 2023-12-14 | 华为云计算技术有限公司 | 一种物体跟踪方法以及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110310326A (zh) * | 2019-06-28 | 2019-10-08 | 北京百度网讯科技有限公司 | 一种位姿数据处理方法、装置、终端及计算机可读存储介质 |
CN110598139A (zh) * | 2019-08-14 | 2019-12-20 | 四川致和博视科技有限公司 | 基于5G云计算的Web浏览器增强现实实时定位的方法 |
CN111046856A (zh) * | 2020-03-13 | 2020-04-21 | 南京晓庄学院 | 基于动静态特征提取并行位姿跟踪与地图创建的方法 |
US20200367970A1 (en) * | 2019-05-24 | 2020-11-26 | University Health Network | System and method for multi-client deployment of augmented reality instrument tracking |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
US20200412821A1 (en) * | 2019-06-28 | 2020-12-31 | Synchronoss Technologies, Inc. | Method and system for optimized online presence tracking |
-
2021
- 2021-05-21 CN CN202110555525.1A patent/CN113382365B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200367970A1 (en) * | 2019-05-24 | 2020-11-26 | University Health Network | System and method for multi-client deployment of augmented reality instrument tracking |
CN110310326A (zh) * | 2019-06-28 | 2019-10-08 | 北京百度网讯科技有限公司 | 一种位姿数据处理方法、装置、终端及计算机可读存储介质 |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
US20200412821A1 (en) * | 2019-06-28 | 2020-12-31 | Synchronoss Technologies, Inc. | Method and system for optimized online presence tracking |
CN110598139A (zh) * | 2019-08-14 | 2019-12-20 | 四川致和博视科技有限公司 | 基于5G云计算的Web浏览器增强现实实时定位的方法 |
CN111046856A (zh) * | 2020-03-13 | 2020-04-21 | 南京晓庄学院 | 基于动静态特征提取并行位姿跟踪与地图创建的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023083256A1 (zh) * | 2021-11-15 | 2023-05-19 | 杭州海康威视数字技术股份有限公司 | 位姿显示方法、装置及系统、服务器以及存储介质 |
WO2023236684A1 (zh) * | 2022-06-08 | 2023-12-14 | 华为云计算技术有限公司 | 一种物体跟踪方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113382365B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12002239B2 (en) | Data processing method and device used in virtual scenario | |
KR20220009393A (ko) | 이미지 기반 로컬화 | |
CN110310326B (zh) | 一种视觉定位数据处理方法、装置、终端及计算机可读存储介质 | |
CN113382365B (zh) | 移动终端的位姿跟踪方法及设备 | |
CN107885871A (zh) | 基于云计算的同步定位与地图构建方法、系统、交互系统 | |
CN108427479B (zh) | 可穿戴设备、环境图像数据的处理系统、方法及可读介质 | |
CN110059623B (zh) | 用于生成信息的方法和装置 | |
CN111179309A (zh) | 一种跟踪方法及设备 | |
CN108304239A (zh) | 用于远程操作的快速界面交互方法及装置 | |
CN115205925A (zh) | 表情系数确定方法、装置、电子设备及存储介质 | |
CN113298692B (zh) | 基于移动端浏览器实现实时设备位姿解算的增强现实方法 | |
CN115278211A (zh) | 图像处理方法、装置、系统及图像采集设备 | |
CN118247706A (zh) | 基于微调标准模型的三维姿态估计方法、装置及存储介质 | |
WO2022165675A1 (zh) | 一种手势识别方法、装置、终端设备及可读存储介质 | |
CN117455989A (zh) | 室内场景slam追踪方法、装置、头戴式设备及介质 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN113703704B (zh) | 界面显示方法、头戴式显示设备和计算机可读介质 | |
US20220060801A1 (en) | Panoramic Render of 3D Video | |
CN118302806A (zh) | 使用分体式架构的增强现实 | |
CN113676279B (zh) | 时间同步方法、设备、存储介质及系统 | |
CN113168706A (zh) | 视频流的帧中的对象位置确定 | |
CN111209050A (zh) | 用于切换电子设备的工作模式的方法和装置 | |
CN117294832B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN111400069B (zh) | 一种kcf跟踪算法的实现方法、装置及系统 | |
WO2022012454A1 (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 |