虚拟人物的舞蹈动作生成方法、装置、设备及存储介质与流程

文档序号:31716735发布日期:2022-10-04 22:05阅读:470来源:国知局
虚拟人物的舞蹈动作生成方法、装置、设备及存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种虚拟人物的舞蹈动作生成方法、装置、计算机设备及存储介质。


背景技术:

2.在元宇宙等领域,虚拟人物的人物模型存在各种动作,包括走路连续姿态转换、转身动作,挥手动作。现在世界人有的动作,人物模型基本都要能够有,这样才能使得元宇宙的虚拟人物更加逼真、生动,从而会带来更加强烈的沉浸感。以上可见,虚拟人物的各种丰富类型的动作在元宇宙中是多么重要的一件事情,其中,虚拟人物的舞蹈动作也是应用中很重要的应用场景。
3.传统的方案中,虚拟人物的舞蹈动作生成方法,主要是先通过真人穿戴动捕设备进行跳舞表演,使用专业动作捕捉设备记录舞蹈动作对应的舞蹈动作数据,最后将记录的舞蹈动作数据转化为虚拟人物可用的3d动作数据,通过3d动作数据驱动虚拟人物模型执行相应的舞蹈动作。
4.然而,发明人研究发现,上述方案中,需要人工参与,流程复杂,耗时很长,而且每次需生成新的舞蹈时均都要重新进行录制舞蹈动作数据和转化为虚拟人物可用的3d动作数据,智能化水平低下,上述过程导致构建虚拟人物模型的舞蹈动作的效率比较低下。


技术实现要素:

5.本技术提供一种虚拟人物的舞蹈动作生成方法、装置、计算机设备及存储介质,以解决传统方案中,构建虚拟人物模型的舞蹈动作的效率比较低下的技术问题。
6.一种虚拟人物的舞蹈动作生成方法,包括:
7.获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括节拍点数量和所有节拍点的节拍落点时刻;
8.确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点表示其中一个舞蹈动作的量化特征,不同节点的舞蹈动作的动作类型不同;
9.从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征;
10.按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个采样舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置动作时刻,各个所述采样舞蹈动作的采样顺序分别与各个所述节拍点的节拍落点时刻一一对应;
11.根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作。
12.一种虚拟人物的舞蹈动作生成装置,包括:
13.获取模块,用于获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括节拍点数量和所有节拍点的节拍落点时刻;
14.确定模块,用于确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点表示其中一个目标舞蹈动作的量化特征,不同节点的目标舞蹈动作的动作类型不同;
15.游走模块,用于从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征;
16.设置模块,用于按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置对应的动作时刻,所述采样舞蹈动作的采样顺序与所述节拍点的节拍落点时刻一一对应;
17.生成模块,用于根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作。
18.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述虚拟人物的舞蹈动作生成方法的步骤。
19.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述虚拟人物的舞蹈动作生成方法的步骤。
20.上述虚拟人物的舞蹈动作生成方法、装置、计算机设备及存储介质所实现的其中一个方案中,先获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括所述目标音频包含的节拍点数量和所有节拍点的节拍落点时刻;确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点为舞蹈动作,不同节点的舞蹈动作的动作类型不同;从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征;然后依据从舞蹈动作有向有权图采样出的舞蹈动作自动生成虚拟人物的舞蹈动作,与传统的通过人工穿戴设备采集并生成虚拟人物的舞蹈动作的方式相比,本技术解放每次需生成新的舞蹈时需再次人工参与的繁琐流程,能够自动化、智能化的按照读取的目标音频生成舞蹈动作,提高了构建虚拟人物模型的舞蹈动作的效率,智能化水平也更高。
附图说明
21.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术一实施例中虚拟人物的舞蹈动作生成方法的一应用环境示意图;
23.图2是本技术一实施例中虚拟人物的舞蹈动作生成方法的一流程示意图;
24.图3是本技术一实施例中舞蹈动作有向有权图的一结构示意图;
25.图4是本技术一实施例中构建出舞蹈动作有向有权图一流程示意图;
26.图5是本技术一实施例中所采用的人体关键节点的节点示意图;
27.图6是本技术一实施例中训练出目标神经网络模型的一流程示意图;
28.图7是本技术一实施例中vq-vae网络的网络结构以及相应的训练过程示意图;
29.图8是本技术一实施例中虚拟人物的舞蹈动作生成装置的一结构示意图;
30.图9是本技术一实施例中计算机设备的一结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.本技术实施例提供的虚拟人物的舞蹈动作生成方法,可应用在如图1的应用环境中,其中,终端设备或者服务器可以获取目标音频,然后提取所述目标音频中的节拍信息,所述节拍信息包括所述目标音频包含的节拍点数量和所有节拍点的节拍落点时刻,并按照节拍点数量从预先构建的舞蹈动作有向有权图中游走采样出所需的所有采样舞蹈动作,最终按照采样舞蹈动作,生成虚拟人物的舞蹈动作。其中,该终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
33.需要说明的是,本技术实施例提供的虚拟人物的舞蹈动作生成方法,可应用于元宇宙(metaverse)领域中的虚拟人物的舞蹈动作生成中,包括虚拟现实游戏中的虚拟人物的舞蹈动作生成,或者其他非游戏应用中虚拟人物的舞蹈动作生成,具体本技术不做限定。
34.在一实施例中,如图2所示,提供一种虚拟人物的舞蹈动作生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
35.s10:获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括节拍点数量和所有节拍点的节拍落点时刻。
36.在元宇宙等领域,虚拟人物的人物模型存在各种动作,包括走路连续姿态转换、转身动作,挥手动作。现在世界人有的动作,人物模型基本都要能够有,这样才能使得元宇宙的虚拟人物更加逼真、生动,从而会带来更加强烈的沉浸感。以上可见,虚拟人物的各种丰富类型的动作在元宇宙中是多么重要的一件事情,其中,虚拟人物的舞蹈动作也是应用中很重要的应用场景。
37.本技术实施例中,提供了一种用于基于舞蹈动作有向有权图的舞蹈自动自动生成的方案,首先需获取一段目标音频,该目标音频是后续生成虚拟人物对应的舞蹈动作的音乐基础,该目标音频包括节拍信息,所述节拍信息包括所述目标音频包含的节拍点数量和所有节拍点的节拍落点时刻,获取到目标音频之后,并提取该目标音频中的节拍信息,可以理解的是,音乐节拍点,是一个衡量音频节奏的单位,在目标音频中,有一定强弱分别的一系列拍子在每隔一定时间重复出现,节拍点的节拍落点时刻,记录了该节拍点所在的时间位置,也即节拍点的时值。
38.需要说明的是,可以使用节拍追踪算法对目标音频中的音乐节拍进行检测,从而得到目标音频的所有节拍点的节拍落点时刻,并统计出所有节拍点的数量,得到节拍点数量。本技术实施例不对所采用的节拍追踪算法进行限定,在一些实施例中,节拍追踪算法可以使用动态规划节拍追踪算法,也可以使用其他节拍追踪算法,本技术实施例不做限定。
39.s20:确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权
图的节点表示其中一个目标舞蹈动作的量化特征,不同节点的目标舞蹈动作的动作类型不同。
40.本技术实施例中,除了获取目标音频,并提取所述目标音频中的节拍信息外,还会进一步获取舞蹈动作有向有权图,然后确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点表示其中一个目标舞蹈动作,不同节点的舞蹈动作的动作类型不同。
41.需要说明的是,有向有权图是一种存储结构,而本技术的有向有权图是用于表征舞蹈动作关系的有向有权图,本技术实施例中统称为“舞蹈动作有向有权图”。该舞蹈动作有向有权图中包括多个节点,每个节点表示不同的目标舞蹈动作,每个目标舞蹈动作对应一个量化特征,也即不同的节点对应的舞蹈动作的类型不同。目标舞蹈动作对应的量化特征表征了该目标舞蹈动作,依据该量化特征可以控制虚拟人物还原出相应的目标舞蹈动作。节点与节点之间具有方向性,节点到节点之间的边表示了从一个目标舞蹈动作到另一个目标舞蹈动作,节点到节点之间的边的值,表示从一个舞蹈动作到另一个舞蹈动作的切换概率。
42.示例性的,如图3所示,图3是本技术实施例中舞蹈动作有向有权图的一个结构示意图,需要说明的是,图3在此仅是便于说明列出的部分示例,并不造成限定,图3中,展示出了其中的5个节点,包括节点0、节点1、节点3、节点4、节点6和节点9,其中,节点中的具体数字表示节点编码,分别表示其中的一种目标舞蹈动作,而节点与节点之间的边表示不同目标舞蹈动作之间的切换概率,示例性的,可以看出,节点0到节点4和6的切换概率均是0.5,节点1到节点0和节点9的切换概率是0.5,节点3到节点0的切换概率是1,节点9到节点0的概率也是1,等等,可见,舞蹈动作有向有权图是预先构建的用于表征不同的目标舞蹈动作之间的切换的有向有权图。
43.该步骤中,会确定预先构建的舞蹈动作有向有权图的游走起始点,也即从舞蹈动作有向有权图的所有节点中,选取出一个游走起始点,作为后续舞蹈动作采样的基础。
44.另外需要说明的是,步骤s10与步骤s20并无时间先后顺序限定。
45.s30:从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征。
46.在确定了在所述舞蹈动作有向有权图的游走起始点后,从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,并且,为便于描述和理解,将从舞蹈动作有向有权图采样到的目标舞蹈动作,分别统称为采样舞蹈动作,对应的量化特征称为采样舞蹈动作的量化特征。在游走采样时,采样多少个采样舞蹈动作与目标音频的节拍点数量相同。例如,如果目标音频的节拍点数量为m,则从舞蹈动作有向有权图游走采样出m个采样舞蹈动作的量化特征。
47.如前述解释,所述舞蹈动作有向有权图是一种有指向的有权图,也即从某个节点只能按照志向游走到另外的节点,示例性的,再如图3所示,以节点0为例,从节点0中,仅能从节点0游走到节点4或节点6,因此,在舞蹈动作有向有权图游走采样时,可以依据指向不断采样,得到所需数量的采样舞蹈动作。
48.s40:按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个采
样舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置动作时刻,各个所述采样舞蹈动作的采样顺序分别与各个所述节拍点的节拍落点时刻一一对应。
49.s50:根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作。
50.在从所述舞蹈动作有向有权图的游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征后,再按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置对应的动作时刻,所述采样舞蹈动作的采样顺序与所述节拍点的节拍落点时刻一一对应,设置完所有采样舞蹈动作对应的动作时刻后,便可根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作,甚至进行后续虚拟人物的舞蹈动作的控制。需要说明的是,由于知道了所有采样舞蹈动作的动作时刻,便知道在何时插入所需的采样舞蹈动作,以及整首曲子要插入多少个关键舞蹈动作,而通过采样舞蹈动作的量化特征,便可控制虚拟人物展示相应的舞蹈动作,最终控制虚拟人物进行跳舞行为。
51.可以理解,前面从舞蹈动作有向有权图采样得到的采样舞蹈动作的数量是与目标音频的节拍点数量对应的,目的就是为了为目标音频的各个节拍点设置对应的舞蹈动作,因此,按照每个所述节拍点的节拍落点时刻,为每个采样舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置对应的动作时刻。示例性的,假设节拍点数量为m,则采样舞蹈动作的数量也为m,所述节拍点的节拍落点时刻依次是t0、t1、...、tm-1,所述多个采样舞蹈动作中每个舞蹈动作的采样顺序是c0、c1、...、cm-1,则会为c0对应的采样舞蹈动作的动作时刻设置为t0,会为c1对应的采样舞蹈动作的动作时刻设置为t1,以此类推,直至所有的舞蹈动作均设置了对应的动作时刻。
52.由上述方案可见,本技术实施例提供了一种虚拟人物的舞蹈动作生成方法,与传统的通过人工穿戴设备采集并生成虚拟人物的舞蹈动作的方式相比,解放每次需生成新的舞蹈时需再次人工参与的繁琐流程,能够自动化、智能化的按照读取的目标音频生成舞蹈动作,提高了构建虚拟人物模型的舞蹈动作的效率,智能化水平也更高。
53.在前述实施例中,提及了会预先构建舞蹈动作有向有权图,在一实施例中提供了一种构建舞蹈动作有向有权图的具体方式,也即,如图4所示,所述确定预先构建的舞蹈动作有向有权图的节点起始点之前,所述方法还包括如下步骤s101-s105,其中:
54.s101:获取第一舞蹈视频,所述第一舞蹈视频包括第一舞蹈画面和第一舞蹈配乐。
55.在构建舞蹈动作有向有权图的过程中,首先需获取第一舞蹈视频,该第一舞蹈视频是一种3d舞蹈视频,在一具体的应用场景中,所收集的第一舞蹈视频是通过多个角度拍摄得到的舞蹈视频,第一舞蹈视频中包含舞蹈画面和配乐,为便于与后续实施例的舞蹈视频区别开,这里将第一舞蹈视频中包含舞蹈画面和配乐分别称为舞蹈画面和第一配乐,值得说明的是,多角度拍摄是为了最终能够生成所需的3d人体的动作数据。
56.s102:对所述第一舞蹈画面和第一舞蹈配乐进行分析,提取出所述第一舞蹈配乐的所有节拍落点处的舞蹈动作,得到目标舞蹈动作序列。
57.如图5所示,示例性的,将第一舞蹈视频中的舞蹈人物的划分出25个关键节点,对这第一舞蹈视频中舞蹈人物的25关键节点进行分析,可以得到每个动作对应的这25个关键
节点的动作数据,上述动作数据具体可以是指这25个关键节点对应的位移向量和旋转向量,即关键节点的位移向量x和旋转向量y,关键节点的位移向量x和旋转向量y分别表示了该关键节点的空间位置和旋转角度。示例性的,该25个关键节点包括节点0(脊柱底部)、节点1(脊柱中部)、节点2(脖子)、节点3(头部)、节点4(左肩)、节点5(左肘部)、节点6(左手腕)、节点7(左手部)、节点8(右肩)、节点9(右肘部)、节点10(右手腕)、节点11(右手部)、节点12(左臀部)、节点13(左膝)、节点14(左踝)、节点15(左脚部)、节点16(右臀部)、节点17(右膝)、节点18(右踝)、节点19(右脚部)、节点20(脊柱肩部)、节点21(左手尖)、节点22(左拇指)、节点23(右手尖)和节点24(右拇指)。
58.需要说明的是,在其他应用中,还可以是其他的关键节点,或者其他的关键节点数量,具体不做限定。例如采用18个关键节点等等。通过选取关键节点,可以减少数据分析工作,又能保证基本的舞蹈动作的生成。
59.另外需要说明的是,在一些实施例中,可以使用ai(人工智能)图像动作捕捉工具,或者开发的ai动作捕捉模型,对第一舞蹈动作视频进行分析处理,获取舞蹈人物的关键节点的位移向量和旋转向量,具体不做限定。
60.而该步骤中,可以使用节拍追踪算法对目标音频中的音乐节拍进行检测,从而得到第一舞蹈配乐的所有节拍点的节拍落点时刻,然后按照第一舞蹈配乐的所有节拍点的节拍落点时刻对第一舞蹈画面的相应图像帧进行解析,得每一图像帧中对应的舞蹈人物的动作数据,以获取所有节拍点对应的舞蹈动作对应的动作数据(即位置向量和旋转向量),然后得到目标舞蹈动作序列。也就是说,该目标舞蹈动作序列是包含了一些列舞蹈动作对应的动作数据的。
61.需要说明的是,本技术实施例不对所采用的节拍追踪算法进行限定,在一些实施例中,节拍追踪算法可以使用动态规划节拍追踪算法,也可以使用其他节拍追踪算法,本技术实施例不做限定。
62.s103:将所述目标舞蹈动作序列输入预先训练好的目标神经网络模型中,使所述目标神经网络模型输出所述舞蹈动作序列中每个目标舞蹈动作的量化特征和编码。
63.在得到目标舞蹈动作序列后,便可利用该目标舞蹈动作序列输入至预先训练好的目标神经网络模型中,让该目标神经网络模型输出所述目标舞蹈动作序列中每个目标舞蹈动作的量化特征和编码。其中,该目标神经网络模型是基于某种特殊的神经网络结构事先利用数据进行训练得到,而该目标神经网络模型具体被配置为输入一段目标舞蹈动作序列,可以让该目标神经网络模型输入所述目标舞蹈动作序列中每个舞蹈动作的量化特征和编码。通过目标神经网络模型的方式,一方面提高了智能化水平,也可以保证输出的每个目标舞蹈动作的量化特征的准确性,为后续舞动动作的生成提供了必要的基础条件。
64.s104:统计所述目标舞蹈动作序列中,不同目标舞蹈动作之间的切换概率。
65.可以理解,前述生成的目标舞蹈动作序列是基于数据集获取得到,通过分析目标舞蹈动作序列的类型和次数,可以统计出每个不同类型的目标舞蹈动作的切换概率。某一目标舞蹈动作到另一目标舞蹈动作的切换概率,统计某一目标舞蹈动作到另一目标舞蹈动作的次数,在所有切换次数中的占比便可。据此,可以得到所述目标舞蹈动作序列中,不同目标舞蹈动作之间的切换概率。例如,所述目标舞蹈动作序列包括目标舞蹈动作1、目标舞蹈动作2、...、目标舞蹈动作s-1、目标舞蹈动作s。统计出目标舞蹈动作1,分别与目标舞蹈
动作2-目标舞蹈动作s中各个舞蹈动作的切换概率,同理,统计目标舞蹈动作2,分别与目标舞蹈动作1、目标舞蹈动作3-目标舞蹈动作s中各个目标舞蹈动作的切换概率,以此类推,直至统计所述目标舞蹈动作序列中,不同目标舞蹈动作之间的切换概率。
66.s105:根据所述不同目标舞蹈动作之间的切换概率,和每个目标舞蹈动作的编码,构建出所述舞蹈动作有向有权图,所述舞蹈动作有向有权图中各个节点的编码对应表示所述目标舞蹈动作序列中的各个目标舞蹈动作,所述舞蹈动作有向有权图中各个节点的各个目标舞蹈动作用所述各个目标舞蹈动作对应的所述量化特征表示。
67.在统计所述目标舞蹈动作序列中,不同目标舞蹈动作之间的切换概率后,以及每个目标舞蹈动作的编码后,便可构建出所述舞蹈动作有向有权图。具体而言,目标舞蹈动作之间的切换概率用于确定有权有向图中的路径,也即节点与节点之间的边和边的指向,据此可构建出最终的舞蹈动作有向有权图,使得所述舞蹈动作有向有权图中各个节点的编码对应表示所述目标舞蹈动作序列中的各个目标舞蹈动作,所述舞蹈动作有向有权图中各个节点的各个目标舞蹈动作用所述各个目标舞蹈动作对应的所述量化特征表示。示例性的,构建后的舞蹈动作有向有权图可如图3所示,这里不再详细展开说明。
68.在该实施例中,提出了一种构建舞蹈动作有向有权图的具体方式,通过深度学习的方式先获取舞蹈动作的量化特征和编码,基于不同目标舞蹈动作之间的切换概率确认舞蹈动作有向有权图,由于该舞蹈动作有向有权图是基于真实的第一舞蹈视频的数据所采集得到,可以还原出真实的舞蹈动作之间的切换,从而保证后续生成的虚拟人物的舞蹈动作的连贯性和自然性。
69.需要说明的是,该目标神经网络模型是基于某种特殊的神经网络结构事先利用数据进行训练得到,而在本技术中,利用vq-vae网络进行训练,将训练得到的vq-vae网络模型作为上述目标神经网络模型。具体而言,如图6所示,在一实施例中,所述目标神经网络模型通过如下方式训练得到:
70.s201:获取第二舞蹈视频,所述第二舞蹈视频包括第二舞蹈画面和第二舞蹈配乐。
71.s202:对所述第二舞蹈配乐进行分析,提取出所述第二舞蹈配乐的所有节拍点的节拍落点时刻。
72.s203:按照所述第二舞蹈配乐的所有节拍点的节拍落点时刻,从所述第二舞蹈画面中对应提取出所有节拍点对应的舞蹈动作,得到第一训练舞蹈动作序列。
73.上述s201-s203的过程与前述实施例中对第一舞蹈视频进行分析的过程类似,这里不再一一详述,不同的地方在于,前述实施例基于第一舞蹈视频得到的舞蹈动作序列是为了构建舞蹈动作有向有权图,而本技术实施例基于第二舞蹈视频,提取出的第一训练舞蹈动作序列,是用于对vq-vae网络进行训练的。
74.s204:基于所述第一训练舞蹈动作序列对vq-vae网络进行训练,直至所述vq-vae网络对应的损失值符合预设条件,将所述损失值符合预设条件的所述vq-vae网络作为所述目标神经网络模型。
75.在得到第一训练舞蹈动作序列之后,便可基于基于所述第一训练舞蹈动作序列对vq-vae网络进行训练,直至所述vq-vae网络对应的损失值符合预设条件,将所述损失值符合预设条件的所述vq-vae网络作为所述目标神经网络模型。
76.需要说明的是,在一些实施例中,第二舞蹈视频和第一舞蹈视频可以是同个视频,
具体不做限定。利用同个数据进行目标神经网络的训练,以及舞蹈动作有向有权图的构建,可以提高整体的处理效率,也更为简便。
77.其中,如图7所示,图7为所述vq-vae网络的网络结构示意图以及相应的数据处理过程,其中,所述vq-vae网络包括舞蹈动作的编码器e(pose encoder)、代码薄z(codebook z)和舞蹈动作的解码器d(pose decoder d),其中,pose表示姿态,也即舞蹈动作,基于所述第一训练舞蹈动作序列对vq-vae网络进行训练,直至所述vq-vae网络对应的损失值符合预设条件,将所述损失值符合预设条件的所述vq-vae网络作为所述目标神经网络模型的详细过包括如下步骤:
78.s2041:将所述第一训练舞蹈动作序列输入所述编码器进行编码,得到序列编码特征。
79.s2042:通过所述代码薄对所述序列编码特征进行量化操作,得到序列量化特征。
80.s2043:将对所述序列量化特征输入所述解码器进行解码,得到第二训练舞蹈动作序列。
81.对于步骤s2041-s2043,请继续参阅图7所示,图7中的p表示所述第一训练舞蹈动作序列,本技术实施例中,主要将该第一训练舞蹈动作序列进行编码操作(encode)和量化操作(quantize),生成舞蹈动作的代码薄z,其中,代码薄z表示为n为代码薄z(codebook z)的大小,每个zi表示其中一个舞蹈动作。具体而言,将第一训练舞蹈动作序列p经过编码器e,用编码器e将该舞蹈动作序列p被编码为序列编码特征e,然后对序列编码特征e进行量化操作,得到序列量化特征eq。其中,量化的规则为在代码薄z中,选取出和ei最近的特征,其中,ei表示第一训练舞蹈动作序列中的起其中一个训练舞蹈动作i对应的编码特征。
82.需要说明的是,在一些实施例中,所述通过所述代码薄对所述序列编码特征进行量化操作,得到序列量化特征,包括:按照预设计算方式在所述代码薄中,选取与所述序列编码特征中的各个训练舞蹈动作编码特征分别匹配的特征,得到序列量化特征;
83.其中,所述预设计算方式为:其中,ei表示训练舞蹈动作编码特征i,e
q,i
表示训练舞蹈动作编码特征i匹配的训练舞蹈动作量化特征,z表示所述代码薄,zj表示所述代码薄中的特征向量j。
84.从这里也可以进一步看出,在上述公式中,e
q,i
中的q代表量化操作(quantized),表示量化后的特征向量。最后序列量化特征eq通过解码器d可以还原为第二训练舞蹈动作序列p
*

85.可以理解的是,编码器e可以用1d时间卷积网络实现,解码器d对应配置,这里不做具体限定。
86.s2044:通过如下损失函数计算所述损失值。
87.s2045:将训练后所述损失值符合预设条件的所述vq-vae网络作为所述vq-vae模型。
88.vq-vae网络在训练时,编码器d、解码器e、和代码薄z可同时训练。而训练过程所采样的损失函数为:
89.l
vq
=l
rec
(p
*
,p)+||sg[e]-eq||+β||e-sg[eq]||;
[0090]
l
vq
表示所述损失值,l
rec
(p
*
,p)表示重建损失,||sg[e]-eq||表示代码薄损损失,β||e-sg[eq]||表示承诺损失,所述p表示所述第一训练舞蹈动作序列,所述p
*
表示所述第二训练舞蹈动作序列,e表示所述序列编码特征,sg[]表示反向传播时不更新梯度,eq表示所述序列量化特征,β表示常量参数。
[0091]
需要说明的是,该β是一个平衡参数,为一个常量,实验中可设置为0.1,具体训练过程选取,这里不做限定。
[0092]
可以理解,训练完成后,vq-vae网络中的代码薄z的每个量化特征都表示其中一个舞蹈动作,后续便可通过该vq-vae网络模型输出相应的舞蹈动作的量化特征和编码。
[0093]
结合上述实施例,s103中:也即将所述舞蹈动作序列输入预先训练好的目标神经网络模型中,使所述目标神经网络模型输出所述舞蹈动作序列中每个舞蹈动作的量化特征和编码,也就变成了将舞蹈动作序列输入预先训练好的vq-vae网络模型中,使所述vq-vae网络输出所述舞蹈动作序列中每个舞蹈动作的量化特征和编码,训练好的vq-vae网络将使用代码薄z对舞蹈动作序列进行量化,至此,第一舞蹈视频中每个节拍落点处的关键动作都被赋予了一个编号m,m∈[0,n-1],n为代码薄z的大小。
[0094]
在该实施例中,利用第二舞蹈视频中的第二舞蹈配乐的节拍信息,提取第一关键舞蹈动作序列并用于训练vq-vae网络,训练使用无标签数据,一方面可以大大降低了数据标注成本。
[0095]
在一实施例中,步骤s30中,也即所述从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征,具体包括:从所述游走起始点开始,在所述舞蹈动作有向有权图进行随机游走采样,或者按照预设采样规则进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征。
[0096]
在该实施例中,采用在舞蹈动作有向有权图中随机游走的方式生成关键舞蹈动作,保证了生成的舞蹈动作的多样化,且由于是基于本技术所构建的舞蹈动作有向有权图,也会使得最终生成的舞蹈动作的切换更加自然。当然,除了随机游走,在一些实施例中,还可以按照预设采样规则进行游走采样,具体不做限定。例如,该预设采样规则可以是按照切换概率的方式来进行,具体而言,比如存在两个走向,会先走概率高的那个指向对应的边进行采样,具体不做限定。
[0097]
在一实施例中,步骤s20中,也即所述确定预先构建的舞蹈动作有向有权图的游走起始点,具体包括如下步骤:
[0098]
s21:确定预先构建的舞蹈动作有向有权图的节点起始点;
[0099]
s22将所述节点起始点作为所述舞蹈动作有向有权图的游走起始点。
[0100]
该实施例中,在基于目标音频生成虚拟人物的舞蹈动作时,本技术实施例可以先对目标音频进行处理,提取节拍信息,每个节拍落点处应该生成一个关键舞蹈动作,具体在生成的舞蹈动作有向有权图中,从节点0开始进行游走,直到采样到足够多的舞蹈动作为止。由于舞蹈动作有向有权图是基于真实舞蹈动作所构建,从舞蹈动作有向有权图的节点起始开始游走,能够进一步保证所生成的舞蹈动作的自然性。
[0101]
需要说明的是,本技术实施例中,服务器生成虚拟人物的舞蹈动作的过程、构建舞蹈动作有向有权图的过程,以及训练出目标神经网络模型的过程,可以是不同的设备端实
现,例如可以是相同的服务器,或者分别是不同的服务器来实现,具体不做限定。当是分别是不同的服务器来实现时,实现生成虚拟人物的舞蹈动作的服务器,仅需从其他服务器构建好的舞蹈动作有向有权图便可,实现构建舞蹈动作有向有权图的服务器,仅需从其他服务器训练好的目标神经网络模型便可。
[0102]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0103]
在一实施例中,提供一种虚拟人物的舞蹈动作生成装置,该虚拟人物的舞蹈动作生成装置与上述实施例中虚拟人物的舞蹈动作生成方法一一对应。如图8所示,该虚拟人物的舞蹈动作生成装置10包括获取模块101、确定模块102、游走模块103、设置模块104和生成模块105。各功能模块详细说明如下:
[0104]
获取模块101,用于获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括节拍点数量和所有节拍点的节拍落点时刻;
[0105]
确定模块102,用于确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点表示其中一个目标舞蹈动作的量化特征,不同节点的目标舞蹈动作的动作类型不同;
[0106]
游走模块103,用于从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征;
[0107]
设置模块104,用于按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个采样舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置动作时刻,各个所述采样舞蹈动作的采样顺序分别与各个所述节拍点的节拍落点时刻一一对应;
[0108]
生成模块105,用于根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作。
[0109]
在一实施例中,该虚拟人物的舞蹈动作生成装置还包括构建模块;其中,该构建模块还用于:
[0110]
确定预先构建的舞蹈动作有向有权图的节点起始点之前,获取第一舞蹈视频,所述第一舞蹈视频包括第一舞蹈画面和第一舞蹈配乐;
[0111]
对所述第一舞蹈画面和第一舞蹈配乐进行分析,提取出所述第一舞蹈配乐的所有节拍落点处的舞蹈动作,得到目标舞蹈动作序列;
[0112]
将所述目标舞蹈动作序列输入预先训练好的目标神经网络模型中,使所述目标神经网络模型输出所述目标舞蹈动作序列中每个目标舞蹈动作的量化特征和编码;
[0113]
统计所述目标舞蹈动作序列中,不同目标舞蹈动作之间的切换概率;
[0114]
根据所述不同目标舞蹈动作之间的切换概率,和每个目标舞蹈动作的编码,构建出所述舞蹈动作有向有权图,所述舞蹈动作有向有权图中各个节点的编码对应表示所述目标舞蹈动作序列中的各个目标舞蹈动作,所述舞蹈动作有向有权图中各个节点的各个目标舞蹈动作用所述各个目标舞蹈动作对应的所述量化特征表示。
[0115]
在一实施例中,虚拟人物的舞蹈动作生成装置还包括训练模块:该训练模块用于:
[0116]
获取第二舞蹈视频,所述第二舞蹈视频包括第二舞蹈画面和第二舞蹈配乐;
[0117]
对所述第二舞蹈配乐进行分析,提取出所述第二舞蹈配乐的所有节拍点的节拍落点时刻;
[0118]
按照所述第二舞蹈配乐的所有节拍点的节拍落点时刻,从所述第二舞蹈画面中对应提取出所有节拍点对应的舞蹈动作,得到第一训练舞蹈动作序列;
[0119]
基于所述第一训练舞蹈动作序列对vq-vae网络进行训练,直至所述vq-vae网络对应的损失值符合预设条件,将所述损失值符合预设条件的所述vq-vae网络作为所述目标神经网络模型。
[0120]
在一实施例中,所述vq-vae网络包括编码器、代码薄和解码器,该训练模块还用于:
[0121]
将所述第一训练舞蹈动作序列输入所述编码器进行编码,得到序列编码特征;
[0122]
通过所述代码薄对所述序列编码特征进行量化操作,得到序列量化特征;
[0123]
将对所述序列量化特征输入所述解码器进行解码,得到第二训练舞蹈动作序列;
[0124]
通过如下损失函数计算所述损失值:
[0125]
l
vq
=l
rec
(p
*
,p)+||sg[e]-eq||+β||e-sg[eq]||;
[0126]
l
vq
表示所述损失值,l
rec
(p
*
,p)表示重建损失,||sg[e]-eq||表示代码薄损损失,β||e-sg[eq]||表示承诺损失,所述p表示所述第一训练舞蹈动作序列,所述p
*
表示所述第二训练舞蹈动作序列,e表示所述序列编码特征,sg[]表示反向传播时不更新梯度,eq表示所述序列量化特征,β表示常量参数;
[0127]
将训练后所述损失值符合预设条件的所述vq-vae网络作为所述vq-vae模型。
[0128]
在一实施例中,该训练模块还用于:
[0129]
按照预设计算方式在所述代码薄中,选取与所述序列编码特征中的各个训练舞蹈动作编码特征分别匹配的特征,得到序列量化特征;
[0130]
所述预设计算方式为:其中,ei表示训练舞蹈动作编码特征i,e
q,i
表示训练舞蹈动作编码特征i匹配的训练舞蹈动作量化特征,z表示所述代码薄,zj表示所述代码薄中的特征向量j。
[0131]
在一实施例中,游走模块103具体用于:从所述游走起始点开始,在所述舞蹈动作有向有权图进行随机游走采样,或者按照预设采样规则进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征。
[0132]
在一实施例中,确定模块102,具体用于确定预先构建的舞蹈动作有向有权图的节点起始点;将所述节点起始点作为所述舞蹈动作有向有权图的游走起始点。
[0133]
关于虚拟人物的舞蹈动作生成装置的具体限定,可以参见上文中对于虚拟人物的舞蹈动作生成方法的有关限定,在此不再赘述。上述虚拟人物的舞蹈动作生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0134]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算
机程序和数据库。该计算机设备的数据库用于存储动作数据或者视频数据。该计算机设备的网络接口用于与外部的捕捉设备通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟人物的舞蹈动作生成方法。
[0135]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0136]
获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括节拍点数量和所有节拍点的节拍落点时刻;
[0137]
确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点表示其中一个目标舞蹈动作的量化特征,不同节点的目标舞蹈动作的动作类型不同;
[0138]
从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征;
[0139]
按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个采样舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置动作时刻,各个所述采样舞蹈动作的采样顺序分别与各个所述节拍点的节拍落点时刻一一对应;
[0140]
根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作。
[0141]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0142]
获取目标音频,并提取所述目标音频中的节拍信息,所述节拍信息包括节拍点数量和所有节拍点的节拍落点时刻;
[0143]
确定预先构建的舞蹈动作有向有权图的游走起始点,所述舞蹈动作有向有权图的节点表示其中一个目标舞蹈动作的量化特征,不同节点的目标舞蹈动作的动作类型不同;
[0144]
从所述游走起始点开始,在所述舞蹈动作有向有权图进行游走采样,直至采样到与所述节拍点数量相同的多个目标舞蹈动作的量化特征,得到多个采样舞蹈动作的量化特征;
[0145]
按照每个所述节拍点的节拍落点时刻,以及所述多个采样舞蹈动作中每个采样舞蹈动作的采样顺序,对应为所述每个采样舞蹈动作设置动作时刻,各个所述采样舞蹈动作的采样顺序分别与各个所述节拍点的节拍落点时刻一一对应;
[0146]
根据所有所述采样舞蹈动作的量化特征和动作时刻,生成虚拟人物的舞蹈动作。
[0147]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0148]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0149]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1