合成运动数据的转换 合成运动数据的转换

合成运动数据的转换

  • 期刊名字:中南林业科技大学学报
  • 文件大小:424kb
  • 论文作者:杨靓
  • 作者单位:中南林业科技大学
  • 更新时间:2020-07-04
  • 下载次数:
论文简介

第27卷第4期中南林业科技大学学报Vol. 27 No. 42007年8月Journal of Central South University of Forestry & TechnologyAug. 2007文章编号: 1673- 923X(2007)04-0154-06合成运动数据的转换杨靓(中南林业科技大学国际学院,长炒胡南410005)摘要;作为英国东安格利亚大学eSIGN项目的一部分,主要研究了合成运动数据在两个虚撒人物之间的转换过程中的都分工作,即从初始虚掀人物Viria3到过度人物newV3的转换.主要分为两部分来实现,骨头坐标的转换和骨头旋转度的转换.利用了向量的运算来实现两个人物之间骨头长度的转换.并且通过观寮所得的规则推导每块新骨的局郝位置关于骨头旋转度的转换,给出丁两个方案:借助双链搂平面链的倒转运动学(imverse kinematics)方法和向量匹配方去.最后委现了从Visin3到newV3的成功转换,实验验证了以上方故的有效性.关键词:计算机应用;软件 工程;合威运动数据1全局坐标:局部坐标;全局旋转度:局部炭转度;转换中图分类号: TP311.5文献标志码:1Transformation of Synthetic Motion Data FilesYANG Jing(International College, Central South University of Forestry & Technology. Changsha 410005. Hunan, Chioa)Abstract;A由part of eSIGN project owned by Unvesity of East Anglia, this paper investigates the first step of the transformationof yothetic motion data files between two avstars. nanely trsntformation from originsl avatar (Visia3) 如8 transition B8vater(newV3). It is divided into two parts to realize the transformation of bone position and bone rotation. An algorithm which takes fulladvantage of vector operations i used to realize the conversion of bone leagth between two avetarB, and 8 tule produced byobservation itare provided; inverse kinematics method using two-link plsnsr chaing and vector mapping method. Eventually, transformstion fromVitis3 t如newV3袖succssully realized. The effectivenen of above methods io checked by xperiments.Key words;computer application; soltware engineering; ayathetic motion dota filea; lobal position; loeal poaition; lobal rotationocal rotation ansformatioaViSiCAST和eSIGN项目为英国东安格利亚大学(University of East Anglia)长期从事研究的项目,旨在为耳聋的残疾人士提供一种利用记号语言访问信息服务的途径,而这种符号语言利用计算机符号虚拟人物技术来实现".ViSiCAST项目已经竣工,eSIGN项目作为第二期工程正在进行当中.本研究的工作主要集中在研究如何找出两个不同虛拟人物运动数据的对应关系。1问题概述为了找出两个虚拟人物运动数据的对应关系,首先必须找出两个不同虚拟人物合成数据的对应关系,然后.才能实现运动捕获数据的转换.骨头是虚拟人物的基本单元.每块骨头有一个标准名字作为标记,它的局部位置是相对于它的父骨来说的,由向量表示,三个笛卡儿坐标由向量的三个元素来表示.旋转度指出了骨头的移动方向,一个四元组表示,并且与收稿日期: 2007-02-27修回日期: 2007-05-15中国煤化工基金项目;英国东安格利重(University of East Anglis)的eSICN项目作者简介:杨既(1981-),女 ,动南长沙人.教师,残士.主要从事计算机.MYHCNMHG科研工作第4期杨靓:合 成运动数据的转换155相对其父骨的局部旋转度有关本研究是选定虚拟人物Visia3(如图1所示)和Visia4(如图2所示)进行的.围1 Visia 3的最终状态围2 Visia 4的最终状态Fig.1 Visia 3 in tinal stateFIg.2 Visia 4 io ftioal stateVisia3有78块骨头.它与Visia2(此虚拟人物本文没有提及过)具有相同的骨骼结构,因此它的骨骼仍保持为在ViSiCAST项目中研究的老骨骼.面部表情利用Visia3的内部骨头来建模,而这些内部骨头附属在面部肌理网孔上叩。通过改变这些骨头的坐标和旋转度而导致网孔的变形,便产生了对人类表情的模拟。Visia3明确定义了每块骨头在每--帧的长度,因为骨头长度在每一帧之间是可变的.对照Visia3,Visia4有67块骨头,这些骨头大部分可以和Visia3相匹配.在eSIGN项目中,它有不同的骨骼结构.Visia4使用在面部表面网孔的特征点来表示面部表情.具体说来,真实的人类表情是通过改变这些特征点之间的距离进而使表面网孔变形而产生的.表1Visia3和Visia4左右臂长的比较通过计算比较,Visia3和Visia4的左手臂长度的差异如表1所示.Table 1 Comparison between the length olVisia 3' sarm and Visla 4' sarmVisia3从左上臂(left- upper- arm)至左手(left-hand)的部分与cmVisia4从左上臂(LUPA)至左手(LWRI)的部分相匹配,研究是以这一_8rmVisia 3Visia 4部分为例进行的,但是同时确保了应用于这部分骨头的技术同样适用Lelft-upper-arm0.23660.4178Left-forearm0.23970.330 0于其它骨头.Right-upper- arm0.2432 .0.417 8虛拟人物newV3中左上臂(如图3的A点)和左手(如图3的C点)的_ Righ-forerm0.246 50. 330 0位置与Visia3的左上臂和左手处于同-位置,但是左上臂和左前臂的骨头长度改为在Visia4的相应长度.为了确保达到这种状态,必须调整newV3的左前臂(如图3的B'点)的位置和旋转度以及newV3的左上臂(如图3的A点)的旋转度.L'本文中,主要研究合成运动数据在两个虚拟人物(Visia3和Visia4)之间的转换过程中的第-个步骤,即从初始虚拟人物Visia3到过渡人物newV3的转换.2关键技术及其具体实现为了实现从Visia3到newV3的转换,即定位左前臂B',并且计算它在newV3的局部坐标和旋转度,需要计, New V3算B*在newV3的局部坐标和计算B'的旋转度.图3 Visia 3-new V32.1局 部坐标到全局坐标的转换中国煤化工V3为了计算左前臂B'在newV3的局部坐标,将Visia3的左.MYHCNMH(坐标系统,通过B和B'之间的对应关系,求出B'的全局坐标,然后再将其转换为B'在newV3的局都坐杯。以下公式实现了局部坐标和全局坐标之间的转换同:156中南林业科技大学学报第27卷pg(j,P,A)=pg[p(j),P ,A]+qg[p(j),P ,A]* pl(j,P,A)A(1)式(1)中:pg(j,P ,A)表示人物A处于P姿势时,骨头j的全局坐标;pl(j,P,A)表示人物A处于P姿势时,骨头j的局部坐标;p(j)表示骨头j的父骨;qg(j,P ,A)表示人物A处于P姿势时,骨头j的全局旋转度.CAS文件(项目中现有的记录了Visia3的原始数据Y▲的文件)提供了相对父骨的局部坐标和全局旋转度.式B' (红川(1)中的qg[p(j),p,A]在CAS文件中用四元组来表示,因此需要将四元组转换成相应的旋转矩阵.首先将记录了父骨子骨关系的层次文件读人程序,然后通过一个从Lr'’子骨到父骨最后到达根骨的逆向循环处理和~一个计算每B (xg, y)块骨头全局位置的运算追踪下去,得到的值在下一次循环中被用作q8[p(j),p,A].按照以上原理编程实现,最终得到了Visia3的左上臂A,左前臂B和左手C的全局坐D' (x,0 D(x.)标-- -.. Visia3. ncwV2.2计算 newV3左前臂B'的全局坐标以左上臂A作为原点,AC(C为左手)所在直线作为图4Visia3和newV3在平面坐标系统X轴构建平面坐标系(如图4所示),来研究Visia3左前Fig.4 Visia 3 and new V3 in planar coordinate system臂B的全局坐标与newV3左前臂B'的全局坐标之间的对应关系.解决方案:根据勾股定理x*+y2=LZ>x- e-Z+Hi=y=+VZ-z(2)(Lnc-x)*+y=L2 J2Lnc式(2)和图4中:L'对应于AB'即newV3的左上臂;Lr'对应于B'C即newV3的左前臂.场+湄=巧}>xo= 知-L4+H-y;=+√L-x(3)(Lxc- xg)*+yg=L3J2Lsc式(3)中:L1对应于AB即Visia3的左上臂;L2对应于BC即Visia3的左前臂.AD=kro A芯=D=(1-k;)o或+k;o必(k.=xn/L.c)AD =kxo A乖>D =(1- k2)o 0A+k2o芯(kz= x/Lxc)BB =kzoBB .=→oB=B-ksoB_ -oB)(ks= ly/yo|)(4)正如前面所说,0是原点,即0(0,0,0).所以,0A,yB,茫代表每点的全局坐标.该方案通过编程实现,证实是成功的.2.3计算newV3左前臂B'的局部旋转度L'23.1双链平面 链法日解决方案如图5所示.①前面章节已经计算出的A,B,C和B'的全局坐标.LB②(X,Yn)是A的平面坐标:C (0){Xn=0(5)\Yn-Lxe- --. -.. Visia3- ncwV3③根据余弦定理:AB: leftpprarm(L,).BC: le-forerm(cos(π-az)==A-AC*+L3+ Li_(6)中国煤化Ifrro )2L.L2-AC+L2+ 2。YHCNMHGcos(π-bz)= - 2→>0z(7)2LL2-Fig.5 Two-link planar chains④根据文獻[3]的公式:第4期杨靓;合成运动数据的转换157Lncosa,+Lrcos(a:+a2)=X.=0]y→cosaaz+&)1L+L2cosa)+1凶-[sina,sin(qn+a)V(- Lxsinaz(8)(cosbhcos<9.+02)Lcos0.+L'cos(&.+02)=Xx=0].cos0.(siaO.sin(00. +02)=[ L+tL.cos02)*+1(F Lysin0, )⑤根据四元组与旋转轴的理论[0,可以得出以下关系:quaternion(XYZW)](axis. X= X/sina angle(AB)axis. _Y=Y/sina_ arand0zcosa=Waxis_ z=Z/sina angle(AB)_ angle(AB')sina= v1-cos2a(angle(AB)= 2az=>angle(AB' )>Quaternion |AB' |或angle(BC)中aand02=angle(B'C)angle(BC)_ angle(B'C)4:=>Quaternion |B'C|(9)该方案通过编程实现成功Quaternion |AB' |和QuaternionY|B'C|即为以四元组形式表示的newV3左前臂和左.上臂的局部旋转度.2.3.2向量匹配法h'解决方案如图6所示.将AB旋转到AB4:>gc'rquaternion(XYZW){axis.X= X/sinaaxis.Y=Y/sinaaxis.Z= Z/sina- * Visia3- - newV3sina= V1-cos2aAB:ltfi-upper- am(L) BC:!ef-forearm(L)(angle(AB)= = 2aAB :il-uppemxC B Clelforcrm()Vu=VAeXVAi围6向量匹配方法Vmux=cos~'(VAB●Vs)JFig.6 Vector apping methodQABQxs'=Qnouxm●Qsn{>QAB(10)BC与B'C平行,因此具有相同旋转度,然后将亡旋转到BC[4:(axisX = =X/sinaaxis.Y=Y/sina Vu=VxcXV~中国煤化工(11)axis.Z=Z/sina Vwo=cossina= /1- -costalangle(AB)= 2aYHCNMHGQnc}y=Qx(=Qsic)(12)Qxc'= =Qnmuia●Qxc)158中南林业科技大学学报第27卷QAr和Qexc即为newV3左前臂和左上臂的局部旋转度.2.4计算 newV3左前臂B'的局部坐标2.4.1公式法根据式(1)可以推导以下公式:pl(j,P,A)=qg[p(j),P ,A]~-1{pg(j,P ,A)-pg(j,P ,4)- pg[p(j),P ,A]}A(13)在2.1和2.2节中,计算出了B'的全局坐标[pg(j,P,A)]和A的全局坐标{pg[p(j),P ,A]}的值,A的全局旋转度{qs[p(j),P,A]}仍然为原始的CAS文件中提供的值,因此根据式(13)可以计算得到B"的局部坐标[pl(j,P ,A)].2.4.2观察法通过观察所得,每块骨头局部坐标值可以用来表示,L是其父骨的长度,如图7所示.Upper-arm2.5新的CAS 文件的产生在前面的章节中,算出了newV3的左前臂B'的局部坐标和局部旋转度.接下来,必须将产生的这些值写人CAS文件,使得能够通过软件SiGML演示播放.软件SiGML (Signing Gesture Mark-up Language )- Animation,(L,.0,0)SiGML-Animation-Client 和SIGML-CAS File Player是Televirtual软件公司和UEA (英国东安哥利亚大学)以及其它eSIGN项目的搭档一起合作开发的.当驱动-一个虛拟人物时,它可以呈现由于驱动所带来的影响与动作forearm捕获数据之间的关系.如果同时使用SIGMLanimation服务端和SIGMLLanimation客户端,其中一个将通过局部网络或回路发送来自文件的(使用SIGML animation服务端)动作捕获数据流到客户端01.(L.0.0)可以使用DOM (Document Object Model)和SAX (Simple API for圈7禺部坐标 .XML)来书写XML文档,最终形成CAS文件.通过编程实现,成功得到了一Fig.7 Local position: 个XML文档生成器.也可以手动将e有CAS文件中的原始值改为产生的新值.由于研究是基于一小部分身体的少量骨头,因此这种方法也是可行的.如果拓展到整个身体的每块骨头,编程得到的文档生成器更具效率。按以上方法得到了记录newV3骨头局部坐标和骨头旋转度的CAS文档,通过SiGML软件播放出来,呈现出newV3在Visia3的基础上,左上臂和左前臂的长度增长了(与Visia4的相等),完成了Visia3的相同动作,即左手最终可以回到同一位置,表明从Visia3到newV3转换成功.3实现转 换的主要模块功能在本研究中,方案的实施主要是通过Java编程实现的.关键方法如下.UtimateFileHandler. java这个文件处理器可以根据-些具体要求读人各种XML文件包括CAS文件,并且提供一些转化两类物体的一-些工具XMLGenerator. java这个文件产生器可以根据一些 具体要求写出各种CAS文件,并能提供两类物体之间的转换工具.positionConverter. java这个类包含了-系列方法,可 以中国煤煤化工换,并且提供了产生全局坐标或局部坐标的普遍方法.rotationConverter. java这个类包含了对旋转度的所有处YHCN M H G转度的计算,旋转度的转换等.Converter. java这个转换器实现了从Visia3到newV3的转换.它可以读人Visia3的原始CAS文件,并在一第4期杨靓;合成运动数据 的转换159系列处理后产生newV3的一个新CAS文件.它是研究产生的最终工具.test. java这个类提供了各种测试方法来检验长度,坐标,旋转度,等.4同类研究的他人方法国内外常用的捕获数据常用方法有:运动拼接[0]、运动融合(Motion Blending)印、信号处理(Motion SignalProcessing)凹、 运动图(Motion Graph)叫、运动变形(Motion Warping)L09、 四元数插值、偏移映射(Displament Map)*]等.中科院计算技术研究所的虚拟人运动控制开发平台的研究与实现项目,在进行数据转换时发现:通过Vicon设备所获得的原始数据是贴在人身体上各Marker点的三维坐标值,并且还存在一定的噪声.其处理方法为:首先必须对原始数据进行修整,尽可能除掉采集过程中引人的噪声,修正其中的错误,并利用-些方法对采集过程中遗失的信息进行补全.然后通过工具软件,得到表示人体运动的欧拉角.与这些方法相比较,本研究的方法通俗易儻.用Java编程来检验方法的有效性,也更具效率和说服力.5结束语作为eSiGN项目中实现从Visia3到目标人物Visia4的转换工作的一部分,本研究实现了从初始虚拟人物Visia3到过渡人物newV3的转换.根据Zatsiorsky5']提出的式(1)和(2)(见2.1节)来实现从全局坐标到局部坐标转换的方法,有效且快捷,也可以帮助解决人类运动学的其他问题.另外还应用了平面坐标法、向量匹配法、双链平面链法等方法.最后通过Java编程实现了以上研究方法,实验验证了本研究方法的有效性.参考文献:[1] John Cluert. The introduction of Visicast. The webaite of UEA[DB/OL].2004. http://www. visicast. co. uk /oummary/ summary. htm.2] Daniel Scott. An lvestigation into the Retargeting of Motion Cepture Dato between Ceomtically Disproportionat Human Avtan[D].East Anglia, Master disertation, School of computer science, Univernity of East Anglia ,2004.[3] VInadimir M. Zstsiorsky. Kinematice of Human Motion; Body Posture[M]. USA: Humsn Kinetics Publishen, 1997.[4] Chen Skel. Metrix and Quaternion FAQ[DB/OL]. 2003. htp://kal. planet-d. net/ demo/ matrixfeq. htm #Q27.[5] Vladimir M. Zatsiorsky. Kinematics of Humen Motion; Body Poition and Displacement[M]. USA; Human Kioetics Publishers, 1997.[6] G. Ashreaf and K. C. wong. Genereting Consistent Motion Transition via DecoupledFramespace[I]. Ioterpolation, 2000, 19(1), 45-48[7] Lucas Kovar and Michsel Gleicher. Flexible Automatic Motion Blending with Registrstion CureC[/]/Proceedings of 2003 Sympoium四Computer Animation, 2003.8] A Bruderlin L William. Motion Signal Proceosing[C]// Proceedings of SIGGRAPH 95,1995197- 104.9] L Kovar. M Gleicher, Motion Graph. Proceeding* of SIGGRAPH 2002[C]/San Antonio, Texau,2002:673- - - 482.[10] A Witkin. and z. Poporie. Motion warping[C]//Computer Crsphice.1995,30,105-108.[1] P. Sebastin Grassia, Prectical Paranmeterizatioa of Rottions Using the Exponential Map[]. Journal of Graphics Tools, 1998.3(3) *29-8.[12] Michael Gileicher. Comparing Contraint-Based Motion Editing Methods[]. Grsphical Modelu, 2001,(60).[13]陈爱斌基于KL变换的汽车型的识别方法C].中南林学院学报,2004.24(2)111-114.[本文编校:邱德勇豹]中国煤化工MYHCNMHG

论文截图
下一条:多肽固相合成
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。