本发明属于下肢外骨骼人机协同运动控制领域,涉及一种基于混合tcn(temporalconvolutionalnetworks)以及hmm(hiddenmarkovmodel)模型的人类行走步态相位分类方法。
背景技术:
近年来,外骨骼机器人已经成为医疗、生活、工业和军事应用中的新兴技术。其中,下肢外骨骼体现出了巨大的价值,它将人的智力和机器人的“体力”完美结合,在助力、助老、助残及军事领域有广阔应用前景。
步态相位分类是分析步行运动的通用方法,不同步态相位的准确分类对于控制下肢外骨骼和检测用户意图至关重要。目前步态相位的识别方法通常可以分为两类,一是阈值方法,它通过设置不同的阈值来确定相应的步态相位信息。这种方法较为常见,但是这种方法比较粗糙,鲁棒性较低,很难处理复杂的情况。二是近年来不断发展的人工智能方法,研究人员们将不同类型的传感器数据处理后输入到机器学习或深度学习模型中,从而达到检测步态相位的目的。常用的算法包括支持向量机(svm)、长短期记忆网络(lstm)、隐马尔可夫模型(hmm)等,这些方法虽然也取得了较好的结果,但是它们并没有将数据的空间特征与时间特征有机地结合起来,因此仍有改进的空间。并且传统的基于计算机视觉,或者通过对肌电信号、足底压力信号进行处理分析的检测步态相位的方法在实际应用中都存在着鲁棒性不足,易受环境干扰且设备易磨损等问题。
技术实现要素:
本发明的目的是针对现存方案存在的不足和改善需要,提出了一种基于tcn-hmm的步态相位实时分类方法。同时,为了解决当前许多人体运动信号采集装置所存在的易磨损、易受干扰等问题,本发明采用了更加便携、耐用且可靠的imu传感器,它可以根据需要安装在身体的不同部位,从而获取丰富的人体运动信息。本发明通过混合tcn-hmm算法对高维imu信号的空间特征和时间特征进行了提取和分析,实现了对人行走时步态相位的实时分类并将其应用到下肢外骨骼设备的控制中,帮助实现对下肢外骨骼设备行走运动的柔顺控制。
本发明的具体步骤如下:
步骤1.imu数据采集
在一个或多个被试者的腰部、小腿部、大腿部设置imu传感器。在被试者行走中采集步态数据。
步骤2.对步骤1中采集的步态数据进行预处理。
步骤3.构建训练集和测试集
3.1数据划分
将采集到的步态数据内的步态周期按照足跟接触、足平、脚趾脱离这三个步态事件划分为三个步态相位,并对各个相位打上标签,获得训练集。
3.2对步态数据进行数据分段。
步骤4.构建混合tcn-hmm模型
在tcn模型的输出层使用softmax激活函数,从而获得各个状态的后验概率,通过贝叶斯规则将后验概率转换为用于输入hmm模型的发射概率,使得hmm模型能够推断出最佳隐藏状态序列,即所分类的步态相位。
步骤5.利用训练集对混合tcn-hmm模型进行训练。
步骤6.利用训练好的混合tcn-hmm模型对新的行走imu数据进行分类。
作为优选,步骤1中,被试者在行走时穿着带有足底压力传感器的压力鞋;步骤3.1中根据压力鞋中的压力传感器检测到的压力情况进行相位划分。
作为优选,步骤2中的预处理采用了5hz三阶的巴特沃斯低通滤波。
作为优选,步骤3-2中,采用滑动窗口的方式进行数据分段,且滑动窗口采用固定窗口大小且有数据重叠。滑动的步长为1帧。
作为优选,步骤4的具体过程如下:
4.1tcn序列建模
将步骤3.2分段后的数据转化为一维向量输入到tcn网络中进行训练,训练所获得的tcn模型用于输出每一个相位类别的后验概率估计值。
tcn网络包括一维全卷积网络结构、因果卷积、扩张卷积以及残差连接。
1)一维全卷积网络结构:在一维全卷积网络结构中,每个隐藏层与输入层长度相同,并对后续层进行零填充以保持其长度与前一层相同。
2)因果卷积:卷积层在t时刻的输出仅与来自t时刻以及上一层中更早的元素卷积。
3)扩张卷积:对于输入的一维序列x,扩张卷积运算f(s)定义为:
其中,d为扩张因子;k为卷积核的大小;f(i)表示卷积核的第i个权重;xs-d·i表示输入的一维序列x中编号为s-d·i的元素;s为要进行扩张卷积运算的位置。
4)残差连接:使用残差模块来代替卷积层,残差模块主要包含两层扩张的因果卷积以及整流线性单元(relu)。同时,为了保证输入和残差模块的输出具有相同的宽度,额外使用了1×1卷积。
4.2hmm步态相位预测
将tcn网络输出层的每个单元与模型的特定状态相关联,训练它来估计每个状态的后验概率,即通过在输出层使用softmax激活函数获取状态y∈{1,…,q}的分布:
其中,sy表示tcn网络输出层在使用softmax函数前的第y个输出值;q表示状态数,即步态相位类型数。
tcn模型的输出值是基于输入的状态概率分布的估计值:
其中,
然后,再通过贝叶斯规则将输出的后验概率估计
其中,p(yt)为先验概率,对于先验概率p(yt)本发明根据训练数据中每个步态相位出现的相对频率来进行估计;
最后,通过viterbi算法推断出最佳隐藏状态序列。
本发明的有益效果是:
1、本发明创新性地利用tcn网络来获取状态的后验概率,并利用后验概率获取hmm模型所需的发射概率,构成了混合tcn-hmm模型,该模型将运动数据的时间特征与空间特征有机地结合在了一起并对步态相位信息进行了判别。不仅得到了准确率很高的步态相位分类结果,同时基于判别的学习抑制了错误的分类,对于下肢外骨骼设备的稳定控制具有重要意义。
2、本发明使用惯性传感器(imu)来采集人体运动信息。imu以非侵入的方式安装在人体相关部位,不会对使用者造成太多不便。同时,相比传统的足底压力或肌肉电信号的信息收集方式imu具有便携、耐用、稳定性高的特点,从而为步态相位分类任务提供了稳定有效的运动数据。
附图说明
图1是本发明步态相位在线判别流程图;
图2为本发明采用混合tcn-hmm模型的结构示意图。
具体实施方式
为使本发明的目的、技术方案和要点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。
如图1所示,一种面向外骨骼的基于tcn-hmm的步态相位分类方法,包括以下步骤:
步骤1.imu数据采集
将5个imu传感器分别固定在被试者的腰部、左大腿、左小腿、右大腿、右小腿;大腿部的imu传感器固定在大腿侧面膝关节上方约6cm处,小腿部的imu传感器则固定在小腿侧面踝关节上方约10cm处。为了方便为不同步态相位的imu信号打上标签,被试者也会被要求穿上带有足底压力传感器的压力鞋。压力鞋能够检测脚掌压力和脚跟压力;被试者以2km/h的速度进行直线步行运动。通过上位机设备实时地获取5个imu传感器的三轴加速度、三轴角速度以及脚底压力数据,采样率为100hz。
步骤2.imu数据预处理
因为人类行走时左右腿的运动具有对称性,所以对分类模型的构建只选择单条腿的运动作为研究对象。本实例中选择左腿做为研究对象,故将腰部、左大腿和左小腿的imu数据进行处理。
本发明采用了5hz三阶的巴特沃斯低通滤波。对采集到的原始imu传感器信号进行数据滤波处理,其目的是为了减少来自用户和传感器本身的噪声提高信噪比,从而减少干扰,提高深度学习模型构建的准确性。
步骤3.构建训练集和测试集
3.1数据划分
本发明中imu数据的标签是依据步态事件来区分的。通过对之前采集的足底压力信息的分析,依据“足跟接触(heelstrike)”、“足平(footflat)”以及“脚趾脱离(toeoff)”三个步态事件将一个步态周期分为三个相位,并将相应步态阶段的imu数据帧打上标签。足跟接触对应的相位表示足跟接触地面到足尖接触地面之间的过程;足平对应的相位表示足尖接触地面到足尖离开地面之间的过程;脚趾脱离对应的相位表示足尖离开地面到足跟再次接触地面之间的过程。
针对每个被试者的行走imu数据,以单个步态周期做为最小单位,从中抽取70%的步态周期数据作为训练集,记作train_i;剩下的30%作为测试集,记作test_i;其中,i表示第i个被试者。
3.2imu数据分段
本发明中构建训练集和测试集的另一个步骤是数据分段,本发明使用滑动窗口的方式对连续的imu数据流进行分段。本发明采用固定窗口大小且有数据重叠的数据分段方法,即一个数据窗口中包含多个数据帧;单个数据帧αt如式(3.1)所示;每个帧包含给定时刻的所有传感器的值,将一个数据窗口中的所有帧连接起来形成神经网络的输入向量。每个数据窗口的长度固定,滑动的步长为1帧,每个窗口的类别yt是该数据窗口最后一个数据帧的类别如式(3.2)所示。单个窗口的数据xt如式(3.3)所示:
αt=[x1,tx2,t…xn,t](3.1)
yt=yt(3.2)
其中,xi,t表示t时刻的第i个数据特征;len表示数据窗口的长度;n表示特征的维度,其值为18;yt表示t时刻数据帧αt的类别。
步骤4.如图2所示,构建混合tcn-hmm模型。
步态相位的快速而准确的判别往往对下肢外骨骼的流畅控制具有直接的影响。在本发明中,我们将时间卷积网络(tcn)强大的判别能力与隐马尔可夫模型(hmm)出色的动态时间规整能力相结合,从而为动态系统提供更好的分类结果。训练所得到的模型是一种混合tcn-hmm模型,其数据的空间特征通过tcn网络提取、时间特征通过hmm状态转换建模,并使用tcn网络对hmm的状态分布进行建模。
4.1tcn序列建模
本发明中使用的数据窗口长度为18,采集的传感数据的维度为18,即每个窗口为一个18*18的数据矩阵。我们运用序列建模的思想对训练数据进行建模:将每一个窗口的数据视为一维序列,并将它们以一个324×1的序列的形式输入到tcn网络中进行训练,训练所获得的tcn模型用于输出每一个相位类别的后验概率估计值。
本发明中所构建的tcn网络包括一维全卷积网络(1dfcn)结构、因果卷积(causalconvolutions)、扩张卷积(dilatedconvolutions)以及残差连接(residualconnections)。
1)一维全卷积网络结构:在一维全卷积网络结构中,每个隐藏层与输入层长度相同,并对后续层进行零填充以保持其长度与前一层相同。
2)因果卷积:tcn网络使用了因果卷积,即卷积层在t时刻的输出仅与来自t时刻以及上一层中的更早的元素卷积。
3)扩张卷积:在本发明中输入的数据为一个324×1的长序列,为了加强网络在解决需要较长历史的任务时的性能,网络添加了扩张卷积。对于输入的一维序列x,以及包含k个参数的卷积核f,一维序列x中第s个元素的扩张卷积运算f(s)定义为:
其中,d为扩张因子;(x*df)表示扩张因子为d的扩张卷积运算;k为卷积核的大小;f(i)表示卷积核的第i个权重;xs-d·i表示输入的一维序列中编号为s-d·i的元素;s为要进行扩张卷积运算的位置。扩张等效于在每两个过滤器之间引入一个固定的步长。使用较大的扩张参数可使顶层的输出能代表更大范围的输入,从而有效地扩展了卷积神经网络的感受域,使得网络可以在较大的范围内进行特征提取,从而得到了数据的空间特征。
4)残差连接:tcn网络中使用残差模块来替代卷积层,在残差模块内,tcn具有两层扩张的因果卷积,为此使用了整流线性单元(relu)。为了进行归一化,将权值归一化应用于卷积滤波器。此外,在每一次扩张卷积后添加空间缺失以进行正则化。同时,为了保证输入和残差模块的输出具有相同的宽度,额外使用了1×1卷积。
将预处理过的数据以1维序列的形式输入到tcn网络中进行模型训练,设置其超参数学习率lr=0.002,优化器为adam,批次大小batch_size=64,迭代次数epochs=30。训练完成后得到tcn模型。
4.2hmm步态相位预测
在经典的隐马尔可夫建模方法中,必须针对马尔可夫链的每个状态yt估计发射概率密度
将tcn网络输出层的每个单元与模型的特定状态相关联,训练它来估计每个状态的后验概率,即通过在输出层使用softmax激活函数获取状态y∈{1,…,q}的分布:
其中,sy表示tcn网络输出层在使用softmax函数前的第y个输出值;q表示状态数,即步态相位类型数。
而tcn模型的输出值是基于输入的状态概率分布的估计值:
其中,gyt表示代表状态yt的输出。
然后,再通过贝叶斯规则将输出的后验概率估计
其中,p(yt)为先验概率,对于先验概率p(yt)本发明根据训练数据中每个步态相位出现的相对频率来进行估计;
本发明通过统计框架将将tcn分类模型与hmm模型集成为混合结构连接模型,从而利用tcn分类模型在每个时间片上获得具有更好判别性能的hmm所需的发射概率,且无需对数据的统计分布进行任何假设。
最后,通过viterbi算法推断出最佳隐藏状态序列,即所分类的步态相位,从而得到分类结果。
步骤5.利用训练集对混合tcn-hmm模型进行训练。
使用训练集训练混合tcn-hmm模型,然后利用训练好的模型预测出测试集中数据所对应的类别。最后将预测分类结果与这些特征向量的实际类别进行比较,得到步态相位的分类准确率。分类的准确率为96.13%。
步骤6.利用训练好的混合tcn-hmm模型对新的行走imu数据进行分类,所分类得到的步态相位结果为下肢外骨骼设备提供实时的步态相位信息,帮助对外骨骼设备进行更好的控制。
1.面向外骨骼的基于tcn-hmm的步态相位分类方法,其特征在于:
步骤1.imu数据采集
在一个或多个被试者的腰部、小腿部、大腿部设置imu传感器;在被试者行走中采集步态数据;
步骤2.对步骤1中采集的步态数据进行预处理;
步骤3.构建训练集和测试集
3.1数据划分
并将采集到的步态数据内的步态周期按照足跟接触、足平、脚趾脱离这三个步态事件划分为三个步态相位,并对各个相位打上标签,获得训练集;
3.2对步态数据进行数据分段;
步骤4.构建混合tcn-hmm模型
在tcn模型的输出层使用softmax激活函数,从而获得各个状态的后验概率,通过贝叶斯规则将后验概率转换为用于输入hmm模型的发射概率,使得hmm模型能够推断出最佳隐藏状态序列,即所分类的步态相位;
步骤5.利用训练集对混合tcn-hmm模型进行训练;
步骤6.利用训练好的混合tcn-hmm模型对新的行走imu数据进行分类。
2.根据权利要求1所述的面向外骨骼的基于tcn-hmm的步态相位分类方法,其特征在于:步骤1中,被试者在行走时穿着带有足底压力传感器的压力鞋;步骤3.1中根据压力鞋中的压力传感器检测到的压力情况进行相位划分。
3.根据权利要求1所述的面向外骨骼的基于tcn-hmm的步态相位分类方法,其特征在于:步骤2中的预处理采用了5hz三阶的巴特沃斯低通滤波。
4.根据权利要求1所述的面向外骨骼的基于tcn-hmm的步态相位分类方法,其特征在于:步骤3-2中,采用滑动窗口的方式进行数据分段,且滑动窗口采用固定窗口大小且有数据重叠;滑动的步长为1帧。
5.根据权利要求1所述的面向外骨骼的基于tcn-hmm的步态相位分类方法,其特征在于:步骤4的具体过程如下:
4.1tcn序列建模
将步骤3.2分段后的数据转化为一维向量输入到tcn网络中进行训练,训练所获得的tcn模型用于输出每一个相位类别的后验概率估计值;
tcn网络包括一维全卷积网络结构、因果卷积、扩张卷积以及残差连接;
1)一维全卷积网络结构:在一维全卷积网络结构中,每个隐藏层与输入层长度相同,并对后续层进行零填充以保持其长度与前一层相同;
2)因果卷积:卷积层在t时刻的输出仅与来自t时刻以及上一层中更早的元素卷积;
3)扩张卷积:对于输入的一维序列x,扩张卷积运算f(s)定义为:
其中,d为扩张因子;k为卷积核的大小;f(i)表示卷积核的第i个权重;xs-d·i表示输入的一维序列x中编号为s-d·i的元素;s为要进行扩张卷积运算的位置;
4)残差连接:使用残差模块来代替卷积层,残差模块主要包含两层扩张的因果卷积以及整流线性单元(relu);同时,为了保证输入和残差模块的输出具有相同的宽度,额外使用了1×1卷积;
4.2hmm步态相位预测
将tcn网络输出层的每个单元与模型的特定状态相关联,训练它来估计每个状态的后验概率,即通过在输出层使用softmax激活函数获取状态y∈{1,…,q}的分布:
其中,sy表示tcn网络输出层在使用softmax函数前的第y个输出值;q表示状态数,即步态相位类型数;
tcn模型的输出值是基于输入的状态概率分布的估计值:
其中,
然后,再通过贝叶斯规则将输出的后验概率估计
其中,p(yt)为先验概率,对于先验概率p(yt)本发明根据训练数据中每个步态相位出现的相对频率来进行估计;
最后,通过viterbi算法推断出最佳隐藏状态序列。
技术总结