CN114170353A - 一种基于神经网络的多条件控制的舞蹈生成方法及系统 - Google Patents
一种基于神经网络的多条件控制的舞蹈生成方法及系统 Download PDFInfo
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000009471 action Effects 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000011156 evaluation Methods 0.000 claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000011158 quantitative evaluation Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims description 10
- 210000000988 bone and bone Anatomy 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 239000000126 substance Substances 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 7
- 230000001144 postural effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 8
- 238000010606 normalization Methods 0.000 abstract description 3
- 102100028065 Fibulin-5 Human genes 0.000 description 37
- 101710170766 Fibulin-5 Proteins 0.000 description 37
- 238000012549 training Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 210000003108 foot joint Anatomy 0.000 description 2
- 238000002789 length control Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005255 beta decay Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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中箭头所示,其余节点表示为人体其他关节,关节上的数字代表了各个关节的权重。
其中,关键帧信息包括:和分别表示k1和k2时刻根关节的三维位置坐标信息,其中根关节是全局位置信息,其他关节的位置信息是相对于根关节的局部位置信息;和分别表示k1和k2时刻将姿势旋转至面朝z轴正方向的旋转角度,最终生成k1和k2时刻之间的动作序列,记序列长度为N=k2-k1;
为速度因子序列,其维度为N×5,N为时间序列的长度,每个时间步包含5个速度因子分量,将人体分为5个不同的部分,分别是躯干,左臂,右臂,左腿和右腿,对五个部分分别计算速度因子,对于身体部分i∈{0,1,2,3,4},在t时刻的速度因子的计算公式(1)为:
在一个实施例中,上述步骤S2:处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
本步骤使用前向运动学对数据进行解析,得到人体关节的全局位置坐标信息。从BVH文件中提取出的数据带有许多冗余的信息,因此需要对这些数据进行变换,剔除掉无用的信息。首先将所有帧的动作都旋转至同一方向(Z轴正方向),再将根关节平移至同一位置(原点),这样可以使神经网络重点关注每一帧的姿势,而不被全局信息影响。即对每帧的每个点进行变换,如公式(2)所示:
在完成了上述变换后,需要提取出(除根关节外的)关节点的局部位置、根关节的全局位置和全局旋转、脚部接触信息、关节点的速度和关节点的加速度信息。脚部接触信息通过对脚部的速度进行检测获得,当脚部关节的速度为0时,则认为此时的脚部与地面是接触的。定义了脚部的四个关节点对其速度进行检测,最终每一帧包含四个脚部接触标签。获得了每一帧的完整数据后,需要对每一帧的动作数据x进行归一化处理,采用以下方法进行归一化,如公式(3)所示,得到归一化的动作信息:
其中,μ是数据的均值,σ为数据的方差。
本发明实施例构建神经网络,通过接收控制信号和历史信息,然后生成自然的舞蹈动作序列。给两个不相邻帧k1和k2的动作,生成真实的动作序列实现两个动作的自然过渡。
在一个实施例中,上述步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的归一化的动作信息和控制条件作为神经网络的输入,输出关键帧之间的转换动作;其中,采用全连接层对关键帧的姿势信息进行处理,采用Transformer模块对根关节轨迹序列和速度因子序列进行处理;同时,设定损失函数对神经网络进行约束,具体包括:
步骤S31:神经网络使用三个编码器来接收上一时间步的归一化的动作信息,分别是状态编码器、速度编码器和位置编码器;
速度编码器对速度信息进行编码;
位置编码器用于计算待预测帧和目标关键帧之间的距离,同时由于三维关节坐标是一种自然的位置编码,使用根轨迹约束中t+1时刻的根关节位置作为位置编码器的输入,增加了相对位置at作为其编码的一部分,at的定义如公式(4):
其中,k1和k2分别是控制关键帧的时间索引;t为当前时间索引;
步骤S32:神经网络使用三个控制器来接收控制信息,分别是根轨迹控制器、速度因子控制器和目标控制器,其中,根轨迹控制器和速度因子控制器是基于Transformer模块构建;
根轨迹控制器以根关机轨迹的位置序列作为输入,确保生成的运动沿给定的轨迹运动;
速度因子控制器获取速度因子条件;
目标控制器接收关键帧的姿态信息;
本发明实施例采用Transformer对根轨迹和速度因子控制条件进行编码。如图3所示Transformer模块的输入为和其中表示以t+1时刻为中心,窗口大小为u的目标根轨迹序列。是的一个修改,t+1时刻以前的数据被网络的预测结果替换,将其定义为根轨迹混合序列。由于神经网络生成的动作的根关节轨迹与目标根关节轨迹不是完全符合的,两者存在一定的偏差,而当前预测时刻的根关节轨迹不仅需要与过去预测轨迹的结果相连,也需要尽可能符合未来目标轨迹,因此只是给出目标轨迹的编码是不够的,需要将过去时刻神经网络的预测结果也考虑进来。Transformer中的编码器和解码器是由多头自注意力模块(Multi-Head Self-Attention,MHSA)和前馈网络(Feed ForwardNetworks,FFN)组成。MHSA由多个自注意力模块组成,并明确地建模了多个对象之间的相互作用,而FFN用于信息转换,对信息进行编解码。在MHSA和FFN模块后,都进行了残差添加和范数计算。
根轨迹控制器首先接收作为输入,将其投影到嵌入空间中,然后用两个Transformer编码器提取轨迹信息的表示。同样也被投影到特征空间,然后用两个Transformer解码器对其进行解码。Transformer编码器和Transformer解码器之间采用跳跃式连接,提高了信息传递的灵活性。最终,使用线性层对解码结果进行变换,得到根轨迹约束的最终表示形式。
考虑到人在连续时刻的运动应该是连续的,没有突然的变化,速度因子控制器也要感知远程上下文的信息,从而学习平滑的上下文表示。因此,速度因子控制器采用与速度因子控制器的结构与根轨迹控制器结构相同,使用和来替换和作为速度因子控制器的输入。其中,是以t+1时刻为中心,窗口为u的给定速度因子序列,而将中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模块、三个编码器、三个控制器以及两个解码器之间的结构关系。
其中,N是序列长度;重建损失惩罚了每个时刻的关节位置,根关节旋转,脚步接触标签和关节速度;
姿势一致性损失被用来保证不同属性信息之间的一致性。使用单独的关节信息来训练神经网络,则关节之间的联系可能被网络所忽略,因此使用骨长一致性损失来强制网络生成与真实骨骼长度一致的动作。根据预测的姿势信息可以推断出脚步接触标签和关节速度,因此引入了脚步接触标签一致性损失和关节速度一致性损失来防止自相矛盾的信息被生成。
其中,在中表示在角色骨架中所有自然连接的关节的索引对集合,lij是关节i和关节j连接成的骨骼的真实长度,可以通过和的距离计算得到;通过对真实骨骼长度和预测得到的长度不一致的惩罚,可以强制预测的姿势信息的正确性;
在中,是脚步接触关节的索引集合,是关节i的预测脚步接触标签,当1时表示该关节与地面接触,时表示不接触,当该关节速度为0时,则表示其与地面接触;当该关节速度为0时,则表示其与地面接触,将的L2范式与相乘,通过惩罚该项以强制所预测的脚步接触标签和所预测的关节速度保持一致。
根关节平滑损失如公式(10)所示:
根关节平滑损失最小化根关节在t时刻和t-1时刻的位置及旋转角度的差异,加强在时间上的一致性。该损失项对根关节进行约束,使根关节可以自然平滑的过渡。
本发明构建的神经网络的主要任务之一是生成给定关键帧之间的自然过渡,这意味着需要确保预测的运动在关键帧附近和关键帧处的连续性。因此,关键帧一致性损失用来完成这一目标,关键帧一致性损失如公式(11)所示:
其中,m是受关键帧影响的帧数;当仅使用关键帧的信息计算关键帧一致性损失时,关键帧处存在明显的不连续现象,因此对关键帧附近的m帧都施加约束。当N>2m时,对关键帧k1或k2附近的m帧施加约束;当N≤2m时,中间的N帧受关键帧k1和k2的混合结果的影响,使用作为影响因子来确定两个关键帧在t时刻对预测姿势的影响权重;通过对关键帧附近的姿态施加时间一致性约束,生成的舞蹈序列可以在给定的关键帧处实现平滑的过渡。在本发明实施例的训练过程中,将m设置为5。
为了使合成舞蹈序列的速度因子与给定的控制条件一致,提出了速度因子一致性损失在获得神经网络的输出后,可以计算生成的每一帧动作的速度因子,通过惩罚推测出的速度因子和给定速度因子的差别,可以强制生成的动作符合给定的速度因子条件。速度因子一致性损失如公式(12)所示:
总损失函数如下述公式(13)所示:
其中,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)如下所示:
速度因子评价指标AVF的计算公式(15)~(16)如下所示:
其中,本发明实施例定义了容错阈值δv和δr分别计算速度因子和根轨迹的相应精度,计算预测结果的速度因子属性和对应真实值之间的差异,如果该差异小于δv,则认为其是准确的,否则,认为它超出了正确值的范围;是测试数据集,c是中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gv(c)是序列c速度因子的偏差,M是速度因子的维度,是序列c预测结果中部分i在t时刻的速度因子,为对应的控制条件;
根轨迹评价指标ART的计算公式(17)~(18)如下所示:
其中,是测试数据集,c是中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gr(c)是序列c根轨迹的偏差,是序列c预测结果在t时刻的根关节全局位置,为对应的控制条件。在本发明实施例中,δ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的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对所述最终结果进行评估。
其中,所述关键帧信息包括:和分别表示k1和k2时刻所述根关节的三维位置坐标信息,其中所述根关节是全局位置信息,其他关节的位置信息是相对于所述根关节的局部位置信息;和分别表示k1和k2时刻将姿势旋转至面朝Z轴正方向的旋转角度,最终生成k1和k2时刻之间的动作序列,记序列长度为N=k2-k1;
为所述速度因子序列,其维度为N×5,N为时间序列的长度,每个时间步包含5个速度因子分量,将人体分为5个不同的部分,分别是躯干,左臂,右臂,左腿和右腿,对五个部分分别计算速度因子,对于身体部分i∈{0,1,2,3,4},在t时刻的所述速度因子的计算公式(1)为:
3.根据权利要求1所述的基于神经网络的多条件控制的舞蹈生成方法,其特征在于,所述步骤S3:基于两个LSTM模块构建神经网络,以上一时间步的所述归一化的动作信息和所述控制条件作为所述神经网络的输入,输出所述关键帧之间的转换动作;其中,采用全连接层对所述关键帧的姿势信息进行处理,采用Transformer模块对所述根关节轨迹序列和所述速度因子序列进行处理;同时,设定损失函数对所述神经网络进行约束,具体包括:
步骤S31:所述神经网络使用三个编码器来接收上一时间步的所述归一化的动作信息,分别是状态编码器、速度编码器和位置编码器;
所述速度编码器对速度信息进行编码;
所述位置编码器用于计算待预测帧和目标关键帧之间的距离,使用根轨迹约束中t+1时刻的根关节位置作为所述位置编码器的输入,并增加了相对位置at作为其编码的一部分,at的定义如公式(2):
其中,k1和k2分别是控制所述关键帧的时间索引;t为当前时间索引;
步骤S32:所述神经网络使用三个控制器来接收所述控制信息,分别是根轨迹控制器、速度因子控制器和目标控制器,其中,所述根轨迹控制器和所述速度因子控制器是基于Transformer模块构建;
所述根轨迹控制器以根关节轨迹的位置序列作为输入,确保生成的运动沿给定的轨迹运动;
所述速度因子控制器获取速度因子条件;
所述目标控制器接收关键帧的姿态信息;
步骤S33:所述神经网络使用两个解码器对预测到的t+1时刻的信息进行解码,分别是根关节解码器和状态解码器;
所述根关节解码器对所述根关节的位置、旋转和速度信息进行解码;
所述状态解码器预测除所述根关节以外的其他关节的相对位置和速度,以及脚步的接触状态;
步骤S34:第一个所述LSTM模块接收所述状态编码器和所述速度编码器的输出,同时接所述收根轨迹控制器和所述速度因子控制器得到的控制条件的嵌入表示,输出与所述目标控制器得到的所述关键帧的表示连接起来,并将得到的结果输入到第二个所述LSTM模块中,得到所述关键帧之间的转换动作;
其中,N是序列长度;所述重建损失惩罚了每个时刻的关节位置,根关节旋转,脚步接触标签和关节速度;
所述根关节平滑损失如公式(10)所示:
所述根关节平滑损失最小化所述根关节在t时刻和t-1时刻的位置及旋转角度的差异;
其中,m是受所述关键帧影响的帧数;当N>2m时,对所述关键帧k1或k2附近的m帧施加约束;当N≤2m时,中间的N帧受所述关键帧k1和k2的混合结果的影响,使用作为影响因子来确定两个关键帧在t时刻对预测姿势的影响权重;
所述总损失函数如下述公式(13)所示:
其中,wrec,wcon,wroot,wkey,wvfac是各个损失项对应的权重。
4.根据权利要求1所述的基于神经网络的多条件控制的舞蹈生成方法,其特征在于,所述步骤S4中所述量化评估指标,具体包括:关节位置评价标准,速度因子评价标准,根轨迹评价标准;
所述关节位置评价指标LRP计算公式(14)如下所示:
所述速度因子评价指标AVF的计算公式(15)~(16)如下所示:
其中,容错阈值δv和δr分别计算速度因子和根轨迹的相应精度,计算预测结果的速度因子属性和对应真实值之间的差异,如果该差异小于δv,则认为其是准确的,否则,认为它超出了正确值的范围;是测试数据集,c是中的转换序列,k1和k2为关键帧的时间索引,N为转换序列的长度;gv(c)是序列c速度因子的偏差,M是速度因子的维度,是序列c预测结果中部分i在t时刻的速度因子,为对应的控制条件;
所述根轨迹评价指标ART的计算公式(17)~(18)如下所示:
5.一种基于神经网络的多条件控制的舞蹈生成系统,其特征在于,包括下述模块:
定义控制条件模块,用于定义控制条件,包括:关键帧动作信息、根关节轨迹序列和速度因子序列;
归一化动作信息模块,用于处理动作数据库,使用前向运动学将关节点的相对旋转转换为全局位置坐标;将所有动作旋转到面向同一方向,并平移到同一个位置,再对数据进行归一化,得到归一化的动作信息;
获取关键帧转换动作模块,用于基于两个LSTM模块构建所述神经网络,以上一时间步的所述归一化的动作信息和所述控制条件作为所述神经网络的输入,输出所述关键帧之间的转换动作;其中,采用全连接层对所述关键帧的姿势信息进行处理,采用Transformer模块对所述根关节轨迹序列和所述速度因子序列进行处理;同时,设定损失函数对所述神经网络进行约束;
评估模块,用于所述神经网络的输出结果为所述关节点的位置信息,通过反向运动学将其转换为所述关节点的旋转信息,并存储为BVH动作数据,将所述动作数据导入到Maya的骨骼模型上,对最终结果进行展示;同时,定义了量化评估指标对所述最终结果进行评估。
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)
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)
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 | 成都市谛视科技有限公司 | 动作补全模型的训练方法、装置、补全方法、设备和介质 |
-
2021
- 2021-10-21 CN CN202111229306.0A patent/CN114170353B/zh active Active
Patent Citations (6)
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)
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 |