论文部分内容阅读
传统的虚拟人物动作仿真通常采用三种方法:手工驱动、模型驱动和数据驱动。然而这三种方法随着人们对仿真实时性、动画质量、动作复杂度、低成本等要求的提高,逐渐显现出各自的不足,具体而言:手工方法由于需要专业动画师通过手动设置关键帧,再进行差值的方法来制作仿真动画,因此效率较低,动作真实性完全依赖动画师的制作经验;模型驱动方法需要通过数学模型来抽象表示人体运动过程,该方法虽然相比手工驱动能方便的实现人物动作仿真,但计算量较大通常无法将真实人体运动数据实时作用于虚拟模型;数据驱动,目前该方式是通过机械、电磁、声学或光学等方法实现运动数据捕获,再用运动数据驱动虚拟模型。该方法虽然能得到高质量的运动数据,但运动数据捕捉时人体所携带的外部传感器设备会对人体的运动造成不便,导致运动失真。最关键的是目前该方法所使用的运动捕捉设备成本偏高,难以推广和广泛应用。因此,基于Kinect的虚拟人物动作仿真研究具有非常重要的实际意义。Kinect是微软为Xbox360主机而推出的一款体感外设,它不同于传统的摄像头,不仅具有普通摄像头的彩色图像获取功能,更重要的是它可以通过摄像头正前方两个红外收发器快速、廉价的获取三维场景的深度数据。再通过机器学习和模式识别等方法,从深度数据中提取出人物骨骼模型及关节点的空间位置和方向。并对提取出的运动数据进行基于单帧的实时处理之后,作用于虚拟角色模型,完成人物动作仿真。目前国内外基于Kinect的人物动作仿真还处于研究阶段,更多的是将它用于游戏开发以及三维重建等领域。本文在已有的研究基础上,设计了一套基于Kinect虚拟人物动作仿真方案,在该方案的设计过程中,主要开展了以下几个方面的工作:1、研究分析了传统的运动捕捉设备和技术,以及它们在虚拟动作仿真应用方面显现出的不足。详细分析和研究了Kinect平台的工作原理及关键技术,并在此基础上提出了一种基于Kinect的虚拟人物动作仿真方案;2、由于在人物动作仿真、虚拟装配以及三维重建等技术中对数据精度要求较高,因此,本文中采用张正有标定法对Kinect的彩色摄像头和深度摄像头分别进行标定,以获得更好的仿真效果;3、针对Kinect获得的骨骼运动数据中由于噪声所造成的抖动和跳跃等运动失真,本文中采用霍尔特指数平滑方法对其进行预处理。之后采用一种基于运动捕捉数据的密集重复性的重定向技术将预处理后的运动数据作用于角色模型实现虚拟人物动作仿真;4、在完成角色模型实时数据驱动的基础上,针对角色模型与场景的交互,设计了几种常用人物动作指令,使得操作者可以用身体直接控制角色模型的同时,还可以通过特定动作指令控制角色模型与场景之间的交互,如虚拟场景中物体的抓取、移动、摆放等操作。本文设计实现的虚拟人物动作仿真可有效解决目前动作仿真过程中动作捕获成本较高、难以实时控制以及仿真动画制作复杂等问题,对今后虚拟人物动作仿真技术的进一步研究发展具有一定实用参考价值,同时对智能机器人的动作仿真和实时手势控制领域研究也有一定的指导作用。