一种根据文本生成驱动虚拟角色运动的动作序列的方法

未命名 10-18 阅读:182 评论:0


1.本发明涉及人工智能技术领域,具体来说涉及神经网络领域,更具体地说,涉及一种根据文本生成驱动虚拟角色运动的动作序列的方法。


背景技术:

2.文本驱动的人体运动生成技术旨在通过给定的文本描述,自动生成符合该描述的真实自然的三维人体(虚拟的角色)的动作序列,在智能动画制作、虚拟现实、游戏开发、人机交互等领域中具有广泛的应用。现有的文本驱动的人体运动生成技术主要分为两大类:
3.(1)第一类技术同时对文本和运动进行编码,把两者映射到同一个隐空间中,希望学习到文本和运动的联合表示。在根据文本生成动作序列时,直接对文本进行编码,把文本特征输入到运动解码器中生成动作序列;
4.(2)第二类技术以运动生成模型为先验,把文本作为运动生成的约束条件,构建条件式生成模型来进行文本驱动的运动生成。在第二类技术中,又有两种技术路线,其中:
5.技术路线(i)是直接在人体运动的姿态空间进行条件生成;
6.技术路线(ii)是先把运动映射到低维隐空间中,然后在隐空间层面进行条件生成。
7.以上两大类将技术存在着各自的缺点。
8.首先,对于第一类技术,由于文本和人体运动数据在数据分布、数据属性、数据表示等各方面均存在较大差异,所以现有的技术很难学习到好的文本-运动的联合表示,导致该类技术生成的运动质量不佳,同时多样性不足。
9.其次,对于第二类技术,由于人体运动的姿态空间维度极高,分布复杂,所以其中的技术路线(i)难以很好地保证生成运动和给定文本的一致性。
10.最后,因为以上的两大类技术考虑文本和运动之间的关系层次单一,导致这些技术生成的运动与文本描述的契合度有待提高。因此,需要对现有技术进行改进。


技术实现要素:

11.因此,本发明的目的在于克服上述现有技术的缺陷,提供一种根据文本生成驱动虚拟角色运动的动作序列的方法。
12.本发明的目的是通过以下技术方案实现的:
13.根据本发明的第一方面,提供一种训练运动生成模型的方法,所述运动生成模型根据文本生成驱动虚拟角色运动的动作序列,所述方法包括:利用多个样本动作序列训练vq-vae模型对样本动作序列进行重构,得到包括编码器、量化器、解码器和码本的经训练的vq-vae模型;根据所述经训练的vq-vae模型的编码器、量化器和码本,将所述多个样本动作序列的每个样本动作序列分别转换为对应的样本动作索引序列;构建多个动作对,每个动作对包括一个所述样本动作索引序列及对其对应的样本动作序列指示的动作状态进行描述的样本文本;根据所述多个动作对和所述码本,训练基于transformer网络构建的文本转
运动索引模型在利用注意力机制融合样本文本和样本动作索引序列之间局部的交叉注意力和全局的条件注意力的情况下,学习根据文本生成动作索引序列,得到经训练的文本转运动索引模型;获得经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型。
14.可选的,所述文本转运动索引模型包括:第一transformer网络,用于计算第一动作编码序列的各元素和文本的各单词的单词特征的交叉注意力,以提取融合局部信息的第二动作编码序列,所述第一动作编码序列根据动作索引序列的每个索引查码本得到的嵌入向量拼接而成;第二transformer网络,用于根据所述局部特征和文本整体对应的文本特征计算条件注意力,以提取融合局部信息和全局信息的第三动作编码序列;第三transformer网络,用于根据所述第三动作编码序列,生成动作索引的概率分布序列,概率分布序列的每个元素含有该元素为码本中各个索引的概率。
15.可选的,所述经训练的文本转运动索引模型按照以下方式训练得到:将每个动作对作为训练数据输入所述文本转运动索引模型,输出动作索引的概率分布序列,确定该动作对中的动作索引序列和输出的动作索引的概率分布序列之间的交叉熵损失,根据所述交叉熵损失求梯度并反向传播更新第三transformer网络、第二transformer网络和第一transformer网络的可训练参数。
16.可选的,第一、第二、第三transformer网络分别含有多层transformer子网络,每个transformer子网络基于多头的注意力机制实现。
17.可选的,经vq-vae模型按照以下方式训练得到:获取多个样本动作序列,其中,样本动作序列的每帧包含虚拟角色的关节点的控制信息;利用vq-vae模型的损失函数训练vq-vae模型对多个样本动作序列进行重构,得到经训练的vq-vae模型,其中,训练时,由编码器根据样本动作序列生成动作特征序列,由量化器根据码本得到动作特征序列对应的量化后的动作特征序列,由解码器根据量化后的动作特征序列重构样本动作序列。
18.可选的,所述经训练的vq-vae模型按照以下方式训练得到:获取多个样本动作序列,其中,样本动作序列的每帧包含虚拟角色的关节点的控制信息;获取为虚拟角色设置的运动关系掩模,所述运动关系掩模为指示角色的控制点间运动相关性的矩阵,其中,所述虚拟角色被划分为多个肢体段,位于同一肢体段的控制点的运动相关性设为0,位于不同肢体段的控制点的运动相关性设为负无穷;获取vq-vae模型,其编码器采用第四transformer网络,其中,所述第四transformer网络被配置为:计算输入的动作序列的每帧中各个控制点的控制信息的单头自注意力时,将注意力机制中qkt的值与运动关系掩模相叠加以屏蔽无关肢体段之间的注意力干扰;利用vq-vae模型的损失函数训练所述vq-vae模型对多个样本动作序列进行重构,得到经训练的vq-vae模型,其中,训练时,由编码器根据样本动作序列生成动作特征序列,由量化器根据码本得到动作特征序列对应的量化后的动作特征序列,由解码器根据量化后的动作特征序列重构样本动作序列。
19.根据本发明的第二方面,提供一种基于第一方面的方法的训练运动生成模型的系统,包括:第一训练模块,被配置为:利用多个样本动作序列训练vq-vae模型对样本动作序列进行重构,得到包括编码器、量化器、解码器和码本的经训练的vq-vae模型;动作对构建模块,被配置为:根据所述经训练的vq-vae模型的编码器、量化器和码本,将所述多个样本动作序列的每个样本动作序列分别转换为对应的样本动作索引序列;以及构建多个动作
对,每个动作对包括一个所述样本动作索引序列及对其对应的样本动作序列指示的动作状态进行描述的样本文本;第二训练模块,被配置为:根据所述多个动作对和所述码本,训练基于transformer网络构建的文本转运动索引模型在利用注意力机制融合样本文本和样本动作索引序列之间局部的交叉注意力和全局的条件注意力的情况下,学习根据文本生成动作索引序列,得到经训练的文本转运动索引模型;构建模块,被配置为:获得经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型。
20.根据本发明的第三方面,提供一种根据文本生成驱动虚拟角色运动的动作序列的方法,包括:获取用于描述虚拟角色运动状态的动作描述文本;获取根据第一方面所述的方法或者第二方面所述的系统得到的经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型;将所述动作描述文本输入所述经训练的文本转运动索引模型,生成所述动作描述文本对应的动作索引序列;将所述动作描述文本对应的动作索引序列转换为量化后的动作特征序列后,输入所述经训练的vq-vae模型的解码器,以生成动作描述文本对应的动作序列,其中,所述动作描述文本对应的动作序列能用于驱动所述虚拟角色进行运动以生成动画。
21.根据本发明的第四方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储可执行指令;所述一个或多个处理器被配置为经由执行所述可执行指令以实现第一和/或第三方面所述方法的步骤。
附图说明
22.以下参照附图对本发明实施例作进一步说明,其中:
23.图1为根据本发明实施例的训练运动生成模型的方法的流程示意图;
24.图2为根据本发明实施例的运动关系掩模的原理示意图;
25.图3为根据本发明实施例的利用运动关系掩模屏蔽无关肢体段之间的注意力干扰的示意图;
26.图4为根据本发明实施例的训练运动生成模型的方法的整体过程示意图;
27.图5为根据本发明实施例的第一transformer网络和第二transformer网络内部的处理流程示意图;
28.图6为根据本发明实施例的方法与两种现有技术的方法生成动作序列的效果对比示意图。
具体实施方式
29.为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
30.如在背景技术部分提到的,现有技术考虑文本和运动之间的关系层次单一,导致这些技术生成的运动与文本描述的契合度有待提高。发明人在进行文本驱动的运动生成研究时,认为该问题的存在是因为角色运动和文本之间存在着局部的语义对应和全局的顺序对应,现有技术没有充分地挖掘这种对应关系,导致生成的运动不能精确的符合文本描述。发明人经过对文本驱动的运动生成任务的研究,确定可以训练基于transformer网络构建
的文本转运动索引模型从理解样本动作编码序列的元素与文本中单词的局部对应关系层面的以及理解样本动作编码序列与样本动作序列的全局对应关系层面学习根据文本生成动作索引序列;相当于通过计算文本单词特征和运动的子片段的交叉注意力来表征局部的语义对应关系,同时通过计算文本整体的特征和整段运动的条件自注意力来表征全局的顺序对应关系,借此提升生成的动作序列和文本对应的精确性。
31.在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
32.vq-vae(vector-quantised variational autoencoder)模型,即向量量化变分自编码器,其包括编码器、量化器、解码器和码本。
33.vq-vae模型的编码器,该编码器将vq-vae模型的输入进行编码,输出嵌入向量。
34.vq-vae模型的码本(code book),vq-vae模型维护了一个码本(称为embedding space),码本含有多个索引及每个索引对应的嵌入向量,其中码本中索引的数量可由实施者设置(例如512、1024等),每个索引对应的嵌入向量是随vq-vae模型训练生成。
35.vq-vae模型的量化器,其被配置为计算编码器(encoder)的输出(嵌入向量,或者称特征)与码本中每个嵌入向量的距离,然后从码本中取出最邻近的嵌入向量组成新的嵌入向量传入解码器。
36.vq-vae模型的解码器,根据量化器的输出重建vq-vae模型的输入(也即vq-vae模型的编码器的输入)。
37.发明人在研究根据文本生成动作序列时发现,除背景技术提到的问题外,现有的第二类技术的技术路线(ii)在把运动映射到低维隐空间时没有考虑角色的肢体结构间的运动相关性,导致生成的运动不够真实自然。综合来说,发明人发现现有技术中的这些缺点由两方面导致:(1)现有技术在对运动本身进行建模的时候没有充分考虑角色的特殊空间结构,导致生成的运动不够真实自然;(2)角色运动和文本之间存在着局部的语义对应和全局的顺序对应,现有技术没有充分地挖掘这种对应关系,导致生成的运动不能精确的符合文本描述。发明人经过对文本驱动的运动生成任务的研究,发现缺陷(1)可以通过引入基于肢体段注意力的时空特征提取来解决。具体地,把角色按肢体段分为不同部位,利用空间transformer分别对其提取空间特征,再把所有的空间特征一起输入到时序卷积层中提取时间特征,最后利用向量量化变分自编码器把时空特征映射到离散的低维隐空间中。缺陷(2)可以通过引入全局-局部注意力来解决,通过计算文本单词特征和运动子片段的交叉注意力来表征局部的语义对应关系,同时通过计算文本句子特征和整段运动的条件自注意力来表征全局的顺序对应关系,借此让生成的动作序列所表示角色的运动状态和文本中所描述角色的运动状态更加匹配。
38.本发明是在第二类技术的技术路线(ii)的基础上进行的改进,为了便于理解解决上述两个缺陷的最优实施例的技术方案,后面的实施例将主要以解决上述两个缺陷来的方案展开说明。但是,应当理解,实际上,解决背景技术所提问题对应的技术方案在单独实施时仍能产生积极的技术效果。
39.为了便于理解本发明实施例的运动生成模型的结构,此处先进行概括说明:
40.运动生成模型旨在能根据文本来生成驱动角色(比如人体、虚拟猫、虚拟狗或者其他形态的可运动的角色等,为简便,后面以人体为例来进行说明,但其他形态的角色在实施
时的工作原理是类似的)运动的动作序列,该运动生成模型包括vq-vae模型和文本转运动索引模型,其中:
41.训练时,vq-vae模型的输入是样本动作序列,输出是生成的样本动作序列,属于自监督训练,即利用样本动作序列本身指导训练;
42.训练时,文本转运动索引模型的输入是样本动作序列(指导训练用)和对应的文本,输出是文本对应的动作索引序列;
43.测试或者应用时,文本转运动索引模型的输入仅为文本(可以为模型训练时未见过的新的文本,比如称为动作描述文本),输出是文本对应的动作索引序列;根据文本转运动索引模型的输出从码本提取对应的嵌入向量,再经过vq-vae模型的解码器,输出动作描述文本对应的动作序列,从而能够驱动角色进行运动以生成动画。
44.根据前述概括说明可以看出,运动生成模型需要先训练,再应用;训练完成后,经训练的运动生成模型具有根据文本生成动作序列的能力。对此,后文主要以训练方法为例进行说明。
45.根据本发明的一个实施例,提供一种训练运动生成模型的方法,所述运动生成模型根据文本生成驱动虚拟的角色运动的动作序列,参见图1,所述方法包括步骤:a1、a2、a3、a4、a5。
46.步骤a1:利用多个样本动作序列训练vq-vae模型对样本动作序列进行重构,得到包括编码器、量化器、解码器和码本的经训练的vq-vae模型。
47.根据本发明的一个实施例,动作序列包括多个帧,每帧包含虚拟角色的控制点的控制信息。应当理解,根据不同的角色,实施者定义的动作序列中的每帧所含的控制点的数量可能不同。另外,控制信息也可能采取不同的表达形式,从而形成不同的实施方式,比如,一些实施方式可能以控制点的旋转角度作为控制信息,另一些实施方式可能以控制点的坐标位置作为控制信息,亦或者两者的结合,或者实施者定义的其他形式,本发明实施例对此不作限制。
48.样本动作序列属于动作序列,是指数据集中用于训练模型的动作序列。数据集可以采用现有的,或者实施者自定义的数据集。现有的数据集比如采用开源数据集humanml3d,其包含14616个三维人体的动作序列和44970个文本描述(一段动作序列可能对应多个描述文本),训练vq-vae模型时,仅利用其部分的动作序列(如80%或者70%)作为样本动作序列。由于vq-vae模型是自编码器,其训练任务为对输入的动作序列进行编码并重构动作序列,因此,在训练vq-vae模型时数据集中的文描述本不会被使用。
49.为了解决前述缺陷(1),所述经训练的vq-vae模型按照以下方式训练得到:
50.a11、获取多个样本动作序列,其中,样本动作序列的每帧包含虚拟的人体的控制点(如关节点)的控制信息;
51.a12、获取为人体设置的运动关系掩模,所述运动关系掩模为指示人体的控制点间运动相关性的矩阵,其中,所述人体被划分为多个肢体段,位于同一肢体段的控制点的运动相关性设为0,位于不同肢体段的控制点的运动相关性设为负无穷;
52.例如,将人体分为五个肢体段:躯干、左手、右手、左腿和右腿,每个肢体段内包含各自的关节点,如图2a所示,为方便对应,以smpl中各个关节点的原始英文名称来说明,躯干关节点包括head、neck、spine3、spine2、spine1;左手关节点包括l_hand、l_wrist、l_
elbow、l_shoulder、l_collar、spine3;右手关节点包括r_hand、r_wrist、r_elbow、r_shoulder、r_collar、spine3;右腿关节点包括r_foot、r_ankle、r_knee、r_hip;左腿关节点包括l_foot、l_ankle、l_knee、l_hip,可以看到,spine3关节点是共享关节点,同时划分在躯干、左手、右手关节点中。根据这个划分,本发明实施例定义了一个运动关系掩模(或者称新的人体邻接关系掩模)m=m
{i,j}
∈r
n*n
,n表示运动序列中一帧的控制点的个数。如果关节点i和j在同一个肢体段内,m
{i,j}
=0,否则为-∞。一些运动关系中除控制点外,也可能增加一些其他点,对此,掩模中也可以增加对应的维度,比如:以humanml3d中指定的smpl人体模型的运动序列为例,r
(n+3)*(n+3)
,其中,n表示人体的关节点的数量,一共为23个关节点,n+3中额外增加的3对应运动序列中指示的根关节点、左脚接触点和右脚接触点的控制信息。根关节点作为人体的中心,实施者可以指定其与所有的关节点的运动相关性均设为0;而左脚接触点与左腿关节点的运动相关性设为0,与其他关节点的运动相关性设为-∞;右腿接触点与右腿关节点的运动相关性设为0,与其他关节点的运动相关性设为-∞。生成的掩模可如图2b所示,应理解,图2b仅为简化示意。另外,如果是其他形态的角色,则运动序列中关节点有所不同,掩模也可对应调整。
53.a13、获取vq-vae模型,其编码器采用transformer网络(为了区分,此处称第四transformer网络),其中,所述第四transformer网络被配置为:计算输入的动作序列的每帧中各个控制点的控制信息的单头自注意力时,将注意力机制中qk
t
的值与运动关系掩模相叠加以屏蔽无关肢体段之间的注意力干扰;
54.根据本发明的一个实施例,编码器在计算多头(注意力的头数可以由实施者自定义,后面类似之处相同)自注意力时,按照以下方式计算输入的动作序列的每帧中控制点间的控制信息的单头自注意力:
[0055][0056]
其中,sofmax为sofmax激活函数,q、k、v分别为动作序列中的每帧中的各个控制点的控制信息组成的向量经过注意力机制的三种不同的线性映射后得到的向量,d为q、k、v向量的维度,m是运动关系掩模。相关的计算示意可参照图3,将动作序列j
root
、j1、j2、

、jn、cf转换为q、k、v向量,其中,j
root
表示根关节点的控制信息,j1、j2、

、jn表示第1-n个关节点的控制信息,cf表示脚步接触的控制信息(含有左、右脚的脚步接触的控制信息,通常分别表示右踝、右脚尖、左踝和左脚尖与地面的接触,为0表示不接触,1表示接触)。每个单头的自注意力计算完成后,拼接则得到的最后的多头自注意力。示意性的,假设此处设置4个头,每个单头的自注意力拼接得到最后的多头自注意力att={att0,att1,att2,att3}。多头自注意力经编码器的前馈神经网络(对应图3的ffn),得到空间特征fs;空间特征fs经编码器的层归一化层(或者称时序卷积网络,对应图3的tcn
enc
),得到时空特征f
st
,各帧的时空特征拼接后,得到动作特征序列。应理解,公式是本领域技术人员所知晓的,本发明实施例的改进在于将注意力机制中qk
t
的值与运动关系掩模相叠加,由于运动关系掩模中将位于同一肢体段的控制点的运动相关性设为0,位于不同肢体段的控制点的运动相关性设为负无穷;基于
softmax函数的性质,会屏蔽掉无关肢体段之间的注意力干扰,从而使得vq-vae模型重构动作序列的准确性更好。
[0057]
a14、利用vq-vae模型的损失函数训练所述vq-vae模型对多个样本动作序列进行重构,得到经训练的vq-vae模型,其中,训练编码器根据样本动作序列生成动作特征序列,由量化器根据码本得到动作特征序列对应的量化后的动作特征序列,训练解码器根据量化后的动作特征序列重构样本动作序列。
[0058]
当然,在不考虑缺陷(1)的情况下,原理上也可以采用现有方法训练vq-vae模型。根据本发明的一个实施例,所述经vq-vae模型按照以下方式训练得到:获取多个样本动作序列,其中,样本动作序列的每帧包含虚拟角色的关节点的控制信息;利用vq-vae模型的损失函数训练vq-vae模型对多个样本动作序列进行重构,得到经训练的vq-vae模型,其中,训练时,由编码器根据样本动作序列生成动作特征序列,由量化器根据码本得到动作特征序列对应的量化后的动作特征序列,由解码器根据量化后的动作特征序列重构样本动作序列。
[0059]
从整体上看,训练vq-vae模型对应于图4a和图4b中的阶段1。其中,训练时,可以根据现有的vq-vae模型的损失函数计算总损失,根据总损失求梯度并反向传播更新vq-vae模型的编码器t4、解码器d中的可训练参数以及码本中的嵌入向量(对应于离散的运动隐空间的向量);量化器h采用最邻近算法,没有可训练参数,无需训练。为了形象化示意,参照图4a顶部,一个文本a person is kicking with his right foot,对应于图4a中左上角的动作序列(为便于理解,展示的是图形化的动作序列)。
[0060]
步骤a2:根据所述经训练的vq-vae模型的编码器、量化器和码本,将所述多个样本动作序列的每个样本动作序列分别转换为对应的样本动作索引序列。
[0061]
根据本发明的一个实施例,vq-vae模型训练完成后,得到经训练的vq-vae模型。对于每个样本动作序列,输入vq-vae模型的编码器,得到该样本动作序列对应的动作特征序列,所述动作特征序列包括多个动作特征;由量化器根据最邻近算法得到动作特征序列中每个动作特征在码本中最邻近的嵌入向量的索引,按序拼接后得到样本动作索引序列。而样本动作索引序列中每个索引在码本中对应的嵌入向量拼接后,则为量化后的动作特征序列。
[0062]
步骤a3:构建多个动作对,每个动作对包括一个所述样本动作索引序列及对其对应的样本动作序列指示的动作状态进行描述的样本文本。
[0063]
根据本发明的一个实施例,动作对可以依据数据集中文本和该文本对应的动作序列的关系来建立。比如,在数据集中,文本w描述的动作状态可以由样本动作序列z来表示,则样本动作序列z对应的样本动作索引序列和文本w可以形成一个动作对。
[0064]
步骤a4:根据所述多个动作对和所述码本,训练基于transformer网络构建的文本转运动索引模型在利用注意力机制融合样本文本和样本动作索引序列之间局部的交叉注意力和全局的条件注意力的情况下,学习根据文本生成动作索引序列,得到经训练的文本转运动索引模型。
[0065]
从整体上看,训练文本转运动索引模型对应于图4a和图4b中的阶段2。
[0066]
根据本发明的一个实施例,参见图4b,所述文本转运动索引模型包括:第一transformer网络t1,用于计算第一动作编码序列的各元素和文本的各单词的单词特征的
交叉注意力,以提取融合局部信息的第二动作编码序列,所述第一动作编码序列根据动作索引序列的每个索引查码本得到的嵌入向量拼接而成;第二transformer网络t2,用于根据所述局部特征和文本整体对应的文本特征计算条件注意力,以提取融合局部信息和全局信息的第三动作编码序列;第三transformer网络t3,用于根据所述第三动作编码序列,生成动作索引的概率分布序列,概率分布序列的每个元素含有该元素为码本中各个索引的概率。应当理解的是,训练时,动作索引序列可以是训练时的样本动作索引序列;而测试、应用时,动作索引序列可以是第三transformer网络t3预测的动作索引序列);为避免歧义,此处在文本转运动索引模型中描述技术方法时采用的是通用名称:动作索引序列。
[0067]
根据本发明的一个实施例,各单词的单词特征或者文本的文本特征可以采用预训练的语言模型来提取。比如:预训练的clip模型、bert模型和gpt模型中的一个语言模型。下面以预训练的clip模型为例,进行说明。
[0068]
对于第一transformer网络t1,参照图4a和图5a,利用预训练的clip模型,对给定的文本逐单词地提取单词特征e
wi
,假设n个单词,则的对应图5a中的e
w1
、e
w2
、e
w3


、e
wn
;然后和第一动作编码序列低维c(或者称低维运动编码序列c,假设有m帧,则分别对应图5a中的c1、c2、c3、

、cm)计算交叉注意力,得到融合局部信息的第二动作编码序列c
ω
(或者称融合局部信息的低维运动编码序列c
ω
)。其示意性的步骤如下:
[0069]
步骤a41:给定有n个单词构成的文本ω,利用预训练的clip模型,针对其中的每一个单词提取单词特征e
ω

[0070]
步骤a42:用如下公式计算e
ω
和c的交叉注意力:
[0071][0072]
其中,sofmax为激活函数,q
local
为c经过线性映射后的值,k
local
,v
local
分别为e
ω
经过注意力机制的三种不同的线性映射后得到的值,d为q
local
的维度,然后把多头注意力(假设7个头)拼接得到最后的自注意力localatt={localatt0,localatt1...,localatt7}。把最后的自注意力输入到前馈神经网络中得到融合局部信息的中间特征f
local

[0073]
步骤a43:在第一transformer网络t2包括多层(比如2层或者3层等)的情况下,将当前层的中间特征f
local
作为下一层的第一动作编码序列c,参照步骤a42再次处理,最后一层的前馈神经网络将输出第二动作编码序列c
ω

[0074]
对于第二transformer网络t2,参照图4b和图5b,利用预训练的clip模型,对给定的文本提取整个文本的文本特征,然后和第二动作编码序列c
ω
计算条件自注意力,得到第三动作编码序列c
ω
(或者称融合全局信息的低维运动编码序列c
ω
)。其示意性的步骤如下:
[0075]
步骤a44:给定有n个单词构成的文本ω,利用预训练的clip模型,针对整段文本提取文本特征e
ω
,并把e
ω
拼接到c
ω
的时间维度上,得到第四动作编码序列(对应于图5b中的c
w1
、c
w2
、c
w3
、...、c
wm
、e
ω
构成的序列)
[0076]
步骤a45:用如下公式计算e
ω
和的自注意力:
[0077][0078]
其中,sofmax为激活函数,q
global
,k
global
,v
global
为经过注意力机制的三种不同的
线性映射后的值,d为q
global
的维度,然后把多头注意力(假设15个头,也可以是其他数值,比如8、12等)拼接得到最后的自注意力globalatt={globalatt0,globalatt1...,globalatt
15
}。最后把自注意力输入到前馈神经网络中得到融合全局信息的中间特征f
global

[0079]
步骤a46:在第二transformer网络t2包括多层(比如9层或者10层等)的情况下,将当前层的中间特征f
global
作为下一层的第二动作编码序列c
ω
,参照步骤a45再次处理,最后一层的前馈神经网络将输出第三动作编码序列c
ω

[0080]
对于第三transformer网络t3,参照图4b,把第三动作编码序列c
ω
输入第三transformer网络,输出动作索引的概率分布序列,概率分布序列的每个元素含有该元素为码本中各个索引的概率,每个元素中概率最大的索引拼接后得到生成的动作索引序列c
gen
。其示意性的步骤如下:
[0081]
步骤a47:用如下公式计算自注意力:
[0082][0083]
其中,sofmax为激活函数,q、k、v为第三动作编码序列c
ω
经过注意力机制的三种不同的线性映射后的值,d为q的维度,然后把多头注意力拼接得到最后的自注意力genatt={genatt0,genatt1...,genatt
15
}。最后把自注意力输入到前馈神经网络中得到融合全局信息的中间特征f
gen

[0084]
步骤a48:在第三transformer网络t3包括多层(比如9层或者11层等)的情况下,将当前层的中间特征f
gen
作为下一层的第三动作编码序列c
ω
,参照步骤a47再次处理,最后一层的前馈神经网络将输出动作索引序列c
gen

[0085]
步骤a5:获得经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型。
[0086]
根据本发明的一个实施例,步骤a5仅为获得经训练的vq-vae模型和经训练的文本转运动索引模型构成经训练的运动生成模型。动作索引序列c
gen
由量化器转换为量化后的动作特征序列输入到经训练的vq-vae模型的解码器,生成对应的运动序列
[0087]
根据本发明的一个实施例,提供一种基于前述实施例训练运动生成模型的方法的训练运动生成模型的系统,包括:第一训练模块,被配置为:利用多个样本动作序列训练vq-vae模型对样本动作序列进行重构,得到包括编码器、量化器、解码器和码本的经训练的vq-vae模型;动作对构建模块,被配置为:根据所述经训练的vq-vae模型的编码器、量化器和码本,将所述多个样本动作序列的每个样本动作序列分别转换为对应的样本动作索引序列;以及构建多个动作对,每个动作对包括一个所述样本动作索引序列及对其对应的样本动作序列指示的动作状态进行描述的样本文本;第二训练模块,被配置为:根据所述多个动作对和所述码本,训练基于transformer网络构建的文本转运动索引模型在利用注意力机制融合样本文本和样本动作索引序列之间局部的交叉注意力和全局的条件注意力的情况下,学习根据文本生成动作索引序列,得到经训练的文本转运动索引模型;构建模块,被配置为:获得经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型。
[0088]
根据本发明的一个实施例,还提供一种根据文本生成驱动虚拟角色运动的动作序
列的方法,包括步骤:
[0089]
b1、获取用于描述虚拟角色运动状态的动作描述文本;
[0090]
b2、获取根据前述实施例训练运动生成模型的方法或者训练运动生成模型的系统得到的经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型;
[0091]
b3、将所述动作描述文本输入所述经训练的文本转运动索引模型,生成所述动作描述文本对应的动作索引序列;
[0092]
b4、将所述动作描述文本对应的动作索引序列转换为量化后的动作特征序列后,输入所述经训练的vq-vae模型的解码器,以生成动作描述文本对应的动作序列,其中,所述动作描述文本对应的动作序列能用于驱动所述虚拟角色进行运动以生成动画。应当说明的是,部分实施者可能会疑虑,在本实施例中,由于是仅根据动作描述文本来生成对应的动作序列,并没有训练时的文本对应的动作序列作为输入,第一transformer网络的交叉注意力和第二transformer网络的条件注意力缺少与文本计算的对象。但是,本领域技术人员所知的,transformer网络在测试或者应用时,与训练时的输入有所区别;测试或者应用时,无需输入动作序列的真值,对第t帧预测时,除文本外,还利用transformer网络对1至t-1帧输出的动作序列作为第一transformer网络和第二transformer网络。并且,对第1帧预测时,是将整个文本的文本特征e
ω
直接输入(因此处图5a中的{c
ω1
,

,c
ωm
}为空,即还未产生)到第二transformer网络生成第三动作编码序列,由第三transformer网络生成动作索引的概率分布序列,取概率分布序列中的最大概率的动作索引作为预测的动作索引序列的第一帧。从第二帧开始,则可根据前面预测得到的动作索引序列查码本得到第一动作编码序列;根据第一动作编码序列和动作描述文本按照文本转运动索引模型依次预测后续的帧,得到最终的动作索引序列。将最终的动作索引序列查码本转化为量化后的动作特征序列后,输入经训练的vq-vae模型的解码器,以生成动作描述文本对应的动作序列。
[0093]
为了展示本发明实施例方法(采用解决缺陷(1)和(2)的方案)的效果,参见图6a,其示出了三种方法对文本“a person quickly waves with his right hand(一个人快速地挥舞他的右手)”生成动作序列的图形可视化效果示意图,其中,现有的md方法生成的动作序列中人体挥舞的是左手,现有的t2m-gpt方法生成的动作序列中人体挥舞右手但不够快速;参见图6b,其示出了三种方法对文本“a person walk in a circle clockwise(一个人顺时针绕圈走)”生成动作序列的图形可视化效果示意图,其中,现有的md方法生成的动作序列中人体只在走,可见模型没有理解到文本的语义,现有的t2m-gpt方法生成的动作序列中人体顺时针走但没有形成完整的圈;可见,与这两种现有方法相比,本发明实施例的方法生成的动作序列与文本匹配的精确性得到明显提升。
[0094]
另外,发明人还与7种现有方法进行了对比实验,对比实验的结果如下表所示:
[0095][0096]
其中,带

的指标表示数值越大越好,带

的指标表示数值越小越好,带

的指标表示分布越分散越好。从表中可以看出,本发明实施例的方法在多种指标上相比现有技术都有提升,得到了更好的性能。
[0097]
下面是以上7种现有技术的参考文献:
[0098]
[1]anindita ghosh,noshaba cheema,cennet oguz,christian theobalt,and philipp slusallek.synthesis of compositional animations from textual descriptions.in proceedings of the ieee/cvf international conference on computer vision,pages 1396

1406,2021.2,6;
[0099]
[2]chuan guo,xinxin zuo,sen wang,and li cheng.tm2t:stochastic and tokenized modeling for the reciprocal generation of 3d human motions and texts.in computer vision

eccv 2022:17th european conference,tel aviv,israel,october 23

27,2022,proceedings,part xxxv,pages 580

597.springer,2022.2,3,6;
[0100]
[3]chuan guo,shihao zou,xinxin zuo,sen wang,wei ji,xingyu li,and li cheng.generating diverse and natural 3d human motions from text.in proceedings of the ieee/cvf conference on computer vision and pattern recognition,pages 5152

5161,2022.2,3,4,5,6;
[0101]
[4]guy tevet,sigal raab,brian gordon,yoni shafir,daniel cohen-or,and amit haim bermano.human motion diffusion model.in the eleventh international conference on learning representations,2023.2,3,5,6;
[0102]
[5]mingyuan zhang,zhongang cai,liang pan,fangzhou hong,xinying guo,lei yang,and ziwei liu.motiondiffuse:text-driven human motion generation with diffusion model.arxiv preprint arxiv:2208.15001,2022.2,3,5,6,7;
[0103]
[6]chen xin,biao jiang,wen liu,zilong huang,bin fu,tao chen,jingyi yu,and gang yu.executing your commands via motion diffusion in latent space.in proceedings of the ieee/cvf conference on computer vision and pattern recognition(cvpr),june 2023.2,3,4,5,6;
[0104]
[7]jianrong zhang,yangsong zhang,xiaodong cun,shaoli huang,yong zhang,hongwei zhao,hongtao lu,and xi shen.t2m-gpt:generating human motion from textual descriptions with discrete representations.in proceedings of the ieee/cvf conference on computer vision and pattern recognition(cvpr),june 2023.2,3,4,5,6,7。
[0105]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0106]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0107]
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0108]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:
1.一种训练运动生成模型的方法,所述运动生成模型根据文本生成驱动虚拟角色运动的动作序列,所述方法包括:利用多个样本动作序列训练vq-vae模型对样本动作序列进行重构,得到包括编码器、量化器、解码器和码本的经训练的vq-vae模型;根据所述经训练的vq-vae模型的编码器、量化器和码本,将所述多个样本动作序列的每个样本动作序列分别转换为对应的样本动作索引序列;构建多个动作对,每个动作对包括一个所述样本动作索引序列及对其对应的样本动作序列指示的动作状态进行描述的样本文本;根据所述多个动作对和所述码本,训练基于transformer网络构建的文本转运动索引模型在利用注意力机制融合样本文本和样本动作索引序列之间局部的交叉注意力和全局的条件注意力的情况下,学习根据文本生成动作索引序列,得到经训练的文本转运动索引模型;获得经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型。2.根据权利要求1所述的方法,其特征在于,所述文本转运动索引模型包括:第一transformer网络,用于计算第一动作编码序列的各元素和文本的各单词的单词特征的交叉注意力,以提取融合局部信息的第二动作编码序列,所述第一动作编码序列根据动作索引序列的每个索引查码本得到的嵌入向量拼接而成;第二transformer网络,用于根据所述局部特征和文本整体对应的文本特征计算条件注意力,以提取融合局部信息和全局信息的第三动作编码序列;第三transformer网络,用于根据所述第三动作编码序列,生成动作索引的概率分布序列,概率分布序列的每个元素含有该元素为码本中各个索引的概率,每个元素中概率最大的索引拼接后得到生成的动作索引序列。3.根据权利要求2所述的方法,其特征在于,所述经训练的文本转运动索引模型按照以下方式训练得到:将每个动作对作为训练数据输入所述文本转运动索引模型,输出动作索引的概率分布序列,确定该动作对中的动作索引序列和输出的动作索引的概率分布序列之间的交叉熵损失,根据所述交叉熵损失求梯度并反向传播更新第三transformer网络、第二transformer网络和第一transformer网络的可训练参数。4.根据权利要求3所述的方法,其特征在于,所述第一、第二、第三transformer网络分别含有多层transformer子网络,每个transformer子网络基于多头的注意力机制实现。5.根据权利要求1-4之一所述的方法,其特征在于,所述经vq-vae模型按照以下方式训练得到:获取多个样本动作序列,其中,样本动作序列的每帧包含虚拟角色的关节点的控制信息;利用vq-vae模型的损失函数训练vq-vae模型对多个样本动作序列进行重构,得到经训练的vq-vae模型,其中,训练时,由编码器根据样本动作序列生成动作特征序列,由量化器根据码本得到动作特征序列对应的量化后的动作特征序列,由解码器根据量化后的动作特征序列重构样本动作序列。
6.根据权利要求1-4之一所述的方法,其特征在于,所述经训练的vq-vae模型按照以下方式训练得到:获取多个样本动作序列,其中,样本动作序列的每帧包含虚拟角色的关节点的控制信息;获取为虚拟角色设置的运动关系掩模,所述运动关系掩模为指示角色的控制点间运动相关性的矩阵,其中,所述虚拟角色被划分为多个肢体段,位于同一肢体段的控制点的运动相关性设为0,位于不同肢体段的控制点的运动相关性设为负无穷;获取vq-vae模型,其编码器采用第四transformer网络,其中,所述第四transformer网络被配置为:计算输入的动作序列的每帧中各个控制点的控制信息的单头自注意力时,将注意力机制中qk
t
的值与运动关系掩模相叠加以屏蔽无关肢体段之间的注意力干扰;利用vq-vae模型的损失函数训练所述vq-vae模型对多个样本动作序列进行重构,得到经训练的vq-vae模型,其中,训练时,由编码器根据样本动作序列生成动作特征序列,由量化器根据码本得到动作特征序列对应的量化后的动作特征序列,由解码器根据量化后的动作特征序列重构样本动作序列。7.一种基于权利要求1-6之一的方法的训练运动生成模型的系统,其特征在于,包括:第一训练模块,被配置为:利用多个样本动作序列训练vq-vae模型对样本动作序列进行重构,得到包括编码器、量化器、解码器和码本的经训练的vq-vae模型;动作对构建模块,被配置为:根据所述经训练的vq-vae模型的编码器、量化器和码本,将所述多个样本动作序列的每个样本动作序列分别转换为对应的样本动作索引序列;以及构建多个动作对,每个动作对包括一个所述样本动作索引序列及对其对应的样本动作序列指示的动作状态进行描述的样本文本;第二训练模块,被配置为:根据所述多个动作对和所述码本,训练基于transformer网络构建的文本转运动索引模型在利用注意力机制融合样本文本和样本动作索引序列之间局部的交叉注意力和全局的条件注意力的情况下,学习根据文本生成动作索引序列,得到经训练的文本转运动索引模型;构建模块,被配置为:获得经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型。8.一种根据文本生成驱动虚拟角色运动的动作序列的方法,其特征在于,包括:获取用于描述虚拟角色运动状态的动作描述文本;获取根据权利要求1-6之一所述的方法或者权利要求7所述的系统得到的经训练的运动生成模型,其包括经训练的vq-vae模型和经训练的文本转运动索引模型;将所述动作描述文本输入所述经训练的文本转运动索引模型,生成所述动作描述文本对应的动作索引序列;将所述动作描述文本对应的动作索引序列转换为量化后的动作特征序列后,输入所述经训练的vq-vae模型的解码器,以生成动作描述文本对应的动作序列,其中,所述动作描述文本对应的动作序列能用于驱动所述虚拟角色进行运动以生成动画。9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至6以及8中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:一个或多个处理器;以及存储器,其中存储器用于存储可执行指令;所述一个或多个处理器被配置为经由执行所述可执行指令以实现权利要求1至6以及8中任一项所述方法的步骤。

技术总结
本发明提供了一种根据文本生成驱动虚拟角色运动的动作序列的方法,包括:获取用于描述虚拟角色运动状态的动作描述文本;获取经训练的运动生成模型,其包括经训练的VQ-VAE模型和经训练的文本转运动索引模型;将所述动作描述文本输入所述经训练的文本转运动索引模型,生成所述动作描述文本对应的动作索引序列;将所述动作描述文本对应的动作索引序列转换为量化后的动作特征序列后,输入所述经训练的VQ-VAE模型的解码器,以生成动作描述文本对应的动作序列,其中,所述动作描述文本对应的动作序列能用于驱动所述虚拟角色进行运动以生成动画。成动画。成动画。


技术研发人员:夏时洪 钟重阳 胡磊 范振峰
受保护的技术使用者:中国科学院计算技术研究所
技术研发日:2023.07.10
技术公布日:2023/10/15
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐