首页> 中国专利> 一种基于多Kinect的用户动作特征数据获取方法

一种基于多Kinect的用户动作特征数据获取方法

摘要

本发明公开了一种基于多Kinect的用户动作特征数据获取方法,大多采取一个Kinect在人体的左前方,另一个Kinect在人体的右前方的方案,然后再进行两个Kinect的坐标标定工作,并将多个Kinect下融合的数据在Unity3D下构建,并将数据存入数据库;通过对三维人体模型模型动画进行驱动,将取得的用户动作进行可视化,方便用户自己查看比对标准动作,进行学习改正。

著录项

  • 公开/公告号CN114820893A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 纪良骏;

    申请/专利号CN202210443841.4

  • 发明设计人 于泽;高丽娜;纪良骏;刘雯雯;

    申请日2022-04-25

  • 分类号G06T13/40;

  • 代理机构北京博海嘉知识产权代理事务所(普通合伙);

  • 代理人赵赟鑫

  • 地址 250000 山东省济南市历下区二环东路7366号

  • 入库时间 2023-06-19 16:08:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及一种动作捕捉技术领域,尤其是一种基于多Kinect的用户动作特征数据获取方法。

背景技术

目前,用户动作特征数据获取时Kinect的数量过多,则需要多个Kinect两两标定,还要考虑多Kinect之间红外光的干扰。会出现遮挡、骨骼精度不够等问题,因此需要提出一种基于多 Kinect的用户动作特征数据获取方法,能够解决利用两个Kinect传感器进行数据融合,解决自遮挡、骨骼精度不够的问题。

发明内容

本发明的目的就是解决现有技术中的问题,提出一种基于多Kinect的用户动作特征数据获取方法,能够使解决利用两个Kinect传感器进行数据融合,解决自遮挡、骨骼精度不够的问题。

本发明解决其技术问题所采用的技术方案是:

采用上述技术方案,

进一步设置为:所述

采用上述技术方案,

再进一步设置为:所述

采用上述技术方案,

本发明的有益效果是:

采用多个Kinect,解决了单个Kinect骨骼捕捉易失真、精度低与身体自遮挡等问题。与此同时领感智体采取一个Kinect在人体的左前方,一个Kinect在人体的右前方的部署方案,扩大了视角和追踪范围,解决了单个Kinect在捕获人体数据时范围小的问题。

使用卡尔曼滤波算法解决估计值和测量值之间的权重关系,从而得到一个更接近真实值的结果,增加用户动作序列数据准确性,同时增强了用户动作与模板动作的对比准度。

通过Unity平台,对三维人体模型模型动画进行驱动,将取得的用户动作进行可视化,方便系统签约教练接收到系统发送过来的图文检测报告后对照用户动作三维动画进行错误修正,并将修改后的图文检测报告发送到领感智体检测系统,系统不断进行自主学习,为系统的更新迭代打下数据基础。

具体实施方式

下面对本发明作进一步描述:

本实施例提供一种基于多Kinect的用户动作特征数据获取方法包括以下步骤:

步骤一:设置两个Kinect,一个Kinect在人体的左前方,另一个Kinect在人体的右前方;采用多个Kinect,解决了单个Kinect骨骼捕捉易失真、精度低与身体自遮挡等问题。与此同时领感智体采取一个Kinect在人体的左前方,一个Kinect在人体的右前方的部署方案,扩大了视角和追踪范围,解决了单个Kinect在捕获人体数据时范围小的问题

步骤二:进行两个Kinect的坐标标定工作;

步骤三:将多个Kinect下融合的数据在Unity3D下构建,并将数据存入数据库;

步骤四:通过对三维人体模型模型动画进行驱动,将取得的用户动作进行可视化。

步骤二中的坐标标定具体操作方式为:将步骤一中的两个Kinect传感器获得的骨骼点坐标信息转换到同一个坐标系下。通过坐标转换,获取到每个Kinect下采集的同一人体的关节点坐标。步骤二中的两个Kinect传感器获得的骨骼点坐标信息转换到同一个坐标系下的操作方法,采用基于最小二乘法的刚性变换方法,刚性变换是求一个Kinect坐标系点在另一个Kinect坐标系下对应点的坐标值。通过坐标转换,获取到每个Kinect下采集的同一人体的关节点坐标;

两个Kinect设备下采集人体的骨骼点坐标其具体方式为:

采取Kinect设备采集到人体的17个骨骼关节点的三维空间坐标值。以采集同一个人的颈部 (Neck)三维坐标点为例。则人体的颈部关节点在不同的Kinect设备下对应坐标值为P1和P2。假设该人体的颈部关节点在世界坐标系Kw下的坐标值为Pw,两个Kinect坐标系分别为Ki和 kj,任意一个骨骼点坐标可记为[x,y,z]∈R1×3。Ki的旋转矩阵和平移矩阵分别为R1和T1;kj 的旋转矩阵和平移矩阵分别为R2和T2。则可以得到以下方程组:

由该方程组可得R

因此上式可改写为P_1=RP_2+T,这样就可以得到两个Kinect设备坐标系下获取到的骨骼坐标点的对应变换关系。为了验证R、他的合理性,因此采用最小二乘法来使得RP_2+T趋近于P_1.从此可建立如下表达式:

其中,&

首先固定R,更新T,对其进行求导,根据KKT条件化简可得:

)=&

固定T,更新R,并对其进行求导,根据KKT条件化简得:

该文采取公式推导然后实验数据验证的方法,利用交替迭代发求得R和T的值。

步骤三中将多个传感器获得的多种来源可靠的数据或信息,通过卡尔曼滤波算法进行数据融合,最终得到更准确的数据结果。我们通过两个Kinect传感器与Unity3D相组合,获得融合后的的实时的人体骨骼坐标点。

其中卡尔曼滤波器是一种基于估计算法的递归状态空间模型,它是一种最优的递归数据处理算法,它的的特点可以用三个关键词描述:线性、估计以及递归。传统离散型状态方程如下:由 k-1时刻到k时刻,状态预测方程为X_h=AX_(h-1)+B_(w_i)+w_k;系统状态预测方程为 Z_k=HX_k+v_k。其中,A为状态传递矩阵;u_k为输入向量;B为输入增益矩阵;w_k的协方差矩阵为Q,时服从正态分布的过程噪音;H为测量矩阵;v_k的协方差矩阵为R,是服从正态分布的测量噪音。卡尔曼估计是由预测和矫正两个过程组成。预测阶段是通过对上一状态的估计,就会预测出当前状态;校正阶段是滤波器利用对目前的观测值修正预测阶段获得的观测值,以获得一个更新更准确的估计值。

步骤三中通过Unity平台,设备中的人体模型驱动模块把数据捕捉模块采集到的实时运动数据,对三维人体模型模型动画进行驱动。模型驱动模块流程:

(1)从建模软件的网格模型中绑定骨骼,经过蒙皮、调整、驱动检查等步骤得到FBX格式的骨骼蒙皮模型

(2)将上述模型输出在Unity平台中进行位置调整

(3)融合好的17个骨骼关节数据与Unity平台中三维人体模型的相同17个骨骼关节位置进行对应绑定,加载到Unity平台的脚本中,将模型与训练者同步运动。

上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号