




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)音乐驱动的动作编排技术与系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
逝江太堂殛堂位论文摘要 摘要 动画和游戏制作是当前数字化娱乐的两个热点领域。在动画和游戏的制作过程中,时常 会有按照背景音乐节拍,为角色配上合适的动作的需求。在一些强调动作和音乐合拍的应用 情境下,从零开始通过关键帧动画等手工方式进行制作,将会是一件十分耗时的事情。 本文实现了一个由音乐驱动的动作编排系统。用户输入背景音乐,选择好原始动作数据 范围后,系统能够方便地合成符合音乐节拍的动作数据,提供给用户做进一步的调整和优化 并最终输出编排结果。 本文的开头介绍了动作编排系统的架构。 在第3 章中,对音乐特征分析、音乐节拍提取等音频分析相关内容进行了阐述,给出了 系统中所采用的音乐节拍提取算法,着重叙述了其中的节拍对齐步骤。 在第4 章中,介绍了动作特征分析和动作节拍提取。之后在分析结果的基础上,动作数 据被切分为小的片段,进行动作图的构建。这一步骤将经过各个动作小段有效地组织起来, 并进行了必要的优化。 在第5 章中,介绍了在音频分析结果和动作数据分析的结果的基础上,进行动作数据合 成的方法。通过在节拍信息指导下的动作图漫游,在动作图上产生符合要求的动作片段序列 并将序列最终转换成为可以驱动角色动画的动作数据。 在第6 章中,给出了动作编排系统实现的结果。 文章的末尾对进一步的工作进行了展望。 关键词: 音频分析,音乐节拍提取,动作节拍提取,动作图,动作编排 ab s t r a c t a n i m a t i o na n dg a m ec r e a t i n ga r et w oh o ts p o t so ft h ed i g i t a le n t e r t a i n m e n ta r e a s o m e t i m e s w h e nc r e a t i n ga n i m a t i o n sa n dg a m e s ,i ti sn e c e s s a r yt oc r e a t em o t i o n sf o ra c t o r so rc h a r a c t e r st h a t a r ei nh a r m o n yw i t hb a c k g r o u n dm u s i c t om e e tt h er e q u i r e m e n to fh a r m o n y , i tw o u l db eq u i t ea t i m e - c o n s u m i n gt a s ki ft h ea n i m a t o rj u s ts t a r tf r o ms c r a t c ha n dp r o d u c em o t i o nu s i n gk e y - f r a m e a n i m a t i o no rs o m eo t h e rt e c h n i q u em a n u a l l y t h i sp a p e rp r e s e n t sam u s i c d r i v e nm o t i o nc h o r e o g r a p hs y s t e m u s e r sj u s tn e e dt oi n p u t b a c k g r o u n dm u s i ca n ds e l e c tag r o u po f m o t i o nd a t af r o mt h em o t i o nd a t a b a s ea so r i g i n a lm o t i o n , t h es y s t e mw i l ls y n t h e s i z em o t i o nd a t aa c c o r d i n gt ot h er h y t h mo ft h ei n p u tm u s i c t h en e w l yb u i l d m o t i o nd a t aw i l lb es h o w nf o ra d j u s t m e n t sa n dr e f i n e m e n t sb e f o r ef i n a lr e s u l ti sf o r m e d t h eb e g i n n i n go f t h i sp a p e r ,t h ef r a m e w o r ko f t h es y s t e mi ss h o w n i nc h a p t e r3 t h ec h a r a c t e r i s t i c so fm u s i ca n dm u s i cb e a t se x t r a c t i o ni sd i s c u s s e d ab e a t e x t r a c t i n ga l g o r i t h mi sp r e s e n t e dw i t hab e a t a l i g nm e t h o d c h a p t e r4i so nm o t i o na n a l y s i sa n dm o t i o nb e a te x t r a c t i o n a f t e rb e a te ) t r a c t i o n ,m o t i o n sa r e s p l i ti n t ol i r l ep i e c e s ,t h e no r g a n i z e di n t oam o t i o ng r a p h s o m eo p t i m i z a t i o ni sd o n eo nt h em o t i o n g r a p h i nc h a p t e r5 ,t h em o t i o ns y n t h e s i sp r o c e s sb a s eo nr e s u l to ft w of o r m e rc h a p t e r si si n t r o d u c e d t h es y s t e mt r a v e l so nt h em o t i o ng r a p ha c c o r d i n gt ob e a te x t r a c t i o nr e s u l t , t h e nt h ep a t ho ft r a v e li s c o n v e r ti n t om o t i o nd a t ai nt h ee n d i nc h a p t e r6 ,t h ei m p l e m e n to f t h es y s t e mi ss h o w n t h el a s tc h a p t e rd i s c u s sf u t u r ew o r k k e yw o r d s :m u s i ca n a l y s i s ,m u s i cb e a t se x t r a c t i o n ,m o t i o nb e a te x t r a c t i o n ,m o t i o ng r a p h ,m o t i o n c h o r e o g r a p h 图目录 1 1 音乐节拍与动作节拍相匹配3 1 2 节拍匹配结果影响到后续节拍匹配4 2 1 动作编排的总体交互流程7 2 2 系统框架设计8 2 3 系统流程图一1 0 3 1 音乐节拍分析流程1 2 3 2 通过自相关函数预测节拍长度( 较好的预测值) l5 3 3 通过自相关函数预测节拍长度( 较差的预测值) 1 6 3 4 音乐节拍提取的结果一1 7 4 1 动作数据表示( 局部数据) 1 9 4 2 关节点选择1 9 4 3 动作节拍提取的流程2 0 4 4 动作数据信号的节拍猜测2 2 4 5 动作图结构示意图2 3 4 6 动作图节点间的差异度分布及动作图优化结果2 8 5 1 贪心算法选择最佳候选动作片段3 2 5 2 根节点对齐方式的对比3 6 5 3 动作编排结果的动作图表示3 9 5 4 动作合成结果4 0 6 1 动作节拍提取界面4 2 6 2 动作数据合成界面4 3图图图图图图图图图图图图图图图图图图图图图 i f 匠江态堂亟堂位j 金文目录 表目录 表4 1 差异度阈值与出度下限对动作图边数量的影响2 7 表5 1 四种不同的动作编排算法3 4 表6 1 不同算法在不同节点个数下的匹配率比较一4 4 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得浙江太堂或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签名: 桶笈 签字日期:矽口矿年f - n r 日 学位论文版权使用授权书 本学位论文作者完全了解逝江太堂有权保留并向国家有关部门或机构送交本论文的 复印件和磁盘,允许论文被查阅和借阅。本人授权、逝江太堂可以将学位论文的全部或部 分内容编入有关数据库进行检索和传播,可以采用影印、缩印或扫描等复制手段保存、汇编 学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 扬度 签字日期:砂d 扩年f 月f 日 导师签名:( 学4 - - 签字日期: o 汐年秒6 月f 移日 i 赶江太堂琢堂位论室筮! 童绪论 第1 章绪论 1 1 背景和意义 当前,数字娱乐的各个领域都在迅猛发展。其中,动画和游戏是两个热点的领域。在动 画制作和游戏制作的过程中,也涌现出了各种各样的对技术的需求。 在三维动画电影或短片的制作过程中,常需要按照背景音乐的节拍,为角色配上相应的 舞蹈或其他动作。目前常见的处理方法是,请经验丰富的动画师或编舞人员,详细设计出人 物动作的过程,然后反复对照音乐节拍,拟定动作的关键帧,再按照关键帧动画的处理方法 制作出人物的动作来。这样的制作过程十分耗时,有较大的一部分时间花费在调整动作使之 符合音乐节拍上。如果有一个系统,可以接受音乐的输入,然后生成合乎音乐节奏的动画片 段,将会极大地提高动画制作的效率。 在游戏制作领域中,由计算机控制游戏中的人物( 如n p c ) 做出各种各样的动作已经是一 个很常见的需求了。不过近年来出现的一部分音乐类的游戏,如较为流行的劲舞团等, 加深了对自动产生的动作的需求:不仅仅是简单地生成动作,还要求角色的动作合乎一段或 几段音乐的节奏,动作和音乐合拍。目前对于这个问题的普遍处理方法是,在程序中预置一 些固定的由人工挑选好的动画,运行时候按照播放的音乐,选择相应的动作,不断循环播放 这样制作的效果,也能够较好地合乎音乐的节拍,不过动作样式单一,缺少灵活变化。如果 有一个系统,可以按照输入的音乐,生成含有各种变化的,但又符合音乐节拍的动画,将能 够很好地解决这个问题。 这就引入了一个和动画制作领域类似的需求:有一个接受音乐输入,然后生成合乎节奏 的动作的方法。 本文中描述的动作编排系统满足了这样的需求。系统接受用户的音乐输入,进行自动分 析后,使用指定的策略和算法,根据动作数据库中已有的动作信息,合成新的符合音乐节拍 的动画片段。若进行适当的修改,该系统还能够在更多相关领域发挥作用。 1 2 音乐和动作信息的记录 要对音乐和动作信息进行处理,首先需要有一整套对信息进行记录、处理、再现的方法。 对于音乐信息来说,各种录音、处理、回放的技术早已相当成熟。自从计算机被广泛应 用到音频处理等领域中,音乐的数字化技术迅猛发展。通过传统的录音设备,加上后期的数 字化制作,音乐信息可以被转换为多种不同格式进行存储下来,使得计算机能够对其进行各 种各样的处理。 常见的音乐数据格式有w a v e ,m p 3 ,m i d i 等。 对于动作信息来说,最为流行,应用也最为广泛的方法是动作捕获技术。这种技术能够 将演员表演的动作转换成数字化的信息,可供计算机程序对其进行处理和回放。 目前常见的运动捕获的技术可以分为光学式、电磁式和机械式。其中又以光学式最为常 见。其原理是,在演员身上的关键点附上一些反光标记点,然后通过多个光学传感摄像头跟 踪标记点的运动。标记点的二维信息被送到计算机中,通过机器视觉相关的技术,还原出标 记点在空间中的三维信息。这些标记点按照一定的顺序和层次关系被连接起来,经过一系列 计算和处理,就能够得到演员肢体在各个时刻的位置、关节在各个时刻的旋转角度等信息。 最后,获取的数据被依照一定的格式定义存储下来。 这些记录下来的数据,通过程序处理,可以带动各种不同的虚拟角色动作。通过这种方 法产生的动作自然,。有真实感。 常见的动作数据记录格式有b v h ,h t r , a m c ,t r c 等。 1 3 问题描述 音乐是时序上的数据序列。在计算机中存储的不同格式的音乐,最终可以转化为用于声 卡输出的波形信号,这一信号表达了音源的振幅随时问变化的情况。 动作数据也是时序上的数据序列。动作数据记录了骨架信息和各关节点在不同时刻的位 置,可以看作是表示了骨架的状态随时间变化的情况。 音乐与动作数据这两个时间序列具有不同的特性。音乐的底层特征有峰值、振幅、频率 等,高层特征有音量、节拍等。动作的底层特征主要是动作节奏、身体运动的速度和方向变 化,高层特征则是动作的目的、动作的内在含义等。动作编排的关键问题,是在这些不同特 征中选取合适的匹配条件,在条件的指导下,对于音乐的各个部分选取最为合适的动作与之 匹配。 在特征的选择这个问题上,本文选取了节拍作为音频信息序列和动作数据序列共有的特 征。节拍是音乐的一个总所周知的属性,体现在新音符的出现、音乐强弱的变化等。而人物 2 浙江太堂亟土堂位i 金玄蕴! 童绪论 动作中的运动形式的变化点,如改变运动方向、快速变化运动速度等,也可以被看作是动作 数据的转折点或是节拍点。 j 月 动作编排问题的实质是一个约束优化问题。其约束条件是,匹配得到的各个动作片段的 连接处,动画角色应当具有足够的相似度,以保证动作片段问能够平滑地过渡。动作编排要 求在符合这个约束条件的同时,找到一个动作片段序列,使得动作节拍点与音乐节拍点在时 间轴卜的位置差异最小。 对于这一问题,答案的搜索空问极为庞大。设需要有个动作片段与音乐匹配,动作片 段总数量为s ,使用枚举法的话就需要对3 种不同的组合方式进行选择。于是,采用动 态规划的思想对问题进行切分。首先寻找符合平滑过渡条件的动作对,并以图的形式储存动 作对之间的联系。这样,就把片段问平滑过渡的约束条件隐含在了图节点的连接关系中。而 后寻找与音乐节拍相匹配的图节点。这个问题被转化为动作图上的漫游路径选择问题。 音乐节拍指导下动作图漫游路径选择的复杂之处在于,每一个节拍的匹配结果都会影响 到下一个节拍匹配程度的评判标准。如果前一个节拍没有精确匹配,那么时间长度上的误差 会积累到下一个节拍中去,相当于延长了后一个节拍的时间长度。对于后面的节拍来说,最 佳匹配的动作片段的时长应该最接近丁原始节拍时长与积累误差的和。然而积累误差的长度 依赖于更早的匹配选择与匹配误差,层层依赖,无法将问题分割简化。设有n 个节拍需要匹 配,动作图节点数为v ,每个点的平均出度为u ,则要尝试矿u 州叫条不同路径,才能找 h 节拍点匹配最好的最优解。 籼日 逝江太堂亟i 上堂位论文筮! 童绪论 羔塑堡i羔塑竺!l 已匹配部分: : 待匹配长度: 图1 2 节拍匹配结果影响到后续节拍匹配 对于音乐驱动的动作编排问题,寻找最优解是不必要的,细微的误差并不会降低结果的 整体质量。于是可以采用简化问题的方法,降低问题规模或丢弃一部分可能解答,获取问题 的近似解。在本文中,使用了贪心算法和局部最优算法来求问题的近似最优解,得到较好的 实验结果。 音乐驱动的动作编排问题,表面上和基于内容的动作检索问题很相似。共同点在于,二 者都是根据+ 系列特征信息,查找与之对应的动作数据。不同点在与,动作编排问题查找已 有数据用于合成的新数据,强调各数据之间能够平滑过渡;而基于内容的检索只要求查找结 果寻找符合给定条件,各段数据问不需要有相互关联。 1 4 相关领域背景和现状 音乐节拍探测中具有里程碑意义的:r 作应当是g o t o ( 2 0 0 1 ) i l l 提出的节拍探测系统。该系 统将声学信号分析和音乐先验知识相结合,通过分析节拍点检测函数( o n s e t 函数) ,获得一个 预测的节拍长度,然后根据和弦变化和鼓点模式,验证、调整节拍长度并推断具体的节拍模 式。其缺点是较为复杂。 b r o s s i e r ( 2 0 0 4 ) f 2 1 3 1 ,d a v i e s ( 2 0 0 4 ) t 4 1 提出了一个较为完善的o n s e t 函数的构造方案,并将其 用于音符识别和音符标注。其思想主要是:首先综合使用几种o n s e t 检测函数,得到个基 本的o n s e t 函数结果,然后对该函数进行滤波等降噪处理,提取出函数的极值点作为备选的 o n s e t 集合,最后进行静音过滤,剔除掉静音区的o n s e t 结果。g o t o ( 2 0 0 1 ) e 1 1 ,d a v i e s ( 2 0 0 4 ) 1 4 1 , s h i r a t o r i ( 2 0 0 3 ) t 5 】使用自相关,互相关的方法预测音乐节拍。 g o t o 在文章中增加了一个时间窗对自相关函数的结果进行调整,更为强调时间因素, 效果较好。在本文的系统实现中,采用了类似于g o t o 的方法对音乐节拍进行预测。 d a v i e s ( 2 0 0 5 ) t 1 1 】使用了两种节拍检测模型,普通模型和上下文相关模型,使用状态机的 设计,在不同检测模型中动态切换。这一方法有更广泛的适用性,能够较好地适应不同类型 音乐节拍的探测。k u o ( 2 0 0 7 ) 【1 2 】则将隐马尔科夫模型应用于节拍检测,文中的方法效果比较 理想,但是需要预先使用大量数据对模型进行训练,实现较为复杂。 动作节拍提取与动作合成方面,s h i r a t o r i t 5 1 1 6 1 1 7 1 1 8 1 将节拍分析的结果用于动作的节拍分析、 分段以及动作合成。文中根据日本舞蹈的特征,对左右手和身体重心的位置进行分析,获得 速度函数,取速度函数的极值点作为候选的动作分割点。但其方法的缺陷在于,没有考虑舞 蹈本身蕴涵的节奏。 k o v a r ( 2 0 0 2 ) t 1 6 1 提出了动作图构建的方法,计算动作集中各个动作片段间的距离并将动 作片段连接起来,最后通过图的漫游生成新的动作。其方法提出的动作图,将动作数据存储 在图的连接边上,图节点用于存放动作中的转接点。这个方法能够生成符合指定前进路线的 步行动画,对其他类型的动画没有进行研究。w a n g ( 2 0 0 3 ) | ”1 对动作图转接点的选取算法做了 研究,经过大量实验,给出了动作差异度计算时最佳的一组关节点权重值。本文中使用了这 一组权重值。 k i m ( 2 0 0 3 ) 1 7 1 讨论了基于运动节拍的动作图构建和动作合成。文中使用节拍的概念对动 作数据进行处理,考虑了动作内在的节奏属性,达到了较好的结果。其论文只涉及了动作方 面的分析与处理。a l a n k u s ( 2 0 0 4 ) t g ,k i m ( 2 0 0 7 ) l 删使用音乐的节拍特征遍历运动图生成新动 作。a l a n k u s 的方法没有考虑动作的节拍点,只是简单地对可能的动作转接点进行切分,构 建动作图,生成结果节奏性不够明显。k i m 的方法认为动作数据中存在着一部分没有节奏的 冗余动作段,因此利用p c a 方法对动作进行分析和裁剪。其一个主要的局限性在于,要求 原始动作配有音乐信息,这就限制了该方法的应用范围。 l e e ( 2 0 0 5 ) 0 s 同时对音乐和动作进行特征分析,提取节拍点,而后运用动态规划的方法 对音乐片段和动作片段分别进行调整以达到匹配的结果。该方法的结果较好,但要求输入的 音乐数据是带有节拍等信息的m i d i 格式音乐。 i k e m o t o ,l ( 2 0 0 6 ) 1 2 6 1 提出了使用多路插值进行动作过渡的方法,采用在两段待连接动作 片段中加入一个小的动作片段进行混合,达到了较好的动作混合结果。w a n g ( 2 0 0 4 ) | 2 5 】对于动 作片段的混合连接过程,提出了可变的混合范围的方法,通过计算得到一组最优的混合参数 逝江太堂亟土堂位论文筮! 童绪论 生成较为真实的过渡动画。 r e n ,l ( 2 0 0 5 ) 1 2 7 1 提出了判断动作数据是否自然的标准,通过高斯混合、隐马科夫模型等 方法对动作数据是否真实自然进行了判断。其方法需要使用大量的动作数据对模型进行训练。 1 5 本文完成的工作 本文在综合了现有音乐节拍分析和动作节拍分析工作的基础上,实现了一个由音乐驱动 的动作编排系统。系统首先可以在动作数据库中用户指定的范围里提取动作数据,进行动作 节拍分析,将分析结果存储备用。而后,系统能够接受用户输入的不同风格的音乐数据,自 动进行音乐节拍分析,然后通过简单的界面交互,合成符合音乐节拍的动画序列。 本文中实现的系统,在音乐节拍检测算法中引入了节拍对齐处理,适应了音乐节奏的不 断变化。在动作图构建过程中,加入了脚步位置差异度检测,较好地减小了生成结果中滑步 现象的滑步范围。在查找与音乐节拍匹配的动作段时,使用了多种不同的算法,并对结果进 行了比对,提出了实际中的算法选择策略。在动作合成方面,通过角色水平朝向对齐与混合 操作,得到了较为平滑的结果。 文章中讨论了音乐节拍分析、动作大纲提取,而后描述了动作图构建、节拍指导下的动 作图漫游等技术。这些技术中用到的具体算法也在文中进行了叙述。 文章开头介绍了动作编排系统的整体框架设计和交互流程,点明了系统各个组成部分之 间的相互影响和联系。 第3 章中集中讨论了音频数据分析的相关内容,并给出了系统中所采用的音乐节拍提取 算法。第4 章中描述了动作大纲提取、动作图构建与优化等动作数据分析处理相关的内容, 通过动作图的构建,为后续章节中的动作图漫游打下基础。 动作图的漫游与动作数据的合成在第5 章中讨论。这一章的内容围绕着漫游路径搜索的 优化算法和动作数据片段的拼接与过渡处理展开。 在第6 章中,给出了动作编排系统具体实现的相关信息,展示了实验的结果。接着尝试 了不同的输入数据,对得到的结果及存在的问题进行了讨论。 文章的末尾对于进一步的研究方向进行了展望。 6 第2 章总体流程与框架 2 1 动作编排的流程 本文实现的动作编排系统大大简化了动作编排工作。负责动作编排的人员只需向动作编 排系统输入必要的数据,然后等待系统对数据进行分析和处理,再接着观看系统给出的动作 数据预览,根据自己的需要进行细节的参数调整直到满意后,就可以获得最终的动作编排结 果。 图2 ,1 动作编排的总体交互流程 图2 1 展示了动作编排的总体交互流程。用户只需要指定原始动作数据、关键骨骼节 点,选择适当的优化策略,系统就能够生成与音乐节拍相适应的动作数据片段。 7 趱辽太堂硇土堂位论塞 笙z 童总链流猩墨框架 2 2 系统框架设计 本文实现了一个音乐驱动的动作编排系统。 图2 2 给出了系统的整体框架设计。 图2 2 系统框架设计 系统的功能模块主要分为用户界面、音频处理模块、动作数据处理模块、音乐与动作合 成模块,此外还用到了动作数据库作为相关数据的存储设施。 在用户界面上,提供了音乐输入、参数设置与调整模块接受用户输入,系统的输出则主 要通过动作播放( 以及一部分参数和图表显示) 反馈给用户。用户观看输出的动作结果之后, 可以反复通过参数设置与调整模块对结果进行调整,满意之后最终输出。 音频数据处理模块接收用户提供的音乐文件,对其进行一系列处理,获得音乐数据的节 拍特征,并将取得的特征数据交给合成模块进行下一步处理。 动作数据处理模块按照用户指定的范围在动作数据库中提取动作数据作为原始的输入, 并依照用户指定的关键骨骼节点对动作数据进行分析,从中提取出动作数据的各种特征并转 化成为动作数据的节拍信息。按照这些节拍信息,原始输入动作集合被切分成为节拍小段。 切分的结果缓存在动作数据库中,以便减少重复运算,提高效率。 音乐与动作的合成模块是系统的核心模块。合成模块从动作数据处理模块获取动作节拍 作 帐0 用 参数设鬣 音乐输入用户界面动作播放 与调整 lli 1, 上 音频处理 b 动作数据 模块处理模块 1fr 1f 裔乐与动作合成摸块 信息,并读取切分好的小段动作数据,开始动作图的架构和一系列优化过程,最终产生输出 结果。 图2 3 进一步给出了系统的数据流程。 输入的音乐数据通过音频特征分析的各个步骤,生成了一系列音乐节拍信息。同时,原 始动作选择范围的信息被送到动作特征分析模块中,该模块按照所给的范围从动作数据库中 逐一读取动作数据,分别进行特征分析,得到很多小的动作片段。这些动作片段在动作数据 库中的位置和起止时刻等信息被储存到动作片段库中。随后,动作片段集合从片段库中被提 取出来,计算各个片段之间的差距,之后被连接成为一张动作图。在之前获得的音乐节拍信 息的指导下,合成模块在动作图的节点之间进行漫游,并把漫游的路径转化为动作数据输出 到临时数据结构中。这时生成的数据交给显示模块,交由用户进行预览,此时音乐和动画同 时播放,呈现音乐和动作节拍的相符程度。与此同时,合成模块也随时接受用户进行的参数 调整,尽可能满足用户的需求。 当用户对结果感到满意之后,选择将最终结果输出,于是合成模块将临时数据结构中的 动作数据保存到动作数据文件中,交付用户使用。 9 输入音乐选择原始动作 编排系统 、 ,1,一一、 音频特征分析 动作特征分析卜一 、一 动作数据库 | 动作图构建 _匹配与生成卜 预览与调整 原始音乐生成动作 洲j 月洲”鲞夺 图2 3 系统流程图 l o 第3 章音乐节拍分析和提取 3 1 节拍分析的步骤 音乐节拍分析是动作编排系统需要处理的关键问题之一。本文采用的算法主要可以分成 三个部分,特征点检测、候选节拍点提取、节拍对齐。后面三个小结将分别详细叙述。 本文中,认为音乐的节拍点具有下列属性: 有新的音符在节拍的开始处出现或是有较大的声音信息的变化 具有一定的周期特性 对声音信息变化的检测是由特征点检测部分完成的。 候选节拍点提取则借助于节拍的周期特性,在众多特征点的出现时间点中提取周期性质, 给出了音乐节拍的预测。 根据节拍预测的结果,节拍点的范围缩小了。对于每个节拍,节拍对齐步骤在一系列临 近的候选节拍点中选取了最优点,完成了单个节拍点的提取步骤,进入下一轮“候选点提取 节拍对齐”的循环。 图3 1 音乐节拍分析流程 图3 1 给出了音乐节拍分析算法的大致流程。 输入的音乐数据经过特征点检测过程( o n s e t 检测) ,计算得到各个时间点处的特征点检测 函数( o n s e t 函数) 值以及整个时间轴上的检测函数峰值点信息。这两类信息分别在节拍推测 ( 即候选节拍点提取) 和节拍对齐中用到。节拍推测和节拍对齐的过程将在接下来的章节中详 细叙述。 1 2 3 2 音频信号特征点的检测与峰值点提取 计算机中的音乐数据,被存储在音频格式文件中。为了对不同格式的音乐文件进行支持, 用户输入的音乐文件首先被统一转换为4 4 1 0 0 h z 的w a v e 格式。各种音乐文件格式的转换是 调用f m o d 库【1 9 1 实现的。经过转换得到的w a v e 格式数据,其本质是时间维上的离散采样点 数据。 系统的特征点检测方法采用了b r o s s i e r ( 2 0 0 4 ) 提出的构造方案,将音频数据进行短时傅 立叶变换,而后采用高频内容函数法( h i g hf r e q u e n c yc o n t e n t ) 1 3 】和频谱差异法( s p e c t r a l d i f f e r e n c e ) 1 1 4 1 两种方式结合进行特征点检测。 高频函数法是基于这样的观察:打击类乐器所发出的声音频率较高,而打击乐器发声的 位置多为节拍点。于是关注声音中的高频部分的多少,可以大略得到打击类乐器的发声时刻 从而近似地得到特征点。 于是,对于在时间点玎处的信号x ,进行短时傅立叶分析( s t f t ) ,时间窗口大小取1 0 2 4 个采样点所占时间长度,结果记为x 【聆】,其幅度为i x 【刀 l 。 则其高频内容函数1 1 3 1 可以定义为: 公式( 3 1 ) 可以看到,这一函数对不同频率的幅度,乘以不同的权重,这个权重随频率的增大而增 大。这样,信号的高频部分放大了。最后,所有加权后的幅度值被累积起来,作为这个点的 特征点检测函数的值。 频谱差异法【1 4 1 基于另一种观察,在节拍点附近,会有新的声音出现,一些频率的幅度会 在节拍点附近发生大的变化,所以关注频谱的幅度变化量也可以找到特征点。 定义函数 r d 。( ,z ) = i x 。 l - l x 七 n - 1 l k = o d 。( 刀) 反映了两个采样点之间的频率幅度变化量。 公式( 3 2 ) 系统中用到的特征点检测函数综合了上面两种方法。首先运用两种算法分别进行计算, 1 3 玎 i x后 脚 = 玎 阿 d 而后将计算结果相乘,定义特征点检测函数 d ( 挖) = d ( 聆) d ,( 纷) 公式( 3 3 ) 根据音乐信号的特征点检测函数,我们可以取其每一个局部最大值点,即峰值点,这些 点所处的位置即为音乐中有可能是节拍点的位置。 考虑到信号中通常带有一定的噪音数据,需要对峰值点进行额外的处理,以去掉无效的 峰值点。 定义静音区间函数 s ( 刀) = 三:妻曩强度 2 2 , 口肛】_ t 矿, 姒z 现在对离散的序列a n g e l j 进行分析,取角加速度为零的点,即为可能的节拍点。各 个不同关节点的运动数据被依次处理,这些可能点被存储到一个数组中,作为后续节拍对齐 操作的输入。 我们还需要对运动数据进行节拍猜测。 设有,个关节点,第i 个关节点有一组角速度信号的极值点位于f 加t f 2 ,f 8 ,t f 开。 首先用多段余弦曲线连接角速度曲线的各个峰值点所在时间点,得到 c u r v e j ( f ) =c o s ( 2 丌( 急) ) ,k - l d 枷, o f , 0 歹,用有向边连接节点i 和,即可完成动作图节点的连接。 阈值的设定与上一小节中的差异度衡量函数中的各项权重等参数有一定联系。动作编排 系统中的操作界面上,为用户提供了调节阈值的功能。 当阈值设置较大时,允许的节点间的差异大,所以生成的动作图较为稠密,动作编排的 可能动作组合也较多。不过由于节点间差异大,通过插值拼接后得到的结果较为不平滑,输 出的动作在转接点出也有一些跳跃感。 当阈值设置小的时候,允许的误差小,所以生成的动作经过插值后较为平滑,输出的动 作没有跳跃感。不过小的误差使得图的边较为稀疏,生成的结果也较为单一和重复。 在4 5 节中,将会给出不同阈值设置下动作图稠密程度的对比。 4 3 动作图的优化 动作图生成之后,从图上的一个节点出发,沿着图上的边走到下一个节点,循环往复, 就能得到一串节点序列。这些节点代表的动作数据,首尾衔接起来就能生成连续的动作数据 序列。然而这里存在一些问题。在动作图上进行漫游的时候,如果走到了图上的“孤岛”, 没有后继边和后继节点,漫游的过程就会被迫终止。 一种解决方法是在图的漫游过程中,预先检查各个节点的出度是否大于零,如果是出度 为零的“孤岛”,则将其排除在漫游的路径之外。但是这样做的话势必加大图漫游时候的计 算量,影响系统的处理速度。 于是,在开始图漫游之前需要先进行图的优化。通过剪除图中连通性不强的区域,可以 避免“孤岛”问题。动作编排系统中的优化策略是,为图节点出度设置一个最小值s 。而后 遍历所有节点,将出度小于s 的所有节点以及与它们相关的边从图中删除。当s 取大于0 的 数时,所有无后继边和后继点的图节点就会被从图上删除。 移除出度较小的点时要注意,由于在移除点的时候也影响到了与该点相关的所有边,所 以该点的所有前驱点的出度会受到影响,需要重新进行检查。下面给出图优化的伪代码: v o i dm o t i o n g r a p h :r e f i n e g r a p h ( s i z e _ ts ) 建立临时存储集合s e t w o r k i n g 遍历图中所有点,如果点v 的出度小于s 将v 的所有前驱点放入s e t w o r k i n g 删除点v 及与v 有关的所有边 ) w h i l e ( s e t w o r k i n g 不为空) 遍历s e t w o r k i n g 中所有点,如果点v 存在于图中,且当前的出度小于s 将v 的所有前驱点放入s e t w o r k i n g 删除点v 及与v 有关的所有边 ) ) 在动作图优化的过程中,s 的取值对将来动作图漫游的结果有影响。如果j 取值偏小, 如取s = 1 ,则动作图中,存在着一些出度为l 的点。当漫游到这些节点时,后继边只有 一种选择,没有任何路径优化的余地,节拍匹配也不能很好地实现。如果s 的取值偏大,那 么动作图上的边的数量,也会由于节点的大量减少而受到影响,造成动作图的稀疏。这种情 况下得到的漫游结果也是不够理想的。 经过实验,取s = 2 时,一方面可以有效的避免动作图漫游进入“孤岛”,另一方面 又不会对动作图的连通性以及动作图的漫游结果造成显著的负面影响。 4 4 动作图的底层实现 动作图的实现依照4 2 1 节的定义进行。为了减少不必要的重复劳动,动作编排系统中 图数据结构的实现使用了b o o s t 库【2 t 1 中的g r a p h 库。 g r a p h 库是一个c + + 模板库,允许通过改变模板参数,改变图的内部属性。在系统实现 的过程中,根据实际需要进行了多种权衡。 由于动作图的边不定稠密,为节省内存空间,在动作编排系统的动作图实现中,选择 了邻接表( a d j a c e n c yl i s t ) 作为图的内部逻辑结构。但在对动作图进行优化的时候,删除节点时 要考虑对前驱节点的影响,要求图的边有逆向查找的能力,所以采用了双向边的结构,边的 存储空间翻倍。总体上的内存使用量接近于邻接矩阵( a d j a c e n c ym a t r i x ) 方式。 关于图节点的存储结构,考虑到在对图进行优化的前后应该保持图节点的迭代器( v e r t e x i t e r a t o r ) 有效,所以放弃默认的v e c t o r 结构,改用在删除操作时不会影响迭代器有效性的l i s t 结构存储节点信息。节点的外出边( o u te d g e ) 使用s e t 结构存储,避免出现平行边。 动作图节点上的动作数据信息存储在外部数据结构中,利用m a p 数据结构映射到图中 节点上。图中的各个节点也通过m a p 将自身的序号映射到数据,使双向查找成为可能。 最后,动作图类型的定义如下: t y p e d e fa d i a c e n c y 1 i s t g r a p h ; 4 5 动作图的构建结果 我们使用动作数据库中的舞蹈数据进行实验。 原始输入数据是9 9 个街舞动作,经过大纲提取与动作切分,得到1 2 2 5 个动作片段,总 共3 0 9 1 0 帧,时长约1 7 分l o 秒。在这些动作片段中,选取前1 0 0 个进行动作图生成的相关 操作,考察差异度阈值d 乃懈肋材与节点出度下限j 的不同取值对动作图生成结果的影响。 表4 1 差异度阈值与出度下限对动作图边数量的影响 d j 、嘶喃枷 s = 0j = ls = 2s = 3 s = 4 2 o6 0 34 9 6 4 0 93 8 33 6 4 2 5 1 1 7 61 0 3 l9 6 38 5 77 6 3 3 o1 7 8 01 7 1 81 6 1 7l5 6 01 5 1 4 从表4 1 中可以看出,差异度阈值对于动作图边的数量有较显著的影响,阈值的大小直 2 7 逝江太堂亟堂位论文 笙生童动佳太组曲握取皇动佳图的掏建 接影响了动作图的稠密程度,从而间接调节了可能的漫游路径数量,影响了最终动作编排结 果。节点出度下限s 只是为保证图的连通性所做的优化,在动作图较为稠密时,对边数的影 响不大;在动作图较为稀疏时,s 对于边数量的影响较大。 图4 6 中的蓝线,展示了动作图节点之间的相似度分布情况。1 0 0 个图节点,有1 0 0 0 0 种可能的连接方式,这些连接方式对于的差异度分布在0 到3 1 8 0 之间。 差异度 图4 6 动作图节点间的差异度分布及动作图优化结果 经过多次实验,我们将默认的差异度阈值设置为3 0 ( 图中用虚线表示) ,节点出度下限 设置为2 。此时的动作图,配合后面的动作编排算法,可以达到较好的结果。 优化后动作图剩余边的差异度分布在图中用红线表示。在阈值虚线左侧原来有2 0 7 2 种 可能连接,经过优化剪除4 5 5 条边,占总量的2 2 o 。这一结果在可以接受的范围内:优化 过程在改善图的连通程度的同时也兼顾了图的稠密程度,保证了一定数量的边的存在。 4 6 本章小结 本章中讨论了动作大纲的提取和动作图的构建、优化。 首先,在动作大纲提取中,利用和音乐节拍提取相类似的方法对动作数据进行分析,得 到节拍信息,而后按照节拍将动作数据切分为多个小的动作片段。随后,用动作图的形式将 切分得到的动作小片段组织起来,并且计算得到各个动作片段之间的差异程度,为后面的动 作图漫游与动作合成做准备。最后,为避免在动作图漫游中遇到漫游中断或重复访问一小部 分节点的问题,提出了动作图优化的方法,剪除了连通度不高的图节点,为下一章中描述的 动作漫游路径作好了准备。 第5 章节拍指导下的动作编排 5 1 动作编排的步骤 在完成了音乐节拍提取、动作节拍提取和动作图的生成之后,可以开始进行动作的编排。 动作编排的总体步骤是: 1 在动作图上选择一个节点作为起始点。 2 在音乐节拍的指导下,在动作图进行漫游。 3 将动作图上的漫游路径转换成对应的动作数据片段序列。 4 对得到的动作数据片段序列进行拼接合成,产生新的动作数据。 动作图上的节点,不仅存储着自身所代表的动作数据,也包含着和其他各节点的关联信 息。第l 步中从动作图上选择一个起始节点,在决定了最初的一段动作数据的同时,也决定 了随后可能的后继点集合,对动作编排的结果有一定的影响。 第2 步中的动作图漫游问题,实质是在一系列后继点集合中寻找和音乐节拍最为匹配的 节点的优化问题。对于这个问题,动作编排系统采用了几种不同的优化算法。 第3 步和第4 步关系密切。动作图漫游的路径可以用记录沿途节点编号的方法记录下来, 随后按照节点编号,可以查找到节点并取出对应的动作数据片段,这些片段依次排列起来, 就是动作合成的初步结果。但这样得到的动作数据并不连贯,在数据片段的切换点上,往往 会有突兀的变化,给人以零散的感觉。这时,就需要运用对齐和平滑算法,处理好各个动作 片段之间的过渡,才能得到连续、平滑的最终结果。 在这些步骤中,较为关键的问题是动作图的漫游以及新动作数据的合成。下面几个小节 将详细讨论这些问题。起始节点的选择问题将附带在动作漫游问题中进行讨论。 5 2 节拍指导下的动作图漫游 上一章中讨论的动作图构建和优化的方法,保证了动作图漫游时得到的动作序列在连接 点处有足够的相似程度,保证了在漫游时候有多种可选路径。要生成符合音乐节拍的动作序 列,还需要有合适的算法,在各个图节点处做路径选择,选取一系列“较好”的后继点,从 而得到较为匹配的动作序列。 本文中认为,动作图上“较好”的后继节点应该有如下属性: 加上该节点的动作数据后,动作数据的末尾点在时间轴上接近于某个音乐节拍点 该节点没有在漫游路径中频繁出现 为解决漫游路径选择问题,动作编排系统中实现了两种不同的算法。 5 2 1 漫游路径选择的贪心算法 大部分优化求解类问题,其可能的解数目巨大,一味地追求最优解是不实际的。在这种 情况下,往往退而求其次,寻找一个接近于最优解的近似解答。对于动作图漫游路径选择的 问题,我们并不需要得到一个最优解。只要最终生成的动作数据在一定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台SDN在能源行业的应用与效益评估
- 2025年生态旅游可持续发展规划与管理中的智慧旅游应用研究报告
- 2025年细胞治疗临床试验患者招募策略报告
- 2025年工业互联网平台数据加密算法效能解决方案评估报告
- 民法典水务课件
- 2025年高考英语听力专项训练冲刺押题模拟试卷
- 2025年小学英语词汇拓展专项训练冲刺试卷
- 2025年小学数学毕业升学考试综合试卷及解析
- 2025年公务员考试行测言语理解专项试卷:逻辑判断与推理备考手册
- 2025年高考政治哲学原理专项训练试题
- GB/T 5184-2016叉车挂钩型货叉和货叉架安装尺寸
- GB/T 24151-2009塑料玻璃纤维增强阻燃聚对苯二甲酸丁二醇酯专用料
- 考研英语5500词汇表讲解
- MSA测量系统分析第四版
- 围手术期质量评价标准(手术室)
- 化学品安全技术说明(胶水)
- 吊篮操作工岗位风险告知卡
- 输血法律法规培训PPT
- 海姆立克急救(生命的拥抱)课件
- 越南语基础实践教程1第二版完整版ppt全套教学教程最全电子课件整本书ppt
- 标准化项目部驻地建设方案(五星级)
评论
0/150
提交评论