身体非静止状态的手部震颤识别方法

文档序号:28119191发布日期:2021-12-22 15:01阅读:197来源:国知局
身体非静止状态的手部震颤识别方法

1.本发明属于行为识别技术领域,具体涉及一种身体非静止状态的手部震颤识别方法。


背景技术:

2.zhang等人利用rfid相位特征研究身体震颤率。ding应用rfid技术提取信号特征来描述手部动作的变化,提出多分支一维cnn(multi

branch1d

cnn)基础框架,直接利用rfid信号识别静态和动态的手部动作。现有技术识别率低,基于cnn

lstm的识别率优于其它模型。


技术实现要素:

3.本发明的目的是提供一种身体非静止状态的手部震颤识别方法,解决了现有技术中存在无法对身体非静止状态的手部震颤动作精确识别的问题。
4.本发明所采用的技术方案是,身体非静止状态的手部震颤识别方法,具体按照以下步骤实施:
5.步骤1、建立手部震颤数学模型;
6.步骤2、数据校准与噪音消除;
7.步骤3、消除时变直流分量与计算时变震颤频率;
8.步骤4、基于cnn

lstm的手部震颤识别方法。
9.本发明的特点还在于,
10.步骤1具体按照以下步骤实施:
11.设一只携带无源标签的手在颤抖,在该手部震颤活动中,震颤频率r随时间变化,震颤幅度g也随时间而变化,在这种情况下,θ(t)不再是理想状态下的周期曲线,公式(1)和(2)改写为:
[0012][0013][0014]
r(t)代表无源标签到rfid天线距离,震颤幅度g(t),震颤频率r,基准距离d(t),时间t,φ为震颤方向与rfid天线至基准位置的直线之间的锐角,θ(t)代表相位,θ0是硬件设备引入的偏移量,λ是射频波长,其中,ε是由环境噪声引起的误差;距离r(t)和相位θ(t)共同构成手部震颤数学模型。
[0015]
步骤2具体按照以下步骤实施:
[0016]
步骤2.1、使用离散小波变换dwt将手部震颤相位θ(t)分解为:
[0017]
[0018]
其中,θ(t)是相位,l0是初始分辨率,t表示时间,l是伸缩因子,k是平移因子,是离散比例函数,ψ
l,k
(t)是离散小波函数,两个函数相互正交,a(l0,k)和d(l,k)是每一级的近似和详细系数,在去噪过程中进行滤波,系数定义为:
[0019][0020][0021]
θ(t)是相位,是离散比例函数,ψ
l,k
(t)是离散小波函数,a(l,k)和d(l,k)是每一级的近似和详细系数;
[0022]
步骤2.2、利用极大极小阈值算法进行阈值选择,最佳阈值定义如公式(8)所示:
[0023][0024]
其中,表示阈值,σ为标准差,指射频载波波长的值,通过优化目标函数获得,如公式(9)所示:
[0025][0026]
在上式中,λ是射频载波波长,指优化后的波长,d表示通过离散小波变换获得的n个系数中的一个,风险计算为r
λ
(d)=e(δ
λ
(d)

d)2,r
ideal
是理想结果,表示是否保留小波系数,由下式给出:
[0027]
r
ideal
(d):=min(d2,1)
ꢀꢀꢀ
(10)
[0028]
步骤2.3、最后,基于阈值λ
m
选择近似系数和详细系数,并使用近似系数和详细系数重构无噪声的信号,将上述噪声消除后的相位数据集表示为θ*。
[0029]
步骤3具体按照以下步骤实施:
[0030]
步骤3.1、消除时变的直流分量:
[0031]
步骤3.1.1、设完成数据校准和噪声去除的相位样本θ(t)∈θ*,此时有以下关系:
[0032][0033]
其中,a是恒定的直流分量,m(t)是由于手的基准位置移动而引起的时变直流分量,而是由手在基准位置周围颤抖引起的震颤分量,如果手部震颤动作是从“复合动作”中分离出来的、稳定的运动,则用公式(4)表示;
[0034]
步骤3.1.2、使用一种基于滑动窗口的方法,窗口[t

(w/2),t+(w/2)]内时间t的局部平均值l(t)定义为:
[0035][0036]
其中,w是窗口的大小,恒定直流分量a,m(t)是时变直流分量,是震颤分量,在一个较小的时间窗口内,假设m(t')近似为线性函数,θ(t')近似为周期函数,通过公式(12)得到如公式(13)所示的关系:
[0037]
[0038]
m(t)是m(t')在窗口t'∈[t

(w/2),t+(w/2)]内的均值,而公式中的是去除直流分量后的手部震颤动作的曲线,因此,在每个周期上的积分为零;
[0039]
步骤3.1.3、l(t)用公式(14)表示:
[0040]
l(t)≈a+m(t)
ꢀꢀꢀ
(14)
[0041]
l(t)正是要去除的手部震颤的时变直流分量,可根据在时间窗口[t

(w/2),t+(w/2)]中获取的相位数据,从公式(12)中近似计算l(t)的值,即a+m(t)的值,设s(t)是该窗口中相位序列的子集,对于在特定时间t'采集的每个样本θ(t'),设δ(t')是从该样本到下一个样本的时间间隔,用离散样本近似计算公式(12)中的积分,如下所示:
[0042][0043]
其中,w的值应该根据应用的环境决定,计算出局部平均值l(t)后,将l(t)从θ(t)中减去,如公式(16)所示:
[0044][0045]
设经过上述数据去噪、消除时变直流分量后的相位集合为利用手部标签的相位减去胸部标签的相位分离出手部震颤动作的相位曲线;
[0046]
步骤3.2、计算时变震颤频率:
[0047]
步骤3.2.1、根据时间窗口中的相位数据计算t时刻的震颤频率r(t),其中是窗口大小,首先,需要确定相位曲线窗口内的峰值或谷值,然后,使用峰到峰的距离估计震颤周期并计算出震颤频率,
[0048]
假设是来自的相位样本在窗口中的子集,在识别出窗口上的所有峰值之后,使用最小二乘法获得震颤周期的估计p(t),将峰与峰之间的间隔表示为{v1,v2,...,v
m
},最小二乘估计由公式(17)给出:
[0049][0050]
步骤3.2.2、在窗口内t时刻的震颤频率r(t)的估计可由公式(18)计算得到:
[0051]
r(t)=1/p(t)
ꢀꢀꢀ
(18)
[0052]
整个测量周期内的平均震颤频率,表示为定义如公式(19)所示:
[0053][0054]
其中,t1是开始测量的时间,t
n
是结束测量的时间,
[0055]
步骤3.2.3、假设有n个样本属于计算如公式(20)所示:
[0056]
[0057]
其中,δ(t)是从样本到下一个样本的时间间隔。
[0058]
步骤4具体按照以下步骤实施:
[0059]
cnn

lstm模型由两部分组成,基于cnn的特征提取和基于lstm的特征融合,cnn

lstm模型由一层包含36个神经元的lstm层、全连接层、批量归一化层和输出层组成,lstm层设置了值为0.5的dropout,并使用adam优化器进行参数优化,设置初始的学习速率为0.0006,epoch为400,batch size为50,将模型参数设置好后,将步骤3得到的数据输入到模型中,进行手部震颤识别。
[0060]
本发明的有益效果是,身体非静止状态的手部震颤识别率高,本发明识别率高于卷积神经网络和长短期记忆网络。身体静止状态时的手部震颤动作没有身体其他部位活动的影响,其手腕基准位置是稳定的,所以手部震颤幅度、震颤速率和运动轨迹在不受环境干扰的情况下也是相对稳定的。而身体非静止状态下的手部震颤动作会受其他身体活动影响,此时采集到的手部震颤数据是包含了身体活动的“复合动作”。由于身体活动的存在造成了手部震颤动作的不稳定性,针对该问题,本发明利用多个标签从“复合动作”中分离出手部震颤动作数据。现有技术对身体非静止状态的手部震颤动作无法精确识别,本发明综合利用cnn提取特征的优点和lstm处理时序数据的优点,实现对身体非静止状态的手部震颤动作的准确识别。
附图说明
[0061]
图1是手部震颤数学模型;
[0062]
图2是复合动作中的手部震颤相位信号;
[0063]
图3是从复合动作中分离出来的手部震颤相位信号图;
[0064]
图4是cnn与lstm结合的框架图;
[0065]
图5是lstm模型结构图;
[0066]
图6(a)是设置初始参数的accuracy曲线图,图6(b)是设置初始参数的loss曲线图;
[0067]
图7是神经元参数调整图;
[0068]
图8(a)是将模型神经元个数设置为36后模型的accuracy曲线,图8(b)是将模型神经元个数设置为36后模型的loss曲线图;
[0069]
图9(a)是学习率为0.0002的loss曲线图,图9(b)是学习率为0.0004的loss曲线图;
[0070]
图10是batch size参数调整图;
[0071]
图11(a)是模型经过lstm层神经元个数、学习率和batch size参数调整后模型的accuracy曲线,图11(b)是模型经过lstm层神经元个数、学习率和batch size参数调整后模型的loss曲线图;
[0072]
图12是不同组合的手部震颤动作识别精度、召回率和f1

score图;
[0073]
图13是不同模型宏平均的识别精度、召回率和f1

score图。
具体实施方式
[0074]
下面结合附图和具体实施方式对本发明进行详细说明。
[0075]
身体静止状态时的手部震颤动作没有身体其他部位活动的影响,其手腕基准位置是稳定的,所以手部震颤幅度、震颤速率和运动轨迹在不受环境干扰的情况下也是相对稳定的。而身体非静止状态下的手部震颤动作会受其他身体活动影响,此时采集到的手部震颤数据是包含了身体活动的“复合动作”。本发明首先根据理想状态下的手部震颤动作建立数学模型。然后,分析环境中影响手部震颤动作的因素,设置实验并完成数据校准和噪声去除工作。最后,提出基于cnn

lstm的手部震颤识别方法,该方法综合利用cnn提取特征的优点和lstm处理时序数据的优点。本发明对cnn

lstm模型进行训练和参数调优,实现对身体非静止状态的手部震颤动作的准确识别。
[0076]
建立手部震颤数学模型
[0077]
本发明将根据手部震颤动作的特点建立手部震颤的模型。首先,本发明从数学角度分析手部震颤动作的相位信号,继而研究手部震颤动作的时变性。本发明的研究首先从理想状态的手部震颤动作开始,假设附着在手上的无源标签的运动轨迹是沿着图1中双箭头的方向做周期运动。双箭头的中点是震颤的基准位置,它表示的是震颤运动的基准位置(也是标签运动轨迹的基准位置),而不是手腕基准位置。设d为基准位置与rfid天线之间的距离,φ为震颤方向与rfid天线至基准位置的直线之间的锐角,r为震颤频率,g为震颤的幅度。
[0078]
在理想状态下,无源标签到基准位置的距离为gsin(2πrt)。从图中很容易得到无源标签到rfid天线的距离的计算方法如公式(1)所示。
[0079][0080]
其周期为(1/r),因为无源标签与rfid天线的距离是随时间而变化的,所以它会在rfid阅读器接收到的反向散射信号中产生相位移动。结合公式(1),则相位θ(t)为:
[0081][0082]
其中θ0是硬件设备引入的偏移量,λ是射频波长,信号从rfid阅读器到无源标签再回到阅读器传播的总距离为2r(t)。显然,这样构造的相位θ(t)是一条具有周期性且持续变化的曲线。在理想模型中,通过公式(1)和(2)计算得到的曲线具有近乎完美的周期。
[0083]
然而,本发明研究的是身体处于非静止状态下的手部震颤动作,它具有特殊的时变性。这就打破了本发明最初的假设。
[0084]
身体非静止状态的手部震颤识别方法,具体按照以下步骤实施:
[0085]
步骤1、建立手部震颤数学模型;
[0086]
步骤1具体按照以下步骤实施:
[0087]
设一只携带无源标签的手在颤抖,在该手部震颤活动中,震颤频率r随时间变化,震颤幅度g也随时间而变化,在这种情况下,θ(t)不再是理想状态下的周期曲线,它可能是一条极其复杂的、周期和幅度随时间变化的曲线,为了反映上述的时变特性,公式(1)和(2)改写为:
[0088]
[0089][0090]
r(t)代表无源标签到rfid天线距离,震颤幅度g(t),震颤频率r,基准距离d(t),时间t,φ为震颤方向与rfid天线至基准位置的直线之间的锐角,θ(t)代表相位,θ0是硬件设备引入的偏移量,λ是射频波长,其中,ε是由环境噪声引起的误差;这样的模型很难用传统的方法进行分析。因此,接下来必须研究新的方法来计算手部震颤率,这个过程不是基于理想模型分析的,而是直接基于实验所采集的相位样本数据。
[0091]
距离r(t)和相位θ(t)共同构成手部震颤数学模型。
[0092]
步骤2、数据校准与噪音消除;
[0093]
步骤2具体按照以下步骤实施:
[0094]
在数据预处理时,需要考虑由无源标签和rfid阅读器对样本数据产生的影响。因为环境干扰和产品特性,所以实验所采集的数据包含固有噪声。通过采集的相位数据发现,当无源标签移动到真实相位值接近2π的倍数的位置时,相位值会在这个倍数周围产生偏移,公式(2)中的模运算可能导致相位数据的跳变。为了校准相位样本数据,如果两个连续的相位值之间明显是由模运算引起的约2π的突变。在这种情况下,需要移除突然出现的跳变数据,以确保两个相位值之间的连续性。在此基础上,完成涉及相位跳变的数据校准。
[0095]
时变噪声是由各种因素引起的,包括硬件固有的属性以及rfid天线和无源标签的基准位置之间的距离、震颤频率和震颤幅度的波动。去除实验数据中一些不会随时间波动的固有噪声是比较简单的,例如,同时利用2个无源标签采集手部震颤动作的相位数据,tag1静止不动,tag2附着于手指上。设tag1的相位数据为θ1,tag2的相位数据为θ2。由公式(4)可知,通过θ2‑
θ1便可去除实验数据中不随时间波动的固有噪声,而其余的噪声需要别的方法。简单地使用低通滤波器的效果不好,虽然它可以去除高频噪声(例如实验环境中的白噪声)。但是,由于本发明采集的大部分数据包含的噪声不是高频的,所以使用低通滤波器是无效的。
[0096]
在去除了由模运算和硬件缺陷引起的噪声后,数据中仍然存在噪声。剩余的噪声来自于实验环境的干扰,这可能会降低相位曲线中的波峰或波谷的数量来影响手部震颤识别方法的性能。传统研究使用低通滤波器的方法不能有效地处理这个问题,因为噪声可能在信号的频带中。因此,
[0097]
步骤2.1、使用离散小波变换dwt(discrete wavelet transform)将手部震颤相位θ(t)分解为:
[0098][0099]
其中,θ(t)是相位,l0是初始分辨率,t表示时间,l是伸缩因子,k是平移因子,是离散比例函数,ψ
l,k
(t)是离散小波函数,两个函数相互正交,a(l0,k)和d(l,k)是每一级的近似和详细系数,在去噪过程中进行滤波,系数定义为:
[0100][0101]
[0102]
θ(t)是相位,是离散比例函数,ψ
l,k
(t)是离散小波函数,a(l,k)和d(l,k)是每一级的近似和详细系数;
[0103]
步骤2.2、在分解相位曲线之后,需要为噪声设置阈值λ
m
,并从原始曲线θ(t)中去除噪声系数,身体非静止状态下的手部震颤动作的时变性受身体活动影响,本发明利用极大极小阈值算法进行阈值选择,极大极小阈值算法是一个最优化问题,在该问题中,选择一个最优阈值来实现最大均方误差的最小化,并获得针对理想过程的最坏风险函数。最佳阈值定义如公式(8)所示:
[0104][0105]
其中,表示阈值,σ为标准差,指射频载波波长的值,通过优化目标函数获得,如公式(9)所示:
[0106][0107]
在上式中,λ是射频载波波长,指优化后的波长,d表示通过离散小波变换获得的n个系数中的一个,风险计算为r
λ
(d)=e(δ
λ
(d)

d)2,r
ideal
是理想结果,表示是否保留小波系数,由下式给出:
[0108]
r
ideal
(d):=min(d2,1)
ꢀꢀꢀ
(10)
[0109]
步骤2.3、最后,基于阈值λ
m
选择近似系数和详细系数,并使用近似系数和详细系数重构无噪声的信号,将上述噪声消除后的相位数据集表示为θ*。
[0110]
步骤3、消除时变直流分量与计算时变震颤频率;
[0111]
步骤3具体按照以下步骤实施:
[0112]
步骤3.1、消除时变的直流分量:
[0113]
相位曲线中存在随时间变化的直流分量,这部分是由于手部震颤的不稳定性造成的。假设手部震颤动作是以手腕位置为基准点的周期性运动,在这一过程中,手的基准位置可能发生轻微移动。
[0114]
若人体还存在其他活动的时候,通过手部的无源标签采集到的手部震颤数据包含的直流分量会随时间的变化变得更加显著。图2展示了测量的相位数据,该实验使用了两个无源标签,分别附着在受试者的胸前和手部。实验人员开始处于弯腰状态,在恢复直立的过程中,手部也在震颤。由于人体其他部位的运动引入了更大的、随时间变化的直流分量,所以此时采集到的相位数据难以准确的描述手部震颤动作。为了得到手部震颤动作的相位数据,需要在完成数据校准和噪声去除的工作后,再消除随时间变化的直流分量。
[0115]
步骤3.1.1、设完成数据校准和噪声去除的相位样本θ(t)∈θ*,此时有以下关系:
[0116][0117]
其中,a是恒定的直流分量,a取决于无源标签和rfid天线之间的初始距离以及硬件属性,m(t)是由于手的基准位置移动而引起的时变直流分量,而是由手在基准位置周围颤抖引起的震颤分量,本发明希望从样本θ(t)中近似地去除a+m(t),以得到的值。如果手部震颤动作是从“复合动作”中分离出来的、稳定的运动,则用公式(4)表示,但是
在现实生活中,手部震颤动作的幅度、速率和频率可能会随着时间的变化而变化。
[0118]
步骤3.1.2、去除直流分量的一种简单方法是用相位序列的全局平均值减去θ(t)。然而,这种方法效果不好。解决该问题较好的方案是使用一种基于滑动窗口的方法,该方法计算滑动窗口内的局部均值以达到去除直流分量的目的
[31]
。窗口[t

(w/2),t+(w/2)]内时间t的局部平均值l(t)定义为:
[0119][0120]
其中,w是窗口的大小,恒定直流分量a,m(t)是时变直流分量,是震颤分量,在一个较小的时间窗口内,假设m(t')近似为线性函数,θ(t')近似为周期函数,通过公式(12)得到如公式(13)所示的关系:
[0121][0122]
m(t)是m(t')在窗口t'∈[t

(w/2),t+(w/2)]内的均值,而公式中的是去除直流分量后的手部震颤动作的曲线,因此,在每个周期上的积分为零;
[0123]
步骤3.1.3、当w远大于周期长度时,的值对曲线的大小而言就变得微不足道。因此l(t)用公式(14)表示:
[0124]
l(t)≈a+m(t)
ꢀꢀꢀ
(14)
[0125]
l(t)正是要去除的手部震颤的时变直流分量,可根据在时间窗口[t

(w/2),t+(w/2)]中获取的相位数据,从公式(12)中近似计算l(t)的值,即a+m(t)的值,设s(t)是该窗口中相位序列的子集,对于在特定时间t'采集的每个样本θ(t'),设δ(t')是从该样本到下一个样本的时间间隔,用离散样本近似计算公式(12)中的积分,如下所示:
[0126][0127]
其中,w的值应该根据应用的环境决定,但是,w应该足够的小,使得m(t)在一个时间窗口内可能是线性的,并且w应该大于震颤周期。计算出局部平均值l(t)后,将l(t)从θ(t)中减去,如公式(16)所示:
[0128][0129]
设经过上述数据去噪、消除时变直流分量后的相位集合为利用手部标签的相位减去胸部标签的相位分离出手部震颤动作的相位曲线,如图3所示;
[0130]
步骤3.2、计算时变震颤频率:
[0131]
步骤3.2.1、手部震颤动作不能产生理想状态下的完美周期相位曲线,手部震颤是时变的。不仅震颤的强度可能随时间变化,而且震颤周期也可能随时间变化。为了计算时变的震颤频率,需要使用基于滑动窗口的方法。根据时间窗口中的相位数据计算t时刻的震颤频率r(t),其中是窗口大小,当测量手部震颤时,即使是短短的几秒钟也是合适的,因为在相对较短的时间内,手部震颤的频率更容易保持一致,这样就能避免因受试者自身原因而引入的时变因素。首先,需要确定相位曲线窗口内的峰值或谷值,然
后,使用峰到峰的距离估计震颤周期并计算出震颤频率,
[0132]
假设是来自的相位样本在窗口中的子集,识别峰值的一个简单算法是将每个相位样本与其前一个样本和后一个样本进行比较。如果相位样本大于前一个和后一个样本,将把它视为峰值。使用小波变换方法来消除环境噪声引起的假峰,虽然可以去除大多数假峰,但不能去除全部的假峰。在识别出窗口上的所有峰值之后,使用最小二乘法获得震颤周期的估计p(t),将峰与峰之间的间隔表示为{v1,v2,...,v
m
},最小二乘估计由公式(17)给出:
[0133][0134]
步骤3.2.2、在窗口内t时刻的震颤频率r(t)的估计可由公式(18)计算得到:
[0135]
r(t)=1/p(t)
ꢀꢀꢀ
(18)
[0136]
整个测量周期内的平均震颤频率,表示为定义如公式(19)所示:
[0137][0138]
其中,t1是开始测量的时间,t
n
是结束测量的时间,
[0139]
步骤3.2.3、假设有n个样本属于计算如公式(20)所示:
[0140][0141]
其中,δ(t)是从样本到下一个样本的时间间隔。
[0142]
步骤4、基于cnn

lstm的手部震颤识别方法。
[0143]
步骤4具体按照以下步骤实施:
[0144]
本发明研究的是手部震颤动作伴随身体活动的问题,cnn在处理rfid信号数据的全局时间依赖关系时是低效的。手部震颤识别可以视为一个时间序列分类问题。由数据预处理分析可知,手部震颤动作易受手部震颤基准点、震颤幅度和震颤频率等因素影响,并且这种影响是随时间变化的。所以,本发明的研究需要考虑时间跨度较大的特征之间的相关性。通过在手部震颤动作中捕获时间信息有助于对时变的手部震颤动作进行建模,不仅能解决cnn在处理时间序列方面的不足,还能提高识别算法的准确率。
[0145]
结合图4、图5,lstm通过增加不同的门控单元,解决了普通循环神经网络在反向传播过程中的梯度消失问题,这使得lstm在处理时序数据时有优势。lstm的特殊结构使其拥有记忆长距离信息的能力,可以解决手部震颤动作中时间跨度较大的特征之间的依赖问题。基于上述分析,本发明提出基于cnn

lstm的手部震颤识别方法。整体思路是将rfid信号数据输入到cnn中进行特征提取,然后在卷积层和池化层之后加入lstm,以提取特征之间的时间相关性,进而实现手部震颤动作的准确识别。
[0146]
本发明的cnn

lstm模型由两部分组成,基于cnn的特征提取和基于lstm的特征融合,如图4所示。cnn从原始rfid信号数据中学习局部特征,lstm从局部特征中提取时间依赖关系,并实现局部特征和全局特征的融合,将cnn和lstm相结合,可以提取深层的、高级的特
性,对手部震颤动作进行精细化描述,从而实现准确识别。
[0147]
本发明的cnn

lstm模型由一层包含36个神经元的lstm层、全连接层、批量归一化层和输出层组成,网络结构如图5所示。lstm层设置了值为0.5的dropout,并使用adam优化器进行参数优化,设置初始的学习速率为0.0006,epoch为400,batch size为50,将模型参数设置好后,将步骤3得到的数据输入到模型中,进行手部震颤识别。
[0148]
实验分析
[0149]
1实验数据集
[0150]
本发明研究的是身体非静止状态时的手部震颤识别方法,所以需要利用手部震颤动作伴随身体活动的相位数据完成该研究。本发明采集了3组“复合动作”的相位数据,分别是弯腰过程中的手部震颤、蹲下过程中的手部震颤和起立过程中的手部震颤的相位数据。在采集每组数据的过程中,保证身体除了手部震颤动作外只存在一种身体活动。每一组都使用两个无源标签,分别附着于受试者的胸前和手部。通过一对无源标签组,并基于4.3中的数据预处理方法,本发明可以从上述采集的三种“复合动作”中分离出手部震颤动作的相位数据。
[0151]
本发明将10个连续的相位序列看作一条数据,每一组分离出的手部震颤相位数据都有300条,共900条数据。在训练之前先将数据集随机分为训练样本和测试样本(两者比例为7:3)。实验过程中对cnn

lstm手部震颤识别模型的卷积核大小、学习率和batchsize进行调整以得到最优的识别模型。
[0152]
2模型训练和参数设置
[0153]
本发明模型训练过程与第三章的cnn模型训练过程相似,本发明模型训练的参数主要有:lstm层神经元个数、学习率和batch size。初始参数设为:lstm层神经元个数为30,学习率为0.0006,epoch为400,每次批量样本batch size为50,在此基础上的初始识别率为93.35%。图6(a)和图6(b)展示了设置初始参数的模型的accuracy曲线和loss曲线。
[0154]
(1)lstm层神经元个数
[0155]
lstm层神经元个数是一个十分重要的参数,神经元个数过少时,网络的学习能力和处理信息的能力差,从而导致识别率低。而神经元过多时,会使网络结构变得更加复杂。为了验证lstm层神经元个数对识别结果的影响,在不改变初始学习率和batch size的前提下,本发明实验分别验证了神经元个数分别为6,12,18,24,30,36,42,48时的识别率,结果如图7所示。在改变了神经元个数后,图8(a)和图8(b)展示了新的模型的accuracy曲线和loss曲线。
[0156]
由于将神经元设置为36时已经具有良好的表现,再增加神经元个数只会令网络的学习速度变慢,所以本发明将lstm层神经元设置为36个。
[0157]
(2)学习率确定
[0158]
本发明在训练模型时,分别设置学习率为0.0001、0.0002、0.0004、0.0006、0.0008、0.001、0.005和0.01。不同学习率的识别率如表1所示。
[0159]
表1不同学习率对应的识别率
[0160]
tab.1 the recognition rate corresponding to different learning rate
[0161]
学习率识别率0.00010.9447
0.00020.94870.00040.94910.00060.94560.00080.93800.0010.93350.0050.93920.010.9314
[0162]
在实验过程中发现,如图9(a)和图9(b)所示,将学习率为0.0002的模型的损失值表现要优于学习率为0.0004的模型,在识别率相差不大的情况下,本发明选择将学习率设置为0.0002,并完成后续的参数调整。
[0163]
(3)batch size大小确定
[0164]
图10展示了设置不同batch size的识别率,分别为10、20、30、40、50、60、70、80、90和100,可以看到batch size为60时的识别率最高。
[0165]
图11(a)和图11(b)为本发明基于cnn

lstm的手部震颤识别模型经过lstm层神经元个数、学习率和batch size参数调整后的accuracy曲线和loss曲线,该模型的识别率最高为94.96%。图12展示了从3种“复合动作”中分离出来的手部震颤动作的识别精度、召回率和f1

score。
[0166]
经过上述一系列的参数调整和模型训练的结果对比后,本发明基于cnn

lstm的手部震颤识别模型的具体参数如表2所示。
[0167]
表2模型参数列表
[0168]
参数值卷积核尺寸3池化尺寸3激活函数relulstm层数1每层的神经元个数36dropout0.5学习速率0.0002批量样本数60epoch400
[0169]
3实验对比与分析
[0170]
为了验证本发明提出的基于cnn

lstm的手部震颤识别方法的有效性,分别使用cnn、lstm和cnn

lstm模型进行实验对比和分析,进而体现本发明cnn

lstm模型的优越性。
[0171]
表3不同模型在同一数据集上的识别率
[0172]
方法识别率cnn93.80%lstm93.02%cnn

lstm94.96%
[0173]
由表3中可以看出,所有方法的识别率均达到了90%以上,本发明方法的识别率最
高,为94.96%,优于其他方法。图13展示了对3种模型进行宏平均(macro avg)评价时的precision、recall和f1

score。
[0174]
本发明使用从3种“复合动作”中分离出的手部震颤动作数据分别检验了cnn、lstm和cnn

lstm手部震颤识别模型的优劣表现。由图13可以看出本发明方法的各项评估标准都高于前两种方法。
[0175]
在实验过程中发现,lstm的实验结果并不总是低于cnn的实验结果。通过对数据及识别模型分析发现,cnn和lstm的识别准确率与受试者手部震颤基准点和震颤率的变化有关。在手部震颤基准点变化频繁,而手部震颤率波动较小的情况下,cnn的识别准确率相对于lstm而言偏低。而在手部震颤率频繁变化的情况下,lstm的识别准确率相对于cnn而言偏低。
[0176]
cnn

lstm模型在处理上述两种情况下的数据时,不会产生准确率波动较大的情况,这表明其稳定性优于前两者。这是因为cnn

lstm模型结合了cnn特征提取和lstm处理时序数据的优点,不仅能提取深层次的特征,还保留了时间跨度较大的特征之间的相关性,从而得到了更精确的识别结果。综合上述对比实验,可以看到cnn

lstm模型的表现优于cnn和lstm模型,在数据集上具有更好的表现。
[0177]
小结
[0178]
本发明提出并实现了身体非静止状态的手部震颤识别方法,解决了在检测手部震颤时身体不能存在其他身体活动的限制。首先,建立理想状态下的手部震颤数学模型。然后,使用离散小波变换分解手部震颤动作的相位信号,并利用极大极小阈值算法完成阈值选择。之后,通过利用计算滑动窗口内的局部均值的方法去除时变的直流分量。最后,提出了基于cnn

lstm的手部震颤识别模型。通过参数调优得到了最佳模型,并与cnn和lstm模型完成了实验对比,识别准确率为94.96%。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1