1 引言
表面肌电信号(sEMG)是一种复杂的表皮下肌肉电活动,是在皮肤表面处的时间和空间上的综合结果,它反映了神经、肌肉的功能状态,已被广泛地应用于肌肉运动、肌肉损伤诊断、康复医学及体育运动等方面的研究[1]。
表面肌电信号极其的微弱,并且很容易受到干扰,提取到的肌电信号也常常含有大量的噪声。在本文里,为了尽可能使得特征值能较好地表征表面肌电信号,选取小波变换的时域特征值。在识别表面肌电信号时,选择小波神经网络,将各动作的表面肌电信号的特征值与网络输出结果线性表示,方便对动作进行分类识别, 肌电信号的研究在某些方面对于人类来说可谓是给予我们了一把打开人类机体之密的一把钥匙,有了这把钥匙我们对人体的机能以及人体各种器官功能将会有更深一步的了解。
2 表面肌电信号的采集
通过查阅相关通过查阅医学方面的书籍[1][2]发现,人体上臂的桡侧腕屈肌和指深屈肌对人体手部动作起到非常重要的作用。因此,如果要对手部动作进行识别,对这两块肌肉进行测量,将会得到较好的效果,具体位置如下图1所示。在这里仅采集握拳和展拳这两个动作对应肌肉的表面肌电信号,以供后续的实验研究。表面肌电信号的采集过程如下所述,
a) 选择健康的、年龄在20-30岁之间的受测试者2人。
b) 对他们的右上臂进行消毒处理,用75%的酒精反复擦拭人体上臂,以去除人体肌肉表面油污、坏死的角质层等。
c) 将电极贴在桡侧腕屈肌和指深屈肌的表皮上,用专用腕套将电极固定。
d) 每个人在接受测试时,都要求做在椅子上,将前臂自然放在桌子上,整个身体成放松态。
e) 在采集过程中,受测试者需要完成两个实验。实验一的内容是先放松30s,然后握拳30s。实验二的内容是先放松30s,然后展拳30s。并存储采集到的表面肌电信号。
完成上述实验之后,先将以,pci格式存储的肌电信号的文件转化为.txt文件,然后将采集到的每个动作的表面肌电信号的数据单独存储到一个文件中,两路通道的数据再分别存到两个子文件中,例如数据文件名y1wq1.txt代表的是一通道的握拳信号,y2wq2.txt代表的是二通道的握拳信号。其他动作依次类推。之后把每类动作的信号按3:1的比例分为测试数据和验证数据,训练数据用来训练网络,验证数据用来检验网络。
3 表面肌电信号的特征提取
由肌电信号的产生机理,我们可得知其具有非平稳时变特性。完全基于时域或者频域的特征参数无法较为全面地刻画肌电信号的内在特征[3]。本文里,基于小波变换,提取表面肌电信号的时频域特征值。
小波变换[4]是一种窗口大小(即窗口面积)固定,但是其形状可以改变,及时间窗和频率窗都可改变的时频局部化分析方法,选择不同的平移参数a和缩放参数b,会得到不同的小波系数。小波变换的定义如下所示:
采集到的表面肌电信号,由两部分组成,一部分为有效的信号及肌电信号,另一部分为噪声,一般为高频噪声。基于小波变换对肌电信号进行分解的框图如图2所示。A代表低频信号,D代表高频噪声。图中对肌电信号进行3层小波分解,可以去除信号中含有的大部分噪声,得到更良好的表面肌电信号。
对分解后的表面肌电信号,通过Matlab小波工具箱提取其小波系数。之后根据公式和,计算小波系数矩阵的平均值av及标准差std,并将计算结果作为表面肌电信号的特征值。
3 基于小波神经网络(WNN)的辨识
信号识别[5]的目标是确定给定信号的所属对象类型。本文主要研究了基于小波神经网络对握拳和展拳两种动作的识别。构建好网络之后,通过学习的方式使得网络模型逐渐得到达到目的需求,通过网络结构和权系数来描述已知的映射。小波神经网络的学习过程可以简化为:选择合适的基小波激励函数,然后通过不断地学习找到满足要求的权系数,使网络的实际输出与期望输出趋于一致,即给定的误差函数最小[6]。其网络模型如图3所示。
在该模型中为网络的输出,为神经元与输出之间的权值,为输入与输出之间的权值。为阈值,调整网络的输出与期望输出的误差趋于零。为网络的输入,及之前提取到的肌电信号的小波系数特征值。
小波神经网络模型的建立,可按如下步骤确定其各参数。首先是输出的确认,如下等式所示:
在上式中,i和j分别代表隐层的第i个神经元和输出的第j个数值,k是隐层神经元的个数,p为输入向量的长度。通过该小波神经网络,可以实现p维向量到一维向量的映射,及输入第n个特征值的时候,通过网络可以得到一个输出
隐层神经元的激励函数为小波函数,其形式如下所示:
在这里,sij和bij分别为第i个小波神经元的可调参数。选择小波基函数为隐层神经元的激励函数,该函数曾被证明作为神经网络的激励函数,可以有效地识别特征值[6]。由上述关系建立小波神经网络的数学模型,可知其输出为线性组合。
一个完整的神经网络的还包括训练过程,之外为了能够实现自学习,选择误差反向传播。每训练一次,及每输入一次信号的特征值,对应的网络中的权值和阈值将改变。可由均方误差定义每次的差值,其关系如下:
其中分别是当网络的输入为的时候网络的实际输出和期望输出。
由上述可知,在训练过程中该模型需要调整的参数有多个,定义。通过输出误差函数来调整中的各项参数。输出误差函数的形式如下所示:
然后利用公式计算网络的参数,为网络的学习速率。最后再由为现在的网络参数,为参数的改变量。通过不断地输入肌电信号的特征向量,优化小波神经网络的结构模型,当各变量能够满足期望结果,则训练结束。
5 实验结果与分析
在特征提取过程中,利用Matlab求取信号数据的小波系数,选择db5小波为基函数[7],分别提取level为1、2、3时的表面肌电信号的小波系数,如图4和图5所示,得到小波系数矩阵,之后求矩阵的均值和标准差,结果如表1和表2所示。将得到的均值和标准差作为表面肌电信号的特征值。并将其输入之前搭建好的小波神经网络。设定网络的输出为[0,2],若输出小于1,则为展拳,大于1,则为握拳。
对比表1和表2的结果,可以看出训练数据的小波系数特征值的差异很大,说明其类间距离很大,聚类性比较好。而相应的验证数据的情况与训练数据有较好的相似性,说明所测数据的小波系数特征值的一致性较好,适宜作为表面肌电信号的特征参数。
在用小波神经网络对特征值识别之前,需要先对设置好的网络进行训练,即利用训练数据的特征向量来训练小波神经网络,不断地调整网络参数,使得神经网络的输出尽可能地达到最优解。实验结果显示,特征值在训练集和验证集的分类识别率相差不大,而且识别率都能达到90%以上,因此可以选择时域特征值作为表面肌电信号的特征值。
6 结束语
首先介绍了表面肌电信号的特性,然后在此基础上在基于小波变换,提取表面肌电信号的小波系数,将小波系数矩阵的均值和标准差用做肌电信号的特征值,过程中所需要的数据量较少,运算简单,提取的特征值的鲁棒性易于识别。之后,将该特征参数作为小波神经网络的输入,既能有效地缩短网络的规模,又提高网络的运行速度。该处理方法在肌电假手等领域具有很大的应用潜力。
参考文献:
[1] 张华斌等.肌肉骨骼系统超声解剖图谱[M].科学技术文献出版社,2007:46-50.
[2] J.RAAFIEE etc.Feature extraction of forearm signals for prosthetics[J].Expert.Syst.App.2011,(38):4058-4067.
[3] K.MAHAPHONCHAIKUL etc.EMG Signal Feature Extraction Based on Wavelet Transform[C].Proceedings of IEEE.2010:327-331.
[4] 吴正国等.现代信号处理技术[M].武汉:武汉大学出版社,2003:134-201.
[5] 边肇祺等.模式识别[M].北京:清华大学出版,2000,(1):250-271.
[6] Q.ZHANG etc,"Wavelet Networks"[J].IEEE Trans. Neural Netw,3(6):889-898,1992.
[7] 郭晶,孙伟娟等.小波分析理论与MATLAB7实现[M].北京:电子工业出版社,2005:123-264.
作者简介:尤波(1962-),男,教授,博士研究生导师,主要从事智能机器人及机电一体化等方向的研究。