手部关节角度估计方法、估计装置、存储介质和设备

文档序号:30648626发布日期:2022-07-05 23:30阅读:173来源:国知局
手部关节角度估计方法、估计装置、存储介质和设备

1.本发明属于计算机视觉技术领域,具体地讲,涉及一种手部关节角度估计方法、估计装置、计算机可读存储介质和计算机设备。


背景技术:

2.几十年来,机械手在搜索救援、工业以及人工假肢等领域得到了广泛的研究和应用。表面肌电信号具有超前于运动产生、便于采集的特性,是一种较为理想的可用来提取人体运动意图的生理信号,在康复医疗及人机交互等领域都存在众多应用,在世界范围内被广泛用于机械手的灵巧控制。过去很长一段时间内,肌电控制常采用离散动作识别的方式去实现机械手控制,然而手部作为人体最有特色的器官,具有高度的灵活性,多自由度实时连续控制的方法才是机械手未来的发展方向,因为这能提供更加自然的、符合人体直觉的控制。很多最新研究为了实现连续实时的控制策略,建立了算法实现肌电信号与手指关节角度之间的映射关系。另外,考虑到针对截肢者的应用以及手部肌电本身难以采集这两个问题,人们常用手臂肌电来建立回归算法,以此估计手部运动时的关节角度。由于人体手部在运动过程中手臂的肌肉会用时活动,因此通过手臂肌电信号估计手部关节角度是可行的。综合目前研究,通过肌电信号进行人体实时关节角度估计的途径主要分为两种:基于模型的方法和基于数据的方法。基于模型的方法,最为常见的是hill模型、huxley模型等生理学模型。基于模型的方法能解释人体运动的产生过程,模型中的参数能表达人体骨骼与肌肉系统的属性,如肌肉纤维长度及肌腱长度等。基于数据的方法目前最常用的是基于机器学习以及深度学习实现的有监督方法,这类方法直接建立由皮肤表面肌电信号到连续运动量之间的回归算法,简单可靠。目前,高斯过程回归、长短时记忆网络等回归算法已在实时估计运动过程手部关节角度这一任务上有广泛的应用。
3.基于模型的关节角度估计方法虽然有很强的可解释性,但模型中含有大量难以直接测量的参数,目前仅用于自由度较低的几个关节的运动估计,而人的手部活动需要配合的关节较多,这就要求估计方法支持较多的自由度。基于数据的方法往往可以实现估计相对较多自由度,现有发明中应用高斯过程的回归算法可以实现皮肤表面肌电信号到多自由度手指关节角度的映射,但是在运动过程中,当前时刻的关节角度可能与当前时刻之前的肌电信号存在关联,然而高斯过程的回归算法未将这些关联纳入考虑。长短时记忆网络可提取到肌电信号中的时序特征,现有的基于肌电估计手部关节角度的深度学习网络大多加入长短时记忆网络学习肌电序列的整体时序特征。长短时记忆网络属于循环神经网络结构,当序列很长时,由于循环神经网络的长程依赖问题,容易丢失部分输入序列的信息。


技术实现要素:

4.(一)本发明所要解决的技术问题
5.本发明解决的技术问题是:如何有效地从肌电信号中提取到与关节角度相关的特征以及整体时序特征,以提高回归精度和避免传统循环神经学习导致的长距离依赖问题。
6.(二)本发明所采用的技术方案
7.一种手部关节角度估计方法,所述手部关节角度估计方法包括:
8.获取待测对象的手部运动时产生的实时表面肌电信号;
9.将所述表面肌电信号输入到预先训练完成的手部关节角度估计模型中,获得待测对象的手部运动时的预估关节角度,其中所述手部关节角度估计模型包括依次连接的多尺度卷积模块和多层多头注意力模块。
10.优选地,对所述手部关节角度估计模型进行预先训练的方法包括:
11.获取人体手部运动时的关节角度测量值及其对应的表面肌电信号数据;
12.将所述表面肌电信号数据作为训练样本输入到所述手部关节角度估计模型中,依次经过所述多尺度卷积模块和所述多层多头注意力模块的处理后,输出手部关节角度预测值;
13.根据所述手部关节角度预测值和所述关节角度测量值计算误差损失,并根据所述误差损失更新所述多尺度卷积模块和所述多层多头注意力模块的网络参数。
14.优选地,所述手部关节角度估计方法还包括:
15.对所述表面肌电信号数据进行特征提取,获得所述表面肌电信号数据对应的均方根特征向量,将所述均方根特征向量作为训练样本。
16.优选地,所述多尺度卷积模块包括两个多尺度卷积子网络和连接两个所述多尺度卷积子网络的池化层,两个所述多尺度卷积子网络的网络结构相同,其中所述多尺度卷积子网络包括三条并行的支路以及特征拼接层,每条所述支路包括两个卷积层,所述多尺度卷积模块对所述训练样本进行处理的方法包括:
17.将所述训练样本分别输入到第一个所述多尺度卷积子网络的三条所述支路进行卷积特征提取得到三个第一卷积特征,利用所述特征拼接层对三个所述第一卷积特征进行拼接,形成第一卷积融合特征;
18.利用所述池化层对所述第一卷积融合特征进行序列长度压缩之后分别输入到第二个所述多尺度卷积子网络的三条所述支路,进行卷积特征提取得到三个第二卷积特征,再利用第二个所述多尺度卷积子网络的特征拼接层对三个所述第二卷积特征进行拼接,形成第二卷积融合特征,其中所述第二卷积融合特征作为所述多层多头注意力模块的输入数据。
19.优选地,所述手部关节角度估计方法还包括:
20.对所述第二卷积融合特征进行位置编码后作为所述多层多头注意力模块的输入数据。
21.优选地,所述多层多头注意力模块包括若干层依次连接的多头注意力网络以及第一全连接层,每层所述多头注意力网络包括三个结构相同且平行排列的单头注意力网络、一个特征拼接层、第二全连接层,其中利用所述多层多头注意力模块对所述第二卷积融合特征进行处理的方法包括:
22.将进行位置编码后的所述第二卷积融合特征作为第一层多头注意力网络的输入数据,分别输入到三个所述单头注意力网络,进行第一次线性映射操作后得到三个单头注意力输出特征;
23.利用第一层所述多头注意力网络的特征拼接层对三个所述单头注意力输出特征
沿着特征通道的维度上进行拼接,得到注意力融合特征;
24.利用第二全连接层对所述注意力融合特征进行第二次线性映射操作,得到多头注意力输出特征,将所述多头注意力输出特征作为下一层所述多头注意力网络的输入数据,重复上述步骤直至最后一层所述多头注意力网络输出多头注意力输出特征;
25.将最后一层所述多头注意力网络输出的所述多头注意力输出特征输入到所述第一全连接层,得到手部关节角度预测值序列。
26.优选地,利用所述单头注意力网络对进行位置编码后的所述第二卷积融合特征进行第一次线性映射操作的方法包括:
27.根据如下公式分别计算得到查询特征向量序列键特征向量序列和值特征向量序列
28.q=cwq,k=cwk,v=cwv29.其中,wq、wk、wv为通过训练确定的线性映射操作,dq、dk、dv为常数,n表示肌电信号的信号通道数,c∈rn×
l
代表位置编码后的所述第二卷积融合特征;
30.按照如下公式得到单头注意力输出特征h:
[0031][0032]
本技术还公开了一种手部关节角度估计装置,所述手部关节角度估计装置包括:
[0033]
信号采集单元,用于采集待测对象的手部运动时产生的实时表面肌电信号;
[0034]
预先训练完成的手部关节角度估计模型,用于根据采集到的所述实时表面肌电信号预测得到待测对象的手部运动时的预估关节角度,其中所述手部关节角度估计模型包括依次连接的多尺度卷积模块和多层多头注意力模块。
[0035]
本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有手部关节角度估计程序,所述手部关节角度估计程序被处理器执行时实现上述的手部关节角度估计方法。
[0036]
本技术还公开了一种计算机设备,所述计算机设备包括计算机可读存储介质、处理器和存储在所述计算机可读存储介质中的手部关节角度估计程序,所述手部关节角度估计程序被处理器执行时实现上述的手部关节角度估计方法。
[0037]
(三)有益效果
[0038]
本发明公开了一种手部关节角度估计方法、估计装置、存储介质和设备,相对于现有方法,具有如下技术效果:
[0039]
本手指关节角度估计方法中用到的手部关节角度估计模型,通过多尺度卷积模块能够更好地从肌电信号时间序列中提取到与关节角度相关的特征,因此相比现有的高斯过程回归关节角度估计算法,能够实现更高的回归精度。同时通过多层多头注意力机制学习肌电序列的整体时序特征,避免了传统循环神经学习导致的长距离依赖问题,同时通过并行计算进一步提高了运行效率。
附图说明
[0040]
图1为本发明的实施例一的手部关节角度估计方法的流程图;
[0041]
图2为本发明的实施例一的手部关节角度估计模型的训练流程图;
[0042]
图3为本发明的实施例一的手部关节角度估计模型的网络结构图;
[0043]
图4为本发明的实施例一的手部关节角度估计模型得到的关节角度估计值与实际关节角度的对比图;
[0044]
图5为本发明的实施例二的手部关节角度估计装置的原理框图;
[0045]
图6为本发明的实施例四的计算机设备示意图。
具体实施方式
[0046]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0047]
在详细描述本技术的各个实施例之前,首先简单描述本技术的发明构思:现有技术中基于数据的深度学习模型主要是基于高斯过程的回归算法和基于长短时记忆网络,前者没有充分考虑关节角度和肌电信号之间的关联,导致回归精度不高,后者当面对长序列时,由于存在长程依赖问题,容易丢失部分输入序列的信息。为此,本实施例提供的手部关节角度估计方法,利用多尺度卷积模块和多层多头注意力模块构建手部关节角度估计模型,并对手部关节角度估计模型进行训练,使得手部关节角度估计模型充分学习到关节角度与表面肌电信号之间的关联以及表面肌电信号的整体时序特征,有利于提高预测精度和避免传统循环神经学习长距离依赖问题。
[0048]
具体地,如图1所示,本实施例一的手部关节角度估计方法包括如下步骤:
[0049]
步骤s10:获取待测对象的手部运动时产生的实时表面肌电信号;
[0050]
步骤s20:将所述表面肌电信号输入到预先训练完成的手部关节角度估计模型中,获得待测对象的手部运动时的预估关节角度。
[0051]
其中,手部关节角度估计模型包括依次连接的多尺度卷积模块和多层多头注意力模块,如图2所示,对手部关节角度估计模型进行预先训练的方法包括如下步骤:
[0052]
步骤s101:获取人体手部运动时的关节角度测量值及其对应的表面肌电信号数据;
[0053]
步骤s102:将所述表面肌电信号数据作为训练样本输入到所述手部关节角度估计模型中,依次经过所述多尺度卷积模块和所述多层多头注意力模块的处理后,输出手部关节角度预测值;
[0054]
步骤s103:根据所述手部关节角度预测值和所述关节角度测量值计算误差损失,并根据所述误差损失更新所述多尺度卷积模块和所述多层多头注意力模块的网络参数。
[0055]
示例性地,在步骤s101中,使用型号为delsys肌电采集系统的肌电差分电极作为肌电传感器进行表面肌电信号采集,采集的表面肌电信号来自于指伸肌、指屈肌、肱二头肌、肱三头肌以及前臂距离手肘2~6cm处的一圈肌肉,肌电信号采样频率2000hz,选用5~450hz的巴特沃兹滤波器对肌电信号带通滤波,用于基线校正并去除肌电信号的噪声。采用型号为cyberglove ii的数据手套进行手部关节角度数据采集,采样频率为20hz。针对关节角度,首先重采样至2000hz,保证表面肌电信号与关节角度序列在时间上同步,然后使用2hz零相位低通滤波器平滑化原始关节角度信号,避免信号中阶梯抖动,使其更像人体正常
的运动曲线。进一步记录采集肌电数据与关节角度数据的最大值与最小值,用于训练与测试数据的归一化。
[0056]
进一步地,本实施例还对表面肌电信号数据进行特征提取,获得表面肌电信号数据对应的均方根特征向量,将均方根特征向量作为到手部关节角度估计模型的输入。具体来说,以100个采样点为滑动窗长,每次计算完成当前窗的均方根特征后,向后滑动1个采样点,这样做可以生成与原始皮肤的表面肌电信号等长,并且时间点相对应的特征序列,这种方式可以最大程度提高数据量。最后使用滑动窗口生成窗长为400个采样点的均方根特征向量序列以及关节角度序列,滑动窗口步长为100个采样点,每一个滑窗中的关节角度与均方根特征数据将作为一个样本数据,关节角度向量维度代表估计的关节角度个数。本实施例中数据样本的60%用作训练数据,数据样本的40%作为测试数据。
[0057]
示例性地,在步骤s102中,如图3所示,多尺度卷积模块包括两个多尺度卷积子网络和连接两个多尺度卷积子网络的池化层,第一个虚线框和第二个虚线框分别表示第一个多尺度卷积自网络和第二个多尺度卷积自网络。两个多尺度卷积子网络的网络结构相同,其中多尺度卷积子网络包括三条并行的支路以及特征拼接层,每条所述支路包括两个卷积层。其中,每条支路的第一层卷积层是卷积核大小为1的一维卷积层,每条支路的第二层卷积层也为一维卷积层,各条支路的第二层卷积层的卷积核大小均不同,卷积核尺寸范围为3~11,需要根据实验情况进行选择。特征拼接层用于对三条支路得到的序列沿特征方向进行拼接,拼接后的输出特征的维度范围为128~512。池化层用于将第一个多尺度卷积子网络的输出特征的序列长度进行压缩,本实施例中池化层将输出特征的序列长度压缩为原来的一半。第二个多尺度卷积子网络的输出特征的维度为32~128。具体地,步骤s102中,多尺度卷积模块对训练样本进行处理的方法包括如下步骤:
[0058]
步骤s1021:将训练样本分别输入到第一个多尺度卷积子网络的三条支路进行卷积特征提取得到三个第一卷积特征,利用特征拼接层对三个第一卷积特征进行拼接,形成第一卷积融合特征。
[0059]
步骤s1022:利用池化层对第一卷积融合特征进行序列长度压缩之后分别输入到第二个多尺度卷积子网络的三条支路,进行卷积特征提取得到三个第二卷积特征,再利用第二个多尺度卷积子网络的特征拼接层对三个第二卷积特征进行拼接,形成第二卷积融合特征,其中第二卷积融合特征作为多层多头注意力模块的输入数据。
[0060]
作为优选实施例,在上述两个多尺度卷积子网络进行卷积操作后通过零填充操作保证输入输出序列等长,且上述两个多尺度卷积子网络后都加入指数线性单元激活函数,增加深度学习网络的非线性。
[0061]
进一步地,为了让注意力机制区分肌电信号在时间维度上的先后关系,本实施例还使用了额外的位置编码,即对第二卷积融合特征进行位置编码。具体来说,本实施例将第二卷积融合特征与绝对位置编码相加后再送入多层多头注意力机制模块,其中本实施例所用位置编码采用sinusoidal绝对位置编码,这是一种较为常用的位置编码方式,具体的位置编码过程在此不进行赘述。
[0062]
具体地,在步骤s102中,多层多头注意力模块包括若干层依次连接的多头注意力网络以及第一全连接层,多头注意力网络如图3的第三个虚线框所示,每层多头注意力网络包括三个结构相同且平行排列的单头注意力网络、一个特征拼接层、第二全连接层。其中,
多头注意力网络的层数范围为2~4,具体的层数根据实际情况来选择。
[0063]
其中,利用多层多头注意力模块对第二卷积融合特征进行处理的方法包括如下步骤:
[0064]
步骤s1023:将进行位置编码后的所述第二卷积融合特征作为第一层多头注意力网络的输入数据,分别输入到三个所述单头注意力网络,进行第一次线性映射操作后得到三个单头注意力输出特征。
[0065]
具体地,根据如下公式分别计算得到查询特征向量序列键特征向量序列和值特征向量序列
[0066]
q=cwq,k=cwk,v=cwv[0067]
其中,wq、wk、wv为通过训练确定的线性映射操作,dq、dk、dv为常数,一般设置为32~128,需要根据实际情况进行调整,c∈rn×
l
代表进行位置编码后的所述第二卷积融合特征,n表示肌电信号的信号通道数。
[0068]
按照如下公式得到单头注意力输出特征h:
[0069][0070]
其中,dk是人为设置的参数,用于缩放数值以防止计算结果过大进而造成数值不稳定。
[0071]
步骤s1024:利用第一层多头注意力网络的特征拼接层对三个单头注意力输出特征h沿着特征通道的维度上进行拼接,得到注意力融合特征。
[0072]
步骤s1025:利用第二全连接层对所述注意力融合特征进行第二次线性映射操作,得到多头注意力输出特征,将所述多头注意力输出特征作为下一层所述多头注意力网络的输入数据,重复上述步骤直至最后一层所述多头注意力网络输出多头注意力输出特征。需要说明的是,这里描述的重复上述步骤是指重复步骤s1023至步骤s1025。
[0073]
每一层的多头注意力网络的特征拼接层和第二全连接层的操作可以表示如下:
[0074]
z=concat(h1,h2,h3)wo[0075]
其中,z表示多头注意力输出特征,h1,h2,h3表示三个单头注意力输出特征,concat表示特征拼接操作,wo表示需要通过训练确定的第二次线性映射操作。
[0076]
步骤s1026:将最后一层多头注意力网络输出的多头注意力输出特征输入到第一全连接层,得到手部关节角度预测值序列。
[0077]
经过若干层的多头注意力网络的处理之后,利用第一全连接层对最后一层多头注意力网络输出的多头注意力输出特征进行处理,生成手部关节角度预测值序列。示例性地,将手部关节角度预测值序列的最后一个向量作为手部关节角度预测值。
[0078]
在步骤s103中,根据手部关节角度预测值和关节角度测量值计算均方误差损失,并由均方误差损失通过自适应矩阵估计算法更新多尺度卷积模块和多层多头注意力模块的网络参数,相关的计算过程和更新过程为现有技术,本技术不进行赘述。
[0079]
通过上述的训练之后,获得具有最优参数的手部关节角度估计模型。为了评价该模型的性能,将测试数据集输入到手部关节角度估计模型中,得到连续估计的关节角度曲线,与关节角度传感器得到的实际关节角度曲线进行对比。进一步地,用皮尔逊相关系数
(cc)和均方根误差(rmse)作为该模型的评价标准。皮尔逊相关系数(cc)计算公式如下:
[0080][0081]
其中,θ
est
、θ
real
及分别表示关节角度预测值、关节角度预测值的平均值、实际关节角度的值和实际关节角度的平均值。均方根差(rmse)计算公式如下:
[0082][0083]
本实施例在实验过程中,用15名被试者在完成不同尺寸物体抓握动作下关节角度数据与肌电数据对手部关节角度估计模型进行训练并测试,每个被试者的60%的数据用于模型训练,另外40%用于模型测试,测试手部近端指间关节和掌指关节的rmse、cc两个回归模型性能指标。如表1所示,测试结果表明,两项指标均大于目前常用的两种关节角度回归算法(基于长短时记忆网络的算法、基于稀疏伪输入高斯过程的算法)。这说明,本实施例所采用的手部关节角度估计模型可以更好地实现关节角度估计任务。其中本实施例在部分关节的估计效果如图4所示。图4展示了使用本实施例的手部关节角度估计方法在每一个时刻进行手指关节角度估计的效果,其中实线表示手指关节角度的真实值,虚线表示本实施例方法的预测值。实验结果表明,本实施例的方法对手指关节角度的预测值(虚线)与实际测量值(实线)相似,且没有失真。对于五根手指常运动的近端关节,本方法预测到了准确的运动趋势,且能够匹配手指关节真实的运动模式。当关节角度发生较大变化时,本算法的预测仍然保持稳定,没有出现失真现象。
[0084]
评价指标本实施例一模型长短时记忆网络稀疏伪输入高斯过程cc0.87
±
0.010.79
±
0.010.75
±
0.01rmse9.65
±
0.5511.67
±
0.6912.07
±
0.75
[0085]
表1三种不同算法在同一手部多关节角度估计任务中的回归性能评测
[0086]
综上,本实施例一提供的手指关节角度估计方法,通过多尺度卷积模块能够更好地从肌电信号时间序列中提取到与关节角度相关的特征,因此相比现有的高斯过程回归关节角度估计算法,能够实现更高的回归精度。同时通过多层多头注意力机制学习肌电序列的整体时序特征,避免了传统循环神经学习导致的长距离依赖问题,同时通过并行计算进一步提高了运行效率。
[0087]
如图5所示,实施例二还公开了一种手部关节角度估计装置,该手部关节角度估计装置包括信号采集单元100和预先训练完成的手部关节角度估计模型200。信号采集单元100用于采集待测对象的手部运动时产生的实时表面肌电信号;预先训练完成的手部关节角度估计模型200用于根据采集到的实时表面肌电信号预测得到待测对象的手部运动时的预估关节角度,其中,手部关节角度估计模型200包括依次连接的多尺度卷积模块和多层多头注意力模块。信号采集单元100和手部关节角度估计模型200的具体工作过程可参见实施例一的描述,在此不进行赘述。
[0088]
实施例三还公开了一种计算机可读存储介质,计算机可读存储介质存储有手部关
节角度估计程序,手部关节角度估计程序被处理器执行时实现上述的手部关节角度估计方法。
[0089]
进一步地,实施例四还公开了一种计算机设备,在硬件层面,如图6所示,该计算机设备包括处理器12、内部总线13、网络接口14、计算机可读存储介质11。处理器12从计算机可读存储介质中读取对应的计算机程序然后运行,在逻辑层面上形成请求处理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。计算机可读存储介质11上存储有手部关节角度估计程序,手部关节角度估计程序被处理器执行时实现上述的手部关节角度估计方法。
[0090]
计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0091]
上面对本发明的具体实施方式进行了详细描述,虽然已表示和描述了一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改和完善,这些修改和完善也应在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1