一种基于深度学习的上肢康复监测方法及系统与流程

文档序号:23309546发布日期:2020-12-15 11:40阅读:97来源:国知局
一种基于深度学习的上肢康复监测方法及系统与流程

本发明涉及深度学习和物联网技术技术领域,具体涉及一种基于深度学习的上肢康复监测方法及系统。



背景技术:

目前基于动作识别的研究有很多,基于可穿戴设备的研究中uwave使用单个三轴加速度传感器来高精度地识别个性化手势,femd使用kinect传感器对十种不同的手势进行分类。femo识别用户在身体锻炼过程中的活动。近年来,基于wi-fi信号的非接触式手势识别引起了很多研究关注。wigest以无设备方式检测基本的原始手势。wifinger根据csi变化检测细粒度的手势。witrack利用usrp设备能够识别人体的移动以及识别简单的手势。

上述是目前比较流行的手势识别技术,有些方法是基于接触的,需要用户佩戴或粘贴一些传感器或rfid标签。与非接触手势识别相比,基于接触的方法使用起来不方便,这限制了它们的应用场景,但有些需要很昂贵的实施例设备。由于rfid具有其独特的体积小、成本低、寿命长、穿透性好、重复利用性好、不怕污染和适应各种环境等诸多优点,成为动作识别的重要实现方式。



技术实现要素:

本发明的主要目的在于提供了一种基于深度学习的上肢康复监测方法及系统,该技术不需要人体携带任何设备或标签,可以高效地识别上肢(肩部、肘部、腕部)康复锻炼动作。

一种基于深度学习的上肢康复监测方法,包括如下步骤:

步骤1:布置无源rfid标签矩阵,采集康复动作的相位信息数据;

步骤2:将步骤1采集到的相位信息进行预处理;

步骤3:从预处理后的信号中获取与康复动作有关的相位信息数据;

步骤4:将所述相位信息数据制成康复动作数据集合,并采用深度学习卷积神经网络cnn对所述康复动作数据进行训练,得到适合康复动作的模型;

步骤5:用户开始进行康复训练,实时监测用户的康复动作,标签矩阵收集相位信息,然后经过步骤2和步骤3的处理后,将得到的相位信息数据送入步骤4中得到的cnn模型中,识别用户的康复动作;

步骤6:根据步骤5的结果,结合动作间的停滞时间、动作用时等信息给用户的一系列康复动作打分并给出康复建议。

进一步地,步骤1中,所述rfid标签矩阵由9个标签组成,依次交错排列,矩阵大小为三行三列,每个标签间隔为12.5cm,通过阅读器与标签间的相互通信,获取标签矩阵的中多个标签的相位信息;所述康复动作包括:肘关节屈/伸、腕关节屈/伸、肩关节屈/伸、肩关节内收/外展、肩关节旋内/旋外。

进一步地,所述步骤2中,对采集到的相位信息进行预处理,具体包括以下步骤:

步骤2-1:相位展开:对从阅读器读标签而获取的相位信息,设相位为p={p1,p2,...,pn},n是标签的数量,pi={x(1),x(2),...,x(m)},x是相位值,x(m)是在采样点m处的相位值,然后计算相位差:

处理跳变点:

将得到的值保存在d(pi)={d1,d2,...,dm-1},然后求和,si={0,d1,d1+d2,...,d1+d2+dm-1},最后得到相位展开后的数据:fin_phase=pi+si;

步骤2-2:移动平均滤波平滑相位曲线,使用matlab函数smooth(phase,’moving’),默认窗宽为5,计算方法如下,输入y=fin_phase,输出yy:

步骤2-3:数据归一化处理,使用matlab函数mapminmax(x,ymin,ymax),将数据x=yy归一化到区间[ymin,ymax]内,其中ymin、ymax分别代表区间最小值和最大值,默认归一化到区间[-1,1]内,计算公式为:

进一步地,所述步骤3中,切分步骤2得到的数据,获取与康复动作有关的相位信息;具体地,利用savitzky-golay滤波器波形切分,获得与康复动作有关的特征波形,切分方法如下:

其中,n和xk分别是滑动窗口长度和第k样本点,m是窗口数量,a1和f1是权值,过滤掉图像中gm小于某一阈值的点,从而切分出和动作有关的相位信息。

进一步地,所述步骤4中得到的与康复动作相关的相位信息数据制成数据集合,包括如下步骤:

步骤4-1:构造相位矩阵,生成m×n矩阵p,其中m是采样点的数量,n是标签数量,即:

步骤4-2:重采样:对数据进行重采样处理,调整子矩阵的大小,将其视为2d图像,计算所有动作的持续时间tend-tstart,然后计算它们的中间值t,再利用matlab函数resample(phase,t,length),其中length为矩阵原始长度,t为重采样后的长度。

进一步地,所述步骤4中,cnn模型包括:输入层、卷积层、池化层、遗忘层、压平层、全连接层、分类层;所述卷积层包括:卷积层一、卷积层二;所述池化层包括池化层一、池化层二;所述遗忘层包括遗忘层一、遗忘层二、遗忘层三;

所述cnn模型前端设有一个输入层,所述输入层与卷积层一连接,所述卷积层一与池化层一连接;所述池化层一与遗忘层一连接;所述遗忘层一与卷积层二连接;所述卷积层二与池化层二连接;所述池化层二与遗忘层二连接;所述遗忘层二与压平层连接;所述压平层与全连接层连接;所述全连接层与遗忘层三连接;所述遗忘层三与分类层连接;

所述输入层用于完成对输入数据的处理;所述卷积层是使用卷积核进行特征提取和特征映射;所述池化层用于减少参数数量,降低网络复杂度;所述遗忘层用于防止训练中出现过拟合,同时加快训练收敛的速度;所述压平层用于将数据压缩成一维数组;所述全连接层将学到的分布式特征表示映射到样本标记空间;所述分类层用于完成对康复动作的分类。

进一步地,所述步骤6中,给用户的一系列康复动作情况打分并给出一些康复建议,打分的依据在于识别用户的康复动作后判断动作是否标准,如果不标准再根据识别出动作的角度位置信息,结合动作间的停滞时间、动作用时等信息,进行打分,并给出专业的康复建议。

一种基于深度学习的上肢康复监测系统,包括:

商用无源rfid标签,收集用户的相位数据信息;

天线,用于发送信号给rfid标签,同时接收来自rfid标签的信号,并发送给阅读器;

阅读器,用于与标签通信,调制解调信号,并解码数据包;

数据处理单元,用于对原始数据进行相位提取、相位展开、相位平滑、归一化处理、savitzky-golay滤波器波形切分的处理;

数据存储单元,用于存储数据处理单元后的数据,并将其制成数据集合;

cnn模型单元,基于大量的康复动作的相位数据,构造训练出适合的cnn模型;

提示单元,给用户的康复情况打分,结合专业的康复建议给出康复意见。

与现有技术相比,本发明具有以下有益效果:

本发明是基于深度学习的上肢康复检测方法及系统,不需要用户绑定任何设备或标签,利用神经网络中预先训练好的cnn模型识别上肢的康复动作。相比于那些需要携带设备或标签的动作识别系统,本发明利用标签矩阵不会给用户侵入感,不会侵犯用户隐私,提高用户体验感。本发明只使用单阅读器单天线以及9个商用无源rfid标签,设备便宜、简单,没有专业设备和专业操作人员的需求。目前有些系统主要使用模板匹配来区分不同的手势,导致动作识别等待时间通常很高,因此本发明采用深度学习中的卷积神经网络来识别动作,会大大降低动作识别的等待时间。实验验证在室内房间实现,模拟在家进行康复锻炼场景,康复动作的识别精度可达到97%。

附图说明

图1为本发明实施例中所述上肢康复监测系统的结构示意图。

图2为本发明实施例中所述上肢康复监测系统的标签矩阵布局图。

图3为本发明实施例中所述上肢康复监测系统的标签矩阵布局示意图。

图4为本发明实施例中所述上肢监测的康复动作示意图。

图5为本发明实施例中所述cnn模型结构示意图。

具体实施方式

下面结合说明书附图对本发明的技术方案做进一步的详细说明。

一种基于深度学习的上肢康复监测方法,包括如下步骤:

步骤1:布置无源rfid标签矩阵,采集康复动作的相位信息数据。

步骤2:将步骤1采集到的相位信息进行预处理。

步骤3:从预处理后的信号中获取与康复动作有关的相位信息数据。

步骤4:将相位信息数据制成康复动作数据集合,并采用深度学习卷积神经网络cnn对康复动作数据进行训练,得到适合康复动作的模型。

步骤5:用户开始进行康复训练,实时监测用户的康复动作,标签矩阵收集相位信息,然后经过步骤2和步骤3的处理后,将得到的相位信息数据送入步骤4中得到的cnn模型中,识别用户的康复动作。

步骤6:根据步骤5的结果,结合动作间的停滞时间、动作用时等信息给用户的一系列康复动作打分并给出康复建议。

参阅图1,一种基于深度学习的上肢康复监测系统包括:9个无源rfid标签、一个天线、一个阅读器、数据处理单元和数据存储单元。其中无源rfid标签矩阵,收集用户康复动作的相位数据信息,其标签的位置布局如图2和图3所示;其中采集康复动作的相位信息数据包括标准的康复动作和不标准的康复动作,本实施例中采集了上述五种标准的康复动作即动作幅度为90°时的动作数据,以及不标准的康复动作,在本实施例中以肘关节屈/伸为例采集了30°、45°、60°的动作数据。采集位置的角度示意图如图2所示;实施例中的康复动作包括肘关节屈/伸、腕关节屈/伸、肩关节屈/伸、肩关节内收/外展、肩关节旋内/旋外,如图4所示。天线,用于发送信号给无源rfid标签,同时接收来自无源rfid标签的信号,并发送给阅读器;阅读器,用于调制解调信号,并解码数据包;数据处理单元,用于对原始数据进行相位提取、相位展开、相位平滑、归一化处理、savitzky-golay滤波器波形切分的处理;数据存储单元,用于存储数据处理单元后的数据,并将其制成数据集合;cnn模型单元,基于大量的康复动作的相位数据,训练出适合的cnn模块,如图5所示。提示单元,用于提示用户的康复动作是否达到要求。

上述cpu控制单元中的数据处理单元进行的运算包括:

相位展开:从阅读器中获取的相位是缠绕的,因此需要进行相位展开。设相位为p={p1,p2,...,pn},其中n是标签的数量,pi={x(1),x(2),...,x(m)},其中x是相位值,x(m)是在采样点m处的相位值。步骤如下:

计算相位差:处理跳变点:将得到的值保存在d(pi)={d1,d2,...,dm-1},然后求和si={0,d1,d1+d2,...,d1+d2+dm-1},最后得到相位展开的数据:fin_phase=pi+si。

移动平均滤波平滑:使用matlab自带函数smooth(phase,’moving’),默认窗宽为5,计算方法如下,输入y=fin_phase,输出yy:

数据归一化处理:使用matlab自带函数mapminmax(x,ymin,ymax),将数据x=yy归一化到区间[ymin,ymax]内,默认归一化到区间[-1,1]内,其中ymin、ymax分别代表区间最小值和最大值。计算方法如下:

步骤3中获取与康复动作有关的相位信息,利用savitzky-golay滤波器波形切分,获得与康复动作有关的特征波形。切分方法如下:

其中,n和xk分别是滑动窗口长度和第k样本点,m是窗口数量,a1和f1是权值,过滤掉图像中gm小于某一阈值的点,从而切分出和动作有关的数据。

步骤4中,制作康复动作数据集合,具体为:

构造相位矩阵,生成m×n矩阵p,其中m是采样点的数量,n是标签数量,即:

重采样:因为每次动作的时间不一致,为了规范相位矩阵维度,因此需要对数据进行重采样处理。类似于调整图像处理的大小,我们调整子矩阵的大小,可以将其视为2d图像。计算方法如下:

计算所有动作的持续时间tend-tstart,然后计算它们的中间值t,再利用matlab函数resample(phase,t,length),其中length为矩阵原始长度,t为重采样后的长度。

cnn模型包括:输入层、卷积层、池化层、遗忘层、压平层、全连接层、分类层。卷积层包括:卷积层一、卷积层二;池化层包括池化层一、池化层二;遗忘层包括遗忘层一、遗忘层二、遗忘层三。

cnn模型前端设有一个输入层,输入层与卷积层一连接,卷积层一池化层一连接;池化层一与遗忘层一连接;遗忘层一与卷积层二连接;卷积层二与池化层二连接;池化层二与遗忘层二连接;遗忘层二与压平层连接;压平层与全连接层连接;全连接层与遗忘层三连接;遗忘层三与分类层连接。

输入层用于完成对输入数据的处理;卷积层是使用卷积核进行特征提取和特征映射;池化层用于有效减少参数数量,从而降低网络复杂度;遗忘层用于防止训练中出现过拟合,同时加快训练收敛的速度;压平层用于将数据压缩成一维数组;全连接层将学到的“分布式特征表示”映射到样本标记空间;分类层用于完成对康复动作的分类。

将处理后的训练数据集馈送到构建好的cnn模型中,cnn模型将基于训练数据集中大量数据样本不断地进行学习,最终训练出一个符合要求的cnn模型。

用户进行康复锻炼时,标签矩阵采集用户的康复动作;经过数据处理单元,其中包括:相位展开处理、移动平均滤波平滑、数据归一化处理、savitzky-golay滤波器波形切分、制作康复动作数据集合,生成属于用户的康复动作数据,存储在数据库中。然后将用户的康复动作数据送入到训练好的基于康复动作的cnn模型中进行动作预测,输出识别结果。将结果输出到提示单元,提示单元结合用户康复动作的角度、持久度、快慢等因素来给用户的康复锻炼进行评估,结合专业的医疗建议,给与用户的康复锻炼提供一些建议。本发明的实验验证是在室内封闭房间内,模拟用户在家进行康复锻炼的场景,识别康复锻炼动作的精度达到97%,证明本发明方法的可行性。

以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1