基于新型双输入卷积神经网络的肌电模式识别
2022-07-01杨诞阚秀曹乐张文艳孟壮壮
杨诞,阚秀,曹乐,张文艳,孟壮壮
上海工程技术大学电子电气工程学院,上海 201620
前言
表面肌电信号(surface Electromyography Signals, sEMG)是人体受到刺激后多个活跃的运动单元沿肌纤维发放动作电位,导致肌肉收缩形成电位差的结果,sEMG 作为直接与肢体运动相关联的信号相对其他众多生物电信号更容易获取。因此,sEMG 在辅助医疗、智能机器人和康复训练等领域应用广泛,例如假肢控制[1]、外骨骼训练[2]、人机交互[3]等。通过sEMG 解码运动者的行为意图被称为肌电模式识别。根据解码目的不同,肌电模式识别主要包括:离散动作的分类[4]、关节连续运动的预测[5]以及刚度和阻抗的估计[6]。其中基于sEMG 识别离散动作是获得肢体语言的重要环节,可以促使机器表征出人体行为特征。离散动作的分类可分为对单一自由度动作的分类和对多自由度动作的分类。相比单一自由度动作的充分研究,多自由度动作因动作条件的复杂性鲜少被涉及。文献[7]通过手腕和手部动作的组合,研究两个自由度情况下的sEMG 分类,虽然在一定程度上扩展了动作的组合,但是该研究仅考虑单侧肢体完成的任务,对于双侧上肢的多自由度工作,仅简单看作单侧肢体的复制。而在日常生活中,由双侧肢体完成同样运动的动作仅占一小部分,大部分动作需要双侧肢体相互协调配合完成。
肌电模式识别流程一般分为4 个部分:信号采集、信号预处理、特征提取和特征分类。信号采集是通过不同的采集设备在皮肤表面无创采集sEMG。为了得到纯净的肌电活跃片段,提高后续工作的效率,信号需要经过滤波、去噪、活动段检测等预处理步骤。传统的机器学习方法需要提取时域、频域、非线性动力学方面的特征[8-10]。然后将提取到的特征输入分类器中学习,完成肌电识别任务。传统算法通过不断改进,在提高sEMG 识别率上取得了一定的成果[11-13]。但是传统算法大多依赖现有经验,需要人工单独对微弱的肌电信号选择正确数量和质量的特征以及分类器,识别效率和稳定性较低,对于复杂的双臂肌电任务很难胜任。
与传统的分类方法相比,神经网络可以从数据中自主地学习特征,将提取特征与分类紧密结合,实现端到端的识别[14-16],不需要再专门进行特征描述与提取。 文献[17]采用普通的卷积神经网络(Convolutional Neural Network,CNN)对52 种肌电手势进行分类,就可以达到一般经典算法的效果。文献[18]中结构较为复杂的ConvNet 在识别不同受试者的7 类手势上表现优异。文献[19]提出一种长短期记忆网络(Long Short Term Memory, LSTM)的抓取动作识别模型。文献[20]考虑到不同时刻的信号特征侧重点不同,将注意力机制加入神经网络,使网络提取出更重要的sEMG 特征。文献[21]融合CNN与LSTM 构造一种双流网络自动提取sEMG 的时间和空间特征。这些改进的神经网络能够在一定范围内学习到sEMG 优秀的特征,但是它们都是从数据本身出发,立足于样本自己内在的特征,没有考虑到相同动作样本与不同动作样本之间存在的联系。
考虑到单臂肌电信号自身特征以及双臂肌电信号之间的差异特征,本文提出一种基于双输入卷积神经网络(Novel Dual Input Convolutional Neural Network,ND-CNN)模型的肌电模式识别方法。NDCNN 包含两个子网络,子网络为粒子群优化的轻量卷积神经网络(PSO-based Optimized Lightweight Convolution Neural Network, PLCNN),两个子网络共同接受多组正负样本对。一个子网络学习sEMG信号的特征,另一个子网络通过特征之间的欧氏距离学习信号的相似特征和差异特征,并通过实验证明所设计的ND-CNN 模型在双臂协同动作识别中的有效性和可靠性。
1 实验设计
1.1 实验材料
实验涉及的器材包括两个MYO 臂环、两个纸杯、1 个50 g 的砝码、1 个尺寸为25 cm×15 cm×15 cm的带标记木质盒子、1张尺寸为125 cm×58 cm×66 cm的带标记实验台。
MYO 臂环是由加拿大Thalmic Labs 研制的一款手势控制设备。如图1所示,MYO臂环内嵌8个干电极,每个干电极之间等距排列,记录来自人体各个部位的肌电信号,可以通过低功耗蓝牙将采集的数据传输给PC 端达到识别运动意图、控制外部装置的作用。与传统电极相比,MYO臂环具有准确高效、穿脱方便、不受场地限制等优点,已被用于许多肌电信号分析研究中[22-24]。当受试者正确佩戴好臂环时,标志灯停止闪烁,8个通道的sEMG开始采集,采集频率为200 Hz。此外,MYO臂环配有伸缩带,组件之间可以相对地伸展和收缩,便于不同身体条件的受试者使用。
图1 MYO臂环Figure 1 MYO armband
1.2 动作与肌肉选择
为了探究双臂运动的协调适应能力,本文从双臂协同工作的机理出发,有针对性地选取4个双臂协同操控物体的动作,具体如图2所示,4个实验动作依次是:(a)双手拿住纸杯从桌面的固定位置摆放到木盒的固定位置(上杯);(b)双手拿住纸杯从木盒的固定位置摆放到桌面的固定位置(下杯);(c)对于两个堆叠的纸杯,左手握住下面的纸杯,右手将上面的纸杯抽取出摆放到木盒的固定位置(捏上杯);(d)横向打开两个堆叠的纸杯(横杯)。其中,为了采集清晰的肌电信号,在第(a)、(b)、(c)个动作的杯子中放入砝码,在一定程度上增加肌肉负荷。
图2 双臂协同实验动作Figure 2 Dual-arm cooperative actions in the experiment
根据解剖学知识,一个简单的动作是在数块肌肉的协调下产生的,其中位于前臂的肌肉对抓握动作起主要作用。因此,本文实验选取8块手臂肌肉进行肌电信号测量,分别为:肱桡肌、旋前肌、旋后肌、桡侧腕屈肌、桡侧腕伸肌、掌长肌、指伸肌、尺侧腕屈肌,肌肉分布如图3所示。
图3 左前臂肌群图Figure 3 Left forearm muscle group diagram
1.3 数据采集
实验开始前,受试者根据台式电脑播放的视频进行多轮动作模仿,确定其熟知动作并且能流畅地演示时停止训练,最大程度保证实验过程的规范性与有效性。实验数据采集过程如图4所示,其中,图4a 为实验开始时受试者的初始状态图,受试者将MYO 臂环佩戴于左前臂和右前臂,舒适地坐在实验台前方,手臂弯曲约成90°状态,掌心向下放置在实验台面上,同时确认PC 端可以实时接收臂环数据并显示波形。图4b为实验过程中受试者完成规定动作图,听到开始指令后,受试者以平常的收缩力完成实验规定动作,听到停止指令后,受试者立刻恢复成图4a 的状态,等待下一次指令。在一轮实验中,每间隔5 s 重复一次动作,每个手势动作重复20 次,每次持续5 s。收集一轮数据后,受试者休息30 min,以防止肌肉疲劳。每人每天按照相同的步骤进行3轮实验,共计2 d。其中,器材的摆放以及臂环佩戴的位置均被标记以实现实验的可重复性。
图4 实验数据采集过程图Figure 4 Experimental data acquisition process
2 方法
如图5所示,双臂肌电模式识别流程主要包含6个部分:肌电信号采集、信号预处理、数据整理策略、输入策略、模型训练和动作识别。原始sEMG信号经过滤波和活动段分割预处理,根据数据整理策略构造3 个不同形式的数据集S1、S2、S3,每个数据集都通过输入策略形成固定的input1和input2输入ND-CNN网络提取特征,最后通过特征图识别所有动作。
图5 双臂肌电模式识别流程Figure 5 Dual-arm sEMG pattern recognition process
2.1 数据预处理
通过MYO臂环采集到的sEMG通常会含有噪声并对后续分析造成一定的干扰,因此,本文采用Butterworth滤波器进行带阻滤波,提取纯净sEMG 信号。对于滤波后的sEMG 信号,根据时间标签,切割肌电动作活动段。鉴于受试者从外界获得动作指令信息,大脑加工分析发出指令到运动器官开始执行动作需要一定的反应时间。根据生理学知识可知,一般条件下,人对刺激的反应时间约为0.1~0.5 s,对于复杂的选择反应时间约为1~3 s,且每位受试者的反应时间也不尽相同。经过统计观察受试者们对于指令的反应时间,本文设置1 s的时间阈值,剔除活动段前后不稳定的数据,并将切割完成的肌电片段进行归一化处理。
2.2 数据整理策略
由于双臂协调运动时涉及左右两臂的肌电信号,如何整理组合两部分手臂的数据对后续的识别任务起着至关重要的作用。本文设计了由如下S1、S2、S3 这3 种数据样本构成的数据整理策略:(1)S1数据集(不考虑双臂数据之间的关联):对于每个动作,每只手臂每个通道肌电数据都单独作为一个样本。每位受试者共计生成(动作重复次数×动作个数×肌电通道数×2 只手臂)个样本。(2)S2 数据集(考虑双臂数据之间的关联):对于每个动作,将左右手臂的数据在时间域上根据对应通道进行拼接,即对左右手臂数据进行串联操作。每位受试者共计生成(动作重复次数×动作个数×肌电通道数)个样本。(3)S3 数据集(考虑双臂数据之间的关联):对于每个动作,将左手臂与右手臂对应通道的数据进行并联操作,即组合为二维矩阵作为一个样本。每位受试者共计生成(动作重复次数×动作个数×肌电通道数)个样本。
对于长度为size的一次动作信号,处理后的样本尺寸对应3种数据集分别为1×size、1×2size、2×size。
2.3 输入策略
基于上述数据整理策略形成的数据集,本文设计了网络模型输入策略,将处理后的sEMG组合成包含input1 和input2 的样本对信号输入到网络进行分类。Input1 是肌电动作的信号输入(这里为4 种动作)。通过图6的方法挑选input2,在训练集中选定input1 为某种动作的肌电信号时,如果input2 挑选为与input1同一类的样本(可以是同一通道或不同通道的),则此时input2 与input1 构成正样本对,标签为1。如果input2 挑选为不同于input1 动作的样本,则样本对为负样本对,标签为0。此时input2 中就包含与input1 一一对应的同动作样本或不同动作样本,且同动作样本与不同动作样本数量相等。算法1 给出网络模型双输入的具体挑选策略。
图6 input2挑选方式Figure 6 Method for selecting input2
算法1:input1和input2的挑选策略
2.4 模型建立
近年来深度学习和神经网络已成为肌电模式识别领域的热门方法,其中CNN 网络由于可以提取sEMG 的空间高度相关性特征受到较大关注。然而CNN 在实际应用中存在网络结构复杂易过饱和,人工设置参数困难且分类精度低的问题。本文利用粒子群寻优算法调节网络的超参数,自动寻找最适合肌电模式识别的深度学习结构,同时加快训练速度提高分类精度,实现对双臂肌电动作的有效分类识别。
文献[25]所建立的PLCNN 主要由卷积模块和两个全连接层构成,卷积模块包含3个卷积层、2个池化层和1 个激活函数,主要参数如表1所示。网络通过卷积层获得信号在双臂上的空间特征,然后铺平展开所有肌电特征,得到全局信息,最后由softmax函数对特征进行分类。
表1 PLCNN的卷积模块参数Table 1 Convolution module parameters of PLCNN
PLCNN 可以有效地识别各种动作代表的sEMG,但是其在分类过程中只考虑了样本的特征,未考虑类内相似性和类间差异性。对于实际肌电模式识别,双臂不同动作之间的差别十分明显,即sEMG 表现出类内相似性和类间差异性较为突出。因此,本文在PLCNN 结构的基础上提出ND-CNN 网络模型。ND-CNN 贴合复杂的双臂肌电信号的同时可以学习相同动作之间的相似特征和不同动作之间的差别特征,并结合两种损失函数来共同优化网络。
2.4.1 网络结构如图7所示,本文所设计的NDCNN网络包含4个部分:双输入层、特征提取层、连接层以及输出层。
图7 ND-CNN网络结构Figure 7 ND-CNN structure
双输入层:处理后的sEMG通过输入策略分为多组包含input1 和input2 的正负样本对输入网络,便于后续提取特征。
特征提取层:利用卷积核对sEMG 进行卷积操作,提取信号在空间上的特征。由input1样本提取自身的肌电特征。由input2 提取相对于input1 的相似特征或不同特征。特别地,对于input1 与input2 的特征提取层结构一样,参数共享,均为由粒子群优化过的卷积层,ND-CNN 的特征提取层对应PLCNN 网络的卷积模块。
连接层:由Fc1 和Fc2 两个部分组成。一方面,Fc1是将从input1中提取到的特征feature1铺平展开,得到全局信息,丢弃部分无用特征后,将其映射到样本标记空间,为后续动作分类做准备。另一方面,Fc2 将从两个输入中获得特征融合,即对feature1 和feature2 进行欧氏距离的度量,将它们转换为如下所示的距离特征d,然后将距离特征d映射到新的特征空间做肌电识别。
其中,feature1 表示input1 经过卷积层提取到的特征,feature2表示input2经过卷积层提取到的特征。
输出层:首先,由softmax 函数对Fc1 部分处理后的特征进行识别,输出多分类结果。然后,采用sigmoid 函数对Fc2 中结合的双输入特征d进行二分类,输出分类结果。
本文所设计的ND-CNN 识别模型训练过程如算法2所示。
算法2:ND-CNN网络训练
输入:input1和input2
for Epoch = 1 to 300 do
特征提取:feature1 ←卷积层(input1)
feature2 ←卷积层(input2)
特征融合:d←欧氏距离(input1,input2)[见式(1)]
特征分类:y1 ←Fc1(feature1)
y2 ←Fc2(d)
损失函数:←Loss =L1+L[2见式(4)]
通过梯度更新变量:Adam优化器
end for Epoch
输出:y1
2.4.2 损失函数本文所设计的ND-CNN模型损失函数由Fc1 和Fc2 部分的损失函数共同决定,即网络可以通过同种动作各通道之间隐藏的联系以及不同动作之间存在的差别不断优化。Fc1 部分的损失函数为如下所示的多分类交叉熵损失函数:
其中,C表示分类的类别数量;yi表示变量0或1,若当前样本属于类别i时yi=1,否则yi=0;pi表示当前样本属于i类别的预测概率。
Fc2 部分的损失函数为如下所示的二分类交叉熵损失函数:
其中,y表示样本标签;表示当前样本预测为正例的概率。
ND-CNN 选取L1和L2两部分损失和构成整个网络总体的损失函数:
3 实验结果
3.1 双臂差异实验
为了进一步研究双臂任务中两个手臂sEMG 信号间的内在影响,针对同种动作的双臂sEMG,本文选取平均绝对值(Mean Absolute Value, MAV)、均方根值(Root Mean Square, RMS)两种典型肌电特征,将左臂和右臂的MAV 和RMS数据投射于二维空间,观察两臂sEMG 之间的关系。如图8所示,将肌电特征的二维投影点进行最小二乘拟合,蓝色的点和线为左臂数据及拟合结果,红色的点和线为右臂数据及拟合结果。由拟合的直线可以看出,在4种动作中左右手臂的肌电均存在差异。由数据点分布可以看出,在上杯和下杯两种双臂同步动作上,左臂与右臂的肌电数值差异较小,这是由于双手运动轨迹相似,仅各个手臂的发力情况不同。在捏上杯和横杯两种双臂协调配合动作上,左臂与右臂数据具有明显的差异,这是由双手运动轨迹和双手承重不同所引起的。
图8 双臂肌电特征的散点图Figure 8 Scatter plots of dual-arm sEMG characteristics
3.2 分类对比实验
本文采用交叉验证证明所提识别模型的实际应用有效性,随机选取70%的样本作为训练集,30%的样本作为测试集。采用ND-CNN、PLCNN、普通CNN、循环神经网络(Recurrent Neural Network,RNN)4 种算法对4 种双臂动作进行分类对比实验。对于3 种不同的数据构成,表2为ND-CNN、PLCNN、普通CNN 以及RNN 的6 次测试的平均精度,每次测试迭代300 次。由表2可知,在数据构成方面,将左右手肌电数据同时纳入考虑并进行组合的方法明显优于左右手单独为样本的方法。这也进一步印证了第3.1 小节中两个手臂数据之间存在差异的结论。因此,本文双臂关联的数据策略构成更能有效提升网络的识别能力。考虑双臂数据关联时,左右手数据在时域上并联组合的方式效果最为显著,每种网络的精度都是最高的,并且超出另外两种数据构成2%~12%的精度。在网络构成方面,ND-CNN 对肌电手势的预测更准确,整体高于其他3 种网络2%~20%的精度,其中ND-CNN 在左右手并联数据上表现最好,准确率为94.32%,相较于同种数据构成的PLCNN 提升2%,优于其他两种网络约4%~20%。因此,本文所提的ND-CNN 模型能够有效分类识别双臂的肌电动作,所提的双侧上肢数据之间的并联数据策略能够有效提升双臂协作任务中模型识别分类能力。
表2 不同模型的分类识别平均精度(%)Table 2 Average recognition accuracy of different models(%)
图9为ND-CNN、PLCNN 和CNN 3 种算法在S3数据集上分别进行6 次实验的精度箱型图,由图9可以看出,ND-CNN 的中间位置和四分位线均明显高于PLCNN 和CNN 两种算法。框的高度反映了数据的波动程度,由图9可以看出,ND-CNN 的精度波动程度明显低于PLCNN和CNN两种算法,进一步说明本文所提ND-CNN 识别模型具有良好的可靠性和适应性。
图9 3种算法的精度箱型图Figure 9 Box graph of precisions of 3 algorithms
为了进一步说明本文所提模型的鲁棒性与收敛性,将PLCNN 和本文所提ND-CNN 在测试过程中损失值与精度随迭代次数增加的变化趋势进行可视化,结果如图10 和图11 所示。图10 为在S3 数据集上两种网络前100 次迭代的精度变化。图11 为在S3数据集上两种网络前100次迭代的Loss变化。
图10 两种算法的精度迭代图Figure 10 Precision iterative graph of two algorithms
图11 两种算法的Loss迭代图Figure 11 Loss iterative graph of two algorithms
由图10 可知,两种网络模型的实验精度均随着迭代次数的增加而增高。ND-CNN 精度整体高于PLCNN,并且精度的趋势变化满足对应的Loss 变化分布情况。由图11 可知,两种网络模型的损失值均随着迭代次数的增加而减少,前100次迭代的平均损失值ND-CNN 为0.704 0,PLCNN 为0.630 6,ND-CNN的损失值在迭代过程中有时会略高于PLCNN,这是因为ND-CNN 的损失值是由两部分网络的损失值叠加而成,而PLCNN 的Loss 从始至终只由一个网络构成。结合图10 和图11 的结果,可以看出本文所提ND-CNN 模型精度能保持在较高的水平且损失值处于较低状态,说明本文所提ND-CNN 减少了局部最优的误差,网络有了一个约束性作用,对于双臂肌电数据实现了有效分类识别。
4 结论
本文提出的ND-CNN 模型和策略能够充分提取双臂sEMG 特征,并实现双臂协同动作的有效识别分类。在特征提取过程中,本文设计两种数据策略将肌电信号整理成多组正负样本对输入网络,利用两个相同的并行特征提取通道全方位挖掘双臂信号自身特点及信号之间的特点,加强网络识别双臂动作的能力。通过实验可以看出,本文所提模型降低了人工识别的不确定性,提高了双臂sEMG 的识别性能。在所提策略的数据集上,本文所提模型正确率可达94.32%,明显优于其他的网络模型。未来我们的工作将着重于研究双臂肌电任务的其他机器学习技术,进一步提升算法在复杂动作中的识别能力。