运动动画生成方法、装置、计算机设备和存储介质与流程

文档序号:28446606发布日期:2022-01-12 03:39阅读:72来源:国知局
运动动画生成方法、装置、计算机设备和存储介质与流程

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.一种可选的实施方式中,所述确定所述第一先验运动特征对应的多帧第二姿态信息,包括:
40.利用所述先验空间对应的预先训练的解码器对所述第一先验运动特征进行解码处理,得到所述第一先验运动特征对应的多帧第二姿态信息。
41.该实施方式,由于先验空间中的先验运动特征是基于编码器编码得到的,因此利用先验空间对应的训练后的解码器能够较为准确的解码出用于表征第一姿态信息所对应的多帧第二姿态信息。
42.第二方面,本公开实施例还提供一种运动动画生成装置,包括:
43.信息获取模块,用于获取先验空间中的第一先验运动特征,以及目标对象的至少一个第一姿态信息,其中,所述先验空间中包括多个运动分别对应的先验运动特征,其中每个运动对应的先验运动特征融合了用于描述该运动的多帧样本运动数据;多个所述第一姿态信息具有时序关系;
44.信息确定模块,用于确定所述第一先验运动特征对应的多帧第二姿态信息;
45.特征确定模块,用于基于所述第一姿态信息和所述多帧第二姿态信息,对所述第一先验运动特征进行调整,得到第二先验运动特征;
46.动画生成模块,用于基于所述第二先验运动特征,生成与所述目标对象的所述第
一姿态信息对应的运动动画。
47.一种可选的实施方式中,所述特征确定模块,具体用于按照所述时序关系,从所述多帧第二姿态信息中分别选取与所述第一姿态信息在时序上对应的第三姿态信息;
48.基于所述第一姿态信息和所述第三姿态信息,对所述第一先验运动特征进行调整,得到所述第二先验运动特征。
49.一种可选的实施方式中,所述特征确定模块,具体用于确定所述第一姿态信息和所述第三姿态信息之间的第一误差信息;
50.在所述第一误差信息不满足第一预设条件和/或迭代次数不超过第一预设次数的情况下,利用所述第一误差信息对所述第一先验运动特征进行调整,并返回执行确定调整后的第一先验运动特征对应的多帧第二姿态信息的步骤以及更新迭代次数;
51.将调整完成得到的先验运动特征作为所述第二先验运动特征。
52.一种可选的实施方式中,所述动画生成模块,具体用于确定所述第二先验运动特征对应的多帧第四姿态信息,以及获取待生成的运动动画的第一帧数;
53.在所述第一帧数不超过所述第四姿态信息的第二帧数的情况下,基于所述多帧第四姿态信息,生成与所述目标对象的所述第一姿态信息对应的运动动画。
54.一种可选的实施方式中,所述动画生成模块,具体用于从所述第二帧数的第四姿态信息中,筛选出所述第一帧数的第五姿态信息;
55.基于所述第五姿态信息,生成与所述目标对象的所述第一姿态信息对应的运动动画。
56.一种可选的实施方式中,在所述第一帧数超过所述第四姿态信息的第二帧数的情况下,所述信息获取模块,还用于获取所述先验空间中的第三先验运动特征;
57.所述特征确定模块,还用于对所述第三先验运动特征进行调整,得到第四先验运动特征;
58.所述动画生成模块,还用于基于所述第二先验运动特征和所述第四先验运动特征,生成与所述目标对象的所述第一姿态信息对应的运动动画。
59.一种可选的实施方式中,所述特征确定模块,还用于确定所述第三先验运动特征对应的多帧第六姿态信息;
60.确定首帧第六姿态信息与尾帧第四姿态信息之间的第二误差信息;
61.在所述第二误差信息不满足第二预设条件和/或迭代次数不超过第二预设次数的情况下,利用所述第二误差信息对所述第三先验运动特征进行调整;
62.将调整完成得到的先验运动特征作为所述第四先验运动特征。
63.一种可选的实施方式中,所述信息确定模块,具体用于利用所述先验空间对应的预先训练的解码器对所述第一先验运动特征进行解码处理,得到所述第一先验运动特征对应的多帧第二姿态信息。
64.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的运功动画生成方法的步骤。
65.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介
质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的运功动画生成方法的步骤。
66.关于上述运功动画生成装置、计算机设备和存储介质的效果描述参见上述运功动画生成方法的说明,这里不再赘述。
67.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
68.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
69.图1示出了本公开实施例所提供的一种运动动画生成方法的流程图;
70.图2示出了本公开实施例所提供的另一种运动动画生成方法的流程图;
71.图3示出了本公开实施例所提供的一种运动动画生成装置的示意图;
72.图4示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
73.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
74.另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
75.在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
76.经研究发现,对于人体运动的补全,传统的方法利用训练神经网络时,通过神经网络学习到的运动数据进行补全处理,最终的补全结果将受到神经网络训练过程的训练样本的限制,针对某一运动,如果不存在针对该运动中若干动作的样本,将不能完成对人体运动的补全处理,因此上述传统方法缺少足够的泛化性。
77.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是
发明人在本公开过程中对本公开做出的贡献。
78.基于上述研究,本公开实施例首先提供了一种运动动画生成方法,可以利用第一先验运动特征对应的多帧第二姿态信息和目标对象的第一姿态信息,不断调整第一先验运动特征,能够得到一个调整后的、可以表征第一姿态信息的第二先验运动特征。通过第二先验运动特征,对第一姿态信息进行补全处理,直接绕过了训练的神经网络的过程,因此能够避免样本数据对于补全处理的限制;而由于第二先验运动特征融合了多帧样本运动数据,因此可以得到一段目标对象对应的完整的、连续运动的姿态对应的运动动画。
79.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
80.下面对本公开实施例中涉及到的特殊名词做详细解释:
81.先验空间:通过变分自编码器的神经网络的结构,利用重建的方式来做样本数据的编码,得到的编码空间即为先验空间。先验空间是一个高维空间。先验空间中包括多个先验运动特征,先验运动特征能够表示一段规定长度的合理平滑的人体运动,也即包括一系列连续人体动作,比如,在人体运动为跑步运动的情况下,一系列人体动作包括站立(多帧)、抬左腿(多帧)、抬右腿(多帧)这一系列动作的循环。其中,每个动作包括一帧姿态信息,一段规定长度的人体运动包括固定帧数的姿态信息。
82.为便于对本实施例进行理解,首先对本公开实施例所公开的一种运动动画生成方法进行详细介绍,本公开实施例所提供的运动动画生成方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该运动动画生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
83.下面以执行主体为计算机设备为例对本公开实施例提供的运动动画生成方法加以说明。
84.参见图1所示,为本公开实施例提供的一种运动动画生成方法的流程图,所述方法包括步骤s101~s104,其中:
85.s101:获取先验空间中的第一先验运动特征,以及目标对象的至少一个第一姿态信息,其中,所述先验空间中包括多个运动分别对应的先验运动特征,其中每个运动对应的先验运动特征融合了用于描述该运动的多帧样本运动数据;多个第一姿态信息具有时序关系。
86.本步骤中,第一姿态信息可以包括用户设计出的目标对象的关键姿态以及关键姿态的朝向,其中,关键姿态以及关键姿态的朝向可以通过向量来表示,此时,用户可以设计向量的表示参数,得到目标对象的关键姿态。第一姿态信息能够表征目标对象所做出的一个关键动作,比如,针对跳绳运动,关键动作可以包括“跳”的动作、“手绕跳绳”的动作等。
87.或者,第一姿态信息还可以包括从视频中提取到的目标对象的动作特征所还原得到的姿态信息。
88.多个第一姿态信息具有时序关系,比如三个第一姿态信息,预设第一个第一姿态信息为第一帧姿态信息,预设第二个第一姿态信息为第十帧姿态信息,预设第三个第一姿态信息为第三十帧姿态信息。如果要生成三十帧的运动动画,则待生成的第一姿态信息包括第二帧第一姿态信息~第九帧第一姿态信息、以及第十一帧第一姿态信息~第二十九帧第一姿态信息。
89.确定先验空间中的先验运动特征。具体的,样本运动数据可以是利用数据采集设备,比如动作捕捉设备vicon或kinect等,采集到的三维人体运动数据。利用训练完成的编码器构建先验空间。具体的,将多帧样本运动数据输入编码器中,可以得到先验运动特征;多个先验运动表征组成先验空间。
90.由于自编码器中编码器的编码特性决定了先验空间中存储的先验运动特征表示一段规定长度的人体运动,而规定长度的人体运动,也表征为固定帧数动作对应的姿态信息,因此,样本运动数据的帧数固定,其与自编码器编码得到第一先验运动特征所表征的第二姿态信息的固定帧数一致。
91.本步骤中,获取先验空间中的第一先验运动特征,可以是从先验空间中随机获取出的一个先验运动特征;或者,也可以根据任务需要从先验空间中指定获取一个目标先验运动特征。其获取规则可以根据实际需求进行设定,本公开实施例不进行具体限定。
92.s102:确定第一先验运动特征对应的多帧第二姿态信息。
93.本步骤中,第二姿态信息可以包括样本对象的姿态以及姿态的朝向,其中,姿态以及姿态的朝向可以通过向量来表示。第二姿态信息能够表征多帧样本运动数据对应的一系列动作。
94.具体实施时,可以利用自编码器中的解码器解码被编码后的第一先验运动特征,得到该第一先验运动特征对应的多帧第二姿态信息。其中,解码器可以是预先训练好的任一常用解码器,本公开实施例不进行具体限定。
95.在一些实施例中,还可以利用先验空间对应的预先训练的解码器对第一先验运动特征进行解码处理,得到第一先验运动特征对应的多帧第二姿态信息。
96.这里,可以利用先验空间中存储的先验运动特征对应的样本运动数据训练自编码器中的编码器和解码器,先验运动特征是基于编码器编码得到的,因此,基于同样训练得到的解码器可以对先验运动特征进行解码处理。
97.示例性的,将第一先验运动特征输入到先验空间对应的预先训练的解码器中,通过卷积层进行卷积处理,即对编码后的第一先验运动特征进行解码,最终输出能够表述某一运动中一系列连续动作的多帧第二姿态信息。
98.这里,由于先验空间中的先验运动特征是基于编码器编码得到的,因此利用先验空间对应的训练后的解码器能够较为准确的解码出用于表征第一姿态信息所对应的多帧第二姿态信息。
99.s103:基于第一姿态信息和多帧第二姿态信息,对第一先验运动特征进行调整,得到第二先验运动特征。
100.可以从多帧第二姿态信息中筛选出与第一姿态信息的帧数相同的第二姿态信息,并确定其之间的对应关系;之后,利用每个第一姿态信息和与第一姿态信息对应的第二姿态信息之间的误差信息,对第一先验运动特征进行调整,得到第二先验运动特征。
101.上述,筛选的方式可以根据任务要求进行设置,在一些实施例中,可以按照第二姿态信息的时序信息,从多帧第二姿态信息中按照前到后的顺序筛选与第一姿态信息的帧数相同的第二姿态信息,并确定其之间的对应关系。或者,按照第二姿态信息的时序信息,从多帧第二姿态信息中分别选取与第一姿态信息在时序上对应的第二姿态信息,并确定其之间的对应关系。或者,直接从多帧第二姿态信息中随机选取与第一姿态信息帧数相同的第
二姿态信息,并确定其之间的对应关系。
102.之后,可以利用每帧第一姿态信息和与其对应的第二姿态信息之间的误差信息,确定目标误差信息,利用目标误差信息进行反向传播,优化第一先验运动特征,得到第二先验运动特征。
103.确定目标误差信息,具体的,可以从每个误差信息之间随机选取一个误差信息作为目标误差信息;或者,可以确定多个误差信息的误差均值信息,将误差均值信息作为目标误差信息。
104.利用目标误差信息进行反向传播,优化第一先验运动特征,得到第二先验运动特征,具体的,可以利用目标误差信息中的误差计算第一先验运动特征的梯度,利用该梯度优化第一先验运动特征,在确定目标误差信息对应的误差小于预设阈值的情况下,优化后的先验运动特征即为第二先验运动特征。这里,第二先验运动特征包括用于表征第一姿态信息的第四姿态信息。
105.s104:基于第二先验运动特征,生成与目标对象的第一姿态信息对应的运动动画。
106.具体实施时,可以将第二先验运动特征输入编码器中,解码得到第二先验运动特征对应的多帧第四姿态信息,利用多帧第四姿态信息,生成与目标对象的第一姿态信息对应的运动动画。
107.一种情况下,还原每帧第四姿态信息对应的运动动画,生成与第四姿态信息的帧数相同的运动动画。
108.另一种情况,从多帧第四姿态信息中随机筛选与第一姿态信息和待生成的第一姿态信息帧数之和相同帧数的第四姿态信息;利用筛选出的多帧第四姿态信息,生成每帧第四姿态信息对应的运动动画。
109.上述s101~s104,可以利用第一先验运动特征对应的多帧第二姿态信息和目标对象的第一姿态信息,不断调整第一先验运动特征,能够得到一个调整后的、可以表征第一姿态信息的第二先验运动特征。通过第二先验运动特征,对第一姿态信息进行补全处理,直接绕过了训练的神经网络的过程,因此能够避免样本数据对于补全处理的限制;而由于第二先验运动特征融合了多帧样本运动数据,因此可以得到一段目标对象对应的完整的、连续运动的姿态对应的运动动画。
110.针对s103中,确定第二先验运动特征,一种可能的实施方式为,可以按照时序关系,从多帧第二姿态信息中分别选取与第一姿态信息在时序上对应的第三姿态信息;基于第一姿态信息和第三姿态信息,对第一先验运动特征进行调整,得到第二先验运动特征。
111.要确保第一先验运动特征能够优化为一个高精度表征第一姿态信息的第二先验运动特征,可以通过监督与第一姿态信息在时序上对应第三姿态信息,来优化第一先验运动特征,从而使得最终得到的第二先验运动特征在时序上对应的姿态信息符合第一姿态信息,即能够得到精准表征第一姿态信息的第二先验运动特征。
112.示例性的,已知第一姿态信息的时序关系为第一帧,第十帧和第三十帧。确定与第一姿态信息在时序上对应的第三姿态信息即为,多帧第二姿态信息中的第一帧第二姿态信息、第十帧第二姿态信息和第三十帧第二姿态信息;利用第一帧第一姿态信息和其对应的第三姿态信息,确定误差信息a;利用第二帧第一姿态信息和其对应的第三姿态信息,确定误差信息b;利用第三帧第一姿态信息和其对应的第三姿态信息,确定误差信息c;之后,可
以利用上述多个误差信息的误差平均信息,对第一先验运动特征进行调整,确定调整后的第二先验运动特征。或者,可以利用上述确定的任一一个误差信息,对第一先验运动特征进行调整,得到第二先验运动特征。
113.这里,调整第一先验运动特征,可以为迭代调整,每次调整后重新执行上述确定调整后的第一先验运动特征对应的多帧第二姿态信息的步骤,直到优化后的第一先验运动特征满足条件为止,此时,最后一次调整得到的先验运动特征为第二先验运动特征。
114.确定第二先验运动特征,在一些实施例中,确定第一姿态信息和第三姿态信息之间的第一误差信息;在第一误差信息不满足第一预设条件和/或迭代次数不超过第一预设次数的情况下,利用第一误差信息对第一先验运动特征进行调整,并返回执行确定调整后的第一先验运动特征对应的多帧第二姿态信息的步骤以及更新迭代次数将调整完成得到的先验运动特征作为第二先验运动特征。
115.确定第一姿态信息和第三姿态信息之间的第一误差信息,以一组第一姿态信息和其对应的第三姿态信息为例,第一姿态信息p,第三姿态信息q,其误差信息(p
1-q2)2,多组第一姿态信息和其对应的第三姿态信息,确定第一误差信息,即为其中,n表示n组第一姿态信息和其对应的第三姿态信息,i表示第i组第一姿态信息和其对应的第三姿态信息;pi表示第i组中的第一姿态信息;qi表示第i组中的第三姿态信息。
116.在第一误差信息不满足第一预设条件和/或迭代次数不超过第一预设次数的情况下,利用第一误差信息对第一先验运动特征进行调整,得到调整后的先验运动特征,之后,返回执行确定调整后的第一先验运动特征对应的多帧第二姿态信息的步骤,即确定调整后的先验运动特征对应的多帧姿态信息,如此迭代,更新迭代次数,并判断迭代过程中第一误差信息是否满足第一预设条件和/或迭代次数是否超过第一预设次数;在确定第一误差信息满足第一预设条件和/或迭代次数超过第一预设次数的情况下,可以确定调整完成,此时,可以将最后一次调整得到的先验运动特征作为第二先验运动特征,此时,最后一次调整得到的先验运动特征即为能够精准表征第一姿态信息的第二先验运动特征。
117.第一预设条件可以是预先设置的第一误差信息中的误差小于预设阈值的条件,其中,预设阈值可以根据经验值进行设定,本公开实施例不进行具体设置。第一预设次数,也可以根据经验值进行设定,本公开实施例不进行具体设置。
118.针对s104,生成运动动画;一种可能的实施方式为,可以确定第二先验运动特征对应的多帧第四姿态信息,以及获取待生成的运动动画的第一帧数;之后,在第一帧数不超过第四姿态信息的第二帧数的情况下,基于多帧第四姿态信息,生成与目标对象的第一姿态信息对应的运动动画。
119.这里,第四姿态信息可以包括样本对象的姿态以及姿态的朝向,其中,姿态以及姿态的朝向可以通过向量来表示。第四姿态信息能够表征多帧样本运动数据对应的一系列动作。
120.这里,待生成的运动动画的第一帧数,可以根据第一姿态信息的帧数+待生成的第一姿态信息的帧数来确定。示例性的,第一帧数=第一姿态信息的帧数+待生成的第一姿态信息的帧数。
121.由于先验空间中先验运动特征表征的姿态信息的帧数固定,因此,多帧第四姿态信息的帧数固定。如果第一帧数不超过第四姿态信息的第二帧数,则可以直接利用多帧第
四姿态信息,生成与目标对象的第一姿态信息对应的运动动画。具体的,可以生成每帧第四姿态信息对应的运动动画,之后,从生成的运动动画中截取第一帧数的连续帧运动动画,此时,该连续帧运动动画即为第一姿态信息以及待生成的第一姿态信息所对应的、用于描述目标对象连续运动的动画。
122.或者,按照第一姿态信息的时序信息和待生成的第一姿态信息的时序信息,从第二帧数的第四姿态信息中筛选出第一帧数的第五姿态信息,并基于第五姿态信息,生成与目标对象的第一姿态信息对应的运动动画。
123.示例性的,已知第一帧数为30帧,第二帧数为128帧,已知第一帧,第十帧和第三十帧的第一姿态信息,待生成的第一姿态信息包括第二帧第一姿态信息~第九帧第一姿态信息、以及第十一帧第一姿态信息~第二十九帧第一姿态信息;之后,可以按照第一姿态信息的时序信息和待生成的第一姿态信息的时序信息,从128帧第四姿态信息中筛选出与第一姿态信息的时序位置和待生成的第一姿态信息和时序位置对应的第一帧数的第五姿态信息,即第一帧~第三十帧第五姿态信息。之后,生成每帧第五姿态信息对应的运动动画,即第一帧数的、与目标对象的第一姿态信息对应的运动动画。
124.要确保生成第一帧数的运动动画(第一帧数不超过第二帧数),可以从第二帧数的第四姿态信息中,筛选出第一帧数的第五姿态信息,第一帧数的第五姿态信息能够表示第一姿态信息以及待生成的第一姿态信息对应的姿态信息;利用第一帧数的第五姿态信息能够生成第一帧数的表征第一姿态信息的运动动画,也即生成第一姿态信息以及待生成的第一姿态信息所对应的连续运动的动画。
125.另一种可能的实施方式为,在第一帧数超过第四姿态信息的第二帧数的情况下,多帧第四姿态信息将不满足所要求的、生成第一帧数的运动动画,此时,要生成第一帧数的、与目标对象的第一姿态信息对应的运动动画,还可以重新从先验空间中选择第三先验运动特征,之后返回执行s101~s103的步骤,得到对第三先验运动特征调整后的第四先验运动特征,之后,基于第二先验运动特征和第四先验运动特征,生成与目标对象的第一姿态信息对应的运动动画。可以参见图2所示,其为另一种运动动画生成方法的流程图;包括s201~s203,其中:
126.s201:获取先验空间中的第三先验运动特征。
127.这里,可以随机从先验空间中获取一个第三先验运动特征。或者,还可以从先验空间中除了第一先验运动特征之外的其余先验运动特征中随机选择一第三先验运动特征。其获取规则可以根据实际需求进行设定,本公开实施例不进行具体限定。
128.s202:对第三先验运动特征进行调整,得到第四先验运动特征。
129.具体实施时,首先,可以确定第三先验运动特征对应的多帧第六姿态信息,之后,利用多帧第六姿态信息中的至少部分第六姿态信息,与已经确定好的第二先验运动特征中的至少部分第四姿态信息之间分别对应的误差信息,对第三先验运动特征进行调整,得到第四先验运动特征。
130.示例性的,可以确定多帧第六姿态信息中的前三帧第六姿态信息,与多帧第四姿态信息中的后三帧第四姿态信息之间分别对应的误差信息,进而确定多个误差信息之间的误差平均信息;利用误差平均信息进行反向传播,计算第三先验运动特征的梯度,利用第三先验运动特征以及第三先验运动特征的梯度,确定优化后的先验运动特征,比如优化后的
先验运动特征=第三先验运动特征+第三先验运动特征的梯度
×
预设系数,其中,预设系数可以根据经验值进行设定,本公开实施例不进行具体限定;在确定误差平均信息对应的平均误差小于预设阈值的情况下,优化后的先验运动特征即为第四先验运动特征。这里,第四先验运动特征包括用于表征除第二先验运动特征所能表征的第一姿态信息和待生成的第一姿态信息之外的,第一姿态信息和/或待生成的第一姿态信息的姿态信息。
131.确定第四先验运动特征,在一些实施例中,确定第三先验运动特征对应的多帧第六姿态信息;确定首帧第六姿态信息与尾帧第四姿态信息之间的第二误差信息;在第二误差信息不满足第二预设条件和/或迭代次数不超过第二预设次数的情况下,利用第二误差信息对第三先验运动特征进行调整;将调整完成得到的先验运动特征作为第四先验运动特征。
132.这里,第六姿态信息可以包括样本对象的姿态以及姿态的朝向,其中,姿态以及姿态的朝向可以通过向量来表示。第六姿态信息能够表征多帧样本运动数据对应的一系列动作。
133.确定首帧第六姿态信息与尾帧第四姿态信息之间的第二误差信息,示例性的,首帧第六姿态信息即为p

,尾帧第四姿态信息q

,第二误差信息即为(p
′‑q′
)2。
134.利用第二误差信息对第三先验运动特征进行调整,能够得到第四先验运动表征。这里,优化第三先验运动特征的过程可以参照优化第一先验运动特征得到第二先验运动特征的优化过程,重复步骤再次不再赘述。
135.由于第一帧数超过第二帧数,要确保生成的运动动画为目标对象连续运动的动画,需要保证第二先验运动特征对应生成的第一段动画的最后一帧动画中目标对象的动作,与第四先验运动特征对应生成的第二段动画的第一帧动画中目标对象的动作连续,因此,需要保证第四先验运动特征的首帧姿态信息与尾帧第四姿态信息之间的误差信息满足预设条件,和/或优化第三先验运动特征的迭代次数超过第二预设次数,因此,通过监督首帧第六姿态信息与尾帧第四姿态信息之间的第二误差信息,优化第三先验运动特征,从而使得最终得到的第四先验运动特征的首帧姿态信息与尾帧第六姿态信息运动连续,即能够得到精准表征第一姿态信息的第四先验运动特征。之后,利用第二先验运动特征和第四先验运动特征拼接得到的运动动画,即为第一姿态信息所对应的、表征目标对象连续运动的动画。
136.上述第二预设条件可以是预先设置的第二误差信息中的误差小于预设阈值的条件,其中,预设阈值可以根据经验值进行设定,本公开实施例不进行具体设置。第二预设次数,也可以根据经验值进行设定,本公开实施例不进行具体设置。
137.s203:基于第二先验运动特征和第四先验运动特征,生成与目标对象的第一姿态信息对应的运动动画。
138.确定两段运动动画,即第二先验运动特征对应的第一段运动动画,以及第四先验运动特征对应的第二段运动动画,将两段运动动画首尾拼接(第一段运动动画尾拼接第二段运动动画首),能够得到第一帧数的、且目标对象连续运动的运动动画。
139.另外,由于优化后的第四先验运动特征对应的首帧姿态信息与第二先验运动特征对应的尾帧第四姿态信息之间的误差小于预设误差值,因此,生成的第一帧数的运动动画中目标对象的运动连续。
140.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
141.基于同一发明构思,本公开实施例中还提供了与运动动画生成方法对应的运动动画生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述运动动画生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
142.参照图3所示,为本公开实施例提供的一种运动动画生成装置的示意图,所述装置包括:信息获取模块301、信息确定模块302、特征确定模块303和动画生成模块304;其中,
143.信息获取模块301,用于获取先验空间中的第一先验运动特征,以及目标对象的至少一个第一姿态信息,其中,所述先验空间中包括多个运动分别对应的先验运动特征,其中每个运动对应的先验运动特征融合了用于描述该运动的多帧样本运动数据;多个所述第一姿态信息具有时序关系;
144.信息确定模块302,用于确定所述第一先验运动特征对应的多帧第二姿态信息;
145.特征确定模块303,用于基于所述第一姿态信息和所述多帧第二姿态信息,对所述第一先验运动特征进行调整,得到第二先验运动特征;
146.动画生成模块304,用于基于所述第二先验运动特征,生成与所述目标对象的所述第一姿态信息对应的运动动画。
147.一种可选的实施方式中,所述特征确定模块303,具体用于按照所述时序关系,从所述多帧第二姿态信息中分别选取与所述第一姿态信息在时序上对应的第三姿态信息;
148.基于所述第一姿态信息和所述第三姿态信息,对所述第一先验运动特征进行调整,得到所述第二先验运动特征。
149.一种可选的实施方式中,所述特征确定模块303,具体用于确定所述第一姿态信息和所述第三姿态信息之间的第一误差信息;
150.在所述第一误差信息不满足第一预设条件和/或迭代次数不超过第一预设次数的情况下,利用所述第一误差信息对所述第一先验运动特征进行调整,并返回执行确定调整后的第一先验运动特征对应的多帧第二姿态信息的步骤以及更新迭代次数;
151.将调整完成得到的先验运动特征作为所述第二先验运动特征。
152.一种可选的实施方式中,所述动画生成模块304,具体用于确定所述第二先验运动特征对应的多帧第四姿态信息,以及获取待生成的运动动画的第一帧数;
153.在所述第一帧数不超过所述第四姿态信息的第二帧数的情况下,基于所述多帧第四姿态信息,生成与所述目标对象的所述第一姿态信息对应的运动动画。
154.一种可选的实施方式中,所述动画生成模块304,具体用于从所述第二帧数的第四姿态信息中,筛选出所述第一帧数的第五姿态信息;
155.基于所述第五姿态信息,生成与所述目标对象的所述第一姿态信息对应的运动动画。
156.一种可选的实施方式中,在所述第一帧数超过所述第四姿态信息的第二帧数的情况下,所述信息获取模块301,还用于获取所述先验空间中的第三先验运动特征;
157.所述特征确定模块303,还用于对所述第三先验运动特征进行调整,得到第四先验运动特征;
158.所述动画生成模块304,还用于基于所述第二先验运动特征和所述第四先验运动特征,生成与所述目标对象的所述第一姿态信息对应的运动动画。
159.一种可选的实施方式中,所述特征确定模块303,还用于确定所述第三先验运动特征对应的多帧第六姿态信息;
160.确定首帧第六姿态信息与尾帧第四姿态信息之间的第二误差信息;
161.在所述第二误差信息不满足第二预设条件和/或迭代次数不超过第二预设次数的情况下,利用所述第二误差信息对所述第三先验运动特征进行调整;
162.将调整完成得到的先验运动特征作为所述第四先验运动特征。
163.一种可选的实施方式中,所述信息确定模块302,具体用于利用所述先验空间对应的预先训练的解码器对所述第一先验运动特征进行解码处理,得到所述第一先验运动特征对应的多帧第二姿态信息。
164.关于运动动画生成装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述运动动画生成方法实施例中的相关说明,这里不再详述。
165.基于同一技术构思,本技术实施例还提供了一种计算机设备。参照图4所示,为本技术实施例提供的计算机设备的结构示意图,包括:
166.处理器41、存储器42和总线43。其中,存储器42存储有处理器41可执行的机器可读指令,处理器41用于执行存储器42中存储的机器可读指令,所述机器可读指令被处理器41执行时,处理器41执行下述步骤:s101:获取先验空间中的第一先验运动特征,以及目标对象的至少一个第一姿态信息,其中,先验空间中包括多个运动分别对应的先验运动特征,其中每个运动对应的先验运动特征融合了用于描述该运动的多帧样本运动数据;多个第一姿态信息具有时序关系;s102:确定第一先验运动特征对应的多帧第二姿态信息;s103:基于第一姿态信息和多帧第二姿态信息,对第一先验运动特征进行调整,得到第二先验运动特征;s104:基于第二先验运动特征,生成与目标对象的第一姿态信息对应的运动动画。
167.上述存储器42包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当计算机设备运行时,处理器41与存储器42之间通过总线43通信,使得处理器41在执行上述方法实施例中所提及的执行指令。
168.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的运动动画生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
169.本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述的运动动画生成方法的步骤。其中,计算机程序产品可以是任何能实现上述运动动画生成方法的产品,该计算机程序产品中对现有技术做出贡献的部分或全部方案可以以软件产品(例如软件开发包(software development kit,sdk))的形式体现,该软件产品可以被存储在一个存储介质中,通过包含的计算机指令使得相关设备或处理器执行上述运动动画生成方法的部分或全部步骤。
170.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描
述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
171.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
172.另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
173.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random accessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
174.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1