一种3D骨点数据转换BVH数据的方法技术

技术编号:35030641 阅读:74 留言:0更新日期:2022-09-24 23:04
本发明专利技术公开一种3D骨点数据转换BVH数据的方法,由BVH模板导入与骨骼树定义、数据导入与预处理、骷髅匹配与三维向量化、关联向量与坐标系生成和BVH数据生成与导出等五个模块,通过数据处理、人体工程、图像处理等相关技术,进行数据优化、筛选、顶点向量化、骨骼匹配、终点数据构建和BVH模版导入,实现BVH目标生成等功能,根据视频采集或者惯性动补所采集的3D骨骼点数据,向骨骼驱动数据BVH转换,具有运算简单,操作性强等特性,能满足多数据源、低性能平台的应用。台的应用。台的应用。

【技术实现步骤摘要】
一种3D骨点数据转换BVH数据的方法


[0001]本专利技术涉及一种3D骨点数据转换BVH(BioVision Motion Capture)数据方法,具体涉及一种3D骨点数据转换为通用骨骼驱动数据的方法,属于3D虚拟拟人形象动作捕捉领域。

技术介绍

[0002]BVH(BioVision Motion Capture)是BioVision公司推出的一种人体动作捕捉文件格式,这种文件以节点为核心元素,记录连续数帧内人体骨架的运动。随着传感技术和机器学习的发展应用,实时捕捉人体动作技术的应用越来越普遍,越来越多的厂商也在数字虚拟人、手势控制、数字主播等应用之中采用实时骨骼驱动技术,使渲染的角色更加立体生动,使交互的过程更加人性化和智能化。
[0003]现有技术中,机械人的动作捕捉主要有两种数据采集方式,一种是采用专用动作操作设备的惯性动捕,另一种是基于机器学习而采用视频采集器的视频动捕。但是,均存在转换过程复杂,技术上还原操作性不强等问题。为此,本领域技术人员对此进行了相关的研究。例如CN104680570B公开的一种基于视频的动作捕捉系统及方法,其中涉及一种基于视频流的完整动作捕捉流程,但是其中3D顶点数据向BVH数据的转换过程复杂,技术上还原也欠缺可操作性。又如CN102842146B公开的一种基于构造分解法的运动数据转换方法,其中涉及到由向量转向骨骼旋转角度的优化算法,由于不涉及数据预处理的过程,对BVH的工程实现过程也没未有涉及,无法实现3D骨点数据向BVH的完整转换。
[0004]综上,在3D骨点数据转换BVH中,如何提供一种运算简单、操作性强的方法,满足多数据源、低性能平台应用等特性是本领域技术人员有待解决的问题。

技术实现思路

[0005]针对现有技术存在的上述不足,本专利技术的目的在于提供一种3D骨点数据转换BVH数据的方法,即3D骨点数据转换为通用骨骼驱动数据过程中,解决现有转换过程复杂,技术上还原操作性不强的问题。
[0006]本专利技术提供的一种3D骨点数据转换BVH数据的方法,由BVH模板导入与骨骼树定义、数据导入与预处理、骷髅匹配与三维向量化、关联向量与坐标系生成和BVH数据生成与导出五个模块,执行如下步骤:
[0007]S1、将3D骨点数据导入BVH模板生成模板树,结合输出数据需求从模板树以解析生成预定义BVH树,设定BVH预定义帧率,数据精度;
[0008]S2、将通过处理系统采集的人体骨点数据导入数据导入与预处理模块,并对导入的数据进行有效性筛选,波形筛选预测,时间曲线光滑处理,根据BVH结构补齐缺失数据,生成可利用的预处理数据;
[0009]S3、根据BVH树定义,将处理数据点与骨骼节点关系确认关联,对所有关联关系的骨点数据进行向量化,生成与骨骼数据一对一的关键向量;
[0010]S4、根据BVH树确定关键向量坐标系树、人体结构确定所有坐标系树基向量以及历史数据,对基向量进行修正,根据生成的基向量构建坐标系树;
[0011]S5、根据3D预处理数据确定基准位移坐标,将坐标系树逆向还原为旋转欧拉树,将基准坐标与旋转坐标树写入BVH模板,再导出数据。
[0012]进一步,所述步骤S1还包括:原始BVH模板文件bm可以标准BVH文件的基础上删除数据实体部分生成,针对要驱动的骨骼对象需求可以对bm内节点名称和节点结构进行定制裁剪,以减少数据量。
[0013]进一步,所述步骤S2还包括:具有用户导入惯性动捕或者机器学习生成的3D骨点估计数据,通过数据预处理模块对数据进行筛选、滤波、去毛剌、平滑等处理,生成待转换的原始数据。
[0014]进一步,所述步骤S4还包括:将待转换的原始数据,根据骨骼定义向量化生成向量数据,结构人体结构、BVH树定义,生成节点坐标系,在父坐标系中还原子坐标系旋转欧拉角,最后导入BVH模板,成BVH数据。
[0015]本专利技术还提供采用本专利技术方法转换得到的BVH数据的应用,应用于多数据源和低性能平台的3D骨点数据转换。
[0016]相比现有技术,本专利技术具有如下有益效果:
[0017]1、本专利技术通过数据处理、人体工程、图像处理等相关技术,通过数据优化、筛选、顶点向量化、骨骼匹配、终点数据构建和BVH模版导入,实现BVH目标生成等功能,根据视频采集或者惯性动补所采集的3D骨骼点数据,向骨骼驱动数据BVH转换,具有运算简单,操作性强等特性,能满足多数据源、低性能平台的应用。
[0018]2、本专利技术从3D骨点数据向BVH数据可实行落地的转换方法,具有用户导入惯性动捕或者机器学习生成的3D骨点估计数据,通过数据预处理模块对数据进行筛选、滤波、去毛剌、平滑等处理,生成待转换的原始数据;再将待转换的原始数据,根据骨骼定义向量化生成向量数据,结构人体结构、BVH树定义,生成节点坐标系,在父坐标系中还原子坐标系旋转欧拉角,最后导入BVH模板,成BVH数据。
[0019]3、本专利技术实现了一种可以跨编程语言实现、可工程化、完整的3D骨点序列数据转BVH数据的方法。在实现过程中,兼顾了实现的容易性与算法的轻量化,在最终效果和实现时效性之间做出了有效平衡,通过短时间的转换工作,可以在车机、手机和PC等多平台实现相应功能。
附图说明
[0020]图1为本专利技术3D骨点数据转换BVH数据的模块组成图;
[0021]图2为本专利技术3D骨点数据转换BVH数据的方法流程图;
[0022]图3为本专利技术方法中数据预处理流程图;
[0023]图4为本专利技术方法中顶点向量构建示意图;
[0024]图5为本专利技术方法中三维化构建顺序图;
[0025]图6为本专利技术方法中数据流转图;
[0026]图7为本专利技术方法中节点数据补全示意图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面结合实施例和附图,对本专利技术技术方案作进一步清楚、完整地描述。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]本专利技术中主要术语解释如下:
[0029][0030][0031][0032]实施例1:
[0033]参见图1和图2,一种3D骨点数据转换BVH数据的方法,由BVH模板导入与骨骼树定义、数据导入与预处理、骷髅匹配与三维向量化、关联向量与坐标系生成和BVH数据生成与导出五个模块(程序),执行如下步骤:
[0034]S1、BVH模板导入与骨骼树定义:将3D骨点数据导入BVH模板生成模板树,结合输出数据需求从模板树以解析生成预定义BVH树,设定BVH预定义帧率,数据精度;
[0035本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种3D骨点数据转换BVH数据的方法,其特征在于,由BVH模板导入与骨骼树定义、数据导入与预处理、骷髅匹配与三维向量化、关联向量与坐标系生成和BVH数据生成与导出五个模块,执行如下步骤:S1、将3D骨点数据导入BVH模板生成模板树,结合输出数据需求从模板树以解析生成预定义BVH树,设定BVH预定义帧率,数据精度;S2、将通过处理系统采集的人体骨点数据导入数据导入与预处理模块,并对导入的数据进行有效性筛选,波形筛选预测,时间曲线光滑处理,根据BVH树补齐缺失数据,生成可利用的预处理数据;S3、根据BVH树定义,将处理数据点与骨骼节点关系确认关联,对所有关联关系的骨点数据进行向量化,生成与骨骼数据一对一的关键向量;S4、根据BVH树确定关键向量坐标系树、人体结构确定所有坐标系树基向量以及历史数据,对基向量进行修正,根据生成的基向量构建坐标系树;S5、根据3D预处理数据确定基准位移坐标,将坐标系树逆向还原为旋转欧拉树,将基准坐标与旋转坐标树写入BVH模板,再导出数据。2.根据权利要求1所述3D骨点数据转换BVH数据的方法,其特征在于,所述步骤S1具体包括:S11、将原始BVH模板文件bm从存储系统或者数据流导入BVH模板导入与骨骼树定义模块,进行反序列化解析,读取精度、帧率和有效通道,在系统内生成原始BVH树b0;S12、克隆b0生成新的可操作BVH记录树bt;S13、根据实际需求,分析记录树bt和需求骨骼节点差异,对可操作BVH树bt增减节点,调整节点结构,重命名,使新BVH结构覆盖需求;S14、根据实际需求数据确定生成对象的精度dd,记录帧率dr,有效通道dt;将确定的数据记录进可操作BVH记录树bt,克隆bt到只读目标BVH树b1;S15、根据只读目标BVH树b1,定义需求数据点结构d3d_s。3.根据权利要求1所述3D骨点数据转换BVH数据的方法,其特征在于,所述步骤S2具体包括:S21、以数据流或者文件形式接入从数据采集设备采集的3D骨点数据,按时间顺序压入原始3D点数据队列d3d_o_q,导入数据采集结构定义d3d_o_s;S22、从原始3D点数据队列d3d_o_q中按入队顺序依次取出备选数据d3d_o,确定d3d_o中失效数据的数量,当初始帧数小于预测参考帧数阈值fdn且失效数据数量大于0,抛弃该数据;当初始帧数大于预测参考帧数阈值fdn且失效数据数量大于等于失效数据抛弃阈值edn,抛弃该数据;当以上两条都不满足的情况下,数据有效性验证通过,形成待修正数据d3d_p1;S23、将待修正数据,以预测参考帧数阈值fdn为基础帧数,对fdn数量帧数同位历史数据采用中值滤波,取结果值t1,去除数据毛剌;以预测参考帧数阈值fdn为基础帧数,对fdn数量帧数同位t1历史数据采用卡尔曼滤波算法,取结果值t2,降低数据抖动;取所有t2组合形成待修补数据d3d_p2;S24、根据只读目标BVH树b1,对比需求数据点结构d3d_s和数据采集数据点结构d3d_o_s,对d3d_p2进行重新排布,补齐缺失的数据点生成待美化数据d3d_p3;
S25、将待美化数据d3d_p3,以预测参考帧数阈值fdn为基础帧数,对fdn数量帧数同位历史数据采用中值滤波,取结果值t3,对待美化数据根据历史数据进行光滑;取得可用数据d3d_l;S26、根据只读目标BVH树b1、需求数据点结构d3d_s,新建顶点树ptree,树的子节点结构对应b1节点结构,每个节点存放为b1对应节点骨骼对应骨骼旋转根数据点;当节点无顶点数据对应时,赋值为空。4.根据权利要求1所述3D骨点数据转换BVH数据的方法,其特征在于,所述步骤S3具体包括:S31、根据数据点结构d3d_s,新建向量树vtree,存储内容为选取ptree相关节点构建向量结构v3d_o,节点存储向量起点d3d_s_bp1,终点d3d_s_bp2;S32、遍历ptree,对节点数据进行向量构建,以骨骼起点d3d_s_bp1为向量起点,以骨骼终点d3d_s_bp2为向量终点。5.根据权利要求1所述3D骨点数据转换BVH数据的方法,其特征在于,所述步骤S4具体包括:S41、根据只读目标BVH树b1、ptree、vtree,构建坐标系树ctree,节点与b1节点结构一致,存储内容1为b1对应节点骨骼以世界坐标...

【专利技术属性】
技术研发人员:陈楚陈光银田尊明张丹
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1