BP神经网络手势动作识别在脑卒中患者手臂训练中的应用

2015-11-24 12:03朱彦平陈善超严良文
机械制造 2015年10期
关键词:电信号神经元神经网络

□ 朱彦平 □ 陈善超 □ 严良文 □ 叶 帅 □ 余 雪

上海大学 机电工程与自动化学院 上海 200072

BP神经网络手势动作识别在脑卒中患者手臂训练中的应用

□ 朱彦平 □ 陈善超 □ 严良文 □ 叶 帅 □ 余 雪

上海大学 机电工程与自动化学院 上海 200072

为了更好地配合脑卒中患者手臂康复训练,利用手势动作时从手臂肌肉上获取表面肌电信号,经特征提取,采用BP神经网络的方法建立智能识别模型,对8种手势动作模式进行了识别。鉴于BP神经网络具有较强的模式分类能力,而特征提取又利用了多路肌电信号的信息,实验结果取得了较高的识别正确率。经实验测试可知,建立的BP模型方法客观、合理,识别精度高,实用性强,具有良好的理论与实际应用价值。

表面肌电信号 BP神经网络 手势识别

传统的治疗方法无法让脑卒中患者直观看到训练效果,以及提高训练的信心和参与性,如果能将其运动意图识别,并用反馈予以矫正就能实现这样的效果。对于那些肌肉能轻微收缩,但运动变化不明显的患者来说,如果能通过肌电信号识别其运动意图和趋势,可以将这种良好的效果反馈给患者,以便辅助康复训练。BP算法结构简单,可操作性强,能模拟任意的非线性输入输出关系,常常被用于表面肌电信号的识别。在神经网络的实际应用中,绝大部分的神经网络模型采用BP网络或其变化形式,它也是前馈神经网络的核心部分,体现了人工神经网络中的精华部分[1]。

1 模式识别的方法

手势动作肌电信号采集模式识别流程如图1所示。

▲图1 模式识别的流程

1.1 手势动作

选取常用的8个手部动作为训练目标,如图2所示,分别为掌面向上、掌面向下、握拳、展拳、上切、下切、内翻、外翻。这8个动作为日常生活中较为常用的动作,例如:手腕的旋转作用于调整手部的姿势;握拳和展拳实际上是抓取物品所必须使用的。

1.2 肌电信号的采集

肌电信号采集结构如图3所示,主要由采集电极、前置放大器、调理电路、加速度传感器、A/D转换模块、DSP以及PC部分构成。采集电极将皮肤表面的肌电信号通过电缆传导至放大器输入部分,放大后的信号经过调理电路的升压以适于DSP的AD模块信号接收范围,DSP经过运算后将需要的结果传输至PC[2]。

▲图2 8种常用手部动作

▲图3 肌电信号采集流程

1.3 特征值的提取

提取肌电信号的模型参数,AR模型和ARMA模型是最常用的拟合肌电信号的两种参数模型,两种模型都各有优缺点,AR模型在计算便利上占优势,而ARMA模型所需要的参数较少。但是ARMA模型的计算耗时较长,影响其实时操作性,笔者采用AR模型。

AR模型描述如下:

式中:ai为自相关系数;xk为AR系数;p为模型阶数;ek为残差白噪声。

在AR模型系统的传递函数中,只有极点,没有零点,所以又叫全极点模型。

2 BP神经网络设计

使用模式识别的方法即通过肌电信号判断患者的运动趋势和意图,是一种良好的反馈方式,模式识别是指对事物或现象以各种表现形式的(数值、文字或逻辑关系)信息进行处理和分析,对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分,是人类的基本智能。

2.1 BP神经网络模型

BP网络的结构如图4所示,BP网络是一种有三层或三层以上神经元的神经网络,包括输入层、中间层(隐含层)和输出层。这个网络的前一层和后一层之间所有的神经元是相互连接的,但是每层内部的神经元之间无任何连接。输入层各神经元作为系统的输入接口,用来接收输入信息,输入层接收到信息后,传递给中间层的神经元,中间层的神经元对收到的信息进行处理和变化,变换的次数取决于中间层的层数,最后的结果由输出层输出,即可得到所需的结果。

▲图4 神经网络模型

2.2 BP神经网络的学习算法

BP网络在进行正确推理之前必须先进行学习,这里的学习也叫作训练,也就是不断训练网络以便能够获得期望的输出。训练的具体算法过程为:首先将已知输出的学习样本输入给网络,神经元的激活值按照网络结果历经各神经元逐层传递,该样本输入对应的输出也赋给相应的输出层中的神经元,按照减少目标输出与实际输出之间误差的方向,从输出层反向经过各中间层回到输入层,逐层修正各连接权值。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差达到设定的目标值,或者预先设定的学习次数为止[3]。经过这样的循环,各连接权值逐步得到修正,网络正确率也就不断上升。BP算法中常见的传递函数有正切函数、Sigmoid型对数、线性函数等,这些函数都是可微的,因为在误差反向传播中会被求导。

2.3 BP神经网络的设计

BP网络的设计主要是设置网络的参数,也就是找到最适合于该应用的网络参数,主要是网络的层数、隐含层神经元的个数、训练函数等参数。

2.3.1 输入输出层的设计

输入的神经元要根据问题的实际情况与输入变量的类型来确定。常见的输入有一维数组、模拟信号、二维图像等。笔者确定使用AR模型系数作为网络的输入,每一通道有3个AR系数和1个残差,一共是4通道,则输入层的维数为n=16。输出层的维数根据网络的要求确定,一般将BP网络用作分类器,类别模式一共有m个,则输出神经元的个数为m或log2m,这里一共设计了8个训练动作,即输出层的维数为q=8。

2.3.2 隐层的设计

对于BP网络,存在一个非常重要的定理,即对任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,也就是说大部分问题下,三层BP网络就能实现所有的应用。隐层的神经元数目确定比较困难,隐含神经元的个数会对网络性能产生重要影响,如果数目过多,则学习时间长、网络构成复杂、难以收敛,最后的正确率也不一定高,反之,如果单元数目过少,网络性能可能变糟,导致容错性差、泛化能力弱的问题,因此需要寻找一个最佳的隐单元数。有以下3个经验算式可以用于选择隐单元最佳个数的参考。

(3)ni=log2n,其中,n为输入单元数。

综合上述3个算式,3<ni<15。将ni的值逐个代入网络中进行训练得到结果,见表1。

表1 不同节点数的训练效果对比图

根据表1的结果可以看到,当神经元的个数ni=8时,网络通过一个较少的运算次数即获得了一个误差较小的网络。由于采用不同的训练函数对网络的性能会有影响,如收敛速度、网络推广能力等,为了选取合理的训练函数,采用以下3种训练函数对网络进行训练。

Traingdx是动量及自适应lrBP的梯度递减训练函

数,该函数可以使网络的学习速度提高很多倍,并且能跳过一些凸性较小的区域。使用它对隐含层神经元数目为8的网络进行训练的结果如图5所示。从图中可看出,使用该算法达到网络逼近误差0.000 1的训练目标,要经过531次的运算。

改用Traingd梯度下降BP算法重新进行计算,它是最基本的BP算法。反向传播采用的是梯度下降法,按照梯度下降的方向修正各连接权的权值,默认是平均方误差。Traingd的收敛速度很慢,学习步长的选择很重要,过大会导致振荡严重,无法收敛到深窄的极小点,过小则速度慢,或者陷于局部极小[4]。Traingd算法的结果如图6所示,经过了1 000次训练,仍然不能达到预定的误差目标,而且网络训练过程收敛得非常缓慢,训练完毕后,全局误差res=0.124 435。

接下来采用Trainlm函数对网络进行训练,该函数的学习算法为Levenberg-Marquardt反传算法,由于梯度下降法在最初几步下降较快,而在接近最优值的阶段,因为梯度趋于零,目标函数下降变得很缓慢;而牛顿法则可在靠近最优值的地方产生理想的搜索方向。 Levenberg-Marquardt法结合了梯度下降法和牛顿法各自的优点,使得当网络权值数目较少时收敛非常迅速[5]。

从图7可见,经10次训练,网络的目标误差就达到了要求,该训练函数收敛速度较快,网络误差较小。

经过上面的分析与试验,最终确定了本例的BP网络结构,见表2。

▲图5 Traingdx函数训练收敛图

▲图6 Traingd函数训练收敛图

▲图7 Levenberg-Marquardt反传算法训练收敛图

表2 BP网络结构参数表

表3 训练集来自同一个体的识别率/%

表4 训练集来自同六位个体的识别率/%

3 结果分析

首先,笔者将从同一个人采集到的8个动作,每个动作100组数据,抽取10组作为训练样本,剩余90组的数据作为分类的测试数据,得到表3,结果表明BP网络对来自于同一个体的数据有着良好的识别率。

最后,对6位个体,每个动作100组数据,抽取10组作为训练样本,剩余每个动作90组的数据作为分类的测试数据,得到如表4的结果,由此可见,BP网络对个体识别效果非常好。

4 结论

本研究利用DSP采集脑卒中患者的肌电信号,对其常见的8种手势动作模式进行了识别。根据提取的特征值,设计BP神经网络,并且对不同人的多组肌电信号实验数据进行了处理,均获得了较高的手势动作分类正确率,实验表明所采用的方法是有效的。

[1]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005.

[2]李文,赵丽娜,李腾飞,等.表面肌电信号在脑卒中患者上肢运动功能康复中的应用 [J].中国康复医学杂志,2013(2):163-165.

[3]杨行峻,郑君里.人工神经网络[M].北京:高等教育出版社,1992.

[4]蒲春,孙政顺,赵世敏.Matlab神经网络工具箱BP算法比较[J].计算机仿真,2006(5):142-144.

[5]高雪鹏,丛爽.BP网络改进算法的性能对比研究[J].控制与决策,2001,16(2):167-171.

(编辑 丁 罡)

TH122;TP391.9

A

1000-4998(2015)10-0018-03

2015年4月

猜你喜欢
电信号神经元神经网络
《从光子到神经元》书评
基于联合聚类分析的单通道腹部心电信号的胎心率提取
神经网络抑制无线通信干扰探究
基于Code Composer Studio3.3完成对心电信号的去噪
跃动的神经元——波兰Brain Embassy联合办公
基于随机森林的航天器电信号多分类识别方法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于二次型单神经元PID的MPPT控制
毫米波导引头预定回路改进单神经元控制