CN115342806A - 头戴显示设备的定位方法、装置、头戴显示设备及介质 - Google Patents

头戴显示设备的定位方法、装置、头戴显示设备及介质 Download PDF

Info

Publication number
CN115342806A
CN115342806A CN202210833629.9A CN202210833629A CN115342806A CN 115342806 A CN115342806 A CN 115342806A CN 202210833629 A CN202210833629 A CN 202210833629A CN 115342806 A CN115342806 A CN 115342806A
Authority
CN
China
Prior art keywords
data
pose data
head
mounted display
inertial
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
Application number
CN202210833629.9A
Other languages
English (en)
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.)
Goertek Inc
Original Assignee
Goertek Inc
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 Goertek Inc filed Critical Goertek Inc
Priority to CN202210833629.9A priority Critical patent/CN115342806A/zh
Publication of CN115342806A publication Critical patent/CN115342806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

本公开提供了一种头戴显示设备的定位方法、装置、头戴显示设备及介质。所述头戴显示设备包括摄像装置和惯性测量单元,所述方法包括:根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据;根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。惯性测量单元当前时刻采集到惯性数据后,将该惯性数据与融合位姿数据简单结合便可输出目标位姿数据,可有效降低延时,保证了输出位姿数据的实时性。

Description

头戴显示设备的定位方法、装置、头戴显示设备及介质
技术领域
本公开实施例涉及头戴显示设备技术领域,更具体地,涉及一种头戴显示设备的定位方法、一种头戴显示设备的定位装置、一种头戴显示设备、及一种计算机可读存储介质。
背景技术
当前主流的VR(虚拟现实,Virtual Reality)设备采用的定位方式都是基于视觉+惯性导航融合定位方式,其中,视觉定位采用相机,该相机的帧率通常为10Hz~60Hz之间,惯性导航传感器多采用惯性测量单元(Inertial measurement unit,IMU),且该惯性测量单元的采样频率通常远高于相机帧率。
然而,由于视觉+惯性导航融合的定位方式的输出位姿数据的频率取决于相机帧率,即10Hz~60Hz之间,目前主流的VR设备的屏幕刷新率均高于相机帧率,仅仅依靠视觉+惯性导航融合输出的位姿数据频率低,不能满足要求。同时,视觉+惯性导航融合计算位姿数据需要计算时间,这个延时通常在10ms~100ms之间,VR设备作为近眼显示设备,对延时敏感,高延时会产生视觉输出和运动前庭不匹配,让用户产线眩晕感。
发明内容
本公开实施例的一个目的是提供一种头戴显示设备的定位的新的技术方案。
根据本公开实施例的第一方面,提供了一种头戴显示设备的定位方法,所述头戴显示设备包括摄像装置和惯性测量单元,所述方法包括:
根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据;
根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
可选地,所述根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据,包括:
判断所述融合位姿数据是否发生更新;
若所述融合位姿数据发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在目标时刻采集的惯性数据,确定从所述目标时刻至所述当前时刻的惯性数据的第一变化值;其中,所述目标时刻为参与计算更新后的融合位姿数据的惯性数据的采集时刻;
根据更新后的融合位姿数据和所述第一变化值,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
可选地,所述根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据,还包括:
若所述融合位姿数据未发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在前一时刻采集的惯性数据,确定从所述前一时刻至所述当前时刻的惯性数据的第二变化值;
根据所述第二变化值和所述前一时刻的目标融合位姿数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
可选地,所述判断所述融合位姿数据是否发生更新,包括:
获取所述当前时刻对应的融合位姿数据;
获取前一时刻对应的融合位姿数据;
在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据不相同的情况下,确定所述融合位姿数据更新;以及,
在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据相同的情况下,确定所述融合位姿数据未更新。
可选地,所述根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据,包括:
基于即时定位与地图构建算法,对所述摄像装置采集的第一图像和所述惯性测量单元采集的惯性数据进行融合处理,获得所述头戴显示设备的融合位姿数据。
根据本公开实施例的第二方面,提供了一种头戴显示设备的定位装置,所述头戴显示设备包括摄像装置和惯性测量单元,所述装置包括:
融合模块,用于根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据;
计算模块,用于根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
可选地,所述计算模块包括判断单元、第一确定单元和第一计算单元,
所述判断单元,用于判断所述融合位姿数据是否发生更新;
所述第一确定单元,用于若所述融合位姿数据发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在目标时刻采集的惯性数据,确定从所述目标时刻至所述当前时刻的惯性数据的第一变化值;其中,所述目标时刻为参与计算更新后的所述融合位姿数据的惯性数据的采集时刻;
第一计算单元,用于根据更新后的融合位姿数据和所述第一变化值,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
可选地,所述计算模块包括第二确定单元和第二计算单元,
所述第二确定单元,用于若所述融合位姿数据未发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在前一时刻采集的惯性数据,确定从所述前一时刻至所述当前时刻的惯性数据的第二变化值;
所述第二计算单元,用于根据所述第二变化值和所述前一时刻的目标融合位姿数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
根据本公开实施例的第三方面,提供了一种头戴显示设备,所述头戴显示设备包括摄像装置和惯性测量单元,所述头戴显示设备还包括:
存储器,用于存储可执行的计算机指令;
处理器,用于根据所述可执行的计算机指令的控制,执行根据以上第一方面所述的定位方法;
其中,所述处理器与所述摄像装置和所述惯性测量单元通信连接,以获取所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据。
根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时执行以上第一方面所述的方法。
本公开实施例的一个有益效果在于,头戴显示设备在根据摄像装置采集的第一图像和惯性测量单元采集的惯性数据计算出融合位姿数据的基础上,会根据融合位姿数据和惯性测量单元在当前时刻采集的惯性数据,计算出头戴显示设备在当前时刻的目标位姿数据。即,将位姿数据更新的频率提升至与惯性测量单元的采样频率一致,大大超出了头戴显示设备的屏幕显示刷新的需求,提高了位姿数据的输出频率。并且,惯性测量单元当前时刻采集到惯性数据后,将该惯性数据与融合位姿数据简单结合便可输出目标位姿数据,降低延时,保证了输出位姿数据的实时性。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书的原理。
图1是根据本公开实施例的头戴显示设备的硬件配置示意图;
图2是根据本公开实施例的头戴显示设备的定位方法的流程示意图;
图3是根据本公开的摄像装置输出第一图像和惯性测量单元输出惯性数据的示意图;
图4是根据本公开一个例子的头戴显示设备的定位方法的流程示意图;
图5是根据本公开实施例的头戴显示设备的定位装置的原理框图;
图6是根据本公开实施例的头戴显示设备的原理框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开实施例的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是根据本公开实施例的头戴显示设备1000的硬件配置的框图。
头戴显示设备1000例如可以是VR(虚拟现实,Virtual Reality)设备、AR(增强现实,Augmented Reality)设备及MR(混合现实,Mixed Reality)设备等。
在一个实施例中,如图1所示,头戴显示设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、音频装置1700、惯性测量单元1800、摄像装置1900等
其中,处理器1100例如可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括串行总线接口(包括USB接口)、并行总线接口、高清多媒体接口HDMI接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏、LED显示屏、触摸显示屏等。输入装置1600例如包括触摸屏、体感输入等。音频装置1700可以用于输入/输出语音信息。惯性测量单元1800可以用于测量头戴显示设备1000的运动信息。摄像装置1900可以用于获取图像信息。
本实施例中,头戴显示设备1000的存储器1200用于存储指令,该指令用于控制处理器1100进行操作以实施或者支持实施根据任意实施例的头戴显示设备的定位方法。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图1中示出了头戴显示设备1000的多个装置,但是,本说明书实施例的头戴显示设备1000可以仅涉及其中的部分装置,也可以还包含其他装置,在此不做限定。
图1所示的头戴显示设备1000仅是解释性的,并且决不是为了要限制本说明书、其应用或用途。
下面,参照附图描述根据本公开的各个实施例和例子。
<方法实施例>
图2示出了本公开的一个实施例的头戴显示设备的定位方法,该头戴显示设备的定位方法,例如可以由如图1所示的头戴显示设备1000实施,该头戴显示设备可以是VR设备、AR设备及MR设备等。
如图2所示,该实施例提供的头戴显示设备的定位方法可以包括以下步骤S2100~S2200。
步骤S2100,根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据。
头戴显示设备中设置有至少一个摄像装置,该摄像装置可以是相机camera,例如可以是双目相机,或者是多目相机,在佩戴者佩戴头戴显示设备的情况下,通过该摄像装置便可以采集图像。
其中,摄像装置的帧率通常可以为10Hz~60Hz。也就是说,在佩戴者佩戴头戴显示设备的情况下,摄像装置能够以帧率10Hz~60Hz采集第一图像。
头戴显示设备内集成有惯性测量单元(Inertial measurement unit,IMU),该惯性测量单元可以是6轴惯性测量单元,也可以是9轴惯性测量单元,该惯性测量单元用于检测头戴显示设备的运动信息,该惯性测量单元所采集的数据可以称之为惯性数据。
其中,惯性测量单元的采样频率通常为200Hz~2000Hz。也就是说,在佩戴者佩戴头戴显示设备的情况下,惯性测量单元能够以采样频率200Hz~2000Hz采集惯性数据。
头戴显示设备的融合位姿数据是指:基于视觉+惯性导航融合定位算法所计算出的头戴显示设备的六自由度信息(以下简称6DoF信息),包括移动自由度和转动自由度。其中,视觉+惯性导航融合定位算法可以包括即时定位与地图构建(simultaneouslocalization and mapping,SLAM)算法,当然,也可以是其他算法,本实施例在此不做限定。
本实施例中,本步骤S2100中根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据可以进一步包括:基于即时定位与地图构建算法,对所述摄像装置采集的第一图像和所述惯性测量单元采集的惯性数据进行融合处理,获得所述头戴显示设备的融合位姿数据。
具体的,处理器在获得摄像装置采集的第一图像、及惯性测量单元采集的惯性数据之后,便可基于SLAM算法对第一图像和惯性数据进行融合处理,获得头戴显示设备的6DoF信息作为融合位姿数据。可以理解的是,由于SLAM算法计算位姿数据需要计算时间,这个延时Tk通常在10ms~100ms之间。
示例性地,参照图3,第一行的长竖杠均为摄像装置采集第一图像的时刻,例如t1时刻、t2时刻、t3时刻均为摄像装置均采集第一图像的时刻。例如,在佩戴者佩戴头戴显示设备的情况下,摄像装置便可以以10Hz~60Hz的帧率输出第一图像,例如在t1时刻采集第一图像,在t2时刻采集第一图像等。
继续参照图3,第一行的短竖杠均为惯性测量单元采集惯性数据的时刻,例如,在佩戴者佩戴头戴显示设备的情况下,惯性测量单元便可以以200Hz~2000Hz的采样频率输出惯性数据。
继续参照图3,第二行的竖杠表示融合位姿数据,t1时刻开始,便可基于SLAM算法对摄像装置采集的第一图像和惯性测量单元采集的惯性数据进行融合处理,得到融合位姿数据。例如,在t1时刻输出第一图像和惯性数据之后,处理器便可基于SLAM算法将第一图像和惯性数据进行融合处理,在t1+Tk输出第一次计算出的融合位姿数据。又例如,在t2时刻输出第一图像和惯性数据之后,处理器便可基于SLAM算法将第一图像和惯性数据进行融合处理,在t2+Tk输出第二次计算出的融合位姿数据,以此类推。从图3可以看出,融合位姿数据与摄像装置的帧率一致,且Tk延时高,不能够进行实时定位。
在执行步骤S2100根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据之后,进入:
步骤S2200,根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
本实施例中,其在获得头戴显示设备的融合位姿数据之后,会基于该融合位姿数据和惯性测量单元在当前时刻采集的惯性数据,计算出头戴显示设备在当前时刻的目标位姿数据,从而能够将位姿数据更新的频率提升至与惯性测量单元的采样频率一致,同时能够降低延时,且保证有效精度不丢失。
在一个实施例中,本步骤S2200根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据可以进一步包括如下步骤S2210a~步骤S2230a:
步骤S2210a,判断所述融合位姿数据是否发生更新。
在此,本步骤S2210a判断所述融合位姿数据是否发生更新可以进一步包括:获取所述当前时刻对应的融合位姿数据;获取前一时刻对应的融合位姿数据;在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据不相同的情况下,确定所述融合位姿数据发生更新;以及,在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据相同的情况下,确定所述融合位姿数据未更新。
步骤S2220a,若所述融合位姿数据发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在目标时刻采集的惯性数据,确定从所述目标时刻至所述当前时刻的惯性数据的第一变化值。
其中,所述目标时刻为参与计算更新后的融合位姿数据的惯性数据的采集时刻。可以理解的是,在融合位姿数据更新的情况下,这个时候是需要找到对融合位姿数据有贡献的惯性数据采集时刻i至当前时间j内的所有惯性数据和对应的时间戳。
继续参照图3,t1+Tk时刻第一个融合位姿数据产生,由于第一个融合位姿数据是基于t1时刻的惯性测量单元采集的惯性数据计算得到,则将t1时刻作为目标时刻i1,当前时刻为惯性测量单元当前采集惯性数据的时刻,该当前时刻为j1,从图3中还可以看出,t2+Tk时刻第二个融合位姿数据产生。也就是说,所获取的前一时刻j3的融合位姿数据为零,所获取的当前时刻j1的融合位姿数据为t1+Tk时刻所产生的融合位姿数据,二者不相同,便可以确定出融合位姿数据更新,在此,记录目标时刻i1至当前时刻j1内的所有惯性数据和时间戳,并计算从i1时刻至j1时刻内的惯性数据的变化值,该变化值表示i1时刻至j1时刻惯性测量单元测量的头戴显示设备的运动信息。具体计算过程为离散的惯性数据对时间的积分,此计算过程耗时小,通常低于1ms,保证了目标位姿数据输出的实时性。
步骤S2230a,根据更新后的融合位姿数据和所述第一变化值,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
继续参照图3,在计算出i1时刻至j1时刻惯性数据的变化值,再结合第一个融合位姿数据,便可输出惯性测量单元当前采集时刻即当前时刻j1的目标位姿数据。
在一个实施例中,本步骤S2200根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据可以进一步包括如下步骤S2210b~步骤S2220b:
步骤S2210b,若所述融合位姿数据未发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在前一时刻采集的惯性数据,确定从所述前一时刻到所述当前时刻的惯性数据的第二变化值。
继续参照图3,当前时刻为惯性测量单元当前采集惯性数据的时刻,该当前时刻为j2,前一时刻为i2,由于j2时刻对应的还是第一个融合位姿数据,即融合位姿数据未发生更新。也就是说,所获取的前一时刻i2的融合位姿数据为t1+Tk时刻所产生的融合位姿数据,所获取的当前时刻j2的融合位姿数据也为t1+Tk时刻所产生的融合位姿数据,当前时刻j2对应的融合位姿数据和前一时刻i2对应的融合位姿数据相同,可以确定出融合位姿数据未更新。在此,记录前一时刻i2和对应的惯性数据、当前时刻j2和对应的惯性数据,并计算从i2时刻至j2时刻惯性数据的变化值,该变化值表示i2时刻至j2时刻惯性测量单元测量的头戴显示设备的运动信息。具体计算过程为离散的惯性数据对时间的积分,此计算过程耗时小,通常低于1ms,保证了目标位姿数据输出的实时性。
步骤S2220b,根据所述第二变化值和所述前一时刻的目标融合位姿数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
继续参照图3,在计算出i2时刻至j2时刻惯性数据的变化值,再结合i2时刻对应的目标位姿数据,便可得到惯性测量单元当前采集时刻即当前时刻j2的目标位姿数据。
根据本公开实施例,头戴显示设备在根据摄像装置采集的第一图像和惯性测量单元采集的惯性数据计算出融合位姿数据的基础上,会根据融合位姿数据和惯性测量单元在当前时刻采集的惯性数据,计算出头戴显示设备在当前时刻的目标位姿数据。即,将位姿数据更新的频率提升至与惯性测量单元的采样频率一致,大大超出了头戴显示设备的屏幕显示刷新的需求,提高了位姿数据的输出频率。并且,惯性测量单元当前时刻采集到惯性数据后,将该惯性数据与融合位姿数据简单结合便可输出目标位姿数据,降低延时,保证了输出位姿的实时性。
接下来结合3和图4示出一个例子的头戴显示设备的定位方法,该例子中,该头戴显示设备的定位方法包括:
步骤401,判断是否有融合位姿数据产生,是的话,执行步骤402,反之,流程结束。
步骤402,进一步判断所产生的融合位姿数据是否为第一个融合位姿数据,在为第一个融合位姿数据的情况下,表明融合位姿数据发生更新,则执行步骤403,反之,执行步骤406。
步骤403,将惯性数据和融合位姿数据时间戳对齐,具体可以是记录参与计算该更新后的融合位姿数据的惯性数据的采集时刻i(可以将该时刻i称之为目标时刻)至当前时刻j内的所有惯性数据和时间戳。
步骤404,计算目标时刻i所采集的惯性数据至当前时刻j所采集的惯性数据的第一变化值IMUij
步骤405,将第一变化值IMUij和更新后的融合位姿数据结合,得到头戴显示设备在当前时刻j的目标位姿数据并输出,流程结束。
步骤406,在融合位姿数据不为第一个融合位姿数据的情况下,进一步判断融合位姿数据是否发生更新,若融合位姿数据发生更新,则执行以上步骤403,若融合位姿数据未发生更新,执行步骤407。
步骤407,将惯性数据和融合位姿数据时间戳对齐,具体可以是记录当前时刻j和对应的惯性数据、前一时刻i和对应的惯性数据。
步骤408,计算前一时刻i所采集的惯性数据至当前时刻j所采集的惯性数据的第二变化值IMUij
步骤409,将第二变化值IMUij和前一时刻i对应的目标位姿数据结合,得到头戴显示设备在当前时刻j的目标位姿数据并输出,流程结束。
根据本例子,利用了每一个采集的惯性数据进行位姿输出,位姿的输出频率和惯性测量单元的采样频率一致,提高了位姿输出的频率。同时,惯性数据的变化值即惯性测量单元测量计算的VR设备的运动信息的计算过程为简单,运算效率非常高,低于1ms,保证了输出位姿的实时性。最后当有融合位姿更新时,会校正基于惯性测量单元的位姿输出,从而保证了精度。
<装置实施例>
图5是根据一个实施例的头戴显示设备的定位装置的结构示意图。如图5所示,该头戴显示设备的定位装置500包括融合模块510和计算模块520。
融合模块510,用于根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据。
计算模块520,用于根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
在一个实施例中,所述计算模块520包括判断单元、第一确定单元和第一计算单元(图中均未示出)。
所述判断单元,用于判断所述融合位姿数据是否发生更新。
所述第一确定单元,用于若所述融合位姿数据发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在目标时刻采集的惯性数据,确定从所述目标时刻至所述当前时刻的惯性数据的第一变化值;其中,所述目标时刻为参与计算更新后的所述融合位姿数据的惯性数据的采集时刻。
第一计算单元,用于根据更新后的融合位姿数据和所述第一变化值,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
在一个实施例中,所述计算模块520包括第二确定单元和第二计算单元(图中均未示出)。
所述第二确定单元,用于若所述融合位姿数据未发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在前一时刻采集的惯性数据,确定从所述前一时刻至所述当前时刻的惯性数据的第二变化值。
所述第二计算单元,用于根据所述第二变化值和所述前一时刻的目标融合位姿数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
在一个实施例中,所述判断单元(图中未示出),具体用于:获取所述当前时刻对应的融合位姿数据;获取前一时刻对应的融合位姿数据;在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据相同的情况下,确定所述融合位姿数据更新;以及,在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据不相同的情况下,确定所述融合位姿数据未更新。
在一个实施例中,融合模块510,具体用于:基于即时定位与地图构建算法,对所述摄像装置采集的第一图像和所述惯性测量单元采集的惯性数据进行融合处理,获得所述头戴显示设备的融合位姿数据。
根据本公开实施例,头戴显示设备在根据摄像装置采集的第一图像和惯性测量单元采集的惯性数据计算出融合位姿数据的基础上,会根据融合位姿数据和惯性测量单元在当前时刻采集的惯性数据,计算出头戴显示设备在当前时刻的目标位姿数据。即,将位姿数据更新的频率提升至与惯性测量单元的采样频率一致,大大超出了头戴显示设备的屏幕显示刷新的需求,提高了位姿数据的输出频率。并且,惯性测量单元当前时刻采集到惯性数据后,将该惯性数据与融合位姿数据简单结合便可输出目标位姿数据,降低延时,保证了输出位姿数据的实时性。
<设备实施例>
图6是根据一个实施例的头戴显示设备的硬件结构示意图。如图6所示,该头戴显示设备600包括摄像装置610和惯性测量单元620,该头戴显示设备600还包括处理器630和存储器640。
该存储器640可以用于存储可执行的计算机指令。
该处理器630可以用于根据所述可执行的计算机指令的控制,执行根据本公开方法实施例所述的头戴显示设备的定位方法。
其中,所述处理器与所述摄像装置和所述惯性测量单元通信连接,以获取所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据。
该头戴显示设备600可以是如图1所示的头戴显示设备1000,也可以是具备其他硬件结构的设备,在此不做限定。该头戴显示设备600例如可以是VR设备、AR设备、MR设备等,本公开实施例对此不作限定。
在另外的实施例中,该头戴显示设备600可以包括以上头戴显示设备的定位装置500。
在一个实施例中,以上头戴显示设备的定位装置500的各模块可以通过处理器630运行存储器640中存储的计算机指令实现。
根据本公开实施例,头戴显示设备在根据摄像装置采集的第一图像和惯性测量单元采集的惯性数据计算出融合位姿数据的基础上,会根据融合位姿数据和惯性测量单元在当前时刻采集的惯性数据,计算出头戴显示设备在当前时刻的目标位姿数据。即,将位姿数据更新的频率提升至与惯性测量单元的采样频率一致,大大超出了头戴显示设备的屏幕显示刷新的需求,提高了位姿数据的输出频率。并且,惯性测量单元当前时刻采集到惯性数据后,将该惯性数据与融合位姿数据简单结合便可输出目标位姿数据,降低延时,保证了输出位姿数据的实时性。
<计算机可读存储介质>
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时执行本公开实施例提供的头戴显示设备的定位方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本公开的范围由所附权利要求来限定。

Claims (10)

1.一种头戴显示设备的定位方法,其特征在于,所述头戴显示设备包括摄像装置和惯性测量单元,所述方法包括:
根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据;
根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据,包括:
判断所述融合位姿数据是否发生更新;
若所述融合位姿数据发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在目标时刻采集的惯性数据,确定从所述目标时刻至所述当前时刻的惯性数据的第一变化值;其中,所述目标时刻为参与计算更新后的融合位姿数据的惯性数据的采集时刻;
根据更新后的融合位姿数据和所述第一变化值,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据,还包括:
若所述融合位姿数据未发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在前一时刻采集的惯性数据,确定从所述前一时刻至所述当前时刻的惯性数据的第二变化值;
根据所述第二变化值和所述前一时刻的目标融合位姿数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
4.根据权利要求2所述的方法,其特征在于,所述判断所述融合位姿数据是否发生更新,包括:
获取所述当前时刻对应的融合位姿数据;
获取前一时刻对应的融合位姿数据;
在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据不相同的情况下,确定所述融合位姿数据更新;以及,
在所述当前时刻对应的融合位姿数据和所述前一时刻对应的融合位姿数据相同的情况下,确定所述融合位姿数据未更新。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,所述根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据,包括:
基于即时定位与地图构建算法,对所述摄像装置采集的第一图像和所述惯性测量单元采集的惯性数据进行融合处理,获得所述头戴显示设备的融合位姿数据。
6.一种头戴显示设备的定位装置,其特征在于,所述头戴显示设备包括摄像装置和惯性测量单元,所述装置包括:
融合模块,用于根据所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据,获得所述头戴显示设备的融合位姿数据;
计算模块,用于根据所述融合位姿数据、及所述惯性测量单元在当前时刻采集的惯性数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
7.根据权利要求6所述的装置,其特征在于,所述计算模块包括判断单元、第一确定单元和第一计算单元,
所述判断单元,用于判断所述融合位姿数据是否发生更新;
所述第一确定单元,用于若所述融合位姿数据发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在目标时刻采集的惯性数据,确定从所述目标时刻至所述当前时刻的惯性数据的第一变化值;其中,所述目标时刻为参与计算更新后的所述融合位姿数据的惯性数据的采集时刻;
第一计算单元,用于根据更新后的融合位姿数据和所述第一变化值,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
8.根据权利要求7所述的装置,其特征在于,所述计算模块包括第二确定单元和第二计算单元,
所述第二确定单元,用于若所述融合位姿数据未发生更新,根据所述惯性测量单元在当前时刻采集的惯性数据、及所述惯性测量单元在前一时刻采集的惯性数据,确定从所述前一时刻至所述当前时刻的惯性数据的第二变化值;
所述第二计算单元,用于根据所述第二变化值和所述前一时刻的目标融合位姿数据,获得所述头戴显示设备在所述当前时刻的目标位姿数据。
9.一种头戴显示设备,所述头戴显示设备包括摄像装置和惯性测量单元,所述头戴显示设备还包括:
存储器,用于存储可执行的计算机指令;
处理器,用于根据所述可执行的计算机指令的控制,执行根据权利要求1-5中任意一项所述的定位方法;
其中,所述处理器与所述摄像装置和所述惯性测量单元通信连接,以获取所述摄像装置采集的第一图像、及所述惯性测量单元采集的惯性数据。
10.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时执行权利要求1-5中任意一项所述的定位方法。
CN202210833629.9A 2022-07-14 2022-07-14 头戴显示设备的定位方法、装置、头戴显示设备及介质 Pending CN115342806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210833629.9A CN115342806A (zh) 2022-07-14 2022-07-14 头戴显示设备的定位方法、装置、头戴显示设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210833629.9A CN115342806A (zh) 2022-07-14 2022-07-14 头戴显示设备的定位方法、装置、头戴显示设备及介质

Publications (1)

Publication Number Publication Date
CN115342806A true CN115342806A (zh) 2022-11-15

Family

ID=83948254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210833629.9A Pending CN115342806A (zh) 2022-07-14 2022-07-14 头戴显示设备的定位方法、装置、头戴显示设备及介质

Country Status (1)

Country Link
CN (1) CN115342806A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110118554A (zh) * 2019-05-16 2019-08-13 深圳前海达闼云端智能科技有限公司 基于视觉惯性的slam方法、装置、存储介质和设备
WO2020259106A1 (zh) * 2019-06-24 2020-12-30 深圳奥比中光科技有限公司 相机和惯性测量单元相对姿态的标定方法及装置
CN112230242A (zh) * 2020-09-30 2021-01-15 深兰人工智能(深圳)有限公司 位姿估计系统和方法
CN112631431A (zh) * 2021-01-04 2021-04-09 杭州光粒科技有限公司 Ar眼镜的位姿确定方法、装置及设备、存储介质
CN113074726A (zh) * 2021-03-16 2021-07-06 深圳市慧鲤科技有限公司 位姿确定方法及装置、电子设备和存储介质
CN114295126A (zh) * 2021-12-20 2022-04-08 华人运通(上海)自动驾驶科技有限公司 一种基于惯性测量单元的融合定位方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110118554A (zh) * 2019-05-16 2019-08-13 深圳前海达闼云端智能科技有限公司 基于视觉惯性的slam方法、装置、存储介质和设备
WO2020259106A1 (zh) * 2019-06-24 2020-12-30 深圳奥比中光科技有限公司 相机和惯性测量单元相对姿态的标定方法及装置
CN112230242A (zh) * 2020-09-30 2021-01-15 深兰人工智能(深圳)有限公司 位姿估计系统和方法
CN112631431A (zh) * 2021-01-04 2021-04-09 杭州光粒科技有限公司 Ar眼镜的位姿确定方法、装置及设备、存储介质
CN113074726A (zh) * 2021-03-16 2021-07-06 深圳市慧鲤科技有限公司 位姿确定方法及装置、电子设备和存储介质
CN114295126A (zh) * 2021-12-20 2022-04-08 华人运通(上海)自动驾驶科技有限公司 一种基于惯性测量单元的融合定位方法

Similar Documents

Publication Publication Date Title
Raaen et al. Measuring latency in virtual reality systems
US9785249B1 (en) Systems and methods for tracking motion and gesture of heads and eyes
EP3089154B1 (en) Image processing device and image display system for pose prediction-based display
KR102070562B1 (ko) 이벤트 기반 이미지 처리 장치 및 그 장치를 이용한 방법
CN107748569B (zh) 用于无人机的运动控制方法、装置及无人机系统
CN111649739B (zh) 定位方法和装置、自动驾驶车辆、电子设备和存储介质
CN106782260B (zh) 用于虚拟现实运动场景的显示方法及装置
WO2017092339A1 (zh) 一种收集传感器数据的处理方法和装置
CN110351480B (zh) 用于电子设备的图像处理方法、装置及电子设备
US10890600B2 (en) Real-time visual-inertial motion tracking fault detection
US11391952B1 (en) AR/VR controller with event camera
JP2015513662A (ja) 深度カメラを使用した頭部姿勢トラッキング
US20200372614A1 (en) Image/video deblurring using convolutional neural networks with applications to sfm/slam with blurred images/videos
JP7182020B2 (ja) 情報処理方法、装置、電子機器、記憶媒体およびプログラム
JP2018537748A (ja) 可変の計算量を用いた画像のライトフィールドレンダリング
CN110460827B (zh) 振镜工作状态的确定方法、装置及计算机存储介质
CN109040525B (zh) 图像处理方法、装置、计算机可读介质及电子设备
JP2020532797A (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
CN111998959B (zh) 基于实时测温系统的温度校准方法、装置及存储介质
US20170109937A1 (en) Information processing apparatus, information processing method, and storage medium
CN109814710B (zh) 数据处理方法、装置及虚拟现实设备
EP4050564A1 (en) Method and apparatus with augmented reality pose determination
CN114356082A (zh) 增强现实设备的图像优化方法、装置、电子设备及系统
JP7078568B2 (ja) 表示装置、表示制御方法、及び表示システム
CN115342806A (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