1. 引言
手是人体最多样化和最灵巧的部分,它可以通过采用各种不同的运动策略来执行各种活动,从而来与环境互动[1]。为了实现快速、直觉的假肢控制,人们提出了基于体表肌电模式识别的假肢控制方法。该方法利用模式识别技术解码使用者动作过程中产生的肌电信号,得到截肢者想要做的肢体运动,并根据识别出的运动操控假肢完成相应的动作。由于这种基于肌电模式识别的控制方案可以克服传统肌电假肢控制的不足,帮助截肢患者实现假肢的直觉、多自由度控制,成为了康复工程领域近几十年来的研究前沿和热点。但是目前为止,具有直觉操控的多自由度肌电假肢仍然没有实现临床应用。其主要原因在于截肢患者残留肌肉过少,不能为肌电假肢提供足够的控制信号,导致其实用性和稳定性不能满足临床应用的要求。
多通道sEMG的运动模式识别已被广泛研究为一项有效识别运动意图的分类任务[2]。大多数相关研究依赖于从完整受试者身上收集信号,与截肢者的信号相比,该信号的可及性和质量可以得到保证[3]。这种代理措施一方面有助于该领域的快速技术更新,不断地推出高性能的分类模型;然而,另一方面,可能表现出过于乐观的分类性能[4]。根据Atzori等人[5]的研究,当应用相同的信号处理程序和分类器时,经桡骨截肢者的分类精度可能比完整受试者的分类准确率低30%。同时,在提高上肢截肢者运动意图识别性能方面的努力有限[6]。更好地识别上肢截肢者的运动意图有助于提高其假肢的可用性。虽然截肢者可能有足够的动力采用肌电设备,因为他们能够恢复失去的运动功能,但目前的训练负担是采用一般消费类肌电设备的重大障碍。因此,对于减轻培训负担、提高采用率和扩大EMG手势识别的潜在用户群的问题需要被解决。
经典的深度学习假设训练数据和测试数据来自相同的基本分布。然而,这一假设经常被各种实际干扰所违反,这在深度学习应用中可称为域偏移。此外,作为一种生物电,sEMG具有用户特定性和时变性,导致预训练模型在受试者之间的泛化能力较差。Campbell等人[7]提出了一种基于批处理归一化和对抗迁移学习策略的神经网络架构。在提供少量目标用户数据的情况下,健康用户在10个手势上的分类准确率大于86%,残疾用户在10个手势上的分类准确率大于64%。Zhang等人[8]提出了一种基于自适应采样方法的特征对齐迁移学习方法,该方法对自身采集的6个手势的平均准确率达到90%左右。Ketykó等人[9]提出的两步域自适应在NinaPro DB-1数据集上实现了约65%的分类准确率。Xuan Zhang等人[8]提出一种基于无监督域适应模型的自适应采样策略,在跨用户分类方式中的平均准确率为90.41% ± 14.44%。其次,为了实现更高、更一致的分类准确率,Côté-Allard等人[10]采用渐进式神经网络架构进行参与者之间的迁移学习,其中每个参与者被视为一个源任务,与相同的非迁移方法相比,平均分类准确率提高了5.67%。结合实际,Gregori等人[11]曾尝试使用自适应学习方法将完整的受试者信息转移到截肢者身上,但是性能的改进被认为是超参数的改变引起的。
尽管基于肌电信号的上肢运动模式识别技术已经研究多年,并且已经在各方面取得了令人满意的成果,但是只有少量研究是针对截肢患者并考虑患者需求去进行的,大多数是以肢体完整受试者作为研究对象。因此,本文以上肢假肢作为研究载体,目的在于设计面向上肢截肢患者的运动模式智能识别方法,切实提高经桡骨截肢受试者的识别性能,从而推进肌电假肢系统的实际应用。针对不同个体和不同肢体位置的识别率差异较大,提出了基于域对抗神经网络(DANN)的动作识别算法。该算法遵循基线模型的网络拓扑和基本训练策略,并增加了域对抗训练。域对抗训练通过最小化不同域之间的差异来提高模型在目标域上的泛化性能,加入梯度反转层加速模型收敛。因此,该算法能够有效地减轻域偏移效应下模型性能下降的问题和重新校准的负担,并提高手势识别的精度。通过实验结果分析,验证了该算法可以有效提高不同个体识别的动作准确性,从肢体完整的受试者转移到截肢者有助于解决截肢者由于肌肉缺失而带来的数据稀缺问题。
2. 实验协议
2.1. 肌电信号采集实验方案
该实验共招募了14名受试者,其中包括10名健全受试者和4名经桡骨截肢者。在每次采集实验前均没有进行剧烈运动,手臂不存在肌肉拉伤、扭伤等问题。健康受试者平均年龄(22.60 ± 1.64)岁;男性5名,女性5名;均为右利手。截肢受试者4名,平均年龄为(37.75 ± 4.99)岁;截肢侧平均剩余长度大于健侧的1/2,平均截肢年数为12年。两类受试者信息如表1和表2所示。
受试者被要求坐在桌子前面,通过调整座椅高度,将他们的前臂自然地垂直于地面。根据面前显示器中所播放的引导视频进行相应的手部动作,并以适中的力度保持肌肉收缩。当引导视频中显示恢复自然状态,受试者同样恢复到放松状态。实验共采集受试者10种前臂运动模式下的sEMG信号,为了避免偶发性错误同时提高sEMG信号采集的精确度,各运动重复10次,每次动作持续5秒,放松2秒后继续下一动作。不同动作之间休息1分钟。截肢受试者被要求在完成患肢动作的同时,使用健侧手臂镜像地同步完成动作以辅助患侧。为防止桌面挤压影响信号记录,位于支撑板中心槽中的传感器不接触支撑板,保持悬浮状态。
根据Nyquist-Shannon采样定理,由于大约95%的sEMG信号功率集中在400~500 Hz [12],传感器的最低采样频率必须是sEMG最高频率的两倍以上,以避免混叠现象。从无创、方便、对用户更友好的需求出发,本研究的信号采集实验使用gForcePro + 肌电臂环作为采集设备。
采集的运动模式选取同时考虑到经桡骨截肢患者的患肢活动水平,通过总结在日常生活中出现频率较高的、具有功能性的动作,并结合已有研究[5] [13],选取了十种静态手势。采集手势如图1所示。
Table 1. Limb complete subjects information
表1. 肢体完整受试者信息
编号 |
性别 |
年龄 |
惯用手 |
前臂臂围(cm) |
前臂长度(cm) |
S1 |
女 |
21 |
右手 |
20 |
24 |
S2 |
男 |
21 |
右手 |
26 |
28 |
S3 |
男 |
22 |
右手 |
23 |
26 |
S4 |
女 |
22 |
右手 |
23 |
25 |
S5 |
女 |
22 |
右手 |
18 |
20 |
S6 |
男 |
25 |
右手 |
27 |
30 |
S7 |
男 |
24 |
右手 |
26 |
29 |
S8 |
女 |
23 |
右手 |
23 |
24 |
S9 |
男 |
24 |
右手 |
21 |
23 |
S10 |
男 |
22 |
右手 |
25 |
30 |
Table 2. Transradial amputation subjects information
表2. 经桡骨截肢受试者信息
编号 |
年龄 |
截肢侧 |
截肢年数 |
截肢原因 |
截肢程度 |
截肢末端距肘部距离(cm) |
健侧指尖距肘部距离(cm) |
TR1 |
34 |
右 |
10 |
工伤 |
近腕 |
20 cm |
44 cm |
TR2 |
39 |
左 |
30 |
病理 |
近腕 |
35 cm |
43 cm |
TR3 |
45 |
左 |
3 |
工伤 |
近肘 |
12 cm |
38 cm |
TR4 |
33 |
左 |
5 |
工伤 |
近腕 |
23 cm |
41 cm |
Figure 1. Schematic forearm gestures
图1. 前臂手势示意图
2.2. 实时实验方案
实时性能评估实验招募了2名经桡骨截肢受试者,截肢受试者在离线实验表示可以做出相应的幻肢动作,所有受试者都签署了知情同意书。
实时性能评估实验手势使用十个静态手势。此外,每个用户都记录了保持放松姿势一分钟的数据,被标记为休息手势。使用重叠滑动窗口技术来提取分类器输入,滑动窗口长度W = 200 ms,步长为S = 100 ms。将sEMG信号分割成一系列200 ms的分析窗口,每50 ms产生一个手势类预测,在每个分析窗口中对肌电信号进行滤波和标准化,然后不间断地将窗口数据输入DANN算法。为了将活动段划分为一个整体,对各个窗口的标签执行多数投票。为了避免错误的分类,设置了一个置信度阈值0.3,即如果没有标签分配给至少30%的窗口,即认为该段不包含任何所要预测的手势。
实时识别的实施过程如下:目标手势显示在屏幕上,受试者没有执行手势时分类器的输出状态是休息手势标签。受试者被指示跟随目标手势指导进行运动直到分类器输出正确的目标手势,当受试者能够将分类器识别出的手势保持1秒时,记为一次识别完成,直到完成第十次成功识别时该手势实验结束。在测试之前,每位受试者至少要花5分钟来熟悉每种手势的情况。
3. DANN的算法框架
3.1. 肌电信号预处理
将sEMG信号转换成其他形式的输入是一个耗时的过程,比如时域或频域转换等,所以本文使用原始sEMG信号作为模型的输入,神经网络可以自动从原始数据中提取高层次内在特征。本文对sEMG信号的预处理步骤如图2所示。
Figure 2. Flowchart of sEMG signal preprocessing
图2. sEMG信号预处理流程图
降噪处理在抑制一部分噪声信号的同时也损失了肌电信号本身,降低了整体的信噪比,所以需要合理设计降噪算法,在过滤噪声的同时尽可能保存有效信号。通过巴特沃斯带通滤波器和50 Hz陷波器对采集信号中的sEMG进行了滤波处理。巴特沃斯滤波器通带频率范围为20~500 Hz。
由于肌肉中运动单位激活的性质,测量的信号类似于零均值随机过程,其标准差与活动运动单位的数量和运动单位激活的速率成正比。将数据缩放到一个共同的参考值,从而在重复之间具有统计意义。本研究采用标准化对每一通道的数据X进行均值去除并按方差比例缩放,如式(1)所示:
(1)
其中
是原始数据集中的第i个数据点,
是原始数据集的均值,
是原始数据集的标准差。
sEMG的采集过程是连续的,所采集的信号包括放松和动作信号,即非活动段数据和活动段数据[14]。但是用来分类的主要是能够表示肌肉活跃状态的活动段数据。目前常用的活动段检测方法有阈值检测法、移动平均法、短时傅里叶方法等考虑到适应不同动作信号变化、受试者生理差异等因素变化,以及由于受试者反应不同试次的完成时间之间的差异,本研究采用了自适应双阈值方法来检测肌电信号中的活动段。
1) 式(2)计算滑动窗口内的平均能量序列S,其中,L是窗口长度,
是窗口内每个数据点的能量值。
(2)
2) 式(3)和(4)分别计算自适应阈值
和
,其中,
是能量序列
的中位数,
是能量序列
的标准差,
是用于调整阈值的常数,设置为0.5。
(3)
(4)
3) 将满足
条件的数据段视为活动段,并确定活动段的起点和终点位置。其中,
表示第i个活动段的起点和终点位置,
和
是根据平均能量序列S计算得到的双阈值。
(5)
窗口宽度的选择对于数据处理非常重要。相邻的两个窗口之间有一定重叠的被定义为重叠分割法,这种方法可以获得更多的数据段个数,为后续分类器训练提供更多样本。窗口宽度表征了单次处理信号的长度,长度越长越能整体表现肌电信号的特点,但也会增加处理时长,对计算机性能提出了更大挑战。而窗口宽度越小,速度越快,但可能提取的特征比较局部,不能全面表达整体情况,从而影响识别准确率。研究表明,基于sEMG模式识别系统的最佳延迟在100 ms~250 ms之间。窗口太长会造成系统延迟,太短的话可能没有足够的有用信息。因此,本文将滑动窗口长度设定为W = 200 ms,步长为S = 100 ms,这个窗口长度配置可以保证连续的分类。每一个窗口就是一个8 × 200 (通道数 × 滑动窗口长度)维度的矩阵
,每个子向量
表示第i个通道的信号。
3.2. 卷积神经网络模型
本文提出的DANN由几乎相同的两个流组成,每个流都基于一个CNN,流之间的差异将在稍后的领域适应框架中展开。CNN由两大部分组成,即特征提取模块(Feature Extractor)和分类模块(Label Classifier)。前者包含两个区块,除具体参数外基本相同,每个区块封装一个卷积层,然后是批量归一化、ReLU、dropout2d (设置为p = 0.5)和最大池化。同样,后者包含三个区块,每个区块封装完整的连接层,然后是批量归一化(BN)、ReLU和dropout2d (设置p = 0.5)。采用ADAM优化CNN,初始学习率为0.001。为防止过拟合现象,采用了批量归一化[15]、Dropout [16]。
3.3. DANN框架
Figure 3. Overview of the DANN framework
图3. DANN框架概览
本文训练了一个共享所有预训练任务数据集的源网络,第二个网络的结构与源网络几乎相同。但两者的权重都是独立初始化和训练的。第二个网络称为目标网络。图3显示了最终提出的架构概览。
考虑一个分类问题,输入特征向量空间为X,输出空间的标签集为
,N为动作标签数。假设
和
是定义在X × Y上的未知联合分布,分别称为源分布和目标分布。无监督域适应算法需要输入从
中采样的有标记源域数据和从边际分布
中采样的无标记目标域数据。源域和目标域的数据被输入特征提取器,然后由域分类器对特征进行分类。该架构有两个网络,每个网络由一个特征提取器和一个分类器组成。
特征提取器为
,用于接收经过预处理的sEMG特征向量
,并计算得到特征向量
,即,
(6)
特征提取器得到的特征向量
映射到标签分类器
和域分类器
,即,
(7)
(8)
标签分类器和域分类器都是多层前馈神经网络,其参数分别称为
和
,在训练过程中,特征提取器的目标是在使领域分类器无法准确区分源领域和目标领域特征表征的同时,尽量减少分类误差。这样,特征提取器就能学习到对源域和目标域都具有良好泛化能力的特征表征。域对抗训练流程如图4所示。
Figure 4. Domain confrontation training process
图4. 域对抗训练过程
采用对抗训练来同时最小化分类损失和最大化域分布的多样性,这使我们最终能够实现域不变模型。具体计算过程如算法1所示。
算法1. 域对抗算法 |
输入: |
1) 训练数据:带标签的源域数据
,不带标签的目标域数据
。 |
2) 学习率η,训练轮次
,批量轮次
。 |
3) 初始化超参数:特征提取器参数
,标签分类器参数
,域分类器参数
,权重超参数
。 |
输出:优化后的参数
、
和
。 |
for
do |
for
do |
选取小批量:
,
from
,
|
计算权重:
、
和
|
续表
计算损失:
|
计算最终损失:
|
参数更新:
|
End for |
3.4. 评估指标
为验证模型的性能,本研究使用的量化评估指标包括准确率(Accuracy),其表示正确预测占总预测的比例。指标参数和误差信息均以百分比表示。
(9)
本实验确定了三个指标来评估DANN的实时识别性能,如表3所示。第一个是运动完成率,它是已完成的手势识别与完成时间内的手势识别总数量之间的比率;第二个是运动完成时间,它是从开始运动到实验完成的时间;第三个是运动选择时间,它是正确选择目标手势运动所需的时间,定义为从运动开始到第一次正确分类的时间。
Table 3. Evaluation indicators
表3. 评估指标
指标 |
描述 |
运动完成率 |
已完成的手势识别与完成时间内的手势识别数量之间的比率 |
运动完成时间 |
从开始运动到实验完成的时间 |
运动选择时间 |
从实验开始到第一次正确识别出手势的时间 |
运动完成率计算公式如下:
(10)
4. 结果与分析
4.1. 卷积神经网络识别结果
图5为所有受试者的识别准确率统计。我们提出的卷积神经模型在健康受试者中的识别率均大于90%,最高识别准确率为97.38%,但是经桡骨截肢受试者的识别准确率低于90%,使用所有受试者的数据进行训练的结果为88.42%,说明模型能够识别完成前臂基础动作的识别任务,然而前臂截肢受试者的识别准确率相对较低。
Figure 5. Recognition accuracy for each subject
图5. 各受试者识别准确率
Figure 6. Confusion matrix for baseline model
图6. 基线模型的混淆矩阵
图6为健康受试者的混淆矩阵。混淆矩阵中,行与列分别表示实际类别和预测类别,矩阵对角线反映出实际与预测之间的匹配程度,该元素的颜色越深表示该运动模式类别分类性能越好。CNN模型的分类中,健康受试者动作识别准确率均达到95%以上。
综上所述,卷积神经网络作为基线模型在识别健康受试者的前臂基础动作方面表现出色,但在面对肢体截肢的情况下识别准确率有所下降,因此需要引入域适应结构,以提高模型的适用性和性能。
4.2. DANN域适应结果
根据上一节中提到的两类受试者识别效果的差异,经桡骨受试者的识别准确率由于截肢者的信号质量有限而相对较低。这种数据的稀有性不可避免地给为残障人士构建可靠、个性化的深度学习模型带来了问题。为了解决这个问题,我们提出了使用DANN的方法。首先在肢体完整受试者身上训练卷积神经网络作为基线模型,然后用截肢者数据进行域适应。我们还与微调这种迁移学习方式进行了对比。实验的目的是提高截肢受试者sEMG动作的识别准确率。并以基线模型训练,每一位受试者的数据作为一个单一域,在训练源网络的过程中,我们使用奇数重复次数进行训练,而偶数重复次数则用于测试。在源网络训练的过程中,分别使用每一名肢体完整受试者对应的sEMG动作数据作为输入,进行交叉验证。而在测试DANN时,我们仅仅使用了截肢受试者的第1次和第2次重复作为目标域进行再训练,其余8次重复用于测试。
识别结果如图7所示,得益于使用非截肢者数据进行域训练,4名经桡骨截肢受试者的识别准确率得到了显著提升,并且使用仅通过微调后的结果。4名受试者的识别准确率分别为94.70% ± 0.57% (TR1)、92.71% ± 0.81% (TR2)、94.59% ± 0.39% (TR3)、94.69% ± 1.41% (TR4),其识别准确率均大于90%。相比于仅使用CNN和微调的方式进行训练,分别平均提升了13.45%和4.01%。虽然平均只提升了13.45%,但是使用两次重复的数据就可以实现两类受试者的准确率达到理想水平。这一结果也表明,DANN通过利用肢体完整受试者的信息进行领域适应,相较于仅使用截肢受试者本身的数据进行训练,更能有效实现肌电接口的改进。
Figure 7. Results of domain adaptation in transradial amputation subjects
图7. 经桡骨截肢受试者域适应结果
4.3. 实时识别结果
运动完成率是一个重要的指标,它代表了鲁棒性的衡量标准,需要非常高的成功率才能允许足够的功能实现并防止用户感到停滞。表4为10个前臂手势在运动完成时间内的运动完成率,结果为所有受试者运动完成率的均值。可以看出,10个手势之间运动完成率存在一定的差别,部分精细手指动作识别效果较差。同时需要五指同时参与的动作容易相互混淆,所以五指抓、五指捏、五指夹三个动作识别效果很差。从开始识别到完成十次成功的手势识别时间在18秒~33秒内,同样地,五指同时参与的动作所需完成时间更长。大多数手势运动被快速选择,运动选择时间多为1秒。由最终的结果可以看出,DANN可以满足经桡骨截肢受试者基本的日常动作识别任务。
Table 4. Results of real-time recognition of each movement in subjects with transradial amputates
表4. 经桡骨截肢受试者各动作实时识别结果
动作类别 |
动作完成率 |
动作完成时间(秒) |
动作选择时间(秒) |
握拳 |
100.00% |
24.00 |
2.00 |
拇指外展 |
91.41% |
18.00 |
1.00 |
伸拇指 |
100.00% |
19.00 |
3.00 |
伸食指 |
96.97% |
21.00 |
1.00 |
三指捏 |
100.00% |
18.00 |
1.00 |
五指抓 |
65.03% |
30.00 |
1.00 |
五指捏 |
49.62% |
33.00 |
8.00 |
捏食指 |
90.91% |
19.00 |
2.00 |
五指夹 |
46.97% |
32.00 |
1.00 |
捏三指 |
90.91% |
20.00 |
1.00 |
5. 总结
本研究面向上肢截肢患者,聚焦解决其前臂动作识别难题,并引入DANN算法框架,以提升截肢者使用肌电接口的准确性和实时性。还提出了域对抗适应的动作识别算法,旨在解决不同个体之间的识别率差异问题。通过引入域对抗训练技术,成功减少了不同域之间的差异,从而提高了模型的泛化能力和动作识别精度。实验结果验证了使用肢体完整受试者的信息训练截肢者获得更准确的运动分类模型的可行性,最终两类截肢受试者的识别准确率均大于90%。本文的研究实现了经桡骨截肢患者的动作识别准确性,在基础的手、腕动作上表现优秀,也具备实时性能。但是研究中还存在截肢受试者数量有限、训练场景单一等问题,这些将是我们今后工作的方向。
基金项目
国家重点研发计划项目(No. 2020YFC2007902)。
NOTES
*通讯作者。