倪 钰,苏本跃
(1.安庆师范大学计算机与信息学院,安徽安庆246133;2.安徽省智能感知与计算重点实验室,安徽安庆246133)
第二次全国残疾人抽样调查数据公报显示,我国肢体残疾人数接近2 500万,下肢截肢者的数量约占截肢患者总数的70%[1]。使用机械假肢的经股截肢者无法在复杂的地形上行走,例如楼梯,即使在水平地面上行走,他们的新陈代谢能量也比健全的受试者高出60%[2]。为了克服机械假肢的部分局限性,研究人员致力于开发智能动力下肢假肢。人体运动意图识别在智能下肢假肢研究中尤其重要,将在运动模式之间提供安全、自动和无缝的过渡。下肢假肢意图识别研究难点主要有传感器的选择与融合问题、控制策略问题以及数据的分类算法问题。Hargrove等研究了一种依靠从肌电信号中提取的信息来控制截肢患者坐下的控制系统[3],主要通过提取大腿残留的肌肉中肌电信号来获取患者的运动意图。传统的运动意图识别的控制策略将传感器放置患侧,苏本跃等提出将传感器放置健侧的新策略,有效地解决了运动意图识别的滞后性[4]。常用于运动意图识别的算法有模板匹配[5]、HMM[6]、SVM[7]等,Su等构建了适应于下肢假肢运动意图的卷积神经网络架构,采用自学习特征的方式准确地预测了动力下肢截肢患者的运动意图[8]。国内外大量实验表明,机器学习算法在下肢假肢运动意图识别研究工作中取得了很好的分类效果。但在动力下肢假肢运动意图识别中采用深度学习方法的确很少见,研究人员大多采用传统意图识别方法,如模板匹配、决策树、隐马尔可夫、SVM等分类器。本文通过阐述常用深度学习神经网络原理,结合动力下肢假肢运动意图识别的特性,分析深度学习算法在意图识别数据处理中的可行性。
人体下肢运动具有一定的规律性和周期性。根据双脚触地状态的规律性,可以分成脚跟着地和脚趾离地这两个步态事件,因此可将运动步态周期分成支撑相和摆动相。传统意图识别将传感器放在患侧假肢上,因此转换步定义在患侧,这可能会带来一定的滞后性。本研究小组提出将传感器放置健侧[4],有效地避免了滞后性的问题,同时对转换步进行了重定义:第一型转换步起始于前一个地形条件下的前一只脚的脚尖离地时刻,终止于同侧脚的脚后跟着地于后一地形。考虑到平地行走至上楼转换和上楼至平地行走转换的特殊性,对这两类转换步进行了再定义。第二类型转换步是起始于前一个地形条件下后一只脚的脚尖离地时刻,终止于同侧脚的脚后跟着地于后一个地形。
卷积神经网络(CNN)是一种深度学习模型或类似于人工神经网络的多层感知器,在图像分类、目标检测和语意分割等领域取得了优秀的研究成果。CNN的主要层级结构有卷积层、池化层以及全连接层等。卷积层运算的主要目的是对特征进行学习与提取,从低层特征中提取更为抽象的特征。卷积核通常定义为二维张量,卷积运算,其中,I为二维的输入数据,K为二维的卷积核。
长短时记忆神经网络(LSTM)属于循环神经网络类,最初由Hochreiter 和Schmidhuber于1997年提出[9]。与递归神经网络(RNN)类型算法相似,LSTM 也运行在具有遗忘机制特色的链结构上。LSTM能够删除或添加单元状态信息,这些单元以交互结构放置,可以操纵长序列模型,如图1所示。
LSTM网络的输入门it,遗忘门ft,输出门ot,当前单元状态ct和隐藏输出ht分别表示为it=σ(Wxixt+Whiht-1+bi);ft=σ(Wxfxt+Whfht-1+bf),ot=σ(Wxoxt+Whoht-1+bo),ct=ftct-1+it(tanh(Wxcxt+Whcht-1+bc)),ht=ottanh(ct),其中,Wx表示输入权重矩阵,Wh为隐藏层神经元间的权重矩阵。
LeNet-5[10]属于经典卷积神经网络,它共有8层网络,分别为输入层、卷积层(C1)、池化层(S2)、卷积层(C3)、池化层(S4)、卷积层(C5)、全连接层(F6)和输出层。
基于卷积神经网络的意图识别实验步骤如下。(1)数据预处理:提取传感器放置健侧的摆动项数据,采用滑动窗口的方式对数据集进行数据增广(由于处理后的数据集样本最短帧数为27,所以将滑动窗口大小设为27);(2)数据归一化:使得深度神经网络训练的输入保持相同分布,从而一定程度上解决收敛慢的问题;(3)采用十折交叉验证对算法进行评估;(4)将处理好的数据集作为卷积神经网络的输入,训练模型并调整神经网络的参数;(5)将测试集样本代入训练好的模型,计算分类效果。
基于长短时记忆神经网络的意图识别实验步骤与卷积神经网络的应用步骤大体类似,唯一的区别是在步骤(1)中无需使用滑动窗口方法。意图识别算法中使用滑动窗口的目的是将输入转换成大小一致的数据,以适应卷积神经网络的输入,而长短时记忆神经网络的输入可以适应不同尺寸大小的数据,所以在应用长短时记忆神经网络的实验中去掉了滑动窗口这个实验步骤。其他实验内容均与应用卷积神经网络的实验步骤相同。
为了验证传统CNN与LSTM算法的运动意图识别分类效果,添加了RF与HMM这两种分类器作为对比试验。图2为本文的算法流程图。
图2 算法流程图
意图识别主要涉及的运动模式包括13类:平地行走、上下坡、上下楼;平地行走向上坡转换、上坡向平地行走转换、平地行走向下坡转换、下坡向平地行走转换、平地行走向上楼转换、上楼向平地行走转换、平地行走向下楼转换、下楼向平地行走转换。
本文实验数据集采集了13种运动模式下,10名身体健全的受试者(5男5女)按照每种模式操作10次的方式,收集了共1 300个样本。数据采集基于Noitom惯性捕捉系统,共采集了绑定在人体上17个传感器的21个节点的加速度、角速度、速度、位移、四元数以及触地状态的数据。
在受试者健侧的3个传感器中提取处于摆动项的3维加速度和3维角速度信息,共18维时序数据作为本文算法的输入,数据集的划分采用十折交叉验证。由于CNN算法与RF算法输入样本的维数相同,所以在数据进入分类器前加入了滑动窗处理步骤。算法分类器的输出为13类运动意图的分类结果,具体见图2算法流程图。
本文CNN 模型是基于Matlab R2018b 的DeepLearnToolbox 工具包实现,RF、HMM、LSTM 均基于Matlab 内置工具包实现动作的分类。CNN、LSTM两类深度学习模型相关参数如表1所示。
本文实验采用了测试集准确率(Accuracy)、平均精确率(mAP)以及时间复杂度(Time)作为算法性能衡量的指标。测试集准确率即正确识别出测试样本的个数/总测试样本的个数,平均精确率为13类下肢意图动作识别率的均值,时间复杂度为测试集在训练好的模型中测试所需要的时间。
表1 两类深度学习模型相关参数设置
图3为选取的4类分类器识别结果的混淆矩阵,可以看出4类分类器在13类运动意图动作的分类中都能够取得很好的分类效果。基于CNN网络框架的准确率达90.00%,LSTM在运动意图数据集中的实验识别准确率达92.31%,基于RF和HMM模型的分类结果分别达86.92%与91.54%,其中LSTM能够准确识别8类动作且识别效果最优。
图3 4类分类器识别结果的混淆矩阵。(a)基于RF识别结果的混淆矩阵;(b)基于HMM识别结果的混淆矩阵;(c)基于CNN识别结果的混淆矩阵;(d)基于LSTM识别结果的混淆矩阵
4类分类器模型在运动意图数据集中的实验结果如表2所示。实验验证了CNN与LSTM在运动意图识别这样的短时行为样本分类任务中具有一定的分类效果。由于LSTM更加适合时间序列的分类问题,所以实验的识别结果相较于CNN更优。在时间复杂度上CNN算法更优,这主要是由于LSTM的网络结构比CNN的更复杂。从实验对比中可以看出,CNN无论是识别率还是时间复杂度都优于RF。同样,LSTM的分类性能也更加优于HMM。
表2 4种分类器在运动意图数据集中的实验结果
本文首先分析了运动意图识别的研究现状与存在的问题,探讨了将深度学习算法应用到意图识别的重要意义。然后选择了两类典型的深度学习算法模型(卷积神经网络、长短时记忆神经网络),简述了这两种网络模型的基本原理与算法。最后,将两类神经网络模型应用到运动意图识别数据集中,并与两类机器学习算法模型(随机森林、隐马尔科夫)进行实验对比。实验结果验证了深度学习算法应用在运动意图识别研究中的可行性,同时,分析了两种深度学习算法模型应用于意图识别的有效性。将深度学习应用于意图识别具有重要的意义,通过自学习的方式提取运动意图的抽象特征,简化了传统意图识别中手工提取特征的流程。由于本文主要分析深度学习应用于动力下肢假肢运动意图识别的可行性,未对深度学习模型的优化进行更深层的探讨,因此如何更加精确地识别运动意图,需要进一步研究。