CN115857676A - 基于虚拟形象的显示方法和*** - Google Patents

基于虚拟形象的显示方法和*** Download PDF

Info

Publication number
CN115857676A
CN115857676A CN202211471955.6A CN202211471955A CN115857676A CN 115857676 A CN115857676 A CN 115857676A CN 202211471955 A CN202211471955 A CN 202211471955A CN 115857676 A CN115857676 A CN 115857676A
Authority
CN
China
Prior art keywords
target
virtual image
avatar
key node
node
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
Application number
CN202211471955.6A
Other languages
English (en)
Inventor
盛亦来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202211471955.6A priority Critical patent/CN115857676A/zh
Publication of CN115857676A publication Critical patent/CN115857676A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种基于虚拟形象的显示方法,包括:获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据;根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合;根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息;及根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。本申请实施例提供的基于虚拟形象的显示方法,通过目标对象(如人体)的肢体特征点坐标集合,计算出目标虚拟形象的每个关键节点的旋转信息等。根据这些信息可以精确地控制虚拟形象显示对应的动作,使得目标对象可以准确驱动虚拟形象。

Description

基于虚拟形象的显示方法和***
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于虚拟形象的显示方法、***、计算机设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,直播等业务已成为当下一种热门的网络业务。为了进一步为提升直播的趣味性,以及兼顾内容生产者表现自我和保护自我这一矛盾需求的两面,视频平台提供了一个能快速生成自己的人格化身并融入到内容创作中的虚拟形象。以虚拟直播为例,主播可以为自身配置一个代替真实自己的虚拟形象。
在现有技术中,虚拟直播依赖于动作捕捉,根据直播过程中真人的动作,驱动虚拟形象呈现与真人相同或相近的动作,已逐渐成为虚拟直播所必备的基础能力。发明人了解到的是,虚拟形象的驱动一般为半身驱动,是一种通过计算IK末端位置,带动其它骨骼运动的方法。上述这种驱动方法不能精确地驱动虚拟形象。
需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。
发明内容
本申请实施例的目的是提供一种基于虚拟形象的显示方法、***、计算机设备及计算机可读存储介质,解决上述问题。
本申请实施例的一个方面提供了一种基于虚拟形象的显示方法,包括:
获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据;
根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合;
根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息;及
根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
可选地,所述根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息,包括:
根据所述肢体特征点坐标集合,确定所述目标虚拟形象的各个关键节点的旋转信息;及
根据所述目标虚拟形象的各个关键节点的初始对齐矩阵,对所述目标虚拟形象的各个关键节点的旋转信息进行修正,以得到所述各个关键节点的目标旋转信息。
可选地,所述初始对齐矩阵通过如下操作得到:
获取所述目标虚拟形象的各个关键节点的初始坐标;
根据所述各个关键节点的初始坐标,获取所述各个关键节点的四元数值;
通过对所述各个关键节点的初始坐标进行逆计算,得到逆计算结果;
根据所述逆计算结果和所述四元数值,获取所述各个关键节点的初始对齐矩阵。
可选地,所述方法还包括:
获取所述目标虚拟形象的根节点的平移信息,所述根节点包括所述肢体特征点坐标集合的中心点;
根据所述目标虚拟形象的活动边界,调整所述目标虚拟形象的根节点的平移信息。
可选地,所述目标图像数据包括当前帧的图像数据;所述获取所述目标虚拟形象的根节点的平移信息,包括:
根据当前帧的根节点和参考帧的根节点,获取位置偏移;其中,所述参考帧包括首帧;及
根据所述位置偏移和预设目标系数,确定所述目标虚拟形象的根节点的平移信息。
可选地,所述预设目标系数通过如下操作得到:
根据所述肢体特征点坐标集合,确定特征点的关键节点间距;
确定所述目标虚拟形象的关键节点间距;
根据所述特征点的关键节点间距和所述目标虚拟形象的关键节点间距,确定所述预设目标系数。
可选地,所述方法还包括:
获取所述目标虚拟形象的目标节点的目标旋转信息;
根据所述目标节点的欧拉角的角度最大值,调整根据所述目标节点的目标旋转信息。
本申请实施例的一个方面又提供了一种基于虚拟形象的显示***,包括:
第一获取模块,用于获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据;
第二获取模块,用于根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合;
确定模块,用于根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息;及
控制模块,用于根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述基于虚拟形象的显示方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述基于虚拟形象的显示方法的步骤。
本申请实施例提供的基于虚拟形象的显示方法、***、计算机设备及计算机可读存储介质,可以包括以下技术效果:通过目标对象(如人体)的肢体特征点坐标集合,计算出目标虚拟形象的每个关键节点的位置和旋转信息。根据这些信息可以精确地控制虚拟形象显示对应的动作,从而目标对象可以精确驱动虚拟形象。
附图说明
图1示意性示出了根据本申请实施例的基于虚拟形象的显示方法的应用环境图;
图2示意性示出了根据本申请实施例一的基于虚拟形象的显示方法的流程图;
图3示意性示出了目标对象的特征点示意图;
图4示意性示出了图2中步骤S202的子流程图;
图5示意性示出了两个不同的虚拟形象;
图6示意性示出了根据本申请实施例一的基于虚拟形象的显示方法的新增步骤流程图;
图7示意性示出了根据本申请实施例一的基于虚拟形象的显示方法的新增步骤流程图;
图8示意性示出了示例性应用中的操作流程图;
图9示意性示出了根据本申请实施例二的基于虚拟形象的显示***的框图;
图10示意性示出了根据本申请实施例三的适于实现基于虚拟形象的显示方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个申请实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
动作捕捉:记录被观察对象(人或物,或是动物)的动作,并做有效的处理。动作捕捉是一项能够实时地准确测量、记录运动物体在实际三维空间中的各类运动轨迹和姿态,并在虚拟三维空间中重构这个物体每个时刻运动状态的新技术。动作捕捉可以跟踪物体的关键部位,再经过计算机处理后得到三维空间坐标的数据。
IK:反向运动(Inverse Kinematics)是计算运动关节末端(如机械臂臂爪或人物骨架手臂末端的手掌)相对于关节的起始位置和方向到达所需位置的关节参数的数学过程。
高清广角摄像头:一般指分辨率超过720P,视角超过90度的摄像头。
局部坐标系(Local Coordinate),也就是坐标系以物体的中心为坐标原点,物体的旋转、平移等操作都是围绕局部坐标系进行的,这时,当物体模型进行旋转或平移等操作时,局部坐标系也执行相应的旋转或平移操作。
欧拉角:欧拉角是由三个角组成,这三个角分别是Yaw、Pitch、Roll。Yaw表示绕y轴旋转的角度,Pitch表示绕x轴旋转的角度,Roll表示绕z轴旋转的角度。
关键节点,可以指代骨骼节点,或其他一些可以驱动虚拟形象的节点。
为方便本领域技术人员理解本申请实施例提供的技术方案,下面相关技术进行说明:
随着计算机视觉技术的发展,虚拟形象通过直播的方式走入大众视野,受到越来越多用户的喜欢。在虚拟直播中,主播可以为自身配置一个代替真实自己的虚拟形象。
虚拟直播依赖于动作捕捉,根据直播过程中真人的动作,驱动虚拟形象呈现与真人相同或相近的动作,已逐渐成为虚拟直播所必备的基础能力。在部分业务场景中,存在识别半身驱动虚拟形象的方案,即通过计算IK末端位置带动其它骨骼运动。
有鉴于此,本申请旨在提供一种针对全身动捕业务场景的动捕驱动改进方案,由计算IK末端位置并带动其它骨骼运动的方式改为推算出每个关键节点(如骨骼节点)的位置和旋转信息。
以下提供本申请实施例的示例性应用环境。
在直播场景下,主播终端2可以通过网络服务平台6将直播数据实时推送至观众终端4。其中:
网络服务平台6分配直播频道(即,直播间),可以用于主播终端2和观众终端4之间的交互或各个观众终端之间的交互,如:推流、拉流、互动(发送弹幕、打赏)等。其中,网络服务平台6可以是单个服务器、服务器集群或云计算服务中心。
网络服务平台6可以通过一个或多个网络分别与主播终端2、观众终端4建立网络连接。作为示例,所述一个或多个网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。所述一个或多个网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。所述一个或多个网络可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物。
主播终端2,用于实时生成直播数据,并进行直播数据的推流操作。所述直播数据可以包括音频数据或视频数据。主播终端2可以是智能手机、平板电脑等电子设备。在本实施例中,主播终端2安装有虚拟直播工具。所述虚拟直播工具用于显示虚拟形象,并用于生成和推送流数据,以及用于接收互动信息。虚拟直播工具可以提供相关操作界面。虚拟直播工具可以是客户端程序、浏览器等。在具体应用中,该虚拟直播工具还可以提供虚拟形象的导入、调整等各种功能。基于这些功能,用户可以通过手势或其他形式的输入指令来调整显示效果。
观众终端4,可以被配置为接收主播终端2的直播数据。观众终端4可以是任意类型的计算设备,如智能手机、平板设备、膝上型计算机、智能电视、车载终端等。观众终端4可以内置浏览器或专门程序,通过浏览器或专门程序接收所述直播数据以向用户输出内容。所述内容可以包括视频,音频,评论,文本数据和/或类似物。
观众终端4还可以包括接口,如输入元件(触摸屏)。输入元件可以被配置为接收用户指令,所述用户指令可以使观众终端4执行各类操作,如发送评论、打赏等。
以下将通过多个实施例介绍基于虚拟形象的显示方案。该方案可以通过主播终端2等设备实施。
实施例一
图2示意性示出了根据本申请实施例一的基于虚拟形象的显示方法的流程图。如图2所示,所述基于虚拟形象的显示方法可以包括步骤S200~S206,其中:
步骤S200,获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据。
步骤S202,根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合。
步骤S204,根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息。
步骤S206,根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
本申请实施例提供的基于虚拟形象的显示方法,通过目标对象(如人体)的肢体特征点坐标集合,计算出目标虚拟形象的每个关键节点的位置和旋转信息。根据这些信息可以精确地控制虚拟形象显示对应的动作,使得目标对象可以准确驱动虚拟形象。
以下结合图2,对步骤S200~S206中各步骤进行详细阐述。
步骤S200,获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据。
本实施例可以用于各种场景中,如直播场景,或录播场景中。
在直播场景中,所述目标对象可以是主播,或者和主播连线的观众。
在录播场景中,所述目标对象可以录制对象。
在示例性应用中,可以通过摄像装置拍摄所述目标对象,形成一帧一帧的图像数据。摄像装置可以是主播终端自带的摄像头,或通过有线或无线方式外接的摄像设备。
在示例性应用中,所述人体图像数据包含人体全身数据,优选采用广角摄像头拍摄。
步骤S202,根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合。
在示例性应用中,可以使用训练好的肢体模型识别所述目标图像数据中的人体及获取肢体特征点坐标集合。所述肢体模型可以深度学习模型或其他机器学习模型。
在示例性应用中,为提高驱动准确性,可以将人体分为33个特征点。特征点可以由三维坐标构成。坐标系优选为左手坐标系。左手坐标系是指在空间直角坐标系中,让左手拇指指向x轴的正方向,食指指向y轴的正方向,如果中指能指向z轴的正方向,则这个坐标系为左手直角坐标系。当然,根据需要也可以采用其他坐标系。
如图3所示,33个特征点可以包括如下:0.鼻子、1.左眼内侧、2.左眼、3.左眼外侧、4.右眼内侧、5.右眼、6.右眼外侧、7.左耳、8.右耳、9.口左、10.口右、11.左肩、12.右肩、13.左肘、14.右肘、15.左手腕、16.右手腕、17.左脚指、18.右脚指、19.左脚指、20.右脚指、21.左脚指、22.右脚指、23.左胯、24.右胯、25.左膝、26.右膝、27.左脚指、28.右脚指、29.左脚跟、30.右脚跟、31.左脚指、32.右脚指。
步骤S204,根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息。
所述目标虚拟形象可以替代目标对象显示在显示界面,并跟随目标对象而运动。作为示例,显示界面可以是虚拟场景和多个虚拟元素的结合,也可以提供现实场景和多个虚拟元素的结合。在具体应用中,可以根据用户选择而定。当所述目标虚拟形象位于虚拟场景中时,其动作可以触发虚拟场景的天空盒等各类元素的变化。
所述目标虚拟形象可以根据需要从云端下载得到,也可以对本地文件加载得到。
在示例性应用中,根据所述肢体特征点坐标集合,可以计算出目标对象的各个特征点的位置和旋转信息,将所述各个特征点的位置作为所述各个关键节点的目标位置,将所述各个特征点的旋转信息作为所述各个关键节点的目标旋转信息。可以通过Quaternion.LookRotation(a,b)函数,根据对局部坐标轴(肢体特征点坐标集合)的描述,构造对应的代表旋转程度的四元数。Quaternion.LookRotation(a,b)作用是:使得z轴始终精准指向a方向,使得y轴始终偏向b方向。之所以一个是精准指向,一个是偏向,是因为y和z轴是是垂直的,如果a和b不垂直,那么此函数就会保证z与a同方向,y和b大致同向。
通常情况下,同一个虚拟形象的不同关节具有不同的初始旋转量,而且不同目标对象(人)的同一个关节也可能具有不同的旋转量,甚至初始的局部坐标系都不同,因此,可以计算目标虚拟形象的关键节点的初始对齐矩阵作为修正值。
在可选的实施例中,如图4所示,步骤S204“所述根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息”可以包括:步骤400,根据所述肢体特征点坐标集合,确定所述目标虚拟形象的各个关键节点的旋转信息;步骤402,根据所述目标虚拟形象的各个关键节点的初始对齐矩阵,对所述目标虚拟形象的各个关键节点的旋转信息进行修正,以得到所述各个关键节点的目标旋转信息。在本可选的实施例中,通过对旋转信息的修正可以提高驱动虚拟形象的准确性。
其中,所述初始对齐矩阵通过如下操作得到:获取所述目标虚拟形象的各个关键节点的初始坐标;根据所述各个关键节点的初始坐标,获取所述各个关键节点的四元数值;通过对所述各个关键节点的初始坐标进行逆计算,得到逆计算结果,根据所述逆计算结果和所述四元数值,获取所述各个关键节点的初始对齐矩阵。
如图5所示的两个虚拟形象,膝盖的部分局部坐标系如下:根据特征点计算的旋转值,不同的虚拟形象需要设置对应的规则,比如同一个姿态,左边人物z轴向左,右边人物z轴向前,此时就无法用基于同一套旋转规则去驱动这两个虚拟形象。
举个例子:小腿向后收起的时候,左侧人物必须保证Y轴向下,右侧人物必须保证Y轴向下,所以即便相同的姿势也必须针对性处理旋转。
以下提供一个修正示例:
(1)以左膝盖为例,假设左膝盖与左足的初始坐标分别为a1、b1,膝盖的初始旋转四元数值为r1,身体的初始朝向为f1,则左膝盖的初始对齐矩阵I R的计算公式可以如下:IR=Quaternion.Inverse(Quaternion.LookRotation(a1-b1,f1))*r1。
(2)基于肢体特征点坐标集合可以计算左膝的当前旋转值。具体的:假设左膝盖的特征点坐标与左足的特征点坐标分别为a2、b2,当前身体朝向为f2,则左膝当前的旋转r2的计算公式可以如下:r2=Quaternion.LookRotation(a2-b2,f2)。
(3)通过左膝的初始对齐矩阵修正当前旋转值,用于修正的计算公式如下:r2=r2*IR。
步骤S206,根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
在得到所述各个关键节点的目标旋转信息后,即可安装目标旋转信息控制所述目标虚拟形象的动画效果,从而实现所述目标虚拟形象和所述目标对象的动作同步。在直播场景下,目标对象可以和观众互动,例如基于观众要求临时做一个或多个动作,该一个或多个动作被一一对应地体现到目标虚拟形象的动画效果上,实现直播互动。在录播场景下,目标对象可以基于自己的动作提供目标虚拟形象的录制视频。
如此,可实现基于目标对象的动作驱动,适用于各种场景,适用于全身动作捕捉和驱动。
以下进一步提供部分可选实施例,通过边界和角度防止目标虚拟形象扭曲变形或溢出显示边界。
在可选的实施例中,如图6所示,所述方法还包括:
步骤S600,获取所述目标虚拟形象的根节点的平移信息,所述根节点包括所述肢体特征点坐标集合的中心点;
步骤S602,根据所述目标虚拟形象的活动边界,调整所述目标虚拟形象的根节点的平移信息。
目标图像数据通过摄像装置捕捉目标对象得到,摄像装置和目标对象之间可能产生相对移动,识别的效果不能确保准确。在本可选的实施例中,通过目标对象的平移信息,确定目标虚拟形象的平移信息,并基于目标虚拟形象的活动边界修正目标虚拟形象的平移信息,从而防止目标虚拟形象因移动而溢出到显示界面之外。
示例性的,所述目标图像数据包括当前帧的图像数据。为了提高目标对象对目标虚拟形象驱动的准确性,所述获取所述目标虚拟形象的根节点的平移信息,包括:
根据当前帧的根节点和参考帧的根节点,获取位置偏移;其中,所述参考帧包括首帧;及
根据所述位置偏移和预设目标系数,确定所述目标虚拟形象的根节点的平移信息。
其中,为了提高目标对象对目标虚拟形象驱动的准确性,所述预设目标系数通过如下操作得到:
根据所述肢体特征点坐标集合,确定特征点的关键节点间距;
确定所述目标虚拟形象的关键节点间距;
根据所述特征点的关键节点间距和所述目标虚拟形象的关键节点间距,确定所述预设目标系数。
各个帧的根节点可以为相应帧中所有特征点的中心点,记录参考帧(如第一帧)的位置数据,计算当前帧根节点位置的偏移,乘以预设目标系数应用至目标虚拟形象。预设目标系数,可由特征点的关键节点间距与目标虚拟形象的关键节点间距的比值算得。
通过上述方式得到的目标虚拟形象的平移信息准确可靠,可以确保目标虚拟形象和目标对象之间的平移同步,又能防止目标对象的过度移动导致目标虚拟形象的溢出。
在可选的实施例中,如图7所示,所述方法还包括:
步骤S700,获取所述目标虚拟形象的目标节点的目标旋转信息;
步骤S702,根据所述目标节点的欧拉角的角度最大值,调整根据所述目标节点的目标旋转信息。
目标节点可以是一些比较重要的关键节点,如与以下特征点(图3)对应的关键节点:23.左胯、24.右胯、13.左肘、14.右肘。这些关键节点的旋转应符合人体动作规律。以对应左胯的关键节点为例,计算得到其旋转值后,限制其欧拉角的角度最大值,以60度为限。若超过则平滑回归60度以内,避免目标虚拟形象过度扭曲变形。
为便于理解,如图8所示,以下以骨骼节点为例提供一个示例性应用:
步骤S800,通过摄像头采集目标对象的人体图像数据,图像数据包括人体全身。
步骤S802,使用训练好的肢体模型识别人体图像数据中的人体并获取肢体特征点坐标集合。
步骤S804,计算目标虚拟形象的各个骨骼节点的初始对齐矩阵。
需要说明的是,目标对象的特征点和目标虚拟形象的骨骼节点属于对应关系,而非同一关系。
同一个虚拟形象的不同关节具有不同的初始旋转量,而且不同人的同一个关节也可能具有不同的旋转量,甚至初始的局部坐标系都不同,因此需要计算骨骼节点的初始对齐矩阵作为修正值。
以左膝盖为例,设左膝盖的初始坐标与左足的初始坐标分别为a1,b1,膝盖的初始旋转四元数值为r1,身体的初始朝向为f1,则左膝盖的对齐矩阵IR的计算公式如下:IR=Quaternion.Inverse(Quaternion.LookRotation(a1-b1,f1))*r1。
步骤S806,根据肢体特征点坐标集合,确定目标虚拟形象各骨骼节点的位置和旋转信息,根据各个骨骼节点的初始对齐矩阵进行修正,得到各个骨骼节点的目标旋转信息。
同样以左膝为例,设左膝盖的特征点坐标与左足的特征点坐标分别为a2,b2,当前身体朝向为f2,则左膝当前的旋转r2以如下公式计算:r2=Quater nion.LookRotation(a2-b2,f2)。根据步骤S804得到的左膝初始对齐矩阵进行修正:r2=r2*IR。
步骤S808,计算根节点的平移信息,进行边界和角度的修正和限制。
根节点取所有特征点的中心点,计算过程为记录第一帧的位置数据,此后计算当前帧根节点位置的偏移,乘以预设目标系数应用至目标虚拟形象的根节点。预设目标系数的求解可由特征点的骨骼节点间距与目标虚拟形象的骨骼节点间距的比值算得。
关于边界和角度的修正,以某节点为例,计算得到其旋转值后,限制其欧拉角的角度最大值,以60度为限(角度过大会导致模型鬼畜),超过则平滑回归60度以内。
步骤S810,根据修正后的目标旋转信息、位置,控制目标虚拟形象显示相应的动画效果。
实施例二
图9示意性示出了根据本申请实施例二的基于虚拟形象的显示***的框图,该基于虚拟形象的显示***可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图9所示,该基于虚拟形象的显示***900可以包括第一获取模块910、第二获取模块920、确定模块930、控制模块940,其中:
第一获取模块910,用于获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据;
第二获取模块920,用于根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合;
确定模块930,用于根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息;及
控制模块940,用于根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
在可选的实施例中,所述确定模块930用于:
根据所述肢体特征点坐标集合,确定所述目标虚拟形象的各个关键节点的旋转信息;及
根据所述目标虚拟形象的各个关键节点的初始对齐矩阵,对所述目标虚拟形象的各个关键节点的旋转信息进行修正,以得到所述各个关键节点的目标旋转信息。
在可选的实施例中,所述初始对齐矩阵通过如下操作得到:
获取所述目标虚拟形象的各个关键节点的初始坐标;
根据所述各个关键节点的初始坐标,获取所述各个关键节点的四元数值;
通过对所述各个关键节点的初始坐标进行逆计算,得到逆计算结果;
根据所述逆计算结果和所述四元数值,获取所述各个关键节点的初始对齐矩阵。
在可选的实施例中,所述***还包括调整模块(未标识),用于:
获取所述目标虚拟形象的根节点的平移信息,所述根节点包括所述肢体特征点坐标集合的中心点;
根据所述目标虚拟形象的活动边界,调整所述目标虚拟形象的根节点的平移信息。
在可选的实施例中,所述目标图像数据包括当前帧的图像数据;所述***还包括第一调整模块还用于:
根据当前帧的根节点和参考帧的根节点,获取位置偏移;其中,所述参考帧包括首帧;及
根据所述位置偏移和预设目标系数,确定所述目标虚拟形象的根节点的平移信息。
在可选的实施例中,所述预设目标系数通过如下操作得到:
根据所述肢体特征点坐标集合,确定特征点的关键节点间距;
确定所述目标虚拟形象的关键节点间距;
根据所述特征点的关键节点间距和所述目标虚拟形象的关键节点间距,确定所述预设目标系数。
在可选的实施例中,所述***还包括第二调整模块(未标识),用于:
获取所述目标虚拟形象的目标节点的目标旋转信息;
根据所述目标节点的欧拉角的角度最大值,调整根据所述目标节点的目标旋转信息。
实施例三
图10示意性示出了根据本申请实施例三的适于实现基于虚拟形象的显示方法的计算机设备的硬件架构示意图。计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,智能手机、平板电脑、电脑、车载终端、游戏机、虚拟设备等终端设备,外接显示设备的机顶盒等。
本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图10所示,计算机设备10000至少包括但不限于:可通过***总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作***和各类应用软件,例如基于虚拟形象的显示方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的基于虚拟形象的显示方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的基于虚拟形象的显示方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例中的基于虚拟形象的显示方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于虚拟形象的显示方法,其特征在于,包括:
获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据;
根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合;
根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息;及
根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
2.根据权利要求1所述的基于虚拟形象的显示方法,其特征在于,所述根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息,包括:
根据所述肢体特征点坐标集合,确定所述目标虚拟形象的各个关键节点的旋转信息;及
根据所述目标虚拟形象的各个关键节点的初始对齐矩阵,对所述目标虚拟形象的各个关键节点的旋转信息进行修正,以得到所述各个关键节点的目标旋转信息。
3.根据权利要求2所述的基于虚拟形象的显示方法,其特征在于,所述初始对齐矩阵通过如下操作得到:
获取所述目标虚拟形象的各个关键节点的初始坐标;
根据所述各个关键节点的初始坐标,获取所述各个关键节点的四元数值;
通过对所述各个关键节点的初始坐标进行逆计算,得到逆计算结果;
根据所述逆计算结果和所述四元数值,获取所述各个关键节点的初始对齐矩阵。
4.根据权利要求1至3任一项所述的基于虚拟形象的显示方法,其特征在于,还包括:
获取所述目标虚拟形象的根节点的平移信息,所述根节点包括所述肢体特征点坐标集合的中心点;
根据所述目标虚拟形象的活动边界,调整所述目标虚拟形象的根节点的平移信息。
5.根据权利要求4所述的基于虚拟形象的显示方法,其特征在于,所述目标图像数据包括当前帧的图像数据;所述获取所述目标虚拟形象的根节点的平移信息,包括:
根据当前帧的根节点和参考帧的根节点,获取位置偏移;其中,所述参考帧包括首帧;及
根据所述位置偏移和预设目标系数,确定所述目标虚拟形象的根节点的平移信息。
6.根据权利要求5所述的基于虚拟形象的显示方法,其特征在于,所述预设目标系数通过如下操作得到:
根据所述肢体特征点坐标集合,确定特征点的关键节点间距;
确定所述目标虚拟形象的关键节点间距;
根据所述特征点的关键节点间距和所述目标虚拟形象的关键节点间距,确定所述预设目标系数。
7.根据权利要求1至3任一项所述的基于虚拟形象的显示方法,其特征在于,还包括:
获取所述目标虚拟形象的目标节点的目标旋转信息;
根据所述目标节点的欧拉角的角度最大值,调整根据所述目标节点的目标旋转信息。
8.一种基于虚拟形象的显示***,其特征在于,包括:
第一获取模块,用于获取目标对象的目标图像数据,所述目标图像数据包括所述目标对象的人体图像数据;
第二获取模块,用于根据所述目标图像数据,获取所述目标对象的肢体特征点坐标集合;
确定模块,用于根据所述肢体特征点坐标集合,确定目标虚拟形象的各个关键节点的目标旋转信息;及
控制模块,用于根据所述各个关键节点的目标旋转信息,控制所述目标虚拟形象显示相应的动作。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任意一项所述基于虚拟形象的显示方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7任意一项所述基于虚拟形象的显示方法的步骤。
CN202211471955.6A 2022-11-23 2022-11-23 基于虚拟形象的显示方法和*** Pending CN115857676A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211471955.6A CN115857676A (zh) 2022-11-23 2022-11-23 基于虚拟形象的显示方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211471955.6A CN115857676A (zh) 2022-11-23 2022-11-23 基于虚拟形象的显示方法和***

Publications (1)

Publication Number Publication Date
CN115857676A true CN115857676A (zh) 2023-03-28

Family

ID=85665252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211471955.6A Pending CN115857676A (zh) 2022-11-23 2022-11-23 基于虚拟形象的显示方法和***

Country Status (1)

Country Link
CN (1) CN115857676A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116894894A (zh) * 2023-06-19 2023-10-17 北京百度网讯科技有限公司 虚拟形象的动作确定方法、装置、设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116894894A (zh) * 2023-06-19 2023-10-17 北京百度网讯科技有限公司 虚拟形象的动作确定方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN112381003B (zh) 动作捕捉方法、装置、设备及存储介质
CN111080759B (zh) 一种分镜效果的实现方法、装置及相关产品
US20230132407A1 (en) Method and device of video virtual background image processing and computer apparatus
CN114097248B (zh) 一种视频流处理方法、装置、设备及介质
CN109840946B (zh) 虚拟对象显示方法及装置
CN113852838B (zh) 视频数据生成方法、装置、电子设备及可读存储介质
CN111667420B (zh) 图像处理方法及装置
US11783523B2 (en) Animation control method and apparatus, storage medium, and electronic device
CN114615513B (zh) 视频数据生成方法、装置、电子设备及存储介质
CN107895161B (zh) 基于视频数据的实时姿态识别方法及装置、计算设备
CN112950751A (zh) 姿态动作的展示方法及装置、存储介质、***
CN115857676A (zh) 基于虚拟形象的显示方法和***
WO2024103805A1 (zh) 针对动作捕捉数据的处理方法和***
CN114170472A (zh) 图像处理方法、可读存储介质及计算机终端
CN113515187B (zh) 一种虚拟现实场景的生成方法和网络侧设备
WO2023236656A1 (zh) 互动画面的渲染方法、装置、设备、存储介质及程序产品
CN115379195B (zh) 视频生成方法、装置、电子设备和可读存储介质
CN115379118A (zh) 摄像头切换方法、装置、电子设备和可读存储介质
CN117319790A (zh) 基于虚拟现实空间的拍摄方法、装置、设备及介质
CN115937371B (zh) 人物模型的生成方法和***
CN116129091B (zh) 生成虚拟形象视频的方法及装置、电子设备和存储介质
CN114422697B (zh) 基于光学捕捉的虚拟拍摄方法、***及存储介质
CN114201046B (zh) 注视方向优化方法、装置、电子设备及存储介质
CN114285988B (zh) 显示方法、装置、电子设备及存储介质
CN116055758A (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