(计算机应用技术专业论文)基于降维技术的运动捕捉数据分析与合成.pdf_第1页
(计算机应用技术专业论文)基于降维技术的运动捕捉数据分析与合成.pdf_第2页
(计算机应用技术专业论文)基于降维技术的运动捕捉数据分析与合成.pdf_第3页
(计算机应用技术专业论文)基于降维技术的运动捕捉数据分析与合成.pdf_第4页
(计算机应用技术专业论文)基于降维技术的运动捕捉数据分析与合成.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)基于降维技术的运动捕捉数据分析与合成.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着金刚、蜘蛛侠等虚拟角色在动画和电影中大行其道,运动捕捉成为当 今最炙手可热的动作生成技术。该技术能够获取真实人体运动数据,高效而逼 真的将其再现于虚拟场景中,从而颠覆了传统的关键帧和仿真技术。然而,运 动捕捉技术门槛较高,输出数据的高维复杂性也为其应用带来了巨大难题。本 文使用非线性降维算法,在局部切空间中提取运动数据的关键特征,并将其映 射到低维参数空间。根据低维特征曲线呈现出的周期性及变迁规律,将高维空 间中的运动序列划分为基本动作单元,并构建运动图表。继而在低维曲线的指 导下,通过时间变形、偏移映射等数据分析和插值方法,实现动作单元的平滑 变速、拼接、融合、混合及移植等合成操作。与此同时,对运动图表的节点及 变迁关系进行连接和扩充,构建基于图表的运动网络。该方法既避免了传统插 值方法中的庞大计算量,也克服了单独使用降维算法所带来的运动失真现象。 实验结果表明,该方法能精确分析运动捕捉数据,通过对有限的运动序列进行 编辑与重用,生成丰富多变的新序列,实现运动合成的终极目标。 关键词:运动捕捉,运动分析,运动合成,运动编辑,运动融合,局部切空 间,运动图表 中图分类号:t p 3 7 1 1 1 a b s t r a c t n o w a d a y s v l r t u a lc h a r a c t e r ss u c ha sk i n gk o n ga n ds p i d e rm a na r em o r e a n dm o r eu t l h z e di nm o v i e sa n dv i d e og a m e s ,m o t a o nc a p t u r e ,t h ee m e r g i n g t e c h n o l o g yo fc h a r a c t e rm a n i p u l a t i o n ,h a sb e c o m et h eh o t t e s tt o p i ci nt h ef i e l d o fa m m a t l o nc o n l ,r o lt h i sd e v i c ec a na c q u i r eh u m a nm o t i o nd a t aa n dr e p r o d u c e i tmv i r t u a le n v i r o n m e n t b r i n g i n ga na l t e r n a t w es o l u t i o nt ok e y - f r a m i n ga n d s i m u l a t i n ga n i m a t i o n h o w e v e r ,i t sa p p l i c a h o ni sh m l t e dd u et ot h ec o m p l e x i t y o fo p e r a t i o na n dt h eh l g hd l m e n s i o n a h t yo fo u t p u td a t a t h i sp a p e rp r o p o s e s t oe x t r a c tk e yf e a t u r e sf r o mh i g h - d i m e n s i o n a lm o t i o ns e r i e sw i t hl o c a lt a n g e n t s p a c ea n dm a pt h e mt ol o w - d i m e n s i o n a lf e a t u r es p a c e t h e s es e r i e sa r ed i v i d e d i n t oc l i p sa n dag r a p h1 8c o n s t r u c t e da f t e r w a r d sa c c o r d i n gt ot h ep e r i o d i c a la n d t r a n s i t i o n a lp r o p e r t yi nl o w - d i m e n s i o n u lm o t i o nc u r v ea v a r i e t yo fs y n t h e s i s , s u c ha ss p e e dv a r i a t i o n ,t r a n s i t i o n ,b l e n da n dt r a n s p l a n t a t i o na r ei m p l e m e n t e d b ym e a n so fn u m e r i c a la n a l y s i sa n di n t e r p o l a t i o n ,i n c l u d i n gt i m ew a r p i n ga n d d i s p l a c e m e n tm a p p i n g a tt h es a m et i m e ,t h en o d e sa n dt r a n s l t l o n smt h eg r a p h i sm t e r c o n n e c t e da n de x p a n d e d ,a n df m a l l yam o t m nn e t w o r ki se s t a b h s h e d b y t k t sm e a n s ,t h ec o m p u t a t i o n a lc o m p l e x i t yi nt r a d i t i o n a ls o l u t i o n so f i n t e r p o l a t i o n , a n dt h el o s si nm o t i o nc o n t i n u i t ya n dv i v i d n e s sb r o u g h tb ys o l u t i o n so fd i m e n s i o n r e d u c t i o na r eb o t hs u c c e s s f u l l yr a v e l e do u t e x p e r i m e n t a lr e s u l t ss h o wt h a tt h i s a p p r o a c hc o u l dp r e c i s e l ya n a l y z em o t i o nc a p t u r ed a t a t h r o u g h o u tm o t i o ne d i t i n g a n dr e n s m g ,i tc o u l dp r o d u c eav a s tn u m b e ro fn e wm o r t o ns e r l e 8 ,w h i c hi st h e u l t i m a t eo b j e c t i v eo fm o t i o ns y n t h e s i s k e yw o r d s : m o t i o nc a p t u r e ,m o t i o na n a l y s i s ,m o t i o ns y n t h e s i s ,m o t i o nf _ 正h t m g ,m o t i o n b l e n d i n g ,l o c a lt a n g e n ts p a c e ,m o t i o ng r a p h c l a s s i f i c a t i o nn u m b e r :t p 3 7 1 引言 运动捕捉是近年来风靡全球的动作生成技术,被广泛的应用于人体工程 学、模拟训练、生物力学、机器人学、虚拟现实以及包括游戏、广告、动画、 电影在内的一系列娱乐产业中。该技术提取三维空间中的人体运动数据,将其 加载于虚拟模型上,从而使虚拟人物按照数据所记录的轨迹和方式进行运动。 运动捕捉的优势在于它不仅可以生成真实感较强的运动,其输出数据还可以用 于数值分析及机器学习,从而使人体运动数据的自动分析与合成成为可能。 虽然早期对运动捕捉技术的应用局限于二维卡通动画领域,但随着近年来 计算机图形学的发展,该应用领域已经从二维扩展到了三维,动作的还原能力 越来越好,生成动作的质量也越来越高。通过对所拍图像序列进行分析,运动 捕捉系统识别及提取标志点在每一时刻的空间位置,并记录其三维坐标及旋转 角度;有时甚至还需记录其运动方向、速度、加速度等信息。在复杂情况下, 运动序列中的每一帧都可能包含上百个自由度。这些高维信息无疑给运动捕捉 数据的分析与合成带来了极大的困难,若不在运动数据的分析与合成之前对其 进行大幅度的简化,将有大部分的时间被浪费在数据的整理、理解以及高维运 算上。实际上,人体运动作为一个整体,可以用少量的特征参数进行描述。若 能从高维运动数据中找到内嵌的低维参数空间,就可以发现和学习其内在规 律,自动的对运动序列进行精确分析及应用。本文不同于以往的运动降维分析 方法,没有使用线性主成份分析( p c a ) 、因子分析( f a c t o ra n a l y s i s ) 等线性算 法。这是由于线性分析强行假定变量问独立无关,忽略了运动序列各变量间的 相关性及耦合度,因此无法对运动捕捉数据的内在维度进行有效分析。本文采 用局部切空间校准( l t s a ) 这一前沿的非线性降维算法,对运动序列上每个数据 点邻接区域构成的仿射子空间进行学习,找到其局部切空间,并用其表示数据 集的局部几何特征。在映射过程中,l t s a 能够保持这些局部几何信息,并寻 找与原始高维数据相对应的低维坐标;该操作通过校准局部切空间来传递局部 几何信息,并寻找潜在的低维空间。 在降维的基础上。需要对运动捕捉数据进行分析、编辑与合成,从而在无 需重新捕捉的前提下生成丰富多变的动作序列,这正是降维的目的所在。也许 有人会问,既然运动捕捉可以准确获取表演者的任何运动,且效果逼真,那为 复旦大学硕士毕业论文引言 什么还需要运动合成技术昵? 这是因为运动捕捉的后处理过程,包括标记点的 识别、跟踪、空间坐标计算等操作工作量巨大:特别是当运动复杂时,不同部 位的标记点更有可能发生混淆及遮挡,导致结果发生错误。因此,对很多数据 应用者来说,充分发挥已有序列的重用性是提高工作效率的关键。同时,运动 捕捉的使用成本昂贵,设备价格、场地占用以及对专业操作人员和表演人员的 需求使很多研究和商业机构望而却步,大部分人只能使用预制的运动数据库, 无法根据需求实地捕捉各种动作。在这种情况下,根据需要对已有的动作序列 进行合成操作以产生更多可变序列,就成为一个非常有意义的研究方向。 本文在非线性降维算法的基础上,对前人提出的运动合成规则和方法进行 改进,从而大大提高了运动合成的质量和效率。文中主要的技术路线描述如 下: ( 1 ) 非线性降维处理: 使用【j t s a 方法从运动捕捉数据中提取关键特征,将高维运动序列映射到 低维参数空间; ( 2 ) 低维运动曲线分析: 将降维后的运动曲线与高维数据进行比对,深入理解低维信息中蕴含的人 体运动周期性及动作间的变迁规律。利用该分析结果将原始运动序列划分为基 本动作单元,并将其作为节点,周期性或变迁关系作为边,构建运动图表; ( 3 ) 低维信息指导下的运动合成: 利用低维曲线所呈现出的特征,为需要进行合成的动作单元寻找帧间对应 关系,并进行时间变形( t i m ew a r p i n g ) ,以使动作单元逐帧匹配。在此基础 上,使用偏移映射( d i s p l a c e m e n tm a p p i n g ) 及线性插值方法实现动作的变速、 拼接、融合、混合、移植等合成操作。与此同时,进一步扩充图表,并逐步建 立运动网络,从而使动作单元之间的变迁关系更加丰富多样。 本文共分为六个章节。第二章对本文的研究背景进行介绍,包括前人在动 作生成、降维算法等方面所做的工作;在此基础上,详细阐述本文的关键技 术,提出与前人工作的相似之处及创新点所在。第三章针对目前流行的运动捕 捉技术,详细介绍其工作原理、输入输出、数据格式等基础知识,从而明确了 文中实验数据的获取及使用方法。第四章和第五章是本文的重点所在,根据上 文提出的技术路线,前者对l t s a 算法的原理及其在运动捕捉数据集上的应用 进行了详细阐述;而后者则对降维后的曲线特征进行分析,在该特征的指导下 实现运动序列的合成,并构建交互式的操作平台。我们在这两个章节中穿插了 大量的数据图表和静止帧序列,力求以“可视化”的方式对文中的关键技术进 行描述。最后一章则对全文进行了总结,提出了本文存在的不足之处以及将来 的工作方向。 2 2 研究背景介绍 2 1 动作的生成 获取动画数据的途径有很多种,其原理及技术也大相径庭。根据所用方法 的不同,我们可以将现有的人体动画研究方向分为三大类: ( 1 ) 程序方法( p r o c e d u r a lm e t h o d ) : 使用程序代码生成并控制某时间点上人体关节各自由度的值。为产生丰富 的运动序列,并使其配合周围的外部环境,程序员需要不厌其烦地逐帧指定关 节坐标及其生成规则; ( 2 ) 仿真方法( s i m u l a t e dm e t h o d ) : 该方法使用虚拟人体模型及嵌入在模型关节上的控制器( c o n t r o l l e r ) 来生成 动作序列。为了使产生的动作具有较高的逼真度,动画师必须深刻理解人体运 动原理,并熟练掌握其物理模型及力学模型。目前在商业软件中广泛采用的正 向运动学( f o r w a r dk m e m a t m s ) 与反向运动学( i n v e r s ek i n e m a t i c s ) 均属于该类 方法; ( 3 ) 插值方法( i n t e r p o l a t i o nm e t h o d ) : 该方法在已有的动作库基础上,使用一个或多个插值算法来对原始库中的 序列进行拼接、融合等操作,从而产生新的运动序列。获取动作库的方法可以 是前面提到的程序或动态仿真法,也可以是当前流行的运动捕捉法。作为三大 方向中唯一可以与运动捕捉技术完美结合的方法,插值法已经被广泛应用于研 究和商业领域,其技术和算法也正在目趋成熟。 2 1 - l 基于程序的角色动画生成 在计算机辅助动画控制中,使用程序为角色生成运动序列是最为原始的一 种方法。该方法要求动画师使用程序语言描述动画中发生的一切事件,这些事 件可能是一些简单的变化,如人体关节的平移、旋转和缩放,也可能是关键帧 信息及关键帧间所使用的插值方式;既可以通过显式的方式定义,也可以建立 交互式系统,并使用鼠标、键盘等设备手工控制。【4 7 】中提到的b b o p 就是一 复旦大学硕士毕业论文研究背景介绍 个基于程序法的交互式控制系统,该系统的基本对象模型由分层链接的多面体 对象组成,动画师可以在每个关节点处手工控制其变换矩阵,从而使这个类似 人体骨骼的连杆结构摆出不同的姿态。在这种方法的基础上,可以构建基本的 人体运动序列。 3 8 】则使用程序方法建立了一个完整的动作库,并对其进行合 成与编辑,使其组合成为新的序列。 然而,这种方法对操作人员要求非常高,动画制作者通常必须是程序员。 这就使得该方法不易被熟悉人体运动规律的艺术家们接受和使用,大大降低了 其结果的逼真度和美感。同时,该方法也难以和当前流行的运动捕捉技术相结 合,因此已逐渐被角色动画从业者们淘汰。 2 1 2 基于仿真的角色动画生成 动力学仿真是最早将物理原理引入到动画控制领域的技术。目前我们 常用的动力学仿真方法包括正向动力学( a c t i v ed y n a m i c s ) 、正向运动学 ( f o r w a r dk i n e m a t i c s ) 、反向动力学( p a s s i v ed y n a m i c s ) 和反向运动学( i n v e r s e k m e m a t m s l 。动力学主要涉及物体的内在力,其运动参数通常可以根据初始条 件和物理规则来求解。在已知内在力的情况下,正向动力学可以用来生成人体 或动物的动作;而反向动力学通常只用来计算粒子系统的运动,如烟、火焰、 树叶、水花等。 由于当我们创建角色动画时,通常只知道人体的姿态、速度、路径等参 数,而无法对其内在力有一个量化的了解,因此动力学的方法在动画制作中并 不常用。相反,由于运动学主要涉及点的位置和速度信息,因此在处理关节化 的人体形体动画时就显得特别有用。运动学又分为正向运动学及反向运动学两 种,二者互为逆过程。以图21 中的连杆结构为例,前者是在已知连杆旋转角 度的基础上求端点x 的坐标,而后者是在已知坐标x 的基础上求连杆的旋转角 度。 图2 1 :运动学中的连杆结构 人体骨骼系统作为一个复杂的连杆结构,其空间造型正是由一系列旋转角 度及端点坐标组成。对于人体动画生成而言,反向运动学显然更加直观一些。 4 复旦大学硕士毕业论文 研究背景介绍 当动画师指定人物动作时,大部分的工作都是“目的性”的。也就是说,动画 师可以轻易地知道手或脚这一类端点节点的空间位置,却不一定了解此时肘部 或膝部确切的旋转角度。因此将手直接放到目的地,继而考虑其肘部位置显然 比逐个旋转肩关节及肘关节,以力求将手“凑”到目标位置更为省力。然而, 反向运动学的缺点在于其解通常不是唯一的。例如,当把角色的手放在耳朵上 时,其肘节可位于若干位置( 如胸前或身体侧面) 。但我们可以加入若干约束 条件来限制其解空间,例如要求势能尽可能小,或者满足周围的环境或物体条 件等。 将反向运动学方法运用于人体动画的技术生成由来已久,早在上个世纪 8 0 年代末期就已受到普遍关注。该问题所产生的一系列方程通常用数值迭代 法5 ,1 5 ,5 1 解决,该方法目前已发展得非常成熟,并成为m a y a 、3 ds t u c h o m a x 等商业动画系统中标准的角色动画解决方案。而近年来被广泛使用的运 动捕捉技术也正是依赖反向运动学才得以将输出的运动数据成功应用到基于骨 骼系统的虚拟角色身上。由于大部分的角色动画都需要指定外部约束条件,因 此许多工作都将反向运动学原理与运动捕捉数据的使用结合起来,利用其修正 原有的运动数据,从而使合成后的序列满足约束条件。【4 6 l 就曾使用反向运动 学及路径规划方法来为一条具有六个自由度的手臂创建概率路标( p r o b a b l l l s t m r o a d m a p ) ,从而使其完成抓取物体的动作。【5 3 】使用路径规划的方法确定物体 的移动轨迹,同时使用反向运动学为外部约束条件建立姿态库,并在现有运动 捕捉数据库和姿态库的基础上根据反向运动学规则求解符合要求的人体运动序 列。阻1 则将反向运动学用于经过降维的运动序列,使这些自由度较低的运动具 有合理的姿态,并且满足外部约束条件。 相对于程序方法而言,动力学模拟操作直观,其较强的“目的性”也更加 适合人体的连杆关节结构。但是由于其结果的灵活逼真度主要取决于操作人员 对人体运动原理、人体物理模型及力学模型的理解,因此其结果的质量通常具 有很大的随意性,并不是每次都能生成物理及视觉方面均成功的运动序列。 2 1 3 基于插值的角色动画合成 与上述两种方法不同,插值法的重点不是如何生成丰富逼真的运动序列, 而是如何在保持原有序列细腻感和逼真度的同时,充分发挥其重用性,使其经 过各种插值算法之后,产生更多的可变序列。 这种在已有动画数据的基础上衍生出新特征的思想由来己久。在前人的工 作中,这些技术通常被统称为运动编辑( m o t i o ne d i t l n g ) 或运动融合( m o t i o n b l e n d i n g ) 。其中,运动编辑涉及在一个运动序列中添加一些新特征,从而使 5 复旦大学硕士毕业论文 研究背景介绍 其产生一些细微的变化,如生成新的运动路径、运动速度或不同的目标动作等 等;而运动融合则涉及在数个运动序列间进行合并,从而使一个序列能同时具 备多个序列的特征,如不同序列间的变迁,上半身及下半身动作的融合等等。 随着插值算法功能越来越强大,这两种技术之间的界限正逐渐变得模糊。 在我们之前,已有大量的学者尝试将各种全新或经过改良的插值算法应用 于运动合成中,其中有不少工作已经取得了非常成功的实用效果,而这些也正 是本文的工作基础。 早在1 9 9 5 年,【3 8 】就在其通过程序方法构建的动作库基础上,提取已有序 列中的“情感变换”( e m o t i o n a lt r a n s f o r m ) 因子,并将其融合于其他的序列 中,从而得到不一样的运动数据。例如,从一个“生气地行走”的运动序列中 将“生气”的因子独立出来,并使用到一个普通的跑步序列中去就能生成“生 气地跑步”的新序列。这是关于运动合成的最早尝试。同年,作为运动合成 工作的先驱,【5 2 】提出运动变形( m o t i o nw a r p i n g ) 的理论,率先使用偏移映射 ( d , s p l a c e m e n tm a p p i n g ) 的方法对动作序列的参数曲线进行重叠和融合操作, 在原始序列中加入新的特征,从而实现运动序列的编辑与融合。随后,大量的 工作试图引入多目标融合( m u l t i - t a r g e tb l e n d i n g ) 技术来为运动序列生成直观的 参数空间。【1 1 】使用多目标插值法( m u l t i t a r g e ti n t e r p o l a t i o n ) 和动态时间变形 技术( d y n a m i ct i m ew a r p i n g ) 来实现动作的融合,同时用偏移映射的方法处理 “物品抓取”这一类动作。该方法的意义在于提出了运动合成中的一个关键问 题:即在不同序列进行融合之前,应当选取合适的关键时刻点来对序列的时间 进行有效的变形和对齐。微软实验室的c h a r l e sr o s e 等人也在 4 0 】也曾对这个问 题进行了强调,该方法将运动划分为“动词”和“副词”两类,并在径向基函 数和低阶多项式的基础上,为实例序列生成插值空间,从而在“副词”序列的 帮助下重新组织“动词”序列。除此之外,很多研究人员还尝试在运动序列上 使用加权函数这一最为常见的插值技术。例如, 2 0 】以及 5 0 】建立包含o ( 2 d ) 个序 列( d 代表控制空间的维度) 的数据库,并采用了线性插值的方法。这种方法 的缺点在于它们无法对原始实例的子集进行融合操作,因此无法解决将新序列 插入并拼接到两个原始序列之间这一问题。而【3 7 】则使用了离散数据插值的方 法。该方法与前面提到的大多数工作不一样的地方在于,它并不是采用线性插 值来计算根节点的参数,而是由用户来指定根节点的路径,从而决定其位置和 方向。根据根结点的不同轨迹,p a r k 使用融合技术来决定与当前速度和曲率相 匹配的骨骼结构。但该方法必须基于一个必要的假设:即输入的所有序列必须 足够平滑,并且根节点的路径是可以使用弧线进行拟合的。【2 】提出了南一最近邻 居点插值法,在线性拟合的基础上生成融合权值。值得一提的是,该权值可以 为负数,以便生成与原始序列差别较大的新序列。 复旦大学硕士毕业论文研究背景介绍 在上述各种插值算法层出不穷的同时,运动捕捉技术也正在逐渐成熟。f 8 , 3 2 ,1 7 ,5 6 1 分别对运动捕捉技术的工作原理、数据格式、使用方法等进行了介 绍。【5 0 】以及【4 0 】中率先使用运动捕捉的输出数据作为其动作库的主要组成部 分,并通过在该动作库上构建参数化空间,力求使新序列保持原有捕捉序列的 逼真和细腻。之后,越来越多的运动合成研究开始建立在捕捉数据参数化的基 础之上,并针对其数据特征提出了不同的合成机常t j 6 ,3 ,1 2 ,3 3 ,3 6 1 。【2 9 】提出了 一种新颖的注册曲线( r e g i s t r a t i o nc u r v e ) 数据结构,通过计算两个运动序列之 间的距离找到帧间对应关系,并对运动序列进行动态时间变形,随后用插值实 现序列间的变迁、路径改变等编辑操作。【4 l 】在先前工作的基础上,获取新的运 动捕捉数据,并将其添加构建好的参数空间中,从而提高离散数据插值的准确 性。【5 5 的目的虽然不是提高参数化的精确度,但该工作也对其原始运动序列集 合做了相似的密化处理,以方便其过程中的i k 操作。【3 7 】的数据同样来源于运 动捕捉,该方法通过用户指定的方法定义其速度和曲率,从而生成与原数据完 全不同的运动轨迹。而时空约束( t i m e - s p a c ec o n s t r m n t s ) 作为对运动合成方法 的重要补充【4 2 ,1 8 ,3 4 ,2 4 】,通过对运动数据中某些自由度的值进行时间或空间 约束来提高合成运动的质量。 正如上文所述,运动捕捉技术为高质量的运动合成提供了前提与保障,而 捕捉数据本身固有的特点也导致其合成技术发生了很大的变化。首先,由于运 动捕捉系统直接从真人身上提取运动特征,其数据必然比程序及仿真方法的结 果更为随意、多变,因此由其构建出来的动作库必然更为庞大,其中有的运动 序列可能长达数十分钟,包含各种截然不同的动作单元,如跑、跳、走、踢及 其间的过渡单元等;同一类别的动作单元还可能由于细节部分的微小差异而各 不相同,如跑的类别里可能包括快跑和慢跑、长跑和短跑、疲劳的跑和精力充 沛的跑等等;其次,为体现其逼真性,有些捕捉序列必然涉及与周围环境,如 台阶、物品甚至其他人的交互;同时,一些运动常常伴随有其他事件同时发 生,例如说话的动作伴随着语音出现等等。这些特征使得运动合成的核心不再 仅仅局限于合成算法,而开始囊括诸如动作单元提取、数据库搜索、交互及碰 撞、甚至语音、视频检索等其他领域内的前沿技术。 对于较长的运动序列,其动作单元的切割和提取目前尚未引起关注,这 一方面是由于此类问题可以在获取数据的时候尽量避免,另一方面则可以在 数据预处理期间手工完成。目前最为常用的一种运动单元切割方法是由l u c a s k o v a r 与m i c h a e lg l e m h e r 提出的。他们在【3 1 】中给出了任意两帧动作之间的距 离计算公式,利用该公式,可以找到一段运动序列中出现最为频繁的帧( 或相 似帧) ,将其作为切割点划分动作单元将使得单元之间平滑连接的可能性达到 最大。而由此建立起来的动作单元问的变迁关系就称为“运动图表”。随后, 7 复旦大学硕士毕业论文 研究背景介绍 g l e m h e r 等人构建了一个自动、实时的虚拟现实系统 1 9 】用大量运动捕捉数据 作为输入,自动地进行关键动作分析和图表创建,并在此基础上生成新的组合 序列。 针对运动捕捉产生的大容量数据,【3 0 】提出了针对包含3 7 0 0 0 多帧的大型运 动捕捉数据库的解决方案。该方法将运动划分为“逻辑相似”与“数值相似” 两类,使用序列间的距离矩阵来在数据库中搜索“逻辑相似”而非“数值相 似”的单元,然后沿用其注册曲线的算法对搜索结果进行插值及融合。 针对与周围环境的交互问题,【5 3 】提出使用路径规划( p a t hp l a n n i n g ) 的方 法确定物体的移动轨迹,并使用反向运动学作为指导,修正及编辑原有运动 捕捉数据,合成人体与外部物体发生交互( 如搬箱子、取物体等) 的运动序 列。【5 7 】则解决了人与人之间的交互。该方法使用驱动式动力模型( a c t u a t e d d y n a m i cm o d e l l 对发生碰撞时的反应作出预测及参数化模拟,将这些参数作为 关键字搜索数据库中的相似序列,通过对结果进行插值融合来实现人与人之间 的碰撞、对打等交互运动。 除此之外,还有一些学者另辟蹊径,将运动合成与语音、视频检索、卡通 等多媒体技术融合起来,生成面向特殊领域的应用实例。【2 2 】对音乐节拍及动 作节拍进行分析与比对,生成华尔兹舞蹈等与背景音乐完全“合拍”的运动序 列;【4 8 】创建语音库及动作库,通过对二者进行同步与拼接操作,实现不同语音 与不同手势、动作之间的匹配。【4 】将高维运动内嵌到低维的欧氏空间中,通过 寻找运动序列中的关键姿势来简化视频或长序列的记录和检索工作。【1 0 贝l j 将运 动捕捉技术再次用于二维领域,利用运动合成的方法为卡通角色生成新动作。 2 2 降维技术 从高维数据集中寻找嵌入的低维参数空间、并从中发现和学习其内在规律 一直是机器学习和数据分析的主要目标,其关键之处在于既要保持样本数据在 原始高维空间中的局部几何信息,又要尽可能的减少冗余维度。从几何结构 来看,传统的数据分析一般是建立在全局线性结构下完成的,而面临的数据 集合往往呈现高度的非线性。常规的降维方法,如线性主成份分析( p r i n c i p l e c o m p o n e n ta n a l y s i s ,简称p c a ) ,因子分析( f a c t o ra n a l y s i s ) 等,若使用在 非线性流形情况下,会把原始空间中很靠近的两个点映射成低维空间中距离很 远的两个点,从而不能给出任何内在实际维数的描述。产生这一现象的主要原 因是这些方法在分析数据时强行地假定了变量间独立无关,而实际中面临的数 据变量间更多地表现为高度相关性和耦合性。因此要寻找内在低维结构与高维 数据之间的联系,我们需要从数据集在高维空间中呈现的非线性来重新认识数 8 复旦大学硕士毕业论文 研究背景介绍 据集的几何结构。 近年来,学者们提出了很多种用于非线性降维的技术,如主曲线【2 1 】、多元 尺度分析( m u l t i - d i m e n s i o n a ls c a h n g ,简称m d s ) 【9 】、自编码神经网络( a u t o - e n c o d e rn e u r a ln e t w o r k ) 【2 8 】、自组织映s o m 2 8 1 、k e r n e lp c a 【4 5 1 、线性混 合模型( t i p p i n g1 9 9 9 ) 、局部线性嵌套( l o c a l l yl i n e a re m b e d d i n g ,简称l l e ) 1 4 3 1 和拉普拉斯特征映射【7 】等。所有这些方法在实际应用中都不可避免的存在种 种缺陷:m d s 和神经网络难以训练而且非常耗时;局部化线性混合模型则要求 用户设定大量参数,而且这些参数通常特定于某一数据集并直接决定了该模型 适合该组数据集的程度。 最近,z h a n g 和z h a 在【5 4 】中提出了局部切空间对齐( l o c a lt a n g e n ts p a c e a h g n m e n t ,简称u i s a ) 模型。l t s a 算法能够对局部切空间的重构误差进行局 部最小化,其优点有: ( 1 1 只需设定两个参数即最近邻数量和低维空间的维数; ( 2 ) 全局优化过程并不包含局部最小值; ( 3 ) 能够在低维空间中保持数据集在原始高维空间中的局部几何特征; ( 4 1 较之l l e 等流形学习算法,l t s a 能够通过分析局部切空间的结构检 测出潜在流形的内在维度。 2 3 基于降维的动作生成 虽然基于插值的运动合成能产生较为理想的逼真效果,但其计算量却会随 着数据库大小及环境交互复杂度的上升指数级增长,因此,降维正逐渐成为运 动合成领域的一大关键技术。正如上文中提到的,人体作为一个复杂的连杆机 制,是由大量的关节及骨骼结构组成的。任意一个关节发生平移或旋转都有可 能导致最终的姿势和动作产生巨大的差别。运动捕捉技术之所以能逼真地重现 人体的动作,正是由于它能准确的记录每个时刻点上人体关节及骨骼微妙的变 化。这些变化的信息可能是空间位置及旋转角度,也可能是运动方向,速度、 加速度,还有可能是外部的约束条件。通常我们至少需要数十个参数才能准确 描述一个静止的姿态,而一个动画序列可能由上百、甚至上千个这样的静止姿 态组成的,由此可见运动序列的维度相当高。若直接将这些高维数据用于编辑 与合成,虽然能够得到逼真度较好的动作序列,但高维信息将会严重影响计算 的速度及复杂度。因此,若能在对数据进行合成之前对其进行处理,使其既保 留原运动序列的关键特征,复杂度又能得到降低,将会大大提高后续数据操 作,如搜索、变形对齐、合成等工作的效率及综合质量。 降维技术无疑为该问题给出了最为直观的解决方案。事实上,前人在这方 9 复旦大学硕士毕业论文研究背景介绍 面已做过一些尝试,其工作主要集中在两个领域:一是基于数据的动画领域 ( d a t a - d r i v e na m m a t l o n ) ,二是机器人学及自动化领域。这两者的工作重心和 目的各有差别。 在动画领域内作出尝试的多半是一些深感计算难度过大、运算速度过低甚 至影响研究的动画师,其对数据进行降维的主要目的是降低原始数据复杂度, 使其便于进一步的搜索、融合与编辑。在工作中,他们多采用手工方法或者常 规的降维算法,这些算法由于自身的局限性,并不能将动作捕捉数据的维度降 至很低,但对于动作合成操作来说,其结果已经足以满足动画师们的要求了。 其中有的工作致力于降低自由度的个数,如【3 5 ,1 3 ,1 】都曾证明跳水动作中的自 由落体部分可以用较少的自由度表现,并用于简化的角色身上;【2 3 1 则用复杂 度相似的角色完成了举重、伏地挺身等更为复杂的运动序列。有的工作则致力 于对复杂角色的简化,【3 9 1 则使用手工方式,根据目标运动剔除角色中不必要 的自由度,从而使运动捕捉数据发生较大变化,在对运动进行优化之后再将其 重新映射到完整角色身上。( 4 9 】曾尝试在一到两个运动捕捉序列上使用p c a 算 法进行降维,但结果却并不理想,当运动序列的维度降到1 6 个自由度以下时, 其结果不能满足该运动的外部约束条件。【4 4 】沿用了相似的思想,提出在运动 合成之前使用p c a 算法为现有的运动捕捉数据寻找包含运动关键属性的低维 空间,根据该降维优化的结果对人体运动及其约束条件做出合理的猜测及指 导。该方法使用p c a 算法将维度降到比【4 9 】更低,却获得了理想的结果。这一 方面是由于后者使用了多组序列来生成低维运动空间的基,而不像前者一样只 用了一组;另一方面是由于后者在生成该基的同时为优化过程加入了反向运动 学规则。【1 6 1 为运动捕捉数据构建了一个基于低维空间的行走引擎。该引擎使 用p c a 算法将人体行走序列降至4 维以下,并在归一化和时间变形操作后,通 过对低维数据进行内插值和外插值,实时地实现行走的速度变化及主体高度变 化。 而在机器入学及自动化领域,也有很多将降维算法应用于运动序列处理的 先例。与动画领域内的工作不同的是,这些研究的重心并不是角色动画本身, 而是集中在数值计算及机器学习方面。它们通常致力于对降维算法的创新和改 良,并积极寻找于不同算法所适用的领域。而运动捕捉数据作为一个重要的高 维度数据实例,正是这类研究工作重要的应用方向之一 1 4 】提出人体运动序列 是由一系列原型( p r i m i t i v e ) 所构成的,该方法首先对运动捕捉序列进行滤波和 分割,随后在分割好的动作段上应用p c a 算法,其结果中最大的几个特征值所 对应的特征向量就是构建整个动作空间的原型基,并且可以用于运动序列的重 建。 2 5 1 及【2 6 1 中沿用了这种思想,不同的是p c a 算法被时间一空间域上的非线 性降维算法i s o m a p 所取代,该方法的核心是使用i s o m a p 找出运动数据中存在 1 n 复旦大学硕士毕业论文 研究背景介绍 的时空依赖性,从而对动作段进行有效的聚类,并将每一类用一个原型进行概 括。随后,【2 7 】对i s o m a p 算法进行了改进,引入了最短路径机制来处理其相邻 点间的时空关系。虽然这一系列工作所生成的结果动画在逼真性和连贯性方面 都并不理想,但从学术的角度来看,它们对于运动序列的降维研究工作仍然具 有深远的意义。 2 4 本文技术路线分析 在对前人的工作进行分析和总结后可以看到,目前虽然有很多处理运动序 列的方法,但由于运动数据和算法本身的局限性,导致这些方法都有着不可克 服的缺点。具体的说,插值虽然是目前最为广泛利用的运动合成途径,但应用 在逐帧动画中却呈现出计算量大,复杂性高的特点;尤其当研究人员为保证运 动的逼真性而越来越多的采用运动捕捉数据后,数据本身具有的高自由度,以 及序列持续时间越来越长的趋势都导致需要进行插值的数据量急速上升。在这 种情况下,即使插值算法能够提供相对逼真的合成效果,其低下的计算速度也 迫使很多研究者不得不采用其他合成途径。降维算法的引入使得运动数据的计 算复杂度有所改善,但现有的技术有的降维程度较低,无法从根本上改变问 题;有的则因为使用的降维算法不当,导致计算过程中运动信息损失过多,失 去原有序列的运动特征和逼真性。同时,这些方法还有一个共同的缺点,即直 接使用降维后的序列进行合成。在对降维算法进行研究后可以发现,不论选择 何种算法,维度的降低都会从一定程度上导致原有数据信息的损失,因此若直 接对信息损失后的运动序列进行合成,得到的结果在逼真性及连续性方面必然 与原有序列相差甚远,这显然违背了运动合成工作的初衷。 而本文则综合了降维算法和插值动画的思想,力求使运动合成工作的“速 度”和“质量”同时得到保证。我们采用与【1 9 】及【2 9 类似的合成思想,即先将 运动捕捉序列划分为基本动作单元,根据其帧问的对应关系对其进行时间变 形,对齐后再通过插值将动作单元进行合成。在对该方法进行实践的过程中我 们发现,大量的时间和计算量被花费在使用动作距离公式寻找动作单元的划分 点和时间变形所需的帧对应关系上;同时,用户还需要根据经验手工的指定距 离阈值,所给定的阈值不同,得到的动作单元划分和帧对应关系也会大相径 庭。我们认为,动作单元的划分应当与运动序列固有的属性相关,并遵循一定 的客观规律,而不应当受到主观判断的影响。如何避免距离公式带来的大规模 计算量,同时又能找到运动序列的内在属性,从而精确快速的划分动作单元并 确定帧对应关系,成了使运动合成兼具“速度”和“质量”的关键。在这样的 前提下,我们提出使用新兴的非线性降维算法l t s a 来对运动序列进行降维, 复旦大学硕士毕业论文研究背景介绍 该方法能够在保留运动序列固有特征的前提下,大幅度降低其自由度数量。实 验结果表明,l t s a 能够帮助我们快速的寻找运动中存在的规律,如周期性、 动作的变迁等等。在此基础上,本文提出了前人没有涉及到的一个合成方法, 即使用降维的方法来寻找动作单元和帧间的对应关系,但并不在降维后的数据 上直接进行合成操作,而是以该低维曲线的信息作为参考,回到高维空间对原 序列进行单元划分及时间变形。同时,本文对合成中涉及到的运动图表、插值 算法及操作流程等亦进行了改进,提出了一些具有原创性的概念及思路。 综上所述,本文主要具有以下几个创新点: ( 1 ) 降维方法的选择: 与所有现有的降维合成方法不同,本文没有遵循常规的线性方法,而是采 用了【j t s a 这种能精确保留运动数据局部几何特征的非线性降维算法,并在运 动分析中取得了非常好的效果。 ( 2 ) 降维方法的使用: 本文并没有像其他降维合成方法一样,在低维运动数据上直接进行合成操 作来生成新的序列。而是将降维作为对运动序列的预处理过程,代替合成中的 距离公式来寻找运动序列中固有的基本动作单元及帧间对应关系,并指导时间 变形和运动图表的构建。为保证生成序列的逼真性和连续性,所有插值操作仍 然是回到高维空间中进行的。 ( 3 ) 运动图表的构建: 本文虽然沿用了 3 1 1 中“运动图表”( m o t i o ng r a p h ) 的名称,但其实际概 念及构建方法却有很大差异。在 3 1 1 中,节点代表单帧的动作,边标识出可以连 续播放的帧序列,通过使用动作距离公式计算“公共姿势”( c o m m o np o s e ) 建 立图表;而在本文中,节点代表基本动作单元或通过合成产生的过渡单元,边 则代表单元间的变迁关系,通过分析低维曲线建立图表,同时在合成过程中随 着新序列的生成对其进行扩展。 ( 4 ) 插值方法: 本文针对运动拼接和运动融合两种应用,采用了不同的插值算法。在处理 周期性序列的自拼接以及不同序列的直接拼接时,我们使用【5 2 】提出的偏移映射 算法;而在处理运动融合时,我们则采用线性插值的方法。不同的是,在插值 前对原始序列进行时间变形,使其在时间和速度上进行对齐;而在将运动进行 融合之后再次对整个合成序列进行速度上的扰动,这样做既能避免序列连接处 发生跳帧或不连续,也能真实体现整个序列上的速度变化关系。 1 9 3 运动捕捉技术原理 3 1 运动捕捉的发展历史及分类 动作捕捉技术的研究开始于二十世纪七十年代的美国,迪斯尼公司最早用 该技术生成人物动作,并借助这些数据完成二维卡通片中的动作编排。当时, 纽约计算机图形技术实验室的r e b e c c aa l l e n 设计了一种光学装置,将演员的 表演姿势投射到计算机屏幕上,作为动画制作的参考。二十世纪八十年代,美 国b l o m e c h a n i c s 实验室、s i m o nf r a s e r 大学、麻省理工学院等纷纷开展了计算 机人体运动捕捉的研究。此后,运动捕捉技术吸引了越来越多的研究人员和开 发商的目光,并从实验性研究逐步走向了实用化。1 9 8 8 年,s g i 公司开发了可 捕捉人头部运动和表情的系统。随着计算机软硬件技术的飞速发展和动画制作 要求的提高,目前在发达国家,运动捕捉已经进入了实用化阶段,有多家厂商 相继推出了多种商品化的运动捕捉设备,如v i c o n 、m o t l o n a n a l y s i s 和我国的大 连东锐软件,其应用领域也远远超出了表演动画,被成功地用于虚拟现实、游 戏、人体工程学研究、模拟训练、生物力学研究等许多方面。 运动捕捉的分类方法有很多种。从应用角度来看,可以分为表情捕捉和身 体运动捕捉两类;从实时性来看,可以分为实时捕捉系统和非实时捕捉系统两 类:而从工作原理角度来看,则可分为机械式、声学式、电磁式和光学式。不 同原理的设备

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论