一种基于文本标签生成3D人体动作的方法
未命名
09-29
阅读:63
评论:0
一种基于文本标签生成3d人体动作的方法
技术领域
1.本发明涉及技术领域为自然语言处理和基于深度学习的3d人体动作生成技术,具体来说,涉及了一种文本标签驱动的3d人体动作生成方法。
背景技术:
2.在当前的计算机视觉和机器学习领域,实现高质量和真实性的3d人体动作生成一直是一个具有挑战性的问题。传统的方法往往受限于姿态估计的准确性和数据的丰富性,导致生成的动作缺乏自然性和语义一致性。
3.传统的3d人体动作生成方法在生成质量和真实性方面存在一定的局限性。
4.通过直接编码文本标签的方法会由于文本标签的数据量不足、自身蕴含的语义信息并不明确,导致从文本标签中提取得到的语义信息不足;将文本编码按照one-hot向量编码的方式忽略了文本标签自身蕴含的语义信息,在生成的动作上会造成语义信息不匹配的问题。现有的基于高斯混合模型的算法往往只是通过提取若干子高斯分布并进行线性混合的方式得到最终的高斯混合分布,并没有对子高斯分布进行限制,这使得通过高斯混合分布采样的结果受到不同子分布的相互影响,可控性差。
技术实现要素:
5.为提升3d人体动作生成的质量和真实性,通过文本标签驱动的方法使得生成过程更加可控,解决现有方法中生成数据与真实数据的差异较大、高斯混合分布中子分布相互干扰以及标签数据不充足导致的文本语义信息不充分等问题。
6.为实现上述目的,按照本发明的一个方面,提供了一种文本标签驱动的3d人体动作生成方法,包括如下步骤:步骤1,收集人体动作数据,并为每一个动作数据添加一个动作标签;步骤2,对动作标签构成的集合进行预处理,得到动作标签对应的初始文本特征;步骤3,构造以高斯混合模型和transformer-unet为基础的生成模型,所述生成模型包括:动作编码器、文本编码器以及动作解码器;所述文本编码器对初始文本特征编码之后,得到文本特征;所述动作编码器由全连接网络和transformer模块构成,用于对采集的动作数据进行编码,并将编码结果输入的动作解码器得到预测的动作序列;步骤4,构造损失函数,通过损失函数以及反向传播约束生成模型的训练,利用训练好的生成模型生成人体动作序列。
7.进一步的,步骤2中将所有的动作标签构成的集合称之为,使用大规模文本预训练模型扩写动作标签,得到与标签对应的复杂文本集合记作,其中存在一一对应关系;随后再次使用大规模文本预训练模型对复杂文本集合进行编码,得到初始文本特征集合,其中存在一一对应关系,称之为初始文本
特征。
8.进一步的,所述大规模文本预训练模型为gpt-3或gpt-4模型。
9.进一步的,文本编码器由层transformer模块和层全连接网络构成,最终输出的结果为一个长度为的特征向量:
10.其中表示初始文本特征向量。
11.进一步的,动作编码器由层transformer模块和3层的全连接网络构成,最终输出四个结果,分别为层次化特征编码,个子高斯分布的均值、方差以及权重向量, 其中表示第个高斯分布的均值和方差,此时构建得到一个均值为,方差为的高斯混合分布,从高斯混合分布中采样得到隐变量,将文本特征与隐变量拼接得到隐变量,以及层次化特征编码作为动作解码器的输入,动作解码器输出的结果为预测的动作序列;具体的:在动作编码器中,第层的transformer模块输出层次化特征编码;transformer模块最后一层的输出作为全连接网络的输入,将全连接网络的输入手动划分为的三部分,第一部分表示子高斯分布的权重,后面两个部分分别表示k个均值向量与k个方差向量;动作编码器表示为:
12.其中表示原始的动作序列,表示第层编码器计算得到的下采样特征,为一个长度为k的向量,表示高斯子高斯分布的权重,表示子高斯分布的均值与方差组成的均值矩阵与方差矩阵。
13.进一步的,动作解码器由层改进transformer模块以及1层全连接网络构成,改进transformer模块的注意力机制计算如下:
14.其中,表示当前训练轮次除以总训练轮次,表示全零向量加位置编码,此处的位置编码同标准的transformer一样,使用正余弦函数生成;表示第个改进transformer模块的输出,z表示从高斯混合分布中采样得到的隐变量,表示隐变量的维度;softmax函数表示归一化指数函数,其计算公式为:
15.其中,表示第i个节点的输出值,c为输出节点的个数,即分类的类别个数;最后一层transformer模块的输出,经过全连接网络,最后改变形状为的张量,即为生成的3d人体动作,在生成的人体动作之后,跟着一个由若干层transformer网络构建的动作分类网络,最终输出为一个动作分类标签。
16.进一步的,步骤4中的损失函数的构建过程如下;
首先构造概率图模型,由动作数据,子高斯分布的权重系数,子高斯分布,动作特征向量,文本特征向量以及预测标签构成,根据生成过程,动作特征向量在子高斯分布的权重系数和子高斯分布的条件下生成;动作数据由动作特征向量,文本特征向量联合生成;预测标签通过动作数据生成,因此由概率图模型的因式分解以及贝叶斯公式可以得到整个概率图模型的联合概率分布可以分解为若干条件概率的乘积:
17.、、服从标准高斯分布;在变分阶段,子高斯分布的权重系数由动作数据,文本特征向量联合生成;子高斯分布以及子高斯分布的权重系数通过动作数据以及文本特征向量联合求解得到,动作特征向量通过子高斯分布以及子高斯分布的权重系数联合求解得到;变分阶段的概率图联合概率分布也可以分解为若干条件概率的乘积:
18.服从高斯分布,高斯分布的均值与方差通过生成模型计算得到;由标准vae的损失函数推导过程得到变分下界,其表达式如下:
[0019][0020][0021][0022][0023]
共由五项组成,分别表示为动作重构项,标签重构项,w先验项,z先验项以及条件先验项;动作重构项在动作数据集上选择为均方误差损失函数;标签重构项选择为交叉熵损失函数;其中表示计算分布与分布的kl散度;w先验项、z先验项以及条件先验项根据高斯分布与标准高斯分布的kl散度解析形式进行直接求解;表示期望;fisher正则化项的计算方法为:
[0024]
其中表示求矩阵a的迹,定义类内距离为,类间距离为,其中为动作编码器部分求得的子分布的权重、均值与方差,k表示子分布个数,每个子高斯分布的采样数量相同;最终的损失函数表示为:。
[0025]
进一步的,kl散度解析形式表达式为:
[0026]
其中表示均值为,方差为的高斯分布;,条件先验项的计算可以表示为:
[0027][0028]
其中表示第个子高斯分布,表示第个子高斯分布。
[0029]
进一步的,步骤4中利用训练好的生成模型生成人体动作序列的具体实现方式如下;从训练好的高斯混合分布中采样得到动作特征向量,将文本标签依次经过大文本预训练模型得到复杂文本描述,再次使用大文本预训练模型得到初始文本特征,经过文本编码器编码之后得到文本特征向量,将文本特征与动作特征拼接以及层次化特征编码作为动作解码器的输入,动作解码器输出的结果为预测的动作序列,此时动作解码器的注意力机制计算为:
[0030]
其中表示全零向量加上位置编码。
[0031]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)构建了一个新的概率图模型,从这个概率图模型推导得到的损失函数包含标签重构项、数据重构项、w先验项、z先验项以及条件先验项五部分,以提高生成数据与真实数据的一致性。
[0032]
(2)利用lmm语言预训练模型序列化文本标签,丰富文本语义注入,使生成结果更接近真实语言环境。
[0033]
(3)引入fisher距离,使不同子高斯分布之间相互解耦、互不纠缠,增强生成动作的可控性。
[0034]
(4)结合transformer-unet网络结构,增加了模型的稳定性和生成结果的准确性。
[0035]
(5)本发明技术的应用前景广阔,可以推动计算机视觉和深度学习领域在人体动
作生成方面的研究和应用。
附图说明
[0036]
图1为本发明的数据处理流程图。
[0037]
图2为本发明构建的概率图模型,左图为生成概率图结构,右图为变分概率图结构。
[0038]
图3为本发明实施的网络结构图。
[0039]
图4为本发明实施例在humanact13数据集最终生成的3d人体动作。
具体实施方式
[0040]
下面结合附图及实施例对本发明进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0041]
在自言语言处理领域,生成模型可用于自然语言生成、机器翻译、对话系统等方面;在图像处理领域,生成模型可以用于图像生成、视频生成、数据增强、等方面;其实际的应用场景还包括音乐生成和创意设计等。3d人体动画生成能够增强交互、改善沟通、提升视觉效果、拓展应用领域,在实际场景中应用广泛,但是手工制作耗时长、成本高,半自动化制作软件发展不成熟,本发明聚焦于文本标签生成3d人体骨骼动画,有着丰富的应用场景与研究意义。
[0042]
如图1所示,是实施例提供的一种高斯混合模型和transformer-unet为基础的3d人体骨骼动作生成的流程图,包括如下步骤:步骤(1),人体动作—文本数据集的准备:收集包含人体动作的数据集,人体动作数据的数量为,采集的人体关节点数为,每一个动作序列都包括连续帧动作,且每个关节点信息包括相较于根关节点的三维坐标,动作数据可以表示以一个的四维张量;为每一个动作添加一个动作标签,标签内容为:跑、跳、后空翻等与此类似的简单动作标签。
[0043]
步骤(2),数据预处理:将所有的动作标签构成的集合,称之为,使用大规模文本预训练模型,例如gpt-3、gpt-4扩写文本标签,得到与标签对应的复杂文本集合记作,其中存在一一对应关系;随后再次使用大规模文本预训练模型对复杂文本集合进行编码,得到初始文本特征集合,其中存在一一对应关系,称之为初始文本特征。
[0044]
步骤(3),构造以高斯混合模型和transformer-unet为基础的生成模型,该模型包括:动作编码器、文本编码器以及动作解码器。通过文本编码器对初始文本特征编码之后,得到文本特征向量;动作编码器对采集的动作数据进行编码,得到四个结果,分别为层次化特征编码,个子高斯分布的均值、方差以及权重向量, 其中表示第个高斯分布的均值和方差。此时构建一个均值为,方差为的高斯混合分布,从高斯混合分布中采样得到
动作特征向量,将文本特征向量与动作特征向量拼接,以及层次化特征编码作为动作解码器的输入,动作解码器输出的结果为预测的动作序列。
[0045]
步骤(3a),构建文本编码器:文本编码器由层transformer模块和3层全连接网络构成,最终输出的结果为文本特征向量:
[0046]
其中表示初始文本特征向量。
[0047]
步骤(3b),构建动作编码器:动作编码器由层transformer模块和三层全连接网络构成。在动作编码器中,第层的transformer模块输出层次化特征编码;transformer模块最后一层的输出作为全连接层的输入,将全连接神经网络的输入手动划分为的三部分,第一部分表示子高斯分布的权重,后面两个部分分别表示k个均值与k个方差。动作编码器可以表示为:
[0048]
其中表示原始的动作序列,表示第层transformer模块计算得到的下采样特征,为一个长度为k的向量,表示高斯混合模型中子高斯分布的权重,表示子高斯分布的均值与方差组成的均值矩阵与方差矩阵。
[0049]
步骤(3c),构建动作解码器:动作解码器由层改进transformer模块以及一层全连接神经网络构成。改进transformer模块的注意力机制计算如下:
[0050]
其中,表示当前训练轮次除以总训练轮次;表示全零向量加位置编码,此处的位置编码同标准的transformer一样,使用正余弦函数生成;表示第个改进transformer模块的输出;从高斯混合分布中采样得到的隐变量z; softmax函数表示归一化指数函数,其计算公式为:
[0051]
其中,表示第i个节点的输出值,c为输出节点的个数,即分类的类别个数。
[0052]
最后一层transformer模块的输出经过一层连接神经网络。最后改变形状为的张量,即为生成的3d人体动作。在生成的人体动作之后,跟着一个由2层transformer网络构建的动作分类网络,最终输出为一个动作分类标签。
[0053]
步骤(4),构造损失函数,通过损失函数以及反向传播约束步骤(3)构建的神经网络的训练;按照变量计算的顺序构造如图2所示的概率图模型,由动作数据,子高斯分布的权重系数,子高斯分布,动作特征向量,文本特征向量以及预测标签构成。根据生成过程,动作特征向量在子高斯分布的权重系数和子高斯分布的条件下生成;动作数据由动作特征向量,文本特征向量联合生成;预测标签通过动作数据生成。因此由概率图模型的因式分解以及贝叶斯公式可以得到整个概率图模型的联合概率分布可以分
解为若干条件概率的乘积:
[0054]
在本实例中,、、服从标准高斯分布;此处不需要考虑和,在计算损失函数的时候两者会分别退化为均方误差损失和交叉熵损失。
[0055]
在变分阶段,子高斯分布的权重系数由动作数据,文本特征向量联合生成;子高斯分布以及子高斯分布的权重系数通过动作数据以及文本特征向量联合求解得到,动作特征向量通过子高斯分布以及子高斯分布的权重系数联合求解得到。变分阶段的概率图联合概率分布也可以分解为若干条件概率的乘积:
[0056]
在本实例中,假设服从高斯分布,高斯分布的均值与方差通过神经网络计算得到。在实现中, p(*)相关的概率都相当于是真实概率,q(*)相关的概率都是神经网络计算得到的概率,vae的基本思想就是通过神经网络拟合q尽可能的接近于p,并且完成生成任务。
[0057]
由标准vae的损失函数推导过程可以得到变分下界(elbo):
[0058][0059][0060][0061][0062]
上式中表示求分布的期望。最终的损失函数共由五项组成,分别表示为动作重构项(),标签重构项 (),w先验项(),z先验项()以及条件先验项()。动作重构项在动作数据集上选择为均方误差损失函数;标签重构项选择为交叉熵损失函数。其中表示计算分布与分布的kl散度。w先验项、z先验项以及条件先验项可以根据高斯分布与标准高斯分布的kl散度解析形式进行直接求解,其解析表达式为:
[0063]
其中表示均值为,方差为的高斯分布。,条件先验项的计算可以表示为:
[0064][0065]
其中表示第个子高斯分布,表示第个子高斯分布。
[0066]
步骤(4b),fisher正则化项:为使得不同子分布的样本点尽可能的远离、单一子分布的样本尽可能的聚合,使子分布的权重对子分布有着更好的控制效果,这里使用类内距离与类间距离的比值作为正则项控制子分布之间相互独立。定义类内距离为,类间距离为,其中为动作编码器部分求得的子分布的权重、均值与方差。fisher正则化项的计算方法为:
[0067]
其中表示求矩阵a的迹,k表示子分布个数,每个子高斯分布的采样数量相同。
[0068]
最终的损失函数表示为:
[0069]
步骤(5),如图3所示,推理过程为:从训练好的高斯混合分布中采样得到动作特征向量。将文本标签依次经过大文本预训练模型得到复杂文本描述,再使用大文本预训练模型得到初始文本特征,经过文本编码器编码之后得到文本特征向量;将文本特征向量与动作特征向量拼接以及层次化特征编码作为动作解码器的输入,动作解码器输出的结果为预测的动作序列,此时动作解码器的注意力机制计算为:
[0070]
其中表示全零向量加上位置编码。
[0071]
按照上述方案,在humanact13数据集上的生成如图4所示,每一行表示同一文本标签生成的5个不同的动作,从图中可以看到生成的动作与描述的文本基本一致,且动作多样性高。
[0072]
以上所述仅为本发明的具体实施例,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于文本标签生成3d人体动作的方法,其特征在于,包括如下步骤:步骤1,收集人体动作数据,并为每一个动作数据添加一个动作标签;步骤2,对动作标签构成的集合进行预处理,得到动作标签对应的初始文本特征;步骤3,构造以高斯混合模型和transformer-unet为基础的生成模型,所述生成模型包括:动作编码器、文本编码器以及动作解码器;所述文本编码器对初始文本特征编码之后,得到文本特征;所述动作编码器由全连接网络和transformer模块构成,用于对采集的动作数据进行编码,并将编码结果输入的动作解码器得到预测的动作序列;步骤4,构造损失函数,通过损失函数以及反向传播约束生成模型的训练,利用训练好的生成模型生成人体动作序列。2.如权利要求1所述的一种基于文本标签生成3d人体动作的方法,其特征在于:步骤2中将所有的动作标签构成的集合称之为,使用大规模文本预训练模型扩写动作标签,得到与标签对应的复杂文本集合记作,其中存在一一对应关系;随后再次使用大规模文本预训练模型对复杂文本集合进行编码,得到初始文本特征集合,其中存在一一对应关系,称之为初始文本特征。3.如权利要求2所述的一种基于文本标签生成3d人体动作的方法,其特征在于:所述大规模文本预训练模型为gpt-3或gpt-4模型。4.如权利要求1所述的一种基于文本标签生成3d人体动作的方法,其特征在于:文本编码器由层transformer模块和层全连接网络构成,最终输出的结果为一个长度为的特征向量:;其中表示初始文本特征向量。5.如权利要求1所述的一种基于文本标签生成3d人体动作的方法,其特征在于:动作编码器由层transformer模块和3层的全连接网络构成,最终输出四个结果,分别为层次化特征编码,个子高斯分布的均值、方差以及权重向量, 其中表示第个高斯分布的均值和方差,此时构建得到一个均值为,方差为的高斯混合分布,从高斯混合分布中采样得到隐变量,将文本特征与隐变量拼接得到隐变量,以及层次化特征编码作为动作解码器的输入,动作解码器输出的结果为预测的动作序列;具体的:在动作编码器中,第层的transformer模块输出层次化特征编码;transformer模块最后一层的输出作为全连接网络的输入,将全连接网络的输入手动划分为的三部分,第一部分表示子高斯分布的权重,后面两个部分分别表示k个均值向量与k个方差向量;动作编码器表示为:;其中表示原始的动作序列,表示第层编码器计算得到的下采样特征,为一个长度为k的向量,表示高斯子高斯分布的权重,表示子高
斯分布的均值与方差组成的均值矩阵与方差矩阵。6.如权利要求1所述的一种基于文本标签生成3d人体动作的方法,其特征在于:动作解码器由层改进transformer模块以及1层全连接网络构成,改进transformer模块的注意力机制计算如下:;其中,表示当前训练轮次除以总训练轮次,表示全零向量加位置编码,此处的位置编码同标准的transformer一样,使用正余弦函数生成;表示第个改进transformer模块的输出,z表示从高斯混合分布中采样得到的隐变量,表示隐变量的维度;softmax函数表示归一化指数函数,其计算公式为:;其中,表示第i个节点的输出值,c为输出节点的个数,即分类的类别个数;最后一层transformer模块的输出,经过全连接网络,最后改变形状为的张量,即为生成的3d人体动作;在生成的人体动作之后,跟着一个由2层transformer网络构建的动作分类网络,最终输出为一个动作分类标签。7.如权利要求1所述的一种基于文本标签生成3d人体动作的方法,其特征在于:步骤4中的损失函数的构建过程如下;首先构造概率图模型,由动作数据,子高斯分布的权重系数,子高斯分布,动作特征向量,文本特征向量以及预测标签构成,根据生成过程,动作特征向量在子高斯分布的权重系数和子高斯分布的条件下生成;动作数据由动作特征向量,文本特征向量联合生成;预测标签通过动作数据生成,因此由概率图模型的因式分解以及贝叶斯公式可以得到整个概率图模型的联合概率分布可以分解为若干条件概率的乘积:;、、服从标准高斯分布;在变分阶段,子高斯分布的权重系数由动作数据,文本特征向量联合生成;子高斯分布以及子高斯分布的权重系数通过动作数据以及文本特征向量联合求解得到,动作特征向量通过子高斯分布以及子高斯分布的权重系数联合求解得到;变分阶段的概率图联合概率分布也可以分解为若干条件概率的乘积:;服从高斯分布,高斯分布的均值与方差通过生成模型计算得到;由标准vae的损失函数推导过程得到变分下界,其表达式如下:;;
;;;共由五项组成,分别表示为动作重构项,标签重构项,w先验项,z先验项以及条件先验项;动作重构项在动作数据集上选择为均方误差损失函数;标签重构项选择为交叉熵损失函数;其中表示计算分布与分布的kl散度;w先验项、z先验项以及条件先验项根据高斯分布与标准高斯分布的kl散度解析形式进行直接求解;表示期望;fisher正则化项的计算方法为:;其中表示求矩阵a的迹,定义类内距离为,类间距离为,其中为动作编码器部分求得的子分布的权重、均值与方差,k表示子分布个数,每个子高斯分布的采样数量相同;最终的损失函数表示为:。8.如权利要求7所述的一种基于文本标签生成3d人体动作的方法,其特征在于:kl散度解析形式表达式为:;其中表示均值为,方差为的高斯分布;,条件先验项的计算可以表示为:;;其中表示第个子高斯分布,表示第个子高斯分布。9.如权利要求6所述的一种基于文本标签生成3d人体动作的方法,其特征在于:步骤4中利用训练好的生成模型生成人体动作序列的具体实现方式如下;从训练好的高斯混合分布中采样得到动作特征向量,将文本标签依次经过大文本预训练模型得到复杂文本描述,再次使用大文本预训练模型得到初始文本特征,经过文本编码器编码之后得到文本特征向量,将文本特征
与动作特征拼接以及层次化特征编码作为动作解码器的输入,动作解码器输出的结果为预测的动作序列,此时动作解码器的注意力机制计算为:;其中表示全零向量加上位置编码。
技术总结
本发明公开了一种基于文本标签生成3D人体动作的方法。本发明构建了一个新的概率图模型,并得到一个含有标签重构项、数据重构项以及高斯混合KL散度的损失函数;通过引入Fisher距离使得不同子分布之间相互解耦、互不纠缠;使用大规模文本预训练模型序列化文本标签,以达到丰富文本语义注入的目的,使得文本语义信息表述更加接近真实语言环境;使用TransformerUnet网络结构增加模型的稳定性。本发明解决了由于变分下界建模不准确导致生成数据与真实数据区别较大的问题,由于高斯混合分布相互干扰,生成动作不可控的问题;由于训练的标签数据不充足,导致文本语义信息注入不准确的问题。不准确的问题。不准确的问题。
技术研发人员:杜小勤 周佳爽 刘咏琪 文吾琦
受保护的技术使用者:武汉纺织大学
技术研发日:2023.08.18
技术公布日:2023/9/26
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/