本技术应用于计算机视觉领域,尤其应用于一种动作生成方法、训练方法以及装置。
背景技术:
1、随着技术的进步,数字人已经越来越多走进应用场景,包括数字偶像、虚拟社交、智慧诊疗、主持人甚至数字航天员等等。数字人在场景中的互动与认知,需要构建出一个运动自然,表情丰富和大脑智慧虚拟人。其中,数字人的合适的动作是数字人是否生动智能的核心要素之一。如在对话型数字人中,肢体动作可以增加演讲的节奏感,让演讲更生动,更具有说服力。
2、然而,在常用的数字人应用场景中,数字人的动作是否流畅对用户体验非常重要。一些已有的方式中,需要构造多个具有衔接作用的动作,再获取两个目标动作,再获取目标动作的轨迹参数,从底库里旋转候选衔接动作,再生成完整的动作。然而,通常衔接动作仅能从预先设定的动作中选取,可能导致动作过度不够流畅。因此,如何提高数字人的动作流畅程度,成为亟待解决的问题。
技术实现思路
1、本技术提供一种动作生成方法、训练方法以及装置,用于生成更符合运动规律的动作,从而提高用户对于数字人的表述观感。
2、有鉴于此,第一方面,本技术提供一种动作生成方法,包括:首先,获取输入运动数据,输入运动数据包括表示数字人进行运动的多个动作的数据;随后,从输入运动数据中的多种维度提取特征,得到运动特征,该多种维度可以包括时间维度与空间维度,从而提取到可以描述多个动作的时空关联性的特征;随后生成动作根据运动特征得到输出运动数据,输出运动数据包括表示数字人进行运动的多个动作以及至少一个生成动作的数据,该至少一个生成动作可以包括根据运动特征生成的动作。
3、本技术实施方式中,可以通过时间与空间的维度提取到具有时空关联性的特征,从而使提取到的特征可以从时间与空间的维度更准确地描述各个动作。从而在确定生成动作时,可以结合动作之间的时空连贯性来确定生成动作,从而得到过度更平滑的数字人动作。
4、一种可能的实施方式中,前述的从输入运动数据中的多种维度提取特征,得到运动特征,可以包括:通过多次迭代从输入运动数据中的多种维度提取特征,得到运动特征;其中,任意一次迭代过程包括:分别从时间维度与空间维度从上一次迭代输出的运动特征中提取特征,得到当前次迭代的时间特征和空间特征;对当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征。
5、本技术实施方式中,可以通过多次迭代,又粗到细进行特征提取,从而提取到更丰富的特征,使输出的运动特征可以更准确地描述各个动作。
6、一种可能的实施方式中,前述的分别从时间维度与空间维度从上一次迭代输出的运动特征中提取特征,得到当前次迭代的时间特征和空间特征,可以包括:可以使用预先训练的编码器分别从时间维度与空间维度对输入特征进行编码,得到时空编码数据;随后从时空编码数据提取特征,得到当前次迭代的时空特征;并从时空特征中提取当前次迭代的时间特征和空间特征。
7、本技术实施方式中,可以分别从时间维度和空间维度进行编码,从而可以从时间维度以及空间维度提取到特征。并从提取到的特征中获取到时间特征和空间特征,从而可以得到从时间维度和空间维度分别描述各个动作的特征。
8、一种可能的实施方式中,前述的对当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征,可以包括:对上一次迭代输出的运动特征,以及当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征,当前次迭代输出的运动特征与当前次迭代的时空特征之间的残差作为下一次迭代的输入特征。本技术实施方式中,每次迭代过程中可以对历史运动特征进行融合,从而在特征提取时,可以结合历史运动特征进行提取,从而可以使提取特征的过程逐步精细化,实现由粗到细的特征提取。
9、一种可能的实施方式中,前述的根据运动特征确定至少一个生成动作,可以包括:根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位,关节相位为数字人的关节在时序上的周期位置;根据数字人的关节位置、关节旋转信息以及关节相位确定至少一个生成动作。
10、本技术实施方式中,可以根据提取到的更准确的运动特征,分别确定数字人的关节位置、关节旋转信息以及关节相位等信息,从而可以生成更准确更平滑的动作。
11、一种可能的实施方式中,前述的根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位,可以包括:基于预设的运动学约束根据运动特征确定数字人的关节位置,该运动学约束可以包括与数字人的各个关节的位置、旋转角、速度或者加速度中的至少一项相关的约束,该运动学约束可以基于自然人的运动规律确定;根据关节位置确定关节旋转信息;根据运动特征确定关节相位,关节相位为数字人的关节在时序上的周期位置。
12、本技术实施方式中,可以基于运动学约束来确定数字人的关节位置,并在确定关节位置后基于关节位置确定关节旋转信息,如关节旋转角度或者旋转速度等信息,并确定数字人在运动时的关节相位。因此,可以生成与自然人的运动规律更符合的动作,且动作之间过度更自然,提高用户观感体验。
13、一种可能的实施方式中,前述的根据运动特征确定关节相位,可以包括:基于数字人的部位在时序上的预设位置约束根据运动特征确定关节相位,预设位置约束包括数字人的部位之间的位置关系在时序上的约束,或者数字人的各个部位在时刻上的位置约束。
14、本技术实施方式中,可以基于预设的数字人的关节约束,使数字人在运动时的关节位置与自然人的运动规律更接近,可以使数字人的动作过度更平滑,避免出现异于常人的动作,提高用户观感体验。
15、一种可能的实施方式中,前述的至少一个生成动作可以包括衔接动作、填充动作或者预测动作中的至少一种,衔接动作包括在多个动作之间进行过度的动作,填充动作包括在多个动作中填充的动作,预测动作包括在数字人在执行多个动作之后执行的动作。本技术实施方式中,可以对数字人的原始动作进行衔接、填充或者预测等,从而使数字人的动作更完整,过度更平滑,使数字人的动作与自然人的运动规律更接近,提高用户观感体验。
16、第二方面,本技术提供一种动作生成方法,包括:首先,获取输入运动数据,该输入运动数据包括表示数字人进行运动的多个动作的数据;随后,从输入运动数据中提取特征,得到运动特征;随后,根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位;并根据数字人的关节位置、关节旋转信息以及关节相位得到输出运动数据,输出运动数据包括表示多个动作以及至少一个生成动作的数据,至少一个生成动作包括根据运动特征生成的动作。
17、其中,第二方面以及第二方面任一可选实施方式的有益效果可以参阅前述第一方面及其相关描述,此处不再赘述。
18、一种可能的实施方式中,前述的根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位,可以包括:基于预设的运动学约束根据运动特征确定数字人的关节位置,运动学约束包括与数字人的各个关节的位置、旋转角、速度或者加速度中的至少一项相关的约束;根据关节位置确定关节旋转信息;根据运动特征确定关节相位,关节相位为数字人的关节在时序上的周期位置。
19、一种可能的实施方式中,前述的根据运动特征确定关节相位,可以包括:基于数字人的部位在时序上的预设位置约束根据运动特征确定关节相位,预设位置约束包括数字人的部位之间的位置关系在时序上的约束,或者数字人的各个部位在时刻上的位置约束。
20、一种可能的实施方式中,前述的至少一个生成动作包括衔接动作、填充动作或者预测动作中的至少一种,衔接动作包括在多个动作之间进行过度的动作,填充动作包括在多个动作中填充的动作,预测动作包括在数字人在执行多个动作之后执行的动作。
21、第三方面,本技术提供一种训练方法,包括:首先,获取训练数据,训练数据包括表示数字人进行运动的动作的数据;随后对训练数据进行掩码,得到掩码数据;随后使用掩码数据对动作生成模型进行训练,得到训练后的动作生成模型,训练后的动作生成模型用于基于输入的输入运动数据获取输出运动数据,该训练后的动作生成模型可以用于执行前述第一方面或第二方面任一可选实施方式中的步骤,输入运动数据包括表示数字人进行运动的多个动作的数据,输出运动数据包括表示数字人进行运动的多个动作以及至少一个生成动作的数据,至少一个生成动作包括根据运动特征生成的动作。
22、本技术实施方式中,可以通过掩码的方式对训练数据进行处理,从而可以得到训练模型时使用的输入数据以及对应的真值数据,无需人工添加标签即可实现对动作生成模型的训练,得到可以生成动作的动作生成模型。
23、该动作生成模型执行的步骤可以参阅第一方面或第二方面任一可选实施方式中的介绍,此处不再赘述。
24、第四方面,本技术提供一种动作生成模型,包括:
25、时空由粗到细编码模块,可以用于从输入运动数据中从时空维度提取特征,得到更准确的特征;
26、运动学和相位感知解码模块,可以用于基于输入的运动特征的输出运动数据;具体可以包括运动学模块和运动相位模块,运动学模块可以用于基于运动学约束确定数字人的关节位置以及旋转信息,运动相位模块可以用于结合自然人的运动规律确定数字人的关节相位,从而得到输出运动数据。
27、其中,第四方面以及第四方面任一可选实施方式的有益效果可以参阅前述第一方面及其相关描述,此处不再赘述。
28、一种可能的实施方式中,时空由粗到细编码模块,具体可以用于:通过多次迭代从输入运动数据中的多种维度提取特征,得到运动特征;其中,任意一次迭代过程包括:分别从时间维度与空间维度从上一次迭代输出的运动特征中提取特征,得到当前次迭代的时间特征和空间特征;对当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征。
29、一种可能的实施方式中,时空由粗到细编码模块,具体可以用于:可以使用预先训练的编码器分别从时间维度与空间维度对输入特征进行编码,得到时空编码数据;随后从时空编码数据提取特征,得到当前次迭代的时空特征;并从时空特征中提取当前次迭代的时间特征和空间特征。
30、一种可能的实施方式中,时空由粗到细编码模块,具体可以用于:对上一次迭代输出的运动特征,以及当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征,当前次迭代输出的运动特征与当前次迭代的时空特征之间的残差作为下一次迭代的输入特征。本技术实施方式中,每次迭代过程中可以对历史运动特征进行融合,从而在特征提取时,可以结合历史运动特征进行提取,从而可以使提取特征的过程逐步精细化,实现由粗到细的特征提取。
31、一种可能的实施方式中,运动学和相位感知解码模块,可以用于:根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位,关节相位为数字人的关节在时序上的周期位置;根据数字人的关节位置、关节旋转信息以及关节相位确定至少一个生成动作。
32、一种可能的实施方式中,运动学和相位感知解码模块,可以用于:基于预设的运动学约束根据运动特征确定数字人的关节位置,该运动学约束可以包括与数字人的各个关节的位置、旋转角、速度或者加速度中的至少一项相关的约束,该运动学约束可以基于自然人的运动规律确定;根据关节位置确定关节旋转信息;根据运动特征确定关节相位,关节相位为数字人的关节在时序上的周期位置。
33、一种可能的实施方式中,运动学和相位感知解码模块,可以用于:基于数字人的部位在时序上的预设位置约束根据运动特征确定关节相位,预设位置约束包括数字人的部位之间的位置关系在时序上的约束,或者数字人的各个部位在时刻上的位置约束。
34、一种可能的实施方式中,前述的至少一个生成动作可以包括衔接动作、填充动作或者预测动作中的至少一种,衔接动作包括在多个动作之间进行过度的动作,填充动作包括在多个动作中填充的动作,预测动作包括在数字人在执行多个动作之后执行的动作。本技术实施方式中,可以对数字人的原始动作进行衔接、填充或者预测等,从而使数字人的动作更完整,过度更平滑,使数字人的动作与自然人的运动规律更接近,提高用户观感体验。
35、第五方面,本技术提供一种动作生成模型,包括:
36、特征提取模块,用于从输入运动数据中提取特征,得到运动特征;
37、运动学和相位感知解码模块,可以用于基于输入的运动特征的输出运动数据;具体可以包括运动学模块和运动相位模块,运动学模块可以用于基于运动学约束确定数字人的关节位置以及旋转信息,运动相位模块可以用于结合自然人的运动规律确定数字人的关节相位,从而得到输出运动数据。
38、一种可能的实施方式中,运动学和相位感知解码模块,可以用于:基于预设的运动学约束根据运动特征确定数字人的关节位置,运动学约束包括与数字人的各个关节的位置、旋转角、速度或者加速度中的至少一项相关的约束;根据关节位置确定关节旋转信息;根据运动特征确定关节相位,关节相位为数字人的关节在时序上的周期位置。
39、一种可能的实施方式中,运动学和相位感知解码模块,可以用于:基于数字人的部位在时序上的预设位置约束根据运动特征确定关节相位,预设位置约束包括数字人的部位之间的位置关系在时序上的约束,或者数字人的各个部位在时刻上的位置约束。
40、一种可能的实施方式中,前述的至少一个生成动作可以包括衔接动作、填充动作或者预测动作中的至少一种,衔接动作包括在多个动作之间进行过度的动作,填充动作包括在多个动作中填充的动作,预测动作包括在数字人在执行多个动作之后执行的动作。
41、第六方面,本技术提供一种动作生成装置,包括:
42、获取模块,用于获取输入运动数据,输入运动数据包括表示数字人进行运动的多个动作的数据;
43、特征提取模块,用于从输入运动数据中的多种维度提取特征,得到运动特征,多种维度包括时间维度与空间维度;
44、生成模块,用于生成动作根据运动特征得到输出运动数据,输出运动数据包括表示数字人进行运动的多个动作以及至少一个生成动作的数据,至少一个生成动作包括根据运动特征生成的动作生成动作。
45、一种可能的实施方式中,特征提取模块,具体用于通过多次迭代从输入运动数据中的多种维度提取特征,得到运动特征;其中,任意一次迭代过程包括:分别从时间维度与空间维度从上一次迭代输出的运动特征中提取特征,得到当前次迭代的时间特征和空间特征;对当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征。
46、一种可能的实施方式中,特征提取模块,具体用于:分别从时间维度与空间维度对输入特征进行编码,得到时空编码数据;从时空编码数据提取特征,得到当前次迭代的时空特征;从时空特征中获取当前次迭代的时间特征和空间特征。
47、一种可能的实施方式中,特征提取模块,具体用于对上一次迭代输出的运动特征,以及当前次迭代的时间特征和空间特征进行融合,得到当前次迭代输出的运动特征,当前次迭代输出的运动特征与当前次迭代的时空特征之间的残差作为下一次迭代的输入特征。
48、一种可能的实施方式中,生成模块,具体用于:根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位,关节相位为数字人的关节在时序上的周期位置;根据数字人的关节位置、关节旋转信息以及关节相位确定至少一个生成动作。
49、一种可能的实施方式中,生成模块,具体用于:基于预设的运动学约束根据运动特征确定数字人的关节位置,运动学约束包括与数字人的各个关节的位置、旋转角、速度或者加速度中的至少一项相关的约束;根据关节位置确定关节旋转信息;根据运动特征确定关节相位,关节相位为数字人的关节在时序上的周期位置。
50、一种可能的实施方式中,生成模块,具体用于基于数字人的部位在时序上的预设位置约束根据运动特征确定关节相位,预设位置约束包括数字人的部位之间的位置关系在时序上的约束,或者数字人的各个部位在时刻上的位置约束。
51、一种可能的实施方式中,至少一个生成动作包括衔接动作、填充动作或者预测动作中的至少一种,衔接动作包括在多个动作之间进行过度的动作,填充动作包括在多个动作中填充的动作,预测动作包括在懂做人在执行多个动作之后执行的动作。
52、第七方面,本技术提供一种动作生成装置,包括:
53、获取模块,用于获取输入运动数据,输入运动数据包括表示数字人进行运动的多个动作的数据;
54、特征提取模块,用于从输入运动数据中提取特征,得到运动特征;
55、生成模块,用于根据运动特征确定数字人的关节位置、关节旋转信息以及关节相位;
56、生成模块,还用于根据数字人的关节位置、关节旋转信息以及关节相位得到输出运动数据,输出运动数据包括表示多个动作以及至少一个生成动作的数据,至少一个生成动作包括根据运动特征生成的动作。
57、一种可能的实施方式中,生成模块,具体用于:基于预设的运动学约束根据运动特征确定数字人的关节位置,运动学约束包括与数字人的各个关节的位置、旋转角、速度或者加速度中的至少一项相关的约束;根据关节位置确定关节旋转信息;根据运动特征确定关节相位,关节相位为数字人的关节在时序上的周期位置。
58、一种可能的实施方式中,生成模块,具体用于基于数字人的部位在时序上的预设位置约束根据运动特征确定关节相位,预设位置约束包括数字人的部位之间的位置关系在时序上的约束,或者数字人的各个部位在时刻上的位置约束。
59、一种可能的实施方式中,至少一个生成动作包括衔接动作、填充动作或者预测动作中的至少一种,衔接动作包括在多个动作之间进行过度的动作,填充动作包括在多个动作中填充的动作,预测动作包括在数字人在执行多个动作之后执行的动作。
60、第八方面,本技术实施例提供一种动作生成装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面或第二方面任一项所示的动作生成方法中与处理相关的功能。可选地,该动作生成装置可以是芯片。
61、第九方面,本技术实施例提供了一种训练装置,该动作生成装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行如上述第三方面或第三方面任一可选实施方式中与处理相关的功能。
62、第十方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面至第三方面任一可选实施方式中的方法。
63、第十一方面,本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面至第三方面任一可选实施方式中的方法。