1. 网站地图
  2. 设为首页
  3. 关于我们


信号与信息处理论文 基于深度学习的拉班舞谱自动生成算法研究

发布时间:2019-12-27 11:35
1.1研究背景及意义
我国作为四大文明古国之一,历史悠久,文化底蕴深厚,在世界文明中都具有 着举足轻重的作用。56个民族56枝花,传统的民族文化更是精彩纷呈。各个民族 的舞蹈,不仅是文化的结晶,体现着民族的特色与风味,更是非物质文化遗产的重 要组成部分。比如我们耳熟能详的孔雀舞,蒙古舞,凤阳花鼓等都已成功入选了非 物质文化遗产。图M展示了传统的凤阳花鼓舞蹈。凤阳花鼓也称“打花鼓”、“花 鼓小罗”等,是一种集合了曲艺与歌舞的民间表演艺术,现己是我国民间人民庆祝 丰收、欢度佳节以及反映劳动人民美好生活的一种歌舞形式,有着凤阳“一绝”的 美誉,在民间广受喜爱。
M凤阳花鼓
Figure 1-1 Dance of Feng Yang Hua Gu
 
舞蹈作为一种既可时尚优雅也可平易近人的表演艺术,在音乐的衬托下,练舞 者不仅可以强身健体,还能体会到身心愉悦,观看者更是赏心悦目。更重要的是舞 蹈这种特殊的身体语言,它超越了一般语言的交流阻碍,在国际之间可以很方便的 进行交流和学习。各个国家的舞蹈更是本国文化特色的一种展示。我国民族众多, 各个民族的舞蹈也都颇有特色。但是随着时间的推移,很多舞蹈由于没有科学完整 的系统进行记录和保存,正在面临着失传的风险。
人们可以根据文字进行语言的学习,也可以根据乐谱进行音乐的学习与弹奏, 但是目前舞蹈的学习方式还主要是通过言传身教。符号表达系统的缺失对于舞蹈 的学习、传承以及保护都大大不利。目前舞蹈的主要存储方式是图片和视频。首先, 用图片的方式进行舞蹈的存储并不科学,原因是一段连续的舞蹈可能很长,这样就

需要存储很多张图片,非常不易于将来的查找和学习,并且图片不能立体的展示人 体动作,容易丟失一些人体部位的动作信息。其次,基于视频的手段进行舞蹈的存 储,虽然可以比较方便快捷的进行学习与查找,但是需要的存储空间更大导致存储 成本高,另外一个缺点是时间久了存储设备容易发生损坏并不利于长久存放,并且 舞蹈视频的播放需要依赖于相关的电子设备以及软件播放器,这样既不便捷更是 增加了使用成本。未来希望人们可以向乐曲的学习方式那样,直接通过阅读舞谱就 可以进行舞蹈的学习,方便快捷,随时随地都可以进行自由的学习,这样也符合中 国人从小通过阅读进行知识获取的传统学习方式。
舞谱在舞蹈中的角色与作用,类似于五线谱在音乐中的地位与作用。人们可以 通过阅读舞谱记录的一段舞蹈中人体的各个部位的动作进行舞蹈的练习。中国的 学者最早在敦煌石窟中发现了晚唐时期的舞蹈符号碎片。西方舞蹈符号最早出现 在17世纪。著名的法国芭蕾舞大师Beauchamp发明了一种以书面形式编写舞蹈动 作的方法,即舞谱。目前的现代舞蹈符号主要包括拉班舞谱,Benedict,Maurice, Seikteiri简写法等,其中拉班舞谱[11是世界上使用最广泛的舞谱。
传统的通过观察人体动作进行手工绘制舞谱十分耗时,一段普通的30分钟左 右的舞蹈就需要一个专业的舞蹈专家花费一个月的时间才能绘制完成。运动捕捉 技术[2]的发展使其可以非常高效的捕捉到人体舞蹈动作的三维空间位置,并将人体 的三维动作数据永久的存储下来,以供进一步的研究。基于动作捕捉数据,使用计 算机技术自动生成拉班舞谱,即可在几秒之内将一段舞蹈生成为舞谱,非常快速和 高效,可以解决人工手动绘谱效率低下的问题,因此研究高效的舞谱自动生成算法 十分具有意义以及必要性。
基于动作捕捉数据进行拉班舞谱自动转化的高效算法研究,将传统文化与数 字化进行结合,弥补了我国对传统舞蹈科学完整的符号记录系统的缺失,对我国传 统文化的传承和保护具有不可或缺的意义。
1.2国内外研究现状
在过去的很长一段时间里,符号记录系统就已经被提出用来对人体动作进行 记录。有学者认为,古埃及人使用象形符号来记录他们民族的舞蹈,古罗马人则使 用特有的记谱法来对他们表达问候的肢体语言进行记录。目前为止大家所了解的 最早的舞谱是在西班牙档案室存放的两份手稿。后来随着舞蹈的发展,又出现了不 同方式的舞谱。但每一种方式都随着不断变化的舞蹈而过时最终被淘汰。这些淘汰 了的舞谱并不是丝毫没有价值,它只是现在没有被流传下来,但在当时的背景和环 境下,代表了当时丰富的舞蹈动作,具有很重要的参考意义。舞谱本来就不像乐谱

那样简单明了,舞谱不仅代表着空间上人体的动作位置,也代表了时间上的变化。
并且不同的人表演同一套舞蹈,也很可能是不同的效果,所以舞谱它记录的不是某 一个人的某一个具体动作,它记录的是段舞蹈的本质精神,记录的是舞蹈的核心 特点。

 
 
拉班舞谱[1]是目前国际上使用最广泛的一种人体舞蹈动作记录体系。它是由匈 牙利人鲁道夫•拉班在20世纪20年代发明的一套科学完整的符号记录系统,几 乎可以对人体的所有动作进行记录。图1-2展示了一个具有4页的拉班舞谱。拉班 舞谱出现后广受舞蹈界的欢迎,为舞蹈的传播和推广起到了非常重要的作用。目前, 拉班舞谱在舞蹈指导,舞蹈练习等多方面都具有重要的作用,当然也是一个对传统 舞蹈进行记录和传承的有效途径。欧洲各国家还成立了拉班委员会专门进行拉班 舞谱的交流与学习。
传统舞谱的记录方法是通过人为观察舞蹈动作进行人工手动绘谱,由于人体 动作复杂,并且拉班舞谱会对同一时刻的人体的不同部位同时进行记录,因此传统 手工记谱方式需要耗费大量的时间和精力,还需要精通于舞蹈的专业人力来操作, 这样的工作方式效率十分低下。而计算机技术发展迅速,计算机软件的使用门槛也 比较低,所以研究釆用计算机技术进行拉班舞谱的生成是一个很好的解决方案。图 1-3展示了由舞蹈动作到拉班舞谱自动生成包含的主要流程。目前,使用计算机技 术进行拉班舞谱生成的研宄主要有以下几个方面。
首先是开发了一些计算机应用软件来辅助人们手工绘谱。目前LabanWriter[3] 是世界上使用最广泛的舞谱绘制辅助软件。但是它只支持在Mac操作系统上的安


 
 

Labanatory[4]Calaban[5]以及 LED&LINTEL[6]。图 M 展示了 Labanatory 软件的一些符号。
 
 
装,并且不适合于我国风格的舞蹈动作。相比于传统的在纸上手工绘制舞谱,使用 辅助软件可以大大节约时间,提高效率。相似功能的应用软件还

其次是基于拉班舞谱进行模型驱动的再现。比如日本的相关研究人员开发的 舞谱动画编辑软件LabanEdit〇r[7],它可以进行拉班舞谱的编辑以及基于拉班舞谱 进行动画的再次放映。其他类似的软件还有Laban Dance [8]、Life Forms 等都可 以实现由拉班舞谱进行动画的再次展现。

最后是将计算机技术与拉班舞谱相结合,实现舞谱的自动生成。首先是由运动 捕捉数据系统进行人体三维空间位置的获取,运动捕捉系统将获取得到的人体三 维空间数据保存下来,研究人员通过分析人体动作,提出合适的识别算法对人体的 动作进行识别,最终根据识别的结果进行拉班舞谱的绘制。这样就可以实现完全自 动从运动捕捉数据到拉班舞谱的转化,而不再是像前两种方法还需要人为的控制。
基于运动捕捉数据的拉班舞谱自动生成研究目前在世界上还处于起步阶段, 最早开始这一研究领域的是日本研究人员Hachimura与Nakamura,他们通过拉班 子空间分析[1G]的方法,进行了人体上肢动作的自动生成研宄。而更加重要的下肢 动作的分析与生成他们并没有研宄。Worawat等人开发了一个自动生成舞谱的软 件GenLaban[u],该方法首先进行关键帧的选取,然后再分析人体的动作。但是他 们的方法无法处理弯曲这样的动作。Chen[12]等人提出基于固定规则的方法进行人 体动作的分析和舞谱的生成,但是他们没有分析动作中的停顿。Guo [13,53]等人继 续这个思路进行探索,初步设计和完善了舞谱自动生成系统,但是识别准确率不高, 对于实际应用还有待提升。
综合来说,目前舞谱自动转化和生成的研究中存在着以下几个缺陷。首先是对 原始数据的处理不够充分,缺乏鲁棒性的特征来表示人体舞蹈动作;其次是对于人 体上肢动作的识别准确率不够高,尚未达到实际应用的要求;最后是对于人体下肢 动作的分析和识别方法比较缺乏,上文所述的方法大多都只分析了上肢动作,对于 更复杂的下肢动作缺乏分析,即使有几个方法对下肢动作进行分析了但是取得的 识别准确率也不高,难以符合实际应用的需求。
本文在上述分析的基础之上,研宄如何提取更具判别力与鲁棒性的特征来表 示人体动作以及对如何提高舞谱生成中对人体上下肢动作的识别准确率,这两方 面的提升将会使生成的舞谱更加准确有效。
1.3主要研究内容
针对已有的特征对人体舞蹈动作的表示不够鲁棒以及舞谱生成中人体上下肢 动作的识别准确率不够高的问题,本文主要研究采用计算机技术进行拉班舞谱高 效的自动生成,将拉班舞谱与计算机技术完美结合,实现使用动态数字化的方式对 传统文化的传承与保护。
从动作捕捉数据到拉班舞谱的自动转化主要包括以下几个部分:首先是运动 捕捉数据的获取,将人体在三维空间中的运动数据捕捉下来存储到指定的模型文 件,然后是对获取得到的人体运动数据进行分析和处理以及提取判别性高的人体 特征,再研究高效的识别算法对人体动作进行识别,最后根据识别结果进行拉班舞

谱的绘制。
1-5展示了本文主要研宂方案的框架图,其中人体骨骼特征的设计以及两种 人体动作识别算法的提出是本文的创新点,概括总结如下:
图1-5主要研宄内容框架图 Figure 1-5 Framework of the main research program
 
(1) 针对人体舞蹈动作的描述性不足的问题,本文提出一种符合人体拓扑结 构的骨骼节点向量特征。原始人体运动的三维坐标数据具有很多的噪音,直接用于 动作的识别效率低下,并且原始数据对于人体的身高体重等不具有鲁棒性,所以为 了更好的表示人体动作,本文研究提取了一种更加具有判别力和鲁棒性的骨骼节 点向量特征,这一特征可以更加准确的表示人体动作的空间位置和方向,更利于动 作的识别。
(2) 针对拉班舞谱生成中上肢动作识别准确率比较低的问题,本文提出一种 基于极限学习的上肢姿态识别算法。上肢动作在拉班舞谱的记谱方式中主要关注 动作最后的姿态,也即动作最终停留的位置而不用关注动作前后之间的关系,基于 这一点本文提出一种简单且快速的极限学习算法用于对上肢动作进行分类和识别。 相比于传统的基于拉班空间理论或者基于规则的方法,提出的基于极限学习的方 法可以更加全面的学习人体动作信息,从而生成的拉班舞谱准确率更高。
(3) 针对拉班舞谱生成中下肢动作分析方法匮乏以及准确率低的问题,本文 提出一种基于长短时记忆神经网络LSTM)与卷积神经网络ConvNet)的多层 联合网络模型下肢动作识别算法。拉班舞谱中对于下肢动作的生成需要考虑动作 的动态变化关系,LSTM的自连接网络结构使得它在处理动态变化的时序数据具 有天然的优势,而CcmvNet非常善于学习动作的空间信息,本文提出将LSTM

型与CNN模型进行融合,使这两者可以相互补充,达到更加准确的识别效果。
1.4论文章节结构
本文首先阐述了研究内容的背景和意义,然后介绍了研究内容的理论方法、实 验分析以及拉班舞谱平台的系统设计和功能实现,具体分为以下几个部分:
第一章:首先阐述了本文的选题背景、研宄意义,然后介绍了目前国内外相关 的研究现状以及本文的主要研究内容,并给出了本文研究内容的框架。
第二章:主要介绍了拉班舞谱中的符号以及拉班记谱的规则和原理、运动捕捉 技术的相关工作原理、实验中所采用的运动捕捉装置,最后是对基于动作捕捉数据 进行拉班舞谱自动生成架构的介绍。
第三章:本章以及下一章是本文的重点研究内容。本章首先阐述了由运动捕捉 设备获取得到以欧拉角形式存储的运动捕捉数据转换为世界坐标系下的三维空间 数据,然后分析和设计了符合人体拓扑结构的骨骼特征,这是本文的第一个创新点; 在综合分析拉班舞谱的记谱规则和人体运动的特点之上,提出使用快速高效的极 限学习算法进行拉班舞谱中上肢动作的生成,这是本文的第二个创新点。
第四章:本章节详细介绍了本文提出的基于长短时记忆神经网络以及卷积祌 经网络的多层联合网络模型算法用于拉班舞谱中人体下肢动作的生成,联合网络 模型共包含3个卷积子网络模型和1个长短时记忆神经网络模型,最后将这个4 个子网络模型进行融合输出,这是本文的第三个创新点。需要说明的是本文是在拉 班舞谱的自动生成研究领域中,第一次研究提出釆用深度学习算法。
第五章:主要介绍拉班舞谱自动生成系统的详细设计与功能实现。具体介绍了 平台的开发过程以及用到的技术方案,并将平台自动生成的舞谱进行了展示和分 析。
第六章回顾和总结研究生期间的主要工作,最后对基于动作捕捉数据进行拉 班舞谱自动生成研究的后续工作提出建议、改进和展望。

北京交通大学硕士学位论文

 

2基于运动捕捉数据的拉班舞谱自动生成概述
拉班舞谱是世界上使用最广泛的人体动作符号记录体系,传统绘谱方式主要 是通过专家手绘完成的,运动捕捉技术的应用为拉班舞谱自动生成奠定了良好的 基础。运动捕捉技术可以精确的捕获到表演人员在三维空间中的位置并保存为文 件,称为运动捕捉数据或动作捕捉数据,研究人员可以根据动作捕捉数据进行研究 合适的算法对人体动作分析和识别,最后再使用计算机技术生成舞谱。本章主要介 绍了拉班舞谱的发展历史、应用以及运动捕捉技术和动作捕捉数据,最后介绍了根 据运动捕捉进行拉班舞谱自动生成的主要架构。
2.1拉班舞谱简介
拉班舞谱是由匈牙利人鲁道夫•拉班在20世纪20年代的时候创作发明的一 种科学完整的人体动作符号记录体系[114]。理论上它可以对人体的所有难易动作 进行准确的记录,拉班舞谱一经发明,广受舞蹈界的欢迎,目前己成功应用到其他 领域,比如运动学,物理疗法等。由于拉班舞谱是用图形符号表示的体系,全世界 通用,不会像语言沟通而带来不便。
拉班舞谱对于舞蹈界的作用,就如同乐谱对于音乐界的作用。后人可以根据乐 谱进行世界级名曲的学习和演奏。同样,舞蹈家也可以通过阅读舞谱进行舞蹈动作 的练习。拉班舞谱在舞蹈指导、舞蹈教学等扮演着重要角色,发挥着重要作用。我 国从20世纪80年代开始,在著名的舞蹈艺术家、教育家戴爱莲女士的带领下,逐 步推广和普及拉班舞谱,后来记录和出版了一大批我国的民族民间舞蹈,在国内和 国际上都引起了很大的轰动。目前,拉班舞谱己发展成为世界上最科学完整的人体 动作记录和分析系统,在国际舞蹈界发挥着重要作用。
2.1.1拉班记谱法的基本原理
拉班舞谱主要由垂直的谱面结构和拉班符号组成,谱面结构代表人的身体,谱 面结构中的中心线代表人体的中心,以此来划分人体的左右两侧。如图2-1所示是 一个最简单的垂直三线谱面结构。拉班符号代表人体的动作,与谱面结构配合起来 阅读,即是谱面结构中的每一栏代表人体的部位,谱面结构中的拉班符号代表人体 当前部位的动作。三线谱表主要记录的是人体的腿部和脚部的动作。拉班舞谱中谱 面结构通常使用的是4到11列,具体使用多少列由实际情况而定。图2-2展示了 具有11列的拉班舞谱谱面结构。除了最右边的“Head”列之外,整个舞谱的谱面 结构是呈中心对称的。中间两列是支撑栏,专门用于身体支撑部位动作的记录,通 常该部位的动作表示人体重心的移动和变化。比如行走的动作,支撑栏记录的就是 人体的腿部动作,人体在行走时腿部的变化带动人体重心的变化。除了中间两列的 其他列通常称为非支撑栏,用于身体其他部位动作的记录,比如说头部、左手臂、 右手臂的动作等。
 
 
左 右
       
  ti
C/D
a
&
£
OX)
2
%
S
       
2-1垂直三线谱表 Figure 2-1 Vertical three-line staff
2_2拉班舞谱的谱面结构 Figure 2-2 Structure of Labanotation
011
oil
目V笮一
1W 3
 
在拉班舞谱的记录中,主要使用动程线来表示身体部位的动作。竖直的动程线 的长短通常表示动作持续的时间长短。比如在图2-3中,图a展示了人体行走的步 态变化:先是右腿然后是左腿再是右腿,是匀速行走的一个过程。图b展示了右腿

的两个姿态。图C展示了人体两个手臂的姿态,先是左手臂,然后是右手臂,最后 是两个手臂同时自然下垂的姿态。
右的 手臂的姿势,
兩个姿态 左、右,然后同时
2-3动作标记样例
Figure 2-3 An example of human movements
拉班舞谱中的符号主要是以一个空间的中心点出发,向外辐射,该中心点记为 “原位”,使用一个矩形符号来表示。其他方向的符号都是以此点为参照,符号模 样是矩形的变体,每一种变体都是用形象化的图形来指代方向。拉班舞谱中共有8 个主要的方向,分别是向前、向后、向左、向右、左对角前、右对角前、左对角后、 右对角后,形象化表示如图2-4所示。除了这八个主要方向,还有3个水平的程度 来表示人体动作。用阴影充满的矩形符号,代表人体动作的水平程度,分别表示为 中位、低位和高位。简单来说,直接向上的动作记为“髙位”,也称为“原位高”; 直接向下的动作记为“低位”,也成为“原位低”。下是指想着地心引力的方向移动, 上是指远离地心引力。8个主要的方向,严格来说加上原位共是9个主要的方向, 与3个水平的程度描述,共将一个空间划分为了 27个拉班子空间,拉班舞谱中主 要使用这27个符号进行人体动作的记录和表示,符号的长度表示人体动作的持续 时间,具体的拉班符号如图2-5所示。需要说明的是拉班舞谱中不止这27个符号, 还有其他更丰富的符号用来记录人体动作,但是对于一般的用途,这基本的27个 符号以足以够用。
拉班舞谱中对于方向和水平的分析,对于身体的支撑部位与非支撑部位从一 个位置转移到另一个位置的描述的不同的,几乎是两个独立的概念。对于姿态动作 的分析,通常是分析一个固定的点,也就是动作最后的终点;对于支撑动作的分析, 需要考虑动作从哪个位置离开的,也就是关注动作的动态变化过程。
对于动态和终点的分析,可以釆用以下两种选择:一是动态是指从起点离开向 某个点移动,二是终点是指向空中某个定点移动。拉班舞谱是一种动作记录法,符 号代表动作的变化。

右高


 
 
2-4拉班舞谱水平符号
Figure 2-4 Main level symbols of Labanotation
2.1.2拉班舞谱的应用
拉班舞谱起源于舞蹈,最初的目的是为了可以在纸上进行动作的记录,以供未 来进行参考和学习。拉班舞谱具有三方面的优势,首先拉班舞谱为人体的动作提供 了可靠的分析;其次它是通过几代人精心选择而且能够被广泛应用的术语,可以在 国际上广泛交流和使而不受到任何限制;最后也是最重要的一点是拉班舞谱弥补 了人类在动作记录上的符号系统的缺失,对于动作方面的普遍理解和传播具有重 要意义。

拉班舞谱最基本的应用可以说是为舞蹈编导提供了有效的保存手段。在过去 没有统一的符号记录体系时,人类的很多舞蹈编导的智慧都无法进行有效的保存 和传承。由于动作记录系统的缺失,在今天即使我们研究了唐代的很多文献,我们 依然无法确定可以将古代的宫廷舞进行原样的复现。但是如果有可借助的舞谱记 录就不同了,人们可以依据舞谱的记录进行舞蹈风格的确定,从而可以更加准确的 按照编舞者的意愿将舞蹈进行再次重现。这样编舞者的辛勤付出和智慧的结晶就 可以永久的保存并流传后世。
即使在网络和科技很发达的今天,拉班舞谱依然发挥着电子产品不可替代的 作用。虽然现在看电视和视频都很方便,但是在纸上对动作的记录依然是最原始最 原汁原味的学习方式。拉班舞谱可以说是对电视、视频等非常好的辅助手段。我们 通过观看电视或者电影里的动作表演,这样的形式更注重于表演而缺少对动作本 质的探讨。将动作记录在纸上进行学习,相当于表演的二次创作,况且每个人对同 一段舞蹈的诠释都是不同的,一味的通过观看电影的表演而进行学习,更近乎于模 仿而缺乏了属于自己的特点。相反,通过拉班舞谱进行动作的学习,更能注意到动 作的本质属性,也更利于每个学习者个体自由的发挥自己本身的特长。因此,拉班 舞谱也是动作教育的重要工具。拉班舞谱为任何想学舞蹈动作的人提供了一个可 靠的学习方法和途径。并且,从某种意义上来说,无论是对小孩还是比较专业的舞 蹈家,拉班舞谱可以培养他们的动作观察能力。因为拉班舞谱中对人体动作的记录 使用的是非常形象的名称和符号,将表演与记谱的方式结合在一起会让观察者更 好的领会运动中的动作。
相比于视频记载,拉班舞谱更注重人体动作的细节。而很多学生在开始学习舞 蹈的时候都很容易忽略细节,或者说是观看视频不能很清晰的看到舞蹈的细节,拉 班舞谱恰恰弥补了这方面的缺点。通过拉班舞谱进行舞蹈的学习,更容易学习到一 段舞蹈的本质和特色,而这也正是舞蹈需要传承的精华之所在。拉班舞谱不仅是一 套完整的人体动作记录系统,更是为舞蹈编导、舞蹈学习提供了有力的保障,为世 界舞蹈界的交流和学习开启了崭新的大门。
2.2运动捕捉数据获取
近些年来,运动捕捉技术发展迅速,己广泛应用于电影制作、动画制作、人机 交互、虚拟现实等领域[15]。本文实验主要使用光学式的运动捕捉装置,通过多个高 清的摄像头对人体上粘贴的固定关节的标记点进行捕捉和跟踪,最终将获取的人 体运动的空间轨迹数据建立模型并保存到文件中,其中保存的人体运动模型可以 有多个类型供选择,为了不失一般性,并与之前己有的研究保持一致,本文中继续
采用具有26个关节点的树状人体三维模型进行运动捕捉数据的存储。
2.2.1运动捕捉技术
运动捕捉是通过使用可以准确测量和跟踪物体的高科技设备,跟踪获取人体 在三维空间中骨骼关节的坐标和角度信息,然后使用计算机加以计算和存储。该技 术最早是通过真人跟踪然后进行动画的制作,使动画达到更加逼真的效果。目前运 动捕捉技术己发展的比较成熟,广泛应用于除了动画之外的人机交互、虚拟现实等 领域。图2-6展示了运动捕捉技术在电影中应用的一个示例。运动捕捉装置一般由 以下几个部件组成:首先是传感器,主要用来固定在物体的特定部位,起到跟踪的 作用;其次是信号捕捉设备,一般使用的是多个髙清红外摄像头;然后是数据传输 的部分,用来将捕获到的大批量的运动数据传输到计算机系统,以供后续的分析和 存储;最后是计算机的数据处理部分,将釆集的所有运动数据按照需要存储为不同 的模型文件。目前为止应用最为广泛的是被动光学式的运动捕捉装置,其他还有机 械式、电磁式、声学式等,下面简单逐一介绍他们各自的原理以及优缺点。
2-6运动捕捉技术的应用 Figure 2-6 Application of motion capture
 
(1) 光学式。该运动捕捉装置的主要原理是通过在目标物体上粘贴特定的标 记点,然后使用高分辨率的红外摄像头进行进行捕捉和跟踪,理论上来说空间中的 任何一点,只要能同时被两台摄像机可见,就可以计算该点的空间位置。所以当摄 像机以足够高的速率拍摄时,就可以跟踪该到目标物体的空间运动轨迹。光学式运 动捕捉设备的主要特点是精度髙,表演者可活动的范围比较大,使用比较方便;缺 点是该设备的价格比较昂贵,捕捉运动后的计算处理时间相对长些,适合于科研类 的应用。
(2) 机械式。该运动装置是使用机械装备来追踪物体的运动,主要由多个关 节和连杆构成,并且关节上带有角度传感器,可以根据角度的大小来计算跟踪物体 的动作。该类运动捕捉系统的主要优点是设备成本相对较低,设备定标也简单;主 要缺点是机械的尺寸以及重量等带来的不方便问题,并且机械装置对于表演者的 动作和幅度有一定的阻碍。
(3) 电磁式。该类型的运动捕捉设备主要由发射装置、接收传感器设备和数 据处理设备这几个部件组成。发射装置按照一定的规律产生电磁场,然后在表演者 的关键部位安装传感器接收设备,传感器与数据处理单元相连接,这样就可以捕获 表演者的空间运动轨迹。该型号的运动捕捉设备主要特点是它捕获人体运动是六 维的信息,不仅有空间位置,还有方向信息;其次在于该系类统的速度比较快,实 时性较好。该类系统的主要缺点是对周围的环境要求比较严格,不能有金属类的干 扰,还有就是相比于光学式运动捕捉系统,该类系统要求表演者的活动范围比较小。
(4) 声学式。该运动捕捉装置的主要部件和电磁式运动捕捉系统相差不大, 也主要由发射装备、接收装备以及数据处理设备组成。在人体的多个部位固定发送 器,然后接收器计算收到声波的时间,三个接收器组成三角形便能够计算出发射器 的空间位置和方向。该设备的主要优点是成本较低,但是对于运动的捕捉不够精确, 时延较久。
本文中主要采用一种叫做0ptiTmck[16]的被动光学运动捕捉设备,共有18个 高清的红外摄像机进行捕捉,所以可捕捉的范围较广,精度也较为准确,表2-1列 出了系统所使用的主要参数。
OptiTrack 设备 型号 数量
硬件 图形工作站 自行组装 1
红外捕捉摄像头 Prime 41 18
软件 动作捕捉软件 Motive Body 1
软件加密锁 HDWKEY 1
  动作捕捉服 MCP1035, MCP1185 6 (套)
  交换机与电缆线 SWT1050, CBL1040 3
配件 相机云台 TRA1010 18
动态定标杆 OPTKT 1
  静态定标杆 MCP1010 1
  标志点 MCP1230, MCP1225 >88 ()
2-1 OptiTrack运动捕捉装置主要参数表
Table 2-1 Main Parameter List of OptiTrack motion capture system
 
获取运动捕捉数据的工作流程如下:
首先是表演人员穿戴特定的服装,该服装比较贴身,所以粘贴在人体关键部位 的标记点也会拟合的比较好;在表演人员准备服装的同时,工作人员进行系统硬 件以及软件的校验,包括定标、启动软件、设置指定的捕捉帧率等。表演人员准备 就绪进入捕捉区域后,手臂打开,身体自然站立,整个人
 

 
表演人员准备就绪后,与运动捕捉设备相对应的软件操作人员会为每个表演 人员建立自己的模型,模型的建立十分重要,关乎着后续运动捕捉数据的效果。一 旦模型建立失败,那么釆集到的所有运动数据都是无效的。建立好模型后,表演人 员就可以开始表演,运动捕捉设备即开始全程捕捉运动轨迹。
从表演人员的体力情况以及以防系统出现故障这两方面考虑,一般会告知表 演人员按照30分钟左右为单位进行表演,也就是说一次捕捉30分钟左右的舞蹈 动作,然后表演人员可以休息一下,与此同时电脑进行运动捕捉数据的计算,由于 运动数据一般按照每秒150帧的速度捕捉,所以30分钟的捕捉数据其实数量有一 些大,计算时长会花费几分钟,如果计算机系统性能稍高的话,计算时间会缩短一 些^计算机机处理好运动捕捉数据后,即会提示工作人员选择一种格式进行数据的 存储。可供选择存储的运动捕捉数据格式具有多种,本文中继续之前的研究,釆用 目前使用最为广泛的BVH格式的文件进行存储。下一小节会详细介绍BVH运动 捕捉数据的格式和组成。图2-8展示了运动捕捉实验室的场景,主要有18个高清 捕捉摄像头和一个台式计算机。
 

 
2.2.2运动捕捉数据
运动捕捉数据有多种格式,其中最常见的是Acclaim Skeleton File / Acclaim Motion Capture (ASF/AMC)Bio-vision Hierarchy (BVH)格式[171。由于其普 遍性,本文中使用BVH格式的动作捕捉数据帧率为150。BVH文件存储的人体 运动模型是具有26个关节节点的树状模型文件,具体的骨
 

 
BVH文件由两部分组成:第一部以HIERARCHY开头,定义人体的骨骼关 节树,以ROOT节点作为根节点,根节点的初始位置为(0, 0, 0),然后还定义

了人体每个关节的名称、通道数和当前节点相对于父关节点的偏移位置,由于篇幅 有限,图2-10展示了 BVH文件定义人体骨骼结构的一部分。除了 ROOT节点具 有6个通道外,其他节点都是3个通道。BVH文件是以欧拉角的形式记录每个节 点(除了根节点,根节点没有父节点相对于父节点的偏移变化信息。第二部分记 录人体的运动数据,如图2-11所示,首先列出了人体运动数据的长度即帧数), 以Frames关键字标识;然后还定义了每帧之间的时间间隔,以关键字“Frame Time标识;最后是根据第一部分中定义的骨骼结构规则提供每帧记录的运动数 据,即人体每个关节的位置信息和旋转信息。
HIERARCHY ROOT Hips {
OFFSET 0.000000 0.000000 0.000000
CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation JOINT Spine {
OFFSET -0.000000 7.528399 0.000000 CHANNELS 3 Zrotation Xrotation Yrotation JOINT Spinel {
OFFSET -0.000000 19.391689 0.000000 CHANNELS 3 Zrotation Xrotation Yrotation JOINT Neck {
OFFSET -0.000000 19.312054 1.755641 CHANNELS 3 Zrotation Xrotation Yrotation JOINT Head {
OFFSET -0.000000 12.853365 -1.836195 CHANNELS 3 Zrotation Xrotation Yrotation End Site {
OFFSET -0,000000 22.952436 0.000000
}
JOINT LeftShoulder
图2-10 BVH文件骨骼结构定义区展示
Figure 2-10 Skeleton structure definition area of BVH file
三维的人体模型与BVH格式定义的人体各个骨骼关节点相对应后,读取运动 捕捉的空间数据,就可再现表演人员在运动捕捉时所做的动作,从而可以实现各类 三维电影中人物角色的逼真动作。相应地,通过读取BVH格式的空间运动数据就 可以对人体的空间运动进行分析和识别。因此,BVH动作数据是拉班舞谱自动生 成研究中比较基础但非常重要的一部分,动作捕捉数据为拉班舞谱的自动转化提 供了可能。如果没有运动捕捉数据的支持,自动转化拉班舞谱的研宄将会非常困难。 只有对运动捕捉数据分析和处理透彻,才能设计到更具判别力与鲁棒性的特征,才 能更准确的对人体动作进行描述,因此也才能提高人体动作的识别准确率,生成的 拉班舞谱也才能更加准确。

MOTION
Frames; 57503
Frame Time: e.906667          
-17.956051 87.854156 -20.573942 -0.092935 -4,021017 -16.441610 -0.284951
-3.219229 -0.374251 -0,694067 5.235146 -0.334505 -6.129121 8.53B117
-7.548553 6.908385 0.363165 •6.457B99 1.017385 8,362311 12.630949
-76.551445 31.M1397 -2.593181 5.168428 -11.640322 -16.202464 16.864476
-10.360908 6.048819 1.352244 12.422218 3.950176 64.197155 12.642381
20.980978 -12.651682 -3.679989 6.017286 -16.191723 -2.951827 -1,049781
5.693888 13.907823 0.618126 -6.634319 3.319896 -1.742354 0.500450
-lfl.744122 5.339826 0.291563 -0.310197 1.171762 -3.747154 4.44B113
0.981867 -■.068756 14.172340 1.683455 3.114716 -12.401465 10.534691
-0.426265 -0.547B74 -1.824544        
-17.988697 87.884445 -26.552441 -9.082838 1 -4.042913 -1«.447200 -6.339651
-3.256885 -B.37«227 -0.650686 5.178393 -8.331231 -6.135308 8.453014
-7.558125 6.899562 0.484364 -6.470298 1.810658 8.367677 12.632534
-76.554526 31.636554 -2.549666 5.031899 -11.596999 -16.081528 IB.799737
-11.337560 6.041434 1.371197 12.457636 3.926705 64.281273 12.808565
20.986839 -11.957726 -3.688695 5.834242 -1«_253W9 -2.979976 -l.«96624
5.699711 13.951125 0.722492 -6.638745 3.284855 -1.727065 0.519828
-10.565556 5.235756 •.292776 -0.387786 1.173618 -3.744738 4.466066
6.666432 -6.086328 14,178779 1.627184 3.140680 -12.260B24 10.693231
427473 -0.615632 -l.e26252        
-18.ei56M 87.916600 -29.537969 -0.075437 -4,039682 447529 -0.369576
-3.362460 -0.367156 632222 5.133492 -6.328275 -6.133121 8.347955
-7.557751 6.886472 0.61B546 -6.473631 1.616668 8.381174 12.643600
 
 
 
2-11动作捕捉数据区(部分
Figure 2-11 Motion data of BVH File (partial)
2.3基于运动捕捉数据的拉班舞谱自动生成架构
运动捕捉技术的成熟应用为拉班舞谱的自动生成研究奠定了良好的基础,通 过运动捕捉设备可以准确获得人体在三维空间中的运动轨迹,从而进行下一步的 运动数据的分析和识别。本文中主要研究的是基于己分割好的人体各个部位动作 的识别,识别出的人体动作类别与拉班舞谱中的符号是一一对应的,最后根据识别 结果进行拉班舞谱的绘制,从而实现端到端的从动作捕捉数据到舞谱的自动转化, 为记录和保护我国的传统民族民间舞蹈提供了一种高效的工具,同时为我国传统 文化的传播和传承提供了有力的保障。图2-12展示了基于动作捕捉数据自动生成 拉班舞谱的架构图。
目前拉班舞谱的自动生成研究在世界范围内还刚刚起步,主流方法有以下几 种:首先是日本立命馆大学提出的基于三维空间映射分析的方法[1'根据一定的规 则将人体动作映射到拉班子空间中,但是他们的方法只研究了上肢动作的识别,对 于更复杂的下肢动作并不能应用。然后是泰国的相关研究人员提出的基于规则的 方法[11],这两种方法都是使用固定的参数,灵活性不足,只适用于比较规整的舞蹈 动作。周[18]提出了基于动态规划DTW)的模板匹配方法,方法的核心思想是预 先在数据库中存储充足的各类动作模板,然后将要识别的人体动作逐一与数据库 中的模板进行匹配,输出匹配度最高的那个模板动作的类别。该方法的主要优点是 实现简单,速度较快,但是缺点是需要充足的模板,并且每个人的身高体重都不一 样,同样的动作不同的人所做的幅度也不同,所以基于模板匹配的方法不具有普适 性,从而限制了它的应用。李[191等人提出了基于高斯混合模型GMM)与马尔科 夫模型HMM)的方法,该方法的优点在于马尔科夫的自动寻优决策,相较于上



 
上面提出的几种方法取得的效果要好一些。但是当人体动作在很长时间内变得复 杂或者相关时,就不满足马尔科夫假设了,并且当动作的类别很多时,由于该方法 要为每一种动作类别训练一个马尔科夫模型,会导致时间成本非常高。
需要说明的是,基于动作捕捉数据的拉班舞谱自动生成研究与基于骨架信息 的行为识别研宄有一定的关系。从本质上来说,本文的研究工作与基于骨骼结构的 行为识别都是通过分析人体的关节位置来从而来识别人体的动作。不同的是,本文 的研究工作主要集中在人体运动的属性,例如手臂运动幅度的大小。行为识别主要 集中在人体运动的语义上,例如人体所做的动作是喝水或是打拳。目前,许多基于 长短时记忆神经网络LSTM)和卷积神经网络ConvNet) [2()_25]的方法在行为识 别中表现出了很卓越的性能。这些方法通过提取空间和时间特征,然后将多个 LSTMConvNet模型或多个ConvNet模型进行融合,实现了较好的效果,但是 同时这样多个模型的融合会导致整个网络结构非常庞大和耗时。在自动生成拉班 舞谱的研究中,本文提出了一种简单且高效的方法。因此,本文也会将提出的方法 与目前比较先进的行为识别方法进行比较。
2.4本章小结
本章节主要介绍了基于动作捕捉数据进行舞谱自动生成的相关知识。其中首 先介绍了拉班舞谱的相关规则,包括拉班舞谱的谱面结构、记谱的主要符号、拉班 记谱法的基本原理以及目前拉班舞谱的主要应用,确定了拉班舞谱对于记录和保 护我国传统民族民间舞蹈的重要意义;然后介绍了运动捕捉技术,包括多种形式的 运动捕捉系统的原理以及它们各自的优缺点,还详细介绍了本文中所采用的运动 捕捉实验设备的具体使用流程,并且还分析了运动捕捉数据的存储格式;最后详细 研究和分析了基于动捕数据进行拉班舞谱自动生成研究的目前主流方法的核心思 想以及他们各自的优缺点,同时指出本文的创新点是人体骨骼节点向量特征的设 计以及拉班舞谱生成中的两种高效的人体动作识别算法的提出。

3基于上肢姿态识别的舞谱生成算法
本章节将详细介绍拉班舞谱自动生成中的人体动作表示以及上肢动作的舞谱 生成算法。由于以欧拉角形式存储的人体运动捕捉数据对于人体动作的表示不够 直观,所以本文首先进行运动捕捉数据的分析和转换,转换为世界坐标系下的人体 三维空间坐标。其次,原始人体运动的三维坐标信息含有大量的噪音并且对于不同 类型的人体所做的动作不具有鲁棒性,本文设计出符合人体运动特点以及人体拓 扑结构的特征,为后续的动作识别提供了良好的基础。另外,拉班舞谱中对于上肢 动作的分析一般只关注动作最后停留的位置,也就是最后的姿态,而不用关注动作 的动态变化过程,基于这一特点,本文提出一种简单且高效的极限学习网络方法用 于拉班舞谱生成中的上肢姿态分析和识别。
本章节将首先介绍运动捕捉数据的转换以及本文提出的人体骨骼特征设计, 然后介绍基于拉班空间理论的识别方法以及本文提出的简单且快速的基于极限学 习的上肢姿态识别算法,最后介绍本文设计的特征与己有的其他特征的实验比较 以及不同的上肢姿态识别算法取得的识别准确率的比较和分析。
3.1人体骨骼特征设计
运动捕捉数据可以准确的记录人体在空间中的运动轨迹,但是直接使用欧拉 角形式的运动捕捉数据对于动作的分析不够直观,需要将原始的运动捕捉数据转 换为世界坐标系下的空间位置坐标数据。世界坐标系下的人体动作空间位置可以 比较直观的反应人体的动作,但是具有以下四个缺点:首先是原始数据含有大量的 噪音,直接使用会对人体动作的识别造成干扰;其次是世界坐标系下的人体动作位 置只是孤立的节点坐标,缺乏节点与节点之间的关系表示以及人体动作的方向信 息;然后是由于每个人的身高体型都不同,原始的空间位置坐标对于不同体型的人 所做的动作不具有鲁棒性;最后是原始的数据只有空间位置坐标,缺乏人体运动的 帧间关系的速度变化信息。
通过上述对原始动作捕捉数据的分析,本文首次提出设计符合人体拓扑结构 的骨骼节点向量特征。我们在一个公开的数据集上将本文提出的骨骼特征的有效 性进行了验证。接下来首先介绍动作捕捉数据的转换,然后介绍符合人体骨骼拓扑 结构的骨骼特征设计和提取。图3-1展示了从动作捕捉数据提取人体骨骼特征的框 架。
 

 
3.1.1运动捕捉数据转换
原始的运动捕捉数据以欧拉角的形式存储人体运动数据,欧拉角是由欧拉提 出的的三个角度,用于描述刚体相对于固定坐标系的方向[26]。它们还可以表示物 理中一个移动物体相对于参照系的方位。空间中的任何一个方位都可以由三个基 本的相对于坐标系的旋转角度构成,欧拉角也可以使用这些旋转角进行定义。欧拉 角通常使用章动角0、进动角<p以及自转角j来表示,分别表示相对于XYZ轴的旋 转角度。当然这三个轴的排列顺序不同对于最后的结果也不一样。上一章节中通过 对运动捕获数据的分析,由BVH文件中Channels通道的定义,我们发现本文 中釆用的形式是沿着ZXY的旋转顺序,也就是说先是沿着Z轴的旋转角度,然后是 沿着X轴的旋转角度,最后是沿着Y轴的旋转角度。
欧拉角的定义中包含着不同的坐标系,在介绍如何将欧拉角形式的运动捕捉 数据进行转换时,我们首先需要介绍三种不同三维空间中坐标系的区别及联系。
(1) 世界坐标系。该坐标系可以说是最大的坐标系,它几乎可以包容所有的 坐标系,因此其他的坐标系都是以该坐标系作为参考,它可以刻画所有想刻画的实 体坐标,通常也称之为全局坐标系。但是描述一个物体在该坐标系下的位置时,首 先需要确定一个原点坐标,比如在进行动作捕捉数据的获取时,需要先进行定标的 操作,一般以场地的正中心作为原点坐标。另外,平时生活中所说的是东西方向还 是南北方向,指的就是世界坐标系下的方向。
(2) 物体坐标系。该坐标系是指以对象本身作为原点参考,也称为局部坐标 系。每一个物体都是自己的坐标系,它并不像世界坐标系那样是永远不变的,而是 在物体移动的同时跟随着改变。如图3-2所示,不论物体在世界坐标系中处于何种 位置,物体坐标系都是跟物体本身紧紧绑定在一起。当我们走到一个路口时,指示 牌告诉我们想向前走还是向左转弯等,即是该坐标系下的方向,以我们自己身体作 为参照。
 
3-2物体坐标系 Figure 3-2 Object coordinate system
 
(3) 惯性坐标系。该坐标系处于全局坐标系与物体坐标系的中间,主要用来 辅助全局坐标系与物体坐标系之间的过渡。该坐标系的原点一般情况下是与物体 坐标系的原点重合,并且它的轴平行于全局坐标系的轴。因此在惯性坐标系的辅助 下,大大简化了物体坐标系与全局坐标系之间的转换,只需先进行一个旋转操作将 物体坐标系变换到惯性坐标系,再进行一个平移操作将惯性坐标系转换到全局标 系就能完成,相比于组合的复杂变换容易很多。
从上面的介绍可以得出结论,由欧拉角计算空间中一个物体在世界坐标系下 的位置时,首先需要进行一个旋转操作,假设旋转矩阵用表示,BVH模型文件中 任意一个非根节点I的初始偏移位置为它的父节点P的位置为cp,yp,zp), 在经过一个旋转之后,节点I相对于父节点p的位置为(Xi,yi,Zi),那么节点I的新位 置就可以由以下的计算公式得到:
(xliyltz1) = R • (x〇,y〇,2〇) (3-1)
上文中已提到根据BVH文件中Channels通道的定义,我们知道BVH文件 中采用的存储形式是沿着ZXY的旋转顺序,那么旋转矩阵即可由以下公式得到
R= RZRX Ry (3-2)

其中心、心、心分别是沿Z轴、X轴、Y轴旋转得到的旋转矩阵,可由以下公式
表示:
(3-3)
(3-4) (3-5)
然而,由于树状人体关节点的层次性,当前关节点的坐标不仅只受其直接父节 点旋转的影响,而且受其所有父节点共同旋转的影响。假设】的所有父节点的旋转矩 阵是心,,…/?m,那么节点I的位置偏移计算公式应该是:
OiJiA) = (/?m • (…(& _ (x0,y0,z。)))))
由此,我们可以获得任何节点相对于该坐标系中的父节点的偏移量,并且可以 进一步计算得到每个节点的位置坐标。假设人体关节链中的任何节点及其所有前驱 节点是,…人,其中/r■表示根节点,这些节点相对于他们父节点的偏移量是 (根节点没有父节点)。假设心^为世界坐标系中根节点的坐标,那 么该坐标系中节点的坐标表示为:
P = Proot + r~l + !-〇! + 0〇 (3-7)
经过以上计算,即可将欧拉角形式存储的运动捕捉数据转换为世界坐标系下的 三维人体空间运动数据。
3.1.2骨骼节点向量特征描述
直接使用3D空间位置数据并不利于人体舞蹈动作的分析和识别,因为原始数 据仅仅是人体每个单独的关节节点的位置,缺少节点与节点之间的关系表示。另外 一个原因是,原始数据通常包含有大量噪声,对于动作的识别一般会有阻碍作用。 相反,判别性高的特征对于动作识别的有效性有着显著提高作用。因此,为了更好 地表示人体动作,我们从转换后的运动捕捉数据中提取简单但辨别力很高的特征。
在第二章节对运动捕捉数据介绍时我们提出过本文使用的运动捕捉数据的帧 速率是每秒150帧,本文中所使用的舞蹈动作片段长度一般是98到168帧。如果 我们使用整个运动序列作为上肢运动的表示,不仅计算速度将降低,而且有一些帧
还会起到干扰作用。结合拉班舞谱对上肢运动的记谱特点,本文提出的比较好的解 决方案是选择最后20帧来表示上肢运动最终的姿势。对于下肢动作,本文提出的 解决方案是下采样到20帧,以便于特征的提取和分析。需要强调的是下肢动作的 20帧是间隔釆样,以保持动作的动态变化过程,而不是像上肢动作那样只保留最后 20帧,这样的设计与拉班舞谱中对于下肢动作的记录需要关注动作的动态变化过 程也是一致的。在这样的情况下,连续帧之间的间隔不超过0.07秒,这样的时间长 度足够表示一个舞蹈动作。
 
   
下面将详细介绍人体骨骼拓扑结构特征的设计以及提取方法。在2.2.2小节介 绍运动捕捉数据时提出过本文所使用的人体模型是由26个关节节点组成的树状结 构,本文提出将胳膊和腿各自相邻的关节节点进行连接形成骨架,骨架的定义方式 是一个矢量,具体如图3-3所示。接下来以下肢动作的特征提取为例进行本文提出 的骨骼特征计算方式的介绍。
假设左腿的关节节点集合用=仪1,1(2,1(3,14,1^}表示,右腿的关节节点集 合用r妙/={/?1,/12,1?3,及4,及5,}表示,定义的左右腿的骨骼向量分别为1跑:阶= /?i;ector= {6^112,63, ft4},[vector/Sector的计算方式为:
、 、 丨)
其中 i = l,_“f4 并且/ = i + l
上述特征可以比较完整的展示人体相邻关节点在空间中的位置以及关系,但是 缺乏一个骨骼序列中当前节点与其他节点之间的关系,并且缺少帧与帧之间的速率

信息,所以为了增加这两种表示,本文又引入了以下两种特征。
假设^表示人体骨骼序列中第i个节点的三维坐标,则该节点与其他节点j在第 t帧的相对位置为[22]:
RPij ^Pi-Pp (3-9)
一个动作片段中,两个连续帧之间变化的速度信息为[22]:
= Pi - Pi'1 (3-10)
上肢运动特征的提取原理与下肢运动类似,所以这里就不再赘述。需要指出的 是,本文设计的人体骨架特征不再是空间中关节节点的孤立位置,而是节点与节点 组成的骨骼矢量,增加了节点与节点之间的关系表示,并且增加了动作的速率信息 的表示。另外,本文提出设计的特征向量与人体的拓扑结构一致,可以更加准确地 表示人体运动的变化。因此,提出的骨骼特征便于计算,效率更高。
3.2上肢动作分析与识别
拉班舞谱中对于上肢动作的记录规则是主要关注动作最后的姿态,也就是说 无论动作从哪里来,拉班舞谱对于上肢动作的记录就是看动作最后停在哪个位置, 然后记录相对应的拉班符号。
目前己有的基于三维空间分析[1()]以及基于规则[11]的上肢动作识别方法都是釆 用固定的参数,该类方法灵活性不足,只能识别比较规整和标准的舞蹈动作。由于 同一个动作不同高矮胖痩的人所做的幅度都不一样,所以使用固定参数的方法对 人体动作的识别准确率不够高。对于上肢动作的分析主要关注动作最后的姿态,并 且上肢动作的样本片段只有400多个,不适合于层次很深很复杂的网络结构。通 过分析,本文提出了釆用一种简单但高效的极限学习网络算法用于上肢动作识别。 接下来将详细讨论基于拉班空间理论算法以及于极限学习算法(Extreme Learning Machine,ELM)的人体上肢动作的分析与识别过程。
3.2.1基于拉班空间理论的识别算法
在本文2.1章节介绍过拉班舞谱中共分为9个水平方向以及3个垂直方向,这 样共组成了9 * 3 = 27个拉班符号。拉班空间理论的核心思想便是从这里衍生的, 即将这27个拉班符号根据他们的规则映射到27个拉班子空间中。通过对人体动 作所属的拉班空间的分析,即可计算出该动作所属的拉班符号。图3-4展示了拉班 空间理论的水分方向划分示意图,其中Z轴的正方向与人体的水平方向的正前方 是一致的。图3-5展示了拉班空间理论的垂直程度划分图。

34拉班水平方向空间 3-5拉班垂直空间
Figure 3-4 Horizontal subspace of Labanotation Figure 3-5 Vertical subspace of Labanotation
拉班空间理论的动作识别算法的具体执行流程是这样的
在对一个上肢动作进行分析时,首先用人体骨骼的末端节点减去根节点,得到 个向量V
计算向量V的水平分量与Z轴的夹角,记为CX然后根据CX的值获得动作对应于 拉班舞谱中的水平方向符号。具体a值与拉班水分方向符号的映射关系如表3-1
/J\
3_1上肢动作水平方向夹角与拉班符号映射关系表
Table 3-1 Upper limb movement horizontal direction angle and Laban symbol mapping
水平方向夹角dl 拉班符号
(-22.5° ,22.5°) 正前
(22.5°, 67.5°) 左前
(67.5°, 112.5°) 正左
(112.5°, 157.5°) 左后
(157.5°, 180°) U ( -180°, -157.5°) 正后
(-157.5°, -112.5°) 右后
(-112.5°,  67.5。) 正右
(-67.5°, _ 22,5。) 右前
 
 
 
计算向量VY轴的夹角p计算公式如下:

 
   
P =咖-1 Q
其中Vy表示向量VY轴的分量,夹角p的取值与拉班垂直程度的定义关系如
下:
(p<f
垂直程度中位P (3-12)
[im, p>y
经过以上步骤,即可判定上肢动作所属的拉班子空间,即可获得该动作所对应 的拉班舞谱符号。
3.2.2基于极限学习机的识别算法
极限学习机算法[27,28]是由新加坡南阳理工大学的黄广斌教授提出的一种广义 单隐层前馈神经网络。该算法的主要特点是输入层与隐层之间的连接权重可以随机 分配而不用迭代调整,这样的特点使得整个网络的训练速度非常快,比较适合于对 时间要求严格,并且场景不是很复杂的识别任务。由于拉班舞谱中上肢动作的样本 不是很足,对于复杂网络来说容易发生过拟合,并且复杂网络的学习性能在样本少 的情况下不能充分的发挥,因此本文提出使用简单且髙效的极限学习算法用于拉班 舞谱中上肢动作的生成,框架图如图3-6所示。接下来我们将首先介绍极限学习算 法的网络结构、原理,再介绍极限学习算法应用于拉班舞谱中人体上肢动作识别的 实现过程以及本文提出使用极限学习算法的高效性。
 

输入层与隐层之间的连接权重和偏差不用迭代调整的优势,使得极限学习算法 的整个网络结构比较清晰明了,并且网络层数也不深。极限学习的网络结构如图3- 7所示。假设输入特征的维度是并且有K类上肢动作,极限学习机的隐层节点的
3-7 ELM网络结构 Figure 3-7 Structure of ELM netwoik
个数为八给定L个上肢动作样本,有以及yie,。第心l个隐层 节点的输出用+ 表示,g是非线性激活函数,%是输入 单元与隐层单元^之间的连接权重,b7•是隐层单元^的偏差。输入层到隐藏层的 起到的是一个特征映射的作用,将输入的特征从W维空间映射到P维空间,映射矩 阵可以表示为
= [gkWhW g(x;wp, bp)] (3-13)
在极限学习网络的训练过程中,本文使用Multiquadric函数作为激活函数,定 义为如下:
gix\ w0 bi) = 7l + (^-+ bi)2 (3-14)
假设输出层节点总数为欠,该数是与上肢动作的类别数一致的。第人^个隐层节 点与第mth个输出节点的连接权重使用&m表示,则对于输出单元的值可以使用如 下公式计算:
p
km(x) = ^ Pimg(x; wp bj) (3-15)
;=i
对于输入的特征向量JC它的输出值计算方式为:
k⑻=[fci(x),…,fcM〇〇] = /i(x)p



其中
3_14公式由最小二乘法求解[29]:
/? = H+Y (3-19)
其中H+是矩阵H的摩尔广逆阵[28]
综合来说,极限学习网络的训练过程如下:
(1)  给定训练样本,激活函数为g(〇,网络的隐层节点数为M。
(2) 使用正态分布随机初始化隐层节点参数:输入层与隐层的连接权重和 偏差其中i = l,…M。
(3) 计算出矩阵H。
(4) 使用一些优化方式计算输出权重p的值^
3.3实验结果对比与分析
在进行实验结果的对比与分析之前,首先介绍用于实验结果的评判标准。通过 上文对拉班舞谱自动生成流程的介绍和分析,我们知道拉班舞谱符号的准确与否 在于对人体动作的识别是否准确。识别算法对人体动作识别的越准确,拉班舞谱绘 制的自然也就更加符合要求。所以本文对实验结果的分析主要是针对算法对人体

动作识别的准确率来进行的。识别准确率的计算方式如下:
实验中共釆集了 400多段上肢动作舞蹈,其中左臂动作232段,右臂动作222 段,每个片段200帧左右,故整个数据集有几万帧左右。本文实验中将50%的样 本用于训练,另外50%的数据用于测试,并且取10次实验结果的平均值作为最终 的结果。
(1) 提出的骨骼特征与人体朝向归一化特征的比较 首先将提出的骨骼节点向量特征与李[19]中提取的人体朝向归一化处理的特征 在同一个极限学习网络上进行人体上肢动作的识别准确率比较,结果如表格3-2所 示。FeatureA表示原始动作数据,FeatureB表示加入人体朝向归一化处理的特征, Feature C表示人体其他节点相对于原始节点的骨骼特征,Feature D是进行了人体
朝向归一化处理的相对于原始节点的骨骼特征。通过表格3-2可以看到,本文设计

的骨骼特征取得了最好的识别结果,达到了 94%左右的识别准确率,比李[19]提取
设计的特征提升了 2%左右,充分证实了本文提出的骨骼节点向量特征的有效性。
表3-2不同特征实验比较
Table 3-2 Comparison of different features

(2) 
 
   
基于上肢姿态识别的极限学习方法与其他方法的比较 然后进行了不同识别算法使用本文提取的特征在上肢动作识别实验上的比较。 通过表格3-3可以看到,基于极限学习的算法比基于拉班空间理论的方法在动作识 别的准确率上高了大约15个百分点,说明相比于传统固定参数的方法,极限学习 网络可以更全面的学习人体动作信息,取得的识别准确率也更高。传统的拉班空间 理论算法,它对比较规范的舞蹈动作有效,而现实中每个人所做的舞蹈动作都不一 致,舞蹈动作幅度很难标准,所以这也就导致了这种算法的准确率不是很高,不适 合于实际应用。即使是和目前认为比较完美的支持向量机算法比较,极限学习算法 依然取得了不错的成绩,比基于支持向量机的算法高出了 2%左右,并且极限学习 算法训练起来简单方便,收敛速度很快,非常适合于有实时或者近实时计算任务的 要求。对于拉班舞谱中上肢动作的记录只关注最后的姿态,并且目前上肢动作样本 数不是很足的情况下,本文提出的基于极限学习网络的上肢姿态识别算法充分发 挥了其高效性。
表3-3上肢动作实验识别准确率比较
Table 3-2 Comparison of recognition accuracy for upper limb movements
识别算法 左臂 右臂 平均
基于拉班空间理论[1()] 78.52% 77.84% 78.18%
基于支持向量机 86.52% 85.98% 86.25%
基于极限学习算法 93.68% 94.35% 94.02%
 
 
 
3.4本章小结

本章首先介绍了以欧拉角形式存储的运动捕捉数据到世界坐标系下的三维运 动数据的转换的必要性以及具体的转换方式,然后介绍了本文设计的从三维运动 数据中提取的符合人体拓扑结构的骨骼特征的原理以及提取方式,最后详细介绍 了基于拉班空间理论以及基于极限学习算法的人体上肢动作识别过程,并且详细 分析了本文提取的特征与己有的特征的实验比较和分析以及不同动作识别算法取 得的实验结果的分析和比较。通过比较和分析,首先验证了本文提出的骨骼节点向 量特征可以更准确的对人体动作进行描述,更具鲁棒性和普适性;然后验证了本文 提出的基于上肢姿态识别的极限学习算法在拉班舞谱自动生成中人体上肢动作生 成的高效性。

 

4基于下肢动作识别的舞谱生成算法
本章节主要研究拉班舞谱中比上肢姿态识别更复杂的人体下肢动作的分析和 识别。由于拉班舞谱中对于下肢动作的记谱需要关注动作的动态变化过程,所以我 们在处理下肢动作样本时是每个样本间隔取总数20帧而不是像上肢动作那样只取 最后的20帧。间隔取20帧既能够保持动作的动态变化过程又可以加快数据的处 理速度,具体的骨骼节点向量特征的提取方式在上一章节己详细描述,本章将详细 介绍拉班舞谱中人体下肢动作的生成算法。
目前己有的舞谱下肢动作生成算法主要是基于动态时间规整(DTW)的模板 匹配方法[18]以及基于隐马尔科夫模型(HMM)的方法[19]。基于DTW的模板匹配 方法的核心思想是预先在数据库中存储各种类型的动作模板,然后将欲识别的动 作与数据库中的模板一一匹配,输出匹配度最高的那个模板的类别。该方法的缺陷 是首先需要大量的动作模板,其次由于每个人的身高体重都不同,对同一个动作所 做的幅度也不一样,所以该方法不具有普适性,从而限制了它的应用。基于HMM 的方法主要在于隐马尔科夫的自动寻优决策,所以他比基于DTW的方法取得的识 别准确率要高一些,但是该方法需要为为每一类的人体动作都训练一个隐马尔科 夫模型,非常耗时,尤其是在动作类别增大的时候耗时的增长更为显著。在拉班舞 谱自动生成的任务中,我们希望找到一种既快速又非常高效的方法。
对于舞谱记录中下肢动作的动态变化特点,本文首次提出使用目前非常强大 的深度学习算法:卷积神经网络(CcmvNet) [3G]、长短时记忆神经网络(LSTM) [31]以及多层联合网络模型进行基于运动捕捉数据的下肢动作舞谱生成。接下来将 详细介绍使用这几种算法进行下肢动作识别的原理以及实验分析。
4.1基于长短时记忆神经网络的识别算法
拉班舞谱中对于下肢动作的分析注重动作的动态变化过程,而LSTM网络依 靠其本身特殊的门控制,可以非常好的捕捉到时序数据中的上下文关系。因此本文 分析提出基于LSTM网络进行下肢动作的识别。本节将首先介绍LSTM网络的原 理,然后介绍提出的基于LSTM网络的下肢动作舞谱生成算法,最后介绍提出的 方法与其他识别算法的实验比较和分析。通过与己有的基于DTW的模板匹配方法 [18]、基于HMM的方法[19]以及基于LSTM的变体GRU[41^识别方法在实验结果 上的比较和分析,验证了提出的基于LSTM网络的方法在处理动态时序数据上的 优越性,在拉班舞谱中下肢动作生成的高效性。

4.1.1长短时记忆神经网络简介
循环神经网络RNN) [32,33]是一种很擅长处理时序数据的神经网络,它的当 前层不仅输出给下一层,还会输出一个状态用于给它本身,用作处理下一个样本数 据时使用。类似卷积神经网络能够很方便地处理不同宽度和髙度的图像,递归神经 网络可以扩展到很长的序列数据,而且很多递归神经网络可以处理任意固定长度 的序列数据。递归神经网络的结构使得它可以天然处理具有上下文关系的数据,因 为递归的结构可以方便的捕捉上下文之间的依赖,这点在语音识别领域[5+56]尤其 有效,取得了非常不错的效果。但是当上下文之间的关系距离t很长或者是特别短 时,普通的RNN网络便不再能捕获到相关信息,原因是损失函数关于t时刻隐层 变量的梯度很容易出现梯度消失或者梯度爆炸的问题[34,35]

由此,在1997年RNN网络结构的变体LSTM[311便提出用于解决上述所说的 梯度爆炸或者梯度消失的问题。LSTM网络结构主要是由一些“门”单元组成,包 括一个核心自连接单元、输入门、输出门以及遗忘门。这些“门”单元分别控制着 有效信息的保留以及无效信息的去除。图4_1展示了一个LSTM单元的内部结构 图。
每一个LSTM单元在时刻/都有一个记忆单元,它的状态用表示,三个 sigmoid函数门:输入门P,忘记门尸和输出门^用来控制着对核心单元^信息的阅 读或者修改。通常来说。对于在时刻f的一个LSTM单元信息的更新方式为:
+ W^h^1 + W^1 + bt) (4-1)
^ + Whfh^ + Wcfc^ + bf) (4-2)
= <WX0xl + Whoh^x + WCQc1^ + b0)

cl = /tct_1 + iz tan hflVxcX1 + W^h^1 + bc) (4-4)
hl = ottanh(ct) (4-5)
其中d(〇表示sigmoid函数,/表示在时刻t的输入向量,V表示在时刻t以及 之前时刻的所有用价值信息的输出,所有的W矩阵表示两个节点之间的连接权重, iy, i)。,\表示偏差向量。
4.1.2基于长短时记忆神经网络的动作识别
上文说到拉班舞谱中对于下肢动作的生成需要关注人体动作的动态变化过程, 而LSTM的网络结构恰好非常适合处理这类具有上下文关系的时序问题。近年来, 递归神经网络在特征表示和动态时序建模中表现出非常优越的性能,比如语音处 理和行为识别领域[3M9]。本文在综合LSTM的网络结构以及拉班舞谱中对于下肢 动作的记谱原理这两个特点,提出使用基于LSTM网络的算法进行人体下肢动作 的识别。图4-2展示了基于LSTM网络结构进行人体下肢动作识别的框架。
 
4-2基于LSTM网络的下肢动作识别架构 Figure 4-2 Lower limb motion recognition structure based on LSTM network
 
本文提出的基于LSTM网络结构的人体下肢动作识别方法包含两层LSTM层 以及一层全连接层。LSTM神经网络层的主要作用是学习输入信息,选择和保留有 价值的信息并丢弃无用的信息。同样,为了防止过度拟合,在第一个LSTM层之 后添加一个drojiout层。最后一层是全连接层,激活函数使用比较广泛的SoftMax 函数,预测输出的是对人体动作所属各个类别的概率值。在整个网络的训练过程, dropout值设定为0.25,学习速率为0.01batch size设定为128, LSTM层的单元 节点数设定为128,本文使用Adam[4()]优化算法作为网络的优化器,整个网络的目 标函数也是使用的最小化交叉熵损失Cross-entropyLossFunction)函数。网络在 迭代50次左右即收敛了,速度非常快,并且取得了相当不错的成绩。图4-3显示 了 LSTM网络的结构图。
 
4-3 LSTM网络架构图 Figure 4-3 LSTM network structure
 
4.1.3实验结果与分析
本文在两个公开的人体下肢运动捕捉数据集上进行了提出的基于LSTM的下 肢动作识别方法的验证,下面首先介绍这两个数据集。
(1) 数据集A:该数据集是由[19]提出的,共包含16类人体下肢动作,每个类 别的动作样本有400个,也就是说该数据集样本总数为6400个。每一个样本长度 为20侦,最终整个数据集共有128000帧。另外需要说明的是该数据集的动作幅 度全部是拉班舞谱中的中位动作,并没有包含低位和高位动作。主要动作类别是对 应于拉班舞谱中中位的8个动作,分别是正前、正后、左前、左后、右前、右后、 左斜前、左斜后方向。
(2) 数据集B:该数据集是本文在数据集A的基础上进行建立和扩充的,丰 富了拉班舞谱中的低位和高位动作,共包含有48类人体动作,并且与数据集A中 的样本分布保持一致,都是釆用的均匀分布,去除了可能由样本类别分布不平衡带 来的识别准确率不置信的问题。最终该数据集共包含有19200个样本,共384000 帧。
接下来介绍实验中在两个数据集上的网络参数设置。表格4-1列出了基于 LSTM下肢识别方法的参数设计。通过该表格可以看出,基于LSTM的识别方法
在数据集A上和数据集B上使用的是同一个网络结构,网络的参数设置在两个数 据集上也是完全一样,可以一个网络结构适用于不同的数据集,说明该网络的泛化 性能非常好。
表4-1基于LSTM网络的下肢动作实验参数设计 Table 4-1 Parameter design of lower limb movement experiment based on LSTM
网络模型 数据集 隐层节点数 dropout 学习率 Epochs
LSTM 数据集A 128 0.25 0.01 45
LSTM 数据集B 128 0.25 0.01 45
 
 
 
表格4-2展示了基于LSTM网络的下肢动作识别方法与基于DTW的模板匹 配方法[18]以及与基于hmm[19]的方法的实验结果的比较。通过表格可以看出,在具 有6400个样本的数据集A上,本文提出的基于LSTM神经网络的方法比传统的 基于DTW的模板匹配方法取得的识别准确率高了 14%左右,比基于HMM的方 法高了 4%左右,充分证明了深度学习方法与传统方法相比在特征表示和学习方面 的优越性。在数据样本扩增为是数据集A样本总数的3倍时,基于DTW的模板 匹配方法取得的识别准确率很低,说明了该方法不适合于广泛应用。本文提出的基 于LSTM网络的方法在数据集B上平均识别准确率达到了 94.23%,相比于之前的 方法取得了相当不错的提升,充分展示了 LSTM网络在捕捉时序序列动态变化上 的优势。另外,本文中也增加LSTM变体的实验。基于LSTM的识别算法比基于 RNN的识别算法取得的识别准确率高了 3%左右,比基于GRU的识别算法高了 1.5%左右,展现了 LSTM算法在舞谱生成中下肢动作识别上的高效性。
表4-2基于LSTM的下肢动作实验结果比较 Table 4-2 Comparison of lower limb movements based on LSTM
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW [18] 80.36% 77.17% 62.56% 59.38%
HMM [19] 90.05% 90.82% 90.31% 89.25%
RNN [33] 89.90% 91.13% 90.46% 92.11%
GRU [41] 92.86% 94.55% 91.81% 92.0%
LSTM 94.23% 94.62% 93.43% 95.02%
 
 
 
由于在拉班舞谱自动生成任务中,我们不仅希望方法的识别结果很准确,同时 也希望方法的耗时可以尽量短一些。所以本文进行提出的基于LSTM网络的识别

方法与基于DTW的模板匹配方法、基于HMM的方法在时间性能上的比较。表格 4-3展示了各个方法的耗时比较。根据表格可以看出,提出的基于LSTM的识别方 法耗时最短,基于DTW的模板匹配方法的耗时比提出的方法耗时稍微多一些,但 是它们的识别准确率很低;基于HMM的方法由于要为每类的动作类别都训练一 个马尔科夫模型导致耗时很久,尤其在动作的类别和数量增大时,耗时长久非常明 显。在具有9600个样本的数据集B上,基于HMM的方法的耗时是本文提出的基 于LSTM方法的23倍左右,由此可以看出本文提出的基于LSTM的识别方法无论 在耗时还是识别准确率上都比之前的方法取得了很大的提升。与基于RNN[33]的方 法相比,虽然基于RNN的识别算法耗时很少,但是结合上个表格可以看出该方法 取得的识别准确率不如提出的基于LSTM的方法的识别准确率高。相比于GRU算 法[41]的耗时,本文提出的基于LSTM的算法在数据集A上两者的耗时差不多,但 是在具有更大样本的数据集B上,本文提出的方法耗时更少一些。因此,综合从 识别准确率和耗时上来看,提出的基于LSTM的识别算法取得的效果最优。
表4-3基于LSTM的下肢动作实验耗时比较 Table 4-3 Time-consuming comparison of lower limb movements based on LSTM
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW [18] 167s 175s 513s 498s
HMM [191 1103s 1087s 5032s 5086s
rnn[33] 39.80s 39.47s 114.25s 114.19s
GRU【41] 123.93s 118.80s 354.89s 355.65s
LSTM 114.48s 114.49s 219.87s 220.10s
 
 
 
4.2基于卷积神经网络的识别算法
基于LSTM的下肢动作识别算法在处理序列数据时具有天然的优势,可以非 常好的捕获时序数据的上下文关系,但是在空间信息上的捕捉却不是很充分。因此, 本文提出非常善于学习动作空间信息的卷积神经网络(CorwNet)进行人体下肢动 作的舞谱生成算法,ConvNet网络最大的特点在于它的共享机制以及独有的卷积操 作。该网络对于空间信息的学习很充分,从而达到分类和识别的效果也非常好。接 下来将首先介绍ConvNet网络的结构原理,然后对提出的基于ConvNet的下肢动 作识别方法进行一个全面的介绍,最后是对提出的方法与其他方法的实验比较和 分析的介绍。

4.2.1卷积神经网络算法简介
卷积神经网络是由LeCun[3()]提出的种特殊的深度前馈神经网络,主要特点 体现于它的网络结构中具有不同于其他网络的卷积计算,是目前比较火的深度学 习[42,43]的代表性算法之,在图像处理[44,6()]、目标检测[45,571、行为识别[58]、自然语 言处理[59]等领域都取得了非凡的成就。
总体来看,卷积神经网络的组成结构和其他神经网络结构类似,都是由输入层、 隐藏层、输出层组成,下面将详细介绍各个部分。
(1) 输入层:卷积神经网络的输入层通常可以接收多维数据,最常用的是一 维语音输入和二维图片输入,二维图片输入一般还可以包括几个通道,目前也有三 维卷积神经网络可以接收四维数组的输入。一般在将样本数据输送到输入层之前, 会先进行一个数据的预处理,比如归一化处理等,这样可提高网络的运行速度以及 效率。
C2)隐藏层:隐藏层可以说是整个卷积神经网路结构中最重要的一环,几乎 担任着整个网络结构的学习表示作用。卷积神经网络中的隐藏层通常由卷积层、池 化层以及全连接层构成,其中卷积层和池化层是卷积神经网络特有的结构,也是整 个网络的特色所在。卷积层内部包含有多个卷积核,每个卷积核都有对应的连接权 重以及偏差,与神经网络中的神经元相类似。卷积层的独特作用是相当于对一个局 部区域的特征提取,多个不同的卷积核就可以学到多个不同的特征。下图4-4和图 4-5分别展示了一维卷积和二维卷积的计算过程示例。在图像处理中经常使用的是 二维卷积计算,比如一个图像大小是滤波器大小为则它们 的二维卷积为

卷积层后面紧跟的是池化层,池化层的主要作用是进行特征的选择以及信息 的过滤。池化层有预先设定好的池化函数,功能是将特征图中每个点的结果替换为 其相邻区域的特征图的统计量。池化函数一般有最大值池化,就是取特征图中局部 感受野中最大点的值作为池化的结果,均值池化,即是对特征图中局部感受野求平 均值最为池化的结果,还有随机池化等等。图4-6展示了最大值池化函数的形象化 计算方式,这里最大化滤波器的大小是2*2,当最大池化层在输入层滑动时,输出 是这个2*2方块的最大值。
(3) 输出层卷积神经网络中输出层的上游通常是全连接层,因此其结构和 工作原理与传统前馈神经网络中的输出层基本相同。对于分类和识别问题,输出层 通常使用逻辑函数或SoftMax函数输出分类的标签。

卷积神经网络特有的卷积核可以很好的学习人体动作中的空间信息,不同的 卷积核可以捕获更多的信息,因此相比于传统的机器学习方法卷积神经网络结构 对于任务的学习和表示更加全面,可以取得比传统方法更优越的性能。目前,卷积 神经网络算法在动作识别、行为识别、自然语言处理、语音识别、目标检测[46~51]

 
基于动作捕捉数据的舞谱生成任务中,需要判定人体每个部位的动作类别,所 以在提取特征时直接提取各个部位的运动数据,并不是人体所有部位的运动数据 一次训练和识别。从运动捕捉数据提取人体骨骼节点向量特征后,每个输入样本的 维度是20*12,相比于复杂的全局人体行为识别的输入维度会小一些,所以本文提 出的ConvNet的网络结构也做了一些改变。在兼顾识别准确率以及时间性能的问 题上最优化整个网络,通过图4-7可以看到本文提出的ConvNet网络结构并没有 层级特别深,在识别性能和时间性能上都非常适用于拉班舞谱自动生成的任务。
本文提出的基于卷积神经网络的下肢动作舞谱生成方法中,网络结构中共包 含2个卷积层,卷积层后面跟的是1个池化层,接下来是跟着3个全连接层,其中 前两个全连接层的激活函数使用的是ReLU函数,最后一个全连接层的激活函数 是softmax函数,起到分类器的作用。softmax函数的输出是人体动作类别的概率 值,最终取概率值最大的那个类别作为网络预测的结果。实验中为了防止过拟合, 每个全连接层后面都接了一个dropout层。图4-8展示了整个网络的架构以及网络 每层的详细参数。在整个卷积神经网络的训练过程中,dropout取值为0.25,学习 速率为0.01,第一层卷积个数为32,第二层的卷积个数为64,卷积核大小均为2*2, 中间的全连接层节点个数为128,最后一层全连接层的节点个数与动作类别数一致。 整个网络使用SGD算法进行网络的优化,加快收敛。整个网络的目标函数是最小 化交叉损失熵[52]函数:
Lk = - ^ tkjlog{pk/) (4-7)
其中tkj表示样本k的真实标签类别是j, PkJ表示网络对样本k的预测类别。


 
4.2.3实验结果与分析
基于ConvNet网络的下肢动作识别实验中所用的数据集与4.1.3小节介绍的数 据集一样,因此下文直接称为数据集A与数据集B4-4列出了基于ConvNet 的下肢动作实验的参数设计。
通过实验的参数设计可以看到,即使数据集B包含的动作类别是数据集A的 3倍,样本总数也是数据集A的3倍之多,本文提出的一套ConvNet网络结构可 以对数据集A和数据集B同时生效,说明该网络结构具有很高的鲁棒性。下面介

绍该方法在这两个数据集上取得的识别准确率与其他方法的比较。
表4-4基于ConvNet的下肢动作实验的参数设计 Table 4-4 Parameter design of lower limb movement experiment based on ConvNet
网络模型 数据集 隐层节点数 dropout 学习率 Epochs
ConvNet 数据集A 128 0.25 0.01 70
ConvNet 数据集B 128 0.25 0.01 70
 
 
 
表格4-5展示了不同的算法在人体动作识别上取得的准确率。与传统的基于动 态时间规整(DTW)的模板匹配方法相比,本文提出的基于ConvNet方法在数据 集A上取得的识别准确率高了 14%左右,比基于隐马尔科夫模型(HMM)的方法 提升了 4%左右。即使是在含有更多动作种类更多动作样本的数据集B上,本文的 方法依然取得了最高的识别准确率,平均识别率达到了 94.57%,取得了比之前的 研究方法更好的效果,充分展示了卷积神经网络与传统的机器学习方法相比在特 征学习和表示上的优点。与基于LSTM的识别方法相比,本文提出的基于ConvNet 的方法学到的空间信息更丰富,因此取得的效果更好一些。即使在数据样本扩增的 情况下,ConvNet在网络结构以及参数设置完全不变的情况下,取得了非常好的性 能,证实了基于ConvNet的方法在人体动作空间信息上学习的高效性与鲁棒性。
表4-5基于ConvNet的下肢动作实验结果比较 Table 4-5 Comparison of Lower limb movements based on ConvNet
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW [18] 80.36% 77.17% 62.56% 59.38%
HMM [19] 90.05% 90.82% 90.31% 89.25%
RNN 丨33] 89.90% 91.13% 90.46% 92.11%
GRU [41] 92.86% 94.55% 91.81% 92.0%
LSTM 94.23% 94.62% 93.43% 95.02%
ConvNet 94.24% 95.30% 93.86% 95.27%
 
 
 
表格4-6展示提出的基于ConvNet的下肢动作识别方法与基于DTW的模板匹 配方法以及基于HMM的方法在时间性能上的比较。可以看到基于ConvNet的方 法速度非常快,在包含有6400个样本的数据集A上只需要花费75秒的时间,而 基于DTW的模板匹配方法需要花费342秒,是本文提出方法的4.56倍,而基于 HMM的方法由于要为每一类的动作都建立一个HMM模型,因此花费的时间更
久,大概需要2000多秒,是基于ConvNet方法的29倍,由此可见基于ConvNet 方法的快速性。当数据样本增长到9600个时,基于HMM的方法耗时更久,是本 文提出方法耗时的62倍,充分证明了本文提出的基于ConvNet方法的高效性。基 于ConvNet的识别方法比基于LSTM网络的识别方法又快了 3倍,原因就在于 LSTM的网络结构含有自连接,并且中心单元的更新计算也比较耗费时间,所以与 己有的方法相比,提出的基于ConvNet的方法不仅在识别准确率上取得的效果最 优,在时间性能上的表现也是最佳的。
表4-6基于ConvNet的下肢动作实验耗时比较
Table 4-6 Time-consuming comparison of lower limb movement based on ConvNet
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW [181 167s 175s 513s 498s
HMM [19) 1103s 1087s 5032s 5086s
RNN[33 39.80s 39.47s 114.25s 114.19s
GRU [41] 123.93s 118.80s 354.89s 355.65s
LSTM 114.48s 114.49s 219.87s 220.10s
ConvNet 37.51s 37.67s 80.21s 81.90s
 
 
 
4.3基于联合网络机制的识别算法
上文介绍了提出的基于LSTM的动作识别算法以及基于ConvNet的动作识别 算法,这两者算法在与拉班舞谱自动生成研究中己有的方法[1819]相比,在识别性能 上取得了很大幅度的提升。但是分析可知,基于LSTM的识别算法能够充分的表 示人体骨骼序列数据在上下文上的依赖关系却不能很好的学习人体动作的空间信 息;基于ConvNet的识别方法可以学习很丰富的空间信息,但是将三维的人体骨 骼序列数据编码为二维的图像数据时,肯定会带来时序信息的损失。因此,本文提 出将这二者模型进行融合,使这二者可以达到互补的作用,可以同时丰富的捕捉人 体动作的时空信息。接下来将详细介绍本文将提出的基于ConvNet与LSTM的联 合网络机制的动作识别方法。
4.3.1联合网络机制算法思想

前两小节分别介绍了基于LSTM网络结构的与基于ConvNet网络结构的人体 下肢动作识别。理论分析与实验结果均已证明这两种算法的髙效性。但是本文通过 研究发现,这二者仍具有可以改进的地方。
LSTM算法具有自连接的网络结构,非常适合处理时序动态数据,但是在人体 动作识别的过程中,这种网络结构只保留了序列数据的时序关系,缺乏人体动作在 空间上的关系。CcmvNet的网络结构可以非常全面的学习到人体动作在空间上的关 系,但是把一个序列数据编码为图片的时候,会不可避免的损失序列在时序上的信 息。因此,经过以上分析,为了更好的捕获到人体动作的时空信息,本文提出基于 LSTMConvNet结合的机制从而来提高舞谱生成中人体动作识别的有效性以及 高效性。
LSTM网络模型与ConvNet模型分别用来处理不同类型的特征,而且这两个 模型是可以起到互补作用的。LSTM模型可以很好的捕捉序列数据在时间上的依 赖关系,ConvNet模型在图像处理的时候可以学些到更多的空间信息,因此这两个 模型的互补会给人体动作识别带来更好的性能表现。整个网络的融合方式采用的 是multiply融合,图4-9展示了本文设计的多层联合网络模型的框架图。
 

 
4.3.2基于联合网络机制的动作识别
介绍完提出的基于多层联合网络机制的算法核心思想以及基于多层联合网络 模型的下肢动作识别的主要框架后,接下来将详细介绍基于多层联合网络用于人

体动作识别的网络结构以及整个网络的训练过程。图4_10展示了多层联合网络模 型的架构。
 
本文提出的多层联合网络模型共包含有4个子网络模型分别是3CouvNet 子模型以及1个LSTM子模型。每个ConvNet子模型共包含有1层卷积层,1层 池化层以及3个全连接层。3层卷积层的主要作用是进行人体动作的空间关系表示
和学习,每层卷积层后面紧跟着的是池化层,池化层的主要作用是保留卷积层提取 的主要特征,同时减少下一层的参数以及计算量,本文选用的是最大值池化函数; 池化层后面的是3个全连接层,用于将卷积层提取到的各个部分的特征连接在一 起,为了防止过拟合每个全连接层后面都加了一个dropout层,最后的全连接层, 激活函数使用的是softmax函数,起到一个分类器的作用。LSTM子模型共包含2 层LSTM层以及一层全连接层。第一个LSTM层后面加了一个全连接层以防止过 拟合,最后的全连接层也是起到分类的效果。最后将这4个子网络模型进行融合, 得到最终的预测结果。
CcmvNet子模型中,卷积层的过滤器大小为32个,卷积核大小是2*2。第一 个全连接层的隐层节点数为128个,第二层全连接层的隐层节点数为256个,最 后一个softmax层的隐层节点数与人体的动作类别数是一致的。LSTM子网络模型 中,两个LSTM层的隐层节点数都为128个,全连接层的节点数与人体动作的类 别数一致。整个网络的训练过程,学习率设置为0.1,dropout值设为0.25,并且使 用了 Adam[4()]优化算法作为整个网络的优化器,加快了网络的收敛速度。整个网络 的目标函数也是最小化交叉熵损失函数。
4.3.3实验结果与分析
与上文用到的数据集一致,本次实验仍然是在数据集A与数据集B上进行的。 提出的多层联合网络模型在迭代40次后即收敛,速度非常快,前文介绍的基于 ConvNet的网络模型是在迭代70次后才可收敛,基于LSTM网络结构的识别方法 在迭代45次后收敛。所以对比可知,本文提出的多层联合网络并没有因为网络结 构的复杂在时间上花费很多,收敛速度非常快,符合拉班舞谱自动生成中快速的要 求。
表格4-7展示了本文提出的基于多层联合网络模型的下肢动作识别方法与基 于DTW的模板匹配方法[18]、基于HMM的识别方法[191以及前文介绍的基于LSTM 神经网络、基于ConvNet的识别方法在识别准确率上的比较。可以看到,基于联 合网络模型的方法比传统的基于DTW的模板匹配方法取得的准确率高了 15%左 右,比基于HMM的方法高了 5%左右。同上文介绍的基于ConvNet网络结构的识 别方法相比,基于多层联合网络模型的识别方法在原先已经提高到94%的基础上 仍然提高了 1%,取得了 95%左右的识别准确率,充分验证了本文提出的多层联合 网络模型在捕捉人体动作的时序变化以及空间信息上的有效性,同时也说明丰富 的时空信息无疑会给人体动作识别的准确性带来更大的收益。
表4-7基于联合网络模型方法的实验结果比较
Table 4-7 Comparison of movement recognition based on multi-layer joint network
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW 1,81 80.36% 77.17% 62.56% 59.38%
HMM [191 90.05% 90.82% 90.31% 89.25%
rnn[33] 89.90% 91.13% 90.46% 92.11%
GRU 1411 92.86% 94.55% 91.81% 92.0%
LSTM 94.23% 94.62% 93.43% 95.02%
ConvNet 94.24% 95.30% 93.86% 95.27%
联合网络机制 95.69% 96.40% 94.41% 94.09%
 
 
 
表格4-8展示了本文提出的方法与李[18]提出的基于HMM的方法、周[19]提出 的基于DTW的模板匹配方法以及上文介绍的基于LSTM网络的方法、基于 ConvNet的方法在时间性能上的比较。通过对比可以看出,本文提出的多层联合网 络模型的耗时是基于LSTM的网络模型方法耗时的三分之一左右,比基于ConvNet 的方法的耗时稍微多了一些,但是结合表格4-7可以看出多层联合网络的方法取得 的识别准确率是最高的。经过对比和分析,本文提出的基于多层联合网络模型的方 法取得的识别准确率最高,并且网络的耗时也非常短,对于拉班舞谱中的人体动作 识别既高效又快速。
表4_8基于联合网络模型的动作实验耗时比较
Table 4-8 Time-consuming comparison of movement recognition based on multi-layer joint network
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW [18] 167s 175s 513s 498s
HMM [19) 1103s 1087s 5032s 5086s
RNN[331 39.80s 39.47s 114.25s 114.19s
GRU 1411 123.93s 118.80s 354.89s 355.65s
LSTM 114.48s 114.49s 219.87s 220.10s
ConvNet 37.51s 37.67s 80.21s 81.90s
联合网络机制 152.76s 154.31s 289.17s 289.63s
 

4.4方法总结与对比分析
上文主要介绍了本文设计的基于三种网络结构的人体动作识别方法的原理、 用于动作识别的网络结构以及与周[18]提出的基于DTW的模板匹配方法与李[19]提 出的基于HMM的方法的实验比较。接下来主要介绍本文提出的方法与主流的基 于骨骼信息的行为识别方法的比较。本文的研究工作与基于骨架信息的行为识别 的研究具有一定的关系。从本质上讲,我们的工作和基于骨骼的行为识别都是通过 分析人体关节位置来识别身体运动。但是,我们的工作主要集中在人体运动的属性, 例如手臂运动幅度的大小。行为识别主要集中在人体运动的语义上,例如一个人的 所做的动作是喝水还是打拳。目前,许多基于卷积神经网络(CNN)和长短期记忆 (LSTM) [2(W5]的方法在动作识别中表现出了很好的表现。这些方法通过提取空间 和时间特征,然后将多个LSTM与CNN模型或多个CNN模型组合,实现了良好 的结果,同时也导致整个网络结构非常庞大和耗时。在我们自动生成拉班舞谱的工 作中,我们希望找到一种简单有效的方法。因此,本文进行将提出的方法与先进的 基于骨骼信息的行为识别方法进行了比较和分析,充分证明我们提出方法的高效 性以及必要性。
4.4.1动作识别方法总结
本文提出的多层联合网络模型的方法是基于LSTM网络与ConvNet网络, LSTM网络的自连接结构使得它在处理时序数据上具有天然的优势,但是它缺乏 对空间信息的捕捉;而ConvNet非常善于进行空间信息的特征学习,因此本文提 出了将这二者网络进行联合的方法,使得这两个网络可以互补,充分的学习到人体 动作的时空信息。与己有的舞谱自动生成研究中的周[18]提出的DTW的模板匹配 方法以及李[19]提出的基于HMM的方法相比,实验结果证明了本文设计的多层联 合网络模型方法的髙效性。
基于动作捕捉数据的舞谱自动生成研究与基于骨骼信息的行为识别研究具有 一定的联系,都是通过分析人体运动的关节位置从而进行人体动作的识别,所以,
接下来本文将详细介绍目前比较先进的基于骨骼信息的行为识别方法。
首先是Pichao Wang[2G]等人提出的基于节点轨迹图(Joint Trajectory maps, JTMs) 的行为识别算法。该算法的核心思想在于通过特征设计将三维的人体运动数据编 码为二维的图片,然后再使用ConvNet进行特征的挖掘和学习。特征的设计方式 为将人体在空间运动的骨骼序列划分为三个正交的平面,从而形成了三个人体运 动的特征轨迹图(JTM),然后再通过一定的公式编码人体运动节点的方向,最后

将这三个JTM分别输送给三个ConvNet,整个网络的输出是这三个ConvNet输出 值的融合结果。
然后是Chuankun Li[21]等人提出的基于节点距离图(JointDistance Maps,JDMs) 的行为识别算法。该算法的核心思想是计算人体两两关节点之间的欧式距离,将得 到的空间中三个正交平面的欧式距离编码为三个JDM,并且同时也计算了三维人 体关节点之间的欧式距离,因此共编码得到四个JDM,然后把这四个JDM输入到 四个ConvNet网络进行学习,网络最后的输出是四个ConvNet融合的结果。
Chuankun Li[23]等人后来又提出一种基于CNN与LSTM的算法,该方法共设 计提取了 10种特征,分别送入到3个LSTM网络模型和7个CNN网络模型。送 入到3个LSTM网络模型的特征分别是人体关节点与关节点之间的相对距离、人 体关节点之间的欧式距离以及人体的一个关节点到另外两个关节点形成的直线距 离,称为提取的空域特征(spatial-domain-feature,SPF)。输入到7个CNN网络模 型的特征即是上文介绍的JTM与JDM,称为时域特征(temporal-domain-feature, TPF)。网络最终的输出是这10个子网络模型的融合结果。
Ran Cui[22]等人提出了一种基于CNN与LSTM的多源学习的行为识别方法6 方法的网络结构中包括3个子LSTM网络模型,分别用来学习人体行为的全局特 征、局部特征以及细节特征。然后是3个子CNN网络模型,用于学习人体行为的 空间信息。最后的输出是这几个网络子模型的融合结果。
上面介绍的行为识别方法中的网络模型结构比较复杂,网络层数比较深,并且 模型也比较多,训练起来非常困难,没有本文提出的方法方便快捷,下一小节将详 细介绍与这些方法的实验比较。
4.4.2实验结果与分析
接下来本文将提出的多层联合网络模型方法与上文介绍的基于JTM的识别方 法[2()]、基于JDM的识别方法[21]、基于SPF与TPF的识别方法[23]以及基于多源学 习的识别方法[22]进行实验分析和比较。表格4-9展示了本文的方法与这些方法在 人体下肢动作识别上的实验结果。
通过表格4-9可以看出,本文提出的联合网络机制的方法在具有6400个样本 的数据集A上达到了最高的识别准确率,其中左腿动作的识别准确率达到了 95.69%,右腿动作的识别准确率达到了 96.40%的优异成缋,与目前较为先进的行 为识别方法比较来看,提出的联合网络模型机制的方法比基于JDM的行为识别方 法[21]以及基于JTM的识别方法[2()]高了 3%左右,比基于SPF与TPF的识别方法[23] 以及基于多源学习的识别方法[22]高了 2%左右。在具有19200个样本的数据集B
上,本文提出的方法与目前最先进的方法差不多的好效果,充分证明了本文提出的 多层联合网络模型在动作识别上的高效性以及鲁棒性。
表4-9不同方法的实验结果比较
Table 4-9 Comparison of experimental results on different methods
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW[181 80.36% 77.17% 62.56% 59.38%
HMM [19] 90.05% 90.82% 90.31% 89.25%
JDM [21] 93.14% 93.39% 92.92% 92.90%
JTM [20] 93.37% 93.42% 91.21% 89.30%
SPF+TPF[23] 93.86% 95.03% 94.53% 96.82%
Multisource Modelf22] 93.66% 95.74% 94.24% 93.52%
联合网络机制 95.69% 96.40% 94.41% 94.09%
 
 
 
表格4-10展示了不同的方法在时间耗费上的比较。可以看到,本文提出的方 法比基于JTM的识别方法[2()]、基于JDM的识别方法[21]以及基于多源学习的识别 方法[22]的方法耗时要稍微多一些,但是结合上个表格来看,本文的方法的准确率 是最高的。即使在有更大的样本、更多动作类型的数据集B上,本文提出的联合 网络模型方法取得的识别准确率以及耗时上综合评价依然是目前最好的方法,展 示了本文提出的多层联合网络模型的必要性以及高效性。
表4-10不同方法的时间性能比较
Table 4-10 Comparison of time-consuming on different methods
  数据集A 数据集B
方法 左腿 右腿 左腿 右腿
Template+DTW 1181 167s 175s 513s 498s
HMM [19] 1103s 1087s 5032s 5086s
JDM间 74.17s 78.91s 185.97s 181.33s
JTM [20] 60.90s 62.81s 185.98s 186.56s
SPF+TPFI23] 812.70s 953.52s 2614.87s 2752.29s
Multisource Model[22] 98.54s 98.58 s 459.36s 442.24s
联合网络机制 152.76s 154.31s 289.17s 289.63s
 

4.5本章小结
本章主要介绍了拉班舞谱中下肢动作生成的主要算法。首先是长短时记忆神 经网络的相关知识以及基于长短时记忆网络的下肢动作生成算法,展示了基于长 短时记忆祌经网络的方法在捕获拉班舞谱中下肢动作动态变化信息上的优越性; 然后介绍了卷积神经网络的相关原理以及基于卷积神经网络的方法在学习人体下 肢动作的空间信息上的高效性;最后介绍了本文提出的基于卷积神经网络与长短 时记忆神经网络的联合网络模型在人体下肢动作上的舞谱生成,卷积神经网络模 型与长短时记忆神经网络模型的融合可以学习到更多的人体动作时空信息,因此 取得的识别准确率也比单一网络模型的准确率要高。本文不仅将提出的联合网络 模型识别算法与传统的拉班舞谱生成中使用的模板匹配方法以及基于隐马尔科夫 模型的方法对比和分析,还增加与目前较为先进的行为识别领域的深度学习方法 进行了比较。通过全面的分析和比较,证明了本文提出的多层联合网络模型用于拉 班舞谱中人体下肢动作生成的高效性和鲁棒性。


 

5舞谱自动生成系统的设计与实现
本文的主要研究内容是从动作捕捉数据到拉班舞谱的自动转化,前面几章节 分别介绍了运动捕捉数据的转换、人体骨骼特征的提取以及对于拉班舞谱生成中 人体动作识别的算法,下面主要介绍拉班舞谱自动生成系统的整体设计以及功能 的实现,最后将对系统生成的拉班舞谱进行展示和分析。
5.1系统整体设计
舞谱生成系统的主要功能是根据动作捕捉数据进行舞谱的生成,从而避免了 人工手动记谱的耗时耗力,将拉班舞谱与计算机技术相结合达到对传统舞蹈的保 护与传承的正向作用。毫无疑问,整个系统的输入是人体舞蹈动作的运动捕捉数据 表示,然而有的舞蹈很长,有的很短,这就可能需要对舞蹈动作先分割,需要说明 的是本文釆用的是预先分割好的人体舞蹈动作片段,本文重点研究的是基于元素 动作的识别算法和舞谱的自动生成,舞谱生成的准确率高度依赖于对人体动作的 特征描述以及算法所取得的识别准确率。所以系统的核心部分为骨骼特征的提取、 基于极限学习算法的上肢动作生成以及基于联合网络模型的下肢动作生成。图5-1 展示了舞谱生成系统的流程图。
系统的执行流程如下:
(1) 输入通过OptiTrack运动捕捉设备获取得到的舞蹈表演人员的运动捕捉 数据文件;
(2) 系统判断输入的文件类型是否为正确的BVH运动捕捉数据文件,如果 判断正确,则进行下一步,否则返回重新选择输入文件;
(3) 系统读取输入的动作捕捉数据文件,转换为三维全局坐标系下的人体动 作数据;
(4) 提取人体上下肢动作的骨骼拓扑结构特征以及帧内节点相对位置和帧间 运动速度信息特征;
(5) 基于极限学习算法进行上肢动作的识别;
(6) 基于LSTM与ConvNet的联合网络模型进行下肢动作的识别;
(7) 根据模型的识别结果进行拉班舞谱谱面结构以及符号的绘制;
(8) 保存生成的舞谱文件,程序结束。
 

 
5.2系统功能实现
拉班舞谱自动生成系统釆用Python高级语言,在Pycharm软件上开发,引入 了 opencv库进行拉班舞谱谱面结构以及舞谱符号的绘制,使用numpy科学计算库 方便数据的处理准换以及特征的提取。
本系统主要适用于Windows平台,系统的主要功能分为以下几个模块:运动 捕捉数据加载模块、数据转换模块、人体骨骼特征提取模块、上肢动作识别模块、 下肢动作识别模块、拉班舞谱绘制并保存模块。系统功能图如图5-2所示。
 
 
系统主要包括5个模块的功能其中前4个功能模块己在前4章节介绍,下 面将详细介绍绘制拉班舞谱功能的实现。
从上文的拉班舞谱介绍中知道,拉班舞谱的结构共包括谱面和符号两个部分, 因此,对于拉班舞谱的绘制也将从这两部分展开。首先介绍拉班舞谱谱面结构的绘 制。谱面结构根据拉班舞谱的记谱规则中3条最主要的垂直实线代表最基本的人 体动作,然后用虚线扩充两边,共记11栏,如图5_3所示。代码实现方式为首先 用numpy数组初始化一张画布,使用像素(255,255,255)填充,接着使用cv2 中的line函数绘制3条实线,并且可以设置画布上的起点终点坐标,将中间的实 线绘制在画布的正中间。中间线表示人体的正中心,左右两侧分别表示人体的两侧。 根据图5_3可以看到,画布的长度为280,中间线所在位置为140,并且左右间隔 中间线距离30,也就是两条竖线之间的距离为15。图中用红色横线画出的地方表 示人体动作的开始位置,开始动作通常由两条横实线画出。由于舞蹈也是有时间和 节拍的,因此画布的纵轴表示时间,由第2章节中对拉班舞谱的介绍可知舞谱的 阅读方式为从下往上,因此为了与阅读顺序一致,画布的纵轴时间也是由下往上逐 渐增长的。


,打开一个运动捕捉数据文件后,点击播放动画小人即 会演示运动捕捉数据表示的人体动作,并且可以设置播放的速度,然后点击识别片 段按钮系统即可对该段运动捕捉数据进行识别,识别后在点击生成舞谱按钮即可 生成舞谱文件并会保存到本地。整个系统界面简单实用,方便使用人员操作。
 
 
5.3生成舞谱展示
本文主要研究了基于动作捕捉数据的拉班舞谱自动生成。上文介绍了拉班舞 谱自动生成系统的整体设计以及各部分的功能,接下来将对系统生成的拉班舞谱 进行展示和分析。
首先图5-6展示了山东鼓子秧歌的一段舞蹈中人体动作所对应生成的拉班舞 谱符号。第一行中动作1为初始动作,人体呈自然站立状态,重心处于中位,因此 用原位中表示人体双腿的支撑动作,双臂位于身体两侧,自然下垂,因此用原位低 表示双臂姿态。动作2中右脚原地抬起,人体重心处于中位,用原位中表示右腿支 撑动作,左臂姿态为左前低,右臂姿态为右前高。动作3中左腿向前迈步使重心水 平前移,用前中表示左腿支撑动作,左臂姿态是左前髙,右臂姿态是前中。
第二行的动作4中右腿向后迈步使重心水平后移,用后中表示右腿支撑动作, 左臂姿态前低,右臂姿态右前中。动作5中左腿向前迈步使重心水平前移,用前中 表示左腿支撑动作,左臂姿态左前高,右臂姿态右前髙。动作6中双腿的支撑栏有 一个瞬间均没有符号,表示存在跳跃,左腿跳跃后支撑动作为原位中,右腿没有接 触地面,其姿态为原位低。左臂姿态左高,右臂姿态右高。
第三行的动作7中双腿的支撑栏有一个瞬间均没有符号,表示存在跳跃,右 腿跳跃后支撑动作为原位低,左腿没有接触地面,其姿态为原位低,左臂姿态左高, 右臂姿态原位高。动作8中人体双腿弯曲站立,重心处于低位,用原位低表示双腿 支撑动作,左臂姿态前低,右臂姿态前中。动作9中人体双腿分开站立,重心处于 中位,左腿支撑动作为左中,右腿支撑动作为右中,左臂姿态左高,右臂姿态右高。 分析结果证明,9处舞谱符号均可以表达出对应的人体动作,因此,生成的拉班舞 谱可以反应该段动作的主要内容,即生成的舞谱基本正确。
接下来选取了另外两种舞蹈动作类型进行生成舞谱的展示和分析。首先第一 段舞蹈是有着“中国国粹”美誉的京剧中的一段舞蹈。以下是该舞蹈的详细信息:
(1) 动作捕捉数据釆集地点:文化部实验室,中国。
(2) 动作捕捉设备OptiTrack运动捕捉装置。
(3) 艺术形式:京剧“起霸”中的一段舞蹈,中国非物质文化遗产。
(4) 运动捕捉数据详细信息:片段总长度18010帧,帧率为150,存储格式
BVH

5-7展示了京剧中的一段舞蹈自动成的拉班舞谱。为了方便理解,本文特意 选择了图5_7中的一些动作进行了放大展示和分析。图5-8中展示了放大的舞谱符 号与对应的运动捕捉数据动作。在图5-8中的动作1中,动画小人的左胳膊是左低 的姿态,右胳膊是前中的姿态。右腿以中位幅度向前行走带动着身体整个重心的移 动。动作2中,动画小人的支撑部位没有变化,因此拉班舞谱中没有绘制符号,左 胳膊是左低姿态,右胳膊是前高的姿态,并且通过舞谱中符号的长度可以看出这个 动作持续了一会儿。动作3中动画小人的右腿正在往前行走,并且左右两胳膊的 姿势都是前低。动作4中左胳膊是前中的姿态,右胳膊是右中的姿势。同时,左腿 向左前方向移动带动着人身体重心的移动。动作5中显示动画小人的右胳膊前高, 左胳膊前低。动作6中是该段舞蹈的结束动作,右胳膊前高的姿态并且左胳膊左 低。

通过上述与运动捕捉数据中相对应的几个舞蹈符号的详细分析,我们可以看 出生成的拉班舞蹈符号基本上是正确的。此外。我们可以看到生成的拉班舞谱中一 些符号比较密集,一些符号持续的时间比较久。这也反映了京剧运动的特点,即有 些动作是快速的,有些动作是缓慢的。

 
 
接下来展示的是面具舞“池哥昼”中的一段舞蹈生成的拉班舞谱。以下是动作 片段的运动捕捉数据信息:
(1) 动作捕捉数据釆集地点:文化部实验室,中国。
(2) 动作捕捉设备:OptiTrack动作捕捉装置。
(3) 艺术形式:面具舞“池哥昼”中的一段舞蹈,流传于中国甘肃省陇南市
文县。
(4) 运动捕捉数据详细信息:片段总长度21442帧,帧率为150,存储格式 为 BVH
该段舞蹈动作所对应的使用本文提出的方法生成的拉班舞谱共包含9页,如 图5-9所示。通过观察生成的舞谱与实际动作捕捉数据表示的舞蹈动作的对比,确 认使用本文提出的方法生成的拉班舞谱符号基本上是正确的,并且可以应用在实 践中。

5.4本章小结
本章主要介绍拉班舞谱自动生成系统的整体设计以及各个模块的功能实现, 详细介绍了舞谱绘制模块的实现过程,并展示和分析了由舞谱生成系统生成的两 种类型舞蹈片段的拉班舞谱。通过对比分析可以看到,本文设计的拉班舞谱自动生 成系统可以实现从动作捕捉数据到拉班舞谱的高效生成,基本达到实际应用的需 求
 

6总结与展望
本文主要研究基于动作捕捉数据进行拉班舞谱的自动生成,通过对原始动作 捕捉数据的分析和转换,首次提出一种人体运动序列中相邻骨骼节点的向量特征, 并且引入当前骨骼节点相对于骨骼序列中其他节点的位置特征以及人体运动骨骼 序列的速度信息特征;通过对拉班舞谱中上肢动作和下肢动作记谱规则的不同,首 次提出一种基于极限学习的上肢动作舞谱生成算法以及一种基于LSTM与 ConvNet的联合网络模型下肢动作舞谱生成算法;最后把新提出的特征以及两种舞 谱生成方法融入到舞谱自动生成平台中,实现一个端到端的从运动捕捉数据到拉 班舞谱的自动生成系统。
6.1总结
总体来说,本文主要做了以下几个方面的工作:
(1) 釆集舞蹈运动捕捉数据并整理形成数据集。由于拉班舞谱的自动生成研 究在世界范围内才刚刚起步,没有公开的数据集可用,本文通过对拉班舞谱中人体 动作记录规则的学习和分析,多次去运动捕捉数据实验室进行了各个地区的民族 舞蹈动作的录制和釆集,整理形成一个具有19200个样本的数据集,以供本文以 及接下来的研宄使用。目前己经采集的民族舞蹈动作多达几百段,对于民族舞蹈的 保存以及基于动作捕捉数据生成拉班舞谱的研究具有重要意义。
(2) 通过对动作捕捉数据的分析和转换,本文提取一种符合人体拓扑结构的 骨骼节点向量特征,为人体动作的识别奠定了良好的基础。通过对人体动作空间位 置的分析,首先提出人体骨骼序列中相邻节点形成的骨骼向量特征,然后为了增加 骨骼序列中当前节点与其他节点的空间位置表示,引入第二种空间位置特征以及 人体骨骼序列中速度信息的特征表示。
(3) 根据拉班舞谱中对人体上肢动作的记谱规则,本文分析得到对于人体上 肢动作的识别算法不用考虑动作的前后之间的关系,而只关注动作最后的姿势。基 于这一点,本文首次提出一种基于极限学习算法的上肢动作的舞谱生成方法,极限 学习算法是一种广义的单隐层前馈神经网络,输入层与隐层之间的连接权重和偏 差随机分配生成,而不用反复迭代,因此极限学习网络速度非常快,并且非常适合 于场景不是很复杂的任务,并且取得了较好的效果。
(4) 拉班舞谱中对人体下肢动作的记录需要关注动作的动态变化过程,本文 首先提出基于LSTM网络的人体下肢动作识别方法,LSTM网络的自连接结构使 得它非常善于处理时序数据的动态变化,但是LSTM网络只兼顾了序列数据在时 间上的关系,缺少对人体动作的空间上关系的学习,通过分析这一缺点,本文又提 出基于ConvNet的人体下肢动作识别方法,ConvNet网络主要用于人体动作空间 特征的学习和表示,能够比较全面的学习到人体动作的空间位置信息,但缺乏序列 数据在时间上的表示,综合对这两个网络的优缺点分析,本文最终提出一种基于 LSTM与ConvNet的联合网络机制模型下肢动作舞谱生成方法。联合网络结构共 包含3个ConvNet子网络模型以及1个LSTM子网络模型,整个网络的输出是这 4个子网络模型的融合结果。
(5) 在以上新特征以及新方法的基础上,本文设计和实现一个端到端的从运 动捕捉数据到拉班舞谱的自动生成系统。基于本文提出的人体骨骼特征以及两种 高效的识别算法,系统生成的舞谱符号准确率有了进一步的提升,更加符合实际应 用,对于我国传统民族舞蹈的保护与传播具有十分重大的意义。
6.2展望
本文进行基于动作捕捉数据的拉班舞谱自动生成研究,主要包括以下几个方 面:运动捕捉数据的获取、运动捕捉数据的分析和转换、人体骨骼特征提取、上下 肢动作的识别、舞谱绘制和保存。由于拉班舞谱的自动生成研宂目前在世界范围内 才刚刚起步,尚没有通用的数据集,舞蹈动作片段样本不足够丰富,而目前的深度 学习方法网络结构通常很复杂,需要大量的样本才能够学习的比较好,因此未来可 以继续进行人体运动捕捉数据的釆集,丰富舞蹈动作类型,使整个系统更加完善。
本文进行的人体动作识别是基于预分割好的舞蹈动作片段,使用长短时记忆 神经网络以及卷积神经网络的结合可以取得比较好的效果,但是这样将分割和识 别分开为两个独立的部分,取得的效果只是各自的最优值,并不是整体的最优值, 因此未来可以开发和挖掘将分割和识别同时进行的方案,这样取得的效果将是整 体最优。
舞谱自动生成系统目前己可以满足初步要求,实现基本的舞蹈动作的绘制,但 是实际生活中人体舞蹈动作多种多样、千姿百态,因此未来可以在系统的舞谱符号 库中添加更多的符号,以满足更多动作类型的需求。
本文研究从运动捕捉数据到拉班舞谱中的自动生成,首次提出符合人体结构 与运动特点的骨骼特征,并且提出了基于极限学习算法进行上肢动作的识别,提出 了多层联合网络机制用于人体下肢动作的识别算法,同时实现了舞谱自动生成系 统。拉班舞谱对于我国民族舞蹈的保护与传承具有重要的意义,未来希望基于运动 捕捉数据的舞谱自动生成研宄可以越来越丰富,舞谱自动生成系统可以更加完善。最后高校学术论文网提供专业的硕士毕业论文写作_写作博士论文_写作硕士论文_写作毕业论文_论文发表_写作职称论文的网站,多年来,凭借优秀的服务和声誉赢得了社会的广泛认可和好评,联系电话:1342-6307-728!


【本文地址:https://www.xueshulunwenwang.com//guanlilei/gongshangguanli/xixinguanli/1289.html

上一篇:计算机图形学中的最新成果应用分析(干货)

下一篇:情报学 多源信息融合方法研究

相关标签: