本发明涉及机器人手势识别领域,特别设计基于cae-svm的机器人手势识别方法。
背景技术:
随着人机交互和人工智能的迅猛发展,人机交互技术由最开始的通过命令行及操作指令控制计算机到图形交互界面控制计算机,再到多传感器融合交互的人机交互新模式。新的人机交互模式通过多传感器采集的语音、手势、表情、眼动等信号与机器交互,并完成交互任务。其中手势识别是人机交互中的一个重要组成部分。
表面肌电信号(surfaceelectronmyography,semc)是肌肉活动产生的非平稳生物电信号,该信号可以反映了手腕、手指的精细动作。手势识别技术主要分为三步:手势信号采集、提取特征、手势判别。然而手势具有多样化、多义化等特征,并且在不同的时间以及空间上的上存在差异性,还有手势信号出现的干扰噪声,选取手势特征的盲目性和随意性,这都是影响手势识别的重要因素。
压缩自编码(contractiveautoencoder,cae)是一种正则自编码器。采用雅可比矩阵f范数的平方作为误差约束项,通过雅可比矩阵f提取样本数据在各个方向的特征,实现数据降维。相比于自编码算法,压缩自编码提高了对于输入数据中的扰动的鲁棒性,能在一定程度上消除输入数据的噪声。
支持向量机(supportvectormachine,svm),属于机器学习范畴。svm算法的学习策略是找到分类样本的“间隔最大化”,也就是找出能够使得分类类别间距最大化的最优超平面,算法的本质是在特征空间中的最大线性分类器。svm算法把样本的低维特征通过核函数映射到高维特征空间上,可使得svm的适用范围扩展到非线性可分的领域中。svm有着非线性映射、很强的鲁棒性、对样本量需求小、能划分特征空间的最优超平面等优点,因此可以使用svm的方法解决手势分类的问题。
技术实现要素:
为了解决上述存在问题。本发明提供一种基于cae-svm的机器人手势识别方法,采用svm代替cae顶层的softmax分类器,既结合了cae较好的深层特征提取能力,也结合了svm算法泛化能力强、分类精度高等优点,实现对机器人的手势识别,最后将识别的手势用于控制机器人手臂的工作状态。
本发明提供基于cae-svm的机器人手势识别方法的技术方案如下:
步骤1:使用肌电采集传感器采集的表面肌电信号样本,同时制作样本数据库,并划分训练样本和测试样本;
步骤2:构建cae模型,确定cae模型隐含层的层数、隐含层神经元的数目,压缩系数λ;
步骤3:将表面肌电信号送入cae网络中,提取表面肌电信号的深层特征;
步骤4:将提取的肌电信号深层特征输入到svm模型中进行分类;
步骤5:将cae-svm模型输出的类别控制机器人动作。
作为本发明进一步改进,所述步骤2中cae网络结构设置如下:
cae网络结构设置为1000-500-300-6的网络结构,压缩系数λ为0.003,最大迭代次数设置为300,学习率设置为0.05,激活函数设置为sigmoid,误差函数采用均方根误差。
作为本发明进一步改进,所述步骤3中表面肌电信号的深层特征提取如下:
从训练好的cae模型隐含层中提取深层特征,原始数据到提取深层特征的步骤分为:编码过程和解码过程;
编码过程是将原始数据x(n)输入到输入层在传到隐含层,实现对原始数据的编码:
h1=σ(w1x(n) b1)(1)
其中,h1是第一个隐含层的输出,σ是激活函数,w1和b1分别是权重和阈值;
解码过程是将隐含层提取的样本特征输出到输出层,实现对隐含层提取的样本特征的解码:
cae网络在数据解码重构时,通过在损失函数中将雅可比矩阵f范数的平方作为约束项,即
其中λ是压缩比例系数,
其中,hi表示隐含层输出,wij表示cae网络中层与层之间的连接权值;将最后一层隐含层的输出作为样本特征
作为本发明进一步改进,所述步骤3中svm模型如下:
设线性可分的样本集为(xi,yi),其中i=1,2,...,n,xi是通过cae网络提取的n个特征,yi是手势的类别标号,通过间隔最大化学习得到分类的最优超平面为:
ω·x b=0(5)
式中ω是法向量,决定了超平面的方向。b是位移量,决定超平面与原点的距离。相应的线性分类函数的一般形式为:
f(x)=ω·x b(6)
同时最优超平面使所有样本点满足:
|f(x)|≥1(7)
svm的支持向量是令式6成立的样本点。
本发明提供一种基于cae-svm的机器人手势识别方法,有益效果如下:
1、本发明结合了cae和svm算法,提高了手势动作的识别率和效率。
2、本发明利用cae的雅可比矩阵f可提取样本数据在各个方向特征的特点,提取了表面肌电信号的深层特征,cae提取的特征鲁棒性更强,泛化能力能强,能够更好的表征更精细的手势动作。
3、本发明提出的手势识别方法以及机器人手臂控制流程,为新的人机交互模式提供了新方法,在工程上具有一定的应用意义。
附图说明
图1是本发明整体算法原理流程图。
图2是本发明中压缩自编码网络结构。
图3是svm算法流程图
图4是机器人控制策略框图
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
基于cae-svm机器人手势识别方法的流程图如图1所示,主要分为:采集表面肌电信号、cae模型提取信号特征、svm模型判别手势动作、机器人控制器根据判别的动作控制机器人手臂动作四步。
首先对采集到的肌电信号样本标注类别,分别为:手爪动作、手腕动作、手爪闭合、手爪张开、手腕顺时针旋转、手腕逆时针旋转,共6种类别。然后将建立好的数据集中的原始数据划分为训练样本图像和测试样本图像,训练样本用于训练cae模型和svm模型,测试样本图像用于测试算法模型的有效性。测试样本输入训练完成的cae模型后,提取cae模型隐含层的输出,将该输出作为表面肌电信号的深层特征输入到训练完成的svm模型中,并输出手势类别。最后将输出的手势类别用于控制机器人动作。
然后构建cae网络结构,cae网络结构设置为1000-500-300-6的网络结构,压缩系数λ为0.003,最大迭代次数设置为300,学习率设置为0.05,激活函数设置为sigmoid,误差函数采用均方根误差。cae的网络模型结构如图2所示。
训练好cae模型后,需要从cae网络的隐含层中提取深层特征,从原始数据到提取深层特征的步骤分为:编码过程和解码过程。
编码过程是将原始数据x(n)输入到输入层在传到隐含层,实现对原始数据的编码:
h1=σ(w1x(n) b1)(1)
其中,h1是第一个隐含层的输出,σ是激活函数,w1和b1分别是权重和阈值。
解码过程是将隐含层提取的样本特征输出到输出层,实现对隐含层提取的样本特征的解码:
cae网络在数据解码重构时,通过在损失函数中将雅可比矩阵f范数的平方作为约束项,即
其中λ是压缩比例系数,
其中,hi表示隐含层输出,wij表示cae网络中层与层之间的连接权值。
最后一层隐含层的输出作为样本特征,再将样本特征输入到svm分类器中,完成分类目标,svm的分类核心原理是:
设线性可分的样本集为(xi,yi),其中i=1,2,...,n,xi是通过cae网络提取的n个特征,yi是手势的类别标号,通过间隔最大化学习得到分类的最优超平面为:
ω·x b=0(5)
式中ω是法向量,决定了超平面的方向。b是位移量,决定超平面与原点的距离。相应的线性分类函数的一般形式为:
f(x)=ω·x b(6)
同时最优超平面使所有样本点满足:
|f(x)|≥1(7)
svm的支持向量是令式6成立的样本点,svm算法流程如图3所示。
在控制机器人手臂动作时,预先将编码做出相应的动作,控制器根据cae-svm识别的动作类型用于控制机器人手臂动作,控制策略框图如图4所示。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。
1.基于cae-svm的机器人手势识别方法,具体步骤如下,其特征在于,
步骤1:使用肌电采集传感器采集的表面肌电信号样本,同时制作样本数据库,并划分训练样本和测试样本;
步骤2:构建cae模型,确定cae模型隐含层的层数、隐含层神经元的数目,压缩系数λ;
步骤3:将表面肌电信号送入cae网络中,提取表面肌电信号的深层特征;
步骤4:将提取的肌电信号深层特征输入到svm模型中进行分类;
步骤5:将cae-svm模型输出的类别控制机器人动作。
2.根据权利要求1所述的构建cae模型,其特征在于:cae网络结构设置为1000-500-300-6的网络结构,压缩系数λ为0.003,最大迭代次数设置为300,学习率设置为0.05,激活函数设置为sigmoid,误差函数采用均方根误差。
3.根据权利要求1所述的提取表面肌电信号的深层特征,其特征在于:
从训练好的cae模型隐含层中提取深层特征,原始数据到提取深层特征的步骤分为:编码过程和解码过程;
编码过程是将原始数据x(n)输入到输入层在传到隐含层,实现对原始数据的编码:
h1=σ(w1x(n) b1)(1)
其中,h1是第一个隐含层的输出,σ是激活函数,w1和b1分别是权重和阈值;
解码过程是将隐含层提取的样本特征输出到输出层,实现对隐含层提取的样本特征的解码:
cae网络在数据解码重构时,通过在损失函数中将雅可比矩阵f范数的平方作为约束项,即
其中λ是压缩比例系数,
其中,hi表示隐含层输出,wij表示cae网络中层与层之间的连接权值;将最后一层隐含层的输出作为样本特征。
4.根据权利要求1所述的svm模型,其特征在于:
设线性可分的样本集为(xi,yi),其中i=1,2,...,n,xi是通过cae网络提取的n个特征,yi是手势的类别标号,通过间隔最大化学习得到分类的最优超平面为:
ω·x b=0(5)
式中ω是法向量,决定了超平面的方向。b是位移量,决定超平面与原点的距离。相应的线性分类函数的一般形式为:
f(x)=ω·x b(6)
同时最优超平面使所有样本点满足:
|f(x)|≥1(7)
svm的支持向量是令式6成立的样本点。
5.根据权利要求1所述的机器人动作,其特征在于:
手爪动作、手腕动作、手爪闭合、手爪张开、手腕顺时针旋转、手腕逆时针旋转,共6种机器人手臂动作类型。
技术总结