CN114170353A - 一种基于神经网络的多条件控制的舞蹈生成方法及系统 - Google Patents

一种基于神经网络的多条件控制的舞蹈生成方法及系统 Download PDF

Info

Publication number
CN114170353A
CN114170353A CN202111229306.0A CN202111229306A CN114170353A CN 114170353 A CN114170353 A CN 114170353A CN 202111229306 A CN202111229306 A CN 202111229306A CN 114170353 A CN114170353 A CN 114170353A
Authority
CN
China
Prior art keywords
joint
sequence
neural network
root
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111229306.0A
Other languages
English (en)
Other versions
CN114170353B (zh
Inventor
潘俊君
王思元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202111229306.0A priority Critical patent/CN114170353B/zh
Publication of CN114170353A publication Critical patent/CN114170353A/zh
Application granted granted Critical
Publication of CN114170353B publication Critical patent/CN114170353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种基于神经网络的多条件控制的舞蹈生成方法及系统,其方法包括:S1:定义控制条件:关键帧动作信息、根关节轨迹序列和速度因子序列;S2:对舞蹈动作数据进行归一化处理;S3:基于两个LSTM模块构建神经网络,以上一时间步的归一化的动作信息和控制条件作为神经网络的输入,输出关键帧之间的转换动作;设定损失函数对神经网络进行约束;S4:将神经网络的输出的关节点位置信息进行最终展示;同时,定义了量化评估指标对结果进行评估。本发明提供的方法在各种评价标准上获得了更好的效果,角色动画的质量也更高,实现了复杂舞蹈动作的精确控制,并且可以接收多个控制条件的输入,生成的复杂舞蹈动作,技术的鲁棒性高。

Description

一种基于神经网络的多条件控制的舞蹈生成方法及系统
技术领域
本发明涉及图形学的动画领域,具体涉及一种基于神经网络的多条件控制的舞蹈生成方法及系统。
背景技术
计算机图形学和计算机动画技术已经被应用于影视、游戏、医学模拟和场景重现等各个方面。然而,由于一些技术上的困难,构建复杂的舞蹈动画是相当麻烦的。早期的动画是由动画师设计并逐帧绘制出来的,制作一部动画要耗费大量的人力。随着计算机的普及,关键帧技术逐渐被应用,动画师只需要设计部分关键帧的动画,然后通过对关键帧动作进行插值来生成完整的动画。由于人对动作是极其敏感的,要通过关键帧技术设计出真实的动画就需要动画师对角色的运动方式反复的观察和模仿。随着人们对动画真实度和动画制作效率的追求,各种动作捕捉技术逐渐发展起来,利用传感器、光学设备甚至视频信息对人进行动作捕捉渐渐成为构建真实动画的常用方法。传感器和光学捕捉设备可以取得较好的结果,但仍需要一定程度的人工修改才可以使用,由于其较高的成本仍然无法普及使用。而通过视频进行姿态估计得到的动画还不够完善,需要大量的人工干预才能使用。
由于动画构建的困难,基于数据驱动的动画生成和控制方法逐渐发展起来。基于现有的动画数据,研究者使用多种方法对角色动画进行预测和控制,期望能生成符合用户要求的真实自然的动画。传统的动画生成和控制方法主要基于统计学方法和经典的运动图方法,这类方法需要对数据进行一些预处理,且往往是在数据库中搜索符合条件的动作,不具备产生新动作的能力。近年来,较多研究者使用深度神经网络的方法对角色动画进行预测和控制,且取得了较好的效果。这些研究主要聚焦于走路、跑步等较为简单的动作的预测和控制,往往在简单动作上取得较好结果,但放到舞蹈、武术等复杂动作上,效果就不尽人意。虽有少数研究对舞蹈进行预测,但其生成的舞蹈动作是无法控制。这些网络得到的结果往往会存在一些脚部问题,如脚部浮动、滑动等,需要一定的后处理才能得到更加自然的效果。给定关键帧的动作,生成关键帧之间的转换动作这个问题很早被人们关注,近几年也有一些研究使用神经网络来解决这一问题,但这些研究在复杂动作的生成上仍有不足之处。
发明内容
为了解决上述技术问题,本发明提供一种基于神经网络的多条件控制的舞蹈生成方法及系统。
本发明技术解决方案为:一种基于神经网络的多条件控制的舞蹈生成方法,包括:
步骤S1:定义控制条件,包括:关键帧动作信息、根关节轨迹序列和速度因子序列;
步骤S2:处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的所述归一化的动作信息和所述控制条件作为所述神经网络的输入,输出所述关键帧之间的转换动作;其中,采用全连接层对所述关键帧的姿势信息进行处理,采用Transformer模块对所述根关节轨迹序列和所述速度因子序列进行处理;同时,设定损失函数对所述神经网络进行约束;
步骤S4:所述神经网络的输出结果为所述关节点的位置信息,通过反向运动学将其转换为所述关节点的旋转信息,并存储为BVH动作数据,将所述动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对所述最终结果进行评估。
本发明与现有技术相比,具有以下优点:
1、本发明公开了一种基于神经网络的多条件控制的舞蹈生成方法,在舞蹈数据集上合成的数据在各种评价标准上获得了更好的效果,角色动画的质量也更高。
2、本发明提供的方法实现了复杂舞蹈动作的精确控制,并且可以接收多个控制条件的输入,得到了复杂条件控制生成的复杂舞蹈动作。
3、本发明提供的方法不仅在复杂动作上取得了较好的效果,也可以生成真实自然的简单动作,比如走路、跑步等动作,技术的鲁棒性高。
附图说明
图1为本发明实施例中一种基于神经网络的多条件控制的舞蹈生成方法的流程图;
图2为本发明实施例中人体根关节以及其他关节的分布及其权重示意图;
图3为本发明实施例中基于Transformer的控制器结构示意图;
图4为本发明实施例中神经网络模型的框架结构示意图;
图5为本发明实施例中角色模型的渲染结果;
图6A为本发明实施例中根关节轨迹1控制条件生成的舞蹈动画结果;
图6B为本发明实施例中根关节轨迹2控制条件生成的舞蹈动画结果;
图7为本发明实施例中神经网络模型的框架结构示意图;
图8为本发明实施例中使用不同速度因子控制条件生成的舞蹈动画结果;
图9为本发明实施例中使用不同序列长度控制条件生成的舞蹈动画结果;
图10为本发明实施例中一种基于神经网络的多条件控制的舞蹈生成系统的结构框图。
具体实施方式
本发明提供了一种基于神经网络的多条件控制的舞蹈生成方法,在舞蹈数据集上合成的数据在各种评价标准上获得了更好的效果,角色动画的质量也更高,并实现了复杂舞蹈动作的精确控制,并且可以接收多个控制条件的输入,得到了复杂条件控制生成的复杂舞蹈动作,同时也可以生成真实自然的简单动作,比如走路、跑步等动作,技术的鲁棒性高。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
实施例一
如图1所示,本发明实施例提供的一种基于神经网络的多条件控制的舞蹈生成方法,包括下述步骤:
步骤S1:定义控制条件,包括:关键帧动作信息、根关节轨迹序列和速度因子序列;
步骤S2:处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的归一化的动作信息和控制条件作为神经网络的输入,输出关键帧之间的转换动作;其中,采用全连接层对关键帧的姿势信息进行处理,采用Transformer模块对根关节轨迹序列和速度因子序列进行处理;同时,设定损失函数对神经网络进行约束;
步骤S4:神经网络的输出结果为关节点的位置信息,通过反向运动学将其转换为关节点的旋转信息,并存储为BVH动作数据,将动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对最终结果进行评估。
如图2所示,将人体分为5个不同的部分,分别是躯干,左臂,右臂,左腿和右腿,其中人体中只有一个根关节,如图2中箭头所示,其余节点表示为人体其他关节,关节上的数字代表了各个关节的权重。
在一个实施例中,上述步骤S1中控制条件表示为
Figure BDA0003315409290000041
其中,关键帧信息包括:
Figure BDA0003315409290000042
Figure BDA0003315409290000043
分别表示k1和k2时刻根关节的三维位置坐标信息,其中根关节是全局位置信息,其他关节的位置信息是相对于根关节的局部位置信息;
Figure BDA0003315409290000044
Figure BDA0003315409290000045
分别表示k1和k2时刻将姿势旋转至面朝z轴正方向的旋转角度,最终生成k1和k2时刻之间的动作序列,记序列长度为N=k2-k1
Figure BDA0003315409290000046
为根关节轨迹序列,其维度为N×3;
Figure BDA0003315409290000047
为速度因子序列,其维度为N×5,N为时间序列的长度,每个时间步包含5个速度因子分量,将人体分为5个不同的部分,分别是躯干,左臂,右臂,左腿和右腿,对五个部分分别计算速度因子,对于身体部分i∈{0,1,2,3,4},在t时刻的速度因子的计算公式(1)为:
Figure BDA0003315409290000048
其中,Ji是部分i的关节集合,wji是关节j在部分i中的权重,
Figure BDA0003315409290000049
是部分i中关节j在t时刻的速度。
在一个实施例中,上述步骤S2:处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
本步骤使用前向运动学对数据进行解析,得到人体关节的全局位置坐标信息。从BVH文件中提取出的数据带有许多冗余的信息,因此需要对这些数据进行变换,剔除掉无用的信息。首先将所有帧的动作都旋转至同一方向(Z轴正方向),再将根关节平移至同一位置(原点),这样可以使神经网络重点关注每一帧的姿势,而不被全局信息影响。即对每帧的每个点进行变换,如公式(2)所示:
Figure BDA00033154092900000410
其中,pi为变化前关节点的位置坐标,其维度为3,p′i为变换后关节点的位置坐标,
Figure BDA0003315409290000051
为变化矩阵,将点pi绕y轴旋转θ,并在平面内将其平移(x0,z0),其中y轴为向上的坐标轴。
在完成了上述变换后,需要提取出(除根关节外的)关节点的局部位置、根关节的全局位置和全局旋转、脚部接触信息、关节点的速度和关节点的加速度信息。脚部接触信息通过对脚部的速度进行检测获得,当脚部关节的速度为0时,则认为此时的脚部与地面是接触的。定义了脚部的四个关节点对其速度进行检测,最终每一帧包含四个脚部接触标签。获得了每一帧的完整数据后,需要对每一帧的动作数据x进行归一化处理,采用以下方法进行归一化,如公式(3)所示,得到归一化的动作信息:
Figure BDA0003315409290000052
其中,μ是数据的均值,σ为数据的方差。
本发明实施例构建神经网络,通过接收控制信号和历史信息,然后生成自然的舞蹈动作序列。给两个不相邻帧k1和k2的动作,生成真实的动作序列实现两个动作的自然过渡。
在一个实施例中,上述步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的归一化的动作信息和控制条件作为神经网络的输入,输出关键帧之间的转换动作;其中,采用全连接层对关键帧的姿势信息进行处理,采用Transformer模块对根关节轨迹序列和速度因子序列进行处理;同时,设定损失函数对神经网络进行约束,具体包括:
步骤S31:神经网络使用三个编码器来接收上一时间步的归一化的动作信息,分别是状态编码器、速度编码器和位置编码器;
其中,状态编码器接收姿势信息关节的局部坐标
Figure BDA0003315409290000053
根关节的全局坐标
Figure BDA0003315409290000054
根关节的旋转角度
Figure BDA0003315409290000055
和脚步接触标签ct
速度编码器对速度信息进行编码;
位置编码器用于计算待预测帧和目标关键帧之间的距离,同时由于三维关节坐标是一种自然的位置编码,使用根轨迹约束中t+1时刻的根关节位置作为位置编码器的输入,增加了相对位置at作为其编码的一部分,at的定义如公式(4):
Figure BDA0003315409290000056
其中,k1和k2分别是控制关键帧的时间索引;t为当前时间索引;
步骤S32:神经网络使用三个控制器来接收控制信息,分别是根轨迹控制器、速度因子控制器和目标控制器,其中,根轨迹控制器和速度因子控制器是基于Transformer模块构建;
根轨迹控制器以根关机轨迹的位置序列作为输入,确保生成的运动沿给定的轨迹运动;
速度因子控制器获取速度因子条件;
目标控制器接收关键帧的姿态信息;
本发明实施例采用Transformer对根轨迹和速度因子控制条件进行编码。如图3所示Transformer模块的输入为
Figure BDA0003315409290000061
Figure BDA0003315409290000062
其中
Figure BDA0003315409290000063
表示以t+1时刻为中心,窗口大小为u的目标根轨迹序列。
Figure BDA0003315409290000064
Figure BDA0003315409290000065
的一个修改,t+1时刻以前的数据被网络的预测结果替换,将其定义为根轨迹混合序列。由于神经网络生成的动作的根关节轨迹与目标根关节轨迹不是完全符合的,两者存在一定的偏差,而当前预测时刻的根关节轨迹不仅需要与过去预测轨迹的结果相连,也需要尽可能符合未来目标轨迹,因此只是给出目标轨迹的编码是不够的,需要将过去时刻神经网络的预测结果也考虑进来。Transformer中的编码器和解码器是由多头自注意力模块(Multi-Head Self-Attention,MHSA)和前馈网络(Feed ForwardNetworks,FFN)组成。MHSA由多个自注意力模块组成,并明确地建模了多个对象之间的相互作用,而FFN用于信息转换,对信息进行编解码。在MHSA和FFN模块后,都进行了残差添加和范数计算。
根轨迹控制器首先接收
Figure BDA0003315409290000066
作为输入,将其投影到嵌入空间中,然后用两个Transformer编码器提取轨迹信息的表示。
Figure BDA0003315409290000067
同样也被投影到特征空间,然后用两个Transformer解码器对其进行解码。Transformer编码器和Transformer解码器之间采用跳跃式连接,提高了信息传递的灵活性。最终,使用线性层对解码结果进行变换,得到根轨迹约束的最终表示形式。
考虑到人在连续时刻的运动应该是连续的,没有突然的变化,速度因子控制器也要感知远程上下文的信息,从而学习平滑的上下文表示。因此,速度因子控制器采用与速度因子控制器的结构与根轨迹控制器结构相同,使用
Figure BDA0003315409290000068
Figure BDA0003315409290000069
来替换
Figure BDA00033154092900000610
Figure BDA00033154092900000611
作为速度因子控制器的输入。其中,
Figure BDA00033154092900000612
是以t+1时刻为中心,窗口为u的给定速度因子序列,而
Figure BDA00033154092900000613
Figure BDA00033154092900000614
中t+1时刻前的数据替换为神经网络预测输出结果,被定义为速度因子混合序列。
步骤S33:神经网络使用两个解码器对预测到的t+1时刻的信息进行解码,分别是根关节解码器和状态解码器;
根关节解码器对根关节的位置、旋转和速度信息进行解码;
状态解码器预测除根关节以外的其他关节的相对位置和速度,以及脚步的接触状态。
上述的状态编码器、速度编码器和目标控制器都由两层的全连接层组成,两层的隐藏单元分别为512和256。位置编码器由一个全连接层组成,隐藏单元维度为512。对于基于Transformer的根轨迹控制器和速度因子控制器,输入数据的窗口大小为7,MHSA模块的头部数量和嵌入维度分别为8和32,三个线性层的维度被设置为256。状态解码器和根解码器都由三层全连接层组成,其隐藏层的维度分别为512和256。使用参数化修正线性单元(Parametric Rectified Linear Unit,PReLU)作为所有编码器、解码器和目标控制器的激活函数。对于基于Transformer的轨迹控制器和速度因子控制器,本发明实施例遵循与经典Transformer相同的激活函数和结构。
由于本发明实施例中要接收的数据比较复杂,因此本发明实施例的神经网络采用两个分层的LSTM模块对数据进行处理,这样可以解决单个LSTM模块无法处理多种复杂数据的问题,使得神经网络可以获得更好的结果。
步骤S34:第一个LSTM模块接收状态编码器和速度编码器的输出,同时接收根轨迹控制器和速度因子控制器得到的控制条件的嵌入表示,输出与目标控制器得到的关键帧的表示连接起来,并将得到的结果输入到第二个LSTM模块中,得到关键帧之间的转换动作;
在本发明实施例中采用计划采样机制来选择LSTM在每个时间步中的输入。具体来说,首先定义一个抽样概率β,在预测不同时间步的动作时,以β的可能性选择真实数据作为网络的输入,以1-β的可能性选择网络上一个时间步的输出作为网络的输入。开始时,将β设为1,随着训练的进行,β呈指数衰减,该学习策略能使网络更加稳定地收敛,使得最终生成的动作更加自然。
本发明实施例中的两个LSTM模块的隐藏单元维度为256。
如图4所示,为本发明实施例的神经网络模型的框架结构示意图,展示了两个LSTM模块、三个编码器、三个控制器以及两个解码器之间的结构关系。
步骤S35:根据神经网络的结构和目标,定义了多个损失项,包括:重建损失
Figure BDA0003315409290000071
姿势一致性损失
Figure BDA0003315409290000072
根关节平滑损失
Figure BDA0003315409290000073
关键帧一致性损失
Figure BDA0003315409290000074
速度因子一致性
Figure BDA0003315409290000075
损失和总损失函数:
其中,重建损失
Figure BDA0003315409290000076
使用均方误差MSE来计算的,可以使神经网络产生与真实数据一致的运动序列,重建损失如公式(5)所示:
Figure BDA0003315409290000077
其中,N是序列长度;重建损失惩罚了每个时刻的关节位置,根关节旋转,脚步接触标签和关节速度;
姿势一致性损失
Figure BDA0003315409290000078
被用来保证不同属性信息之间的一致性。使用单独的关节信息来训练神经网络,则关节之间的联系可能被网络所忽略,因此使用骨长一致性损失
Figure BDA0003315409290000081
来强制网络生成与真实骨骼长度一致的动作。根据预测的姿势信息可以推断出脚步接触标签和关节速度,因此引入了脚步接触标签一致性损失
Figure BDA0003315409290000082
和关节速度一致性损失
Figure BDA0003315409290000083
来防止自相矛盾的信息被生成。
姿势一致性
Figure BDA0003315409290000084
损失包含:骨长一致性损失
Figure BDA0003315409290000085
脚步接触标签一致性损失
Figure BDA0003315409290000086
和关节速度一致性损失
Figure BDA0003315409290000087
分别如公式(6)~(9)所示:
Figure BDA0003315409290000088
Figure BDA0003315409290000089
Figure BDA00033154092900000810
Figure BDA00033154092900000811
其中,在
Figure BDA00033154092900000812
Figure BDA00033154092900000813
表示在角色骨架中所有自然连接的关节的索引对集合,lij是关节i和关节j连接成的骨骼的真实长度,可以通过
Figure BDA00033154092900000814
Figure BDA00033154092900000815
的距离计算得到;通过对真实骨骼长度和预测得到的长度不一致的惩罚,可以强制预测的姿势信息的正确性;
Figure BDA00033154092900000816
中,
Figure BDA00033154092900000817
是脚步接触关节的索引集合,
Figure BDA00033154092900000818
是关节i的预测脚步接触标签,当
Figure BDA00033154092900000819
1时表示该关节与地面接触,
Figure BDA00033154092900000820
时表示不接触,当该关节速度
Figure BDA00033154092900000821
为0时,则表示其与地面接触;当该关节速度
Figure BDA00033154092900000822
为0时,则表示其与地面接触,将
Figure BDA00033154092900000823
的L2范式与
Figure BDA00033154092900000824
相乘,通过惩罚该项以强制所预测的脚步接触标签和所预测的关节速度保持一致。
Figure BDA00033154092900000825
中,
Figure BDA00033154092900000826
是所有关节的索引集合,通过当前时刻t的关节位置减去上一时刻t-1的关节位置可以得到关节的速度;通过惩罚从关节位置推断出的速度与神经网络预测得到的速度之间的差异,可以有效地保证速度信息的一致性。
根关节平滑损失如公式(10)所示:
Figure BDA00033154092900000827
根关节平滑损失最小化根关节在t时刻和t-1时刻的位置及旋转角度的差异,加强在时间上的一致性。该损失项对根关节进行约束,使根关节可以自然平滑的过渡。
本发明构建的神经网络的主要任务之一是生成给定关键帧之间的自然过渡,这意味着需要确保预测的运动在关键帧附近和关键帧处的连续性。因此,关键帧一致性损失
Figure BDA00033154092900000828
用来完成这一目标,关键帧一致性损失
Figure BDA00033154092900000829
如公式(11)所示:
Figure BDA00033154092900000830
其中,m是受关键帧影响的帧数;当仅使用关键帧的信息计算关键帧一致性损失时,关键帧处存在明显的不连续现象,因此对关键帧附近的m帧都施加约束。当N>2m时,对关键帧k1或k2附近的m帧施加约束;当N≤2m时,中间的N帧受关键帧k1和k2的混合结果的影响,使用
Figure BDA0003315409290000091
作为影响因子来确定两个关键帧在t时刻对预测姿势的影响权重;通过对关键帧附近的姿态施加时间一致性约束,生成的舞蹈序列可以在给定的关键帧处实现平滑的过渡。在本发明实施例的训练过程中,将m设置为5。
为了使合成舞蹈序列的速度因子与给定的控制条件一致,提出了速度因子一致性损失
Figure BDA0003315409290000092
在获得神经网络的输出后,可以计算生成的每一帧动作的速度因子,通过惩罚推测出的速度因子和给定速度因子的差别,可以强制生成的动作符合给定的速度因子条件。速度因子一致性
Figure BDA0003315409290000096
损失如公式(12)所示:
Figure BDA0003315409290000093
其中,
Figure BDA0003315409290000094
是在t时刻的速度因子;
总损失函数如下述公式(13)所示:
Figure BDA0003315409290000095
其中,wrec,wcon,wroot,wkey,wvfac是各个损失项对应的权重。在本发明实施例的训练过程中,这些权重的取值分别为0.3,0.2,0.15,0.2和0.15。
发明实施例使用语言为Python,设备为Intel(R)i7 8700K CPU(4.8GHz,8核)和32GB RAM,运行在Windows 10 64位系统上。本发明实施例使用的舞蹈数据共包含123段现代舞,选取其中80%的数据段,共98个舞蹈片段,93347帧数据用于训练,剩下的25个舞蹈片段,20897帧用于测试。使用可变长度的动作序列来训练网络。训练中使用的最小序列长度为min_len为5,最大序列长度为max_len为70。对于每个时期,设置当前的min_len和max_len,用来表示当前epoch的序列长度范围。在训练的早期阶段,min_len和max_len都被设置为5,max_len在每个时期后增加1。这样,随着训练的进行,每一轮的训练数据长度范围逐渐增加。为了防止在长度较小的舞蹈序列上重复学习,每5个时期让min_len增加4。当max_len大于70时,训练过程中止。
在得到了神经网络数据的输出后,将输出的位置坐标转换为旋转数据,并将动作数据存储为BVH文件格式。为了更好地展示得到的结果,在Maya中建立了角色模型,并绑定骨骼。通过Python脚本将BVH格式的动作数据导入到Maya的角色骨架上,对生成的动作序列进行展示。
在一个实施例中,上述步骤S4:神经网络的输出结果为关节点的位置信息,通过反向运动学将其转换为关节点的旋转信息,并存储为BVH动作数据,将动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对最终结果进行评估,具体包括:
在得到了神经网络数据的输出后,将输出的位置坐标转换为旋转数据,并将动作数据存储为BVH文件格式。为了更好地展示得到的结果,在Maya中建立了角色模型,并绑定骨骼。通过Python脚本将BVH格式的动作数据导入到Maya的角色骨架上,对生成的动作序列进行展示。其中,量化评估指标,具体包括:关节位置评价标准,速度因子评价标准,根轨迹评价标准;
关节位置评价指标LRP计算公式(14)如下所示:
Figure BDA0003315409290000101
其中,
Figure BDA0003315409290000102
是测试数据集,
Figure BDA0003315409290000103
为测试数据集中动作序列的数量,c是
Figure BDA0003315409290000104
中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度。
Figure BDA0003315409290000105
是序列c中t时刻的除了根关节外其他关节的相对位置坐标,
Figure BDA0003315409290000106
为对应的真实值;
速度因子评价指标AVF的计算公式(15)~(16)如下所示:
Figure BDA0003315409290000107
Figure BDA0003315409290000108
其中,本发明实施例定义了容错阈值δv和δr分别计算速度因子和根轨迹的相应精度,计算预测结果的速度因子属性和对应真实值之间的差异,如果该差异小于δv,则认为其是准确的,否则,认为它超出了正确值的范围;
Figure BDA0003315409290000109
是测试数据集,c是
Figure BDA00033154092900001018
中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gv(c)是序列c速度因子的偏差,M是速度因子的维度,
Figure BDA00033154092900001010
是序列c预测结果中部分i在t时刻的速度因子,
Figure BDA00033154092900001011
为对应的控制条件;
根轨迹评价指标ART的计算公式(17)~(18)如下所示:
Figure BDA00033154092900001012
Figure BDA00033154092900001013
其中,
Figure BDA00033154092900001014
是测试数据集,c是
Figure BDA00033154092900001015
中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gr(c)是序列c根轨迹的偏差,
Figure BDA00033154092900001016
是序列c预测结果在t时刻的根关节全局位置,
Figure BDA00033154092900001017
为对应的控制条件。在本发明实施例中,δv和δr分别取1.0和7.0。
图5为本发明实施例中角色模型的渲染结果;
图6A和图6B为分别使用不同根关节轨迹控制条件生成的舞蹈动画结果;
图7为使用不同速度因子控制条件生成的舞蹈动画结果;
图8为使用不同序列长度控制条件生成的舞蹈动画结果;
图9为本发明实施例用于跑步动作生成的结果。
本发明公开了一种基于神经网络的多条件控制的舞蹈生成方法,在舞蹈数据集上合成的数据在各种评价标准上获得了更好的效果,角色动画的质量也更高。本发明提供的方法实现了复杂舞蹈动作的精确控制,并且可以接收多个控制条件的输入,得到了复杂条件控制生成的复杂舞蹈动作。本发明提供的方法不仅在复杂动作上取得了较好的效果,也可以生成真实自然的简单动作,比如走路、跑步等动作,技术的鲁棒性高。
实施例二
如图10所示,本发明实施例提供了一种基于神经网络的多条件控制的舞蹈生成系统,包括下述模块:
定义控制条件模块,用于定义控制条件,包括:关键帧动作信息、根关节轨迹序列和速度因子序列;
归一化动作信息模块,用于处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
获取关键帧转换动作模块,用于基于两个LSTM模块构建神经网络,以上一时间步的归一化的动作信息和控制条件作为神经网络的输入,输出关键帧之间的转换动作;其中,采用全连接层对关键帧的姿势信息进行处理,采用Transformer模块对根关节轨迹序列和速度因子序列进行处理;同时,设定损失函数对神经网络进行约束;
评估模块,用于神经网络的输出结果为关节点的位置信息,通过反向运动学将其转换为关节点的旋转信息,并存储为BVH动作数据,将动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对最终结果进行评估。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (5)

1.一种基于神经网络的多条件控制的舞蹈生成方法,其特征在于,包括:
步骤S1:定义控制条件,包括:关键帧动作信息、根关节轨迹序列和速度因子序列;
步骤S2:处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的所述归一化的动作信息和所述控制条件作为所述神经网络的输入,输出所述关键帧之间的转换动作;其中,采用全连接层对所述关键帧的姿势信息进行处理,采用Transformer模块对所述根关节轨迹序列和所述速度因子序列进行处理;同时,设定损失函数对所述神经网络进行约束;
步骤S4:所述神经网络的输出结果为所述关节点的位置信息,通过反向运动学将其转换为所述关节点的旋转信息,并存储为BVH动作数据,将所述动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对所述最终结果进行评估。
2.根据权利要求1所述的基于神经网络的多条件控制的舞蹈生成方法,其特征在于,所述步骤S1中所述控制条件表示为
Figure FDA0003315409280000011
其中,所述关键帧信息包括:
Figure FDA0003315409280000012
Figure FDA0003315409280000013
分别表示k1和k2时刻所述根关节的三维位置坐标信息,其中所述根关节是全局位置信息,其他关节的位置信息是相对于所述根关节的局部位置信息;
Figure FDA0003315409280000014
Figure FDA0003315409280000015
分别表示k1和k2时刻将姿势旋转至面朝Z轴正方向的旋转角度,最终生成k1和k2时刻之间的动作序列,记序列长度为N=k2-k1
Figure FDA0003315409280000016
为所述根关节轨迹序列,其维度为N×3;
Figure FDA0003315409280000017
为所述速度因子序列,其维度为N×5,N为时间序列的长度,每个时间步包含5个速度因子分量,将人体分为5个不同的部分,分别是躯干,左臂,右臂,左腿和右腿,对五个部分分别计算速度因子,对于身体部分i∈{0,1,2,3,4},在t时刻的所述速度因子的计算公式(1)为:
Figure FDA0003315409280000018
其中,Ji是部分i的关节集合,wji是关节j在部分i中的权重,
Figure FDA0003315409280000019
是部分i中关节j在t时刻的速度。
3.根据权利要求1所述的基于神经网络的多条件控制的舞蹈生成方法,其特征在于,所述步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的所述归一化的动作信息和所述控制条件作为所述神经网络的输入,输出所述关键帧之间的转换动作;其中,采用全连接层对所述关键帧的姿势信息进行处理,采用Transformer模块对所述根关节轨迹序列和所述速度因子序列进行处理;同时,设定损失函数对所述神经网络进行约束,具体包括:
步骤S31:所述神经网络使用三个编码器来接收上一时间步的所述归一化的动作信息,分别是状态编码器、速度编码器和位置编码器;
其中,所述状态编码器接收姿势信息关节的局部坐标
Figure FDA0003315409280000021
根关节的全局坐标
Figure FDA0003315409280000022
根关节的旋转角度
Figure FDA0003315409280000023
和脚步接触标签ct
所述速度编码器对速度信息进行编码;
所述位置编码器用于计算待预测帧和目标关键帧之间的距离,使用根轨迹约束中t+1时刻的根关节位置作为所述位置编码器的输入,并增加了相对位置at作为其编码的一部分,at的定义如公式(2):
Figure FDA0003315409280000024
其中,k1和k2分别是控制所述关键帧的时间索引;t为当前时间索引;
步骤S32:所述神经网络使用三个控制器来接收所述控制信息,分别是根轨迹控制器、速度因子控制器和目标控制器,其中,所述根轨迹控制器和所述速度因子控制器是基于Transformer模块构建;
所述根轨迹控制器以根关节轨迹的位置序列作为输入,确保生成的运动沿给定的轨迹运动;
所述速度因子控制器获取速度因子条件;
所述目标控制器接收关键帧的姿态信息;
步骤S33:所述神经网络使用两个解码器对预测到的t+1时刻的信息进行解码,分别是根关节解码器和状态解码器;
所述根关节解码器对所述根关节的位置、旋转和速度信息进行解码;
所述状态解码器预测除所述根关节以外的其他关节的相对位置和速度,以及脚步的接触状态;
步骤S34:第一个所述LSTM模块接收所述状态编码器和所述速度编码器的输出,同时接所述收根轨迹控制器和所述速度因子控制器得到的控制条件的嵌入表示,输出与所述目标控制器得到的所述关键帧的表示连接起来,并将得到的结果输入到第二个所述LSTM模块中,得到所述关键帧之间的转换动作;
步骤S35:根据所述神经网络的结构和目标,定义了多个损失项,包括重建损失
Figure FDA0003315409280000031
姿势一致性损失
Figure FDA0003315409280000032
根关节平滑损失
Figure FDA0003315409280000033
关键帧一致性损失
Figure FDA0003315409280000034
和速度因子一致性
Figure FDA0003315409280000035
损失:
其中,所述重建损失
Figure FDA0003315409280000036
使用均方误差MSE来计算的,可以使所述神经网络产生与真实数据一致的运动序列,所述重建损失如公式(5)所示:
Figure FDA0003315409280000037
其中,N是序列长度;所述重建损失惩罚了每个时刻的关节位置,根关节旋转,脚步接触标签和关节速度;
所述姿势一致性
Figure FDA0003315409280000038
损失包含:骨长一致性损失
Figure FDA0003315409280000039
脚步接触标签一致性损失
Figure FDA00033154092800000310
和关节速度一致性损失
Figure FDA00033154092800000311
分别如公式(6)~(9)所示:
Figure FDA00033154092800000312
Figure FDA00033154092800000313
Figure FDA00033154092800000314
Figure FDA00033154092800000315
其中,在
Figure FDA00033154092800000316
Figure FDA00033154092800000317
表示在角色骨架中所有自然连接的关节的索引对集合,lij是关节i和关节j连接成的骨骼的真实长度,可以通过
Figure FDA00033154092800000318
Figure FDA00033154092800000319
的距离计算得到;
Figure FDA00033154092800000320
中,
Figure FDA00033154092800000321
是脚步接触关节的索引集合,
Figure FDA00033154092800000322
是关节i的预测脚步接触标签,当
Figure FDA00033154092800000323
Figure FDA00033154092800000324
时表示该关节与地面接触,
Figure FDA00033154092800000325
时表示不接触,当该关节速度
Figure FDA00033154092800000326
为0时,则表示其与地面接触;
Figure FDA00033154092800000327
中,
Figure FDA00033154092800000328
是所有关节的索引集合,通过当前时刻t的关节位置减去上一时刻t-1的关节位置可以得到关节的速度;
所述根关节平滑损失如公式(10)所示:
Figure FDA00033154092800000329
所述根关节平滑损失最小化所述根关节在t时刻和t-1时刻的位置及旋转角度的差异;
所述关键帧一致性损失
Figure FDA00033154092800000330
如公式(11)所示:
Figure FDA00033154092800000331
其中,m是受所述关键帧影响的帧数;当N>2m时,对所述关键帧k1或k2附近的m帧施加约束;当N≤2m时,中间的N帧受所述关键帧k1和k2的混合结果的影响,使用
Figure FDA0003315409280000041
作为影响因子来确定两个关键帧在t时刻对预测姿势的影响权重;
所述速度因子一致性
Figure FDA0003315409280000042
损失如公式(12)所示:
Figure FDA0003315409280000043
其中,
Figure FDA0003315409280000044
是在t时刻的速度因子;
所述总损失函数如下述公式(13)所示:
Figure FDA0003315409280000045
其中,wrec,wcon,wroot,wkey,wvfac是各个损失项对应的权重。
4.根据权利要求1所述的基于神经网络的多条件控制的舞蹈生成方法,其特征在于,所述步骤S4中所述量化评估指标,具体包括:关节位置评价标准,速度因子评价标准,根轨迹评价标准;
所述关节位置评价指标LRP计算公式(14)如下所示:
Figure FDA0003315409280000046
其中,
Figure FDA0003315409280000047
是测试数据集,
Figure FDA0003315409280000048
为测试数据集中动作序列的数量,c是
Figure FDA0003315409280000049
中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度,
Figure FDA00033154092800000410
是序列c中t时刻的除了根关节外其他关节的相对位置坐标,
Figure FDA00033154092800000411
为对应的真实值;
所述速度因子评价指标AVF的计算公式(15)~(16)如下所示:
Figure FDA00033154092800000412
Figure FDA00033154092800000413
其中,容错阈值δv和δr分别计算速度因子和根轨迹的相应精度,计算预测结果的速度因子属性和对应真实值之间的差异,如果该差异小于δv,则认为其是准确的,否则,认为它超出了正确值的范围;
Figure FDA00033154092800000414
是测试数据集,c是
Figure FDA00033154092800000415
中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gv(c)是序列c速度因子的偏差,M是速度因子的维度,
Figure FDA00033154092800000416
是序列c预测结果中部分i在t时刻的速度因子,
Figure FDA00033154092800000417
为对应的控制条件;
所述根轨迹评价指标ART的计算公式(17)~(18)如下所示:
Figure FDA00033154092800000418
Figure FDA00033154092800000419
其中,
Figure FDA00033154092800000420
是测试数据集,c是
Figure FDA00033154092800000421
中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gr(c)是序列c根轨迹的偏差,
Figure FDA0003315409280000051
是序列c预测结果在t时刻的所述根关节全局位置,
Figure FDA0003315409280000052
为对应的控制条件。
5.一种基于神经网络的多条件控制的舞蹈生成系统,其特征在于,包括下述模块:
定义控制条件模块,用于定义控制条件,包括:关键帧动作信息、根关节轨迹序列和速度因子序列;
归一化动作信息模块,用于处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
获取关键帧转换动作模块,用于基于两个LSTM模块构建所述神经网络,以上一时间步的所述归一化的动作信息和所述控制条件作为所述神经网络的输入,输出所述关键帧之间的转换动作;其中,采用全连接层对所述关键帧的姿势信息进行处理,采用Transformer模块对所述根关节轨迹序列和所述速度因子序列进行处理;同时,设定损失函数对所述神经网络进行约束;
评估模块,用于所述神经网络的输出结果为所述关节点的位置信息,通过反向运动学将其转换为所述关节点的旋转信息,并存储为BVH动作数据,将所述动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对所述最终结果进行评估。
CN202111229306.0A 2021-10-21 2021-10-21 一种基于神经网络的多条件控制的舞蹈生成方法及系统 Active CN114170353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111229306.0A CN114170353B (zh) 2021-10-21 2021-10-21 一种基于神经网络的多条件控制的舞蹈生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111229306.0A CN114170353B (zh) 2021-10-21 2021-10-21 一种基于神经网络的多条件控制的舞蹈生成方法及系统

Publications (2)

Publication Number Publication Date
CN114170353A true CN114170353A (zh) 2022-03-11
CN114170353B CN114170353B (zh) 2024-05-24

Family

ID=80477133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111229306.0A Active CN114170353B (zh) 2021-10-21 2021-10-21 一种基于神经网络的多条件控制的舞蹈生成方法及系统

Country Status (1)

Country Link
CN (1) CN114170353B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114972441A (zh) * 2022-06-27 2022-08-30 南京信息工程大学 一种基于深度神经网络的运动合成框架
WO2024012007A1 (zh) * 2022-07-15 2024-01-18 腾讯科技(深圳)有限公司 一种动画数据生成方法、装置及相关产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853670A (zh) * 2019-11-04 2020-02-28 南京理工大学 音乐驱动的舞蹈生成方法
US20200342646A1 (en) * 2019-04-23 2020-10-29 Adobe Inc. Music driven human dancing video synthesis
CN112037310A (zh) * 2020-08-27 2020-12-04 成都先知者科技有限公司 基于神经网络的游戏人物动作识别生成方法
CN112330779A (zh) * 2020-11-04 2021-02-05 北京慧夜科技有限公司 一种生成角色模型舞蹈动画的方法和系统
CN113246147A (zh) * 2021-04-30 2021-08-13 嘉应学院 一种基于视觉处理建立机器人舞蹈动作库的方法
CN113345061A (zh) * 2021-08-04 2021-09-03 成都市谛视科技有限公司 动作补全模型的训练方法、装置、补全方法、设备和介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200342646A1 (en) * 2019-04-23 2020-10-29 Adobe Inc. Music driven human dancing video synthesis
CN110853670A (zh) * 2019-11-04 2020-02-28 南京理工大学 音乐驱动的舞蹈生成方法
CN112037310A (zh) * 2020-08-27 2020-12-04 成都先知者科技有限公司 基于神经网络的游戏人物动作识别生成方法
CN112330779A (zh) * 2020-11-04 2021-02-05 北京慧夜科技有限公司 一种生成角色模型舞蹈动画的方法和系统
CN113246147A (zh) * 2021-04-30 2021-08-13 嘉应学院 一种基于视觉处理建立机器人舞蹈动作库的方法
CN113345061A (zh) * 2021-08-04 2021-09-03 成都市谛视科技有限公司 动作补全模型的训练方法、装置、补全方法、设备和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114972441A (zh) * 2022-06-27 2022-08-30 南京信息工程大学 一种基于深度神经网络的运动合成框架
WO2024012007A1 (zh) * 2022-07-15 2024-01-18 腾讯科技(深圳)有限公司 一种动画数据生成方法、装置及相关产品

Also Published As

Publication number Publication date
CN114170353B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN110599573B (zh) 一种基于单目相机的人脸实时交互动画的实现方法
Liu et al. Learning hierarchical cross-modal association for co-speech gesture generation
CN109086869B (zh) 一种基于注意力机制的人体动作预测方法
CN110660017A (zh) 一种基于三维姿态识别的舞谱记录与演示方法
CN114170353B (zh) 一种基于神经网络的多条件控制的舞蹈生成方法及系统
Zhou et al. Ude: A unified driving engine for human motion generation
CN110007754B (zh) 手与物体交互过程的实时重建方法及装置
CN110310351A (zh) 一种基于草图的三维人体骨骼动画自动生成方法
CN111191630A (zh) 适用于智能交互观演场景的演艺动作识别方法
Liao et al. Speech2video synthesis with 3d skeleton regularization and expressive body poses
CN113051420A (zh) 一种基于文本生成视频机器人视觉人机交互方法及系统
Parelli et al. Spatio-temporal graph convolutional networks for continuous sign language recognition
Lu et al. Co-speech gesture synthesis using discrete gesture token learning
Zhang et al. Finemogen: Fine-grained spatio-temporal motion generation and editing
CN115188074A (zh) 一种互动式体育训练测评方法、装置、系统及计算机设备
Tan et al. Self-Supervised 3-D Semantic Representation Learning for Vision-and-Language Navigation
Fan et al. A bi-directional attention guided cross-modal network for music based dance generation
CN113240714A (zh) 一种基于情境感知网络的人体运动意图预测方法
Sun et al. Bidirectional temporal feature for 3D human pose and shape estimation from a video
Liu et al. EMAGE: Towards Unified Holistic Co-Speech Gesture Generation via Masked Audio Gesture Modeling
CN116485962A (zh) 一种基于对比学习的动画生成方法及系统
Cai et al. A method for 3D human pose estimation and similarity calculation in Tai Chi videos
Zhao et al. Generating Diverse Gestures from Speech Using Memory Networks as Dynamic Dictionaries
Fiche et al. VQ-HPS: Human Pose and Shape Estimation in a Vector-Quantized Latent Space
Hong et al. An integrated framework for face modeling, facial motion analysis and synthesis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant