基于MPSO-BP神经网络方法的人体步态识别孙楠;骆敏舟;王玉成;赵汉宾【摘要】为提高人体下肢步态相位识别准确率以实现外骨骼机器人控制,采用一种改进的粒子群优化MPSO-BP神经网络方法识别不同运动模式下的人体步态相位.通过自适应调整学习因子构造MPSO-BP神经网络分类器,以多种传感信息组成的特征向量样本集训练神经网络分类器,用于识别人体下肢在平地行走、上楼梯和起坐三种典型运动模式下的步态相位.实验结果表明,MPSO-BP神经网络分类器能有效识别三种不同运动模式的步态相位,识别准确率均达到96%以上,识别性能优于传统的BP神经网络模型和粒子群优化神经网络模型.%To improve the accuracy rate of human gait phase recognition for controlling the exoskeleton robot, an approach based on Modified Particle Swarm Optimization algorithm-Back Propagation(MPSO-BP)neural network is utilized to divide three types of gait into different phases. Firstly, the MPSO-BP neural network classifier is constructed through regulating the learning factor adaptively, and then the classifier is trained using sample set containing multi-sensor information. Secondly, test the classifier on gait phase recognition in three types of human gait including walk, upstairs and sit-down. The experimental results show that the MPSO-BP neural network classifier can successfully increase the accuracy rate up to averaged 96%above, which is superior to the BP neural network and the particle swarm optimization BP neural network methods.【期刊名称】《计算机工程与应用》【年(卷),期】2017(053)021【总页数】5页(P121-125)【关键词】步态识别;步态相位;神经网络;粒子群算法【作者】孙楠;骆敏舟;王玉成;赵汉宾【作者单位】常州大学机械工程学院,江苏常州 213164;中国科学院合肥物质科学研究院先进制造技术研究所,江苏常州 213164;中国科学院合肥物质科学研究院先进制造技术研究所,江苏常州 213164;中国科学院合肥物质科学研究院先进制造技术研究所,江苏常州 213164;中国科学院合肥物质科学研究院先进制造技术研究所,江苏常州 213164【正文语种】中文【中图分类】TP242.步态相位识别是实现人体运动意图识别进而实现外骨骼机器人控制的关键技术之一[1]。
目前国内外运动意图识别方法主要是基于视频图像分析或多传感器信息融合分析,多采用隐马尔科夫、神经网络等模式识别方法识别步态相位。
基于视频图像的步态识别方法主要是通过拍摄受试者行走图像,抽取图像中人体运动特征信息,进而识别步态类型[2]。
基于多传感器信息融合的方法是通过直接测量受试者肢体特定部位的运动数据,如足底压力信号、关节角度信号等[3],利用模式识别技术划分步态相位。
2005年,Kawamoto[4]研究小组通过安装在足底的空气压力开关、大腿前侧的肌电传感器和膝关节、髋关节的角度传感器采集信号,利用阈值法判断各步态相位,取得较好效果。
但是所采用的肌电传感器由于直接粘贴在皮肤上,存在固定、穿戴不易和易受人体出汗影响等问题。
2009年,Bae[5]等人通过在鞋底安装四个力传感器来检测受试者行走时的脚底压力数据,采用模糊逻辑方法判断各步态相位区间,但识别精度不高。
2012年,Rossi[6]等人采用隐马尔科夫(HMM)模型根据足底压力信号识别人体行走步态相位。
该方法基于经典统计学,当训练样本数目越大时其识别准确率越高,然而在实际应用中,训练样本的数量往往是有限的,从而限制了HMM方法识别准确率的提高空间。
BP(Back Propagation)神经网络模型在步态相位识别领域也获得较多应用[1,7-8],但是BP算法存在收敛速度慢、容易陷入局部极小和泛化能力差的缺点[7-8]。
为提高BP算法的收敛速度并解决局部极小问题,马玉良[7]等采用遗传算法优化BP神经网络用于识别下肢5个步态,有效提高了识别精度。
刘磊[8]等提出一种基于多源信息和粒子群优化-误差反向传播(PSO-BP)算法用于改善神经网络训练的收敛速度问题,该方法对下肢不同步态的识别率为95.75%,识别准确率仍有提高的空间。
针对目前有限样本空间中步态相位识别率依然不足的问题,本文采用改进的粒子群算法(Modified Particle Swarm Optimization,MPSO)优化后的人工神经网络模型识别三类常见运动模式的步态相位。
MPSO算法是一种有效的全局寻优算法,能够克服BP神经网络的缺点,与传统的进化算法相比操作简单,避免了复杂的遗传操作[9-13]。
实验中通过设计三层BP神经网络模型,以MPSO算法在多源传感数据样本集上确定模型连接权值和阈值,之后将训练好的MPSO-BP神经网络用于正常行走、上楼梯和起坐三类运动模式的步态相位识别,最后在测试集上对MPSO算法的收敛速度和识别准确率进行了分析,并同现有方法做了比较。
粒子群(PSO)是一种有效的全局寻优算法,与传统的进化算法相比,PSO采用速度-位移模型,结构简单,避免了复杂的遗传操作[11]。
该算法通过个体间的协作与竞争,实现复杂空间的最优解搜索。
假设在D维空间,有m个粒子组成一个群落,每个粒子所处的位置为xi=(xi1,xi2,…,xiD),速度为νi=(νi1,νi2,…,νiD)。
粒子通过不断调整自己的位置来搜索新解,每个粒子都能记住自己搜索到的最优解pbest和整个粒子群到目前为止经历过的最优解gbest,然后按公式(1)和公式(2)来更新:式中,i=1,2,…,m,d=1,2,…,D,ω为惯性因子,体现的是粒子当前速度多大程度上继承先前的速度。
c1和c2为学习因子,ε表示[0,1]之间的随机数。
由于PSO 中粒子都向最佳位置聚集,会形成粒子种群的快速趋同效应,容易陷入局部最优和过早收敛现象[11-12]。
式中,ωmax和ωmin分别表示初始和最终惯性权重,iter和itermax表示当前迭代次数和最大迭代次数。
学习因子的大小决定了粒子自我认知和社会认知对粒子的影响,为了防止陷入局部最优,可以通过动态地改变c1和c2来保持粒子始终具有多样性。
优化后的算法在初期使粒子具有大的自我认识(大的c1)和小的社会认知(小的c2),便于快速搜索;在算法后期,应有小的自我认知(小的c1)和大的社会认知(大的c2),加快算法收敛和在全局范围内寻找最优解。
对此有如下改进:为了克服上述不足,通过分析惯性权重和学习因子对粒子群算法性能的影响,分别对二者做出改进。
研究发现ω较大时利于全局搜索,ω较小时利于局部搜索,故采取线性递减惯性权重:其中,cst和cend分别为c1的初始值和最终值。
MPSO算法根据神经网络的拓扑结构确定粒子维数,粒子群中每个粒子的维度分量都对应神经网络中的连接权值或阈值。
以输出误差作为神经网络训练的适应度函数,误差越小表示粒子在搜索中具有更好的性能。
最终算法停止时,适应度最高的粒子成为问题的最优解。
具体实现流程如图1所示。
式中,m,n,l分别为隐含层、输入层、输出层神经元数目,常数α取值范围为1~10。
设置神经网络训练最大迭代次数为1 000,误差目标为10-5。
粒子群维数即BP神经网络初始权值与阈值之和为50;设置粒子种群数目为40;粒子群迭代次数为 200;ωmax=0.95,ωmin=0.25 ;c1=3,c2=1。
本文设计三层神经网络,输入端神经元为8个,输出端为1个,隐含层神经元个数根据经验公式(6)以及实际测试结果确定神经元个数为5。
足底与地面的接触力变化是描述和识别下肢运动状态的重要信息[14],实验中选用Flexiforce系列A401薄膜压阻型传感器,能承受的最大峰值压力范围为15.5kg/cm2,厚度仅为0.208 mm,可以反复弯曲,线性误差小于±3%。
压力传感器在足底的安装位置如图2所示。
髋关节和膝关节处安装了磁旋转编码器(AS5045)来进行关节角度测量,如图3所示。
受试者穿上该信号采集系统适应一段时间后,分别在不同运动模式下重复采集数据。
在平地行走实验中,为了保证每组实验都以相同速度进行,受试者在跑步机上按设定速度值3 km/h行走。
上楼和起坐实验中受试者尽量保持每次都以正常速度完成实验。
本实验主要研究正常平地行走、上楼梯和起坐动作的步态相位识别。
对MPSO-BP 神经网络进行训练,以平地行走为例,从10名实验对象(6名男生,4名女生)采集的100组有效实验数据中随机取40组作为训练样本,60组为测试样本。
相对于人体的上肢运动,下肢运动更具有重复性和规律性。
从两个腿的运动分析来看,自然行走时一个完整的步态周期可以划分为两个阶段:单足支撑相和双足支撑相。
行走是一个左右交替的过程,遂将行走划分为四个相位Phase1~4,分别为:右单腿支撑、左双腿支撑、左单腿支撑和右双腿支撑。
根据以上相位划分标准,以足底前三个传感器测量值之和表示足底前部在行走过程中的压力变化,以足跟压力传感器测量值表示足跟在行走过程中的压力变化,与髋关节和膝关节角度值共同组成8维特征向量,应用MPSO-BP神经网络模型识别步态相位,识别结果的一组实例如图4所示。
将上楼梯分为4个不同的状态分别为:Phase1,抬左脚向上跨步;Phase2,双脚支撑且重心转到左脚;Phase3,抬右脚向上跨步;Phase4,双脚支撑,重心移到右脚。
应用MPSO-BP神经网络模型以髋、膝关节和足底地面接触力变化曲线为特征向量实现对上楼梯步态的相位划分,如图5所示。
因为在上楼梯过程中习惯于足底整体落地,所以放置于足底的压力传感器变化曲线先后顺序不明显,故将单足脚底四个传感器压力之和作为足底压力在上楼梯过程中变化规律的测量值。