CN117455989A - 室内场景slam追踪方法、装置、头戴式设备及介质 - Google Patents
室内场景slam追踪方法、装置、头戴式设备及介质 Download PDFInfo
- Publication number
- CN117455989A CN117455989A CN202311387213.XA CN202311387213A CN117455989A CN 117455989 A CN117455989 A CN 117455989A CN 202311387213 A CN202311387213 A CN 202311387213A CN 117455989 A CN117455989 A CN 117455989A
- Authority
- CN
- China
- Prior art keywords
- scene
- map set
- tracking
- head
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 238000012937 correction Methods 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 16
- 230000001960 triggered effect Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010367 cloning Methods 0.000 description 2
- 241000274965 Cyrestis thyodamas Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Remote Sensing (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种室内场景SLAM追踪方法、装置、头戴式设备及介质,涉及地图构建与定位技术领域,该方法通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。采用本申请技术方案能够降低在追踪过程中的算力需求,从而提高追踪定位信息的实时性,避免出现图像丢帧和位姿跳变。
Description
技术领域
本申请属于地图构建与定位技术领域,尤其涉及一种室内场景SLAM追踪方法、装置、头戴式设备以及计算机可读存储介质。
背景技术
在VR(Virtual Reality,虚拟现实)和AR(Augmented Reality,增强现实)领域,通常广泛应用SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)算法在各种VR设备或AR设备上以在未知的环境中构建环境地图,并在已构建的地图的基础上的进行自身的定位与追踪。
但在将SLAM算法部署在头戴式设备上时,由于每时每刻都在进行场景地图的构建、回环检测与更新,受限于头戴式设备有限的体积与算力,这会对头戴式设备自身的定位信息的实时性带来一定的影响,从而导致提供给用户的显示图像发生丢帧的现象,进而造成虚拟场景中场景或物体的位姿突然变化。
发明内容
本申请的主要目的在于提供一种室内场景SLAM追踪方法、装置、头戴式设备以及计算机可读存储介质。旨在通过这种室内场景SLAM追踪方法降低在追踪过程中的算力需求,从而提高追踪定位信息的实时性,避免出现图像丢帧和位姿跳变。
为了实现上述目的,本申请提供一种室内场景SLAM追踪方法,所述室内场景SLAM追踪方法包括:
通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
可选地,所述判断在预设的地图集库中是否存在与所述图像数据匹配的场景地图集的步骤,包括:
通过预设特征提取算法提取所述图像数据中的各特征点;
依次在所述地图集库中的各地图集中匹配各所述特征点,得到各所述地图集分别对应的特征点匹配数量;
判断特征点匹配数量最多的地图集对应的特征点匹配数量与特征点总数量之间的比值是否大于预设比值;
若大于,则判定存在与所述图像数据匹配的目标场景地图集,并将所述特征点匹配数量最多的地图集置为目标场景地图集。
可选地,所述通过所述图像数据建立目标场景地图集的步骤,包括:
通过预设的SLAM算法构建所述图像数据对应的初始场景地图集;
对所述初始场景地图集进行安全区校正,获得目标场景地图集。
可选地,所述通过预设的SLAM算法对构建所述图像数据对应的初始场景地图集的步骤,包括:
从所述图像数据中依次提取多个关键帧;
根据各所述关键帧对当前场景分别进行局部建图,得到多个局部地图;
对各所述局部地图进行回环检测,生成初始场景地图集。
可选地,所述对所述初始场景地图集进行安全区校正,获得目标场景地图集的步骤,包括:
获取安全区校正指令;
根据所述安全区校正指令划分所述初始场景地图集中对应的安全区,获得目标场景地图集。
可选地,所述基于所述目标场景地图集对所述头戴式设备的位置进行追踪的步骤,包括:
当触发预设的跟踪失效条件时,基于获取到的当前图像数据生成关键帧;
根据所述关键帧对当前场景进行局部建图,获得多个局部地图;
对各所述局部地图进行回环检测,生成更新场景地图集;
基于所述更新场景地图集对所述头戴式设备的位置进行追踪。
可选地,在所述基于当前获取到的图像数据生成关键帧的步骤之前,所述方法还包括:
当检测到所述头戴式设备的目标定位信息位于所述目标场景地图集的安全区之外时,触发跟踪失效条件;
在对所述头戴式设备的位置进行追踪的过程中,当相邻帧的匹配特征点数量少于第一预设数量达第二预设数量次时,触发跟踪失效条件;
当连续第三预设数量帧中所述头戴式设备定位失败时,触发跟踪失效条件。
此外,为实现上述目的,本申请还提供一种室内场景SLAM追踪装置,所述装置应用于头戴式设备;
所述室内场景SLAM追踪装置包括:
场景判断模块,用于通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
第一追踪模块,用于若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
第二追踪模块,用于若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
此外,为实现上述目的,本申请还提供一种头戴式设备,所述头戴式设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的室内场景SLAM追踪程序,所述室内场景SLAM追踪程序被所述处理器执行时实现如上所述的室内场景SLAM追踪方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有室内场景SLAM追踪程序,所述室内场景SLAM追踪程序被处理器执行时实现如上所述的室内场景SLAM追踪方法的步骤。
本申请实施例提出的一种室内场景SLAM追踪方法、装置、头戴式设备以及计算机可读存储介质,首先通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
如此,本申请实施例的技术方案中在对头戴式设备进行定位追踪前,先对当前采集到的图像数据与地图集库进行匹配,在地图集库中存在与所述图像数据匹配的目标场景地图集时,无需额外进行地图构建与更新,使得头戴式设备能基于现有的地图集中进行定位自身位姿,节省了头戴式设备的CPU(Central Processing Unit,中央处理器)的算力,能让用于对头戴式设备的位置进行追踪的算力资源更为充足,保证定位信息输出的实时性,避免在提供给用户的显示图像中出现丢帧和位姿跳变的情况,并提高用户的观看体验。
附图说明
图1是本申请实施例方案涉及的头戴式设备硬件运行环境的设备结构示意图;
图2为本申请室内场景SLAM追踪方法第一实施例的步骤流程示意图;
图3为本申请室内场景SLAM追踪方法中的初始化流程示意图;
图4为本申请室内场景SLAM追踪方法中的地图集初始化流程示意图;
图5为本申请室内场景SLAM追踪方法第一实施例中SLAM算法涉及的模块以及执行步骤示意图;
图6为本申请室内场景SLAM追踪方法第二实施例中在Tracking模块处于不同状态下的SLAM算法执行步骤示意图
图7为本申请室内场景SLAM追踪装置一实施例的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及头戴式设备的硬件运行环境的设备结构示意图。
需要说明的是,本申请实施例头戴式设备可以是执行本申请室内场景SLAM追踪方法的摄像设备、显示设备以及定位设备,此外,本申请实施例终端设备也可以是与上述这些终端设备相连接的PC、智能手机、平板等计算单元。
应当理解的是,基于实际应用的不同设计需要,本申请实施例终端设备当然还可以其它设备或者装置模块,例如,该终端设备具体还可以是数据存储控制终端或者便携计算机等可移动或者不可移动的终端设备。
如图1所示,该头戴式设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的头戴式设备结构并不构成对头戴式设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及室内场景SLAM追踪程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的室内场景SLAM追踪程序,并执行如下操作:
通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
可选地,处理器1001还可以用于调用存储器1005中存储的室内场景SLAM追踪程序,并执行如下操作:
通过预设特征提取算法提取所述图像数据中的各特征点;
依次在所述地图集库中的各地图集中匹配各所述特征点,得到各所述地图集分别对应的特征点匹配数量;
判断特征点匹配数量最多的地图集对应的特征点匹配数量与特征点总数量之间的比值是否大于预设比值;
若大于,则判定存在与所述图像数据匹配的目标场景地图集,并将所述特征点匹配数量最多的地图集置为目标场景地图集。
可选地,处理器1001还可以用于调用存储器1005中存储的室内场景SLAM追踪程序,执行如下操作:
通过预设的SLAM算法构建所述图像数据对应的初始场景地图集;
对所述初始场景地图集进行安全区校正,获得目标场景地图集。
可选地,处理器1001还可以用于调用存储器1005中存储的室内场景SLAM追踪程序,并执行如下操作:
从所述图像数据中依次提取多个关键帧;
根据各所述关键帧对当前场景分别进行局部建图,得到多个局部地图;
对各所述局部地图进行回环检测,生成初始场景地图集。
可选地,处理器1001还可以用于调用存储器1005中存储的室内场景SLAM追踪程序,并执行如下操作:
获取安全区校正指令;
根据所述安全区校正指令划分所述初始场景地图集中对应的安全区,获得目标场景地图集。
可选地,处理器1001还可以用于调用存储器1005中存储的室内场景SLAM追踪程序,并执行如下操作:
当触发预设的跟踪失效条件时,基于获取到的当前图像数据生成关键帧;
根据所述关键帧对当前场景进行局部建图,获得多个局部地图;
对各所述局部地图进行回环检测,生成更新场景地图集;
基于所述更新场景地图集对所述头戴式设备的位置进行追踪。
可选地,处理器1001还可以用于调用存储器1005中存储的室内场景SLAM追踪程序,在执行当触发预设的跟踪失效条件时,基于获取到的当前图像数据生成关键帧的步骤之前,还执行如下操作:
当检测到所述头戴式设备的目标定位信息位于所述目标场景地图集的安全区之外时,触发跟踪失效条件;
在对所述头戴式设备的位置进行追踪的过程中,当相邻帧的匹配特征点数量少于第一预设数量达第二预设数量次时,触发跟踪失效条件;
当连续第三预设数量帧中所述头戴式设备定位失败时,触发跟踪失效条件。
基于上述的头戴式设备,提出本申请室内场景SLAM追踪方法的各实施例。
请参照图2,图2为本申请室内场景SLAM追踪方法第一实施例的流程示意图。在本申请室内场景SLAM追踪方法的第一实施例中,本申请室内场景SLAM追踪方法包括:
步骤S10,通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
本申请实施例中需要说明的是,所述头戴式设备可以为各种VR设备和AR设备,例如眼镜或头盔等,参照图3,当用户戴上所述头戴式设备后,在需要开启VR功能或AR功能时,可以通过设备上的实体按键或虚拟按键输入SALM启动指令,此时即对SALM算法进行初始化,并对地图集进行初始化。具体的,在对地图集进行初始化的过程中,需要判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集,从而确定是否需要执行SALM算法从而进行地图的构建与更新,便于在不需要执行SALM算法的情况下头戴式设备的CPU的算力以提高输出的头戴式设备定位信息的实时性。
需要说明的是,本申请实施例中通过头戴式设备上的摄像头采集当前场景的图像数据,随着用户的头部转动,可以采集在当前室内场景下的各个角度的图像数据。另外,预设的地图集库中包括头戴式设备在历史使用过程中所存储的多个场景分别对应的地图集,每个地图集包括对应的场景在各个角度下的地图数据。在判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集时,可以通过图像数据中的特征点与地图集库中各地图集的特征点进行匹配,从而匹配到与当前场景最符合的目标场景地图集。
步骤S20,若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
本申请实施例中,参照图4,在地图集库中检索到存在现有场景时,即在存在与所述图像数据匹配的目标场景地图集的情况下,则读取该目标场景地图集,并建立对应的场景地图。在对头戴式设备的位置进行追踪的过程中,即可以该场景地图为基准,追踪头戴式设备的定位信息,从而实时输出所述头戴式设备对应的目标定位信息,以供在VR场景或AR场景中使用。
本申请实施例的技术方案中,在地图集库中存在与所述图像数据匹配的目标场景地图集时,能依据现有地图集进行追踪,无需重新进行地图的构建与更新,从而提高了SLAM算法的实时性,降低了对头戴式设备的处理器的算力要求,起到减少头戴式设备因丢帧导致的姿态跳变的有益效果,提高用户的使用体验。
步骤S30,若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
本申请实施例中,提供了一种在地图集库中不存在与所述图像数据匹配的目标场景地图集的情况下的地图集初始化方法,参照图4,在这种情况下,本申请实施例采用预设的SLAM算法,根据采集到的图像数据构建目标场景地图集,再执行对头戴式设备的追踪。本申请实施例通过在检测到地图集库中不存在匹配的目标场景地图集的情况下,采用常用的地图构建、回环检测以及更新方法生成目标场景地图集,以完成对头戴式设备的追踪定位。
需要说明的是,在目标场景地图集生成过程中,需要获取用户输入的安全区校正指令,以划分地图中的安全区,其中,所述安全区校正指令可以通过用户手势通过手柄在现有的地图中画线输入。另外,在生成目标场景地图集后,可以获取用户输入的对该场景地图集的命名,并将其存储到地图集库中,弥补地图集库中关于该场景对应的地图集的空白,这样,下次在该场景下使用头戴式设备时,则无需再次生成地图集,直接读取已存储的地图集即可,节约了算力资源,提升了SLAM算法的实时性。
进一步地,在一种可行的实施例中,步骤S10中,判断在预设的地图集库中是否存在与所述图像数据匹配的场景地图集的步骤,可以包括:
步骤S11,通过预设特征提取算法提取所述图像数据中的各特征点;
本申请实施例中,所述预设特征提取算法为ORB(Oriented FAST and Rotated)图像特征提取算法,ORB算法中通过提取图像数据中的角点作为特征点,这是因为,角点作为图像数据中各对象的边缘特征点,能有效地表征该图像数据的特征。具体的,使用FAST(Features from accelerated segment test)算法提取角点作为特征点,主要依据为:一个像素点周围如果有足够多的相邻点的像素值与该像素点值差异较大,则该像素点很可能是一个角点。
步骤S12,依次在所述地图集库中的各地图集中匹配各所述特征点,得到各所述地图集分别对应的特征点匹配数量;
在本申请实施例中,主要根据从图像数据中提取到的各特征点以及各特征点的位置信息,在各地图集中的地图中以此进行检索与匹配,从而查询到在各地图集中能与所述图像数据中的特征点位置和像素值等信息均匹配的特征点的数量,特征点匹配数量能用于各地图集分别与所述图像数据(即当前场景)的匹配程度,特征点匹配数量越高,地图集越与所述图像数据契合,更有可能是当前场景所对应的地图集。在获得每个地图集对应的特征点匹配数量后,可以根据特征点匹配数量选取出匹配度最高的地图集用于作为当前的场景地图。
步骤S13,判断特征点匹配数量最多的地图集对应的特征点匹配数量与特征点总数量之间的比值是否大于预设比值;
步骤S14,若大于,则判定存在与所述图像数据匹配的目标场景地图集,并将所述特征点匹配数量最多的地图集置为目标场景地图集。
本申请实施例中,特征点匹配数量最多的地图集为所述地图集库中与所述图像数据之间匹配程度最高的地图集,所以只需要判断该地图集与所述图像数据之间的匹配程度是否达到预设值即可判断是否存在与所述图像数据匹配的目标场景地图集。其中,本申请实施例通过特征点匹配数量与特征点总数量之间的比值来衡量该地图集与所述图像数据之间的匹配程度,其中,所述特征点总数量为所述地图集中所包括的全部特征点的数量。另外,所述预设比值为百分比,可以根据具体需求进行设置,例如95%或98%等,预设比值越高,对地图集的匹配精度要求越高。
在另一种可行的实施例中,步骤S10中,判断在预设的地图集库中是否存在与所述图像数据匹配的场景地图集的步骤,还可以包括:在通过预设特征提取算法提取到所述图像数据中的各特征点时,依次将地图集库中的各地图集与所述图像数据中的各特征点进行匹配,当匹配到特征匹配程度大于预设比值的地图集时,将该地图集置为目标场景地图集,其中,所述特征匹配程度等于特征点匹配数量与特征点总数量之间的比值。
进一步地,所述通过所述图像数据建立目标场景地图集的步骤,可以包括:
步骤S31,通过预设的SLAM算法构建所述图像数据对应的初始场景地图集;
本实施例中,需要说明的是,预设的SLAM算法中包括Local Mapping(局部地图构建)与Loop Closing(闭环检测)以及Tracking(追踪)模块,分别用于构建局部地图和回环检测更新,具体的,Tracking模块用于根据输入的数据生成关键字,而LocalMapping作用是将Tracking模块中送来的关键帧放在mlNewKeyFrame(新关键帧)列表中;再处理新关键帧,地图点检查剔除,生成新地图点;然后执行Local BA,即关键帧剔除,其主要工作在于维护局部地图,也就是SLAM中的Mapping。另外Loop Closing作用是检测到头戴式设备在当前环境中已经访问过的地方,通过消除累积误差来优化地图。LoopClosing与跟踪(Tracking)、局部地图构建(LocalMapping)等其他模块共同工作,从而实现实时的闭环检测和地图优化,最终构建生成初始场景地图集,所述初始场景地图集还需要进行进一步安全区校正。
步骤S32,对所述初始场景地图集进行安全区校正,获得目标场景地图集。
在本实施例中,在获取到已建立的初始场景地图集后,需要根据用户输入的安全区校正指令对当前的初始场景地图集中的地图进行安全区划分,让用户在安全区内活动,避免发生危险,从而得到安全区划分完成后的目标场景地图集。
进一步地,所述通过预设的SLAM算法对构建所述图像数据对应的初始场景地图集的步骤,可以包括:
步骤S311,从所述图像数据中依次提取多个关键帧;
步骤S312,根据各所述关键帧对当前场景分别进行局部建图,得到多个局部地图;
步骤S313,对各所述局部地图进行回环检测,生成初始场景地图集。
本申请实施例中,参照图5,SLAM算法的流程中首先将图像数据输入Tracking模块,通过Tracking模块按时间顺序生成多个关键帧,将产生的关键帧输入LocalMapping模块,通过LocalMapping模块根据各所述关键帧进行局部建图,再通过LoopClosing对已建立的各局部地图进行回环检测更新,消除累积误差,从而获得初始场景地图集。
另外,所述对所述初始场景地图集进行安全区校正,获得目标场景地图集的步骤,包括:
步骤S321,获取安全区校正指令;
步骤S322,根据所述安全区校正指令划分所述初始场景地图集中对应的安全区,获得目标场景地图集。
本申请实施例中,可以通过获取用户手持VR手柄的移动轨迹来作为安全区校正指令,从而在已建立的初始场景地图集中的场景地图中划分出安全区内外的边界线,以在初始场景地图集的各场景地图中划分出对应的安全区域(如一块空旷的无障碍区域),让用户能再室内场景下在相对安全的安全区内活动,避免触碰到室内的危险物体或走到室外。
本申请实施例中通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
如此,本申请实施例的技术方案中在对头戴式设备进行定位追踪前,先对当前采集到的图像数据与地图集库进行匹配,在地图集库中存在与所述图像数据匹配的目标场景地图集时,无需额外进行地图构建与更新,使得头戴式设备能基于现有的地图集中进行定位自身位姿,节省了头戴式设备自身的CPU(Central Processing Unit,中央处理器)的算力,能让用于对头戴式设备的位置进行追踪的算力资源更为充足,保证定位信息的实时性,避免在提供给用户的显示图像中出现丢帧和位姿跳变的情况,并提高用户的观看体验。
进一步地,基于上述本申请室内场景SLAM追踪方法的第一实施例,提出本申请室内场景SLAM追踪方法的第二实施例。
在本实施例中,所述基于所述目标场景地图集对所述头戴式设备的位置进行追踪的步骤,还可以包括:
步骤A10,当触发预设的跟踪失效条件时,基于获取到的当前图像数据生成关键帧;
步骤A20,根据所述关键帧对当前场景进行局部建图,获得多个局部地图;
步骤A30,对各所述局部地图进行回环检测,生成更新场景地图集;
步骤A40,基于所述更新场景地图集对所述头戴式设备的位置进行追踪。
本申请实施例中,需要说明的是,步骤A10至步骤A40可以在步骤S20后执行,也可以在步骤S30后执行,即在成功获取目标场景地图集后,在对头戴式设备的位置进行追踪,并持续输出目标定位信息的过程中,若触发跟踪失效条件,则执行步骤A10至步骤A40。本申请实施例的技术方案提出了一种分离式SLAM的追踪方法,如图6所示,将Local Mapping与Loop Closing模块的开关由Tracking(跟踪)是否失效来控制。其中,Tracking失效可结合多种策略判断,例如:离开安全区、匹配特征点数连续过少、连续几帧追踪失效等跟踪失效条件,使得佩戴者在该场景下,绝大多数情况下都可以依据现有地图集进行追踪,从而无需重建地图,仅在跟踪失效时才执行Local Mapping模型与Loop Closing模块。另外需要说明的是,在Tracking失效后,通过SLAM算法进行地图建立与更新的方法与步骤S311至步骤S313的实施方式相同,在此不做赘述,其中,所述更新场景地图集为触发跟踪失效条件后,当前场景所对应的场景地图集。
进一步地,在所述基于当前获取到的图像数据生成关键帧的步骤之前,所述方法还可以包括:
步骤A11,当检测到所述头戴式设备的目标定位信息位于所述目标场景地图集的安全区之外时,触发跟踪失效条件;
步骤A12,在对所述头戴式设备的位置进行追踪的过程中,当相邻帧的匹配特征点数量少于第一预设数量达第二预设数量次时,触发跟踪失效条件;
步骤A13,当连续第三预设数量帧中所述头戴式设备定位失败时,触发跟踪失效条件。
本申请实施例中通过提供了在三种不同的情况下,出现跟踪失效时,启动LocalMapping、Loop Closing等模块来进行场景的地图构建与更新的方法,第一种情况为当用户移动到安全区之外时,此时安全区之外的场景所对应的地图是尚未建立的,所以需要触发执行SLAM算法的步骤,从而对当前所处场景的地图进行局部地图构建以及回环检测,获得对应的目标场景地图集;第二种情况为在对头戴式设备的位置进行追踪时,相邻两帧图像中匹配对应的特征点数量过少,此时难以根据特征点匹配进行有效的位姿预测,也不能输出精准的目标定位信息,所以触发跟踪失效条件。其中,所述第一预设数量为能输出符合用户定位精度要求的目标定位信息的最低匹配特征点数量,可以根据用户需求自行设置,所述第二预设数量次为在相邻帧的匹配特征点数量少于第一预设数量时影响对头戴式设备的定位追踪效果的最少数量次数;第三种情况为,在多帧中输出头戴式设备对应的定位信息失败时,即不能获得有效连续的目标定位信息时,VR设备或头戴式设备不能获得有效的定位信息,影响了用户的使用体验,此时需要触发跟踪失效条件。
本申请实施例中,在获取到目标场景地图集的情况下,则SLAM的追踪算法保留追踪线程,将Local Mapping、Loop Closing等模块对应的线程沉睡,只有在Tracking失效后,才会将其唤醒,用以提升SLAM的实时性,使得佩戴者感受不到VR设备中显示图像的位姿跳变,提升了用户的头戴式设备使用体验。
此外,本申请实施例还提供一种室内场景SLAM追踪装置,请参照图7,图7为本申请室内场景SLAM追踪装置一实施例的功能模块示意图,如图7所示,本申请室内场景SLAM追踪装置包括:
场景判断模块10,用于通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
第一追踪模块20,用于若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
第二追踪模块30,用于若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
可选地,所述场景判断模块10还用于:
通过预设特征提取算法提取所述图像数据中的各特征点;
依次在所述地图集库中的各地图集中匹配各所述特征点,得到各所述地图集分别对应的特征点匹配数量;
判断特征点匹配数量最多的地图集对应的特征点匹配数量与特征点总数量之间的比值是否大于预设比值;
若大于,则判定存在与所述图像数据匹配的目标场景地图集,并将所述特征点匹配数量最多的地图集置为目标场景地图集。
可选地,所述第二追踪模块30还用于:
通过预设的SLAM算法构建所述图像数据对应的初始场景地图集;
对所述初始场景地图集进行安全区校正,获得目标场景地图集。
可选地,所述第二追踪模块30还用于:
从所述图像数据中依次提取多个关键帧;
根据各所述关键帧对当前场景分别进行局部建图,得到多个局部地图;
对各所述局部地图进行回环检测,生成初始场景地图集。
可选地,所述第二追踪模块30还用于:
获取安全区校正指令;
根据所述安全区校正指令划分所述初始场景地图集中对应的安全区,获得目标场景地图集。
可选地,所述第一追踪模块20和所述第二追踪模块30还用于:
当触发预设的跟踪失效条件时,基于获取到的当前图像数据生成关键帧;
根据所述关键帧对当前场景进行局部建图,获得多个局部地图;
对各所述局部地图进行回环检测,生成更新场景地图集;
基于所述更新场景地图集对所述头戴式设备的位置进行追踪。
可选地,所述第一追踪模块20和所述第二追踪模块30还用于:
当检测到所述头戴式设备的目标定位信息位于所述目标场景地图集的安全区之外时,触发跟踪失效条件;
在对所述头戴式设备的位置进行追踪的过程中,当相邻帧的匹配特征点数量少于第一预设数量达第二预设数量次时,触发跟踪失效条件;
当连续第三预设数量帧中所述头戴式设备定位失败时,触发跟踪失效条件。
本申请室内场景SLAM追踪装置的各个功能模块在运行时的具体实施例与上述本申请室内场景SLAM追踪方法各实施例基本相同,在此不作赘述。
本申请还提供一种计算机存储介质,该计算机存储介质上存储有室内场景SLAM追踪程序,上述室内场景SLAM追踪程序被处理器执行时实现如以上任一项实施例所述的室内场景SLAM追踪程序方法的步骤。
本申请计算机存储介质的具体实施例与上述本申请室内场景SLAM追踪程序方法各实施例基本相同,在此不作赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如以上任一项实施例所述的本申请室内场景SLAM追踪方法的步骤,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台头戴式设备(可以是TWS耳机等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种室内场景SLAM追踪方法,其特征在于,所述室内场景SLAM追踪方法包括:
通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
2.如权利要求1所述的室内场景SLAM追踪方法,其特征在于,所述判断在预设的地图集库中是否存在与所述图像数据匹配的场景地图集的步骤,包括:
通过预设特征提取算法提取所述图像数据中的各特征点;
依次在所述地图集库中的各地图集中匹配各所述特征点,得到各所述地图集分别对应的特征点匹配数量;
判断特征点匹配数量最多的地图集对应的特征点匹配数量与特征点总数量之间的比值是否大于预设比值;
若大于,则判定存在与所述图像数据匹配的目标场景地图集,并将所述特征点匹配数量最多的地图集置为目标场景地图集。
3.如权利要求1所述的室内场景SLAM追踪方法,其特征在于,所述通过所述图像数据建立目标场景地图集的步骤,包括:
通过预设的SLAM算法构建所述图像数据对应的初始场景地图集;
对所述初始场景地图集进行安全区校正,获得目标场景地图集。
4.如权利要求3所述的室内场景SLAM追踪方法,其特征在于,所述通过预设的SLAM算法对构建所述图像数据对应的初始场景地图集的步骤,包括:
从所述图像数据中依次提取多个关键帧;
根据各所述关键帧对当前场景分别进行局部建图,得到多个局部地图;
对各所述局部地图进行回环检测,生成初始场景地图集。
5.如权利要求3所述的室内场景SLAM追踪方法,其特征在于,所述对所述初始场景地图集进行安全区校正,获得目标场景地图集的步骤,包括:
获取安全区校正指令;
根据所述安全区校正指令划分所述初始场景地图集中对应的安全区,获得目标场景地图集。
6.如权利要求1-5任一项所述的室内场景SLAM追踪方法,其特征在于,所述基于所述目标场景地图集对所述头戴式设备的位置进行追踪的步骤,包括:
当触发预设的跟踪失效条件时,基于获取到的当前图像数据生成关键帧;
根据所述关键帧对当前场景进行局部建图,获得多个局部地图;
对各所述局部地图进行回环检测,生成更新场景地图集;
基于所述更新场景地图集对所述头戴式设备的位置进行追踪。
7.如权利要求6所述的室内场景SLAM追踪方法,其特征在于,在所述基于当前获取到的图像数据生成关键帧的步骤之前,所述方法还包括:
当检测到所述头戴式设备的目标定位信息位于所述目标场景地图集的安全区之外时,触发跟踪失效条件;
在对所述头戴式设备的位置进行追踪的过程中,当相邻帧的匹配特征点数量少于第一预设数量达第二预设数量次时,触发跟踪失效条件;
当连续第三预设数量帧中所述头戴式设备定位失败时,触发跟踪失效条件。
8.一种室内场景SLAM追踪装置,其特征在于,所述室内场景SLAM追踪装置包括:
场景判断模块,用于通过头戴式设备采集当前场景对应的图像数据,判断在预设的地图集库中是否存在与所述图像数据匹配的目标场景地图集;
第一追踪模块,用于若存在,则基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息;
第二追踪模块,用于若不存在,则通过所述图像数据建立目标场景地图集,并基于所述目标场景地图集对所述头戴式设备的位置进行追踪,得到目标定位信息。
9.一种头戴式设备,其特征在于,所述头戴式设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的室内场景SLAM追踪程序,所述室内场景SLAM追踪程序被所述处理器执行时实现如权利要求1至7中任一项所述的室内场景SLAM追踪方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有室内场景SLAM追踪程序,所述室内场景SLAM追踪程序被处理器执行时实现如权利要求1至7中任一项所述的室内场景SLAM追踪方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311387213.XA CN117455989A (zh) | 2023-10-24 | 2023-10-24 | 室内场景slam追踪方法、装置、头戴式设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311387213.XA CN117455989A (zh) | 2023-10-24 | 2023-10-24 | 室内场景slam追踪方法、装置、头戴式设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117455989A true CN117455989A (zh) | 2024-01-26 |
Family
ID=89595903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311387213.XA Pending CN117455989A (zh) | 2023-10-24 | 2023-10-24 | 室内场景slam追踪方法、装置、头戴式设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117455989A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893693A (zh) * | 2024-03-15 | 2024-04-16 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
-
2023
- 2023-10-24 CN CN202311387213.XA patent/CN117455989A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893693A (zh) * | 2024-03-15 | 2024-04-16 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
CN117893693B (zh) * | 2024-03-15 | 2024-05-28 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210343027A1 (en) | Object tracking method and apparatus, storage medium and electronic device | |
JP7011608B2 (ja) | 3次元空間内の姿勢推定 | |
CN110986969B (zh) | 地图融合方法及装置、设备、存储介质 | |
CN110598559B (zh) | 检测运动方向的方法、装置、计算机设备和存储介质 | |
CN111273772B (zh) | 基于slam测绘方法的增强现实交互方法、装置 | |
EP4174716A1 (en) | Pedestrian tracking method and device, and computer readable storage medium | |
CN117455989A (zh) | 室内场景slam追踪方法、装置、头戴式设备及介质 | |
CN112181141B (zh) | Ar定位的方法、装置、电子设备及存储介质 | |
CN111832561B (zh) | 基于计算机视觉的字符序列识别方法、装置、设备和介质 | |
US20230401799A1 (en) | Augmented reality method and related device | |
CN114972958A (zh) | 关键点检测方法、神经网络的训练方法、装置和设备 | |
CN116580151A (zh) | 人体三维模型构建方法、电子设备及存储介质 | |
US10769795B2 (en) | Image processing method and device | |
CN114627268A (zh) | 视觉地图更新方法、装置、电子设备及介质 | |
CN112257645A (zh) | 人脸的关键点定位方法和装置、存储介质及电子装置 | |
CN110097061B (zh) | 一种图像显示方法及装置 | |
KR102465437B1 (ko) | 인공지능 기반 객체 추적 장치 및 방법 | |
CN112087728A (zh) | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 | |
CN114120448B (zh) | 图像处理方法和装置 | |
CN114510142B (zh) | 基于二维图像的手势识别方法及其系统和电子设备 | |
CN112528107A (zh) | 内容数据的展示方法、装置和服务器 | |
CN115641542B (zh) | 一种数据的处理方法、装置以及存储介质 | |
CN111611941A (zh) | 特效处理方法及相关设备 | |
CN112749600A (zh) | 人眼位置确定方法及相关产品 | |
CN117474992A (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 |