一种基于支持向量机的冻结步态检测方法、装置、设备和存储介质转让专利

申请号 : CN202210877209.0

文献号 : CN115188468B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王开亮陈彪冯军胡威孟源

申请人 : 北京戴来科技有限公司

摘要 :

本发明提供了一种基于支持向量机的冻结步态检测方法、装置、设备和存储介质,方法包括:采集患者脚部的步态数据并录制行走视频;对步态数据进行分段形成训练步态数据片段,并增加是否产生冻结步态的人工标签得到训练步态标签;对训练步态数据片段进行预处理之后进行最大值统计及傅里叶变换,得到训练步态参数;将训练步态标签和训练步态参数输入支持向量机进行训练,得到训练好的冻结步态检测模型;采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数;将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机,得到冻结步态检测结果。其采集数据量少,参数计算量小,能够快速准确的检测出是否产生冻结步态。

权利要求 :

1.一种基于支持向量机的冻结步态检测方法,其特征在于,所述方法包括以下步骤:采集患者行走过程中脚部的步态数据并录制行走视频,所述步态数据包括三轴加速度数据和三轴角速度数据;

对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签;

对训练步态数据片段进行预处理形成预处理数据;

对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数;

所述对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数具体包括:统计清理后的加速度信号 和欧拉角信号 得到加速度信号最大值accmax和欧拉角信号最大值eulermax;

基于清理后的加速度信号 和欧拉角信号 进行傅里叶变换对应得到频域加速度信号facc和频域欧拉角信号feuler;

将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段;

计算每个频率段内各个频域加速度信号facc的幅值的总和与整体频率阈值内各个频域加速度信号facc的幅值的总和的比值,得到各个频率段的加速度信号比值;

计算每个频率段内各个频域欧拉角信号feuler的幅值的总和与整体频率阈值内各个频域欧拉角信号feuler的幅值的总和的比值,得到各个频率段的欧拉角信号比值;

基于加速度信号最大值accmax、欧拉角信号最大值eulermax、各个频率段的加速度信号比值和各个频率段的欧拉角信号比值组合形成训练步态参数;

将训练步态标签和训练步态参数输入至支持向量机进行训练,得到训练好的冻结步态检测模型;

采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数;

将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,得到冻结步态检测结果。

2.如权利要求1所述的一种基于支持向量机的冻结步态检测方法,其特征在于,所述对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签具体包括:将步态数据分成若干步态数据片段;

根据每个步态数据片段对应的行走视频为相应的步态数据片段增加是否产生冻结步态的人工标签;

将产生冻结步态的步态数据片段标记为第一标签,将未产生冻结步态的步态数据片段标记为第二标签;

将每个步态数据片段与第一标签和第二标签一一对应保存为训练步态标签。

3.如权利要求2所述的一种基于支持向量机的冻结步态检测方法,其特征在于,所述将步态数据分成若干步态数据片段具体包括:配置一个固定窗宽的滑动时间窗遍历整个步态数据;

配置滑动时间窗每次移动的步长;

提取滑动时间窗每次移动时处于滑动时间窗内的步态数据,获得若干步态数据片段。

4.如权利要求1所述的一种基于支持向量机的冻结步态检测方法,其特征在于,所述对训练步态数据片段进行预处理形成预处理数据具体包括:将三轴加速度数据集成为加速度信号acc,将三轴角速度数据集成为欧拉角信号euler;

将加速度信号acc和欧拉角信号euler的数值聚集至时间轴附近;

将聚集至时间轴附近的加速度信号acc和欧拉角信号euler进行低通滤波处理,得到清理后的加速度信号 和欧拉角信号

5.如权利要求4所述的一种基于支持向量机的冻结步态检测方法,其特征在于,所述将三轴加速度数据集成为加速度信号acc,具体包括:通过如下算式,将三轴加速度数据集成为加速度信号acc;

其中,acc为加速度信号;accx为X轴加速度数据;accy为Y轴加速度数据;accz为Z轴加速度数据;

所述将三轴角速度数据集成为欧拉角信号euler,具体包括:利用四元数计算三轴角速度数据在X轴、Y轴和z轴方向上的欧拉角eulerx、eulery和eulerz;

通过如下算式,将eulerx、eulery和eulerz集成为欧拉角信号euler;

其中,euler为欧拉角信号;eulerx为利用四元数计算出的X轴欧拉角;eulery为利用四元数计算出的Y轴欧拉角;eulerz为利用四元数计算出的Z轴欧拉角。

6.如权利要求1所述的一种基于支持向量机的冻结步态检测方法,其特征在于,所述将训练步态标签和训练步态参数输入至支持向量机进行训练,具体包括:基于支持向量机在matlab环境下使用libsvm工具包将训练步态标签作为训练标签,将训练步态参数作为训练特征;

将所有片段的训练标签和训练特征组合形成训练样本集;

将训练样本集输入至svmtrain训练函数中,得到训练好的冻结步态检测模型。

7.如权利要求2所述的一种基于支持向量机的冻结步态检测方法,其特征在于,所述将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,具体包括:基于支持向量机将待检测参数和训练好的冻结步态检测模型作为待检测特征输入至libsvm工具中的svmpredict函数中;

如果输出结果为第一标签则表明产生冻结步态;

如果输出结果为第二标签则表明未产生冻结步态。

8.一种冻结步态的检测装置,其特征在于,所述装置包括:采集录制模块:用于采集患者行走过程中脚部的步态数据并录制行走视频;

标签增加模块:用于对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签;

预处理模块:用于对训练步态数据片段进行预处理形成预处理数据;

第一参数生成模块:用于对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数;

所述对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数具体包括:统计清理后的加速度信号 和欧拉角信号 得到加速度信号最大值accmax和欧拉角信号最大值eulermax;

基于清理后的加速度信号 和欧拉角信号 进行傅里叶变换对应得到频域加速度信号facc和频域欧拉角信号feuler;

将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段;

计算每个频率段内各个频域加速度信号facc的幅值的总和与整体频率阈值内各个频域加速度信号facc的幅值的总和的比值,得到各个频率段的加速度信号比值;

计算每个频率段内各个频域欧拉角信号feuler的幅值的总和与整体频率阈值内各个频域欧拉角信号feuler的幅值的总和的比值,得到各个频率段的欧拉角信号比值;

基于加速度信号最大值accmax、欧拉角信号最大值eulermax、各个频率段的加速度信号比值和各个频率段的欧拉角信号比值组合形成训练步态参数;

模型生成模块:用于将训练步态标签和训练步态参数输入至支持向量机进行训练,得到训练好的冻结步态检测模型;

第二参数生成模块:用于采采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数;

结果输出模块:用于将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,得到冻结步态检测结果。

9.一种电子设备,其特征在于,包括:

处理器、存储器、与网关通信的接口;

存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行权利要求1至

7任一项所述的方法。

说明书 :

一种基于支持向量机的冻结步态检测方法、装置、设备和存储

介质

技术领域

[0001] 本发明涉及机器学习技术领域,具体涉及一种基于支持向量机的冻结步态检测方法、装置、设备和存储介质。

背景技术

[0002] 冻结步态(FoG)是帕金森病(PD)患者最常见的致残症状之一。冻结步态是一种短暂发作性的步态受阻,常表现为患者起始犹豫不能迈步,突然难以行走。这种情况在步态开始、转弯和通过狭窄空间时更为常见。在现有的冻结步态的治疗或康复中,通常在产生冻结步态时给予一定的外部刺激,帮助患者构建完整的行走运动环路。因此对于冻结步态的快速准确识别是重中之重,现有关于冻结步态检测方法需要采集患者多个部位的数据,因此需要计算的参数较多,过程也比较复杂。

发明内容

[0003] 鉴于上述问题,本发明实施例一种基于支持向量机的冻结步态检测方法、装置、设备和存储介质,解决现有的技术问题。
[0004] 为解决上述技术问题,本发明提供以下技术方案:
[0005] 第一方面,本发明提供一种基于支持向量机的冻结步态检测方法,所述方法包括以下步骤:
[0006] 采集患者行走过程中脚部的步态数据并录制行走视频,所述步态数据包括三轴加速度数据和三轴角速度数据;
[0007] 对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签;
[0008] 对训练步态数据片段进行预处理形成预处理数据;
[0009] 对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数;
[0010] 将训练步态标签和训练步态参数输入至支持向量机进行训练,得到训练好的冻结步态检测模型;
[0011] 采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数;
[0012] 将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,得到冻结步态检测结果。
[0013] 一实施例中,所述对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签具体包括:
[0014] 将步态数据分成若干步态数据片段;
[0015] 根据每个步态数据片段对应的行走视频为相应的步态数据片段增加是否产生冻结步态的人工标签;
[0016] 将产生冻结步态的步态数据片段标记为第一标签,将未产生冻结步态的步态数据片段标记为第二标签;
[0017] 将每个步态数据片段与第一标签和第二标签一一对应保存为训练步态标签。
[0018] 一实施例中,所述将步态数据分成若干步态数据片段具体包括:
[0019] 配置一个固定窗宽的滑动时间窗遍历整个步态数据;
[0020] 配置滑动时间窗每次移动的步长;
[0021] 提取滑动时间窗每次移动时处于滑动时间窗内的步态数据,获得若干步态数据片段。
[0022] 一实施例中,所述对训练步态数据片段进行预处理形成预处理数据具体包括:
[0023] 将三轴加速度数据集成为加速度信号acc,将三轴角速度数据集成为欧拉角信号euler;
[0024] 将加速度信号acc和欧拉角信号euler的数值聚集至时间轴附近;
[0025] 将聚集至时间轴附近的加速度信号acc和欧拉角信号euler进行低通滤波处理,得到清理后的加速度信号 和欧拉角信号
[0026] 一实施例中,所述对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数具体包括:
[0027] 统计清理后的加速度信号 和欧拉角信号 得到加速度信号最大值accmax和欧拉角信号最大值eulermax;
[0028] 基于清理后的加速度信号 和欧拉角信号 进行傅里叶变换对应得到频域加速度信号facc和频域欧拉角信号feuler;
[0029] 将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段;
[0030] 计算每个频率段内各个频域加速度信号facc的幅值的总和与整体频率阈值内各个频域加速度信号facc的幅值的总和的比值,得到各个频率段的加速度信号比值;
[0031] 计算每个频率段内各个频域欧拉角信号feuler的幅值的总和与整体频率阈值内各个频域欧拉角信号feuler的幅值的总和的比值,得到各个频率段的欧拉角信号比值;
[0032] 基于加速度信号最大值accmax、欧拉角信号最大值eulermax、各个频率段的加速度信号比值和各个频率段的欧拉角信号比值组合形成训练步态参数。
[0033] 一实施例中,所述将三轴加速度数据集成为加速度信号acc,具体包括:
[0034] 通过如下算式,将三轴加速度数据集成为加速度信号acc;
[0035]
[0036] 其中,acc为加速度信号;accx为X轴加速度数据;accy为Y轴加速度数据;accz为Z轴加速度数据。
[0037] 所述将三轴角速度数据集成为欧拉角信号euler,具体包括:
[0038] 利用四元数计算三轴角速度数据在X轴、Y轴和Z轴方向上的欧拉角eulerx、eulery和eulerz;
[0039] 通过如下算式,将eulerx、eulery和eulerz集成为欧拉角信号euler;
[0040]
[0041] 其中,euler为欧拉角信号;eulerx为利用四元数计算出的X轴欧拉角;eulery为利用四元数计算出的Y轴欧拉角;eulerz为利用四元数计算出的Z轴欧拉角。
[0042] 一实施例中,所述将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段,具体包括:
[0043] 整体频率阈值的取值范围为0~25Hz;
[0044] 频率段包括第一频率段f1、第二频率段f2和第三频率段f3;
[0045] 所述第一频率段f1的取值范围为0≤f1<1Hz;
[0046] 所述第二频率段f2的取值范围为1≤f2<3Hz;
[0047] 所述第三频率段f3的取值范围为3≤f3<5Hz。
[0048] 一实施例中,所述将训练步态标签和训练步态参数输入至支持向量机进行训练,具体包括:
[0049] 基于支持向量机在matlab环境下使用libsvm工具包将训练步态标签作为训练标签,将训练步态参数作为训练特征;
[0050] 将所有片段的训练标签和训练特征组合形成训练样本集;
[0051] 将训练样本集输入至svmtrain训练函数中,得到训练好的冻结步态检测模型。
[0052] 一实施例中,所述将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,具体包括:
[0053] 基于支持向量机将待检测参数和训练好的冻结步态检测模型作为待检测特征输入至libsvm工具中的svmpredict函数中;
[0054] 如果输出结果为第一标签则表明产生冻结步态;
[0055] 如果输出结果为第二标签则表明未产生冻结步态。
[0056] 第二方面,本发明提供一种冻结步态的检测装置,所述装置包括:
[0057] 采集录制模块:用于采集患者行走过程中脚部的步态数据并录制行走视频,所述步态数据包括三轴加速度数据和三轴角速度数据;
[0058] 标签增加模块:用于对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签;
[0059] 预处理模块:用于对训练步态数据片段进行预处理形成预处理数据;
[0060] 第一参数生成模块:用于对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数;
[0061] 模型生成模块:用于将训练步态标签和训练步态参数输入至支持向量机进行训练,得到训练好的冻结步态检测模型;
[0062] 第二参数生成模块:用于采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数;
[0063] 结果输出模块:用于将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,得到冻结步态检测结果。
[0064] 一实施例中,所述标签增加模块具体包括:
[0065] 分割单元:用于将步态数据分成若干步态数据片段;
[0066] 标签判断单元:用于根据每个步态数据片段对应的行走视频为相应的步态数据片段增加是否产生冻结步态的人工标签;
[0067] 标签增加单元:用于将产生冻结步态的步态数据片段标记为第一标签,将未产生冻结步态的步态数据片段标记为第二标签;
[0068] 训练步态标签形成单元:用于将每个步态数据片段与第一标签和第二标签一一对应保存为训练步态标签。
[0069] 一实施例中,所述分割单元具体包括:
[0070] 第一配置子单元:配置一个固定窗宽的滑动时间窗遍历整个步态数据;
[0071] 第二配置子单元:配置滑动时间窗每次移动的步长;
[0072] 数据片段提取单元:提取滑动时间窗每次移动时处于滑动时间窗内的步态数据,获得若干步态数据片段。
[0073] 一实施例中,所述预处理模块具体包括:
[0074] 数据集成单元:用于将三轴加速度数据集成为加速度信号acc,将三轴角速度数据集成为欧拉角信号euler;
[0075] 数据归约单元:用于将加速度信号acc和欧拉角信号euler的数值聚集至时间轴附近;
[0076] 数据清理单元:将聚集至时间轴附近的加速度信号acc和欧拉角信号euler进行低通滤波处理,得到清理后的加速度信号 和欧拉角信号
[0077] 一实施例中,所述第一参数生成模块具体包括:
[0078] 数据统计单元:用于统计清理后的加速度信号 和欧拉角信号得到加速度信号最大值accmax和欧拉角信号最大值eulermax;
[0079] 数据变换单元:用于基于清理后的加速度信号 和欧拉角信号进行傅里叶变换对应得到频域加速度信号facc和频域欧拉角信号feuler;
[0080] 频域信号分割单元:将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段;
[0081] 第一计算单元:用于计算每个频率段内各个频域加速度信号facc的幅值的总和与整体频率阈值内各个频域加速度信号facc的幅值的总和的比值,得到各个频率段的加速度信号比值;
[0082] 第二计算单元:用于计算每个频率段内各个频域欧拉角信号feuler的幅值的总和与整体频率阈值内各个频域欧拉角信号feuler的幅值的总和的比值,得到各个频率段的欧拉角信号比值;
[0083] 训练步态参数形成单元:用于基于加速度信号最大值accmax、欧拉角信号最大值eulermax、各个频率段的加速度信号比值和各个频率段的欧拉角信号比值组合形成训练步态参数。
[0084] 一实施例中,所述数据集成单元包括:
[0085] 加速度信号集成子单元:用于通过如下算式,将三轴加速度数据集成为加速度信号acc;
[0086]
[0087] 其中,acc为加速度信号;accx为X轴加速度数据;accy为Y轴加速度数据;accz为Z轴加速度数据。
[0088] 一实施例中,所述数据集成单元还包括:
[0089] 欧拉角生成子单元:用于利用四元数计算三轴角速度数据在X轴、Y轴和Z轴方向上的欧拉角eulerx、eulery和eulerz;
[0090] 欧拉角信号集成子单元:用于通过如下算式,将eulerx、eulery和eulerz集成为欧拉角信号euler;
[0091]
[0092] 其中,euler为欧拉角信号;eulerx为利用四元数计算出的X轴欧拉角;eulery为利用四元数计算出的Y轴欧拉角;eulerz为利用四元数计算出的Z轴欧拉角。
[0093] 一实施例中,所述频域信号分割单元具体设置为:
[0094] 整体频率阈值的取值范围为0~25Hz;
[0095] 频率段包括第一频率段f1、第二频率段f2和第三频率段f3;
[0096] 所述第一频率段f1的取值范围为0≤f1<1Hz;
[0097] 所述第二频率段f2的取值范围为1≤f2<3Hz;
[0098] 所述第三频率段f3的取值范围为3≤f3<5Hz。
[0099] 一实施例中,所述模型生成模块具体包括:
[0100] 训练特征生成单元:用于基于支持向量机在matlab环境下使用libsvm工具包将训练步态标签作为训练标签,将训练步态参数作为训练特征;
[0101] 训练样本集生成单元:用于将所有片段的训练标签和训练特征组合形成训练样本集;
[0102] 冻结步态检测模型生成单元:用于将训练样本集输入至svmtrain训练函数中,得到训练好的冻结步态检测模型。
[0103] 一实施例中,所述结果输出模块具体用于:
[0104] 基于支持向量机将待检测参数和训练好的冻结步态检测模型作为待检测特征输入至libsvm工具中的svmpredict函数中;
[0105] 如果输出结果为第一标签则表明产生冻结步态;
[0106] 如果输出结果为第二标签则表明未产生冻结步态。
[0107] 第三方面,本发明提供一种电子设备,包括:
[0108] 处理器、存储器、与网关通信的接口;
[0109] 存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行第一方面任一项提供的一种基于支持向量机的冻结步态检测方法。
[0110] 第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行第一方面任一项提供的一种基于支持向量机的冻结步态检测方法。
[0111] 从上述描述可知,本发明实施例提供一种基于支持向量机的冻结步态检测方法,无需在患者的多个部位佩戴传感器,仅需要采集患者脚部的步态数据,经过简单计算便能得到用于判断冻结步态的参数,并采用支持向量机无需规定阈值,可根据样本数据自动训练生成冻结步态检测模型,其需要采集的数据类型和输入的数据较少,可以更加精确快速的判断出是否产生冻结步态。

附图说明

[0112] 图1所示为本发明一实施例提供的冻结步态检测方法流程示意图;
[0113] 图2所示为本发明一实施例提供的冻结步态检测装置的结构示意图;
[0114] 图3所示为本发明一实施例中的电子设备的结构示意图。

具体实施方式

[0115] 为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0116] 基于现有技术的缺点,本发明实施例提供了一种基于支持向量机的冻结步态检测方法的具体实施方式,参见图1,该方法具体包括:
[0117] S110:采集患者行走过程中脚部的步态数据并录制行走视频,步态数据包括三轴加速度数据和三轴角速度数据。
[0118] 具体地,此步骤是为了训练得到冻结步态检测模型做的前期数据采集准备,采集过程中仅需采集患者脚部的步态数据,在采集数据时患者需要穿戴步态监测鞋,鞋底安装有加速度计和陀螺仪,加速度计和陀螺仪分别用来采集三轴加速度数据和三轴角速度数据,采样频率可以设置为50Hz。患者穿戴步态检测鞋后,让患者自由行走,并录制视频记录整个行走过程,行走结束后停止采集数据。当然为了训练得到的冻结步态检测模型容错率更高,可以采集多患者的步态数据。
[0119] S120:对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签。
[0120] 具体地,可以将步态数据分成若干步态数据片段;
[0121] 根据每个步态数据片段对应的行走视频为相应的步态数据片段增加是否产生冻结步态的人工标签;
[0122] 将产生冻结步态的步态数据片段标记为第一标签,将未产生冻结步态的步态数据片段标记为第二标签;例如将第一标签标记为“1”,将第二标签标记为“0”,使得训练好的冻结步态检测模型输出的冻结步态结果更加直观,当然并不排除使用其他类型的标记进行标注。
[0123] 将每个步态数据片段与第一标签和第二标签一一对应保存为训练步态标签。
[0124] 在将步态数据分成若干步态数据片段时,可以通过下述方法进行分割提取:
[0125] 首先配置一个固定窗宽的滑动时间窗遍历整个步态数据,例如可以将滑动时间窗的窗宽设置为4S(其中包括200个数据点);
[0126] 并配置滑动时间窗每次移动的步长,例如可以将步长设置为1S(包括50个数据点);
[0127] 在数据提取过程中,依次提取滑动时间窗每次移动时处于滑动时间窗内的步态数据,最后获得若干步态数据片段。保证数据提出的完整性以并减少误差,提高检测精度。
[0128] S130:对训练步态数据片段进行预处理形成预处理数据。
[0129] 具体地,预处理包括数据集成、数据归约、数据清理、数据统计和数据变换等过程,其详细过程如下:
[0130] 将三轴加速度数据集成为加速度信号acc,将三轴角速度数据集成为欧拉角信号euler;
[0131] 通过如下算式,将三轴加速度数据集成为加速度信号acc;
[0132]
[0133] 其中,acc为加速度信号;accx为X轴加速度数据;accy为Y轴加速度数据;accz为Z轴加速度数据。
[0134] 可以理解的是,三轴加速度数据即为X轴、Y轴和Z轴方向的加速度数据,所谓集成即为将X轴、Y轴和Z轴方向的加速度数据合并为一个加速度数据,到达减少冗余的目的。下述的三轴角速度数据与其处理方式相似。
[0135] 利用四元数计算三轴角速度数据在X轴、Y轴和Z轴方向上的欧拉角eulerx、eulery和eulerz;
[0136] 通过如下算式,将eulerx、eulery和eulerz集成为欧拉角信号euler;
[0137]
[0138] 其中,euler为欧拉角信号;eulerx为利用四元数计算出的X轴欧拉角;eulery为利用四元数计算出的Y轴欧拉角;eulerz为利用四元数计算出的Z轴欧拉角。
[0139] 将加速度信号acc和欧拉角信号euler的数值聚集至时间轴附近;
[0140] 其具体的实现方式为:首先计算加速度信号acc的加速度信号平均值accmean;
[0141] 加速度信号平均值accmean通过下式计算得出;
[0142]
[0143] 其中N为信号的长度。
[0144] 然后将加速度信号acc与加速度信号平均值accmean进行差值运算。
[0145] 同样,欧拉角信号euler与加速度信号acc类似:
[0146] 首先计算欧拉角信号euler的欧拉角信号平均值eulermean;
[0147] 欧拉角信号平均值eulermean通过下式计算得出;
[0148]
[0149] 其中N为信号的长度。
[0150] 然后将欧拉角信号euler与欧拉角信号平均值eulermean进行差值运算。
[0151] 最终使得加速度信号acc和欧拉角信号euler的差值聚集至时间轴附近(即将加速度信号acc和欧拉角信号euler在Y轴代表的加速度值和角度值,聚集至X轴代表的时间轴附近),通过以上运算可以使得训练好的冻结步态检测模型能够拥有更快的收敛速度,并且缓解支持向量机的梯度弥散问题,使得冻结步态检测模型的训练生成过程更加容易和稳定。
[0152] 将聚集至时间轴附近的加速度信号acc和欧拉角信号euler进行低通滤波处理,得到清理后的加速度信号 和欧拉角信号
[0153] 在滤波时,可以采用巴特斯沃滤波器的滤波方式,且将截止频率设置为5Hz,达到滤除高频噪声的目的,使得获取的信号更加纯净,更加贴近实际。
[0154] S140:对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数。
[0155] 具体地,统计清理后的加速度信号 和欧拉角信号 得到加速度信号最大值accmax和欧拉角信号最大值eulermax,其中的加速度信号最大值accmax和欧拉角信号最大值eulermax实为时域信号。
[0156] 基于清理后的加速度信号 和欧拉角信号 进行傅里叶变换对应得到频域加速度信号facc和频域欧拉角信号feuler,最终获得频域信号。可以理解的是傅里叶变换可以将负载的时域信号变换为易于分析的频域信号,其为现有技术,因此频域加速度信号facc和频域欧拉角信号feuler的具体变换过程在此不在详述。
[0157] 将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段。
[0158] 更为具体地,整体频率阈值的取值范围可以设定为0~25Hz;
[0159] 频率段包括第一频率段f1、第二频率段f2和第三频率段f3;
[0160] 设定第一频率段f1的取值范围为0≤f1<1Hz;
[0161] 设定第二频率段f2的取值范围为1≤f2<3Hz;
[0162] 设定第三频率段f3的取值范围为3≤f3<5Hz。
[0163] 通过以上方式,可以获得更多的频域信号,使得训练完成的冻结步态检测模型具有更加丰富的特征。
[0164] 计算每个频率段内各个频域加速度信号facc的幅值的总和与整体频率阈值内各个频域加速度信号facc的幅值的总和的比值,得到各个频率段的加速度信号比值;
[0165] 计算每个频率段内各个频域欧拉角信号feuler的幅值的总和与整体频率阈值内各个频域欧拉角信号feuler的幅值的总和的比值,得到各个频率段的欧拉角信号比值;
[0166] 以频域加速度信号facc在第一频率段为例,加速度信号比值的计算方式如下:
[0167]
[0168] 其中,F1为频域加速度信号facc在第一频率段幅值的总和与频域加速度信号facc在整体频率阈值各个频域欧拉角信号feuler的幅值的总和的加速度信号比值;Af为频域加速度信号facc在纵坐标对应频率下的幅值。
[0169] 基于加速度信号最大值accmax、欧拉角信号最大值eulermax、各个频率段的加速度信号比值和各个频率段的欧拉角信号比值组合形成训练步态参数。
[0170] 由此可见,在将整体频率阈值分为三段的情况下,加速度信号acc对应有加速度信号最大值accmax和三个加速度信号比值,欧拉角信号euler对应有欧拉角信号最大值eulermax和三个欧拉角信号比值,这样就得到了患者一只鞋上的8个参数,对于一双鞋则参数数量翻倍,最终产生16个参数。相对于现有的冻结步态检测方法涉及的参数量大幅下降,可以明显提高检测速度。并且训练步态参数包含时域参数和频域参数使得检测数据更加全面,更加贴切实际,到达提高检测准确度的目的。
[0171] S150:将训练步态标签和训练步态参数输入至支持向量机进行训练,得到训练好的冻结步态检测模型。
[0172] 具体地,基于支持向量机在matlab环境下使用libsvm工具包将训练步态标签作为训练标签,将训练步态参数作为训练特征;
[0173] 将所有片段的训练标签和训练特征组合形成训练样本集;
[0174] 将训练样本集输入至svmtrain训练函数中,得到训练好的冻结步态检测模型。
[0175] 利用支持向量机可以根据训练样本集自动生成模型,而无需设定阈值,模型的训练更加快速简便。
[0176] S160:采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数。
[0177] 具体地,采集患者的待检测步态数据为按照S110中的采集患者行走过程中脚部的步态数据同样的方式实时采集患者的步态数据,并将采集得到的步态数据作为待检测步态数据,并按照S130中步态参数预处理以及S140对S130得到数据进行统计及变换对待检测步态数据进行处理,最终得到待检测步态参数。
[0178] S170:将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,得到冻结步态检测结果。
[0179] 具体地,基于支持向量机将待检测参数和训练好的冻结步态检测模型作为待检测特征输入至libsvm工具中的svmpredict函数中;
[0180] 如果输出结果为第一标签则表明产生冻结步态;
[0181] 如果输出结果为第二标签则表明未产生冻结步态。
[0182] 冻结步态检测模型仅需训练一次,训练完成后的冻结步态检测模型可以重复使用,利用支持向量机将待检测参数和训练好的冻结步态检测模作为输入,支持向量机便会根据确定的规则对待检测参数进行判定,并且结果以标签的形式直观的表达。
[0183] 由此可见,本发明实施例无需在患者的多个部位佩戴传感器,仅需要采集患者脚部的步态数据,经过简单计算便能得到用于判断冻结步态的参数,并采用支持向量机无需规定阈值,可根据样本数据自动训练生成冻结步态检测模型,其需要采集的数据类型和输入的数据较少,可以更加精确快速的判断出是否产生冻结步态。
[0184] 基于同一发明构思,本申请实施例还提供了一种冻结步态的检测装置,可以用于实现上述实施例所描述的一种基于支持向量机的冻结步态检测方法,如下面的实施例所述。由于一种冻结步态的检测装置解决问题的原理与一种基于支持向量机的冻结步态检测方法相似,因此一种冻结步态的检测装置的实施可以参见一种基于支持向量机的冻结步态检测方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0185] 本发明还提供一种冻结步态的检测装置,参见图2,该装置包括:
[0186] 采集录制模块210:用于采集患者行走过程中脚部的步态数据并录制行走视频;
[0187] 标签增加模块220:用于对步态数据进行分段形成训练步态数据片段,根据行走视频对训练步态数据片段进行标记形成是否产生冻结步态的人工标签,训练步态数据片段与对应的人工标签形成训练步态标签;
[0188] 预处理模块230:用于对每个片段步态数据进行预处理,
[0189] 第一参数生成模块240:用于对预处理数据进行最大值统计及傅里叶变换,得到训练步态参数;
[0190] 模型生成模块250:用于将训练步态标签和训练步态参数输入至支持向量机进行训练,得到训练好的冻结步态检测模型;
[0191] 第二参数生成模块260:采集采集患者的待检测步态数据片段根据最大值统计以及傅里叶变换形成待检测步态参数;
[0192] 结果输出模块270:用于将待检测步态参数和训练好的冻结步态检测模型共同输入至支持向量机中,得到冻结步态检测结果。
[0193] 本发明一实施例中,所述标签增加模块220具体包括:
[0194] 分割单元:用于将步态数据分成若干步态数据片段;
[0195] 标签判断单元:用于根据每个步态数据片段对应的行走视频为相应的步态数据片段增加是否产生冻结步态的人工标签;
[0196] 标签增加单元:用于将产生冻结步态的步态数据片段标记为第一标签,将未产生冻结步态的步态数据片段标记为第二标签;
[0197] 训练步态标签形成单元:用于将每个步态数据片段与第一标签和第二标签一一对应保存为训练步态标签。
[0198] 本发明一实施例中,所述分割单元具体包括:
[0199] 第一配置子单元:配置一个固定窗宽的滑动时间窗遍历整个步态数据;
[0200] 第二配置子单元:配置滑动时间窗每次移动的步长;
[0201] 数据片段提取单元:提取滑动时间窗每次移动时处于滑动时间窗内的步态数据,获得若干步态数据片段。
[0202] 本发明一实施例中,所述预处理模块230具体包括:
[0203] 所述第一参数生成模块中所述步态数据包括三轴加速度数据和三轴角速度数据;
[0204] 数据集成单元:用于将三轴加速度数据集成为加速度信号acc,将三轴角速度数据集成为欧拉角信号euler;
[0205] 数据归约单元:用于将加速度信号acc和欧拉角信号euler的数值聚集至时间轴附近;
[0206] 数据清理单元:将聚集至时间轴附近的加速度信号acc和欧拉角信号euler进行低通滤波处理,得到清理后的加速度信号 和欧拉角信号
[0207] 本发明一实施例中,所述第一参数生成模块240具体包括:
[0208] 数据统计单元:用于统计清理后的加速度信号 和欧拉角信号得到加速度信号最大值accmax和欧拉角信号最大值eulermax;
[0209] 数据变换单元:用于基于清理后的加速度信号 和欧拉角信号进行傅里叶变换对应得到频域加速度信号facc和频域欧拉角信号feuler;
[0210] 频域信号分割单元:将频域加速度信号facc和频域欧拉角信号feuler所在的整体频率阈值分为若干频率段;
[0211] 第一计算单元:用于计算每个频率段内各个频域加速度信号facc的幅值的总和与整体频率阈值内各个频域加速度信号facc的幅值的总和的比值,得到各个频率段的加速度信号比值;
[0212] 第二计算单元:用于计算每个频率段内各个频域欧拉角信号feuler的幅值的总和与整体频率阈值内各个频域欧拉角信号feuler的幅值的总和的比值,得到各个频率段的欧拉角信号比值;
[0213] 训练步态参数形成单元:用于基于加速度信号最大值accmax、欧拉角信号最大值eulermax、各个频率段的加速度信号比值和各个频率段的欧拉角信号比值组合形成训练步态参数。
[0214] 本发明一实施例中,所述数据集成单元包括:
[0215] 加速度信号集成子单元:用于通过如下算式,将三轴加速度数据集成为加速度信号acc;
[0216]
[0217] 其中,acc为加速度信号;accx为X轴加速度数据;accy为Y轴加速度数据;accz为Z轴加速度数据。
[0218] 本发明一实施例中,所述数据集成单元还包括:
[0219] 欧拉角生成子单元:用于利用四元数计算三轴角速度数据在X轴、Y轴和Z轴方向上的欧拉角eulerx、eulery和eulerz;
[0220] 欧拉角信号集成子单元:用于通过如下算式,将eulerx、eulery和eulerz集成为欧拉角信号euler;
[0221]
[0222] 其中,euler为欧拉角信号;eulerx为利用四元数计算出的X轴欧拉角;eulery为利用四元数计算出的Y轴欧拉角;eulerz为利用四元数计算出的Z轴欧拉角。
[0223] 本发明一实施例中,所述频域信号分割单元具体设置为:
[0224] 整体频率阈值的取值范围为0~25Hz;
[0225] 频率段包括第一频率段f1、第二频率段f2和第三频率段f3;
[0226] 所述第一频率段f1的取值范围为0≤f1<1Hz;
[0227] 所述第二频率段f2的取值范围为1≤f2<3Hz;
[0228] 所述第三频率段f3的取值范围为3≤f3<5Hz。
[0229] 本发明一实施例中,所述模型生成模块250具体包括:
[0230] 训练特征生成单元:用于基于支持向量机在matlab环境下使用libsvm工具包将训练步态标签作为训练标签,将训练步态参数作为训练特征;
[0231] 训练样本集生成单元:用于将所有片段的训练标签和训练特征组合形成训练样本集;
[0232] 冻结步态检测模型生成单元:用于将训练样本集输入至svmtrain训练函数中,得到训练好的冻结步态检测模型。
[0233] 本发明一实施例中,所述结果输出模块270具体用于:
[0234] 基于支持向量机将待检测参数和训练好的冻结步态检测模型作为待检测特征输入至libsvm工具中的svmpredict函数中;
[0235] 如果输出结果为第一标签则表明产生冻结步态;
[0236] 如果输出结果为第二标签则表明未产生冻结步态。
[0237] 本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图3,电子设备300具体包括如下内容:
[0238] 处理器310、存储器320、通信单元330和总线340;
[0239] 其中,处理器310、存储器320、通信单元330通过总线340完成相互间的通信;通信单元330用于实现服务器端设备以及终端设备等相关设备之间的信息传输。
[0240] 处理器310用于调用存储器320中的计算机程序,处理器执行计算机程序时实现上述实施例中的一种基于支持向量机的冻结步态检测方法中的全部步骤。
[0241] 本领域普通技术人员应理解:存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(Programmable Read‑OnlyMemory,简称:PROM),可擦除只读存储器(Erasable Programmable Read‑Only Memory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only Memory,简称:EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
[0242] 处理器可以是一种成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central  Processing Unit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0243] 本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行前述任一方法实施例提供的一种基于支持向量机的冻结步态检测方法。
[0244] 本领域普通技术人员应理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质,具体的介质类型本申请不做限制。
[0245] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。