(计算机应用技术专业论文)动作改编技术研究.pdf_第1页
(计算机应用技术专业论文)动作改编技术研究.pdf_第2页
(计算机应用技术专业论文)动作改编技术研究.pdf_第3页
(计算机应用技术专业论文)动作改编技术研究.pdf_第4页
(计算机应用技术专业论文)动作改编技术研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)动作改编技术研究.pdf.pdf 免费下载

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

文档简介

浙江大学硕十学位论文 摘要 摘要 在计算机动画中,人物角色的动画通过动作数据来驱动和表达的。动作数据 有很多生成方式,包括关键帧动画、动作捕捉、物理模拟、动作编辑和重用等。 动作重用作为一种动作生成手段,已成为了近几年计算机动画的研究热点。动作 改编是动作重用的重要技术手段之一,它极大丰富了动作生成的途径,在计算机 角色动画中有着非常大的研究意义。 从本质上来说,动作改编是种比较高层的动作编辑与合成技术。他的目标 就是根据用户的需求调整现有的动作来生成新的动作。由于是比较高层的,所以 极大方便了用户与计算机的交互,从而使动画创作更加有效。从技术上来讲,动 作改编需要解决好两个方面的问题:第,改编后的动作要保持原有动作的特性; 第二,改编后的动作要满足用户的需求。 本文主要讨论和研究计算机角色动画中动作改编的相关技术和实现。我们主 要介绍和实现了两类动作改编技术:基于插值的动作改编和基于时空约束的动作 改编。基于插值的动作改编用到了动作位移映射,样条曲线插值等技术。基于时 空约束优化的动作改编用到了动作位移映射,b 样条曲线逼近,约束优化求解等 技术在这里主要讨论两类非线性约束优化求解方法:阻尼非线性最小二乘和序 列二次规划。这砖类动作改编功能已经集成到我们开发的n o v a 动作检索,编辑 与合成平台,并且作为可交互控制的动作编辑手段有了较好的应用。 关键词:计算机动画,动作重用,动作改编,动作位移映射,逆向运动学,时空 约束,约束优化求解,阻尼非线性最小二乘,序列二次规划 浙江大学硕士学位论文a b s t r a c l a b s t r a c t i nc o m p u t e ra n i m a t i o n ,c h a r a c t e ra n i n l a t i o ni se x p r e s s e da n dd r i v e nb ym o t i o n d a t at h e r ea r es e v e r a lw a y st o g e n e r a t em o t i o n s ,i n c l u d i n gk e y f r a m ea n i m a t i o n m o t i o nc a p t u r e ,d y n a m i c s i m u l a t i o n ,m o t i o nr e u s i n ga n ds oo n m o t i o nr e u s i n g t e c h n i q u eh a sb e e nt h e h o tf i e l di nc o m p u t e rc h a r a c t e ra n i m a t i o n a n dm o r i o n a d a p t a t i o n ,w h i c hi so n eo fi m p o r t a n tt e c h n i q u e si nm o t i o nr e u s i n g e n r i c h e st h ew a v o fg e n e r a t i n gm o t i o n s a n dh a sah i g hr e s e a r c hw o r t hi nc o m p u t e rc h a r a c t e ra n i m a t i o n i ne s s e n t i a l m o t i o na d a p t a t i o ni sah i g h - l e v e lm o t i o ne d i t i n gt e c h n i q u e t h eg o a l o fw h i c hi st oa d j u s te x i s t i n gm o t i o nd a t at og e n e r a t en e wm o t i o na c c o r d i n gt ou s e r s r e q u e s t b e c a u s eo fi t sh i g h l e v e le d i t i n g ,m o t i o na d a p t a t i o ni se a s yt ou s ea n di n t e r a c t w i t h ,l e a d i n gt om o r ee f f i c i e n ta n i m a t i o np r o d u c i n g a tt h ev i e wo ft e c h n i q u e ,t h e r e a r em a i n l yt w oi s s u e si nm o t i o na d a p t a t i o n f i r s t l y , t h ea d a p t e dm o t i o nm u s tm a i n t a i n t h ec h a r a c t e r i s t i co f t h eo r i g i n a lm o t i o n s e c o n d l y , t h ea d a p t e dm o t i o nm u s ts a r i s f yt h e u s e r s r e q u e s t i nt h i sp a p e r , w em a i n l yd i s c u s st h em o t i o na d a p t a t i o nt e c h n i q u e si nc o m p u t e r c h a r a c t e ra n i m a t i o n w em a i n l yi n t r o d u c ea n di m p l e m e n tt w om o t i o na d a p t a t i o n t e c h n i q u e s :i n t e r p o l a t i o nb a s e dm o t i o na d a p t a t i o na n ds p a c e t i m ec o n s t r a i n tb a s e d m o t i o na d a p t a t i o n i ni n t e r p o l a t i o nb a s e dm o t i o na d a p t a t i o n w eu s et e c h n i q u e ss u c ha s m o t i o nd i s p l a c e m e n tm a p p i n g c u b i cs p l i n ei n t e r p o l a t i o na n ds oo n i ns p a c e t i m e c o n s t r a i n tb a s e dm o t i o na d a p t a t i o n w eu s et e c h n i q u e ss u c ha sm o t i o nd i s p l a c e m e n t m a p p i n g ,b c u b i c s p l i n e ,n o n - l i n e a rc o n s t r a i n to p t i m i z ea n ds oo n w eu s e d n l s ( d a m p e dn o n - l i n e a rl e a s ts q u a r e ) a n ds q p ( s e q u e n t i a lq u a d r i cp r o g r a m m i n 曲i n c o n s t r a i n tb a s e do p t i m i z a t i o n w eh a v ei n t e g r a t e db o t hm o t i o na d a p tt e c h n i q u e si n t o o u rm o t i o nm a s t e rp l a t f o r mn o v a ,a n db o t ho ft h e mw o r kw e l la saw a yo f j n t e r a c t i o n c o n t r o l l a b l em o t i o ne d i tt 0 0 1 k e y w o r d s :c o m p u t e ra n i m a t i o n ,m o t i o nr e u s i n g , d i s p l a c e m e n tm a p p i n g ,i k ,s p a c e t i m ec o n s t r a i n t , n o n - l i n e a rl e a s ts q u a r e ,s q p m o t i o na d a p t a t i o n ,m o t i o n c o n s t r a i n t s o l v i n g ,d a m p e d 浙江大学硕士学位论文留目录 图目录 图2 - i 动作数据重用系统的一个典型框架( 选自【1 8 】) 6 图3 - 1 骨架模型示意1 l 图3 - 2 直接编辑动作曲线和动作位移映射方法的比较,选自【7 】1 5 图4 1 平移编辑丁具1 7 图4 - 2 鼠标平移操作。1 8 图4 - 3 旋转编辑工具1 9 图4 4a r c b a l t 实现技术示意图2 0 图4 - 5e 关于蛾的一阶偏导求解示意图2 3 图5 - 1 各个参数对曲线形状的影响2 8 图5 - 2 基于插值的动作改编交互示意图 图5 - 3 基于插值技术的动作改编的结果示意图 图6 - l 约束优化框架 图6 - 2 稀疏矩阵示例 3 ( 1 3 2 ,3 7 ,4 0 圈6 - 3j a d 存储步骤( 选自【2 2 】) 4 2 图6 - 4 基于时空约束的动作改编对话框4 9 图6 - 5 基于时空约束的动作改编示例,5 0 图6 - 6 用不同的初值设定产生的改编动作的效果对比5 2 图7 - ln o v a 系统主界血截图5 4 1 1 1 浙扛大学硕士学位论文表目录 表目录 表2 - 1 不同动作捕捉技术的比较5 表4 - l 逆向运动学算法框架,2 2 表5 l 基于插值方法的动作改编算法框架 表6 - i 阻尼非线性最小二乘算法框架 表6 - 2s q p 算法步骤。 表6 - 33 d 行走动作的几个动作改编的执行速度。 2 9 4 6 4 8 5 :1 浙江大学硕士学位论文第1 章绪论 第i 章绪论 计算机软硬件技术的飞速发展,在媒体娱乐领域掀起了一场数字化技术革命, 给媒体和娱乐产业带来了翻天覆地的变化。这场变革的最大特点就是将以往基于 模拟的媒体创作方式数字化,从而利用计算机强大的处理能力来给人们带来视 觉,听觉,触觉等多种感官的全新体验。计算机动画技术,作为数字化媒体技术 的一个重要组成部分,在电影,视频游戏等领域中有着广泛的应用。并且随着计 算机动画技术的深入研究,它在媒体娱乐产业中的应用必将更加广泛,作用更加 突出。 1 1 计算机动画技术 计算机动画技术是指用程序或工具生成一系列的静态画面,然后通过画面的 连续播放来反映对象的动态变化过程的这样一种技术。它一般可以分为二维动画 和三维动画。二维计算机动画技术主要以二维的图象处理和操作为核心( 比如精 灵动画) ;三维计算机动画技术是在二维动画的基础上发展而来的,主要涉及建 模、动画渲染以及运动控制等等。计算机动画技术与传统动画方法的区别主要在 于传统动画中原本由用广( 动画师) 绘制出在每一帧转化为用户指定这些帧的图 像如何随时间改变高强度的、苇复的绘制工作用计算机来完成,从而免去了大量 的人力工作。目前在二维动四中计算机还不能发挥核心作用,而只能起到辅助作 用( 比如中间帧的生成,美术技法的模拟等等) 。但是在三维动画中,计算机发 挥的作用大得多,甚至可以说是不可替代的。本文主要关注于计算机三维角色动 画,所以在后续讨论中一般均指二维角色动画。 计算机角色动画是计算机动画中非常重要的组成部分,在电影,视频游戏和 交互式娱乐中的应用非常广泛。近年来,随着计算机图形硬件袒计算机动画技术 的飞速发展,计算机动画在数字媒体中发挥着越来越重要的作用,出现了大量优 秀的动画电影和视频游戏。从技术上说,汁算机角色动画主要是基于关键链接的 模型的动画,它的模型表达为一组物体的集合,各个物体之间通过树状的,层次 式关节点结构进行连接。在这类动画中,又以人物动画和动物角色动画最为常见。 通常,我们称这种层次结构为骨架。通常我们用动作数据来驱动骨架形成动画。 浙江大学颂十学位论文第1 章绪论 为了使动画有生动的表现力,通常要为动画角色建一个模型( 可以通过m a y a , 3 dm a x 等建模软件) ,我们可以称之为“皮肤”,皮肤其实是一个网格模型( m e s h ) , 它定义了动画角色的外形,材质,纹理等等,通过“皮肤”,可以使动画角色栩 栩如生。在角色动画里,我们需要把“皮肤”绑定到骨架上,并有骨架运动来驱 动“皮肤”的运动和变形,这个技术称为“蒙皮动画”。在“蒙皮动画”技术中, m e s h 模型中的每个顶点( 除了位置信息,还可以是法向信息) 都绑定到一个或 多个骨骼关节点上,每个绑定都有相应的权值。骨架运动时,根据骨骼节点的位 置和朝向信息,通过加权和可以得到m e s h 顶点的位置等信息,从而驱动了皮肤 的动画。 虽然计算机动画技术取得了非常大的进展,并广泛地应用到了数字娱乐,教 育,军事等领域。但是不可台认,计算机动画领域中还有很多问题需要解决,比 如大规模场景的实时绘制和交互,角色动画的高效生成等等。我认为计算机动画 技术还有很大的空间去深入和发展,在人们的工作和生活中产生更大更积极的作 用和影响。 1 2 角色动画中的动作改编 在计算机角色动画中,人物角色的动画通过动作数据来驱动和表达的,动作 数据的质量直接影响动画的质量,所以可以这样说:动作数据是计算机角色动画 的核心。为了表达形形色色的角色动画,必须要有大量各种各祥的动作数据,这 些动作数据总体上说是非常庞大的。那么我们如何得到这么庞大的一个动作数据 库呢? 目前最方便有效的方法之一是通过动作捕捉设备来得到动作数据,但即使 是这样,还是满足1 i 了计算机角色动画的需求:首先,动画创作是只受想象力约 束的。有太多的动作是光靠动作捕捉设备应付不来,甚至无法完成的( 比如很夸 张的动作,表演者根本做不出来) ;其次,很多动作可能只有微小的区别( 比如 行走动作,可能只有步幅不一样,或者行进路线不一样) ,如果每个这样的动作 都要通过捕捉设备捕获,不仅繁琐,而且成本会比较高。面对这样的一个问题, 基于现有动作的动作重用技术慢慢变成了计算机角色动画中一个研究的热点问 题,而动作改编正是这样的一个动作重用的技术。 2 浙江大学硕士学位论文 第1 章绪论 从本质上来说,动作改编是一种动作编辑与合成技术,只不过动作改编是作 为一个比较高层的动作编辑技术的身份出来的。他的目标就是利用现有的动作根 据用户的需要来衍生出各种与之同类但又有微小区别的动作,这里的“微小区别” 是用户根据需求施加到原来的动作上的。在动作改编里,用户施加的要求是比较 高层的,比如关节点位置步点路径等等,由于是比较高层的,所以极大方便了 用户与计算机的交互,从而使动画创作更加有效。总的来说,动作改编作为动作 重用的手段之一,极大丰富了动作生成的途径,是动作捕捉技术的极大补充,在 计算机角色动画中有着非常大的研究意义。 从技术上来讲,动作改编需要解决好两个方面的问题。第一,改编后的动作 和原来的动作应该是“同类”动作,也就是说要保持原来动作的特点,比如走的 动作还应该是走的动作,而不是其他的动作。第二,改编后的动作要满足用户施 加的需求。这两个问题其实有互相矛盾的方面,有时候不能同时满足,这时我们 就需要做一个折衷。这也是本文主要要讨论的问题 1 3 本文的研究问题和组织结构 本文主要讨论和研究计算机角色动画中动作改编的相关技术和实现,其中重 点讨论了基于时空约束优化的动作改编技术。并结合n o v a 动作检索。编辑与合 成系统对相关技术进行说明。 本文其他部分的组织结构如下: 第二章介绍了计算机角色动画中动作生成和动作重用技术的技术背景和相关 工作。第三章对动作改编需要的一些预各知识做了介绍,包括动作数据的表示和 编辑方式。第四章我们介绍了两类常用的动作编辑t 具( 旋转平移等基本编辑工 具和逆向运动学1 二具) 。我们将在第五章和第六章中介绍基于插值技术的动作改 编方法和基于时空约束的动作改编方法,这两章是本篇论文的重点。最后在第七 章中,我们给出了关于动作改编技术的总结和后续研究的展望。 浙江大学硕士学位论文第2 章相关研究工作 第2 章相关研究工作 2 。l 动作的生成 动作的生成方法总体上可以分为两类:动作的创建和动作的重用。动作的创 建不依赖于其他的动作,创建出来的动作本身作为原始动作使用。动作的重用则 是在已有动作的基础上利用各种动作编辑合成手段生成新的动作。目前,主要有 四种动作生成的方法:关键帧动画,基于物理模拟的动作自动生成,动作捕捉, 动作的编辑和重用。其中前三种属于动作创建,最后一种属于动作重用。下面将 依次介绍每种方法。 2 1 1 关键帧动画 关键帧动画是传统的动画制作方法。在这种方法中,由动画师编辑好关键帧, 然后通过插值得到中间帧,生成整段动作。计算机在这种方法中的主要用处是提 供给动画师一个创作关键帧的丁具( 逆向运动学技术是一个非常有用的工具) , 以及完成中间帧的插值工作。一种简单而有效的插值是对关节点朝向的球面线性 插值( s l c r p ) ,当然后来也出现了一些更为复杂的参数化插值算法,目的是保证 生成动作的真实度。关键帧动画的不足之处在于制作效率比较低,他不仅要求动 画师有很好的技巧和经验,而且需要很大的t 作量和成本。 2 1 - 2 基于物理模拟的动作自动生成 这种方法得益子物理模拟技术的进步和成熟,现在已经有一些比较成熟的物 理模拟引擎( 比如o d e ) 。这种方法首先建立一个动画角色的物理模型,然后施加 外力驱动角色物理模型,生成动作。这种方法往往结合生物运动学约束和动力学 约束,在生成有一定的目标导向( g o a l - d i r e c t e d ) 的动作方面效果比较好,比如 人的走路和跑步动作的生成 1 2 】【1 3 】 1 4 】。基于物理模拟的动作生成具有方法自 动,对制作者的要求不高的优点。但是他也有很多的缺点。首先,物理模拟的计 算量还是比较大的;其次在物理模拟的过程中,用户不能干涉和控制动作的生成, 导致生成的动作可能不是用户需要的:最后,这种方法只适用于几类特定的简单 浙江大学硕士学位论文 第2 章相关研究工作 动作,对复杂动作的生成无能为力,应用很有限。 2 1 3 动作捕捉 动作捕捉技术是近年来兴起的技术,并成为现在获取动作数据最有效最方便 快捷的技术。他的基本原理是通过精确记录演员各个身体部位在三维空间中的位 置,通过这些位置得到的动作数据能够真实地还原人体的姿势。目前常用的运动 捕获技术主要有机械式、声学式、电磁式和光学式,其中以电磁式和光学式最为 常见。表2 - 1 给出了这些技术之间的比较。本文系统中用的实验动作数据就是通 过美国m o t i o na n a l y s i s 公司的动作捕捉终到的 2 0 l 这种方法也有他的不足之处。首先动作捕捉设备比较昂贵,特别是常用的光 学式捕捉设备。另外捕捉的动作受限于表演者,一般只适用与骨架结构与表演者 相同或类似的角色动画( 最常用于人物角色动画) ,并且不能生成一些表演者无 法做到的夸张动作。 表2 1 不同动作捕捉技术的比较 捕获技术成本 精度 捕捉范围 环境要求和灵敏度 机械式捕低较高对表演者的动作阻碍和限无,可以做到实时测量 获技术 制很大 声学式捕较低 低 卢源和接收器间不能有大受噪声和多次反射等地 获技术的遮挡物体干扰较大,实时性较差 电磁式捕较低高允许表演范围比光学式要对环境要求严格,在表 获技术小,特别是电缆对表演者演场地附近不能有金属 的活动限制比较大,对于物品,否则会造成电磁 比较剧烈的运动和表演不场畸变,影响精度。速 适用度快,实时性好 光学式捕高高表演者活动范围大,无电对于表演场地的光照、 获技术 缆、机械装置等的限制, 反射情况有一定地要 表演者可以自由地表演,求,实时性好 使用很方便 浙江太学硕十学位论文第2 章相关研究工作 2 1 4 动作的编辑与重用 这种方法利用动作编辑与合成技术对已有的动作进行修改,生成符合要求的 新的动作。这种方法能相对廉价且省时的生成新动作,所以对动画制作有非常大 的意义,并且还有很多挑战性的问题需要解决,目前已经成为计算机动画领域的 研究热点之一。我们将在章节2 2 中介绍。 2 2 动作的重用 动作重用技术已经成为当前计算机动画领域的研究热点之一。这种方法的总 体思路是利用已有动作来再生出新的动作。一个典型的数据重用框架如图2 - 1 所 示:对于新动作的要求,首先通过运动的查询检索从数据库中找到候选动作( 候 选动作可以是多个) ,然后利用这些候选动作,运用运动编辑和合成技术,生成 结果动作,用户可以进行多次这样的循环来最终得到满意的结果动作。动作重用 的核心技术在于两个方面:动作数据库构建技术与动作编辑和合成技术。其中动 作数据库的构建是蕈用的基础,动作的编辑和合成技术是动作数据重用的质量保 证。 图2 - 1 动作数据重用系统的一个典犁框架( 选卧1 8 】) 6 浙江大学颂士学位论文第2 章相关研究工作 本文主要讨论动作编辑和合成技术,我们假设已经从数据库中检索到比较好 的候选动作,讨论如何运用动作编辑和合成技术生成一段符合要求的高质量的动 作。动作编辑与合成是一个笼统的概念,他包括动作混合,串接。拼接,改编 ( a d a p t a t i o n ) ,动作重定向( r e t a r g e t i n g ) 等等。多年来,学者们提出了多种动 作编辑与合成的技术方法。总体上可以分成以下几类技术路线:信号处理方法, 约束优化方法和基于统计学模型的方法。下面将对这三中方法分别做介绍。 2 2 1 信号处理方法 信号处理方法将动作数据看成是采样下来的时序信号,通过图像和信号处理 技术对动作信号进行编辑,生成新的动作信号,从而形成新的动作。在这方面的 工作中,b r u d e r l i n 和w i l l i a m s 1 1 利用图像和信号处理中的多级滤波 ( m u l t i r e s o l u t i o nf i l t e r i n g ) ,波形变换( w a v e s h a p i n g ) 等技术对动作数据( 动作 信号) 进行处理来实现对源动作的编辑和修改,他还首先提出了动作位移映射 ( m o t i o nd i s p l a c e m e n tm a p p i n g ) 方法,在动作编辑和合成领域产生了很大的作 用,被后来很多动作编辑方法所用到。w i t k i n 和p o p o v i7 c 【2 】提出一种类似的技 术:动作变换( m o t i o nw a r p i n g ) ,它其实是动作位移映射的一个变种。这些信 号处理方法的优点在于快速高效,可以进行实时的交互编辑,特别是对于一些简 单的动作编辑和修改( 混合,串接等) 有比较好的效果。但是由于动作信号不能 显性地描述动作特征,冈此这种方法不直观,难以对其编辑要求进行直接的支持, 同时由于这种方法通常只对动作数据的单个自由度操作,所以在整体动作协调万 面效果不是很好。 2 2 2 约束优化方法 这种方法在源动作上添加各种约束( 包括关节朝向,位置,运动学和动力学 约束等) ,将动作编辑操作转换成约束优化求解问题,通过约束优化求解来得到 新动作。新动作应该要能满足各种约束,并能最大程度的保持源动作的动作特性, 以及良好的时序一致性。动作的约束优化问题一般可以分为两类:单帧约束优化 和时空约束优化。单帧约束优化的非常典型的代表就是逆向运动学技术( i k ) 【3 】, 这种技术通过骨架关节点的空间位置约束和生物运动学约束来求得骨架参数的 最优解,目前,i k 已经作为一种比较成熟的技术用在了商业动画制作软件上( 如 浙江大学硕士学位论文第2 章相关研究工作 m a y a ,3 dm a x 等) ,它给动画师创作关键帧提供了一个非常好的交互工具。经管 单帧约束优化在求解帧内约束已经有了很好的效果,但是对于跨帧约束问题却 ( 比如保持某个关节点一段时间内都在某个空间位置维持不变) 无能为力。虽然 后来提出了用单帧i k 加上滤波的方法( p e r - f r a m ei k + f i l t e r ) 。即先分别用单帧 约束优化,然后通过滤波来提高时序一致性,但是这种方法依赖i k 算法的好坏, 并且应用很有限。对于上述问题,我们就需要上面提到的第二类方法:时空约束 方法。这类方法在整段动作上添加约束,包括跨帧约束,然后在整段动作上进行 约束优化求解。在这方面的工作中,w i t k i na n dk a s s 4 的工作产生了非常大的影 响。虽然他们讨论的是如何创建新动作而不是重用已有的动作,但是他们提出的 时空约束( s p a c e t i m cc o n s t r a i n s ) 概念,在用约束优化方法进行动作重用编辑的 工作中被大量的采用,g l e i c h e r 在动作编辑和改编的工作【6 】【刀本质上都属于时空 约束优化的方法。而在动作重定向的工作中【9 】【1 1 】,基于时空约束的动作改编也 是一个非常重要的步骤。 约束优化方法通过在整段动作上进行全局优化求解来实现对源动作的编辑 和修改,产生了一些很不错的效果,但是他也有不足之处:首先,约束优化求解 的计算量大,效率比较低,而且可能会有不稳定的解。其次,有些约束的数学表 达很困难,难以添加到约束优化系统中。 2 2 3 基于统计学模型的方法 这种方法借助统汁模型对动作数据进行处理。例如隐式马尔可夫模型( h i d d e n m a r k o vm o d e l ) ,被用于“学习”和提取动作的统计学特征及有意义的属性,然 后再对其进行统计学意义上的动作合成。这种方法的优点在于它将动作数据中的 “重要部分”进行结构化和建模,有助于更合理地重用动作数据。缺点就是其动作 合成是基于“抽象”出的属性,不是真实的数据本身,有可能丢失重要的运动细节 浙江大学硕士学位论文第2 章相关研究工作 2 3 动作的改编( m o t i o na d a p t a t i o n ) 动作改编就是对现有的动作进行调整和改编,使之满足用户的编辑要求,他 本质上是一种动作的编辑操作。对于动作改编来说,需要考虑两个方面的问题。 首先,改编后的动作能够满足用户的编辑要求( 比如指定的关节点要经过指定的 位置) ;其次,改编后的动作应该尽可能的保持原始动作的特性。所以我们也可 以将动作改编看成是在新的需求下对源动作的修正。动作改编技术对于动作重用 来说有很积极的意义:通过对现有动作的改编。生成各种新的动作,扩充了动作 数据库,从而有效的蕈用了现有动作,降低了新动作生成的成本;另外,动作改 编在动作重定向功能中也能发挥很重要的作用 9 】【1 1 j 。 在动作改编方面,g l e i e h e r 6 7 做了很多的工作,并且得到了很好的结果。 他主要是用时空约束优化方法来解决。除此以外,还有另外一些用来解决动作改 编的方法,包括上面提到的p e r - f r a m ei k + f i l t e r 方法,和j e h e el e e 等人提出的 多层次交互编辑方法【8 】,多层次交互编辑方法采用了逐层精化的思想,这个方法 定义了一组从粗略到精细的动作位移曲线( 关键帧越多,曲线越精细) ,然后逐 层求出动作位移曲线并叠加到源动作中,使得动作逐步满足编辑要求,在每层中, 他采用了i k 求解和样条曲线插值来形成动作位移曲线。 2 4 动作重定向 动作重定向作为一个比较高级的动作编辑技术,在角色动画里有着很重要的 作用。他同时也是非常重要的动作霞用的手段之一。总体上讲,动作重定向可以 划分为两类问题:地形重定向和角色重定向。地形重定向要解决的问题是一段动 作放到另外一个地形环境下能够适应并且还保留原来动作的特性( 比如平地行走 的动作晕定i 柚到曲面地形下的行走动作) 。角色重定向解决的问题则是将动作从 一类角色移植到另一类角色中并能较好保留动作的特性( 比如将人的跳的动作重 定向到袋鼠身上) 。角色莺定向又可以分为两种:骨架结构相同( 仅骨架长度不 同) 的角色之间的动作重定向和骨架结构层次不同的角色之间的动作重定向。骨 架结构相同的角色藿定向问题相对比较简单,通常的做法是首先将动作参数移植 到目标角色骨架上,由于目标角色。胃架长度与源骨架不同。所以会违背源动作的 一些约束( 比如走路是脚在地面上等等) ,所以接下去要使目标角色骨架的动作 仍然满足这些约束,这一步基本上就是一个动作改编( m o t i o na d a p t a t i o n ) 的过 9 浙江大学硕士学位论文 第2 章相关研究工作 程 9 】。骨架结构f i 同的角色之间的动作重定向则相对来说要复杂些,因为我们需 要在源角色骨架和目标角色骨架之问建立一个关节点的映射,并且这样的一个映 射必须要比较好的把动作从源角色移植到目标角色上去。有一种做法是引入一个 中间骨架【l l 】来完成这一步的工作。接下去的t 作则同样是对目标角色骨架的动 作进行改编,使之满足约束。 浙扛大学硕士学位论文第3 章动作数据的表达 第3 章动作数据的表达 本章主要对动作改编需要的一些预备知识做一个介绍。首先,我们会介绍一 下角色动画中动作的表达方法。然后会介绍动作信号和动作曲线,最后我们会讨 论一下对动作曲线的编辑方法,包括直接编辑动作曲线的方法和编辑附加曲线的 方法。 3 1 动作的表达 在计算机动画中,骨架模型的表达形式一般采用层次结构,所有的关节点形 成一颗树,骨架的根节点作为树的根节点,其他节点按层次关系指定父子关系。 图3 1 就是骨架模型的一个示例。 图3 - 1 骨架模犁永意 浙江大学硕士学位论文第3 章动作数据的表达 骨架的姿势由各个节点的参数来确定。以b v h 格式的骨架定义为例,骨架的 每个关节点都有一个相对父节点的位移( o f f s e t ) 和节点自身的朝向( o r i e n t a t i o n ) 。 其中位移指定了该节点在父节点的局部坐标系中的位置( 对于刚性物体而言,骨 骼的长度是固定不变的,所以位移是不变的) ,朝向则定义了该节点的局部坐标 系的朝向,朝向等价于一个旋转矩阵,定义了对局部坐标系的一个旋转,b v h 中 通过三个轴的旋转量( r x ,r y ,r z ) 来表示。节点的朝向影响它的所有子孙节点 的位置。对于根节点而言,它没有父节点,所以没有位移,但是它有一个位置参 数来指定骨架的空间位置。所以在b v h 中,骨架的姿势由式3 - l 所示的一组参数 指定 m = 【p ,q l ,9 2 ,q 。】( 3 - 1 ) 其中p 为根节点位置,吼为节点的朝向( b z 意这里每个关节点的位移是固定不变 的。所以不作为可变的参数) 。 在实际的应用之中,我们往往需要将骨架的姿势可视化出来,以达到直观, 生动的效果。这就需要计算出骨架各个关节点的位置。从上面我们已经知道,骨 架结构是一个层次结构,每个关节点沿着父节点一直到根节点形成一条链,从根 节点开始,从上至下,根据链上每个节点的参数可以计算出关节点的位置。这个 计算的过程实际上是一连串变换矩阵的累积。每个关节点相对于父节点的位移可 以转换成一个平移变换矩阵( 式3 2 ) ,每个关节点的朝向可以转换为一个旋转矩阵 ( 式3 - 3 ) 。 o f f s e t ( t ,t ,t :) jt = lo o1 o0 o 0 0 t , 0 t y 1 t : o1 ( 3 - 2 ) 浙江大学硕士学位论文第3 章动作数据的表达 o r i e n t a t i o n ( o ,9 ,见) jr = r y 疋r := 1o 0 c o s 以 0 s i n 良 oo o0 一s m 见0 c o s 以0 01 c o s e y 0 一s i n o y 0 c o s 8 z s i n 8 z 00 s i n 8 zc o s 8 。0 0 00lo 0001 0 s i n 0 0 l0o 0 c o s # y 0 oo1 ( 3 - 3 ) 这样,如果一条链从根节点到所求节点的节点序列为( ,2 ,n - i , ,。) ,则节点l 位置的变换矩阵e i j 式3 - 4 求出 只= t , r l 疋r 2 瓦一l r 瓦 单帧的动作得到以后,我们可以将一段动作看成整个时间轴上的帧序列,动 作的每一帧可以由上面介绍的一组参数来表达,我们可以称这组参数为帧的参数 配置( c o n f i g u r a t i o n ) ,由此我们可以用式3 5 来表示一段动作。其中n 为总帧数, n 为骨架节点总数,p ( t ) r 3 为根节点位置,吼( f ) r 3 为关节点的朝向。 m ( t ) = 【p ( o ,g o ) ,g :( f ) ,g 。( f ) 】, os f 0 ,属于同个半平面) ,物体朝着箭 头所指方向移动( 一般为正方向) ,否则沿着箭头反方向移动。 臂i i 图4 - 2 鼠标平移操作 浙江大学硕士学位论文 第4 章动作编辑工具的设计和实现 4 1 2 旋转 旋转编辑工具是对场景中的物体朝向进行旋转操作,它可以表示成一个有三 个方向轴的大圆组成的旋转球( 见图4 3 ) 。三个大圆分别标识绕x 轴,y 轴和z 轴的旋转,当然也可以随意拖拽旋转轴得到一个绕任意轴的旋转量。它的操作流 程跟平移操作类似,先是选中物体,然后选择旋转操作,然后通过拖拉旋转球执 行对物体朝向的旋转。 图4 - 3 旋转编辑- 具 跟平移操作一样,旋转操作的主要问题也是鼠标的移动是2 d 的,而场景中的 物体旋转是3 d 的。这里我们以绕任意轴的旋转操作为例来说明我们采用的方法。 我们甩了一个称为a f c b a 椭q 实现技术,它是一种用鼠标在屏幕上拖动以实现场景 3 d 物体符合人直觉的旋转的人机交互技术。他主要是用屏幕上的2 d 坐标来计算 3 d 坐标。他的实现步骤如下: 1 根据鼠标拖动的起始点p l 和结束点p 2 ,得到这两个点的场景三维坐标 ( 根据屏幕上点p l ,p 2 和球心的关系得到p l ,p 2 窗口z 坐标,这些点 都要归一化) 2 由球心的二维坐标和鼠标起始,结束点的二维坐标可以得到两个向量v 1 和v 2 。见图4 4 右图 1 9 浙江大学硕士学位论文 第4 章动作编辑工具的设计和实现 3 根据v l 和v 2 得到旋转轴和旋转角 旋转轴:v ixv 2 旋转角:2a c o s ( v l + v 2 ) 图4 - 4a r c b a l l 实现技术示意图 4 2 逆向运动学工具 逆向运动学工具是通过调整末端节点( e n de f f e c t o r ) 的空间位置来调整动作 姿势的编辑工具。它的编辑流程是用4 1 中的平移箭头不断拖拉末端节点( 手指, 脚趾等) ,来调整人的姿势,直到满意为止。 4 2 1 问题描述 从第3 章中我们知道,如果知道了从根节点到末端节点( e n de f f c c t o r ) 的一条 节点链( c h a i n ) 上所有关节点的参数,我们可以求得末端节点的位置。这个过程 其实是一个前向运动学过程。我们可以将这条链上的参数作为自由度并定义西是 自由度d o f i 句量 浙江大学硕士学位论文第4 章动作编辑工具的设计和实现 西= 慨以如】 则前向动力学可以定义为: e = ( 中) 。e 为末端关节点的位置。 ( 4 - i ) ( 4 - 2 ) 有了前向动力学的定义,我们可以很自然想到他的逆问题:如果知道了末端节点 的空间位置。我们如何得到节点链( c h a i n ) 上的所有自由度的值。这个过程成为 逆向运动学过程,他可以定义为: o = f “0 ) 其中e 是e n d e f f e c t o r , 它是3 维或者6 维向量p = k 巳】 4 2 。2 算法实现 ( 4 3 ) 在解逆向运动学问题时,通常有二类方法:分析方法( a n a l y t i c a lm e t h o d s ) , c c d ( c y c l i cc o o r d i n a t ed e s c e n t ) 和数值方法。分析方法使用数学方法直接逆转 前向动力学方程,这种方法适用于相对简单的情况,比如对不多于3 个节点的逆 向运动学求解。c c d 方法是一种启发式的三角方法,虽然每次迭代开销可能会比 数值方法大一些,但是能用更少的迭代次数达到收敛。所以速度也是比较快的, 但是同样这种方法在节点链比较简单的情况下效果比较好;数值方法这是通过逼 近和迭代的方法求方程的最优解。这种方法速度相对较馒但是比较通用,特别是 复杂的逆向运动学问题求解。在这里,我们采用了数值方法来求解逆向运动学问 题。算法框架见表4 - 1 浙江大学硕士学位论文第4 章动作编辑工具盼设计和实现 表4 - 1 逆向运动学算法框架 从上面的算法框架中,我们看到主要要解决的是雅克比矩阵的计算和求逆。 在多元函数分析中。雅克比矩阵是向量函数f ( ,) = ( ( x ) 五( j ) ,l ( z ) ) 7 的 各分量函数,( z ) ( b l 2 ,历) 对自变量工= ( 而,屯,) 7 各分量的一阶偏导数所组 成的矩阵 ,:掣: 出 萌( 力 露。 蔹( x ) 苏 龟名( 膏) a k 戮( 傲, 鲠( x ) 识, 囝乞( x ) a 譬, ( 4 - 4 ) 在逆向动学中,末端节点的位置向量e 是自变量为自由度向量中的多元函数, c 关于母的一阶导数即雅克比矩阵为 - ,= 蠹 ( 4 - 5 ) 驸一猢一哆:一饥 浙江大学硕士学位论文第4 章动作编辑工具的设计和实现 通常我们考虑的是末端节点的空间位置,也就是个三维的位置向量。假设 关节链上共有n 个自由度,则雅克比矩阵式就是一个3 x n 的矩阵。我们用也表 示一个关节点的一个旋转自由度,= 【0 l 】表示该关节点相对于其父节 点的偏移( o 舔c t ) ,口,= 【口,口,口:o 】表示该段节点相对于其父节点的旋转轴。 则对只有单个旋转自由度的关节点,我们可以用以下方法计算雅克比矩阵( 图4 5 ) i 计算世界坐标系下的偏移值:一= 形一删。 2 计算世界坐标系下的旋转轴:口;= 形一删口f 3 计算亳= 叫。得到e 关于西- 的一阶偏导t 构成雅克比矩阵的一列 鲁:口;( p 1 ) 2 口i l p 一形j a 破 1 、 “ a e a 痧 图4 - 5e 关于中的一阶偏导求解示意图 有了关于单个旋转自由度的关节点的偏导求解,我们可以将它推广到多个旋转自 由度的关节点。对于拥有多个自由度的关节点,我们不仅仅需要考虑父结点的世 界变换矩阵,还要考虑旋转自由度的旋转顺序。假设一个3 d o f 的关节点需要按 照x y z 的顺序绕坐标轴旋转,则每个旋转自由度在计算世界坐标系下的旋转轴 计算如下 浙江大学硕士学位论文 第4 章动作编辑工具的设计和实现 x d o f :a ;= 形五:( 见) g y ( o y ) 【1 00 0 】 y d o f :a ;= 形一r :( 纯) 【o l0 0 】( 4 - 6 ) z d o f :a ;= 形一。【0 01 0 】 有了每个旋转自由度在世界坐标下的旋转轴,再计算出关节点在世界坐标下的偏 移值,我们就可以算出c 关于该节点每个旋转自由度的一阶偏导数。依次求出e 关于节点链上每个关节点自由度的一阶偏导,我们就可以得到最终的雅克比矩 阵。另外,我们可以在雅克比矩阵在某个节点的某个自由度上的列上加上一定的 权值来指定该自由度在逆向运动学调整过程中的变化强度,这样就可以控制某个 关节点运动是僵硬还是灵活。 逆向运动学另一个重要的子问题就是雅克比矩阵的求逆,我们知道雅克比矩 阵通常不是方阵,而且不能保证是非奇异的,所以这里说的是雅克比矩阵的广义 逆。在数值方法中,通常用到的方法有雅克比转置( j a e o b i a nt r a n s p o s e ) ,伪逆 ( p s e u d o i n v e r s e ) 和奇异值分解( s v d ,s i n g l ev a l u ed e c o m p o s i t i o n ) 等等 1 9 。在这几种方法中,雅克比转置方法速度最快,开销最

温馨提示

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

评论

0/150

提交评论