一种识别握姿的方法、装置、假肢及可读存储介质
技术领域
本申请涉及肌电技术领域,尤其涉及一种识别握姿的方法、装置、假肢及可读存储介质。
背景技术
上肢肌电假体是一种机电装置,其目的是部分地恢复失去肢体的功能和外观。它们通常包括一个基于表面肌电图(EMG)的肌肉活动记录单元、一个主动末端执行器,如带有电动手指和腕部旋转单元的假肢手,以及一个将记录的肌肉活动信息转换为末端执行器的运动指令的处理单元。
自20世纪70年代以来,统计学和机器学习等领域的计算工具在提高上肢肌电假肢控制方面取得了很大的进展。这种方法主要通过使用分类算法,增加控制界面的直观性。其基本工作原理是,使用多个传感器获取运动数据,提取数据特征,在高维空间中形成特定于运动的簇,用于区分运动的类别,从而形成不同的动作指令,对应上肢肌电假体做相应的动作。
然而,上述方法区分动作类别,存在分类性能低的缺点。
发明内容
本申请实施例的目的在于提供一种识别握姿的方法、装置、假肢及可读存储介质,以解决上述分类性能低的问题。具体技术方案如下:
第一方面,本申请提供了一种识别握姿的方法,所述方法包括:
获取采集的握姿的肌电信号和惯性信号;
基于所述肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;
对所述肌电数据特征和惯性数据特征进行特征降维;
将特征降维后的所述肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;
基于预先存储的分类结果与握姿的对应关系,确定所述目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行所述目标握姿对应的握姿动作的指令。
可选的,所述对所述肌电数据特征和惯性数据特征进行特征降维,包括:
将所述肌电数据特征、所述惯性数据特征及投影向量代入特征投影计算公式,得到特征降维后的肌电数据特征和惯性数据特征,其中,所述投影向量是预先利用线性判别分析方法计算得到。
可选的,所述获取采集的握姿的肌电信号和惯性信号,包括:
获取信号采集装置输出的原始肌电信号和原始惯性信号;
通过第一滤波器滤除所述原始肌电信号电磁干扰,得到第一中间肌电信号;
通过第二滤波器滤除所述第一中间肌电信号运动干扰,得到第二中间肌电信号;
通过第三滤波器滤除所述原始惯性信号电磁干扰,得到中间惯性信号;
通过线性插值方法对所述第二中间肌电信号和中间惯性信号进行采样,得到所述肌电信号和所述惯性信号。
可选的,所述基于所述肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征,包括:
利用滑动窗口法提取所述肌电信号的波长、过零点数、斜率符号变化数、偏度、时间序列、对数方差及威尔逊幅值,作为肌电数据特征;
利用滑动窗口法提取所述惯性信号的平均值,作为惯性数据特征。
可选的,所述获取采集的握姿的肌电信号和惯性信号之前,还包括:
采集多种握姿的肌电数据和惯性数据,生成训练数据集和验证数据集,其中,所述多种握姿包括抓握、横向抓握和三指抓握、指针和手部张开;
基于所述训练数据集和所述验证数据集确定所述目标分类模型的目标参数组合;
将所述目标参数组合代入分类模型中,将所述训练数据集和验证数据集合并为合并集,利用所述合并集训练所述分类模型,直至模型收敛。
可选的,所述基于所述训练数据集和所述验证数据集确定所述目标分类模型的目标参数组合,包括:
在预设数值范围内随机选取多个候选参数组合;
针对每个候选参数组合,将所述候选参数组合代入分类模型,利用训练数据集训练所述分类模型,得到候选分类模型;
利用验证数据集验证所述候选分类模型,利用损失函数计算损失值,得到每个候选参数组合对应的损失值;
选取最小的损失值所对应的候选参数组合作为目标参数组合。
第二方面,本申请提供了一种识别握姿的装置,所述装置包括:获取模块、提取模块、特征降维模块、分类模块及控制模块;
所述获取模块,用于获取采集的握姿的肌电信号和惯性信号;
所述提取模块,用于基于所述肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;
所述特征降维模块,用于对所述肌电数据特征和惯性数据特征进行特征降维;
所述分类模块,用于将特征降维后的所述肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;
所述生成模块,用于基于预先存储的分类结果与握姿的对应关系,确定所述目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行所述目标握姿对应的握姿动作的指令。
可选的,所述特征降维模块,还用于:
将所述肌电数据特征、所述惯性数据特征及投影向量代入特征投影计算公式,得到特征降维后的肌电数据特征和惯性数据特征,其中,所述投影向量是预先利用线性判别分析方法计算得到。
可选的,所述获取模块,还用于:
获取信号采集装置输出的原始肌电信号和原始惯性信号;
通过第一滤波器滤除所述原始肌电信号电磁干扰,得到第一中间肌电信号;
通过第二滤波器滤除所述第一中间肌电信号运动干扰,得到第二中间肌电信号;
通过第三滤波器滤除所述原始惯性信号电磁干扰,得到中间惯性信号;
通过线性插值方法对所述第二中间肌电信号和中间惯性信号进行采样,得到所述肌电信号和所述惯性信号。
可选的,所述提取模块,还用于:
利用滑动窗口法提取所述肌电信号的波长、过零点数、斜率符号变化数、偏度、时间序列、对数方差及威尔逊幅值,作为肌电数据特征;
利用滑动窗口法提取所述惯性信号的平均值,作为惯性数据特征。
可选的,所述装置还包括:
采集模块,用于采集多种握姿的肌电数据和惯性数据,生成训练数据集和验证数据集,其中,所述多种握姿包括抓握、横向抓握和三指抓握、指针和手部张开;
确定模块,用于基于所述训练数据集和所述验证数据集确定所述目标分类模型的目标参数组合;
训练模块,用于将所述目标参数组合代入分类模型中,将所述训练数据集和验证数据集合并为合并集,利用所述合并集训练所述分类模型,直至模型收敛。
可选的,所述确定模块,还用于:
在预设数值范围内随机选取多个候选参数组合;
针对每个候选参数组合,将所述候选参数组合代入分类模型,利用训练数据集训练所述分类模型,得到候选分类模型;
利用验证数据集验证所述候选分类模型,利用损失函数计算损失值,得到每个候选参数组合对应的损失值;
选取最小的损失值所对应的候选参数组合作为目标参数组合。
第三方面,本申请提供了一种识别握姿的假肢,所述假肢包括:肌电传感器、惯性传感器,握姿识别模块、动作执行模块;
所述肌电传感器,用于采集握姿的肌电信号;
所述惯性传感器,用于采集握姿的惯性信号;
所述握姿识别模块,用于获取采集的握姿的肌电信号和惯性信号;基于所述肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;对所述肌电数据特征和惯性数据特征进行特征降维;将特征降维后的所述肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;基于预先存储的分类结果与握姿的对应关系,确定所述目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行所述目标握姿对应的握姿动作的指令;
所述动作执行模块,用于按照所述握姿识别模块的指令做出与所述目标握姿对应的握姿动作。
第四方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的识别握姿的方法。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有假肢控制方法的程序,所述识别握姿的方法的程序被处理器执行时实现第一方面任一所述的识别握姿的方法的步骤。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的识别握姿的方法。
本申请实施例有益效果:
本申请实施例提供了一种识别握姿的方法、装置、假肢及可读存储介质,本申请通过获取采集的握姿的肌电信号和惯性信号;基于肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;对肌电数据特征和惯性数据特征进行特征降维;将特征降维后的肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;基于预先存储的分类结果与握姿的对应关系,确定目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行目标握姿对应的握姿动作的指令。
本申请实施例通过特征提取,可以在原始的肌电信号和惯性信号中提取出对分类最有效、数目最少的肌电数据特征和惯性数据特征,再通过将肌电数据特征和惯性数据特征进行特征降维,将肌电数据特征和惯性数据特征投影到最小维数特征空间中,使得在最小维数特征空间中,对应不同动作类别的异类模式点相距较远,即不同动作之间的数据特征之间的距离较大,对应相同动作类别的同类模式点相距较近,即同一个动作的数据特征之间距离较小,经过这样的降维处理,再将降维后的肌电数据特征和惯性数据特征输入到预先训练的目标分类模型中,能够保证最大限度的将不同的动作分离,提高分类性能。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种识别握姿的方法的流程图;
图2为图1中S101的流程图;
图3为本申请中训练分类模型方法的流程图;
图4为图3中S302的流程图;
图5为本申请实施例提供的一种识别握姿的装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有方法通过提取数据特征,在高维空间中形成特定于运动的簇,用于区分运动的类别,导致分类性能低的问题,为此,本申请实施例提供了一种识别握姿的方法,所述方法可以应用于假肢中,所述假肢包括:用于采集握姿的肌电数据的肌电传感器,用于采集握姿的惯性数据的惯性传感器,握姿识别模块及用于按照所述握姿识别模块的指令做出与所述目标握姿对应的握姿动作的动作执行模块;示例性的,所述方法可以应用于所述握姿识别模块中。
下面将结合具体实施方式,对本申请实施例提供的一种识别握姿的方法进行详细的说明,如图1所示,具体步骤如下:
S101,获取采集的握姿的肌电信号和惯性信号。
本申请实施例中,可以通过令用户在前臂指定位置(如:腕伸肌和腕屈肌)佩戴采集装置,采集用户做握姿时的肌电信号和惯性信号。采集装置可以是由肌电传感器(即:EMG电极)和惯性测量单元(IMU)组成的EMG-IMU传感器,惯性测量单元(IMU)由三轴加速度计、陀螺仪和磁力仪组成,采集装置可以设置两组。肌电信号是众多肌纤维中运动单元动作电位在时间和空间上的叠加,能在一定程度上反映神经肌肉的活动。惯性信号包括:加速度、角速度和方向。
S102,基于肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征。
本申请实施例中,原始的肌电信号和惯性信号存在干扰值和异常值,所以为了提取对分类识别有效的数据,需要根据肌电信号和惯性信号,通过预设的特征提取算法分别提取肌电数据特征和惯性数据特征。
S103,对肌电数据特征和惯性数据特征进行特征降维。
本申请实施例中,提取的肌电数据特征和惯性数据特征是多维的,往往无法构建有效特征,为了得到最有效的特征,可以对肌电数据特征和惯性数据特征进行特征降维。从而实现特征空间维数的压缩,即获取一组“少而精”且分类错误概率小的分类待征。
S104,将特征降维后的肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果。
本申请实施例中,预先训练了目标分类模型,目标分类模型用于将不同握姿对应的数据特征进行分类,将特征降维后的肌电数据特征和惯性数据特征输入到该目标分类模型中,可以得到目标分类结果。
S105,基于预先存储的分类结果与握姿的对应关系,确定目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行目标握姿对应的握姿动作的指令。
本申请实施例中,预先设置并存储了分类结果与握姿的对应关系,根据目标分类结果可以确定对应的目标握姿,根据该目标握姿可以确定对应的握姿动作的指令,根据握姿动作的指令控制肌电假肢执行对应的握姿动作。例如分类结果1对应第一种握姿,分类结果2对应第二种握姿,当目标分类结果为1时,对应的目标握姿为第一种握姿,根据第一种握姿对应的指令控制肌电假肢执行对应的握姿动作。
本申请实施例,通过获取采集的握姿的肌电信号和惯性信号;基于肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;对肌电数据特征和惯性数据特征进行特征降维;将特征降维后的肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;基于预先存储的分类结果与握姿的对应关系,确定目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行目标握姿对应的握姿动作的指令。
本申请实施例通过特征提取,可以在原始的肌电信号和惯性信号中提取出对分类最有效、数目最少的肌电数据特征和惯性数据特征,再通过将肌电数据特征和惯性数据特征进行特征降维,将肌电数据特征和惯性数据特征投影到最小维数特征空间中,使得在最小维数特征空间中,对应不同动作类别的异类模式点相距较远,即不同动作之间的数据特征之间的距离较大,对应相同动作类别的同类模式点相距较近,即同一个动作的数据特征之间距离较小,经过这样的降维处理,再将降维后的肌电数据特征和惯性数据特征输入到预先训练的目标分类模型中,能够保证最大限度的将不同的动作分离,提高分类性能。
在本发明的又一实施例中,所述步骤S103中对肌电数据特征和惯性数据特征进行特征降维,可以包括以下步骤:
将肌电数据特征、惯性数据特征及投影向量代入特征投影计算公式,得到特征降维后的肌电数据特征和惯性数据特征,其中,所述投影向量是预先利用线性判别分析方法计算得到。
本申请实施例中,可以预先利用线性判别分析方法计算得到投影向量,投影的目标是最大化一个被称为Rayleigh系数J(W)的目标值:
其中,W是一个线性投影矩阵,SI和SN是对称矩阵,其中,SI为类内矩阵SN为类间矩阵。取得最大值的投影向量W是最佳鉴别方向,最优投影方向能使得样本数据投影后,不同类样本的分离程度和同类样本的聚拢程度都达到最大。
预先采集数据生成训练集,其中训练集内样本值设为:x
1,x
2,x
3,…x
N,样本的种类数是NC。每个子w
i分别含有nc
i个样本值,且满足条件:
每一个种类的样本均值是:
整体的样本均值是:
类内离散矩阵是:
类间离散度矩阵是:
在保证矩阵SW不奇异的条件下,最大化J(W)的问题求解可以转化为一个特征值分解问题,最优投影矩阵W的列向量就是投影向量WT。
将肌电数据特征、惯性数据特征及投影向量WT代入特征投影计算公式:y=WTx,得到特征降维后的肌电数据特征和惯性数据特征。
本申请实施例中,通过将肌电数据特征、惯性数据特征及投影向量代入特征投影计算公式,得到特征降维后的肌电数据特征和惯性数据特征,其中,所述投影向量是预先利用线性判别分析方法计算得到。通过特征降维,可以使不同类样本的分离程度和同类样本的聚拢程度都达到最大。
在本发明的又一实施例中,如图2所示,S101中获取采集的握姿的肌电信号和惯性信号,可以包括以下步骤:
S201,获取信号采集装置输出的原始肌电信号和原始惯性信号。
本申请实施例中,采集装置直接采集的是原始肌电信号和原始惯性信号,原始肌电信号和原始惯性信号中都存在一些干扰,直接使用会导致运算量较大且误差较大。
S202,通过第一滤波器滤除原始肌电信号电磁干扰,得到第一中间肌电信号。
本申请实施例中,由于原始肌电信号存在电磁干扰,所以,在该步骤中,需要对原始肌电信号进行预处理,具体过程为通过第一滤波器滤除原始肌电信号电磁干扰。示例性的,第一滤波器可以采用Hampel滤波器。
S203,通过第二滤波器滤除第一中间肌电信号运动干扰,得到第二中间肌电信号。
本申请实施例中,原始肌电信号中还存在运动干扰,滤除电磁干扰得到第一中间肌电信号之后,通过第二滤波器滤除第一中间肌电信号中的运动干扰,得到第二中间肌电信号。示例性的,第二滤波器可以采用4阶巴特沃思带通滤波器。滤除运动干扰时,可以在频率为在[10,500]Hz范围内进行滤波。
S204,通过第三滤波器滤除原始惯性信号电磁干扰,得到中间惯性信号。
本申请实施例中,原始惯性信号中也存在电磁干扰,所以,在该步骤中,需要对原始惯性信号进行预处理,具体过程为通过第三滤波器滤除原始惯性信号电磁干扰,得到中间惯性信号。示例性的,第三滤波器可以采用Hampel滤波器。
S205,通过线性插值方法对第二中间肌电信号和中间惯性信号进行采样,得到肌电信号和惯性信号。
本申请实施例中,为了确保滤波后的数据不失真,通过线性插值方法对滤波后得到的第二中间肌电信号和中间惯性信号进行采样,得到肌电信号和惯性信号。
本申请实施例中,获取信号采集装置输出的原始肌电信号和原始惯性信号;通过第一滤波器滤除原始肌电信号电磁干扰,得到第一中间肌电信号;通过第二滤波器滤除第一中间肌电信号运动干扰,得到第二中间肌电信号;通过第三滤波器滤除原始惯性信号电磁干扰,得到中间惯性信号;通过线性插值方法对第二中间肌电信号和中间惯性信号进行采样,得到肌电信号和惯性信号。本方案中,通过滤除除信号中的电磁干扰和运动干扰,减少数据误差,通过线性插值方法对滤波后的信号进行采样,确保滤波后的数据不失真。
在本发明的又一实施例中,S102中基于肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征,具体过程为:利用滑动窗口法提取肌电信号的波长、过零点数、斜率符号变化数、偏度、时间序列、对数方差及威尔逊幅值,作为肌电数据特征;利用滑动窗口法提取惯性信号的平均值,作为惯性数据特征。
本申请实施例中,可以利用滑动窗口法提取七种时域肌电数据特征,即提取肌电数据的波长、过零点数、斜率符号变化数、偏度、时间序列、对数方差及威尔逊幅值,作为肌电数据特征;利用滑动窗口法提取惯性数据的平均值,作为惯性数据特征。其中,可以使用以下其中一种或多种方式提取肌电数据特征:
A.波长提取公式为:
波长是K点信号长度的简单累加,反映了携带肌电数据的信号波形的复杂度,也反映了该信号幅值、频率以及持续时间等共同作用的效果。S:样本点;k是数据个数。
B.过零点数(zeros crossing,ZC):是一种简单的频率统计特征,计算在一段时间内信号波形通过时间轴(也就是零)的次数。给定两个相邻的样本xixi+1,满足以下条件,过零点数的值加一:
xixi+1≤0,|xi-xi+1|≥ε
C.斜率符号变化数(slope sign changes,SSC):是描述信号频率信息的另一个特征量。给定信号的三个连续样本值,xi+1,xi,xi-1,满足以下条件,变化数的值加一:
(xi+1-xi)*(xi-xi-1)≤0,|xi-xi+1|≥ε,|xi-xi-1|≥ε
D.偏度:是衡量数据偏斜的方向及偏斜程度的特征向量。设传感器数据x的一个样本,则数据x的偏度可估计为:
式中,SK为偏度,xi为样本观测值,n为样本个数,xmean为样本n次观测值的平均值,sd为样本标准差。
E.时间序列:通过AR模型得到,AR模型是一种常用的时间序列模型,其公式为:
其中s(n)表示信号,ai(=1,2,3…p)表示AR模型系数,p表示模型阶数,w(n)表示随机白噪声。
F.对数方差:
其公式为:
式中,x为时间窗内的样本点,N为样本个数。
G.威尔逊幅值(Willison Amplitude,WAMP):是信号的频率信息的度量。它统计了两个相邻段之间的信号幅度之间的差异超过预定义阈值的次数。此外,它与运动单元动作点位(MUAP)和肌肉收缩力有关。其公式为:
式中,x为时间窗内的样本点,N为样本个数。
本申请实施例中,利用滑动窗口法提取肌电数据的波长、过零点数、斜率符号变化数、偏度、时间序列、对数方差及威尔逊幅值,作为肌电数据特征;利用滑动窗口法提取惯性数据的平均值,作为惯性数据特征。通过特征提取,可以减少冗余特征,提高分类性能。
在本发明的又一实施例中,如图3所示,获取采集的握姿的肌电信号和惯性信号之前,还包括训练分类模型,可以包括以下步骤:
步骤S301,采集多种握姿的肌电数据和惯性数据,生成训练数据集和验证数据集,其中,多种握姿包括抓握、横向抓握和三指抓握、指针和手部张开。
本申请实施例中,可以预先采集多种握姿的肌电数据和惯性数据,生成训练数据集和验证数据集,其中,多种握姿包括抓握、横向抓握和三指抓握、指针和手部张开。在一个示例中,采集多种握姿的肌电数据和惯性数据时,在受试者手臂上佩戴传感器,令受试者跟随显示设备上的提示动画分别演示五个动作:抓握、横向抓握和三指抓握、指针和手部张开。在演示每个动作时,参与者以中等速度执行相应的动作。每次试验持续5s,休息3s,分别记录两个单独的数据块,每个数据块包含每个动作连续重复10次的数据,这两个数据块分别用作训练数据集和验证数据集。
步骤S302,基于训练数据集和验证数据集确定目标分类模型的目标参数组合。
本申请实施例中,分类模型可以是正则判别分析(Regularized DiscriminantAnalysis,RDA)模型,该模型中包含一组参数组合,训练模型时需确定出分类模型的目标参数组合。
步骤S303,将目标参数组合代入分类模型中,将训练数据集和验证数据集合并为合并集,利用合并集训练分类模型,直至模型收敛。
本申请实施例中,得到目标参数组合后,将目标参数组合代入分类模型中,将训练数据集和验证数据集合并为合并集,利用合并集训练分类模型,直至模型收敛。
本申请实施例中,采集多种握姿的肌电数据和惯性数据,生成训练数据集和验证数据集,其中,多种握姿包括抓握、横向抓握和三指抓握、指针和手部张开;基于训练数据集和验证数据集确定目标分类模型的目标参数组合;将目标参数组合代入分类模型中,将训练数据集和验证数据集合并为合并集,利用合并集训练分类模型,直至模型收敛。通过调整参数组合以及代入目标参数组合后训练分类模型直至模型收敛,提高分类模型的分类性能。
在本发明的又一实施例中,如图4所示,S302中基于训练数据集和验证数据集确定目标分类模型的目标参数组合,可以包括以下步骤:
S401,在预设数值范围内随机选取多个候选参数组合。
本申请实施例中,可以先在预设数值范围内随机选取多个候选参数组合,在正则判别分析(Regularized Discriminant Analysis,RDA)模型中,两个参数的数值均在0至1之间,随机选取候选参数组合时,可以以0.025为步长依次选取,例如候选参数组合(0.05,0.075)。
S402,针对每个候选参数组合,将候选参数组合代入分类模型,利用训练数据集训练分类模型,得到候选分类模型。
本申请实施例中,针对每个候选参数组合,将候选参数组合代入分类模型,利用训练数据集训练分类模型,可以得到候选分类模型。
S403,利用验证数据集验证候选分类模型,利用损失函数计算损失值,得到每个候选参数组合对应的损失值。
本申请实施例中,得到候选模型之后,利用验证数据集验证候选分类模型得到验证结果,利用损失函数计算验证结果的损失值,得到每个候选参数组合对应的损失值。其中损失函数可以是多类交叉熵损失函数。交叉熵损失与离散随机变量的经验分布和估计分布之间的Kullback-Leibler散度密切相关。KL散度可以帮助我们选择最优的参数。用y∈{1,2,…C}表示离散目标变量,对维度为N*C的Y矩阵进行二进制编码:
多类交叉熵损失函数,可以这样定义:
式中,
表示样本i属于c类的后验概率,即理想情况下,当数据集中所有样本正确分类且后验概率恰好为1时,交叉熵损失等于0。另一方面,交叉熵损失没有下界;糟糕的概率预测可以产生任意低的概率(例如无穷大负值)分数。
S404,选取最小的损失值对应的候选参数组合作为目标参数组合。
本申请实施例中,确定每个候选参数组合对应的损失值之后,选取其中最小的损失值对应的候选参数组合作为目标参数组合。例如候选参数组合(0.05,0.075)对应的损失值为0.03,其他候选参数组合对应的损失值均大于0.03,则候选参数组合(0.05,0.075)为目标参数组合。
本申请实施例中,随机选取多个候选参数组合;针对每个候选参数组合,将候选参数组合代入分类模型,利用训练数据集训练分类模型,得到候选分类模型;利用验证数据集验证候选分类模型,利用损失函数计算损失值,得到每个候选参数组合对应的损失值;选取最小的损失值对应的候选参数组合作为目标参数组合。通过调整参数组合以最小化损失值,确保所选择的参数组合相对于后验概率估计的质量是最优的,从而保证分类模型的分类性能。
基于相同的技术构思,本申请实施例还提供了一种识别握姿的装置,如图5所示,该装置包括:获取模块、提取模块、特征降维模块、分类模块及控制模块;
所述获取模块,用于获取采集的握姿的肌电信号和惯性信号;
所述提取模块,用于基于所述肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;
所述特征降维模块,用于对所述肌电数据特征和惯性数据特征进行特征降维;
所述分类模块,用于将特征降维后的所述肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;
所述生成模块,用于基于预先存储的分类结果与握姿的对应关系,确定所述目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行所述目标握姿对应的握姿动作的指令。
可选的,所述特征降维模块,还用于:
将所述肌电数据特征、所述惯性数据特征及投影向量代入特征投影计算公式,得到特征降维后的肌电数据特征和惯性数据特征,其中,所述投影向量是预先利用线性判别分析方法计算得到。
可选的,所述获取模块,还用于:
获取信号采集装置输出的原始肌电信号和原始惯性信号;
通过第一滤波器滤除所述原始肌电信号电磁干扰,得到第一中间肌电信号;
通过第二滤波器滤除所述第一中间肌电信号运动干扰,得到第二中间肌电信号;
通过第三滤波器滤除所述原始惯性信号电磁干扰,得到中间惯性信号;
通过线性插值方法对所述第二中间肌电信号和中间惯性信号进行采样,得到所述肌电信号和所述惯性信号。
可选的,所述提取模块,还用于:
利用滑动窗口法提取所述肌电信号的波长、过零点数、斜率符号变化数、偏度、时间序列、对数方差及威尔逊幅值,作为肌电数据特征;
利用滑动窗口法提取所述惯性信号的平均值,作为惯性数据特征。
可选的,所述装置还包括:
采集模块,用于采集多种握姿的肌电数据和惯性数据,生成训练数据集和验证数据集,其中,所述多种握姿包括抓握、横向抓握和三指抓握、指针和手部张开;
确定模块,用于基于所述训练数据集和所述验证数据集确定所述目标分类模型的目标参数组合;
训练模块,用于将所述目标参数组合代入分类模型中,将所述训练数据集和验证数据集合并为合并集,利用所述合并集训练所述分类模型,直至模型收敛。
可选的,所述确定模块,还用于:
在预设数值范围内随机选取多个候选参数组合;
针对每个候选参数组合,将所述候选参数组合代入分类模型,利用训练数据集训练所述分类模型,得到候选分类模型;
利用验证数据集验证所述候选分类模型,利用损失函数计算损失值,得到每个候选参数组合对应的损失值;
选取最小的损失值所对应的候选参数组合作为目标参数组合。
本申请实施例,通过获取采集的握姿的肌电信号和惯性信号;基于肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;对肌电数据特征和惯性数据特征进行特征降维;将特征降维后的肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;基于预先存储的分类结果与握姿的对应关系,确定目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行目标握姿对应的握姿动作的指令。
本申请实施例通过特征提取,可以在原始的肌电信号和惯性信号中提取出对分类最有效、数目最少的肌电数据特征和惯性数据特征,再通过将肌电数据特征和惯性数据特征进行特征降维,将肌电数据特征和惯性数据特征投影到最小维数特征空间中,使得在最小维数特征空间中,对应不同动作类别的异类模式点相距较远,即不同动作之间的数据特征之间的距离较大,对应相同动作类别的同类模式点相距较近,即同一个动作的数据特征之间距离较小,经过这样的降维处理,再将降维后的肌电数据特征和惯性数据特征输入到预先训练的目标分类模型中,能够保证最大限度的将不同的动作分离,提高分类性能。
基于相同的技术构思,本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取采集的握姿的肌电信号和惯性信号;
基于所述肌电信号和惯性信号,分别提取肌电数据特征和惯性数据特征;
对所述肌电数据特征和惯性数据特征进行特征降维;
将特征降维后的所述肌电数据特征和惯性数据特征,输入到预先训练的目标分类模型中,得到目标分类结果;
基于预先存储的分类结果与握姿的对应关系,确定所述目标分类结果对应的目标握姿,并生成用于控制肌电假肢执行所述目标握姿对应的握姿动作的指令。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一识别握姿的方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一识别握姿的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。