一种动作捕捉系统及其方法与流程

文档序号:17741929发布日期:2019-05-24 20:13阅读:375来源:国知局
本发明涉及一种动作捕捉系统及其方法,属于信息采集领域。
背景技术
::动作捕捉(mocap)系统,渐渐被各行各业所采用,目前主要使用在以下几个行业:电影电视特效行业,游戏行业,医疗康复与矫正行业,教育行业等,有多家厂商相继推出了多种商品化的运动捕捉设备,如motionanalysis、polhemus、segainteractive、mac、x-ist、filmbox、nokov等,成功地用于虚拟现实、游戏、人体工程学研究、模拟训练、生物力学研究等许多方面。从技术的角度来说,运动捕捉的实质就是要测量、跟踪、记录物体在三维空间中的运动轨迹。典型的运动捕捉设备一般由以下几个部分组成:传感器。所谓传感器是固定在运动物体特定部位的跟踪装置,它将向motioncapture系统提供运动物体运动的位置信息,一般会随着捕捉的细致程度确定跟踪器的数目。信号捕捉设备。这种设备会因motioncapture系统的类型不同而有所区别,它们负责位置信号的捕捉。对于机械系统来说是一块捕捉电信号的线路板,对于光学motioncapture系统则是高分辨率红外摄像机。数据传输设备。motioncapture系统,特别是需要实时效果的motioncapture系统需要将大量的运动数据从信号捕捉设备快速准确地传输到计算机系统进行处理,而数据传输设备就是用来完成此项工作的。数据处理设备。经过motioncapture系统捕捉到的数据需要修正、处理后还要有三维模型向结合才能完成计算机动画制作的工作,这就需要我们应用数据处理软件或硬件来完成此项工作。软件也好硬件也罢它们都是借助计算机对数据高速的运算能力来完成数据的处理,使三维模型真正、自然地运动起来。技术之一:机械式运动捕捉机械式运动捕捉依靠机械装置来跟踪和测量运动轨迹。典型的系统由多个关节和刚性连杆组成,在可转动的关节中装有角度传感器,可以测得关节转动角度的变化情况。装置运动时,根据角度传感器所测得的角度变化和连杆的长度,可以得出杆件末端点在空间中的位置和运动轨迹。实际上,装置上任何一点的运动轨迹都可以求出,刚性连杆也可以换成长度可变的伸缩杆,用位移传感器测量其长度的变化。技术之二:声学式运动捕捉常用的声学式运动捕捉装置由发送器、接收器和处理单元组成。发送器是一个固定的超声波发生器,接收器一般由呈三角形排列的三个超声探头组成。通过测量声波从发送器到接收器的时间或者相位差,系统可以计算并确定接收器的位置和方向。技术之三:电磁式运动捕捉电磁式运动捕捉系统是比较常用的运动捕捉设备。一般由发射源、接收传感器和数据处理单元组成。发射源在空间产生按一定时空规律分布的电磁场;接收传感器(通常有10~20个)安置在表演者身体的关键位置,随着表演者的动作在电磁场中运动,通过电缆或无线方式与数据处理单元相连。技术之四:光学式运动捕捉光学式运动捕捉通过对目标上特定光点的监视和跟踪来完成运动捕捉的任务。常见的光学式运动捕捉大多基于计算机视觉原理。从理论上说,对于空间中的一个点,只要它能同时为两部相机所见,则根据同一时刻两部相机所拍摄的图像和相机参数,可以确定这一时刻该点在空间中的位置。当相机以足够高的速率连续拍摄时,从图像序列中就可以得到该点的运动轨迹。技术之五:惯性导航式动作捕捉通过惯性导航传感器ahrs(航姿参考系统)、imu(惯性测量单元)测量表演者运动加速度、方位、倾斜角等特性。不受环境干扰影响,不怕遮挡。捕捉精确度高,采样速度高,达到每秒1000次或更高。由于采用高集成芯片、模块,体积小、尺寸小,重量轻,性价比高。惯导传感器佩戴在表演者头上,或通过17个传感器组成数据服穿戴,通过usb线、蓝牙、2.4gzhdsss无线等与主机相联,分别可以跟踪头部、全身动作,实时显示完整的动作。不过传统的动作捕捉系统有以下几个缺点:设备昂贵,穿戴和调试时间漫长,设备复杂等。技术实现要素:为解决上述问题,本发明的目的在于提供一种动作捕捉系统及其方法,包括红外动作捕捉模块用于捕捉全身动作;手势捕捉模块用于捕捉手势动作;面部捕捉模块用于捕捉面部动作,通过红外动作捕捉模块捕捉对象全身图像数据,并生成全身模型;手势捕捉模块捕捉对象手势图像数据,并生成各关节的动作模型;面部捕捉模块捕捉对象面部图像数据,并生成包括五官及其他关键点的面部模型;将获得的全身图像数据、手势图像数据以及面部图像数据进行整合处理,得到完整的待捕捉对象动作数据。本发明解决其问题所采用的技术方案一方面是:一种动作捕捉系统,包括,红外动作捕捉模块、手势捕捉模块、面部捕捉模块,其特征在于:所述红外动作捕捉模块用于捕捉全身动作;所述手势捕捉模块用于捕捉手势动作;所述面部捕捉模块用于捕捉面部动作。进一步的,所述红外动作捕捉模块还包括:全身图像采集模块,用于采集待捕捉对象全身图像数据;模型生成模块,用于根据全身图像数据生成包括各关节的运动模型;红外发收模块,用于按照预设频率发射红外射线,并收集红外射线的反馈数据;全身动作判断模块,用于根据反馈数据判断待捕捉对象是否在预设时间内发生动作;红外动作捕捉控制模块,用于根据判断模块输出的判断结果,对红外动作模块执行切换工作状态操作。进一步的,所述全身动作判断模块还包括深度传感器模块,用于根据红外发收模块收集的数据,判断捕捉对象的距离。进一步的,所述红外发射模块还包括发射控制子模块,用于设置发射红外线的频率和控制红外发射管的工作时间以及工作状态。进一步的,所述手势捕捉模块还包括:手势图像采集模块,用于采集待捕捉对象的手势图像数据;手指关节模型生成模块,用于根据手势图像数据生成各关节的运动模型;手势动作判断模块,用于判断待捕捉对象手势是否在预设时间内发生动作;手势捕捉控制模块,用于根据判断模块输出的判断结果,对手势捕捉模块执行切换工作状态操作。进一步的,所述面部捕捉模块还包括:面部图像采集模块,用于采集待捕捉对象面部图像数据;面部模型生成模块,用于根据面部图像数据生成五官及关键点的面部模型;面部动作判断模块,用于判断待捕捉对象面部是否在预设时间内发生动作;面部捕捉控制模块,用于根据判断模块输出的判断结果,对面部捕捉模块执行切换工作状态操作。进一步的,还包括语音采集模块,用于采集语音信息。本发明解决其问题所采用的技术方案另一方面是:一种动作捕捉方法,其特征在于,该方法包括以下步骤:红外动作捕捉模块捕捉对象全身图像数据,并生成全身模型;手势捕捉模块捕捉对象手势图像数据,并生成各关节的动作模型;面部捕捉模块捕捉对象面部图像数据,并生成包括五官及其他关键点的面部模型;将获得的全身图像数据、手势图像数据以及面部图像数据进行整合处理,得到完整的待捕捉对象动作数据。进一步的,所述完整的待捕捉对象动作数据包括待捕捉对象的各关节与肢体的三维位置、面部动作表情以及与之对应的时间节点,还包括捕捉对象与采集设备的距离以及待测对象发出的语音信息。进一步的,所述红外动作捕捉模块捕捉对象全身图像数据,并生成全身模型还包括当全身动作判断模块输出待测对象未动作的结果时,红外动作捕捉控制模块将红外动作捕捉模块的工作状态切换为待机状态;所述手势捕捉模块捕捉对象手势图像数据,并生成各关节的动作模型还包括当手势动作判断模块输出待测对象未动作的结果时,手势捕捉控制模块将手势捕捉模块的工作状态切换为待机状态;所述面部捕捉模块捕捉对象面部图像数据,并生成包括五官及其他关键点的面部模型还包括当面部动作判断模块输出待测对象未动作的结果时,面部捕捉控制模块将面部捕捉模块的工作状态切换为待机状态。本发明的有益效果是:本发明采用的一种动作捕捉系统及其方法,解决了以往红外标记点动作捕捉系统的价格昂贵,设备复杂的缺点;解决了以往红外标记点动作捕捉系统,演员穿戴服装时间长、设备调试时间长的问题。附图说明图1所示为动作捕捉系统结构示意图;图2所示为动作捕捉系统实施例一的示意图;图3所示为动作捕捉系统实施例二的示意图;图4所示为动作捕捉系统实施例三的示意图;图5所示为动作捕捉方法流程示意图;图6所示为本发明具体应用的一套系统示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本
技术领域
:的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。参照1所示为动作捕捉系统结构示意图,包括,红外动作捕捉模块、手势捕捉模块、面部捕捉模块,其特征在于:红外动作捕捉模块用于捕捉全身动作;手势捕捉模块用于捕捉手势动作;面部捕捉模块用于捕捉面部动作。参照图2所示为动作捕捉系统实施例一的示意图,红外动作捕捉模块还包括:全身图像采集模块,用于采集待捕捉对象全身图像数据;模型生成模块,用于根据全身图像数据生成包括各关节的运动模型;红外发收模块,用于按照预设频率发射红外射线,并收集红外射线的反馈数据;全身动作判断模块,用于根据反馈数据判断待捕捉对象是否在预设时间内发生动作;红外动作捕捉控制模块,用于根据判断模块输出的判断结果,对红外动作模块执行切换工作状态操作。具体的以微软kinect体感外设产品为例,通过一个红外激光投影镜头将一组红外激光点阵投射到玩家身上,另外两个cmos摄像头对此进行x,y,z坐标的3d扫描,通过置的专利算法,以此分辨玩家、背景、以及玩家的动作意图,其精确的空间定位性能适用于更为广泛的游戏和互操作领域中。kinect可一次取得3种信息,其中有普通摄像头的彩色影像、3d红外线反射得到的深度数据、声音讯号。在kinect机器上一共有3颗镜头,位于中间的是普通rgb彩色摄像头,左右两边镜头则分别为红外线发射器和红外线cmos摄影头所构成的3d深度传感器,kinect主要就是靠3d深度传感器检测玩家的动作。中央的rgb彩色摄像头主要用来识别使用者身份,使用人脸或是身材特征做识别。除此之外也可应用在扩增实境(augmentedreality)上的游戏,同时也有视频功能。并搭配底座的马达追踪模式,跟随目标物体自动转动镜头位置,自动寻找最适合的画面中央对焦位置。kinect其最重要的核心技术就是3d深度信息处理技术,深度信息主要来自于红外线发射器与红外线摄影机的接收,由此来判断目标物体的距离。微软使用的3d深度信息技术来自于与primesense公司的合作。primesense提供了动作检测技术以及检测芯片ps1080,并使用光编码(lightcoding)专利技术但与传统的结构光方法不同的是,它发射的不仅是一套周期性变化的二维图像编码,而且是具有三维纵深数据的“体积编码”。这种光源叫做激光散斑(laserspeckle),是当激光照射到粗糙物体或穿透毛玻璃后形成的随机衍射斑点。这些散斑具有高度的随机性,而且会随着距离的不同变换图案,也就是说空间中任意两点的散斑图案都是不同的。cmos红外传感器根据设定的距离参考平面来收集摄像头视野范围空间内的每一点,通过反射得到的黑白光谱方式来感知周围环境:纯黑代表无穷远,纯白代表无穷近。黑白间的灰色地带对应物体到传感器的物理距离,再通过层叠峰值和插值计算,形成一幅代表周围环境的景深图像。传感器以30帧/s的速度生成景深图像流,完全实时3d再现周围环境。参照图3所示为动作捕捉系统实施例二的示意图,手势捕捉模块还包括:手势图像采集模块,用于采集待捕捉对象的手势图像数据;手指关节模型生成模块,用于根据手势图像数据生成各关节的运动模型;手势动作判断模块,用于判断待捕捉对象手势是否在预设时间内发生动作;手势捕捉控制模块,用于根据判断模块输出的判断结果,对手势捕捉模块执行切换工作状态操作。具体的以leapmotion手部捕捉器为例,在通过usb连接电脑后,它会创造出一个4立方英尺的工作空间。在这个空间里你10个手指的动作都会被即时追踪,误差在1/100毫米以内。这样的精准程度就能保证用户顺利完成像pinch-to-zoom或控制3d渲染物体等操作。关于这项技术所采用的原理leapmotion并没有透露(不意外),不过他们表示任何有运算能力的设备,大到冰箱小到电话,都可以加入他们的软件。用户也可以根据自己的需要来设定手势及灵敏度,而且通过连接几台leap设备还能造出一个更大的工作区域。另外,leapmotion也为开发者们准备了sdk,希望他们能开发出leap适用的应用,同时建立起一个应用搜索平台以便用户查找。这样的话未来的leap就会有更多的可能性,无论是简单的电脑控制,还是游戏、设计等复杂一些的操作。检测的范围大体在传感器上方25毫米到600毫米之间,检测的空间大体是一个倒四棱锥体。首先,leapmotion传感器会建立一个直角座标系,座标的原点是传感器的中心,座标的x轴平行于传感器,指向屏幕右方。y轴指向上方。z轴指向背离屏幕的方向。单位为真实世界的毫米。在使用过程中,leapmotion传感器会定期的发送关于手的运动信息,每份这样的信息称为「帧」(frame)。每一个这样的帧包含检测到的:所有手掌的列表及信息;所有手指的列表及信息;手持工具(细的、笔直的、比手指长的东西,例如一枝笔)的列表及信息;所有可指向对象(pointableobject),即所有手指和工具的列表及信息;leap传感器会给所有这些分配一个唯一标识(id),在手掌、手指、工具保持在视野范围内时,是不会改变的。根据这些id,可以通过frame::hand(),frame::finger()等函数来查询每个运动对象的信息。leap可以根据每帧和前帧检测到的数据,生成运动信息。例如,若检测到两只手,并且两只手都超一个方向移动,就认为是平移;若是像握着球一样转动,则记为旋转。若两只手靠近或分开,则记为缩放。所生成的数据包含:旋转的轴向向量;旋转的角度(顺时针为正);描述旋转的矩阵;缩放因子;平移向量;对于每只手,可以检测到如下信息:手掌中心的位置(三维向量,相对于传感器座标原点,毫米为单位);手掌移动的速度(毫米每秒);手掌的法向量(垂直于手掌平面,从手心指向外);手掌朝向的方向;根据手掌弯曲的弧度确定的虚拟球体的中心;根据手掌弯曲的弧度确定的虚拟球体的半径;其中,手掌的法向量和方向如下图所示:「手掌球」的圆心和半径:对于每个手掌,亦可检测出平移、旋转(如转动手腕带动手掌转动)、缩放(如手指分开、聚合)的信息。检测的数据如全局变换一样,包括:旋转的轴向向量;旋转的角度(顺时针为正);描述旋转的矩阵;缩放因子;平移向量;leap除了可以检测手指外,也可以检测手持的工具。像上文所说的,就是细的、笔直的、比手指长的物件:对于手指和工具,会统一地称为可指向对象(pointableobject)每个pointableobject包含了这些信息:长度;宽度;方向;指尖位置;指尖速度;根据全局的信息、运动变换,手掌、手指和工具的信息和变换,开发者就可以靠这些来制作游戏、程序了。参照图4所示为动作捕捉系统实施例三的示意图,面部捕捉模块还包括:面部图像采集模块,用于采集待捕捉对象面部图像数据;面部模型生成模块,用于根据面部图像数据生成五官及关键点的面部模型;面部动作判断模块,用于判断待捕捉对象面部是否在预设时间内发生动作;面部捕捉控制模块,用于根据判断模块输出的判断结果,对面部捕捉模块执行切换工作状态操作。具体的说,实时采集摄像头拍摄到的每一帧图像,对图像进行直方图均衡化并归一化。对归一化的图像采用viola-jones分类算法,通过boost筛选式级联分类器在图像中检测人脸的位置。如果人脸检测失败,通过haar分类器调用viola-jones分类算法在图像中检测人的双眼,通过双眼的偏转角度生成偏转矩阵,对图像进行偏转校正,再继续进行人脸的定位。检测到人脸位置后,采用图像锐化、直方图均衡化、数学形态学的erode、dilate算法、ostu自适应阈值分割等图像处理方法对人脸区域图像进行图像分割;通过freeman链码跟踪算法得到每个可能的特征标识点区域;采用多个反射空间下的几何不变量作为特征值对特征标识点进行模式识别,从而获得所有特征标识点的坐标。参照图5所示为动作捕捉方法流程示意图,红外动作捕捉模块捕捉对象全身图像数据,并生成全身模型;手势捕捉模块捕捉对象手势图像数据,并生成各关节的动作模型;面部捕捉模块捕捉对象面部图像数据,并生成包括五官及其他关键点的面部模型;将获得的全身图像数据、手势图像数据以及面部图像数据进行整合处理,得到完整的待捕捉对象动作数据。所述完整的待捕捉对象动作数据包括待捕捉对象的各关节与肢体的三维位置、面部动作表情以及与之对应的时间节点,还包括捕捉对象与采集设备的距离以及待测对象发出的语音信息。为了优化工作状态,其中还具有以下功能,红外动作捕捉模块捕捉对象全身图像数据,并生成全身模型还包括当全身动作判断模块输出待测对象未动作的结果时,红外动作捕捉控制模块将红外动作捕捉模块的工作状态切换为待机状态;手势捕捉模块捕捉对象手势图像数据,并生成各关节的动作模型还包括当手势动作判断模块输出待测对象未动作的结果时,手势捕捉控制模块将手势捕捉模块的工作状态切换为待机状态;面部捕捉模块捕捉对象面部图像数据,并生成包括五官及其他关键点的面部模型还包括当面部动作判断模块输出待测对象未动作的结果时,面部捕捉控制模块将面部捕捉模块的工作状态切换为待机状态。在一些具体实施例中,设计和制作根据本发明过程如下:a.绘制基于红外手势设备,摄像头和kincet的全身动捕的设计图;b.通过3d打印机打印基于红外手势设备,摄像头和kincet的全身动捕的支架;c.将leapmotion手部捕捉器,摄像头和kincet相继安装在全身动捕支架上,进行固定d.开发基于红外手势设备,摄像头和kincet的全身动捕的软件系统和驱动程序e.将基于红外手势设备,摄像头和kincet的全身动捕系统连接电脑,开始捕捉动作。其中步骤a包括:在电脑草图设计软件中绘制于红外手势设备,摄像头和kincet的全身动捕系统的设计草图,并进行验证,并采购系统所需要的相关零部件。其中步骤b包括:在3d设计软件中设计基于红外手势设备,摄像头和kincet的全身动捕的系统的3d模型文件,然后将其模型文件输入3d打印机,打印其相关的零部件如外壳,支架,等模型。其中步骤c包括:将leapmotion手部动画识别系统安装到动捕系统的支架上,并对其进行校准,同样将kincet红外动作识别模块和摄像头模块安装到支架上,并对角度进行调试,同时测试相关的焦距值,最后接通电源进行测试。其中步骤d包括:开发基于红外手势设备,摄像头和kincet的全身动捕的系统的电脑端客户端软件,同时开发相关的硬件驱动程序,并将基于红外手势设备,摄像头和kincet的全身动捕的系统和软件系统进行联调。其中步骤e包括:将基于红外手势设备,摄像头和kincet的全身动捕的系统部署到动作捕捉房间,演员进入动作捕捉房间进行,将基于红外手势设备,摄像头和kincet的全身动捕的系统连接到电脑,打开相关的软件,演员开始进行动作捕捉记录。图6所示为本发明具体应用的一套系统示意图,演员穿戴头盔,头盔上设有面部动作捕捉摄像头,演员进入录制房间,面对采集设备,包括kincet全动动捕红外摄像仪以及手势捕捉摄像头,进行动作演示,由采集设备采集。举一个实施例说明,kinect体感摄影机与3dsmax、ogre结合的游戏动作、表情捕捉系统(禹硕数字动画制作表情捕捉系统),统称kinect动捕系统。主要工作流程如下:1)使用3dsmax对特征人体和面部进行三维建模。2)针对kinect的骨骼识别要求,实现了三维模型的骨骼设定、驱动权重、优化和测试。3)利用特定开发的ogre导出插件导出相应的模型、骨骼和材质等,并使用开源游戏引擎ogre进行图形显示。4)在ogre的主要框架及场景管理器基础上实现了kinect体感摄像机驱动的人体动作和表情的实时采集和显示。系统设计方案通过kinect体感摄像机透过位在镜头前的光栅,将编码红外线均匀分散于测量空间中,并由红外线摄影机来纪录下每个带有空间标记的散斑,原始数据透过内置芯片计算成具有3d深度的图像数据,只要物体在该空间中有移动变化,即可完整纪录下位移的变化量。深度信息转换成的3d图像数据用于转换为骨骼系统。该系统最多可同时侦测到6个人出现在测量空间中,但只能分辨显示2个人的动作。而针对每个人的骨骼特征可记录下20组数据,内含身体躯干、手脚四肢与手指等追踪数据,将由这些数据做到全身体感操作。微软使用机器学习功能技术machinelearning来理解和分析使用者的动作,建立图像数据库形成智能辨识能力,尽可能提高分辨出人体动作的准确度。kinect将捕捉到的影像与本身内部存有的人体模型对照,每一个符合内部已存人体模型的物体就会被创建相应的骨骼模型,系统再将该骨骼模型驱动已设定基准骨骼和骨骼权重的虚拟角色,该角色通过识别该人体骨骼的关键部位进行动作触发,系统可以识别人体的25个关键部位,并且通过ogre引擎实时在屏幕上显示虚拟场景和角色,并且通过图像引擎实现角色的动作捕捉实时观察和通过物理引擎实现简单的物理碰撞应用。表情捕捉系统在硬件上仅采用一台kinect或者普通网络摄像头,在人脸面部粘贴若干个红外颜色敏感特征标识点作为关键特征。通过计算机视觉领域中图像处理、分析与模式识别等先进技术,在人物的面部表情发生变化时,实时捕捉并定位这些特征标识点的坐标。将这些坐标信息与专业的动画制作软件预先建立好的角色面部模型相关联,从而制作出精确的、逼真的动画效果。以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1