利索能及
我要发布
收藏
专利号: 2024103959150
申请人: 齐鲁工业大学(山东省科学院)
专利类型:发明专利
专利状态:已下证
更新日期:2026-11-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于人工智能sEMG信号特征提取及肌肉疲劳级别判别方法,其特征在于,包括以下步骤:S1、使用多模态传感器设备实时捕捉用户在进行特定体力活动时的sEMG信号数据,并同时收集环境温度、湿度、用户的运动速度和心率结合的辅助数据;

S2、对所收集的sEMG信号数据及辅助数据进行预处理,包括去除电源干扰、运动伪差及噪声去除,并采用带通滤波技术对信号进行滤波处理;

S3、利用多尺度熵分析和机器学习算法对预处理后的sEMG信号数据进行特征提取,同时考虑辅助数据中的环境和生理参数,从sEMG信号数据及辅助数据中提取反映肌肉活动状态的关键特征,多尺度熵分析用于量化sEMG信号的复杂度变化,捕获肌肉疲劳过程中的动态特性,机器学习模型进一步分析动态特性,包括时域特征、频域特征及时频域特征;

S4、基于提取的特征,构建并训练一个用于肌肉疲劳级别判别的复合人工智能模型,复合人工智能模型综合分析sEMG信号及辅助数据的关键特征,判断肌肉是否疲劳以及疲劳的程度;

S5、对用户的肌肉疲劳级别进行实时评估,并根据评估结果,调整运动强度和休息时间安排;

所述S1具体包括以下步骤:

S11、设定多模态传感器设备,包括sEMG信号采集器、温度传感器、湿度传感器、速度计和心率监测器,用于实时监测和记录用户在特定体力活动时的生理和环境数据;

S12、对于每个时间点t采集综合数据:

dfinal(t)={dsEMG(t),dT(t),dH(t),dV(t),dHR(t)};

其中,dsEMG(t)是时间点t的sEMG信号值,dT(t)是时间点t的环境温度值,dH(t)是时间点t的环境湿度值,dV(t)是时间点t的用户运动速度值,dHR(t)是时间点t的用户心率值;

S13、结合S12的综合数据构建sEMG数据集Dfinal,sEMG数据集Dfinal由所有时间点的综合数据dfinal(t)组成:Dfinal={dfinal(1),dfinal(2),...,dfinal(n)};

其中,n是在特定体力活动期间捕捉到的数据点的总数;

所述S2具体包括以下步骤:

S21、对最终的数据集Dfinal中的每种数据类型进行噪声剔除,具体操作包括:对于sEMG信号dsEMG(t),应用自适应滤波器以去除电源干扰和运动伪差,自适应滤波器根据信号的实时特性动态调整其参数减少噪声影响,自适应滤波器使用以下公式进行噪声剔除:其中, 是在时刻t估计的噪声,通过最小均方误差算法进行估计:其中,wi(t)是自适应滤波器在时刻t的权重,M是滤波器的阶数;

对于环境温度、湿度、用户运动速度和心率数据,采用简单移动平均滤波方法去除由于环境变化或设备误差导致的随机噪声:其中,dX(t)代表任一辅助数据环境温度dT(t)、湿度dH(t)、用户运动速度dV(t)、或心率数据dHR(t)在时间t的值,N是平均窗口的大小,d′X(t)是滤波后的数据值;

S22、之后对处理后的sEMG信号dsEMG(t)采用带通滤波处理,使得信号保留有用的频率成分:设计一个带通滤波器,选择合适的下限频率fL和上限频率fH,以便覆盖sEMG信号中重要的频率范围,fL设为20Hz,fH设为450Hz,以过滤出人体肌肉活动的典型频率,应用该带通滤波器Fbp到sEMG信号上,使用快速傅里叶变换将信号转换到频率域:DsEMG(f)=FFT(dsEMG(t));

D'sEMG(f)=DsEMG(f)·H(f);

d'sEMG(t)=IFFT(D'sEMG(f));

其中,DsEMG(f)是原始sEMG信号的傅里叶变换,H(f)是带通滤波器的频域表示;

应用滤波器特性剔除不在[fL,fH]范围内的频率成分,D'sEMG(f)是应用带通滤波后的sEMG信号在频域的表示,通过逆傅里叶变换将其转换回时域得到处理后的sEMG信号d'sEMG(t):S23、经过预处理后,将所有预处理后的数据重新组合成预处理后的综合数据集Dpreprocessed,其中包括经过噪声剔除和滤波处理的sEMG信号和辅助数据:所述S3具体包括以下步骤:

S31、对预处理后的sEMG信号数据d'sEMG(t)进行多尺度熵分析,量化sEMG信号在不同时间尺度上的复杂度变化,反映肌肉疲劳过程中的动态特性:对每个预处理后的sEMG信号样本,构建其多尺度表示,通过对信号进行粗粒化处理得到不同尺度的时间序列,对于sEMG信号d'sEMG(t)在尺度s上的粗粒化时间序列 第j个元素定义为:其中,s表示尺度因子,表示在多尺度熵分析中考虑的时间序列的粗粒度级别,尺度因子越大,时间序列被平均的范围越广,能够捕捉到sEMG信号更长时间范围内的复杂度变化,理解肌肉疲劳过程中的动态变化, 表示在尺度s下,时间序列的第j个元素,通过对原始sEMG信号进行粗粒化处理得到,代表了在特定尺度下sEMG信号的平均活动强度,分析肌肉活动的持续性和变化趋势;

对于每个尺度s的时间序列 计算样本熵SE(s,m,r)时,定义距离函数d[x,y]为两个序列(x,y)之间的最大绝对差,计算匹配模板向量的比率A(m,r,N):其中,m表示嵌入维度,用于样本熵计算中构建模板向量的维数,反映在计算样本熵时考虑的时间序列的历史信息的多少,与肌肉疲劳过程中信号的时间相关性有关,r表示相似度容忍度,用于样本熵计算中判断两个序列是否相似的阈值,是基于sEMG信号标准差的一个比例,体现了信号波动的敏感度,用于识别肌肉疲劳引起的细微变化,N是时间序列的长度,A(m,r,N)表示尺度m下,相似模板序列对数与总模板序列对数的比率;

对每个尺度的时间序列计算样本熵,用于量化该尺度下信号的复杂度,其中r是标准差的倍数,通常取0.1×SD,SD是信号的标准差:S32、利用机器学习算法对预处理后的sEMG信号数据及辅助数据d'T(t,d'H(t),d'V(t),d'HR(t)进行特征提取,包括时域特征、频域特征及时频域特征,反映了肌肉活动的平均水平、波动程度和峰值强度,用于判断肌肉是否疲劳及疲劳程度:从sEMG信号中提取时域特征:

从sEMG信号中提取频域特征,频域特征Ffreq通过计算功率谱密度PSD得到,其中PSD(f)为:2

PSD(f)=|FFT(d'sEMG(t))|;

其中,FFT表示快速傅里叶变换;

S33、将从多尺度熵分析和机器学习算法中提取的特征合并,形成用于后续的肌肉疲劳级别判别的综合特征向量,综合特征向量Fcomposite通过合并多尺度熵分析得到的复杂度特征、时域特征、频域特征Ffreq以及考虑的辅助数据特征Faux构成:2

Fcomposite=[SE(s,m,r),μ,σ ,Pmax,PSD(f),Faux];

其中,Faux包括环境温度、湿度的均值、变化率;

所述S4具体包括以下步骤:

S41、构建结合深度学习和机器学习技术的复合人工智能模型,用于综合分析sEMG信号及辅助数据的关键特征,以判断肌肉是否疲劳以及疲劳的程度:定义复合人工智能模型的输入层接收综合特征向量Fcomposite,通过多层神经网络层进行特征转换,每层神经网络的输出计算公式为:[l] [l] [l] [l‑1] [l‑1] [l]

a =g (W (a ⊙d )+b );

[l‑1]

其中,d 是Dropout向量,用于随机关闭第l‑1层的某些神经元,⊙表示Hadamard乘积;

加入支持向量机用于基于DNN提取的特征以及辅助数据特征Faux进行肌肉疲劳级别的分类,并采用带权重的交叉熵损失,以处理可能存在的类别不平衡问题:其中,C是类别数,wi是类别i的权重,yi是真实标签, 是预测概率;

S42、准备训练数据集,包括从实际测量的sEMG信号及辅助数据中提取的特征向量Fcomposite和对应的肌肉疲劳级别标签,训练数据集的形式为:(i)

其中,y 是第i个样本的肌肉疲劳级别标签,N是样本总数;

S43、使用训练数据集对复合人工智能模型进行训练,采用交叉验证技术优化模型参数:使用一部分训练数据对模型进行训练,结合特征向量Fcomposite包括多尺度熵分析得到的复杂度特征、时域特征、频域特征以及辅助数据特征,采用加权的损失函数综合不同类型的特征对肌肉疲劳级别的影响:其中,α和β是调节项,用于平衡分类误差和回归误差的重要性,wf是特征f的权重,xi,f是Fcomposite中第i个样本的第f个特征值, 是该特征的预测值,yi,c是真实的分类标签, 是对应的预测概率;

在另一部分数据上验证模型的性能,对于肌肉疲劳恢复时间的预测,定义基于Fcomposite特征的线性回归模型,并应用L2正则化以防止过拟合:其中, 是基于综合特征向量Fcomposite的线性回归模型预测的第i个样本的疲劳恢复时间,λ是正则化参数;

S44、经过训练后的复合人工智能模型基于输入的特征向量Fcomposite预测肌肉的疲劳级别;

所述S5具体包括以下步骤:

S51、根据复合特征向量Fcomposite的评估结果,即肌肉疲劳级别,动态调整运动强度和休息时间的建议,评估结果分为多个级别,每个级别对应不同的运动和休息建议:Adjustment=f(Levelfatigue);

其中,Levelfatigue是模型评估得到的肌肉疲劳级别,Adjustment是根据疲劳级别得到的运动强度和休息时间调整建议的函数;

S52、计算运动强度调整值Adjustintensity和休息时间调整值Adjustrest,调整值基于疲劳级别和用户个人健康数据,包括之前的运动习惯、健康状况:Adjustintensity=gintensity(Levelfatigue,Datapersonal);

Adjustrest=grest(Levelfatigue,Datapersonal);

其中,gintensity和grest是根据肌肉疲劳级别和个人健康数据计算运动强度调整值和休息时间调整值的函数,Datapersonal代表用户的个人健康数据;

S53、通过用户界面提供实时反馈,展示肌肉疲劳级别评估结果以及根据这些结果调整的运动强度和休息时间建议。