动作生成方法及虚拟人物动画生成方法与流程

未命名 07-12 阅读:83 评论: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.训练模块,被配置为基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本
噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型;
33.发送模块,被配置为将动作生成模型的模型参数发送至端侧设备。
34.根据本说明书实施例的第七方面,提供了一种计算设备,包括:存储器和处理器;
35.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的步骤。
36.根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的步骤。
37.根据本说明书实施例的第九方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的步骤。
38.本说明书一个或多个实施例中,获取随机采样得到的噪声序列;将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本动作序列进行加噪得到。将随机采样得到的噪声序列输入动作生成模型,重复进行去噪并进行下一次迭代,通过多次迭代解码得到目标动作序列,这样的推理生成方法可以从零生成动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练和动作生成,不与样本产生强关联,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列。
附图说明
39.图1是本说明书一个实施例提供的一种动作生成方法的流程图;
40.图2是本说明书一个实施例提供的一种虚拟人物动画生成方法的流程图;
41.图3是本说明书一个实施例提供的一种动作生成模型的数据处理方法的流程图;
42.图4是本说明书一个实施例提供的一种应用于动画电影制作的虚拟人物动画生成方法的处理过程流程图;
43.图5是本说明书一个实施例提供的一种动作生成方法的数据处理示意图;
44.图6是本说明书一个实施例提供的一种动作生成方法中动作生成模型的结构示意图;
45.图7是本说明书一个实施例提供的一种动作生成方法中骨骼自适应模块的数据处理示意图;
46.图8是本说明书一个实施例提供的一种虚拟人物动画生成方法的显示示意图;
47.图9是本说明书一个实施例提供的一种动作生成装置的结构示意图;
48.图10是本说明书一个实施例提供的一种虚拟人物动画生成装置的结构示意图;
49.图11是本说明书一个实施例提供的一种动作生成模型的数据处理装置的结构示意图;
50.图12是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
51.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
52.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
53.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
54.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
55.cnn(convolutional neural networks,卷积神经网络)模型:一种具有前向传播和反向传播的多层神经网络模型。
56.ffn(feedforward neural,前馈神经网络)模型:一种具有前馈传播功能的神经网络模型。
57.transformer(翻译)模型:一种基于注意力机制的神经网络模型,通过注意力机制提取、分析数据的特征,可以用于对自然语言文本,也可以用于图像信息和音频信息等多模态信息。
58.bert(bidirectional encoder representations from transformer,双向语义编码)模型:一种对transformer的优化神经网络模型,通过注意力机制提取、分析自然语言文本、图像信息或者音频信息等多模态数据。
59.在本说明书中,提供了一种动作生成方法,本说明书同时涉及一种虚拟人物动画生成方法,一种动作生成模型的数据处理方法,一种动作生成装置,一种虚拟人物动画生成装置,一种动作生成模型的数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
60.参见图1,图1示出了本说明书一个实施例提供的一种动作生成方法的流程图,具体包括如下步骤。
61.步骤102:获取随机采样得到的噪声序列。
62.噪声序列为对应动作序列的参数格式的随机噪声特征参数。动作序列为虚拟对象的肢体关键点的特征参数的时间序列。肢体关键点包括五官特征点、骨骼特征点和关节特征点等。虚拟对象为视频片段中的数字虚拟对象,例如,游戏、电影、动画、视频中的人物、动物、机械等。以电影中的人物为例,该人物具有头部、脊椎部位、核心部位、四肢部位等肢体关键点,该人物在一个0.03s内的电影视频片段中具有3个视频动作帧,肢体关键点在3个视
频动作帧中的特征参数分别为:第1帧:{头部:位置(x1,y1,z1),旋转角度:(α1,β1,γ1);脊椎部位:位置(x2,y2,z2),旋转角度:(α2,β2,γ2)
……
右脚:位置(x7,y7,z7),旋转角度:(α7,β7,γ7)};第2帧:{头部:位置(x8,y8,z8),旋转角度:(α8,β8,γ8);脊椎部位:位置(x9,y9,z9),旋转角度:(α9,β9,γ9)
……
右脚:位置(x14,y14,z14),旋转角度:(α
14
,β
14
,γ
14
)};第3帧:{头部:位置(x15,y15,z15),旋转角度:(α
15
,β
15
,γ
15
);脊椎部位:位置(x16,y16,z16),旋转角度:(α
16
,β
16
,γ
16
)
……
右脚:位置(x21,y21,z21),旋转角度:(α
21
,β
21
,γ
21
)}。噪声序列为对应动作序列格式的随机噪声特征参数,即,第1帧{头部:位置(randx,randy,randz),旋转角度:(randα,randβ,randγ);脊椎部位:位置(randx,randy,randz),旋转角度:(randα,randβ,randγ)
……
右脚:位置(randx,randy,randz),旋转角度:(randα,randβ,randγ)};第2帧
……
;第3帧
……

63.需要说明的是,随机采样的噪声序列可以为高斯噪声、瑞利噪声、伽马噪声、均匀分布噪声、指数分布噪声和脉冲噪声中的至少一种的时间序列,在此不作限定。
64.获取随机采样得到的噪声序列,具体方式为,根据动作序列的特征参数,对特征参数进行随机采样,得到噪声序列。
65.示例性地,根据动作序列的特征参数:第n帧:{头部:位置(x,y,z),旋转角度:(α,β,γ);脊椎部位:位置(x,y,z),旋转角度:(α,β,γ)
……
右脚:位置(x,y,z),旋转角度:(α,β,β)},对特征参数进行随机高斯噪声采样,得到高斯噪声序列x
t
:第1帧:{头部:位置(gaussrandx,gaussrandy,gaussrandz),旋转角度:(gaussrandα,gaussrandβ,gaussrandγ);脊椎部位:位置(gaussrandx,gaussrandy,gaussrandz),旋转角度:(gaussrandα,gaussrandβ,gaussrandγ)
……
右脚:位置(gaussrandx,gaussrandy,gaussrandz),旋转角度:(gaussrandα,gaussrandβ,gaussrandγ)};第2帧
……
;第m帧
……

66.通过获取随机采样得到的噪声序列,为后续生成下一次迭代的噪声序列奠定了数据基础,并为生成目标动作序列奠定了数据基础,同时避免了根据特定的动作帧进行后续的动作生成,提升了生成的目标动作序列的丰富性。
67.步骤104:将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本动作序列进行加噪得到。
68.动作生成模型为可以对噪声序列进行特征提取,对应生成动作序列的序列生成模型。动作生成模型具体通过其解码器对噪声序列进行降噪处理并基于预训练的条件概率,实现从随机噪声序列到目标动作序列的转换。动作生成模型为一种扩散模型,例如,dall-e2模型、imagen模型和ddpm模型(denoising diffusion probabilistic models,降噪扩散概率模型),本说明书实施例中以ddpm为例进行说明。扩散模型的预训练过程为具体样本动作序列先通过加噪,得到样本噪声序列,这样的过程称为扩散,再利用样本噪声序列进行预训练,这样的过程称为逆扩散或者降噪。同理,动作生成过程也是由噪声序列生成具体的动作序列,即逆扩散或者降噪。扩散和降噪的推理过程,实现了从零生成动作序列,摆脱了预训练样本之间的强关联,实现了无条件控制的动作生成,相比于传统基于给定的动作帧来进行动作补全,生成的动作序列更具针对性和丰富性。
69.目标动作序列为对虚拟对象进行驱动的、肢体关键点的特征参数的时间序列,目
标动作序列对应有目标动作,例如,目标动作为“翻跟头”,目标动作序列中肢体关键点的特征参数随着时间变化,进而实现在多个动作帧的连续变化中呈现“翻跟头”的虚拟对象的驱动显示效果。基于目标动作对虚拟对象进行驱动,可以应用于电子商务的虚拟主播驱动、电子商务的虚拟对象视频生成、直播平台的虚拟主播驱动、视频平台的虚拟对象视频生成、广告传媒的虚拟对象视频生成、游戏的虚拟角色驱动等场景中。
70.将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,具体方式为,将噪声序列输入动作生成模型,经动作生成模型中解码器进行多次迭代的动作预测,基于多次迭代的预测结果,得到目标动作序列。
71.示例性地,将噪声序列x
t
输入ddpm模型,经ddpm模型中解码器进行多次迭代的动作预测,基于多次迭代的预测结果:得到目标动作序列x0。
72.本说明书实施例中,获取随机采样得到的噪声序列;将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本动作序列进行加噪得到。将随机采样得到的噪声序列输入动作生成模型,重复进行去噪并进行下一次迭代,通过多次迭代解码得到目标动作序列,这样的推理生成方法可以从零生成动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练和动作生成,不与样本产生强关联,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列。
73.可选地,步骤104中对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,包括如下具体步骤:
74.基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列;
75.对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列。
76.预测动作序列为基于本次迭代输入的噪声序列,预测经过降噪后得到的动作序列。
77.基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列,具体方式为,基于预训练确定的条件概率,对本次迭代输入的噪声序列进行动作预测,获得预测动作序列。
78.对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列,具体方式为,基于本次迭代输入的噪声序列,确定预测动作序列对应的迭代噪声,基于预测动作序列和迭代噪声,确定下一次迭代输入的噪声序列。更进一步可选地,基于本次迭代输入的噪声序列对应的迭代降噪次数,对预测动作序列添加迭代降噪次数的随机噪声,得到确定下一次迭代输入的噪声序列;更进一步可选地,将预测动作序列和本次迭代输入的噪声序列输入预先训练的噪声添加模块,基于本次迭代输入的噪声序列,确定预测动作序列对应的迭代噪声,得到下一次迭代输入的噪声序列。
79.示例性地,基于预训练确定的条件概率p(t-1∣t),对本次迭代输入的噪声序列x
t
进行动作预测,获得预测动作序列基于本次迭代输入的噪声序列x
t
对应的迭代降噪次数t,对预测动作序列添加迭代降噪次数t的随机噪声,得到确定下一次迭代输入的噪声序
列x
t-1

80.基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列;对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列。在一次迭代解码过程中,通过确定预测动作序列,再对预测动作序列和本次迭代输入的噪声序列进行分析,保证了下一次迭代输入的噪声序列不会过快降噪,保留了当前预测动作序列的相关特征,提升了下一次迭代输入的噪声序列的准确度。
81.可选地,解码器包括第一骨骼自适应层、多头注意力层和第二骨骼自适应层;
82.对应地,基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列,包括如下具体步骤:
83.将本次迭代输入的噪声序列输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列进行归一化处理,获得骨骼特征序列;
84.将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列;
85.将骨骼注意力特征序列输入第二骨骼自适应层,经第二骨骼自适应层对骨骼注意力特征序列进行骨骼还原,得到预测动作序列。
86.在预训练过程中,不同样本动作序列对应的动作序列的骨骼特征不同,例如,部分样本的骨骼结构为t结构,即包括核心部位、脊椎部位、前臂部位(左、右)、大臂部位(左、右)、大腿部位(左、右),小腿部位(左、右)共10个骨骼,部分样本的骨骼结构为a结构,即包括核心部位、脊椎部位、手臂部位(左、右)、腿部位(左、右)共6个骨骼,两者对应的骨骼特征也存在差异,为了增加训练的样本数量,可以通过在动作生成模型的解码器输入和输出部位添加骨骼自适应层,实现对不同样本的归一化处理,提升了后续动作生成的针对性。同理,动作生成过程中,也可以对应不同的噪声序列来生成对应的目标动作序列,提升了目标动作序列的丰富性。
87.目前,通过人工设置骨骼归一化规则,实现对不同序列的骨骼特征实现归一化处理,然而,这样的人工设置方法,效率不足且成本较高。
88.骨骼自适应层为对输入的序列进行统一特征维度编解码的神经网络模型,可以为cnn、fnn等。具体地,骨骼自适应层通过对各骨骼特征点的旋转角度他添加额外旋转角度,实现对不同骨骼结构的骨骼旋转角度参数的归一化处理。骨骼自适应层包括置换矩阵模块,通过对骨骼自适应层的预训练,实现基于置换矩阵模块对不同骨骼结构的序列实现增删操作,对骨骼数量进行对齐。第一骨骼自适应层为对将不同骨骼结构的序列转换为统一特征维度的骨骼特征,第二骨骼自适应层为将统一特征维度的骨骼特征逆转换(还原)为不同骨骼结构的序列。多头注意力层为具有多维空间注意力机制的,通过多维空间注意力机制,可以提取得到更全面的骨骼特征的骨骼注意力特征序列。骨骼特征序列为虚拟对象的骨骼特征点的特征参数的时间序列,包括骨骼特征点的旋转角度和骨骼特征点的位姿数据。
89.将本次迭代输入的噪声序列输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列进行归一化处理,获得骨骼特征序列,具体方式为,将本次迭代输入的噪声序列输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列的骨骼特征进行归一化处理,获得骨骼特征序列。
90.将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列,具体方式为,基于骨骼特征序列,设置查询特征、键特征和值特征,经多头注意力层对查询特征、键特征和值特征进行多头注意力计算,得到骨骼注意力特征序列。
91.将骨骼注意力特征序列输入第二骨骼自适应层,经第二骨骼自适应层对骨骼注意力特征序列进行骨骼还原,得到预测动作序列,具体方式为,将骨骼注意力特征序列输入第二骨骼自适应层,经第二骨骼自适应层对统一特征维度的骨骼注意力特征序列进行骨骼特征还原,得到预测动作序列。
92.示例性地,将本次迭代输入的噪声序列x
t
输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列x
t
的骨骼特征(t骨骼结构)进行归一化处理,获得骨骼特征序列x
t’,基于骨骼特征序列x
t’,设置查询特征q、键特征k和值特征v,经多头注意力层对查询特征q、键特征k和值特征v进行多头注意力计算,得到骨骼注意力特征序列x
t”,将骨骼注意力特征序列x
t”输入第二骨骼自适应层,经第二骨骼自适应层对统一特征维度的骨骼注意力特征序列x
t”进行骨骼特征还原,得到预测动作序列
93.将本次迭代输入的噪声序列输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列进行归一化处理,获得骨骼特征序列;将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列;将骨骼注意力特征序列输入第二骨骼自适应层,经第二骨骼自适应层对骨骼注意力特征序列进行骨骼还原,得到预测动作序列。提升了后续动作生成的针对性,提升了目标动作序列的丰富性,同时,避免了人工设定骨骼归一化规则,提升了效率且降低了成本。
94.可选地,在将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列之前,还包括如下具体步骤:
95.获得预设的噪声强度特征序列;
96.将骨骼特征序列与噪声强度特征序列相加,获得更新的骨骼特征序列。
97.目前,多头注意力层对于特征序列进行多头注意力计算,需要特征序列标注经过与位置特征序列的相加处理,序列位置对齐后,再进行计算,保证多头注意力计算的准确度,保证预测动作序列的准确度。由于本说明书实施例中,是对每次迭代的噪声序列不断去噪,因而,在输入多头注意力层之前,可以将骨骼特征序列与噪声强度特征序列相加,使得多头注意力层基于当前迭代的噪声序列对应的噪声强度特征,更准确地预测得到预测动作序列。
98.噪声强度特征序列为预先设定的,噪声强度特征序列表征了当前去噪处理的迭代次数,噪声强度特征序列与对动作生成模型进行预训练过程中添加噪声的迭代次数对应。例如,当前迭代次数为第n次,对噪声强度特征序列为当前去噪处理的迭代次数的特征序列step_n。
99.示例性地,获得预设的噪声强度特征序列step_t,将骨骼特征序列x
t’与噪声强度特征序列step_n相加,获得更新的骨骼特征序列x
t’。
100.获得预设的噪声强度特征序列,将骨骼特征序列与噪声强度特征序列相加,获得更新的骨骼特征序列。提升了预测动作序列的准确度,进而提升了下一次迭代输入的噪声序列的准确度,提升了目标动作序列的生成准确度。
101.可选地,动作生成模型还包括编码器;
102.对应地,在将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列之前,还包括如下具体步骤:
103.获取指定引导信号;
104.将指定引导信号输入编码器,经编码器对指定引导信号进行特征编码,得到引导特征向量;
105.对应地,将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列,包括如下具体步骤:
106.将骨骼特征序列和引导特征向量输入多头注意力层,经多头注意力层对骨骼特征序列和引导特征向量进行多头注意力计算,得到骨骼注意力特征序列。
107.编码器为具有多模态特征提取功能和多头注意力机制的神经网络模型的编码器,例如,transformer模型的编码器和bert模型的编码器。
108.指定引导信号为目标动作对应的引导信号,包括文本格式的指定引导文本、音频格式的指定引导音频和图像格式的指定引导图像等多模态信息。例如,指定引导文本为“前滚翻”,指定引导图像为体操运动员前滚翻的视频。引导特征向量为指定引导信号对应的多模态特征向量。
109.将骨骼特征序列和引导特征向量输入多头注意力层,经多头注意力层对骨骼特征序列和引导特征向量进行多头注意力计算,得到骨骼注意力特征序列,具体方式为,将骨骼特征序列和引导特征向量输入多头注意力层,基于骨骼特征序列,确定查询特征,基于引导特征向量,确定键特征和值特征,经多头注意力层对查询特征、键特征和值特征进行多头注意力计算,得到骨骼注意力特征序列。
110.示例性地,获取指定引导文本text,将指定引导文本text输入transformer模型的编码器,经transformer模型的编码器对指定引导信号text进行特征编码,得到引导特征向量embedding_text,将骨骼特征序列x
t’和引导特征向量embedding_text输入多头注意力层,基于骨骼特征序列x
t’,确定查询特征q,基于引导特征向量embedding_text,确定键特征k和值特征v,经多头注意力层对查询特征q、键特征k和值特征v进行多头注意力计算,得到骨骼注意力特征序列x
t”。
111.获取指定引导信号;将指定引导信号输入编码器,经编码器对指定引导信号进行特征编码,得到引导特征向量;将骨骼特征序列和引导特征向量输入多头注意力层,经多头注意力层对骨骼特征序列和引导特征向量进行多头注意力计算,得到骨骼注意力特征序列。基于编码器引入了指定引导特征,来引导得到骨骼注意力特征序列,使得推理生成过程中加入了指定生成对应动作序列的功能,提升了目标动作序列的针对性,同时,使得动作生成过程更具丰富性,得到更丰富的目标动作序列。
112.可选地,在对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列之前,还包括如下具体步骤:
113.接收用户输入的指定帧的目标骨骼位姿数据;
114.将预测动作序列中指定帧的骨骼位姿数据替换为目标骨骼位姿数据,得到更新的预测动作序列。
115.指定帧为预测动作序列中指定的动作帧。目标骨骼位姿数据为指定帧中虚拟对象
的骨骼特征点的位姿特征参数,包括骨骼特征点的旋转角度和骨骼特征点的位置参数。
116.示例性地,接收用户输入的第2帧的目标骨骼位姿数据为:{头部:位置(x1,y1,z1),旋转角度:(α1,β1,γ1);脊椎部位:位置(x2,y2,z2),旋转角度:(α2,β2,γ2)
……
右脚:位置(x7,y7,z7),旋转角度:(α7,β7,γ7)},将预测动作序列中第2帧的骨骼位姿数据{头部:位置(x8,y8,z8),旋转角度:(α8,β8,γ8);脊椎部位:位置(x9,y9,z9),旋转角度:(α9,β9,γ9)
……
右脚:位置(x14,y14,z14),旋转角度:(α
14
,β
14
,γ
14
)}替换为目标骨骼位姿数据,得到更新的预测动作序列
117.接收用户输入的指定帧的目标骨骼位姿数据;将预测动作序列中指定帧的骨骼位姿数据替换为目标骨骼位姿数据,得到更新的预测动作序列。实现了在推理生成的过程中对最细粒度上直接对指定帧对应的动作进行替换,增强了生成的目标动作序列的针对性。
118.此外,在本说明书的另一种实现方式中,用户还可以指定一小段动作帧,一般情况下可以是动作的开始阶段和结束阶段,而中间阶段的动作帧需要由模型预测生成,因此,输入的序列可以由几小段拼接而成,例如,输入的序列由a、b、c三小段拼接而成,即输入的序列为[a,b,c],其中,a、c是用户指定的,而b是未知的,则在第一次迭代解码时(对应噪声强度t),设置b_t为完全的噪声,输入序列[a,b_t,c]至动作生成模型,通过模型预测得到b_t-1;再进行第二次迭代解码,输入序列[a,b_t-1,c]至动作生成模型,通过模型预测得到b_t-2;迭代直至得到b_0,[a,b_0,c]即是生成的动作序列。
[0119]
可选地,在对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列之前,还包括如下具体步骤:
[0120]
接收用户输入的骨骼指定部位的目标部位位姿数据;
[0121]
将预测动作序列中各帧骨骼指定部位的位姿数据替换为目标部位位姿数据,得到更新的预测动作序列。
[0122]
目标部位位姿数据为虚拟对象的指定骨骼特征点的位姿特征参数,包括指定骨骼特征点的旋转角度和指定骨骼特征点的位置参数。
[0123]
示例性地,接收用户输入的头部和脊椎部位的目标部位位姿数据为:{头部:位置(x1,y1,z1),旋转角度:(α1,β1,γ1);脊椎部位:位置(x2,y2,z2),旋转角度:(α2,β2,γ2)},将预测动作序列中各帧骨骼指定部位的位姿数据:第1帧:{头部:位置(x1,y1,z1),旋转角度:(α1,β1,γ1);脊椎部位:位置(x2,y2,z2),旋转角度:(α2,β2,γ2)
……
右脚:位置(x7,y7,z7),旋转角度:(α7,β7,γ7)};第2帧:{头部:位置(x8,y8,z8),旋转角度:(α8,β8,γ8);脊椎部位:位置(x9,y9,z9),旋转角度:(α9,β9,γ9)
……
右脚:位置(x14,y14,z14),旋转角度:(α
14
,β
14
,γ
14
)};第3帧:{头部:位置(x15,y15,z15),旋转角度:(α
15
,β
15
,γ
15
);脊椎部位:位置(x16,y16,z16),旋转角度:(α
16
,β
16
,γ
16
)
……
右脚:位置(x21,y21,z21),旋转角度:(α
21
,β
21
,γ
21
)}替换为目标部位位姿数据,得到更新的预测动作序列
[0124]
接收用户输入的骨骼指定部位的目标部位位姿数据;将预测动作序列中各帧骨骼指定部位的位姿数据替换为目标部位位姿数据,得到更新的预测动作序列。实现了在推理生成的过程中对最细粒度上直接对骨骼指定部位进行替换,增强了生成的目标动作序列的针对性。
[0125]
可选地,在将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代
解码,得到目标动作序列之前,还包括:
[0126]
获取样本动作序列;
[0127]
对样本动作序列进行多次加噪处理,获得多个样本噪声序列;
[0128]
将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个;
[0129]
基于预测动作序列和样本动作序列,计算损失值;
[0130]
基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型。
[0131]
样本动作序列为预先构建的虚拟对象的肢体关键点的特征参数的样本时间序列。样本动作序列可以为直接构建的,也可以为从视频片段中进行提取得到的,在此不作限定。
[0132]
待训练动作生成模型的解码器与上述说明书实施例中的动作生成模型的解码器保持一致,在此不再赘述。
[0133]
需要说明的是,样本噪声序列可以为对样本动作序列添加高斯噪声、瑞利噪声、伽马噪声、均匀分布噪声、指数分布噪声和脉冲噪声中的至少一种后得到噪声序列,在此不作限定。
[0134]
训练停止条件为预先设定的迭代训练停止条件,可以为预设迭代训练次数,也可以预设损失值阈值。
[0135]
基于预测动作序列和样本动作序列,计算损失值,具体方式为,基于预测动作序列和样本动作序列,利用损失值计算公式,计算得到损失值。更进一步地,损失值计算公式可以为交叉熵损失(crossloss)计算公式或者评价损失(diceloss)计算公式,损失值对应为交叉熵损失或者评价损失。
[0136]
基于损失值调整解码器的模型参数,具体方式为,利用梯度更新法,根据损失值,调整解码器的模型参数。
[0137]
示例性地,获取样本动作序列y0,对样本动作序列y0进行t次加噪处理,获得多个样本噪声序列y1……yt
,将多个样本噪声序列中的第一样本噪声序列y
t
输入ddpm模型的解码器,经解码器对第一样本噪声序列y
t
进行动作预测,获得预测动作序列基于预测动作序列和样本动作序列y0,利用交叉熵损失值计算公式,计算得到交叉熵损失值,利用梯度更新法,根据交叉熵损失值,调整ddpm模型的解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列y
τ
输入ddpm模型的解码器,经ddpm模型的解码器对第一样本噪声序列y
τ
进行动作预测,获得预测动作序列的步骤,直至达到预设迭代次数t,获得训练后的ddpm模型。
[0138]
获取样本动作序列;对样本动作序列进行多次加噪处理,获得多个样本噪声序列;将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个;基于预测动作序列和样本动作序列,计算损失值;基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动
作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型。
[0139]
可选地,在将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器之前,还包括如下具体步骤:
[0140]
获取多个样本引导信号;
[0141]
将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对第一样本引导信号进行特征编码,得到第一引导特征向量,其中,第一样本引导信号为多个样本引导信号中的任一个;
[0142]
对应地,将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得第一预测动作序列,包括如下具体步骤:
[0143]
将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器基于第一引导特征向量,对第一样本噪声序列进行动作预测,获得预测动作序列;
[0144]
对应地,在基于第一预测动作序列和样本动作序列,计算损失值之后,还包括如下具体步骤:
[0145]
基于损失值调整编码器的模型参数,并返回执行将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经编码器对第一样本引导信号进行特征编码,得到第一引导特征向量将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对第一样本引导信号进行特征编码,得到第一引导特征向量的步骤,直至达到训练停止条件,获得训练后的动作生成模型。
[0146]
样本引导信号为预先构建的样本动作对应的引导信号,包括文本格式的样本引导文本、音频格式的样本引导音频和图像格式的样本引导图像等多模态信息。
[0147]
待训练动作生成模型的编码器与上述说明书实施例中的动作生成模型的编码器保持一致,在此不再赘述。
[0148]
训练停止条件为预先设定的迭代训练停止条件,可以为预设迭代训练次数,也可以预设损失值阈值。
[0149]
将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器基于第一引导特征向量,对第一样本噪声序列进行动作预测,获得预测动作序列,具体方式为,将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器基于第一引导特征向量,利用多头注意力机制,对第一样本噪声序列进行动作预测,获得预测动作序列。
[0150]
基于损失值调整编码器的模型参数,具体方式为,利用梯度更新法,根据损失值,调整编码器的模型参数。
[0151]
示例性地,获取多个样本引导信号zn,将多个样本噪声序列zn中的第一样本噪声序列z1输入ddpm模型的编码器,经ddpm模型的编码器基于第一引导特征向量z1,利用多头注意力机制,对第一样本噪声序列z1进行动作预测,获得预测动作序列基于预测动作序列和样本动作序列y0,利用交叉熵损失值计算公式,计算得到交叉熵损失值,利用梯度更新法,根据交叉熵损失值,调整ddpm模型的编码器的模型参数,并返回执行将多个样本
引导信号中的第一样本引导信号zτ输入ddpm模型的编码器,经ddpm模型的编码器对第一样本引导信号zτ进行特征编码,得到第一引导特征向量的步骤,直至达到预设迭代次数t,获得训练后的ddpm模型。
[0152]
获取多个样本引导信号;将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对第一样本引导信号进行特征编码,得到第一引导特征向量,其中,第一样本引导信号为多个样本引导信号中的任一个;将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器基于第一引导特征向量,对第一样本噪声序列进行动作预测,获得预测动作序列;基于损失值调整编码器的模型参数,并返回执行将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经编码器对第一样本引导信号进行特征编码,得到第一引导特征向量将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对第一样本引导信号进行特征编码,得到第一引导特征向量的步骤,直至达到训练停止条件,获得训练后的动作生成模型。通过对编码器进行迭代预训练,保证了编码器的编码性能,提升了编码得到第一引导特征向量的准确度,保证了后续根据指定引导信号生成更具针对性和丰富性的目标动作序列。
[0153]
可选地,在获得训练后的动作生成模型之后,还包括如下具体步骤:
[0154]
接收用户输入的指定动作序列;
[0155]
对指定动作序列进行拆分,得到多个动作子序列;
[0156]
对多个动作子序列中的第一动作子序列进行多次加噪处理;
[0157]
基于加噪处理后的第一动作子序列和多个动作子序列中的第二动作子序列,构建目标噪声序列;
[0158]
将目标噪声序列输入动作生成模型的解码器,经解码器对目标噪声序列进行动作预测,获得第二预测动作序列;
[0159]
基于第二预测动作序列和指定动作序列,计算损失值;
[0160]
基于损失值调整解码器的模型参数。
[0161]
指定动作序列为虚拟对象的肢体关键点的指定特征参数的时间序列。指定动作序列根据时间可以划分为多个动作子序列,任一动作子序列包括至少一个动作帧。第一动作子序列和第二动作子序列为对指定动作序列拆分得到,其中,第一动作子序列包括在模型微调过程中用户不太关系的动作帧,第二动作子序列包括的是用户特定的参考动作帧,例如是指定动作序列的开始阶段和/或结束阶段的子序列。
[0162]
对指定动作序列进行拆分,得到多个动作子序列,具体方式为,对指定动作序列进行时间拆分,得到多个动作子序列。
[0163]
基于加噪处理后的第一动作子序列和第二动作子序列,构建目标噪声序列,具体方式为,对加噪处理后的第一动作子序列和第二动作子序列按时间进行拼接,构建目标噪声序列。
[0164]
将目标噪声序列输入动作生成模型的解码器,经解码器对目标噪声序列进行动作预测,获得第二预测动作序列,具体方式为,将目标噪声序列输入动作生成模型的解码器,利用多头注意力机制,经解码器对目标噪声序列进行动作预测,获得第二预测动作序列。
[0165]
示例性地,接收用户输入的指定动作序列w0;对指定动作序列w0进行时间拆分,得
到20个动作子序列w
0-w
20
;对20个动作子序列中的第一动作子序列wn进行多次加噪处理;对加噪处理后的第一动作子序列w
n’和第二动作子序列wm进行时间拼接,构建目标噪声序列w
n”;将目标噪声序列w
n”输入ddpm模型的解码器,经解码器对目标噪声序列w
n”进行动作预测,获得第二预测动作序列wn”’
;基于第二预测动作序列wn”’
和指定动作序列w0,计算交叉熵损失值,利用梯度更新法,基于交叉熵损失值调整ddpm模型的解码器的模型参数。
[0166]
接收用户输入的指定动作序列;对指定动作序列进行拆分,得到多个动作子序列;对多个动作子序列中的第一动作子序列进行多次加噪处理;基于加噪处理后的第一动作子序列和第二动作子序列,构建目标噪声序列;将目标噪声序列输入动作生成模型的解码器,经解码器对目标噪声序列进行动作预测,获得第二预测动作序列;基于第二预测动作序列和指定动作序列,计算损失值;基于损失值调整解码器的模型参数。提升了模型对于动作序列的补全功能,提升了动作生成的适应度,提升了得到的目标动作序列的准确度。
[0167]
参见图2,图2示出了本说明书一个实施例提供的一种虚拟人物动画生成方法的流程图,具体包括如下步骤。
[0168]
步骤202:接收前端发送的虚拟人物动画生成请求,其中,虚拟人物动画生成请求携带噪声序列;
[0169]
步骤204:将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出人体肢体动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本人体肢体动作序列进行加噪得到;
[0170]
步骤206:基于人体肢体动作序列,生成虚拟人物动画发送至前端,以在前端显示虚拟人物动画。
[0171]
前端为具有动画显示功能和数据交互功能的应用前端。
[0172]
步骤204已经在上述图1实施例中详细说明,在此不再赘述。
[0173]
基于人体肢体动作序列,生成虚拟人物动画,具体方式为,基于人体肢体动作序列,按照目标动作序列的时间顺序,控制预先生成的虚拟人物模型进行对应运动,生成虚拟人物动画。预设的虚拟人物模型为利用人物建模应用预先生成的,例如,人物网格模型。
[0174]
本说明书实施例中,接收前端发送的虚拟人物动画生成请求,其中,虚拟人物动画生成请求携带噪声序列;将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出人体肢体动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本人体肢体动作序列进行加噪得到;基于人体肢体动作序列,生成虚拟人物动画发送至前端,以在前端显示虚拟人物动画。将随机采样得到的噪声序列输入动作生成模型,重复进行去噪并进行下一次迭代,通过多次迭代解码得到目标动作序列,这样的推理生成方法可以从零生成动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练和动作生成,不与样本产生强关联,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列,进而生成更具针对性和丰富性的虚拟人物动画,提升了用户体验。
[0175]
可选地,在步骤204之前,还包括如下具体步骤:
[0176]
接收用户发送的指定引导信号,其中,指定引导信号包括指定引导文本和/或指定
引导音频;
[0177]
对应地,步骤204包括如下具体步骤:
[0178]
将指定引导信号和噪声序列输入动作生成模型,经动作生成模型中的编码器获得指定引导信号对应的引导特征向量,经动作生成模型中解码器对引导特征向量和噪声序列的多次迭代解码,得到人体肢体动作序列。
[0179]
指定引导文本为目标动作对应的引导文本,指定引导音频为目标动作对应的引导音频。指定引导文本和指定引导音频可以为预先获取后发送的,也可以为用户直接输入并发送的,在此不作限定。
[0180]
将指定引导信号和噪声序列输入动作生成模型,经动作生成模型中的编码器获得指定引导信号对应的引导特征向量,经动作生成模型中解码器对引导特征向量和噪声序列的多次迭代解码,得到人体肢体动作序列,具体方式为,将指定引导信号输入动作生成模型的编码器,对指定引导信号进行特征编码,得到引导特征向量,将噪声序列输入动作生成模型的解码器,经动作生成模型中解码器利用多头注意力机制,对噪声序列和引导特征向量进行多次迭代解码,得到人体肢体动作序列。
[0181]
示例性地,将指定引导文本text和指定引导音频audio输入ddpm模型的编码器,对指定引导文本text和指定引导音频audio进行特征编码,得到引导特征向量embedding,将噪声序列x
t
输入ddpm模型的解码器,ddpm模型的解码器利用多头注意力机制对噪声序列x
t
和引导特征向量embedding进行多次迭代解码,得到人体肢体动作序列m0。
[0182]
接收用户发送的指定引导信号,其中,指定引导信号包括指定引导文本和/或指定引导音频;将指定引导信号和噪声序列输入动作生成模型,经动作生成模型中的编码器获得指定引导信号对应的引导特征向量,经动作生成模型中解码器对引导特征向量和噪声序列的多次迭代解码,得到人体肢体动作序列。利用编码器对指定引导信号进行编码,引入了多模态的指定引导特征,来引导解码器多次迭代解码,得到人体肢体动作序列,使得推理生成过程中加入了指定生成对应人体肢体动作序列的功能,提升了人体肢体动作序列的针对性,同时,使得动作生成过程更具丰富性,得到更丰富的人体肢体动作序列,得到更丰富。
[0183]
可选地,在步骤204之后,还包括如下具体步骤:
[0184]
获取当前场景的场景信息;
[0185]
根据场景信息,利用动作生成模型,对人体肢体动作序列进行调整,得到调整后的人体肢体动作序列。
[0186]
场景信息为虚拟人物动画中的动画场景信息,包括场景人物信息、场景动物信息、场景地理信息、场景渲染信息、场景声音信息、场景氛围信息等。
[0187]
根据场景信息,利用动作生成模型,对人体肢体动作序列进行调整,得到调整后的人体肢体动作序列,具体方式为,对人体肢体动作序列进行加噪处理,将场景信息和加噪后的人体肢体动作序列输入动作生成模型,经动作生成模型的编码器获的场景信息对应的引导特征向量,经动作生成模型中解码器对引导特征向量和加噪后的人体肢体动作序列进行多次迭代解码,得到调整后的人体肢体动作序列,更进一步地,将场景信息输入动作生成模型的编码器,对场景信息进行特征编码,得到引导特征向量,将加噪后的人体肢体动作序列输入动作生成模型的解码器,经动作生成模型中解码器利用多头注意力机制,对加噪后的人体肢体动作序列和引导特征向量进行多次迭代解码,得到调整后的人体肢体动作序列。
需要说明的是,相比于噪声序列,对人体肢体动作序列添加的噪声强度较低,保证基于人体肢体动作序列可以实现动作生成且不会过度失真。
[0188]
示例性地,获取当前游戏场景的场景信息sceneinfo,对虚拟游戏角色对应的人体肢体动作序列进行加噪处理,将场景信息sceneinfo输入ddpm模型的编码器,对场景信息sceneinfo进行特征编码,获得对应的引导特征向量embedding_sceneinfo,将加噪后的人体肢体动作序列m0’
输入ddpm模型的解码器,基于利用多头注意力机制,对场景信息对应的引导特征向量embedding_sceneinfo和加噪后的人体肢体动作序列m0’
,进行多次迭代解码,得到调整后的人体肢体动作序列m
0”,基于调整后的人体肢体动作序列m
0”,生成虚拟游戏角色的游戏动画。
[0189]
获取当前场景的场景信息;根据场景信息,利用动作生成模型,对人体肢体动作序列进行调整,得到调整后的人体肢体动作序列。在获取到当前场景的场景信息后,利用动作生成模型再进行推理,使得人体肢体动作序列可以根据场景信息进行自适应调整,提升了人体肢体动作序列与当前场景之间的关联性,提升了虚拟人物动画与当前场景之间的关联性,提升了虚拟人物动画的准确度,提升了用户体验。
[0190]
参见图3,图3示出了本说明书一个实施例提供的一种动作生成模型的数据处理方法的流程图,应用于云侧设备,具体包括如下步骤。
[0191]
步骤302:获取样本动作序列。
[0192]
步骤304:对样本动作序列进行多次加噪处理,获得多个样本噪声序列。
[0193]
步骤306:将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个。
[0194]
步骤308:基于预测动作序列和样本动作序列,计算损失值。
[0195]
步骤310:基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型;
[0196]
步骤312:将动作生成模型的模型参数发送至端侧设备。
[0197]
步骤302至步骤310已经在上述图1实施例中详细说明,在此不再赘述。
[0198]
云侧设备为提供模型训练功能的网络云侧设备,为一种虚拟设备。端侧设备为具有数据存储和模型执行的终端设备,可以为具有动作生成功能的软件的客户端,也可以为具有动作生成功能的软件的服务端。
[0199]
本说明书实施例中,获取样本动作序列;对样本动作序列进行多次加噪处理,获得多个样本噪声序列;将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个;基于预测动作序列和样本动作序列,计算损失值;基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型;将动作生成模型的模型参数发送至端侧设备。将加噪后的样本噪声序列输入动作生成模型,重
复进行加噪并进行下一次迭代,通过多次迭代解码来对解码器进行迭代预训练,这样的推理预训练得到的动作生成模型不依赖于具体动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练,不与样本产生强关联,在满足了效率和成本要求的同时,保证了后续可以生成更具针对性和丰富性的目标动作序列。
[0200]
下述结合附图4,以本说明书提供的虚拟人物动画生成方法在动画电影制作的应用为例,对所述虚拟人物动画生成方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种应用于动画电影制作的虚拟人物动画生成方法的处理过程流程图,具体包括如下步骤。
[0201]
步骤402:获取样本动作序列;
[0202]
步骤404:对样本动作序列进行多次加噪处理,获得多个样本噪声序列;
[0203]
步骤406:将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得第一预测动作序列;
[0204]
步骤408:基于第一预测动作序列和样本动作序列,计算损失值;
[0205]
步骤410:基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器的步骤,直至达到训练停止条件,获得训练后的动作生成模型;
[0206]
步骤412:获取随机采样得到的噪声序列;
[0207]
步骤414:将本次迭代输入的噪声序列输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列进行归一化处理,获得骨骼特征序列;
[0208]
步骤416:将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列;
[0209]
步骤418:将骨骼注意力特征序列输入第二骨骼自适应层,经第二骨骼自适应层对骨骼注意力特征序列进行骨骼还原,得到预测动作序列;
[0210]
步骤420:对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列;
[0211]
步骤422:经动作生成模型中解码器的多次迭代解码,得到目标动作序列;
[0212]
步骤424:基于目标动作序列,控制预先生成的三维虚拟人物模型进行对应运动,生成虚拟人物动画电影片段。
[0213]
本说明书实施例中,将随机采样得到的噪声序列输入动作生成模型,重复进行去噪并进行下一次迭代,通过多次迭代解码得到目标动作序列,这样的推理生成方法可以从零生成动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练和动作生成,不与样本产生强关联,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列,进而实现对动画电影中的三维虚拟人物模型更具针对性和丰富性的驱动控制,得到了更灵活准确的虚拟人物动画电影片段,提升了用户体验。
[0214]
参见图5,图5示出了本说明书一个实施例提供的一种动作生成方法的数据处理示意图。
[0215]
如图5所示,数据处理过程包括降噪过程和扩散过程。以降噪过程为例,将噪声序列输入动作生成模型的解码器,解码得到第1次迭代的噪声序列x(t-1),多次迭代解码后得到最后1次迭代的噪声序列x1,将最后1次迭代的噪声序列x1输入动作生成模型的解码器,
解码得到目标动作序列x0。对于多次迭代解码过程中,任意一次,基于当前迭代的噪声序列xt,进行动作预测,得到预测动作序列xt,基于当前迭代的噪声序列xt和预测动作序列xt,进行分析,得到下一次迭代的噪声序列x(t-1)。扩散过程与降噪过程同理,在此不再赘述。
[0216]
参见图6,图6示出了本说明书一个实施例提供的一种动作生成方法中动作生成模型的结构示意图。
[0217]
如图6所示,将噪声序列输入解码器,将指定引导信号输入编码器。解码器的第一骨骼自适应层对噪声序列进行归一化处理,再经过前馈模块后,分别与噪声强度特征序列和位置特征序列相加,得到更新后的骨骼特征向量,基于骨骼特征向量设置查询特征q、键特征k和值特征v,利用多头注意力层对查询特征q、键特征k和值特征v进行多头注意力计算,得到骨骼注意力特征向量。编码器的嵌入模块对指定引导信号进行嵌入编码后,与位置特征序列相加,输入多头注意力层进行多头注意力计算,得到引导特征向量。将骨骼注意力特征向量设置为查询特征q,将引导特征向量作为键特征k和值特征v,输入下一多头注意力层后,再经过前馈模块,与骨骼注意力特征向量在特征相加模块进行特征相加后,再经过前馈模块输入值第二骨骼自适应层,输出预测动作序列。
[0218]
参见图7,图7示出了本说明书一个实施例提供的一种动作生成方法中骨骼自适应模块的数据处理示意图。
[0219]
如图7所示,对特征点旋转角度参数(r0、r1、r2、r3、r4、r5)进行正向运动学计算,得到特征点位置参数(p0、p1、p2、p3、p4、p5),对特征点旋转参数进行矩阵乘法,得到可训练旋转补偿,进而确定特征点旋转角度参数(r0、r1’、r2’、r3’、r4’、r5’),根据旋转不变性(核心特征点在xz平面上的速度、核心特征点在坐标轴y上的角速度和核心特征点在xz平面上的相对高度)得到修正后的特征点位置参数(p0、p1’、p2’、p3’、p4’、p5’),将特征点旋转角度参数和修正后的特征点位置参数分别输入骨骼自适应层的置换模组和增删模组,得到转换后的特征点旋转角度参数(r0、r1”、r2”、r3
”……
、r9”)和特征点位置参数(p0、p1”、p2”、p3
”……
p9”)。
[0220]
参见图8,图8示出了本说明书一个实施例提供的一种虚拟人物动画生成方法的显示示意图。
[0221]
如图8所示,通过基于目标动作序列,控制预设三维虚拟人物肢体进行跑步、行走和直立动作。
[0222]
需要说明的是,上述方法实施例中所涉及的噪声序列、样本动作序列、指定引导信号等信息和数据,均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0223]
与上述方法实施例相对应,本说明书还提供了动作生成装置实施例,图9示出了本说明书一个实施例提供的一种动作生成装置的结构示意图。如图9所示,该装置包括:
[0224]
第一获取模块902,被配置为获取随机采样得到的噪声序列;
[0225]
第一生成模块904,被配置为将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本动作序列进行加噪得到。
[0226]
可选地,第一生成模块904被进一步配置为:
[0227]
基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列;对预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列。
[0228]
可选地,解码器包括第一骨骼自适应层、多头注意力层和第二骨骼自适应层;
[0229]
对应地,第一生成模块904被进一步配置为:
[0230]
将本次迭代输入的噪声序列输入第一骨骼自适应层,经第一骨骼自适应层对噪声序列进行归一化处理,获得骨骼特征序列;将骨骼特征序列输入多头注意力层,经多头注意力层对骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列;将骨骼注意力特征序列输入第二骨骼自适应层,经第二骨骼自适应层对骨骼注意力特征序列进行骨骼还原,得到预测动作序列。
[0231]
可选地,该装置还包括:
[0232]
第一更新模块,被配置为获得预设的噪声强度特征序列;将骨骼特征序列与噪声强度特征序列相加,获得更新的骨骼特征序列。
[0233]
可选地,动作生成模型还包括编码器;
[0234]
对应地,该装置还包括:
[0235]
第一编码模块,被配置为获取指定引导信号;将指定引导信号输入编码器,经编码器对指定引导信号进行特征编码,得到引导特征向量;
[0236]
对应地,第一生成模块904被进一步配置为:
[0237]
将骨骼特征序列和引导特征向量输入多头注意力层,经多头注意力层对骨骼特征序列和引导特征向量进行多头注意力计算,得到骨骼注意力特征序列。
[0238]
可选地,该装置还包括:
[0239]
第二更新模块,被配置为接收用户输入的指定帧的目标骨骼位姿数据;将预测动作序列中指定帧的骨骼位姿数据替换为目标骨骼位姿数据,得到更新的预测动作序列。
[0240]
可选地,该装置还包括:
[0241]
第三更新模块,被配置为接收用户输入的骨骼指定部位的目标部位位姿数据;将预测动作序列中各帧骨骼指定部位的位姿数据替换为目标部位位姿数据,得到更新的预测动作序列。
[0242]
可选地,该装置还包括:
[0243]
第一预训练模块,被配置为获取样本动作序列;对样本动作序列进行多次加噪处理,获得多个样本噪声序列;将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个;基于预测动作序列和样本动作序列,计算损失值;基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型。
[0244]
可选地,该装置还包括:
[0245]
第二编码模块,被配置为获取多个样本引导信号;将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对第一样本引导信号进行
特征编码,得到第一引导特征向量,其中,第一样本引导信号为多个样本引导信号中的任一个;
[0246]
对应地,第一预训练模块被进一步配置为:
[0247]
将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器基于第一引导特征向量,对第一样本噪声序列进行动作预测,获得预测动作序列;
[0248]
对应地,该装置还包括:
[0249]
第二预训练模块,被配置为基于损失值调整编码器的模型参数,并返回执行将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经编码器对第一样本引导信号进行特征编码,得到第一引导特征向量将多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对第一样本引导信号进行特征编码,得到第一引导特征向量的步骤,直至达到训练停止条件,获得训练后的动作生成模型。
[0250]
可选地,该装置还包括:
[0251]
微调模块,被配置为接收用户输入的指定动作序列;对指定动作序列进行拆分,得到多个动作子序列;对多个动作子序列中的第一动作子序列进行多次加噪处理;基于加噪处理后的第一动作子序列和多个动作子序列中的第二动作子序列,构建目标噪声序列;将目标噪声序列输入动作生成模型的解码器,经解码器对目标噪声序列进行动作预测,获得第二预测动作序列;基于第二预测动作序列和指定动作序列,计算损失值;基于损失值调整解码器的模型参数。
[0252]
本说明书实施例中,获取随机采样得到的噪声序列;将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本动作序列进行加噪得到。将随机采样得到的噪声序列输入动作生成模型,重复进行去噪并进行下一次迭代,通过多次迭代解码得到目标动作序列,这样的推理生成方法可以从零生成动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练和动作生成,不与样本产生强关联,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列。
[0253]
上述为本实施例的一种动作生成装置的示意性方案。需要说明的是,该动作生成装置的技术方案与上述的动作生成方法的技术方案属于同一构思,动作生成装置的技术方案未详细描述的细节内容,均可以参见上述动作生成方法的技术方案的描述。
[0254]
与上述方法实施例相对应,本说明书还提供了虚拟人物动画生成装置实施例,图10示出了本说明书一个实施例提供的一种虚拟人物动画生成装置的结构示意图。如图10所示,该装置包括:
[0255]
接收模块1002,被配置为接收前端发送的虚拟人物动画生成请求,其中,虚拟人物动画生成请求携带噪声序列;
[0256]
第二生成模块1004,被配置为将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出人体肢体动
作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本人体肢体动作序列进行加噪得到;
[0257]
第三生成模块1006,被配置为基于人体肢体动作序列,生成虚拟人物动画发送至前端,以在前端显示虚拟人物动画。
[0258]
可选地,该装置还包括:
[0259]
接收模块,被配置为接收用户发送的指定引导信号,其中,指定引导信号包括指定引导文本和/或指定引导音频;对应地,第二生成模块1004被进一步配置为:
[0260]
将指定引导信号和噪声序列输入动作生成模型,经动作生成模型中的编码器获得指定引导信号对应的引导特征向量,经动作生成模型中解码器对引导特征向量和噪声序列的多次迭代解码,得到人体肢体动作序列。
[0261]
可选地,该装置还包括:
[0262]
调整模块,被配置为获取当前场景的场景信息;根据场景信息,利用动作生成模型,对人体肢体动作序列进行调整,得到调整后的人体肢体动作序列。
[0263]
本说明书实施例中,接收前端发送的虚拟人物动画生成请求,其中,虚拟人物动画生成请求携带噪声序列;将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出人体肢体动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本人体肢体动作序列进行加噪得到;基于人体肢体动作序列,生成虚拟人物动画发送至前端,以在前端显示虚拟人物动画。将随机采样得到的噪声序列输入动作生成模型,重复进行去噪并进行下一次迭代,通过多次迭代解码得到目标动作序列,这样的推理生成方法可以从零生成动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练和动作生成,不与样本产生强关联,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列,进而生成更具针对性和丰富性的虚拟人物动画,提升了用户体验。
[0264]
上述为本实施例的一种虚拟人物动画生成装置的示意性方案。需要说明的是,该虚拟人物动画生成装置的技术方案与上述的虚拟人物动画生成方法的技术方案属于同一构思,虚拟人物动画生成装置的技术方案未详细描述的细节内容,均可以参见上述虚拟人物动画生成方法的技术方案的描述。
[0265]
与上述方法实施例相对应,本说明书还提供了动作生成模型的数据处理装置实施例,图11示出了本说明书一个实施例提供的一种动作生成模型的数据处理装置的结构示意图。如图11所示,该装置包括:
[0266]
第二获取模块1102,被配置为获取样本动作序列;
[0267]
加噪模块1104,被配置为对样本动作序列进行多次加噪处理,获得多个样本噪声序列;
[0268]
第四生成模块1106,被配置为将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个;
[0269]
计算模块1108,被配置为基于预测动作序列和样本动作序列,计算损失值;
[0270]
训练模块1110,被配置为基于损失值调整解码器的模型参数,并返回执行将多个
样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型;
[0271]
发送模块1112,被配置为将动作生成模型的模型参数发送至端侧设备。
[0272]
本说明书实施例中,获取样本动作序列;对样本动作序列进行多次加噪处理,获得多个样本噪声序列;将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列,其中,第一样本噪声序列为多个样本噪声序列中的任一个;基于预测动作序列和样本动作序列,计算损失值;基于损失值调整解码器的模型参数,并返回执行将多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经解码器对第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型;将动作生成模型的模型参数发送至端侧设备。将加噪后的样本噪声序列输入动作生成模型,重复进行加噪并进行下一次迭代,通过多次迭代解码来对解码器进行迭代预训练,这样的推理预训练得到的动作生成模型不依赖于具体动作序列,无需基于给定的动作帧来进行动作补全,由于使用噪声进行预训练,不与样本产生强关联,在满足了效率和成本要求的同时,保证了后续可以生成更具针对性和丰富性的目标动作序列。
[0273]
上述为本实施例的一种动作生成模型的数据处理装置的示意性方案。需要说明的是,该动作生成模型的数据处理装置的技术方案与上述的动作生成模型的数据处理方法的技术方案属于同一构思,动作生成模型的数据处理装置的技术方案未详细描述的细节内容,均可以参见上述动作生成模型的数据处理方法的技术方案的描述。
[0274]
图12示出了本说明书一个实施例提供的一种计算设备1200的结构框图。该计算设备1200的部件包括但不限于存储器1210和处理器1220。处理器1220与存储器1210通过总线1230相连接,数据库1250用于保存数据。
[0275]
计算设备1200还包括接入设备1240,接入设备1240使得计算设备1200能够经由一个或多个网络1260通信。这些网络的示例包括pstn(public switched telephone network,公用交换电话网)、lan(local area network,局域网)、wan(wide area network,广域网)、pan(personal area network,个域网)或诸如因特网的通信网络的组合。接入设备1240可以包括有线或无线的任何类型的网络接口(例如,nic(network interface controller,网络接口卡))中的一个或多个,诸如ieee802.12wlan(wireless local area networks,无线局域网)无线接口、wi-max(world interoperability for microwave access,全球微波互联接入)接口、以太网接口、usb(universal serial bus,通用串行总线)接口、蜂窝网络接口、蓝牙接口、nfc(near field communication,近场通信)接口,等等。
[0276]
在本说明书的一个实施例中,计算设备1200的上述部件以及图12中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图12所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0277]
计算设备1200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动
电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1200还可以是移动式或静止式的服务器。
[0278]
其中,处理器1220用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的步骤。
[0279]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的动作生成方法、虚拟人物动画生成方法和动作生成模型的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的技术方案的描述。
[0280]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的步骤。
[0281]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的动作生成方法、虚拟人物动画生成方法和动作生成模型的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的技术方案的描述。
[0282]
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的步骤。
[0283]
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的动作生成方法、虚拟人物动画生成方法和动作生成模型的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述动作生成方法、虚拟人物动画生成方法或者动作生成模型的数据处理方法的技术方案的描述。
[0284]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0285]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0286]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的
限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
[0287]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0288]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种动作生成方法,包括:获取随机采样得到的噪声序列;将所述噪声序列输入动作生成模型,经所述动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,所述迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,所述动作生成模型基于样本噪声序列训练得到,所述样本噪声序列为对样本动作序列进行加噪得到。2.根据权利要求1所述的方法,所述对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,包括:基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列;对所述预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列。3.根据权利要求2所述的方法,所述解码器包括第一骨骼自适应层、多头注意力层和第二骨骼自适应层;所述基于本次迭代输入的噪声序列进行动作预测,获得预测动作序列,包括:将本次迭代输入的噪声序列输入所述第一骨骼自适应层,经所述第一骨骼自适应层对所述噪声序列进行归一化处理,获得骨骼特征序列;将所述骨骼特征序列输入所述多头注意力层,经所述多头注意力层对所述骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列;将所述骨骼注意力特征序列输入所述第二骨骼自适应层,经所述第二骨骼自适应层对所述骨骼注意力特征序列进行骨骼还原,得到预测动作序列。4.根据权利要求3所述的方法,在所述将所述骨骼特征序列输入所述多头注意力层,经所述多头注意力层对所述骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列之前,还包括:获得预设的噪声强度特征序列;将所述骨骼特征序列与所述噪声强度特征序列相加,获得更新的所述骨骼特征序列。5.根据权利要求3所述的方法,所述动作生成模型还包括编码器;在所述将所述骨骼特征序列输入所述多头注意力层,经所述多头注意力层对所述骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列之前,还包括:获取指定引导信号;将所述指定引导信号输入所述编码器,经所述编码器对所述指定引导信号进行特征编码,得到引导特征向量;所述将所述骨骼特征序列输入所述多头注意力层,经所述多头注意力层对所述骨骼特征序列进行多头注意力计算,得到骨骼注意力特征序列,包括:将所述骨骼特征序列和所述引导特征向量输入所述多头注意力层,经所述多头注意力层对所述骨骼特征序列和所述引导特征向量进行多头注意力计算,得到骨骼注意力特征序列。6.根据权利要求2所述的方法,在所述对所述预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列之前,还包括:接收用户输入的指定帧的目标骨骼位姿数据;
将所述预测动作序列中所述指定帧的骨骼位姿数据替换为所述目标骨骼位姿数据,得到更新的所述预测动作序列。7.根据权利要求2所述的方法,在所述对所述预测动作序列和本次迭代输入的噪声序列进行分析,获得下一次迭代输入的噪声序列之前,还包括:接收用户输入的骨骼指定部位的目标部位位姿数据;将所述预测动作序列中各帧骨骼指定部位的位姿数据替换为所述目标部位位姿数据,得到更新的所述预测动作序列。8.根据权利要求1-7中任一项所述的方法,在所述将所述噪声序列输入动作生成模型,经所述动作生成模型中解码器的多次迭代解码,得到目标动作序列之前,还包括:获取样本动作序列;对所述样本动作序列进行多次加噪处理,获得多个样本噪声序列;将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经所述解码器对所述第一样本噪声序列进行动作预测,获得第一预测动作序列,其中,所述第一样本噪声序列为所述多个样本噪声序列中的任一个;基于所述第一预测动作序列和所述样本动作序列,计算损失值;基于所述损失值调整所述解码器的模型参数,并返回执行所述将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经所述解码器对所述第一样本噪声序列进行动作预测,获得第一预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型。9.根据权利要求8所述的方法,在所述将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器之前,还包括:获取多个样本引导信号;将所述多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过所述编码器对所述第一样本引导信号进行特征编码,得到第一引导特征向量,其中,所述第一样本引导信号为所述多个样本引导信号中的任一个;将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经所述解码器对所述第一样本噪声序列进行动作预测,获得第一预测动作序列,包括:将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经所述解码器基于所述第一引导特征向量,对所述第一样本噪声序列进行动作预测,获得预测动作序列;在所述基于所述第一预测动作序列和所述样本动作序列,计算损失值之后,还包括:基于所述损失值调整所述编码器的模型参数,并返回执行所述将所述多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经所述编码器对所述第一样本引导信号进行特征编码,得到第一引导特征向量将所述多个样本引导信号中的第一样本引导信号输入待训练动作生成模型的编码器,经过数编码器对所述第一样本引导信号进行特征编码,得到第一引导特征向量的步骤,直至达到训练停止条件,获得训练后的动作生成模型。10.根据权利要求8所述的方法,在所述获得训练后的动作生成模型之后,还包括:接收用户输入的指定动作序列;
对所述指定动作序列进行拆分,得到多个动作子序列;对所述多个动作子序列中的第一动作子序列进行多次加噪处理;基于加噪处理后的所述第一动作子序列和所述多个动作子序列中的第二动作子序列,构建目标噪声序列;将所述目标噪声序列输入所述动作生成模型的解码器,经所述解码器对所述目标噪声序列进行动作预测,获得第二预测动作序列;基于所述第二预测动作序列和所述指定动作序列,计算损失值;基于所述损失值调整所述解码器的模型参数。11.一种虚拟人物动画生成方法,包括:接收前端发送的虚拟人物动画生成请求,其中,所述虚拟人物动画生成请求携带噪声序列;将所述噪声序列输入动作生成模型,经所述动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列,其中,所述迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出人体肢体动作序列,所述动作生成模型基于样本噪声序列训练得到,所述样本噪声序列为对样本人体肢体动作序列进行加噪得到;基于所述人体肢体动作序列,生成虚拟人物动画发送至所述前端,以在所述前端显示所述虚拟人物动画。12.根据权利要求11所述的方法,在所述将所述噪声序列输入动作生成模型,经所述动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列之前,还包括:接收用户发送的指定引导信号,其中,所述指定引导信号包括指定引导文本和/或指定引导音频;所述将所述噪声序列输入动作生成模型,经所述动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列,包括:将所述指定引导信号和所述噪声序列输入动作生成模型,经所述动作生成模型中的编码器获得所述指定引导信号对应的引导特征向量,经所述动作生成模型中解码器对所述引导特征向量和所述噪声序列的多次迭代解码,得到人体肢体动作序列。13.根据权利要求11或12所述的方法,在所述将所述噪声序列输入动作生成模型,经所述动作生成模型中解码器的多次迭代解码,得到人体肢体动作序列之后,还包括:获取当前场景的场景信息;根据所述场景信息,利用所述动作生成模型,对所述人体肢体动作序列进行调整,得到调整后的人体肢体动作序列。14.一种动作生成模型的数据处理方法,应用于云侧设备,包括:获取样本动作序列;对所述样本动作序列进行多次加噪处理,获得多个样本噪声序列;将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经所述解码器对所述第一样本噪声序列进行动作预测,获得预测动作序列,其中,所述第一样本噪声序列为所述多个样本噪声序列中的任一个;基于所述预测动作序列和所述样本动作序列,计算损失值;
基于所述损失值调整所述解码器的模型参数,并返回执行所述将所述多个样本噪声序列中的第一样本噪声序列输入待训练动作生成模型的解码器,经所述解码器对所述第一样本噪声序列进行动作预测,获得预测动作序列的步骤,直至达到训练停止条件,获得训练后的动作生成模型;将所述动作生成模型的模型参数发送至端侧设备。15.一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述动作生成方法、权利要求11至13任意一项所述虚拟人物动画生成方法或者权利要求14所述动作生成模型的数据处理方法的步骤。16.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述动作生成方法、权利要求11至13任意一项所述虚拟人物动画生成方法或者权利要求14所述动作生成模型的数据处理方法的步骤。

技术总结
本说明书实施例提供动作生成方法及虚拟人物动画生成方法,其中所述动作生成方法包括:获取随机采样得到的噪声序列;将噪声序列输入动作生成模型,经动作生成模型中解码器的多次迭代解码,得到目标动作序列,其中,迭代解码包括对本次迭代输入的噪声序列进行去噪处理获得下一次迭代输入的噪声序列,直至最后一次迭代输出目标动作序列,动作生成模型基于样本噪声序列训练得到,样本噪声序列为对样本动作序列进行加噪得到。根据噪声序列,利用动作生成模型,多次迭代解码得到目标动作序列,从零生成动作序列,不基于特定动作帧来进行动作补全,在满足了效率和成本要求的同时,可以生成更具针对性和丰富性的目标动作序列。成更具针对性和丰富性的目标动作序列。成更具针对性和丰富性的目标动作序列。


技术研发人员:马坚鑫 白帅 周畅
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2022.12.02
技术公布日:2023/7/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐