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

一种基于时序规划的舞蹈生成方法

2022-06-29 16:30:50 来源:中国专利 TAG:


1.本发明涉及编舞技术领域,具体是指一种基于时序规划的舞蹈生成方法。


背景技术:

2.近几年来,在人工智能编舞研究上频有成果出现,其中如何去表示一系列动作和舞蹈是人们一直需要去考虑的问题。
3.pddl:planning domain definition language(规划领域定义语言)。
4.ruiqi wu等人在《towards deep learning based robot automatic choreography system》一文中所使用的方法为“向量表示法”,通过alpha机器人所提供的仿真环境来手动定义机器人基本动作,其中单个动作由多个姿势组合而成,单个姿势由alpha机器人身上16个舵机的参数来定义,因此单个姿势即是一个1x16的一维向量,而舞蹈即是由一连串的姿势连接组成,所以舞蹈在这里被看成了一个nx16的多维向量。文中将音乐的局部特征和全局特征转换为相应的舞蹈特征后,进而研究向量(动作)间的关联关系来实现一个舞蹈编排。
5.maria等人在《dance choreography design of humanoid robots using interactive evolutionary computation》一文中使用遗传算法结合专家知识来产生机器人舞蹈动作,同样使用了“向量表示法”,其中使用nao机器人作为载体,机器人的伺服机在角度上的位置将作为遗传算法的表型,参考图9的向量表示法。
6.lee等人在《listen to dance:music-driven choreography generation using autoregressive encoder-decoder network》一文中提出了一种使用自回归编解码器网络的音乐驱动编排生成系统。他们通过对舞蹈视频进行逐帧分析,从每一帧图片中提取骨架数据,这一种方法为“图片表示法”,每一个图片都包含了一个动作(姿势),多帧图片形成一个视频的同时也是一系列姿势形成舞蹈的过程,参考图10图片表示法视频中的动作骨架识别。
7.然而无论是“向量表示法”还是“图片表示法”都无法直观的表示出各个动作之间的约束(关联)关系,以及一个动作执行之后舞者的状态。舞蹈可以分为动作和音乐两部分,是单纯的考虑用向量或图片来表示动作,这样的做法抛弃了舞蹈中的音乐和动作之间的关联性,这对于舞蹈编排效果来说是不佳的,这样的编舞知识定义也是不够友好的。


技术实现要素:

8.本发明提供一种很好的体现了舞蹈中的动作与音乐,动作与动作之间的关联关系,使得舞蹈编排更加的贴合音乐和连贯的基于时序规划的舞蹈生成方法。
9.为解决上述技术问题,本发明提供的技术方案为:一种基于时序规划的舞蹈生成方法,包括以下步骤:
10.a1、对领域文件定义,领域文件包括了谓词定义、函数定义、动作模型定义,其中谓词定义考量了舞蹈编排中会出现的状态变化,从而抽象为一阶谓词定义,其接收一定的参
数更新不同对象的对应谓词状态;函数定义则是管理舞蹈中的流动变化状态,动作模型定义了一个基本舞蹈动作开始前结束后的状态要求和改变;
11.a2、对问题文件定义,问题文件包括了对象定义、初始状态定义、目标定义,其中不同音乐所对应的信息定义以及不同舞蹈需求的状态实例化,初始状态定义了舞蹈编排中所有状态的初始化,目标定义中是对于一个舞蹈编排的时长要求,舞台范围的定义;
12.a3、规划求解,通过支持pddl语法的规划器进行求解,输入domain和problem两个文件,即可得到一个动作序列。
13.其中步骤a1中的谓词定义包括通过(is_body_free)管理躯体资源,和或将其扩展为详细的身体部位的资源约束;考虑到动作关联性,通过(at_space)系列来定义动作执行前后的躯体幅度来限制动作衔接,通过(at_left_hand)和(at_right_hand)来定义部分舞蹈对于手位的严格要求;通过(at_beat)定义音频中的节拍信息,使动作可以关联到音乐。
14.其中步骤a1中的函数定包括通过(dance-time)定义动作执行的总时长,从而实现舞蹈时长的需求;通过(action-times)即是动作已执行次数来限制动作的重复率;通过(at_floor_space)系列来限制舞者在舞台上的走位。
15.其中步骤a1中的动作模型定义通过定义动作的前提(condition)和效果(effect)体现了一个舞蹈动作本身带来的身体、空间的影响和音乐的关联性,其中包含“at_start”表示动作开始时所需要满足的条件,并用and表示并列关系;效果中用“at_start”和“at_end”分别表示动作结束开始时所需要满足的条件和动作结束后所带来的状态改变。
16.其中步骤a2中设置s1、s2、s3、s4、s5

sn为动作的映射,表明动作的状态信息,同时定义了舞者躯体在三维坐标空间中的偏移状态以及因部分舞种如芭蕾舞对手位的要求,所以此处也定义了手部可能到达的躯体部位,这也间接影响了动作之间的衔接,定义了动作速率来更新动作的幅度和速率,通过提取音频中节拍信息后映射为b1,b2

bn来表示每一个节拍点。
17.其中步骤a2中初始化定义在舞蹈世界中的状态信息,其中定义了包括躯体的空闲状态、动作执行总时长、候选动作列表、,动作执行次数限制、节拍在音频中的出现与消失的时间点,同时定义舞者在空间中相对于地面的空间位。
18.其中步骤a2中目标定义部分包括通过(dance-time)来满足舞蹈对于时长的要求,这里设置为一个区间,允许了部分的误差所在;通过(at_floor_space)来说明舞蹈大小或者舞者位移的空间范围,此处为5x5大小的舞台。
19.本发明具有如下优点:本发明方法将单个舞蹈动作定义为时序规划(pddl)中的动作模型,将整个舞蹈视为一个规划问题,从而定义领域文件和问题文件进行求解,该方法通过描述动作模型中的前提和效果从而很好的体现了舞蹈中的动作与音乐,动作与动作之间的关联关系,使得舞蹈编排更加的贴合音乐和连贯。
附图说明
20.图1是谓词定义示意图。
21.图2是函数定义示意图。
22.图3是动作模型定义示意图。
23.图4是动作模型 节拍信息定义示意图。
24.图5是常量和对象定义示意图。
25.图6是初始状态定义示意图。
26.图7是目标定义示意图。
27.图8是规划结果示意图。
28.图9是nao机器人的伺服机角度形成1x25的一维向量示意图。
29.图10是视频中的动作骨架识别示意图。
具体实施方式
30.下面结合附图对本发明做进一步的详细说明。
31.结合附图1-图8,一种基于时序规划的舞蹈生成方法,包括以下步骤:
32.a1、对领域文件定义,领域文件包括了谓词定义、函数定义、动作模型定义,其中谓词定义考量了舞蹈编排中会出现的状态变化,从而抽象为一阶谓词定义,其接收一定的参数更新不同对象的对应谓词状态,谓词有真和假两种状态,通过布尔形式来表达一个事物或状态的存在和消失,一个世界中的任何事物都可以用一阶谓词来定义,本发明通过谓词定义了舞者和动作之间的关联关系,如图1所示,其中定义了舞者身体的约束和特定舞种对某些涉及到手或脚的位置要求;
33.函数定义则是管理舞蹈中的流动变化状态,如图2所示,其定义了舞蹈时长的要求,每个基本动作的次数约束以及舞台范围(本身效果范围的要求),比如一些恒定的时间流逝,本发明通过定义函数来表示一个动作所持续的时间以及一个舞蹈对时间的要求;
34.动作模型定义了一个基本舞蹈动作开始前结束后的状态要求和改变,动作执行过程中引起的谓词状态的改变,以及动作执行结束后谓词状态的变换,这种动作模型刚好和现实中的舞蹈动作状态相匹配对象定义,如图3所示,在这里定义了一个名为“handswavedown”的动作,在有着本身一个2s的持续时间同时还接受一个速率的参数调整,此处动作的前提需要满足躯体资源的约束:空闲,同时考虑动作连贯性和平衡性后需要满足躯体在一定的空间范围内进行东顾总衔接;考虑到芭蕾舞对于手位的要求,这里也加入了手部位置的约束。图4则是同个动作模型的变体,其加入了beat参数来限制动作开始必须满足节拍的要求,也即是卡拍的效果。
35.a2、对问题文件定义,问题文件包括了对象定义、初始状态定义、目标定义,其中不同音乐所对应的信息定义以及不同舞蹈需求的状态实例化,比如已有的动作模型的映射,已有的类型等,而对象初始化了在谓词或函数中声明的状态,描述了当前规划所涉及到的所有对象,如一个舞蹈身位,一个节拍,一个速率,如图5所示,其中将部分节拍信息定义为b1,b2等表示音乐中不同的节拍(在时序上来看,每个节拍都是不一样的);
36.初始状态定义了舞蹈编排中所有状态的初始化,比如对舞者当前身体的空间状态进行初始化,对当前候选动作进行初始化以及当前编舞时长初始化,并且通过时序规划即pddl2.2的时间初始化语法来定义了节拍出现和结束的时间点(节拍是有持续时间的,虽然很多时候我们将其视为一个时刻);如图6所示,其中定义了:躯体约束最开始的空闲状态;舞蹈时长初始值为0s;舞蹈速率控制分为快,中,慢三种模式对动作执行时间进行调节;候选动作列表中有两个动作:s1,s2,这是对动作模型的映射;动作执行次数限制,通过限制单个动作出现的次数来降低动作重复率,从而提高动作多样性和舞蹈观赏性;空间位移限制,
用二维坐标系对地面建模,通过约束总的x,y位移值来调整动作的选择和执行;节拍出现和消失,通过分析音乐信息,提取其中的节拍点特征,节拍点具有一定的持续时间,这里设为0.1s,从而定义其开始和结束时间,其中可以看到b1在0.08s出现,在过了0.1s后,即是0.18s消失。
37.目标定义中是对于一个舞蹈编排的时长要求,舞台范围的定义,图7所示,其中定义了舞蹈时长区间为6s-7s,这里设置了允许误差为1s,因为动作的持续时间是不定的,所以设置一定的误差更好的进行求解;舞蹈的范围定义为5x5m2,即机器人执行动作后的区域仍在这个范围内,这样可以更好的根据舞台大小或者舞蹈编排的走位需要进行约束;
38.a3、规划求解,通过支持pddl语法的规划器进行求解,输入domain和problem两个文件,即可得到一个动作序列,如图8所示,第一行的第一个0.00100为舞蹈开始时间,也是动作(shockhandstochest_beat)动作的开始时间,这是一个变体动作,其中参数接收了速率参数“mid”和节拍参数“b1”,收到速率调控后的持续时间为1.31200s,而下一个动作的开始时间为1.31400,当前动作序列一共由9个不同的动作组成,存在一个重复动作,从而形成了一个完整的舞蹈;
39.其中步骤a1中的谓词定义包括通过(is_body_free)管理躯体资源,和或将其扩展为详细的身体部位的资源约束;考虑到动作关联性,通过(at_space)系列来定义动作执行前后的躯体幅度来限制动作衔接,通过(at_left_hand)和(at_right_hand)来定义部分舞蹈对于手位的严格要求;通过(at_beat)定义音频中的节拍信息,使动作可以关联到音乐。
40.其中步骤a1中的函数定包括通过(dance-time)定义动作执行的总时长,从而实现舞蹈时长的需求;通过(action-times)即是动作已执行次数来限制动作的重复率;通过(at_floor_space)系列来限制舞者在舞台上的走位。
41.其中步骤a1中的动作模型定义通过定义动作的前提(condition)和效果(effect)体现了一个舞蹈动作本身带来的身体、空间的影响和音乐的关联性,其中包含“at_start”表示动作开始时所需要满足的条件,并用and表示并列关系;效果中用“at_start”和“at_end”分别表示动作结束开始时所需要满足的条件和动作结束后所带来的状态改变。
42.其中步骤a2中设置s1、s2、s3、s4、s5

sn为动作的映射,表明动作的状态信息,同时定义了舞者躯体在三维坐标空间中的偏移状态以及因部分舞种如芭蕾舞对手位的要求,所以此处也定义了手部可能到达的躯体部位,这也间接影响了动作之间的衔接,定义了动作速率来更新动作的幅度和速率,通过提取音频中节拍信息后映射为b1,b2

bn来表示每一个节拍点。
43.其中步骤a2中初始化定义在舞蹈世界中的状态信息,其中定义了包括躯体的空闲状态、动作执行总时长、候选动作列表、,动作执行次数限制、节拍在音频中的出现与消失的时间点,同时定义舞者在空间中相对于地面的空间位。
44.其中步骤a2中目标定义部分包括通过(dance-time)来满足舞蹈对于时长的要求,这里设置为一个区间,允许了部分的误差所在;通过(at_floor_space)来说明舞蹈大小或者舞者位移的空间范围,此处为5x5大小的舞台,对于舞蹈问题来说,主要满足的是时长问题,规划过程中通过动作模型来更新谓词状态从而实现目标的定义条件,规划执行即可得到一个舞蹈的动作序列。
45.本发明在具体实施时,图1所示为本发明中的谓词定义部分,通过(is_body_free)
管理躯体资源,还可将其扩展为详细的身体部位的资源约束;考虑到动作关联性,通过(at_space)系列来定义动作执行前后的躯体幅度来限制动作衔接,通过(at_left_hand)和(at_right_hand)来定义部分舞蹈对于手位的严格要求;通过(at_beat)定义音频中的节拍信息,使动作可以关联到音乐。
46.图2所示为本发明中的函数定义部分,通过(dance-time)定义动作执行的总时长,从而实现舞蹈时长的需求;通过(action-times)即是动作已执行次数来限制动作的重复率;通过(at_floor_space)系列来限制舞者在舞台上的走位。
47.图3所示为本发明中的动作模型定义,通过定义动作的前提(condition)和效果(effect)很好的体现了一个舞蹈动作本身带来的身体,空间的影响和音乐的关联性。前提中所包含的“at_start”表示动作开始时所需要满足的条件,其中用and表示并列关系;效果中的“at_start”和“at_end”分别表示动作结束开始时所需要满足的条件和动作结束后所带来的状态改变。
48.图4所示体现了动作模型与音乐的关联性,通过在前提定义节拍要求,让动作开始的时刻与节拍对应。
49.图5所示为本发明中常量和对象定义,其中s1,s2,s3,s4,s5等为动作的映射,表明动作的状态信息,同时定义了舞者躯体在三维坐标空间中的偏移状态以及因部分舞种如芭蕾舞对手位的要求,所以此处也定义了手部可能到达的躯体部位,这也间接影响了动作之间的衔接,定义了动作速率来更新动作的幅度和速率,通过提取音频中节拍信息后映射为b1,b2等来表示每一个节拍点。
50.图6所示为本发明的初始状态定义部分,初始化定义在舞蹈世界中的状态信息,其中定义了躯体的空闲状态,动作执行总时长,候选动作列表,动作执行次数限制,节拍在音频中的出现与消失的时间点,同时定义舞者在空间中相对于地面的空间位移。
51.图7所示为本发明的目标定义部分,通过(dance-time)来满足舞蹈对于时长的要求,这里设置为一个区间,允许了部分的误差所在;通过(at_floor_space)来说明舞蹈大小或者舞者位移的空间范围,此处为5x5m2大小的舞台。
52.综上,本发明方法其直观的体现了舞蹈中所存在的状态限制以及资源约束,同时通过动作模型体现了动作之间的关联关系以及动作与音乐信息之间的关联关系,很好的为编舞知识定义提供了帮助,更好加强人工智能编舞的效果。
53.以上对本发明及其实施方式进行了描述,这种描述没有限制性,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献