避障方法、虚拟现实头戴设备以及存储介质与流程

专利2022-06-28  131


本申请涉及虚拟现实技术领域,具体涉及一种避障方法、虚拟现实头戴设备以及存储介质。



背景技术:

目前,虚拟现实(virtualreality,简称vr)头戴设备通常借助tof(timeofflight,飞行时间)深度相机对使用vr设备的用户进行避障、安全引导。受限于激光和镜头技术,tof深度相机的视场角一般不会太大,这就导致在避障过程中,存在较多的视觉盲区。特别是用户佩戴vr头戴设备看前方且向后运动的情况下,tof深度相机无法检测后方的障碍物,所以避障效果差。



技术实现要素:

鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种避障方法、虚拟现实头戴设备以及存储介质。

根据本申请实施例的一个方面,提供了一种避障方法,应用于虚拟现实头戴设备,该避障方法包括:

获取传感器数据,根据所述传感器数据建立场景对应的三维网格模型;

获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;

根据预设避障条件以及所述距离,显示输出避障提示。

根据本申请实施例的另一个方面,提供了一种虚拟现实头戴设备,包括:

传感器,用于获取传感器数据,将所述传感器数据输出至处理器;

所述处理器,用于根据所述传感器数据建立场景对应的三维网格模型,获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;根据预设避障条件以及所述距离,显示输出避障提示。

根据本申请实施例的又一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现上述所述的避障方法。

本申请实施例,针对vr头戴设备避障时存在较多视觉盲区导致的避障效果和安全性不佳的问题,获取传感器数据,根据传感器数据建立场景对应的三维网格模型,实时获得vr头戴设备当前的位姿信息,基于三维网格模型以及位姿信息确定用户与障碍物之间的距离,根据预设避障条件以及距离显示输出避障提示,由于建立的是三维网格模型是360度无死角的场景模型,从而既能对当前视场内的危险进行监测和提示,也能够在监测到用户可能与tof深度相机当前视场之外的障碍物发生碰撞时,提示用户进行避障,注意安全,改善了vr头戴设备使用时的安全性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例示出的一种避障方法的流程示意图;

图2为本申请实施例示出的构建三维网格模型用于避障的方法流程图;

图3为本申请实施例示出的三维网格模型的局部示意图;

图4为本申请实施例示出的虚拟现实头戴设备的硬件示意图;

图5为本申请实施例示出的虚拟现实头戴设备的框图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为本申请实施例示出的一种避障方法的流程示意图,参见图1,本申请实施例的避障方法,应用于虚拟现实头戴设备,包括下列步骤:

步骤s101,获取传感器数据,根据所述传感器数据建立场景对应的三维网格模型。

本实施例对场景不做限制,既可以是室内场景也可以是室外场景。

步骤s102,获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离。

在一次避障提示过程中,获取vr头戴设备的位姿,本实施例中由于用户佩戴vr头戴设备,所以虚拟现实头戴设备的位姿相当于用户的位姿。

步骤s103,根据预设避障条件以及所述距离,显示输出避障提示。

避障条件根据需求进行设置,一般设定距离过近时进行避障提示。

由图1所示可知,本实施例的避障方法通过获取传感器数据建立场景对应的三维网格模型,由于三维网格模型是360度的安全网格,所以,根据三维网格模型以及vr头戴设备的位姿确定出用户与障碍物的距离后,即可基于距离进行显示和避障提示,实现360度无死角的安全监测,提升了头戴使用时的安全性。

为了避免对用户的不必要打扰,一个实施例中,当用户与障碍物的距离过近时,才进行避障提示,以提醒用户注意避开障碍物,基于此,这里的预设避障条件包括用户与障碍物之间的距离小于预设距离阈值,所述根据预设避障条件以及所述距离,显示输出避障提示包括:当所述距离满足预设避障条件时,生成在所述虚拟现实头戴设备显示的场景中叠加障碍物模型后显示输出,以提示用户避开障碍物。当用户使用vr头戴设备体验虚拟现实内容时,如果监测到需要进行避障提示,那么在当前显示的场景上生成叠加有障碍物模型的新场景,通过显示屏幕显示该新场景,提高了避障提示的效率,不需要用户退出当前场景,优化了用户体验。

如前述,本实施例的避障方法基于构建三维网格模型实现,以下重点对三维网格模型的构建进行说明,其他内容参见其他实施例。图2为本申请实施例示出的构建三维网格模型用于避障的方法流程图,参见图2,本实施例的避障方法可分为模型构建以及避障两部分;模型构建包括图2上部分示意的步骤s201至步骤s207,步骤s209,避障包括步骤s202、步骤s204、步骤s206、步骤s208以及步骤s209。

步骤s201,打开tof深度相机。

打开tof深度相机,拍摄场景,tof深度相机采集的点云数据用于三维建模。

步骤s203,进行场景全景扫描。

本步骤中,通过vr头戴设备上的tof深度相机进行场景全景扫描,获取飞行时间tof深度相机在全景扫描过程中采集的点云数据,全景扫描可以理解为对场景扫描一圈,即,进行360度的扫描。

需要说明的是,当获取tof深度相机在全景扫描过程中采集的点云数据时,通过显示屏幕显示扫描引导标识,并将tof深度相机采集的深度图像显示在所述显示屏幕上,以避免重复扫描;所述深度图像中已扫描场景进行特殊标注。比如,显示屏幕上显示箭头等扫描引导标识,引导用户按照箭头指示进行场景扫描,同时在显示屏幕上显示tof深度相机拍摄的深度图像以让用户了解图像前景状态,保证安全。另外,对扫描过的场景,深度图像中用半透明粉色进行标注,避免用户重复扫描。

步骤s205,根据每帧深度图像得到点云数据,结束占用tof深度相机。

在全景扫描过程中,tof深度相机连续拍摄场景,得到多帧深度图像,根据每帧深度图像得到对应的点云数据,在得到点云数据之后,将点云数据以固定格式保存,并将拍摄时的系统时间信息对应标注到点云数据中,结束占用tof深度相机。

需要说明的是,为了方便tof深度相机用于其他交互功能(如手势识别),这里在获得点云数据之后,即结束占用tof深度相机。从而,本实施例的vr头戴设备中可以基于tof深度相机设计更多的交互功能,节省了成本,丰富了设计,避免了使用tof深度相机实时检测障碍物不利于其它基于tof深度相机的交互功能的设计和使用问题。

步骤s202,开启双目相机和惯性传感器。

本实施例还通过双目相机和惯性传感器获取vr头戴设备运动数据,双目和惯性传感器为slam(simultaneouslocalizationandmapping,同步定位于构图)算法提供原始数据。slam算法最早被应用在机器人领域,其目标是在没有任何先验知识的情况下,根据传感器数据实时构建周围环境地图,同时根据这个地图推测自身的位置。

步骤s204,建立世界坐标系并实时计算位姿。

本步骤中,获取双目相机采集的场景图像,获取惯性传感器采集的惯性传感器数据,根据所述场景图像以及所述惯性传感器数据构建世界坐标系;在根据所述场景图像以及所述惯性传感器数据构建世界坐标系之后,计算所述虚拟现实头戴设备在世界坐标系中对应的位置信息和角度信息,由位置信息和角度信息得到所述虚拟现实头戴设备的位姿。

比如,利用惯性传感器确定重力方向,并以重力方向反方向为世界坐标系的y轴方向,分别提取双目相机中左相机图像与右相机图像的特征点并进行匹配,利用匹配成功的特征点通过视差模型和相机内参得到相机坐标系下匹配成功的特征点的坐标,以计算出左相机的第一帧图像的特征点的坐标时左相机光轴方向为世界坐标系的z轴方向,以左相机的光心为世界坐标系的原点,至此,构建得到世界坐标系。需要说明的是,本算法执行之前需要进行相机标定确定双目相机中两相机位姿变换矩阵,所以需要确定从哪个相机到哪个相机变换,而这里是以右到左的变换为例进行的说明,所以左相机的光心为原点。当然,在其他实施例中构建世界坐标系时,也可以右相机的光心为原点。

在全景扫描过程中,当vr头戴设备在用户带动下移动而发生位姿变化时,将双目相机中左相机的第一帧图像与第二帧图像进行特征匹配,接上例,第一帧图像上的匹配成功的特征点世界坐标已知,通过pnp算法得到第二帧图像中vr头戴设备的位姿,以此类推,则左相机的第n帧对应的vr头戴设备位姿都可以通过第n-1帧计算得到,从而得到特征点在n帧图像的投影。pnp(perspective-n-point)是求解3d到2d点对运动的算法。它解决了当知道n个3d空间点以及它们的投影位置时,如何估计相机所在的位姿的问题。

当得到特征点在多帧图像的投影之后,本实施例通过非线性优化算法降低重投影误差,得到最优位姿。位姿包括位置信息和角度信息,位置信息指示在世界坐标系下对应3个坐标轴上的数据,即,3自由度位置;角度信息指示在世界坐标系下对应3个坐标轴之间的旋转关系,即3自由度姿态,一共6自由度(degreeoffreedom,6dof)。

为降低噪音干扰,进一步地,本实施例通过ekf(extendedkalmanfilter,扩展卡尔曼滤波器)算法将位姿与惯性传感器数据融合,得到更加平滑的位姿数据。ekf算法是一种高效率的递归滤波器,它能够从一系列的不完全包含噪声的测量中,估计动态系统的状态,ekf的基本思想是将非线性系统线性化,然后进行卡尔曼滤波。在状态方程或测量方程为非线性时,通常采用扩展卡尔曼滤波(ekf)。

步骤s206,得到点云数据对应的位姿。

在前述步骤s205得到每帧对应的点云数据的同时,记录vr头戴设备在世界坐标系的定位,即vr头戴设备的位姿,并基于系统时间,建立点云数据与vr头戴设备的位姿的一一对应关系,也就是说,将同一采集时刻的点云与vr头戴设备的位姿对应起来,获得点云对应的vr头戴设备的位姿数据。

步骤s207,坐标系对齐。

坐标系对齐是指:获取飞行时间tof深度相机在全景扫描过程中采集的点云数据,将点云数据转换到世界坐标系下,得到目标点云。将所述点云数据转换到世界坐标系下包括:基于系统时间,确定所述点云数据对应的所述虚拟现实头戴设备的位姿;根据所述点云数据对应的所述虚拟现实头戴设备的位姿以及tof深度相机与双目相机之间的标定参数,将所述点云数据转换到世界坐标系下。

由于点云是tof深度相机生成的,所以点云数据的坐标都是tof深度相机坐标系下的本地坐标,而避障时构建世界坐标系下的三维模型才有意义,所以需要对点云数据进行坐标转换。

具体的,对tof深度相机和双目相机中的左相机进行标定,比如采用张正友标定法通过棋盘格得到左相机对于tof深度相机外参矩阵e,基于外参矩阵e以及下列公式即可将点云转换到双目相机中左相机的坐标系下:

pl=e*ptof

其中,pl表示左相机坐标系下的位置坐标,ptof表示点云数据在tof深度相机坐标系下的位置坐标,e表示外参矩阵。

再根据步骤s206中点云数据对应的位姿,通过下列公式即可将点云转换世界坐标系下,得到目标点云:

pw=r*pl t。

其中,pw表示点云在世界坐标系下的位置坐标,r表示点云数据对应的位姿中的角度信息,t表示点云数据对应的位姿中的位置信息,pl表示点云数据在左相机坐标系下的位置坐标。

步骤s209,拼接点云形成三维网格模型。

在依据步骤s207中的描述,将所有点云数据转换到世界坐标系下,得到目标点云之后,对目标点云中各位置点,根据该位置点以及与该位置点相邻的多个位置点计算该位置点与相邻位置点的法向量之间的夹角,以及确定该位置点的预设个数个最近邻点,并计算该位置点与各最近邻点的欧式距离;当所述欧式距离小于预设第一阈值且所述法向量之间的夹角小于第二预设阈值时,则将该位置点以及该位置点的最近邻点进行加权融合,得到新位置点;根据各新位置点建立场景对应的三角网格模型。

例如,对于点云中的一个当前位置点比如点a,根据点a相邻(以点a为中心上下左右位置的点)的四个位置点(点1,点2,点3,点4),可以创建两个向量,如,以点1为起点以点4为终点得到第一向量,以点2为起点以点3为终点得到第二向量,根据第一向量与第二向量的叉乘得到法向量a。以此类推,可以得到点a的相邻点如点1的法向量,记作法向量b,在得到法向量a和法向量b之后,计算这两个法向量的夹角。若法向量a和法向量b的夹角较小,那点a和点1的相似性就很大,可以融合为一个点.

另外,通过knn(k最近邻,k-nearestneighbor))算法查找当前位置点比如点a的最近邻点,计算位置点与最近邻点的欧氏距离,如果点与最近邻点的欧氏距离小于第一预设阈值d且法向量之间的夹角小于第二预设阈值θ,则将点a与最近邻点加权融合为一个新位置点。

基于新位置点利用openmesh建立三角网格,从而得到场景的、360度的三维网格模型,保存三维网格模型。

参见图3,图3示意了三维网格模型的局部示意图,由图3所示可知,在当前场景中,用户的前方有障碍物:两把椅子301,一张桌子302,一张沙发303。图3中显示了各障碍物的三维模型,以向用户提示障碍物的大小、位置等信息,实现避障效果。

步骤s208,实时避障提示。

具体应用时,获得所述虚拟现实头戴设备当前的位姿信息。比如,根据双目相机采集的场景图像以及惯性传感器采集的惯性传感器数据,基于卡尔曼滤波结合惯性导航方程,获得所述虚拟现实头戴设备当前的位姿信息。基于三维网格模型以及位姿信息,确定用户与障碍物之间的距离。即,在三维网格模型中,对vr头戴设备进行定位,确定对应的位置点,根据虚拟现实头戴设备对应的位置点与三维网格模型中障碍物的位置点,计算出两者的距离,从而得到用户与障碍物之间的距离,当距离小于预设距离阈值时,显示输出避障提示信息(比如,在vr设备当前显示的场景中显示障碍物的立体模型以进行提示)。

也就是说,场景的三维网格模型建立后,实时监测vr头戴设备与场景模型中障碍物的最小距离,当最小距离小于一定阈值时,在显示的虚拟场景中显示障碍物的立体模型(如图3所示),提示用户躲避。如果用户可能与当前视场之外的障碍物发生碰撞时,由于建立的三维网格模型是360度的,所以本实施例也能够检测到可能的碰撞并且提示用户注意安全,大大提升了vr头戴设备使用时的安全性。

图4为本申请实施例示出的虚拟现实头戴设备的硬件示意图,如图4所示,本实施例的避障方法应用于虚拟现实vr头戴设备,vr头戴设备包括显示屏幕,双目相机,惯性传感器以及tof深度相机。基于各硬件的该避障方法包括:vr头戴设备获取传感器数据,根据所述传感器数据建立场景对应的三维网格模型;获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;根据预设避障条件以及所述距离,显示输出避障提示。

比如,预设避障条件包括用户与障碍物之间的距离小于预设距离阈值,所述根据预设避障条件以及所述距离,显示输出避障提示包括:当所述距离满足预设避障条件时,vr头戴设备生成在所述虚拟现实头戴设备显示的场景中叠加障碍物模型后通过显示屏幕显示输出,以提示用户避开障碍物。

结合图4,在本实施例中,vr头戴设备获取双目相机采集的场景图像,vr头戴设备获取惯性传感器采集的惯性传感器数据,根据所述场景图像以及所述惯性传感器数据构建世界坐标系;vr头戴设备获取飞行时间tof深度相机在全景扫描过程中采集的点云数据,将所述点云数据转换到世界坐标系下,得到目标点云;对目标点云进行拼接,得到场景对应的三维网格模型。

vr头戴设备在根据所述场景图像以及所述惯性传感器数据构建世界坐标系之后,计算所述虚拟现实头戴设备在世界坐标系中对应的位置信息和角度信息,由位置信息和角度信息得到所述虚拟现实头戴设备的位姿;基于系统时间,确定所述点云数据对应的所述虚拟现实头戴设备的位姿;根据所述点云数据对应的所述虚拟现实头戴设备的位姿以及tof深度相机与双目相机之间的标定参数,将所述点云数据转换到世界坐标系下。

具体的,vr头戴设备对目标点云中各位置点,根据该位置点以及与该位置点相邻的多个位置点计算该位置点与相邻位置点的法向量之间的夹角,以及确定该位置点的预设个数个最近邻点,并计算该位置点与各最近邻点的欧式距离;当所述欧式距离小于预设第一阈值且所述法向量之间的夹角小于第二预设阈值时,则将该位置点以及该位置点的最近邻点进行加权融合,得到新位置点;根据各新位置点建立场景对应的三角网格模型。

本实施例中,获取飞行时间tof深度相机在全景扫描过程中采集的点云数据包括:当获取tof深度相机在全景扫描过程中采集的点云数据时,通过显示屏幕显示扫描引导标识,并将tof深度相机采集的深度图像显示在所述显示屏幕上,以避免重复扫描;所述深度图像中已扫描场景进行特殊标注。

本实施例中,获得所述虚拟现实头戴设备当前的位姿信息包括:根据双目相机采集的场景图像以及惯性传感器采集的惯性传感器数据,基于卡尔曼滤波结合惯性导航方程,获得所述虚拟现实头戴设备当前的位姿信息。

综上所述,本实施例的避障方法只在构建三维网格模型的过程中需要占用tof深度相机,方便了基于tof深度相机的其他交互功能的开发,同时保证了很好的用户体验效果,实现了360度的安全防护。

本申请实施例还提供了一种虚拟现实头戴设备,包括:传感器,用于获取传感器数据,将所述传感器数据输出至处理器;所述处理器,用于根据所述传感器数据建立场景对应的三维网格模型,获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;根据预设避障条件以及所述距离,显示输出避障提示。

在本申请的一个实施例中,所述处理器,具体用于当所述距离满足预设避障条件时,生成在所述虚拟现实头戴设备显示的场景中叠加障碍物模型后显示输出,以提示用户避开障碍物;所述预设避障条件包括用户与障碍物之间的距离小于预设距离阈值。

在本申请的一个实施例中,传感器包括双目相机,惯性传感器和飞行时间tof深度相机;所述处理器,具体用于获取双目相机采集的场景图像,获取惯性传感器采集的惯性传感器数据,根据所述场景图像以及所述惯性传感器数据构建世界坐标系;获取飞行时间tof深度相机在全景扫描过程中采集的点云数据,将所述点云数据转换到世界坐标系下,得到目标点云;对目标点云进行拼接,得到场景对应的三维网格模型。

在本申请的一个实施例中,所述处理器,具体用于在根据所述场景图像以及所述惯性传感器数据构建世界坐标系之后,计算所述虚拟现实头戴设备在世界坐标系中对应的位置信息和角度信息,由位置信息和角度信息得到所述虚拟现实头戴设备的位姿;基于系统时间,确定所述点云数据对应的所述虚拟现实头戴设备的位姿;根据所述点云数据对应的所述虚拟现实头戴设备的位姿以及tof深度相机与双目相机之间的标定参数,将所述点云数据转换到世界坐标系下。

在本申请的一个实施例中,所述处理器,具体用于对目标点云中各位置点,根据该位置点以及与该位置点相邻的多个位置点计算该位置点与相邻位置点的法向量之间的夹角,以及确定该位置点的预设个数个最近邻点,并计算该位置点与各最近邻点的欧式距离;当所述欧式距离小于预设第一阈值且所述法向量之间的夹角小于第二预设阈值时,则将该位置点以及该位置点的最近邻点进行加权融合,得到新位置点;根据各新位置点建立场景对应的三角网格模型。

在本申请的一个实施例中,所述处理器,具体用于当获取tof深度相机在全景扫描过程中采集的点云数据时,通过显示屏幕显示扫描引导标识,并将tof深度相机采集的深度图像显示在所述显示屏幕上,以避免重复扫描;所述深度图像中已扫描场景进行特殊标注。

在本申请的一个实施例中,所述处理器,具体用于根据双目相机采集的场景图像以及惯性传感器采集的惯性传感器数据,基于卡尔曼滤波结合惯性导航方程,获得所述虚拟现实头戴设备当前的位姿信息。

图5为本申请实施例示出的虚拟现实头戴设备的框图,如图5所示,在硬件层面,该虚拟现实头戴设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器等。当然,该虚拟现实头戴设备还可能包括其他业务所需要的硬件,例如手柄。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机可执行指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。处理器从非易失性存储器中读取避障方法对应的计算机程序到内存中然后运行。处理器,执行存储器所存放的程序实现如上文描述的避障方法。

上述如本说明书图5所示实施例揭示的避障方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上文描述的避障方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述避障方法的步骤。

本申请还提供了一种计算机可读存储介质。该计算机可读存储介质存储一个或多个计算机程序,该一个或多个计算机程序包括指令,该指令当被处理器执行时,能够实现上文描述的避障方法。

为了便于清楚描述本申请实施例的技术方案,在申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。

以上所述,仅为本申请的具体实施方式,在本申请的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本申请的目的,本申请的保护范围应以权利要求的保护范围为准。


技术特征:

1.一种避障方法,其特征在于,应用于虚拟现实头戴设备,该避障方法包括:

获取传感器数据,根据所述传感器数据建立场景对应的三维网格模型;

获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;

根据预设避障条件以及所述距离,显示输出避障提示。

2.如权利要求1所述的避障方法,其特征在于,所述预设避障条件包括用户与障碍物之间的距离小于预设距离阈值,

所述根据预设避障条件以及所述距离,显示输出避障提示包括:

当所述距离满足预设避障条件时,生成在所述虚拟现实头戴设备显示的场景中叠加障碍物模型后显示输出,以提示用户避开障碍物。

3.如权利要求1所述的避障方法,其特征在于,所述获取传感器数据,根据所述传感器数据建立场景对应的三维网格模型包括:

获取双目相机采集的场景图像,获取惯性传感器采集的惯性传感器数据,根据所述场景图像以及所述惯性传感器数据构建世界坐标系;

获取飞行时间tof深度相机在全景扫描过程中采集的点云数据,将所述点云数据转换到世界坐标系下,得到目标点云;

对目标点云进行拼接,得到场景对应的三维网格模型。

4.如权利要求3所述的避障方法,其特征在于,该方法还包括:

在根据所述场景图像以及所述惯性传感器数据构建世界坐标系之后,计算所述虚拟现实头戴设备在世界坐标系中对应的位置信息和角度信息,由位置信息和角度信息得到所述虚拟现实头戴设备的位姿;

所述将所述点云数据转换到世界坐标系下包括:

基于系统时间,确定所述点云数据对应的所述虚拟现实头戴设备的位姿;根据所述点云数据对应的所述虚拟现实头戴设备的位姿以及tof深度相机与双目相机之间的标定参数,将所述点云数据转换到世界坐标系下。

5.如权利要求3所述的避障方法,其特征在于,所述对目标点云进行拼接,得到场景对应的三维网格模型包括:

对目标点云中各位置点,根据该位置点以及与该位置点相邻的多个位置点计算该位置点与相邻位置点的法向量之间夹角,以及确定该位置点的预设个数个最近邻点,并计算该位置点与各最近邻点的欧式距离;

当所述欧式距离小于预设第一阈值且所述法向量之间的夹角小于第二预设阈值时,则将该位置点以及该位置点的最近邻点进行加权融合,得到新位置点;

根据各新位置点建立场景对应的三角网格模型。

6.如权利要求3所述的避障方法,其特征在于,所述获取飞行时间tof深度相机在全景扫描过程中采集的点云数据包括:

当获取tof深度相机在全景扫描过程中采集的点云数据时,通过显示屏幕显示扫描引导标识,并将tof深度相机采集的深度图像显示在所述显示屏幕上,以避免重复扫描;所述深度图像中已扫描场景进行特殊标注。

7.如权利要求3所述的避障方法,其特征在于,所述获得所述虚拟现实头戴设备当前的位姿信息包括:

根据双目相机采集的场景图像以及惯性传感器采集的惯性传感器数据,基于卡尔曼滤波结合惯性导航方程,获得所述虚拟现实头戴设备当前的位姿信息。

8.一种虚拟现实头戴设备,其特征在于,包括:

传感器,用于获取传感器数据,将所述传感器数据输出至处理器;

所述处理器,用于根据所述传感器数据建立场景对应的三维网格模型,获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;根据预设避障条件以及所述距离,显示输出避障提示。

9.如权利要求8所述的虚拟现实头戴设备,其特征在于,所述处理器,具体用于当所述距离满足预设避障条件时,生成在所述虚拟现实头戴设备显示的场景中叠加障碍物模型后显示输出,以提示用户避开障碍物;所述预设避障条件包括用户与障碍物之间的距离小于预设距离阈值。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。

技术总结
本申请公开一种避障方法、虚拟现实头戴设备以及存储介质。避障方法,应用于虚拟现实头戴设备,包括:获取传感器数据,根据所述传感器数据建立场景对应的三维网格模型;获得所述虚拟现实头戴设备当前的位姿信息,基于所述三维网格模型以及所述位姿信息,确定用户与障碍物之间的距离;根据预设避障条件以及所述距离,显示输出避障提示。本申请实施例既能对当前视场内的危险进行监测和提示,也能够在监测到用户可能与当前视场之外的障碍物发生碰撞时,提示用户进行避障,保证了VR头戴设备使用时的安全性。

技术研发人员:舒玉龙;宋田;郑光璞;吴涛
受保护的技术使用者:青岛小鸟看看科技有限公司
技术研发日:2020.01.07
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-9049.html

最新回复(0)