APP下载

基于隐马尔可夫模型的助行器依赖人群步态相位识别

2022-01-28葛艳红

计算机应用与软件 2022年1期
关键词:步态腿部双腿

姜 涛 葛艳红

(武汉理工大学物流工程学院 湖北 武汉 430063)

0 引 言

步态相位特征是指人类在行走中支撑相、摆动相等时间周期方面的参数[1]。人体步态相位识别技术对老年人的异常步态诊断、跌倒预测和助行机器人运动控制等具有较大的意义。

目前常用的步态相位识别方式是基于可穿戴传感器的步态识别方式,主要包括MEMS惯性传感器[2]、压力传感器[3]和EMG传感器[4]等,该类方式通过行走过程中可穿戴传感器信号的变化识别对应的步态相位,成本低,但具有一定的侵入性。基于激光测距传感器的步态识别方式通过检测双腿与激光传感器的距离变化获取步态相位特征,可以避免侵入性的问题。部分研究通过静态的激光传感器来检测人体腿部,其检测范围有限[5]。针对这一问题,另有部分研究将激光传感器安装到移动机器人上,实现对目标人体的动态跟踪和步态识别[6]。特征提取和识别方法是人体步态相位识别的一个重点,常用的特征包括时域特征和频域特征等,常用的方法包括支持向量机[7]、神经网络[8]和隐马尔可夫模型(HMM)[9]等,不同的特征和方法都会对步态识别的效果产生一定的影响。其中HMM是一种时序变化性信号统计模型,能够很好地描述动态过程并适应动态过程中的变化,被应用于语音识别、生物序列分析和手势识别等多个领域中[10]。

考虑到老年人群对于助行器需求和使用的不断增长[11-12],本研究将激光传感器安装在助行器上,在辅助老年人出行的同时以非侵入的方式识别老年人的步态相位。针对衣物厚度等因素对腿部数据段的影响,提出基于IEPF的再分割方法。由于激光雷达获取的数据与运动状态之间具有观察值和隐含状态的特性,使用HMM进行步态相位识别。考虑到腿部相对于助行器的坐标、速度和距离会受到人体身高和步速等因素的影响而存在个体差异性,通过划分识别周期并对每个识别周期的测量数据进行归一化,提高模型的泛化能力,并通过实验验证了基于HMM的步态识别系统具有较好的性能。

1 步态分析系统结构

本研究将激光传感器安装在助行器上,安装高度为离地30 cm,对人体双腿进行扫描识别,如图1(a)所示。通过测量双腿与助行器之间的相对位移来识别步态的变化。由于激光传感器测得数据为相对位移,故这里建立助行器相对坐标系,如图1(b)所示,以助行器的前进方向为x轴,以激光传感器的安装位置为原点。

图1 安装激光传感器的助行器具和助行器坐标系

对于每一个扫描帧数据,进行两部分的处理:获取腿部坐标和识别步态相位特征,如图2所示。其中获取腿部坐标包括三个流程,首先对扫描数据进行预处理和分割,然后识别腿部数据段,最后进行腿部轮廓圆拟合。识别步态相位包括三个流程,首先对获取的腿部数据序列进行识别周期的划分,然后对每个识别周期内的数据进行0~1归一化,去除个体差异性,并使用处理后的腿部数据计算出该帧对应的特征向量,最后使用训练好的HMM模型对特征向量进行识别,获取隐含状态变量,即为对应的步态相位。

图2 步态分析流程

2 获取腿部坐标

2.1 腿部坐标获取基本流程

(1)数据预处理和分割。由于使用助行器时人体的活动范围有限,故定义了一个矩形区域作为激光传感器的扫描窗口。对于每帧数据,使用Savitzky-Golay滤波,并根据扫描点之间的连续性分割数据段,设定一个阈值,若连续扫描点间的欧氏距离高于阈值,则进行新数据段的分割。考虑到激光传感器等因素引起的噪声,删除数据点数较低的数据段。

(2)腿部数据段识别。由于行走过程中人腿与助行器之间不可能存在障碍物,选择距离原点最近的数据段作为腿部数据段,通过与上一帧双腿位置的距离确定该数据段为左腿或右腿,表示为:

opt1=i

(1)

opt2=i

(2)

若扫描区域内仅剩余一个数据段,则以该数据段对应另一只腿。但在狭窄空间或助行器进行转向时,容易在矩形搜索范围内出现干扰物,使剩余数据段数大于1,图3(a)为通过转角前后的扫描数据段数,图3(b)为该帧的二维点云。

图3 腿部数据段数目和二维点云

针对该情况,定义了每个数据段的三个特征,腿部端点距离、弯曲度和点数:

(3)

(4)

nopi=n

(5)

式中:(xj,yj)为该数据段第j个扫描点;di、curvi和nopi分别对应腿部端点距离、弯曲度和点数。

计算各个数据段与上一帧对应腿部数据段的差异度,并以差异度最小的数据段对应人体另一只腿,表示为:

sidfi=α1×cdifi+α2×ddifi+α3×pdifi

(6)

opt3=i

(7)

s.t.minsdifi

式中:cdifi、ddifi和pdifi分别对应该数据段与上一帧该腿部数据段的弯曲度差、端点距离差和空间位置距离;α1、α2和α3对应加权系数;i对应数据段的下标。

(3)腿部圆拟合和坐标获取。由于人体腿部轮廓似为圆型,使用最小二乘法进行腿部圆拟合,以拟合的圆心作为当前帧的腿部坐标。

2.2 基于IEPF的腿部数据段再分割

在使用激光传感器进行步态分析的实际应用中,衣物的宽松厚度会对数据的准确性造成一定的影响。这是由于老年人的步宽较低,当使用者的衣物较为宽松或者由于季节等原因衣物厚度较大时,容易出现欠分割,即双腿临界扫描点之间的距离低于设定阈值,从而把两条腿识别为一个数据段的现象。针对该类情况,提出基于IEPF的数据段再分割方法。

欠分割一般在双腿距离较小的时刻出现,以助行器前进的方向为基准,当使用者双腿在该基准上的距离低于10 cm时,进行欠分割判断。常见的欠分割情形如图4所示。

图4 常见的欠分割情形

若出现腿部欠分割情形,则距离原点最近的腿部数据段必定会出现异常,故首先对该数据段进行欠分割检测,根据前后连续帧对应腿部的端点距离和点数变化判断是否出现欠分割,表示为:

di>μ1×di-1

(8)

nopi=μ2×nopi-1

(9)

式中:μ1、μ2为变异系数。

针对欠分割,基于IEPF的思想进行再分割[13],具体过程如下。

连接数据段头部点C(x1,y1)和尾部点D(xn,yn),得到直线CD:

a×x+b×y+c=0

(10)

(11)

(12)

正常情形下,腿部的扫描数据为两段分离的近似圆弧,结合图4,每种欠分割情形下均存在左右两个较为明显且扫描点数差异较小的近似圆弧,两圆弧交点前后的y轴坐标变化方向相反,即两段圆弧分别对应人体的左右腿,圆弧交点为左右腿数据的临界点,且该点与直线CD的距离di最小。故首先比较每个扫描点到直线CD距离的大小,并以最小距离对应的点作为左右腿部数据段的临界点,最后以该临界点将欠分割数据段分成左右两部分,完成再分割,表示为:

opt4=i

(13)

s.t.mindi

式中:opt4为到直线CD距离最小的扫描点下标。

3 识别步态相位

3.1 建立特征向量

为了去除测量值的个体差异性对模型的影响,对获取的测量值时间序列进行识别周期划分,将每个识别周期内的测量值从小到大均匀地映射到0~1区间内,进行归一化,其具体流程如下。

(1)划分识别周期。图5展示了行走时腿部在x轴方向的坐标、相对速度和距离的变化曲线。

图5 腿部坐标、速度和距离的变化

对于腿部坐标和距离,数据呈正弦波形变化,将任意一个极小值到相邻极大值的阶段定义为一个识别周期。

对于腿部相对速度,由于其在一个步态周期内的分布不均匀,故将任意一个极小值到相邻极小值的阶段(即一个步态周期)定义为一个识别周期。

为了去除数据中伪波峰和伪波谷的影响,设置极值坐标范围阈值和相邻极值间隔范围阈值,并选取极值左右各5个点中的最大极大值和最小极小值[14]。

(2)根据每个识别周期内数据的最大值和最小值进行0~1区间映射。在每个识别周期内,对于非负的坐标数据,采用0~1标准化。以左腿x轴坐标为例,表示为:

(14)

式中:x、xmin、xmax分别对应标准化之前的x坐标、最小坐标、最大坐标。

对于正负不定的双腿距离数据,以0为基准进行标准化。以双腿距离为例,表示为:

(15)

(3)确定特征向量。通过归一化后的数据,确定每个识别周期内每一帧扫描数据的特征向量,表示为:

(16)

3.2 步态相位划分

本文将一个步态周期分为6个阶段,支撑相包括3个阶段,摆动相包括3个阶段,对应HMM的隐含状态,分别为S1、S2、S3、S4、S5和S6。以左脚的一个步态周期为例,各个阶段定义如下。

S1:支撑相前期,左脚跟接触地面到左脚掌全部接触地面,左脚进入支撑相。

S2:支撑相中期,左脚掌全部接触地面到左脚跟抬起离开地面。

S3:支撑相末期,左脚跟抬起离开地面到左脚趾离开地面,左脚开始进入摆动相。

S4:摆动相前期,左脚离开地面,通过屈髋加速向前。

S5:摆动相中期,左脚在空中摆动的中间阶段。

S6:摆动相末期,摆动即将结束,左脚开始减速向前,准备接触地面。

3.3 观测数据的建模

在正常的步态周期中,步态阶段依次出现,即该模型为从左到右的模型,如图6所示。根据HMM的定义,将模型λ表示为:

图6 步态转移

λ=(A,B,π)

(17)

A=[aij]

(18)

B=[bi(ot)]

(19)

式中:A表示隐含状态转移概率矩阵;aij表示从Si到Sj转移的概率;B表示观测状态概率矩阵;bi(ot)表示Si时观测值为ot的概率;π表示隐含状态初始概率分布。

由于该模型中的观测值为连续值,B不能直接通过矩阵表示,故需要使用观测数据通过混合高斯分布将其表示为概率密度函数。本研究中特征向量包含9个维度,建立混合高斯分布:

g(x|μm,Σm)=

(20)

式中:x表示特征向量;μm表示数据样本的均值向量;Σm表示数据样本的协方差矩阵,m=(1,2,…,M);对应混合高斯模型的混合数n=9。

混合高斯模型对应的概率密度函数为:

(21)

为了建立模型,需要进行样本集的训练。通过激光测距传感器可以获取到观测序列的数据,但是无法直接确定对应的步态相位序列,因此需要使用Baum-Welch算法[15],确定模型的参数,基本流程如下。

(1)使用随机函数初始化模型的参数A、B、π。

(2)基于前向后向算法[16],通过迭代的方式更新模型参数。

(3)参数值收敛,迭代终止,即得到模型参数。

3.4 隐含状态的识别

对于输入的特征向量时间序列,根据建立的模型,使用Viterbi算法[17],求出最大概率的隐含状态序列,即为对应的步态相位。

4 实验与结果分析

4.1 实验设置

本文通过“RPLidar”激光传感器获取双腿与助行器之间的距离,扫描周期约为150 ms。为了进一步提高识别模型的泛化能力,降低身高和步速因素对识别效果的干扰,共8名实验者(年龄范围为22岁至27岁)参与了实验,身高如表1所示,前2位实验人员为女性,后6位实验人员为男性。

表1 实验者身高

每名实验者分别以由慢到快的速度进行3次实验,表2为8名实验者3次实验中的平均步速。在每次实验中,实验者通过助行器的支撑,保持较为均匀的速度通过长度为25 m的笔直走廊。实验数据由8名实验者行走时激光传感器测得的24组数据组成。

表2 实验者步速

4.2 实验结果分析

为了进行腿部数据段再分割方法的验证,实验人员穿着宽松衣物,并保持较小步宽前进,从实验数据中截取10帧欠分割数据。图7为欠分割扫描帧,左右两圆分别对应再分割后的左右腿轮廓圆,左轮廓圆半径为5.32 cm,右轮廓圆半径为5.17 cm,两个拟合圆的大小基本相同,且无重合部分。左右腿轮廓圆圆心与左右腿的实际位置误差约在1 cm左右,拟合误差小,这表明该方法能较好地对该欠分割数据进行再分割。

图7 再分割后的双腿拟合圆

图8对应10帧欠分割数据中,腿部拟合圆圆心与腿部实际位置的误差。其中:左腿拟合误差范围为1.04±0.42 cm。右腿拟合误差范围为1.10±0.37 cm。左右腿的拟合圆圆心均较为接近实际位置,表明该方法在大多情形能以较小的误差完成再分割,使得该方法在欠分割情形下能更稳定地进行步态相位识别。

图8 双腿拟合圆误差

为验证HMM的有效性,建立两个模型:(1)HMM1,该模型使用8名实验者的24组数据,通过训练建立模型;(2)HMM2,为了验证模型的泛化能力,该模型使用身高相对低的前7名参与者在慢速和中速实验中共14组数据作为训练集,身高较高的第8名参与者在快速实验中1组数据作为测试集。对比两个模型在该测试集上的识别效果。以HMM1为例,其状态转移矩阵为:

隐含状态初始概率分布为:

π=[0.221 7 0.048 5 0.177 9 0.197 4 0.153 9 0.200 6]

观测状态概率矩阵为服从混合9维高斯分布的概率密度函数。

图9为经过归一化处理后的部分测试集数据。在每个识别周期中,双腿在前进方向(矢状面)上的坐标、速度和距离均映射到0~1范围内,且保持了原有波形,去除了实际测量值个体差异性的影响。这里以右腿为例,截取其中大约6个步态周期(时长11.45 s)对应的数据进行测试,以右脚跟着地,进入支撑相作为开始,以6个周期后右脚跟着地作为结尾。

图9 归一化处理后的腿部坐标、速度和距离

图10中深色实线为HMM1对该测试集的步态相位估计,浅色虚线为HMM2对该测试集的步态相位估计。通过两条曲线的变化可知,HMM估计的步态相位序列与正常人的步态相位序列相吻合,从S1到S6,依次出现,且6个步态周期中每个阶段的时间比例基本一致。与以往的研究[18]对比显示各个阶段均处于正常的范围。

图10 两个模型识别的步态相位

为了对比分别使用原始测量值和归一化测量值作为特征向量两种情形下识别模型的泛化能力,以HMM1和HMM2识别步态相位序列的时间重合度作为衡量模型泛化能力的指标。6个相位的时间重合度如图11所示,其中:灰色柱状图为使用原始测量值时HMM1和HMM2在6个相位上的时间重合度;黑色柱状图为使用归一化测量值时HMM1和HMM2在6个相位上的时间重合度。黑色图的重合度值均大于灰色图中的重合度,表明使用归一化测量值建立的模型具有更好的泛化能力。

图11 6个相位的时间重合度

5 结 语

本文将步态周期分为6个阶段,基于隐马尔可夫模型,使用安装在助行器上的激光测距传感器识别人体步态相位。与传统方式相比,提供了一种非穿戴、无使用者移动范围限制且能够实时对行人进行步态相位识别的方式。针对腿部激光数据段欠分割的问题,提出基于IEPF的再分割方法,使得该方法能够更稳定地应对实际使用中可能出现的欠分割情形。在识别周期内进行测量值的归一化,相对于使用原始测量值的识别方式,提高了模型的泛化能力。本文对依赖助行器出行人群的异常步态诊断、跌倒预测等具有一定的意义。

针对本文中存在的一些不足,后续研究的重点主要包括两个方面:(1)使用真实的老年人数据进行步态研究;(2)进行人体出现直行、转弯,以及日常活动中的更复杂动作时的步态研究,建立适应多种情况下的识别模型。

猜你喜欢

步态腿部双腿
基于步态参数分析的老年跌倒人群步态特征研究
多留意腿部问题 随时舒缓腿部酸痛
特别策划《步态分析研究综述》
边看电视边健身
摇摆包
步态识人
挽救膝关节
快速瘦腿小妙招
脚下放靠垫睡觉更解乏
脚下放靠垫睡觉更解乏