一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动作视频合成方法、系统及存储介质和终端设备与流程

2022-11-19 11:08:40 来源:中国专利 TAG:


1.本发明涉及基于人工智能的信息处理技术领域,特别涉及一种动作视频合成方法、系统及存储介质和终端设备。


背景技术:

2.音乐驱动的舞蹈合成任务主要是聚焦于学习音乐和舞蹈的潜在联系,并根据此联系对音乐输入进行特征的映射并生成相应高质量的舞蹈动作,这样可以将任一段音乐以一种生动地方式展示给用户,给用户带来很好的用户体验。
3.现有的一种舞蹈合成方法主要可以包括:基于生成模型(比如基于自编码器和图卷积网络的舞蹈合成模型)生成一段音乐的舞蹈视频,但是这种方法大多只能有效地生成短时长的舞蹈视频,对长时间(十秒以上)的舞蹈视频生成表现往往不能令人满意,且生成的舞蹈动作总会退化到简单重复或是冻结状态。
4.现有的另一种舞蹈合成方法可以包括:基于动作单元图的音乐驱动的舞蹈合成方法,可以将多个舞蹈视频的子片段合成为一个整体的舞蹈视频,但是这种方法中,动作单元图的构建依赖专业艺术家对数据的标注,需要消耗大量的人力物力,从而限制其扩增舞蹈数据的能力,舞蹈的多样性很难提升。
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是本发明一个应用实施例中pc-syn的示意图;
27.图6是本发明一个应用实施例中m2d-align的示意图;
28.图7是本发明一个应用实施例中形成舞蹈合成视频的方法流程图;
29.图8是本发明一个应用实施例中确定待合成动作序列的示意图;
30.图9是本发明一个应用实施例中锚点姿态信息和舞蹈合成视频的示意图;
31.图10是本发明另一应用实施例中动作视频合成方法所应用于的分布式系统的示意图;
32.图11是本发明另一应用实施例中区块结构的示意图;
33.图12是本发明实施例提供的一种动作视频合成系统的逻辑结构示意图;
34.图13是本发明实施例提供的一种终端设备的逻辑结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.本发明实施例提供一种动作视频合成方法,主要是针对任一段音频数据,以获取对应的动作合成视频,比如舞蹈视频或武打视频等,具体如图1所示,本发明实施例中,动作视频合成系统可以执行如下步骤:
38.将待处理音频数据划分为多个音频数据子段;
39.分别获取所述多个音频数据子段的第一特征信息,及确定预置的动作子片段的第二特征信息;
40.根据所述多个音频数据子段的第一特征信息及预置的动作子片段的第二特征信息,从所述预置的动作子片段中选择多个动作子片段,以构成待合成动作序列,所述待合成动作序列中包括按照一定顺序排列的,且分别与所述多个音频数据子段相关联的动作子片段;
41.将所述待合成动作序列中的多个动作子片段合成,得到所述待处理音频数据的动作合成视频。
42.在实际应用过程中,上述的动作视频合成系统可以应用但不限于如下任一种类型的终端设备:手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
43.且需要说明的是,上述获取音频数据子段的第一特征信息和动作子片段的第二特征信息时,可以通过预置的特征提取模型得到,这里,预置的特征提取模型是一种基于人工智能的机器学习模型。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
44.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
45.而机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
46.这样,在这种过程中,将一段音频数据划分为细粒度的音频数据子段,进而可以通过细粒度的音频数据子段的约束来形成待合成动作序列,用于形成动作合成视频,实现了对最终动作合成视频的有效控制,从而使得动作合成视频满足了用户的多样化需求。
47.本发明一个实施例提供一种动作视频合成方法,主要是由动作视频合成系统所执行的方法,流程图如图2所示,包括:
48.步骤101,将待处理音频数据划分为多个音频数据子段。
49.可以理解,用户可以将一段音频数据(比如一段音乐等)输入到动作视频合成系统,则动作视频合成系统可以基于该段音频数据发起本实施例的流程,将该段音频数据划分为待处理的多个音频数据子段。
50.步骤102,分别获取多个音频数据子段的第一特征信息,及确定预置的动作子片段的第二特征信息。
51.具体地,在获取任一音频数据子段的第一特征信息时,可以通过一个预置的特征提取模型即可获取到该第一特征信息,该特征提取模型可以事先通过一定的方法进行训练,并将训练好的特征提取模型的运行逻辑储存到动作视频合成系统中。
52.另外,对于第二特征信息的确定,动作视频合成系统可以事先通过一定的特征提取模型分别提取到各个动作子片段的第二特征信息,并将第二特征信息储存到系统中,当发起本实施例的流程时,直接提取系统中储存的第二特征信息即可。
53.其中的多个动作子片段可以来自同一个动作视频中的多个子片段,且基于各个动作子片段可以生成一个动作建构图,并将动作建构图的信息事先储存到系统中,该动作建构图中可以包括多个节点及节点之间的连边,每个节点用于表示一个动作子片段,任意两个节点之间的有向连边用于表示这两个节点所表示的动作子片段之间具有关联关系,比如,动作连贯、时间连续等关联。
54.步骤103,根据多个音频数据子段的第一特征信息及预置的动作子片段的第二特征信息,从预置的动作子片段中选择多个动作子片段,以构成待合成动作序列,待合成动作序列中包括按照一定顺序排列的,且分别与多个音频数据子段相关联的动作子片段。
55.在待合成动作序列中包括的多个动作子片段的排列顺序,与相应的音频数据子段在整个待处理音频数据中的时间排列顺序是一致的。例如,一段音频数据划分的多个音频数据子段按照时间排序为m1、m2、
……
、mn,分别对应的动作子片段为v1、v2、
……
、vn,这些动作子片段的排列顺序与音频数据子段的时间排列顺序一致,比如动作自片段v1对应的音频数据子段m1都排列在首位。
56.具体地,在构成待合成动作序列中按照一定顺序排序的所有动作子片段时:
57.(1)对于待合成动作序列中排序在首位的第一动作子片段
58.由于在确定第一动作子片段时,此时在待合成动作序列中没有任何动作子片段,则不会有前一动作子片段,会直接根据任一音频数据子段的第一特征信息m
in
分别与各个动作子片段的第二特征信息vi之间的第一相似度s0,来从预置的多个动作子片段中选择第一动作子片段。具体地,可以通过如下公式1来选择第一动作子片段,即当计算的第一相似度大于或等于某一预置值θ时,选择该动作子片段作为第一动作子片段,其它情况下,不会选择该动作子片段:。
[0059][0060]
在实际应用中,针对一段60s音乐对应的多个音频数据子段,发起本实施例的流程时,当预置值θ不同时,上述确定待合成动作序列的时间效率增益(efficiency improvement)和运动相似性(motion similarity)可以如下表1所示,可见,随着预置值的增加,计算效率增益会增加,随之运动相似性会减少,综合考虑下可以选择预置值为0.9和0.95的设置:
[0061]
θ时间效率增益运动相似性001.000.117%1.000.531%0.990.959%0.970.95106%0.950.99210%0.58
[0062]
表1
[0063]
(2)对于待合成动作序列中排序在非首位的第二动作子片段,具体如图3所示,可以按照如下的步骤来实现:
[0064]
a、计算任一音频数据子段的第一特征信息分别与各个动作子片段的第二特征信息之间的第一相似度,该第一相似度用于表示音频数据与动作之间的风格节奏的一致性。
[0065]
这里需要说明的是,在一个具体的实施例中,针对任一音频数据子段,动作视频合成系统可以先在基于预置的多个动作子片段生成的动作建构图中,选择与待合成动作序列中前一个动作子片段对应节点之间具有向连边的所有动作子片段,并计算任一音频数据子段分别与这些选出的各个动作子片段之间的第一相似度。这样,选择出一部分动作子片段来计算第一相似度,而不需要考虑任一音频数据子段与系统中预置的所有动作子片段之间的第一相似度,很大程度减少了在确定待合成动作序列过程中的计算量。
[0066]
b、确定各个动作子片段的属性信息。
[0067]
具体地,任一动作子片段的属性信息可以包括任一动作子片段自身的属性信息,也可以包括任一动作子片段与其它动作子片段之间的关联属性,具体可以包括但不限于如下至少一个信息:动作子片段与已确定的待合成动作序列中前一动作子片段之间的动作转移平滑性、前一动作子片段到动作子片段与之间的动作变化范围、动作重复性及动作子片段的动作范围等。
[0068]
其中,动作子片段与前一动作子片段之间的动作转移平滑性,用于表示由前一动作子片段中动作向任一动作子片段中动作转移时的平滑程度;动作变化范围用于表示由前一动作子片段中动作向任一动作子片段中动作转移时动作的位置变化;动作重复性用于表示前一动作子片段中动作与任一动作子片段中动作相同的程度;动作子片段的动作范围用于表示动作子片段自身所包含动作的伸展程度。
[0069]
c、根据第一相似度及动作子片段的属性信息,计算将各个动作子片段选择为任一音频数据子段对应的动作子片段的代价函数。
[0070]
具体地,在计算代价函数时,可以确定各个属性信息分别对应的代价参数值,并根据第一相似度及确定的代价参数值计算各个动作子片段的代价函数。
[0071]
进一步地,在一个具体的实施例中,为了进一步地满足用户的多样化需求,用户还可以将其它信息输入到动作视频合成系统,比如输入至少一组姿态信息,还可以输入这些组姿态信息在最终形成的动作合成视频中的位置,及这些组姿态信息的重复次数等信息。这样,在计算代价函数时,除了需要考虑上述的第一相似度和属性信息之外,还可以考虑其它因素,具体地,动作视频合成系统在执行本步骤103之前,还可以获取至少一组姿态信息,并获取任一组姿态信息分别对应的第三特征信息,然后再计算任一组姿态信息的第三特征信息与动作子片段的第二特征信息之间的第二相似度。
[0072]
其中,任一组姿态信息是指某一动作状态下身体关键部位(即锚点)的姿态信息。上述获取第三特征信息时,可以根据上述预置的特征提取模型来获取。
[0073]
在这种情况下,动作视频合成系统在计算代价函数时,可以根据第一相似度、第二相似度及动作子片段的属性信息计算代价函数,具体地,可以确定属性信息分别对应的代价参数值,然后根据第一相似度、第二相似度及确定的代价参数值计算代价函数。具体地,代价函数可以通过如下公式2来表示:
[0074]cover
(i)=λ3*c
over
(i-1) λ4*c
tran
(i-1,i)
[0075]
λ5*c
cons
(i) λ6*c
rang
(i) λ7*c
repe(i)[0076]
λ8*c
stre
(i) λ9*s
ap
(p
in
,i)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0077]
其中,c
over
(i-1)表示针对待合成动作序列中已确定的所有动作子片段分别计算的代价函数的总和;c
tran
(i-1,i)表示任一动作子片段i与前一动作子片段i-1之间的动作转移平滑性的代价参数值;c
cons
(i)表示动作子片段的第二特征信息与音频数据子段的第一特征信息之间的第一相似度;c
rang
(i)表示与前一动作子片段的动作变化范围的代价参数值;c
repe
(i)表示与前一动作子片段的动作重复性的代价参数值;c
stre
(i)表示动作子片段的运动范围的代价参数值;s
ap
表示上述至少一组姿态信息的第三特征信息p
in
与动作子片段i的第二特征信息之间的第二相似度。
[0078]
具体地,该第二相似度可以通过如下公式3来约束,即使得动作子片段i中的某一帧p(l)的第二特征信息与第j组姿态信息的第三特征信息之间的相似度最大化:
[0079][0080]
d、根据代价函数在多个动作子片段中选择任一音频数据子段对应的第二动作子片段,并将第二动作子片段放入待合成动作序列中。
[0081]
具体地,当某一动作子片段的代价函数大于或等于预置值,将某一动作子片段选
择为任一音频数据子段对应的第二动作子片段,其中,预置值是动态变化的。
[0082]
需要说明的是,通过上述步骤a到d,可以确定待合成动作序列中的一个第二动作子片段,重复执行步骤a到d,可以确定出所有的第二动作子片段,若在计算代价函数时,考虑到了至少一组姿态信息的因素,通过至少一组姿态信息的进行细粒度地约束,使得在得到的待合成动作序列中会包括这些姿态信息对应的动作子片段,实现了对最终得到的动作合成视频进行细粒度地控制,提高了合成动作合成视频的可控性。
[0083]
步骤104,将待合成动作序列中的多个动作子片段合成,得到待处理音频数据的动作合成视频。
[0084]
具体地,在一种情况下,可以直接将多个动作子片段直接按照上述一定的顺序进行拼接,然后再进行平滑处理后,即可得到动作合成视频。
[0085]
另一种情况下,若各个动作子片段中未包括音频数据,则在得到动作合成视频时,可以将待合成动作序列中多个动作子片段按照一定的顺序进行拼接得到拼接后动作信息,然后直接将拼接后动作信息与上述待处理音频数据进行同步合成,即可得到动作合成视频。
[0086]
可见,在本实施例的方法中,动作视频合成系统会将一段音频数据划分为多个音频数据子段,并分别获取待处理的多个音频数据子段分别对应的第一特征信息,且确定预置的动作子片段的第二特征信息,然后根据第一特征信息及第二特征信息从预置的动作子片段中选择出多个动作子片段以构成待合成动作序列,这多个动作子片段按照一定顺序排序,进而将待合成动作序列中的多个动作子片段合成为动作合成视频。在这种过程中,将一段音频数据划分为细粒度的音频数据子段,进而可以通过细粒度的音频数据子段的约束来形成待合成动作序列,用于形成动作合成视频,实现了对最终动作合成视频的有效控制,从而使得动作合成视频满足了用户的多样化需求。
[0087]
在一个具体的实施例中,上述步骤102中的第一特征信息和第二特征信息都可以通过预置的特征提取模型来提取得到,该特征提取模型的训练可以按照如下的自监督训练方法来实现,流程图如图4所示,包括:
[0088]
步骤201,确定特征提取初始模型。
[0089]
可以理解,动作视频合成系统在确定特征提取初始模型时,会确定特征提取初始模型所包括的多层结构和各层机构中参数的初始值。其中特征提取初始模型的参数是指特征提取初始模型中各层结构在计算过程中所用到的固定的,不需要随时赋值的参数,比如参数规模、网络层数、用户向量长度等参数。
[0090]
具体地,特征提取初始模型用于提取任意一段音频数据的特征信息,具体可以是任意提取特征信息的神经网络结构,比如卷积神经网络(convolutional neural network,cnn)等结构。进一步地,在一个情况下,动作视频合成系统还会确定一个分类模块,连接到特征提取初始模型之后,用于根据特征提取初始模型提取到待处理文件(比如一段音频数据或动作片段)的特征信息进行分类处理,得到待处理文件的类型。
[0091]
步骤202,确定训练样本,训练样本中包括多个样本音频及其分别对应的样本动作片段。
[0092]
进一步地,训练样本中还可以包括各个样本音频的类型标注信息,比如属于爵士音乐、古典音乐等类型,及样本动作片段的类型标注信息,比如现代舞蹈或拉丁舞蹈等类
型。
[0093]
步骤203,通过特征提取初始模型分别获取样本音频及样本动作片段分别对应的特征信息。
[0094]
步骤204,根据特征提取初始模型获取的特征信息调整特征提取初始模型,以得到预置的特征提取模型。
[0095]
具体地,动作视频合成系统会先根据上述步骤203中特征提取初始模型得到的特征信息,计算与特征提取初始模型相关的损失函数,然后再根据该损失函数对特征提取初始模型中的参数进行调整。特征提取初始模型的训练过程就是需要尽量减少该损失函数的值,该训练过程是通过反向传播求导以及梯度下降等一系列数学优化手段不断的优化上述步骤201中确定的特征提取初始模型中参数的参数值,并使得上述损失函数的计算值降至最低。
[0096]
具体地,在本实施例中,动作视频合成系统可以根据特征提取初始模型获取的样本音频对应的特征信息及样本动作片段的特征信息,计算第一损失函数、第二损失函数及第三损失函数,然后根据第一损失函数、第二损失函数和第三损失函数调整特征提取初始模型中的参数值,比如根据第一损失函数、第二损失函数和第三损失函数,计算与特征提取初始模型相关的整体损失函数,并基于该整体损失函数调整参数值。其中:
[0097]
(1)第一损失函数包括:任一样本音频的特征信息与其对应的样本动作片段的特征信息之间的差值,及任一样本音频与其它样本音频对应的样本动作片段的特征信息之间的差值。
[0098]
该第一损失函数可以直接根据上述特征提取初始模型得到的特征信息来计算第一损失函数。在训练特征提取模型的过程中,通过第一损失函数的约束,可以使得特征提取模型获取的一样本音频与其对应的样本动作片段之间的特征信息接近,及一样本音频与其它样本音频对应的样本动作片段之间的特征信息不相近。
[0099]
(2)第二损失函数包括:基于样本音频和样本动作片段的特征信息确定的分类信息分别与相应的样本音频和样本动作片段的类型标注信息之间的差值。
[0100]
该第二损失函数可以针对上述进一步增加的分类模块,根据特征提取初始模型得到的特征信息对样本音频或样本动作片段进行分类得到的分类信息,与相应的类型标注信息,计算得到的。
[0101]
具体地,第一损失函数与第二损失函数lu可以通过如下公式4来表示,其中,表示某一样本音频a(i)的特征信息,表示一样本音频a(i)对应的样本动作片段p(i)的特征信息,表示另一样本音频对应的样本动作片段n(i)的特征信息:
[0102][0103]
在训练特征提取模型的过程中,通过第二损失函数的约束,可以使得基于特征提取模型获取的样本音频与样本动作片段的特征信息确定的分类信息与实际类型之间的差值最小化。
[0104]
(3)第三损失函数包括:基于样本音频和样本动作片段的特征信息确定的样本音
频和样本动作片段与其伪分类信息之间的距离。
[0105]
这里的伪分类信息并不是按照上述分类模块得到的分类信息,而是通过另一种方法先分别对各个样本音频和各个样本动作片段进行重新分类得到的类型,即为伪分类信息。具体地,在本实施例中,可以根据样本音频和样本动作片段的特征信息,分别对样本音频和样本动作片段进行聚类,分别确定样本音频和样本动作片段的聚类中心特征,将聚类中心特征作为样本音频和样本动作片段的伪分类信息;然后计算所述样本音频的节奏特征与样本动作片段的节奏特征的拟合特征,分别与所述样本音频和样本动作片段的聚类中心特征之间的距离;根据所述计算的所述距离,计算所述第三损失函数。
[0106]
具体地,第三损失函数可以通过如下公式5来表示,其中,y
p
为样本音频和样本动作片段分别对应的聚类中心特征,r
md
为样本音频的节奏特征与样本动作片段的节奏特征的联合表达,是特征转换映射函数,可以由多层感知机实现,crossentropy为交叉熵损失函数:
[0107]
lr=crossentropy(r
md
,y
p
)
ꢀꢀꢀꢀ
(5)
[0108]
其中,r
md
可以通过如下公式6来表示:
[0109][0110]
在训练特征提取模型的过程中,通过第三损失函数的约束,可以使得特征提取模型获取的一样本音频与其对应的样本动作片段之间的节奏特征一致接近,及一样本音频与其它样本音频对应的样本动作片段之间的节奏特征不相近。
[0111]
需要说明的是,上述步骤203到204是通过特征提取初始模型检测到的各个样本音频和样本动作片段的特征信息,对特征提取初始模型中的参数值的一次调整,而在实际应用中,需要通过不断地循环执行上述步骤203到204,直到对参数值的调整满足一定的停止条件为止。
[0112]
因此,动作视频合成系统在执行了上述实施例步骤201到204之后,还需要判断当前对参数值的调整是否满足预置的停止条件,当满足时,则结束流程,将上述步骤204中调整的特征提取初始模型的参数值作为最终训练好的特征提取模型的参数中;当不满足时,则针对调整参数值后的特征提取初始模型,返回执行上述步骤203到204。其中,预置的停止条件包括但不限于如下条件中的任何一个:当前调整的参数值与上一次调整的参数值的差值小于一阈值,即调整的参数值达到收敛;及对参数值的调整次数等于预置的次数等。
[0113]
以下以一种具体的应用实例来说明本发明实施例中的动作视频合成方法,本实施例中的动作视频合成系统主要是合成一段音乐数据(即音频数据)的舞蹈合成视频,如图5所示,可以将一段音乐数据及至少一组姿态信息(图中以2组锚点姿势为例说明)输入到姿势可控舞蹈合成网络(posture-controllable dance synthesis,pc-syn),即可输出对应的舞蹈合成视频。本实施例的方法可以包括如下两个部分:
[0114]
(1)训练特征提取模型
[0115]
在本实施例中,具体可以采用基于自监督的音乐和舞蹈的节奏对齐(ssra)方法对特征提取模型进行训练,在这个过程中可以通过计算的损失函数(比如上述的第一损失函数、第二损失函数和第三损失函数等)来约束音乐数据和舞蹈片段之间节奏的一致性,最终训练好特征提取模型后,可以将特征提取模型的运行逻辑预置到动作视频合成系统的中。
[0116]
其中,在训练特征提取模型时,可以采用上述实施例中所述的训练方法进行训练,具体地,在本实施例中,可以采用如图6所示的音乐舞蹈对齐嵌入网络(music-to-dance alignment embedding,m2d-align)训练特征提取模型。在该m2d-align网络中包括:风格编码器(encoder style)、节奏编码器(encoder rhythm)、风格分类器(classifier)和自监督节奏调整(self-supervised rhythm alignment),其中,风格编码器、节奏编码器和风格分类器分别有两套,分别对应样本音频和样本动作片段,具体地:
[0117]
风格编码器用于分别对样本音频和样本动作片段进行风格特征的编码;节奏编码器用于分别对样本音频的叠加特征和样本动作片段的叠加特征进行节奏编码得到相应的节奏特征,其中样本音频的叠加特征为样本音频与其风格特征进行叠加的特征;风格分类器用于分别对样本音频和样本动作频段所属的风格进行分类;自监督节奏调整主要用于根据样本音频和样本动作视频的特征信息计算上述第一损失函数、第二损失函数和第三损失函数调整特征提取初始模型中的参数值。这样,训练好的特征提取模型中包括了上述的风格编码器和节奏编码器。
[0118]
其中,确定的训练样本中的每段样本音频都可以是一段音乐数据,而样本音频对应的样本动作片段具体可以为音乐数据对应的舞蹈片段。
[0119]
在实际应用过程中,采用不同的损失函数计算方式(即全模式、三重损失和ssra)训练得到特征提取模型后,计算多个评估参数,比如(fr
é
chet inception distance,fid)、风格准确性(style accuracy)和多样性(diversity),其中,fid可以表示一种基于特征提取模型得到的特征信息合成的舞蹈视频与实际舞蹈视频之间的距离度量,如下表2所示:
[0120][0121]
表2
[0122]
其中,全模式方式主要是将上述第一损失函数、第二损失函数和第三损失函数结合起来的方式,w/o三重损失方式主要是不使用上述三个损失函数的方式,而w/o ssra主要是不使用上述的第三损失函数的方式,可见,采用三种损失函数时多样性和风格准确性得到很大的提高;而fid降低,则采用三种损失函数训练得到的特征提取模型的性能较好。
[0123]
(2)如图7所示,在动作视频合成系统中通过pc-syn网络,可以通过如下步骤形成任一段音乐数据对应的舞蹈合成视频,包括:
[0124]
步骤301,将一段音乐数据及多组锚点姿态信息输入到pc-syn网络的,pc-syn网络会先将该段音乐数据划分为多个音频数据子段。
[0125]
步骤302,在pc-syn网络中,通过图形优化(graph optimization)来调用预置的特征提取模型,通过特征提取模型分别获取多个音频数据子段对应的第一特征信息;获取系统中预置的各个动作子片段(本实施例中为舞蹈动作子片段)分别对应的第二特征信息;还需要获取上述各组锚点姿态信息分别的第三特征信息。
[0126]
其中,这里第二特征信息可以通过事先通过特征提取模型获取到并储存在系统中,当发起本实施例的流程时,可以直接提取第二特征信息即可。
[0127]
步骤303,分别计算每个音频数据子段的第一特征信息与各个舞蹈动作子片段的第二特征信息之间的第一相似度,分别计算每组锚点姿态信息的第三特征信息与各个舞蹈动作子片段的第二特征信息之间的第二相似度。
[0128]
步骤304,通过自适应动作单元(adaptive motion graph,amgc)基于上述第一相似度、第二相似度及各个舞蹈动作子片段,自适应地确定与上述一段音乐数据及多组锚点姿态信息对应的动作单元图,根据动作单元图来确定待合成动作序列,在待合成动作序列中包括按照一定顺序排列的多个舞蹈动作子片段。
[0129]
其中,预置的多个舞蹈动作子片段可以形成一个动作建构图,及动作建构图中包括多个节点,每个节点表示一个舞蹈动作子片段,节点之间的有向连边表示舞蹈动作子片段之间具有关联关系。
[0130]
具体如图8所示,假设一个音乐子片段被划分为n个音频数据子段,amgc会先根据基于一个音频数据子段1计算的第一相似度,并结合上述公式1,从动作建构图中选择一个节点对应的舞蹈动作子片段1,作为待合成动作序列中排列在首位的第一舞蹈动作子片段。
[0131]
需要说明的是,由于上述步骤301中用户将多组锚点姿态信息输入到系统中,则在另一种具体的实施例中,在确定第一舞蹈动作子片段时,也可以根据基于一个音频数据子段1计算的第一相似度及上述的第二相似度,并结合上述公式2,从动作建构图中选择一个节点对应的舞蹈动作子片段1,作为待合成动作序列中排列在首位的第一舞蹈动作子片段。
[0132]
进一步地,amgc会根据基于下一个音频数据子段2计算的第一相似度、上述的第二相似度及待合成动作序列中的前一舞蹈动作子片段1,且结合上述公式2,从动作建构图中选择上述一个节点的下一个节点,将选择的下一个节点对应的舞蹈动作子片段作为上述舞蹈动作子片段1的下一个舞蹈动作子片段2,即第二舞蹈动作子片段。这样,重复按照选择下一个节点的方法,可以从动作建构图中依次选择出多个节点,这些节点分别对应的舞蹈动作子片段依次放入待合成动作序列中。
[0133]
步骤305,将上述步骤304中确定的待合成动作序列中的各个舞蹈动作子片段合成为上述一段音乐数据对应的舞蹈合成视频。
[0134]
本实施例中由于通过多组锚点姿态信息的约束,以确定待合成动作序列中,使得待合成动作序列中包括了与各组锚点姿态信息相关联的舞蹈动作子片段,如图9所示,在舞蹈合成视频中的两帧所对应的舞蹈动作为锚点姿态信息分别对应的舞蹈动作。这样,可以根据用户输入的锚点姿态信息顺畅地生成符合用户预期的舞蹈动作,而这种对最终合成的舞蹈合成视频进行控制,可以提高本系统生成舞蹈的多样性和提升用户交互体验参与度。
[0135]
可见,通过上述实施例中的方法,可以实现如下技术效果:
[0136]
(1)使用用户给定的一段音乐数据和至少一组锚点姿态信息,可以以用户的期望以细粒度的方式生成高质量的舞蹈合成视频,在该舞蹈合成视频中包括了锚点姿态相关的舞蹈动作。
[0137]
(2)在音乐-舞蹈关系映射学习上采用自监督的节奏对齐方法,从而能够在没有专业艺术家标注的情况下以自监督的方式,训练特征提取模型。
[0138]
(3)本实施例中在训练特征提取模型时,无需专业艺术家的对样本音频进行标注,
这样可以便捷地对数据库进行扩充,从而丰富了根据一段音乐数据生成舞蹈合成视频的多样性。
[0139]
(4)在基于锚点姿态可控的舞蹈合成视频生成之前,通过自适应动作单元图构建方案(amgc),可以提高基于图的优化效率并保持舞蹈运动单元的多样性。
[0140]
在实际应用过程中,采用不同的方法(比如dancenet、learning2dance、ai choreographer和本实施例的方法)生成舞蹈合成视频后,计算多个评估参数,比如fid、风格准确性和多样性,如下表3所示:
[0141][0142]
表3
[0143]
可见,采用本发明实施例的方法时的多样性和风格准确性得到很大的提高,其中,多样性高表示本实施例的方法可以更好地为不同的音乐数据生成舞蹈合成视频;而采用本发明实施例中的方法时fid降低,表示系统生成的舞蹈合成视频与真实舞蹈的分布更相似。
[0144]
以下以另一具体的应用实例来说明本发明中动作视频合成方法,本发明实施例中的动作视频合成系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
[0145]
以分布式系统为区块链系统为例,参见图10是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
[0146]
参见图10示出的区块链系统中各节点的功能,涉及的功能包括:
[0147]
1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0148]
节点除具有路由功能外,还可以具有以下功能:
[0149]
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
[0150]
例如,应用实现的业务包括实现动作视频合成功能的代码,该动作视频合成功能主要包括:
[0151]
将待处理音频数据划分为多个音频数据子段;分别获取所述多个音频数据子段的
第一特征信息,及确定预置的动作子片段的第二特征信息;根据所述多个音频数据子段的第一特征信息及预置的动作子片段的第二特征信息,从所述预置的动作子片段中选择多个动作子片段,以构成待合成动作序列,所述待合成动作序列中包括按照一定顺序排列的,且分别与所述多个音频数据子段相关联的动作子片段;将所述待合成动作序列中的多个动作子片段合成,得到所述待处理音频数据的动作合成视频。
[0152]
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0153]
参见图11为本发明实施例提供的区块结构(block structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0154]
本发明实施例还提供一种动作视频合成系统,其结构示意图如图12所示,具体可以包括:
[0155]
音频子段单元10,用于将待处理音频数据划分为多个音频数据子段。
[0156]
特征获取单元11,用于分别获取所述音频子段单元10划分的多个音频数据子段的第一特征信息,及确定预置的动作子片段的第二特征信息。
[0157]
该特征获取单元11,具体用于根据预置的特征提取模型分别获取所述多个音频数据子段的第一特征信息。
[0158]
序列确定单元12,用于根据所述特征获取单元11获取的多个音频数据子段的第一特征信息及预置的动作子片段的第二特征信息,从所述预置的动作子片段中选择多个动作子片段,以构成待合成动作序列,所述待合成动作序列中包括按照一定顺序排列的,且分别与所述多个音频数据子段相关联的动作子片段。
[0159]
合成单元13,用于将所述序列确定单元12确定的待合成动作序列中的多个动作子片段合成,得到所述待处理音频数据动作合成视频。
[0160]
进一步地,本发明实施例的系统中还可以包括:
[0161]
训练单元14,用于确定特征提取初始模型;确定训练样本,所述训练样本中包括多个样本音频及其分别对应的样本动作片段;通过所述特征提取初始模型分别获取所述样本音频及样本动作片段分别对应的特征信息;根据所述特征提取初始模型获取的特征信息调整所述特征提取初始模型,以得到所述特征获取单元11获取各个特征信息时用到的特征提取模型。
[0162]
其中,训练单元14在根据所述特征提取初始模型得到的特征信息调整所述特征提取初始模型时,具体用于根据所述特征提取初始模型获取的样本音频对应的特征信息及样本动作片段的特征信息,计算第一损失函数、第二损失函数及第三损失函数;其中,所述第一损失函数包括:任一样本音频的特征信息与其对应的样本动作片段的特征信息之间的差值,及任一样本音频与其它样本音频对应的样本动作片段的特征信息之间的差值;第二损失函数包括:基于所述样本音频和样本动作片段的特征信息确定的分类信息分别与相应的样本音频和样本动作片段的类型标注信息之间的差值;所述第三损失函数包括:基于所述
样本音频和样本动作片段的特征信息确定的所述样本音频与样本动作片段的伪分类信息之间的距离;根据所述第一损失函数、第二损失函数和第三损失函数调整所述特征提取初始模型中的参数值。
[0163]
其中,训练单元14在计算所述第三损失函数时,具体用于根据所述样本音频和样本动作片段的特征信息,分别确定样本音频和样本动作片段的聚类中心特征,将所述聚类中心特征作为所述样本音频和样本动作片段的伪分类信息;计算所述样本音频的节奏特征与样本动作片段的节奏特征的拟合特征,分别与所述样本音频和样本动作片段的聚类中心特征之间的距离;根据所述计算的所述距离,计算所述第三损失函数。
[0164]
该训练单元14,还用于当对所述参数值的调整次数等于预置的次数时,或若当前调整的参数值与上一次调整的参数值的差值小于一阈值时,则停止对所述参数值的调整。
[0165]
进一步地,上述序列确定单元12,针对所述待合成动作序列中排序在非首位的第二动作子片段时,具体用于计算任一所述音频数据子段的第一特征信息分别与各个动作子片段的第二特征信息之间的第一相似度;确定所述各个动作子片段的属性信息;根据所述第一相似度及所述动作子片段的属性信息,计算将所述各个动作子片段选择为所述任一音频数据子段对应的动作子片段的代价函数;根据所述代价函数在所述多个动作子片段中选择所述任一音频数据子段对应的第二动作子片段,并将所述第二动作子片段放入待合成动作序列中。
[0166]
其中,音频子段单元10还用于获取至少一组姿态信息,及特征获取单元11还用于获取任一组姿态信息分别对应的第三特征信息;该序列确定单元12,还用于计算所述任一组姿态信息的第三特征信息与所述动作子片段的第二特征信息之间的第二相似度,这样在根据所述第一相似度及所述动作子片段的属性信息,计算将所述各个动作子片段选择为所述任一音频数据子段对应的动作子片段的代价函数时,具体用于根据所述第一相似度、第二相似度及所述动作子片段的属性信息,计算所述代价函数。
[0167]
其中,序列确定单元12在根据所述第一相似度、第二相似度及所述动作子片段的属性信息,计算所述代价函数时,具体用于确定所述属性信息分别对应的代价参数值,根据所述第一相似度、第二相似度及代价参数值计算所述代价函数;所述动作子片段的属性信息包括如下至少一个信息:所述动作子片段与已确定的所述待合成动作序列中前一动作子片段之间的动作转移平滑性、动作变化范围、动作重复性及所述动作子片段的运动范围。
[0168]
其中,序列确定单元12,在根据所述代价函数在所述多个动作子片段中选择所述任一音频数据子段对应的第二动作子片段时,具体用于当某一动作子片段的代价函数大于或等于预置值,将所述某一动作子片段选择为所述任一音频数据子段对应的第二动作子片段,其中,预置值是动态变化的。
[0169]
可见,在本实施例的动作视频合成系统中,音频子段单元10会将一段音频数据划分为多个音频数据子段,由特征获取单元11分别获取待处理的多个音频数据子段分别对应的第一特征信息,且确定预置的动作子片段的第二特征信息,然后序列确定单元12根据第一特征信息及第二特征信息从预置的动作子片段中选择出多个动作子片段以构成待合成动作序列,这多个动作子片段按照一定顺序排序,进而合成单元13将待合成动作序列中的多个动作子片段合成为动作合成视频。在这种过程中,将一段音频数据划分为细粒度的音频数据子段,进而可以通过细粒度的音频数据子段的约束来形成待合成动作序列,用于形
成动作合成视频,实现了对最终动作合成视频的有效控制,从而使得动作合成视频满足了用户的多样化需求。
[0170]
本发明实施例还提供一种终端设备,其结构示意图如图13所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
[0171]
具体地,在存储介质22中储存的应用程序221包括动作视频合成的应用程序,且该程序可以包括上述动作视频合成系统中的音频子段单元10,特征获取单元11,序列确定单元12,合成单元13和训练单元14,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的动作视频合成的应用程序对应的一系列操作。
[0172]
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0173]
上述方法实施例中所述的由动作视频合成系统所执行的步骤可以基于该图13所示的终端设备的结构。
[0174]
进一步地,本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述动作视频合成系统所执行的动作视频合成方法。
[0175]
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
[0176]
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述动作视频合成系统所执行的动作视频合成方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
[0177]
另外,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面的各种可选实现方式中提供的动作视频合成方法。
[0178]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom)、随机存取存储器(ram)、磁盘或光盘等。
[0179]
以上对本发明实施例所提供的一种动作视频合成方法、系统及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献