基于表面肌电图像的灵巧假手控制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于表面肌电图像的灵巧假手控制系统
胡旭晖;宋爱国;李会军
【摘要】设计了一种通过佩戴阵列型表面肌电传感器,实时识别受试者的8种手势,并控制一个自主研发的六自由度灵巧操作假手进行同步动作的人–机协同控制系统.控制假手的手势识别策略基于神经网络算法,受试者仅需在首次训练阶段重复完成预先设定的8种手势动作(分别为放松、手腕外翻、手腕内翻、握拳、伸掌、手势2、手势3和竖大拇指),之后该系统即能够实时识别受试者随机完成8种手势中的任意一种手势.本文提出的网络参数随机搜索算法和梯度下降算法,与目前同规模的神经网络相比提高了网络的训练速度和手势预测精度;该手势识别算法使用Tensorflow机器学习框架学习权值并进行了可视化分析;采用经过优化的手势训练方式既缩短了受试者的手势训练时间,同时提高了手势训练的熟练度.本文对一名肌肉无损伤的受试者进行表面肌电信号采集、训练和预测,对8种手势的综合预测精度达到97%,且再次佩戴时不再需要进行训练.受试者实际控制假手时,使用投票算法对实时手势预测结果进行深度优化,最终假手的动作同步率到达99%.
【期刊名称】《控制理论与应用》
【年(卷),期】2018(035)012
【总页数】8页(P1707-1714)
【关键词】手势识别;表面肌电图像;灵巧假手
【作者】胡旭晖;宋爱国;李会军
【作者单位】东南大学仪器科学与工程学院生物电子学国家重点实验室,江苏南京210096;东南大学仪器科学与工程学院生物电子学国家重点实验室,江苏南京
210096;东南大学仪器科学与工程学院生物电子学国家重点实验室,江苏南京210096
【正文语种】中文
【中图分类】TP911.7;TP241
1 引言(Introduction)
生机电一体化灵巧操作假肢是一种典型的共融机器人,通过采集人体的生物电信号来辨识操作者的动作意图,最终将动作意图输入到假肢控制器.人工假肢的研究可以带动残疾人功能重建康复工程领域的技术创新,延伸和发展装备制造的科学内涵.其科学技术成果可辐射应用到高端医疗装备、生机电一体化智能机器人、危险环境勘查和灾难救援装备、国防装备等有关国计民生的重大领域,具有重要战略意义[1]. 利用生物电信号对动作意图的识别方法主要包括基于脑电技术的识别和基于肌电技术的识别.虽然利用脑电技术可以直接从大脑获取更多的动作意图信息,但肌电技术凭借其自然舒适的交互方式和较之脑电更稳定的数据采集和处理方式[2],目前具有更高的应用前景.
早期国内对肌电信号的研究主要通过多个电极检测特定肌肉组织的方式,检测对象主要包括尺侧腕屈肌、尺侧腕伸肌、指伸肌等.早期进行手势识别的方法有时域分析[3]、频域分析[4]、模糊控制[5–6]等,识别的手势种类为2–6种[7–10].近年来随着阵列型肌电检测理论的提出,国外文献最先提出了相关的肌电识别方法[11–12],之后国内也有部分高校开始了基于阵列型肌电检测的手势识别研究[13].具体手势识别算法也更加丰富,如卷积神经网络[14]、隐马尔科夫模型[15]、朴素贝叶斯分类器[16]等,识别的手势最多超过30种.
综合国内外研究成果发现,与监测特定肌肉组织的肌电信号相比,针对整个前臂肌群
的阵列式肌电监测方法能够复现出更丰富的手部动作意图,但阵列肌电监测的通道
数过多不仅会带来信号的过分冗余,增加处理难度,同时负责肌电采集的装置也会更
加庞大复杂,降低了使用手势识别系统的舒适度.因此,本文保留了阵列传感器的优势,同时选择了具有适当通道数的8维阵列式表面肌电传感器对受试者的离散手势动
作进行复现.此外,近年来随着机器学习算法在各交叉学科中的延伸,利用神经网络对非线性系统建立分类模型的方案成为了工程应用热点,因此,本文主要研究通过构建
浅神经网络对离散手势进行分类.
本文的余下各章节安排为:第2章主要阐述了本文设计的灵巧假手系统,包括各组
成部分和系统控制策略;第3章详细介绍了基于神经网络的手势识别的实现方法;第4章围绕第3章提出的算法,设计实验以验证该算法的可行性;最后一章为总结
全文并指出了未来研究方向.
2 系统设计(System design)
本文设计了一种基于8通道肌电信号手势识别的灵巧假手控制系统,如图1所示.该系统主要包含云端动作意图识别部分、本地假手控制部分和使用者肌电信号采集三部分.考虑到神经网络训练更适合在具有一定硬件配置基础的设备上运行,因此将该
部分设置在云服务器执行.其中云端动作意图识别部分用于残疾人首次使用该假手,
首次使用时云服务器将对使用者的肌电信号进行自学习,自学习内容为基于神经网
络的手势识别.自学习完成后,云服务器将该使用者的识别模型输出至假手端,之后假手无需借助云服务器也能进行离线控制.假手进行离线控制的流程为:肌电信号采
集设备实时采集使用者前臂的肌电数据并发送微处理器,之后通过训练完成的神经
网络模型预测当前手势,最后将手势预测结果推送至灵巧假手.
图1 假手控制系统框图Fig.1 The pipeline of the robot hand control system 2.1 肌电信号采集设备(sEMG sensor device)
为了让使用者对多通道肌电采集设备有更加舒适方便的穿戴体验,因此针对肌电传
感器的选择使用了Thalmic Lab公司的八通道肌电传感手环MYO.该手环的设计能适应不同使用者的手臂周长,使电极与前臂保持较好的贴合状态;同时该传感器电极采用不锈钢材质,适合便捷穿戴.本系统的手势识别算法是对MYO手环获取的8通道表面肌电信号的重新处理、识别,无需借助产品本身的识别算法.
2.2 灵巧操作假手(Dexterous hand)
本文使用的灵巧假手由东南大学机器人传感与控制技术研究所自主研制,该假手基于交叉四连杆运动原理,具有6个主动自由度,可对拇指、食指、中指和无名指的弯曲进行独立控制,另外还对拇指的旋转做独立控制.假手外形根据正常人手比例设计,具体实物如图2所示.该假手的电机和控制电路完全集成于假手内部,该假手通过串口通信协议可以与电脑或者其他嵌入式系统进行连接.本文实验的最终目的是控制该假手与受试者的手势进行同步动作.
2.3 手势识别云端(Gesture recognition in cloud)
肌电传感器将操作者的肌电数据以无线通信的方式发送至手势识别云端,再通过云端对8维肌电信号进行基于神经网络的手势识别.将神经网络算法用于手势识别的流程是:对于初次使用该系统的受试者,首先采集受试者不同手势的肌电数据,然后将数据输入神经网络,学习出一组适合该受试者的神经网络参数.之后当受试者再次使用该系统时,系统直接加载该受试者上一次的学习参数,最后直接对受试者进行手势预测无需再次训练.本文介绍的神经网络采用单隐层网络设计,隐藏层的激活函数为ReLU函数,输出层的激活函数为Softmax函数.本文使用随机搜索法对隐层神经元个数和剪枝率进行最优化调试,使用基于反向传播原理的梯度下降法进行参数训练,另外还使用了机器学习理论中已广泛使用的网络优化算法,这些辅助算法使该手势识别的训练速度、识别精度和泛化能力得到了提升.
图2 假手实物图Fig.2 The picture of the robot hand
3 表面肌电图像识别算法(sEMG image recognition algorithm)
本章详细介绍了所提出的手势识别算法从肌电传感器获取原始肌电信号,到输出手势预测结果的具体实现.该手势识别算法主要包括数据采集、数据处理、数据训练和数据预测4个部分.
3.1 数据采集(Data collection)
对于初次使用该系统的操作者,需要采集预设手势的肌电数据作为神经网络的训练集和交叉验证集.在进行采集前,操作者需要正确佩戴肌电手环.进行数据采集时,需要将手环内侧电极紧贴表面.为了保证每次佩戴手环能够正常控制机械手,需要人为规定手环的佩戴方向和大致佩戴位置.本实验规定使用者将手环佩戴于右手前臂;手环上的条状指示灯朝向手腕侧;每次佩戴时保持手环上带指示灯的传感器与手正常放松时的手背处于同一平面,具体佩戴方式见图3右下角的实际佩戴图片.为简化叙述方式,如图3所示8种手势分别编号为Gs0–7.
手环佩戴完毕后开始指导受试者完成8种手势的肌电数据采集流程.考虑到实际控制中大臂的活动会影响手势识别的准确率,且只在一种手臂姿势下完成手势动作容易造成神经网络的过拟合.因此,本实验采集了多个手臂姿势下完成8种手势的肌电数据.手臂姿势的确定方法为:根据分析前臂的可达空间和活动密集区域,选择在上臂保持自然下垂的状态下,将前臂与上臂呈180°,90°和45°这3种状态设为完成手势的手臂姿势,将这3种手臂姿势分别编号为Am0–2.采集流程图如图4所示.由图可知,操作者佩戴一次手环,采集肌电数据样本的总数为2400组.
图3 待预测手势示意图与手环佩戴情况Fig.3 Picture of the to be predicted gestures and armband wear situation
图4 训练数据采集流程Fig.4 Training data acquisition process
3.2 数据处理(Data processing)
肌电信号的数据处理包含两部分,分别为对原始表面肌电信号的预处理和肌电信号输入神经网络前的归一化处理.国内外众多肌电研究成果已对表面肌电信号预处理
的原因和方法进行系统总结[17].本文采用对原始信号去偏置、整流、均方根(root mean square,RMS)滤波的方式对表面肌电信号做预处理.RMS滤波公式中,xi表示单位时间序列上第i时刻的表面肌电信号幅值,k表示滤波窗口长度.
经过对不同滑动窗口长度的比较,发现选择滑动窗口为40 ms时能大幅减小信号的波动,同时具有较好的跟随性.经过预处理后的波形如图5所示,图中浅色波形是经过整流后的表面肌电信号,深色波形为经过滑动窗口RMS滤波后的波形.
图5 肌电信号预处理结果Fig.5 Training data acquisition process
神经网络的运算需要避免梯度消失和网络输出值发散,因此需要对网络输入量进行归一化处理,通过分析训练各通道肌电信号的最大值,设定归一化参数为1024,即代入神经网络的输入量为肌电信号除以归一化参数.
3.3 数据训练(Data training)
3.3.1 神经网络结构搭建(Neural network structure design)
一直以来,兼具灵活性和普适性的肌电控制假手是该研究领域的重要问题.本假肢创造性地通过对个体使用者的记忆性肌电信号进行自学习,通过将第3.1节介绍的手势训练方法和本节介绍的数据训练方法相结合,可以在短时间内对使用者的最多8种手势进行自学习,该算法只需经过一次训练即可在每次实时手势识别中进行快速适应.本文设计的神经网络结构为单隐藏层前向传播结构,输入神经元的个数是8,输出神经元个数是8.进行损失函数计算时,首先将一维手势标签转换为八维手势标签向量,具体方法为公式(2).隐藏层的激活函数为ReLU函数,输出层的激活函数为Softmax函数.公式(3)–(6)列出了前向神经网络的计算流程.其中,X表示实际肌电数据,表示神经网络预测手势,Y表示实际手势.公式(5)为Softmax函数计算公式,其中分母表示:先对Z2的每个元素进行指数函数运算,再按元素求和.
3.3.2 神经网络参数学习算法(Neural network parameters learning algorithm) 神经网络在不同应用场景下的结构相似,造成其性能差异的主要原因是网络参数学习算法.本文提出的神经网络的损失函数使用交叉熵(cross entropy)函数;使用Xavier法对权值进行初始化,该方法能够使初始权值呈均值为0的正态分布;使用学习率的指数衰减算法、ADAM[18]梯度下降法和Mini-Batch法可以加快训练速度;使用剪枝(dropout)算法减小过拟合情况.以上算法的代码实现均在Tensorflow框架下完成,神经网络设计图如图6所示.
在提升手势识别算法方面,本文在进行网络参数学习时,在隐藏层与输出层间增加一层剪枝层,即随机将隐藏层神经元的部分值清0,然后再进行输出层的计算.该方法减少了相邻神经元计算结果的依赖性,使肌电图像相似、但手势不相同的特征进行区别,减少了预测值的过拟合情况,提升了手势识别的准确度;在缩短训练时间方面,传统Mini-Batch法首先将训练集进行随机排序然后拆分成多个子集,最后计算各子训练集上损失函数的平均值,该方法缩短了原先计算整个训练集上损失函数的时间,但在较多的迭代次数后,参数学习时间的缩短效果不显著.在实际参数学习过程中发现,取训练集子集的损失函数作为神经网络损失函数的值,每次迭代不遍历所有训练集合,但在大量迭代次数后仍然将总训练集中的所有的样本都进行了学习,该方法不仅更快地缩短了学习时间,而且对最终训练集和测试集的识别率没有显著影响.
图6 使用Tensorflow构建神经网络设计Fig.6 Design of neural network with Tensorflow
本实验采用交叉验证评估方法,将操作者的所有肌电数据随机选出80%作为训练集,剩余20%作为交叉验证集,另外采集受试者实际控制假手的肌电数据作为测试集.本实验调试的超参数(hyper-parameter)包括:学习率、mini-batch容量、学习次数、隐层神经元个数和剪枝率.进行训练时,设置初始学习率为0.8,且随学习次数增加呈负指数函数衰减,此外设学习次数为30000次,mini-batch大小为100.以上超
参数调试方法参照David Hutchison等人总结的较为系统的方法[19].
3.3.3 超参数筛选(Hyper-parameter selection)
为了得到合适的神经元个数和剪枝率,本实验设计了一套超参数随机搜索方法,该方法反复训练具有不同参数的神经网络模型,最后选取其中识别率最好的一组参数.具体方法为:设定空间中的x–y–z三维坐标系,在x–y坐标平面内随机选取1个点,横坐标值表示隐层神经元个数(hidden layer units),纵坐标值表示剪枝率(drop out rate),将坐标点表征的超参数代入神经网络进行学习,得到的交叉验证集识别率(accuracy)作为该坐标点z轴坐标.重复进行100组随机选取,将学习完成的识别率在MATLAB中进行空间曲面拟合如图7所示.图中剪枝率在0.7~0.9附近,隐层神经元个数大于40时,具有较高的识别率,因此本实验最后设定剪枝率为0.8,隐层神经元个数为50.
3.4 数据预测(Data prediction)
当网络训练完成后,八通道肌电手环(MYO)将采集到的表面肌电信号实时传入神经网络,采用训练完成的权值参数矩阵与实时肌电数据进行公式(3)–(5)的矩阵运算.由于Softmax函数具有单调上升性,取输出层神经元中的最大值即可作为输入肌电信号的手势预测结果,预测结果的输出频率为50Hz.对于神经网络的预测结果还需要进行进一步优化,本文采用投票法,设定长度为25的滑动窗口,对邻近25次手势预测结果进行投票,输出25次预测结果中出现次数超过半数的手势.使用该算法的原因将在实验部分进行具体证明.为了计算经过投票算法后的手势识别准确率,可将该问题等效为一个二项分布模型.令神经网络误识别一次的概率为p,本实验中投票算法的滑动窗长度为25,即问题为:求25次伯努利实验中,至少出现13次误识别的概率,其中:
因此
计算结果显示,在进行实际假手控制时,若误识别的概率为6%的,此时采用投票法可使手势识别错误的概率几乎为0.利用该方法可以使操作者进行持续手势动作的过程中不会出现假手误动作.图8绘制了滑动窗长度为25时出现手势误识别的次数与发生概率曲线.
图7 超参数随机搜索坐标系Fig.7 Hyper-parameter random search coordinate
图8 投票算法滑动窗口长度的概率分布Fig.8 Probability distribution of sliding window length for voting algorithm
4 实验结果与分析(Results and discussion)
实验过程中采集了一名受试者佩戴6次手环共14400组数据,该受试者无肌肉疾病,且为第1次参与本次实验.实验结果显示,和过去采用相似规模的神经网络进行手势识别训练不同,采用本文介绍的肌电信号采集方法与神经网络训练方法具有更快的训练速度,并且能学习得到更好的神经网络权值矩阵.
4.1 基于神经网络的手势识别评估实验 (ANN evaluation experiments)
神经网络结构确定后,开始对训练集数据进行神经网络学习.本文使用Tensorboard 对神经网络在学习过程中权值不断调整的过程进行了可视化分析,图8展示了初始化后的权值随着学习次数的增加,不同网络层权值的分布情况.图9中(a)和(b)分别表示权值矩阵W1和W2随学习次数增加的权值分布情况,以三维坐标系表征.垂直方向坐标表示学习次数,由远及近学习次数增加至30000;水平方向坐标表示权值的数值,总体分布在-4.5至5.5;竖直方向上的高度表示权值的概率密度.由图可知权值的初始值为正态分布,学习初期权值密集集中在0附近,在图中表示为深色区域.随着学习次数增加权值逐渐由0趋于分散,正态分布的方差逐渐增加.图9(c)与图
9(d)表示权值矩阵b1和b2随学习次数增加的权值分布情况.由图可知,在初始值均
为0的情况下,权值的分布随着学习次数增加开始分化并趋于稳定.
图9 神经网络权值分布情况Fig.9 Distribution of elements in weights and bias matrices
图9证明了本实验构建的神经网络能够根据输入的训练集进行学习.当学习次数达到30000次后,提取出权值矩阵作为神经网络最终权值参数,然后代入交叉验证集进行识别率计算,得到最终综合识辨率维持在97%左右.各个手势的识别率如表1所示.根据表1数据可知,利用上述神经网络可以对大部分手势进行高识别率的预测,但其中对握拳、竖拇指、手势3的识别率略低,具体分析方法和解决方案将在第4.3节作详细叙述.
4.2 基于最邻近算法的手势识别对照实验(KNN evaluation experiments)
为了进一步证明神经网络较之其他分类方法具有更高的手势识别准确率,本节使用第4.1节的训练集和交叉验证集测试基于最邻近算法(K-nearest neighbor,KNN)的手势识别对照实验,其中KNN算法中度量距离的方法使用欧式距离.将训练集代入KNN算法,然后使用交叉验证集合统计识别率,得到表2所示的手势识别率汇总.将表2与表1的统计结果进行合并比较,得到图10的识别率柱状图.从综合识别率评估两算法可知,采用神经网络预测方法具有更高的识别精度,结合图表数据可得:利用多维表面肌电数据能对受试者的动作意图进行较好的识别,其中基于神经网络的手势预测算法显然具有更稳定、更准确的多手势预测能力.
表1 神经网络算法手势识别率汇总Table 1 Gesture accuracy based on neural network手势放松外翻内翻握拳伸掌手势2 手势3 竖拇指样本数 338 373 356 357 384 363 337 372识别率 0.988166 0.997319 1 0.92437 0.992188 0.986226 0.949555 0.930108
表2 KNN算法手势识别率汇总Table 2 Gesture accuracy based on KNN手势
放松外翻内翻握拳伸掌手势2 手势3 竖拇指样本数 338 373 356 357 384 363 337 372识别率 0.941667 0.963889 1 0.949909 0.9 0.766667 0.980556 0.838889
图10 神经网络与KNN算法识别率比较Fig.10 Comparison between neural network and KNN
4.3 实验分析(Analysis on experiment)
由表1可知,使用神经网络算法对握拳、手势3和竖拇指的识别率较低,本节主要对预测误差做深入分析.由于神经网络输出神经元的激活函数采用Softmax函数,因此输出层8个神经元的输出值表示对8种手势的预测概率,表3统计了该名受试者某一次测试集中对8种手势的概率分布.由表可知,实际做握拳手势时,5%的概率误识别为竖拇指;同时实际做竖拇指手势时,6%的概率误识别为握拳.此外手势2和手势3也有类似情况出现.
通过对数据的分析,认为误差来源在于对拇指运动的意图识别不明确.从生物学角度分析,支配拇指活动的肌肉一部分分布于手掌,另一部分分布于前臂上靠近手腕的一侧(拇长屈肌、拇长伸肌和拇长展肌).本实验使用的MYO手环主要检测前臂上靠近手肘一侧的肌肉,因此造成探测到的拇指活动的特征较少,降低了识别精度.为了解决该问题,可尝试在训练过程中增加受试者完成握拳、竖拇指等手势时的次数,或增加单次采集的肌电样本个数,然后再次训练以提高识别率.
表3 基于神经网络的预测手势概率分布Table 3 Distribution of gesture probability based on neural network放松外翻内翻握拳伸掌手势2 手势3 竖拇指放松0.979351––– 0.020649–––外翻– 0.9972830 0 0.002717–––内翻––1–––––握拳–––0.946023––– 0.053977伸掌––––
0.9917360.0027540.00551–手势2 –––– 0.0057310.9770770.017192 –手势3 –––– 0.0051150.0434780.951407 –竖拇指–––0.057142 ––– 0.942858
5 小结(Conclusions)
本文提出了一种基于阵列型表面肌电传感器识别8种手势的方法,并搭建了一个灵巧假手控制系统进行验证,证明了基于8维表面肌电图像的8手势识别算法的可行性.对采集的实验数据进行预测,预测准确率达到了97%,具有令人满意的实用性.在后续实验中,还发现使用者由于第1次进行手势控制,需要一段时间去适应,采集的训练样本质量随着使用时间的增加慢慢变高,另外随着对手势控制的熟练,对于数据准备时间的长度也会慢慢缩短,并能取得较之测试初期更好的识别精度.此外不同人由于完成手势的习惯不同,由于手臂的尺寸差异,个体间的差异性仍然十分明显.因此在未来的研究中,能否得到一个普适性多手势识别算法,仍然是需要深入研究.
参考文献(References):
【相关文献】
[1]DAI Yu.Design and fabrication of distributed flexible capacitive tactile sensor for artificial prothesis[D].Zhejiang:Zhejiang University,2014.(戴宇.用于人工假肢的分布式柔性电容触觉传感器的设计与制造[D].浙江:浙江大学,2014.)
[2]DING Qichuan,XIONG Anbin,ZHAO Xingang.A review on researches and applications of semg-based motion intent recognition methods[J].Acta Automatica Sinica,2016,42(1):13 – 25.(丁其川,熊安斌,赵新刚.基于表面肌电的运动意图识别方法研究及应用综述[J].自动化学
报,2016,42(1):13–25.)
[3]WU Changcheng,SONG Aiguo,ZHANG Huatao.Adaptive fuzzy control method for EMG prosthetic hand[J].Journal of Instrument&Instrumentation,2013,34(6):1339 – 1345.(吴常铖,宋爱国,章华涛.一种肌电假手的自适应模糊控制方法[J].仪器仪表学报,2013,34(6):1339–1345.)
[4]WU C C,SONG A G,LING Y,et al.A control strategy with tactile perception feedback for emg prosthetic hand[J].Journal of Sensors,2015,(6):1 – 15.
[5]WU Changcheng,SONG Aiguo,ZHANG Huatao,et al.A backstepping control strategy for prosthetic hand based on fuzzy observation of stiffness[J].Robot,2013,35(6):686 – 691.(吴常铖,宋爱国,章华涛,等.基于刚度模糊观测的假手反演控制策略 [J].机器人,2013,35(6):686– 691.)
[6]ZHANG Huatao,WU Changcheng,GUO Yan,et al.Fuzzy logic based grip force control。

相关文档
最新文档