(五)体态识别

(五)体态识别

人体的运动模式千变万化,对运动的识别基本上是一个逻辑思维的过程,如果考虑到场景和行为动机因素,可能只有动作发起者才知道自己在做什么动作。以简单的“梳头发”动作为例,这个动作虽然只涉及上肢运动,但不同个体的完成方式千差万别,如果不考虑头发和梳子这两个场景信息和行为动机,即使精确掌握所有关节的运动轨迹也无法进行识别。本研究所述系统只能得到人体躯干和四肢的运动状态,无法获取场景信息,因此此类动作也就不在本系统所能识别的范围里。根据四川大学华西医院康复医生的建议,识别重点是与场景无关的人体姿态。

我们把最基本的人体姿态分为站、坐、卧三种,这三种姿态称为第一级姿态,以图6-22为例,假设躯干、右侧大腿、左侧大腿与垂直法线的交角分别为θ1、θ2、θ3

图示

图6-22 躯干、大腿与垂线夹角

根据这3个角度,采用经验性定义的第一级人体姿态对应的肢体角度范围见表6-5。

表6-5 第一级人体姿态对应的肢体角度范围

图示

第一级人体姿态没有考虑人体的运动,当人处于以上体态时,会伴随自发或非自发的运动。第二级人体姿态识别主要是评估各部位的运动状况。通过前文的运动跟踪算法,我们可以获得9个传感器输出的任意时刻躯干和四肢的滚转角、航向角、俯仰角,共计27个角度值。基于此,在k时刻,我们定义从k-T+1时刻到k时刻的能量函数E(k,T),见式(6-16)。

图示

式中,Var(αi,T)表示第i个角度在k-T+1时刻到k时刻的方差,能量函数将所有角度的方差求和,因此它可以表示受试者在过去一段时间的运动强度。根据经验,我们可以设定一个门限如TEngy,当E(k,T)>TEngy时,判断受试者处于运动状态;当E(k,T)≤TEngy时,判断受试者处于相对静止状态。

人体的动态特征往往是康复医学最为关注的,行走、骑行阻力车、下蹲等运动经常是康复医生规定的居家训练内容,这些动作的特点是具有周期性。第三级人体姿态识别的目标就是判断动作的周期性,并提取相关的频率信息。为此我们使用离散傅里叶变换(DFT)对关节角度进行分析。假设在k时刻,我们对k-T+1到k时刻进行离散傅里叶变换,见式(6-17):(https://www.daowen.com)

图示

我们定义频域上在(ω-Δω,ω+Δω)区间的能量函数见式(6-18),式中Δω表示一段频率邻域。

图示

如果当前动作具有周期性,则E(ω,Δω)应具有显著的峰值,在频域上扫描获取能量函数的最大值图示,见式(6-19):

图示

根据式(6-20)将峰值处能量图示与频率谱总能量对比:

图示

计算得到的图示与预先设定的门限TP进行比较来判断过去T时间内是否处于周期性运动状态。如果图示,则判断k时刻为周期性运动,否则为非周期性运动。

需要注意的是,以上算法对周期性运动的判断有一定的滞后性。对于某一周期性信号,其重复周期越多,频率谱上的能量函数峰值就越明显,在实际使用中需根据肢体位置、采样率选取离散傅里叶变换的时间跨度(T)和门限TP

第三级人体姿态识别通常是针对下肢(大腿或小腿)的俯仰角进行的,当判断受试者下肢进行周期性运动时,多数情况下是行走状态(也有可能是骑行阻力自行车、深蹲训练、抬腿训练等),所对应频率能量峰值图示即为步频。当步频大于某一门限时,可判断为跑步。