一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动作捕捉数据映射方法、装置、存储介质及电子设备与流程

2023-04-05 05:27:40 来源:中国专利 TAG:


1.本技术涉及数据映射技术领域,具体涉及一种动作捕捉数据映射方法、装置、存储介质及电子设备。


背景技术:

2.动作捕捉是运动物体的关键部位设置跟踪器,由motion capture系统捕捉跟踪器位置,再经过计算机处理后得到三维空间坐标的数据。其中,动作捕捉数据为三维空间坐标的数据。当数据被计算机识别后,可以应用在动画制作,步态分析,生物力学,人机工程等领域。
3.相关技术中,为了使得游戏引擎中三维的定义模型逼真的模拟人体动作,通常将动作捕捉数据映射到定义模型上,驱使定义模型执行相应的动作,进而使得定义模型的动画更加生动。但是对于多条动作捕捉数据,映射到定义模型上会消耗大量的时间,导致动画的动作制作周期较长。


技术实现要素:

4.为了节省动作捕捉数据映射到定义模型上的时间,缩短动画的动作制作周期,本技术提供一种动作捕捉数据映射方法、装置、存储介质及电子设备。
5.在本技术的第一方面提供了一种动作捕捉数据映射方法,具体包括:获取运动物体的动作捕捉源数据;建立所述动作捕捉源数据与定义模型的映射关系;按照预设规则删减所述动作捕捉源数据中的帧数据,得到目标动作捕捉数据;基于所述映射关系,将所述目标动作捕捉数据映射至所述定义模型上。
6.通过采用上述技术方案,将运动物体的一系列动作进行捕捉,得到动作捕捉源数据,将运动物体对应的模型与定义模型建立骨骼一对一的映射关系,接着保留动作捕捉源数据中反映动作特征的关键的帧数据,删减其他多余的帧数据,得到目标动作捕捉数据,根据建立好的映射关系,将目标动作捕捉数据的每一帧帧数据按照映射关系映射到定义模型上,无需将整个动作捕捉源数据映射到定义模型上,也能达到驱使定义模型执行相对应的动作的效果。从而节省动作捕捉数据映射到定义模型上的时间,缩短动画的动作制作周期。
7.可选的,所述获取运动物体的动作捕捉源数据之后,还包括:判断所述动作捕捉源数据的时间码是否为零;若不为零,则将所述时间码重置为零帧。
8.通过采用上述技术方案,获取到动作捕捉源数据后,如果动作捕捉源数据的时间码不为零,说明时间码不是从时间轴开始运行到时间轴结尾,容易造成时间码的不连续性。针对时间码不为零的情况,将时间码重置为零帧,使得较为准确的显示动作捕捉源数据的帧数,进而方便后续进行帧数据的筛选。
9.可选的,所述建立所述动作捕捉源数据与定义模型的映射关系,包括:
根据预设的固定属性,调整所述动作捕捉源数据和所述定义模型,以使所述动作捕捉源数据对应的运动物体的模型初始姿态与所述定义模型的初始姿态一致,所述固定属性包括模型初始的骨骼位移信息、骨骼旋转信息以及骨骼缩放信息;将调整后的所述动作捕捉源数据和定义模型建立映射关系。
10.通过采用上述技术方案,动作捕捉源数据获取后,调整动作捕捉源数据和定义模型中的三维空间的坐标信息,运动物体的模型和定义模型的初始姿态的骨骼位移信息、骨骼旋转信息和骨骼缩放信息均贴近预设的固定属性,使得将动作捕捉数据映射到定义模型上之前,运动物体的模型的初始姿态和定义模型的初始姿态尽量保持一致,最后将调整后的动作捕捉数据与定义模型建立映射关系,从而使得定义模型能准确还原动作捕捉数据对应的一系列动作,提升动作特效的生动性。
11.可选的,所述将调整后的所述动作捕捉源数据和定义模型建立映射关系,包括:对比所述运动物体对应的模型和所述定义模型的骨骼名称;按照骨骼名称一致建立调整后的所述动作捕捉源数据和定义模型的映射关系。
12.通过采用上述方案,将动作捕捉源数据对应的运动物体的模型的各个骨骼名称和定义模型的各个骨骼名称进行对比,骨骼名称一致的建立对应关系,接着将动作捕捉源数据中涉及同一骨骼名称的动作捕捉源数据与定义模型相同骨骼建立映射关系,同理定义模型其他骨骼与对应的动作捕捉源数据也能建立映射关系,使得动作捕捉源数据整体与定义模型建立精准的映射关系,进而使得后续定义模型能还原动作捕捉源数据的动作效果。
13.可选的,所述按照预设规则删减所述动作捕捉源数据中的帧数据,得到目标动作捕捉数据,包括:获取所述动作捕捉源数据中帧数对应的峰值点和速度变化关键极值点;从所述动作捕捉源数据中删减除所述峰值点和所述速度变化关键极值点之外的帧数据,得到目标动作捕捉数据。
14.通过采用上述技术方案,由于动作捕捉源数据是由多帧帧数据组成,每一帧对应运动物体的动作,每一帧对应一个数值,对应一个运动轨迹点,接着将数值转折变化的转折点确定为峰值点,即关键帧对应的关键点,能反映运动变化中的关键动作。另外速度变化关键极值点为峰值点之间选取的加速趋势的点和减速趋势的点,能反映运动变化中关键运动状态,最后将峰值点和速度变化关键极值点进行下来,其他的帧数据进行删减,得到目标动作捕捉数据,使得在不影响映射效果的前提下,减少映射到定义模型上的数据量,较好的节省映射所消耗的时间。
15.可选的,所述获取所述动作捕捉源数据中帧数对应的峰值点和速度变化关键极值点,包括:根据所述动作捕捉源数据相邻帧之间的位移数值变化,确定所述动作捕捉源数据的峰值点,所述位移数值变化为在x轴、y轴和z轴上的坐标值变化幅度;计算相邻峰值点之间的帧数差,将所述帧数差与预设值对比;若所述帧数差大于预设值,则在相邻峰值点之间选取速度变化关键极值点。
16.通过采用上述技术方案,如果某一帧之前帧数对应的位移数值变化为递增,之后帧数对应的位移数值变化为递减,则确定该帧对应的点为峰值点;如果某一帧之前帧数对应的位移数值变化为递减,之后帧数对应的位移数值变化为递增,则该帧对应的点也为峰
值点。在峰值点确定后,计算相邻的峰值点对应的帧的帧数差,如果帧数差大于预设值,则说明帧数差较大,在此相邻的峰值点之间选取位移速度增大或减小的点作为速度变化关键极值点较有代表性;反之,如果帧数差小于预设值,说明帧的变化幅度较小,在相邻的峰值点之间选取速度变化关键极值点意义不大。从而较为准确客观的选择出能反映出关键动作的帧数据。
17.可选的,所述若所述帧数差大于预设值,则在相邻峰值点之间选取速度变化关键极值点,包括:若所述帧数差大于预设值,则判断相邻峰值点之间的数值变化趋势;若所述数值变化趋势为递增变化,则在相邻峰值点之间选取任一加速点作为速度变化关键极值点;若所述数值变化确实为递减变化,则在相邻峰值点之间选取任一减速点作为速度变化关键极值点。
18.通过采用上述技术方案,加速点为速度增大的点,减速点为速度减小的点,如果相邻峰值点之间的位移数值是逐渐增大,则在相邻峰值点之间选取任意一个加速点作为速度变化关键极值点;如果相邻峰值点之间的位移数值是逐渐减小,则在相邻峰值点之间选取任意一个减速点作为速度变化关键极值点,从而较为准确的确定反映运动物体的关键运动状态的帧数据。
19.在本技术的第二方面提供了一种动作捕捉数据映射装置,具体包括:动捕数据获取模块,用于获取运动物体的动作捕捉源数据;映射关系建立模块,用于建立所述动作捕捉源数据与定义模型的映射关系;数据删减模块,用于按照预设规则删减所述动作捕捉源数据中的帧数据,得到目标动作捕捉数据;数据映射模块,用于基于所述映射关系,将所述目标动作捕捉数据映射至所述定义模型上。
20.通过采用上述技术方案,动捕数据获取模块获取到运动物体的动作捕捉源数据后,由映射关系建立模块为动作捕捉源数据和定义模型建立一一对应的映射关系,接着数据删减模块根据预设规则,将动作捕捉源数据中的帧数据进行删减,得到目标动作捕捉数据,最后由数据映射模块基于建立的映射关系,将目标动作捕捉数据映射到定义模型上,从而较好的节省动作捕捉数据映射到定义模型上的时间。
21.综上所述,本技术包括以下至少一种有益技术效果:1.将运动物体的一系列动作进行捕捉,得到动作捕捉源数据,将运动物体对应的模型与定义模型建立骨骼一对一的映射关系,接着保留动作捕捉源数据中反映动作特征的关键的帧数据,删减其他多余的帧数据,得到目标动作捕捉数据,根据建立好的映射关系,将目标动作捕捉数据的每一帧数据按照映射关系映射到定义模型上,无需将整个动作捕捉源数据映射到定义模型上,也能达到驱使定义模型执行相对应的动作的效果。从而节省动作捕捉数据映射到定义模型上的时间,缩短动画的动作制作周期。
22.2.由于动作捕捉源数据是由多帧帧数据组成,每一帧对应运动物体的动作,每一帧对应一个数值,对应一个运动轨迹点,接着将数值转折变化的转折点确定为峰值点,即关键帧对应的关键点,能反映运动变化中的关键动作。另外速度变化关键极值点为峰值点之
间选取的加速趋势的点和减速趋势的点,能反映运动变化中关键运动状态,最后将峰值点和速度变化关键极值点进行下来,其他的帧数据进行删减,得到目标动作捕捉数据,使得在不影响映射效果的前提下,减少映射到定义模型上的数据量,较好的节省映射所消耗的时间。
附图说明
23.图1是本技术实施例提供的一种动作捕捉数据映射方法的流程示意图;图2是本技术实施例提供的另一种动作捕捉数据映射方法的流程示意图;图3是本技术实施例提供的一种显示不同骨骼的t形定义模型的示意图;图4是本技术实施例提供的一种定义模型的骨骼分布示意图;图5是本技术实施例提供的又一种动作捕捉数据映射方法的流程示意图;图6是本技术实施例提供的一种峰值点和速度变化关键极值点分布示意图;图7是本技术实施例提供的一种动作捕捉数据映射装置的结构示意图;图8是本技术实施例提供的另一种动作捕捉数据映射装置的结构示意图。
24.附图标记说明:11、动捕数据获取模块;12、映射关系建立模块;13、数据删减模块;14、数据映射模块。
具体实施方式
25.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
26.在本技术实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
27.参见图1,本技术实施例公开了一种动作捕捉数据映射方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的动作捕捉数据映射装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s101:获取运动物体的动作捕捉源数据。
28.具体的,通过动作捕捉(motion capture,mocap)系统捕捉获取到设置在运动物体骨骼的关键部位的跟踪器采集的位置信息,进而获取到运动物体实时的动作,接着经过处理转化后,得到包含三维空间坐标的一帧帧的帧数据,即动作捕捉源数据。其中,跟踪器即运动跟踪器,是使用传感器和软件来跟踪物体在三维空间中的运动的设备,能帮助获取到运动物体的位置,移动的速度和方向,以及它们是否与其他实体发生碰撞等。motion capture是一种动作捕捉技术,利用此技术可以完成数据的收集、处理、管理、及向众多的三维制作软件和动作捕捉硬件系统提供接口。在本技术实施例中,motion capture系统可以采用cortex软件,在其他实施例中,也可以采用nokov软件。
29.s102:建立动作捕捉源数据与定义模型的映射关系。
30.具体的,定义模型是预先设定,定义模型中绑定有与运动物体的骨骼一致的骨骼
数据,在本技术实施例中,运动物体为现实人体,定义模型为动画角色的三维虚拟模型。其中,骨骼数据包括骨骼名称和各骨骼相对位置关系。各个骨骼对应定义模型中相应不同部位,同时也对应现实人体的相应不同部位。
31.获取到运动物体的动作捕捉源数据后,由于动作捕捉源数据是由一帧帧动作捕捉数据组成,通过adobe premiere软件从动作捕捉源数据中提取每一帧动作捕捉源数据(即每一帧帧数据),每一帧动作捕捉源数据中包含了对应运动物体的不同骨骼(运动物体不同部位)的运动数据,接着通过motion capture系统提供的可编程工具将每一帧动作捕捉源数据分解出对应不同骨骼的运动数据,最后采用逐帧的方式,将每一帧动作捕捉源数据中分解出的不同骨骼的运动数据与定义模型对应的相同骨骼建立一对一的映射关系,从而最终实现整体的动作捕捉源数据与定义模型的映射关系。
32.s103:按照预设规则删减动作捕捉源数据中的帧数据,得到目标动作捕捉数据。
33.在一个可实现的方式中,获取动作捕捉源数据中帧数对应的峰值点和速度变化关键极值点;从动作捕捉源数据中删减除峰值点和速度变化关键极值点之外的帧数据,得到目标动作捕捉数据。
34.具体的,由于动画的帧数标准为每秒24帧,每秒帧数实际上指动画或视频每秒放映的画面数。帧数据为动作捕捉源数据中每一帧对应的运动数据,即对应运动轨迹点。动作捕捉源数据与定义模型的映射关系建立后,从动作捕捉源数据中保留对应峰值点和速度变化关键极值点这种关键点的帧数据,删减除此之外的其他帧数据,最终得到目标动作捕捉数据。其中,峰值点相邻的点对应的数值为递增或递减。速度变化关键极值点为运动速度增大或运动速度减小的点。需要说明的是,关键点为关键帧对应的运动轨迹点。关键帧指角色或物体运动变化中关键动作所处的那一帧。例如,动作捕捉源数据对应的动作动画为2s,也就是有48帧帧数据,峰值点和速度变化关键极值点对应的帧数有30帧,那么将剩下的18帧帧数据进行删减,得到的目标动作捕捉数据为30帧帧数据。
35.s104:基于映射关系,将目标动作捕捉数据映射至定义模型上。
36.具体的,目标动作捕捉数据得到后,将目标动作捕捉数据中的每一帧动作捕捉数据分解出不同骨骼的运动数据,接着将不同骨骼的运动数据转化为此帧对应的动作驱动数据,最后基于映射关系,通过预置的motionbuilder软件将目标动作捕捉数据中逐帧的动作驱动数据映射到定义模型对应的骨骼上,从而使得定义模型不同骨骼在对应的动作驱动数据的驱动作用下,可以还原动作捕捉源数据的动作效果。其中,目标动作捕捉数据映射到定义模型上实质为两个数据模型之间建立起数据元素的对应关系的过程,这一过程称为数据映射(data mapping)。需要说明的是,骨骼是定义模型能够动起来的关键。
37.参见图2,本技术实施例公开了另一种动作捕捉数据映射方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的动作捕捉数据映射装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s201:获取运动物体的动作捕捉源数据。
38.具体的,可参考步骤s101,在此不再赘述。
39.s202:判断动作捕捉源数据的时间码是否为零;s203:若不为零,则将时间码重置为零帧。
40.具体的,时间码(time code)是摄像机在记录图像信号的时候,针对每一幅图像记录的时间编码。一种应用于流的数字信号。该信号为视频中的每个帧都分配一个数字,用以表示小时、分钟、秒钟和帧数。所有的数码摄像机都具有时间码功能,模拟摄像机基本没有此功能。标准的时间码格式为hh:mm:ss:ff(小时、分钟、秒和帧数值),前三个格式与时钟时间一样,它们都有最大值,分别为23、59和59,第四个格式为视频或动画的帧数,其最大值有帧率模式决定。获取到动作捕捉源数据后,检测动作捕捉源数据是否从零帧开始,即记录的第一幅图像的时间码的第四个数值是否为零,如果不为零,说明动作捕捉源数据并非从零帧开始,接着将该时间码的第四个数值重置为零。从而使得动作捕捉源数据是从0帧到n帧连续变化。例如,第一幅图像的时间码为00:00:00:10,说明此动作捕捉源数据是从10帧开始往下依次计数,应该将时间码重置为零帧,即00:00:00:00。
41.s204:根据预设的固定属性,调整动作捕捉源数据和定义模型,以使动作捕捉源数据对应的运动物体的模型初始姿态与定义模型的初始姿态一致,固定属性包括模型初始的骨骼位置信息、骨骼旋转信息以及骨骼缩放信息;具体的,固定属性用来表征动作制作人员想要的模型初始姿态信息,通过模型的不同骨骼的骨骼位置信息(三维空间坐标信息),不同骨骼旋转信息(骨骼相较于正常情况下的旋转角度)以及不同骨骼的骨骼缩放信息(骨骼尺寸比例缩放信息)对模型姿态进行限定。如果在动作捕捉过程中存在贴点不规范等问题,导致得到的动作捕捉源数据对应的模型与定义模型的体态存在差异,而且在动作捕捉过程会根据实际的运动物体不同部位的尺寸与定义模型对应的部分的尺寸,得到缩放比例,根据缩放比例缩放后动作捕捉源数据对应的模型的身高比例和定义模型的可能还是会存在差异,导致后续动作捕捉源数据映射到定义模型上不能较好匹配。因此将动作捕捉源数据和定义模型均往预设的固定属性调整,尽量使得动作捕捉源数据对应的模型与定义模型的初始姿态保持一致。
42.例如,如图3所示为本技术实施例提供的一种显示不同骨骼的t形定义模型的示意图,定义模型为三维人体模型,定义模型的初始姿态为t型,双手呈水平姿态。动作捕捉源数据对应的模型初始姿态为双手下垂,动作捕捉源数据对应的动作效果为双手由下垂抬至水平。基于这种情况,动作捕捉源数据映射到定义模型上,定义模型执行的动作为双手由水平抬至向上竖直状态,显然定义模型没有较好还原动作捕捉源数据对应的动作。因此,可以将固定属性定义为模型t型姿态对应的骨骼位置信息,骨骼旋转信息和缩放信息,使得动作捕捉源数据对应的模型初始姿态与定义模型的初始姿态一致,进而使得定义模型较好还原动作捕捉源数据对应的动作效果。
43.s205:将调整后的动作捕捉源数据和定义模型建立映射关系。
44.在一个可实现的方式中,对比运动物体对应的模型和定义模型的骨骼名称;按照骨骼名称一致建立调整后的动作捕捉源数据和定义模型的映射关系。
45.具体的,动作捕捉源数据和定义模型按照预设的固定属性调整后,将动作捕捉源数据对应的运动物体的模型中的骨骼名称和定义模型中的骨骼名称进行对比。其中,如图4所示为本技术实施例提供的一种定义模型的骨骼分布示意图,骨骼名称包括:head头部、neck颈部、left collar左肩、left up arm左上臂、left low arm左下臂,left hand左手、left up leg左腿、left low leg左下肢、left foot左脚、chest胸部、hips臀部、right collar右肩、right up arm右上臂、right low arm右下臂、right hand右手、right up leg
右腿、right low leg右下肢以及right foot右脚。
46.如果骨骼名称对比一致,则将动作捕捉数据对应的运动物体的模型中骨骼与定义模型中的有着相同骨骼名称的骨骼一一匹配。同时通过motion capture系统提供的可编程工具将动作捕捉数据的每一帧帧数据分解出不同骨骼的运动数据,将这些运动数据按照骨骼名称与定义模型上相同骨骼名称的骨骼建立一对一映射关系。按照这种方式,对逐帧帧数据进行处理,从而最终实现整体的动作捕捉源数据与定义模型建立映射关系。需要说明的是,建立映射关系的过程中,可能会存在如下情况:一帧帧数据中分解出的为同一骨骼的运动数据,那这一帧帧数据直接与定义模型的相同骨骼的建立映射关系;另外,一帧帧数据中分解出的为不同骨骼的运动数据,那么按照骨骼名称,将运动数据与定义模型相对应的骨骼建立一一映射关系。
47.s206:按照预设规则删减动作捕捉源数据中的帧数据,得到目标动作捕捉数据。
48.s207:基于映射关系,将目标动作捕捉数据映射至定义模型上。
49.具体的,可参考步骤s103-s104,在此不再赘述。
50.参见图5,本技术实施例公开了又一种动作捕捉数据映射方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的动作捕捉数据映射装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s301:获取运动物体的动作捕捉源数据;s302:建立动作捕捉源数据与定义模型的映射关系;具体的,可参考步骤s101-s102,在此不再赘述。
51.s303:根据动作捕捉源数据相邻帧之间的位移数值变化,确定动作捕捉源数据的峰值点,位移数值变化为在x轴、y轴和z轴上的坐标值变化幅度。
52.具体的,确定动作捕捉源数据与定义模型模型的映射关系后,获取动作捕捉源数据中每一帧对应的运动轨迹点在三维空间中的x轴上的坐标值,同时选取此帧在时间轴上相邻的帧数,获取相邻的帧数对应的运动轨迹点在三维空间中的x轴上的坐标值,接着再取相邻的帧数,依次类推。如图6所示为一种峰值点和速度变化关键极值点分布示意图,将这些不同运动轨迹点的x轴上的坐标值进行对比,如果存在坐标值变化(即位移数值变化)的转折点,转折点前后的坐标值变化趋势相反,那么确定此转折点为在x轴上的峰值点。另外,同理比较相邻帧对应的运动轨迹点在三维空间中的y轴上的坐标值变化,确定在y轴上的峰值点;比较相邻帧对应的运动轨迹点在三维空间中的z轴上的坐标值变化,确定在z轴上的峰值点。其中,时间轴用于组织和控制一定时间内多帧图像。需要说明的是,因为动作捕捉源数据在x,y,z三个轴向上的峰值点是不同,所以需要分别确定各自轴向上的峰值点。
53.例如,选取动作捕捉源数据相邻几帧分为10帧、11帧、12帧、13帧和14帧,这5帧对应的运动轨迹点在三维空间的x轴上的坐标分别为:-8.5、-8、-7.5、-8.2、-8.6。从坐标值的变化可知,-7.5之前的坐标值呈递增趋势,-7.5之后的坐标值呈递减趋势,因此-7.5对应的运动轨迹点确定为峰值点。
54.s304:计算相邻峰值点之间的帧数差,将帧数差与预设值对比。
55.具体的,确定动作捕捉源数据中帧数对应的峰值点后,将相邻峰值点的对应的帧数进行作差,得到帧数差。接着将帧数与预设值进行大小对比,其中,预设值为用速度变化判断关键点的临界帧数差。如果帧数差大于预设值,则相邻峰值点之间根据运动速度变化
进一步选取运动状态相关的关键点来反映运动物体的动作;如果帧数差小于等于预设值,则说明相邻峰值点对应的帧数变化幅度较小,在相邻峰值点之间根据运动速度变化进一步选取运动状态相关的关键点,不具备代表性。在本技术实施例中,预设值为5帧,在其他实施例中,预设值也可以设为6帧或7帧等大于5帧的数值。需要说明的是,x轴上的峰值点、y轴上的峰值点以及z轴上的峰值点都需要分别进行帧数差与预设值对比的处理。
56.s305:若帧数差大于预设值,则在相邻峰值点之间选取速度变化关键极值点。
57.在一个可实现的方式中,若帧数差大于预设值,则判断相邻峰值点之间的数值变化趋势;若数值变化趋势为递增变化,则在相邻峰值点之间选取任一加速点作为速度变化关键极值点;若数值变化确实为递减变化,则在相邻峰值点之间选取任一减速点作为速度变化关键极值点。
58.具体的,如图6所示,如果帧数差大于预设值,则判断相邻峰值点之间的数值变化是递增还是递减。如果相邻峰值点之间的数值变化是递增变化,则在相邻峰值点之间选取速度增大的加速点,即速度变化关键极值点。例如,相邻峰值点在x轴上的坐标值分别为-12和-9,相邻峰值点对应的帧数分别为2帧和8帧,帧数差为6帧大于预设值,中间的帧数为3帧、4帧、5帧、6帧、7帧,对应的点的坐标值为-11.5、-11、-10、-9.5、-9.2。接着采用数值差值除以1帧,2帧到3帧的速度值其实就是两者之间数值差值为0.5,3帧到4帧的速度值为0.5,4帧到5帧的速度值为1,5帧到6帧的速度值为0.5,6帧到7帧的速度值为0.3,7帧到8帧的速度值为0.2,可以看出4帧到5帧的速度值相对于3帧到4帧的速度值是增加的,因此选取第5帧对应的点为加速点,并作为速度变化关键极值点。在其他实施例中,也可以在相邻峰值点之间同时选取一个加速点和减速点作为速度变化关键极值点,或者只选取一个减速点作为速度变化关键极值点。需要说明的是,对应的点即对应的运动轨迹点。
59.如果如果相邻峰值点之间的数值变化是递减变化,则按照此方式选取任意点的减速点作为速度变化关键极值点。在其他实施例中,也可以同时选取一个加速点和减速点作为速度变化关键极值点,或者只选取一个加速点作为速度变化关键极值点。需要说明的是,y轴上的峰值点和z轴上的峰值点同样需要在相邻峰值点选取加速点和减速点。
60.s306:从动作捕捉源数据中删减除峰值点和速度变化关键极值点之外的帧数据,得到目标动作捕捉数据。
61.具体的,确定x轴、y轴和z轴上峰值点和速度变化关键极值点后,在动作捕捉源数据的多帧帧数据中保留峰值点和速度变化关键极值点对应帧的帧数据,删减动作捕捉源数据中其它帧的帧数据,最终得到目标动作捕捉数据。
62.s307:基于映射关系,将目标动作捕捉数据映射至定义模型上。
63.具体的,可参考步骤s104,在此不再赘述。
64.本技术实施例一种动作捕捉数据映射方法的实施原理为:获取到运动物体的动作捕捉源数据后,根据预设的固定属性,将动作捕捉源数据和定义模型进行调整,以使动作捕捉源数据对应的运动物体的模型初始姿态与定义模型的初始姿态一致,接着将调整后的动作捕捉源数据与定义模型按照骨骼一对一对应建立映射关系,最后按照预设规则删减动作捕捉源数据中的帧数据,得到目标动作捕捉数据,基于映射关系将目标动作捕捉数据映射
至定义模型上。
65.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
66.请参见图7,为本技术实施例提供的一种动作捕捉数据映射装置的结构示意图。该应用于动作捕捉数据映射装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括动捕数据获取模块11、映射关系建立模块12、数据删减模块13和数据映射模块14。
67.动捕数据获取模块11,用于获取运动物体的动作捕捉源数据;映射关系建立模块12,用于建立动作捕捉源数据与定义模型的映射关系;数据删减模块13,用于按照预设规则删减动作捕捉源数据中的帧数据,得到目标动作捕捉数据;数据映射模块14,用于基于映射关系,将目标动作捕捉数据映射至定义模型上。
68.可选的,如图8所示,装置1还包括零帧判断模块15,具体用于:判断动作捕捉源数据的时间码是否为零;若不为零,则将时间码重置为零帧。
69.可选的,映射关系建立模块12,具体用于:根据预设的固定属性,调整动作捕捉源数据和定义模型,以使动作捕捉源数据对应的运动物体的模型初始姿态与定义模型的初始姿态一致,固定属性包括模型初始的骨骼位置信息、骨骼旋转信息以及骨骼缩放信息;将调整后的动作捕捉源数据和定义模型建立映射关系。
70.可选的,映射关系建立模块12,具体还用于:对比运动物体对应的模型和定义模型的骨骼名称;按照骨骼名称一致建立调整后的动作捕捉源数据和定义模型建立映射关系。
71.可选的,数据删减模块13,具体用于:获取动作捕捉源数据中帧数对应的峰值点和速度变化关键极值点;从动作捕捉源数据中删减除峰值点和速度变化关键极值点之外的帧数据,得到目标动作捕捉数据。
72.可选的,数据删减模块13,具体还用于:根据动作捕捉源数据相邻帧之间的位移数值变化,确定动作捕捉源数据的峰值点,位移数值变化为在x轴、y轴和z轴上的坐标值变化幅度;计算相邻峰值点之间的帧数差,将帧数差与预设值对比;若帧数差大于预设值,则在相邻峰值点之间选取速度变化关键极值点。
73.可选的,数据删减模块13,具体还用于:若帧数差大于预设值,则判断相邻峰值点之间的数值变化趋势;若数值变化趋势为递增变化,则在相邻峰值点之间选取任一加速点作为速度变化关键极值点;若数值变化确实为递减变化,则在相邻峰值点之间选取任一减速点作为速度变化关键极值点。
74.需要说明的是,上述实施例提供的一种动作捕捉数据映射装置在执行动作捕捉数
据映射方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种动作捕捉数据映射装置与一种动作捕捉数据映射方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
75.本技术实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种动作捕捉数据映射方法。
76.其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom)、随机存取存储器(ram)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
77.其中,通过本计算机可读存储介质,将上述实施例的一种动作捕捉数据映射方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
78.本技术实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种动作捕捉数据映射方法。
79.其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
80.其中,处理器可以采用中央处理单元(cpu),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本技术对此不做限制。
81.其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(smc)、安全数字卡(sd)或者闪存卡(fc)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本技术对此不做限制。
82.其中,通过本电子设备,将上述实施例的一种动作捕捉数据映射方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
83.以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献