CN108762495B - 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 - Google Patents
基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 Download PDFInfo
- Publication number
- CN108762495B CN108762495B CN201810479630.XA CN201810479630A CN108762495B CN 108762495 B CN108762495 B CN 108762495B CN 201810479630 A CN201810479630 A CN 201810479630A CN 108762495 B CN108762495 B CN 108762495B
- Authority
- CN
- China
- Prior art keywords
- data
- arm
- preset
- posture
- pose
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统,所述方法包括当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据;捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态;根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色。本申请根据获取初始位姿数据以及实时姿态数据,并利用手臂运动链结构以连杆间变换矩阵形式确定手臂姿态数据,提高手臂动作识别的准确性。同时,基于内置模型将手臂姿态数据转换驱动3D虚拟角色运动,保证了虚拟角色和手臂空间位置与现实人物的空间位置保持一致。
Description
技术领域
本发明涉及智能终端技术领域,特别涉及一种基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统。
背景技术
虚拟现实(VR),是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,通过电脑等前沿技术,把原本在现实世界中无法体验到的真实与虚幻相结合。模拟仿真后再叠加,将虚幻的角色或物体叠加到真实的世界中,被人类视觉感官所感知,从而达到超越现实的体验。这样就可以将真实环境和虚幻的物体实时地叠加到同一个空间中。现有的虚拟实现普遍基于动作捕捉系统来识别人体动作,并根据人体动作对虚拟现实角色进行控制,特别是通过人体手臂动作对角色进行控制。例如,基于惯性传感器以及基于计算机视觉等方式识别人体手臂动作。但是,采用上述方式捕捉手臂动作效果不好,例如,采用基于计算机视觉的方式容易受到外界环境干扰较大,比如光照条件、背景和遮挡物等;采用基于惯性传感器的方式受测量噪声和游走误差等因素的影响,无法长时间精确的跟踪。
发明内容
本发明旨在提供一种基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于手臂动作捕捉的虚拟现实驱动方法,其包括:
当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据,其中,所述初始位姿数据包括预设位姿数据及人体原始数据;
捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态,其中,所述第一手臂姿态包括躯干关节以及手臂运动链关节;
根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述动作捕捉系统至少包括头显、左右手柄、左右上臂追踪器以及躯干追踪器。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据具体包括:
当人体穿戴动作捕捉系统时,捕捉人体处于预设姿态的预设位姿数据,其中,所述预设姿态包括第一姿态和第二姿态;
根据所述第一姿态对应的预设位姿数据校正预设骨骼模型;
根据所述预设位姿数据计算人体初始数据,以得到初始位姿数据。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述根据所述预设位姿数据计算人体初始数据,以得到初始位姿数据具体包括:
根据所述第一姿态对应的预设位姿数据计算上半身各关节的相对位置关系;
将所述第二姿态对应的预设位姿数据与所述第一姿态对应的预设位姿数据相比较来计算人体原始数据,以得到初始位姿数据。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态具体包括:
捕捉人体的实时姿态数据,根据预设躯干姿态公式计算躯干关节实时数据,并根据预设上臂姿态公式计算上臂实时位置数据;
根据初始位姿数据确定肩关节位置,并根据所述肩关节数据及肩关节变化矩阵计算肘关节实时数据,其中,所述肘关节数据为肩关节所处坐标系的X轴方向偏移上臂长;
根据所述肩关节数据以及肘关节数据计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述根据所述肩关节数据以及肘关节数据计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态具体包括:
根据肩关节数据和肘关节实时数据确定肘关节指向肩关节的第一单位向量,并根据肘关节实时数据和腕关节实时数据确定肘关节指向腕关节的第二单位向量;
根据所述第一单位向量和第二单位向量通过余弦定理计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据之前包括:
接收并存储预设骨骼模型,并将所述预设骨骼模型的各关节坐标系与预设内置模型进行关联,以得到预设骨骼模型与预设内置模型的对应关系。
所述基于手臂动作捕捉的虚拟现实驱动方法,其中,所述根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色具体包括:
将所述第一手臂姿态重定向至预设内置模型各关节点坐标系统内;
根据所述对应关系将所述第一手臂姿态转换至预设骨骼模型的各关节点坐标系内,以得到第二手臂姿态;
根据所述第二手臂姿态确定所述预设骨骼模型对应的预设虚拟角色。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于手臂动作捕捉的虚拟现实驱动方法中的步骤。
一种虚拟现实系统,其包括:动作捕捉系统以及虚拟现实设备,所述虚拟现实设备包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的基于手臂动作捕捉的虚拟现实驱动方法中的步骤。
有益效果:与现有技术相比,本发明提供了一种基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统,所述方法包括当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据;捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态,其中,所述第一手臂姿态包括躯干关节以及手臂运动链关节;根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色。本申请根据获取初始位姿数据以及实时姿态数据,并利用手臂运动链结构以连杆间变换矩阵形式确定手臂姿态数据,提高手臂动作识别的准确性。同时,基于内置模型将手臂姿态数据转换驱动3D虚拟角色运动,保证了虚拟角色和手臂空间位置与现实人物的空间位置保持一致。
附图说明
图1为本发明提供的基于手臂动作捕捉的虚拟现实驱动方法的一实施例的流程图。
图2为本发明提供的基于手臂动作捕捉的虚拟现实驱动方法的实施例中佩戴动作捕捉系统的示意图。
图3为本发明提供的基于手臂动作捕捉的虚拟现实驱动方法的实施例中第一姿态的示意图。
图4为本发明提供的基于手臂动作捕捉的虚拟现实驱动方法的实施例中第二姿态的示意图。
图5为本发明提供的一种虚拟现实系统的一实施例中虚拟现实设备的结构原理图。
具体实施方式
本发明提供一种基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。 应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参照图1,图1为本发明提供的应用自启动的控制方法的较佳实施例的流程图。所述方法包括:
S10、当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据,其中,所述初始位姿数据包括预设位姿数据及人体原始数据。
具体地,所述动作捕捉系统用于捕捉人体动作,其至少包括头显、左右手柄、左右上臂追踪器以及躯干追踪器。如图2所示,所述头显用于佩戴于人体头部,所述左右手柄分别握持于人体左右手,所述左上臂追踪器用于佩戴于左上臂位置,所述右上臂追踪器用于佩戴于右上臂位置,所述躯干追踪器用于佩戴于胸前位置。所述头显用于采集头部姿态数据,所述左右手柄用于采集腕关节姿态数据,所述左右上臂追踪器用于采用肩关节姿态数据。
此外,所述预设姿态包括第一姿态和第二姿态,所述初始化预设姿态是当人体配套动作捕捉系统后,人体分别摆放第一姿态和第二姿态,动作捕捉系统分别捕捉人体处于第一姿态的第一姿态数据和处于第二姿态的姿态数据,并根据第一姿态数据和第二姿态时间获取初始位姿数据。相应的,所述当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据具体包括:
S11、当人体穿戴动作捕捉系统时,捕捉人体处于预设姿态的预设位姿数据,其中,所述预设姿态包括第一姿态和第二姿态;
S12、根据所述第一姿态对应的预设位姿数据校正预设骨骼模型;
S13、根据所述预设位姿数据计算人体初始数据,以得到初始位姿数据。
具体地,所述第一姿态优选为“I”型姿态,所述第二姿态优选为“T”型姿态。如图3和图4所示,所述“T”型姿态为身体站立、两手臂左右张开伸直;“I”型姿态为身体站立、两手臂自然下垂。所述第一姿态和第二姿态可以是用户根据提示进行摆放,并在摆放完成后通过触动手柄来进行初始化预设姿态。此外,当人体处于“I”型姿态,通过头显采集头部的第一头部位姿数据、通过左右手臂追踪器采集第一左右手臂位姿数据;当人体处于“T”型姿态时,通过头显采集头部的第二头部位姿数据、通过左右手臂追踪器采集第二左右手臂位姿数据,其中,所述位姿数据包括位置数据和姿态数据。
进一步,虚拟现实中的虚拟角色的在虚拟空间的骨骼模型为预先存储的,记为预设骨骼模型,所述预设骨骼模型的头部位置对应的坐标系设置为根坐标系,各个关节配置对应的局部坐标系相对于根坐标系设置虚拟角色。所述头部位置可以通过头显采集,胸腔关节和左右锁骨关节的相对姿态在运动过程中保持不变,即胸腔关节和左右锁骨关节位置可以通过躯干追踪器获得;所述左右肩关节姿态通过左右上臂追踪器通获取;左右手心与手柄的相对姿态在运动过程中始终不变,通过手柄位置可以计算手心姿态。也就是说,当人体处于“I”型姿态时,可以采集躯干追踪器的姿态数据、左右上臂追踪器的姿态数据,其中,所述躯干追踪器的姿态数据记为,左上臂追踪器的姿态数据记为,右上臂追踪器的姿态数据记为,并且各姿态数据采用四元数表示。在获取到“I”型姿态数据后,采用“I”型姿态数据对预设骨骼模型进行校正。
此外,在获取到第一姿态数据和第二姿态数据后,可以根据第一狮子头数据和第二姿态数据计算人体初始数据。相应的,所述根据所述预设位姿数据计算人体初始数据,以得到初始位姿数据具体包括:
S131、根据所述第一姿态对应的预设位姿数据计算上半身各关节的相对位置关系;
S132、将所述第二姿态对应的预设位姿数据与所述第一姿态对应的预设位姿数据相比较来计算人体原始数据,以得到初始位姿数据。
具体地,所述根据“I”型姿态获取到第一头部姿态数据和第一左右手臂位置数据计算出两肩膀之间的距离(即,身宽)和两肩膀的中心点(即,胸腔关节的位置),进而计算出胸腔关节点到头显(即,胸腔关节点的位置到头显的位置)的向量。在根据“T”型姿态获取到第二头部姿态数据和第二左右手臂位置数据计算可以计算出手臂展开距离,在根据手臂展开距离和身宽计算手臂长度,其中,所述手臂长度=(手臂伸展距离-身宽)/2。在得到手臂长度后,可以依据国家标准(GB/T1000-1988)《中国成年人人体尺寸》计算出上臂和前臂的长度。最后,根据“I”型姿态和“T”型姿态的头显Z轴高度的平均值计算得到身高,例如,身高等于平均值+一个偏移量,其中,所述偏移量为预先设置的,其可以通过大量实验数据得到。在获取身高后,可以依据《中国成年人人体尺寸》的比例计算出脊柱长度、脖子长度、腿长、大腿长以及小腿长等,从而得到人体原始数据。
S20、捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态,其中,所述第一手臂姿态包括躯干关节以及手臂运动链关节。
具体地,所述动作捕捉系统实时捕捉人体的姿态数据,所述姿态数据可以通过头显、左右手柄、左右上臂追踪器以及躯干追踪器采集。也就是说,通过头显、左右手柄、左右上臂追踪器以及躯干追踪器实时捕捉人体头部、左右手心、左右上臂以及躯干的姿态数据。在获取到实时姿态数据后,可以根据初始位姿数据和实时姿态数据计算人体各关节的位置,其中,所述位置采用四元数形式表示。也就是说,根据初始位姿数据和实时姿态数据对人体躯干以及手臂的各关节的坐标进行更新。相应的,所述捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态具体包括:
S21、捕捉人体的实时姿态数据,根据预设躯干姿态公式计算躯干关节实时数据,并根据预设上臂姿态公式计算上臂实时位置数据。
具体地,所述手臂动作通过刚体姿态(旋转)来描述,并且采用四元数法。所述四元数是图形学中用作旋转变换运算的方法,其可以进行乘法运算、求逆、求出共轭四元数和旋转插值。其中,所述四元数的形式可以:
其也可以替换为如下形式表示:
绕单位向量(x y z)旋转θ角度用四元数q可以表示为:
进一步,所述刚体变换可以为将刚体的位置信息和姿态信息综合起来考虑,即采用变换矩阵来表示。并且通常使用4×4齐次变换矩阵(homogeneous transform)来表示变换矩阵:
此外,变换矩阵也可以表示刚体的局部坐标系,如式的表达式中,表示刚体相对世界坐标系原点的向量,的每行表示其正交坐标轴在父坐标轴的表示,表示其x轴的向量,表示其y轴的向量,表示其z轴的向量。如果两个刚体的坐标轴一致,且它们相对位置和姿态保持不变,那么当一个刚体运动时,在同一个坐标系中,另一个刚体与其做相同的运动。
相应的,根据刚体变换过程,所述预设躯干姿态公式可以为:
所述上臂实时位姿数据公式可以为:
其中,所述为上臂实时位姿数据,所述为上臂追踪器的实时姿态,在“I”型姿态中获取的上臂初始姿态数据,在“I”型姿态中获取的上臂初始位姿数据。此外,上臂追踪器分为左上臂追踪器和右上臂追踪器各两个,所述上臂实时姿态数据通过左右追踪器采集,可以分别用和描述左上臂追踪器和右上臂追踪器,这里统一用来描述。
进一步,在获取到躯干姿态数据和上臂姿态数据后,所述躯干和上臂的位置还可以根据胸腔位置进行偏移调整,所述偏移调整的调整值为半个身宽。其中,所述胸腔位置等于头显的位置+头显到胸腔的向量。胸腔位置偏移调整是从胸腔的位置+半个身宽得到左上臂的位置,即左肩关节的位置,从胸腔的位置-半个身宽得到右上臂的位置,即右肩关节的位置。此外,根据头显直接采集的头部的位姿数据可以通过计算与头部的相对位置关系得到脖子、胸腔和躯干的位置信息,并且左右锁骨的姿态应该和躯干保持一致。
S22、根据初始位姿数据确定肩关节位置,并根据所述肩关节数据及肩关节变化矩阵计算肘关节实时数据,其中,所述肘关节数据为肩关节所处坐标系的X轴方向偏移上臂长。
具体地,所述初始位姿数据可以读取出肩关节位置(即,上臂起始位置),所述肩关节实时位置可以由胸腔中心位置±半个身宽得到,其中+表示左肩关节位置,-表示右肩关节位置。相应的,所述肩关节位置的计算公式可以为:
S23、根据所述肩关节数据以及肘关节数据计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态。
示例性的,所述根据所述肩关节数据以及肘关节数据计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态具体包括:
根据肩关节数据和肘关节实时数据确定肘关节指向肩关节的第一单位向量,并根据肘关节实时数据和腕关节实时数据确定肘关节指向腕关节的第二单位向量;
根据所述第一单位向量和第二单位向量通过余弦定理计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态。
S30、根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色。
具体地,所述预设内置模型为预先设置,并与预设骨骼模型中各关节局部坐标系无关,所述预设内置模型采用前向轴、水平轴和垂直轴构成正交基。所述虚拟现实系统预先存储的各预设骨骼模型终端关节可以采用所述内置模型的坐标轴标识,这样可以忽略不同骨骼模型局部坐标轴的差异。相应的,所述当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据之前包括:
S030、接收并存储预设骨骼模型,并将所述预设骨骼模型的各关节坐标系与预设内置模型进行关联,以得到预设骨骼模型与预设内置模型的对应关系。
具体地,所述内置模型与预设骨骼模型的各关节相对应,可以将内置模型导入的预设骨骼模型的关节名字,然后根据将内置模型坐标系分别与预设骨骼模型的各关节的坐标系建立对应关系,以建立预设内置模型与预设骨骼模型各关节之间的对应关系,这样捕捉的实时姿态数据分别导入预设内置模型时,可以自动导入至预设骨骼模型,从而对预设骨骼模型对应的虚拟角色进行控制。在实际应用中,所述虚拟现实系统中可以预设设置多个骨骼模型,各骨骼模型的关节点的坐标系不同,当时各预设模型中具有部分相同性质。从而可以获取各预设骨骼模型的相同性质,根据所述相同性质生成内置骨骼模型。例如,导入的各骨骼模型均采用头相对于脚的上面,即预设内置模型朝上的向量可以确定;左手在右手的左边,即模型朝右的方向可以确定;由朝上和朝右的向量通过叉乘运算可以确定朝前的向量,从而确定了内置骨骼模型的正交基。在本实施例中,所述内置模型根据所述对应关系确定内置模型的骨骼关节,所述内置模型的骨骼关节可以由3个自定义数据结构组成,所述数据结构包含坐标轴的类型和一个标记,其中,类型表示其属于坐标轴的类型,标记指示该坐标轴与内置模型的方向关系,所述标记可以采用1或-1,1表示方向相同,-1表示方向相反。
进一步,对于预设骨骼模型的各关节与内置模型的对应关系可以依次建立。也就是说,首先读取预设骨骼模型的关节点的空间信息时,在将各关节点的空间信息与预设内置模型进行关联,即使用内置模型对不同的导入骨骼模型资源的关节点坐标轴进行标示,采用如下数据结构进行标示。例如,对于胸腔关节点来说,内置模型的前向轴对应胸腔关节点的y轴(方向相反)、水平轴对应胸腔关节点的x轴(方向相反),以及垂直轴对应胸腔关节点的z轴(方向一致),这样预设内置模型与预设骨骼模型的胸腔关节建立对应关系。当然,对于预设骨骼模型的其他关节点坐标轴分别与内置模型坐标轴进行比较,并记录预设骨骼模型的各关节点的坐标轴与内置模型的三个轴(前向轴、水平轴和垂直轴)的对应,同时记录坐标轴与内置模型的方向,从而实现了预设骨骼模型与预设内置模型的对应关系的建立。
此外,在预设内置模型与预设骨骼模型对应关系建立后,在获取到手臂姿态数据后,可以通过预设内置模型进行重定向,以将其与其对应的预设骨骼模型相对应。这样对于不同的预设骨骼模型,其关节点坐标系与捕捉数据的关节点坐标系不同的情况下,也能够将捕捉数据转换到预设骨骼模型的关节坐标系下。相应的,所述根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色具体包括:
S31、将所述第一手臂姿态重定向至预设内置模型各关节点坐标系统内;
S32、根据所述对应关系将所述第一手臂姿态转换至预设骨骼模型的各关节点坐标系内,以得到第二手臂姿态;
S33、根据所述第二手臂姿态确定所述预设骨骼模型对应的预设虚拟角色。
具体地,将获取到第一手臂姿态包含的各关节点的位姿数据(包括位置和姿态数据),并将各关节点的位姿数据的x轴、y轴和z轴对应至预设内置模型坐标轴,并根据预设内置模型坐标轴与预设骨骼模型的关节点的坐标轴的对应关系,将与内置模型坐标轴对应的捕捉数据的坐标轴转为预设骨骼模型的坐标轴,从而将第一手臂姿态转换为第二手臂姿态并驱动预设骨骼模型对应的虚拟角色。在本实施例中,所述第一手臂姿态重定向的过程可以为:将捕捉数据的坐标轴与预设内置模型的坐标轴进行对应,将捕捉数据的坐标系进行重定向。其具体过程可以为:捕捉数据中的关节点的三个坐标轴与内置模型三个坐标轴,并且将内置模型的前向轴、水平轴和垂直轴对应上捕捉数据模型的坐标轴;若前向轴标示为x轴,向量x=捕捉数据的x轴向量;若前向轴为y轴,向量x=捕捉数据的y轴向量;若前向轴为z轴,向量x=捕捉数据的z轴向量;若水平轴标示为x轴,向量y=捕捉数据的x轴向量;若水平轴为y轴,向量y=捕捉数据的y轴向量;若水平轴为z轴,向量y=捕捉数据的z轴向量;若垂直轴标示为x轴,向量z=捕捉数据的x轴向量;若垂直轴为y轴,向量z=捕捉数据的y轴向量;若垂直轴为z轴,向量z=捕捉数据的z轴向量;最后根据向量x,向量y和向量z组成新坐标轴,已完成捕捉数据的重定向。
基于上述基于手臂动作捕捉的虚拟现实驱动方法,本申请还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于手臂动作捕捉的虚拟现实驱动方法中的步骤。
基于上述基于手臂动作捕捉的虚拟现实驱动方法,本发明还提供了一种虚拟现实系统,其包括:动作捕捉系统以及虚拟现实设备,如图5所示,所述虚拟现实设备包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,其包括:
当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据,其中,所述初始位姿数据包括预设位姿数据及人体原始数据;
捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态,其中,所述第一手臂姿态包括躯干关节以及手臂运动链关节;
根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色;
所述捕捉人体的实时姿态数据,根据实时姿态数据以及初始位姿数据以手臂连杆件间变换矩阵方法确定第一手臂姿态具体包括:
捕捉人体的实时姿态数据,根据预设躯干姿态公式计算躯干关节实时数据,并根据预设上臂姿态公式计算上臂实时位置数据;
根据初始位姿数据确定肩关节位置,并根据肩关节数据及肩关节变化矩阵计算肘关节实时数据,其中,所述肘关节数据为肩关节所处坐标系的X轴方向偏移上臂长;
根据所述肩关节数据以及肘关节数据计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态;
其中,在获取到实时姿态数据后,根据初始位姿数据和实时位姿数据计算人体各关节的位置,以对人体躯干以及手臂的各关节的坐标进行更新。
2.根据权利要求1所述基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,所述动作捕捉系统至少包括头显、左右手柄、左右上臂追踪器以及躯干追踪器。
3.根据权利要求1所述基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,所述当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据具体包括:
当人体穿戴动作捕捉系统时,捕捉人体处于预设姿态的预设位姿数据,其中,所述预设姿态包括第一姿态和第二姿态;
根据所述第一姿态对应的预设位姿数据校正预设骨骼模型;
根据所述预设位姿数据计算人体初始数据,以得到初始位姿数据。
4.根据权利要求3所述基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,所述根据所述预设位姿数据计算人体初始数据,以得到初始位姿数据具体包括:
根据所述第一姿态对应的预设位姿数据计算上半身各关节的相对位置关系;
将所述第二姿态对应的预设位姿数据与所述第一姿态对应的预设位姿数据相比较来计算人体原始数据,以得到初始位姿数据。
5.根据权利要求1所述基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,所述根据所述肩关节数据以及肘关节数据计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态具体包括:
根据肩关节数据和肘关节实时数据确定肘关节指向肩关节的第一单位向量,并根据肘关节实时数据和腕关节实时数据确定肘关节指向腕关节的第二单位向量;
根据所述第一单位向量和第二单位向量通过余弦定理计算上臂与前臂的夹角,并根据所述夹角计算前臂位姿数据,以得到第一手臂姿态。
6.根据权利要求1所述基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,所述当人体穿戴动作捕捉系统时,初始化预设姿态以得初始位姿数据之前包括:
接收并存储预设骨骼模型,并将所述预设骨骼模型的各关节坐标系与预设内置模型进行关联,以得到预设骨骼模型与预设内置模型的对应关系。
7.根据权利要求6所述基于手臂动作捕捉的虚拟现实驱动方法,其特征在于,所述根据预设内置模型将所述第一手臂姿态转换为预设虚拟角色的第二手臂姿态,并根据所述第二手臂姿态驱动预设虚拟角色具体包括:
将所述第一手臂姿态重定向至预设内置模型各关节点坐标系统内;
根据所述对应关系将所述第一手臂姿态转换至预设骨骼模型的各关节点坐标系内,以得到第二手臂姿态;
根据所述第二手臂姿态确定所述预设骨骼模型对应的预设虚拟角色。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1~7任意一项所述的基于手臂动作捕捉的虚拟现实驱动方法中的步骤。
9.一种虚拟现实系统,其特征在于,其包括:动作捕捉系统以及虚拟现实设备,所述虚拟现实设备包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的基于手臂动作捕捉的虚拟现实驱动方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810479630.XA CN108762495B (zh) | 2018-05-18 | 2018-05-18 | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 |
PCT/CN2018/097078 WO2019218457A1 (zh) | 2018-05-18 | 2018-07-25 | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810479630.XA CN108762495B (zh) | 2018-05-18 | 2018-05-18 | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108762495A CN108762495A (zh) | 2018-11-06 |
CN108762495B true CN108762495B (zh) | 2021-06-29 |
Family
ID=64007279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810479630.XA Active CN108762495B (zh) | 2018-05-18 | 2018-05-18 | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108762495B (zh) |
WO (1) | WO2019218457A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814714B (zh) * | 2019-01-21 | 2020-11-20 | 北京诺亦腾科技有限公司 | 运动传感器的安装姿态确定方法、装置以及存储介质 |
CN110327048B (zh) * | 2019-03-11 | 2022-07-15 | 浙江工业大学 | 一种基于可穿戴式惯性传感器的人体上肢姿态重建系统 |
CN110269623A (zh) * | 2019-06-24 | 2019-09-24 | 京东方科技集团股份有限公司 | 速度确定方法和装置,虚拟现实显示方法和装置 |
CN110780738B (zh) * | 2019-10-17 | 2023-07-04 | 深圳市创凯智能股份有限公司 | 虚拟现实拟真行走方法、装置、设备及可读存储介质 |
CN110930483B (zh) * | 2019-11-20 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 一种角色控制的方法、模型训练的方法以及相关装置 |
CN111079616B (zh) * | 2019-12-10 | 2022-03-04 | 西安电子科技大学 | 基于神经网络的单人运动姿态矫正方法 |
CN111382194A (zh) * | 2020-03-09 | 2020-07-07 | 北京如影智能科技有限公司 | 一种获取机械臂操控数据的方法及装置 |
CN111539299B (zh) * | 2020-04-20 | 2024-03-01 | 上海曼恒数字技术股份有限公司 | 一种基于刚体的人体运动捕捉方法、装置、介质及设备 |
CN111880657B (zh) * | 2020-07-30 | 2023-04-11 | 北京市商汤科技开发有限公司 | 一种虚拟对象的控制方法、装置、电子设备及存储介质 |
CN112571416B (zh) * | 2020-12-10 | 2022-03-22 | 北京石油化工学院 | 一种适用于机器人系统和动作捕捉系统的坐标系标定方法 |
CN112562072A (zh) * | 2020-12-25 | 2021-03-26 | 北京爱奇艺科技有限公司 | 一种动作重定向方法、装置、设备及存储介质 |
CN112818898B (zh) * | 2021-02-20 | 2024-02-20 | 北京字跳网络技术有限公司 | 模型训练方法、装置和电子设备 |
CN113190112A (zh) * | 2021-04-08 | 2021-07-30 | 深圳市瑞立视多媒体科技有限公司 | 可扩展的数据手套驱动目标模型的方法、及相关装置 |
CN113205557B (zh) * | 2021-05-20 | 2022-07-15 | 上海曼恒数字技术股份有限公司 | 一种全身姿态还原方法及系统 |
CN113967910B (zh) * | 2021-09-22 | 2023-03-24 | 香港理工大学深圳研究院 | 一种基于增强现实和数字孪生的人机协同控制方法及系统 |
CN114089833A (zh) * | 2021-11-23 | 2022-02-25 | 清华大学 | 一种虚拟现实身体所有权的量化方法、系统及电子设备 |
CN116394265B (zh) * | 2023-06-08 | 2023-11-07 | 帕西尼感知科技(张家港)有限公司 | 一种姿态传感器标定方法、装置、设备及存储介质 |
CN116501175B (zh) * | 2023-06-25 | 2023-09-22 | 江西格如灵科技股份有限公司 | 虚拟角色移动方法、装置、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001315698A (ja) * | 2000-03-03 | 2001-11-13 | Jena Optronik Gmbh | 宇宙空間を移動している剛体の状態変数を決定する方法。 |
CN102672719A (zh) * | 2012-05-10 | 2012-09-19 | 浙江大学 | 一种仿人机器人手臂作业动态稳定控制方法 |
CN103112007A (zh) * | 2013-02-06 | 2013-05-22 | 华南理工大学 | 基于混合传感器的人机交互方法 |
CN106313049A (zh) * | 2016-10-08 | 2017-01-11 | 华中科技大学 | 一种仿人机械臂体感控制系统及控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2870618B1 (fr) * | 2004-05-21 | 2007-04-06 | Kenneth Kuk Kei Wang | Procede d'acquisition et de gestion sur un reseau d'ordinateurs de donnees morphologiques de personnes, et dispositif adapte a la mise en oeuvre dudit procede |
US20120095596A1 (en) * | 2010-10-14 | 2012-04-19 | Special Applications Technology, Inc. | Modular apparatuses |
CN102323854B (zh) * | 2011-03-11 | 2013-10-16 | 中国科学院研究生院 | 人体运动捕获装置 |
CN105252532B (zh) * | 2015-11-24 | 2017-07-04 | 山东大学 | 动作捕捉机器人协同柔性姿态控制的方法 |
CN105904457B (zh) * | 2016-05-16 | 2018-03-06 | 西北工业大学 | 一种基于位置跟踪器及数据手套的异构型冗余机械臂控制方法 |
CN107818318B (zh) * | 2017-11-27 | 2020-05-22 | 华南理工大学 | 一种人形机器人模仿相似度评价方法 |
-
2018
- 2018-05-18 CN CN201810479630.XA patent/CN108762495B/zh active Active
- 2018-07-25 WO PCT/CN2018/097078 patent/WO2019218457A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001315698A (ja) * | 2000-03-03 | 2001-11-13 | Jena Optronik Gmbh | 宇宙空間を移動している剛体の状態変数を決定する方法。 |
CN102672719A (zh) * | 2012-05-10 | 2012-09-19 | 浙江大学 | 一种仿人机器人手臂作业动态稳定控制方法 |
CN103112007A (zh) * | 2013-02-06 | 2013-05-22 | 华南理工大学 | 基于混合传感器的人机交互方法 |
CN106313049A (zh) * | 2016-10-08 | 2017-01-11 | 华中科技大学 | 一种仿人机械臂体感控制系统及控制方法 |
Non-Patent Citations (5)
Title |
---|
A Sensor Array System for the Estimation of 3D Body and Parts Movements;Islam, Shahidul 等;《2015 IEEE 10TH JUBILEE INTERNATIONAL SYMPOSIUM ON APPLIED COMPUTATIONAL INTELLIGENCE AND INFORMATICS (SACI)》;20151231;第125-130页 * |
The effect of lip and arm synchronization on embodiment: A pilot study;Tara Collingwoode-Williams 等;《2017 IEEE Virtual Reality (VR)》;20171231;第253-254页 * |
VR3DMaker: A 3D Modeling System Based on Vive;Cai, Shubin 等;《SMART COMPUTING AND COMMUNICATION, SMARTCOM 2017》;20180203;第10699卷;第173-180页 * |
基于惯性测量系统的人体运动捕捉技术;纪俐等;《计算机工程与设计》;20160430;第37卷(第04期);第1098-1011页 * |
基于骨骼信息的虚拟角色控制方法;李红波等;《重庆邮电大学学报(自然科学版)》;20160229;第28卷(第01期);第78-86页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019218457A1 (zh) | 2019-11-21 |
CN108762495A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762495B (zh) | 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统 | |
JP7273880B2 (ja) | 仮想オブジェクト駆動方法、装置、電子機器及び可読記憶媒体 | |
CN107833271B (zh) | 一种基于Kinect的骨骼重定向方法及装置 | |
Riley et al. | Enabling real-time full-body imitation: a natural way of transferring human movement to humanoids | |
KR20210011425A (ko) | 이미지 처리 방법 및 디바이스, 이미지 장치, 및 저장 매체 | |
CN108268129B (zh) | 对动作捕捉手套上的多个传感器进行校准的方法和装置及动作捕捉手套 | |
Almetwally et al. | Real-time tele-operation and tele-walking of humanoid Robot Nao using Kinect Depth Camera | |
CN102350700A (zh) | 一种基于视觉的机器人控制方法 | |
CN109243575B (zh) | 一种基于移动交互和增强现实的虚拟针灸方法及系统 | |
CN110609621B (zh) | 姿态标定方法及基于微传感器的人体运动捕获系统 | |
CN108098780A (zh) | 一种新型的机器人仿人运动系统 | |
CN109211267B (zh) | 一种惯性动作捕捉姿态快速校准方法及系统 | |
CN108334198B (zh) | 基于增强现实的虚拟雕塑方法 | |
CN109781104B (zh) | 运动姿态确定及定位方法、装置、计算机设备及介质 | |
CN110327048A (zh) | 一种基于可穿戴式惯性传感器的人体上肢姿态重建系统 | |
JP2015102913A (ja) | 姿勢推定装置及び姿勢推定方法 | |
Maycock et al. | Robust tracking of human hand postures for robot teaching | |
JP2009258884A (ja) | ユーザインタフェイス | |
KR102456872B1 (ko) | 영상센서와 관성센서의 강결합 융합을 이용한 손동작 추적시스템 및 방법 | |
CN108621164A (zh) | 基于深度相机的太极推手机器人 | |
Ji et al. | Motion trajectory of human arms based on the dual quaternion with motion tracker | |
CN111158482B (zh) | 一种人体动作姿态捕捉方法及系统 | |
Wasielica et al. | Interactive programming of a mechatronic system: A small humanoid robot example | |
Xiang et al. | Comparing real-time human motion capture system using inertial sensors with microsoft kinect | |
CN109814714A (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 |