用于控制虚拟人物的方法、设备、系统、程序和存储介质与流程

文档序号:14835099发布日期:2018-06-30 12:03阅读:253来源:国知局
用于控制虚拟人物的方法、设备、系统、程序和存储介质与流程

本公开属于计算机视觉技术领域,特别是涉及一种用于控制虚拟人物的方法、设备、系统、计算机程序和存储介质。



背景技术:

虚拟人物是通过数字技术和计算机技术模拟出来的与真实人体类似的三维模型,它具有真实人体的几何特性与人物特性。虚拟人物的运动控制是指基于虚拟现实技术对三维虚拟人物的运动状态进行控制。近年来,随着虚拟人物在娱乐、旅游、文化、医疗、军事、航天等各个领域的广泛应用,虚拟人物的运动控制已经成为虚拟现实技术一个备受关注的研究方向。



技术实现要素:

本公开实施例提供一种用于控制虚拟人物的技术方案。

根据本公开实施例的一个方面,提供用于控制虚拟人物的方法,包括:

第一设备获取采集到的当前图像;

所述第一设备对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点的信息,其中,所述多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一方法实施例中,所述多个人体关键点的信息包括:所述多个人体关键点中每个人体关键点的位置信息和/或所述多个人体关键点的角度信息。

可选地,在本发明上述任一方法实施例中,所述第一设备对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点的信息,包括:

对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息;

根据所述多个人体关键点中每个人体关键点的位置信息,确定所述多个人体关键点的角度信息。

可选地,在本发明上述任一方法实施例中,所述对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息,包括:

利用神经网络对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息。

可选地,在本发明上述任一方法实施例中,所述根据所述多个人体关键点中每个人体关键点的位置信息,确定所述多个人体关键点的角度信息,包括:

根据所述多个人体关键点中相邻的第一关键点和第二关键点的位置信息,确定所述第一关键点相对于所述第二关键点的第一向量;

根据所述多个人体关键点中相邻的第二关键点和第三关键点的位置信息,确定所述第三关键点相对于所述第二关键点的第二向量;

根据所述第一向量和所述第二向量,确定所述第一向量与所述第二向量之间的夹角。

可选地,在本发明上述任一方法实施例中,所述第一设备获取采集到的当前图像,包括:

所述第一设备获取远程摄像头采集到的所述当前图像;或者

所述第一设备获取本地摄像头采集到的所述当前图像。

可选地,在本发明上述任一方法实施例中,还包括:

所述第一设备根据所述多个人体关键点的信息,控制所述当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一方法实施例中,所述第一设备根据所述多个人体关键点的信息,控制所述当前虚拟场景图像中虚拟人物的姿态,包括:

根据所述多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息;

根据所述多个虚拟关键点在所述虚拟场景图像中的目标位置信息,对所述当前虚拟场景图像进行渲染处理。

可选地,在本发明上述任一方法实施例中,还包括:

所述第一设备向第二设备发送所述多个人体关键点的信息,所述多个人体关键点的信息用于所述第二设备控制所述当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一方法实施例中,所述第一设备向第二设备发送所述多个人体关键点的信息,包括:

所述第一设备通过与所述第二设备之间的持久连接向所述第二设备发送所述多个人体关键点的信息。

可选地,在本发明上述任一方法实施例中,所述第一设备向第二设备发送所述多个人体关键点的信息之前,还包括:

所述第一设备对所述多个人体关键点的信息进行编码处理,得到所述多个人体关键点编码处理后的信息;

所述第一设备向第二设备发送所述多个人体关键点的信息,包括:

所述第一设备向所述第二设备发送所述多个人体关键点编码处理后的信息。

根据本公开实施例的另一个方面,提供一种用于控制虚拟人物的方法,包括:

第二设备接收第一设备发送的多个人体关键点的信息;

所述第二设备根据所述多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一方法实施例中,所述多个人体关键点的信息包括:所述多个人体关键点中每个人体关键点的位置信息和/或所述多个人体关键点的角度信息。

可选地,在本发明上述任一方法实施例中,所述第二设备根据所述多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态,包括:

根据所述多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息;

根据所述多个虚拟关键点在所述虚拟场景图像中的目标位置信息,对所述当前虚拟场景图像进行渲染处理。

可选地,在本发明上述任一方法实施例中,所述根据所述多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息,包括:

根据所述多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息。

可选地,在本发明上述任一方法实施例中,所述根据所述多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息,包括:

根据所述多个人体关键点的角度信息,获得所述虚拟人物的多个虚拟关键点的目标角度信息;

根据所述多个虚拟关键点的目标角度信息,确定所述虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息。

可选地,在本发明上述任一方法实施例中,所述多个虚拟关键点的目标角度信息包括所述多个虚拟关键点的至少一个虚拟向量夹角;

所述根据所述多个人体关键点的角度信息,获得所述虚拟人物的多个虚拟关键点的目标角度信息,包括:

根据所述多个人体关键点的每个向量夹角对应的关键点信息,确定至少一个所述向量夹角与所述多个虚拟关键点的至少一个虚拟向量夹角之间的对应关系;

将所述至少一个虚拟向量夹角中的每个虚拟向量夹角的目标数值确定为对应的向量夹角的数值。

可选地,在本发明上述任一方法实施例中,所述第二设备接收第一设备发送的多个人体关键点的信息,包括:

所述第二设备通过与所述第一设备之间的持久连接接收所述第一设备发送所述多个人体关键点的信息。

可选地,在本发明上述任一方法实施例中,所述第二设备接收第一设备发送的多个人体关键点的信息之前,还包括:

所述第二设备获取本地摄像头采集到的当前图像;

所述第二设备向所述第一设备发送所述当前图像,其中,所述多个人体关键点的信息是所述第一设备对所述当前图像进行特征点提取处理获得。

可选地,在本发明上述任一方法实施例中,所述第二设备接收第一设备发送的多个人体关键点的信息,包括:所述第二设备接收所述第一设备发送的所述多个人体关键点编码处理后的信息;

所述第二设备接收第一设备发送的多个人体关键点的信息之后,还包括:所述第二设备对所述多个人体关键点编码处理后的信息进行解码处理,得到所述多个人体关键点的信息。

根据本公开实施例的又一个方面,提供的一种用于控制虚拟人物的设备,包括:

接收单元,用于获取采集到的当前图像;

处理单元,用于对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点的信息,其中,所述多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一设备实施例中,所述多个人体关键点的信息包括:所述多个人体关键点中每个人体关键点的位置信息和/或所述多个人体关键点的角度信息。

可选地,在本发明上述任一设备实施例中,所述处理单元包括:

特征提取模块,用于对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息;

角度确定模块,用于根据所述多个人体关键点中每个人体关键点的位置信息,确定所述多个人体关键点的角度信息。

可选地,在本发明上述任一设备实施例中,所述特征提取模块具体用于利用神经网络对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息。

可选地,在本发明上述任一设备实施例中,所述角度确定模块具体用于:

根据所述多个人体关键点中相邻的第一关键点和第二关键点的位置信息,确定所述第一关键点相对于所述第二关键点的第一向量;

根据所述多个人体关键点中相邻的第二关键点和第三关键点的位置信息,确定所述第三关键点相对于所述第二关键点的第二向量;

根据所述第一向量和所述第二向量,确定所述第一向量与所述第二向量之间的夹角。

可选地,在本发明上述任一设备实施例中,所述接收单元具体用于获取远程摄像头采集到的所述当前图像;或者

获取本地摄像头采集到的所述当前图像。

可选地,在本发明上述任一设备实施例中,还包括:

执行单元,用于根据所述多个人体关键点的信息,控制所述当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一设备实施例中,所述执行单元包括:

位置确定模块,用于根据所述多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息;

图像渲染模块,用于根据所述多个虚拟关键点在所述虚拟场景图像中的目标位置信息,对所述当前虚拟场景图像进行渲染处理。

可选地,在本发明上述任一设备实施例中,还包括:

发送单元,用于向第二设备发送所述多个人体关键点的信息,所述多个人体关键点的信息用于所述第二设备控制所述当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一设备实施例中,所述发送单元具体用于通过与所述第二设备之间的持久连接向所述第二设备发送所述多个人体关键点的信息。

可选地,在本发明上述任一设备实施例中,还包括:

编码单元,用于对所述多个人体关键点的信息进行编码处理,得到所述多个人体关键点编码处理后的信息;

所述发送单元具体用于向所述第二设备发送所述多个人体关键点编码处理后的信息。

根据本公开实施例的再一个方面,提供的一种用于控制虚拟人物的设备,包括:

接收单元,用于接收第一设备发送的多个人体关键点的信息;

执行单元,用于根据所述多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

可选地,在本发明上述任一设备实施例中,所述多个人体关键点的信息包括:所述多个人体关键点中每个人体关键点的位置信息和/或所述多个人体关键点的角度信息。

可选地,在本发明上述任一设备实施例中,所述执行单元包括:

位置确定模块,用于根据所述多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息;

图像渲染模块,用于根据所述多个虚拟关键点在所述虚拟场景图像中的目标位置信息,对所述当前虚拟场景图像进行渲染处理。

可选地,在本发明上述任一设备实施例中,所述位置确定模块具体用于根据所述多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息。

可选地,在本发明上述任一设备实施例中,所述位置确定模块具体用于:

根据所述多个人体关键点的角度信息,获得所述虚拟人物的多个虚拟关键点的目标角度信息;

根据所述多个虚拟关键点的目标角度信息,确定虚拟人物的多个虚拟关键点在所述当前虚拟场景图像中的目标位置信息。

可选地,在本发明上述任一设备实施例中,所述多个虚拟关键点的目标角度信息包括所述多个虚拟关键点的至少一个虚拟向量夹角;

所述位置确定模块具体用于:

根据所述多个人体关键点的每个向量夹角对应的关键点信息,确定至少一个所述向量夹角与所述多个虚拟关键点的至少一个虚拟向量夹角之间的对应关系;

将所述至少一个虚拟向量夹角中的每个虚拟向量夹角的目标数值确定为对应的向量夹角的数值。

可选地,在本发明上述任一设备实施例中,所述接收单元具体用于通过与所述第一设备之间的持久连接接收所述第一设备发送所述多个人体关键点的信息。

可选地,在本发明上述任一设备实施例中,所述接收单元还用于获取本地摄像头采集到的当前图像;

所述设备还包括:

发送单元,用于向所述第一设备发送所述当前图像,其中,所述多个人体关键点的信息是所述第一设备对所述当前图像进行特征点提取处理获得。

可选地,在本发明上述任一设备实施例中,所述接收单元具体用于接收所述第一设备发送的所述多个人体关键点编码处理后的信息;

所述设备还包括:

解码单元,用于对所述多个人体关键点编码处理后的信息进行解码处理,得到所述多个人体关键点的信息。

根据本公开实施例的再一个方面,提供的一种用于控制虚拟人物的系统,包括:上述任一实施例所述的用于控制虚拟人物的第一设备和上述任一实施例所述的用于控制虚拟人物的第二设备。

根据本公开实施例的再一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述方法中各步骤的指令。

根据本公开实施例的再一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一实施例所述方法的操作。

基于本公开上述实施例提供的用于控制虚拟人物的方法、设备、系统、计算机程序和存储介质,通过获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,利用多个人体关键点的信息控制当前虚拟场景图像中虚拟人物的姿态,可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,并且有利于实现对虚拟场景图像中虚拟人物的姿态的实时控制。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1是本公开一些实施例提供的用于控制虚拟人物的方法的示意性流程图。

图2是本公开另一些实施例提供的用于控制虚拟人物的方法的示意性流程图。

图3是本公开又一些实施例提供的用于控制虚拟人物的方法的示意性流程图。

图4是本公开再一些实施例提供的用于控制虚拟人物的方法的示意性流程图。

图5是本公开一些实施例提供的用于控制虚拟人物的设备的结构示意图。

图6是本公开另一些实施例提供的用于控制虚拟人物的设备的结构示意图。

图7是本公开又一些实施例提供的用于控制虚拟人物的设备的结构示意图。

图8是本公开再一些实施例提供的用于控制虚拟人物的设备的结构示意图。

图9是本公开实施例提供的电子设备的结构示意图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1是本公开一些实施例提供的用于控制虚拟人物的方法的示意性流程图。应理解,图1所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图1的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图1所示,该方法包括:

102,第一设备获取采集到的当前图像。

在一个或多个可选的例子中,当前图像是通过对真实场景进行拍摄/图像采集得到的。

在一个可选的例子中,当前图像可以是本地摄像头拍摄的图像,例如,是本地摄像头拍摄的多帧图像中的一帧图像。可选地,在当前图像是从本地摄像头采集到的图像中获取的情况下,可选地,可以利用某调用函数(例如计算机视觉库opencv中的函数)依次获取本地摄像头拍摄的多帧图像中的每一帧图像,作为当前图像,但本公开实施例不限于此。

在另一个可选的例子中,当前图像也可以是远程摄像头拍摄的图像,例如,是远程摄像头拍摄的多帧图像中的一帧图像。可选地,在当前图像是从远程摄像头采集到的图像中获取的情况下,可以依次接收远程摄像头拍摄的图像中的每一帧图像,作为当前图像,但本公开实施例不限于此。

104,第一设备对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,其中,多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态。

在一个或多个可选地例子中,多个人体关键点包括但不限于头顶、颈部、左肩、右肩、左肘、右肘、左手、右手、左髋、右髋、左膝、右膝、左脚及右脚十四个人体关节点。可选地,个人体关键点也可以包括数量更多或更少的人体关节点,本公开实施例对多个人体关键点的数量以及类型不作限定。

在一个可选的例子中,多个人体关键点的信息可以包括多个人体关键点中每个人体关键点的位置信息,例如包括每个人体关键点在当前图像中的坐标。在另一个可选的例子中,多个人体关键点的信息也可以包括多个人体关键点的角度信息,其中,多个人体关键点的角度信息可以包括某一个或至少两个人体关键点中每个人体关键点与相邻的不同的人体关键点构成的向量之间的夹角。在又一个可选的例子中,多个人体关键点的信息可以既包括多个人体关键点中每个人体关键点的位置信息,又包括多个人体关键点的角度信息。或者,该多个人体关键点的信息还可以进一步包括其他信息,本公开实施例对此不做限定。

可选地,第一设备可以利用机器学习方法对当前图像进行特征点提取处理,作为一个例子,第一设备可以利用神经网络对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息,其中,本公开实施例对该神经网络的具体实现不作限定。

在一些可选的实施例中,第一设备可以对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息,然后根据多个人体关键点中每个人体关键点的位置信息,确定多个人体关键点的角度信息。

假设该多个人体关键点的信息包括多个人体关键点的角度信息,其中,该多个人体关键点的角度信息包括第一关键点与相邻的不同人体关键点构成的向量之间的角度,这里假设与第二关键点相邻的人体关键点具体包括第一关键点和第三关键点,则在一些实施例中,第一设备可以根据相邻的第一关键点和第二关键点的位置信息,确定第一关键点相对于第二关键点的第一向量,并根据相邻的第二关键点和第三关键点的位置信息,确定第三关键点相对于第二关键点的第二向量,然后,根据第一向量和第二向量,确定第一向量与第二向量之间的夹角。

在一个或多个可选的例子中,可以利用点积运算确定不同向量之间的夹角。例如,可以以图像的左上角为坐标原点建立坐标系,得到图像中每个人体关键点的坐标,其中相邻的三个人体关键点可以构成两个向量,利用向量的点积运算公式可以得到两个向量之间的夹角。

可选地,也可以通过其他方法确定多个人体关键点的角度信息,本公开实施例对此不做限定。

基于本公开上述实施例提供的用于控制虚拟人物的方法,通过第一设备获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,将多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作。

图2是本公开另一些实施例提供的用于控制虚拟人物的方法的示意性流程图。应理解,图2所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图2的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图2所示,该方法与图1所示的方向相比,不同之处在于,该方法还包括:

206,第一设备根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

可选地,第一设备可以根据多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息,然后根据多个虚拟关键点在虚拟场景图像中的目标位置信息,对当前虚拟场景图像进行渲染处理。

在一个或多个可选的例子中,可以根据多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

可选地,可以根据多个人体关键点的角度信息,获得虚拟人物的多个虚拟关键点的目标角度信息,然后根据多个虚拟关键点的目标角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

在一些实施例中,多个虚拟关键点的目标角度信息可以包括多个虚拟关键点的至少一个虚拟向量夹角,可以根据多个人体关键点的每个向量夹角对应的关键点信息,确定至少一个向量夹角与多个虚拟关键点的至少一个虚拟向量夹角之间的对应关系,然后将至少一个虚拟向量夹角中的每个虚拟向量夹角的目标数值确定为对应的向量夹角的数值。例如,可以根据每个向量夹角对应的三个关键点的中心关键点信息,确定至少一个由相邻的三个关键点构成的向量夹角与至少一个由相邻的三个虚拟关键点构成的虚拟向量夹角之间的对应关系,或者也可以通过其他方法确定向量夹角与虚拟向量夹角之间的对应关系,本公开实施例对此不做限定。

由于角度信息属于相对位置信息,当采用人体关键点的角度信息作为反映人物姿态的信息,相对于采用人体关键点的位置信息作为反映人物姿态的信息,在根据实际人物的姿态对虚拟人物的姿态进行控制时,可以省略不同坐标系之间坐标转化等操作,简化控制操作。

在一个具体示例中,在对浏览器画布中的虚拟人物进行控制时,第一设备可以根据采集到的每一帧图像中人物的多个人体关键点的信息,调用浏览器画布的接口函数drawImage,对浏览器画布的图像进行每一帧的实时渲染,使画布中的虚拟人物按照采集到的每一帧图像中人物的动作进行相应动作。

基于本公开上述实施例提供的用于控制虚拟人物的方法,通过第一设备获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,由于对图像中人物特征点的提取和对虚拟人物的控制采用同一设备执行,可以简化系统的构成,避免由于信息在不同设备之间传输而引起的误差及干扰,提高虚拟人物控制的准确率。

图3是本公开又一些实施例提供的用于控制虚拟人物的方法的示意性流程图。应理解,图3所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图3的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图3所示,该方法与图1所示的方法相比,不同之处在于,该方法还包括:

306,第一设备向第二设备发送多个人体关键点的信息,多个人体关键点的信息用于第二设备控制当前虚拟场景图像中虚拟人物的姿态。

可选地,在第一设备向第二设备发送多个人体关键点的信息之前,还可以建立第一设备与第二设备之间的持久连接,从而第一设备可以通过与第二设备之间的持久连接向第二设备发送多个人体关键点的信息。例如,持久连接为websocket协议连接。由于持久连接只需要连接一次即可保持第一设备与第二设备的连接状态,从而可以保证多个人体关键点的信息的实时高效传输。

可选地,也可以采用其他方式实现第一设备与第二设备之间的持久连接,本公开实施例对此不做限定。可选地,该第一设备还可以通过其他方式向第二设备发送该多个人体关键点的信息,本公开实施例对此不做限定。

在一个具体示例中,当前图像为视频的一帧图像,在第一设备对当前图像进行特征点提取处理之前,第一设备还可以向第二设备发送当前图像的上一帧图像中包括的人物的多个人体关键点的信息,则上一帧图像中包括的人物的多个人体关键点的信息用于第二设备控制当前虚拟场景图像的前一帧虚拟场景图像中虚拟人物的姿态,从而得到当前虚拟场景图像。这样,可以对视频中的每帧图像进行图像获取-信息提取-信息传输-图像渲染的循环过程,实现对虚拟场景图像的实时渲染。

可选地,在第一设备向第二设备发送多个人体关键点的信息之前,第一设备还可以对多个人体关键点的信息进行编码处理,得到多个人体关键点编码处理后的信息,则第一设备向所述第二设备发送的多个人体关键点的信息是多个人体关键点编码处理后的信息。例如,可以对多个人体关键点的信息进行json或protobuf编码。

可选地,也可以采用其他编码方式对多个人体关键点的信息进行编码,本公开实施例对此不做限定。

基于本公开上述实施例提供的用于控制虚拟人物的方法,通过第一设备获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,并向第二设备发送多个人体关键点的信息,多个人体关键点的信息将用于第二设备控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,由于对图像中人物特征点的提取和对虚拟人物的控制分别采用不同的设备执行,可以简化设备的结构,提高设备的执行效率,扩展虚拟人物控制的适用范围。

图4是本公开再一些实施例提供的用于控制虚拟人物的方法的示意性流程图。应理解,图4所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图4的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图4所示,该方法包括:

402,第二设备接收第一设备发送的多个人体关键点的信息。

在一个或多个可选地例子中,多个人体关键点包括但不限于头顶、颈部、左肩、右肩、左肘、右肘、左手、右手、左髋、右髋、左膝、右膝、左脚及右脚十四个人体关节点。可选地,个人体关键点也可以包括数量更多或更少的人体关节点,本公开实施例对多个人体关键点的数量以及类型不作限定。

在一个可选的例子中,多个人体关键点的信息可以包括多个人体关键点中每个人体关键点的位置信息,例如包括每个人体关键点在当前图像中的坐标。在另一个可选的例子中,多个人体关键点的信息也可以包括多个人体关键点的角度信息,其中,多个人体关键点的角度信息可以包括某一个或至少两个人体关键点中每个人体关键点与相邻的不同的人体关键点构成的向量之间的夹角。在又一个可选的例子中,多个人体关键点的信息可以既包括多个人体关键点中每个人体关键点的位置信息,又包括多个人体关键点的角度信息。或者,该多个人体关键点的信息还可以进一步包括其他信息,本公开实施例对此不做限定。

可选地,在第二设备接收第一设备发送的多个人体关键点的信息之前,还可以建立第一设备与第二设备之间的持久连接,从而第二设备可以通过与第一设备之间的持久连接接收第一设备发送多个人体关键点的信息。例如,持久连接为websocket协议连接。由于持久连接只需要连接一次即可保持第一设备与第二设备的连接状态,从而可以保证多个人体关键点的信息的实时高效传输。

可选地,也可以采用其他方式实现第一设备与第二设备之间的持久连接,本公开实施例对此不做限定。可选地,该第二设备还可以通过其他方式接收该第一设备发送的多个人体关键点的信息,本公开实施例对此不做限定。

可选地,第二设备所接收的第一设备发送的多个人体关键点的信息是多个人体关键点编码处理后的信息,在第二设备接收第一设备发送的多个人体关键点的信息之后,第二设备还可以对多个人体关键点编码处理后的信息进行解码处理,得到多个人体关键点的信息。例如,可以对多个人体关键点的信息进行json或protobuf编码,则可以根据json或protobuf编码的原则进行相应的解码。

可选地,也可以采用其他编码方式对多个人体关键点的信息进行编码,则可以采用相应编码方式的编码原则进行解码,本公开实施例对此不做限定。

在一个或多个可选的例子中,在第二设备接收第一设备发送的多个人体关键点的信息之前,第二设备还可以获取本地摄像头采集到的当前图像,然后向第一设备发送当前图像,其中,多个人体关键点的信息是第一设备对当前图像进行特征点提取处理获得。例如,从浏览器的摄像头接口获取本地摄像头拍摄的图像中的每一帧图像,作为当前图像。

404,第二设备根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

可选地,第二设备可以根据多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息,然后根据多个虚拟关键点在虚拟场景图像中的目标位置信息,对当前虚拟场景图像进行渲染处理。

在一个或多个可选的例子中,可以根据多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

可选地,可以根据多个人体关键点的角度信息,获得虚拟人物的多个虚拟关键点的目标角度信息,然后根据多个虚拟关键点的目标角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

在一些实施例中,可以将多个人体关键点的至少一个向量夹角与多个虚拟关键点的至少一个虚拟向量夹角对应,并控制至少一个虚拟向量夹角中的每个虚拟向量夹角与对应的向量夹角相等,得到多个虚拟关键点的目标角度信息。例如,可以通过使多个虚拟关键点中相邻的三个虚拟关键点构成的向量之间的夹角,与多个人体关键点中对应的相邻的三个关键点构成的向量之间的夹角相等,作为多个虚拟关键点的目标角度信息,但本公开实施例不限于此。由于角度信息属于相对位置信息,当采用人体关键点的角度信息作为反映人物姿态的信息,相对于采用人体关键点的位置信息作为反映人物姿态的信息,在根据实际人物的姿态对虚拟人物的姿态进行控制时,可以省略不同坐标系之间坐标转化等操作,简化控制操作。

在一个具体示例中,在对浏览器画布中的虚拟人物进行控制时,第二设备可以根据采集到的每一帧图像中人物的多个人体关键点的信息,调用浏览器画布的接口函数drawImage,对浏览器画布的图像进行每一帧的实时渲染,使画布中的虚拟人物按照采集到的每一帧图像中人物的动作进行相应动作。

基于本公开上述实施例提供的用于控制虚拟人物的方法,通过第二设备接收第一设备发送的多个人体关键点的信息,根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,由于对图像中人物特征点的提取和对虚拟人物的控制分别采用不同的设备执行,可以简化设备的结构,提高设备的执行效率,扩展虚拟人物控制的适用范围。

图5是本公开一些实施例提供的用于控制虚拟人物的设备的结构示意图。应理解,图5所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图5的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图5所示,该设备包括:接收单元510和处理单元520。其中,

接收单元510,用于获取采集到的当前图像。

在一个或多个可选的例子中,当前图像是通过对真实场景进行拍摄/图像采集得到的。

在一个可选的例子中,当前图像可以是本地摄像头拍摄的图像,例如,是本地摄像头拍摄的多帧图像中的一帧图像。可选地,在接收单元510从本地摄像头采集到的图像中获取当前图像的情况下,可以利用某调用函数(例如计算机视觉库opencv中的函数)依次获取本地摄像头拍摄的多帧图像中的每一帧图像,作为当前图像,但本公开实施例不限于此。

在另一个可选的例子中,当前图像也可以是远程摄像头拍摄的图像,例如,是远程摄像头拍摄的多帧图像中的一帧图像。可选地,在接收单元510从远程摄像头采集到的图像中获取当前图像的情况下,可以依次接收远程摄像头拍摄的图像中的每一帧图像,作为当前图像,但本公开实施例不限于此。

处理单元520,用于对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,其中,多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态。

在一个或多个可选地例子中,多个人体关键点包括但不限于头顶、颈部、左肩、右肩、左肘、右肘、左手、右手、左髋、右髋、左膝、右膝、左脚及右脚十四个人体关节点。可选地,个人体关键点也可以包括数量更多或更少的人体关节点,本公开实施例对多个人体关键点的数量以及类型不作限定。

在一个可选的例子中,多个人体关键点的信息可以包括多个人体关键点中每个人体关键点的位置信息,例如包括每个人体关键点在当前图像中的坐标。在另一个可选的例子中,多个人体关键点的信息也可以包括多个人体关键点的角度信息,其中,多个人体关键点的角度信息可以包括某一个或至少两个人体关键点中每个人体关键点与相邻的不同的人体关键点构成的向量之间的夹角。在又一个可选的例子中,多个人体关键点的信息可以既包括多个人体关键点中每个人体关键点的位置信息,又包括多个人体关键点的角度信息。或者,该多个人体关键点的信息还可以进一步包括其他信息,本公开实施例对此不做限定。

可选地,处理单元520可以利用机器学习方法对当前图像进行特征点提取处理,作为一个例子,处理单元520可以利用神经网络对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息,其中,本公开实施例对该神经网络的具体实现不作限定。

在一些可选的实施例中,如图5所示,处理单元520还可以包括:特征提取模块522和角度确定模块524。其中,特征提取模块522可以对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点中每个人体关键点的位置信息;角度确定模块524可以根据多个人体关键点中每个人体关键点的位置信息,确定多个人体关键点的角度信息。

假设该多个人体关键点的信息包括多个人体关键点的角度信息,其中,该多个人体关键点的角度信息包括第一关键点与相邻的不同人体关键点构成的向量之间的角度,这里假设与第二关键点相邻的人体关键点具体包括第一关键点和第三关键点,则在一些实施例中,角度确定模块524可以根据相邻的第一关键点和第二关键点的位置信息,确定第一关键点相对于第二关键点的第一向量,并根据相邻的第二关键点和第三关键点的位置信息,确定第三关键点相对于第二关键点的第二向量,然后,根据第一向量和第二向量,确定第一向量与第二向量之间的夹角。

在一个或多个可选的例子中,可以利用点积运算确定第一向量与第二向量之间的夹角。

可选地,也可以通过其他方法确定多个人体关键点的角度信息,本公开实施例对此不做限定。

基于本公开上述实施例提供的用于控制虚拟人物的设备,通过获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,将多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作。

图6是本公开另一些实施例提供的用于控制虚拟人物的设备的结构示意图。应理解,图6所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图6的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图6所示,该设备与图5所示的设备相比,不同之处在于,该设备还包括:执行单元630。其中,

执行单元630,用于根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

可选地,如图6所示,执行单元630还可以包括:坐标确定模块632和图像渲染模块634。其中,坐标确定模块632可以根据多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息;图像渲染模块634可以根据多个虚拟关键点在虚拟场景图像中的目标位置信息,对当前虚拟场景图像进行渲染处理。

在一个或多个可选的例子中,坐标确定模块632可以根据多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

可选地,坐标确定模块632可以根据多个人体关键点的角度信息,获得虚拟人物的多个虚拟关键点的目标角度信息,然后根据多个虚拟关键点的目标角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

在一些实施例中,多个虚拟关键点的目标角度信息可以包括多个虚拟关键点的至少一个虚拟向量夹角,坐标确定模块632可以根据多个人体关键点的每个向量夹角对应的关键点信息,确定至少一个向量夹角与多个虚拟关键点的至少一个虚拟向量夹角之间的对应关系,然后将至少一个虚拟向量夹角中的每个虚拟向量夹角的目标数值确定为对应的向量夹角的数值。例如,坐标确定模块632可以根据每个向量夹角对应的三个关键点的中心关键点信息,确定至少一个由相邻的三个关键点构成的向量夹角与至少一个由相邻的三个虚拟关键点构成的虚拟向量夹角之间的对应关系,或者也可以通过其他方法确定向量夹角与虚拟向量夹角之间的对应关系,本公开实施例对此不做限定。

由于角度信息属于相对位置信息,当采用人体关键点的角度信息作为反映人物姿态的信息,相对于采用人体关键点的位置信息作为反映人物姿态的信息,在根据实际人物的姿态对虚拟人物的姿态进行控制时,可以省略不同坐标系之间坐标转化等操作,简化控制操作。

基于本公开上述实施例提供的用于控制虚拟人物的设备,通过获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,由于对图像中人物特征点的提取和对虚拟人物的控制采用同一设备执行,可以简化系统的构成,避免由于信息在不同设备之间传输而引起的误差及干扰,提高虚拟人物控制的准确率。

图7是本公开又一些实施例提供的用于控制虚拟人物的设备的结构示意图。应理解,图7所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图7的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图7所示,该设备与图5所示的设备相比,不同之处在于,该设备还包括:发送单元740。其中,

发送单元740,用于向第二设备发送多个人体关键点的信息,多个人体关键点的信息用于第二设备控制当前虚拟场景图像中虚拟人物的姿态。

可选地,在发送单元740向第二设备发送多个人体关键点的信息之前,还可以建立该设备与第二设备之间的持久连接,从而发送单元740可以通过该设备与第二设备之间的持久连接向第二设备发送多个人体关键点的信息。例如,持久连接为websocket协议连接。由于持久连接只需要连接一次即可保持该设备与第二设备的连接状态,从而可以保证多个人体关键点的信息的实时高效传输。

可选地,也可以采用其他方式实现该设备与第二设备之间的持久连接,本公开实施例对此不做限定。可选地,该设备还可以通过其他方式向第二设备发送多个人体关键点的信息,本公开实施例对此不做限定。

在一个具体示例中,当前图像为视频的一帧图像,在处理单元720对当前图像进行特征点提取处理之前,发送单元740还可以向第二设备发送当前图像的上一帧图像中包括的人物的多个人体关键点的信息,则上一帧图像中包括的人物的多个人体关键点的信息用于第二设备控制当前虚拟场景图像的前一帧虚拟场景图像中虚拟人物的姿态,从而得到当前虚拟场景图像。这样,可以对视频中的每帧图像进行图像获取-信息提取-信息传输-图像渲染的循环过程,实现对虚拟场景图像的实时渲染。

可选地,如图7所示,该设备还可以包括:编码单元750,用于对多个人体关键点的信息进行编码处理,得到多个人体关键点编码处理后的信息,则发送单元740向第二设备发送的多个人体关键点的信息可以是多个人体关键点编码处理后的信息。例如,可以对多个人体关键点的信息进行json或protobuf编码。

可选地,也可以采用其他编码方式对多个人体关键点的信息进行编码,本公开实施例对此不做限定。

基于本公开上述实施例提供的用于控制虚拟人物的设备,通过获取采集到的当前图像,对当前图像进行特征点提取处理,得到当前图像中包括的人物的多个人体关键点的信息,并向第二设备发送多个人体关键点的信息,多个人体关键点的信息将用于第二设备控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,由于对图像中人物特征点的提取和对虚拟人物的控制分别采用不同的设备执行,可以简化设备的结构,提高设备的执行效率,扩展虚拟人物控制的适用范围。

图8是本公开一些实施例提供的用于控制虚拟人物的设备的结构示意图。应理解,图8所示的例子仅仅是为了帮助本领域技术人员更好地理解本公开的技术方案,而不应理解成对本公开的限定。本领域技术人员可以在图8的基础上进行各种变换,而这种变换也应理解成本公开技术方案的一部分。

如图8所示,该设备包括:接收单元810和执行单元820。其中,

接收单元810,用于接收第一设备发送的多个人体关键点的信息。

在一个或多个可选地例子中,多个人体关键点包括但不限于头顶、颈部、左肩、右肩、左肘、右肘、左手、右手、左髋、右髋、左膝、右膝、左脚及右脚十四个人体关节点。可选地,个人体关键点也可以包括数量更多或更少的人体关节点,本公开实施例对多个人体关键点的数量以及类型不作限定。

在一个可选的例子中,多个人体关键点的信息可以包括多个人体关键点中每个人体关键点的位置信息,例如包括每个人体关键点在当前图像中的坐标。在另一个可选的例子中,多个人体关键点的信息也可以包括多个人体关键点的角度信息,其中,多个人体关键点的角度信息可以包括某一个或至少两个人体关键点中每个人体关键点与相邻的不同的人体关键点构成的向量之间的夹角。在又一个可选的例子中,多个人体关键点的信息可以既包括多个人体关键点中每个人体关键点的位置信息,又包括多个人体关键点的角度信息。或者,该多个人体关键点的信息还可以进一步包括其他信息,本公开实施例对此不做限定。

可选地,在接收单元810接收第一设备发送的多个人体关键点的信息之前,还可以建立第一设备与该设备之间的持久连接,从而接收单元810可以通过与该设备与第一设备之间的持久连接接收第一设备发送多个人体关键点的信息。例如,持久连接为websocket协议连接。由于持久连接只需要连接一次即可保持第一设备与该设备的连接状态,从而可以保证多个人体关键点的信息的实时高效传输。

可选地,也可以采用其他方式实现第一设备与该设备之间的持久连接,本公开实施例对此不做限定。可选地,该设备还可以通过其他方式接收第一设备发送的多个人体关键点的信息,本公开实施例对此不做限定。

可选地,如图8所示,接收单元810所接收的第一设备发送的多个人体关键点的信息是多个人体关键点编码处理后的信息,则该设备还可以包括:解码单元830,用于对多个人体关键点编码处理后的信息进行解码处理,得到多个人体关键点的信息。例如,可以对多个人体关键点的信息进行json或protobuf编码,则可以根据json或protobuf编码的原则进行相应的解码。

可选地,也可以采用其他编码方式对多个人体关键点的信息进行编码,则可以采用相应编码方式的编码原则进行解码,本公开实施例对此不做限定。

在一个或多个可选的例子中,在接收单元810接收第一设备发送的多个人体关键点的信息之前,接收单元810还可以获取本地摄像头采集到的当前图像,则该设备还可以包括:发送单元,用于向第一设备发送当前图像,其中,接收单元810接收的多个人体关键点的信息可以是第一设备对当前图像进行特征点提取处理获得。例如,从浏览器的摄像头接口获取本地摄像头拍摄的图像中的每一帧图像,作为当前图像。

执行单元820,用于根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

可选地,如图8所示,执行单元820还可以包括:坐标确定模块822和图像渲染模块824。其中,坐标确定模块822可以根据多个人体关键点的信息,获得虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息;图像渲染模块824可以根据多个虚拟关键点在虚拟场景图像中的目标位置信息,对当前虚拟场景图像进行渲染处理。

在一个或多个可选的例子中,坐标确定模块822可以根据多个人体关键点的角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

可选地,坐标确定模块822可以根据多个人体关键点的角度信息,获得虚拟人物的多个虚拟关键点的目标角度信息,然后根据多个虚拟关键点的目标角度信息,确定虚拟人物的多个虚拟关键点在当前虚拟场景图像中的目标位置信息。

在一些实施例中,坐标确定模块822可以将多个人体关键点的至少一个向量夹角与多个虚拟关键点的至少一个虚拟向量夹角对应,并控制至少一个虚拟向量夹角中的每个虚拟向量夹角与对应的向量夹角相等,得到多个虚拟关键点的目标角度信息。例如,坐标确定模块822可以通过使多个虚拟关键点中相邻的三个虚拟关键点构成的向量之间的夹角,与多个人体关键点中对应的相邻的三个关键点构成的向量之间的夹角相等,作为多个虚拟关键点的目标角度信息,但本公开实施例不限于此。由于角度信息属于相对位置信息,当采用人体关键点的角度信息作为反映人物姿态的信息,相对于采用人体关键点的位置信息作为反映人物姿态的信息,在根据实际人物的姿态对虚拟人物的姿态进行控制时,可以省略不同坐标系之间坐标转化等操作,简化控制操作。

基于本公开上述实施例提供的用于控制虚拟人物的设备,通过接收第一设备发送的多个人体关键点的信息,根据多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态,利用对图像进行特征点提取,获得反映图像中人物的姿态的多个人体关键点的信息,可以实现根据实时采集到的图像中人物的多个人体关键点的信息,对虚拟场景图像中虚拟人物的姿态进行实时控制,从而可以实现根据真实场景中人物的动作控制虚拟场景中虚拟人物的动作,由于对图像中人物特征点的提取和对虚拟人物的控制分别采用不同的设备执行,可以简化设备的结构,提高设备的执行效率,扩展虚拟人物控制的适用范围。

本公开实施例还提供了一种用于控制虚拟人物的系统,设有上述图7任一实施例的用于控制虚拟人物的设备(例如为第一设备)和上述图8任一实施例的用于控制虚拟人物的设备(例如为第二设备)。

本公开实施例提供的用于控制虚拟人物的设备,例如可以是移动终端、个人确定机(PC)、平板电脑、服务器等。下面参考图9,其示出了适于用来实现本申请实施例的用于控制虚拟人物的设备的电子设备900的结构示意图:如图9所示,确定机系统900包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)901,和/或一个或多个图像处理器(GPU)913等,处理器可以根据存储在只读存储器(ROM)902中的可执行指令或者从存储部分908加载到随机访问存储器(RAM)903中的可执行指令而执行各种适当的动作和处理。通信部912可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡。

处理器可与只读存储器902和/或随机访问存储器930中通信以执行可执行指令,通过总线904与通信部912相连、并经通信部912与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,第一设备获取采集到的当前图像;所述第一设备对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点的信息,其中,所述多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态。或第二设备接收第一设备发送的多个人体关键点的信息;所述第二设备根据所述多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。

此外,在RAM 903中,还可存储有装置操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。在有RAM903的情况下,ROM902为可选模块。RAM903存储可执行指令,或在运行时向ROM902中写入可执行指令,可执行指令使处理器901执行上述通信方法对应的操作。输入/输出(I/O)接口905也连接至总线904。通信部912可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的确定机程序根据需要被安装入存储部分908。

需要说明的,如图9所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图9的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本公开公开的保护范围。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,第一设备获取采集到的当前图像;所述第一设备对所述当前图像进行特征点提取处理,得到所述当前图像中包括的人物的多个人体关键点的信息,其中,所述多个人体关键点的信息用于控制当前虚拟场景图像中虚拟人物的姿态。或第二设备接收第一设备发送的多个人体关键点的信息;所述第二设备根据所述多个人体关键点的信息,控制当前虚拟场景图像中虚拟人物的姿态。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法中限定的上述功能。

在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,该指令被执行时使得计算机执行上述任一可能的实现方式中的用于控制虚拟人物的方法。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,该计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,该计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

在一个或多个可选实施方式中,本公开实施例还提供了一种用于控制虚拟人物的方法、设备、系统、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:第一装置向第二装置发送虚拟人物控制指示,该指示使得第二装置执行上述任一可能的实施例中的用于控制虚拟人物的方法;第一装置接收第二装置发送的虚拟人物的姿态的信息。

在一些实施例中,该虚拟人物控制指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行虚拟人物控制,相应地,响应于接收到调用指令,第二装置可以执行上述用于控制虚拟人物的方法中的任意实施例中的步骤和/或流程。

应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。

还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

可能以许多方式来实现本公开的方法和设备、系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和设备、系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

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