基于Kinect的快速动画制作应用研究

2017-03-29 18:33贾飞鹏何冬冬
赤峰学院学报·自然科学版 2017年20期
关键词:关节点骨骼动画

贾飞鹏,何冬冬

(泉州信息工程学院,福建 泉州 362000)

基于Kinect的快速动画制作应用研究

贾飞鹏,何冬冬

(泉州信息工程学院,福建 泉州 362000)

由于传统的动画在生成过程中存在着实时性差、清晰度低和生成过程繁琐以及高成本等一系列问题,本文运用Kinect的体感捕捉技术来制作动画提高工作效率.Kinect在医疗领域已经获得了广泛的应用,例如第十四医院的智能探测机器人,利用正向运动学的方法建立拓扑骨架结构的动画人物模型,并能够定向创建虚拟人物模型,进而操作模型做出与真实行为一致的运动.为了消除虚拟人物在运动中悬浮和人体的某些肢体丢失的现象,所以就有了平移补偿和关节点丢失的保持机制.大量的实验表明,利用Kinect可以更好的呈现实时逼真的虚拟人物运动并生成动画,且该方法易于实现、实用性强.

Kinect;快速动画;应用研究

1 目前Kinect的应用现状

Kinect在游戏开发中也有广泛的应用,我们传统的动画制作都是通过一些游戏开发软件与其人物模型进行绑定,再利用动画的设计理念对其进行设计和修饰,这种方式不仅在动画的制作,需要对动画制作人员的技术有很高的要求,于此同时,还会浪费制作人员的大量时间.

Kinect动作捕捉技术的快速发展,一些专业人员通过Kinect技术和iClone5动画制作方式制作插件,来给游戏软件制作的人物进行配置动画,并利用Unity3D引擎再对动画进行开发,经过不断地测试,最终证明这种开发方式在游戏动画的制作过程中更具有经济实用性.在2010年微软就将XBOX360的体感正式命名为Kinect.随着这个命名的出现,Kinect技术的开发应用的领域越来越广泛,尤其是在游戏领域的应用,Kinect系统能够实现系统的动态捕获、视频识别、麦克风语音输入以及朋友之间的互动等一些动态获取的功能,这就为开发提供了便利,能够使玩家可以不受手柄的局限,而是能够调动玩家自身身体的全部肢体来玩游戏,真实的模拟现实中的游戏,让用户能够感受的身临其境的效果.Kinect有三个眼系统,他们分别为中间的彩色摄像头,控制模拟任务协调的左右红外摄像机,以便感应到更加深度的信息.在现在的游戏开发中,主要是通过Kinect技术来对人体骨骼来进行跟踪.iClone5是台湾的公司研发的一款能够辅助3D游戏开发的软件系统,用户能够很方便的利用这种技术创建数字角色、视觉效果和体感捕捉.Unity Technogoies 公司开发的Unity3D是可以让开发人员开发出三维的视频游戏和建筑模型的内容的游戏开发的工具,这是一个很全面的游戏引擎系统.

运动重定向是将骨骼运动的数据重新利用的方式,可以为动画的后期制作进行调整,以便于解决动画中人物动作的无法模拟逼真的高难度动作,所以王万良利用Kinect的数据流作为输入信号,也就提出了将低维信号转换为高维信号的方式,然后就通过模块是无法跟数据库中相似动作片段,在最后需要将多个动作片段制作成动画.

2 Kinect在国内的应用现状

目前国内的Kinect的应用也很广泛,在一些医疗行业、游戏设备和动画制作上都有着广泛的应用.

2.1 Kinect在医疗设备中的应用

医院对手术的环境要求很高,但是就当前的医务人员之间的交流方式还不利于手术的操作,这样就在无形之间加大了医院手术人员的工作负担,不能保证手术的及时性和准确性.Kinect的肢体感应来操作游戏能够很好的应对当前的难题,在使用手机的整个过程中,能够利用手机来查询相关的医学资料,不能够局限于触摸的方式,还可以利用手势和语音的形式来对图片进行缩放和查阅来进行控制操作.例如在瑞士的伯尔尼大学应用Kinect技术为医疗图像的浏览OsirixPACS系统,利用系统的语音控制和体感效果来取代传统的检查程序,利用这种方式就可以实现尸体检查的无菌性,避免了医务人员的接触感染的可能,在我国应用中,第四军医大学西京医院以Kinect为基础条件,开发出能够自动识路的机器人设备.当机器人在进入到一个陌生的环境中,可以利用Kinect技术对地理位置进行分析来获取并及时的绘制出三维地图的数据库,从而利用地图来进行判断并进行的路径的分析和规划.使用的人可以通过手势来远距离的控制机器人,让它来模拟操控者做出一样的动作,如同电影中的场景,几年之后,人们就能够利用特定的收拾手势和语音来控制机器人,来帮我们打扫卫生、收拾房间、摆放物品等一系列的家务.部分移动机器人的团队利用Kinect技术开发了一款救援机器人,这样就能够在大型灾害后坍塌的建筑物和危险地带等恶劣环境,通过获取的地理信息分析从而绘制出三维地图数据,从而找到合适的路线去救助受灾人员.

以Kinect为基础制作的影像浏览系统已经在脊柱骨瘤的外科手术中应用成功,医生则可以不用佩戴任何的附加设备,利用体感控制就能够获取患者的病例的影像资料,从而在很大程度上降低了室内的交叉感染的风险,使得外科手术能够高效、安全地进行.

Kinect与我们传统的康复训练设备相比较,不仅成本低廉还能够时时捕获动作、对骨骼进行跟踪和获取深数据,从而能够准确的捕获中风病人的肢体运动信息,再分析这些数据能够更加准确的掌握病人康复情况,时时的对其病情进行监控.现在医院可以利用Kinect技术可以远程监控病人锻炼的康复系统,能够更好的帮助中风和老年病患者,这个技术在医疗上的应用前景广阔.

2.2 Kinect在动画制造中的应用

Kinect是通过iClone5软件制作出能够识别骨骼的运动模式,骨骼的运动模式iClone5设置的窗体中有着相应的记录,其中3DsMax就是绑定者骨骼.目前的骨骼适配的画面,系统能够设定绿色人形,他是根据人的体形样式而制成的.然而,蓝色人形则是通过Kinect技术来拍摄对象的一定姿势,主要目的是需要拍摄人员的姿势能够与系统设定的人员姿势是一样的.绿色人形与体型相匹配后构建的能被Kinect技术所识别而形成的图像,因此,被拍摄人员的任何动作都会被Kinect辨识,如果在图像的拍摄过程中对数据进行记录.还应该利用i-Clone5中的按钮,来对“Record”命令进行点击和配置,这样我们捕捉的画面才能够合理的将动画的数据进行分析和处理.

动画捕捉技术既能够单个捕捉,同时还可以将一系列的动作放在一个文件中进行动作存储,在i-Clone5中就需要将角色模型和动画的数据进行分开来存储,并完成模型和动画输入到3DXChange中,然后将模型中和动画数据以FBX格式将文件进行存储,但是由于必须要在Unity3D的游戏引擎中进行输出,所以将输出的参数设定为“GameEngine_Unity3D”.

动画的制作者可以利用3DXCchange转换的模型和动画导入到Unity3D的游戏引擎中,如此,我们就需要建立一个Unity3D的项目,3DXChange输出的模型和贴图文件一并复制到Unity3D的项目文件中Assets的目录下,Unity3D则会自动将传入的模型及动画进行检测.动画的制作者就能够在编辑器中对动画的人物模型和动画设计进行合理的调试来满足制作者制作动画的实际需求,最后完成模型及动画数据并将其数据导出为UnityPackage格式的文件交给程序设计人员.

2.3 kinect在人物模拟中的应用

2.3.1 创建虚拟人模型

在动画中的虚拟人物可以利用Kinect只能对20多个关节点之间的信息,与此同时,为了将206块骨骼来降低建模和计算的复杂度降低到只有20块关节点复杂度以下,这就需要对其进行一对一的映射才能够实现.这个重定向的骨骼模型的拓扑图中,虚拟人物的主脊柱将会是一个最为基本的支柱,而且上下级的关节之间会相互牵制和影响.

2.3.2 基于正向运动学的重定向技术

对于虚拟人物的骨骼运动的重定向技术是利用两种矩阵,他们分别有初始变换矩阵和组合变换矩阵,初始变换矩阵可以表示骨骼的初始位置,而组合变换矩阵则是对骨骼的各种运动进行计算的,只有将这两种矩阵相结合才能够实现对骨骼位置的更新.利用图像特征的相似度匹配算法主要成分来降低重定向的效率和使用的实效性不是很高.因此,本文就提出了一种基于Kinect的骨骼实时的跟踪重定位技术,并利用这个技术实现一个虚拟人物在动画中的逼真效果,同时也将虚拟人物在动画重定向应用过程中有关的渗透、悬空和关节点的暂时不能丢失现象,提出了平移补偿和丢失关节机制等基于正向重定向技术运动是骨骼.分别对于初始变换矩阵和组合变换矩阵,则初始变换矩阵代表虚拟人物的初始位置,然而组合变换矩阵主要是将存储的骨骼运动的获取出来,并计算骨骼之间的运动,这两种矩阵相互协调可以共同实现骨骼位置的更新.由于虚拟人模型必须要利用正向运动学的重定向来,通过骨骼运动的原理动画,创建人物模型的帧表示骨骼关节点,并根据每帧对骨骼关节进行更新.将上级节点上的骨骼节点的运动传递给子关节运动.确定正向矢量给出的状态的向量液晶,关于运动之间的方程来就每个关节点的位置来进行计算.就正向运动学的解决思路:就对于根的节点的变换则需要利用平移和旋转的矩阵来更新状态,对于字节点需要从根节点逐渐应用于旋转矩阵遍历到目标字节点,计算出各个关节点在模型坐标系的三维位置.

2.3.3 平移补偿

在虚拟人物模型创建骨骼的时候,为了利用平移补偿让Kinect骨骼的拓扑结构相保持一致,文中是利用虚拟人物的几何模型的坐标相对应的根节点处,但是由于人体的全部动作都是将脚步为坐标系中原点,然而,将会将腿部以下的肢体关节在运动的工程中出现的现象.为了能够将这个问题解决,可以从几何关系上着手,来定义肢体的运动原理.按照算法计算,假设虚拟人物模型腿部的长度为L,另外假设根节点的spine进行发生了偏移,会让根节点的转换.用于推算出根节点需要平移和补偿数据,利用平移补偿的技术的数据来使节点的脚步发生偏移.这样制作出的动画更为逼真、生动,同时还能够可以对复杂度进行小的改动.当虚拟人随着根节点旋转的时候,利用计算的角度推出平移距离,并对spine根节点进行平移补偿,并对赋值给根节点的矩阵.

2.3.4 关节点丢失保持

因为Kinect的硬件的本身的缺陷导致部分关节点的缺少和遮挡问题,本文对于失真处理办法对关节保持机制.当关节点丢失的时候,需要保证矩阵信息,就从某种程度上,避免了人物的肢体失真问题.当Kinect的API定义了关节点被跟踪的状态是 TRACKEDN、INFERRED和 NOT_TRACKED三种状态.他们分别用来表示跟踪到,跟踪中,未跟踪等三个状态.主要的算法思路和流程是(1)通过Kinect的骨骼的算法来计算关节点为NOT_TRACKED,如果判断是true,就可以按其以下步骤进行(.2)他能够将其父关节点的前一帧进行记录和保存为pV0和表示变换成四个元素分别为pQ0,节点前一个帧的四个元素为childQ0(.3)据当前的childQ0和Qt相乘得出的当前四个元素为childQ1.(4) 将 childQ0乘以 Qt的四个元素 childQ1,将childQ1应用到骨骼的长度上,计算当前帧的三维坐标childV1.(5)在某个时刻这个节点的状态能够为TRACKED或者INFERRED时,则能够替换下一个帧.

3 总结

传统的软件行业对动画的制作缺乏可行性,本文通过利用Kinect技术,来获取骨骼运动的真实信息系统,然后再利用相对运动学对人物进行驱动.实验数据表明,这个方法可以获取实际效果.随着Kinect技术的快速发展,将会对重定位技术的算法进行改进并进行优化处理,可以在时空的约束下获取一致的驱动模型设计,并可以将虚拟人物进行3D场景的交互性处理,也能够通过骨骼拓扑结构进行定位.

〔1〕张龙.三维动画中运动重定向技术的研究与实现[D].武汉:华中科技大学,2008.

〔2〕杨熙年,张家铭.基于骨干长度比例之运动重定目标算法[J].中国图像图形学报,2002,7(9):871-875.

〔3〕郭力,何明耘,陈雷霆.基于BVH驱动的OGRE骨骼动画[J].计算机应用研究,2009,26(9):3550-3552.

〔4〕李红岩.基于雅比克矩阵的虚拟人运动控制研究[D].哈尔滨:哈尔滨工程大学,2008.

〔5〕王万良,马庆,王鑫,等.基于 Kinect的高维人体动画实时合成研究 [J].计算机应用与软件,2012,28(11):184-187.

〔6〕雷涛,罗维薇,王毅.一种具有逼真效果的虚拟人动画生成方法 [J].计算机应用研究,2012,29(10):3983-3986.

〔7〕李连东,樊养余,雷涛,等.一种可编辑的三维人体蒙皮网格动画合成方法[J].计算机应用研究,2010,27(3):1176-1179.

〔8〕潘志庚,程熙,唐冰,等.一种实时虚拟人反应式动画生成算法 [J].计算机研究与发展,2009,46(1):151-158.

〔9〕王广军.基于运动捕捉数据的交互式智能控制与虚拟仿真[D].安庆师范学院,2013.

〔10〕杨道谈.一种基于Kinect的实时虚拟人动画生成方法[J].电子科技,2015(07):149-152.

〔11〕李红波,冉光勇,吴渝,丁林建.一种基于Kinect的角色骨骼动画方法[J].重庆邮电大学学报,2014(04):530-535.

J93

A

1673-260X(2017)10-0038-03

2017-07-20

猜你喜欢
关节点骨骼动画
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
做个动画给你看
关节点连接历史图与卷积神经网络结合的双人交互动作识别
动画发展史
我的动画梦
动画批评融入动画教育的思考
骨骼和肌肉
搞好新形势下军营美术活动需把握的关节点