一种针对肌电个体差异问题的在线手势识别方法与流程

文档序号:15493207发布日期:2018-09-21 21:04阅读:219来源:国知局

本发明涉及肌电信号处理和增量学习领域,特别是涉及一种针对肌电个体差异问题的在线手势识别方法。



背景技术:

表面肌电信号(semg)作为一种交互媒介手段,被广泛的应用于假肢、外骨骼、矫形器等外设的控制中。semg能够实时的反映肌肉活动程度,是人-机之间理想的控制源。但由于皮脂、用力方式、肌纤维组织等个体差异性因素,很难获得一个通用的公共分类模型进行肌电模式识别,因此往往需要针对个体用户进行长时间的前期训练以获得精准分类辨识模型,相对耗时耗力。并且在实际应用时,分类器经过初次训练后一般不会再有改变,或较长的一段时间中固定不变。

国内外已有很多学者使用基于增量学习(incrementallearning)的自适应方法解决semg的时变问题(如环境变化、电极位置改变、疲劳等)。通过增量学习,分类器系统可以在已经学习获得知识的基础上,不断从新样本中学习到新的知识。但仍少有研究将增量学习的思想用于个体用户分类模型的前期训练,以解决semg的个体差异性问题。

在众多增量学习算法中,基于支持向量机(svm)的增量学习由于其特有的优点,近年来逐渐成为研究的热点问题。最早由syed等提出的svm增量学习算法batch-isvm,是将本次增量后的支持向量集(sv集)与所有的新增样本在下次增量学习中一起训练学习,舍弃非sv样本。该方法的问题在于新增样本中可能包含无用或糟糕的样本,不仅影响训练速度也会降低识别精度。基于此,有学者提出了基于kkt条件(karush-kuhn-tucker)的svm增量学习算法(kkt-isvm),来获得有效新增样本。虽然kkt-isvm比batch-isvm更进一步,但仍存在以下问题:(1)舍弃的非sv样本可能包含有用的分类信息;(2)因满足kkt条件而舍弃的新增样本也可能包含有用的分类信息。



技术实现要素:

为了克服现有的手势识别方式的无法解决个体差异性问题、识别准确率较低的不足,本发明提供一种针对肌电个体差异问题的在线手势识别方法。该方法结合dbscan密度聚类算法,改进了原有的kkt-svm增量学习方法,用于在线肌电手势识别,以解决个体差异性问题。

本发明解决其技术问题所采用的技术方案是:

一种针对肌电个体差异问题的在线手势识别方法,包括以下步骤:

(1)手势肌电数据集建立,获得初始数据;

(2)训练初始分类模型;

(3)新增样本kkt判别;

(4)使用dbscan密度聚类获得初步训练集;

(5)二次筛选获得最终训练集。

进一步,所述步骤(1)中,所述的初始数据是为了构建增量学习的初始模型。共采集20名男性被试的8种常见的手势动作,分别为:手张开、手握拳、手抓取、手放松、腕内收、腕外展、腕外旋和腕内旋。肌电的采样率为1024hz,采用滑动窗的方式开窗,窗口长度设为200ms。对每个窗口进行3种时域特征提取,分别为均方根值(rms)、平均绝对值(mav)和积分肌电(iemg)。一个窗口(样本)可获得一个3(特征值)×4(通道)共12维的特征向量[{rmsk,mavk,iemgk}ch],其中,k为样本编号,ch为通道数。每个被试跟随屏幕中的提示,随机保持一种手势5s,每种手势出现30次,则每个被试的数据集为手势×30次,其中,twindow为开窗长度(200ms),则每个被试的数据集样本总数为6000个

再进一步,所述步骤(2)中,对于每个被试,将初始数据中其余19个被试的所有训练样本用来训练该被试的svm初始分类模型ψold和初始sv集dold-sv。

更进一步,所述步骤(3)中,每120秒进行一次增量学习,在该时间段中,每个被试跟随屏幕中的提示,随机保持一种手势5s,每种手势出现3次(即120秒),增量样本为手势×3次共600个。使用初始分类模型ψold来检测新增样本集dnew,将新增样本集dnew分为满足kkt条件的新增训练样本dnew-kkt和不满足kkt条件的新增训练样本dnew-nkkt。区分方法:若样本位于分类间隔上或分类间隔外,为满足kkt条件的新增训练样本;若样本位于分类间隔内,为不满足kkt条件的新增训练样本。

所述步骤(4)中,将满足kkt条件的新增训练样本dnew-kkt、初始sv集dold-sv和初始非sv集dold-nsv放在一起,使用dbscan进行密度聚类,获得多个聚类簇cm。选出核心对象为初始sv集dold-sv中样本的聚类簇cm,这些聚类簇cm中包含初始sv集附近的初始非sv样本d′old-nsv和初始sv集附近的满足kkt条件的新增训练样本d′new-kkt。初始sv集dold-sv、初始sv集附近的初始非sv样本d′old-nsv、初始sv集附近的满足kkt条件的新增训练样本d′new-kkt和不满足kkt条件的新增训练样本dnew-nkkt构成初步训练集dnew1。

所述步骤(4)中,所述的dbscan密度聚类方法通过样本分布的紧密程度来确定聚类结构。它基于一组邻域参数(ε,minpts)来分析样本之间的可连接性,并不断通过扩展聚类簇获得聚类结果。取ε=0.11,minpts=4。所述的dbscan密度聚类方法步骤如下:

(4.1)基于邻域参数找出核心对象集;

(4.2)从核心对象集中随机选取一个“种子”核心对象,找出所有密度可达的样本,构成第一个聚类簇;

(4.3)将聚类簇中包含的核心样本从核心对象集中去除。

所述步骤(5)中,对初始sv集附近的初始非sv样本d′old-nsv和初始sv集附近的满足kkt条件的新增训练样本d′new-kkt进行二次筛选,以减少训练集样本个数,减少训练时间。因为离分类超平面距离太远,成为sv几率较小,二次筛选规则为:计算初始sv集附近的初始非sv样本d′old-nsv和初始sv集附近的满足kkt条件的新增训练样本d′new-kkt中各个样本到分类超平面的距离,离超平面的最大距离为δ,选取这两个样本集中距离小于1/2δ的样本,获得二次筛选后的初始sv集附近的初始非sv样本d″old-nsv和初始sv集附近的满足kkt条件的新增训练样本d″new-kkt。由初始sv集dold-sv、二次筛选后的初始sv集附近的初始非sv样本d″old-nsv、二次筛选后的初始sv集附近的满足kkt条件的新增训练样本d″new-kkt和不满足kkt条件的新增训练样本dnew-nkkt构成最终训练集dnew2,用来训练该次增量学习后的分类模型ψnew。

本发明的有益效果是:

(1)结合dbscan密度聚类算法,改进了原有的kkt-svm增量学习方法,用于在线肌电手势识别,以解决个体差异性问题。

(2)该方法能保持更高的识别准确率。计算前10次增量学习的平均分类识别率,本发明方法(92.12%)与传统svm(69.23%)、batch-isvm(86.41%)、kkt-isvm(90.03%)三种算法相比,具有最高平均识别率。其中,batch-isvm和kkt-isvm为传统的增量学习方法;传统svm算法并无增量学习过程,直接通过初始分类模型进行后面新增样本的分类,用来描述肌电的个体差异性(识别率很低,即体现个体差异性影响公共模型分类识别率的问题)。

(3)该方法能进一步提高分类模型训练学习速度。计算前10次增量学习的平均训练时间,本发明方法(30.43秒)与batch-isvm(37.88秒)和kkt-isvm(32.54秒)两种算法相比,具有更快的训练时间。

附图说明

图1是本发明整体方法流程图;

图2是dbscan密度聚类方法流程图。

具体实施方式

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

参照图1和图2,一种针对肌电个体差异问题的在线手势识别方法,包括以下步骤:

(1)手势肌电数据集建立,获得初始数据。该初始数据是为了构建增量学习的初始模型。共采集20名男性被试的8种常见的手势动作,分别为:手张开、手握拳、手抓取、手放松、腕内收、腕外展、腕外旋和腕内旋。美国biopac公司的mp150型多通道生理信号记录分析系统被用来采集被试右手4块目标肌肉(掌长肌、伸指肌、屈指浅肌和尺侧屈腕肌)的肌电信号。贴上电极前需使用酒精去除死皮与皮肤油脂,降低阻抗。肌电的采样率为1024hz,采用滑动窗的方式开窗,窗口长度设为200ms。对每个窗口进行3种时域特征提取,分别为均方根值(rms)、平均绝对值(mav)和积分肌电(iemg),公式如下:

其中,n为采样点数,xi为窗口中采样点的肌电幅值,n1为积分起点,n2为积分终点,x(t)为肌电曲线,d(t)为采样的时间间隔。一个窗口(样本)可获得一个3(特征值)×4(通道)共12维的特征向量[{rmsk,mavk,iemgk}ch],其中,k为样本编号,ch为通道数。每个被试跟随屏幕中的提示,随机保持一种手势5s,每种手势出现30次,每个被试的数据集为

其中,twindow为开窗长度(200ms),则每个被试的数据集样本总数为6000个。

(2)训练初始分类模型。对于每个被试,将初始数据中其余19个被试的所有训练样本用来训练该被试的svm初始分类模型ψold。所述的模型训练方法:svm在分类问题中的核心思想是找到具有最大间隔的划分超平面,以获得训练样本的正确分类;若训练集为d={(x1,y1),...(xm,ym)},yi∈{-1,+1},划分超平面可表示为ωtx+b=0,距离超平面最近的几个训练样本被称为支持向量(sv),两类的sv到超平面的距离之和为

欲找到最大间隔,即找到参数ω和b使得γ最大,等价于最小化||ω||2,于是

s.t.yi(ωtxi+b)≥1,i=1,2,...,m

该式作为一个凸二次规划问题,引入拉格朗日乘子法,可得到分类模型

其中αi为拉格朗日乘子。由于svm是一种二分类器,本实施例采用一对一法(one-versus-one)处理多分类问题。获得初始分类模型ψold后,同时获得初始sv集dold-sv。

(3)新增样本kkt判别。每120秒进行一次增量学习,在该时间段中,每个被试跟随屏幕中的提示,随机保持一种手势5s,每种手势出现3次(即120秒),增量样本为手势×3次共600个。使用初始分类模型ψold来检测新增样本集dnew,将新增样本集dnew分为满足kkt条件的新增训练样本dnew-kkt和不满足kkt条件的新增训练样本dnew-nkkt。区分方法:若样本位于分类间隔上或分类间隔外,为满足kkt条件的新增训练样本;若样本位于分类间隔内,为不满足kkt条件的新增训练样本。

(4)使用dbscan密度聚类获得初步训练集。将满足kkt条件的新增训练样本dnew-kkt、初始sv集dold-sv和初始非sv集dold-nsv放在一起,使用dbscan进行密度聚类,获得多个聚类簇cm。选出核心对象为初始sv集dold-sv中样本的聚类簇cm,这些聚类簇cm中包含初始sv集附近的初始非sv样本d′old-nsv和初始sv集附近的满足kkt条件的新增训练样本d′new-kkt。初始sv集dold-sv、初始sv集附近的初始非sv样本d′old-nsv、初始sv集附近的满足kkt条件的新增训练样本d′new-kkt和不满足kkt条件的新增训练样本dnew-nkkt构成初步训练集dnew1。

进一步地,所述的dbscan密度聚类方法通过样本分布的紧密程度来确定聚类结构。它基于一组邻域参数(ε,minpts)来分析样本之间的可连接性,并不断通过扩展聚类簇获得聚类结果。ε表示邻域半径,minpts为给定点在邻域内成为核心对象的最小邻域点数。本实施例中,ε=0.11,minpts=4。如图2所示,所述的dbscan密度聚类方法步骤如下:

(4.1)基于邻域参数找出核心对象集。给定数据集e={z1,z2,...zm},若距离其中一个样本zj不大于ε的领域内至少包含minpts个样本,即|nε(zj)|≥minpts,则zj为一个核心对象。可找出核心对象集ω={za,zb,zc,...zn},a,b,c,...n∈m。

(4.2)从核心对象集中随机选取一个“种子”核心对象,找出所有密度可达的样本,构成第一个聚类簇。假设选出za作为种子,由此出发,则第一个聚类簇为c1={za,zc,...zp},a,c,...p∈m。

(4.3)将聚类簇中包含的核心样本从核心对象集中去除。即将c1中包含的核心样本从ω中去除:

ω′=ω\c1={zb,...,zm}

再从新的集合ω′中随机选取另一个核心样本生成第二个聚类簇,不断重复,直到核心样本集为空。

(5)二次筛选获得最终训练集。对初始sv集附近的初始非sv样本d′old-nsv和初始sv集附近的满足kkt条件的新增训练样本d′new-kkt进行二次筛选,以减少训练集样本个数,减少训练时间。因为离分类超平面距离太远,成为sv几率较小,二次筛选规则为:计算初始sv集附近的初始非sv样本d′old-nsv和初始sv集附近的满足kkt条件的新增训练样本d′new-kkt中各个样本到分类超平面的距离,离超平面的最大距离为δ,选取这两个样本集中距离小于1/2δ的样本,获得二次筛选后的初始sv集附近的初始非sv样本d″old-nsv和初始sv集附近的满足kkt条件的新增训练样本d″new-kkt。由初始sv集dold-sv、二次筛选后的初始sv集附近的初始非sv样本d″old-nsv、二次筛选后的初始sv集附近的满足kkt条件的新增训练样本d″new-kkt和不满足kkt条件的新增训练样本dnew-nkkt构成最终训练集dnew2,用来训练该次增量学习后的分类模型ψnew。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1