一种基于改进sEMG活动段检测的手部运动意图识别新方法
2022-11-22刘声中许德章
刘声中,许德章
(1.安徽工程大学 人工智能学院;2.芜湖安普机器人产业技术研究院, 安徽芜湖241000)
近年来,在生物电信号检测技术领域,手臂表面肌电信号(surface Electromyography,sEMG)能准确地反映人体手部的运动意图,[1]基于sEMG的运动意图识别技术成为人机康复领域中的研究热点之一.
文献[2]利用MYO手环采集手臂的8通道sEMG信号,同时,利用姿态传感器采集手指运动的三维信息,采用平均能量法检测sEMG信号的活动段,将活动段的特征作为SVM多类分类器的输入,手指动作的整体识别率达到99.3%.文献[3]提出了一种单通道分解与神经网络相结合的手势识别方法,5种手势识别的平均精度能达到 90%以上.文献[4]通过采集4通道sEMG信号与3轴加速度信号,将一个完整的动态手势sEMG信号分割为3个区段,分别为起始段、主特征段和收尾段,在支持向量机中完成了6种手势的分类,分类精度达到了91.2%.上述这些研究均未对sEMG信号特性对活动段门限算法展开深入探讨.
在生物医学临床研究中,将人体动作执行意图的有效肌电信号称为运动单位动作电位(motor unit action potential,MUAP),[5]或称为sEMG活动段.sEMG信号不同于一般的无规则时序信号,它在活动段结束前存在一段亢奋衰减过程.传统的算法固定了端点检测的门限值,导致检测活动段完整度较低,活动段所携带的运动意图信息缺失、分类效果不佳.针对上述问题,本文改进了单参数固定门限提取活动段的方法,目的在于增加活动段的完整度,从而提高手部运动意图的识别精度.分类结果显示,基于本方法提取活动段的LSTM运动意图分类模型,6种运动意图的平均分类精度达到了91.7%,比固定门限提取活动段的LSTM运动意图分类模型的识别精度提高了15.6%.
1 改进的检测活动段方法
准确快速地判断肌电信号的活动段起点和终点是特征提取和运动意图识别的前提和基础,也是肌电信号得以广泛应用的关键,图1展示了一组肌电信号中的活动段.
图1 表面肌电信号的运动单位动作电位(1)本图使用MATLAB绘制,数据取自本文引用的UCI肌电数据集.
1.1 肌电信号的短时时域分析
目前,信号端点检测方法主要有模式匹配和特征参数检测.[6]模式匹配在噪声环境下有着较高的识别率,但算法依赖高性能硬件设备的支持,不适合实时应用场景.特征参数检测有实时性良好、便于计算等特点.因此,考虑到硬件设备的计算效能,也为保证信号处理的实时性,本文采用短时平均能量和短时过零率作为sEMG信号活动段检测的特征参数.
1.1.1 短时平均能量
短时平均能量对随机信号有很好的端点检测能力,经过短时平均能量处理,噪声对信号的干扰会进一步消除.这是因为高频冲击肌电信号具有连续性,而噪声信号具有离散性,在肌电信号进入活动段后,信号的对比会进一步得到增强.根据文献[7]得到平均能量计算公式为
(1)
1.1.2 短时过零率
短时过零率是指每帧信号通过零值的次数.对于时域内连续的语音信号,可通过计算短时过零率得到时域波形通过横轴的情况,来反映信号的频率信息,由文献[7]可得到短时过零率计算公式为
(2)
式(1)、式(2)中,Ei为第i帧的短时平均能量,ZCRi为第i帧的短时过零率,xi(n)为第i帧第n个采样的信号点.n=1,2,3,…,N,n为原始肌电信号的时间序列,N为帧长.
图2为sEMG信号短时时域分析结果,图2a为一段肌电信号的波形、图2b为短时平均能量图、图2c为短时过零率图.
图2 sEMG信号短时时域分析
由图2可知,在活动段起点处,短时平均能量与短时过零率幅值上升很快;在活动段终点附近,短时过零率与短时平均能量幅值大幅下降,并存在小幅波动.通过自适应门限算法,以肌电信号的短时能量与过零率作为门限值,可以准确地提取sEMG信号活动段.
1.2 改进的自适应门限两级判别活动段方法
反复实验发现,当s单门限提取活动段的运动意图分类EMG信号幅值在检测算法的门限值附近波动时,会导致活动段端点反复反转,造成检测到的活动段长度过短.本文采用短时平均能量与短时过零率两级门限法约束活动段端点的反转.此外,为抑制噪声信号的干扰,在端点检测算法中增加活动段最小长度限制.图3是固定门限与前后门限活动段提取对比图.传统的算法固定了前后门限值,常常无法提取完整的活动段,图3b为固定门限提取的活动段.在实际检测中,sEMG活动段在终点前存在亢奋衰减过程,活动段的检测需要一段跳过信号收尾的时间,如图3c为包含亢奋衰减过程的活动段,其包含更加完整的运动意图信息.为解决固定门限检测活动段提前收尾的问题,对短时平均能量设定一个数值略低的后门限σEb,以完成活动段收尾部分的检测,增强算法的适应能力.
图3 固定门限与前后门限活动段提取对比图
短时平均能量前后门限计算公式为
σEf=min{Ei,Kf×max(Ei)}
σEb=min{σEf,mean(Ei)}×Kb
(3)
过零率门限计算公式为
σZCR=min{ZCRi,Kz×max(ZCRi)}
(4)
其中,Kf、Kb、Kz分别为能量前门限确定系数、能量后门限确定系数、过零率门限确定系数,且均为实验得到的经验值.
本文对每帧信号数据进行了短时能量与过零率计算,作为活动段两级判别门限的初始参考值,根据式(3)和式(4),实时计算门限值,再通过端点算法确定活动段的起点和终点,算法流程图如图4所示.
图4 改进自适应门限两级判别活动段算法流程图
具体算法步骤如下:
1)对肌电信号按照帧长N=64、帧移S=10,分帧处理;
2)根据式(1)和式(2),计算每帧信号的短时能量Ei与短时过零率ZCRi;
3)在两级判别中,选用短时平均能量较高的前门限σEf与过零率门限σZCR共同确定活动段的起点,根据每帧的短时过零率ZCRi判断噪声干扰,再根据短时能量较低的后门限σEb与过零率门限σZCR,确定活动段的终点;
4)运用活动段长度MUAPLen是否满足最短长度限制的条件;若满足条件,则判定为有效活动段,否则判定为噪声,重复步骤3;
5)根据起点和终点,计算患者运动意图的活动段,并保存到背景数据库中,用于下一步子活动段的特征提取.
2 手部运动意图分类模型
2.1 长短时记忆神经网络
图5 LSTM神经网络结构图
LSTM是一种特殊的RNN,[8]它在RNN的基础上增加了一条新的时间链.LSTM通过遗忘门、更新门和输出门增加了隐藏层与时间链之间的联系,以及记录长短时记忆之间的联系,弥补了RNN对长时记忆的不足,其主要结构如图5所示.根据文献[8],可得各个神经元的输出计算公式如式(5) ~式 (12).
2.1.1 遗忘门
遗忘门具有选择记忆重要信息的功能,计算公式为
ft=σ(Wxfxt+Whfht-1+bf)
(5)
式(5)中,σ为Sigmoid函数,其取值范围为[0,1],产生一个0~1的数,其中“0”代表“全部忘记”,“1”代表“全部记住”,xt表示该时间步内的输入,ht-1表示上一个时间步的输出状态,Wxf、Whf分别表示输入和输出的权重矩阵.
2.1.2 输入门
it=σ(Wxixt+Whiht-1+bi)
(6)
(7)
更新门通过计算要丢弃部分与要被记忆部分的值,完成记忆细胞状态更新,得到新的记忆细胞Ct,其计算公式为
(8)
2.1.3 输出门
输出门通过Sigmoid层获得初始输出,再利用tanh函数将ot的值限制在[-1,1]之间,其计算公式为
ot=σ(Wxoxt+Whoht-1+bo)
(9)
由输出门和当前记忆细胞Ct最终决定ht值
ht=Ot⊙tanh(Ct)
(10)
式(9)中,Sigmoid函数计算公式为
(11)
tanh激活函数计算公式为
(12)
2.2 基于LSTM的手部运动意图分类模型
本文选取了3种常见的时域特征,[9]平均绝对值(MAV)、均方根(RMS)、平均幅度改变值(ACC),将它们作为子活动段的特征参数.以窗宽L=32、移动步长STEP=5,两级判别检测得到的活动段分解成k个子活动段,依次提取子活动段特征,用于分类模型的输入.子活动段总数k计算公式为
(13)
式(13)中,MUAPLen为活动段总长度,L为子活动段窗宽,STEP为子活动段移动步长.
手部运动意图模型的输入矩阵为
(14)
式(14)中,上标为通道数,下标为子活动段的序列.
图6 基于LSTM手部运动意图分类模型
考虑到sEMG信号的时序性,提出了一种基于LSTM手部运动意图分类模型,模型结构如图6所示.模型的输入xt为sEMG活动段的特征矩阵,通过LSTM遗忘门、输入门和输出门的协同作用,迭代更新记忆细胞,全连接层将LSTM中的特征空间整合成维度为1的输出向量.全连接层的输出被传递给softmax激活函数,将全连接层的输出归一化在(0,1)区间,通过分类层交叉熵损失函数,将正确类别概率最大化,计算出每个权重的梯度,输出ht表示为sEMG活动段对应的运动意图标签.设置模型训练参数,输入活动段特征,训练LSTM手部运动意图识别模型.
3 实验仿真与分析
3.1 数据集
图7 UCI数据集中的6种手势
本文研究了UCI公开的肌电信号数据集.[10]数据集的肌电信号来自5名受试者:3名女性和2名男性,年龄在20岁到22岁之间.实验者将双通道电极固定在受试者的左手前臂处,双通道采集电极的位置分别位于尺侧腕屈肌和桡侧腕伸肌、长肌和短肌,采样频率设定500 Hz,采用巴特沃斯滤波器,滤除15 Hz以下和500 Hz以上的频段,采用50 Hz的陷波滤波器消除工频信号干扰.
测试中,每个受试者做6种不同手势,如图7所示.[10]
本文选取了数据集中的一个子集.子数据集包括1200组数据,即在双通道下每组肌电信号持续了2500 ms.每个受试者重复单个动作100次,每个受试者总共完成了600次试验.
图8展示了6种运动意图的sEMG数据样本帧.
图8 6种手势的sEMG信号样本
3.2 运动意图识别对照实验
为了验证本文方法的有效性,选择UCI数据集中6种手部运动意图sEMG作为研究对象,开展对照实验.为保证单一变量原则,模型参数中分块尺寸miniBatchSize设置为32,最大训练周期MaxEpochs设置为30,训练集与测试集比例为7∶3,实验中其他参数均保持一致.
分类模型的输入信号选用单参数固定门限提取的子活动段特征、两级判别自适应门限提取的子活动段特征.输出ht为数字标签1~6,其分别代表“握圆柱体”“提拉”“二指侧捏”“多指侧捏”“握球体”“二指尖捏”6种运动意图.两种方法得到的活动段特征矩阵,被输入到LSTM的手部运动意图分类模型,完成样本训练工作.选取分类精度η为评价指标,量化评估分类结果,分类精度函数的计算公式为[3]
(15)
式(15)中,η为分类精度;SPre为测试集的总样本数;YPre_i、YTest_i分别为第i个样本的目标类别和输出类别(实际类别);I为指示函数,当输入为True的时候,输出为1;输入为False的时候,输出为0.
对照实验结果如图9和图10所示,当分类模型输入为单参数门限提取的活动段时, LSTM模型分类精度仅为76.1%;当分类模型输入为两级判别自适应门限提取活动段时,LSTM模型分类精度提高了15.6%,总体平均分类精度达到91.7%.表明本方法提取的活动段更具代表性,活动段所携带的运动意图信息更完整,不同运动意图的活动段特征差异更加明显,且手部运动意图分类模型能发挥更好性能,证明了本方法的可行性和有效性.
图9 基于单门限提取活动段的运动意图分类混淆矩阵
图10 基于本方法提取活动段的运动意图分类混淆矩阵
另一方面,标签“6”运动意图表明,两种方法分类精度都不足80%.主要原因在于标签“2”运动意图与标签“6”运动意图参与的肌肉关联程度较高,肌肉起主导作用的神经元大部分相同,导致sEMG活动段特征差异不明显,使得运动意图标签“6”易被误判成运动意图标签“2”.由于双通道特征的限制,当手势相近或对肌肉起主导作用的神经元相同时,手势识别的敏感度大大降低.这一局限性需要在后续工作中进一步改进特征提取方法,或者增加肌电传感器的数量.
4 结论
本文提出了一种基于改进sEMG活动段检测的手部运动意图识别方法,着力提高手部运动意图的分类精度.该方法通过两级判别自适应门限检测sEMG的活动段,运动意图对应的特征矩阵与运动意图标签作为LSTM手部运动意图分类模型的输入与输出信号.实验表明,当分类模型的输入为本方法提取的活动段特征时,LSTM模型分类精度提高了15.6%,6种运动意图平均分类精度达到91.7%.