1.本发明涉及动画生成技术领域,尤其涉及一种动作插值方法、装置、电子设备和可读存储介质。
背景技术:2.在创建角色动画时,动画师使用动作插值方法来填充人工绘制的关键帧之间的空白帧。然而,无论动画软件提供的方法还是现阶段动作插值的研究,都是三维几何的数学方法,无法描绘生动、有力量感的人体运动。
3.为了解决上述问题,harvey等人提出了鲁棒自回归模型。
4.但是,利用自回归模型在进行动作插值时会存在较快的误差积累,随着不断地预测累积的误差会越来越多。
技术实现要素:5.本发明实施例提供一种动作插值方法、装置、电子设备和可读存储介质,可以解决自回归模型在进行动作插值时会存在较快的误差积累的问题。
6.第一方面,本发明实施例提供了一种动作插值方法,所述方法包括:
7.获取目标动作序列,所述目标动作序列包括已知动作帧、多个空白帧;基于乱序自回归模型,按照训练好的依赖关系和预测顺序,逐步获取所述目标动作序列的插值结果;所述依赖关系包括所述已知动作帧、和空白帧中帧与帧之间的依赖关系。
8.第二方面,本发明实施例提供了一种乱序自回归模型的训练方法,所述训练方法用于训练第一方面所述的乱序自回归模型,所述方法包括:
9.获取样本动作序列集;
10.基于所述样本动作序列集,采用教师强制策略训练所述乱序自回归模型,得到一阶段乱序自回归模型;
11.基于所述样本动作序列集,按照模型的输出完全由首位两帧生成的策略对所述一阶段乱序自回归模型进行二阶段训练,得到训练好的乱序自回归模型。
12.第三方面,本发明实施例提供了一种动作插值装置,所述装置包括:
13.目标动作序列获取模块,用于获取目标动作序列,所述目标动作序列包括已知动作帧、多个空白帧;
14.插值模块,用于基于乱序自回归模型,按照训练好的依赖关系和预测顺序,逐步获取所述目标动作序列的插值结果;所述依赖关系包括所述已知动作帧、和空白帧中帧与帧之间的依赖关系。
15.第四方面,本发明实施例提供了一种乱序自回归模型的训练装置,所述训练装置用于训练第一方面所述的乱序自回归模型,所述装置包括:
16.样本动作序列集获取模块,用于获取样本动作序列集;
17.一阶段训练模块,用于基于所述样本动作序列集,采用教师强制策略训练所述乱
序自回归模型,得到一阶段乱序自回归模型;
18.二阶段训练模块,用于基于所述样本动作序列集,按照模型的输出完全由首位两帧生成的策略对所述一阶段乱序自回归模型进行二阶段训练,得到训练好的乱序自回归模型;
19.所述训练装置用于训练如第一方面所述的乱序自回归模型。
20.第五方面,本发明实施例提供一种电子设备,包括:处理器和存储器,所述处理器执行存储在所述存储器中的计算机程序,实现如第一方面或第二方面所述的方法。
21.第六方面,本发明实施例提供一种可读存储介质,所述可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时实现如第一方面或第二方面所述的方法。
22.本发明实施例包括以下优点:
23.本发明实施例提供了一种动作插值方法。对目标动作序列按照预设的依赖关系和预测顺序进行插值,具体地通过关键帧插值、关键帧区间内逐帧生成、平滑处理来实现动作序列的插值,打破了传统自回归模型中依照时间顺序的依赖关系和预测顺序,通过关键帧的选取减少了自回归过程中误差积累的速度,进一步地,还提供了用于执行乱序自回归的基于自注意力的乱序自回归模型及其训练方法,巧妙设计了柔性依赖注意掩码(flexible dependency attention mask,fdam)代替了多头自注意力机制中的下三角掩码矩阵,实现了基于依赖关系和预测顺序的乱序自回归,通过分而治之的方式降低了误差积累的路径长度,减少了误差传递,从误差传递的角度提高了动作插值的准确率。
附图说明
24.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1示出了本发明的一种动作插值方法实施例的流程图;
26.图2示出了一种乱序自回归模型实施例的架构图;
27.图3示出了一种目标动作序列插值过程中的序列变化图;
28.图4示出了一种乱序自回归模型的训练方法实施例的流程图;
29.图5示出了本发明的一种动作插值装置实施例的结构框图;
30.图6示出了一种乱序自回归模型的训练装置的结构框图;
31.图7示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。并且,需要说明的是,本技术实施例中获取各种数据相关过程,都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
33.在创建角色动画时,动画师使用动作插值方法来填充人工绘制的关键帧之间的空白帧。然而,无论动画软件提供的方法还是现阶段动作插值的研究,都是三维几何的数学方法,无法描绘生动的、有力量感的人体运动。
34.为了解决上述问题,harvey等人提出了鲁棒自回归模型。
35.在动作插值处理的中,只有首尾两帧是已知的,中间帧都是预测生成的。例如,基于自回归模型,如rnn等,依据两帧的真实数据,从首至尾一帧一帧地预测。每一帧的预测依赖首尾两帧和之前的预测结果。
36.例如,要使用传统自回归方法生成一个长度为t的序列x=[x0,x1,x2,
…
,x
t-1
](x
inp
视为输入),原始自回归的预测顺序为:
[0037]oar
=[0,1,2,
…
,t-1]
ꢀꢀ
(1)
[0038]
xi=f(x
inp
,x0,x1,x2,
…
,x
i-1
;θ)
ꢀꢀ
(2)
[0039]
其中,xi的预测用到了第i帧之前所有帧的信息,可以称之为x0,x1,x2,
…
,x
i-1
到xi的依赖关系;f代表一个自回归模型,参数为θ。因此,对于每个元素xi,都存在从x0至xi之间各帧的依赖关系,以及从xi到x
t-1
之间各帧的依赖关系,预测的偏差会随着依赖关系而累积,含有偏差的预测结果的帧数将大于两帧,此时模型的预测依赖于大量偏差,导致偏差越来越大,最终无法连接末尾帧。
[0040]
因此,利用自回归模型在进行动作插值时会存在较大的误差积累。
[0041]
为了解决上述问题,本发明提供了一种动作插值方法。参照图1,示出了本发明的一种动作插值方法实施例的流程图,所述方法可以包括:
[0042]
步骤101、获取目标动作序列。
[0043]
其中,所述目标动作序列包括已知动作帧、多个空白帧,所述已知动作帧可以是位于目标动作序列的首尾位置,例如一个31帧的目标动作序列,其中已知帧为第0帧和第30帧,其余均为空白帧,本发明对1-29的空白帧进行插值处理。
[0044]
步骤102、基于乱序自回归模型,按照训练好的依赖关系和预测顺序,逐步获取所述目标动作序列的插值结果;所述依赖关系包括所述已知动作帧、和空白帧中帧与帧之间的依赖关系。
[0045]
所述依赖关系,具体是指某帧的预测依赖于哪些帧,例如在传统自回归中,xi的预测依赖于xi之前的任何帧,则构成了x0,x1,x2,
…
,x
i-1
到xi的依赖关系。
[0046]
与自回归模型例如rnn等不同,在本发明实施例中,采用乱序自回归的插值原理,选择帧序列中高度相关且偏差较少的元素帧作为后续预测的参考,这样误差积累的速度就会降低,更可以打破传统自回归中从左到右按照时间先后的依赖关系。所述乱序自回归模型用于实现所述乱序自回归的插值原理,基于乱序自回归对步骤101获取的目标动作序列进行处理,获取目标动作序列的插值结果。
[0047]
相比于传统自回归预测的公式(1)和(2),在本发明实施例中,所述乱序自回归模型中的依赖关系和预测顺序按如下公式实现:
[0048]osar
=[t0,t1,t2,
…
,t
t-1
]
ꢀꢀ
(3)
[0049][0050]
其中,o
sar
表示乱序自回归模型的预测顺序,t0至t
t-1
表示重新排列后的预设的预测顺序,例如未知的序列a中的元素帧按时间顺序为:0、1、2、3、4,在本发明的乱序自回归模
型中,要对a中的每个元素帧进行预测,则对预测顺序进行重新排序,重排后的预测顺序可以是3、1、0、4、2;f表示因变量和自变量x
inp
的函数关系,参数为θ’;表示之前的帧的预测结果;而choice函数表示按照预设的依赖关系对中的部分元素置零,来选择非置零部分的元素帧作为输入对进行预测。在进行乱序自回归动作插值的训练时,可以随机选择预测顺序,也可以随机确定每一次的预测依赖于之前哪些预测结果,以筛选出固定长度t的序列下插值效果最好的预测顺序和依赖关系。
[0051]
所述预设的依赖关系和预测顺序是指基于乱序的预测顺序和依赖关系的原理,利用数据集进行学习、训练,获取到固定长度的动作序列插值效果最好的依赖关系和预测顺序。
[0052]
所述乱序自回归模型是基于上述乱序自回归的插值思路构建的深度学习模型,是打破了传统自回归模型自时间先后的预测关系和依赖关系,实现了自定义的预测顺序和依赖关系的模型。
[0053]
在本发明实施例中,所述乱序自回归模型可以是基于gpt版本的transformer解码器,并以柔性依赖注意掩码(flexible dependency attention mask,fdam)替代传统的多头自注意力机制中的下三角掩码矩阵,使得gpt的骨架可以实现乱序自回归。
[0054]
所述乱序自回归模型包括空间姿势编码器、时间解码器和空间姿势解码器,所述时间解码器包括fdam多头注意力层和前馈神经网络;所述柔性依赖注意掩码多头注意力层用于通过对输入帧进行掩码来实现目标动作序列插值中的依赖关系和预测顺序。
[0055]
其中,所述空间姿势编码器用于对输入的目标动作序列进行编码,获取到目标动作序列的特征矩阵,并将其输入时间解码器,所述空间姿势可以利用空间transformer编码器实现。对应于空间姿势编码器,所述空间姿势解码器用于对时间解码器的输出结果进行解码,获取目标动作序列的插值结果。所述时间解码器用于实现对编码后的目标动作序列的乱序自回归,获取目标动作序列的插值特征矩阵。
[0056]
在所述fdam多头注意层中,其内部的fdam可以通过对输入帧进行掩码来实现目标动作序列插值中的所述依赖关系和所述预测顺序,控制使用或屏蔽哪些输入帧来生成空白帧的预测结果,这实现了公式(2)中的choice函数,使得空白帧可以按照预设的依赖关系进行预测。同时,使用generated实时存储已经生成的帧,已经生成的帧可以用作后续生成的依赖项。依次生成o
sar
中的元素帧,记作target,每次用前序的序号当作path。path看作生成每个空白帧的路径,路径所预测的帧是target帧。在path路径上,查询generated中的每一项是否作为生成target的依赖项。如果存在依赖关系,就将fdam矩阵中fdam【path,dependency】置1。
[0057]
所述fdam多头注意力层采用scale dot product作为自注意力机制的核函数,其中在第i条路径(path)上:
[0058][0059]
q=ewqꢀꢀ
(6)
[0060]
k=ewkꢀꢀ
(7)
[0061]
v=ewvꢀꢀ
(8)
[0062]
其中,q、k、v分别代表了注意力机制中的query、key和value,e代表了空间姿势编码器输入至时间解码器中的动作序列嵌入矩阵,ej表示目标动作序列中第j个动作帧;w代表转换矩阵参数。
[0063]
在算法中,如果对于target帧的生成需要path上的第i项作为依赖项,则fdam【path,dependency】置为1,否则置为0。这样就将非依赖关系中的输入全部遮盖掉了。
[0064]
作为一种示例,对上述通过fdam控制输入帧实现根据依赖关系的空白帧预测进行解释。如果要通过第1帧和第30帧生成中间的28帧,那么依赖关系的一种情况为,第8帧的生成依赖第1和第30帧,第15帧的生成依赖第8、第30帧,第23帧的生成依赖第1、15、30帧。对应的具体实现为,在fdam模块中,我们利用第1行为path生成第8帧,对应mask的第1行中只有第1和30项为1,其余为0。然后用第8行(刚刚生成第8帧)作为path生成第15帧,对应mask的第15行中只有第8、30项为1,其余为0。接着用第15行(刚刚生成第15帧)作为path生成第23帧,对应mask中的第15行中只有1、15、30项为1,其余为0。并依次类推完成第28帧的预测。
[0065]
在本发明所述的乱序自回归的动作插值方法中,目标序列中的未知帧即空白帧的插值不必依赖于之前所有帧的预测结果,根据预设的依赖关系和预测顺序,选择那些高度相关且偏差较少的元素或帧作为后续预测的参考,从而逐步获取目标动作序列的插值结果,减少了传统自回归模型中的误差的积累速度,从误差传递的角度提高了动作插值的准确率。
[0066]
可选地,步骤102所述基于乱序自回归模型,按照训练好的依赖关系和预测顺序,逐步获取所述目标动作序列的插值结果,包括:
[0067]
步骤s201、从所述空白帧中确定一个或多个关键帧;
[0068]
步骤s202、基于乱序自回归模型,按照训练好的依赖关系依次获取所述关键帧的预测结果;
[0069]
步骤s203、按照相邻两个关键帧与所述相邻两个关键帧之间的空白帧的所述训练好的依赖关系和预测顺序,利用所述关键帧的插值结果和所述乱序自回归模型,获取所述两个相邻关键帧之间的空白帧的预测结果。
[0070]
在进行运动插值时,早期生成的帧的误差累积小,生成的预测结果通常由一个较小的偏差,这使他们成为后续空白帧预测的最佳依赖项,因此,在本发明中,可以将这些早期生成的帧平均分布在整个动作序列内。具体地,可以选择nk个关键帧作为最先生成的帧,所述关键帧分割了整个目标动作序列为多个序列区间,本发明中称之为关键帧区间,其中,在生成每两个相邻的关键帧之间的空白帧时,区间内的空白帧不能依赖于其他区间的任何信息,只能依赖于区间首尾的这两个关键帧,它们生成很早所以偏差也很小。于是,整个动作插值问题被这些关键帧分成了很多个有着同样题设只是规模变小的分问题。当然也可以选择继续递归从而划分为更小的区间,通过这种方式减少了传统自回归中迅速增加的误差积累。在本发明实施例中,所述关键帧可以由专业人员在动画制作中的动作插值时人为确定,并根据预设的依赖关系逐渐生成预测结果。
[0071]
其中,对应于步骤s202,一次递归的关键帧公式为:
[0072][0073]
[0074]
其中,ki的序列ok表示关键帧列表;公式(6)表示对关键帧插值的自回归公式,生成每一个关键帧时依赖于前面所有生成的关键帧,θf为函数参数;1≤i≤nk。
[0075]
对应于步骤s202,在子问题变得足够简单后,在本发明实施例中,通过从左向右的传统自回归预测区间内的空白帧,每一个区间内的逐帧生成不能依赖其他区间已经生成的结果。
[0076]
各个子问题即区间内的空白帧按照如下公式生成:
[0077][0078][0079][0080]
其中,of表示各个由关键帧分割的区间序列;代表了第i个子问题区间中的空白帧的插值顺序;公式(9)表示基于关键帧区间首尾的关键帧以及区间内第i个帧之前的预测结果通过传统的自回归模型逐帧生成预测结果的函数表达式。
[0081]
可选地,步骤102所述基于乱序自回归模型,按照训练好的依赖关系和预测顺序,逐步获取所述目标动作序列的插值结果之后,还包括:
[0082]
步骤103、对所述目标动作序列的插值结果,进行平滑处理,得到目标动作序列的最终插值结果。
[0083]
考虑到基于乱序自回归生成的空白帧的预测结果中,时间上相邻的两帧可能由于依赖关系的不同并不连续,因此需要对102得到的目标动作序列的插值结果进行平滑处理,重新生成一遍序列的插值结果。
[0084]
图像平滑是指使图像亮度趋于平缓的处理方法,在本发明的实施例中,类似于图像平滑,所述平滑是指使不同的动作帧之间动作连续的处理方法,例如将步骤102中生成的目标动作序列的插值结果按时间顺序排好后,通过插帧的方式代替重新生成,获取到平滑处理之后的空白帧的预测结果,从而获取连续的目标动作序列帧即目标动作序列的插值结果。
[0085]
可选地,步骤102所述目标动作序列的插值结果包括所述空白帧的预测结果;
[0086]
步骤103所述对所述目标动作序列的插值结果,进行平滑处理,得到目标动作序列的最终插值结果,包括:
[0087]
步骤s301、以所述空白帧的预测结果为参考帧,在所述参考帧中每相邻两帧之间插入新空白帧。
[0088]
步骤s302、依赖于所述参考帧,利用自回归生成所述新空白帧的预测结果。
[0089]
步骤s303、将所述新空白帧的预测结果代替所述参考帧,获取目标动作序列的插值结果。
[0090]
在获取到的空白帧的预测结果中,时间上相邻的两帧可能由于依赖关系的不同并不连续,因此需要对生成的空白帧的预测结果进行平滑处理,重新生成一遍。
[0091]
步骤s301-步骤s303所述的平滑处理的方法不同于常用的卷积平滑处理,实质上是使用了一个小技巧用插帧的方式代替,重新生成空白帧的预测结果。以所述空白帧的预测结果为参考帧,我们在参考帧的每两帧之间插入一个新空白帧。新添加的帧留作存放平
滑之后的结果,并将在下一次自回归的运算中并行生成。因此,整个序列的长度l(包括首尾的两个已知帧)应为l=2t+3,其中1到2t+1之间的奇数帧为参考帧,2到2t之间的偶数帧为新空白帧的预测结果并作为最终输出结果,输出长度为t。
[0092]
可选地,参照图2,示出了一种乱序自回归模型实施例的架构图,所述乱序自回归模型包括空间姿势编码器、时间解码器和空间姿势解码器,所述时间解码器包括fdam多头注意力层和前馈神经网络;所述柔性依赖注意掩码多头注意力层用于通过对输入帧进行掩码来实现目标动作序列插值中的所述依赖关系和所述预测顺序。
[0093]
所述乱序自回归模型执行如步骤102所述的动作插值方法。
[0094]
所述乱序自回归模型,是打破了传统自回归模型自时间先后的预测关系和依赖关系,实现了自定义的预测顺序和依赖关系的模型。
[0095]
在本发明实施例中,所述乱序自回归模型是基于gpt版本的transformer解码器,并以一个柔性依赖注意掩码(flexible dependency attention mask,fdam)代替了多头自注意力机制中的下三角掩码矩阵,使得gpt的骨架可以实现乱序自回归。
[0096]
所述空间姿势编码器用于对输入的目标动作序列进行编码,获取到目标动作序列的特征矩阵,并将其输入时间解码器,所述空间姿势可以利用空间transformer编码器实现。
[0097]
在所述fdam多头注意层中,其内部的fdam可以通过对输入帧进行掩码来实现目标动作序列插值中的所述依赖关系和所述预测顺序,控制使用或屏蔽哪些输入帧来生成空白帧的预测结果,这实现了公式(2)中的choice函数,使得空白帧可以按照预设的依赖关系进行预测。同时,使用generated实时存储已经生成的帧,已经生成的帧可以用作后续生成的依赖项。依次生成o
sar
中的元素帧,记作target,每次用前序的序号当作path。path看作生成每个空白帧的路径,路径所预测的帧是target帧。在path路径上,查询generated中的每一项是否作为生成target的依赖项。如果存在依赖关系,就将fdam矩阵中fdam【path,dependency】置1。
[0098]
所述fdam多头注意力层采用scale dot product作为自注意力机制的核函数,其中在第i条path上的注意力头为:
[0099][0100]
q=ewqꢀꢀ
(6)
[0101]
k=ewkꢀꢀ
(7)
[0102]
v=ewvꢀꢀ
(8)
[0103]
其中,q、k、v分别代表了注意力机制中的query、key和value,e代表了空间姿势编码器输入至时间解码器中的动作序列嵌入矩阵,ej表示目标动作序列中第j个动作帧;w代表转换矩阵参数。
[0104]
在算法中,如果对于target帧的生成需要path上的第i项作为依赖项,则fdam【path,dependency】置为1,否则置为0。这样就将不属于依赖关系中的输入全部遮盖掉了。
[0105]
作为一种示例,对上述通过fdam控制输入帧实现根据依赖关系的空白帧预测进行解释。如果要通过第1帧和第30帧生成中间的28帧,且按照预设的依赖关系确定的关键帧为8、15、23帧,那么依赖关系的一种情况为,第8帧的生成依赖第1和第30帧,第15帧的生成依
赖第8、第30帧,第23帧的生成依赖第1、15、30帧。对应的具体实现为,在fdam模块中,我们利用第1行为path生成第8帧,对应掩码(mask)的第1行中只有第1和30项为1,其余为0。然后用第8行(刚刚生成第8帧)作为path生成第15帧,对应mask的第15行中只有第8、30项为1,其余为0。接着用第15行(刚刚生成第15帧)作为path生成第23帧,对应mask中的第15行中只有1、15、30项为1,其余为0。并依次类推完成第28帧的预测。
[0106]
图2示出了乱序自回归模型的基本架构,并描述了一轮自回归的基本过程。最下方输入长度为t的目标动作序列,经过空间姿势编码器变为了高维度的动作序列嵌入矩阵,然后输入到了时间解码器中,所述时间解码器包括fdam多头注意力机制网络和前馈神经网络,通过fdam多头注意力机制网络和前馈神经网络获取到当下预测顺序中的单个空白帧的插值动作序列嵌入矩阵,之后输入空间姿势解码器获取目标动作序列中某一空白帧的预测结果。得到的结果并不是按照时间顺序排列的,需要经过预测顺序的查询,才能得知结果的顺序并将其排入目标动作序列中。这是一轮乱序自回归的过程,之后再将这一轮乱序自回归的输出作为输入,继续下一轮的乱序自回归。当获取到所有关键帧的预测结果后,则继续由乱序自回归进行关键帧区间内的空白帧的插值,直到完成所有空白帧的插值。
[0107]
基于图2所示的乱序自回归模型的架构,在生成第一个关键帧之后,再将这一轮乱序自回归的输出作为输入,继续下一轮的乱序自回归。参照图3所示的一种目标动作序列插值过程中的序列变化图,首先执行如步骤s201所述的,在所述目标动作序列中确定好关键帧之后,按照预设的依赖关系,逐个生成所述关键帧,由于预测顺序与原有的序列内各个帧的时间顺序并不相同,因此要按照原有的时间顺序重新排入目标动作序列中。然后执行如步骤s202所述基于相邻两个关键帧与所述相邻两个关键帧之间对应的空白帧的所述依赖关系,利用所述关键帧的插值结果,获取每两个相邻所述关键帧之间的空白帧的预测结果,同时按照原有的时间顺序重新排入目标动作序列,最终获取到目标动作序列内所有空白帧的预测结果。
[0108]
参照图4,示出了一种乱序自回归模型的训练方法实施例的流程图,所述训练方法用于训练图1和\或图3所示的乱序自回归模型,所述乱序自回归模型可以包括步骤103及s301-s302所述的方法,所述训练方法包括:
[0109]
步骤201、获取样本动作序列集。
[0110]
所述样本动作序列集包括连续的动作序列,如连续的动画中的多个帧。可选地,可以通过amss数据集获取样本动作序列集,amass数据集是一些公共动作序列数据集的集合,例如,可以使用smpl+h格式的所有可用数据集,smpl+h骨架包括22个身体关节和30个手关节,数据包含不同帧速率下的各种动作和运动序列。其中每一个姿势表示为三维的关节相对角度。结合步骤s301-步骤s303所述的平滑处理的方法,对应于输出序列的长度,因此需要设置训练数据的大小使其符合前文所述l=2t+3的关系,当然,不同的平滑处理方法所对应的输出序列长度与训练序列长度的关系也会不同。在本发明实施例中,通过滑动窗口的操作将获取到的原始的动作序列集进行切割,获取符合要求的样本动作序列集。
[0111]
步骤202、基于所述样本动作序列集,采用教师强制策略训练所述乱序自回归模型,得到一阶段乱序自回归模型。
[0112]
教师强制策略是一种训练递归神经网络的策略,它使用ground truth作为输入,而不是以前输出的预测值作为输入。所述ground truth是指有监督的训练机器学习模型时
所使用的监督数据,这样有较大偏差的前序预测值不会作为后序预测的输入,从而保证了本次训练后序预测的有效性。这样,每一轮空白帧的生成都依赖于输入的ground truth,优化了模型的中间处理过程以及中间参数的训练。
[0113]
步骤203、基于所述样本动作序列集,按照模型的输出完全由首位两帧生成的策略对所述一阶段乱序自回归模型进行二阶段训练,得到训练好的乱序自回归模型。
[0114]
在该步骤中,本发明实施例抛弃了教师强制策略,按照模型的输出完全由首位两帧生成的策略,仅使用样本动作序列集中序列的首位两帧以及样本序列的最终插值结果对所述一阶段乱序自回归模型进行二阶段训练,这样模型可以进一步提高模型训练的损失效果,提高了模型的实际性能。
[0115]
综上所述,本发明实施例提供了一种动作插值方法。对目标动作序列按照预设的依赖关系和预测顺序进行插值,具体地通过关键帧插值、关键帧区间内逐帧生成、平滑处理来实现动作序列的插值,打破了传统自回归模型中依照时间顺序的依赖关系和预测顺序,通过关键帧的选取减少了自回归过程中误差积累的速度,进一步地,还提供了用于执行乱序自回归的基于自注意力的乱序自回归模型,巧妙设计了柔性依赖注意掩码(flexible dependency attention mask,fdam)代替了多头自注意力机制中的下三角掩码矩阵,实现了基于依赖关系和预测顺序的乱序自回归,通过分而治之的方式降低了误差积累的路径长度,减少了误差传递,从误差传递的角度提高了动作插值的准确率。
[0116]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0117]
参照图5,示出了本发明的一种动作插值装置实施例的结构框图,所述装置300可以包括:
[0118]
目标动作序列获取模块301,用于获取目标动作序列,所述目标动作序列包括已知动作帧、多个空白帧;
[0119]
插值模块302,用于基于乱序自回归模型,按照训练好的依赖关系和预测顺序,逐步获取所述目标动作序列的插值结果;所述依赖关系包括所述已知动作帧、和空白帧中帧与帧之间的依赖关系。
[0120]
可选地,所述目标动作序列获取模块,可以包括:
[0121]
空白帧预测子模块,用于按照预设的依赖关系和预测顺序,逐步获取所述多个空白帧的预测结果;
[0122]
平滑子模块,用于对所述空白帧的预测结果,进行平滑处理,获取目标动作序列的插值结果。
[0123]
可选地,所述插值模块,可以包括:
[0124]
关键帧确定子模块,用于从所述空白帧中确定一个或多个关键帧;
[0125]
关键帧预测子模块,用于基于乱序自回归模型,按照训练好的依赖关系依次获取所述关键帧的预测结果;
[0126]
关键帧区间内空白帧插值子模块,按照相邻两个关键帧与所述相邻两个关键帧之
间的空白帧的所述训练好的依赖关系和预测顺序,利用所述关键帧的插值结果和所述乱序自回归模型,获取两个相邻关键帧之间的空白帧的预测结果。
[0127]
可选地,所述装置还可以包括:
[0128]
平滑模块,用于对所述目标动作序列的插值结果,进行平滑处理,得到目标动作序列的最终插值结果。
[0129]
可选地,所述目标动作序列的插值结果包括所述空白帧的预测结果;
[0130]
所述平滑模块包括:
[0131]
新空白帧插入子模块,用于以所述空白帧的预测结果为参考帧,在所述参考帧中每相邻两帧之间插入新空白帧;
[0132]
新空白帧回归子模块,用于依赖于所述参考帧,利用自回归生成所述新空白帧的预测结果;
[0133]
目标动作序列插值结果获取子模块,用于将所述新空白帧的预测结果代替所述参考帧,得到目标动作序列的最终插值结果。
[0134]
参照图6,示出了一种乱序自回归模型的训练装置的结构框图,所述训练装置用于训练图1和\或图3所示的乱序自回归模型,所述乱序自回归模型可以包括步骤103及s301-s302所述的方法,所述装置400包括:
[0135]
样本动作序列集获取模块401,用于获取样本动作序列集;
[0136]
一阶段训练模块402,用于基于所述样本动作序列集,采用教师强制策略训练所述乱序自回归模型,获取一阶段乱序自回归模型;
[0137]
二阶段训练模块403,用于基于所述样本动作序列集,按照模型的输出完全由首位两帧生成的策略对所述一阶段乱序自回归模型进行二阶段训练,获取训练好的乱序自回归模型。
[0138]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0139]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0140]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0141]
参考图7,其示出了本技术实施例提供的一种电子设备500,包括:处理器501、存储器502及存储在存储器502上并可在处理器501上运行的计算机程序,计算机程序被处理器501执行时实现如方法实施例中所述的动作插值方法的步骤。
[0142]
本技术实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现所述的动作插值方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0143]
其中,处理器为上述电子设备实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0144]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求
的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
[0145]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0146]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
[0147]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0148]
本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的排序设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0149]
应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0150]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0151]
以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施
例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
[0152]
以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。