基于双体感追踪系统的人体运动捕捉系统及捕捉方法与流程

文档序号:15115889发布日期:2018-08-07 20:08阅读:326来源:国知局

本发明涉及运动影像分析领域,尤其涉及人体运行捕捉领域,具体是一种基于双体感追踪系统的人体运动捕捉系统及捕捉方法。



背景技术:

人体运动捕捉是运动生物力学所研究的核心问题之一,准确而鲁棒的关节点位置与关节角变化是后续其他运动学分析的合理前提。现在主流的人体运动捕捉方法具有成本高昂,设置复杂和不利于推广使用等一系列缺陷,需要进一步的技术研究以解决并完善这些问题。

现阶段,常用于实验室环境的人体运动捕捉系统与方法为基于红外光的带标记点的人体运动捕捉系统与方法,典型代表是vicon系统和qualysis系统。这一类系统对人体动作的采集基于贴于人体表面的具有特殊反光性质的标记点,在具体生物力学实验之前需要在人体表面进行繁杂的贴点操作。这种贴点操作不仅耗时耗力,而且在实际的训练或比赛中运动员的身体上是不被允许贴有这样的标记物的。这种人体运动捕捉的系统与方法还有的一个显著缺点就是成本高昂,全套设备的价格在百万左右,不利于推广,不利于携带,不利于在比赛现场进行使用。

kinect是微软发明的用于人体姿态捕捉的具有深度相机的体感追踪系统,其主要用途为体感游戏中的动作采集。kinect2.0是微软于2014年推出的kinect第二代产品,它的深度相机采用的是光飞跃技术,有效识别范围为相机前0.5m-4.5m,相机分辨率为512*424,相机频率为30hz,人体姿态的获取原理为基于采集到的深度图对人体深度图进行分类,分析出人体的不同部分进而得到关节点的具体位置。将kinect直接用于人体运动捕捉其精度一般难以达到要求,特别是在人体不面对kinect或者有较多自遮挡动作时,kinect就难以判断某些坐标点的具体位置,进而影响到整个人体姿态的识别。



技术实现要素:

本发明的目的是提供一种精确性和鲁棒性较高的基于双体感追踪系统的人体运动捕捉系统及捕捉方法。

实现上述发明目的,本发明的技术方案是:一种基于双体感追踪系统的人体运动捕捉系统,包括两台用以采集人体姿态与图像信息的体感追踪系统,及将其连接于台式机的适配器;一块由黑白两色塑胶格板交错排列的棋盘格;数据采集模块;运动分析模块;

所述数据采集模块包括标定图像采集模块,采集用于标定的带有棋盘格的图像;人体姿态采集模块,采集运动过程中各体感追踪系统坐标系内人体关节点随时间变化的具体位置;

所述运动分析模块包括用以相机姿态标定的体感追踪系统标定模块;用以对两台体感追踪系统的时间流进行同步的体感追踪系统同步模块;用以对两台体感追踪系统采集的人体关节点进行数据融合与卡尔曼滤波平滑的融合滤波模块;用以基于稳定后的人体关节点位置输出各关节角度随时间的变化曲线的关节角输出模块。

一种基于双体感追踪系统的人体运动捕捉方法,包括如下步骤:

步骤一,将两台体感追踪系统分别通过三脚架放置于可拍摄到全部人体的合理位置,并通过适配器连接至台式机;

步骤二,标定图像采集模块采集棋盘格图像;

步骤三,人体姿态采集模块分别采集一个人体在运动过程中各关节点在两台体感追踪系统的坐标系内随时间变化的三维坐标位置;

步骤四,体感追踪系统标定模块基于采集的棋盘格图像进行体感追踪系统姿态标定,并将两台体感追踪系统内的人体关节点三维坐标位置进行空间转换至一个坐标系内;

步骤五,体感追踪系统同步模块基于两台体感追踪系统采集人体关节点时记录的系统时间对两台体感追踪系统的时间流进行同步;

步骤六,融合滤波模块对步骤四、步骤五中得到的经空间转换和时间融合后的人体关节点坐标位置进行数据融合与卡尔曼滤波平滑;

步骤七,关节点输出模块将步骤六得到的稳定的人体关节点坐标位置进行计算并输出各关节角度随时间的变化曲线。

进一步,所述步骤二中标定图像采集模块采集棋盘格图像的具体步骤包括:

步骤二-1,实验人i手持塑胶板棋盘格放于胸前,站于两台体感追踪系统前,标定图像采集模块获取两台体感追踪系统拍摄的带有完整棋盘格的图像,并进行存储;

步骤二-2,实验人i更换塑胶板棋盘格的在三维空间中的摆放朝向,重复步骤二-1,直至采集15至20副的两个视角下带有全部棋盘格的图像。

进一步,所述步骤三具体包括:

步骤三-1,两台体感追踪系统开机预热十分钟,避免两台体感追踪系统相互干扰;

步骤三-2,受试者站于两台体感追踪系统拍摄画面的靠中位置,张开双臂完成两台体感追踪系统对人体的识别,人体姿态采集模块采集画面中受试者及其人体关节点的棍图;

步骤三-3,分别将两台体感追踪系统得到的棍图中关节点三维坐标位置进行记录保存;

步骤三-4,两组关节点三维坐标位置均按系统时间,当前帧数,受试者id,左右肩、肘、腕、髋、膝、踝、颈、头部的三维坐标进行整理统计,并将两组数据各自记录到两个的文本文件。

进一步,所述步骤四具体包括:

步骤四-1,使用数学软件基于采集到的棋盘格图像进行体感追踪系统的相机姿态标定,求得旋转矩阵和平移向量,利用棋盘格标定法进行分析;

步骤四-2,对其中一台体感追踪系统得到的三维坐标位置进行坐标转换,转换公式为:

ptr′=r(ptr-t)(式1)

式1中r表示旋转矩阵,t表示平移向量,ptr表示原相机坐标系下的关节点三维坐标向量,ptr’表示转换后的关节点三维坐标向量;经上述转换,两台体感追踪系统采集的人体关节点坐标空间转换至同一坐标系。

进一步,所述步骤五具体包括:

步骤五-1,基于一段完整运动过程的帧数应有的连续性对采集的人体关节点三维坐标数据进行分段,若后帧与前帧差距为20帧即可认为是两段运动过程;

步骤五-2,对两台体感追踪系统的对应数据分段进行预处理,若两个数据分段的长度和起终点的帧数都一致,则被认为是有效跟踪过程,接下来进行时间上的同步,若存在不一致的状况,则放弃,并对下一组对应数据分段进行检测处理;

步骤五-3,基于记录的系统时间对有效跟踪过程的对应数据分段进行时间同步,具体包括:

步骤五-3-1,比较两个数据分段的起点的系统时间,取其中的较小值为t1,则另一个系统时间为t2,t1在其数据分段中下一时间的值为tnext,则可将t1所对应的关节点三维坐标pt进行线性插值,以求取它在t2时刻的具体位置,公式如下:

步骤五-3-2,逐个比较两个数据分段除起点外的其他时间,对于当前帧数相同的两个对应时间,取其中较小值为t1,则另一个时间值为t2,t2在其数据分段中下一时间的值为tprev,则可将t2所对应的关节点三维坐标pt进行线性插值,以求取它在t1时刻的具体位置,公式如下:

步骤五-3-2,插值后的两个数据分段分别在对应时刻有着对应的关节点三维坐标,即在时间上完成了同步。

进一步,所述步骤六具体包括:

步骤六-1,基于一段完整运动过程的帧数应有的连续性对采集的人体关节点三维坐标数据进行分段,提取经过空间转换与时间同步后的对应的运动过程;

步骤六-2,对于需要融合的人体关节点三维坐标数据进行初始化,初始化方法为两个对应数据分段起始关节点三维坐标简单的算术平均值,分别初始化第一个时刻点和第二个时刻点,并基于两个时刻的时间差计算初始速度,每一时刻估计的关节点坐标位置和关节点速度用于对未来的关节点位置进行预测;

步骤六-3,基于卡尔曼滤波方法对两个对应数据分段人体关节点三维坐标位置进行融合与滤波,具体包括:

步骤六-3-1,从第三个时刻点开始,基于前一时刻融合后的关节点坐标位置和关节点速度对当前关节点位置进行预测,预测公式如下:

式4中,xi表示第i个时刻的关节点位置向量,ui表示第i个时刻的关节点速度向量,ti表示第i个时刻值,xi和ui的维度为42×1,由14个关节点的三维坐标排列成列向量组成;

预测状态的协方差矩阵计算为:

式5中pi表示第i个时刻的状态协方差矩阵,q表示转移噪声的协方差矩阵,q设为单位矩阵;

步骤六-3-2,基于预测状态估计两台体感追踪系统在当前时刻分别采集人体关节点三维坐标时测量噪声的协方差矩阵并以测量噪声协方差的逆为权重对两台体感追踪系统采集的人体关节点三维坐标进行加权平均,包括以下步骤:

步骤六-3-2-1,基于预测状态估计两台体感追踪系统在当前时刻分别采集人体关节点三维坐标时测量噪声向量v,估计公式表示为:

式6中,表示第k台体感追踪系统在第i个时刻的关节点三维坐标的测量值向量,对测量噪声向量v的估计是基于测量值遵循分布于预测状态xhati的高斯分布的假设,当测量值预测状态越近时,其测量噪声越低,当测量值距离预测状态越远时,其测量噪声越大;

步骤六-3-2-2,对计算得到的两台体感追踪系统的测量噪声向量v进行归一化处理,即向量的每一个元素除以该向量所有元素的均值;

步骤六-3-2-3,基于测量噪声向量构建测量噪声协方差矩阵,测量噪声协方差矩阵是一个对角阵,对角线上的每一个元素是测量噪声向量对应位置元素的平方值;

步骤六-3-2-4,基于测量噪声协方差矩阵对两台体感追踪系统的测量值向量进行加权平均,具体公式为:

式7、式8中表示平均测量噪声协方差矩阵,表示第一台体感追踪系统的测量噪声协方差矩阵的逆,表示第二台体感追踪系统的测量噪声协方差矩阵的逆,表示测量值向量的平均值,表示第n台体感追踪系统的测量值向量,其维度同关节点位置向量一致,由14个关节点的三维坐标排列成列向量组成;

步骤六-3-3,基于加权后的测量值向量对预测状态向量进行更新,求取当前时刻的状态向量,包括三维关节点位置向量与速度向量,具体公式为:

式9、式10、式11、式12中,ki表示卡尔曼增益矩阵,表示平均测量噪声协方差矩阵,表示预测状态向量的协方差矩阵,表示预测的状态向量;

步骤六-3-4,根据这一时刻的计算结果和下一时刻的测量结果计算下一时刻的状态向量,重复步骤六-3-1至步骤六-3-3,直到该完整运动过程的最后一个时刻。

进一步,所述步骤七具体包括:

步骤七-1,基于一段完整运动过程的帧数应有的连续性对融合后的人体关节点三维坐标数据进行分段;

步骤七-2,基于国际运动生物力学协会对于关节角度的定义分别对对应的关节角进行计算,通过计算对应关节向量的内积完成关节角度计算,公式如下:

式13中,deg表示对应的关节角度,z1、z2表示计算特定关节角所需的关节向量,‖zi‖表示关节向量的l2范数,即关节长度;

步骤七-3,根据上步中的计算结果输出各关节角度随时间的变化曲线。

本发明的有益效果是:

(1)实用性强,避免了在受试者身上标记贴点的复杂操作,可直接对运动员的关节点三维坐标位置进行捕捉;

(2)设置简单,仅需要简单的标定图片采集即可完成设置;

(3)成本低,相比传统的人体运动捕捉设备的成本大大降低;

(4)针对性地对体感追踪传感器的人体姿态捕捉进行了改进,提高其人体运动捕捉的准确性与鲁棒性。

附图说明

图1为本发明的流程示意图;

图2为本发明的数据采集的程序流程示意图;

图3为本发明的运动分析的程序流程示意图。

具体实施方式

下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述。

一种基于双体感追踪系统的人体运动捕捉系统,包括两台用以采集人体姿态与图像信息的体感追踪系统,及将其连接于台式机的适配器;一块由黑白两色塑胶格板交错排列的棋盘格;数据采集模块;运动分析模块;

所述数据采集模块包括标定图像采集模块,采集用于标定的带有棋盘格的图像;人体姿态采集模块,采集运动过程中各体感追踪系统坐标系内人体关节点随时间变化的具体位置;

所述运动分析模块包括用以相机姿态标定的体感追踪系统标定模块;用以对两台体感追踪系统的时间流进行同步的体感追踪系统同步模块;用以对两台体感追踪系统采集的人体关节点进行数据融合与卡尔曼滤波平滑的融合滤波模块;用以基于稳定后的人体关节点位置输出各关节角度随时间的变化曲线的关节角输出模块。

kinect是微软发明的用于人体姿态捕捉的具有深度相机的体感追踪系统,其主要用途为体感游戏中的动作采集。kinect2.0是微软于2014年推出的kinect第二代产品,它的深度相机采用的是光飞跃技术,有效识别范围为相机前0.5m-4.5m,相机分辨率为512*424,相机最高频率为30hz,人体姿态的获取原理为基于采集到的深度图对人体深度图进行分类,分析出人体的不同部分进而得到关节点的具体位置。本发明体感追踪系统采用kinect2.0作为首选设备。

本发明的基于双kinect2.0的人体运动捕捉方法,如图1-3所示,包括如下步骤:

步骤一,将两台kinect2.0分别通过三脚架放置于可拍摄到全部人体的合理位置,并通过适配器连接至台式机。

步骤二,标定图像采集模块采集棋盘格图像,具体步骤包括:

步骤二-1,实验人i手持塑胶板棋盘格放于胸前,站于两台kinect2.0前,标定图像采集模块获取两台kinect2.0拍摄的带有完整棋盘格的图像,并进行存储;

步骤二-2,实验人i更换塑胶板棋盘格的在三维空间中的摆放朝向,重复步骤二-1,直至采集15至20副的两个视角下带有全部棋盘格的图像。

步骤三,人体姿态采集模块分别采集一个人体在运动过程中各关节点在两台kinect2.0的坐标系内随时间变化的三维坐标位置,具体包括:

步骤三-1,两台kinect2.0开机预热十分钟,避免两台kinect2.0相互干扰;

步骤三-2,受试者站于两台kinect2.0拍摄画面的靠中位置,张开双臂完成两台kinect2.0对人体的识别,人体姿态采集模块采集画面中受试者及其人体关节点的棍图;

步骤三-3,分别将两台kinect2.0得到的棍图中关节点三维坐标位置进行记录保存;

步骤三-4,两组关节点三维坐标位置均按系统时间,当前帧数,受试者id,左右肩、肘、腕、髋、膝、踝、颈、头部的三维坐标进行整理统计,并将两组数据各自记录到两个的文本文件。

步骤四,kinect2.0标定模块基于采集的棋盘格图像进行kinect2.0姿态标定,并将两台kinect2.0内的人体关节点三维坐标位置进行空间转换至一个坐标系内,具体包括:

步骤四-1,使用数学软件基于采集到的棋盘格图像进行kinect2.0的相机姿态标定,求得旋转矩阵和平移向量,利用棋盘格标定法进行分析;

步骤四-2,对其中一台kinect2.0得到的三维坐标位置进行坐标转换,转换公式为:

ptr′=r(ptr-t)(式1)

式1中r表示旋转矩阵,t表示平移向量,ptr表示原相机坐标系下的关节点三维坐标向量,ptr’表示转换后的关节点三维坐标向量;经上述转换,两台kinect2.0采集的人体关节点坐标空间转换至同一坐标系。

步骤五,kinect2.0同步模块基于两台kinect2.0采集人体关节点时记录的系统时间对两台kinect2.0的时间流进行同步,具体包括:

步骤五-1,基于一段完整运动过程的帧数应有的连续性对采集的人体关节点三维坐标数据进行分段,若后帧与前帧差距为20帧即可认为是两段运动过程;

步骤五-2,对两台kinect2.0的对应数据分段进行预处理,若两个数据分段的长度和起终点的帧数都一致,则被认为是有效跟踪过程,接下来进行时间上的同步,若存在不一致的状况,则放弃,并对下一组对应数据分段进行检测处理;

步骤五-3,基于记录的系统时间对有效跟踪过程的对应数据分段进行时间同步,具体包括:

步骤五-3-1,比较两个数据分段的起点的系统时间,取其中的较小值为t1,则另一个系统时间为t2,t1在其数据分段中下一时间的值为tnext,则可将t1所对应的关节点三维坐标pt进行线性插值,以求取它在t2时刻的具体位置,公式如下:

步骤五-3-2,逐个比较两个数据分段除起点外的其他时间,对于当前帧数相同的两个对应时间,取其中较小值为t1,则另一个时间值为t2,t2在其数据分段中下一时间的值为tprev,则可将t2所对应的关节点三维坐标pt进行线性插值,以求取它在t1时刻的具体位置,公式如下:

步骤五-3-2,插值后的两个数据分段分别在对应时刻有着对应的关节点三维坐标,即在时间上完成了同步。

步骤六,融合滤波模块对步骤四、步骤五中得到的经空间转换和时间融合后的人体关节点坐标位置进行数据融合与卡尔曼滤波平滑,具体包括:

步骤六-1,基于一段完整运动过程的帧数应有的连续性对采集的人体关节点三维坐标数据进行分段,提取经过空间转换与时间同步后的对应的运动过程;

步骤六-2,对于需要融合的人体关节点三维坐标数据进行初始化,初始化方法为两个对应数据分段起始关节点三维坐标简单的算术平均值,分别初始化第一个时刻点和第二个时刻点,并基于两个时刻的时间差计算初始速度,每一时刻估计的关节点坐标位置和关节点速度用于对未来的关节点位置进行预测;

步骤六-3,基于卡尔曼滤波方法对两个对应数据分段人体关节点三维坐标位置进行融合与滤波,具体包括:

步骤六-3-1,从第三个时刻点开始,基于前一时刻融合后的关节点坐标位置和关节点速度对当前关节点位置进行预测,预测公式如下:

式4中,xi表示第i个时刻的关节点位置向量,ui表示第i个时刻的关节点速度向量,ti表示第i个时刻值,xi和ui的维度为42×1,由14个关节点的三维坐标排列成列向量组成;

预测状态的协方差矩阵计算为:

式5中pi表示第i个时刻的状态协方差矩阵,q表示转移噪声的协方差矩阵,q设为单位矩阵;

步骤六-3-2,基于预测状态估计两台kinect2.0在当前时刻分别采集人体关节点三维坐标时测量噪声的协方差矩阵并以测量噪声协方差的逆为权重对两台kinect2.0采集的人体关节点三维坐标进行加权平均,包括以下步骤:

步骤六-3-2-1,基于预测状态估计两台kinect2.0在当前时刻分别采集人体关节点三维坐标时测量噪声向量v,估计公式表示为:

式6中,表示第k台kinect2.0在第i个时刻的关节点三维坐标的测量值向量,对测量噪声向量v的估计是基于测量值遵循分布于预测状态xhati的高斯分布的假设,当测量值预测状态越近时,其测量噪声越低,当测量值距离预测状态越远时,其测量噪声越大;

步骤六-3-2-2,对计算得到的两台kinect2.0的测量噪声向量v进行归一化处理,即向量的每一个元素除以该向量所有元素的均值;

步骤六-3-2-3,基于测量噪声向量构建测量噪声协方差矩阵,测量噪声协方差矩阵是一个对角阵,对角线上的每一个元素是测量噪声向量对应位置元素的平方值;

步骤六-3-2-4,基于测量噪声协方差矩阵对两台kinect2.0的测量值向量进行加权平均,具体公式为:

式7、式8中表示平均测量噪声协方差矩阵,表示第一台kinect2.0的测量噪声协方差矩阵的逆,表示第二台kinect2.0的测量噪声协方差矩阵的逆,表示测量值向量的平均值,表示第n台kinect2.0的测量值向量,其维度同关节点位置向量一致,由14个关节点的三维坐标排列成列向量组成;

步骤六-3-3,基于加权后的测量值向量对预测状态向量进行更新,求取当前时刻的状态向量,包括三维关节点位置向量与速度向量,具体公式为:

式9、式10、式11、式12中,ki表示卡尔曼增益矩阵,表示平均测量噪声协方差矩阵,表示预测状态向量的协方差矩阵,表示预测的状态向量;

步骤六-3-4,根据这一时刻的计算结果和下一时刻的测量结果计算下一时刻的状态向量,重复步骤六-3-1至步骤六-3-3,直到该完整运动过程的最后一个时刻。

步骤七,关节点输出模块将步骤六得到的稳定的人体关节点坐标位置进行计算并输出各关节角度随时间的变化曲线,具体包括:

步骤七-1,基于一段完整运动过程的帧数应有的连续性对融合后的人体关节点三维坐标数据进行分段;

步骤七-2,基于国际运动生物力学协会对于关节角度的定义分别对对应的关节角进行计算,通过计算对应关节向量的内积完成关节角度计算,公式如下:

式13中,deg表示对应的关节角度,z1、z2表示计算特定关节角所需的关节向量,‖zi‖表示关节向量的l2范数,即关节长度;

步骤七-3,根据上步中的计算结果输出各关节角度随时间的变化曲线。

所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

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