CN117289786A - 一种人体联动方法、装置、设备及存储介质 - Google Patents
一种人体联动方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117289786A CN117289786A CN202210697221.3A CN202210697221A CN117289786A CN 117289786 A CN117289786 A CN 117289786A CN 202210697221 A CN202210697221 A CN 202210697221A CN 117289786 A CN117289786 A CN 117289786A
- Authority
- CN
- China
- Prior art keywords
- human body
- virtual
- initial
- determining
- vector
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 239000013598 vector Substances 0.000 claims description 254
- 230000008859 change Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 16
- 238000006073 displacement reaction Methods 0.000 claims description 15
- 230000003993 interaction Effects 0.000 abstract description 7
- 230000036544 posture Effects 0.000 description 64
- 210000002414 leg Anatomy 0.000 description 42
- 230000009471 action Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001105 regulatory effect Effects 0.000 description 5
- 210000001145 finger joint Anatomy 0.000 description 4
- 238000007654 immersion Methods 0.000 description 4
- 238000005452 bending Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 210000000689 upper leg Anatomy 0.000 description 3
- 244000309466 calf Species 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
本申请提供了一种人体联动方法、装置、设备及存储介质,应用于人机交互技术领域,该方法包括:在虚拟环境中创建虚拟人体模型,并获取虚拟人体模型相对于标准轴的初始角度信息。其中,虚拟环境对应标准轴。获取真实人体的人体图像,根据标准轴确定人体图像对应的第一旋转角度信息。根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。根据第二旋转角度信息,调整虚拟人体模型的姿态。根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理,并在虚拟环境中展示缩放处理后的虚拟人体模型。
Description
技术领域
本申请涉及人机交互技术领域,尤其涉及一种人体联动方法、装置、设备及存储介质。
背景技术
为了提高VR/AR虚实结合的沉浸感,提高用户体验度,人机交互必不可少。目前的人体动作识别大多都停留在一些简单常规的动作操作上面,比如人体动作展示、人体动作控制展示特效等简单操作。但在VR或AR游戏场景下,上述人体动作识别的精度与稳定性已经不能满足用户对沉浸感的需求。因此,如何实时准确的还原真实人体动作,实现真实人体与虚拟人体的高质量联动,成为亟需解决的问题。
发明内容
有鉴于此,本申请提供了一种人体联动方法、装置、设备及存储介质,根据虚拟人体模型的初始姿态以及真实人体的人体姿态,来调整虚拟人体模型,使得虚拟人体模型与真实人体的姿态以及动作保持一致,同时根据缩放比例来展示虚拟人体模型。以实现真实人体与虚拟人体模型的联动。
本申请实施例第一方面提供了一种人体联动方法,该方法包括:
在虚拟环境中创建虚拟人体模型,并获取虚拟人体模型相对于标准轴的初始角度信息。其中,虚拟环境对应标准轴。
获取真实人体的人体图像,根据标准轴确定人体图像对应的第一旋转角度信息。
根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。
根据第二旋转角度信息,调整虚拟人体模型的姿态。
根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理,并在虚拟环境中展示缩放处理后的虚拟人体模型。
在一个可选的实施方式中,该方法还包括:
获取虚拟人体模型中预设区域的初始虚拟长度。
根据预设区域的初始虚拟长度,确定预设区域的参考长度。
获取人体图像中的预设区域的当前真实长度。
根据当前真实长度和参考长度,确定缩放比例。
在一个可选的实施方式中,该方法还包括:
当真实人体的人体姿态发生变化时,获取真实人体的人体图像的旋转变化角度。
根据旋转变化角度对虚拟人体模型再次进行姿态调整。
在一个可选的实施方式中,该方法还包括:
获取真实人体的人体图像的长度变化量。
根据人体图像的长度变化量调整缩放比例。
根据调整后的缩放比例对姿态调整后的虚拟人体模型再次进行缩放处理。
在虚拟环境中展示缩放处理后的虚拟人体模型。
在一个可选的实施方式中,虚拟人体模型包括多个虚拟人体特征点,真实人体包括多个人体特征点。多个虚拟人体特征点和多个人体特征点一一对应。获取虚拟人体模型相对于标准轴的初始角度信息,包括:
根据多个虚拟人体特征点确定多个初始虚拟身体向量。
针对多个初始虚拟身体向量中每个初始虚拟身体向量,获取每个初始虚拟身体向量与标准轴对应的向量之间的向量夹角。
将每个初始虚拟身体向量对应的向量夹角确定每个初始虚拟身体向量对应的初始角度。
在一个可选的实施方式中,根据标准轴确定人体图像对应的第一旋转角度信息,包括:
根据多个人体特征点确定多个初始身体向量。
针对多个初始身体向量中每个初始身体向量,获取每个初始身体向量与标准轴对应的向量之间的向量夹角。
根据每个初始身体向量对应的向量夹角确定每个初始身体向量对应的第一旋转角度。
在一个可选的实施方式中,根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息,包括:
确定每个初始虚拟身体向量对应的初始身体向量。
根据每个初始虚拟身体向量对应的初始角度和初始身体向量对应的第一旋转角度,确定初始虚拟身体向量对应的第二旋转角度。
在一个可选的实施方式中,多个人体特征点包括头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点。根据多个人体特征点确定多个初始身体向量,包括:
根据多个所述头部特征点确定第一初始身体向量。
根据多个所述左臂特征点确定多个第二初始身体向量。
根据多个所述躯干特征点确定第三初始身体向量。
根据多个所述右臂特征点确定多个第四初始身体向量。
根据多个所述左腿特征点确定多个第五初始身体向量。
根据多个所述右腿特征点确定多个第六初始身体向量。
在一个可选的实施方式中,该方法还包括:
获取虚拟环境对应的预设参考位置。
确定虚拟人体模型与预设参考位置之间的初始距离,并确定真实人体的人体图像与预设参考位置之间的相对距离。
根据初始距离和相对距离,确定虚拟人体模型对应的位移变化量。
根据位移变化量更新虚拟人体模型在虚拟环境中的显示位置。
在一个可选的实施方式中,确定虚拟人体模型与预设参考位置之间的初始距离,包括:
确定虚拟人体模型中的目标虚拟人体特征点的位置。
确定目标虚拟人体特征点与预设参考位置之间的初始距离。
确定真实人体的人体图像与预设参考位置之间的相对距离,包括:
确定真实人体的人体图像中的目标人体特征点的位置,目标虚拟人体特征点与目标人体特征点对应。
确定目标人体特征点与预设参考位置之间的相对距离。
本申请实施例第二方面提供了一种人体联动装置,该装置包括:
建立单元,用于在虚拟环境中创建虚拟人体模型。
获取单元,用于获取虚拟人体模型相对于标准轴的初始角度信息,其中,虚拟环境对应标准轴。
获取单元,还用于获取真实人体的人体图像。
确定单元,用于根据标准轴确定人体图像对应的第一旋转角度信息。
确定单元,还用于根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。
处理单元,用于根据第二旋转角度信息,调整虚拟人体模型的姿态,根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理。
展示单元,用于在虚拟环境中展示缩放处理后的虚拟人体模型。
在一个可选的实施方式中,获取单元,还用于获取虚拟人体模型中预设区域的初始虚拟长度。
确定单元,还用于根据预设区域的初始虚拟长度,确定预设区域的参考长度。
获取单元,还用于获取人体图像中的预设区域的当前真实长度。
确定单元,还用于根据当前真实长度和参考长度,确定缩放比例。
在一个可选的实施方式中,获取单元,还用于当真实人体的人体姿态发生变化时,获取真实人体的人体图像的旋转变化角度。
处理单元,还用于根据旋转变化角度对虚拟人体模型再次进行姿态调整。
在一个可选的实施方式中,获取单元,还用于获取真实人体的人体图像的长度变化量。
确定单元,还用于根据人体图像的长度变化量调整缩放比例。
处理单元,还用于根据调整后的缩放比例对姿态调整后的虚拟人体模型再次进行缩放处理。
展示单元,具体用于在虚拟环境中展示缩放处理后的虚拟人体模型。
在一个可选的实施方式中,虚拟人体模型包括多个虚拟人体特征点,真实人体包括多个人体特征点。多个虚拟人体特征点和多个人体特征点一一对应。
确定单元,还用于根据多个虚拟人体特征点确定多个初始虚拟身体向量。
获取单元,具体用于针对多个初始虚拟身体向量中每个初始虚拟身体向量,获取每个初始虚拟身体向量与标准轴对应的向量之间的向量夹角。将每个初始虚拟身体向量对应的向量夹角确定每个初始虚拟身体向量对应的初始角度。
在一个可选的实施方式中,确定单元,具体用于根据多个人体特征点确定多个初始身体向量。针对多个初始身体向量中每个初始身体向量,获取每个初始身体向量与标准轴对应的向量之间的向量夹角。根据每个初始身体向量对应的向量夹角确定每个初始身体向量对应的第一旋转角度。
在一个可选的实施方式中,确定单元,具体用于确定每个初始虚拟身体向量对应的初始身体向量。根据每个初始虚拟身体向量对应的初始角度和初始身体向量对应的第一旋转角度,确定初始虚拟身体向量对应的第二旋转角度。
在一个可选的实施方式中,多个人体特征点包括头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点。确定单元,具体用于根据多个所述头部特征点确定第一初始身体向量。根据多个所述左臂特征点确定多个第二初始身体向量。根据多个所述躯干特征点确定第三初始身体向量。根据多个所述右臂特征点确定多个第四初始身体向量。根据多个所述左腿特征点确定多个第五初始身体向量。根据多个所述右腿特征点确定多个第六初始身体向量。
在一个可选的实施方式中,获取单元,还用于获取虚拟环境对应的预设参考位置。
确定单元,还用于确定虚拟人体模型与预设参考位置之间的初始距离,并确定真实人体的人体图像与预设参考位置之间的相对距离。根据初始距离和相对距离,确定虚拟人体模型对应的位移变化量。
展示单元,还用于根据位移变化量更新虚拟人体模型在虚拟环境中的显示位置。
在一个可选的实施方式中,确定单元,具体用于确定虚拟人体模型中的目标虚拟人体特征点的位置。确定目标虚拟人体特征点与预设参考位置之间的初始距离。确定真实人体的人体图像中的目标人体特征点的位置,目标虚拟人体特征点与目标人体特征点对应。确定目标人体特征点与预设参考位置之间的相对距离。
本申请实施例第三方面还提供了一种服务器,包括:存储器和处理器,存储器和处理器耦合。
其中,存储器用于存储一条或多条计算机指令。
处理器用于执行一条或多条计算机指令,以实现上述第一方面所述的人体联动方法。
本申请实施例第四方面还提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现上述任意一种技术方案所述的人体联动方法。
在本申请实施例所提供的技术方案中,首先在虚拟环境中建立虚拟人体模型,然后基于规定的标准轴,确定虚拟人体模型相对于该标准轴的初始角度。接着获取待还原的真实人体的人体姿态,又基于该规定的标准轴获取真实人体相对于该标准轴的旋转角度。接着根据真实人体对应的旋转角度以及虚拟人体模型对应的初始角度,来调整虚拟人体模型的角度。最后,根据缩放比例来确定要展示的虚拟人体模型的大小,在虚拟环境中展示与真实人体姿态一致的虚拟人体。上述实施例利用标准轴来衡量虚拟人体模型的初始姿态以及真实人体的实时人体姿态,然后根据真实人体的人体姿态与虚拟人体模型的初始姿态之间的姿态差异来调整虚拟人体模型。这样,无需对虚拟人体模型的初始姿态进行强制规定,对任何姿态的真实人体都能进行快速高精度的还原。实现真实人体与虚拟人体的实时联动,提高人体联动的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种人体联动方法的流程示意图;
图2为本申请实施例提供的另一种人体联动方法的流程示意图;
图3为本申请实施例提供的另一种人体联动方法的流程示意图;
图4为本申请实施例提供的一种人体特征点的分布图;
图5为本申请实施例提供的一种人体联动装置的结构示意图;
图6为本申请实施例提供的服务器的一种结构示意图。
具体实施方式
有鉴于此,本申请提供了一种人体联动方法、装置、设备及存储介质,根据虚拟人体模型的初始姿态以及真实人体的人体姿态,来调整虚拟人体模型,使得虚拟人体模型与真实人体的姿态以及动作保持一致,同时根据缩放比例来展示虚拟人体模型。以实现真实人体与虚拟人体模型的联动。
为了使本领域的技术人员能够更好的理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请进行清楚、完整地描述。但本申请能够以很多不同于上述描述的其他方式进行实施,因此,基于本申请提供的实施例,本领域普通技术人员在不经过创造性劳动的情况下,所获得的所有其他实施例,都应属于本申请保护的范围。
需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了提高VR/AR虚实结合的沉浸感,提高用户体验度,人机交互必不可少。其中,人体动作在VR/AR场景中高精度实时还原的需求越来越多。尤其是在VR/AR游戏中,人体姿态及动作的模拟与还原对游戏体验至关重要,其对精度、延时以及环境的兼容稳定性都有着非常高的要求。
目前的人体动作识别大多都停留在一些简单常规的动作操作上面,比如人体动作展示、利用人体动作控制特效等简单操作。但在VR或AR游戏场景下,上述人体动作识别的精度与稳定性已经不能满足用户对沉浸感的需求。当用户通过VR/AR设备体验VR/AR游戏时,用户非常希望通过自己的身体直接与虚拟游戏的场景内容进行交互,类似于展示现实环境的真实身体动作。即需要实现虚拟人体与真实人体的实时联动,使得VR/AR设备所展示的虚拟人体能够实时精准的还原真实人体的姿态及动作。
现有的技术,通常是采用图像识别的方法来还原人体姿势的,但是图像识别的速度较慢,并且识别精度较低。无法满足VR/AR游戏对手部还原高精度,低延时的需求。如何实时准确的还原真实人体的动作,实现真实人体与虚拟人体的高质量联动,成为亟需解决的问题。
针对上述问题,本申请提供了一种人体联动方法、装置、设备以及存储介质,根据虚拟人体模型的初始姿态以及真实人体的人体姿态,来调整虚拟人体模型,使得虚拟人体模型与真实人体的姿态以及动作保持一致,同时根据缩放比例来展示虚拟人体模型,实现真实人体与虚拟人体的实时联动。下面结合具体实施例及附图对本申请所述的方法、装置以及计算机可读存储介质做进一步详细说明。
在介绍本申请实施例之前,先对本申请实施例的基本流程进行一个整体的介绍。图1为本申请实施例提供的一种人体联动方法的流程示意图。如图1所示,首先需要获取摄像头图像,该摄像头图像即为摄像头拍摄的真实人体图像,然后获取真实人体图像的特征点(人体特征点)。然后分别进行躯干计算、头部计算、左臂计算、右臂计算、左腿计算以及右腿计算。即将人体图像分为上述几个人体部分,然后分别计算各人体部分对应至虚拟环境时的位置、姿态及大小。最后实现躯干绑定、头部绑定、左臂绑定、右臂绑定、左腿绑定以及右腿绑定。其中,绑定是指将真实人体与虚拟环境进行关联,实现真实人体与虚拟环境中的虚拟人体的联动。
结合上述描述,图2为本申请实施例提供的一种人体联动方法的流程示意图。如图2所示,该人体联动方法包括以下几个步骤:
201、在虚拟环境中创建虚拟人体模型,并获取虚拟人体模型相对于标准轴的初始角度信息。
在进行虚拟人体模型与真实人体联动的过程中,首先需要在虚拟环境中建立虚拟人体模型。具体的,该虚拟人体模型可以以任意角度或者任意姿势出现,即对虚拟人体模型的初始状态不做规定。
当建立好虚拟人体模型以后,就需要对虚拟人体模型的初始姿态进行描述。具体的,可以基于虚拟环境对应的一个标准轴来描述虚拟人体模型的初始姿态。可以理解的,标准轴是可以是一个参考坐标轴,基于标准轴可以对虚拟人体模型的初始状态,即虚拟人体模型的位置、虚拟人体模型的初始动作等进行描述。虚拟人体模型的初始状态决定了后续如何调整虚拟人体模型的姿态,为后续人体联动提供了参考信息。
202、获取真实人体的人体图像,根据标准轴确定人体图像对应的第一旋转角度信息。
在真实人体与虚拟环境互动的场景下,需要获取到真实人体的人体图像,然后才能在虚拟环境中还原真实人体的姿态,最后根据真实人体的姿势控制虚拟环境中的各项操作。示例性的,可以采用摄像头来获取真实人体的人体图像。
同理,还是基于标准轴来对真实人体的人体姿态来进行描述。基于同一个参考坐标轴对真实人体的人体姿态以及虚拟人体模型的初始姿态进行描述,就可以得到虚拟人体模型的初始姿态与对真实人体的人体姿态之间的差别。然后根据姿态差距对虚拟人体模型进行调整,就可以实现虚拟人体模型与真实人体相一致的目的。
203、根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。
示例性的,若真实人体与标准轴正方向之间形成的夹角(第一旋转角度信息)为90度,而虚拟人体模型与标准轴正方向之间形成的夹角(初始角度信息)为45度,那么可以就需要将虚拟人体模型朝标准轴正方向的方向旋转45度。可以理解的,人体图像包括多个部位,包括头部、躯干、双臂、双腿。而双臂和双腿又包括多个关节,每个胳膊可以分为大臂和小臂,每条腿分为大腿和小腿。不同身体部位的姿态决定了整个身体的身体动作。因此,在进行手型联动时,可以确定真实人体中每段身体部位相较于虚拟人体模型中虚拟身体部位的差异。对比真实人体中各身体部位的姿态以及虚拟人体模型中虚拟身体部位的初始姿态,得到旋转信息差异,再结合旋转角度的不同来调整虚拟人体模型。
204、根据第二旋转角度信息调整虚拟人体模型的姿态。
可以理解的,虚拟手部模型的初始角度是虚拟手部模型各指节与标准轴之间的夹角信息,真实手部的第一旋转模型是真实手部中各指节与标准轴之间的夹角信息。根据夹角信息可以计算出旋转角度差,即第二旋转角度,那么就需要根据第二旋转角度来对虚拟手部模型各指节进行调整,使得调整后的虚拟手部模型与真实手部保持一致,完成手型联动过程。
205、根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理。
可以理解的,人体图像还包括深度信息,即真实人体离摄像头的远近程度不同会导致人体图像中人像大小的不同。真实人体离摄像头越远,人像越小,离摄像头越近,人像越大。在进行人体联动时,需要在虚拟人体模型上也展示出人体图像的深度特征。那么,就需要根据深度信息来确定缩放比例,然后根据缩放比例来对虚拟人体模型进行缩放处理。
示例性的,可以先为初始的虚拟人体模型规定一个参考长度。即先确定初始虚拟人体模型中的预设区域,然后策略该预设区域的初始虚拟长度,并为该预设区域确定一个参考长度。接着获得真实人体图像中该预设区域的当前真实长度,然后根据当前真实长度和参考长度,确定缩放比例。示例性,可以先测量初始虚拟人体模型中右胳膊的长度,然后为该右胳膊规定一个参考长度。例如初始虚拟人体模型中右胳膊的长度为50厘米,然后规定右胳膊的参考长度为1米。接着获得人体图像中的右胳膊的当前真实长度为80厘米,那么就可以确定缩放比例为0.8,即需要根据0.8的缩放比例对初始虚拟人体模型中右胳膊的长度进行缩放,调整虚拟人体模型中右胳膊长度为40厘米。可以理解的,需要对虚拟人体模型中所有部分的长度进行缩放,即每个部分的长度都要变成原来长度的0.8倍。示例性的,还可以根据其他的方法来确定缩放比例,具体不做限定。
206、在虚拟环境中展示缩放处理后的虚拟手部模型。
当确定好虚拟手部模型的姿态和大小时,就需要在虚拟环境中展示该虚拟手部模型,来还原真实人体的动作信息。
207、当真实人体的人体姿态发生变化时,获取真实人体的人体图像的旋转变化角度。
真实人体与虚拟人体模型完成联动之后,当真实人体的人体姿态再次发生变化时,就可以确定相较于上一个真实人体动作的真实手部的旋转变化角度,然后将该旋转变化角度直接赋予虚拟人体模型,使得虚拟人体模型变化同样的旋转变化角度就能保持虚拟人体模型与真实人体的一致性。
可以理解的,当真实人体不仅人体姿态发生变化,而且离摄像机的远近程度也发生变化时,那么也需要重新确定缩放比例,并根据新的缩放比例对虚拟人体模型再次进行缩放处理,实现对真实人体的深度信息的还原。示例性的,可以获取真实人体的人体图像的长度变化量,然后根据人体图像的长度变化量调整缩放比例,再根据调整后的缩放比例对姿态调整后的虚拟人体模型再次进行缩放处理,最后在虚拟环境中展示多次缩放处理后的虚拟人体模型。
208、根据旋转变化角度对虚拟人体模型再次进行旋转处理,并在虚拟环境中展示旋转处理后的虚拟人体模型。
在本申请实施例所提供的技术方案中,首先在虚拟环境中建立虚拟人体模型,然后基于规定的标准轴,确定虚拟人体模型相对于该标准轴的初始角度。接着获取待还原的真实人体的人体姿态,又基于该规定的标准轴获取真实人体相对于该标准轴的旋转角度。接着根据真实人体对应的旋转角度以及虚拟人体模型对应的初始角度,来调整虚拟人体模型的角度。最后,根据缩放比例来确定要展示的虚拟人体模型的大小,在虚拟环境中展示与真实人体姿态一致的虚拟人体。上述实施例利用标准轴来衡量虚拟人体模型的初始姿态以及真实人体的实时人体姿态,然后根据真实人体的人体姿态与虚拟人体模型的初始姿态之间的姿态差异来调整虚拟人体模型。这样,无需对虚拟人体模型的初始姿态进行强制规定,对任何姿态的真实人体都能进行快速高精度的还原。实现真实人体与虚拟人体的实时联动,提高人体联动的效率。
结合上述描述,图3为本申请实施例提供的另一种人体联动方法的流程示意图。如图3所示,该人体联动方法包括以下几个步骤:
301、在虚拟环境中创建虚拟人体模型,并根据虚拟人体模型的多个虚拟人体特征点确定多个初始虚拟身体向量。
可以理解的,人体图像包括多个身体部位,各身体部位的姿态决定了整个人体动作。因此,若对人体动作进行还原,实现真实人体和虚拟人体模型之间的联动,就需要针对每个身体部分进行姿态统一。因此,在进行人机交互时,先在虚拟环境中建立虚拟人体模型。然后根据初始的虚拟人体模型中每一个虚拟身体部分确定初始虚拟身体向量。
其中,虚拟人体模型包括多个虚拟人体特征点,各虚拟人体特征点可以将虚拟人体模型分为多个身体部分。可以理解的,虚拟人体特征点的位置可以描述整个虚拟人体模型在虚拟环境中的位置和姿态。同时,虚拟人体模型中各人体特征点与真实人体图像中的各人体特征点是一一对应的。那么,如果能基于真实人体的各人体特征点在虚拟环境中确定好各虚拟人体征点的位置,基于虚拟人体特征点存在的虚拟人体模型就能还原真实的人体姿态。
图4为本申请实施例提供的一种人体特征点的分布图。如图4所示,人体特征点按照位置可以分为头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点。比如头部特征点包括脸部五官特征点,比如特征点1至特征点10。这些特征点可以形象的表示各五官的位置以及姿态,从而可以识别出人脸表情。又比如,右臂特征点包括特征点13、特征点15、特征点17、特征点19及特征点21。其中,特征点11、13和15能确定右臂胳膊的位置及弯曲状态,而特征点19及特征点21为右手特征点,可以用来显示右手的位置及手势。多个人体特征点可以形象的描述人体姿态,因此,在虚拟环境中要还原真实人体动作,只需要确定虚拟环境中各人体特征点对应的位置即可。
结合图4可以得知,人体各部分都对应有多个人体特征点,每一类人体特征点都可以描述各人体部位的状态。因此,可以利用各个身体部分的多个人体特征点来确定每一个身体部位对应的身体向量。
示例性的,可以根据多个头部特征点来确定第一初始虚拟身体向量,即头部对应的向量。根据多个左臂特征点确定多个第二初始虚拟身体向量,即左臂对应的向量。根据多个躯干特征点确定第三初始虚拟身体向量,即躯干对应的向量。根据多个右臂特征点确定多个第四初始虚拟身体向量,即右臂对应的向量。根据多个左腿特征点确定多个第五初始虚拟身体向量,即左腿对应的向量。以及根据多个右腿特征点确定多个第六初始虚拟身体向量,即右腿对应的向量。
可以理解的,头部与躯干部分没有关节,可以根据一个向量来确定其位置。而左臂右臂以及左腿右腿都有关节,各关节不同的弯曲状态对应不同的人体动作,因此左臂右臂以及左腿右腿均需要多个向量才能确定其姿势。示例性的,右臂对应3个关节特征点,这3个关节特征点构成了两部分,右大臂和右小臂。并且,右臂还包括右手,右手中会有多个指关节特征点,多个指关节特征点将手部分为多个指节,指节弯曲程度也代表着不同的手势。
在上述例子中,右臂对应3个关节特征点可以组成两个第四初始虚拟身体向量。分别是特征点11指向特征点13的向量以及特征点13指向特征点15的向量。又比如左腿对应特征点24、特征点26、特征点28、特征点30以及特征点32。其中,左腿就可以对应三个向量,即特征点24指向特征点26的向量,特征点26指向特征点28的向量以及特征点30指向特征点32的向量(左脚向量)。根据虚拟人体模型中的多个虚拟人体特征点就确定多个人体部位对应的多个虚拟身体向量。
302、获取每个初始虚拟身体向量对应的初始角度。
具体的,针对所有初始虚拟身体向量中每个初始虚拟身体向量,可以获取每个初始虚拟虚拟向量与标准轴对应的向量之间的向量夹角,然后将每个初始虚拟虚拟向量对应的向量夹角确定每个初始虚拟虚拟向量对应的初始角度。
303、获取真实人体的人体图像,并根据真实人体的多个人体特征点确定多个初始身体向量。
同理,真实的人体特征点也可以将真实人体分为多个身体部分,每个身体部分都可以构成一个身体向量,而身体向量相对于参考坐标轴均会产生向量夹角,该向量夹角用于描述各身体部分基于标准轴的旋转状况。可以理解的,若能得知真实人体中各身体部分与标准轴之间的向量夹角,就可以基于标准轴调整虚拟人体模型中的各虚拟身体部分,最后就能在虚拟环境中还原各身体部分的位置与姿态,保证虚拟身体模型与真实身体模型的一致性。可以理解的,初始身体向量的确定方法可以参考各部位对应的初始虚拟身体模型的确定方法,再次不做赘述。
可以理解的,人体图像被各个人体特征点分割成多个身体部分,人体图像可以看作多个身体部分堆叠的整体。那么在虚拟环境中还原真实人体姿态时,就可以先确定各身体部分相较于标准轴的旋转情况,确定每一个身体部分相较于该旋转轴对应的旋转角度。由于人体各个部分的活动方式不同,比如肢体的活动方式就与手臂的活动方式不同,因此,需要合理确定各身体部分的身体向量,以便准确的描述各部分的活动状态。例如,躯干部分通常作为整体来进行活动,那么只需一个身体向量即可。而胳膊和腿部则包括多个关节,那么就需要划分为大臂、小臂、手部、大腿、小腿以及脚步,需要多个身体向量才能对该部分进行准确的描述。
304、获取每个初始身体向量对应的第一旋转角度。
针对多个初始身体向量中每个初始身体向量,获取每个初始身体向量与标准轴对应的向量之间的向量夹角,然后将每个初始身体向量对应的向量夹角确定为该身体部位对应的第一旋转角度。
305、确定每个初始虚拟身体向量对应的第二旋转角度。
然后需要确定每一个初始虚拟身体向量对应的初始身体向量,即将虚拟手部模型与真实手部对应起来。再基于每一个初始虚拟身体向量对应的初始角度以及初始身体向量对应的第一旋转角度来确定初始虚拟身体向量待调整的第二旋转角度。
306、根据第二旋转角度,确定每个初始虚拟身体向量对应的目标虚拟身体向量。
获得每个初始虚拟身体向量对应的第二旋转角度后,就需要根据第二旋转角度对初始虚拟身体向量进行姿态调整,调整到目标虚拟身体向量以达到与真实手部姿态相一致的目的。
示例性的,可以根据每个初始虚拟身体向量对应的第二旋转角度,确定每个初始虚拟身体向量对应的四元数。其中,四元数为一种高阶复数,用来表示一个四维空间。四元数包括一个实部和三个虚部,可以用来表示一个旋转。因此,可以根据每个初始虚拟身体向量对应的第二旋转角度以及标准轴的信息,来确定其对应的四元数,然后利用四元数来确定各初始虚拟身体向量对应的目标位置。
示例性的,可以采用注视旋转的方法来获得四元数。可以先创建一个旋转,即沿着forward并且头部沿着upwards的约束注视。然后根据公式来获取最后的旋转角度。即根据每个初始虚拟身体向量对应的四元数,就能确定其对应的人体特征点在虚拟环境中的位置。
示例性的,不仅需要获得获取旋转变化的信息,还需要得到位移变化信息。具体的,需要获取每个初始虚拟人体向量对应的位置坐标信息以及每个初始人体向量对应的位置坐标信息。然后对比每个初始虚拟人体向量对应的位置坐标信息以及每个初始人体向量对应的位置坐标信息,确定每个初始虚拟人体向量中包括的虚拟人体特征点的坐标变化量。最后基于根据虚拟人体特征点的坐标变化量以及该指节对应的旋转变化量,来确定每个初始虚拟人体向量对应的目标虚拟人体向量。
307、根据每个初始虚拟身体向量对应的目标虚拟身体向量,确定虚拟人体模型的目标姿态。
当确定好根据每个初始虚拟人体向量对应的目标虚拟人体向量,就能获知虚拟人体模型应该调整到的目标姿态。可以理解的,利用虚拟环境中确定的各人体特征点的位置,就能在虚拟环境中确定一个与真实人体同步一致的虚拟人体,将其进行展示,就能更直观的展示和还原真实手部的手部动作。
308、根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理。
可以理解的,人体动作不仅有姿势和左右位移的变化,还有相较于画面的深度变化。而深度变化则体现在虚拟人体在画面上的显示大小上。位移变化也影响着人体动作的变化,因此需要确定缩放比例,对虚拟人体模型的显示大小也需要进行调整。
首先,可以在虚拟人体模型中确定一个参照物,即预设区域,然后确定该预设区域的初始长度。然后针对该初始长度来确定一个参考长度,示例性,可以先测量初始虚拟人体模型中右胳膊的长度,然后为该右胳膊规定一个参考长度。例如初始虚拟人体模型中右胳膊的长度为50厘米,然后规定右胳膊的参考长度为1米。接着,获取真实的人体图像中该参照物的当前实际长度。接着根据当前实际长度和参考长度,确定缩放比例。例如获得人体图像中的右胳膊的当前真实长度为80厘米,那么就可以确定缩放比例为0.8,即需要根据0.8的缩放比例对初始虚拟人体模型中右胳膊的长度进行缩放,调整虚拟人体模型中右胳膊长度为40厘米。可以理解的,需要对虚拟人体模型中所有部分的长度进行缩放,即每个部分的长度都要变成原来长度的0.8倍。
309、在虚拟环境中展示缩放处理后的虚拟人体模型。
可以理解的,缩放处理的虚拟人体模型不仅能还原真实人体的人体动作,还能体现真实人体离摄像头的远近程度,更准确的还原真实人体的人体动作。
在本申请实施例所提供的技术方案中,首先在虚拟环境中建立虚拟人体模型,然后基于规定的标准轴,确定虚拟人体模型相对于该标准轴的初始角度。接着获取待还原的真实人体的人体姿态,又基于该规定的标准轴获取真实人体相对于该标准轴的旋转角度。接着根据真实人体对应的旋转角度以及虚拟人体模型对应的初始角度,来调整虚拟人体模型的角度。最后,根据缩放比例来确定要展示的虚拟人体模型的大小,在虚拟环境中展示与真实人体姿态一致的虚拟人体。上述实施例利用标准轴来衡量虚拟人体模型的初始姿态以及真实人体的实时人体姿态,然后根据真实人体的人体姿态与虚拟人体模型的初始姿态之间的姿态差异来调整虚拟人体模型。这样,无需对虚拟人体模型的初始姿态进行强制规定,对任何姿态的真实人体都能进行快速高精度的还原。实现真实人体与虚拟人体的实时联动,提高人体联动的效率。
图5为本申请实施例提供的一种人体联动装置的结构示意图,以下结合图5对本实施例提供的人体联动装置进行详细描述。以下描述所涉及的实施例用于解释本申请的技术方案,并不是实际使用的限定。
该人体联动装置包括:
建立单元501,用于在虚拟环境中创建虚拟人体模型。
获取单元502,用于获取虚拟人体模型相对于标准轴的初始角度信息,其中,虚拟环境对应标准轴。
获取单元502,还用于获取真实人体的人体图像。
确定单元503,用于根据标准轴确定人体图像对应的第一旋转角度信息。
确定单元503,还用于根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。
处理单元504,用于根据第二旋转角度信息,调整虚拟人体模型的姿态,根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理。
展示单元505,用于在虚拟环境中展示缩放处理后的虚拟人体模型。
在一个可选的实施方式中,获取单元502,还用于获取虚拟人体模型中预设区域的初始虚拟长度。
确定单元503,还用于根据预设区域的初始虚拟长度,确定预设区域的参考长度。
获取单元502,还用于获取人体图像中的预设区域的当前真实长度。
确定单元503,还用于根据当前真实长度和参考长度,确定缩放比例。
在一个可选的实施方式中,获取单元502,还用于当真实人体的人体姿态发生变化时,获取真实人体的人体图像的旋转变化角度。
处理单元504,还用于根据旋转变化角度对虚拟人体模型再次进行姿态调整。
在一个可选的实施方式中,获取单元502,还用于获取真实人体的人体图像的长度变化量。
确定单元503,还用于根据人体图像的长度变化量调整缩放比例。
处理单元504,还用于根据调整后的缩放比例对姿态调整后的虚拟人体模型再次进行缩放处理。
展示单元505,具体用于在虚拟环境中展示缩放处理后的虚拟人体模型。
在一个可选的实施方式中,虚拟人体模型包括多个虚拟人体特征点,真实人体包括多个人体特征点。多个虚拟人体特征点和多个人体特征点一一对应。
确定单元503,还用于根据多个虚拟人体特征点确定多个初始虚拟身体向量。
获取单元502,具体用于针对多个初始虚拟身体向量中每个初始虚拟身体向量,获取每个初始虚拟身体向量与标准轴对应的向量之间的向量夹角。将每个初始虚拟身体向量对应的向量夹角确定每个初始虚拟身体向量对应的初始角度。
在一个可选的实施方式中,确定单元503,具体用于根据多个人体特征点确定多个初始身体向量。针对多个初始身体向量中每个初始身体向量,获取每个初始身体向量与标准轴对应的向量之间的向量夹角。根据每个初始身体向量对应的向量夹角确定每个初始身体向量对应的第一旋转角度。
在一个可选的实施方式中,确定单元503,具体用于确定每个初始虚拟身体向量对应的初始身体向量。根据每个初始虚拟身体向量对应的初始角度和初始身体向量对应的第一旋转角度,确定初始虚拟身体向量对应的第二旋转角度。
在一个可选的实施方式中,多个人体特征点包括头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点。确定单元,具体用于根据多个所述头部特征点确定第一初始身体向量。根据多个所述左臂特征点确定多个第二初始身体向量。根据多个所述躯干特征点确定第三初始身体向量。根据多个所述右臂特征点确定多个第四初始身体向量。根据多个所述左腿特征点确定多个第五初始身体向量。根据多个所述右腿特征点确定多个第六初始身体向量。
在一个可选的实施方式中,获取单元502,还用于获取虚拟环境对应的预设参考位置。
确定单元503,还用于确定虚拟人体模型与预设参考位置之间的初始距离,并确定真实人体的人体图像与预设参考位置之间的相对距离。根据初始距离和相对距离,确定虚拟人体模型对应的位移变化量。
展示单元505,还用于根据位移变化量更新虚拟人体模型在虚拟环境中的显示位置。
在一个可选的实施方式中,确定单元503,具体用于确定虚拟人体模型中的目标虚拟人体特征点的位置。确定目标虚拟人体特征点与预设参考位置之间的初始距离。确定真实人体的人体图像中的目标人体特征点的位置,目标虚拟人体特征点与目标人体特征点对应。确定目标人体特征点与预设参考位置之间的相对距离。
在本申请实施例所提供的技术方案中,先在虚拟环境中建立虚拟人体模型,然后基于规定的标准轴,确定虚拟人体模型相对于该标准轴的初始角度。接着获取待还原的真实人体的人体姿态,又基于该规定的标准轴获取真实人体相对于该标准轴的旋转角度。接着根据真实人体对应的旋转角度以及虚拟人体模型对应的初始角度,来调整虚拟人体模型的角度。最后,根据缩放比例来确定要展示的虚拟人体模型的大小,在虚拟环境中展示与真实人体姿态一致的虚拟人体。上述实施例利用标准轴来衡量虚拟人体模型的初始姿态以及真实人体的实时人体姿态,然后根据真实人体的人体姿态与虚拟人体模型的初始姿态之间的姿态差异来调整虚拟人体模型。这样,无需对虚拟人体模型的初始姿态进行强制规定,对任何姿态的真实人体都能进行快速高精度的还原。实现真实人体与虚拟人体的实时联动,提高人体联动的效率。
需要说明的是,人体联动装置中各模块/单元之间的信息交互、执行过程等内容,与本申请中图1至图4对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例提供的一种服务器,请参阅图6,图6为本申请实施例提供的服务器的一种结构示意图,服务器800具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或者雷达数据处理设备等,此处不做限定。其中,服务器800上可以部署有图5对应实施例中所描述的人体联动装置,用于实现图2对应实施例中的功能。具体的,执行设备800包括:接收器801、发射器802、处理器803和存储器804(其中执行设备800中的处理器803的数量可以一个或多个,图6中以一个处理器为例),其中,处理器803可以包括应用处理器8031和通信处理器8032。在本申请的一些实施例中,接收器801、发射器802、处理器803和存储器804可通过总线或其它方式连接。
存储器804可以包括只读存储器和随机存取存储器,并向处理器803提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器804存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器803控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器803中,或者由处理器803实现。处理器803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器803可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器804,处理器803读取存储器804中的信息,结合其硬件完成上述方法的步骤。
接收器801可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器802可用于通过第一接口输出数字或字符信息;发射器802还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器802还可以包括显示屏等显示设备。
本申请实施例中,处理器803中的应用处理器8031,用于执行图2或图4对应实施例中的人体联动方法。具体的包括:
在虚拟环境中创建虚拟人体模型,并获取虚拟人体模型相对于标准轴的初始角度信息。其中,虚拟环境对应标准轴。
获取真实人体的人体图像,根据标准轴确定人体图像对应的第一旋转角度信息。
根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。
根据第二旋转角度信息,调整虚拟人体模型的姿态。
根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理,并在虚拟环境中展示缩放处理后的虚拟人体模型。
可选的,还包括:
获取虚拟人体模型中预设区域的初始虚拟长度。
根据预设区域的初始虚拟长度,确定预设区域的参考长度。
获取人体图像中的预设区域的当前真实长度。
根据当前真实长度和参考长度,确定缩放比例。
可选的,还包括:
当真实人体的人体姿态发生变化时,获取真实人体的人体图像的旋转变化角度。
根据旋转变化角度对虚拟人体模型再次进行姿态调整。
可选的,还包括:
获取真实人体的人体图像的长度变化量。
根据人体图像的长度变化量调整缩放比例。
根据调整后的缩放比例对姿态调整后的虚拟人体模型再次进行缩放处理。
在虚拟环境中展示缩放处理后的虚拟人体模型。
可选的,虚拟人体模型包括多个虚拟人体特征点,真实人体包括多个人体特征点。多个虚拟人体特征点和多个人体特征点一一对应。获取虚拟人体模型相对于标准轴的初始角度信息,包括:
根据多个虚拟人体特征点确定多个初始虚拟身体向量。
针对多个初始虚拟身体向量中每个初始虚拟身体向量,获取每个初始虚拟身体向量与标准轴对应的向量之间的向量夹角。
将每个初始虚拟身体向量对应的向量夹角确定每个初始虚拟身体向量对应的初始角度。
可选的,根据标准轴确定人体图像对应的第一旋转角度信息,包括:
根据多个人体特征点确定多个初始身体向量。
针对多个初始身体向量中每个初始身体向量,获取每个初始身体向量与标准轴对应的向量之间的向量夹角。
根据每个初始身体向量对应的向量夹角确定每个初始身体向量对应的第一旋转角度。
可选的,根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息,包括:
确定每个初始虚拟身体向量对应的初始身体向量。
根据每个初始虚拟身体向量对应的初始角度和初始身体向量对应的第一旋转角度,确定初始虚拟身体向量对应的第二旋转角度。
可选的,多个人体特征点包括头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点。根据多个人体特征点确定多个初始身体向量,包括:
根据多个所述头部特征点确定第一初始身体向量。
根据多个所述左臂特征点确定多个第二初始身体向量。
根据多个所述躯干特征点确定第三初始身体向量。
根据多个所述右臂特征点确定多个第四初始身体向量。
根据多个所述左腿特征点确定多个第五初始身体向量。
根据多个所述右腿特征点确定多个第六初始身体向量。
可选的,该方法还包括:
获取虚拟环境对应的预设参考位置。
确定虚拟人体模型与预设参考位置之间的初始距离,并确定真实人体的人体图像与预设参考位置之间的相对距离。
根据初始距离和相对距离,确定虚拟人体模型对应的位移变化量。
根据位移变化量更新虚拟人体模型在虚拟环境中的显示位置。
可选的,确定虚拟人体模型与预设参考位置之间的初始距离,包括:
确定虚拟人体模型中的目标虚拟人体特征点的位置。
确定目标虚拟人体特征点与预设参考位置之间的初始距离。
确定真实人体的人体图像与预设参考位置之间的相对距离,包括:
确定真实人体的人体图像中的目标人体特征点的位置,目标虚拟人体特征点与目标人体特征点对应。
确定目标人体特征点与预设参考位置之间的相对距离。
需要说明的是,应用处理器8031执行各个步骤的具体方式,与本申请中图2或图4对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图2或图4对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,计算机指令在被处理器执行时用于实现:
在虚拟环境中创建虚拟人体模型,并获取虚拟人体模型相对于标准轴的初始角度信息。其中,虚拟环境对应标准轴。
获取真实人体的人体图像,根据标准轴确定人体图像对应的第一旋转角度信息。
根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息。
根据第二旋转角度信息,调整虚拟人体模型的姿态。
根据缩放比例对姿态调整后的虚拟人体模型进行缩放处理,并在虚拟环境中展示缩放处理后的虚拟人体模型。
可选的,还包括:
获取虚拟人体模型中预设区域的初始虚拟长度。
根据预设区域的初始虚拟长度,确定预设区域的参考长度。
获取人体图像中的预设区域的当前真实长度。
根据当前真实长度和参考长度,确定缩放比例。
可选的,还包括:
当真实人体的人体姿态发生变化时,获取真实人体的人体图像的旋转变化角度。
根据旋转变化角度对虚拟人体模型再次进行姿态调整。
可选的,还包括:
获取真实人体的人体图像的长度变化量。
根据人体图像的长度变化量调整缩放比例。
根据调整后的缩放比例对姿态调整后的虚拟人体模型再次进行缩放处理。
在虚拟环境中展示缩放处理后的虚拟人体模型。
可选的,虚拟人体模型包括多个虚拟人体特征点,真实人体包括多个人体特征点。多个虚拟人体特征点和多个人体特征点一一对应。获取虚拟人体模型相对于标准轴的初始角度信息,包括:
根据多个虚拟人体特征点确定多个初始虚拟身体向量。
针对多个初始虚拟身体向量中每个初始虚拟身体向量,获取每个初始虚拟身体向量与标准轴对应的向量之间的向量夹角。
将每个初始虚拟身体向量对应的向量夹角确定每个初始虚拟身体向量对应的初始角度。
可选的,根据标准轴确定人体图像对应的第一旋转角度信息,包括:
根据多个人体特征点确定多个初始身体向量。
针对多个初始身体向量中每个初始身体向量,获取每个初始身体向量与标准轴对应的向量之间的向量夹角。
根据每个初始身体向量对应的向量夹角确定每个初始身体向量对应的第一旋转角度。
可选的,根据人体图像对应的第一旋转角度信息和初始角度信息,确定虚拟人体模型对应的第二旋转角度信息,包括:
确定每个初始虚拟身体向量对应的初始身体向量。
根据每个初始虚拟身体向量对应的初始角度和初始身体向量对应的第一旋转角度,确定初始虚拟身体向量对应的第二旋转角度。
可选的,多个人体特征点包括头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点。根据多个人体特征点确定多个初始身体向量,包括:
根据多个所述头部特征点确定第一初始身体向量。
根据多个所述左臂特征点确定多个第二初始身体向量。
根据多个所述躯干特征点确定第三初始身体向量。
根据多个所述右臂特征点确定多个第四初始身体向量。
根据多个所述左腿特征点确定多个第五初始身体向量。
根据多个所述右腿特征点确定多个第六初始身体向量。
可选的,还包括:
获取虚拟环境对应的预设参考位置。
确定虚拟人体模型与预设参考位置之间的初始距离,并确定真实人体的人体图像与预设参考位置之间的相对距离。
根据初始距离和相对距离,确定虚拟人体模型对应的位移变化量。
根据位移变化量更新虚拟人体模型在虚拟环境中的显示位置。
可选的,确定虚拟人体模型与预设参考位置之间的初始距离,包括:
确定虚拟人体模型中的目标虚拟人体特征点的位置。
确定目标虚拟人体特征点与预设参考位置之间的初始距离。
确定真实人体的人体图像与预设参考位置之间的相对距离,包括:
确定真实人体的人体图像中的目标人体特征点的位置,目标虚拟人体特征点与目标人体特征点对应。
确定目标人体特征点与预设参考位置之间的相对距离本申请实施例中任意一种人体联动方法的技术方案。
在本申请实施例所提供的技术方案中,首先在虚拟环境中建立虚拟人体模型,然后基于规定的标准轴,确定虚拟人体模型相对于该标准轴的初始角度。接着获取待还原的真实人体的人体姿态,又基于该规定的标准轴获取真实人体相对于该标准轴的旋转角度。接着根据真实人体对应的旋转角度以及虚拟人体模型对应的初始角度,来调整虚拟人体模型的角度。最后,根据缩放比例来确定要展示的虚拟人体模型的大小,在虚拟环境中展示与真实人体姿态一致的虚拟人体。上述实施例利用标准轴来衡量虚拟人体模型的初始姿态以及真实人体的实时人体姿态,然后根据真实人体的人体姿态与虚拟人体模型的初始姿态之间的姿态差异来调整虚拟人体模型。这样,无需对虚拟人体模型的初始姿态进行强制规定,对任何姿态的真实人体都能进行快速高精度的还原。实现真实人体与虚拟人体的实时联动,提高人体联动的效率。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (13)
1.一种人体联动方法,其特征在于,所述方法包括:
在虚拟环境中创建虚拟人体模型,并获取所述虚拟人体模型相对于标准轴的初始角度信息;其中,所述虚拟环境对应所述标准轴;
获取真实人体的人体图像,根据所述标准轴确定所述人体图像对应的第一旋转角度信息;
根据所述人体图像对应的第一旋转角度信息和所述初始角度信息,确定所述虚拟人体模型对应的第二旋转角度信息;
根据所述第二旋转角度信息,调整所述虚拟人体模型的姿态;
根据缩放比例对姿态调整后的所述虚拟人体模型进行缩放处理,并在所述虚拟环境中展示缩放处理后的所述虚拟人体模型。
2.根据权利要求1所述的人体联动方法,其特征在于,所述方法还包括:
获取所述虚拟人体模型中预设区域的初始虚拟长度;
根据所述预设区域的初始虚拟长度,确定所述预设区域的参考长度;
获取所述人体图像中的所述预设区域的当前真实长度;
根据所述当前真实长度和所述参考长度,确定所述缩放比例。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
当所述真实人体的人体姿态发生变化时,获取所述真实人体的人体图像的旋转变化角度;
根据所述旋转变化角度对所述虚拟人体模型再次进行姿态调整。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述真实人体的人体图像的长度变化量;
根据所述人体图像的长度变化量调整所述缩放比例;
根据调整后的所述缩放比例对姿态调整后的所述虚拟人体模型再次进行缩放处理;
在所述虚拟环境中展示缩放处理后的所述虚拟人体模型。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述虚拟人体模型包括多个虚拟人体特征点,所述真实人体包括多个人体特征点;所述多个虚拟人体特征点和所述多个人体特征点一一对应;所述获取所述虚拟人体模型相对于标准轴的初始角度信息,包括:
根据所述多个虚拟人体特征点确定多个初始虚拟身体向量;
针对所述多个初始虚拟身体向量中每个初始虚拟身体向量,获取每个初始虚拟身体向量与所述标准轴对应的向量之间的向量夹角;
将所述每个初始虚拟身体向量对应的向量夹角确定所述每个初始虚拟身体向量对应的初始角度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述标准轴确定所述人体图像对应的第一旋转角度信息,包括:
根据所述多个人体特征点确定多个初始身体向量;
针对所述多个初始身体向量中每个初始身体向量,获取每个初始身体向量与所述标准轴对应的向量之间的向量夹角;
根据所述每个初始身体向量对应的向量夹角确定所述每个初始身体向量对应的第一旋转角度。
7.根据权利要求6所述的方法,其特征在于,所述根据所述人体图像对应的第一旋转角度信息和所述初始角度信息,确定所述虚拟人体模型对应的第二旋转角度信息,包括:
确定所述每个初始虚拟身体向量对应的初始身体向量;
根据所述每个初始虚拟身体向量对应的初始角度和所述初始身体向量对应的第一旋转角度,确定所述初始虚拟身体向量对应的第二旋转角度。
8.根据权利要求5至7任一项所述的方法,其特征在于,所述多个人体特征点包括头部特征点、左臂特征点、躯干特征点、右臂特征点、左腿特征点及右腿特征点;所述根据所述多个人体特征点确定多个初始身体向量,包括:
根据多个所述头部特征点确定第一初始身体向量;
根据多个所述左臂特征点确定多个第二初始身体向量;
根据多个所述躯干特征点确定第三初始身体向量;
根据多个所述右臂特征点确定多个第四初始身体向量;
根据多个所述左腿特征点确定多个第五初始身体向量;
根据多个所述右腿特征点确定多个第六初始身体向量。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
获取所述虚拟环境对应的预设参考位置;
确定所述虚拟人体模型与所述预设参考位置之间的初始距离,并确定所述真实人体的人体图像与所述预设参考位置之间的相对距离;
根据所述初始距离和所述相对距离,确定所述虚拟人体模型对应的位移变化量;
根据所述位移变化量更新所述虚拟人体模型在所述虚拟环境中的显示位置。
10.根据权利要求9所述的方法,其特征在于,所述确定所述虚拟人体模型与所述预设参考位置之间的初始距离,包括:
确定所述虚拟人体模型中的目标虚拟人体特征点的位置;
确定所述目标虚拟人体特征点与所述预设参考位置之间的初始距离;
所述确定所述真实人体的人体图像与所述预设参考位置之间的相对距离,包括:
确定所述真实人体的人体图像中的目标人体特征点的位置;所述目标虚拟人体特征点与所述目标人体特征点对应;
确定所述目标人体特征点与所述预设参考位置之间的所述相对距离。
11.一种人体联动装置,其特征在于,所述装置包括:
建立单元,用于在虚拟环境中创建虚拟人体模型;
获取单元,用于获取所述虚拟人体模型相对于标准轴的初始角度信息;其中,所述虚拟环境对应所述标准轴;
所述获取单元,还用于获取真实人体的人体图像;
确定单元,用于根据所述标准轴确定所述人体图像对应的第一旋转角度信息;
所述确定单元,还用于根据所述人体图像对应的第一旋转角度信息和所述初始角度信息,确定所述虚拟人体模型对应的第二旋转角度信息;
处理单元,用于根据所述第二旋转角度信息,调整所述虚拟人体模型的姿态;根据缩放比例对姿态调整后的所述虚拟人体模型进行缩放处理;
展示单元,用于在所述虚拟环境中展示缩放处理后的所述虚拟人体模型。
12.一种服务器,其特征在于,包括:存储器和处理器、所述存储器和所述处理器耦合;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令,以实现如权利要求1-10任意一种技术方案所述的人体联动方法。
13.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1-10任意一种技术方案所述的人体联动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210697221.3A CN117289786A (zh) | 2022-06-20 | 2022-06-20 | 一种人体联动方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210697221.3A CN117289786A (zh) | 2022-06-20 | 2022-06-20 | 一种人体联动方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117289786A true CN117289786A (zh) | 2023-12-26 |
Family
ID=89237739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210697221.3A Pending CN117289786A (zh) | 2022-06-20 | 2022-06-20 | 一种人体联动方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117289786A (zh) |
-
2022
- 2022-06-20 CN CN202210697221.3A patent/CN117289786A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11468612B2 (en) | Controlling display of a model based on captured images and determined information | |
WO2021169839A1 (zh) | 一种基于骨骼关键点的动作还原方法以及装置 | |
JP7299414B2 (ja) | 画像処理方法、装置、電子機器及びコンピュータプログラム | |
WO2010141398A2 (en) | Virtual desktop coordinate transformation | |
CN109144252B (zh) | 对象确定方法、装置、设备和存储介质 | |
CN114742925A (zh) | 虚拟对象的蒙皮方法、装置、电子设备和存储介质 | |
CN114049468A (zh) | 一种展示方法、装置、设备及存储介质 | |
CN111599002A (zh) | 用于生成图像的方法和装置 | |
WO2017061890A1 (en) | Wireless full body motion control sensor | |
CN111179438A (zh) | Ar模型动态固定方法、装置、电子设备和存储介质 | |
CN111968206B (zh) | 动画对象的处理方法、装置、设备及存储介质 | |
CN110570357A (zh) | 基于ue4引擎的镜像实现方法、装置、设备及存储介质 | |
CN106502401A (zh) | 一种图像控制方法及装置 | |
CN115908664B (zh) | 人机交互的动画生成方法、装置、计算机设备、存储介质 | |
WO2023240999A1 (zh) | 虚拟现实场景确定方法、装置及系统 | |
CN116843809A (zh) | 针对虚拟角色的处理方法和装置 | |
CN117289786A (zh) | 一种人体联动方法、装置、设备及存储介质 | |
CN110363841B (zh) | 一种虚拟驾驶环境中手部运动跟踪方法 | |
CN113496168B (zh) | 手语数据采集方法、设备、存储介质 | |
CN115908651A (zh) | 一种三维人体模型与骨架的同步更新方法及电子设备 | |
CN117289787A (zh) | 一种手型联动方法、装置、设备及存储介质 | |
CN113610949B (zh) | 虚拟手臂骨骼的蒙皮方法、装置、设备以及存储介质 | |
CN116485954A (zh) | 虚拟骨骼的修型方法和装置、存储介质及电子设备 | |
US11715246B1 (en) | Modification and transfer of character motion | |
Sato et al. | 3D freeform design: interactive shape deformations by the use of CyberGlove |
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 |