一种基于无线人体动作捕捉和光学定位的单基站便携式VR系统的制作方法

文档序号:15849374发布日期:2018-11-07 09:36阅读:372来源:国知局
一种基于无线人体动作捕捉和光学定位的单基站便携式VR系统的制作方法

本发明属于vr应用技术领域,特别涉及一种基于无线人体动作捕捉和光学定位的单基站便携式vr系统。

背景技术

当前的vr技术及设备主要分为三类:

1、基于时间戳的光学定位的专业级vr

典型产品是htcvivevr。包括1个vr头显,1~2个手柄,及2个定位基站。定位基站以一定频率发送包含时间戳信息的激光,头显及手柄上有多个激光接收器,根据激光接收器接收到的激光内的时间戳信息可计算出vr头显与定位基站的距离。从而可以确定vr头显及手柄的位置。因为vr头显和手柄必须直接接收到基站的激光。所以需要配备2个基站,而且基站需要安装在天花板位置,这样才能在360°范围内定位vr头显及手柄的位置。

2、基于双目摄像头的光学定位的专业级vr

典型产品是oculusriftvr和sonyplaystationvr。包括1个vr头显,1~2个手柄,及至少2个定位基站。vr头显及手柄上有多个红外线激光或可见光发射器,定位基站内含有双目摄像头。双目摄像头通过追踪vr头显及手柄上的红外线或可见光,计算出vr头显及手柄的空间位置。需要2台定位基站,才能在360°范围内定位vr头显及手柄的位置。

3、无光学定位的vr头盔

此类vr头盔一般没有显示单元,主要构成是透镜。将手机插入vr头盔作为显示部件,用户即可观看手机上的vr视频或游戏内容。因为没有光学追踪单元,vr头盔及双手的位置均无法得知,因此vr内容内没有视角的位移。此类vr头盔一般使用手机内的imu单元来得到vr头盔的前后及左右倾角和转动,并随之更新vr内容。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种基于无线人体动作捕捉和光学定位的单基站便携式vr系统。

为了实现上述目的,本发明采用的技术方案是:

一种基于无线人体动作捕捉和光学定位的单基站便携式vr系统,其特征在于,包括:

运动传感器模块,监测人体肢体的三维空间方位;

光学定位模块,监测人体和vr头显的绝对空间位置;

运算模块,根据运动传感器模块和光学定位模块的数据,计算获取人体身体及肢体在三维空间的位置及方位的运动变化轨迹;

vr终端设备,包括智能手机和vr头显,其中,智能手机内置vr程序,根据所述位置及方位的变化轨迹刷新显示内容,并将包括双手在内的肢体位置及方位信息应用到vr程序中,输出vr图像通过vr头显被使用者接收观看。

所述运动传感器模块包括节点和指环,其中节点和指环内均含有加速度计、陀螺仪及磁力计,节点附着在人体的各主要关节处,以捕捉主要关节在三维空间的方位,指环穿戴在人体食指第一关节处,以得到食指第一关节在三维空间的方位。

所述指环面向大拇指一侧有vr操控输入按钮,供大拇指方便点击或长按;所述节点通过穿戴绑带附着到人体的各主要关节处。

所述光学定位模块包括安装有双目红外摄像头及红外led激光灯的枢纽收纳充电盒和设置在人体背部及vr终端模块上的红外反射纸片,其中枢纽收纳充电盒内置有微处理器;所述红外led激光灯照射所述红外反射纸片,形成高亮图案,所述双目红外摄像头通过摄像捕捉并定位所述高亮图案,实现光学定位。

所述枢纽收纳充电盒作为vr系统的基站。

所述枢纽收纳充电盒收纳节点及指环,且内置充电模块给节点及指环充电。

所述运算模块运行于微处理器中,绝对空间位置数据和所有方位数据汇聚到微处理器中,计算出每个关节的空间位置,进而引入时间因素,追踪到人体身体及肢体的运动变化轨迹。

所述关节的空间位置计算如下:

1)、人体面向或侧向双目红外摄像头时

以vr头显的位置p0(x0,y0,z0)为依据,若1,2,…,j是从头到关节j的关节列表,则通过以下公式计算出关节j坐标pj:

i=1到j,重复计算pi-1(xi-1,yi-1,zi-1)–(0,hi-1,0)*qi-1

其中,hi-1是关节i的靠近头部一侧肢体的长度,qi-1是关节i的靠近头部一侧肢体的空间方位四元数,当i=j时,即可计算出pj的坐标;

2)、人体背向双目红外摄像头时

若1,2,…,j是从头到关节j的关节列表,则通过以下公式计算出关节j坐标pj:

i=1到j,重复计算pi-1(xi-1,yi-1,zi-1)–(0,hi-1,0)*qi-1

其中,hi-1是关节i的靠近背部一侧肢体的长度,qi-1是关节i的靠近背部一侧肢体的空间方位四元数,当关节j在背部以上,h1是背部图案到颈部的距离;当关节j在背部以下,h1是背部图案到腰部的距离;

当i=j时,即可计算出pj的坐标。

所述枢纽收纳充电盒中添加加速度计、角速度计及磁力计,使用sensorfusion融合算法,计算出枢纽收纳充电盒自身的三维空间方位q枢纽,q枢纽是四元数,对双目定位的位置p1首先使用公式p0’=p0*q枢纽-1修正,以得到枢纽收纳充电盒为水平时的坐标,然后再进行后续运算,其中q枢纽-1是q枢纽的反四元数。

与现有技术相比,本发明通过运动传感器监测人体肢体的三维空间方位,并利用光学定位监测人体身体位移变化,综合起来可以检测人体身体及肢体在三维空间的位置及方位的变化轨迹,并将人体运动数据实时输入到vr或3d虚拟世界里。其相对于传统的vr系统具有很好的便携性、没有空间和场地限制,不需要固定使用场地。且相对于传统的vr系统只使用一个光学追踪基站,便可以实现对人体360°全范围的定位和追踪,并且将人体动作引入vr体系。

附图说明

图1是本发明系统总体结构示意图。

图2是人体面向或侧向双目红外摄像头时肢体位置计算示意图。

图3是人体背向双目红外摄像头时肢体位置计算示意图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

如图1所示,本发明便携式vr系统主要由以下几部分组成:

枢纽收纳充电盒(hub)100,若干节点(node),指环(ring),穿戴绑带400,vr头显500以及智能手机600。

其中,枢纽收纳充电盒100,安装有双目红外摄像头101及红外led激光灯102,在人体背部粘贴有一个特殊形状的红外线反射纸片702,vr头显500的盒体及绷带上粘贴有特殊形状的红外线反射纸片701,会强烈反射红外线,在红外led激光灯102的照射下,形成高亮图案。通过双目红外摄像头101可捕捉并定位这些反射纸片,也就可以定位vr头显500及人体背部。同时本枢纽设置有节点及指环收纳充电槽103,可以收纳节点及指环,并且可以给节点及指环充电。枢纽收纳充电盒100具有传统vr系统的基站功能。

节点可以附加在人体的主要关节处,以捕捉关节在空间的方位。节点内含有加速度计、陀螺仪及磁力计,3个传感器的数据通过融合后,可以得到节点在三维空间的方位。

指环穿戴在人体食指第一关节处。指环内含有加速度计、陀螺仪及磁力计,3个传感器的数据通过融合后,可以得到食指第一关节在三维空间的方位。同时,指环面向大拇指一侧有按钮,可供大拇指方便点击或长按,进行游戏输入,例如这个体系应用到枪战vr游戏里时,用大拇指点按戒指上的按钮可以控制发射弹药。

节点/指环内均运行有sensorfusion数据融合程序,即将加速度计、角速度计及磁力计的数据进行融合计算,得到节点/指环在3维空间的方位。节点/指环附着在人体部位上,节点/指环的三维空间方位就代表了对应人体部位的三维空间方位。

穿戴绑带400可采用魔术贴结构,能够方便地将节点附着到人体各个部位,同时便于拆卸。

使用场景参考图1,通过穿戴绑带100将节点附着在人体最多19个部位上,图中展示出了后脑节点201、后颈节点202、右肩节点203、背部节点204、右大臂节点205、脊椎节点206、腰部/臀部节点207、右小臂节点208、右手背节点209、右大腿节点210、右小腿节点211、右脚节点212、左脚节点213、左小腿节点214、左大腿节点215、左手背节点216、左小臂节点217、左大臂节点218、左肩节点219,同时左手食指带有左手食指指环302,右手食指带有右手食指指环301。

在人体背部粘贴有一个特殊形状的红外线反射纸片702,vr头显500的盒体及绷带上粘贴有特殊形状的红外线反射纸片701,在本实施例中,红外线反射纸片702连接了左肩节点219和背部节点204、右肩节点203和背部节点204以及背部节点204和脊椎节点206,但这并非必须。红外线反射纸片701和红外线反射纸片702的形状并无特殊要求,只要能够满足容易识别即可。

将智能手机600放入vr头显500中,并将vr头显500戴在头部。将枢纽放置在身旁2~5米的地方,双目红外摄像头101对着人体。用两个摄像头拍摄到同一画面,根据两幅头像里同一图案的像素差距、以及两个摄像头的物理距离,来计算出图案距离双目摄像头的距离,也就是图案在空间的位置。图案在空间的位置,也就是头部或背部在空间的位置。

所有节点、指环的三维空间方位数据通过蓝牙或者wifi的无线方式实时传送给运算模块。同时枢纽收纳充电盒100通过双目红外摄像头101实时定位vr头显500及人体背部。利用这两组数据,枢纽搭载的运算模块可计算出双手及所有肢体的位置。然后通过无线的方式将所有人体部位的位置及方位信息传输给智能手机600。智能手机600中的vr程序根据头部的定位及方位刷新显示内容,同时包括双手在内的肢体位置及方位信息也会应用到vr程序中,并最终被使用者通过vr头显500所接受。

上述通过双目红外摄像头101定位vr头显500及人体背部,并融合人体肢体三维方位,来计算所有肢体的位置的方法如下:

一、人体面向或侧向双目红外摄像头101时

双目红外摄像头101可始终拍摄到vr头显500,即,枢纽收纳充电盒100可以始终定位到vr头显500。

如图2所示,用19个刚体关节连接体系表示人体。其中深灰色是主要部位、浅灰色是辅助部位。

双目红外摄像头101定位到vr头显500的位置是:p0,p0的详细坐标是(x0,y0,z0)。

以vr头显的位置p0(x0,y0,z0)为依据,若1,2,…,j是从头到关节j的关节列表,则通过以下公式计算出关节j坐标pj:

i=1到j,重复计算pi-1(xi-1,yi-1,zi-1)–(0,hi-1,0)*qi-1

其中,hi-1是关节i的靠近头部一侧肢体的长度,qi-1是关节i的靠近头部一侧肢体的空间方位四元数,当i=j时,即可计算出pj的坐标;

具体地,若头部长度是h0,头部的三维空间方位是q0(q0是四元数)。

则头部与颈部连接部位j1的位置可用如下方式计算。

通过原点的向量v0(0,h0,0)具有与头部同样的长度。

v0’=v0*q0表示将向量v0旋转到与头部方位完全一致的向量v0’,并且v0’还是通过原点。

若v0’到p0的平移是s0即s0=p0–v0'

则j1的坐标pj1=(0,0,0)+s0=p0–v0’=p0–v0*q0。

假设已知其他部位肢体的长度,根据同样的计算方法,可计算出其他部位肢体两端的位置。

二、人体背向双目红外摄像头101时

人体背向双目红外摄像头101时,一般情况下,双目红外摄像头101仍然可看到vr头显500的绷带,即也能定位vr头显500的位置。根据上述计算,可计算出其他部位肢体的位置。

在某些情况下,双目红外摄像头101不能拍摄到vr头显500。但此时,一般情况下,双目红外摄像头101任然可拍摄到人体背部。

双目红外摄像头101定位到背部反射区的位置是p0,p0的详细坐标是(x0,y0,z0)。背部即躯干的三维空间方位是q0(q0是四元数)。

若1,2,…,j是从头到关节j的关节列表,则通过以下公式计算出关节j坐标pj:

i=1到j,重复计算pi-1(xi-1,yi-1,zi-1)–(0,hi-1,0)*qi-1

其中,hi-1是关节i的靠近背部一侧肢体的长度,qi-1是关节i的靠近背部一侧肢体的空间方位四元数,当关节j在背部以上,h0是背部图案到颈部的距离;当关节j在背部以下,h0是背部图案到腰部的距离;

当i=j时,即可计算出pj的坐标。

具体地,若p0到j1的长度是h0u,p0到j2的长度是h0d。

若v0u(0,h0u,0),v0d(0,h0d,0)分别是通过原点的向量。

则j1的坐标是:pj1=p0+v0u*q0

j2的坐标是:pj2=p0–v0d*q0

其中*表示矩阵乘法。

节点只能获取空间方位,但没有位置信息。但因为人体是一个连接的关节系统。例如大臂不动,小臂在运动。则可以根据小臂的方位变化,和小臂的长度,计算出小臂末端即手腕处的相对位置变化。假设已知其他部位肢体的长度,根据同样的计算方法,可计算出每个部位肢体两端的位置。例如,如果知道了大臂(例如肘关节)在空间的绝对位置,则可以计算出手腕处的绝对位置变化。

在上述一和二的计算中,假设枢纽收纳充电盒100始终是水平放置的。

若对此系统改进,可在枢纽收纳充电盒100中添加加速度计、角速度计及磁力计,使用sensorfusion融合算法,计算出枢纽收纳充电盒100自身的三维空间方位q枢纽,(q枢纽是四元数)。

则对于双目定位的位置p0,需要首先使用如下方法修正,以得到枢纽收纳充电盒100为水平时的坐标。

p0’=p0*q枢纽-1,其中q枢纽-1是q枢纽的反四元数。

然后使用p0’继续上述的计算。

人体各个部位肢体长度的估算。

在上述的计算中,均需要知道人体各个部位肢体的长度。例如头部长度,颈部长度,肩部长度,上身躯干长度及背部节点在上身躯干的位置等。这些参数可令使用者输入。

一个简单的估算方式是:根据用户的身高、年龄、及性别,按照人体身体比例,估算出所需肢体的长度,并估算出背部反射区的高度。

位置误差修正

本发明便携式vr系统,只使用一个光学定位基站来定位vr头显500或者背部位置,以此位置为基准,配合人体姿态,计算出人体各部位的位置。由于系统中使用的各个肢体长度(例如头部、颈部、肩宽、背长、大小臂长、大小腿长等)是通过身高、年龄、性别估算得出,难免出现误差。同时,本系统将人体简化为19个骨骼刚体关节体系,也会带来误差。因此需要误差修正技术。

在vr系统中,头部的定位尤其关键,因为头部的位置和角度决定了vr画面内容。如果头部位置出现跳变,vr画面内容会有明显的停顿、跳变感,影响使用体验。因此本便携式vr系统采用平滑头部位置的技术来消除误差、增强体验。具体逻辑为:

a,当枢纽(基站)能够定位到vr头显500,也就是可以定位到头部位置时,以头部位置为基准,计算出双手等其他身体部位的位置。

b,当枢纽(基站)上一时刻tn-1可以定位到vr头显500,此刻tn不能定位到vr头显500,但能定位到人体背部时。根据人体背部位置,计算出tn时刻头部、双手及其他身体部位的位置。如果计算出的头部位置与tn-1的头部位置不一致,则使用tn-1的头部定位。如果tn的背部位置与tn-1计算的背部位置不同,则尝试1:使用tn时刻的背部位置,同时调整浅灰色肢体的方位,以使得tn时刻与tn-1时刻的头部及背部的位置均相同。若尝试1不成功,则使用tn-1时刻的背部位置,记录tn时刻背部位置与tn-1时刻背部位置的偏移为shift背部,在后续使用背部的光学定位时,均应用此偏移。

c,当枢纽(基站)上一时刻tn-1不能定位vr头显500,此刻tn可以定位到vr头显500时,同时枢纽也可以定位到人体背部。如果tn-1时刻计算出的头部位置,与tn时刻定位到的头部位置不同,则使用tn-1时刻的头部位置,记录两者的偏移为shift头部,在后续使用光学定位到的头部位置时,均应用此偏移。以修正后的头部位置为基准,计算双手及其他人体部位的位置。

本便携式vr系统中使用红外反射纸片,来形成红外成像的高亮区,以方便红外双目镜头追踪反射区。使用此方法的原因是可以通用到不同的vr头显500上。

也可以使用红外或可见光led灯,来代替反射纸片,但这样只能使用定制的vr头显500。

本系统中利用光学定位确定头盔或者背部的绝对空间位置,再根据人体的关节连接关系、各关节肢体的长度及方位,计算出全身各个部位的绝对位置,从而做到追踪全身各个部位的方位及位置变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1