掌桥专利:专业的专利平台
掌桥专利
首页

一种基于CNN-KELM的下肢运动识别方法

文献发布时间:2024-04-18 19:53:33


一种基于CNN-KELM的下肢运动识别方法

技术领域

本发明属于运动模式分类技术领域,具体涉及一种基于CNN-KELM的下肢运动识别方法。

背景技术

随着人工智能算法的发展,将模式识别算法应用到运动模式分类中,已经成为一种趋势。比如支持向量机(Support Vector Machine,SVM),是一种在特征平面上的线性分类器,其将低维数据拉伸为高维数据进行分类的有监督学习方法,丁煜等人使用支持向量机对腕屈,腕伸,指伸,抓握四类动作进行分类,取得较好效果。但是支持向量机存在训练时间过长,容易陷入局部最优的缺点。反向传播神经网络(Back Propagation NeutralNetwork,BP-NN)通过对实验数据正向传播,利用误差进行反向传播(最常用的是利用梯度下降法进行误差反向传播)。但是在其进行运动模式分类时,其超参数的设置繁琐,进行误差反向传播时花费时间多的缺点。

卷积神经网络(Convolutional Neural Networks,CNN)是由具有可学习权重和偏差的神经元组成。每个神经元接收一些输入,执行点积,并选择性地以非线性跟随它。典型的卷积神经网络由输入层、卷积层、下采样层(池化层)、全连接层和输出层组成。Ronao等提出采用CNN对行走、上下楼梯等模式进行识别,效果优于SVM。但是CNN具有提取特征能力强,但是分类能力不佳的缺点。

极限学习机(Extreme Learning Machines,ELM),是一种单隐层前向神经网络(Single-hidden Layer Feedforward Neural Network,SLFN)的训练方法,由黄广斌提出。由于其直接利用穆尔-彭罗斯广义逆矩阵(Moore-Penrose generalized inverse matrix)方法去求解伪逆矩阵,可以直接求解出权值参数。相较于BP-NN训练速度快,但是权重参数的初值选择和隐含层神经元个数的设置会对分类结果产生较大影响。为解决在训练过程中,由于输入权值和神经元阈值的随机获取,造成部分隐层神经元的输出权值过小的问题。黄广斌又提出增量极限学习机(Incremental Extreme Learning Machine,I-ELM),该方法通过限制隐含层神经元个数和期望误差(余差平方均值的开方)作为判别条件来修改隐含层的神经元个数,但是没有解决因为随机初始化权重参数而造成分类结果不一的问题。核极限学习机(Kernel Based Extreme Learning Machine,KELM)将正则化系数和核函数引入ELM,该方法可以同时解决ELM随机选择权重参数和隐含层神经元个数所造成的分类结果稳定性差等问题。但是,核极限学习机网络参数众多,参数的选取影响着网络的学习速度、泛化能力、精度、召回率等,简易单一选取无法兼顾算法的拟合性能和泛化性能,容易导致生成的分类模型准确性较低,出现下肢运动识别结果不稳定的现象。

在运动分类过程中,一般采用时域、频域和非线性分析的方法提取sEMG信号的时域、频域、时频域和非线性特征。但这些方法特征提取能力较差,提取后的特征肌电信息包含不足,引起分类性能的下降。

发明内容

本发明的目的在于提供一种基于CNN-KELM的下肢运动识别方法,该方法有利于提高下肢运动的识别准确率。

为实现上述目的,本发明采用的技术方案是:一种基于CNN-KELM的下肢运动识别方法,包括以下步骤:

步骤S1、采集肌电信号;

步骤S2、对采集到的肌电信号进行预处理;

步骤S3、构建CNN-KELM识别分类模型,所述CNN-KELM识别分类模型包括输入层、基于CNN网络的特征提取层和基于KELM的分类输出层;将预处理后的肌电信号输入CNN-KELM识别分类模型,输入层将预处理后的肌电信号组成输入矩阵,并输入到特征提取层进行特征提取,然后将提取的特征信号输入分类输出层进行下肢运动的分类;

步骤S4、输出分类结果。

进一步地,步骤S1中,采集股直肌、股内侧肌、股外侧肌、半腱肌、股二头肌和腓肠肌的表面肌电信号;分别记录平地行走、坐着伸膝、站立屈膝、上楼梯和下楼梯五种运动方式下六块肌肉的sEMG信号,并记录对应标签。

进一步地,步骤S2中,采用归一化方法对采集到的肌电信号按列进行预处理;

第d列的归一化公式为:

式中,d表示第d列,q表示第n行,q=1,2,…n,n表示最大行数,y

进一步地,步骤S3中,所述CNN网络,即卷积神经网络包括交替设置的多个卷积层和池化层;所述卷积层是CNN网络的核心部分,利用卷积核的规则移动对sEMG信号矩阵进行特征提取;所述卷积层的计算公式为:

式中,M

连续的卷积层之间设置池化层,用于数据和参数的压缩,以降低数据维度;为减少过拟合的影响,所述池化层采用平均池化,以最大程度上维持矩阵数据信息有效,抑制主要边缘数据;

设第m层为池化层,则池化层的输出公式为:

式中,pool(·)为池化函数;ω

设第i层为全连接输出层,第j个sEMG信号特征矩阵为:

x

式中,v为m-1层的池化层输出的sEMG信号矩阵;β

所述CNN网络中,前向传播利用上述公式进行网络输出值的获取,反向传播采用Adam优化反向传播。

进一步地,所述CNN网络的特征提取方法为:

先将训练集输送到CNN网络中进行训练,而后保存训练好的CNN网络,然后将训练集和测试集输入到训练后的CNN网络中提取特征,形成训练集特征和测试集特征,用于分类输出层处理。

进一步地,当信号矩阵以6×600输入后,首先经过2×101的卷积层,步长设置为1×1,无填充,卷积层个数为12,输出层大小为5×500;然后经过1×20的平均池化层,无填充,步长设置为1×20,经过计算后输出层的大小为5×25;再经过5×6的卷积层,步长设置为1×1,无填充,卷积层个数为6,输出层大小为1×20;进一步平均池化处理,池化层大小为1×2,无填充,步长设置为1×2,计算后输出层的大小为1×10;最后将输出层转换为60×1的特征向量,输入到分类输出层进行识别;其中激活函数设置为Relu函数,采用Adam进行优化,同时加入超参数为0.5的Dropout,用来删除部分神经元,防止训练过程中出现过拟合,学习率设置为0.01,迭代次数设置为200。

进一步地,步骤S3中,所述KELM,即核极限学习机是在ELM的基础上引入核函数来解决ELM随机选择权重参数和隐含层神经元个数所造成的分类结果稳定性差问题;KELM初始模型的搭建方法为:

初始化输入层和隐含层间的连接权值和隐含层神经元的阈值,设置隐含层的神经元的个数,选择径向基RBF作为KELM的核函数,搭建KELM初始模型;

β=H

式中,H

所述KELM初始模型采用RBF径向基函数:

所以KELM初始模型的输出函数为:

式中:K(c,c

进一步地,所述KELM的惩罚参数设置为20,核参数设置为1。

与现有技术相比,本发明具有以下有益效果:本发明提供了一种基于CNN-KELM的下肢运动识别方法,该方法结合了CNN自主特征提取和KELM训练速度快、泛化性能好的优点,充分利用这两种网络的优势进行下肢分类。相较于传统的下肢分类学习算法,本发明能够提取更深层次特征,且大大提高了识别准确率,在肌电信号识别领域中有重要的应用意义。

附图说明

图1是本发明实施例的方法实现流程图。

图2是本发明实施例中CNN-KELM识别分类模型的架构图。

图3是本发明实施例中CNN-KELM识别分类模型的实例图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,本实施例提供了一种基于CNN-KELM的下肢运动识别方法,包括以下步骤:

步骤S1、采集肌电信号。

在本实施例中,采集股直肌、股内侧肌、股外侧肌、半腱肌、股二头肌和腓肠肌的表面肌电信号;分别记录平地行走、坐着伸膝、站立屈膝、上楼梯和下楼梯五种运动方式下六块肌肉的sEMG信号,并记录对应标签。

步骤S2、对采集到的肌电信号进行预处理。

在本实施例中,采用归一化方法对采集到的肌电信号按列进行预处理;

第d列的归一化公式为:

式中,d表示第d列,q表示第n行,q=1,2,…n,n表示最大行数,y

步骤S3、构建如图2所示的CNN-KELM识别分类模型,所述CNN-KELM识别分类模型包括输入层、基于CNN网络的特征提取层和基于KELM的分类输出层;将预处理后的肌电信号输入CNN-KELM识别分类模型,输入层将预处理后的肌电信号组成输入矩阵,并输入到特征提取层进行特征提取,然后将提取的特征信号输入分类输出层进行下肢运动的分类。

在本实施例中,输入层将预处理后的肌电信号组成6×600的输入矩阵,输入到基于CNN网络的特征提取层进行特征提取。

卷积神经网络是一种可以很好地处理高维数据的人工神经网络,是一种很好的特征提取器,却不是最佳的分类器。它通常应用在图像识别、视频识别和文本分类中。

如图2所示,所述CNN网络(即卷积神经网络)以sEMG信号矩阵作为输入,以进一步提取肌电信号的更深层次特征。所述CNN网络包括交替设置的多个卷积层和池化层。所述卷积层是CNN网络的核心部分,利用卷积核的规则移动对sEMG信号矩阵进行特征提取。

所述卷积层的计算公式为:

式中,M

连续的卷积层之间设置池化层,用于数据和参数的压缩,以降低数据维度;为减少过拟合的影响,所述池化层采用平均池化(计算图像区域的平均值作为该区域池化后的值),以最大程度上维持矩阵数据信息有效,抑制主要边缘数据。

设第m层为池化层(子采样层),则池化层的输出公式为:

式中,pool(·)为池化函数(本发明采用平均池化);ω

设第i层为全连接输出层,第j个sEMG信号特征矩阵为:

x

式中,v为m-1层的池化层输出的sEMG信号矩阵;β

所述CNN网络中存在前向传播和反向传播,前向传播利用上述公式进行网络输出值的获取,反向传播采用Adam优化反向传播,设置Dropout为0.5。

图3示出了本实施例中CNN-KELM识别分类模型的一实例。如图3所示,当信号矩阵以6×600输入后,首先经过2×101的卷积层,步长设置为1×1,无填充,卷积层个数为12,输出层大小为5×500;然后经过1×20的平均池化层,无填充,步长设置为1×20,经过计算后输出层的大小为5×25;再经过5×6的卷积层,步长设置为1×1,无填充,卷积层个数为6,输出层大小为1×20;进一步平均池化处理,池化层大小为1×2,无填充,步长设置为1×2,计算后输出层的大小为1×10;最后将输出层转换为60×1的特征向量,输入到分类输出层进行识别;其中激活函数设置为Relu函数,采用Adam进行优化,同时加入超参数为0.5的Dropout,用来删除部分神经元,防止训练过程中出现过拟合,学习率设置为0.01,迭代次数设置为200。

所述KELM(即核极限学习机)是在ELM的基础上引入核函数来解决ELM随机选择权重参数和隐含层神经元个数所造成的分类结果稳定性差问题,具有良好的泛化能力和很快的训练速度。KELM初始模型的搭建方法为:

初始化输入层和隐含层间的连接权值和隐含层神经元的阈值,设置隐含层的神经元的个数,选择径向基RBF作为KELM的核函数,搭建KELM初始模型;

β=H

式中,H

所述KELM初始模型采用RBF径向基函数:

所以KELM初始模型的输出函数为:

式中:K(c,c

在本实施例中,所述KELM的惩罚参数设置为20,核参数设置为1。

KLEM模型对输入特征的要求非常高,是一个很好的分类器,恰好CNN卷积计算可以提升sEMG信号特征的深度,使得KLEM可以更快的完成任务,并且识别准确率也更高。

步骤S4、输出分类结果。

经验证基于传统特征的KELM网络、CNN网络和本发明方法的分类准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1-score。

本发明方法的精确率、召回率、F1-score和准确率最高。本发明方法精确率、召回率、F1-score的平均值比KELM网络分别高16.44%、18.88%、17.34%,比CNN网络分别高9.98%、9.95%、10.03%。本发明方法准确率比基于传统特征的KELM网络高18.29%,比CNN网络高11.86%。这表明本发明方法可以充分利用CNN网络的特征提取能力,提取出的特征比传统特征更加能够揭示sEMG信号的信息,且能够结合KELM分类器的泛化性能和分类准确率。

基于传统特征的KELM网络测试及分类的评价标准

CNN网络测试及分类的评价标准

本发明方法网络测试及分类的评价标准

综上所述,本发明通过非侵入式的方法采集肌肉电信号,结合CNN网络自适应特征提取能力和KELM网络泛化性能好的优点,在CNN中进行提取深层特征,将其深层特征带入到KELM中进行求解,可以避免手动提取特征导致时间长、无法全面揭示sEMG信号内在属性的问题。本发明使用CNN-KELM模型在基于sEMG信号下肢分类过程中具有精度高、稳定性强等特点,可以广泛应用于医疗器械、医疗康复等领域。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

技术分类

06120116338154