CN110855601A - Ar/vr场景地图获取方法 - Google Patents
Ar/vr场景地图获取方法 Download PDFInfo
- Publication number
- CN110855601A CN110855601A CN201810955869.XA CN201810955869A CN110855601A CN 110855601 A CN110855601 A CN 110855601A CN 201810955869 A CN201810955869 A CN 201810955869A CN 110855601 A CN110855601 A CN 110855601A
- Authority
- CN
- China
- Prior art keywords
- image frame
- frame
- feature information
- key frame
- map
- 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
Images
Classifications
-
- 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/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种头戴式显示设备的场景地图获取方法和设备。该方法包括:获取当前场景的第一图像帧和第二图像帧;获取至少一个候选场景地图,每个地图中包括至少一个关键帧;分别将第一图像帧和第二图像帧与关键帧进行匹配,确定与每个图像帧分别对应的目标关键帧;当所有目标关键帧属于同一个候选场景地图时,确定这一候选场景地图为与当前场景对应的当前场景地图;加载当前场景地图。
Description
技术领域
本发明涉及一种AR/VR场景构建的技术领域,特别是涉及一种搜索现有地图获取当前场景地图的装置和方法。
背景技术
虚拟现实(Virtual Reality,VR)和增强现实(Augmented Reality,AR)技术是近年来新兴的多媒体技术。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,增强现实技术是一种可以将虚拟现实和真实世界叠加并进行互动的技术。这两项新兴技术可以被广泛地应用在广告媒体、教育、工业、医疗、旅游、建筑、互动娱乐等领域,具有十分广阔的市场前景。目前AR/VR设备的主要的实现形式包括移动端和头戴式显示设备(Headmounted display,HMD)等。
AR/VR技术中比较基础与核心的一个问题是对AR/VR设备在空间环境中的定位,只有解决了这个问题才能让用户获得逼真的沉侵式体验和准确的现实增强。现有技术通常是使用SLAM(Simultaneous localization and mapping)算法来解决AR/VR设备的定位问题,在现有的SLAM算法中,场景地图构建的过程消耗了大量的计算资源和功耗,AR/VR设备实时构建场景代价高昂。一种现有的解决方案是将已经生成的地图存储在本地,用户在进入一个场景时对地图进行手动选择。但是这样的解决方式会额外占用用户的时间和注意力,同时随着现有地图数量的增多,用户选择正确地图的耗时与难度越来越大,严重降低用户体验。
因此,如何在不显著增加用户操作负担的情况下,更有效的节省AR/VR设备的场景地图构建运算负担,成为一个亟待解决的问题。
发明内容
本申请提供了一种场景地图获取方法及应用该方法的装置,通过在现有的场景地图中进行搜索,确定与当前场景匹配的当前场景地图,在存在与当前场景匹配的地图时节省AR/VR设备的建图运算负担。
第一方面,本申请提供了一种AR/VR设备,包括图像获取模块,可以用于获取当前场景的第一图像帧和第二图像帧,其中,第一图像帧的位姿与第二图像帧的位姿差异大于位姿设定值,位姿设定值可以为生成图像帧时设备姿态的差异,比如摄像机视角的角度差异值;也可以为生成图像帧时设备的位置差异,比如两个位置之间的距离;也可以是姿态和位置的综合差异,此处不做限定。该设备还包括地图搜索模块,可以用于将第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与第一图像帧对应的第一目标关键帧;将第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与第二图像帧对应的第二目标关键帧;其中,一个候选场景地图包括至少一个关键帧;当第一目标关键帧和第二目标关键帧属于同一个候选场景地图时,确定第一目标关键帧和第二目标关键帧所属的候选场景地图为与当前场景对应的当前场景地图。其中,当前场景是指AR/VR设备在使用时所处的场景,比如一个房间,或者一片场地,具体范围和大小根据使用需求而变化,此处不做限定。通过在现有的地图中进行搜索,寻找与当前场景匹配的当前场景地图,避免在已经存在当前场景地图时对当前场景重复建图,有效节省了AR/VR设备的建图运算负担,提高使用效率。
可选的,在将第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与第一图像帧对应的第一目标关键帧时,地图搜索模块具体可以用于:获取第一图像帧的特征信息,并将这一特征信息与关键帧的特征信息进行匹配,从而确定第一目标关键帧,在所有关键帧中,第一目标关键帧的特征信息与第一图像帧的特征信息之间的差异最小,其中,第一图像帧的特征信息包括第一图像帧中特征点的特征,关键帧的特征信息包括关键帧中特征点的特征。
可选的,在将第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与第二图像帧对应的第二目标关键帧时,地图搜索模块具体可以用于:获取第二图像帧的特征信息,并将这一特征信息与关键帧的特征信息进行匹配,从而确定第二目标关键帧,在所有关键帧中,第二目标关键帧的特征信息与第二图像帧的特征信息之间的差异最小,其中,第二图像帧的特征信息包括第二图像帧中特征点的特征,关键帧的特征信息包括关键帧中特征点的特征。
可选的,AR/VR设备还包括姿态获取模块,用于获取第一图像帧的图像帧姿态。在将第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与第一图像帧对应的第一目标关键帧时,地图搜索模块具体用于:将第一图像帧的图像帧姿态与关键帧姿态进行比较,从而确定第一图像帧对应的第一备选关键帧,第一备选关键帧的关键帧姿态与第一图像帧的图像帧姿态的差异小于第一筛选设定值;获取第一图像帧的特征信息,第一图像帧的特征信息包括第一图像帧中特征点的特征;将第一图像帧的特征信息与第一备选关键帧的特征信息进行匹配,从而确定第一目标关键帧,在所有第一备选关键帧中,第一目标关键帧的特征信息与第一图像帧的特征信息之间的差异最小,关键帧的特征信息包括关键帧中特征点的特征。这里的图像帧姿态为生成图像帧时,生成图像帧的设备的姿态;关键帧姿态为生成关键帧时,生成关键帧的设备的姿态。相比于特征点搜索,位姿搜索更加快捷简便,通过使用获取的位姿排除位姿差异较大的关键帧,减少了在后续特征点搜索过程中需要搜索的关键帧数量,有效提升了地图搜索效率,提高了用户体验。
可选的,所述姿态获取模块还用于获取第二图像帧的图像帧姿态。在将第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与第二图像帧对应的第二目标关键帧时,地图搜索模块具体用于:将第二图像帧的图像帧姿态与关键帧姿态进行比较,从而确定第二图像帧对应的第二备选关键帧,第二备选关键帧的关键帧姿态与第二图像帧的图像帧姿态的差异小于第二筛选设定值,此处的第二筛选值可以与前述第一筛选值相同,也可以不同;获取第二图像帧的特征信息,第二图像帧的特征信息包括第二图像帧中特征点的特征;将第二图像帧的特征信息与第二备选关键帧的特征信息进行匹配,从而确定第二目标关键帧,在所有第二备选关键帧中,第二目标关键帧的特征信息与第二图像帧的特征信息之间的差异最小,关键帧的特征信息包括关键帧中特征点的特征。这里的图像帧姿态为生成图像帧时,生成图像帧的设备的姿态;关键帧姿态为生成关键帧时,生成关键帧的设备的姿态。相比于特征点搜索,位姿搜索更加快捷简便,通过使用获取的位姿排除位姿差异较大的关键帧,减少了在后续特征点搜索过程中需要搜索的关键帧数量,有效提升了地图搜索效率,提高了用户体验。
可选的,AR/VR设备还包括地图生成模块,可以用于在第一目标关键帧和第二目标关键帧不属于同一个候选场景地图时,生成与当前场景对应的当前场景地图。当现有的地图中没有与当前场景匹配的当前场景地图时,设备针对当前场景建图,使用户能够在当前场景中使用设备。可选的,地图生成模块生成的地图经过至少一次全局优化。经过全局优化的地图建图准确性更高,与当前场景的实际情况更加契合,提升用户体验。
可选的,AR/VR设备还包括地图获取模块,用于从云服务器获取候选场景地图。通过从云服务器获取候选场景地图,增加了地图获取的灵活性和便捷性,使能够获取的地图不局限于本机生成过的地图,提高了搜索到匹配地图的可能性。
第二方面,本申请提供一种场景地图获取方法,包括:获取当前场景的第一图像帧和第二图像帧,其中,第一图像帧的位姿与第二图像帧的位姿差异大于位姿设定值,位姿设定值可以为生成图像帧时设备姿态的差异,比如摄像机视角的角度差异值;也可以为生成图像帧时设备的位置差异,比如两个位置之间的距离;也可以是姿态和位置的综合差异,此处不做限定。获取至少一个候选场景地图,每一个候选场景地图包括至少一个关键帧。将第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与第一图像帧对应的第一目标关键帧;将第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与第二图像帧对应的第二目标关键帧。当第一目标关键帧和第二目标关键帧属于同一个候选场景地图时,确定第一目标关键帧和第二目标关键帧所属的候选场景地图为与当前场景对应的当前场景地图。其中,当前场景是指AR/VR设备在使用时所处的场景,比如一个房间,或者一片场地,具体范围和大小根据使用需求而变化,此处不做限定。通过在现有的地图中进行搜索,寻找与当前场景匹配的当前场景地图,避免在已经存在当前场景地图时对当前场景重复建图,有效节省了AR/VR设备的建图运算负担,提高使用效率。
可选的,将第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与第一图像帧对应的第一目标关键帧具体可以为:获取第一图像帧的特征信息,并将这一特征信息与关键帧的特征信息进行匹配,从而确定第一目标关键帧,在所有关键帧中,第一目标关键帧的特征信息与第一图像帧的特征信息之间的差异最小,其中,第一图像帧的特征信息包括第一图像帧中特征点的特征,关键帧的特征信息包括关键帧中特征点的特征。
可选的,将第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与第二图像帧对应的第二目标关键帧具体可以为:获取第二图像帧的特征信息,并将这一特征信息与关键帧的特征信息进行匹配,从而确定第二目标关键帧,在所有关键帧中,第二目标关键帧的特征信息与第二图像帧的特征信息之间的差异最小,其中,第二图像帧的特征信息包括第二图像帧中特征点的特征,关键帧的特征信息包括关键帧中特征点的特征。
可选的,还可以获取第一图像帧的图像帧姿态,并将第一图像帧的图像帧姿态与关键帧姿态进行比较,从而确定第一图像帧对应的第一备选关键帧,第一备选关键帧的关键帧姿态与第一图像帧的图像帧姿态的差异小于第一筛选设定值;获取第一图像帧的特征信息,第一图像帧的特征信息包括第一图像帧中特征点的特征;将第一图像帧的特征信息与第一备选关键帧的特征信息进行匹配,从而确定第一目标关键帧,在所有第一备选关键帧中,第一目标关键帧的特征信息与第一图像帧的特征信息之间的差异最小,关键帧的特征信息包括关键帧中特征点的特征。这里的图像帧姿态为生成图像帧时,生成图像帧的设备的姿态;关键帧姿态为生成关键帧时,生成关键帧的设备的姿态。相比于特征点搜索,位姿搜索更加快捷简便,通过使用获取的位姿排除位姿差异较大的关键帧,减少了在后续特征点搜索过程中需要搜索的关键帧数量,有效提升了地图搜索效率,提高了用户体验。
可选的,还可以获取第二图像帧的图像帧姿态,并将第二图像帧的图像帧姿态与关键帧姿态进行比较,从而确定第二图像帧对应的第二备选关键帧,第二备选关键帧的关键帧姿态与第二图像帧的图像帧姿态的差异小于第二筛选设定值,此处的第二筛选值可以与前述第一筛选值相同,也可以不同;获取第二图像帧的特征信息,第二图像帧的特征信息包括第二图像帧中特征点的特征;将第二图像帧的特征信息与第二备选关键帧的特征信息进行匹配,从而确定第二目标关键帧,在所有第二备选关键帧中,第二目标关键帧的特征信息与第二图像帧的特征信息之间的差异最小,关键帧的特征信息包括关键帧中特征点的特征。这里的图像帧姿态为生成图像帧时,生成图像帧的设备的姿态;关键帧姿态为生成关键帧时,生成关键帧的设备的姿态。相比于特征点搜索,位姿搜索更加快捷简便,通过使用获取的位姿排除位姿差异较大的关键帧,减少了在后续特征点搜索过程中需要搜索的关键帧数量,有效提升了地图搜索效率,提高了用户体验。
可选的,还可以在第一目标关键帧和第二目标关键帧不属于同一个候选场景地图时,生成与当前场景对应的当前场景地图。当现有的地图中没有与当前场景匹配的当前场景地图时,设备针对当前场景建图,使用户能够在当前场景中使用设备。可选的,地图生成模块生成的地图经过至少一次全局优化。经过全局优化的地图建图准确性更高,与当前场景的实际情况更加契合,提升用户体验。
可选的,还可以从云服务器获取候选场景地图。通过从云服务器获取候选场景地图,增加了地图获取的灵活性和便捷性,使能够获取的地图不局限于本机生成过的地图,提高了搜索到匹配地图的可能性。
附图说明
图1为一种场景地图获取装置逻辑结构示意图;
图2为一种场景地图获取装置的装置结构示意图;
图3为一种场景地图获取方法的流程示意图;
图4为一种场景地图构建方法的流程示意图;
图5为一种场景地图存储结构示意图;
图6为一种相对位姿示意图;
图7为一种场景地图搜索方法流程示意图;
图8为又一种场景地图搜索方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。以下讨论的附图和说明以及该专利文档中的各种实施例仅通过举例说明的方式描述本发明的原理,而不应以任何方式理解为对本发明范围的限制。
请参阅图1,为本发明场景地图获取装置的一可能实施例。如图1所示,场景地图获取装置100包括图像获取模块110,位姿获取模块120和处理模块130。在一些可能的实施方式中,还可以包括地图获取模块地图获取模块140。场景地图获取装置100可以实现为头戴式显示设备(Head Mounted Display,HMD)或移动终端等AR/VR设备。
图像获取模块110用于获取当前场景的图像帧并传输给处理模块130。所获取的当前场景图像帧可以用于提取当前场景的特征信息以及辅助计算设备的精确位姿。
位姿获取模块120用于测量设备的位姿设备的加速度等信息,以计算设备的位姿,并将设备的位姿信息传输给处理模块130。设备的位姿包括设备的位置和姿态两方面内容。位姿获取模块获得的设备位姿是一个误差较大的测量值,只能作为定位算法的一项输入,由于测量精度等限制,传感器测量出的位姿并不能完全反映设备当前的真实位姿,更精确的设备位姿还需要通过处理模块进一步计算。
处理模块130可以包括地图生成模块131和地图搜索模块132。在一些可能的实施方式中,处理模块可能只包括地图生成模块或者只包括地图搜索模块,在此不做限定。其中,地图生成模块131用于利用位姿获取模块120输入的位姿信息和图像获取模块110输入的图像信息,通过SLAM算法计算设备位姿以及当前周围场景的地图。地图搜索模块132用于根据位姿获取模块120输入的位姿和图像获取模块110输入的图像帧,在地图获取模块140获取的候选场景地图中检索与当前场景匹配的地图。
地图获取模块140用于获取候选地图,候选地图具体可以包括地图生成模块131生成的地图,也可以包括已经存在的地图。地图获取模块可以从本地存储设备中获取候选地图,也可以从云存储等非本地存储设备中获取候选地图,在此不做限定。
请参阅图2,为本发明场景地图获取装置的又一可能实施例。如图2所示,场景地图获取装置200包括相机模组210,位姿传感器220和处理器230。在一些可能的实施方式中,还可以包括存储器240。场景地图获取装置200可以实现为HMD设备。
相机模组210用于获取当前场景图像帧并传输给处理器230。所获取的图像帧可以用于提取当前场景的特征信息以及辅助计算设备的精确位姿。
位姿传感器220用于测量设备的加速度等信息,以计算设备的位姿,并将设备的位姿传输给处理器230。由于测量精度等限制,位姿传感器测量的位姿并不能完全反映设备当前的真实位姿,更精确的设备位姿还需要通过处理器进一步计算。
处理器230用于生成地图和检索地图。具体的,生成地图是指处理器230利用位姿传感器220输入的位姿和相机模组210输入的当前场景图像帧,通过SLAM算法计算设备的位姿以及当前周围场景的地图。检索地图是指处理器230利用位姿传感器220输入的设备的位姿和相机模组210输入的图像帧,在存储器240中检索与当前场景匹配的地图。在设备200不包括存储器240时,也可以在云端等非本地存储的设备中检索匹配地图。
存储器240用于存储地图,具体可以包括处理器230生成的地图,也可以包括已经存在的地图。当设备200中不包括存储器时,地图也可以实现为云存储等非本地存储形式,在此不做限定。
请参阅图3,为本发明的场景地图获取方法一实施例示意图。
S310判定是否进入建图模式。如果判定结果为是,进入S320开始建图;如果判定结果为否,进入S330开始地图搜索。这一判定过程可以是由用户手动进行选择是否进入建图模式,也可以是系统自动进行判定,此处不做限定。通常情况下,当明确知晓设备不能调取符合当前场景的地图时,可以选择进入建图模式,比如当启用一台无地图的全新设备或者本地地图模式下设备在全新场景使用时。
S320构建并存储地图。当在S310判定直接进入建图模式或者在S330地图搜索失败时,系统进入建图模式,开始构建与设备当前使用场景匹配的地图,并将构建出的地图进行存储。用户使用所建地图并不以本步骤中的存储动作为前提,即用户可以在设备建图的同时使用设备,也可以等待建图完毕后再使用设备,对此不做限定。在地图构建的过程中,已构建的地图可以进行加载,以供设备使用。新生成的质量更优的地图可以替换已经生成的旧地图,当整个建图过程完成时,可以对质量最优的地图进行存储。此处的存储可以是存储在本地存储介质中,也可以是采用非本地存储形式(如云存储),抑或是其他具有存储功能的设备或地址,此处不做限定。
S330地图搜索。当在S310中判定为不进入建图模式时,系统进入地图搜索模式,在现有的地图中检索与当前场景匹配的地图。现有地图可以存放在本地存储器上,也可以采用非本地存储比如云或外接存储设备等,此处不做限定。
S340判定地图是否匹配成功。如果判定结果为是,即检索到匹配当前场景的地图,则进入S350加载地图;如果判定结果为否,即未检索到匹配当前场景的地图,则进入S320,开始构建并存储地图。
S350加载地图。当检索到匹配的地图,或者需要使用正在构建的地图内容时,系统对检索到的匹配地图或者需要使用的正在构建的地图内容进行加载,以便基于离线地图的定位算法进行调用。
S320中的地图构建方式具体请参见图4。
S321获取图像及对应的设备位姿,计算当前场景地图及与该当前场景地图对应的关键帧。对应的设备位姿记录了设备在生成前述图像帧时设备的位姿。通过图像获取装置和传感装置获得一系列图像帧以及与这些图像帧对应的设备位姿,使用SLAM算法计算设备当前场景的地图及对应的关键帧。关键帧是从一系列图像帧中按照一定标准选出来的特别帧,选取标准可以为设备移动一定距离,或者旋转一定角度等,此处不做限定。具体在构建局部地图时,设备会检测SLAM是否闭环,若检测到闭环,会对已生成的地图和关键帧进行全局优化。闭环是指前后两次获得的两幅图像中一定比例的特征点相同,具体比例可根据需要进行设定,在此不做限定。全局优化是指利用闭环帧序列中所有关键帧及其共视地图点进行一次地图点坐标及关键帧位姿的联合优化,以使所有地图点到关键帧的重投影误差的均值降低。
S322建图结束,判断是否经过至少一次全局优化。建图过程的结束可以由上层应用进行控制,比如用户终止建图过程;也可以被动停止,比如系统断电。判断S321中所建的地图是否经过至少一次全局优化,如果所建地图没有经过全局优化,则进入S323,认为建图品质不合格,建图失败,重新开始建图;如果经过至少一次全局优化,则进入S324,存储地图。
S323建图失败,重新开始建图。放弃本次建图结果,为用户返回本次建图失败的提示。
S324将地图点云及关键帧序列保存为场景地图。场景地图的一种可能结构如图5所示。场景地图包括了地图点云和关键帧序列两部分,其中地图点云包括了当前场景内,物理世界中的特征点(例如桌椅的边、角等)的三维坐标,以及这些特征点的描述子(特征描述信息)。关键帧序列为生成这些地图点云的关键帧的集合,其中每个关键帧包括了关键帧自身与世界的相对位姿,还包括了被其观测到的特征点的ID及其对应的描述子(特征描述信息)。关键帧自身与世界的相对位姿包括了位置与姿态两个属性。相对位姿可以用4*4的Tcw(T:transformation matrix,C:Camera coordinate,W:World coordinate)矩阵描述,如图6所示。Tcw矩阵可以实现为欧氏矩阵,也可以实现为其他能够实现本发明目的的矩阵形式,此处不做限定,本申请以欧氏矩阵为例进行说明。图中Tcw矩阵左上角的3*3子阵表示的是相机坐标系与世界坐标系之间的旋转矩阵,即姿态,定义世界坐标系(x,y,z)三轴分别指向东,北,天。Tcw矩阵的右上角的3*1子阵可表明相机的位置,世界坐标系的原点与关键帧序列中第一帧关键帧的相机坐标系原点重合。相对位姿还可以用其他表达方式进行存储,在此处不做限定。需要注意的是,本实施例中的矩阵及坐标实现方式并不构成对本发明的限定。
S330中地图搜索方式的一种可能实施方式请参见图7。
S3311获取第一图像帧及其对应的姿态R1,R1即相机系与世界系之间的旋转角度。通过位姿传感装置获取生成第一图像帧时图像获取装置的姿态,即相机系与世界系之间的旋转角度R1,其中世界系是指应用场景的固定惯性坐标系,原点可以不用定义,通常使用第一个关键帧的相机坐标系原点位置为其原点。坐标系的三个坐标轴方向互相垂直,可以分别为x轴指向东方,y轴指向北方,z轴指向天空;相机坐标系是以相机的光心为原点,三个坐标轴互相垂直,坐标轴可以分别为指向相机外的光轴方向为z轴,图像的水平向左方向为x轴,垂直向下方向为y轴。本实施例中坐标轴的确定方式并不构成对本申请的限定,其他可以实现本发明目的的坐标轴确定方式仍属于本申请技术方案的保护范围,此处不再赘述。旋转角度是指将旋转矩阵转换成欧拉角之后的欧拉角的值。
S3312搜索所有场景地图中关键帧的姿态,与第一图像帧的姿态比较,找出所有与R1差别小于第一筛选设定值的关键帧,集合为K1。存储装置中存有候选场景地图,候选场景地图中包括了关键帧。系统将所有关键帧的姿态与第一图像帧的姿态进行比较,将所有差别小于第一筛选设定值(比如5°)的姿态对应的关键帧的集合设为K1。关键帧的姿态记录了生成关键帧的设备在生成关键帧时的姿态。
S3313获取第一图像帧中所有特征点的特征,在K1中搜索,找到第一目标关键帧。第一目标关键帧是与第一图像帧最匹配的关键帧,记录第一目标关键帧所属地图为M1。这里在K1中的搜索方式可以采用词袋匹配(Bag of words)的方法进行,也可以采用任何其他能实现本发明目的的方式,此处不做限定。
S3314改变设备位姿,获取第二图像帧及其对应的设备姿态R2。这里可以提示用户改变设备位姿,当位姿传感装置检测到设备的姿态与R1间的差异大于位姿设定值(比如20°)时,获取当前图像帧作为第二图像帧,确定此时的设备姿态为R2。
S3315搜索所有场景地图中关键帧的姿态,与R2进行比较,找出所有与R2差别小于第二筛选设定值的关键帧,其集合为K2。系统将所有关键帧的姿态与第二图像帧的姿态R2进行比较,将所有差别小于第二筛选设定值(比如5°)的姿态对应的关键帧的集合设为K2。第二筛选设定值也可以不等于第一筛选设定值,此处不做限定。
S3316获取第二图像帧中所有特征点的特征,在K2中搜索,找到第二目标关键帧。第二目标关键帧是与第二图像帧最匹配的关键帧,记录第二目标关键帧所属地图为M2。这里在K2中的搜索方式可以采用词袋匹配(Bag of words)的方法进行,也可以采用任何其他能实现本发明目的的方式,此处不做限定。
S3317判定M1是否与M2为相同地图。如果M1与M2是同一地图,则认为地图匹配成功,M1或M2代表的地图即为与当前场景对应的当前场景地图,将当前场景地图进行加载;如果M1与M2不是同一地图,则进入S3318。在一些可能的实施方式中,系统可以多次重复S3314-S3316的过程以获取多个目标关键帧,来判断这些目标关键帧所属的地图是否为同一地图,如果是同一地图则认为地图匹配成功,具体过程与本实施例记载的方法一致,此处不再赘述。
S3318判断搜索总耗时是否大于设定值t。如果搜索总耗时大于设定值t(比如2分钟),判定无与当前场景对应的当前场景地图;如果搜索总耗时不大于设定值t,则进入S3319。此处限定搜索时间t的意义在于避免不存在当前场景地图时系统搜索不停止。
S3319将M2重记录为M1,R2重记录为R1,K2重记录为K1,并返回S3314,再次改变设备位姿重新进行匹配。
在另一种可能的实施方式中,S3311到S3317如图7中所述,在S3318中,如果搜索总耗时大于设定值t,判定无当前场景地图;如果搜索总耗时不大于设定值t,直接返回3311重新开始整个搜索过程。
S330中地图搜索方式的又一种可能实施方式请参见图8
S3321获取第一图像帧中所有特征点的特征,在所有候选场景地图的关键帧中搜索,找到第一目标关键帧,记录此关键帧所属地图为M1。这里第一目标关键帧的搜索方式可以采用词袋匹配(Bag of words)的方法进行,也可以采用任何其他能实现本发明目的的方式,此处不做限定。
S3322改变设备位姿,获取第二图像帧。第二图像帧的具体获取方法可以参照图7所述,此处不再赘述。
S3323获取第二图像帧中所有特征点的特征,在所有候选场景地图的关键帧中搜索,找到第二目标关键帧,记录此关键帧所属地图为M2。这里第二目标关键帧的搜索方式可以采用词袋匹配(Bag of words)的方法进行,也可以采用任何其他能实现本发明目的的方式,此处不做限定。
S3324判定M1是否与M2为相同地图。如果M1与M2是同一地图,则认为地图匹配成功,M1或M2代表的地图即为与当前场景对应的当前场景地图,将当前场景地图进行加载;如果M1与M2不是同一地图,则进入S3325。在一些可能的实施方式中,系统可以多次重复S3322-S3323的过程以获取多个目标关键帧,来判断这些关键帧所述的地图是否为同一地图,如果是同一地图则认为地图匹配成功,具体过程与本实施例记载的方法一致,此处不再赘述。
S3325判断搜索总耗时是否大于设定值t。如果搜索总耗时大于设定值t(比如2分钟),判定无与当前场景对应的当前场景地图;如果搜索总耗时不大于设定值t,则进入S3326。此处限定搜索时间t的意义在于避免不存在当前场景地图时系统搜索不停止。
S3326将M2重记录为M1,并返回S3322,再次改变设备位姿重新进行匹配。
在另一种可能的实施方式中,S3321到S3324如图8中所述,在S3325中,如果搜索总耗时大于设定值t,判定无与当前场景对应的当前场景地图;如果搜索总耗时不大于设定值t,直接返回3321重新开始整个搜索过程。
本发明实施例中提及的各处理器的功能均可以采取完全的硬件实施例的形式、完全的软件实施例(包括固件、常驻软件和微代码等)的形式或结合了软件和硬件方面的实施例的形式来实现,其中,所有的这些形式通常都可称作“电路”、“模块”或“系统”。各处理器可以通过现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital SignalProcessor,DSP)和单独的或组合的通用处理器,以及相关联的软件、固件和胶合逻辑来实现。所有处理器都可以包括一个或多个处理器,当包括多个处理器时,这多个处理器可以集成在同一块芯片上,也可以各自为独立的芯片。一个处理器可以包括一个或多个物理核,其中物理核为最小的处理模块。
存储器可以是以下类型中的一种或多种:闪速(flash)存储器、硬盘类型存储器、微型多媒体卡型存储器、卡式存储器(例如SD或XD存储器)、随机存取存储器(randomaccess memory,RAM)、静态随机存取存储器(static RAM,SRAM)、只读存储器(read onlymemory,ROM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、可编程只读存储器(programmable ROM,PROM)、磁存储器、磁盘或光盘,或者是具有存储功能的云服务。
在其他一些实施例中,存储器180也可以是因特网上的网络存储设备,终端设备100可以对在因特网上的存储器180执行更新或读取等操作
应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种实施方式”或“一些实施方式”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
Claims (16)
1.一种AR/VR设备,其特征在于,包括:
图像获取模块,用于获取当前场景的第一图像帧和第二图像帧,所述第一图像帧的位姿与所述第二图像帧的位姿差异大于位姿设定值;
地图搜索模块,用于将所述第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第一图像帧对应的第一目标关键帧;将所述第二图像帧与所述候选场景地图中的关键帧进行匹配,从而确定与所述第二图像帧对应的第二目标关键帧;其中,一个所述候选场景地图包括至少一个关键帧;当所述第一目标关键帧和所述第二目标关键帧属于同一个候选场景地图时,确定所述第一目标关键帧和所述第二目标关键帧所属的候选场景地图为与所述当前场景对应的当前场景地图。
2.如权利要求1所述的AR/VR设备,其特征在于,在将所述第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第一图像帧对应的第一目标关键帧时,所述地图搜索模块具体用于:
获取所述第一图像帧的特征信息,所述第一图像帧的特征信息包括所述第一图像帧中特征点的特征;
将所述第一图像帧的特征信息与所述关键帧的特征信息进行匹配,从而确定所述第一目标关键帧,在所有所述关键帧中,所述第一目标关键帧的特征信息与所述第一图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
3.如权利要求1或2所述的AR/VR设备,其特征在于,在将所述第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第二图像帧对应的第二目标关键帧时,所述地图搜索模块具体用于:
获取所述第二图像帧的特征信息,所述第二图像帧的特征信息包括所述第二图像帧中特征点的特征;
将所述第二图像帧的特征信息与所述关键帧的特征信息进行匹配,从而确定所述第二目标关键帧,在所有所述关键帧中,所述第二目标关键帧的特征信息与所述第二图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
4.如权利要求1所述的AR/VR设备,其特征在于,所述设备还包括姿态获取模块,用于获取所述第一图像帧的图像帧姿态;
在将所述第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第一图像帧对应的第一目标关键帧时,所述地图搜索模块具体用于:
将所述第一图像帧的图像帧姿态与关键帧姿态进行比较,从而确定所述第一图像帧对应的第一备选关键帧,所述第一备选关键帧的关键帧姿态与所述第一图像帧的图像帧姿态的差异小于第一筛选设定值;
获取所述第一图像帧的特征信息,所述第一图像帧的特征信息包括所述第一图像帧中特征点的特征;
将所述第一图像帧的特征信息与所述第一备选关键帧的特征信息进行匹配,从而确定所述第一目标关键帧,在所有所述第一备选关键帧中,所述第一目标关键帧的特征信息与所述第一图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
5.如权利要求4所述的AR/VR设备,其特征在于,所述姿态获取模块还用于获取所述第二图像帧的图像帧姿态;
在将所述第二图像帧与所述候选场景地图中的关键帧进行匹配,从而确定与所述第二图像帧对应的第二目标关键帧时,所述地图搜索模块具体用于:
将所述第二图像帧的图像帧姿态与关键帧姿态进行比较,从而确定所述第二图像帧对应的第二备选关键帧,所述第二备选关键帧的关键帧姿态与所述第二图像帧的图像帧姿态的差异小于第二筛选设定值;
获取所述第二图像帧的特征信息,所述第二图像帧的特征信息包括所述第二图像帧中特征点的特征;
将所述第二图像帧的特征信息与所述第二备选关键帧的特征信息进行匹配,从而确定所述第二目标关键帧,在所有所述第二备选关键帧中,所述第二目标关键帧的特征信息与所述第二图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
6.如权利要求1-5任一项所述的AR/VR设备,其特征在于,所述设备还包括地图生成模块,用于在所述第一目标关键帧和所述第二目标关键帧不属于同一个候选场景地图时,生成与所述当前场景对应的当前场景地图。
7.如权利要求6所述的AR/VR设备,其特征在于,所述地图生成模块,还用于对生成的所述当前场景地图进行至少一次全局优化。
8.如权利要求1-7任一项所述的AR/VR设备,其特征在于,还包括地图获取模块,用于从云服务器获取所述候选场景地图。
9.一种场景地图获取方法,其特征在于,包括:
获取当前场景的第一图像帧和第二图像帧,所述第一图像帧的位姿与所述第二图像帧的位姿差异大于位姿设定值;
获取至少一个候选场景地图,每一个所述候选场景地图包括至少一个关键帧;
将所述第一图像帧与所述候选场景地图中的关键帧进行匹配,从而确定与所述第一图像帧对应的第一目标关键帧;将所述第二图像帧与所述候选场景地图中的关键帧进行匹配,从而确定与所述第二图像帧对应的第二目标关键帧;当所述第一目标关键帧和所述第二目标关键帧属于同一个候选场景地图时,确定所述第一目标关键帧和所述第二目标关键帧所属的候选场景地图为与所述当前场景对应的当前场景地图。
10.如权利要求9所述的场景地图获取方法,其特征在于,所述将所述第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第一图像帧对应的第一目标关键帧包括:
获取所述第一图像帧的特征信息,所述第一图像帧的特征信息包括所述第一图像帧中特征点的特征;
将所述第一图像帧的特征信息与所述关键帧的特征信息进行匹配,从而确定所述第一目标关键帧,在所有所述关键帧中,所述第一目标关键帧的特征信息与所述第一图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
11.如权利要求9或10所述的场景地图获取方法,其特征在于,所述将所述第二图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第二图像帧对应的第二目标关键帧包括:
获取所述第二图像帧的特征信息,所述第二图像帧的特征信息包括所述第二图像帧中特征点的特征;
将所述第二图像帧的特征信息与所述关键帧的特征信息进行匹配,从而确定所述第二目标关键帧,在所述关键帧中,所述第二目标关键帧的特征信息与所述第二图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
12.如权利要求9所述的场景地图获取方法,其特征在于,所述方法还包括获取所述第一图像帧的图像帧姿态;
所述将所述第一图像帧与候选场景地图中的关键帧进行匹配,从而确定与所述第一图像帧对应的第一目标关键帧具体包括:
将所述第一图像帧的图像帧姿态与关键帧姿态进行比较,从而确定所述第一图像帧对应的第一备选关键帧,所述第一备选关键帧的关键帧姿态与所述第一图像帧的图像帧姿态的差异小于第一筛选设定值;
获取所述第一图像帧的特征信息,所述第一图像帧的特征信息包括所述第一图像帧中特征点的特征;
将所述第一图像帧的特征信息与所述第一备选关键帧的特征信息进行匹配,从而确定所述第一目标关键帧,在所有所述第一备选关键帧中,所述第一目标关键帧的特征信息与所述第一图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
13.如权利要求12所述的场景地图获取方法,其特征在于,所述方法还包括获取所述第二图像帧的图像帧姿态;
所述将所述第二图像帧与所述候选场景地图中的关键帧进行匹配,从而确定与所述第二图像帧对应的第二目标关键帧包括:
将所述第二图像帧的图像帧姿态与关键帧姿态进行比较,从而确定所述第二图像帧对应的第二备选关键帧,所述第二备选关键帧的关键帧姿态与所述第二图像帧的图像帧姿态的差异小于第二筛选设定值;
获取所述第二图像帧的特征信息,所述第二图像帧的特征信息包括所述第二图像帧中特征点的特征;
将所述第二图像帧的特征信息与所述第二备选关键帧的特征信息进行匹配,从而确定所述第二目标关键帧,在所有所述第二备选关键帧中,所述第二目标关键帧的特征信息与所述第二图像帧的特征信息之间的差异最小,所述关键帧的特征信息包括所述关键帧中特征点的特征。
14.如权利要求9-13所述的场景地图获取方法,其特征在于,所述方法还包括:当所述第一目标关键帧和所述第二目标关键帧不属于同一个候选场景地图时,生成与所述当前场景对应的当前场景地图。
15.如权利要求14所述的场景地图获取方法,其特征在于,所述方法还包括对所述当前场景地图进行至少一次全局优化。
16.如权利要求9-15任一项所述的场景地图获取方法,其特征在于,所述获取至少一个候选场景地图具体为,从云服务器获取所述候选场景地图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810955869.XA CN110855601B (zh) | 2018-08-21 | 2018-08-21 | Ar/vr场景地图获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810955869.XA CN110855601B (zh) | 2018-08-21 | 2018-08-21 | Ar/vr场景地图获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855601A true CN110855601A (zh) | 2020-02-28 |
CN110855601B CN110855601B (zh) | 2021-11-19 |
Family
ID=69595334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810955869.XA Active CN110855601B (zh) | 2018-08-21 | 2018-08-21 | Ar/vr场景地图获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855601B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111665943A (zh) * | 2020-06-08 | 2020-09-15 | 浙江商汤科技开发有限公司 | 一种位姿信息展示方法及装置 |
CN111815738A (zh) * | 2020-06-15 | 2020-10-23 | 北京沃东天骏信息技术有限公司 | 一种构建地图的方法和装置 |
CN112597326A (zh) * | 2020-12-11 | 2021-04-02 | 联想(北京)有限公司 | 一种场景地图文件处理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103900583A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 用于即时定位与地图构建的设备和方法 |
CN104537709A (zh) * | 2014-12-15 | 2015-04-22 | 西北工业大学 | 一种基于位姿变化的实时三维重建关键帧确定方法 |
CN105023266A (zh) * | 2014-04-29 | 2015-11-04 | 高德软件有限公司 | 增强现实实现方法、装置和终端设备 |
CN105143821A (zh) * | 2013-04-30 | 2015-12-09 | 高通股份有限公司 | 依据slam地图的广域定位 |
CN107025661A (zh) * | 2016-01-29 | 2017-08-08 | 成都理想境界科技有限公司 | 一种实现增强现实的方法、服务器、终端及系统 |
CN107193279A (zh) * | 2017-05-09 | 2017-09-22 | 复旦大学 | 基于单目视觉和imu信息的机器人定位与地图构建系统 |
CN108072370A (zh) * | 2016-11-18 | 2018-05-25 | 中国科学院电子学研究所 | 基于全局地图的机器人导航方法及用该方法导航的机器人 |
US20180211401A1 (en) * | 2017-01-26 | 2018-07-26 | Samsung Electronics Co., Ltd. | Stereo matching method and apparatus, image processing apparatus, and training method therefor |
CN108388637A (zh) * | 2018-02-26 | 2018-08-10 | 腾讯科技(深圳)有限公司 | 一种用于提供增强现实服务的方法、装置以及相关设备 |
-
2018
- 2018-08-21 CN CN201810955869.XA patent/CN110855601B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103900583A (zh) * | 2012-12-25 | 2014-07-02 | 联想(北京)有限公司 | 用于即时定位与地图构建的设备和方法 |
CN105143821A (zh) * | 2013-04-30 | 2015-12-09 | 高通股份有限公司 | 依据slam地图的广域定位 |
CN105023266A (zh) * | 2014-04-29 | 2015-11-04 | 高德软件有限公司 | 增强现实实现方法、装置和终端设备 |
CN104537709A (zh) * | 2014-12-15 | 2015-04-22 | 西北工业大学 | 一种基于位姿变化的实时三维重建关键帧确定方法 |
CN107025661A (zh) * | 2016-01-29 | 2017-08-08 | 成都理想境界科技有限公司 | 一种实现增强现实的方法、服务器、终端及系统 |
CN108072370A (zh) * | 2016-11-18 | 2018-05-25 | 中国科学院电子学研究所 | 基于全局地图的机器人导航方法及用该方法导航的机器人 |
US20180211401A1 (en) * | 2017-01-26 | 2018-07-26 | Samsung Electronics Co., Ltd. | Stereo matching method and apparatus, image processing apparatus, and training method therefor |
CN107193279A (zh) * | 2017-05-09 | 2017-09-22 | 复旦大学 | 基于单目视觉和imu信息的机器人定位与地图构建系统 |
CN108388637A (zh) * | 2018-02-26 | 2018-08-10 | 腾讯科技(深圳)有限公司 | 一种用于提供增强现实服务的方法、装置以及相关设备 |
Non-Patent Citations (1)
Title |
---|
桂振文: "面向移动增强现实的场景识别与跟踪注册技术研究", 《中国博士学位论文全文数据库(信息科技辑)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111665943A (zh) * | 2020-06-08 | 2020-09-15 | 浙江商汤科技开发有限公司 | 一种位姿信息展示方法及装置 |
CN111665943B (zh) * | 2020-06-08 | 2023-09-19 | 浙江商汤科技开发有限公司 | 一种位姿信息展示方法及装置 |
CN111815738A (zh) * | 2020-06-15 | 2020-10-23 | 北京沃东天骏信息技术有限公司 | 一种构建地图的方法和装置 |
CN111815738B (zh) * | 2020-06-15 | 2024-01-12 | 北京京东乾石科技有限公司 | 一种构建地图的方法和装置 |
CN112597326A (zh) * | 2020-12-11 | 2021-04-02 | 联想(北京)有限公司 | 一种场景地图文件处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110855601B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Reference pose generation for long-term visual localization via learned features and view synthesis | |
CN112461230B (zh) | 机器人重定位方法、装置、机器人和可读存储介质 | |
CN108805917B (zh) | 空间定位的方法、介质、装置和计算设备 | |
JP5722502B2 (ja) | モバイルデバイスのための平面マッピングおよびトラッキング | |
AU2022256192B2 (en) | Multi-sync ensemble model for device localization | |
Tanskanen et al. | Live metric 3D reconstruction on mobile phones | |
WO2019169540A1 (zh) | 紧耦合视觉slam的方法、终端及计算机可读存储介质 | |
Arth et al. | Real-time self-localization from panoramic images on mobile devices | |
CN110855601B (zh) | Ar/vr场景地图获取方法 | |
CN110648397B (zh) | 场景地图生成方法、装置、存储介质及电子设备 | |
CN109461208B (zh) | 三维地图处理方法、装置、介质和计算设备 | |
CN110163903A (zh) | 三维图像的获取及图像定位方法、装置、设备和存储介质 | |
JP6500355B2 (ja) | 表示装置、表示プログラム、および表示方法 | |
WO2014011346A1 (en) | Sensor-aided wide-area localization on mobile devices | |
JP2015079490A (ja) | フレームを選択する方法、装置、及びシステム | |
CN110648363A (zh) | 相机姿态确定方法、装置、存储介质及电子设备 | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
CN108388649B (zh) | 处理音视频的方法、系统、设备及存储介质 | |
US20220099455A1 (en) | Map update method, terminal and storage medium | |
WO2017014915A1 (en) | Consistent tessellation via topology-aware surface tracking | |
Kopsida et al. | BIM registration methods for mobile augmented reality-based inspection | |
Zhang et al. | Research on 3D architectural scenes construction technology based on augmented reality | |
CN111951158B (zh) | 一种无人机航拍图像拼接中断的恢复方法、装置和存储介质 | |
CN114821055A (zh) | 房屋模型的构建方法、装置、可读存储介质和电子设备 | |
CN112017304B (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 |