一种舞蹈视频生成方法、设备及存储介质与流程

文档序号:29831510发布日期:2022-04-27 12:05阅读:195来源:国知局
一种舞蹈视频生成方法、设备及存储介质与流程

1.本技术涉及计算机技术领域,特别涉及一种舞蹈视频生成方法、设备及存储介质。


背景技术:

2.体感游戏是一种通过肢体动作变化来操作的新型电子游戏,该游戏需要提供相应的舞蹈视频供用户模仿。
3.目前,需要真人录制舞蹈视频,再将录制所得视频里的真人卡通化,从而得到用于体感游戏的舞蹈视频。但此过程不仅费时费力,还延长了制作周期,降低了舞蹈视频的制作效率,能得到的舞蹈视频也比较有限。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种舞蹈视频生成方法、设备及存储介质,以快速生成舞蹈视频,提高舞蹈视频的制作效率。其具体方案如下:
5.为实现上述目的,一方面,本技术提供了一种舞蹈视频生成方法,包括:
6.获取用户选择的歌曲,并利用音频特征提取模型提取所述歌曲中每帧音频中的音频特征,得到所述歌曲的音频特征流;
7.确定当前待预测的舞蹈画面的帧序数n和第n-1帧舞蹈画面;n为自然数,且从2开始取值;第1帧舞蹈画面为:与所述歌曲匹配的目标舞蹈视频的首帧画面;
8.利用动作特征提取模型提取所述第n-1帧舞蹈画面中的第n-1帧动作特征;
9.拼接第1~n-1帧的动作特征得到第1~n-1帧动作特征流,并在所述歌曲的音频特征流中确定第1~n帧音频特征流;
10.将所述第1~n-1帧动作特征流和所述第1~n帧音频特征流输入节奏预测模型,以使所述节奏预测模型预测得到第n帧节奏信息;
11.拼接第1~n帧的节奏信息得到第1~n帧节奏信息流,并将所述第1~n-1帧动作特征流、所述第1~n帧音频特征流和所述第1~n帧节奏信息流输入姿势预测模型,以使所述姿势预测模型预测得到第n帧舞蹈画面;第1帧节奏信息为预设值;
12.拼接第1~n帧的舞蹈画面得到第1~n帧舞蹈画面流;
13.若所述帧序数n等于所述歌曲中的音频特征个数,则基于所述歌曲的音频特征流和所述第1~n帧舞蹈画面流生成新舞蹈视频。
14.可选地,还包括:
15.若所述帧序数n不等于所述歌曲中的音频特征个数,则控制所述帧序数n递增一,并基于递增后的帧序数n执行所述确定当前待预测的舞蹈画面的帧序数n和第n-1帧舞蹈画面步骤以及后续步骤,以预测下一帧舞蹈画面,直至所述帧序数n等于所述音频特征个数。
16.可选地,所述目标舞蹈视频的确定过程包括:
17.分别计算所述歌曲与预设舞蹈视频库中的各现有舞蹈视频的匹配度;
18.将与所述歌曲匹配度最大的现有舞蹈视频确定为所述目标舞蹈视频。
19.可选地,所述分别计算所述歌曲与预设舞蹈视频库中的各现有舞蹈视频的匹配度,包括:
20.分别从各现有舞蹈视频中提取音频特征流,得到多个现有音频特征流;
21.分别计算各现有音频特征流与所述歌曲的音频特征流的匹配度,得到所述歌曲与各现有舞蹈视频的匹配度。
22.可选地,所述分别计算各现有音频特征流与所述歌曲的音频特征流的匹配度,包括:
23.分别计算各现有音频特征流与所述歌曲的音频特征流的欧式距离,得到各现有音频特征流与所述歌曲的音频特征流的匹配度。
24.可选地,所述音频特征提取模型和所述动作特征提取模型的训练过程包括:
25.从任意现有舞蹈视频中的任一帧视频数据中获取音频信息、舞蹈画面信息、以及该帧视频数据的标签;所述标签为:所述音频信息与所述舞蹈画面信息之间的初始匹配程度;
26.将所述音频信息输入神经网络模型,以使所述神经网络模型输出音频特征提取结果;
27.将所述舞蹈画面信息输入transformer模型,以使所述transformer模型输出动作特征提取结果;
28.计算所述音频特征提取结果和所述动作特征提取结果之间的匹配程度,并确定所述匹配程度与初始匹配程度之间的损失值;
29.基于所述损失值分别对所述神经网络模型和所述transformer模型的模型参数进行调整,得到更新后的神经网络模型和更新后的transformer模型;
30.若更新后的神经网络模型和更新后的transformer模型收敛,则将更新后的神经网络模型作为所述音频特征提取模型,将更新后的transformer模型作为所述动作特征提取模型。
31.可选地,若更新后的神经网络模型和/或更新后的transformer模型未收敛,则从所述现有舞蹈视频中重新获取另一帧视频数据及该帧视频数据的标签,以对更新后的神经网络模型和更新后的transformer模型进行迭代训练,直至更新后的神经网络模型和更新后的transformer模型均收敛。
32.可选地,基于基于所述歌曲的音频特征流和所述第1~n帧舞蹈画面流生成新舞蹈视频,包括:
33.将所述歌曲的音频特征流与所述第1~n帧舞蹈画面流逐帧合成,并对合成后视频画面进行渲染,得到所述新舞蹈视频。
34.又一方面,本技术还提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述舞蹈视频生成方法。
35.又一方面,本技术还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述舞蹈视频生成方法。
36.本技术利用音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型,可针对用户选择的歌曲自动生成相应的新舞蹈视频,不仅可提升舞蹈视频的制作效率,
实现舞蹈视频的快速生成,还可以降低制作成本。具体的,上述各模型可基于音频、画面动作、节奏等信息综合预测下一帧包括舞蹈姿势的舞蹈画面,可使预测到的舞蹈姿势实现踩点、卡点,从而提高了视频画面的真实性和准确性。同时,该方案针对用户所选歌曲实现了舞蹈视频的个性化定制,可以为用户提供更符合其偏好的舞蹈视频。
37.相应地,本技术提供的舞蹈视频生成设备及存储介质,也同样具有上述技术效果。
附图说明
38.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
39.图1为本技术提供的一种本技术适用的物理架构示意图;
40.图2为本技术提供的一种舞蹈视频生成方法流程图;
41.图3为本技术提供的一种模型联合训练方法流程图;
42.图4为本技术提供的另一种舞蹈视频生成方法流程图;
43.图5为本技术提供的又一种舞蹈视频生成方法流程图;
44.图6为本技术提供的一种舞蹈画面预测示意图;
45.图7为本技术提供的一种服务器结构图;
46.图8为本技术提供的一种终端结构图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。另外,在本技术实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
48.目前,通过身体去感受的电子游戏——体感游戏,受到了人们的喜爱。体感游戏也逐渐成为居家健身的潮流。但是,体感游戏中的舞蹈视频制作成本高,舞蹈视频数量有限,限制了用户使用。
49.目前,体感游戏的舞蹈视频需要真人录制后,再将录制所得视频里的真人卡通化,从而得到用于体感游戏的舞蹈视频。但此过程不仅费时费力,还延长了制作周期,降低了舞蹈视频的制作效率,能得到的舞蹈视频也比较有限。
50.鉴于目前所存在的上述问题,本技术提出了舞蹈视频生成方案,该方案可针对用户选择的歌曲自动生成相应的新舞蹈视频,可提升舞蹈视频的制作效率,实现舞蹈视频的个性化定制。
51.舞蹈生成指:输入一段音乐序列(往往是音频特征),输出一段同样时长有意义的动作序列,即给音乐配舞蹈。
52.其中,音频信号是一定量随时间的变化。通常使用采样率为44.1khz对信号进行采集,可以得到波形的离散采样点,并通过计算机软件对其进行处理,以获得更有表示性的音
频的特征。常见的特征有mfcc、constant-q chromagram等。
53.动作序列是指:姿态估计生成的关于动作的时序数据,每个时间步的数据由关键点组成,用来表征人的肢体动作。各关键点的连线能很好表征当前人物的肢体运动。
54.为了便于理解,先对本技术所适用的物理框架进行介绍。
55.应理解,本技术提供的舞蹈视频生成方法可以应用于具有舞蹈视频生成功能的系统或程序中。具体的,具有舞蹈视频生成功能的系统或程序可以运行于服务器、个人计算机等设备中。
56.如图1所示,图1为本技术适用的物理架构示意图。在图1中,具有舞蹈视频生成功能的系统或程序可以运行于服务器,该服务器通过网络从其他终端设备中获取用户选择的歌曲,并利用音频特征提取模型提取歌曲中每帧音频中的音频特征,得到歌曲的音频特征流;确定当前待预测的舞蹈画面的帧序数n和第n-1帧舞蹈画面;n为自然数,且从2开始取值;第1帧舞蹈画面为:与歌曲匹配的目标舞蹈视频的首帧画面;利用动作特征提取模型提取第n-1帧舞蹈画面中的第n-1帧动作特征;拼接第1~n-1帧的动作特征得到第1~n-1帧动作特征流,并在歌曲的音频特征流中确定第1~n帧音频特征流;将第1~n-1帧动作特征流和第1~n帧音频特征流输入节奏预测模型,以使节奏预测模型预测得到第n帧节奏信息;拼接第1~n帧的节奏信息得到第1~n帧节奏信息流,并将第1~n-1帧动作特征流、第1~n帧音频特征流和第1~n帧节奏信息流输入姿势预测模型,以使姿势预测模型预测得到第n帧舞蹈画面;第1帧节奏信息为预设值;拼接第1~n帧的舞蹈画面得到第1~n帧舞蹈画面流;若帧序数n等于歌曲中的音频特征个数,则基于歌曲的音频特征流和第1~n帧舞蹈画面流生成新舞蹈视频。
57.由图1可知,该服务器可以与多个设备建立通信连接,服务器从这些设备中获取歌曲或现有的舞蹈视频。服务器据此生成用于体感游戏的舞蹈视频。
58.图1中示出了多种终端设备,在实际场景中可以有更多或更少种类的终端设备参与到舞蹈视频生成的过程中,具体数量和种类因实际场景而定,此处不做限定,另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,具体服务器数量因实际场景而定。
59.应当注意的是,本实施例提供的舞蹈视频生成方法可以离线进行,即服务器本地存储有歌曲和现有的舞蹈视频,其可以直接利用本技术提供的方案生成用于体感游戏的舞蹈视频。
60.可以理解的是,上述具有舞蹈视频生成功能的系统、程序,也可以运行于个人移动终端,也可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。
61.具体的,在舞蹈视频生成完成后,获得的舞蹈视频可以应用于体感游戏中,从而使用户模仿舞蹈视频中的舞蹈动作。
62.结合以上共性,请参见图2,图2为本技术实施例提供的一种舞蹈视频生成方法流程图。如图2所示,该舞蹈视频生成方法可以包括以下步骤:
63.s201、获取用户选择的歌曲,并利用音频特征提取模型提取歌曲中每帧音频中的音频特征,得到歌曲的音频特征流。
64.在本实施例中,用户选择的歌曲可以是任意体感游戏所提供的歌曲库中的任意歌曲。音频特征提取模型可以基于神经网络模型训练得到,具体的训练过程可以基于该模型
在本实施例中的作用以及现有相关技术得到,在此不再赘述。
65.在本实施例中,音频特征提取模型输出的音频特征具体为:该模型针对mfcc等低层次特征处理后得到的包含特征上下文等更多信息的高层次特征。也就是说:歌曲输入音频特征提取模型后,该模型先将歌曲的音频特征化,得到mfcc序列,然后再对mfcc序列处理得到歌曲的音频特征流。
66.s202、确定当前待预测的舞蹈画面的帧序数n和第n-1帧舞蹈画面。
67.其中,n为自然数,且从2开始取值;第1帧舞蹈画面为:与歌曲匹配的目标舞蹈视频的首帧画面。其中,与某一歌曲匹配的目标舞蹈视频就是:与该歌曲的曲风、旋律等相近的某一现有舞蹈视频。
68.既然用户已选择某一歌曲,那么该歌曲中的音频总帧数就能确定,而即将生成的新舞蹈视频的总帧数就要和该歌曲中的音频总帧数一致。假设用户所选歌曲中的音频总帧数为s,那么该歌曲的音频特征流的音频特征个数即为s,且n∈[2,s],也就是需要预测第2至s帧画面,才能获得新舞蹈视频。当n=2时,第n-1帧舞蹈画面即为第1帧舞蹈画面。
[0069]
s203、利用动作特征提取模型提取第n-1帧舞蹈画面中的第n-1帧动作特征。
[0070]
在本实施例中,动作特征提取模型可基于transformer模型训练得到,具体的训练过程可以基于该模型在本实施例中的作用以及现有相关技术得到,在此不再赘述。于动作特征提取模型而言,其输入为某一帧舞蹈画面,输出为该帧舞蹈画面中的人物的动作特征。
[0071]
当n=2时,第n-1帧舞蹈画面即为第1帧舞蹈画面,那么第n-1帧动作特征即为第1帧舞蹈画面中的人物的动作特征,也就是第1帧动作特征。
[0072]
s204、拼接第1~n-1帧的动作特征得到第1~n-1帧动作特征流,并在歌曲的音频特征流中确定第1~n帧音频特征流。
[0073]
s205、将第1~n-1帧动作特征流和第1~n帧音频特征流输入节奏预测模型,以使节奏预测模型预测得到第n帧节奏信息。
[0074]
在本实施例中,节奏预测模型可基于任意模型训练得到,具体的训练过程可以基于该模型在本实施例中的作用以及现有相关技术得到,在此不再赘述。于节奏预测模型而言,其输入为已预测得到的所有动作特征、当前帧及当前帧之前的所有音频特征,输出为当前帧节奏信息。
[0075]
当n=2时,“第1~n-1帧”相当于“第1~1帧”,此时第1~n-1帧的动作特征只有一个:第1帧动作特征,那么第1~n-1帧动作特征流也就是第1帧动作特征。相应的,“第1~n帧”相当于“第1~2帧”,那么第1~n帧音频特征流是:拼接第1帧音频特征和第2帧音频特征得到的信息流,那么第1~n帧节奏信息流是:拼接第1帧节奏信息和第2帧节奏信息得到的信息流。
[0076]
当n=3时,“第1~n-1帧”相当于“第1~2帧”,此时第1~n-1帧的动作特征有两个:第1帧动作特征+第2帧动作特征,那么第1~n-1帧动作特征流也就是:拼接第1帧动作特征和第2帧动作特征得到的信息流。相应的,“第1~n帧”相当于“第1~3帧”,那么第1~n帧音频特征流也就是:拼接第1帧音频特征、第2帧音频特征、第3帧音频特征得到的信息流,那么第1~n帧节奏信息流是:拼接第1帧节奏信息、第2帧节奏信息、第3帧节奏信息得到的信息流。
[0077]
可见,在某一帧节奏信息的预测过程中,参考了已预测得到的所有动作特征、当前
帧及当前帧之前的所有音频特征,从而可保障音乐节奏的连贯性。又由于相邻两个舞蹈动作一般在音乐节奏转折处进行变换,因此预测节奏信息可为舞蹈姿势的预测提供卡点、踩点依据,也就是便于确定相邻两个舞蹈动作的变换时机。
[0078]
s206、拼接第1~n帧的节奏信息得到第1~n帧节奏信息流,并将第1~n-1帧动作特征流、第1~n帧音频特征流和第1~n帧节奏信息流输入姿势预测模型,以使姿势预测模型预测得到第n帧舞蹈画面。
[0079]
其中,第1帧节奏信息为预设值,该预设值可以是默认值,也可以是:与用户所选歌曲匹配的目标舞蹈视频中的首帧节奏信息。
[0080]
在本实施例中,姿势预测模型可基于任意模型训练得到,具体的训练过程可以基于该模型在本实施例中的作用以及现有相关技术得到,在此不再赘述。于姿势预测模型而言,其输入为已预测得到的所有动作特征、当前帧及当前帧之前的所有音频特征,当前帧及当前帧之前的所有节奏信息,输出为当前帧舞蹈画面。姿势预测指:对人体的各关键点的位置进行估计,形成包括估计结果的画面。人体的各关键点如:头、四肢等。
[0081]
姿势预测模型基于第1~n-1帧动作特征流、第1~n帧音频特征流和第1~n帧节奏信息流预测第n帧舞蹈画面,可在某一帧舞蹈画面的预测过程中,参考已预测得到的所有动作特征、当前帧及当前帧之前的所有音频特征、当前帧及当前帧之前的所有节奏信息,从而可保障舞蹈动作及画面的连贯性,为舞蹈姿势的预测提供卡点、踩点依据。
[0082]
s207、拼接第1~n帧的舞蹈画面得到第1~n帧舞蹈画面流。
[0083]
当n=2时,“第1~n帧”相当于“第1~2帧”,那么第1~n帧的舞蹈画面流是:拼接第1帧舞蹈画面和第2帧舞蹈画面得到的信息流。
[0084]
当n=3时,“第1~n帧”相当于“第1~3帧”,那么第1~n帧舞蹈画面流也就是:拼接第1帧舞蹈画面、第2帧舞蹈画面、第3帧舞蹈画面得到的信息流。
[0085]
可见,第一次迭代用于预测第2帧舞蹈画面,下一次迭代用于预测第3帧舞蹈画面,而所有已预测得到的舞蹈画面都会参与到后续画面的预测过程,由此可保障舞蹈画面的连贯性。舞蹈画面可以为3d舞蹈画面。
[0086]
s208、判断当前帧序数n是否等于歌曲中的音频特征个数;若是,则执行s209;否则,则执行s210。
[0087]
s209、基于歌曲的音频特征流和第1~n帧舞蹈画面流生成新舞蹈视频。
[0088]
s210、控制帧序数n递增一,并执行s202,以预测下一帧舞蹈画面,直至帧序数n等于音频特征个数,也就是得到与用户所选歌曲的帧数对齐的舞蹈画面帧。
[0089]
在本实施例中,若帧序数n不等于歌曲中的音频特征个数,则控制帧序数n递增一,并基于递增后的帧序数n执行确定当前待预测的舞蹈画面的帧序数n和第n-1帧舞蹈画面步骤以及后续步骤,以预测下一帧舞蹈画面,直至帧序数n等于音频特征个数。
[0090]
假设用户所选歌曲中的音频总帧数为s,那么在当前帧序数n=s时,可得到第1~s帧舞蹈画面流,此时将歌曲的音频特征流与第1~s帧舞蹈画面流逐帧合成,并对合成后视频画面进行渲染,即可得到新舞蹈视频。否则,执行s210,以使帧序数n递增一,得到n+1,并基于n+1执行s202,以预测下一帧舞蹈画面,直至帧序数n等于s。
[0091]
可见,本实施例利用音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型,可针对用户选择的歌曲自动生成相应的新舞蹈视频,不仅可提升舞蹈视频的制
作效率,实现舞蹈视频的快速生成,还可以降低制作成本。具体的,上述各模型可基于音频、画面动作、节奏等信息综合预测下一帧包括舞蹈姿势的舞蹈画面,可使预测到的舞蹈姿势实现踩点、卡点,从而提高了视频画面的真实性和准确性。同时,该方案针对用户所选歌曲实现了舞蹈视频的个性化定制,可以为用户提供更符合其偏好的舞蹈视频。
[0092]
基于上述实施例,音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型的输入以及输入可参照如下示例:假设用户所选歌曲中的音频总帧数为4,那么将该歌曲输入音频特征提取模型,可得到由4帧音频特征构成的音频特征流,那么:
[0093]
第一次预测过程,即n=2时:动作特征提取模型的输入数据为:第1帧舞蹈画面,输出为:第1帧动作特征。节奏预测模型的输入数据为:第1帧动作特征+第1~2帧音频特征,输出为:第2帧节奏信息。姿势预测模型的输入数据为:第1帧动作特征+第1~2帧音频特征+第1~2帧节奏信息,输出为:第2帧舞蹈画面。
[0094]
第二次预测过程,即n=3时:动作特征提取模型的输入数据为:第2帧舞蹈画面,输出为:第2帧动作特征。节奏预测模型的输入数据为:第1~2帧动作特征+第1~3帧音频特征,输出为:第3帧节奏信息。姿势预测模型的输入数据为:第1~2帧动作特征+第1~3帧音频特征+第1~3帧节奏信息,输出为:第3帧舞蹈画面。
[0095]
第三次预测过程,即n=4时:动作特征提取模型的输入数据为:第3帧舞蹈画面,输出为:第3帧动作特征。节奏预测模型的输入数据为:第1~3帧动作特征+第1~4帧音频特征,输出为:第4帧节奏信息。姿势预测模型的输入数据为:第1帧动作特征+第1~4帧音频特征+第1~4帧节奏信息,输出为:第4帧舞蹈画面。
[0096]
由此可得到第1~4帧舞蹈画面,逐帧合成这4帧舞蹈画面和音频总帧数为4的歌曲,并经过渲染,即可得到4帧的舞蹈视频。
[0097]
基于上述实施例,需要说明的是,目标舞蹈视频的确定过程包括:分别计算歌曲与预设舞蹈视频库中的各现有舞蹈视频的匹配度;将与歌曲匹配度最大的现有舞蹈视频确定为目标舞蹈视频。
[0098]
在一种具体实施方式中,分别计算歌曲与预设舞蹈视频库中的各现有舞蹈视频的匹配度,包括:分别从各现有舞蹈视频中提取音频特征流,得到多个现有音频特征流;分别计算各现有音频特征流与歌曲的音频特征流的匹配度,得到歌曲与各现有舞蹈视频的匹配度。
[0099]
在一种具体实施方式中,分别计算各现有音频特征流与歌曲的音频特征流的匹配度,包括:分别计算各现有音频特征流与歌曲的音频特征流的欧式距离,得到各现有音频特征流与歌曲的音频特征流的匹配度。可见,任一现有音频特征流与某一歌曲的音频特征流的欧式距离,即可作为该现有音频特征流与该歌曲的音频特征流的匹配度。当然,还可以采用其他方式计算两个音频特征流的匹配度。
[0100]
基于上述实施例,需要说明的是,对音频特征提取模型和动作特征提取模型进行联合训练,可保障二者所输出的某一帧音频特征和该帧的动作特征相互匹配。
[0101]
请参见图3,音频特征提取模型和动作特征提取模型的联合训练过程包括:
[0102]
s301、从任意现有舞蹈视频中的任一帧视频数据中获取音频信息、舞蹈画面信息、以及该帧视频数据的标签;标签为:音频信息与舞蹈画面信息之间的初始匹配程度。
[0103]
音频信息与舞蹈画面信息之间的初始匹配程度可以是:这音频信息与舞蹈画面信
息之间的欧氏距离。
[0104]
其中,s301中的现有舞蹈视频可从预设舞蹈视频库中选取。若利用某一现有舞蹈视频中的各帧视频数据对本实施例中的两个模型进行了训练,但两个模型还没有收敛,则从预设舞蹈视频库中重新选取另一舞蹈视频,直至两个模型都收敛。
[0105]
s302、将音频信息输入神经网络模型,以使神经网络模型输出音频特征提取结果。
[0106]
s303、将舞蹈画面信息输入transformer模型,以使transformer模型输出动作特征提取结果。
[0107]
s304、计算音频特征提取结果和动作特征提取结果之间的匹配程度,并确定匹配程度与初始匹配程度之间的损失值。
[0108]
其中,音频特征提取结果和动作特征提取结果之间的匹配程度可以是:这两个提取结果之间的欧氏距离。
[0109]
s305、基于损失值分别对神经网络模型和transformer模型的模型参数进行调整,得到更新后的神经网络模型和更新后的transformer模型。
[0110]
s306、判断更新后的两个模型是否均收敛;若是,则执行s307;若否,则执行s308。
[0111]
s307、将更新后的神经网络模型作为音频特征提取模型,将更新后的transformer模型作为动作特征提取模型。
[0112]
s308、用更新后的两个模型替换本次迭代过程所用的两个模型,并执行s301,以从现有舞蹈视频中重新获取另一帧视频数据及该帧视频数据的标签,对更新后的神经网络模型和更新后的transformer模型进行迭代训练,直至更新后的神经网络模型和更新后的transformer模型均收敛时,将更新后的神经网络模型作为音频特征提取模型,将更新后的transformer模型作为动作特征提取模型。
[0113]
在本实施例中,神经网络模型可以为任何结构。transformer模型可以使用现有transformer结构或对现有transformer结构调整后使用。当然,还可以采用其他结构的模型训练得到动作特征提取模型和音频特征提取模型。
[0114]
下面通过具体的应用场景实例描述,来介绍本技术提供的方案。即:利用音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型生成并使用舞蹈视频的具体方案。该方案可以将基于任意歌曲生成并使用舞蹈视频。
[0115]
在服务器中设置音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型。请参见图4,具体流程包括:
[0116]
s401、用户在终端上选择歌曲;
[0117]
s402、终端将该歌曲发送至服务器;
[0118]
s403、服务器收到歌曲后,调用自身中的音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型生成舞蹈视频;
[0119]
s404、服务器将生成的舞蹈视频发送至终端;
[0120]
s405、终端接收舞蹈视频后,用户将舞蹈视频应用于终端上的体感游戏,并在体感游戏中播放该舞蹈视频。
[0121]
其中,终端可以为智能手机、电视、平板电脑、笔记本电脑或台式电脑等设备。
[0122]
本实施例中的音频特征提取模型、动作特征提取模型、节奏预测模型、姿势预测模型的训练过程可参照如下示例,具体请参见图5。
[0123]
步骤1:数据准备。
[0124]
下载数千个舞蹈视频,形成预设舞蹈视频库,并据此视频库构建音乐-舞蹈数据集。数据集至少包含50小时的同步音乐片段和舞蹈动作片段,音乐片段和舞蹈动作片段一一对应。
[0125]
步骤2:设定音频特征、动作特征,并训练卷积神经网络和transformer。
[0126]
对于任一段音乐(一般为一个音频帧),通过音频预处理工具提取歌曲的梅尔频谱图,这里的输入类型限定为音频,文件格式不限,比如:mp3、m4a、wav等。提取每个音频帧的mfcc特征,该特征与人耳听觉感知接近,利于卷积神经网络从用户的听感角度获取相似的特征向量,这里构成n
×
128维的mfcc,其中n为音频的一个帧长。通过深度学习技术搭建卷积神经网络,针对各mfcc特征提取更高层的音频特征。
[0127]
将舞蹈画面中关节坐标的连续值表示为离散类别。对于3d画面的每个维度,均匀离散化为300个恒定间隔,从而获得3个300维的one-hot向量。为了降低内存成本,将每个one-hot向量转换为具有共享大小的可学习矩阵[de,300]的de维嵌入向量,从而将一个3d画面中的运动序列转换为大小为[t,3n,de]的张量。t为总帧数。据此,可将各舞蹈动作片段转换为向量形式,这些向量可输入transformer进行动作模型的训练。
[0128]
下述介绍卷积神经网络和transformer的训练。
[0129]
为了使卷积神经网络和transformer输出的特征相互匹配,使用同步的音乐片段和舞蹈动作片段联合训练卷积神经网络和transformer,从而将同步的音乐片段和舞蹈动作片段映射到一个统一的嵌入空间。其中,同步的音乐片段和舞蹈动作片段之间的风格一致性可以通过相应嵌入向量之间的欧式距离来衡量。
[0130]
其中,transformer针对舞蹈动作片段的处理包括:合并[t,3n,de]的最后两个运动嵌入轴后,将其输入到transformer中时间上完全连接的前馈层以获得具有dm通道的向量序列,同时计算具有正弦和余弦函数的dm维位置嵌入序列来编码时间信息,使得[t,3n,de]形成大小为[t,de]的运动表示xm。transformer将[t,de]转换为3个矩阵,分别为k=xmwk,q=xmwq,v=xmwv,然后计算特征:
[0131][0132]
将所有的zi拼接起来形成z,然后将其输入1d的卷积层,这形成了一个transformer模块。这里使用多个这样的transformer模块,transformer模块之间具有残差连接。
[0133]
卷积神经网络内置音频预处理工具,其针对音频帧的处理包括:提取音频中的音频帧的mfcc特征,并将音频帧的mfcc特征转换为更高层的音频特征。
[0134]
步骤3:设定编舞节奏信息,并训练节奏特征分类网络(即节奏预测模型)。
[0135]
由于在舞蹈中身体动作与音乐节奏相协调。而在音乐理论中,节奏通常用音乐表来表示。其中,节拍是指节拍的组织模式,节拍是音乐的基本时间单位。因此,可以使用节拍来对应舞蹈动作。
[0136]
通常,音乐节拍对应于音乐中的声音脉冲,而相应的舞蹈节拍对应于身体运动的暂停或急转弯。节拍由拍号表示(即2/4、3/4、4/4等),其中左边数字表示小节中的节拍数,
右边数字表示节拍的速度持续时间。
[0137]
具体的,可以使用节奏特征表示节拍。在每个节奏特征中,偶数位表示存在规则节拍(1:存在,0:不存在),其对应于时间签名指示的均匀间隔的标准节拍,而奇数位表示半节拍(1:存在,0:不存在),它解释了两个常规节拍之间的节奏点(通常由连线、休止符或点引起,或者仅仅是因为相邻节拍是由多个较小的节拍构成的)。节奏特征中的连续零表示音乐和舞蹈动作中的连奏或平滑周期,通过这种方式,可以为每个音频帧都提取编舞的节奏特征。因此节奏特征即由0、1构成的序列。
[0138]
为了与音乐和动作相连接,使用一个节奏特征分类网络(具体为卷积神经网络)来预测下一片段的节奏特征。具体地,将当前帧及当前帧以前的所有音乐片段、当前帧以前的所有舞蹈片段的嵌入向量输入节奏特征分类网络,从而输出下一帧的节奏特征。
[0139]
其中,节奏特征分类网络可以包括:2层卷积层和1层全连接层,损失函数使用交叉熵损失函数。当然,还可以使用汉明距离(两个位模式不同的位位置数)来定义两个节奏特征之间的距离。
[0140]
步骤4:训练姿势预测模型。
[0141]
将当前帧及当前帧以前的所有音乐特征、当前帧以前的所有舞蹈特征、当前帧及当前帧以前的所有节奏特征输入姿势预测模型,可得到当前帧的舞蹈动作画面,即预测了下一时间步中的姿态。
[0142]
其中,当前帧以前的所有舞蹈特征由transformer输出,此即为不包括当前帧的舞蹈历史信息。当前帧及当前帧以前的所有音乐特征由卷积神经网络输出,此即为包括当前帧的音乐历史信息。
[0143]
将舞蹈历史信息和音乐历史信息输入节奏特征分类网络,可得到下一帧的节奏特征,即:使用舞蹈历史信息和音乐历史信息这两个流预测节拍。由此可得到包括当前帧的节奏历史信息。
[0144]
最后,将舞蹈历史信息、音乐历史信息、节奏历史信息这三个流融合在一起,输入给姿势预测模型,以预测下一个姿势。
[0145]
假设当前t时刻输出的姿势向量为音乐向量为节奏向量为那么预测得到的下一时刻舞蹈姿态动作表示为:
[0146]
步骤5:结合用户所选歌曲生成音乐舞蹈视频。
[0147]
用户自主选择歌曲,或者基于用户数据推测其偏好的歌曲,用上述各模型以该歌曲为基础,生成音乐舞蹈视频
[0148]
基于用户数据推测其偏好的歌曲包括:统计用户听歌行为所包含的流派、语种等数据,得到用户喜爱和偏好的歌曲;通过余弦相似度公式计算用户喜爱歌曲的特征与其它歌曲的相似度,为用户推荐心动歌曲。
[0149]
任一帧姿势的预测过程可参照图6。如图6所示,当前待预测的帧数为n,那么以1~n帧音频特征、1~n帧节奏特征、1~n-1帧动作特征作为姿势预测模型的输入,从而使其输
出n+1帧舞蹈姿势。其中,第n帧节奏特征由节奏预测模型基于1~n帧音频特征和1~n-1帧动作特征得到。
[0150]
在上述各模型的训练期间,可以高效地并行计算每帧对应的音频特征、节奏特征、动作特征,但需要确保每次计算时是关注当前帧的过去,还是关注当前帧以及其过去。
[0151]
可见,本实施例基于一个歌曲,可以直接通过算法能力生成和音乐相符合的舞蹈视频,其中不仅使用了音频特征,而且提取出节奏信息,使得编舞可以踩点、卡点。由于音乐舞蹈视频可以自动生成,该方案还可以通过用户听歌偏好数据,为用户提供对口的音乐舞蹈视频,既能够让用户享受到更符合自身偏好和口味的歌曲,而且解决了音乐舞蹈体感游戏制作成本高的问题。
[0152]
本方案既可以通过服务器后台处理,也可以通过云端处理,处理效率高,运行速度快。
[0153]
下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上述实施例的相关实现步骤可以相互参照。
[0154]
进一步的,本技术实施例还提供了一种电子设备。其中,上述电子设备既可以是如图7所示的服务器50,也可以是如图8所示的终端60。图7和图8均是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本技术的使用范围的任何限制。
[0155]
图7为本技术实施例提供的一种服务器的结构示意图。该服务器50,具体可以包括:至少一个处理器51、至少一个存储器52、电源53、通信接口54、输入输出接口55和通信总线56。其中,所述存储器52用于存储计算机程序,所述计算机程序由所述处理器51加载并执行,以实现前述任一实施例公开的舞蹈视频生成中的相关步骤。
[0156]
本实施例中,电源53用于为服务器50上的各硬件设备提供工作电压;通信接口54能够为服务器50创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口55,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0157]
另外,存储器52作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统521、计算机程序522及数据523等,存储方式可以是短暂存储或者永久存储。
[0158]
其中,操作系统521用于管理与控制服务器50上的各硬件设备以及计算机程序522,以实现处理器51对存储器52中数据523的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序522除了包括能够用于完成前述任一实施例公开的舞蹈视频生成方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据523除了可以包括应用程序的更新信息等数据外,还可以包括应用程序的开发商信息等数据。
[0159]
图8为本技术实施例提供的一种终端的结构示意图,该终端60具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
[0160]
通常,本实施例中的终端60包括有:处理器61和存储器62。
[0161]
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器61可以采用dsp(digital signal processing,数字信号处理)、fpga(field-
programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0162]
存储器62可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器62还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器62至少用于存储以下计算机程序621,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的舞蹈视频生成方法中的相关步骤。另外,存储器62所存储的资源还可以包括操作系统622和数据623等,存储方式可以是短暂存储或者永久存储。其中,操作系统622可以包括windows、unix、linux等。数据623可以包括但不限于应用程序的更新信息。
[0163]
在一些实施例中,终端60还可包括有显示屏63、输入输出接口64、通信接口65、传感器66、电源67以及通信总线68。
[0164]
本领域技术人员可以理解,图8中示出的结构并不构成对终端60的限定,可以包括比图示更多或更少的组件。
[0165]
下面对本技术实施例提供的一种存储介质进行介绍,下文描述的一种存储介质与上述实施例的相关实现步骤可以相互参照。
[0166]
进一步的,本技术实施例还公开了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的舞蹈视频生成方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0167]
需要指出的是,上述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0168]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0169]
本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1