基于惯性和体感传感器数据质量评价的人体运动跟踪方法与流程

文档序号:11747234阅读:424来源:国知局
基于惯性和体感传感器数据质量评价的人体运动跟踪方法与流程

本发明属于人体运动跟踪技术领域,具体涉及一种基于惯性传感器以及体感传感器数据质量评价的人体运动跟踪方法。



背景技术:

人体运动跟踪系统是一种用于准确测量运动物体在三维空间运动状况的高技术设备。人体运动跟踪(humanmotioncapture)在国内也称动作捕捉,是利用视频、惯性传感器等,在三维空间中准确测量人体的运动信息,将采集到的人体运动数据进一步计算处理之后,在计算机虚拟世界中重构人体的运动模型,从而实现人体运动的再现的过程。

2010年11月微软公司推出了kinect体感游戏控制器。kinect配备有三个镜头,中间的镜头是rgbvga摄像头,左右两边镜头则分别为红外线发射器和红外线cm0s摄像头所构成的3d深度感应器。利用红外反射器和红外摄像头捕获三维空间人体数据坐标及速度信息,进行实时地定位。kinect作为人体运动捕捉设备成本低廉,实时性高,但其作用范围有限,目标易受遮挡的影响。而惯性式运动跟踪系统使用电动机械设备,通过测量陀螺的阻力、加速度和倾斜度的变化,来测量人体的相对运动。惯性传感器成本低,体积小,便于穿戴,且借助于无线传感网络,人体的运动不会受到限制等优点,但基于惯性传感器的人体运动跟踪系统也存在无法进行绝对定位,无法消除累计误差和受磁场和金属物体影响等问题。

2014年,浙江大学张姹研究了基于光学和惯性跟踪数据融合的上肢运动测量技术,取得了一定成果,该方法获取的人体运动数据精度和可靠性都有所提高,但由于采用了美国naturalpoint公司的optitrack光学跟踪系统,设置较为麻烦且造价高昂,适用范围受到成本的限制。

因此,为了解决上述问题,研制出一种设备低廉简单,并且能够有效解决受磁场以及金属物体遮挡影响而导致错误以及误差发生的人体运动跟踪方法是本领域技术人员所急需解决的难题。



技术实现要素:

为解决上述问题,本发明公开了一种基于惯性和体感传感器数据质量评价的人体运动跟踪方法。

为了达到上述目的,本发明提供如下技术方案:

一种基于惯性和体感传感器数据质量评价的人体运动跟踪方法,包括以下步骤:采用惯性传感器和体感传感器获得人体骨骼关节点的加速度信息和位置信息作为全身运动数据;将获得的全身运动数据经过时间对准和空间重投影后进行质量评价,获得质量评价结果;基于质量评价结果,将获得的全身运动数据进行数据融合后,选取可信的全身运动数据作为新的人体运动数据,以此进行运动跟踪。

进一步地,具体步骤包括:

(1)、采用惯性传感器和体感传感器获得人体骨骼关节点的加速度信息和位置信息作为全身运动数据:

(1.1)、在全身15个主要关节佩戴惯性传感器,并利用磁力计、加速度计以及陀螺仪9轴运动传感器进行姿态计算,获得关节姿态数据,并将关节姿态数据向上位机发送数据;

(1.2)、利用体感传感器获取人体20个关节点的位置数据,以三维空间坐标的形式记录为关节点数据,并对每一个关节点数据进行可信度判断,选取可信的关节点数据;

(1.3)、将步骤(1.1)与步骤(1.2)获得的关节姿态数据以及可信的关节点数据作为初级运动数据;

(2)、将获得的初级运动数据作为全身运动数据经过时间对准和空间重投影后进行质量评价,获得质量评价结果;

(2.1)、采用内插法将惯性传感器以及体感传感器进行时间对准;

(2.2)、根据体感传感器和惯性传感器之间的空间关系得到空间转换矩阵将获得的全身运动数据进行空间转换,并转移至人体骨骼坐标系下;

(2.3)、当体感传感器新的一帧数据到来时,根据其可信度、是否符合人体骨骼生理约束和运动约束判断其是否可靠,进行质量评价;

(2.4)、对惯性传感器获得的关节姿态数据以及体感传感器获取的可靠的关节点数据进行卡尔曼滤波,将滤波后的值与惯性传感器观测值进行对比,判断其是否超过设定的滤波误差阈值;当其超过滤波误差阈值时,辅助以体感传感器进行质量评价,判断其是否可信,获得质量评价结果;

(3)、基于质量评价结果,将获得的全身运动数据进行数据融合后,选取可信的全身运动数据作为新的人体运动数据,以此进行运动跟踪;

(3.1)、为惯性传感器以及体感传感器所采集到的数据设定一个存放数据质量的滑动窗口;

(3.2)、在对惯性传感器以及体感传感器采集到的数据进行质量评价时,更新各自的滑动窗口;根据滑动窗口内可信数据的数量计算每一个关节点的权重;

(3.3)、根据惯性传感器和体感传感器的关节点权重大小,选取相应关节点的关节点数据作为更为可信的参考数据作为人体运动数据。

进一步地,惯性传感器为mems运动传感器;体感传感器为kinect。

进一步地,步骤(1.1)中15个主要关节分别为:头部、两大臂、两小臂、腰部、脊椎、两大腿、两小腿、两只脚。

进一步地,步骤(1.2)中20个关节点分别为:髋关节中心、脊柱、双肩中心、头部、左肩、左肘、左腕、左手、右肩、右肘、右腕、右手、左髋关节、左膝、左踝、左脚、右髋关节、右膝、右踝、右脚。

进一步地,步骤(2.3)的具体方法为:从体感传感器获得的20个关节点的位置数据提取出可靠的人体骨骼模型作为参考模型,并建立人体骨骼生理约束;根据各个关节点计算出每段骨骼的长度,将计算出的骨骼的长度同人体骨骼模型中的骨骼参考长度进行对比,若误差值大于设定的误差阈值,则说明由体感传感器到来的新的一帧数据不可靠。

进一步地,步骤(2.4)的具体方法为:分别对由惯性传感器获得关节姿态数据作为惯性观测值以及由体感传感器获得的关节点数据作为体感观测值进行卡尔曼滤波,获得惯性滤波值与体感滤波值;计算惯性观测值与惯性滤波值之间的误差值,并与设定的滤波误差阈值对比;当误差值小于设定的滤波误差阈值时,若满足运动约束,则获得的惯性观测值可信;当误差值大于设定的滤波误差阈值时,若体感传感器获得数据是可信的,则惯性观测值不可信,反之,则惯性观测值可信。

进一步地,步骤(3)的具体方法为:

(3.1)、为惯性传感器和体感传感器所采集到的每个关节点数据设置一个大小为30的滑动窗口,存放关节点的数据质量;

(3.2)、当惯性传感器和体感传感器的新的一帧观测值到来时,根据数据质量评价,判断出当前帧的各个关节点的数据质量,更新惯性传感器与体感传感器的滑动窗口;设某一个关节有x帧数据是可信的,则有30-x帧数据是不可信的,惯性传感器和体感传感器获得的每一个关节点的数据权重随着滑动窗口内可信数据的数量的增加而增大;各个关节点的权重m表示为:

其中,m为权重值,k为调节因子,x为滑动窗口内数据可信的帧数;

并且分别通过惯性传感器以及体感传感器获得观测值进行权重计算,分别表示为mj、mi;

(3.3)、当mi≥σ并且mj≥σ时,惯性传感器和体感传感器获得的观测值均可信,此时采用mi、mj中较大一方的卡尔曼滤波后的关节点数据作为参考数据,并且若mi=mj,则采用惯性传感器观测值作为参考数据;

当mi>σ并且mj<σ时,判定惯性传感器观测值出错,而体感传感器观测值良好,由于此时惯性传感器和体感传感器卡尔曼滤波后的滤波值存在较大误差,采用体感传感器观测值作为参考数据;

当mi<σ时,判定体感传感器出错,由于惯性传感器观测值的数据质量是在体感传感器观测值辅助下做出判断的,因此mj<σ,此时直接判定惯性传感器观测值正确,采用其作为参考数据。

本发明所提供的基于惯性传感器以及体感传感器质量评价的人体运动跟踪方法,对由惯性传感器以及体感传感器获得人体运动数据进行质量评价,根据质量评价结果对惯性传感器和体感传感器获取的人体运动数据进行融合处理。与现有技术相比,(1)有效改善了目前光学更总系统进行人体运动测量时处理算法复杂、计算量大、以及当目标混淆或被遮挡时无法工作的问题;(2)同时解决了惯性传感器人体运动跟踪系统中无法进行人体定位和收磁场以及金属影响的问题;(3)在同一框架下实现了基于mems运动传感器的惯性人体捕捉系统以及基于kinect的体感设备的人体运动数据采集方法,在设备造价、跟踪范围、定位精度、误差控制等方面兼备两类设备的优势,实现了低成本高精度的人体运动跟踪。

附图说明

图1、本发明的流程图;

图2、本发明中对kinect获得数据的质量评价流程图;

图3、本发明中对mems运动传感器获得数据的质量评价流程图;

图4、本发明中基于mems运动传感器以及kinect进行人体运动数据融合处理的流程图。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

如图1所示为本发明的流程图,本发明为一种基于惯性和体感传感器数据质量评价的人体运动跟踪方法,惯性传感器选择为mems运动传感器;体感传感器选择为kinect,具体步骤包括:

(1)、采用mems运动传感器和kinect获得人体骨骼关节点的加速度信息和位置信息作为全身运动数据:

(1.1)、在全身15个主要关节佩戴mems运动传感器,并利用磁力计、加速度计以及陀螺仪9轴运动传感器进行姿态计算,获得关节姿态数据,并将关节姿态数据向上位机发送数据;其中15个主要关节分别为:头部、两大臂、两小臂、腰部、脊椎、两大腿、两小腿、两只脚;

(1.2)、利用kinect获取人体20个关节点的位置数据,以三维空间坐标的形式记录为关节点数据,并对每一个关节点数据进行可信度判断,选取可信的关节点数据;如图2,当关节点的状态处于tracked的时候,则认为关节点数据初步可信,再判断其是否满足生理约束以及运动约束,如果均满足,则认为可信;其中20个关节点分别为:髋关节中心、脊柱、双肩中心、头部、左肩、左肘、左腕、左手、右肩、右肘、右腕、右手、左髋关节、左膝、左踝、左脚、右髋关节、右膝、右踝、右脚;

(1.3)、将步骤(1.1)与步骤(1.2)获得的关节姿态数据以及可信的关节点数据作为初级运动数据;

(2)、将获得的初级运动数据作为全身运动数据经过时间对准和空间重投影后进行质量评价,获得质量评价结果;

(2.1)、采用内插法将mems运动传感器以及kinect进行时间对准;

根据mems运动传感器以及kinect的采集数据的频率,将时间片选取为1秒;mems运动传感器实际采集速率比kinect低,为了使mems运动传感器的数据形成同kinect一样的时间间隔,假设mems运动传感器两帧的时间间隔内做角速度恒定的匀速运动,经过内插法计算之后得到的mems运动传感器角度,此时mems运动传感器数据的时间间隔与kinect一致;

(2.2)、根据kinect和mems运动传感器之间的空间关系得到空间转换矩阵将获得的全身运动数据进行空间转换,并转移至人体骨骼坐标系下;

(2.3)、从kinect获得的20个关节点的位置数据提取出可靠的人体骨骼模型作为参考模型,并建立人体骨骼生理约束;根据各个关节点计算出每段骨骼的长度,将计算出的骨骼的长度同人体骨骼模型中的骨骼参考长度进行对比,若误差值大于设定的误差阈值,则说明由体感传感器到来的新的一帧数据不可靠;

由于人体自身的运动约束,人体不同部位的关节点能够旋转的角度也都有各自的取值范围,根据获取到的骨骼数据对所有关节点进行欧拉角计算,判断每个关节点的欧拉角是否在对应的范围内;如果欧拉角的超出范围大于误差阈值,则认为此帧中的关节点数据不可信;下表为人体部分关节点的欧拉角取值范围:

(2.4)、对惯性传感器获得的关节姿态数据以及体感传感器获取的可靠的关节点数据进行卡尔曼滤波,将滤波后的值与惯性传感器观测值进行对比,判断其是否超过设定的滤波误差阈值;当其超过滤波误差阈值时,辅助以体感传感器进行质量评价,判断其是否可信,获得质量评价结果;

当两个设备的数据其中一方出错时,由于信息的互补性,导致mems运动传感器和kinect的滤波误差值都产生较大变化。对此为惯性传感器的滤波误差设定一个滤波误差阈值ε,当mems运动传感器的滤波误差值小于ε时,再判断此时的数据是否符合人体关节的运动约束,如果满足运动约束,则表示mems运动传感器的数据可信;当mems运动传感器的滤波误差值大于ε时,说明mems运动传感器和kinect其中之一发生错误,导致滤波误差变大;若kinect的数据质量可信,则认为是由于mems运动传感器导致的滤波误差变大,反之认为mems运动传感器的数据是可信的,具体方法如图3:

分别对由mems运动传感器获得关节姿态数据作为惯性观测值sobserve以及由kinect获得的关节点数据作为体感观测值kobserve进行卡尔曼滤波,获得惯性滤波值skalman与体感滤波值kkalman;计算sobserve与skalman之间的误差值dsensor,并与设定的滤波误差阈值ε对比;当dsensor小于ε时,若满足运动约束,则获得的sobserve可信;当dsensor大于ε时,若kinect获得数据是可信的,则sobserve不可信,反之,则sobserve可信;以此获得质量评价结果;

(3)、基于质量评价结果,将获得的全身运动数据进行数据融合后,选取可信的全身运动数据作为新的人体运动数据,以此进行运动跟踪;

(3.1)、为mems运动传感器和kinect所采集到的每个关节点数据设置一个大小为30的滑动窗口,存放关节点的数据质量;

(3.2)、当mems运动传感器和kinect的新的一帧观测值到来时,根据数据质量评价,判断出当前帧的各个关节点的数据质量,更新mems运动传感器与kinect的滑动窗口;设某一个关节有x帧数据是可信的,则有30-x帧数据是不可信的,mems运动传感器和kinect获得的每一个关节点的数据权重随着滑动窗口内可信数据的数量的增加而增大;各个关节点的权重m表示为:

其中,m为权重值,k为调节因子,x为滑动窗口内数据可信的帧数;

如图4,并且分别通过mems运动传感器以及kinect获得观测值进行权重计算,分别表示为mj、mi;

(3.3)、当mi≥σ并且mj≥σ时,mems运动传感器和kinect获得的观测值均可信,此时采用mi、mj中较大一方的卡尔曼滤波后的关节点数据作为参考数据,并且若mi=mj,则采用mems运动传感器的观测值作为参考数据;

当mi>σ并且mj<σ时,判定mems运动传感器的观测值出错,而kinect观测值良好,由于此时mems运动传感器和kinect卡尔曼滤波后的滤波值存在较大误差,采用kinect的观测值作为参考数据;

当mi<σ时,判定kinect出错,由于mems运动传感器的观测值数据质量是在kinect的观测值辅助下做出判断的,因此mj<σ,此时直接判定mems运动传感器的观测值正确,采用其作为参考数据。

最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制性技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1