本技术涉及计算机,特别涉及一种虚拟形象的动画生成方法、装置、计算机设备及存储介质。
背景技术:
1、随着计算机技术的发展,虚拟形象在直播、影视、动漫、游戏、虚拟社交、人机交互等方面的应用越来越广泛。如何精准驱动虚拟形象生成流畅动画,对于虚拟形象的渲染性能至关重要。
2、目前,由真人按照台本进行表演,动捕(即动作捕捉)设备捕捉真人的肢体动作和面部表情,再将捕捉的数据转换成虚拟形象的3d动作数据和3d表情数据,驱动虚拟形象在连续时刻下执行类似真人的肢体动作和面部表情。
3、以上基于动捕的动画生成方式,受限于动捕设备造价昂贵,仅限专业影视制作中,无法推广适用到直播、游戏等通用场景,虚拟形象的动画生成效率低。
技术实现思路
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、对所述骨骼蒙皮的每个顶点,基于各个骨骼组件相对于所述顶点的蒙皮权重,从各个骨骼组件中确定所述顶点的关联骨骼组件;
33、基于所述关联骨骼组件的位姿重建数据和所述蒙皮权重,确定所述顶点的顶点位置。
34、在一些实施例中,所述获取模块包括:
35、拍摄单元,用于基于外置相机拍摄所述实体对象的视频数据;
36、转换单元,用于将所述视频数据从所述外置相机支持的视频格式,转换为预设视频格式,所述预设视频格式为支持实体对象三维重建的格式。
37、在一些实施例中,所述转换单元用于执行下述至少一项:
38、启动用于格式转换的子线程,通过所述子线程将所述视频数据转换成所述预设视频格式;
39、调用图形处理器gpu的绘制命令,通过所述gpu将所述视频数据转换成所述预设视频格式。
40、在一些实施例中,在所述视频数据包含多个视频帧的情况下,所述动画数据包含多个动画帧,其中,每个动画帧关联于一个视频帧,所述虚拟形象在所述动画帧中的肢体动作和面部表情与所述实体对象在所述视频帧中的肢体动作和面部表情相匹配。
41、一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述虚拟形象的动画生成方法。
42、一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述虚拟形象的动画生成方法。
43、一方面,提供一种计算机程序产品,所述计算机程序产品包括一条或多条计算机程序,所述一条或多条计算机程序存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条计算机程序,所述一个或多个处理器执行所述一条或多条计算机程序,使得计算机设备能够执行上述虚拟形象的动画生成方法。
44、本技术实施例提供的技术方案带来的有益效果至少包括:
45、通过实体对象的视频数据,提取到实体对象的在平面坐标系中呈现的肢体姿态和表情姿态,进而对实体对象进行三维重建,得到虚拟形象在空间坐标系中呈现的肢体动作和面部表情,进而结合虚拟形象的外观资源,合成虚拟形象的动画数据,使得在视频数据的驱动下,虚拟形象能够模拟和仿真实体对象的肢体动作和面部表情,这种动画生成流程不依赖于造价昂贵的动捕设备,能够推广适用到直播、游戏等通用场景,而且可以实时重建动画,满足较高的实时性需求,动画生成的时延低,动画生成效率高。