一种基于神经网络的面部动画绑定加速方法与流程

文档序号:27930518发布日期:2021-12-11 12:11阅读:247来源:国知局
一种基于神经网络的面部动画绑定加速方法与流程

1.本发明属于动画绑定技术领域,具体涉及一种基于神经网络的面部动画绑定加速方法。


背景技术:

2.在高保真度数字电影制作过程中,为了生成表情逼真的角色面部动画,绑定艺术家通常会为角色头部制作极其复杂的绑定控件以及修形变形器。
3.现有技术中,复杂的绑定控件直接导致绑定解算节点图庞大复杂,场景过重,使得软件交互速度大幅下降,同时影响后续动画制作环节的效率。事实上,绑定环节造成的速度下降一直是动画制作流程中的一个顽固痛点。每个动画制作公司都尝试使用各种传统方法来加速绑定解算过程,但由于dcc软件自身架构的限制,这些尝试并没有实现较为显著的突破。动画领域中常采用深度学习来进行面部表情生成等操作,如专利公开号为cn112200894a的专利公开了一种基于深度学习框架的数字人面部表情动画自动迁移方法,运用训练好的深度学习模型进行表情迁移,一个数字人的控制器参数值输入网络模型,得到另一个数字人相同表情对应的控制器参数值,将生成的控制器参数值应用到该数字人模型中,从而驱动该数字人模型上的网络3d空间顶点位置。通过自动迁移代替人工操作,极大地提高虚拟人物动画生产效率。上述专利仅适用于表情迁移,即解决retargeting的问题,但在动画rigger领域中仍未有加速绑定的突出改进。


技术实现要素:

4.本发明的目的是提供一种基于神经网络的面部动画绑定加速方法,模拟逼近控制器驱动的面部mesh变形,代替原始复杂的绑定方法。
5.本发明提供了如下的技术方案:本技术提出一种基于神经网络的面部动画绑定加速方法,包括以下步骤:s1.训练数据生成,以原始绑定文件中的基本面部表情库为基础随机生成训练数据,训练数据包括多组控制器的值和与之对应的mesh顶点的值;s2.神经网络搭建,神经网络包括多层依次连接的全连接层和pca层,pca层用于计算训练数据的主成分值,得到多个混合变形器,多个全连接层输入为控制器的值,输出为多个混合变形器的系数组成的多维向量;s3.训练网络模型,用于通过建立回归任务,采用代价函数进行误差计算,得到损失最小化时的神经网络模型,所述代价函数采用均方误差;s4.通过动画软件编写插件,将所述插件与原始绑定文件中的控制器相结合,并利用训练好的网络模型,组合形成新的绑定文件。
6.优先地,步骤s1中,训练数据生成方法具体包括以下步骤:s11.以基本面部表情库为基础,获取面部控制器列表;s12.获取各个控制器的值和取值范围;
s13.在控制器的取值范围内,随机改变k个控制器的值并重复n次,生成n组新的控制器组合;s14.令k = k + 1,n = n
ꢀ‑ꢀ
i,重复步骤s13,直至k与控制器的数量相等;s15.随机改变后生成的所有控制器组合导入动画软件中,并获取对应的mesh顶点坐标,即每组控制器的值和mesh顶点的值一一对应;其中,k、n和i均为大于0的整数。
7.优先地,步骤s2中,pca层具体包括以下步骤:s211.计算整个数据集控制器值的平均值,数据集中每个控制器的值减去平均值得到数据差值;s212.采用步骤s211中数据差值进行主成分分析,并获取主成分的特征值和特征向量,提取前n个特征值对应的特征向量作为n个混合变形器,则新的mesh可表示为:,其中,为每个混合变形器的系数,即全连接层的输出,j为大于0的整数,n为提取的排序靠前的特征值的数量。
8.优先地,步骤s2中,多个全连接层用于获取混合变形器的系数,计算预测出的mesh顶点坐标值,第一层全连接层的输入是一组控制器的值,输出隐含层的特征,第二至第m层全连接层的输入是第一层全连接层的隐含层的特征,输出是多个混合变形器的系数组成的向量,其中,m为全连接层的层数,m为大于0的整数。
9.优先地,步骤s3中,控制器的值作为输入,mesh顶点坐标作为标签,建立回归任务,代价函数采用均方误差,使mesh顶点坐标的值与网络预测结果的误差最小化,保存训练过程中损失最低的模型参数,并使用adam算法进行优化。
10.优先地,步骤s4中,组合绑定文件方法具体包括以下步骤:s41.训练pytorch框架,且使用libtorch库做前向运算,并将libtorch与动画软件的接口结合,编写插件,所述插件用于输入控制器的值,输出对应mesh顶点的坐标值;s42.保留原始绑定文件的控制器,将其与步骤s41中的插件组合形成新的绑定文件,完成绑定文件的加速替换。
11.优先地,所述动画软件包括maya和ue。
12.优先地,动画软件采用ue编写插件的方法包括以下步骤:q1.训练使用pytorch框架,预测使用pytorch提供的libtorch接口;q2.将libtorch集成到ue中,插件运行具体步骤如下:q21.在ue中导入自然状态下的mesh顶点坐标值,即无表情状态下的mesh顶点坐标值;q22.采用ue的livelink接收控制器的数据;q23.数据输入到libtorch库中得到mesh顶点的坐标;q24.得到的坐标值减去自然状态下的坐标得到每个顶点的位移;q25.根据每个顶点的位移在ue中实现形变。
13.本发明的有益效果是:
1.构建神经网络模型,模拟逼近控制器驱动的面部mesh变形,代替原有复杂的绑定方法,加速原始绑定效率,神经网络中计算样本主成分,减少训练难度,使模型更易收敛,且mesh数据量越多,收敛效果越好;2.利用原始绑定文件随机生成数据,不需要艺术家额外提供训练数据,模型生成客观,精确度更高;3.训练好的神经网络模型不依赖于动画软件,既可通过多种动画软件的接口在相应动画软件中运行,也可脱离动画软件独立运行。
附图说明
14.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1是本发明的神经网络模型结构示意图。
具体实施方式
15.如图1所示,本技术提出一种基于神经网络的面部动画绑定加速方法,包括以下步骤:s1.训练数据生成,以原始绑定文件中的基本面部表情库为基础随机生成训练数据,训练数据包括多组控制器的值和与之对应的mesh顶点的值。
16.步骤s1中具体包括以下步骤:s11.以基本面部表情库为基础,获取面部控制器列表,基本面部表情库即动画师调动画的基础表情,可为导演认可的基本表情,如开心、伤心,或只是原始绑定文件中的表情;s12.获取各个控制器的值和取值范围;s13.在控制器的取值范围内,随机改变k个控制器的值并重复n次,生成n组新的控制器组合;s14.令k = k + 1,n = n
ꢀ‑ꢀ
i,重复步骤s13,直至k与控制器的数量相等;s15.随机改变后生成的所有控制器组合导入动画软件中,并获取对应的mesh顶点坐标,即每组控制器的值和mesh顶点的值一一对应;其中,k、n和i均为大于0的整数。
17.具体示例如下:以基础面部表情库为基础,分别随机改变一个控制器的值,得到一组新的控制器组合,重复操作a次生成a组控制器的组合,随机改变两个控制器的值,重复b次后生成b组控制器的组合,,重复上次操作,直至改变所有控制器的值生成c个数据,其中a>b>...>c。所有的控制器组合(a+b+...+c)通过脚本导入到动画软件中得到对应的角色表情,并获取对应的mesh顶点坐标。如此完成随机数据生成。其中,参数a、b、c、n是根据数据量进行设置,数据量越大效果越好,但数据制作时间和训练时间也会随之增加。
18.s2.神经网络搭建,神经网络包括多层依次连接的全连接层和pca层,pca层用于计算训练数据的主成分值,得到多个混合变形器。进行主成分分析后,神经网络需要学习的是pca系数,不需要学习每个mesh顶点的坐标位置,减少训练难度,使模型更容易收敛,适用于mesh顶点数量较多的情况。
19.步骤s2中,pca层具体包括以下步骤:s211.计算整个数据集控制器值的平均值,数据集中每个控制器的值减去平均值得到数据差值;s212.采用步骤s211中数据差值进行主成分分析,并获取主成分的特征值和特征向量,提取前n个特征值对应的特征向量作为n个混合变形器,则新的mesh可表示为:,其中,为每个混合变形器的系数,即全连接层的输出,j为大于0的整数,n为提取的排序靠前的特征值的数量。
20.多个全连接层用于获取混合变形器的系数,计算预测出的mesh顶点坐标值,第一层全连接层的输入是一组控制器的值,输出隐含层的特征,第二至第m层全连接层的输入是第一层全连接层的隐含层的特征,输出是多个混合变形器的系数组成的向量,其中,m为全连接层的层数,m为大于0的整数。如图1所示,神经网络由八层全连接层和一层pca层组成,第一层全连接层的输入是一组控制器的值,输出隐含层的特征,第二至第七层全连接层的输入是前一层全连接层的隐含层的特征,输出隐含层的特征并作为下一层的输出,第八层全连接层输入是第七层全连接层输出的隐含层的特征,输出是多个混合变形器的系数组成的向量。
21.s3.训练网络模型,用于通过建立回归任务,采用代价函数进行误差计算,得到损失最小化时的神经网络模型,所述代价函数采用均方误差。
22.步骤s3中,控制器的值作为输入,mesh顶点坐标作为标签,建立回归任务,代价函数采用均方误差,使mesh顶点坐标的值与网络预测结果的误差最小化,保存训练过程中损失最低的模型参数,并使用adam算法进行优化。
23.s4.通过动画软件编写插件,将所述插件与原始绑定文件中的控制器相结合,并利用训练好的网络模型,组合形成新的绑定文件。
24.步骤s4中,具体包括以下步骤:s41.训练pytorch框架,且使用libtorch库做前向运算,并将libtorch与动画软件的接口结合,编写插件,插件用于输入控制器的值,输出对应mesh顶点的坐标值。动画软件包括maya和ue。
25.s42.保留原始绑定文件的控制器,将其与步骤s41中的插件组合形成新的绑定文件,完成绑定文件的加速替换。
26.以ue为例,编程语言采用c++,动画软件采用ue编写插件的方法包括以下步骤:q1.训练使用pytorch框架,预测使用pytorch提供的libtorch接口;q2.将libtorch集成到ue中,插件运行具体步骤如下:q21.在ue中导入自然状态下的mesh顶点坐标值,即无表情状态下的mesh顶点坐标值;q22.采用ue的livelink接收控制器的数据;q23.数据输入到libtorch库中得到mesh顶点的坐标;q24.得到的坐标值减去自然状态下的坐标得到每个顶点的位移;
q25.根据每个顶点的位移在ue中实现形变。
27.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1