【技术实现步骤摘要】
一种基于Kinect骨骼节点位置追踪的人体姿势比较方法
本专利技术属于多用户肢体动作实时比较方法
具体提出了一种基于Kinect骨骼节点位置追踪的人体姿势比较方法。此方法也可应用于虚拟现实游戏中对用户姿态的追踪,以及工程中对器件角度动态变化的监控和测量。
技术介绍
虚拟现实技术(VirtualReality,VR)是一种可以创建和体验虚拟世界的计算机技术,是以沉浸性(Immersion)、交互性(Interaction)和构想性(Imagination)为基础特征的计算机高级人机界面。它利用计算机生成一种虚拟环境,通过模拟实际情况从而对人的触觉、听觉、视觉等感觉器官进行影响,使人能沉浸在计算机生成的虚拟世界中。同时还可借助传感头盔、运动捕捉系统、数据手套等专业设备,使用户进入虚拟空间,实时感知和操作虚拟环境中的对象。随着虚拟现实技术的快速发展及其在各行业中广泛的应用,虚拟现实系统中对用户动作和姿态的追踪计算在实际的应用中起着越来越重要的作用,计算的精度和结果的稳定程度影响着用户对虚拟系统的实时操控性和操控精确度,而虚拟界面的实时交互性影响着用户的沉浸感和真实感。三维空间中用户的动作,具有连续性和速度变化的特性,在处理用户动作数据的时候既要考虑对用户数据的滤波和平滑处理,又要求系统的延迟不能太低,这对于算法是有很高的要求的,但在现有的动作变化处理方法中,没有根据用户动作变化的速度计算的相关方法,现有方法中没有加入预测偏移量,也没有合理利用最近产生的数据,导致在用户动作连续变化时要么算法平滑数据很好但是系统延迟很高,要么实时性很好但是平滑和滤波效果不理 ...
【技术保护点】
1.一种基于Kinect骨骼节点位置追踪的人体姿势比较方法,其特征在于:包括以下步骤:步骤1,将Kinect V2和笔记本的USB3.0接口相连接,确保设备扫描得到的深度数据和彩色数据能够正常传输,通过KinectSDKWrapper脚本在Unity3D中对KinectV2识别并自动计算得到的骨骼节点数据进行接收并存储;步骤2,通过动态帧数替换算法保存从KinectSDKWrapper脚本接收到的最近N帧人体全身的20个特征骨骼节点数据,并实时更新;步骤3,依据中位值平均滤波算法对步骤2中实时更新的骨骼节点数据进行抖动偏差处理,并加入偏移预测,之后得出稳定的骨骼节点数据;步骤4,依据步骤3中稳定的骨骼节点数据,求出与骨骼节点相连的18个对应人体全身各主要部位骨骼的骨骼向量,并计算这18个骨骼向量旋转连接处的两相邻骨骼向量的角度值,以及连接这个骨骼节点的两骨骼向量的向量积;步骤5,利用步骤4得出的实时骨骼角度值和向量积,计算同一时刻两个用户的所有对应骨骼关节处骨骼向量所形成的角度的差值的绝对值,以及该骨骼关节处两段骨骼所组成的向量积的角度,通过动态帧数替换算法动态记录从现在时刻起往前N帧 ...
【技术特征摘要】
1.一种基于Kinect骨骼节点位置追踪的人体姿势比较方法,其特征在于:包括以下步骤:步骤1,将KinectV2和笔记本的USB3.0接口相连接,确保设备扫描得到的深度数据和彩色数据能够正常传输,通过KinectSDKWrapper脚本在Unity3D中对KinectV2识别并自动计算得到的骨骼节点数据进行接收并存储;步骤2,通过动态帧数替换算法保存从KinectSDKWrapper脚本接收到的最近N帧人体全身的20个特征骨骼节点数据,并实时更新;步骤3,依据中位值平均滤波算法对步骤2中实时更新的骨骼节点数据进行抖动偏差处理,并加入偏移预测,之后得出稳定的骨骼节点数据;步骤4,依据步骤3中稳定的骨骼节点数据,求出与骨骼节点相连的18个对应人体全身各主要部位骨骼的骨骼向量,并计算这18个骨骼向量旋转连接处的两相邻骨骼向量的角度值,以及连接这个骨骼节点的两骨骼向量的向量积;步骤5,利用步骤4得出的实时骨骼角度值和向量积,计算同一时刻两个用户的所有对应骨骼关节处骨骼向量所形成的角度的差值的绝对值,以及该骨骼关节处两段骨骼所组成的向量积的角度,通过动态帧数替换算法动态记录从现在时刻起往前N帧的每一帧中两用户的骨骼角度差值和骨骼向量积角度值;步骤6,通过EWMA算法平滑同一骨骼关节位置的不同帧数下骨骼向量角度值和骨骼向量积角度值,用平滑后的骨骼向量角度值作差值和设定的阈值角度作比较,用平滑后的骨骼向量积角度值作差值和设定的阈值角度作比较,依据不同身体部位影响整体身体姿态的权重,给符合阈值约束的关节位置一个分数值并记录,然后统计当前分数总和并显示,即完成了两个用户基于Kinect骨骼节点位置追踪的人体姿势比较。2.根据权利要求1所述的一种基于Kinect骨骼节点位置追踪的人体姿势比较方法,其特征在于:所述步骤2)中通过动态帧数替换算法保存从KinectSDKWrapper脚本接收到的最近N帧人体全身的20个特征骨骼节点数据,并实时更新,其步骤包括:2.1、当前总运行帧数不大于m帧时,把此刻此位置的数据按顺序保存在预设好的二维数组FramePos[m,i]的第0到第m-1行中;2.2、总运行帧数大于m帧时,丢弃最早一帧的数据,所有数据前移一位,把此刻的最新数据下载到数组的第m-1行中;2.3、每帧都对全身的20个骨骼节点循环一次步骤2.1和2.2。3.根据权利要求2所述的一种基于Kinect骨骼节点位置追踪的人体姿势比较方法,其特征在于:所述步骤3)中,依据中位值平均滤波算法对步骤2中实时更新的骨骼节点数据进行抖动偏差处理,并加入偏移预测,之后得出稳定的骨骼节点数据,其步骤包括:3.1、计算此刻此节点的位移速率v和加速度a;速率v和加速度a的计算方法为:v=d/t,a=Δv/t其中d为此节点最近两帧的位置,t为帧间间隔,△v是此节点最近两帧的速度差;3.2、把位移速率v带入调节函数中,计算出此刻此节点的位移速率对应适合的帧数数据的数量M;M=φ(v)=(A...
【专利技术属性】
技术研发人员:张元,吕金泽,韩燮,高天一,石倩,
申请(专利权)人:中北大学,
类型:发明
国别省市:山西,14
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。