CN117369643A - 虚拟地平面确定方法、装置、电子设备及可读存储介质 - Google Patents

虚拟地平面确定方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117369643A
CN117369643A CN202311421205.2A CN202311421205A CN117369643A CN 117369643 A CN117369643 A CN 117369643A CN 202311421205 A CN202311421205 A CN 202311421205A CN 117369643 A CN117369643 A CN 117369643A
Authority
CN
China
Prior art keywords
ground plane
virtual ground
determining
acceleration
preset
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
CN202311421205.2A
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 Techology Co Ltd
Original Assignee
Goertek Techology Co Ltd
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 Techology Co Ltd filed Critical Goertek Techology Co Ltd
Priority to CN202311421205.2A priority Critical patent/CN117369643A/zh
Publication of CN117369643A publication Critical patent/CN117369643A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Navigation (AREA)

Abstract

本申请公开了一种虚拟地平面确定方法、装置、电子设备及可读存储介质,本申请涉及虚拟现实技术领域,应用于VR设备,VR设备包括惯性传感器,所述虚拟地平面确定方法包括基于所述惯性传感器采集所述VR设备的运动参数;依据所述运动参数确定所述VR设备的重力轴方向;依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。本申请解决了现有的虚拟场景的地平面的模拟效果差的问题。

Description

虚拟地平面确定方法、装置、电子设备及可读存储介质
技术领域
本申请涉及虚拟现实技术领域,尤其涉及一种虚拟地平面确定方法、装置、电子设备及可读存储介质。
背景技术
在使用VR(Virtual Reality,虚拟现实)设备的过程中,需要先构建一个模拟真实场景的虚拟场景,而如果构建的虚拟场景的地平面与真实场景的地平面不重合,则用户在使用VR设备在所模拟场景中进行行走时,会出现走到地面之下或者空中的问题,现有的虚拟场景的地平面的模拟效果差。
发明内容
本申请的主要目的在于提供一种虚拟地平面确定方法、装置、电子设备及可读存储介质,旨在解决现有的虚拟场景的地平面的模拟效果差的技术问题。
为实现上述目的,本申请提供一种虚拟地平面确定方法,应用于VR设备,所述VR设备包括惯性传感器,所述虚拟地平面确定方法包括:
基于所述惯性传感器采集所述VR设备的运动参数;
依据所述运动参数确定所述VR设备的重力轴方向;
依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
可选地,所述运动参数包括移动加速度,所述依据所述运动参数确定所述VR设备的重力轴方向的步骤,包括:
依据所述运动参数检测所述VR设备是否处于静止状态;
若所述VR设备处于静止状态,则将所述移动加速度方向作为所述VR设备的重力轴的初始方向,并依据所述初始方向确定所述VR设备的重力轴方向。
可选地,所述运动参数包括转动角速度,所述依据所述初始方向确定所述VR设备的重力轴方向的步骤,包括:
对所述转动角速度进行积分处理,得到旋转角度;
按照所述旋转角度对所述初始方向进行调整,将调整后的初始方向作为重力轴方向。
可选地,所述运动参数包括转动角速度,所述依据所述运动参数检测所述VR设备是否处于静止状态的步骤,包括:
确定所述移动加速度和重力加速度的加速度差值;
校验所述加速度差值是否小于预设加速度差值,并且所述转动角速度是否小于预设角速度;
若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态。
可选地,所述若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态的步骤,包括:
若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于未移动状态,并校验所述VR设备处于未移动状态的持续时长是否达到预设时长;
若所述持续时长达到所述预设时长,则确定所述VR设备处于静止状态。
可选地,所述校验所述VR设备处于未移动状态的持续时长是否达到预设时长的步骤,包括:
将判定所述VR设备处于未移动状态的判定次数加一,并校验所述判定次数是否大于预设判定次数;
若校验到所述判定次数大于所述预设判定次数,则确定所述VR设备处于未移动状态的持续时长达到预设时长;
若校验到所述判定次数小于或等于所述预设判定次数,则确定所述持续时长未达到所述预设时长。
可选地,所述依据所述运动参数检测所述VR设备是否处于静止状态的步骤之后,还包括:
若所述VR设备不处于静止状态,则基于所述惯性传感器中各轴的角速度估计各轴上的线性加速度;
使用所述运动参数中的加速度计数据减去所述线性加速度得到所述VR设备的重力加速度,对所述重力加速度数据单位化得到表示重力向量的单位向量,将所述单位向量的方向作为所述重力轴方向。
本申请还提供一种虚拟地平面确定装置,应用于VR设备,所述VR设备包括惯性传感器,所述虚拟地平面确定装置包括:
获取模块,用于基于所述惯性传感器采集所述VR设备的运动参数;
第一确定模块,用于依据所述运动参数确定所述VR设备的重力轴方向;
第二确定模块,用于依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述虚拟地平面确定方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现虚拟地平面确定方法的程序,所述实现虚拟地平面确定方法的程序被处理器执行以实现如上所述虚拟地平面确定方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的虚拟地平面确定方法的步骤。
本申请提供了一种虚拟地平面确定方法,本申请首先基于所述惯性传感器采集所述VR设备的运动参数;然后依据所述运动参数确定所述VR设备的重力轴方向;最后依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
重力轴方向通常垂直指向地平面,本申请通过虚拟地平面的法向量方向和重力轴方向一致,以确保虚拟地平面与重力轴垂直,使得虚拟地平面与真实地平面对齐。解决了现有的虚拟场景的地平面的模拟效果差的技术问题,提高了虚拟场景的地平面的模拟效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请虚拟地平面确定方法实施例一提供的流程示意图;
图2为本申请虚拟地平面确定方法实施例二提供的流程示意图;
图3为本申请实施例二提供的确定虚拟地平面的简要流程示意图;
图4为本申请实施例虚拟地平面确定装置的模块结构示意图;
图5为本申请实施例中虚拟地平面确定方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
在使用VR(Virtual Reality,虚拟现实)设备的过程中,需要先构建一个模拟真实场景的虚拟场景,而如果构建的虚拟场景的地平面与真实场景的地平面不重合,则用户在使用VR设备在所模拟场景中进行行走时,会出现走到地面之下或者空中的问题,现有的虚拟场景的地平面的模拟效果差。
为解决上述问题,本申请提出一种通过IMU(Inertial Measurement Unit,惯性测量单元)来确定重力轴方向,再通过以重力轴方向作为法向量方向来计算虚拟场景的地平面的方法,以确保虚拟场景的地平面与真实场景的地平面平行。
具体地,本申请提出第一实施例的虚拟地平面确定方法,应用于VR设备,VR设备包括惯性传感器,请参照图1,所述虚拟地平面确定方法包括:
步骤S10,基于所述惯性传感器采集所述VR设备的运动参数;
需要说明的是,惯性传感器用于采集VR设备的运动参数,该惯性传感器可以为IMU,运动参数用于表征与VR设备的运动情况相关的参数,该运动参数可以包括移动加速度、转动角速度等。
步骤S20,依据所述运动参数确定所述VR设备的重力轴方向;
在一可能的实施方式中,可以是基于运动参数中与重力加速度相关的运动方向直接作为重力轴方向;在另一可能的实施方式中,也可以是先基于运动参数判断VR设备的运动状态,然后依据VR设备的运动状态采用对应的方式确定VR设备的重力轴方向,示例性地,在VR设备处于静止状态时,可以对移动加速度的方向进行优化后得到重力轴方向,在VR设备处于运动状态时,可以将移动加速度的方向直接作为重力轴方向。
步骤S30,依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
依据重力轴方向确定VR设备的虚拟地平面可以是将重力轴方向作为法向量方向得到的虚拟地平面。也可以是将重力轴方向作为虚拟场景的地平面的法向量方向,同时对虚拟场景的地平面的高度进行调整,将最后得到的虚拟平面作为虚拟地平面。
具体地,在一可能的实施方式中,若VR设备处于虚拟场景初始化的情形下,将重力轴方向作为法向量方向得到的虚拟地平面可以是:将重力轴方向作为法向量方向生成虚拟地平面;在另一可能的实施方式中,若VR设备已经完成虚拟场景初始化的情形下,此时已经生成了初始化的虚拟地平面,则将重力轴方向作为法向量方向得到的虚拟地平面可以是:将重力轴方向作为法向量方向对初始化的虚拟地平面进行旋转、偏移等操作,得到VR设备实际的虚拟地平面。
需要说明的是,本实施例提出的虚拟地平面确定的过程可以是发生在虚拟场景初始化时,也可以是发生在虚拟场景初始化完成后VR设备的使用过程中,在此不做限制。具体可以通过预先设置的条件触发虚拟地平面调整,例如,可以是通过用户指令触发虚拟地平面调整,也可以是在检测到用户处于静止状态时触发虚拟地平面调整,具体在此不做限制。
本实施例中,首先基于惯性传感器采集VR设备的运动参数;然后依据运动参数确定VR设备的重力轴方向;最后依据重力轴方向确定VR设备的虚拟地平面,其中,重力轴方向为虚拟地平面的法向量方向。
重力轴方向通常垂直指向地平面,本实施例通过虚拟地平面的法向量方向和重力轴方向一致,以确保虚拟地平面与重力轴垂直,使得虚拟地平面与真实地平面对齐。解决了现有的虚拟场景的地平面的模拟效果差的技术问题,提高了虚拟场景的地平面的模拟效果。
需要说明的是,将重力轴方向作为法向量方向得到的虚拟地平面只能保证虚拟地平面与真实地平面平行,然而在VR设备的实际使用过程中,还可能出现虚拟地平面与真实场景的地平面高度不对齐的情况,在这种情况下,用户在模拟场景中进行行走时,也会出现走到地面之下或者空中的问题,因此,将重力轴方向作为虚拟场景的地平面的法向量方向,同时对虚拟场景的地平面的高度进行调整,可以确保所确定的虚拟地平面能与真实地平面重合,使得在VR设备中模拟的虚拟地平面能够更准确地对齐真实地平面。
基于此,在一可能的实施方式中,依据所述重力轴方向确定所述VR设备的虚拟地平面的步骤之后,还包括:对齐虚拟地平面和真实地平面的高度。具体对齐过程在此不做限制,例如,可以是利用地面图像、地面深度图像等得到真实地平面的高度,然后对齐虚拟地平面和真实地平面的高度;也可以是确获取用户相对于所述VR设备所处外界环境的真实地平面的视觉高度;获取用户相对于所述VR设备所处外界环境的真实地平面的视觉高度;按照所述视觉高度对齐虚拟地平面和真实地平面的高度。本实施方式在保证虚拟地平面和真实地平面对齐的同时,还能对齐虚拟地平面和真实地平面的高度,从而提高虚拟场景的地平面的模拟效果。
实施例二
基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,请参照图2,所述运动参数包括移动加速度,所述依据所述运动参数确定所述VR设备的重力轴方向的步骤,包括:
步骤S21,依据所述运动参数检测所述VR设备是否处于静止状态;
VR设备发生运动时,惯性传感器在任意方向上会产生运动数据,因此,基于运动参数可以检测VR设备是否处于静止状态。具体用于进行检测的参数不做限制,可以根据实际需求进行设置。
步骤S22,若所述VR设备处于静止状态,则将所述移动加速度方向作为所述VR设备的重力轴的初始方向,并依据所述初始方向确定所述VR设备的重力轴方向。
若VR设备处于静止状态,则惯性传感器只受重力作用,此时可以确定重力轴方向。需要说明的是,在依据初始重力轴方向,确定VR设备的重力轴方向时,可以直接将初始重力轴方向作为重力轴方向,也可以在对初始重力轴方向优化后,将优化后的初始重力轴方向作为重力轴方向,本实施例对此并不作限定。
本实施例中,在VR设备处于虚拟场景初始化的情形下,首先检测VR设备是否处于静止状态,若VR设备处于静止状态,说明VR设备此时仅受到了重力的影响,而不受其他外力的影响,则可以将移动加速度的方向作为VR设备的初始重力轴方向,最后依据该初始重力轴方向,确定VR设备的重力轴方向,从而,本实施例通过在VR设备处于静止状态时进行重力轴方向的确定,以确保所确定的重力轴方向为VR设备的重力的方向,进而能够确保重力轴方向确定的准确性,也即确保所确定的重力轴方向接近真实的VR设备的重力的方向。
进一步地,本实施方式中,若VR设备不处于静止状态,此时无法准确得到重力轴方向,在一可能的实施方式中,可以直接将VR设备的移动加速度的方向作为重力轴方向,虽然此时VR设备的移动加速度的方向并非是重力的方向,但是能够为后续确定虚拟地平面时提供一个确定的依据;在另一可能的实施方式中,也可以是基于运动参数分离重力轴方向,具体在此不做限制。
在一种可能实施的方式中,所述运动参数包括转动角速度,所述依据所述初始重力轴方向,确定所述VR设备的重力轴方向的步骤,包括:
步骤S221,对所述转动角速度进行积分处理,得到旋转角度;
对惯性传感器的转动角速度进行积分处理,得到转动角速度的累计,从而可以得到VR设备的旋转角度。具体积分处理的过程在此不做限制。
需要说明的是,随着时间的推移,转动角速度的积分误差会逐渐累积,这是因为惯性传感器本身可能存在微小的误差,这意味着随着时间的增加,得到的旋转角度可能会有漂移,为了减小积分误差,可以使用其他传感器数据,如加速度计,进行姿态校准,以帮助消除或减小由于惯性传感器积分而引入的误差。
步骤S222,基于所述旋转角度对所述初始重力轴方向进行优化,得到所述VR设备的重力轴方向。
需要说明的是,在基于旋转角度对初始重力轴方向进行优化时,可以通过惯性对齐(Visual Inertial Alignment,VIA)算法和重力优化(Refine Gravity,RG)算法来基于旋转角度对初始重力轴方向进行优化,也可以通过运用多种工具箱(Manifold ToolKit,MTK)的实现方式来基于旋转角度对初始重力轴方向进行优化,本实施例对于具体的优化方式并不作具体限定。
本实施方式中,首先对转动角速度进行积分处理,得到旋转角度,然后基于该旋转角度对初始重力轴方向进行优化,以使得最终确定的VR设备的重力轴方向能够近似接近VR设备在当前位姿下所受到的重力的方向,提高了重力轴方向的确定精度,进而提高了后续确定的虚拟地平面的准确性。
在一种可能实施的方式中,所述运动参数包括转动角速度,所述依据所述运动参数检测所述VR设备是否处于静止状态的步骤,包括:
步骤S211,确定所述移动加速度和重力加速度的加速度差值;
需要说明的是,移动加速度是指VR设备沿移动方向的加速度,该移动加速度实质是重力加速度和VR设备移动所产生的加速度的合并值。
步骤S212,校验所述加速度差值是否小于预设加速度差值,并且所述转动角速度是否小于预设角速度;
移动加速度和重力加速度的加速度差值可以反映VR设备是否在除重力方向之外的其它方向上发生移动,转动角速度可以反映VR设备是否发生旋转,因此,本实施方式中,通过校验加速度差值是否小于预设加速度差值,并且转动角速度是否小于预设角速度,以确定VR设备是否处于静止状态。
步骤S213,若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态。
加速度差值小于预设加速度差值则表明VR设备在除重力方向之外的其它方向上没有发生移动,转动角速度小于预设角速度则表明VR设备没有发生旋转,因此,若校验到加速度差值小于预设加速度差值,并且转动角速度小于预设角速度,则确定VR设备处于静止状态。
本实施方式中,在VR设备处于虚拟场景初始化的情形下,首先确定移动加速度和重力加速度的加速度差值,然后校验该加速度差值是否小于预设加速度差值,并且转动角速度是否小于预设角速度,如果加速度差值小于预设加速度差值,并且转动角速度小于预设角速度,说明VR设备此时仅受到了重力的影响,而不受其他外力的影响,因而可以判定此时的VR设备处于静止状态。在VR设备处于静止状态时,可以将移动加速度的方向作为VR设备的初始重力轴方向,最后依据该初始重力轴方向,确定VR设备的重力轴方向,从而,本实施例通过在VR设备处于静止状态时进行重力轴方向的确定,以确保所确定的重力轴方向为VR设备的重力的方向,进而能够确保重力轴方向确定的准确性,也即确保所确定的重力轴方向接近真实的VR设备的重力的方向。
在一种可能实施的方式中,所述若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态的步骤,包括:
步骤S2131,若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于未移动状态;
若校验到加速度差值小于预设加速度差值,并且转动角速度小于预设角速度,则确定VR设备在一个时间步处于未移动状态。此时确定的这种状态是瞬时状态,VR设备在下一时间步可能发生移动,不能完全确保VR设备处于静止状态,为了准确判定VR设备的静止状态,在检测VR设备是否处于静止状态时引入时长检测,也即,在检测到VR设备处于长时的未移动状态时,确定VR设备处于静止状态。
步骤S2132,校验所述VR设备处于未移动状态的持续时长是否达到预设时长;
校验VR设备处于未移动状态的持续时长是否达到预设时长。在一可能的实施方式中,可以是直接对持续时长进行检测;在另一可能的实施方式中,也可以对处于未移动状态的连续次数进行累计,通过检测连续次数检测持续时长。
步骤S2133,若所述持续时长达到所述预设时长,则确定所述VR设备处于静止状态。
若持续时长达到预设时长,则确定VR设备长时处于未移动状态,此时确定VR设备处于静止状态。
本实施方式中,可以在VR设备长时间处于未移动状态时确定VR设备处于静止状态,确定的静止状态更准确,从而在VR设备处于静止状态下再进行重力轴方向时,能够确保所确定的重力轴方向为VR设备的重力的方向,从而提高重力轴方向的准确性。
在一种可能实施的方式中,所述校验所述VR设备处于未移动状态的持续时长是否达到预设时长的步骤,包括:
步骤S21321,将判定所述VR设备处于未移动状态的判定次数加一,并校验所述判定次数是否大于预设判定次数;
本实施方式中对处于未移动状态的连续次数进行累计,通过检测连续次数检测持续时长。具体地,将判定VR设备处于未移动状态的判定次数加一,并校验判定次数是否大于预设判定次数。
步骤S21322,若校验到所述判定次数大于所述预设判定次数,则确定所述VR设备处于未移动状态的持续时长达到预设时长;
若校验到判定次数大于预设判定次数,则确定VR设备处于未移动状态的持续时长达到预设时长。
步骤S2133,若校验到所述判定次数小于或等于所述预设判定次数,则确定所述持续时长未达到所述预设时长。
若校验到判定次数小于或等于预设判定次数,则确定持续时长未达到预设时长,此时,可以基于惯性传感器采集VR设备在下一时间步的移动加速度和转动角速度,返回执行校验加速度差值是否小于预设加速度差值,并且转动角速度是否小于预设角速度的步骤。
进一步地,本实施方式中,若校验到加速度差值大于或等于预设加速度差值,或者转动角速度大于或等于预设角速度,则将判定VR设备处于静止状态的判定次数置零,以避免当前计数对后续的VR设备状态判定造成干扰。
本实施方式中,如果校验到加速度差值小于预设加速度差值,并且转动角速度小于预设角速度,则可以将判定VR设备处于未移动状态的判定次数加一,并校验该判定次数是否大于预设判定次数,如果该判定次数大于预设判定次数,说明VR设备长时间处于静止状态,则可以将移动加速度的方向作为VR设备的初始重力轴方向。如果判定次数小于或等于预设判定次数,则基于惯性传感器继续采集VR设备在下一时间步的移动加速度和转动角速度,并重复上述判定VR设备处于静止状态的过程,在这之中,如果校验到加速度差值大于或等于预设加速度差值,或者转动角速度大于或等于预设角速度,说明VR设备此时不仅受到了重力的影响,还受到了其他外力的影响,即受到了VR设备移动所产生的力的影响,因而可以判定此时的VR设备处于运动状态,本实施例通过确保在VR设备长时间处于静止状态下再进行重力轴方向,能够确保所确定的重力轴方向更加接近真实的VR设备的重力的方向,进一步提高了重力轴方向确定的准确性。
在一种可能实施的方式中,所述依据所述运动参数检测所述VR设备是否处于静止状态的步骤之后,还包括:
步骤S23,若所述VR设备不处于静止状态,则基于所述惯性传感器中各轴的角速度估计各轴上的线性加速度;
本实施方式中,若所述VR设备不处于静止状态,则惯性传感器可能受到多个方向上力的影响,此时需要从惯性传感器采集的数据中分离出重力加速度,并确定重力加速度的方向,以将重力加速度的方向作为重力轴方向。
具体地,基于惯性传感器中各轴的角速度估计各轴上的线性加速度,也即,非重力加速度。具体可以对角速度进行积分,对角速度进行次积分可以得到角度,对角度进行积分即可得到线性加速度,具体积分过程在此不做限制。
步骤S24,使用所述运动参数中的加速度计数据减去所述线性加速度得到所述VR设备的重力加速度,对所述重力加速度数据单位化得到表示重力向量的单位向量,将所述单位向量的方向作为所述重力轴方向。
加速度计数据为重力加速度与线性加速度的叠加数据,因此,使用运动参数中的加速度计数据减去线性加速度即可得到VR设备的重力加速度。
对重力加速度数据单位化,以从重力加速度数据中得到一个表示重力方向的单位向量,将单位向量的方向作为重力轴方向。重力加速度数据单位化的具体实现过程可以是:使用重力加速度的三轴分量来构建单位向量,也即,计算重力加速度每个分量的比例,然后将它们合并为一个单位向量,这个单位向量表示了重力的方向。
本实施方式在VR设备不处于静止状态时确定分离重力加速度并将重力加速度的方向作为重力轴方向,然后可以根据重力轴方向确定虚拟地平面,本实施方式使得VR设备不处于静止状态时,也能实现虚拟地平面与真实地平面对齐,从而提高虚拟场景的地平面的模拟效果。
示例性地,为了助于理解本申请的技术构思或技术原理,请参照图3,图3提供了一种确定虚拟地平面的简要流程示意图,假设预设角速度为1°/s,预设加速度差值为0.1,重力加速度为9.8,预设判定次数为300,则确定虚拟地平面具体过程如下:
首先,在通过VR设备中的IMU采集到VR设备的移动加速度和转动角速度以后,确定移动加速度与重力加速度9.8的加速度差值,如果该加速度差值小于0.1,并且该转动角速度小于1°/s,则判定VR设备处于静止状态(也即若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于未移动状态)。
判定VR设备处于静止状态的判定次数C静止累计加一,继续进行上述的判定,检测累计判定次数是否大于300,当判定VR设备处于静止状态的判定次数C静止大于300次时,进行重力轴的校准,并对累计判定次数C静止清零(也即将判定所述VR设备处于未移动状态的判定次数加一,并校验所述判定次数是否大于预设判定次数;若校验到所述判定次数大于所述预设判定次数,则确定所述VR设备处于未移动状态的持续时长达到预设时长;所述持续时长达到所述预设时长,则确定所述VR设备处于静止状态)。
进行重力轴的校准,也即将移动加速度的方向作为初始重力轴方向,以完成重力轴的初始化,接着,利用加速度差值对该初始重力轴方向进行优化,以得到最终的VR设备的重力轴方向(也即若所述VR设备处于静止状态,则将所述VR设备的移动加速度方向作为所述VR设备的重力轴的初始方向,并依据所述初始方向确定所述VR设备的重力轴方向)。
如果该加速度差值不小于0.1,并且该转动角速度不小于1°/s,则判定VR设备未处于静止状态,对累计判定次数C静止清零,此时,重新计算加速度和方向以得到重力轴方向(也即若所述VR设备不处于静止状态,则基于所述惯性传感器中各轴的角速度估计各轴上的线性加速度;使用所述运动参数中的加速度计数据减去所述线性加速度得到所述VR设备的重力加速度,对所述重力加速度数据单位化得到表示重力向量的单位向量,将所述单位向量的方向作为所述重力轴方向)。
在得到重力轴方向后,以重力轴为法向量计算地平面(也即依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向)。
需要说明的是,上述示例仅用于理解本申请,并不构成对本申请虚拟地平面确定方法的限定,基于此技术构思进行更多形式的简单变换,均在本申请的保护范围内。
实施例三
本发明实施例还提供一种虚拟地平面确定装置,应用于VR设备,所述VR设备包括惯性传感器,请参照图4,所述虚拟地平面确定装置包括:
获取模块10,用于基于所述惯性传感器采集所述VR设备的运动参数;
第一确定模块20,用于依据所述运动参数确定所述VR设备的重力轴方向;
第二确定模块30,用于依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
可选地,所述运动参数包括移动加速度,所述第一确定模块20还用于:
依据所述运动参数检测所述VR设备是否处于静止状态;
若所述VR设备处于静止状态,则将所述移动加速度方向作为所述VR设备的重力轴的初始方向,并依据所述初始方向确定所述VR设备的重力轴方向。
可选地,所述运动参数包括转动角速度,所述第一确定模块20还用于:
对所述转动角速度进行积分处理,得到旋转角度;
按照所述旋转角度对所述初始方向进行调整,将调整后的初始方向作为重力轴方向。
可选地,所述运动参数包括转动角速度,所述第一确定模块20还用于:
确定所述移动加速度和重力加速度的加速度差值;
校验所述加速度差值是否小于预设加速度差值,并且所述转动角速度是否小于预设角速度;
若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态。
可选地,所述第一确定模块20还用于:
若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于未移动状态,并校验所述VR设备处于未移动状态的持续时长是否达到预设时长;
若所述持续时长达到所述预设时长,则确定所述VR设备处于静止状态。
可选地,所述第一确定模块20还用于:
将判定所述VR设备处于未移动状态的判定次数加一,并校验所述判定次数是否大于预设判定次数;
若校验到所述判定次数大于所述预设判定次数,则确定所述VR设备处于未移动状态的持续时长达到预设时长;
若校验到所述判定次数小于或等于所述预设判定次数,则确定所述持续时长未达到所述预设时长。
可选地,所述第一确定模块20还用于:
若所述VR设备不处于静止状态,则基于所述惯性传感器中各轴的角速度估计各轴上的线性加速度;
使用所述运动参数中的加速度计数据减去所述线性加速度得到所述VR设备的重力加速度,对所述重力加速度数据单位化得到表示重力向量的单位向量,将所述单位向量的方向作为所述重力轴方向。
本发明提供的虚拟地平面确定装置,采用上述实施例一或实施例二中的虚拟地平面确定方法,能够解决现有的虚拟场景的地平面的模拟效果差的技术问题。与现有技术相比,本发明实施例提供的虚拟地平面确定装置的有益效果与上述实施例提供的虚拟地平面确定方法的有益效果相同,且所述虚拟地平面确定装置中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
实施例四
本发明实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的虚拟地平面确定方法。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant:个人数字助理)、PAD(Portable ApplicationDescription:平板电脑)、PMP(Portable Media Player:便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备可以包括处理装置1001(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM:Read Only Memory)1002中的程序或者从存储装置1003加载到随机访问存储器(RAM:Random Access Memory)1004中的程序而执行各种适当的动作和处理。在RAM1004中,还存储有电子设备操作所需的各种程序和数据。处理装置1001、ROM1002以及RAM1004通过总线1005彼此相连。输入/输出(I/O)接口1006也连接至总线。通常,以下系统可以连接至I/O接口1006:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置1007;包括例如液晶显示器(LCD:LiquidCrystal Display)、扬声器、振动器等的输出装置1008;包括例如磁带、硬盘等的存储装置1003;以及通信装置1009。通信装置1009可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置1003被安装,或者从ROM1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。
本发明提供的电子设备,采用上述实施例中的虚拟地平面确定方法,能解决现有的虚拟场景的地平面的模拟效果差的技术问题。与现有技术相比,本发明实施例提供的电子设备的有益效果与上述实施例提供的虚拟地平面确定方法的有益效果相同,且该电子设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
实施例五
本发明实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的虚拟地平面确定方法。
本发明实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM:Random Access Memory)、只读存储器(ROM:Read Only Memory)、可擦式可编程只读存储器(EPROM:Erasable Programmable Read Only Memory或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM:CD-Read Only Memory)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency:射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取所述VR设备的重力轴方向和真实地平面的地平面景深图;确定所述地平面景深图中的各连通平面;在各所述连通平面中筛选出与所述重力轴方向的垂直方向的夹角小于预设夹角的连通平面作为目标平面;将各所述目标平面中高度最低的目标平面作为虚拟地平面。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN:Local Area Network)或广域网(WAN:Wide Area Network)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本发明提供的可读存储介质为计算机可读存储介质,所述计算机可读存储介质存储有用于执行上述虚拟地平面确定方法的计算机可读程序指令,能够解决现有的虚拟场景的地平面的模拟效果差的技术问题。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施例一或实施例二提供的虚拟地平面确定方法的有益效果相同,在此不做赘述。
实施例六
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的虚拟地平面确定方法的步骤。
本申请提供的计算机程序产品能够解决现有的虚拟场景的地平面的模拟效果差的技术问题。与现有技术相比,本发明实施例提供的计算机程序产品的有益效果与上述实施例一或实施例二提供的虚拟地平面确定方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。

Claims (10)

1.一种虚拟地平面确定方法,其特征在于,应用于VR设备,所述VR设备包括惯性传感器,所述虚拟地平面确定方法包括:
基于所述惯性传感器采集所述VR设备的运动参数;
依据所述运动参数确定所述VR设备的重力轴方向;
依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
2.如权利要求1所述的虚拟地平面确定方法,其特征在于,所述运动参数包括移动加速度,所述依据所述运动参数确定所述VR设备的重力轴方向的步骤,包括:
依据所述运动参数检测所述VR设备是否处于静止状态;
若所述VR设备处于静止状态,则将所述移动加速度方向作为所述VR设备的重力轴的初始方向,并依据所述初始方向确定所述VR设备的重力轴方向。
3.如权利要求2所述的虚拟地平面确定方法,其特征在于,所述运动参数包括转动角速度,所述依据所述初始方向确定所述VR设备的重力轴方向的步骤,包括:
对所述转动角速度进行积分处理,得到旋转角度;
按照所述旋转角度对所述初始方向进行调整,将调整后的初始方向作为重力轴方向。
4.如权利要求2所述的虚拟地平面确定方法,其特征在于,所述运动参数包括转动角速度,所述依据所述运动参数检测所述VR设备是否处于静止状态的步骤,包括:
确定所述移动加速度和重力加速度的加速度差值;
校验所述加速度差值是否小于预设加速度差值,并且所述转动角速度是否小于预设角速度;
若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态。
5.如权利要求4所述的虚拟地平面确定方法,其特征在于,所述若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于静止状态的步骤,包括:
若校验到所述加速度差值小于所述预设加速度差值,并且所述转动角速度小于所述预设角速度,则确定所述VR设备处于未移动状态,并校验所述VR设备处于未移动状态的持续时长是否达到预设时长;
若所述持续时长达到所述预设时长,则确定所述VR设备处于静止状态。
6.如权利要求5所述的虚拟地平面确定方法,其特征在于,所述校验所述VR设备处于未移动状态的持续时长是否达到预设时长的步骤,包括:
将判定所述VR设备处于未移动状态的判定次数加一,并校验所述判定次数是否大于预设判定次数;
若校验到所述判定次数大于所述预设判定次数,则确定所述VR设备处于未移动状态的持续时长达到预设时长;
若校验到所述判定次数小于或等于所述预设判定次数,则确定所述持续时长未达到所述预设时长。
7.如权利要求2至6中任一项所述的虚拟地平面确定方法,其特征在于,所述依据所述运动参数检测所述VR设备是否处于静止状态的步骤之后,还包括:
若所述VR设备不处于静止状态,则基于所述惯性传感器中各轴的角速度估计各轴上的线性加速度;
使用所述运动参数中的加速度计数据减去所述线性加速度得到所述VR设备的重力加速度,对所述重力加速度数据单位化得到表示重力向量的单位向量,将所述单位向量的方向作为所述重力轴方向。
8.一种虚拟地平面确定装置,其特征在于,应用于VR设备,所述VR设备包括惯性传感器,所述虚拟地平面确定装置包括:
获取模块,用于基于所述惯性传感器采集所述VR设备的运动参数;
第一确定模块,用于依据所述运动参数确定所述VR设备的重力轴方向;
第二确定模块,用于依据所述重力轴方向确定所述VR设备的虚拟地平面,其中,所述重力轴方向为所述虚拟地平面的法向量方向。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的虚拟地平面确定方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现虚拟地平面确定方法的程序,所述实现虚拟地平面确定方法的程序被处理器执行以实现如权利要求1至7中任一项所述的虚拟地平面确定方法的步骤。
CN202311421205.2A 2023-10-30 2023-10-30 虚拟地平面确定方法、装置、电子设备及可读存储介质 Pending CN117369643A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311421205.2A CN117369643A (zh) 2023-10-30 2023-10-30 虚拟地平面确定方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311421205.2A CN117369643A (zh) 2023-10-30 2023-10-30 虚拟地平面确定方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117369643A true CN117369643A (zh) 2024-01-09

Family

ID=89407525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311421205.2A Pending CN117369643A (zh) 2023-10-30 2023-10-30 虚拟地平面确定方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117369643A (zh)

Similar Documents

Publication Publication Date Title
US9448250B2 (en) Detecting mount angle of mobile device in vehicle using motion sensors
CN102822626B (zh) 校准在移动装置上的传感器测量
Ribeiro et al. Non-contact structural displacement measurement using Unmanned Aerial Vehicles and video-based systems
KR101636635B1 (ko) 이동 디바이스에서의 센서에 대한 사용 중 자동 교정 방법
US8359182B2 (en) Methods and systems for evaluating the performance of MEMS-based inertial navigation systems
Gao et al. Smartphone-based real time vehicle tracking in indoor parking structures
CN109781117B (zh) 一种组合定位方法和系统
US20110137608A1 (en) Position Estimation Apparatuses and Systems and Position Estimation Methods Thereof
CN106370178B (zh) 移动终端设备的姿态测量方法及装置
KR20200010051A (ko) 운동 검출 방법, 장치, 기기 및 매체
CN106813679A (zh) 运动物体的姿态估计的方法及装置
CN117369643A (zh) 虚拟地平面确定方法、装置、电子设备及可读存储介质
CN108595095B (zh) 基于手势控制模拟目标体运动轨迹的方法和装置
CN116678403A (zh) 惯性测量装置的温度补偿方法、装置、设备及存储介质
CN112651535A (zh) 局部路径规划方法、装置、存储介质、电子设备及车辆
CN113984109B (zh) 轨道检测数据校正方法、装置及电子设备
CN115495038A (zh) 音频调整方法、装置、电子设备及可读存储介质
US20190265806A1 (en) Virtual reality enclosures with magnetic field sensing
CN105829830A (zh) 信息处理设备、信息处理方法和计算机程序产品
US20170248423A1 (en) Method for filtering the signals arising from a sensor assembly comprising at least one sensor for measuring a vector physical field which is substantially constant over time and in space in a reference frame
CN117369645A (zh) 虚拟地平面确定方法、装置、电子设备及可读存储介质
CN114863650A (zh) 障碍物预警方法、装置、电子设备及可读存储介质
CN111536968B (zh) 确定路侧感知设备的动态姿态的方法和装置
CN111693723B (zh) 速度预测方法、装置和电子设备
CN117076824B (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